
毎日読み取っているQRコード、あの模様の意味を説明できますか?
こんにちは。まなぶです。
ふだんはシステムエンジニアをしながら、noteの記事を書いています。
前回の記事「「クラウドに保存」の“クラウド”って結局どこにあるの? 調べてみた」を読んでくださった方、ありがとうございます。
今回は、キャッシュレス決済やお店のメニューで毎日のように読み取っている「QRコード」の話です。
白状すると、あの白黒の模様が何を表しているのか、私はちゃんと説明できませんでした。
「読み取れれば別にいいや」で、ずっと済ませてきたんです。
今回はQRコードの中身を、自分なりに調べてみます。
QRコードの中身は、0と1が並んだ「データ」
QRコードの白黒の升目(セル)は、1つ1つが「0」か「1」を表しています。
白は0、黒は1、というように、点の並び方そのものが文字や数字のデータになっているんです。
パソコンやスマホの中で文字が0と1の組み合わせで扱われているのと、基本的には同じ考え方です。

QRコードの隅にある、3つの大きな四角い模様。これは「ファインダパターン」と呼ばれ、カメラがQRコードの位置や向きを認識するための目印です。
斜めや逆さまに撮っても読み取れるのは、この3つの四角のおかげです。
汚れても読める理由:誤り訂正機能
QRコードは、多少汚れていたり、一部が欠けていたりしても読み取れます。
これは「誤り訂正機能」という仕組みのおかげ。データの一部が壊れても、残りの情報から元のデータを推測して復元できるようになっています。

誤り訂正には4段階の強さがあり、いちばん強い設定では約30%のデータが欠けても読み取れるようになっています。
だから、シールが少し破れていたり、印刷がかすれていたりしても、そのまま読み取れることが多いんですね。
専用の機械がいらない理由と、発明の背景
昔はQRコードを読むのに、専用の機械(リーダー)が必要でした。
いまはスマホのカメラだけで読み取れます。スマホの処理能力が上がり、カメラの映像から模様を認識する処理を、スマホ自身でこなせるようになったからです。
もともとQRコードは、1994年に「デンソーウェーブ」(自動車部品メーカー・デンソーの関連会社)が、工場での部品管理のために開発しました。
当時のバーコードでは、1つの部品に何枚も貼る必要があり、読み取りに時間がかかっていました。1枚で、より多くの情報を、どの角度からでも読み取れるようにする、というのが開発のきっかけだったそうです。
毎日読み取っているQRコード、仕組みを知ると少し見え方が変わりませんか? みなさんは、QRコードを読み取るとき、模様の意味を意識したことはありましたか? コメントで教えてください。