ものづくりニュース by aperza

二次元シンボルの特徴

二次元シンボルの特徴

1KB以上の大きな情報量

マルチロー型(スタック型)シンボルの最大情報量

Code49やCode16Kなどの原始的なマルチロー型(スタック型)シンボルの最大情報量は、英数字で49字、または77字と従来の一次元シンボルの数倍であったが、その後技術の進歩と共に情報量は増加した。

たとえば1989年に開発されたマルチロー型(スタック型)の代表シンボルであるPDF417は、英数字1,850字(1,108バイト)である。

マトリックス型シンボルの最大情報量

一方マトリックス型シンボルでは、1987年に開発されたDataMatrixは英数字約2,000字(約1,000バイト)、そしてQR Codeは最大セルサイズが105×105で、最大情報量が英数字1,520字(1,045バイト)であった。

ところが、マトリックス型は情報量を大きくするとシンボルに僅かな歪みや湾曲があるだけで読取率が大幅に低下するという問題があるため、標準化の過程でシンボルにアライメントパターンによる歪み補正機能を追加することになり、同時に最大情報量も増加することになった。

1995年に開発されたDataMatixのECC200バージョンでは最大セルサイズが144×144で、最大情報量は英数字2,335字(1,556バイト)になり、1996年に改良されたQR Codeのモデル2では最大セルサイズが177×177で、最大情報量は英数字4,296字(1,847バイト)になっている。

そして、1995年に開発された最新のマトリックス型シンボルであるAztecCodeでは最大セルサイズを151×151、最大情報量を英数字で3,067字(1,914バイト)になっている。

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

このように最大情報量の規格はどんどん大きくなったが、実用レベルから考えるとあまり意味がない。

なぜなら、マトリックス型シンボルの読み取りにはイメージャを使用するが、ここで使用されている画素数は価格的問題からビデオカメラで多く利用される30~40万画素であり、シンボルの情報量を大きくすると1セル当たりの画素数が少なくなって読み取りできなくなるからである。

したがって、実用的な読取率を確保するためには、最大の情報量は約500から800バイトが限界といわれている。そして、それ以上の情報量の場合はシンボルを分割する。

 

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

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

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

二次元シンボルの情報化密度は、エンコードする情報量によって大きく変化する。

たとえば、細バーが0.19mm、またはセルサイズが0.25mm、情報量が英字100字とした場合、1平方センチ当たりの情報量はPDF417が約40文字、QR Codeモデル2が約75字、VeriCodeが約100字、DataMatrix(ECC200)が120字、AztecCodeが約130字となる。

これは、Code128の情報化密度が約4文字/平方センチであることから、一次元シンボルの情報化密度の10倍から30倍となる。

 

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

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

QR Codeはファインダーパターンが3箇所あるためデータエリアが少なくなっており、VeriCodeは英文字を8ビットでエンコードしているため、情報の圧縮率が低くなっている。

 

マルチロー(スタック)型シンボルの情報化密度は情報量が大きくなるほど、また横長の形状になるほど、スタートストップコードのオーバーヘッドが減少するため情報化密度は向上する。

たとえば、英字500文字をバー幅0.19mmでエンコードした時、PDF417の情報化密度は約60字/平方センチとなる。

 

マルチロー(スタック)型シンボルでも、より情報化密度を高くする工夫がなされている。

PDF417では、トランケーションシンボルといってスタートコード、またはストップコードの片方を取り除く方法がある。

また、バーの高さをバー幅の2倍にし、スタートストップコードをシンプルにしたMicro PDF417では、50字程度までならマトリックス型シンボルと同程度の情報化密度を実現することができる。

 

マトリックス型シンボルの情報化密度についても、情報量が大きくなるほど情報化密度は向上する。

たとえば、英字500文字をセルサイズ0.25mmでエンコードした時、QR Codeの情報化密度は、約80字/平方センチとなる。

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

一次元シンボルは、如何に情報が少なくなっても、細バー0.19mmの時、数字8桁で5×21mm以下にすることは難しい。そこで、二次元シンボルが期待される。

