
12,656 文字

QRコードが最初に出てきた時、ほんまにひどいもんやと思うてた。絶対に普及せーへんって。当時、めっちゃ共感したフローチャートがあってな。
問題は、QRコードが醜くて、人間にとって意味不明やいうことやった。ウェブサイトのアドレスか、検索できる言葉を見たほうがええ。QRコードは機械のための言語で、ワイは人間やからな。
でも、間違うてた。QRコードは明らかに便利すぎて、今ではどこにでもあるもんになってしもた。チケットからレストランのメニュー、広告まで、なんでも使われとる。国によっては、お金のやりとりで一番よく使われとるし。
QRコードの話は、ほんまに人間くさい話なんや。この市松模様のルーツは、実は情報をデジタル化しようとした最初の試みにまで遡るんや。
1825年、コネチカット州のニューヘイブンに、有名な画家が奥さんと2人の子供と住んどった。彼の転機は、アメリカ独立戦争の英雄、ラファイエット侯爵の肖像画を描いてくれいうて頼まれた日に訪れたんや。
奥さんが3人目の子供を産む予定日が近かったのに、チャンスが良すぎて見逃せへんかった。急いでワシントンDCに向かったんや。そこでラファイエットを待っとったからな。
そこで画家は奥さんに手紙を書いて、ラファイエットとの最初の出会いを描写した。最後にこう書いたんや。「また書くわ。子供たちによろしゅう。大急ぎやけど、いつもと変わらん熱い愛を込めて、愛する夫より」
返事がなくて数日たった後、使いの者が手紙を届けてきた。奥さんが出産後に体調を崩したいう内容やった。
心配になった画家は急いで家に戻った。馬と馬車で昼夜を問わず旅をして、数日でニューヘイブンに戻ることができた。(物悲しい音楽)
でも、もう遅すぎた。奥さんは亡くなってしもてた。それだけやない、葬式にも間に合わへんかった。遺体はすでに埋葬されてしもてた。この画家の名前は、サミュエル・フィンリー・ブリーズ・モールスや。
(好奇心をそそる音楽)
その日から、モールスは長距離通信をもっと速くする方法を見つけようとした。ニューヨーク大学で仕事を見つけて、当時急速に発展しとった分野の電気に関する講義に出席した。1836年、ジョセフ・ヘンリーとアルフレッド・ヴェイルと一緒に、ワイヤーに沿って電気パルスを送れる機械を考案したんや。
これが最初の電信機ではなかったけど、一番シンプルやった。イギリスでは別のチームが5つの磁針を動かして文字や数字を指す一連の回路を設置してた。モールスのシステムは1つの回路だけで済んだけど、装置がシンプルやったからこそ、情報を符号化する方法をもっと賢くせなあかんかったんや。
回路では、短いパルスか長いパルスを送れた。モールスはこれを点と線に変えた。一番よく使う文字は1回のキー押しで送れるようにした。Eは点、Tは線やな。他の文字は使用頻度順に並べて、だんだん複雑な符号を割り当てた。これらの符号は受信機で紙テープに印刷されるはずやったけど、オペレーターはすぐに音だけで文字を認識できるようになった。
(モールス信号の音)
これで情報の送受信速度が上がったんで、モールス信号は国際的な高速メッセージングの標準になったんや。
(モールス信号が速く鳴る)
軍事、海事通信、航空で広く使われて、世界共通の遭難信号SOSは何の略なんやと思う? 何も意味せーへんねん。ただモールス信号で送受信しやすいだけなんや。
モールス信号は通信革命を起こしたけど、次の世紀には全然違う業界を変えることになるんや。
(落ち着いたジャズ音楽)
1940年代後半、バーナード・シルバーはペンシルベニア州のドレクセル大学の工学部生やった。ある日、地元のスーパーマーケットチェーンの社長が工学部長に、会計の処理を速くする方法を見つけてくれへんかって頼んどるのを耳にしたんや。
当時、レジ係は各商品とその価格を手で入力せなあかんかった。その作業がめっちゃ退屈で繰り返しやったから、多くのレジ係が手根管症候群になってたんや。シルバーは友達のノーマン・ジョセフ・ウッドランドにその問題を話して、二人で実験を始めた。いくつかの失敗の後、ウッドランドはフロリダに引っ越した。
ある日、ビーチで砂の上にモールス信号の点と線を描いとった。ボーイスカウトやったから、モールス信号にはめっちゃ詳しかったんやな。彼はこう言うてる。「点と線を下に伸ばして、細い線と太い線にしたんや」こうして最初のバーコードが生まれたんや。この humble beginning から、ユニバーサル・プロダクト・コード、つまりUPCバーコードが進化した。12桁の数字の単純な文字列を保存できるんや。
レーザーをスキャンして、黒と白の線からどれだけ光が反射されるかを調べて、本質的には点と線として読み取るんや。縦の線のペアが始まり、真ん中、終わりに置かれて、スキャナーがコードを正しく読み取れるようになっとる。コードは左半分と右半分に分かれとる。
両側の数字は、黒と白の線が反転してる。これでスキャナーが逆さまに読んでも左右を区別できるんや。普通に見たら、左側は製造元、右側は商品を表す数字になっとる。製造元は実際、一定数の数字を予約するのにめっちゃ高い金を払うて、自社製品を独占的に登録できるようにしとるんや。
(スキャナーの音)
こうやって、バーコードの12桁は、今まで買ったことのあるすべての食料品を一意に特定するんや。このJifのピーナッツバターの瓶は、世界中どこで見つかっても同じ12桁で識別されるんや。そして、すべてのブランドのピーナッツバター、滑らかなやつ、ザクザクしたやつ、かき混ぜるやつ、かき混ぜんでもええやつ、糖質オフ、減塩、全部が独自のバーコードを持っとるんや。
バーコードって、いつかなくなるんかな? まあ、12桁やと10の12乗、つまり1兆の異なる組み合わせができるんや。サワーパッチオレオやフレーミングホットマウンテンデューみたいな変な商品をどんだけ作っても、十分すぎるはずや。でも、ちょっと注意せなあかんことがあるんや。
最後の1桁は他の数字から独立してへんねん。バーコードの作り手は、傷ついたり、汚れたり、改ざんされたりする可能性があるって分かってたから、最後の1桁をバーコードが完全かどうか確認するために取っておいたんや。どのバーコードでも、奇数位置の数字の合計を取って、その結果を3倍して、偶数位置の数字の合計を足して、その数を10で割った余りを取るんや。
この余りが0なら、チェックディジットは0や。そうやない場合は、10からこの余りを引いた数がチェックディジットになるんや。
(明るい電子音楽)
スキャナーがバーコードの1桁を読み取れへんかった場合、このアルゴリズムを使って最後の数字から逆算して、それが何やったはずかを求められるんや。でも、2桁が損傷してたら、もうアカンねん。
その場合は、バーコードの下に印刷された数字を手で入力せなあかん。だから、最後の1桁がなかったら、ユニークな可能性の数は10の11乗、つまり1000億通りになるんや。今日まで、12億4000万個のバーコードが登録されてて、その数は毎日増えとる。永遠に持つわけやないけど。
(スキャナーの音)
でも、人々がバーコードの代替品を探し始めた理由はそれやない。
問題は、1つのバーコードが保存できる情報量やったんや。12桁だけやと、1つの商品しか識別できへん。でも、その商品がどこから来たかとか、もっと情報が欲しかったらどうする?
(不安をかき立てる音楽)
1986年、イギリスの牛が奇妙な脳の病気の症状を見せ始めた。牛海綿状脳症、つまり狂牛病や。
これは、プリオンという異常たんぱく質を含む飼料を食べた牛に広まるんや。人間が感染した牛の脳や脊髄の組織を含む牛肉を食べると、関連する脳の病気にかかる可能性がある。文字通り脳をスポンジみたいにしてしまうんや。生きとる牛の狂牛病を検出できる検査がなかったから、何百万頭もの牛が処分された。
保健当局は、輸入牛肉の出所を追跡する方法を求めた。でも、牛肉1つに必要な情報量からすると、バーコードじゃ足りひんかったんや。アメリカの発明家デイビッド・アレは、バーコードを何個も重ねることでこの問題を解決しようとした。結果、Code 49いう本棚みたいなもんができた。
これが実は、航空会社の搭乗券でよく使われとるPDF417の先駆けなんや。でもCode 49はデータ量の問題を解決できへんかった。せいぜいバーコードが運べる情報量を数倍にしただけやった。もっと効率的な方法は、バーコードを2次元に拡張して、データマトリックスを作ることやった。
NASAは1994年にVericodeいうのを試した。スペースシャトルの部品を追跡して識別するのに使われた。このコードはレーザーやなくて初期のデジタルカメラで読み取られて、最初は独占的やった。ほぼ同じ頃、日本の自動車部品メーカーDENSOのエンジニア、原昌宏さんが、同じ箱の自動車部品を詰めるのに複数のバーコードをスキャンせなあかんことにイライラしとったんや。
原さん: 「ほんまにストレスやった。1個の部品に3、4個のラベルを貼らなあかんかってん。それで、全部の情報を1個のコードに入れられへんかなって考えたんや」
原さんは独自の代替案を開発しようとした。彼は珍しいところからインスピレーションを得たんや。
原さん: 「囲碁の盤面を見とって、ふと思いついたんや。黒と白の石を使うて、情報を表現できるんちゃうかって」
QRコードに情報がどう保存されとるかを理解するために、原さんが最初に考えたように、囲碁盤を使って自分でQRコードを作ってみるわ。
普通の黒と白の石を使う。白は0を表して、黒は1を表す。そして、うちのYouTubeチャンネルのリンクをこの盤面に符号化するんや。まず最初のステップは、www.youtube.com/veritasiumを1と0に変換することや。これはバイト符号化を使う。
バイト符号化はASCIIを使うて、ASCIIはモールス信号にルーツがあるんや。すべての文字に1から256までの数字が割り当てられる。そしてASCIIの10進数を2進数に変換する。256は2の8乗やから、8ビットの2進数の組み合わせを使って、すべてのASCII文字を表現できるんや。この8ビットが1バイトの情報を構成するんや。
(アップビートなテクノ音楽)
Wの文字にはASCIIの10進数で119、つまり01110111が割り当てられる。
www.youtube.com/veritasiumのすべての文字に対して同じことをすると、2進数でこんな感じになる。これは26文字やから、26バイトの情報を占めるんや。さて、うちの盤面は25×25や。これはバージョン2のQRコードとして知られとるけど、いろんなサイズがあって、全部スマホで読み取れるんや。原さんのバージョン1のQRコードは21×21で、今日の最大のバージョンは177×177や。
(明るい音楽)
それは3キロバイトの情報を保存できるくらい大きいんや。アポロ11号のコンピューターが人類を月に送るのに必要やった情報の全部を、これの26個分で保存できたんや。
(明るい音楽)
あるプログラマーは、バージョン40のQRコードにスネークゲームをコーディングしたんやで。
(明るい音楽)
QRコードの周りの領域は空っぽで、一様な色でなあかん。これはクワイエットゾーンいうんや。QRコードの特徴的な部分は、角にある3つの正方形のパターンや。これらのポジションスクエアによって、リーダーがコードの向きを識別できるんや。
ほとんどすべてのQRコードには、最後の角に4つ目の四角もあるけど、これは小さくて見つけにくいんや。これがアライメントパターンや。これは、様々な距離や変な角度からQRコードを読み取る時に、スケールを調整するのに使われるんや。ポジションスクエアに対するアライメントスクエアの相対的なサイズと距離によって、ソフトウェアが適切な正方形に再スケールできるんや。
ポジションスクエアの隣には、コードの残りの部分から分離するための白い帯がある。そして、これらはタイミングストリップ、シマウマの横断歩道みたいなもんで、左上のポジションスクエアと他の2つをつないどる。すべてのQRコードにはこの交互のストリップがあるんや。注目してみてな。
すべてのサイズのQRコードが見た目は同じに見えるから、これがスマホにどのバージョンかを教えて、どれだけのデータを期待すべきかを伝えるんや。交互の四角が5つあればバージョン1、9つあればバージョン2、という具合や。
そして、その隣にはフォーマットストリップがあって、コードのスキャン方法に関するルールが含まれとる。今は、その部分に赤い石を置いとくわ。
すべてのQRコードが持つもう1つの特徴がある。右下のポジションスクエアに隣接するこの1ピクセルや。これは常に暗いんや。原さんに、これに何か特別な意味があるか聞いてみたけど、ないって言うてた。
原さん: 「特に意味はないんやけど、ちょっとした秘密や。でも、あんまり言いたくないな」
残りのすべてのスペースはデータ保存用や。QRコード内のデータは常に右下の角から始まる。ここで最初の4つの四角が4ビットを運んで、データフォーマットを指定するんや。0001なら数字だけ、0010ならアルファベットと数字、0100ならバイトで保存された情報、1000なら日本語の漢字や。
次の8ビットは、メッセージの文字数を示すのに使われる。26文字やから、00011010になるはずや。次に、youtube.com/veritasiumのバイトを8ビット、2列のセルで並べ始める。上から下、右から左へジグザグパターンで左上に向かって進むんや。
1バイトを表す各セルの中で、最も重要なビット、つまり2の7乗に対応するビットは右下にある。そして、最も重要度の低い、つまり2の0乗のビットは反対側にある。Wの01110111はこんな風に埋められるんや。残りも同じようにしていくんや。www.youまでのバイトを埋めたら、4ビット後にアライメントパターンに出会う。
次のTを入れるには、それを単に飛ばして、コードの他の固定領域に対しても同じことをするんや。こうして、同じジグザグパターンでデータを埋めていくんや。www.youtube.cまで完成したら、セルの形が不規則になって、テトリスみたいになってくる。
でも、石を1バイトずつ置いていく方法は同じや。
(希望に満ちた音楽)
そして、最後の文字Mの最後の8ビットが入る。でも待てよ、QRコードの半分くらいしか埋まってへんやん。そうや、この残りのスペース全部が冗長性のために取っておかれとるんや。これらの追加のエラー訂正コードのバイトによって、QRコードが損傷してても情報を再構築できるんや。
(メニューがシューッという音)
完全に無傷のQRコードの場合、エラー訂正によって別のことも可能になる。真ん中に会社のロゴを入れるんや。今回の動画のスポンサー、Sailyみたいにな。
さてワイ、よく旅行するんや。最近はドイツにおったし、今はオーストラリアにおる。すぐにイギリスにも行くんや。でも、どこにおっても、ちゃんと使える携帯電話が必要やろ?
自分のキャリアの法外なローミング料金を払うか、現地のSIMカードを買える場所を見つけて、電話に入れて、うまく動くことを祈るかのどっちかやった。今回のスポンサーのSailyを使えば、150か国以上で簡単に携帯電話のプランとデータを設定できるんや。
欲しいデータ量と期間を選べるし、ローミングよりもずっと安いんや。ワイ、すぐにイギリスに行くんやけど、Sailyでe-SIMをどれだけ早く設定できるか見てみよか。国をクリックして、プランを選んで、e-SIMを有効化するだけや。そしたら、着陸したら自動的に現地のネットワークに接続される。隠れた料金もないんや。
これだけや。公共のWi-Fiを探す必要もないし、空港で物理的なSIMを買うために並ぶ必要もない。Sailyなら一回設定したら、いつでもつながっとるんや。もし自分の電話がe-SIMに対応してへんことが分かっても、全額返金してくれるんや。
Sailyを無料で試すには、Saily.com/veritasiumに行くか、説明欄のリンクをクリックしてな。コードVERITASIUMを使えば、初回購入時に15%オフになるんや。Saily.com/veritasium、もしくはこの便利なQRコードをスキャンして15%オフを得てな。
Sailyにこの動画の一部のスポンサーになってもらって感謝してる。さて、自分のQRコードを作る話に戻ろか。
(遊び心のある音楽)
QRコードには4つのレベルのエラー訂正がある。低レベルはコードの7%が欠けてても読めるんや。中レベルは14%、4分の1レベルは25%、高レベルは30%まで対応できる。これは、QRコードの3分の1近くが欠けてても、まだちゃんと読めるいうことやな。
レベルが高いほど、エラー訂正のためのスペースが多く必要になる。だから、コードのどれくらいがエラー訂正に使われとるかを知るのは重要なんや。この情報は2つの方法で保護されとる。まず、エラー訂正のレベルはフォーマットストリップに示されとる。これは2か所に同じように存在するんや。
エラーを避ける一番簡単な方法は、情報を複製することや。ここでは、左上に青い石と黄色い石を1つずつ置いて、Mレベルを選ぶんや。この部分が損傷したらどうなる? 2つ目のフォーマットストリップに左下から始まるコピーがあるんや。フォーマットストリップには、後で説明する3つの重要な情報が含まれとる。
今は、両方のコピーに青い石を3つ置いとくわ。でも、フォーマットストリップの残りの部分はどうなんや? これが2つ目の保護層や。他の10ビットは全部、最初の5ビットの間違いを訂正するように設計されとるんや。
これはどう機能するんか? 例えば、エラー訂正の2つのレベル、低いのと高いのだけを伝えたいとする。もし伝送中に1つのビットが01か10に反転したら、エラーが起きたことは簡単に分かるけど、元のメッセージがどっちやったかは分からへん。
これを修正する簡単な方法は、もう1つビットを追加することや。低いレベルなら000、高いレベルなら111やな。これらは立方体の反対側にあるから、より離れとるんや。それで011を受け取ったら、元のメッセージは111やった可能性が高いから、簡単に修正できる。
この方式では、許可されたコードワードは000と111だけや。残りは伝送中のエラーを示す禁止されたバッファーとして機能するんや。許可されたコードワードは可能な限り離れとるべきや。ここでは3つの頂点離れとる。
これはハミング距離いうて、エラー訂正の分野を開拓したリチャード・ハミングにちなんで名付けられたんや。ハミング距離Nの場合、2進文字列のN-1/2個までのエラーを修正できる。つまり、前の例では1ビットの反転や。
さて、うちのフォーマット文字列の5ビットに戻ろか。もしすべて0かすべて1だけを伝えたいなら、5次元超立方体の反対の角に置けるんや。でも、うちの文字列は2の5乗、つまり32の全組み合わせを有効なコードワードとして含んどる。だから、前みたいにバッファーを提供するために、5ビットの文字列を15ビットの文字列に拡張できるんや。
こうすると、32の有効なコードワードはそれぞれ7つの頂点、つまりハミング距離7だけ離れることになる。これは3ビットの反転エラーまで修正できるいうことや。これを行う一番簡単な方法は、ルックアップテーブルを使うことや。テーブルは少し間違って読まれた頂点を取って、最も近い有効な頂点、つまり意図されたコードワードを見つけるんや。
でも、メインのQRコードデータには、もっと効率的な方式が必要や。ルックアップテーブルを使ったり、データサイズを2倍や3倍にしたりせんでもええ方法が要るんや。
(明るい音楽)
例えば、ワイが1、-2、3、5いう4つの数字のメッセージを送りたいとする。これらの数字をそのまま送ったら、1つが壊れてしまっても、エラーが起きたことや、どの数字が間違っとるかが分からへんやろ。だから、メッセージを送る前に、計画を立てるんや。
まず、4つの数字を送る代わりに、6つ送る。最初の4つは実際のメッセージで、最後の2つ、AとBは、エラーがあったかどうかをチェックするのに役立つんや。ここで、この6つの数字を5次多項式の係数として扱ってほしいんや。そして、AとBの値を選んで、この多項式が3次多項式q(x)と(x-1)(x-2)の積としても書けるようにするんや。
最後の2つの項は(x-任意の数)にできるけど、簡単にするために1と2を選ぼう。そうすると、多項式を受け取ったとき、x=1かx=2を代入したら0になるはずやって分かる。なぜなら、そういう風に多項式を作ったからや。もし0にならへんかったら、送信中にエラーがあったって分かるんや。
これらはシンドロームいうんや。適切な用語やな。シンドロームは一緒に起こる一群の徴候で、特定の異常を特徴づけるものとして定義されとるからな。メッセージ多項式がどのシンドローム値でも0にならへんかったら、コードにエラーがあるいうことや。
じゃあ、うちの例でAとBの値をどうやって見つけるんや? AとBがない多項式を(x-1)(x-2)で割るんや。3次多項式が出てくるけど、これはうちの望むもんや。でも、37x-30いう余りも出てくる。これを左辺に移動させるんや。
多項式をうちの望む形にするには、Aは-37で、Bは30でなあかん。だから、1、-2、3、5、-37、30いうメッセージを送るんや。x=1とx=2を代入して、両方とも0になったら、メッセージが正しく送られたって分かるんや。
でも、送信中にエラーがあったらどうなる? 例えば、4番目の位置の数字が6に変わってしまったとする。x=1と2を代入しても、もう多項式は0にならへん。エラーがどこで起きたか分かるように、1つずつ各係数を変数に置き換えるんや。それから、x=1のとき多項式を0にする変数の値を見つける。
x=2についても同じことを繰り返す。すると、2つの値が違うことが分かる。これは、2番目の係数がエラーやなかったことを示してる。他のすべての係数についても同じことをするけど、エラーが起きた係数に到達したときだけ、2つの値が等しくなる。そして、その値は元々送信された数字、つまり5と等しくなるんや。
だから、この方法を使えば、データサイズを少し増やすだけで、エラーをチェックして修正できるんや。
(好奇心をそそる音楽)
これはリード・ソロモンエラー訂正コードの簡単な例や。1960年に数学者のアーヴィング・S・リードとグスタフ・ソロモンが開発したんや。
(アップビートな音楽)
(QRコードがシューッという音)
リード・ソロモンコードを力ずくでデコードする作業は、すぐに大変になる。実際、ボイジャー宇宙船が太陽系の外側に浮かんでいったとき、NASAのエンジニアたちは、信号対雑音比がめっちゃ小さくなることを知っとった。でも、リード・ソロモンコードの可能性は大きかったから、打ち上げ前に実験的なエンコーダーを搭載した。次の10年でもっと賢いエンコーディングアルゴリズムが開発されるやろうって賭けたんや。
そして、まさにそうなったんや。今日でも、リード・ソロモンコードのおかげで、ボイジャーのどんどん弱くなる囁きを聞き取れるんや。これらのコードは、古いCDやDVDが何度も傷ついてもまだお気に入りの曲や映画を再生できる理由でもあるんや。そして、QRコードが損傷しても機能する理由でもあるんや。
QRコードでは、データタイプ、文字数バイト、うちのメッセージバイト、最後のパディングから始まる全データが1列に並べられて、ASCIIの10進数に戻される。これらを使って高次の多項式を当てはめると、係数が簡単に大きくなりすぎる。だから、リード・ソロモンエンコーディングは有限体の算術、ガロア体を使って、エラー訂正項を得るんや。
これらを2進数に戻して、QRコードの残りを埋めるんや。
(明るい音楽)
これで完全なQRコードができた。でも、なんでまだスキャンできへんのかな? この領域がどう見ても一様に白と黒に見えるやろ? 時々、エンコードされたデータが偶然に単純なパターンと空白を挿入することがあるんや。
これがリーダーを混乱させる。リーダーはノイズの多いチェッカーボードを期待してるからな。大きな損傷のパッチかもしれへんし、そもそもQRコードやないかもしれへんって思うんや。でも、これを修正する方法がある。フォーマット文字列にマスキング用に置いた3つの青い石を覚えとる? これらが、QRコードのピクセルの見た目を本当にごちゃごちゃにするために、8つの方法の1つを指定するんや。
この特定のマスクは、データの3列目ごとに、ピクセルを反転させて白を黒に、黒を白にするいうんや。でも、これはコードの機能的な要素には適用されへん。それらは変わらんままや。
(バーがシューッという音)
(QRコードがピッという音)
QRコード規格では、8つのマスキングパターンの使用が指定されとる。
原理的には、正しいマスキングビットと組み合わせると、8つの形式のコードすべてが読み取り可能や。だから、同じ入力文字列に対して、QRコードジェネレーターが異なる見た目のコードを返すことがあるんや。でも、どれが一番ええんや? 連続したパッチや悪いパッチごとにポイントが加算されて、各マスクにスコアが割り当てられる。
最後に最低スコアのマスクが勝つ。どのリーダーでも一番スキャンしやすいんや。
(紙吹雪が鳴る音)
(観客の拍手)
うちの手作りQRコードには、一番シンプルなマスクを使うわ。これで機能するQRコードができた。試してみてな。
(明るい音楽)
さあ、決定的な瞬間や。
スピーカー: 「それからテープで貼れるな」
ああ、うまくいった! この作業をしてみて、もう一度QRコードが嫌いになった理由が分かったわ。人間向けやないんや。黒と白の石を置いていく時、いろんな間違いをしてしもた。これを完璧にするのはほんまに大変やった。まあ、完璧である必要はなかったけど、十分に近くなければあかんかったな。
最初、QRコードは産業用途しかなかったんや。
原さん: 「最初は自動車産業だけやった。でも、すぐに携帯電話に使われるようになった。そこから爆発的に広がったんや」
でも、データ保存能力の価値がすぐに認識された。2002年、イギリスで狂牛病が再発した。汚染された牛肉を食べて179人が亡くなって、人々はパニックになった。自分たちの肉がどこから来て、スーパーに届くまでどう保管されたかを正確に知りたがったんや。
今度は、QRコードが役立つ番やった。これは、この不思議な市松模様が一般的に使われ始めた最初の例の1つやった。でも、なんでQRコードはこんなに成功したんやろ? 他にもたくさんの2次元マトリックスコードがあるのに。まあ、1つの理由は、DENSO Waveが QRコードの特許権を行使しないことを決めたからや。
原さん: 「当時の社長が、これは世界中の人々のために使われるべきやって言うたんや。だから、特許を持っとるけど、誰でも自由に使えるようにしたんや」
DENSOはその代わりに、QRコードスキャナーを販売してお金を稼ぐことにした。もちろん、スマートフォンの普及で、ほとんどの人がすぐにポケットにQRコードスキャナーを持ち歩くようになった。でも最初は、QRコードを読み取るアプリはサードパーティ製で、かなりニッチやった。
でも2017年に、AndroidとAppleがカメラアプリに直接QRコードリーダーを組み込んだ。そこからこれらのコードの使用が爆発的に増えたんや。
COVID-19のパンデミックも、世界中でQRコードの普及を後押しした。突然、レストランや店舗が、メニューや商品情報を非接触で配布する方法を求めたんや。インドと中国では、QRコードを使った非接触決済が急増した。今日、インドでは毎月120億回以上のQRコード決済が行われとる。QRコードはワクチン接種記録や個人の健康情報を携帯電話のウォレットに保存するのにも便利やった。
でも、その巨大な普及は問題も引き起こした。QRコードの安全性に関する質問やけど、最近、詐欺師がQRコードを使って、それを読み取る人をだまそうとしとる。これについて懸念はあるか?
原さん: 「そうやな、QRコードを使った詐欺の話は聞いたことがある。でも、QRコード自体は単なる情報を伝えるツールやからな。悪用されるのはインターネットと同じや。QRコードを読み取る側が気をつけなあかん。どこにリンクしとるかをよく確認してから、実際にクリックしてアクセスするかどうかを判断せなあかんのや」
そやな、インターネット上のあらゆるものと同じように、安全性には特に注意を払わなあかんな。スキャンしたQRコードがどこに連れて行こうとしとるかを、実際にリンクをクリックする前によく確認せなあかん。
さて、QRコードの未来について知りたいんやけど。QRコードの次は何や?
原さん: 「最近、NFCやBLEみたいな新しい技術が出てきとる。でも、QRコードはこれからも使われ続けると思うで。だって、単純で、誰でも簡単に使えるからな。新しい技術と組み合わせて、もっと便利になるかもしれへん。例えば、QRコードをスキャンしたら、すぐにBluetooth接続できるとか、そんな感じやな」
今、UPCバーコードが足りなくなる可能性が低いとしたら、QRコードではそれは不可能や。最低の冗長性レベルを使ったバージョン1のQRコードのユニークな数は2の152乗や。これは、合法的なチェス盤の構成の総数の約10倍や。だからこそ、QRコードのパターンにランダムに埋められたピクセルは、通常メッセージとして解釈できへんのや。
あんたは数え切れんほどのQRコードをスキャンしてきたし、次にスキャンする時は、それがどう機能してるかをもっとよく理解できるやろ。でも、QR自体が何の略かって考えたことあるか?
原さん: 「QRはクイックレスポンスの略や。情報を素早く読み取れるからそう名付けたんや。最初は自動車工場で使うつもりやったから、作業の効率を上げるために素早く読み取れることが重要やったんや」
QRコードの一番好きな使い方は何や?
原さん: 「うーん、難しい質問やな。でも、やっぱり一番好きなのは、人々の生活を便利にしてるのを見ることかな。例えば、レストランでメニューを見るのに使ったり、イベントのチケットになったり。そういう日常的な場面で役立ってるのを見ると、嬉しくなるんや。あと、災害時の情報共有にも使われとるのは、特に意味があると思うな」
コメント