3割欠けても読める? QRコードの「誤り訂正」という保険

4段階の誤り訂正レベル
L 約7%
M 約15%
Q 約25%
H 約30%

欠けた情報を、入っていない情報から取り戻す

QRコードは、元のデータだけを並べているわけではありません。あらかじめ計算した余分な符号を一緒に記録し、一部が読めなくても残った情報から失われた部分を推定します。使われるのはリード・ソロモン符号という誤り訂正技術です。

同じ考え方はCDやDVD、デジタル放送、宇宙通信などにも使われます。読み取り時に完璧な状態を要求する代わりに、壊れることを前提として復元材料を持たせる設計です。

「30%隠してよい」という意味ではない

レベルHの約30%は、コード全体の面積を自由に隠せる保証ではありません。損傷する位置やデータ量、マスの大きさによって読める限界は変わり、三隅の位置検出パターンなど重要部分を隠すと読み取りに失敗します。

中央へロゴを置いたQRコードが成立するのは、この冗長性を利用しているからです。ただし、ロゴを大きくするほど安全余裕は減ります。実際に複数の端末と距離で試す工程は省けません。

情報を増やすほど、模様は細かくなる

高い誤り訂正レベルは丈夫ですが、余分な符号を多く入れるため、同じ内容でもQRコードが細かくなりがちです。小さく印刷すると一つ一つのマスが潰れやすくなるので、丈夫さと印刷サイズはセットで考える必要があります。

参考資料