マルチロー(スタック)型シンボルPDF417では、バーの高さがバー幅の3倍は必要であるため、たとえトランケーションシンボルにしても、細バー0.19mmの時、数字8桁で6×12mmが限界で、一次元シンボルのおよそ半分である。

 

Micro PDF417では、同じ条件で4.6×7.6mmまで小さくでき、これは一次元シンボルのおよそ1/3になる。

 

また、マトリックス型シンボルはマルチロー型(スタック型)シンボルに比べ、最小シンボルサイズは遙かに小さくなるが、シンボルの種類によって最小シンボルサイズは異なる。それは最小セル数のシンボル規格による。

たとえば、最小セル数は、DataMatrix(ECC50)が9×9、DataMatrix(ECC200)が10×10、VeriCodeが10×10、Micro QR Codeが11×11、AztecCodeが15×15、QR Codeが21×21である。

QR Codeの最小シンボルサイズが特に大きいのは、3箇所の角にファインダーパターンがあるからである。

これを極小シンボルサイズに対応させるために、ファインダーパターンを1つにしたMicro QR Codeが開発された。

 

マトリックス型シンボルの最小サイズは、数字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となるが、省スペースシンボルGS1 Databar Stackedを使用すると二次元シンボルに近い12.7×3.3mmまで小さくできる。

 

今までシンボルサイズを面積で比較してきたが、実際の運用では面積比だけで選択できないことがある。

たとえば、プリント基板の周囲にマーキングをしたい場合は、正方形より長方形の方が都合良い。

このような場合は、面積比は劣っていても長方形にできるマルチロー(スタック)型シンボルやDataMatixの方が適している場合がある。
スクリーンショット 2016-11-18 12.15.50

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

一次元シンボルは1シンボルキャラクタが1文字になっていたが、近代的な二次元シンボルは必ずしも1対1に対応していない。

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

 

マルチロー(スタック)型シンボルのPDF417では、928コードワードが用意されており、コードワード単位にコード化される。

英数字記号モードでは2文字が1コードワードに変換され、数字モードでは約3桁が1コードワードに変換される。

バイナリーモードでは256種のデータを900進数に変換するので、6バイトが5コードワードになる。

 

QR CodeやAztecCodeにおいても、英数字記号モード、数字モード、バイナリーモードがあり、それぞれ最小化されてエンコードされる。

したがって、バイナリーモードで指定してエンコードしない限り、同じ文字数でもエンコードモードによってシンボルサイズが変わってくる。

そこで、ラベルをデザインする場合は、シンボルがラベルからはみ出さないように注意しなければならない。

 

VeriCodeはバイナリーモードのみであるために、英字や数字のみであってもシンボルサイズは小さくならない。

したがって、シンボルを最小化したい場合はエンコードする前にデータの最小化をしておく必要がある。

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

一次元シンボルは、バーが1本でも欠けたり増えたりしたら、決して読み取ることはできない。

このことが、一次元シンボルは信頼性が高く、誤読が発生しにくいことの理由である。しかし、二次元シンボルでは、バーやセルが小さいために一次元シンボルに比べ損傷を受ける確率は非常に高い。

そこで、二次元シンボルでは損傷を受けたデータを演算により元に戻すために、誤り訂正機能を持つことが一般的になっている。

この技術は、データ通信やデジタル信号処理の世界では古くから使用されていた技術である。

 

二次元シンボルは、この誤り訂正方法により読取率に差が出ることから、各メーカともに凌ぎを削って改良してきた。

誤り訂正方式は、コンボリューショナル方式とリードソロモン方式が代表的であり、コンボリューショナル方式は少ないデータに有効で、リードソロモン方式は大きなデータに有効であるといわれている。

オリジナルなVeriCodeとDataMatrix (ECC000~ECC140)の旧バージョンはコンボリューショナル方式を使用していたが、三菱商事が改良した新VeriCodeと歪み補正を採用したDataMatrix (ECC200)はリードソロモン方式に変更されている。したがって、現在は、リードソロモン方式が主流となっている。

 

