Ключевые выводы
- QR-коды — это эволюция штрих-кодов, содержащая больше данных и возникшая в японском автомобилестроении.
- В QR-кодах используются более передовые технологии, чем в традиционных штрих-кодах, считываемых алгоритмами машинного зрения.
- QR-коды могут хранить различные данные помимо URL-адресов, развиваясь для различных приложений с усовершенствованиями смартфонов.
QR-коды добились успеха. Их используют для всего: от билетов в кино до андеграундных рейвов. Если вам нужно поделиться ссылкой, загрузить приложение или даже проверить состояние здоровья человека, вы можете использовать QR-код. Но как работает эта технология… и удивитесь ли вы, узнав, что она существует с 90-х годов? Мы рассмотрим, как именно работают QR-коды, почему они настолько улучшились на современных устройствах и как эти забавные квадратики стали неотъемлемой частью нашей повседневной жизни.
QR-коды — это просто причудливые штрих-коды.
Они имеют корни в японском автопроизводстве.
QR-коды, по сути, являются развитием штрих-кодов. Одномерные штрих-коды хранят объем данных, располагая ряд линий на разных расстояниях, которые можно считывать при помощи света и интерпретировать как данные. Я уверен, что вы повсюду видели распространенные штрих-коды, но существует значительное количество альтернативных и конкурирующих стандартов. Вы, вероятно, заметите некоторые небольшие различия между ними, различающиеся по размеру, деталям стандарта и количеству строк. Одномерные штрих-коды не хранят много данных, поэтому обычно они представляют собой просто число, которое часто является кодом продукта товара, к которому они прикреплены.
В галерее выше представлены некоторые другие стандарты штрих-кодов по порядку: UPC, Code128, PDF417, ацтекский код и матрица данных.
Microsoft приостановила рассылку спама на экране блокировки Windows 11 с помощью QR-кодов Copilot
Последняя спорная рекламная стратегия Microsoft включала вставку QR-кодов для Copilot на экран блокировки Windows 11.
2D-штрих-код — это то, на что он похож — 1D-штрих-код с добавленным вторым измерением. Вместо кодирования данных в одну строку строк они кодируют данные в двух измерениях. Это значительно увеличивает количество бит данных, которые можно хранить. Если 1D-штрих-код может хранить n бит, то 2D-штрих-код может хранить n^2. QR-коды — это не что иное, как особый тип 2D-штрих-кода с некоторыми дополнительными функциями.
Первые QR-коды были разработаны для использования на производственных линиях.
QR-коды изначально были изобретены для автомобильной промышленности в Японии, поскольку производственные линии становились все более автоматизированными. QR-коды позволяли хранить больше данных, чем обычный штрих-код, а также лучше проверять ошибки. Их использовали для маркировки деталей, движущихся по производственной линии.
QR-коды обычно сканируются по-другому.
Хотя QR-коды берут свое начало от штрих-кодов, обычно они сканируются по-разному. В то время как сканер штрих-кода использует оптический луч света, сканирующий каждую полоску индивидуально, QR-коды обычно используют гораздо более быструю и сложную технологию машинного зрения. QR-коды можно сканировать так же, как и штрих-коды, но сейчас это редкость, поскольку технология машинного зрения значительно улучшилась.
Квадраты в квадратах, в квадратах?
Источник: Викисклад.
При переходе от 1D к 2D штрих-коду нам нужны некоторые дополнительные функции. Наиболее очевидным из них являются большие квадраты ориентации на каждом QR-коде, известные как шаблоны определения положения. Эти квадраты используются программным обеспечением для первоначального обнаружения QR-кода. Менее заметен меньший квадрат в углу, не имеющий большого квадрата, который используется для обеспечения правильной ориентации QR-кода и известен как шаблон выравнивания.
Между каждым шаблоном определения положения также есть несколько чередующихся линий, которые известны как временные закономерностиа также стандартная область пустого пространства (известная как Тихая зона) по краям QR-кода, что облегчает идентификацию (хотя во многих QR-кодах это отсутствует).
Комбинация этих шаблонов определения положения и выравнивания позволяет быстро и легко обнаруживать QR-код с помощью алгоритмов машинного зрения.
Биты формата и версии
Как только QR-код будет найден и ориентирован, можно будет прочитать информацию о версии QR-кода. Эта информация хранится в определенных квадратах в определенном месте и обозначает размер QR-кода, который мы просматриваем.
Определив версию и размер QR-кода и правильно его сориентировав, можно прочитать рыночный формат QR-кода. Существуют две уникальные копии этого файла, и они содержат информацию об уровне исправления ошибок и битах шаблона маски. Уровень исправления ошибок — это одно из четырех значений, представленных двумя битами QR-кода (т. е. двумя отдельными крошечными квадратами), кодирующими одно из низкий, середина, квартиль, или высокий значения, которые позволяют уничтожить 7%, 15%, 25% или 30% соответственно от общего QR-кода, а данные все равно можно восстановить.
QR-коды используют алгоритм исправления ошибок под названием Рид-Соломон. Мы не будем вдаваться в подробности того, как это работает (чтобы эта статья не превратилась в лекцию по информатике), но он очень эффективен и используется во всем, от DVD до RAID6. Рид-Соломон допускает либо частичную реконструкцию, либо просто обнаружение ошибок, в зависимости от того, насколько данные повреждены.
Как только вся эта информация будет идентифицирована, мы можем начать чтение битов данных.
Чтение QR-кодов
Раскодировать QR-коды вручную сложно, но возможно.
Источник: Викисклад.
Область данных QR-кода считывается из нижнего правого угла, при этом QR-код ориентирован по шаблону выравнивания в правом нижнем углу. Размер области данных варьируется, некоторые кодируют несколько тысяч символов. Начиная с нижнего угла, QR-код считывает отдельные квадраты (или пиксели) блоками по 8. То, чему соответствует каждый шаблон, зависит от настроек кодировки QR-кода, но обычно они представляют собой символы ASCII (т. е. буквенно-цифровые). Обычно сначала идут длина кода и режим кодирования, затем блок данных, а затем снова данные, используемые для проверки ошибок.
QR-код считывается змеиным узором снизу справа вверху слева, по одному блоку по 8 пикселей за раз. Эти данные извлекаются, упорядочиваются, а затем декодируются для получения исходной строки.
QR-коды часто содержат URL-адреса.
Перенаправление URL-адреса можно использовать для открытия приложения с помощью QR-кода.
Безусловно, наиболее распространенным использованием QR-кодов является сохранение URL-адресов. Эти URL-адреса могут обрабатываться вашим устройством различными способами: от открытия веб-страницы в браузере до отправки электронной почты. URL-адреса можно использовать для перенаправления URL-адресов — метода, при котором веб-страница интерпретируется вашим устройством как открытие приложения, которое затем передает метаданные в приложение. Вероятно, это то, что вы использовали, если отсканировали QR-код, который открылся на веб-сайте, прежде чем открыть приложение с некоторыми метаданными или контекстом.
Но не всегда…
QR-коды можно использовать не только в URL-адресах. Большинство смартфонов могут открыть ссылку в URL-адресе с помощью приложения камеры по умолчанию, но другие приложения, имеющие доступ к камере, могут использовать QR-коды для самых разных целей. Это может быть что угодно: от геокэшинга до появления 3D-монстров дополненной реальности. Скорость и удобство использования QR-кодов для альтернативных приложений улучшились вместе с камерами смартфонов и общей вычислительной мощностью.
Ваше устройство решает, как интерпретировать данные
Лучший способ понять QR-коды — сделать их простыми. QR-код — это просто сообщение. Он представляет собой строку символов некоторой длины от очень короткой до 4000+ символов. Расшифровка QR-кода сама по себе не имеет никакого эффекта — что произойдет дальше, решает приложение или пользователь, декодирующий его. Различные приложения могут использовать QR-коды для разных целей. Билеты часто содержат UUID (универсальный уникальный идентификатор), который представляет ваш билет, и многие системы здравоохранения или пропуска вакцинации от COVID используют аналогичные системы. Стандарт самого QR-кода не меняется, меняется только его применение и интерпретация.
Графические QR-коды
Вы когда-нибудь задумывались, как некоторые люди получают логотипы на своих QR-кодах?
Одна из странностей QR-кодов, которые вы, возможно, видели, — это коды, в центре которых есть логотип, текст или изображение. Как это работает?
Оставление изображения в середине QR-кода на самом деле не поддерживается стандартом для QR-кодов — вместо этого оно основано на проверке ошибок. Изображение занимает то место, где должны быть данные, фактически повреждая QR-код. Эти изображения обычно имеют высокую настройку коррекции ошибок и полагаются на то, что интерпретатор изображений декодирует значение из битов коррекции ошибок, а не из области, в которой должны храниться данные.
Хотя это более эстетично (и хорошо для брендинга), это делает эти QR-коды более уязвимыми к повреждениям, уменьшая область QR-кода, которая может быть повреждена, прежде чем код станет нечитаемым.
QR-коды здесь, чтобы остаться
Одно ясно в отношении QR-кодов: они никуда не денутся. Многие предсказывали смерть QR-кодов в пользу более ярких технологий, таких как NFC. Но QR-коды можно проецировать практически повсюду, на здания или любой тип дисплея, позволяя сотням или тысячам людей сканировать их одновременно. Эта привлекательность для массового рынка и почти повсеместное внедрение поставщиками смартфонов превратили QR-коды в чрезвычайно мощную технологию, которая, безусловно, никуда не денется.