QR кодът не е просто черно-бял мотив, който виждаме върху

...
QR кодът не е просто черно-бял мотив, който виждаме върху
Коментари Харесай

Защо QR кодът има три квадрата в ъглите и как смартфонът моментално го разпознава

QR кодът не е просто черно-бял претекст, който виждаме върху опаковките, билетите и рекламните плакати. Това е комплицирана инженерна система, основана за неотложен трансфер на данни: от линкове към уеб страници до информация за контакт. Зад привидната елементарност се крие комплицирана конструкция, в която всеки детайл играе своята роля. Трите квадрата в ъглите, лентите за синхронизация и невидимите коригиращи кодове разрешават на смарт телефона да разпознае кода за част от секундата даже при сложни условия. Нека разберем по какъв начин е структуриран QR кодът и какво го прави толкоз ефикасен.

Три квадрата за ориентировка

Трите огромни квадрата в ъглите на QR кода са първото нещо, което камерата на смарт телефона вижда. Тези маркери са ситуирани в горния ляв, горния десен и долния ляв ъгъл, като четвъртият ъгъл остава свободен. Всеки квадрат е построен на правилото на куклата матрьошка: черният център от модули 3х3 е заобиколен от бяла рамка, а по-късно от още една черна, образувайки модел 7х7. Бяла линия към всеки маркер го отделя от останалата част на матрицата, с цел да се избегне комплициране с данните.

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

Мрежата за акуратност

След като открие квадратите в ъглите, устройството минава към установяване структурата на матрицата. Това става посредством синхронизиращи линии – тесни ленти от черно-бели модули, които се простират по шестия ред и шестата колона, свързвайки маркерите. Тези линии работят като линийка, като разрешават на смарт телефона да преброи броя на редовете и колоните. Така да вземем за пример в главната версия на QR кода (модул 21×21) ще има 18 такива редувания, до момента в който в оптималната версия (177×177) те ще са доста повече

За огромните кодове се прибавят спомагателни референтни точки – маркери за подравняване. Това са дребни квадратчета с размери 5х5, ситуирани на строго изчислени места в матрицата. Те оказват помощ за поправяне на изкривяването, в случай че кодът се отпечатва върху извита повърхнина, като да вземем за пример бутилка или плат. Заедно линиите за синхронизация и маркерите за подравняване основават ясна мрежа, по която устройството „ претърсва “ данните, без да губи време за ненужни калкулации.

Устойчивост на повреди

QR кодът остава разбираем даже при положение на надраскване, петна или отчасти потъмняване. Тази надеждност се обезпечава от логаритъма за промяна на грешките Reed-Solomon. Той прибавя спомагателни блокове към данните, които разрешават информацията да бъде възобновена, в случай че някои от модулите са развалени. В взаимозависимост от определеното равнище на отбрана кодът може да издържи на друг % загуби: от 7% за главното равнище до 30% за най-високото. Това значи, че даже в случай че една пета от кода е покрита с лого или е нечиста, смарт телефонът към момента ще може да възвърне данните

Съхраняване и маскиране на данните

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

Маскирането е остроумен трик, който разпределя отмерено черните и белите модули. Без него кодът може да съдържа огромни монохромни области, които да объркат камерите. Например, в случай че в единия ъгъл има прекалено много черни квадратчета, устройството може да ги сбърка със инцидентен модел. Маскирането трансформира цветовете на модулите съгласно авансово заложен логаритъм, като резервира данните, само че усъвършенства четливостта. Тези настройки се съхраняват в дребни области наоколо до ъгловите маркери, тъй че смарт телефонът да може бързо да ги прочете и да приложи вярното „ размаскиране “.

Незабавното сканиране

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

След това устройството минава към служебните данни: извлича равнището на промяна и маската, с цел да интерпретира вярно модулите. Данните се четат зигзагообразно, а логаритъмът на Рийд-Соломон ги ревизира за неточности и при нужда поправя развалените сектори. Целият развой – от снимането на фрагмента до извеждането на резултата – лишава 100-200 милисекунди. Това е допустимо с помощта на усъвършенстваните логаритми, които употребяват елементарни интервенции, като да вземем за пример преброяване на редуващите се пиксели и пресмятане на геометричните параметри. QR кодът работи даже при сложни условия: при слаба осветеност, на разстояние до 20 см или върху дребни повърхности от 2х2 см.

Структурата му е премислена до последния подробност, тъй че камерата да може незабавно да „ улови “ и декодира информацията. Именно тази инженерна точност трансформира QR кода в повсеместен инструмент, който използваме всеки ден, без да се замисляме за неговата трудност.

Източник: kaldata.com


СПОДЕЛИ СТАТИЯТА


КОМЕНТАРИ
НАПИШИ КОМЕНТАР