誤り訂正レベルは、一般的に使用環境により5%から30%程度を何段階かに分けて設定できるようになっている。

AztecCodeは誤り訂正データをシンボルの5%から99%まで任意に設定できるようになっているため、環境に合わせて最適な誤り訂正率を設定できる。

PDF417はセキュリティレベルといって、復元可能なコードワード数で表している。たとえば、セキュリティレベルをレベル5の62コードワードに設定すると、62コードワードの障害までデータを復元できることになる。

 

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

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

誤り訂正機能において注意しなければならないことがある。

誤り訂正能力は、汚れや傷に対する万能薬のように見られることが多いが、実はこの薬が効かない場合や副作用もあるのである。

 

たとえばQR Code、MaxiCode、AztecCodeのようなファインダーパターンがあるシンボルで、そのファインダーパターンが汚れて見えなくなってしまった時、誤り訂正機能が働いて読み取りできるであろうか。

一般的に、リーダはこのファインダーパターンを見つけてシンボルの種類を認識しているので、シンボルの種類が認識できなければ、当然読み取ることはできない。

また、ファインダーパターン以外の方法でシンボルを認識できる特殊なプログラムを持っているリーダがあったとしても、読取時間が非常に長くなることになり、誤り訂正機能に救われることはない。

 

二次元シンボルをファックスで送信したりドットプリンタで印刷したりした時、誤り訂正能力により確実な読み取りを保証できるだろうか。

いずれの場合も二次元シンボルが全体にぼけていれば、正しいデータの読み取りができないため、誤り訂正の演算をすることはできない。

このような場合は、原始的ではあるが、バーやセルのサイズをできる限り大きくする方が効果的である。

 

誤り訂正能力の副作用とは、シンボルサイズとデコード時間のことである。

誤り訂正能力を高めるということは、既に説明したようにシンボルサイズが大きくなる。

しかし、これ以上に問題なことは、演算が増えるためにデコード時間が長くなることである。

 

通常100文字程度のデータであれば0.2から0.3秒の読取時間に充分抑えることができるが、誤り訂正能力を高くすると0.5秒程度にすぐ低下してしまうことがある。

これは、デコーダの処理速度に依存するので使用する前に充分テストをするようにしたい。

高速読取

自動仕分システムでは、仕分コードを高速で読み取ってソータに指示を出さなければならない。宅配会社のUPSは、このためにMaxiCodeを開発した。

MaxiCodeはシンボルの中心に同心円のファインダーパターンを配置し、素早くシンボルを見つけられるようにした。

また、シンボルサイズを約1インチに固定し、情報量も144コードワードと小さく1種類に固定化することによってデコーディング速度を早くするように工夫している。

 

QR Codeは、その名のとおりQuick Response(高速読取)のために開発されたシンボルで、シンボルのコーナーに四角形のファインダーパターンを配置し、素早くシンボルを見つけられるようにしている。

さらに、3カ所のファインダーパターンにより回転角の検知も高速になるように工夫している。

しかし、シンボルサイズを検知するために2つのファインダーパターンの距離(セル数)をカウントしなければならないのでその分読み取りが遅くなるが、ハードウェアでシンボルの切り出しを行うことにより、驚異的な読取速度を実現できる。

 

AztecCodeは四角形のファインダーパターンをMaxiCodeと同じようにシンボルの中心に配置することによって素早くシンボルを見つけるようにしている。

回転角を検知するために、ファインダーパターンのコーナーに回転検知セルを配置している。

さらにシンボルサイズ、レイヤ数、誤り訂正レベル等のシンボルを決定するための基本情報をファインダーパターンの周囲に配置することにより、素早くデコーディングに入れるようになっている。

提供:アイニックス株式会社


ものづくりニュース編集部です。日本の製造業、ものづくりの活性化を目指し、日々がんばっています。