UPC-Aに関するトラブルレポートテクノベインズ株式会社 1999年12月28日 UPC-Aを使用して、特定なデータ(本来目的である正しいUPC−Aのデータでない)について作成されたバーコードラベルを、バーコードスキャナで読み込んだ際、読み込みの仕方によっては誤ったコードを出力を発生する場合があります。 問題を起こすケース例UPC-A 000000000062 のバーコード(最後の2はチェックコード)UPC-Aは米国における流通商品を管理する事を目的として開発されたコードです。UPCの規格により、コードパターンの先頭部分には企業コードが入るように規定されています。コードの割付仕様を満たしたUPCの場合、先頭がすべて0になるようなコード体系はUPC-Aには存在しません。 しかし、バーコード作成プログラムなどにより、UPC-Aコードを使用してオリジナルなバーコードを作成することは可能です。その場合、以下のような問題点が発生する場合があります。 問題点上記の値のバーコードを作成し、バーコードスキャナで読み込むと、JAN-8(EAN-8)の00000000データと読み間違うことがある。原因以下の原因により、バーコードスキャナは誤ったコードを出力する場合があります。披検査バーコード 上記は実際に印字されていたバーコードです。UPC-A 上記は同じ値によりプログラムにより作成したUPC-Aのバーコードです。このバーコードラベルと被検査バーコードUPC-A 000000000062のデータラベルと比べてみて、特に問題ないと思われます。 JAN-8 ここでバーコードスキャナが誤って読み込む、JAN-8の00000000のラベルを作成してみます。JAN-8の00000000とUPC-A 000000000062は明らかに異なるバーコードシンボルです。 しかしバーをよく見てみると、UPC-Aシンボルの中にJAN-8シンボルと同じような部分が含まれていることに気が付きます。 2つのラベルを少しずらし、重ね合わせてみるとよくわかります。上がUPC-A、下がJAN-8です。 UPC-AとJAN-8 上が被検査バーコード、下がJAN-8バーコードです。JAN-8の一番左のバー以外はUPC-Aのバーコードに含まれるバーとぴったりと重なることがわかります。斜めの矢印部分に(スキャンされた部分)JAN-8を含みます。 考察通常バーコードは印字されたバーの両脇にクアイアットゾーンと呼ばれる何も印字されていない空間が必要です。クアイアットゾーンに続く最初のバー群をスタートバーとみなします。今回問題となったバーコードは、JAN-8のチェックコードまで含んだ形で、正しいパターン(に非常に近い)が生成され、さらにそのバーの両端に大きな白ブランク部分(クアイアットゾーン)ができてしまうデータの組み合わせであったため、完全な1つのデータパターンが成立してしまっています。 JAN-8として認識するためには、規格とスタートバーの幅が異なりますが、以下のような要因により(要因が重なり)、正しいJAN-8と認識されてしまっているようです。
左からスキャンされた場合、スキャンの状態によってはUPC-Aコードの途中で1つのバーコードが構成されてしまうため、このような場合に誤ったコードを発生する恐れがあります。 バーコードは左右どちらから読んでも正しく読めるように規定されているため、右からスキャンされた場合と左からスキャンされた場合とでは結果が異なります。右から読んだ場合、UPC-Aのストップバーを読むため試験の際、読み誤りが少ないように思われました。 実際に下記のように左右マスクして読み込ませた場合、先頭バーの幅が異なる事により読みづらいですが、JAN-8(EAN-8)として読み込むことができることを確認しました。 上記問題について、弊社で複数のメーカーのバーコードスキャナを用い試験したところ、発生頻度の大小はありましたが、いずれのバーコードスキャナであっても上記問題が発生することがわかりました。スタートバーの認識はアナログ的な判断に影響されますので、同じスキャナでもレンズやCCDの特性、ソフトウェアのバージョン等によっても、エラーが頻度が異なります。 回避案本問題は、規格にのっとり使用されているUPC-Aのバーラベルとしてはほとんど問題が発生しないと思われます。実際、米国の流通マーケットがこの問題により混乱したという話は聞きません。これは、このバーコードであつかうデータフォーマットまで考えられ運用されているからだと思われます。今回の例のように、UPC-Aを本来規定された以外のデータフォーマットで運用した場合、バーコードシンボル自体が問題を発生するため、バーコードスキャナでの回避は非常に難しくなります。どのようなデータの組み合わせの場合にこのような誤りパターンを発生するのか、すべてのデータ組み合わせを検証することは不可能ですので、あらかじめ以下のような方法での問題回避をお勧めいたします。
※UPC-Aをご使用される場合、上記を正しくご理解した上でご使用いただけますようお願い申し上げます。 参考ITFコードについてITFコードを用いた際にも似たような問題が発生します。ITFで短い桁まで読み込めるように設定した場合、バーコードの一部でITFコードが成立してしまうため、斜め読み等で同様の誤りが発生することがあります。通常ITFを使用する場合、目的バーコードの桁数のみを読み込むようにバーコードスキャナにバーコードデータ長を設定して使用します。JAN,EAN,UPCについて本記述中でJANコードとEANコードという表記がありますが、JANコードとEANコードはシンボル的にはまったく同じものです。EANコードの国コード(先頭2桁)が49または45の原産国IDが日本であるEANコードを、日本においてJANコードと呼んでいます。UPCコードは北米向けで、国コードが0ですが、国コードを0としてEANコードを用いるのではなく、バーコード自体が異なります。Last Updated 2011/09/09 |
テクノベインズ株式会社 〒113-0034 東京都文京区湯島3丁目31-4 ツナシマ第1ビル2階 電話:03-3832-7460 (平日:09:00-17:30) FAX:03-3832-7430 Techno Veins Co.,Ltd. Tsunashima Daiichi Bldg 2F, 31-4, Yushima 3, Bunkyou, Tokyo, 1130034, JAPAN. Tel:+81 3-3832-7460 FAX:+81 3-3832-7430 sales@technoveins.co.jp (弊社地図) ©Copyright Techno Veins Co.,Ltd. 1987-2011. All rights Reserved. |