SIMETRIUM .COM QR · ISO/IEC 18004
Denso Wave · 1994
RU|36 языков
Не путать
QR — способ записи, а не адрес. В код можно положить ссылку, пароль Wi-Fi, визитку или платёж. Сканер читает текст, а что с ним делать, решает телефон.
Логотип
Картинка в середине — это порча, которую чинит коррекция. Чем выше уровень, тем больше можно закрыть, но тем крупнее сам код.
На плите — камера телефона над визиткой с кодом. Визитка лежит на деревянном столе под углом, и код в кадре перекошен. Камера ищет три угловых квадрата с отношением ширин 1 : 1 : 3 : 1 : 1. Квадраты загораются голубым, по ним строится сетка модулей. Через долю секунды внизу экрана всплывает адрес сайта.
Паспорт термина · автоматическая идентификация · матричный код

QR-код

Quick Response · 21×21 … 177×177 модулей · L 7 % · M 15 % · Q 25 % · H 30 %

Кафе печатает на столиках QR-код меню и ставит в середину свой логотип. На первых столах код читается сразу, а на новых наклейках — нет: дизайнер увеличил логотип. Код вроде бы цел, все три угловых квадрата на месте. Но под логотипом пропала треть байтов одного блока, а коррекция уровня M чинит меньше. Телефон смотрит на код и молчит.

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

Что этодвумерный матричный код с коррекцией ошибок
СтандартISO/IEC 18004; национальные версии — JIS X 0510 в Японии, GB/T 18284 в Китае, ГОСТ Р ИСО/МЭК 18004 в России
Размерверсии 1–40: от 21×21 до 177×177 модулей, +4 модуля тихой зоны
Ёмкостьдо 7089 цифр, 4296 букв и цифр или 2953 байт
ЗащитаРид — Соломон над GF(256), от 7 до 30 % байтов
Чем читаюткамерой: лазерной строке нужен один ряд, QR нужна вся картинка
В лабораторию К эволюции кодов
Этимология

Быстрый ответ, мать и мерка

Название QR — английская аббревиатура, придуманная в Японии; QR Code — зарегистрированный товарный знак Denso Wave. Большинство языков оставили латинские буквы, а китайский назвал код по устройству — «двумерный». В стандарте код называют матричным, а его квадратики — модулями.

QRангл. Quick Response
др.-англ. cwic · живой→quick · быстрый+лат. respondere · отвечать→Quick Response
Quick восходит к древнеанглийскому cwic — «живой»; отсюда и «быстрый, проворный». Response — от латинского respondere, «отвечать, обещать в ответ». Denso Wave назвала код по главной цели: быстрый отклик сканера на заводской линии.
матрицалат. matrix
mater · мать→matrix · матка, источник→форма для отливки→таблица чисел
Латинское matrix — «матка», от mater, «мать»: то, из чего что-то рождается. Отсюда форма для отливки букв в типографии, а в XIX веке у математиков — прямоугольная таблица чисел. Матричный код — тоже таблица: строки и столбцы модулей.
модульлат. modulus
modus · мера, способ→modulus · мерка→модуль кода
Modulus — уменьшительное от modus, «мера»: маленькая мерка. Архитекторы Рима так называли единицу, которой меряли части здания. В коде модуль — тоже единица меры: все размеры выражены в модулях, а не в миллиметрах.
Как называют в других языках
二维码 èrwéimǎ — китайский: «двумерный код». Так называют и QR, и любой 2D-код; «扫码» — «сканировать код»
QRコード kyūāru kōdo — японский, на родине кода; марка Denso Wave
código QR — испанский и португальский; в Аргентине и Бразилии — привычное слово оплаты
رمز QR — арабский; полностью رمز الاستجابة السريعة, «знак быстрого ответа»
QR код — монгольский, русский, казахский: латинские буквы и своё слово «код»
QR कोड — хинди; платёжный QR в Индии — UPI QR
L · M · Q · H
Low, Medium, Quartile, High — уровни коррекции: 7, 15, 25 и 30 % байтов
ECC
Error Correction Code — байты коррекции, добавленные к данным
BCH
код Боуза — Чоудхури — Хоквингема; им защищены формат и версия
GF(256)
поле Галуа из 256 элементов: байты складывают и умножают по своим правилам
01 · Устройство

Служебная рамка и змейка байтов

Три метки поиска в углах говорят камере, где код и как он повёрнут. Пунктир синхронизации между ними задаёт шаг сетки. Начиная со второй версии, внутри стоят метки выравнивания: по ним сканер поправляет перекос и изгиб бумаги. Возле меток поиска — 15 бит формата, у больших версий — ещё 18 бит номера версии.

Всё остальное — данные. Их пишут столбцами по два модуля, змейкой: снизу вверх, потом сверху вниз, справа налево. Байты коррекции идут сразу за данными. В больших версиях байты разбиты на несколько блоков и перемешаны, поэтому одно пятно портит понемногу каждый блок, а не один целиком.

v — номер версии · S — сторона в модулях · n — байт в блоке · k — байт данных в блоке · t — исправляемых ошибок · N — число цифр · c — бит счётчика · d — 5 бит формата
40
версий, шаг 4 модуля
8
масок на выбор
30 %
байтов чинит уровень H
Интерактив · 15 бит формата

