コンテンツにスキップ

Data Matrix

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。尾崎歩夢 (会話 | 投稿記録) による 2020年2月27日 (木) 03:29個人設定で未設定ならUTC)時点の版 (翻訳中途…。)であり、現在の版とは大きく異なる場合があります。

データマトリックスの例。「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]パソコンでもデータマトリックスが記載された部品がよく使用されている。

アメリカでは、手紙など郵便物のラベルといった印刷メディアで広く扱われている[要出典]。コードはバーコードリーダーですばやく読み取ることが可能。バーコードリーダーを使用し、たとえば小包が受取人に発送されたときにメディアを追跡できる[3]

マーキング面

データマトリックスは産業工学の分野でも活用され、電子部品などコンポーネントに直接記載し、データマトリックスによって目的のコンポーネントを識別することができる。コードは様々な方法でマーキングでき、航空宇宙産業では、これらは一般に工業用インクジェット、ドットピーンマーキング(刻印、打刻)、レーザーマーキング、エレクトロケミカルエッチング(ECE)による。これらの方法により、コンポーネントの寿命まで消えないよう記載されている。

データマトリックスコードは通常、専門のカメラ機器とソフトウェアを使用して検証される[要出典] この検証により、コードが関連する規格に準拠していること、およびコンポーネントの有効期間中の可読性が確保される。コンポーネントがサービスを開始した後、データマトリックスコードはリーダーカメラによって読み取られ、データをデコードし、移動追跡や在庫在庫チェックなどのさまざまな目的に使用できる。

携帯電話でデータマトリックスを読み取る(Semacodeプロジェクト)

データマトリックスコードは、携帯電話でもニ次元バーコードなどの他のオープンソースコードと同様、コード固有のモバイルアプリケーション(いわゆる「コードリーダー」)をダウンロードインストールすることにより、読み取ることができる。多くのモバイルデバイスは、データマトリックスコードを含む二次元コードを読み取ることができるが[4]、デコードを拡張する機能はほとんどなく、安全に追跡、偽造防止、電子政府銀行のオンラインシステムなどのサービスで使用できる。

食品産業

データマトリックスコードは、食品業界では自動包装システムで使用され、食品が誤って包装されたり、日付が付けられないようにする。コードは、食品製造業者のデータベースで管理され、原材料の種類など、各製品に関連付けられている。製品の包装を実行するたびに、コードがプリンターに提供される。最適なスキャンのために2Dデータマトリックスを配置するには、多種類のラベルアートワークが必要となる。白地に黒のコードでは、印刷品質が問題にならない限りテストは必要ないが、読みやすくするために、生産前にすべてのカラーバリエーションをテストする必要がある[要出典]

芸術

2006年5月、ドイツコンピュータープログラマーであるベルンハルト・ホップフェンゲルターは、ミステリーサークルに似た方法で、麦畑に大規模なデータマトリックスを作成した。メッセージには「Hello、World!」と表示されていた[5]。2011年6月、パリのタトゥーアーティストKARLは、スコッチウイスキーブランドバランタインのプロモーションの一環として[6]Facebookでライブストリーミングされるコラボレーション規格でデータマトリックスを利用し、世界初のアニメーションタトゥーを作成した[7][8]

技術仕様

テキストをエンコードするデータマトリックスコードの例:「ウィキペディア」を示す。色付きでデータ(緑)、パディング(黄色)、エラー修正(赤)、ファインダーとタイミング(マゼンタ)、未使用(オレンジ)。

データマトリックスシンボルは、境界ファインダーとタイミングパターン内に配置されたモジュールで構成される。ASCII文字コード全体(拡張子付き)から最大3,116文字をエンコードできる。シンボルは、通常の配列で設定されたモジュールを含むデータ領域で構成されて、大きなシンボルにはいくつかの領域が含まれる。各データ領域はファインダーパターンで区切られ、4辺すべてがクワイエットゾーンの境界(マージン)で囲まれている。

なお、モジュールは円形または正方形の場合があり、標準では特定の形状は定義されていない。たとえば、ドットでピーニングされたセルは通常円形。

Data Matrix ECC 200

Data Matrixの新しい規格であるECC 200は、エラーと消去の回復にリード・ソロモン符号を使用する。ECC 200では、シンボルが30%の損傷を受けた場合に、マトリックスがまだ正確に配置されていると仮定して、エンコードされたデータ文字列全体を再構築できる。Data Matrixのエラー率は、スキャンされた1,000万文字に1未満[9]

シンボルには、偶数の行と偶数の列がある。ほとんどのシンボルのサイズは、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年に発明され[10]、米オートマチックス社に買収された後、2005年10月に独シーメンス、2008年9月には米マイクロスキャン システムズ社[11]が取得。現在は、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サイトで公開されている[12]。また、Data MatrixのECC-200バリアントをエンコードおよびデコードするためのオープンソースソフトウェアも公開されている[13][14]

