2次元シンボルシステムの留意点
2次元シンボルは、大きな情報量、高い情報化密度、バイナリー対応、小さなサイズ、誤り訂正、高速読取等の優れた特長を持っている。
これらの特長に期待し過ぎると、読取時間が遅くなり、時には読取不能に陥ることがある。
したがって、それぞれの特長を良く理解してシステムを構築しなければならない。
1KB以上の大きな情報量
2次元シンボルの最大情報量については、原始的なスタック型シンボルのCode49やCode16Kは、英数字で49字または77字と従来のバーコードの数倍であったが、その後新しいシンボルが登場する度に情報量は、増加している。
例えば、1989年に開発されたスタック型の代表シンボルであるPDF417は、英数字1850字(1108バイト)でる。
一方、マトリックス型シンボルでは、1987年に開発されたDataMatrixは、英数字約2000字(約1000バイト)、そして、QR Codeは、最大セルサイズが105×105で、最大情報量が英数字1520字(1045バイト)であった。
ところが、マトリックス型は、情報量を大きくするとシンボルに僅かな歪みや湾曲があるだけで読取率が大幅に低下すると言う問題があるため、標準化の過程でシンボルに歪み補正を施すことになった。
そして、同時に最大情報量も増加することになった。
1995年に開発されたDataMatixのECC200バージョンでは、最大セルサイズが144×144で、最大情報量は英数字2335字(1556バイ ト)になり、1996年に改良されたQR Codeのモデル2では、最大セルサイズが177×177で、最大情報量は、英数字4296字(1847バイト)になっている。
そして、1995年に開発された最新のマトリックス型シンボルであるAztecCodeでは、最大セルサイズを151×151、最大情報量を英数字で3067字(1914バイト)になっている。
規格の最大情報量まで読めないマトリックスシンボル
このように最大情報量の規格は、どんどん大きくなるが、実用レベルから考えるとあまり意味がない。
なぜなら、マトリックス型シンボルの読み取りには、CCDイメージリーダを使用するが、ここで使用されているCCD素子の画素数は、価格的問題から30~50万画素である。
そして、シンボルの情報量を大きくすると、1セル当たりと画素数が少なくなって読み取りできなくなるからである。
したがって、実用的な読取率を確保するためには、最大の情報量は、約500から800バイトが限界と言われている。
そして、それ以上の情報量の場合は、シンボルを分割する方法が良くとられている。
一方、スタック型シンボルでは、レーザスキャナによる読取が一般的であり、広範囲なスキャンができることから、規格最大の1108バイト字の読み取りが可能である。
しかし、マトリックス型シンボルと同様にCCDイメージリーダを使用した場合は、同じように情報量に制限が生じる。
MaxiCodeやVeriCodeは、情報量については全く競争していない。
MaxiCodeは、物流の仕分けシンボルとして使用することを目的に開発されているため、シンボルサイズは約28×27mm(クワイエットゾーン含む)、情報量は英数字で77字または93字に固定されている。
また、VeriCodeは、小さいシンボルを特長にしているため、最大情報量は、英数字で261字、196バイトと大きくしてない。
2次元シンボルは、バーコードに比べ非常に多くの情報をエンコードできるからと言って、むやみに情報を増やすべきではない。
それは、デコード時間が長くなるからである。高い作業性を維持するためには、デコード時間が0.2秒から0.3秒に納まるようなデータ量にすべきである。
バーコードの10倍から100倍の情報化密度
2次元シンボルの情報化密度は、エンコードする情報量によって大きく変化する。
例えば、細バーが0.19mmまたはセルサイズが0.25mm、情報量が英字100字とした場合、1平方センチ当たりの情報量は、PDF417が約40文字、MicroPDF417が約65文字、QRCodeモデル2が約75字、Vericodeが約100文字、DataMatrix (ECC200)が約120字、AztecCodeが約130字となる。
これらは、Code128の情報化密度が約4文字/平方センチであることから、バーコードの情報化密度の10倍から30倍となる。
スタック型シンボルのPDF417では、レーザスキャナでの読み取りを考慮して、バーの高さは、バー幅の2~3倍以上にするような規格となっている。
したがって、情報化密度は、マトリックス型シンボルに比べ、おのずと2~3倍になる。
スタック型シンボルの情報化密度は、情報量が大きくなる程、また、横長の形状になる程、スタートストップコードのオーバーヘッドが減少するため、情報化密度は向上する。
例えば、英字500文字をバー幅0.19mmでエンコードした時、PDF417の情報化密度は、約60字/平方センチとなる。
スタック型のシンボルでも、より情報化密度を高くする工夫がなされている。
PDF417では、トランケーションシンボルと言って、スタートコードまたはストップコードの片方を取り除く方法がある。
また、バーの高さをバー幅の2倍にし、スタートストップコードをシンプルにしたMicroPDFでは、50字程度までならマトリックス型シンボルと同程度の情報化密度を実現することができる。
マトリックス型シンボルの中で情報化密度に差ができる理由は、切り出しマークによるオーバーヘッドの大きさと情報の圧縮率がことなるためである。
QRCodeは、切り出しマークが3箇所あるためでデータエリアが少なくなっている。
マトリックス型シンボルの情報化密度についても、情報量が大きくなる程、情報化密度は向上する。
例えば、英字500文字をセルサイズ0.25mmでエンコードした時、QR Codeの情報化密度は、約80字/平方センチとなる。
カナ、漢字からバイナリーまで対応
バーコードは、1シンボルキャラクタが1文字になっていたが、近代的な2次元シンボルは、必ずしも1対1に対応していない。
Code128の数字モードは、1シンボルキャラクタが2桁の数字を表すように、2次元シンボルでは、数字や英字のように1バイト(8ビット)を必要としない場合は、自動的に圧縮されるようになっていることが多い。
スタック型シンボルのPDF417では、928コードワード(4バー4スペース、17モジュールで構成)のテーブルが用意されており、これによりバーコード化される。
英数字記号モードでは、2文字が1コードワードに変換され、数字モードでは、約3桁が1コードワードに変換される。
バイナリーモードでは、256種のデータを900進数に変換しますので、6バイトが5コードワードになる。
QR CodeやAztecCodeにおいても、英数字記号モード、数字モード、バイナリーモードがあり、それぞれ最小化されてエンコードされる。
したがって、バイナリーモードで指定してエンコードしない限り、同じ文字数でも、エンコードモードによってシンボルサイズが変わってくるのである。
したがって、ラベルをデザインする場合は、シンボルがラベルからはみ出さないように注意しなければならない。
VeriCodeは、バイナリーモードのみであるために、英字や数字のみであっても、シンボルサイズは小さくならない。
したがって、シンボルを最小化したい場合は、エンコードする前にデータの最小化をしておく必要がある。