QRコードの仕様

QRコードとは、暗い色と明るい色のドットが正方形に配列されたコードです。1つのドット(または「モジュール」)は1ビットの情報に相当します。
QRコードにはさまざまなデータが含まれており、異なるモデル、バージョン、レベルがあります。いずれの場合も必ず、メッセージ、アライメントに関するメタデータ、サイズ、フォーマット、誤り訂正ビットが含まれています。そして、国際規格ISO/IEC 18004(1、2および2005)に準拠しています。

QRコードシンボルは、データや誤り訂正コード語を含む符号化領域と、シンボルのメタデータおよび位置データを含む機能パターンから構成されます。
QRコードは以下の要素によって構成されています:
□ | クワイエットゾーン:QRコードの周囲にある空白の部分 |
□ | ファインダーパターン:QRコードの位置を認識するためのゾーン |
□ | 拡張パターン:QRコードのアライメント用マーカー(モデル1) |
□ | アライメントパターン:QRコードのアライメント用マーカー(モデル2および2005) |
□ | タイミングパターン:モジュールサイズ(ピクセル単位)を決めるデータ |
□ | 形式情報:QRコードレベルを表すゾーン |
□ | 型番情報:QRコードサイズ(例えば25 x 25モジュールなど)を表すデータ(モジュール2および2005) |
□ | データの内容と誤り訂正コード語:シンボルが伝える一次情報と誤り訂正用の追加情報 |
QRコードのモデル、形式、型番に応じて構成は変化します。例えば、モデル1のQRコードにはアライメントパターンはありませんが、拡張パターンはあります。マイクロQRコードにはファインダーパターンが1つだけ含まれ、アライメントパターンはありません。
モデル1のQRコードシンボルの構成
QRコード2005シンボルの構成
マイクロQRコードシンボルの構成

QRコードは以下のサブタイプの一つです:
□ | ベーシック:デフォルトのサブタイプ。 |
□ | ECI (拡張チャンネル解釈):ECIサブタイプは、データの解釈情報をQRコードに埋め込むための一貫した方法を提供します。ECIプロトコルは、AIM Inc.で定義されています。国際技術仕様。(ECI is not available for Micro QR code symbols.) |
□ | GS1:QRコードに含まれるデータは、GS1一般仕様に従ってフォーマットされています。 |
□ | AIM:QRコードに含まれるデータは、以前にAIM Inc.と合意した特定の業界アプリケーションに従ってフォーマットされています。アプリケーションインジケータの値はQRコードデータに埋め込まれています。 |

QRコードは次のデータの組み合わせに対応しています:
□ | 数字データ (0~9) |
□ | アルファベットデータ(0~9、A~Z、/、$、%など) |
□ | バイトデータ (ECIエンコードを想定) |
□ | 漢字 |
バイトデータの解釈
QRコードでは、バイトデータはあらゆる情報を表すことができます。それらの解釈は、QRコードのサブタイプに依存します。
● | ベーシックなサブタイプ: |
□ | QRコードにバイトデータが存在する場合、それらの解釈方法を知る必要があります。 |
□ | 列挙型を使用しQRコードの読み取りて、対応するバイト解釈モードを選択します(詳細については、EByteInterpretationModeの「デコードされたデータの取得」セクションを参照してください)。 |

□ | モデル1:最初に作られた国際規格のQRコード。型番は1~14。 QRコードの「型番」(version) とはシンボルサイズ(モジュール数で表す)のことですので注意してください。規格のバージョンは「モデル」と呼ばれています。 |
□ | モデル2:モデル1の改良版。1~40の型番があります。歪んだQRコードや曲面に印字されたQRコードの読み取りを改善するためのアライメントパターンが定義されます。 |
□ | モデル2005:モデル2の改良版。黒地に白のQRコード、シンボルのミラー反転に対応。 |
□ | Micro QR codes: smaller QR codes, from version M1 to version M4. 印字スペースを小さくするために導入されました。 |

□ | QRコード:型番1(21 x 21モジュール)から型番40(177 x 177モジュール)。+4 x +4モジュールずつ増加(型番2:25 x 25モジュール、型番3:29 x 29モジュール、...、型番39:173 x 173モジュール)。 |
□ | Micro QR codes: version M1 (11 x 11 modules), version M2 (13 x 13 modules), version M3 (15 x 15 modules), version M4 (17 x 17 modules). |
QRコード
の例右から左:
マイクロQRコード, バージョンM3, 15 x 15モジュール,
モデル2QRコード, バージョン4, 33 x 33モジュール, 67-114文字,
モデル2QRコード, バージョン40, 177 x 177モジュール, 1852-4296文字,

QRコードには誤り訂正データが含まれています。誤り訂正レベルには以下の4段階あります
□ | L (low):コード語の約7%が復元可能 |
□ | M (medium):15% |
□ | Q (quality):25% |
□ | H (high):30%(マイクロQRコードでは不可) |
For Micro QR code symbols, the available error correction levels depend on the version:
□ | M1 has only error detection |
□ | M2 and M3 support L and M levels |
□ | M4 supports L, M and Q levels |

QRコードリーダーが、QRコードに適合するかもしれないドット配列を見つけると、そのQRコードの候補の「形状」が返されます。
A QR code geometry is a set of points:
□ | It contains the coordinates of the corners of the QR code quadrangle (bottom left, top left, top right, bottom right). |
□ | It contains the coordinates of the finder pattern centers (bottom left, top left, top right). |
□ | For a Micro QR code symbol, the coordinates for a single finder pattern center (link) are returned. |
では、画像の左上のピクセルの左上の角を原点(0.0, 0.0)とするフロート座標系が使用されます。
QRコードの形状

QRコードを読み取ると、与えられた検索フィールドで見つけられるすべてのQRコードに関する情報を返します。QRコードの読み取り