【基礎から学ぶ情報技術】 バーコードとQRコードの仕組み ~日常生活で見かける1次元コードと2次元コードについて~

IT
スポンサーリンク
スポンサーリンク
スポンサーリンク

私の専攻は電気系なのですが、電気電子系の仕事とIT系の知識は切っても切れない存在となります。
回路設計をしても、それを動かすCPUはソフトウェアが無いと動かないですからね。
本記事は、IT系の分野で疑問を持ったり知っておいた方が良いと個人的に思った内容についてまとめたものとなります。

今回は、「バーコードとQRコードの仕組み」についての説明です。

1.初めに

私たちの日常生活にはバーコードQRコードという結構謎の多いものが浸透しています。
対応した読み取り機(リーダー)を用いることで情報を読み取っているであろうことはわかるのですが、どんな仕組みになっているのかまで理解できている人は少ないでしょう。
まあ、バーコードは何となくわかりそうですけども…。

今回は、そんなバーコードとQRコードの仕組みについてまとめていきます。

2.1次元コードと2次元コード

バーコードとQRコードの説明に入る前に、まずは1次元コード2次元コードについての説明から入ります。

まず、1次元・2次元・3次元って何か知っていますか?
1次元なら1つの成分で構成された世界、2次元なら2つの成分で構成された世界、3次元なら3つの成分で構成された世界を表しています。
要するに、以下のようになります。

1次元

“横”もしくは“縦”という1つの成分で構成。
線は表せるが、面は表せない。

2次元

“横”と“縦”という2つの成分で構成。
線と面は表せるが、高さの概念が無いので立体は表せない。

3次元

“横”と“縦”と“高さ”という3つの成分で構成。
立体まで表せる。

コードとは文字列や符号のことなので、1次元コードは線1本のみで表現された1方向にのみ情報を持つことができる文字列・符号2次元コードは縦と横の2方向に情報を持つことができる平面上で表現された文字列・符号を指しているわけです。
この分類で言う1次元コードがバーコード、2次元コードがQRコードに当たります

スーパーの商品でよく見かけるバーコードですが、よくよく思い返して見ると、バーコードリーダーの光って横一直線になっているでしょう?
アレって何となく平面に見えますけど、読み取り方向は実は横だけなんです。
縦方向の長さは別に重要ではないんですね。

2次元コードは横方向だけでなく縦方向にも情報を持てるようになるので、記録できる情報量が1次元コードと比較して飛躍的に増加します。
Excelのような格子状のセルの集まりのようなマトリクス状で文字を表現するので、記憶密度が高く、小さな面積により多くの情報を記録できるのが利点です。
他にも、位置補正機能が付いていたり、汚れなどによるある程度のデータの欠損は復元できたりと、多機能になっています。
このように、1次元コードと比べて様々な機能が追加されています。
その上省スペースです。

これだけメリットがあるなら二次元コードに完全に移行していまえば良いと感じるかもしれませんが、実際は未だに1次元コードが多く使われています。
その理由は、おそらくデータ欠損への対策かと思われます。

2次元コードは、ある程度のデータ欠損なら復元できます。
ですが、“ある程度”です。
あまり欠損し過ぎると、全く読み取れなくなります。
そして、読み取れなくなると復元は不可能で、どうしようもなくなるんです。

その点1次元コードは、横一直線さえ残っていれば情報としては充分ですし、仮にコードが欠損していてもコードの下に書かれている文字を手打ちすることで対応が可能です
だから、スーパーのレジなどは1次元コードの方が都合が良いんですね。
もし2次元コードだったら、読み取れなかった時点でレジの動きが一旦止まることになりますから。
文字まで欠損するようなら1次元コードでも読み取れなくなるわけですが、そもそもそこまでコードが欠損する運用の方が問題ですので、そこまで考慮してあげる必要は無いでしょう。

3.バーコードとは?

バーコード[barcode]とは、バー(黒線)とスペース(白線)の組み合わせにより数字や文字や記号を表現したものです。
商品に必ずと言っていいレベルで付いているあの白黒の縞模様です。

図1 こんなの

バーコードに光を照射して、その光の反射から何と表示されているのかを読み取ります。
この読み取った文字列から、対象の製品情報などを照合するわけです。

このバーコードを読み取る機器はバーコードリーダー/バーコードスキャナと呼ばれています。
スーパーでレジの店員さんが使っているアレです。
最近はセルフレジも普及してきているので、自分で使ってみたことがあるという方は増えているでしょう。

バーコードには複数の種類があり、実は微妙に違いがあります。

