バーコードの白黒の太さを光で読み取って数値に変換する装置
バーコードリーダとは、商品などに印刷された白黒のバー(縞模様)に光を当て、反射してくる光の明暗を読み取って数値に変換する入力装置のことです。スーパーのレジで「ピッ」と鳴る、あの読み取り機がまさにこれです。
身近な例で考えると、暗い部屋で懐中電灯を白い紙と黒い紙に当てる場面に似ています。白い部分は光を強く反射し、黒い部分はほとんど反射しません。リーダはこの反射光の強さ(明るい/暗い)をセンサ(受光部)で捉えて、明暗の並びとして読み取ります。
上の図解の①で、リーダが光を当て、反射光の明暗を電気信号(青い波形)に変え、最終的に数字へ変換するまでの流れを示しています。人が13桁の番号を手で打ち込むより、はるかに速く正確に入力できるのが利点です。
バーコードは、黒いバーと白いスペース(すき間)の「太さ・幅」の組み合わせで数値を表現しています。太い黒・細い黒・太い白・細い白といった幅の違いが、それぞれ決められたパターンとして1つの数字に対応します。
読み取りの流れは次のとおりです。
・発光:リーダがバーコードに光(赤色のレーザーやLED)を当てる
・反射:白い部分は強く、黒い部分は弱く光を反射する
・受光:反射光の強さをセンサが捉え、明暗の信号に変える
・変換:明暗の幅のパターンを照合し、対応する数字に変換する
ここで重要なのは、横方向(バーの太さの並び)にしか情報を持たないという点です。バーを縦に長くしているのは、上の図解①のようにどの高さで光をなぞっても同じ並びが読めるようにして、斜めに当たっても読み取りやすくするためです。このように1方向にしか情報を持たないものを1次元コードと呼びます。
日本でもっとも身近なバーコードがJANコード(=Japanese Article Number、商品識別用の番号体系)です。スーパーやコンビニの商品パッケージに印刷されている13桁(または短縮版の8桁)の番号がこれにあたります。
標準タイプ(13桁)は、上の図解②のように次の構成になっています。
・GS1事業者コード:先頭の「49」「45」は日本を表す国コードで、続けてメーカーを識別する
・商品アイテムコード:そのメーカーの中で個々の商品を区別する番号
・チェックディジット:他の桁から計算で求める末尾1桁。読み取りミスを検出するための確認用
チェックディジットは、図書館の本の検索番号に「読み間違い防止の数字」が付いているのと同じ考え方です。たとえば1桁を読み損なったり打ち間違えたりすると、計算した値と末尾の数字が合わなくなり、エラーとして気づけます。
JANコードのほかにも、書籍のISBNを表すバーコードや、物流で使われるITFコードなど、用途に応じてさまざまな1次元コードの規格があります。いずれも「白黒のバーの幅で数値を表す」という基本の仕組みは共通です。