
QRコードの誤り訂正レベル L/M/Q/H — ISO/IEC 18004 の設計思想
QRコードは 1994年にデンソーウェーブ(当時デンソー)が開発し、現在は ISO/IEC 18004 として国際標準化されています。この規格には4段階の誤り訂正レベル(L, M, Q, H)が定義されており、同じ情報量でもレベルを上げるほど汚損・破損に強くなる代わりにサイズが大きくなります。本記事では、その数学的背景と実務での選び方を ISO/IEC 18004 の規定に基づいて整理します。
4つの誤り訂正レベル
| レベル | 復元可能量(最大) | 代表的な用途 |
|---|---|---|
| L (Low) | 約 7% | 綺麗な環境で使う画面表示、広告 |
| M (Medium) | 約 15% | 一般的な印刷物、名刺 |
| Q (Quartile) | 約 25% | 工場・屋外など汚れが想定される場面 |
| H (High) | 約 30% | ロゴ重ね表示、屋外看板、長期保存ラベル |
「復元可能量」とは、QRコード全体の何パーセントが欠損・汚損しても読み取り可能かを示します。H レベルなら 30% 汚れても正常に復元できるため、QRコードの中央にロゴ画像を重ねるような現代的なデザインが可能になります。
背景にあるリード・ソロモン符号
QRコードの誤り訂正にはリード・ソロモン符号(Reed-Solomon code)という、有限体 GF(2^8) = GF(256) 上で定義される代数的符号が使われています。これは CD, DVD, 衛星通信でも長年使われている実績ある方式です。
基本アイデアは、データを多項式の係数として表し、特定の点で値を取ったものを冗長ビットとして付加すること。受信側は、汚損した箇所があっても、多項式の性質から欠損値を代数的に復元できます。
数学的には以下の性質があります:
- n シンボルの符号: データ k シンボル + 冗長 (n - k) シンボル
- 最大で (n - k) / 2 個のエラー訂正が保証される
- 訂正符号の割合が高いほど強固だが、全体サイズが増える
QRコードでは、4段階のレベルごとに k / n 比率を変えることで、訂正能力を段階的に変えています。
同じ情報でもサイズが変わる理由
URL「https://example.com/a」をバージョン1の QRコード(21×21モジュール)で符号化した場合:
- L レベル: 最大 41 文字の英数字を格納可能
- M レベル: 最大 34 文字
- Q レベル: 最大 27 文字
- H レベル: 最大 17 文字
同じ21×21のサイズでも、誤り訂正に使う領域が増えるとデータ領域が減ります。長い URL を H レベルで符号化したい場合は、より大きいバージョン(サイズ)のQRコードを使う必要があります。
QRコードの「バージョン」はサイズを示し、バージョン1(21×21)からバージョン40(177×177)まで ISO/IEC 18004 で規定されています。
ロゴ重ね表示のしくみ
「コード中央にロゴを重ねて、それでも読み取れる」というデザインが可能なのは、誤り訂正が中央部の欠損を復元してくれるためです。
ただし以下の制約があります:
- H レベル推奨(または最低でも Q): 30% 以下の範囲でロゴを配置
- 位置検出パターン(3隅の大きな四角)は絶対に隠さない — これは "このマークは QR である" と示す目印であり、誤り訂正の対象ではない
- ロゴは中央付近、かつ正方形以下の面積: 大きすぎるとファインダーパターンや整列パターンに干渉
- 実機で複数回テスト: 理論上は読めても、スマホの読み取り環境(暗所・角度・反射)で失敗することがある
レベル選択の実用ガイド
L (Low) を選ぶ場面
- Webサイト・アプリ画面に表示するQRコード(汚れない)
- データ容量を最大化したい場合(長いURLや多いデータ)
- デザイン要素なしのシンプルな表示
M (Medium) を選ぶ場面
- 一般的な印刷物(チラシ、名刺、パンフレット)
- "困ったら Mを選ぶ" のデフォルト的位置づけ
Q (Quartile) を選ぶ場面
- 工場・倉庫・建設現場など、汚れや傷が想定される屋内
- 軽いデザイン要素(薄い透かしロゴ等)を入れる場合
H (High) を選ぶ場面
- ロゴを中央にしっかり重ねるデザイン
- 屋外看板、長期間貼られるラベル
- 食品容器、医薬品、郵便物など曲面・摩擦のある媒体
- 携帯の古いカメラでも確実に読ませたい場面
読み取り精度を高めるその他の要因
誤り訂正レベル以外にも、QRコードの読み取り精度には以下が影響します(ISO/IEC 18004 付録より)。
- クワイエットゾーン(マージン): コード周囲の白い余白。仕様上4モジュール分以上推奨
- コントラスト: 黒部と白部のコントラスト比は 40% 以上が推奨。背景色付き QR はコントラスト不足で読めないケースあり
- 印刷解像度: 300dpi 以上が実用的。ラベルプリンタなら 203/300dpi を事前確認
- 反射・光沢: ラミネート加工の光沢が強いとカメラがフォーカスできない。マット仕上げ推奨
- カメラ焦点距離: 最短 10cm 程度は確保できる大きさに設計する
まとめ
- QRコードには L/M/Q/H の 4段階の誤り訂正レベルがある(ISO/IEC 18004)
- 復元可能量は L:7% / M:15% / Q:25% / H:30%
- 訂正にはリード・ソロモン符号(GF(256) 上の代数)を使用
- レベルが上がるとデータ領域が減るため、容量制限に注意
- ロゴ重ねデザインは H レベル推奨、位置検出パターンは隠さない
- 一般用途は M、屋外・ロゴ重ね・汚損想定なら Q または H
- クワイエットゾーン 4モジュール以上、コントラスト 40% 以上を守る
参考文献・ソース
記事作成に関する注記
本記事は AI(大規模言語モデル)を編集補助として活用して作成しています。 公開前に編集者が内容を確認していますが、事実誤認・仕様の解釈ミス・最新情報との齟齬が含まれる可能性があります。 重要な判断を行う際は、本文中の一次ソースや公式ドキュメントを必ずご自身でご確認ください。 誤りにお気づきの場合は、お問い合わせフォームよりご連絡いただけると助かります。


