バーコードコラム

データマトリックスとは

2023.01.24

■データマトリックスを知っていますか?

2次元コードといえばQRコードが一般的に知られていますが、QRコード以外にも2次元コードはいくつかあります。その中でも比較的知られているのが「データマトリックス」と呼ばれるものです。

 

本稿では、「データマトリックス」の概要・特徴・主用途・歴史から、バージョン・サイズ・誤り訂正・構成などについて概説していきます。

 

■データマトリックスとは何か

「データマトリックス」は2次元コードの一つです。

 

2次元コードとは、「2次元コードの種類」で説明したとおり、2次元 = タテ方向とヨコ方向の組み合わせで情報を記録する<コード>のことです。1次元コードがヨコ方向にのみ伸びる(= 1次元)コードで情報を表しているのに較べて、タテとヨコは2方向だから、「2次元コード」と呼ぶのでしたね。

 

2次元コードの中で圧倒的に有名なのが「QRコード」です。特に日本では日常生活のあらゆる場面で活用されているといってもまったく過言ではありません。そしてそのQRコードに較べれば一般知名度はグッと下がりますが、「データマトリックス」「MaxiCode」「Aztecコード」などが存在し、それぞれの使い道で使われています。「データマトリックス」はそんな2次元コードのうちの一つである、というわけです。

 

細かくいうと2次元コードには「スタック型」と「マトリックス型」があり、「データマトリックス」は後者、すなわち「マトリックス型」のコードになります。QRコードも「マトリックス型」です。その名のとおりマトリックス = 格子状に黒と白のセルを配置し、その組み合わせで情報を表すというものです。一方の「スタック型」は、1次元コード = バーコードをタテに1段、2段、3段…と積み上げた形になっています。スタック型については下図の「CODE49」サンプルコードをご覧ください。バーコードがタテに1段、2段、3段…と積み上がったような形状ですね。スタック = 積み上げの意味が分かっていただけると思います。

 

 

■データマトリックスの歴史・用途

「データマトリックス」は1987年にアメリカのアイディマトリックス社によって開発され、2000年にはISO/IEC規格になりました。特長は、1次元コードに較べて10~100倍の高密度で情報を収納できること。これはすなわち、同じ情報量であればより小さなスペースで済むということです。この特長を活かして、アメリカでは電子部品や基板、医療器材へのマーキング(ラベルに印刷して貼るのでなく、製品にレーザーなどで直接印字することを「ダイレクトパーツマーキング(DPM)」といいます)などに使われています。

 

■データマトリックスのバージョン

「データマトリックス」には現在使用されている「ECC200」というバージョンと、旧バージョン「ECC000」「ECC050」「ECC080」「ECC100」「ECC140」とがあります。後者の旧バージョンは今はほぼ使われておらず、「データマトリックス」といえば「ECC200」であるといってもいいでしょう。「ECC000」「ECC050」「ECC080」「ECC100」「ECC140」が使われなくなった理由は後述します。

 

「ECC200」には正方形タイプと長方形タイプがあります。

「ECC200」の正方形タイプはQRコードとよく似ています。両者の見分けかたとしては、『QRコードに特徴的な、三隅の「ファインダパターン(切り出しシンボル)」があるか?』で見分けることが可能です。「ファインダパターン(切り出しシンボル)」は一見、鳥よけの目玉マークを四角くしたもののようにも見えますが、その正体はQRコードリーダーにQRコードの位置を認識させるもの。シンボルの切り出し・原点検知・シンボルサイズ検知・傾き検知を高速に行い、360度どの方向からでも読み取り可能にします。これがなかったら、それはQRコードではないといえるわけです。その上で、正方形の左辺と下辺がアルファベット大文字の「L」字形で黒く塗り潰されていれば、それはデータマトリックスECC200正方形タイプ、と判別できます。L字形の意味は後述します。

 

長方形タイプはヨコ長で、正方形タイプの上半分を切り落としたような見た目です。

 

ところで、2次元コードの一つ一つのマスを「セル」と呼びます。セルが黒か白かで情報を記録します。2次元コードのシンボルサイズ(大きさ)は、一つのコードがタテ何セルでできているか、ヨコ何セルでできているか、で表されます。なぜ唐突にこんなことを説明しているかというと、シンボルサイズの特徴によって「データマトリックス」のバージョンを見分けることが可能だからです。

 

