Kuidas QR-koodid töötavad

Tuntud ka kui: QR-koodi kodeerimine, QR-koodi dekodeerimine

Määratlus

QR-kood töötab nii, et andmed muudetakse koodisõnadeks, lisatakse Reed–Solomoni veaparandus ja bitid paigutatakse ruudustikku püsivate mustrite ümber, mis aitavad kaameral koodi leida, sirgeks seada ja lugeda.

Üle vaadanud AriaQR meeskond ·

Kuidas QR-koodid töötavad

Andmetest mustrini

QR-koodi loomine algab andmetele sobiva kodeerimisrežiimi valimisega: numbriline, tähtnumbriline, baidi- või kanji-režiim. Kodeerija teisendab andmed bittideks, jagab need 8-bitisteks koodisõnadeks ja lisab valitud tasemel Reed–Solomoni veaparanduse koodisõnad. Seejärel valib ta väikseima sobiva versiooni.

Koodisõnad paigutatakse ruudustikku siksakilises teekonnas, mis jätab püsivad mustrid vahele. Lõpuks rakendab kodeerija ühte kaheksast maskimustrist, et murda suuri tühje alasid või segadust tekitavaid kujundeid, ning salvestab maski ja veaparanduse taseme vormiteabesse.

  • Valitakse kodeerimisrežiim
  • Andmed kodeeritakse ja lisatakse veaparanduse koodisõnad
  • Valitakse versioon (suurus)
  • Paigutatakse tuvastus-, ajastus- ja joondusmustrid
  • Täidetakse andmemoodulid
  • Rakendatakse parim kaheksast maskist ja kirjutatakse vormiteave

Kaamerapildist andmeteni

Dekodeerimine käib samad sammud vastupidises järjekorras. Skanner leiab kolm tuvastusmustrit, mille tumeda ja heleda suhe 1:1:3:1:1 eristub enamikust piltidest, ning kasutab neid koos ajastus- ja joondusmustritega ruudustiku kaardistamiseks. Ta loeb vormiteavet, eemaldab maski ja kogub koodisõnad.

Reed–Solomoni dekodeerimine parandab seejärel valesti loetud koodisõnad veaparanduse taseme piires. Kui liiga suur osa on kahjustatud, jääb kood lugemata, mitte ei anna valesid andmeid, mistõttu annavad QR-koodid harva moonutatud tulemusi.

Kuidas QR-koodid töötavad (2)

Miks on suurus ja kontrast olulised

Iga samm sõltub sellest, et kaamera eristab tumedaid mooduleid heledatest. Väikesed moodulid, madal kontrast, peegeldus, hägusus või puuduv vaikne ala viivad rohkem mooduleid kahtluse alla ning veaparandus suudab neelata vaid teatud määral. Lühikesed andmed, tugev kontrast ja vaba ääris teevad dekodeerija töö kõige lihtsamaks.

Korduma kippuvad küsimused

Kuidas telefon teab, kus QR-kood asub?

Ta otsib nurkades kolme suurt ruudukujulist tuvastusmustrit. Nende eripärane suhe 1:1:3:1:1 võimaldab skanneril neid leida igast nurgast ja suunda kindlaks teha.

Miks on QR-koodidel maskimuster?

Mask pöörab mooduleid kindla mustri järgi, et kood väldiks suuri ühtlaseid alasid ja tuvastusmustrit meenutavaid kujundeid. Kodeerija proovib kõiki kaheksat maski ja jätab alles selle, mis loeb kõige töökindlamalt.

Kas QR-koodi saab lugeda tagurpidi?

Jah. Tuvastusmustrid annavad skanneril suuna, nii et QR-koodi saab lugeda mis tahes pöördenurga all.

Allikad ja standardid

Kõik terminid