以下の図は、データマトリックスシンボル内のメッセージデータの配置を示している。メッセージは「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 (使用なし)

テキストモード

The C40, Text and X12 modes are potentially more compact for storing text messages. They are similar to DEC Radix-50, using character codes in the range 0–39, and three of these codes are combined to make a number up to 403=64000, which is packed into two bytes (maximum value 65536) as follows:

V = C1×1600 + C2×40 + C3 + 1
B1 = floor(V/256)
B2 = V mod 256

The resulting value of B1 is in the range 0–249. The special value 254 is used to return to ASCII encoding mode.

Character code interpretations are shown in the table below. The C40 and Text modes have four separate sets. Set 0 is the default, and contains codes that temporarily select a different set for the next character. The only difference is that they reverse upper-and lower-case letters. C40 is primarily upper-case, with lower-case letters in set 3; Text is the other way around. Set 1, containing ASCII control codes, and set 2, containing punctuation symbols are identical in C40 and Text mode.

Code 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 mode

EDIFACT mode uses six bits per character, with four characters packed into three bytes. It can store digits, upper-case letters, and many punctuation marks, but has no support for lower-case letters.

Code Meaning
0–30 ASCII codes 64–94
31 Return to ASCII mode
32–63 ASCII codes 32–63

Base 256 mode

Base 256 mode data starts with a length indicator, followed by a number of data bytes. A length of 1 to 249 is encoded as a single byte, and longer lengths are stored as two bytes.

L1 = floor(length / 250) + 249, L2 = length mod 250

It is desirable to avoid long strings of zeros in the coded message, because they become large blank areas in the Data Matrix symbol, which may cause a scanner to lose synchronization. (The default ASCII encoding does not use zero for this reason.) In order to make that less likely, the length and data bytes are obscured by adding a pseudorandom value R(n), where n is the position in the byte stream.

R(n) = (149 × n) mod 255 + 1

Patent issues

Prior to the expiration of アメリカ合衆国特許第 5,612,524号 in November 2007, intellectual property company Acacia Technologies claimed that Data Matrix was partially covered by its contents. As the patent owner, Acacia allegedly contacted Data Matrix users demanding license fees related to the patent.

Cognex Corporation, a large manufacturer of 2D barcode devices, filed a declaratory judgment complaint on 13 March 2006 after receiving information that Acacia had contacted its customers demanding licensing fees. On 19 May 2008 Judge Joan N. Ericksen of the U.S. District Court in Minnesota ruled in favor of Cognex.[15] The ruling held that the '524 patent, which claimed to cover a system for capturing and reading 2D symbology codes, is both invalid and unenforceable due to inequitable conduct by the defendants during the procurement of the patent.

While the ruling was delivered after the patent expired, it precluded claims for infringement based on use of Data Matrix prior to November 2007.

A German patent application DE 4107020 was filed in 1991, and published in 1992. This patent is not cited in the above US patent applications and might invalidate them. [要出典]

関連項目

脚注

  1. ^ Data Matrix Barcode”. 2020年2月27日閲覧。
  2. ^ Stevenson, Rick (2005年12月). “Laser Marking Matrix Codes on PCBs” (PDF). Printed Circuit Design and Manufacture. http://pcdandm.com/pcdmag/mag/0512/0512stevenson.pdf 2007年5月31日閲覧。 
  3. ^ 日本でいう郵便追跡サービス
  4. ^ 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
  5. ^ German man programs "Hello World" into wheat field”. arstechnica.com. 2017年2月22日閲覧。
  6. ^ The World's First Animated Tattoo – Digital Buzz Blog”. digitalbuzzblog.com. 2017年2月22日閲覧。
  7. ^ First Ever Animated Tattoo – By K.A.R.L.”. youtube.com. 2017年2月22日閲覧。
  8. ^ Facebook”. facebook.com. 2017年2月22日閲覧。
  9. ^ Data Matrix and PDF417 Data Integrity Test”. idautomation.com. 2019年8月20日閲覧。
  10. ^ DataMatrix (DataCode)|アイニックス株式会社
  11. ^ のちに日本のオムロンが買収したバーコード読み取り機メーカー。現在の「オムロン マイクロスキャンシステムズ」社
  12. ^ ISO e-commerce page for this standard http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=44230
  13. ^ GitHub – zxing/zxing: Official ZXing ("Zebra Crossing") project home”. google.com. 2017年2月22日閲覧。
  14. ^ libdmtx Home”. sourceforge.net. 2017年2月22日閲覧。
  15. ^ Cognex Invalidates Acacia Patent '524; Next? Suing for Business Defamation”. Groklaw (2008年6月23日). Template:Cite webの呼び出しエラー:引数 accessdate は必須です。

外部リンク