Почему у QR-кода три квадрата в углах и как смартфон распознаёт его мгновенно

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Статья | Оффтопик

QR-код — это не просто чёрно-белый узор, который мы видим на упаковках, билетах или рекламных плакатах. Это продуманная инженерная система, созданная для мгновенной передачи данных: от ссылок на сайты до контактной информации. За кажущейся простотой скрывается сложная структура, где каждый элемент играет свою роль. Три квадрата в углах, полосы синхронизации и невидимые коды коррекции позволяют смартфону распознать код за доли секунды даже в сложных условиях. Разберёмся, как устроен QR-код и что делает его таким эффективным.

Три квадрата для ориентации

Три крупных квадрата в углах QR-кода — первое, что замечает камера смартфона. Эти маркеры расположены в левом верхнем, правом верхнем и левом нижнем углах, оставляя четвёртый угол свободным. Каждый квадрат построен по принципу «матрёшки»: чёрный центр размером 3x3 модуля окружён белой рамкой, а затем ещё одной чёрной, образуя узор 7x7. Белая полоса вокруг каждого маркера отделяет его от остальной матрицы, чтобы не путаться с данными.

Автор: Flux

Эти квадраты — ключ к быстрому распознаванию. Их уникальная структура создаёт чёткий сигнал: чёрные и белые полосы чередуются в соотношении 1:1:3:1:1, что легко обнаружить даже при повороте кода или искажении изображения. Смартфон использует маркеры, чтобы понять, где начинается и заканчивается код, определить его угол наклона и масштаб. Без них камере пришлось бы анализировать каждый пиксель, что сильно замедлило бы процесс.

Сетка для точности

После нахождения угловых квадратов устройство переходит к определению структуры матрицы. За это отвечают линии синхронизации — узкие полосы из чёрных и белых модулей, которые тянутся по шестой строке и шестой колонке, соединяя маркеры. Эти линии работают как линейка, позволяя смартфону подсчитать количество строк и столбцов. Например, в базовой версии QR-кода (21x21 модуль) таких чередований будет 18, а в максимальной (177x177) — гораздо больше.

Автор: qrcoder.ru Источник: qrcoder.ru

Для больших кодов добавляются дополнительные точки ориентира — маркеры выравнивания. Это небольшие квадраты 5x5, расположенные в строго рассчитанных местах матрицы. Они помогают скорректировать искажения, если код напечатан на изогнутой поверхности, например, на бутылке или ткани. Вместе линии синхронизации и маркеры выравнивания создают чёткую сетку, по которой устройство «прочёсывает» данные, не теряя времени на лишние расчёты.

Устойчивость к повреждениям

QR-код остаётся читаемым даже при царапинах, пятнах или частичном затемнении. Эту надёжность обеспечивает алгоритм коррекции ошибок Рид-Соломона. Он добавляет к данным избыточные блоки, которые позволяют восстановить информацию, если часть модулей повреждена. В зависимости от выбранного уровня защиты код может выдержать разный процент потерь: от 7% для базового уровня до 30% для самого высокого. Это значит, что даже если пятая часть кода закрыта логотипом или загрязнена, смартфон всё равно извлечёт данные.

Автор: Flux

Чтобы код не сливался с фоном, вокруг него всегда оставляют белую рамку — так называемую тихую зону шириной не менее четырёх модулей. Она улучшает контраст и предотвращает ложное распознавание, когда рядом с кодом находятся другие узоры или текст.

Хранение и маскировка данных

Сама информация в QR-коде — это текст, ссылка, цифры или даже японские иероглифы — записана в виде чёрных и белых квадратиков, где чёрный означает единицу, а белый — ноль. Данные размещаются зигзагообразно, от нижнего правого угла вверх, по двум столбцам за раз. Перед полезной нагрузкой идут служебные зоны, которые содержат важные метаданные: уровень коррекции ошибок и шаблон маскировки.

Маскировка — это хитрый приём, который распределяет чёрные и белые модули равномерно. Без неё код мог бы содержать большие однотонные области, которые сбивают камеры с толку. Например, если в одном углу слишком много чёрных квадратов, устройство может принять их за случайный узор. Маска меняет цвета модулей по заранее заданному алгоритму, сохраняя данные, но улучшая читаемость. Эти настройки хранятся в небольших зонах рядом с угловыми маркерами, чтобы смартфон мог быстро их считать и применить правильную «размаскировку».

Мгновенное сканирование

Как только камера смартфона захватывает изображение, начинается молниеносный процесс анализа. Картинка преобразуется в чёрно-белую, чтобы упростить расчёты. Алгоритм ищет угловые квадраты, определяет их координаты и угол поворота. Затем он считывает линии синхронизации, чтобы понять размеры матрицы, и проверяет маркеры выравнивания для исправления искажений, например, если код снят под углом.

Автор: Flux

После этого устройство переходит к служебным данным: извлекает уровень коррекции и маску, чтобы правильно интерпретировать модули. Данные считываются зигзагом, а алгоритм Рид-Соломона проверяет их на ошибки и, если нужно, восстанавливает повреждённые участки. Весь процесс — от захвата кадра до вывода результата — занимает 100-200 миллисекунд. Это возможно благодаря оптимизированным алгоритмам, которые используют простые операции, такие как подсчёт чередующихся пикселей или вычисление геометрических параметров. QR-код работает даже в сложных условиях: при слабом свете, на расстоянии до 20 см или на маленьких поверхностях размером от 2x2 см.

Его структура продумана до мелочей, чтобы камера могла мгновенно «поймать» и расшифровать информацию. Именно эта инженерная точность превращает QR-код в универсальный инструмент, который мы используем каждый день, не задумываясь о его сложности.

Изображение в превью:
Автор: Flux
Источник: Локальная модель Flux
Автор не входит в состав редакции iXBT.com (подробнее »)
Об авторе

capib25@gmail.com

0 комментариев

Добавить комментарий

Сейчас на главной

Новости

Публикации

Фильм «Белое солнце пустыни»: как он стал негласным талисманом космонавтов

У советских и российских космонавтов сложилась необычная, но неизменная традиция: перед стартом обязательно смотреть фильм «Белое солнце пустыни» — начало ритуала существует ещё с...

Обзор USB-тестера FNIRSI FNB-C2: с поддержкой PD 3.1 и мощностью 240 Вт

Новая модель USB-тестера FNIRSI FNB-C2 — это не просто компактный измерительный прибор, а полноценный инструмент для диагностики современных устройств питания. Он предназначен для...

Как Земля «варит» золото в мантийных котлах: почему для создания руды нужны истощенная мантия и кислород

На дне Тихого океана, к северу от Новой Зеландии, расположена система Кермадек — протяженная цепь подводных вулканов, образованная в зоне субдукции. Зона субдукции — это...

Держит яркость и светит широко. Стильный EDC фонарик с подсветкой. Обзор Wurkkos TS26

3470 люменов широкого ближнего света, дальнобойность 194м, настраиваемая подсветка, интерфейс Anduril, питание от 21700 аккумулятора. Новый фонарик Wurkkos TS26 получил 4 светодиода TN3535 с...

Почему авиация отказалась от двухэтажных самолётов

В истории авиации двухэтажные (двухпалубные) пассажирские самолёты долгое время оставались символом грандиозных амбиций и технического прогресса. Перевозчики стремились увеличить вместимость и...

Ученые впервые наблюдали процесс, давший начало сложной жизни на Земле: как контакт двух простых клеток изменил ход эволюции

Один из самых сложных вопросов в современной биологии — это механизм появления эукариотической клетки. Вся жизнь на Земле делится на простые микроорганизмы (бактерии и археи) и...