QRコードの概要
符号化(エンコード)
エラー訂正の概要
エラー訂正に必要な「行列」の解説
「行列」を使ってエラー訂正をしよう
リード・ソロモン符号とエラー訂正の方法
多項式の割り算
リード・ソロモン符号の作り方
ガロア理論と体
QRコードを作ろう
QRコードメーカー
どもども。
独極・QRコード担当の「あじな」です。
QRコード担当といっても、現時点(2016年8月)では独極にはQRコードの記事しかないのですが・・・。
まぁ、前向きに生きていきましょう。

これまでの復習 [表示する]

  1. QRコードは株式会社デンソーが作ったもので、スマホや携帯で読み取れる
  2. QRコードは「小さな白と黒の四角でできている」「多少汚れても大丈夫」という特徴がある
  3. QRコードは「機能パターン」と「符号化領域」で出来上がっている
  4. 「機能パターン」は、「クワイエットゾーン」「位置検出パターン」「位置検出パターンの分離パターン」「タイミングパターン」「位置合わせパターン」の5種類
  5. 「符号化領域」は「形式情報」「型番情報」「データ領域」の3種類
  6. QRコードはバージョンが1~40まであり大きさがそれぞれ異なる

形式情報

「符号化領域」は、内容によって変化する情報を記載する領域です。

その中でも、「形式情報」「誤り訂正レベル」「マスクパターン参照子」というもので決まります。

いきなり、難しい話がでましたね・・・・。あとからしっかりと解説するので、今は「そんなもんがあるんだなぁ」とぐらい思っておいてください。

詳しくは後から解説しますが、「誤り訂正レベル」は4種類、「マスクパターン参照子」は8種類あります。

だから、「誤り訂正レベル」と「マスクパターン参照子」の組み合わせで「\(4 \times 8=32\)」種類の「形式情報」のパターンができます。

これらの「形式情報」のパターンを以下の図のように、15セルの領域2箇所(左上の青の領域と右上・左下に分離している赤の領域です)に記載します。
(2箇所に記載するのは全く同じパターンです。片方が汚れても情報がわからなくならないようにです)
ちなみに、図中の数字は15桁の「形式情報」を記入する順番です。形式情報が「111011111000100」ならば、図中の「1」のセルを黒(1)、「2」のセルを黒(1)、「3」のセルを黒(1)、「4」のセルを白(0)と塗っていきます。

「誤り訂正レベル」と「マスクパターン参照子」の組み合わせ(32種類)を表すのが「形式情報」です
「形式情報」パターン


「形式情報」の各パターンの一覧をこちら(format_pattern_list.html)に掲載しています。

型番情報

「型番情報」は、「QRコードのバージョン」によって決まるパターンで、バージョン7~40までの34種類のパターンがあります。
ちなみに、バージョン1~6のQRコードは「型番情報」を記入しません。(サイズが小さいからすぐ大きさ(=バージョン)がわかるからですかねぇ。)

これらのパターンはQRコードの中の18個のセルに記載します(「形式情報」と同じく、同じ情報を2箇所に分散して記載します)。
記載の方法は以下の図の通りです(図はわかりやすさを優先して、バージョン1のQRコードを例に図示しています)

バージョン7~40のQRコードについて、バージョンの情報を表しています
「型番情報」パターン


各「型番情報」のパターンの一覧をこちら(version_info.html)に掲載しています。

さらにマニアックな解説

「形式情報」と「型番情報」の一覧をご紹介しましたが、これらのパターンは計算して求めることもできます。
ちょっとマニアックな情報が知りたい変わった方はこちらに詳細を記載しているので、暇なときにでも見てください。

データ領域

「符号化領域」の中でも最も独習が難しいのが

「データ領域」

だと思います。
そのため、データ領域はこれから回数を分けて少しずつ丁寧に解説していきます。
ここでは、データ領域の概要だけを軽く説明します。
データ領域は、

「データ」

「エラー訂正情報」

の2種類の情報を記載します。

「データ」

とはまさしく、QRコードに入れたいデータを白黒の四角で表現したもので、

「エラー訂正情報」

はQRコード全体が汚れても大丈夫なように、エラーを訂正するための情報を計算して書く領域です。
これから、「データを白黒の四角で表現する方法」と、「エラー訂正情報を計算する方法」をじっくり解説していきます。
次の回では「QRコードのバージョン」について解説していきます。