|
|
|
|
|
|
2次元コードには必ず「切り出しシンボル」と「タイミングマーク」というものがあります。この切り出しシンボルは、マークの方向性を表します。たとえばCPコードの場合には右図のように左端と下端の黒線が切り出しシンボルになります。この切り出しシンボルによりマークの天地が認識されます。それに隣接する白黒と並んでいる一列のマスがタイミングマークです。タイミングマークは各マスの位置と大きさを表します。CCDカメラで捉えた映像は白黒の2値化データに変換された後、切り出しシンボルとタイミングマークを検出し、マーク方向と各マスのサイズを判定されます。こうして認識の準備ができると、どのマスが黒でどのマスが白かという事が分かり、データに変換することができます。このように、切り出しシンボルとタイミングマークを用いることにより、以下のメリットがあります。
1.マークがどっちを向いていても読み取りが可能である。(バーコードはコードの向きを合わせないと読み取りできない)
2.マークのサイズが変わっても読み取れる。(バーコードはバーの太さで見るため、サイズが変わると読み取れない)
3.少しならゆがんだ局面に印刷しても読み取れる。(バーコードはゆがみに弱い)
スタック式は従来のバーコードを複数積み重ねたような形です。一つ一つのバーコードは従来のバーコードの原理に近く、バーの太さで認識します。ただし、CCDで全体を読み取りますので、ある程度小型化は可能です。しかし、原理的にいって小型化はマトリクス方式より劣ります。一方、大容量という点で考えた場合には、マトリクス方式はコードサイズや連結できるコードの数が限られるのに対し、スタック式は限りなく積み上げれますので有利となります。スタック式のコードでは、A4用紙いっぱいにコードを並べることもできます。これに対しマトリクス方式ではいくら並べても一度に読み取れるのはせいぜい数十個のコードだけです。これからも分かるように、スタック式とマトリクス式は用途が異なると考えても良いと思われます。
CPコードとデータコードは原理的にはほぼ同じです。くの字の方向決めと各マスの位置を表すマスで切り出しシンボルが構成されます。QRコードは3角に設けられた四角のマークが切り出しシンボルです。マキシコードはマーク中央に設けられたぐるぐる巻きが切り出しシンボルです。ベリコードはマーク周囲を囲む四角のラインでマークを規定し、切り出しは、マークの中にデータとともに設けられます。
これらの中で、QRコードとマキシコードはマークの縦横に並べるマスの数が変わっても切り出しシンボルの大きさはあまり変わりません。その結果、マスの数が大きくなると、マーク面積の中に切り出しシンボルの占める面積の割合が小さくなります。一方マスの数が少なくなるとシンボルの占める面積が大きくなります。また、すなわち大容量のデータのマーク化にはCPコードなどより優れるものの、小さいマークでは劣ることになります。例えばQRコードでは切り出しシンボルのサイズが各々データ用のマスの7×7倍の寸法が必要ですから、小型化にはかなり制限があります。
以上より、コードの小型化が最重要であればCPコードやデータコード、ベリコード。多くのデータ量を入れることが重要ならQRコードかマキシコードということになると思われます。(実は小生、マキシコードの原理を知らないので、・・・)また原理的にいって、読み取り速度については、QRコードやマキシコードの方が優れているようですが、マークの変形やゆがんだ面への適用を考えるとCPコードやデータコードが有利です。