縦横2方向に情報を持つ2次元コードと、その読み取り装置
QRコードとは、白黒の小さな四角(モジュール)を縦横の格子状に並べて情報を表す2次元コードのことです(QR=Quick Response、素早い読み取りの意味)。スマホのカメラを向けるとURLや決済情報が読み取れる、あの四角い模様です。
普通のバーコードが「横方向のバーの太さ」だけで数値を表すのに対し、QRコードは縦と横の2方向に情報を持ちます。方眼紙のマス目を1つずつ黒く塗るか白く残すかで、文字やURLを表現していると考えると分かりやすいです。
上の図解①では、QRコードがいくつかの役割の異なる領域(赤=位置検出、青=データ、緑=誤り訂正など)から構成されている様子を色分けで示しています。一見ランダムな模様に見えますが、実はきちんと役割が決まっています。
QRコードは、役割の決まった複数の領域でできています。図解①の色分けに対応して、主な領域を見ていきましょう。
・位置検出パターン:3隅にある大きな四角。読み取り機がコードの「向き」と「位置」を一瞬で見つけるための目印
・データ領域:実際のURLや文字データを白黒のマス目で記録する部分
・誤り訂正領域:データが壊れても復元できるようにする予備データ(次のカードで詳説)
・位置合わせ・タイミングパターン:斜めから撮った歪みを補正したり、マス目の座標の基準を示す細かい点
3隅に位置検出パターンがあるおかげで、QRコードは上下逆さま・斜め・回転していても正しく読み取れます。これは紙の角を見て「どっちが上か」をすぐ判断できるのと同じです。1次元バーコードがほぼ真正面から狙う必要があるのと比べ、扱いがとても楽になっています。
さらに、縦横の2方向に情報を詰められるため、図解②のように同じ面積でもバーコードよりはるかに多くの情報を持てます。数字なら最大で約7,000桁、漢字を含む文章でも数百文字を1つのコードに収められます。
QRコードの大きな特長が誤り訂正機能です。これは、コードの一部が汚れたり破れたりしても、残りの部分から元のデータを復元できる仕組みのことです。データそのものに加えて、復元用の予備データ(冗長な情報)をあらかじめ埋め込んでおくことで実現します。
訂正できる量は誤り訂正レベルで4段階から選べます。レベルが高いほど壊れに強くなりますが、その分予備データが増えるため格納できる本来のデータは少なくなります。
・レベルL:約7%まで復元
・レベルM:約15%まで復元
・レベルQ:約25%まで復元
・レベルH:約30%まで復元
身近な例で言うと、穴あきのプリントでも前後の文脈から読める文章に似ています。少し文字が欠けても意味が取れるように、QRコードもデータをわざと「冗長に」持たせておくことで、図解③のようにコーヒーのシミ程度なら問題なく読み取れるのです。だからこそ屋外のポスターや汚れやすい商品でも安心して使えます。