
チェックデジットの目的
バーコードは、左右のクワイエットゾーン(マージン)、スタート・ストップキャラク タ、データキャラクタ、チェックデジット(チェックキャラクタ)で構成されており、 バーコードの正確性を保つための重要なキャラクタがチェックデジットです。
チェックデジットは、数列の誤りを検出したり偽造を防止するために用いられる数字 や符号で、「検査数字」とも呼ばれています。 通常、データの最後に一定の計算式に基づいて算出された数値を付加し、読み取った 数列の数字の一部が間違っているとチェックデジットにマッチしないため、誤りを検 出することができる仕組みになっています。
チェックデジットは、バーコードだけでなく金融機関の口座番号やクレジット番号、 運転免許証番号、保険者番号など様々な種類の識別番号に利用されています。 クレジットカードなどは、複雑なチェックデジットを何重にも重ねることで、容易に 番号を偽造できないようになっています。
チェックデジットは、全ての種類のバーコードに必要というわけではなく、種類に よっては必ずしも必要としないものもあります。
【必ず必要とするもの】
- EAN(JAN)
- CODE93
- CODE128
- 標準物流シンボル等
【必ずしも必要としないもの】
- CODE39
- NW-7
- ITF(国際規格以外での使用)等
コード入力エラーの種類
- トランスクリプションエラー
ある特定の桁における誤り
【例】12345→12845
- トランスポジションエラー
左右の数字を入れ替えた誤り
【例】12345→13245
- ダブルトランスポジションエラー
1桁置いた左右の数字を入れ替えた誤り
【例】12345→14325
- ランダムエラー
上記3種類のエラーが重なった場合やそれ以外のエラー
【例】12345→14325
チェックデジットのエラー検出率(%)
チェックデジットは、上記の各種エラーに対して以下のような検出率があるとされています。
| 算出方法 |
トランス
クリプション
エラー
|
トランス
ポジション
エラー
|
ダブルトランス
ポジション
エラー
|
ランダム
エラー
|
| 7DRチェック |
85 |
94 |
94 |
86 |
| 9DRチェック |
90 |
不能 |
不能 |
89 |
モジュラス10/
ウエイト2 |
100 |
98 |
不能 |
90 |
モジュラス10/
ウエイト2,3,4,5,6,7 |
87 |
100 |
89 |
90 |
モジュラス11/
ウエイト2,3,4,5,6,7 |
100 |
100 |
100 |
91 |
チェックデジットの効果
ところでチェックデジットはどれくらいのチェック能力を秘めているのでしょうか?
チェックデジットを付けた場合と付けない場合の誤読率を比較した、いくつかの実験 結果をみてみましょう。
米国防総省は、CODE39を物流シンボルLOGMARSに採用する際、様々な印刷方式による バーコードラベルを混ぜてテストしました。その結果、チェックデジットなしが 約300万字に1字の誤読に対し、チェックデジット付きでは約1億4900万字に1字と 約50分の1に減っていました。
また、米国血液銀行共通化委員会(CCBBA)は1981年、NW-7(Codabar)についてテストを行いましたが、この時はチェックデジットなしが150万字に1字に対し、チェック デジット付きは特別に誤読率の上がった10日間を除くと910万字に1字の誤読だったと 報告されています。
チェックデジットの算出方法
チェックデジットの算出方法は様々ありますが、一般的には「DR」とその変型である 「DSR」という方法がよく用いられています。 数列の個々の数字に、ウェイトと呼ぶ数値を掛けて求められた総和を係数(モジュ ラス)で割り、その余りをチェックデジットとするのがDR、余りをモジュラスから 引いた数値をチェックデジットとするのがDSRです。
チェックデジット計算機
ご存知のように【バーコード屋さん】には、便利な「チェックデジット計算機」が 付いています。
これを使えば誰でも簡単にJANコード13桁、JANコード8桁、ITF-14の チェックデジットを求めることができます。
計算機にJAN企業(メーカー)コードや商品アイテムコードなどを入力するだけで、 自動的に計算できるというスグレモノ。チェックデジットの計算が必要になった時は、ぜひお試しください。
なお、【バーコード屋さん】でWEBサイトからご発注いただく場合、発注フォームに バーコードナンバーを入力するとチェックデジットが自動的に算出されるので、 チェックデジットをいちいち計算して入力する必要はありません。
|