Data Matrix
Data Matrix(データマトリックス)は、マトリックス、また、日本ではデータコード(Data Code)ともいい、正方形または長方形のパターンで配置された白黒の「セル」またはドットで構成される二次元コードである。アメリカ合衆国を中心に普及している。
ベース256モードのデータは、長さのインジケータで始まり、その後に多数のデータバイトが続く。1〜249の長さは1バイトとしてエンコードされ、それより長い長さは2バイトとして保存される。
L1 = floor(length / 250) + 249, L2 = length mod 250
コード化されたメッセージ内の0の長い文字列は、データマトリックスシンボル内の大きな空白領域になり、スキャナーの同期が失われる可能性があるため、避けられる。そのため、デフォルトのASCIIエンコードでは0を使用しない。その可能性を低くするために、疑似乱数値R(n)を追加することで長さとデータバイトを隠す(nはバイトストリーム内の位置)。
R(n) = (149 × n) mod 255 + 1
データマトリックスの特許は、米インターナショナル・データマトリックス社(ID Matrix)によって1987年に発明され、米オートマチックス社に買収された後、2005年10月に独シーメンス、2008年9月には米マイクロスキャン システムズ社が取得。現在は、ISO / IEC標準規格であり、多くの用途でパブリックドメインにあり、ライセンスや使用料なしで使用できる。
ISO/IEC 16022:2006 — データマトリックスバーコード記号仕様
ISO/IEC 15415 — 二次元印刷品質指標
ISO/IEC 15418:2009 — シンボルデータ形式のセマンティクス(GS1アプリケーション識別子とASC MH10データ識別子とメンテナンス)
ISO/IEC 15424:2008 - データキャリア識別子(シンボル識別子を含む異なるバーコードタイプを区別するためのID)
ISO/IEC 15434:2006 — 大容量ADCメディアのk構成(スキャナーからソフトウェアに転送されるデータのフォーマットなど)
ISO/IEC 15459 — 特殊な識別子
テキストまたは数値データをエンコードできる。通常、数バイトから1556バイトまでのデータサイズの情報が記録でき、最大2,335 文字の英数字を保存できる。エンコードされたデータの長さは、マトリックス内のセル数に依存する。信頼性を高めるため、誤り訂正符号がよく使用され、1つまたは複数のセルが破損して読み取り不能になった場合でも、情報を読み取ることができる。
データマトリックスシンボル(コード)は長方形で、通常は正方形で、 ビットを表す正方形の「セル」で構成される。使用するコーディングに応じて、白のセルは0を表し、黒のセルは1を表す。逆も同様である。すべてのデータマトリックスは、L字型の2つの隣接する実線の境界線(ファインダパターン)と、明暗の交互の「セル」またはモジュールで構成される他の2つの境界線(タイミングパターン)で構成される。これらの境界内に、情報をエンコードするセルの行と列が存在する。
ファインダパターンは、位置検出パターンともいい、シンボルの位置を特定するために使用され、タイミングパターンは、シンボルの行と列の数を表す。より多くのデータがシンボルにエンコードされると、セル(行と列)の数が増加し、複雑になる。
サイズは、旧規格のData Matrix ECC 000 – 140では9×9から49×49、新規格Data Matrix ECC 200では10×10から144×144、と定められている。