Data Matrix
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/02/25 16:57 UTC 版)
標準規格
データマトリックスの特許は、米インターナショナル・データマトリックス社(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
関連項目
- PDF417
- Aztec Code
- High Capacity Color Barcode
- MaxiCode
- Nintendo カードe
- QRコード
- Semacode
- SPARQCode
- Trusted paper key
注釈
出典
- ^ “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. 2017年2月22日閲覧。
- ^ “The World's First Animated Tattoo – Digital Buzz Blog”. digitalbuzzblog.com. 2017年2月22日閲覧。
- ^ “First Ever Animated Tattoo – By K.A.R.L.”. youtube.com. 2017年2月22日閲覧。
- ^ “Facebook”. facebook.com. 2017年2月22日閲覧。
- ^ “Data Matrix and PDF417 Data Integrity Test”. idautomation.com. 2019年8月20日閲覧。
- ^ 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. 2017年2月22日閲覧。
- ^ “libdmtx Home”. sourceforge.net. 2017年2月22日閲覧。
- Data Matrixのページへのリンク