「ある情報を表したいけれど、手持ちの表現方法に合っていないので、表し方を変える」のは昔からよく使われている手段です。例えば「アルファベットを表現したいのだけれども、手元には石しかない」のであれば、その石でアルファベットの形を積み上げるよりは、最初に丸い石、次に四角い石でA、最初に四角い石、次に丸い石ならN(モールス符号の考え方と一緒です)とやった方が効率がいいです。
情報を表したり、遠くへ伝えたりすることは手間や材料、時間といったコストを伴うので、できれば効率の良い手段を使いたいわけです。そのため、大昔からこういった試行錯誤は連綿と行われてきました。
これと同じことを太い線と細い線の組み合わせでやったのが、おなじみのバーコードです。とてもシンプルで作るのも読み取るのも楽(コストがかからない)ので、さまざまな用途で爆発的に普及しました。「20世紀に人の生活を変えた発明品」をいくつか挙げるなら、押さえておきたい項目の一つです。
ただし、バーコードはシンプルなので13桁の数値しか表現できません(短縮タイプだと8桁)。そこで、最大でタテ177個、ヨコ177個の模様(モジュール)を配置して表現できる情報量を増やしたのが2次元コードです。ご存じの方も多いと思いますが、「QRコード」は登録商標なので、公共放送などではかなり慎重に「2次元コード」と言い換えています。実態としては同じものです。
QRコードは柔軟な仕様になっていて、それが実利用時の強靱(きょうじん)さを生んでいます。例えば、先述したようにモジュール数は最大で177×177で、これはアルファベットなら7000文字以上を格納できる情報量を誇ります。しかし、「そんなにたくさんの情報を扱わない」のであれば、ミニマムでは21×21モジュールまで縮小できます。大は小を兼ねると言いますが、177×177モジュールだとかなり細かい模様になりますので、光量に乏しい環境や性能の低い情報機器での読み取りを考えると、小さな情報量であれば21×21モジュールの方が確実に読み取れると言えます。
また、屋外などで利用する際に不可避の汚れや欠損に備えて、誤り訂正符号を組み込むことも可能です。いくつかのモジュールが欠けてしまっても、訂正符号のおかげで欠損前の情報を復元できる可能性を残せます。近年ではこれを利用して、QRコードにキャラクターやロゴなどを組み込み(読み取り機器にとっては、汚れたり欠損したりしているのと同じ)、何の情報なのかを利用者に分かりやすく伝えるなどの使われ方もされています。ただし、そこにさらに汚れが加わると、復元できる限界ラインを超えてしまうので、汚れや欠損に対して脆弱(ぜいじゃく)にはなっています。
写真や動画、アプリなどは情報量が大きくQRコードには格納しきれませんが、その情報が格納されている場所(URL)を格納するなどの工夫で運用されています。仕組みとしては単純ですが、ゆえに簡単な情報機器とカメラを組み合わせるだけで多様なサービスを実現できるため、今後も私たちの生活の中で使われ続けていくでしょう。
【著者略歴】
岡嶋 裕史(おかじま ゆうし) 中央大学国際情報学部教授/政策文化総合研究所所長。富士総合研究所、関東学院大学情報科学センター所長を経て現職。著書多数。近著に「思考からの逃走」「プログラミング/システム」(日本経済新聞出版)、「インターネットというリアル」(ミネルヴァ書房)、「メタバースとは何か」「Web3とは何か」(光文社新書)など。