Reed–Solomon-virheenkorjaus

Tunnetaan myös nimillä: Reed–Solomon-koodi, RS-koodi, Reed-Solomon

Määritelmä

Reed–Solomon-virheenkorjaus on matematiikka, jonka ansiosta vaurioitunut QR-koodi voi silti skannautua. Se lisää dataan tarkistuskoodisanoja, jotta lukija voi rakentaa puuttuvat tai väärät tavut uudelleen tiettyyn rajaan asti.

Alkuperä ja laajempi käyttö

Irving S. Reed ja Gustave Solomon kuvasivat Reed–Solomon-koodit vuonna 1960. Ne toimivat kokonaisilla symboleilla, yleensä tavuilla, eivät yksittäisillä biteillä, minkä vuoksi ne käsittelevät hyvin vaurioiden ryppäitä, kuten naarmua tai tahraa.

Sama koodiperhe suojaa dataa CD-, DVD- ja Blu-ray-levyillä, joissakin digitaalisen television ja satelliittien yhteyksissä sekä muissa 2D-viivakoodeissa, kuten Data Matrix ECC 200:ssa, Aztec-koodissa ja PDF417:ssä.

Miten QR-koodit käyttävät sitä

QR-koodi käsittelee jokaista 8-bittistä koodisanaa äärellisen kunnan GF(256) alkiona, joka on rakennettu primitiivisellä polynomilla x^8 + x^4 + x^3 + x^2 + 1 (heksa 0x11D). Datakoodisanat jaetaan generaattoripolynomilla, ja jakojäännös muuttuu niiden perään liitetyiksi virheenkorjauskoodisanoiksi.

Suuremmat koodit jakavat datansa useisiin lohkoihin, joilla kullakin on omat virheenkorjauskoodisanansa. Lohkot lomitetaan, kun koodisanat sijoitetaan ruudukkoon, jotta yksittäinen vaurio leviää monelle lohkolle eikä ylikuormita yhtä.

Kuinka paljon se voi korjata

Kun lohkossa on n virheenkorjauskoodisanaa, purkaja voi korjata enintään n/2 koodisanaa, joiden paikka on tuntematon, tai enintään n koodisanaa, joiden paikka tunnetaan ja joita kutsutaan katoamisiksi (erasure). Sekatapaukset noudattavat sääntöä, että jokainen virhe lasketaan kahdesti ja jokainen katoaminen kerran.

Tämän vuoksi koodi, jonka puhtaan tasaisen alueen peittää logo, voi silti skannautua: älykäs lukija voi käsitellä peitetyn alueen katoamisina, kun taas satunnaisen vaurion korjaaminen on vaikeampaa, koska purkajan täytyy ensin löytää se.

  • Tuntemattomat virheet: enintään puolet EC-koodisanojen määrästä
  • Katoamiset (tunnetut paikat): enintään EC-koodisanojen määrä
  • Kenttä (kunta): GF(256), polynomi 0x11D
  • Lohkot lomitetaan vaurioiden ryppäiden levittämiseksi

Usein kysytyt kysymykset

Mikä on Reed–Solomon QR-koodissa?

Se on virheenkorjausmenetelmä, joka lisää dataan ylimääräisiä koodisanoja. Skanneri käyttää niitä vaurioituneiden tai lukukelvottomien koodisanojen rakentamiseen uudelleen.

Kuka keksi Reed–Solomon-koodit?

Irving S. Reed ja Gustave Solomon, jotka julkaisivat ne vuonna 1960. Koodeja käytetään nykyään optisilla levyillä, tietoliikenteessä ja useimmissa 2D-viivakoodeissa.

Miksi QR-koodi toimii, vaikka keskellä on logo?

Logo peittää moduuleja, jotka Reed–Solomon-virheenkorjaus voi rakentaa uudelleen. Se toimii niin kauan kuin peitetty alue pysyy virheenkorjauskapasiteetin sisällä ja paikannuskuviot ovat vapaat.

Lähteet ja standardit

Kaikki käsitteet