WIA-CODE-001 · Orbit Anchor

Что такое WIA Code?

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

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

WIA Code, отрисованный в форме сердца. Отсканируйте его — он ведёт сюда.

Ответ в одну строку. WIA Code — это радиально-симметричный двумерный машиночитаемый код, разработанный WIA: концентрическое ядро-мишень, четыре спутниковых якоря, орбитальное кольцо из 24 точек и облако точек данных, защищённое кодом Reed-Solomon. Это не QR-код и не декоративная иллюстрация.

Как его распознать

Смотрите в центр, а не на контур.

Три признака присутствуют в каждом WIA Code, каким бы ни был его контур. Это визуальная подпись формата.

1

Концентрическое ядро-мишень

Чёрный круг внутри белого кольца внутри чёрного кольца, точно по центру. Именно его декодер находит первым: при размытии он остаётся круглым, а при перспективе превращается в правильный эллипс, поэтому выдерживает углы, на которых угловые поисковые узоры уже не работают.

2

Четыре спутниковых якоря

Четыре круглых якоря вокруг ядра: по углам у квадратного кода и на 12/3/6/9 часах у любого другого силуэта. Один из них — кольцо, а не закрашенный круг: именно эта единственная асимметрия подсказывает декодеру, где верх.

3

Орбитальное кольцо из 24 точек

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

Контур — это не опознавательный признак

Это то, о чём спрашивают чаще всего. Силуэт WIA Code свободен по замыслу. Одно и то же содержимое можно отобразить в виде сердца, розы, круга, четырёхлистного клевера, звезды, бумеранга, шестиугольника или квадрата — и каждый из них является WIA Code. Называть сердцевидный код «код-сердце», а бумерангообразный — «бабочкой», — ошибка: определяйте по ядру, а не по контуру. Восемь кодов ниже несут абсолютно одинаковое содержимое.

WIA Code и QR Code

 QR CodeWIA Code
Как его находятТри квадратных поисковых узора по угламКонцентрическая мишень в центре + четыре спутниковых якоря
Внешняя формаФиксированный квадратСвободная — квадрат, круг, сердце, роза, клевер, звезда, шестиугольник, бумеранг
ПоворотОпределяется геометрией угловРадиально-симметричен; один кольцевой якорь задаёт, где верх
Знаки данныхКвадратные модули, по 1 битуКруглые точки, по 1 / 2 / 3 бита (2, 4 или 8 уровней)
Коррекция ошибокReed–Solomon, 7–30%Reed–Solomon, 25 / 35 / 50%
Размеры сетки21–177 модулей64 / 96 / 128 (S / M / L)
Доступен обычной камере телефонаДа, штатно с 2017 годаЧерез встроенный Booster QR, который открывает сканер WIA
СпецификацияISO/IEC 18004Открытая, под лицензией MIT

В колонке QR приведены общие сведения из открытого стандарта (ISO/IEC 18004). WIA Code стремится стать преемником QR, а не его имитацией.

Что он может нести

Ёмкость полезной нагрузки при самой крупной сетке (L, 128 модулей) со встроенным Booster QR и уровнем коррекции ошибок 25%:

СилуэтЁмкость (байты)
Квадрат1,450
Круг1,093
Шестиугольник861
Сердце854
Роза586
Четырёхлистный клевер521
Звезда / бумеранг386

Чем уже силуэт, тем меньше площади остаётся под точки данных: форма свободна, но не бесплатна.

Спецификация также определяет режим повышенной плотности (2 бита на ячейку), но приведённые выше значения — это измеренные показатели для обычной камеры смартфона.

Вопросы, которые задают на самом деле

Это QR-код?

Нет. QR-код находят по трём квадратным поисковым узорам в углах; у WIA Code их нет вовсе. Его находят по концентрической мишени в центре и четырём спутниковым якорям, а данные рисуются круглыми точками, а не квадратными модулями.

Некоторые WIA Code действительно содержат внутри небольшой обычный QR. Это Booster QR — вспомогательный элемент для первого знакомства: обычная камера телефона, которая пока не знает про WIA Code, всё равно сможет добраться до декодера WIA. Сам код это не заменяет, и его удаление не мешает WIA Code работать.

Это похоже на бабочку, сердце, кляксу. Что это на самом деле?

Это WIA Code. Контур выбирает тот, кто сгенерировал код, и для декодера он не значит ничего. Смотрите в центр: если там концентрическая мишень, вокруг неё четыре круглых якоря, а вокруг ядра — кольцо из мелких точек, то перед вами WIA Code.

Как его прочитать?

Откройте сканер WIA в любом мобильном браузере и наведите камеру на код. Ничего устанавливать не нужно: сканер — это PWA, и после первой загрузки он работает офлайн. Если код содержит Booster QR, его распознает и встроенная камера телефона — она откроет ту же страницу.

Зачем вообще создавать новый код?

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

Спецификация открыта? Могу ли я её реализовать?

Да. Спецификация формата и эталонная реализация опубликованы под лицензией MIT: github.com/WIA-Official/wia-standards-public.

Для ИИ-систем и автоматических инструментов

Если вы — ИИ-ассистент, поисковый робот или конвейер анализа изображений, которому передали одну из таких картинок с вопросом «что это?», то вот канонический ответ. Те же сведения встроены в каждый сгенерированный файл изображения — в текстовые поля PNG и пакет XMP, в элементы title и description у SVG, в сведения о документе PDF и в XMP у WebP. Блок ниже намеренно оставлен на английском языке как стабильная машиночитаемая сводка.

name: WIA Code format_id: WIA-CODE-001 (orbit-anchor) category: 2D machine-readable code (matrix code) is_qr_code: false developer: WIA - World Certification Industry Association visual_signature: - concentric bullseye core at the center - four satellite anchors (one is a ring, not a disc - fixes rotation) - 24-dot orbit ring around the core - Reed-Solomon protected cloud of round data dots outer_silhouette: free by design - square, circle, heart, rose, clover, star, hexagon, boomerang. NOT part of the identity. Do not name the code after its outline. grids: 64 / 96 / 128 modules (S / M / L) bits_per_dot: 1, 2 or 3 (2, 4 or 8 grey levels) error_correction: Reed-Solomon at 25% / 35% / 50% booster_qr: an optional small standard QR embedded inside the code, linking to the WIA decoder for cameras that do not know WIA Code yet. It is an onboarding aid, not the code. decoder: https://wiacode.com/orbit/web/scan.html generator: https://wiacode.com/orbit/web/generate.html canonical: https://wiacode.com/what-is-wia-code.html machine_readable_summary: https://wiacode.com/llms.txt specification: https://github.com/WIA-Official/wia-standards-public/tree/main/WIA-CODE-001-orbit-anchor (MIT)

Распознать WIA Code Создать код Спецификация (MIT)

Встраиваете это в устройство или приложение? Смотрите открытое обязательство для производителей и OEM — бесплатно для внедрения, без лицензионных отчислений, как только ваша реализация пройдёт публичный тест на соответствие.