最終更新:

バーコードの進化と情報密度 - 13 桁から始まったデータ圧縮の歴史

約 7 分で読めます

1974 年 6 月 26 日午前 8 時 1 分、オハイオ州トロイのマーシュ・スーパーマーケットで、レジ係のシャロン・ブキャナンが 1 パックの Wrigley's Juicy Fruit ガムをスキャンしました。価格は 67 セント。これが世界で初めてバーコードでスキャンされた商品です。あの白黒の縞模様に格納されていたのは、たった 12 桁の数字。それから半世紀、バーコードは 1 次元の縞模様から 2 次元のマトリックスへ、そして URL を内包するデジタルリンクへと進化し、格納できる文字数は数千倍に拡大しました。

UPC と JAN - 12 桁と 13 桁の違い

世界初の商用バーコード規格は、1973 年にアメリカで策定された UPC (Universal Product Code) です。UPC-A は 12 桁の数字で構成され、先頭 1 桁がシステム番号 (商品の種類)、次の 5 桁がメーカーコード、続く 5 桁が商品コード、最後の 1 桁がチェックディジットです。

ヨーロッパと日本は、UPC を拡張した EAN (European Article Number) / JAN (Japanese Article Number) を採用しました。EAN-13 / JAN-13 は 13 桁で、先頭 2〜3 桁が国コード (日本は 45 または 49)、残りがメーカーコード、商品コード、チェックディジットです。

規格桁数構成主な使用地域
UPC-A12 桁1 + 5 + 5 + 1アメリカ、カナダ
UPC-E8 桁UPC-A の短縮版小型商品
EAN-13 / JAN-1313 桁2-3 + 4-5 + 4-5 + 1ヨーロッパ、日本、世界各国
EAN-8 / JAN-88 桁EAN-13 の短縮版小型商品
ISBN-1313 桁978/979 + 出版社 + 書名 + 1書籍 (世界共通)

チェックディジットの計算方法は、モジュラス 10 (Modulus 10) と呼ばれるアルゴリズムです。奇数桁の数字の合計と偶数桁の数字の合計 × 3 を足し、その合計を 10 で割った余りを 10 から引いた値がチェックディジットになります。この 1 桁の検証用数字により、スキャン時の読み取りエラーを約 90% 検出できます。

具体例で計算してみましょう。JAN コード「4901234567890」の場合、最後の「0」がチェックディジットです。奇数桁 (1, 3, 5, 7, 9, 11 桁目) の合計: 4 + 0 + 2 + 4 + 6 + 8 = 24。偶数桁 (2, 4, 6, 8, 10, 12 桁目) の合計: 9 + 1 + 3 + 5 + 7 + 9 = 34。24 + 34 × 3 = 24 + 102 = 126。126 を 10 で割った余りは 6。10 - 6 = 4... 実際のチェックディジットは「0」なので、この例は架空の JAN コードです。実在する JAN コードでは、この計算が必ず一致します。

チェックディジットは 1 桁の数字 (0〜9) ですが、この 1 桁で単純な入力ミス (1 桁の数字の間違い) を 100% 検出でき、隣接する 2 桁の入れ替え (transposition error) も高い確率で検出できます。たった 1 文字の追加で、12 桁のデータの整合性を検証できるのは、数学の力です。

1 次元バーコードの進化 - 数字から ASCII へ

UPC/EAN は数字しか格納できませんが、物流や製造業では英字や記号も必要でした。この需要に応えて、より多くの文字種を扱える 1 次元バーコード規格が次々と登場しました。

規格登場年対応文字文字数主な用途
Code 391974 年英大文字 + 数字 + 記号 7 種43 文字自動車部品、軍事
Interleaved 2 of 51972 年数字のみ10 文字物流、段ボール
Code 1281981 年ASCII 全 128 文字128 文字物流、医療
GS1-1281989 年ASCII 全 128 文字 + AI128 文字 + 識別子物流、食品トレーサビリティ
Codabar1972 年数字 + 記号 6 種16 文字図書館、血液銀行

Code 128 は 1981 年に登場し、ASCII の全 128 文字 (英大文字、英小文字、数字、記号、制御文字) を格納できるようになりました。これにより、バーコードで URL やメールアドレスなどの複雑な文字列も表現可能になりました。しかし、1 次元バーコードの根本的な制約は変わりません。情報は横方向の縞の太さと間隔だけでエンコードされるため、格納できるデータ量には物理的な上限があります。

