Qraft (クラフト)

QR コードのエラー訂正レベル - L/M/Q/H の選び方と実践的な判断基準

エラー訂正とは何か

QR コードのエラー訂正は、コードの一部が汚れたり破損したりしても元のデータを復元できる仕組みです。リード・ソロモン符号という数学的アルゴリズムを使い、データに冗長性を持たせることで実現しています。

この仕組みがあるおかげで、印刷のかすれ、表面の傷、部分的な汚れがあっても QR コードは正常に読み取れます。ただし、冗長データの分だけ格納できる情報量が減るため、エラー訂正レベルの選択はデータ容量とのトレードオフになります。

リード・ソロモン符号の仕組みをもう少し具体的に見てみましょう。この符号化方式では、格納するデータをガロア体 (有限体) 上の多項式として表現します。たとえば、データが 4 バイトであれば、それぞれの値を係数とする 3 次多項式として扱います。エンコード時には、この多項式を生成多項式で割り算し、その余りを冗長データ (パリティ) として元のデータに付加します。デコード時には、受信した多項式を評価してエラーの有無を検出し、エラーが見つかった場合はエラー位置多項式とエラー値多項式を解くことで、どのバイトがどのように壊れたかを特定して修復します。この数学的な仕組みにより、連続した複数バイトの破損 (バーストエラー) にも対応できる点が、単純なチェックサムやパリティビットとは根本的に異なります。

4 つのレベルの違い

QR コードには 4 段階のエラー訂正レベルがあり、それぞれ復元可能なデータ量が異なります。

レベル復元能力データ容量への影響主な用途
L (Low)約 7%最小画面表示、短期利用
M (Medium)約 15%一般的な印刷物
Q (Quartile)約 25%工場、倉庫
H (High)約 30%ロゴ入り、屋外掲示

レベル L はデータ容量を最大限に確保できますが、わずかな損傷でも読み取れなくなるリスクがあります。レベル H は最も堅牢ですが、同じデータを格納するのに大きなバージョン (サイズ) の QR コードが必要になります。

用途別の選び方

エラー訂正レベルの選択は、 QR コードの利用環境に応じて判断します。

  • デジタル画面での表示: 画面上では物理的な損傷が起きないため、レベル L で十分です。データ量を抑えてコードを小さく保てます。
  • 名刺やチラシ: 通常の印刷物にはレベル M が適しています。一般的な取り扱いで生じる程度の汚れには対応できます。
  • 工場や倉庫のラベル: 油汚れや摩耗が想定される環境ではレベル Q 以上を選びます。
  • ロゴ入りデザイン QR コード: 中央にロゴを配置するとその部分のデータが読めなくなるため、レベル H が必須です。
  • 屋外ポスター: 雨風や紫外線による劣化を考慮し、レベル Q または H を推奨します。

実際の現場では、エラー訂正レベルの選択ミスによるトラブルが少なくありません。よくある失敗事例として、デザイン QR コードでレベル M を選んでしまい、ロゴが重なった部分のデータが復元できず読み取り不能になるケースがあります。ロゴの面積が QR コード全体の 15% を超える場合、レベル M の復元能力 (約 15%) では不足するため、必ずレベル H を選択してください。また、飲食店のテーブルに貼付した QR コードが水滴や油汚れで読み取れなくなる事例も頻発しています。この場合はレベル Q 以上を選ぶだけでなく、ラミネート加工や耐水ラベルの使用を併用することが効果的。逆に、スマートフォン画面に表示するだけの用途でレベル H を選んでしまうと、 QR コードのサイズが不必要に大きくなり、画面上の表示領域を圧迫します。用途に応じた適切なレベル選択が、運用コストの削減とユーザー体験の向上の両方に直結します。

データ容量とバージョンの関係

エラー訂正レベルを上げると、同じデータを格納するために QR コードのバージョン (モジュール数) が大きくなります。たとえば、 100 文字の英数字データの場合、レベル L ではバージョン 3 (29 × 29 モジュール) で収まりますが、レベル H ではバージョン 5 (37 × 37 モジュール) が必要です。

バージョンが大きくなるとモジュール 1 つあたりのサイズが小さくなり、印刷解像度や読み取り距離に影響します。 URL を短縮してデータ量を減らすことで、高いエラー訂正レベルを維持しつつバージョンを抑える工夫が有効。

関連記事: QR コードの仕組みもあわせてご覧ください。

実践的な判断フローチャート

迷ったときは、以下の順序で判断すると適切なレベルを選べます。

  1. ロゴやイラストを重ねるか → はい → レベル H
  2. 屋外や過酷な環境で使うか → はい → レベル Q 以上
  3. 印刷物として配布するか → はい → レベル M
  4. 画面表示のみか → はい → レベル L

判断に迷う場合はレベル M を選んでおけば、多くのシーンで問題なく機能します。レベル M は復元能力とデータ容量のバランスが最も良く、 QR コード生成ツールのデフォルト設定にもなっていることが多いです。

エラー訂正レベルの選択は、 QR コードの設計で最も実用的な判断ポイントです。誤り訂正の技術書でリード・ソロモン符号の原理を理解すると、レベル選択の根拠がより明確になります。