QRコードの概要
符号化(エンコード)
エラー訂正の概要
エラー訂正に必要な「行列」の解説
「行列」を使ってエラー訂正をしよう
リード・ソロモン符号とエラー訂正の方法
多項式の割り算
リード・ソロモン符号の作り方
ガロア理論と体
QRコードを作ろう
QRコードメーカー
独極・QRコード担当の「あじな」です。
やっと、第3編「エラー訂正編」にに突入です!
今回から、QRコードの最大の山場、「エラー訂正」についてみていきましょう。

これまでの復習 [表示する]

  1. QRコードは株式会社デンソーが作ったもので、スマホや携帯で読み取れる
  2. QRコードは「小さな白と黒の四角でできている」「多少汚れても大丈夫」という特徴がある
  3. 白黒の四角を使うのは、コンピュータにわかりやすくさせるため
  4. QRコードは「機能パターン」と「符号化領域」で出来上がっている
  5. 「機能パターン」は、「クワイエットゾーン」「位置検出パターン」「位置検出パターンの分離パターン」「タイミングパターン」「位置合わせパターン」の5種類
  6. 「符号化領域」は「形式情報」「型番情報」「データ領域」の3種類
  7. 「形式情報」は「エラー訂正レベル」と「マスクパターン参照子」で決まり、「\(4 \times 8=32\)」種類のパターンがある
  8. 「型番情報」は「QRコードのバージョンによって決まり、40種類ある
  9. 「データ領域」は「データ」と「エラー訂正情報」で出来上がる
  10. QRコードはバージョンが1~40まである。一辺の大きさは、「QRコードのバージョン(1~40)\( \times \)4\( + \)17」
  11. 「エラー訂正レベル」は「L(7%の汚れまで)」「M(15%の汚れまで)」「Q(25%の汚れまで)」「H(30%の汚れまで)」の4種類ある
  12. 「1bit」とは「白・黒」、「1・0」のような2種類の情報を表すことができる能力のことで、文字を増やすと「2bit(4種類)」「3bit(8種類)」と表現できる種類が増える
  13. 日常の言葉を「エンコード」して「コード(符号)」に置き換え、「コード(符号)」を「デコード」して日常の言葉に戻す
  14. QRコードの「エンコード」方式は「数字モード」「英数字モード」「漢字モード」「8bitモード」の4種類
  15. どの「エンコード」方式でも、データは「モード指示子」+「文字数指示子」+「データ」+「終端パターン」+「埋め草ビット」+「埋め草ワード」となる

エラー訂正のイメージ

「エラー訂正」って言われても、なんのことかピンとこない人が多いのではないでしょうか?


「エラー」と聞くと、失敗とかミスといったイメージがあると思いますが、「エラー訂正」でいう「エラー」とは「読み取り(聞き取り)ミス」のことです。

たとえば、「こんにちは」と書いたQRコードを間違って「こんばんわ」と読み取ってしまったりすることを「エラー」と呼びます。


そして、「エラー訂正」とは、間違えて「こんばんは」と読み取っても、もともと言いたかったのは「こんにちは」であると気づき、復元することを言います。


「そんなこと本当にできるの?」と思われた方。できるんです。その方法を、これからじーーーっくりと解説していきます。

いや、そんな読み間違いしないし

そうですよね。さすがに、「こんにちは」を「こんばんは」と読んでしまうことはないと思います。

でも、これまで見てきたようにQRコードのデータ領域は1,0の連続です。

例えば「1000000001000010110100100000010011010100001010001000000101101001000011101100000100011110110000010001」の中で、1つや2つ0と1を間違えることもありそうですよね?

それに、QRコードは白黒の四角でできています。
汚れがついてしまったら、「白の四角」が「黒」になってしまうこともありえます。

QRコードは多少汚れても読めます
汚れたQRコードの例

QRコードは多少汚れても読める

このように、「QRコード」は汚れてしまう危険性があります。

そのため、「QRコード」には多少汚れても元の内容を復元する力「エラー訂正能力」が備わっているのです!!
これから、この連載のほとんどの部分で「どうやってエラー訂正するのか」を説明していきます。

道のりは長いですが、がんばりましょう!