Kaip veikia QR kodai

Dar vadinama: QR kodo kodavimas, QR kodo dekodavimas, kaip veikia QR kodas

Apibrėžimas

QR kodas veikia taip: duomenys paverčiami kodo žodžiais, pridedamas Reed–Solomon klaidų taisymas, o bitai išdėstomi tinklelyje aplink fiksuotus šablonus, padedančius kamerai kodą rasti, ištiesinti ir perskaityti.

Peržiūrėjo AriaQR komanda ·

Kaip veikia QR kodai

Nuo duomenų iki šablono

QR kodo kūrimas prasideda nuo kodavimo režimo, tinkančio duomenims, pasirinkimo: skaitinio, raidinio ir skaitinio, baitų arba kandži. Kodavimo programa paverčia duomenis bitais, suskirsto juos į 8 bitų kodo žodžius ir prideda Reed–Solomon klaidų taisymo kodo žodžius pasirinktu lygiu. Tada parenka mažiausią tinkamą versiją.

Kodo žodžiai tinklelyje dėliojami zigzago keliu, aplenkiančiu fiksuotus šablonus. Galiausiai kodavimo programa pritaiko vieną iš aštuonių kaukės šablonų, kad išskaidytų dideles tuščias sritis ar painias formas, o kaukę ir klaidų taisymo lygį įrašo į formato informaciją.

  • Pasirenkamas kodavimo režimas
  • Užkoduojami duomenys ir pridedami klaidų taisymo kodo žodžiai
  • Parenkama versija (dydis)
  • Išdėstomi paieškos, taktavimo ir lygiavimo šablonai
  • Užpildomi duomenų moduliai
  • Pritaikoma geriausia iš aštuonių kaukių ir įrašoma formato informacija

Nuo kameros vaizdo iki duomenų

Dekodavimas atlieka tuos pačius žingsnius atvirkštine tvarka. Skaitytuvas suranda tris paieškos šablonus, kurių tamsių ir šviesių dalių santykis 1:1:3:1:1 išsiskiria daugumoje vaizdų, ir kartu su taktavimo bei lygiavimo šablonais atvaizduoja tinklelį. Jis perskaito formato informaciją, pašalina kaukę ir surenka kodo žodžius.

Tada Reed–Solomon dekodavimas pataiso neteisingai perskaitytus kodo žodžius, neviršijant klaidų taisymo lygio ribos. Jei pažeista per daug, kodas tiesiog nenuskaitomas, o ne pateikia klaidingus duomenis, todėl QR kodai retai pateikia iškraipytus rezultatus.

Kaip veikia QR kodai (2)

Kodėl svarbus dydis ir kontrastas

Kiekvienas žingsnis priklauso nuo to, ar kamera atskiria tamsius modulius nuo šviesių. Maži moduliai, silpnas kontrastas, atspindžiai, susiliejimas ar tylosios zonos trūkumas didina abejotinų modulių skaičių, o klaidų taisymas gali atlaikyti tik tam tikrą jų kiekį. Trumpi duomenys, stiprus kontrastas ir laisva paraštė dekoderiui palengvina darbą.

Dažnai užduodami klausimai

Kaip telefonas žino, kur yra QR kodas?

Jis ieško trijų didelių kvadratinių paieškos šablonų kampuose. Jų išskirtinis santykis 1:1:3:1:1 leidžia skaitytuvui juos rasti iš bet kokio kampo ir nustatyti padėtį.

Kodėl QR kodai turi kaukės šabloną?

Kaukė pagal nustatytą šabloną apverčia modulius, kad kode neliktų didelių vienspalvių sričių ir paieškos šablonus primenančių formų. Kodavimo programa išbando visas aštuonias kaukes ir palieka tą, kuri skaitoma patikimiausiai.

Ar QR kodą galima perskaityti apverstą aukštyn kojomis?

Taip. Paieškos šablonai nurodo skaitytuvui padėtį, todėl QR kodą galima perskaityti bet kokiu pasukimu.

Šaltiniai ir standartai

Visi terminai