Як працює QR-код. Пояснення

Покроковий розбір того, як працює QR-код від Dan Hollick.

Код швидкого реагування був винайдений дочірньою компанією Toyota для відстеження деталей у процесі виробництва.

Штрих-коди виявилися неадекватними – їх можна було зчитувати лише під певними кутами, і вони не зберігали багато даних відносно свого розміру.

QR-код вирішує ці та інші проблеми.

FcnnO46acAE_zAB1.png

Найбільш відмінною рисою QR-коду є ці кубічні форми, які називають шаблонами пошуку. Вони допомагають зчитувальному пристрою виявити код.

Менший четвертий куб, шаблон вирівнювання, орієнтує код так, що він може міститися під будь-яким кутом, і зчитувальний пристрій все одно знатиме, в який бік він розташований.

FcnnPZZacAALNbh2.png

Ви, мабуть, ніколи не помічали, але кожен QR-код має ці чергування чорних і білих крапок, які називаються шаблоном синхронізації. Вони повідомляють читачеві, наскільки великий окремий модуль і наскільки великий QR-код, відомий як версія.

Версія 1: найменша

Версія 40: найбільша

FcnnP9dacAEoEJL3.png

FcnnQSKaUAAhOOW.png

Інформація про формат зберігається у цих двох смужках поруч із шаблонами Finder. Вона зберігається двічі, тому її можна прочитати, навіть якщо QR-код частково прихований. (Ви помітите, що це повторювана тема).

Тут зберігаються три важливі частини інформації: маска, рівень корекції помилок, формат виправлення помилок. Я знаю, що це звучить надзвичайно нудно, але насправді вони досить цікаві.

FcnnRVGaMAUcfsM.png

По-перше, виправлення помилок – що це? По суті, це визначає, скільки надлишкової інформації зберігається в коді, щоб гарантувати, що він залишається читабельним, навіть якщо частина його відсутня.

FcnnRycaUAI6Ux9.png

По-друге, маска – що це таке? QR-рідери працюють найкраще, коли в них однакова кількість білих та чорних ділянок. Але дані можуть не збігатись, тому для вирівнювання використовується маска.

FcnnSz8akAI80Vu.png

Коли маска застосовується до коду, все, що потрапляє під темну частину маски, інвертується. Біла ділянка стає чорною, а чорна – білою.

Є 8 стандартних шаблонів, які застосовуються один за одним. Використовується шаблон, який забезпечує найкращий результат, і ця інформація зберігається, щоб читач міг скасувати застосування маски.

FcnnXIjaAAANy9c.png

Нарешті ми дійшли до фактичних даних. Дивно, але дані починаються в нижньому правому куті та згортаються назад, як показано на малюнку. Майже неважливо, де вони починаються, тому що їх можна читати під будь-яким кутом.

FcnnXo_aEAACmw0.png

Перша частина інформації тут повідомляє читачеві, у якому режимі було закодовано дані, а друга вказує довжину. У нашому випадку кожен символ займає 8 бітових фрагментів, інакше відомих як байти, і їх 24.

FcnnYJcaUAI5WFF77.png

Після наших даних ще залишається купа вільного місця. Тут зберігається інформація про виправлення помилок.

Можливо, найкрутіше QR-кодах те, що компанія Denso Wave, яка їх винайшла, ніколи не користувалася своїм патентом і випустила технологію безкоштовно.

qr-код дані наука

Знак гривні
Знак гривні