技術情報・バーコードの基礎知識Basic knowledge of the technical information bar code

2次元シンボルの特徴

Last Update 2017.1.5

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バイト) になっている。

規格の最大情報量まで読めないマトリックスシンボル

このように最大情報量の規格は、どんどん大きくなったが、実用レベルから考えると余り意味がない。なぜなら、マトリックス型シンボルの読み取りには、イメージャを使用するが、ここで使用されている画素数は、価格的問題からビデオカメラで多く利用される30~40万画素であり、シンボルの情報量を大きくすると、1セル当たりと画素数が少なくなって読み取りできなくなるからである。したがって、実用的な読取率を確保するためには、最大の情報量は、約500から800バイトが限界と言われている。そして、それ以上の情報量の場合は、シンボルを分割する。

一方、スタック型シンボルでは、レーザスキャナによる読取ができるので、PDF417の場合、規格最大の1108バイト字の読み取りが可能である。しかし、イメージャを使用した場合は、同じように情報量に制限が生じる。

MaxiCodeは、最大情報量を小さく規定している。MaxiCodeは、物流の仕分けシンボルとして使用することを目的に開発されているため、シンボルサイズは約28×27mm(クワイエットゾーン含む)、情報量は英数字で77字または93字に固定して、読取速度を向上させている。

バーコードの10倍から100倍の情報化密度

2次元シンボルの情報化密度は、エンコードする情報量によって大きく変化する。例えば、細バーが0.19mmまたはセルサイズが0.25mm、情報量が英字100字とした場合、1平方センチ当たりの情報量は、PDF417が約40文字、QR Codeモデル2が約75字、DataMatrix(ECC200)が120字、AztecCodeが約130字となる。こらは、Code128の情報化密度が約4文字/平方センチであることから、バーコードの情報化密度の10倍から30倍となる。

スタック型シンボルのPDF417では、レーザスキャナでの読み取りを考慮して、バーの高さは、バー幅の3倍以上にするような規格となっている。したがって、情報化密度は、マトリックス型シンボルに比べ3倍以上になる。

マトリックス型シンボルの中で情報化密度に差ができる理由は、ファインダーパターンによるオーバーヘッドの大きさと情報の圧縮率が異なるためである。QR Codeは、ファインダーパターンが3箇所あるためでデータエリアが少なくなっている。

スタック型シンボルの情報化密度は、情報量が大きくなる程、また、横長の形状になる程、スタートストップコードのオーバーヘッドが減少するため、情報化密度は向上する。スタック型のシンボルでも、より情報化密度を高くする工夫がなされている。PDF417では、トランケーションシンボルと言って、スタートコードまたはストップコードの片方を取り除く方法がある。また、バーの高さをバー幅の2倍にし、スタートストップコードをシンプルにしたMicro PDF417では、50字程度までならマトリックス型シンボルと同程度の情報化密度を実現することができる。

ミニチュアサイズの2次元シンボル

スタック型シンボルPDF417では、バーの高さがバー幅の3倍は必要であるため、例えトランケーションシンボルにしても、細バー0.19mmの時、数字 8桁で6×12mmが限界で、バーコードのおよそ半分である。Micro PDF417では、同じ条件で4.6×7.6mmまで小さくでき、これはバーコードのおよそ1/3になる。

また、マトリックス型シンボルは、スタック型シンボルに比べ最小シンボルサイズは、遙かに小さくなるが、シンボルの種類によって、最小シンボルサイズは異なる。それは、最小セル数のシンボル規格による。例えば、最小セル数は、DataMatrix (ECC50)が9×9、DataMatrix (ECC200)が10×10、Micro QR Codeが11×11、AztecCodeが15×15、QR Codeが21×21である。QR Codeの最小シンボルサイズが特に大きいのは、3箇所の角にファインダーパターンがあるからである。

マトリックス型シンボルの最小サイズは、数字14桁をセルサイズ0.25mm、誤り訂正能力10~15%で作成した場合、Micro QR Codeが5.8×5.8mm、DataMatrixが4.1×4.1mm、AztecCodeが4.3×4.3mm、QR Codeが7.4×7.4mmとなる。また、スタック型シンボルでは、Micro PDF417が14.5×4.6mmとなるが、省スペースシンボルRSS Stackedを使用すると2次元シンボルに近い12.7×3.3mmまで小さくできる。

今まで、シンボルサイズを面積で比較してきたが、実際の運用では、面積比だけで選択できないことがある。例えば、プリント基板の周囲にマーキングをしたい場合は、正方形より長方形の方が都合良い。このような場合は、面積比は劣っていても、長方形にできるスタック型シンボルやDataMatixの方が適している場合がある。

最小シンボルサイズ

シンボル

最小セル数

最小サイズ

数字データ

DataMatrx

10×10

2.5mm×2.5mm+QZ(0.25mm)

6桁

Micro QR Code

11×11

2.8mm×2.8mm+QZ(1mm)

5桁

QR Code

21×21

5.3mm×5.3mm+QZ(1mm)

40桁

MicroPDF417

モジュール0.19mm

6.8mm×4.2mm+QZ(0.25mm)

8桁

RSS Stacked

モジュール0.17mm

8.5mm×2.2mm

14桁

QZ:クワイエットゾーン

カナ、漢字からバイナリーまで対応

バーコードは、1シンボルキャラクタが1文字になっていたが、近代的な2次元シンボルは、必ずしも1対1に対応していない。Code128の数字モードは、1シンボルキャラクタが2桁の数字を表すように、2次元シンボルでは、数字や英字のように1バイト(8ビット)を必要としない場合は、自動的に圧縮されるようになっている。