数字だけ表現できるEAN(JAN)、数字・記号を表現できるNW-7、数字・記号・アルファベットを表現できるCODE39などです。
スーパーで見かけるバーコードは数字しか使われていないので、アルファベットや記号も表現できると知っている人は少なそうですね。

バーコードは、本文に当たるデータ部分の他に、データの始まりを表したり、読み取りが正常なのか確認するための文字も含まれています
実際の構成は、以下のようになっています。
※バーコードの内容は適当なので、配置関係だけ意識してください。

図2
クワイエットゾーン

バーコード両端の余白部分。
充分に設けないと読み取り不良に繋がる。

スタートキャラクタ

データの始まりを表す文字。

チェックデジット

読み取り値が正常なのか判断するための文字。

ストップキャラクタ

データの終わりを表す文字。

ちなみに、文字を表現するバーとスペースは、細いバー(NB:ナローバー)・太いバー(WB:ワイドバー)・細いスペース(NS:ナロースペース)・太いスペース(WS:ワイドスペース)の4種類の組み合わせで表現されています。

4.QRコードとは?

QRコードの“QR”とは、[Quick Response]の略称です。
[response(応答)]が[quick(素早い)]なマトリクス型2次元コードのことです。
下図みたいなヤツですね。

図3

マトリクス型というのは、Excelのような格子状のセルの集まりだと思ってください。

日常生活では、paypayなどの電子決済、ペットボトル飲料のラベル、チラシやパンフレット、トラックに直接描かれていたりなど、至る所に存在するので頻繁に見かける機会はあるかと思います。
工場でも入出庫管理・在庫管理・配送管理などによく利用されています。

1994年に株式会社デンソーウェーブによって開発され、2000年時点でISO規格/IEC規格に登録されています。
地味に日本発祥なんです。

QRコードのできること自体は一般的なバーコードと変わりません。
ただ、仕様や性能に大きな差があります。

QRコードの場合、以下のような仕様をしています。

  • 作成や利用には面倒な手続きが一切不要。
  • 仕様がオープンソースになっている。(一般公開されている)
  • 英数字・カナ表示・漢字・文字など、様々なデータを扱える。
  • 記録するデータの大容量化・高密度化。
  • 省スペース。
  • 汚れや破損に強く、読み取りエラーが少ない。
  • 360°どの方向から読み取っても認識できる。

このような多くのメリットを持つので、世界的に幅広く利用されるようになっています。

白黒の正方形を最小単位としたセルを配置することであの模様ができていて、マイクロQRコードという17セル×17セルで構成された小さなタイプも存在します
小さいと言っても17×17=289セルも使えるんですけどね。

2023年時点で一番よく見かけるのはQRコードのモデル2です。
モデル1に改良を加えてモデル2になっているのですが、モデル1とはそこまで違いがないように見えます。
ですが、モデル2ではアライメントパターンという位置補正機能が追加されているので実は見た目が変わっています。

モデル1とモデル2共に3つのコーナーにある位置検出用のパターン(ファインダパターンと言う)があるのは変わらないのですが、モデル2では残りの1コーナー方向に小さな正方形が必ず存在します。
これがアライメントパターンです。

図4

よくよく考えると昔のQRコードにはこの小さな正方形は無かったはずなんですよ。
いつの間にかしれっと追加されていたので、気付いていない方は普通にいるかと思われます。

5.マイクロQRコードとは?

マイクロQRコードは、QRコードを更にマイクロ[micro(微細)]にしたものです。
下図みたいなヤツですね。

図5

普通のQRコード(図3)と比較すると、明らかに小さくなっているでしょう?

先程述べたように、マイクロQRコードの場合は17セル×17セルで構成されています。

通常のQRコードは、3つのコーナーに位置検出用のパターン(ファインダパターン)がありますが、マイクロQRコードの場合はこれが1つになります。
ここだけ押さえておけば、少なくともQRコードとマイクロQRコードは見た目で判別可能です。

QRコード自体は1994年に株式会社デンソーウェーブによって開発されていて、マイクロQRコードは1997年に開発されました。
QRコードより小さくなるのでデータ量は減るものの、非常に小さいスペースでも印字が可能になっています。
その為、電子部品などの管理に利用されていることがあります。

日常生活では元々小さなQRコードでスペース問題は無いということがほとんどなので、あまり見かける機会はありません。
無いわけでは無いはずなのですが、どこで見たのか思い出せないんですよね…。

以上、「バーコードとQRコードの仕組み」についての説明でした。