Как работят QR кодовете

Известен още като: кодиране на QR код, декодиране на QR код, как се чете QR код

Определение

QR кодът работи, като превръща данните в кодови думи, добавя коригиране на грешки по Рийд–Соломон и поставя битовете в мрежа около фиксирани шаблони, които помагат на камерата да го намери, изправи и прочете.

Прегледано от екипа на AriaQR ·

Как работят QR кодовете

От данни до шаблон

Създаването на QR код започва с избор на режим на кодиране, който пасва на данните: цифров, буквено-цифров, байтов или за кандзи. Кодерът превръща данните в битове, разделя ги на 8-битови кодови думи и добавя кодови думи за коригиране на грешки по Рийд–Соломон на избраното ниво. След това избира най-малката версия, в която данните се побират.

Кодовите думи се нареждат в мрежата по зигзагообразен път, който заобикаля фиксираните шаблони. Накрая кодерът прилага една от осемте маски, за да разбие големите празни области или объркващите форми, и записва маската и нивото на коригиране на грешки в информацията за формата.

  • Избор на режим на кодиране
  • Кодиране на данните и добавяне на кодови думи за коригиране на грешки
  • Избор на версия (размер)
  • Поставяне на позиционните, времевите и изравняващите шаблони
  • Запълване на модулите с данни
  • Прилагане на най-добрата от осемте маски и записване на информацията за формата

От изображение на камерата до данни

Декодирането изпълнява същите стъпки в обратен ред. Скенерът намира трите позиционни шаблона, чието съотношение 1:1:3:1:1 между тъмно и светло се откроява в повечето изображения, и с тяхна помощ, заедно с времевите и изравняващите шаблони, изчертава мрежата. Чете информацията за формата, премахва маската и събира кодовите думи.

След това декодирането по Рийд–Соломон поправя всички неправилно прочетени кодови думи, до границата на нивото на коригиране на грешки. Ако е повредено прекалено много, кодът не се чете, вместо да върне грешни данни, и затова QR кодовете рядко дават изкривени резултати.

Как работят QR кодовете (2)

Защо размерът и контрастът са важни

Всяка стъпка зависи от това камерата да различава тъмните модули от светлите. Дребните модули, ниският контраст, отблясъците, размазването или липсващата тиха зона поставят повече модули под съмнение, а коригирането на грешки може да поеме само определено количество. Късите данни, силният контраст и чистото поле дават на декодера най-лесната задача.

Често задавани въпроси

Как телефонът знае къде е QR кодът?

Търси трите големи квадратни позиционни шаблона в ъглите. Характерното им съотношение 1:1:3:1:1 позволява на скенера да ги открие от всеки ъгъл и да определи посоката.

Защо QR кодовете имат маска?

Маската обръща модули по зададен шаблон, така че кодът да избягва големи плътни области и форми, наподобяващи позиционни шаблони. Кодерът изпробва всичките осем маски и запазва тази, която се чете най-надеждно.

Може ли QR код да се чете наобратно?

Да. Позиционните шаблони показват на скенера посоката, така че QR кодът може да се чете при всяко завъртане.

Източници и стандарти

Всички термини