2017.1.5概要2次元シンボルでは、バーやセルが小さいために、バーコードに比べ損傷を受ける確率は非常に高い。そこで、2次元シンボルでは、損傷を受けたデータを演算により元に戻すために、誤り訂正機能を持つことが一般的になっている。この技術は、データ通信やデジタル信号処理の世界では古くから使用されていた技術である。誤り訂正とは、方程式で関連付けられた誤り訂正データをシンボル内に配置し、データの損傷があった場合、その誤り訂正データから元のデータを求めようとすることである。具体的には、全てのデータから連立多項方程式を作り、汚れや傷で読めない未知のデータを演算によって求める。R(x)=r0+r1x+r2x2+r3x3+r4x4・・・・のような式である。したがって、未知数を多くするためには、それだけ多くの余分なデータをエンコードすることになるため、誤り訂正レベルが高いほどシンボルは大きくなる。誤り訂正量リードソロモン方式では、誤り訂正データは、2種類の誤りを訂正することができる。一つは、正しく読み取りが出来ずに誤読になった誤りデータ(t)で、代入エラーとも呼ぶ。一つは、読み取りを行わなかったか、或いは、デコードできずに未読になった誤りデータ(e)で、棄却エラーとも呼ぶ。これらの誤り訂正データ数は、次にような関係にある。pe:未読したデータ(棄却エラー)t:誤読したデータ(代入エラー)d:誤り訂正のデータ数p:誤り検知のデータ数(エラーチェック)したがって、未読データは、同数の誤り訂正データで訂正できるが、誤読データを訂正する場合は、2倍の誤り訂正データが必要であることになる。誤り訂正能力は、汚れや傷に対する万能薬のように見られることが多いが、実は、この薬が効かない場合もある。AztecCodeのようなファインダーパターンがあるシンボルで、そのファインダーパターンが汚れて見えなくなってしまった時は、どうなるだろうか。一般的にリーダは、このファインダーパターンを見つけてシンボルの種類を認識しているので、シンボルの種類が認識できなければ、当然読み取ることはできない。誤り訂正機能は、あくまでもデータの障害に対してしか機能しないのである。