バーコードについて  標準タイプバーコード 短縮タイプバーコード 戻る

 今、お店で商品を購入すると、必ず裏面の方に白黒の縞模様のバーコードがついている。
今日の流通社会において、バーコードの果たす役割は大きい。商品代金決済の迅速化(省
力化・打ちミスの減少)はもちろんのこと、商品の在庫状況を的確に判断することも可能に
し、経営効率の向上につながっている。

 バーコードを印刷するには、ある程度の面積を要し、あまり小さい商品にはバーコードは
のらない。あの懐かしい10円チョコは、かなりの人気商品であったが、バーコードがのらず、
流通経路から外れたため、売上げが激減したという。

 バーコードは、キーボードに代わってコンピュータに数字などを入力する手段である。バー
コードをなぞる(スキャンする)だけで、簡単に数字などが入力できるが、そこには、さまざま
な数学的工夫がなされている。

 現在一般に使われているバーコードは、JANシンボルといわれ、そのルーツはアメリカに
ある。大手の大型小売店チェーンのクロガーが、1967年に初めて商品にバーコードをつ
けて、コンピュータに入力する方法を実用化した。その後アメリカの米国フードチェーン協会
などが中心となって、1973年一般商品コード「UPC」(Universal Product Code)を制
定した。イギリス・フランス・ドイツなどのヨーロッパ各国も「UPC」に倣って、1977年共通の
商品コード「EAN」を制定し、日本も翌1978年、これに参加した。

 バーコードを光学的に読み取る仕組みが「POS」 (Point Of Sale)システムで実現さ
れ、普及が進んでいる。

 このページでは、バーコードの仕組みについて、まとめてみたい。

 バーコードには、標準タイプの13桁と短縮タイプの8桁の2種類がある。

標準タイプ

桁 1   2   3  4  5  6  7  8  9  10  11  12  13 
   国コード   標準メーカーコード        商品コード     チェックデジット
  (日本は49または45)

短縮タイプ

桁 1   2   3   4   5   6             
   国コード   短縮メーカーコード   商品コード チェックデジット

 これらの数字の中には、価格が含まれていない。価格は別にセットすることになる。逆に、
このことから、特定の日だけ、商品の値札を貼りかえることなく、価格を変えて販売すること
が容易になった。

 また、印刷による不備、ゴミ、水などによるバーコードの劣化が原因となる読み取りミスを
検出するため、最後の桁に、チェックデジットが設定されている。

 チェックデジットの数字は次のような手順で求められる。

 標準タイプの場合

   偶数桁の値の和をとり、3倍する・・・・・その値をXとする。
   最後の桁を除いた奇数桁の和をとる・・・・・その値をYとする。
   X+Yの値を求め、この一の位の数を10から引く・・・・・この値がチェックデジットの値
                                    である。
 短縮タイプの場合

   上記の手順で、偶・奇を逆にして求める。

(例) 今、私の手元にある商品について、チェックデジットを計算してみよう。
     9  9  9  0  0  3 7
     X=(9+9+9+0+0+3)×3=90  Y=4+7+0+3+2+7=23
     よって、X+Y=90+23=113 より  チェックデジットは 10−3=7
    
     9  4  1  4 
     X=(4+8+7+5)×3=72  Y=9+4+1=14
     よって、X+Y=72+14=86 より  チェックデジットは 10−6=4

 バーコードの特徴の1つは、スキャナーを使い瞬時に読み込みができることである。バー
コード内にそれを支援する工夫がなされている。

0〜9までの数字のコード化について

    1番目の数字を除いて、全ての数字は、次のルールに従う。
     @ 7モデュールで1つの数字を表す
     A 黒バーの帯と白バーの帯は各々2箇所ずつ      


   例えば、左の配列で、
  数字の「7」が表される。




     B 左側(2番目から6桁)は白黒白黒
        右側(8番目から6桁)は黒白黒白  で表す
     C 右側と左側を区別するために、ガードバーが入る
(注)アメリカを中心としたUPCは、国コードが1桁である。このため、互換性に若干障害が
あり、1番目の数字は他の文字とコード化を異なったものにする必要がある。

 白黒白黒の場合で、@Aの条件を満たすものが何通りあるかは、高校1年生で学習する
順列・組合せの理論を用いて間単に求めることができる。

 白 黒 白 黒 の幅をそれぞれ X、Y、Z、W とすると、

   X+Y+Z+W=7   X、Y、Z、Wは1以上4以下の自然数

が成り立つ。

 この式を満たす組(X、Y、Z、W)の個数を求めればよい。

  (X−1)+(Y−1)+(Z−1)+(W−1)=3

と変形すると、求める場合の数は、異なる4個のものから重複を許して3個とる組合せの数
に等しい。よって、

        (4+3−1)!÷(4−1)!3!=20

で、全部で20通りあることが分かる。

白黒白黒の幅を逆に並べたものも同じ数を表すことにすると、0から9までの10個の数字
を全て表すことができるわけである。

 7モジュールのうち、それぞれが 白ならば 0  黒ならば 1 とすると、0 から 9 まで
の数字は、次の表のように定められている。

