QRコードの誤り訂正レベルを解説:L・M・Q・H
QRコードには誤り訂正機能があるので、一部が汚れたり、傷ついたり、隠れたりしても読み取れます。レベルは4つあり、Lはデータの約7%、Mは約15%、Qは約25%、Hは約30%まで復元できます。レベルを上げると中央にロゴを入れたり、ざらついた素材に印刷したりできますが、その代わりパターンが密になります。印刷するコードの多くはMが無難な初期設定で、ロゴを入れるならHを使います。
誤り訂正の仕組み
QRコードはリード・ソロモン符号を使っています。CDのデータや宇宙通信を守るのと同じ系統の数学です。コードを生成するとき、内容とは別に「修復用」のデータが追加されます。一部のモジュール(小さな四角)が読み取れなくても、読み取り機は修復用データを使って欠けた部分を復元します。修復用データの量は、選んだレベルによって決まります。
4つのレベル
| レベル | 復元できる量 | 向いている場面 |
|---|---|---|
| L | 約7% | 画面に表示するコードなど、きれいなデジタル用途。パターンを最もシンプルに保てる |
| M | 約15% | 印刷するコードの無難な初期設定 |
| Q | 約25% | こすれる可能性があるコードや、ざらついた素材に印刷するコード |
| H | 約30% | 中央にロゴがあるコードや、過酷な環境で使うコード |
この割合は、コードのデータのうち欠けても解読できる部分の割合です。理想的な損傷パターンでの上限値であり、実際には角の3つの大きな四角の上など、悪い場所が損傷すると上限より少なくても読めなくなることがあります。
トレードオフ:密度
修復用データが増えるほど、同じ内容でもモジュールが増えます。レベルをLからHに上げると、コードのバージョンが数段上がることがあります。つまり、行と列が増え、四角が小さくなるということです。印刷サイズが同じなら、四角が小さいほど読み取りにくくなります。ですから、レベルが高ければ自動的に良いわけではありません。スペースを代償にした保険なのです。
ロゴも入れたいし小さく印刷もしたい場合は、内容を短くしましょう。動的QRコードは短いリンクだけを持つので、四角を極端に小さくせずに高い誤り訂正レベルを使う余裕が生まれます。
ロゴと誤り訂正
中央のロゴは意図的にモジュールを隠しています。高い誤り訂正(QまたはH)が隠れた部分を補いますが、それも上限までです。ロゴはコードの幅の5分の1程度以下に抑え、中央に置いて角の3つの四角から離し、必ず試し刷りをスキャンしてください。読み取れない場合は、ほかの設定を上げる前にまずロゴを小さくしましょう。
レベルの選び方
- 画面にきれいに大きく表示する? LかM。
- 屋内で紙に印刷する? M。
- 段ボール、布、ボトルなど、すり減るものに印刷する? Q。
- ロゴを入れる? H。ロゴは控えめにしてテストを。
- とても小さく印刷する? 密なパターンのHより、内容をできるだけ短くしたM。
サイズもレベルと同じくらい重要です。印刷サイズガイドに、読み取り距離ごとの最小幅をまとめています。
知っておきたいその他の上限
QRコードに入れられるのは最大で数字約7,089文字、英数字4,296文字、または2,953バイトで、しかもそれは誤り訂正レベルが最低の場合だけです。実際には数百文字を超えると、通常の印刷サイズではスマートフォンでうまく読めなくなります。これも、テキストをコードに入れるよりページにリンクしたほうがよい理由の1つです。
よくある質問
どの誤り訂正レベルを使えばいい?
印刷するコードのほとんどはMです。ロゴを入れる場合や劣化が見込まれる場合はHを、Lはきれいで大きな画面表示のコードだけに使いましょう。
誤り訂正レベルを上げると読み取りやすくなりますか?
必ずしもそうではありません。コードの一部が隠れたり傷ついたりする場合には役立ちますが、パターンが密になるため、小さな印刷では逆に読み取りにくくなることがあります。最高レベルではなく、状況に合ったレベルを選びましょう。
ロゴ入りのQRコードが読み取れないのはなぜ?
ロゴが大きすぎるか、重要な部分に重なっている可能性があります。コードの5分の1程度以下に縮め、中央に移し、レベルをHにして、コードの印刷サイズを大きくしてから再テストしてください。それでも読めなければ、そのほかのよくある原因を確認しましょう。