6.2.6 Korekce chyb

Většina jednorozměrných symbolů má systém detekce chyby, který vyhodnotí správnost či nesprávnost celého kódu. Neobsahují však jiţ možnost samoopravy chyb, která by navýšila celkovou délku symbolu. 2D symboly mají větší hustotu informací, ale také jsou náchylnější na vady způsobené tiskem, poškozením nebo problémy při čtení. Pro čtení tedy již jen detekce chyb nestačí, je nutné chyby přímo opravovat. K tomu se používá Reed- Solomonova metoda vyvinutá Irvingem S. Reedem a Gustavem Solomonem z MIT Lincoln Laboratory v roce 1960. Oprava chyb pracuje tak, že přidává další kódová slova k původním, vytvořeným z kódovaných dat. Tato přidaná kódová slova jsou pak použita k rekonstrukci poškozených původních kódových slov. Celkově dochází k nárůstu velikosti symbolu. Nicméně pro praktické aplikace je rozhodující vysoká míra bezchybnosti a tak je tato metoda součástí všech dvourozměrných symbolů. Hodnota Reed-Solomonovy korekce je stanovena na základě zbytku po dělení hodnoty znaku symbolu zvláštním polynomickým výrazem. Výpočet vychází z algebry omezených oblastí (tzv. Galoisových polí) a je poměrně komplikovaný. Opravit se dají dva druhy chyb. „Vymazání“, to jsou nerozpoznatelné moduly a „chyby“ tj. špatně rozpoznané moduly. U Data Matrixu nelze nastavit úroveň opravy chyb a jak je patrné z tabulky, s rostoucí velikostí symbolu hodnota korekce klesá. U QR kódu lze nastavit čtyři úrovně korekce chyb.