10進数 セットA セットB セットC
0 0 0 1 1 0 1 0 1 0 0 1 1 1 1 1 1 0 0 1 0
0 0 1 1 0 0 1 0 1 1 0 0 1 1 1 1 0 0 1 1 0
0 0 1 0 0 1 1 0 0 1 1 0 1 1 1 1 0 1 1 0 0
0 1 1 1 1 0 1 0 1 0 0 0 0 1 1 0 0 0 0 1 0
0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 0 1 1 1 0 0
0 1 1 0 0 0 1 0 1 1 1 0 0 1 1 0 0 1 1 1 0
0 1 0 1 1 1 1 0 0 0 0 1 0 1 1 0 1 0 0 0 0
0 1 1 1 0 1 1 0 0 1 0 0 0 1 1 0 0 0 1 0 0
0 1 1 0 1 1 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0
0 0 0 1 0 1 1 0 0 1 0 1 1 1 1 1 1 0 1 0 0

 先ほど計算で求めた20通りは全てセットAとセットBに現れている。セットAとセットC
はちょうど白黒が反転したものになっている。バーコードの左側ではセットAが、右側で
はセットCが使われる。このことは、1回でバーコード全てを読み取ることができないと
き、左と右の2つの部分の一方ずつを、分けて読み込むことを可能にしている。

 バーコードをよく見ると、国コードを表す1桁目の数字がコード化されていない。1桁目
の数字は、2〜7桁目の数字をコード化するのに、セットA、セットBのいずれかを使った
かの組合せによって定めるようになっている。

 因みに、4を表すのに、

      2  3  4  5  6  7
      A  B  A  A  B  B

というセットを使って、2〜7桁目の数字をコード化する。

 以上のことを踏まえて、実際に、個人的なバーコードを作ってみよう。

今、平成14年1月11日12時45分なので、国コード49を入れて、
   4 9 1 4 0 1 1 1 1 2 4 5 のコード化を考える。

まず、チェックデジットを求める。
   (9+4+1+1+2+5)×3=66  4+1+0+1+1+4=11
   よって、66+11=77 より 10−7=3
   従って、チェックデジットは、3である。

以上から、求めるバーコードは、4 9 1 4 0 1 1 1 1 2 4 5 3 となり、

次のような縞模様を得ることができる。
平成14年1月11日12時45分製作

(参考文献:数学セミナー 「身近な数理 バーコード」 (日本評論社)
        日本バーコード株式会社ホームページ 「バーコードのお話」)

(追記) 今、平成17年3月21日なので、このページをアップロードして早3年ということに
    なる。その間、巷間には何やら怪しげなバーコードが普及してきた。

      当HPの「塾長日記(徒然なるままに)」QRコード     3つの角にある「切り出しシンボル」は、データを切り
   出したり傾きなどを検出するためのもの。それらの間
   には、座標を決めるパターンが埋め込まれている。右
   下には歪みを補正するために利用されるパターン(小
   さな四角)も見える。
   (左図のコードは、当HPの塾長日記(徒然なるままに)
    のQRコードである。)   

 職場に届く雑誌の一面に、この2次元バーコードがびっしり印刷されているのを見て、思
わず身を引いてしまうのは私だけだろうか?

 これは、2次元バーコードの一つで、QRコード(Quick Response Code)といわれるもの
である。(QRコードという名称は、(株)デンソーウェーブの登録商標である。)

 トヨタ自動車とデンソーという会社が生産ラインの部品管理のために、1994年に開発、
1999年に日本工業規格(JIS)に制定された。

 縦横21×21から177×177まで、全部で40種類の規格があり、数ミリ角からポスタ
ー大まで大きさもいろいろあるらしい。

 今までのバーコードでは、一定方向にしか情報を書き込めなかったが、この2次元バー
コードは、縦方向、横方向に情報を書き込むことが可能である。そのため、同一の情報な
ら、今までのバーコードに比べて、およそ十分の一程度の大きさで十分であるという。

 数字だけなら、7089字、英数字だと、4296字の情報が書き込めるというから驚きだ。
しかも、30%程度コードの一部に汚れや破損があってもデータの復元は可能らしい。さら
に、3つの角にある「切り出しシンボル」により、360°全方向から読み取りができるという。

 進化したバーコードが、どのような仕組みになっているか、大いに興味があるが、今のと
ころ不明である。携帯電話会社などでは、いろいろな情報を2次元バーコードに変換してく
れるサービスもあるようだ。

 携帯電話でホームページのアドレスを一字一字打ち込むのは辛い。このQRコードを携
帯カメラで撮影して、URLに変換する機能を持つ携帯電話が最近登場している。これなど
は大変便利な機能だ。私の携帯にもこの機能があって重宝している!

 QRコードの進化は著しい。上記では白地に黒のドッとパターンであったが、最近は、カ
ラーのQRコードが出現している。(平成19年6月現在)

 5×5のマス目に、赤・緑・青・黒の色の組合せで、1つのコードを表すのだそうだ。商品
の画像そのものの背景に、これらのQRコードを埋め込み、画像を携帯カメラでとると、直
ちにインターネットにアクセスできるようになるという。便利な世の中になったものだ。