「データマトリックス」旧バージョン(ECC000・ECC050・ECC080・ECC100・ECC140)は最小9×9~最大49×49。セル数はタテヨコともに奇数です。一方新バージョン「ECC200」は、正方形タイプの場合、最小10×10~最大144×144。長方形タイプの場合は最小8×18~最大16×48。いずれもセル数はタテヨコともに偶数。

 

というわけで、「データマトリックス」の一辺がセル数が奇数であれば古いバージョン、偶数であれば新しいバージョン、と判別できるのです。覚えておくと役に立つかもしれませんね。

 

■データマトリックスの誤り訂正

「データマトリックス」は旧バージョンと新バージョンとで異なる誤り訂正方式を採用しています。ECC000・ECC050・ECC080・ECC100・ECC140は「コンボリューション方式」ですが、これはデータ容量を大きくすると僅かな歪みでも読み取り精度が非常に悪くなるものでした。そのため旧バージョンは使われなくなりました。

 

これに対して、1995年に作られた新バージョン「ECC200」では定評ある「リード・ソロモン方式」が採用されています。「リード・ソロモン方式」はQRコードで使われているのと同じものです。「リード・ソロモン方式」については「QRコードの誤り訂正の限界について」で解説していますのでぜひご覧ください。

 

「ECC200」ではシンボルサイズ、データ量から誤り訂正率が自動的に決まります。QRコードのように任意に設定することはできません。シンボルサイズ、データ量が小さいほど誤り訂正率は高くなる傾向にあります(必ず高くなるとは限りません)。

 

●正方形タイプの誤り訂正率(一例)

シンボルサイズ10×10 → 誤り訂正率25%
シンボルサイズ144×144 → 誤り訂正率約14%

 

●長方形タイプの誤り訂正率(一例)

シンボルサイズ8×18 → 誤り訂正率25%
シンボルサイズ16×48 → 誤り訂正率約18%

 

■データマトリックスの構造

 

 

「データマトリックス」シンボルは、左辺と下辺が黒セルで埋められています。まるでアルファベット大文字の「L」のように見えますね。これは「“L”パターン」と呼ばれます。

 

(※Webサイトによっては「アライメントパターン」などと呼ぶケースもあるようですが、本稿ではJIS仕様書に則り「“L”パターン」と呼びます)

 

そして、右辺と上辺は黒セルと白セルが1個ずつ交互に並んでいます。点線状になっているわけですね。これは「クロックトラック」と呼ばれます。

 

(※Webサイトによっては「クロックパターン」などと呼ぶケースもあるようですが、本稿ではJIS仕様書に則り「クロックトラック」と呼びます)

 

この「“L”パターン」「クロックトラック」で位置検出が行われます。

 

「“L”パターン」と「クロックトラック」で囲まれた中のセルの一つ一つを「データセル」、そして「データセル」が集まった一かたまりを「データ領域」と呼びます。「データマトリックス」ではデータ領域は最大24×24なので、記録する情報が大きくて24×24以上になる場合はデータ領域の数が2つ以上になります。

 

ちなみに、データ領域が24×24の時、シンボルサイズは26×26になります。なぜか解りますか?

 

正解

データ領域の外周に「“L”パターン」「クロックトラック」があるので、

・シンボルのヨコ幅 = データ領域24セル + 左辺“L”パターン1セル + 右辺クロックトラック1セル = 26セル

・シンボルのタテ幅 = データ領域24セル + 下辺“L”パターン1セル + 上辺クロックトラック1セル = 26セル

となるから)

 

※本コラムに掲載した商品名、サービス名、会社名またはロゴマークは、各社の商標、登録商標もしくは商号です。
※QRコードは(株)デンソーウェーブの登録商標です。

株式会社メディアシーク
〒108-0072 東京都港区白金1丁目27-6 白金高輪ステーションビル
https://www.mediaseek.co.jp/
IR・広報担当 E-mail:press@mediaseek.co.jp

システム開発・
コンサルティング
カスタムメイド・システムソリューション
パッケージソリューション
お客様の声
お役立ちコラム
システム開発・コンサルティングのお問い合わせ