スタック型シンボルのPDF417では、928コードワードが用意されており、これによりバーコード化される。英数字記号モードでは、2文字が1コードワードに変換され、数字モードでは、約3桁が1コードワードに変換される。バイナリーモードでは、256種のデータを900進数に変換するので、6バイトが5コードワードになる。

QR CodeやAztecCodeにおいても、英数字記号モード、数字モード、バイナリーモードがあり、それぞれ最小化されてエンコードされる。したがって、バイナリーモードで指定してエンコードしない限り、同じ文字数でも、エンコードモードによってシンボルサイズが変わってくる。そこで、ラベルをデザインする場合は、シンボルがラベルからはみ出さないように注意しなければならない。

汚れたシンボルの読み取りを可能にする誤り訂正能力

バーコードは、バーが1本でも欠けたり、増えたりしたら決して読み取ることはできない。このことが、バーコードは信頼性が高く、誤読が発生しにくいことの理由である。しかし、2次元シンボルでは、バーやセルが小さいために、バーコードに比べ損傷を受ける確率は非常に高い。そこで、2次元シンボルでは、損傷を受けたデータを演算により元に戻すために、誤り訂正機能を持つことが一般的になっている。この技術は、データ通信やデジタル信号処理の世界では古くから使用されていた技術である。

2次元シンボルは、この誤り訂正方法により読取率に差が出ることから、各メーカともに凌ぎを削って改良してきた。誤り訂正方式は、コンボリューショナル方式とリードソロモン方式が代表的であり、コンボリューショナル方式は少ないデータに有効で、リードソロモン方式は、大きなデータに有効であると言われている。DataMatrix (ECC000~ECC140)の旧バージョンは、コンボリューショナル方式を使用していたが、歪み補正を採用したDataMatrix (ECC200)は、リードソロモン方式に変更されている。したがって、現在は、リードソロモン方式が主流となっている。

誤り訂正レベルは、一般的に使用環境により5%から30%程度を何段階かに分けて設定できるようになっている。AztecCodeは、誤り訂正データをシンボルの5%から99%まで任意に設定できるようになっているため、環境に合わせて最適な誤り訂正率を設定できる。PDF417は、セキュリティレベルと言って、復元可能なコードワード数で表している。例えば、セキュリティレベルをレベル5の62コードワードに設定すると、62コードワードの障害までデータを復元できることになる。

また、誤り訂正を付加させると言うことは、その分シンボルサイズが大きくなるということも承知しておかなければならない。

誤り訂正機能の効能と副作用

誤り訂正機能において注意しなければならないことがある。誤り訂正能力は、汚れや傷に対する万能薬のように見られることが多いが、実は、この薬が効かない場合や副作用もあるのである。例えば、QR Code、MaxiCode、AztecCodeのようなファインダーパターンがあるシンボルで、そのファインダーパターンが汚れて見えなくなってしまった時、誤り訂正機能が働いて、読み取りできるであろうか。一般的にリーダは、このファインダーパターンを見つけてシンボルの種類を認識しているので、シンボルの種類が認識できなければ、当然読み取ることはできない。また、ファインダーパターン以外の方法でシンボルを認識できる特殊なプログラムを持っているリーダがあったとしても、読取時間が非常に長くなることになり、誤り訂正機能に救われることはない。

また、2次元シンボルをファックスで送信したり、ドットプリンタで印刷した時、誤り訂正能力により確実な読み取りを保証できるだろうか。いずれの場合も2 次元シンボルが全体にぼけていれば、正しいデータの読み取りができないため、誤り訂正の演算をすることはできない。このような場合は、原始的ではあるが、バーやセルのサイズをできる限り大きくする方が効果的である。

誤り訂正能力の副作用とは、シンボルサイズとデコード時間のことである。誤り訂正能力を高めると言うことは、既に説明したようにシンボルサイズが大きくなる。しかし、これ以上に問題なことは、演算が増えるためにデコード時間が長くなることである。通常、100文字程度のデータであれば、0.2から0.3秒の読取時間に充分抑えることができるが、誤り訂正能力を高くすると0.5秒程度にすぐ低下してしまうことがある。これは、デコーダの処理速度に依存するので、使用する前に充分テストをするようにしたい。

高速読取

自動仕分システムでは、仕分コードを高速で読み取って、ソータに指示を出さなければならない。宅配会社のUPSは、このためにMaxiCodeを開発した。MaxiCodeは、シンボルの中心に同心円のファインダーパターンを配置し、素早くシンボルを見つけられるようにした。また、シンボルサイズを約1 インチに固定し、情報量も144コードワードと小さく1種類に固定化することによってデコーディング速度を早くするように工夫している。

QR Codeは、その名のとおりQuick Response(高速読取)のために開発されたシンボルで、シンボルのコーナに四角形のファインダーパターンを配置し、素早くシンボルを見つけられるようにしている。さらに、3カ所のファインダーパターンにより回転角の検知も高速になるように工夫している。しかし、シンボルサイズを検知するために、2つのファインダーパターンの距離(セル数)をカウントしなければならないので、その分読み取りが遅くなるが、ハードウェアでシンボルの切り出しを行うことにより、驚異的な読取速度を実現できる。

AztecCodeは、四角形のファインダーパターンをMaxiCodeと同じようにシンボルの中心に配置することによって素早くシンボルを見つけるようにしている。回転角を検知するために、ファインダーパターンのコーナに回転検知セルを配置している。さらに、シンボルサイズ、レイヤ数、誤り訂正レベル等のシンボルを決定するための基本情報をファインダーパターンの周囲に配置することにより、素早くデコーディングに入れるようになっている。

関連する製品

DS6707
  • 1Dバーコード
  • 2Dバーコード
ds457
  • 1Dバーコード
  • 2Dバーコード
  • Bluetooth
  • GS1
  • CMOS
  • 232C

お問い合わせ