GS1-128 (旧称 EAN-128) は、Code 128 をベースに「アプリケーション識別子」(AI: Application Identifier) という仕組みを追加した規格です。AI は 2〜4 桁の数字で、後続するデータの意味を定義します。例えば AI「01」は GTIN (商品コード)、AI「17」は賞味期限、AI「10」はロット番号を意味します。この仕組みにより、1 つのバーコードに商品コード、賞味期限、ロット番号などの複数の情報を格納できるようになりました。食品のトレーサビリティや医薬品の個体管理に不可欠な技術です。

1 次元バーコードの物理的な限界は、バーの最小幅 (モジュール幅) とスキャナーの解像度によって決まります。一般的なレーザースキャナーの解像度は 0.25 mm 程度で、Code 128 のモジュール幅は最小 0.25 mm です。バーコードの全幅が 10 cm の場合、約 400 モジュールを配置でき、これは約 40〜50 文字の英数字に相当します。物理的なサイズを大きくすれば文字数は増やせますが、商品パッケージに印刷できるサイズには限界があります。

2 次元バーコードの登場 - 面で情報を持つ

1 次元バーコードの容量限界を突破するために、1980 年代後半から 2 次元バーコードの開発が始まりました。縦横両方向に情報を持たせることで、同じ面積で桁違いのデータ量を格納できるようになります。

1991 年に登場した PDF417 は、2 次元バーコードの先駆けです。「PDF」は「Portable Data File」の略で、最大 1,850 文字の英数字を格納できます。アメリカの運転免許証の裏面バーコードや、航空券のボーディングパスに広く使われています。PDF417 は厳密には「スタック型」と呼ばれ、1 次元バーコードを縦に積み重ねた構造です。真の 2 次元 (マトリックス型) バーコードとは異なりますが、1 次元バーコードの数十倍のデータ容量を実現しました。

1994 年にはデンソーウェーブが QR コードを発表しました。QR コードに何文字入るのかで詳しく解説した通り、QR コードは最大 7,089 桁の数字、または 4,296 文字の英数字を格納できます。PDF417 の約 2.3 倍の容量です。

Data Matrix は 1987 年に RVSI Acuity CiMatrix 社が開発した 2 次元バーコードで、極小サイズでの印刷に特化しています。最大 2,335 文字の英数字を格納でき、電子部品のマーキングや医薬品の個体識別に広く使われています。アメリカ国防総省は、全ての軍需品に Data Matrix コードの刻印を義務付けています。

Aztec Code は 1995 年に Welch Allyn 社が開発した 2 次元バーコードで、中央に位置検出パターン (ブルズアイ) を持つのが特徴です。最大 3,067 文字の英数字を格納でき、ヨーロッパの鉄道チケットや航空券に採用されています。QR コードと異なり、周囲に余白 (クワイエットゾーン) が不要なため、限られたスペースに印刷しやすい利点があります。

規格種類最大容量 (数字)最大容量 (英数字)誤り訂正
UPC-A1 次元12 桁-チェックディジット 1 桁
Code 1281 次元可変 (物理サイズ依存)可変チェックキャラクタ 1 文字
PDF4172 次元 (スタック型)2,710 桁1,850 文字最大約 50%
QR コード2 次元 (マトリックス型)7,089 桁4,296 文字最大約 30%
Data Matrix2 次元 (マトリックス型)3,116 桁2,335 文字最大約 25%
マイクロ QR2 次元 (マトリックス型)35 桁21 文字最大約 25%

情報密度の比較 - 1 平方センチメートルあたり何文字?

バーコードの進化を「情報密度」(単位面積あたりの格納文字数) で比較すると、技術の進歩が一目瞭然です。

標準的な UPC-A バーコードのサイズは約 3.73 cm × 2.59 cm (面積約 9.66 cm²) で、12 桁の数字を格納します。情報密度は約 1.2 桁/cm² です。一方、QR コードのバージョン 10 (57 × 57 セル) を 3 cm × 3 cm (面積 9 cm²) で印刷した場合、誤り訂正レベル L で最大 652 桁の数字を格納できます。情報密度は約 72 桁/cm² で、UPC-A の約 60 倍です。

規格典型的なサイズ格納データ量情報密度 (桁/cm²)UPC-A 比
UPC-A3.73 × 2.59 cm12 桁約 1.21 倍
Code 128 (20 文字)4.0 × 1.0 cm20 文字約 5.0約 4 倍
QR コード (Ver.10, L)3.0 × 3.0 cm652 桁約 72約 60 倍
Data Matrix (最大)2.0 × 2.0 cm3,116 桁約 779約 650 倍

