誤り訂正機能について

上級者向け

QRコードとは?TOPに戻る

QRコードはコードが汚れていたり、破損していても、コード自身でデータを復元する機能を持っています。「誤り訂正能力」は4段階用意されており、ユーザが使用環境に合わせてレベルを選択する事ができます。このレベルを上げれば、誤り訂正能力は向上しますが、データが増えるため、コードのサイズは大きくなります。
どのレベルを選択するかは、ご使用になる環境、コードサイズ等で総合的に考慮して判断します。工場などの汚れやすい環境ではレベルQやHを選択し、それほど汚れない環境でデータ量が多い場合などは、レベルLを選択する事もあります。一般的にはM(15%)で運用されるケースが多いようです。

※全コードワード (データを構成する単位で、QRコードで は 1コードワードあたり 8ビットです )に対する復元率

誤り訂正機能の仕組み

誤り訂正レベルは全コードワードに対する比率で表示されています。
例えば、コード化したいデータコードワードが100個、その内の半分である50個を訂正できるようにしたい場合は以下のような計算になります。 誤り訂正にはコードワードの2倍の符号(リード・ソロモン符号※)が必要となるので、この場合は50個×2=100コードワードとなります。 従って、全コードワード数は200個となり、そのうち誤り訂正のコードワードが50個となるので、全コードワードに対する誤り訂正率は25%という計算になります。これはQRコードの誤り訂正レベル「Q」に相当します。

なお、上述の例ではデータコードワードに対する誤り訂正率は50%という見方もできますが、データコードワード部分のみが汚れや破損を受けるとは限りません。従ってQRコードは、誤り訂正率を全コードワードに対する比率で表示しています。

※リードソロモン符号:QRコードの誤り訂正機能はリード・ソロモン符号を元データに付加することで実現しています。リード・ソロモン符号とは、音楽CDなどで用いられている数学的な誤り訂正の方法です。バイト単位で誤り訂正をすることができ、誤りが集中するバースト誤り訂正に向いています。