データマトリックスの例。「Wikipedia, the free encyclopedia」(Wikipedia 、無料の百科事典)というテキストをエンコードしている
Data Matrix (データマトリックス )は、マトリックス、また、日本 ではデータコード(Data Code)ともいい、正方形 または長方形 のパターンで配置された白黒の「セル」またはドットで構成される二次元コード である。アメリカ合衆国 を中心に普及している。
概要
テキストまたは数値データをエンコード できる。通常、数バイトから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、と定められている。
用途
インテル 製ミニPCI 無線LANカード に記載されたデータマトリックス。シリアル番号15C06E115AZC72983004をエンコードする
データマトリックスは、2または3 mm2 の大きさで、読み取り可能な50文字のテキストをエンコードできるが、コントラスト比20%でしか読み取れないために、小さく記載されている[ 1] 。
300マイクロメートルのもの(600マイクロメートルの集積回路 にレーザーエッチング したもの)から、1メートル(3フィート)の正方形(アメリカ の貨物列車 の有蓋車 の屋根に塗装したもの)までの幅広い大きさのものが存在し、データマトリックスにはスケーラビリティ が見込まれる技術とされている。
また、アメリカ電子工業会 (EIA)は小さな電子部品 のラベル付けにデータマトリックスの使用を推奨しており[ 2] 、パソコン でもデータマトリックスが記載された部品がよく使用されている。
アメリカ では、手紙 など郵便物 のラベルといった印刷メディアで広く扱われている[要出典 ] 。コードはバーコードリーダーですばやく読み取ることが可能。バーコードリーダーを使用し、たとえば小包が受取人に発送されたときにメディアを追跡できる[ 注釈 1] 。
マーキング面
データマトリックスは産業工学 の分野でも活用され、電子部品 などコンポーネント に直接記載し、データマトリックスによって目的のコンポーネントを識別することができる。コードは様々な方法でマーキングでき、航空宇宙産業 では、これらは一般に工業用インクジェット 、ドットピーンマーキング(刻印、打刻)、レーザーマーキング 、エレクトロケミカルエッチング(ECE)による。これらの方法により、コンポーネントの寿命まで消えないよう記載されている。
データマトリックスコードは通常、専門のカメラ 機器とソフトウェア を使用して検証される[要出典 ] 。この検証により、コードが関連する規格に準拠していること、およびコンポーネントの有効期間中の可読性が確保される。コンポーネントがサービスを開始した後、データマトリックスコードはリーダーカメラによって読み取られ、データをデコードし、移動追跡や在庫在庫チェックなどのさまざまな目的に使用できる。
携帯電話でデータマトリックスを読み取る(Semacode プロジェクト)
データマトリックスコードは、携帯電話でも二次元コードなどの他のオープンソースコードと同様、コード固有のモバイルアプリケーション (いわゆる「コードリーダー」)をダウンロード 、インストール することにより、読み取ることができる。多くのモバイルデバイスは、データマトリックスコードを含む二次元コード を読み取ることができるが[ 3] 、デコードを拡張する機能はほとんどなく、安全に追跡、偽造防止、電子政府 、銀行のオンラインシステム などのサービスで使用できる。
食品産業
データマトリックスコードは、食品業界では自動包装 システムで使用され、食品が誤って包装されたり、日付が付けられないようにする。コードは、食品製造業者のデータベースで管理され、原材料の種類など、各製品に関連付けられている。製品の包装を実行するたびに、コードがプリンターに提供される。最適なスキャンのために2Dデータマトリックスを配置するには、多種類のラベルアートワークが必要となる。白地に黒のコードでは、印刷品質が問題にならない限りテストは必要ないが、読みやすくするために、生産前にすべてのカラーバリエーションをテストする必要がある[要出典 ] 。
芸術
2006年 5月、ドイツ のコンピュータープログラマー であるベルンハルト・ホップフェンゲルターは、ミステリーサークル に似た方法で、麦畑に大規模なデータマトリックスを作成した。メッセージには「Hello、World!」と表示されていた[ 4] 。2011年6月、パリのタトゥーアーティストKARLは、スコッチウイスキー のブランドであるバランタイン のプロモーション 活動の一環としてコラボレーションし[ 5] 、 Facebook でライブストリーミングされた、世界初のデータマトリックスを利用したアニメーションを作成した[ 6] [ 7] 。
FINAマーク
日本でも見られるデータマトリックスの例に、「FINAマーク」がある。これは、国際水泳連盟 (FINA)が認定した水着に付けられるマークで、公式大会にはこのマークのある水着でないと選手は出場できないことになっている。
技術仕様
テキストをエンコードするデータマトリックスコードの例:「ウィキペディア」を示す。色付きでデータ(緑)、パディング(黄色)、エラー修正(赤)、ファインダーとタイミング(マゼンタ)、未使用(オレンジ)。
データマトリックスシンボルは、境界ファインダーとタイミングパターン内に配置されたモジュールで構成される。ASCII 文字コード全体(拡張子付き)から最大3,116文字をエンコードできる。シンボルは、通常の配列で設定されたモジュールを含むデータ領域で構成されて、大きなシンボルにはいくつかの領域が含まれる。各データ領域はファインダーパターンで区切られ、4辺すべてがクワイエットゾーンの境界(マージン)で囲まれている。
なお、モジュールは円形または正方形の場合があり、標準では特定の形状は定義されていない。たとえば、ドットでピーニングされたセルは通常円形。
Data Matrix ECC 200
Data Matrixの新しい規格であるECC 200は、エラーと消去の回復にリード・ソロモン符号 を使用する。ECC 200では、シンボルが30%の損傷を受けた場合に、マトリックスがまだ正確に配置されていると仮定して、エンコードされたデータ文字列全体を再構築できる。Data Matrixのエラー率は、スキャンされた1,000万文字に1未満[ 8] 。
シンボルには、偶数の行と偶数の列がある。ほとんどのシンボルのサイズは、10×10から144×144の正方形。ただし、一部のシンボルは、8×18から16×48(偶数のみ)の長方形。ECC 200エラー訂正を使用するすべてのシンボルは、右上隅のモジュールが背景色と同じであることで認識できる(バイナリ0)。
ECC 200シンボルを以前の規格と区別する追加機能には、次のものがある。
Additional capabilities that differentiate ECC 200 symbols from the earlier standards include:
逆読み記号(暗い背景の明るい画像)
文字セットの仕様(拡張チャネル解釈 )
長方形記号
構造化された追加記号(最大16個のシンボルをリンク、より大量のデータをエンコード可能)
Data Matrix ECC 000–140
Data Matrixの古い規格には、ECC 000、ECC 050、ECC 080、ECC 100、ECC 140が含まれる。ECC 200などのリード・ソロモン符号を使用する代わりに、ECC 000–140は畳み込みベースのエラー修正を使用します。それぞれが提供するエラー訂正の量は異なるが、ECC 000では提供されず、ECC 140は最大量が提供されている。デコード時のエラー検出のために、ECC 000の場合でも、これらの各バージョンは巡回冗長検査 (CRC)もエンコードする。追加の手段として、コード内の各ビットの配置は、仕様に含まれるビット配置テーブルによって決定される。これらの古いバージョンには常に奇数のモジュールがあり、9×9から49×49の範囲のサイズで作成できる。ECC 000-140のエラー訂正を利用するすべてのシンボルは、背景色と逆の右上隅のモジュールで認識できる(バイナリ1)。
ISO / IEC 16022によると、ECC 000–140は、単一の当事者がシンボルの生成と読み取りの両方を制御し、システム全体のパフォーマンスを担当するクローズドアプリケーションでのみ使用する必要がある。
標準規格
データマトリックスの特許は、米インターナショナル・データマトリックス社(ID Matrix)によって1987年に発明され[ 9] 、米オートマチックス 社に買収された後、2005年10月に独シーメンス 、2008年9月には米マイクロスキャン システムズ社[ 注釈 2] が取得。現在は、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 — 特殊な識別子
エンコード
産業用データマトリックス コードリーダー
エンコードプロセスについては、ISO(国際標準化機構)のWebサイトで公開されている[ 10] 。また、Data MatrixのECC-200バリアントをエンコードおよびデコードするためのオープンソースソフトウェアも公開されている[ 11] [ 12] 。
以下の図は、データマトリックスシンボル内のメッセージデータの配置を示している。メッセージは「Wikipedia」であり、左上隅から始まるやや複雑な斜めのパターンで配置されている。最初のWなど、一部の文字は2つに分割され、3番目の「i」は通常のL字型の配置ではなく「コーナーパターン2」になっている。また、メッセージの終わりコード(終了マーク)、パディング(P)およびエラー修正(E)バイト、および4つの未使用スペース(X)モジュールも示されている。
複数のエンコードモードを使用し、様々な種類のメッセージを保存できる。デフォルトモードでは、8ビットコードワードごとに1つのASCII文字が保存される。
また、以下に示すように、モードを切り替えるための制御コードが提供されている。
コード
解釈
0
(使用なし)
1–128
ASCIIデータ(ASCII値+ 1)
129
メッセージの終わり
130–229
00〜99までの桁のペア
230
C40エンコードを開始
231
Base 256エンコードを開始
232
FNC1
233
構造化された追加記号。メッセージを複数のシンボルに分割可能
234
リーダープログラミング
235
次の文字の上位ビットを設定
236
05 マクロ
237
06 マクロ
238
ANSI X12エンコードを開始
239
テキストのエンコードを開始
240
EDIFACTエンコードを開始
241
拡張チャネル解釈コード
242–255
(使用なし)
テキストモード
C40、Text、およびX12モードは、テキストメッセージを保存するためにコンパクトな構造となっている。0〜39の範囲の文字コードを使用するDEC Radix-50に似ており、これらのコードのうち3つを組み合わせて最大4003 =64000の数値を作成し、次のように2バイトまで(最大値65536)に圧縮する。
V = C1×1600 + C2×40 + C3 + 1
B1 = floor(V/256)
B2 = V mod 256
B1の結果の値は0〜249の範囲。ASCIIエンコードモードに戻すには、特別な値である254が使用される。
文字コードの解釈を次の表に示す。C40モードとテキストモードには、4つの個別のセットがある。セット0はデフォルトであり、次の文字に別のセットを一時的に選択するコードが含まれている。唯一の違いは、大文字と小文字を逆にすることである。C40は主に大文字で、セット3に小文字が含まれています。テキストはその逆となる。ASCII制御コードを含むセット1、および句読点記号を含むセット2は、C40モードとテキストモードで同一。
コード
set 0
set 1
set 2
set 3
X12
C40
Text
C40
Text
0
set 1
NUL
!
`
CR
1
set 2
SOH
"
a
A
*
2
set 3
STX
#
b
B
>
3
space
ETX
$
c
C
space
4
0
EOT
%
d
D
0
5
1
ENQ
&
e
E
1
6
2
ACK
'
f
F
2
7
3
BEL
(
g
G
3
8
4
BS
)
h
H
4
9
5
HT
*
i
I
5
10
6
LF
+
j
J
6
11
7
VT
,
k
K
7
12
8
FF
–
l
L
8
13
9
CR
.
m
M
9
14
A
a
SO
/
n
N
A
15
B
b
SI
:
o
O
B
16
C
c
DLE
;
p
P
C
17
D
d
DC1
<
q
Q
D
18
E
e
DC2
=
r
R
E
19
F
f
DC3
>
s
S
F
20
G
g
DC4
?
t
T
G
21
H
h
NAK
@
u
U
H
22
I
i
SYN
[
v
V
I
23
J
j
ETB
\
w
W
J
24
K
k
CAN
]
x
X
K
25
L
l
EM
^
y
Y
L
26
M
m
SUB
_
z
Z
M
27
N
n
ESC
FNC1
{
N
28
O
o
FS
|
O
29
P
p
GS
}
P
30
Q
q
RS
hibit
~
Q
31
R
r
US
DEL
R
32
S
s
S
33
T
t
T
34
U
u
U
35
V
v
V
36
W
w
W
37
X
x
X
38
Y
y
Y
39
Z
z
Z
EDIFACT モード
EDIFACTモードでは、1文字あたり6ビットを使用し、4文字を3バイトに圧縮する。数字、大文字、および多くの句読点を格納できるが、小文字はサポートされていない。
コード
意味
0–30
ASCIIコード64〜94
31
ASCIIモードに戻る
32–63
ASCIIコード32–63
ベース 256 モード
ベース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
関連項目
脚注
注釈
^ 日本でいう郵便追跡サービス
^ のちに日本のオムロン が買収したバーコード読み取り機メーカー。現在の「オムロン マイクロスキャンシステムズ」社
出典
^ “Data Matrix Barcode ” (英語). Jolly Technologies. 2020年1月9日時点のオリジナル よりアーカイブ。2020年2月27日 閲覧。
^ Stevenson, Rick (December 2005). "Laser Marking Matrix Codes on PCBs" (PDF) . Printed Circuit Design and Manufacture . Printed Circuit Engineering Association: 32–36. ISSN 1543-6527 . 2007年9月28日時点のオリジナル (PDF) よりアーカイブ。2007年5月31日閲覧 。
^ Stefan, V. (2012). The use of 2D codes in the development of mobile applications with database. Valahian Journal of Economic Studies, 3 (2), 105-114. Retrieved from https://econpapers.repec.org/article/vlhjournl/v_3a3_3ay_3a2012_3ai_3a2_3ap_3a105-114.htm
^ “German man programs "Hello World" into wheat field ”. arstechnica.com . 22 February 2017 閲覧。
^ “The World's First Animated Tattoo – Digital Buzz Blog ”. digitalbuzzblog.com . 22 February 2017 閲覧。
^ “First Ever Animated Tattoo – By K.A.R.L. ”. youtube.com . 22 February 2017 閲覧。
^ “Facebook ”. facebook.com . 22 February 2017 閲覧。
^ “Data Matrix and PDF417 Data Integrity Test ”. idautomation.com . 20 August 2019 閲覧。
^ DataMatrix (DataCode)|アイニックス株式会社
^ ISO e-commerce page for this standard http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=44230
^ “GitHub – zxing/zxing: Official ZXing ("Zebra Crossing") project home ”. google.com . 22 February 2017 閲覧。
^ “libdmtx Home ”. sourceforge.net . 22 February 2017 閲覧。
外部リンク