Data Matrix は極小サイズでの印刷に特化しており、電子部品や医薬品のマーキングに使われています。2 mm × 2 mm という極小サイズでも数十文字のデータを格納でき、情報密度は全バーコード規格の中で最高クラスです。文字数とバイト数の違いで解説したエンコーディングの概念は、バーコードのデータ格納方式にも直結しています。

ISBN - 書籍を識別する 13 桁の世界共通コード

ISBN (International Standard Book Number) は、書籍を一意に識別するための 13 桁のコードです。2007 年に 10 桁から 13 桁に拡張され、EAN-13 と互換性を持つようになりました。先頭 3 桁は「978」または「979」(書籍を示す接頭辞)、続いて国・地域コード、出版社コード、書名コード、チェックディジットの順に並びます。

日本の ISBN は「978-4-XXXX-XXXX-X」の形式で、「4」が日本を示す国コードです。出版社コードの桁数は出版社の規模によって異なり、大手出版社は 2 桁 (例: 06 = 講談社)、中小出版社は 4〜5 桁が割り当てられます。出版社コードが短いほど、書名コードに使える桁数が増え、より多くの書籍を登録できます。

13 桁という文字数は、世界中の全ての書籍を一意に識別するのに十分な組み合わせ数を提供します。理論上は 10^13 = 10 兆通りですが、実際にはチェックディジットや構造上の制約により、使用可能な番号はその一部です。それでも、人類が出版した書籍の総数 (推定約 1.3 億タイトル) を識別するには十分すぎる容量です。

GS1 デジタルリンク - バーコードの次世代規格

2018 年に策定された GS1 デジタルリンクは、従来のバーコードの概念を根本から変える次世代規格です。商品の識別コード (GTIN) を URL の形式で表現し、その URL を QR コードに格納します。

従来の JAN コード「4901234567894」は、GS1 デジタルリンクでは「https://id.gs1.org/01/04901234567894」のような URL になります。この URL は、レジのスキャナーで読み取れば従来通りの商品コードとして機能し、スマートフォンで読み取ればメーカーの商品ページに遷移します。1 つの QR コードが、POS システムと消費者の両方に対応するのです。

URL の文字数制限で解説した通り、URL の長さにはブラウザやサーバーの制限がありますが、GS1 デジタルリンクの URL は通常 50〜100 文字程度に収まるため、QR コードのバージョン 3〜5 で十分に格納できます。

バーコードの 50 年 - 12 桁から 7,089 桁へ

1974 年の UPC-A (12 桁) から 2024 年の QR コード (最大 7,089 桁) まで、バーコードの格納容量は 50 年間で約 590 倍に拡大しました。しかし、実際に使われているバーコードの大半は、その容量のごく一部しか使っていません。

コンビニの商品に印刷された JAN コードは 13 桁。QR 決済のコードは通常 50〜200 文字程度の URL。航空券のボーディングパスは約 100〜200 文字。技術的には数千文字を格納できるのに、実用上は数十〜数百文字で事足りているのです。

この「容量の余裕」は無駄ではありません。QR コードの誤り訂正機能は、データ容量の一部を冗長性に割り当てることで実現しています。バージョン 10 の QR コードで誤り訂正レベル H を選択すると、格納できるデータ量は L の約半分に減りますが、コードの 30% が破損しても元のデータを復元できます。デザイン QR コード (中央にロゴを配置した QR コード) が機能するのは、この冗長性のおかげです。

マイクロ QR コードは、通常の QR コードの省スペース版です。位置検出パターンが 1 つだけ (通常の QR コードは 3 つ) で、最大 35 桁の数字を格納できます。電子部品の基板上のマーキングなど、極小スペースでの使用に特化しています。2022 年には「rMQR コード」(長方形マイクロ QR コード) がデンソーウェーブから発表され、細長いスペースにも印刷できるようになりました。

これは、バーコードの本質が「大量のデータを格納すること」ではなく「物理世界とデジタル世界を繋ぐ最小限のキー」であることを示しています。13 桁の JAN コードは、データベース上の膨大な商品情報へのポインタです。QR コードの URL は、Web 上の無限の情報へのリンクです。バーコードに必要なのは、参照先を一意に特定できるだけの文字数であり、情報そのものを全て格納する必要はないのです。

Wrigley のガム 1 パックから始まったバーコードの歴史は、「最小限の文字数で最大限の情報にアクセスする」という、情報設計の本質を体現しています。

バーコードや情報技術の歴史に関する書籍は Amazon でも探せます

この記事を共有