Как код сообщает уровень и маску

Выберите уровень коррекции и маску. Ниже — пять бит данных, десять проверочных и защитная маска. Эту строку пишут дважды: вокруг левой верхней метки и вдоль двух других.

Эталон · крайние версии
21×21версия 1: 26 байт, при уровне L — 17 букв текста 177×177версия 40: 3706 байт, 46 меток выравнивания 4 модулятихая зона вокруг кода, без печати 1:1:3:1:1отношение ширин в метке поиска по любой линии через центр
Интерактив · настоящий кодировщик и сканер QR

Соберите код и испортите его

Код строится по стандарту из вашего текста: режим, версия, блоки, Рид — Соломон, маска. «Структура» — нажмите на модуль и узнайте, чей это бит. «Маска» — переберите восемь масок и посмотрите штрафы. «Повреждение» — закройте середину логотипом, капните краской, поцарапайте. Сканер читает то, что осталось, и чинит блоки.

Логотип в середине

График · сколько можно закрыть
Логотип против уровня коррекции
Строка — уровень, клетка — размер логотипа. Каждая клетка — отдельное чтение вашего текста с вашими кляксами и царапинами. Зелёная — прочитан, красная — нет, жёлтая — прочитан чужой текст.
доля площади под логотипомL · M · Q · H
График · восемь масок
Штраф каждой маски
Столбик сложен из четырёх правил: серии, квадраты 2×2, ложные метки поиска, баланс тёмного. Треугольник — минимум, его выбирает кодировщик. Яркий столбик — текущая маска.
номер маскибаллы штрафа
02 · Эволюция двумерных кодов

Из строки в плоскость

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

несётзачем
03 · Режимы и ёмкость

Алфавит решает размер

QR сжимает данные выбором режима. Цифры идут тройками в 10 бит. Прописные латинские буквы, цифры и девять знаков — парами в 11 бит. Всё остальное — байтами по 8 бит. Перед данными стоят 4 бита режима и счётчик знаков.

ТЕКСТ ДЛЯ СРАВНЕНИЯ
■ цифра■ буквенно-цифровой знак■ только байтом

Ёмкость версий 1–40 в режиме этого текста · точка — ваш текст
режим, версия 40
L
M
Q
H
алфавит
04 · Что внутри

Просто текст по договорённости

Сам QR не знает, что в нём ссылка или пароль. Он хранит строку. Телефон смотрит на начало строки: https:// — открыть браузер, WIFI: — подключиться к сети, BEGIN:VCARD — сохранить контакт. Платёжные строки в каждой стране свои. Массовые QR-платежи начались в Китае: Alipay и WeChat Pay. В Индии — ссылка upi://pay, в еврозоне — перевод SEPA по формату EPC, в Бразилии — Pix по шаблону EMVCo, в России — реквизиты по ГОСТ Р 56042-2014.

Реквизиты условные. Выбранный вариант уходит и в лабораторию: посмотрите, какой версии получится код.
Разбор строки ·
05 · Правила печати
Верно
тихая зона — 4 модуля со всех сторон
сторона кода не меньше десятой части расстояния до камеры: с 3 m — от 30 cm
логотип только в середине и с уровнем Q или H
короткая ссылка: меньше байтов — меньше версия — крупнее модуль
проверить на нескольких телефонах после печати, а не в макете
Неверно
картинка поверх метки поиска или строки формата
светлые модули на светлом фоне, градиент через весь код
скруглённые до точек модули на коде мелкой версии
код на изгибе бутылки без запаса по уровню коррекции
длинная ссылка с метками рекламы на маленькой наклейке
06 · Соседние коды
07 · Исторический раздел
доска го · сетка камней
Заметка

Масахиро Хара рассказывал, что идея сетки пришла ему за игрой в го: чёрные и белые камни на доске уже несут много информации. Трудность была в другом — камера должна мгновенно найти код среди надписей и картинок. Хара перебрал газеты, журналы и коробки и подобрал отношение ширин, которое в печати почти не встречается.

Метка 1 : 1 : 3 : 1 : 1 выглядит одинаково по любой линии через центр, под каким бы углом камера ни смотрела. Найдя три таких метки, сканер знает положение, поворот и размер кода, не читая ни одного бита данных. Поэтому QR читается в любой ориентации, а штрих-код приходится подносить строкой к лучу.

11311
метка поиска · 7×7
Каталог величин
весь указатель →
основа системы · 7 единиц

Семь основных единиц СИ

по теме листа · коды и обозначения
Лаборатория указателя: стакан с соком капусты, горелка, стакан воды на холодной плите и зубчатая передача
Указатель · все величины на одной странице
Лаборатория у входа в указатель

Капля кислоты меняет цвет сока, соль красит пламя, вода замерзает от стука. Под ними — все листы Simetrium по дисциплинам и по алфавиту.

Открыть указатель →
08 · Ваш язык
каждая ссылка — настоящая страница локали

Читайте на своём языке

переведён и вычитанчерновой переводв очереди