QRkoder

ECL-H (High)

Уровень коррекции ошибок High в QR-коде, восстанавливающий до 30% повреждённых модулей кода. Самый стойкий из 4 уровней (L/M/Q/H), стандартизирован в ISO/IEC 18004.

Определение ECL-H

ECL-H (Error Correction Level High) — максимальный из четырёх уровней коррекции ошибок QR-кода, стандартизированный в ISO/IEC 18004. При использовании ECL-H код сохраняет читаемость даже когда повреждено или закрыто до 30% модулей: царапина, мятая упаковка, грязный отпечаток, логотип в центре — декодер восстановит данные через алгоритм Reed-Solomon. Кодовое значение в области Format Information — 10.

Остальные три уровня дают меньшую защиту: L восстанавливает примерно 7% площади, M — 15%, Q — 25%. Подробнее о всей шкале — в статье уровень коррекции ошибок (ECC). ECL-H выбирают там, где QR-код будет жить в реальной среде, а не на чистом экране: на упаковке, на улице, в производственном цеху или с логотипом бренда поверх кода.

Параметры H-уровня и как он работает

Стойкость ECL-H достигается за счёт большого количества избыточных байтов Reed-Solomon, добавляемых к полезным данным. Для каждой версии QR Reed-Solomon-кодеры формируют столько кодовых слов коррекции, сколько нужно для восстановления 30% повреждённой площади. Чем выше версия кода, тем больше абсолютное число RS-байтов: например, в версии 10 при ECL-H — 224 байта коррекции на 196 байт данных, почти 1:1.

Платой за защиту становится ёмкость. При одной и той же версии QR полезный объём данных в ECL-H примерно на 40% меньше, чем в ECL-L. Конкретные цифры:

ВерсияРазмерБайт при ECL-LБайт при ECL-H
225×253214
537×3710846
1057×57271119
2097×97858382
40177×17729531273

На практике это означает: тот же URL в 50 символов помещается в QR версии 2 при ECL-L и требует версию 5 при ECL-H. Физический размер кода вырастает в полтора-два раза при сохранении размера модуля. Подробнее про привязку версии к ёмкости — в материале версия QR-кода.

Когда выбирать ECL-H

ECL-H — не «выбор по умолчанию», а решение для конкретных сценариев, где код заведомо столкнётся с повреждениями или перекрытиями:

  • QR-код с логотипом в центре — главный кейс. Логотип закрывает 10–25% модулей, и при ECL-H остаётся ещё 5–20% запаса на печатные дефекты и грязь. С ECL-Q (25%) запас исчезает: чуть крупнее логотип или капля краски — и код перестаёт читаться.
  • Печать на упаковке — этикетки бутылок, картонные коробки, пакеты. Изгибы, мятие, конденсат, потёртости от транспортировки. ECL-H компенсирует до трети потерянной площади, что в реальности окупается возвратом сканирований.
  • Наружная реклама и фасады — баннеры, стенды, вывески, дорожные указатели. Дождь, выгорание на солнце, царапины, налипшая пыль. Без ECL-H код через несколько месяцев работы становится нестабильным.
  • Промышленная маркировка — гравировка на металле, пластике, керамике, стекле. Износ от трения, окисление, частичное стирание лазерной маркировки.
  • Длительный жизненный цикл — таблички на оборудовании, штрих-коды на инструменте, музейные экспонаты. Куда дешевле один раз заложить ECL-H, чем переделывать партию через год.

Когда ECL-H избыточен: QR на экране смартфона, в PDF, в email-рассылке, в TV-эфире, на чеке, который сразу выбрасывают. Здесь чистая среда, и стойкость L или M экономит площадь и оставляет место для более длинного URL. Если планируете динамический QR-код, помните: длина короткого редирект-URL фиксирована и невелика, поэтому ECL-H там почти не штрафует ёмкость, и его можно ставить смело.

Частые вопросы

Почему при QR с логотипом нужен именно ECL-H, а не ECL-Q?

Логотип в центре кода обычно перекрывает 15–25% модулей. ECL-Q восстанавливает 25% — формально хватает, но запаса на грязь, царапины, плохой принтер не остаётся. Любая дополнительная потеря 1–2% площади делает код нечитаемым. ECL-H даёт восстановление 30% и оставляет 5–15% страховки сверх логотипа. На печати это разница между «читается всегда» и «читается через раз».

Насколько ECL-H уменьшает объём полезных данных?

При одной и той же версии QR ёмкость ECL-H составляет примерно 60% от ECL-L. Конкретно в байтах: версия 5 даёт 108 байт при L и 46 байт при H, версия 10 — 271 и 119 байт соответственно. Если хочется уместить тот же URL без потерь, придётся брать версию QR на 2–3 ступени выше, что увеличит физический размер кода на 40–60% от площади.

Можно ли использовать ECL-H для динамического QR?

Да, и это хороший паттерн. Динамический QR кодирует короткую редирект-ссылку (обычно 20–30 символов), которая помещается даже в версии 2–3. Запас по ёмкости огромный, поэтому ECL-H не вызывает роста кода — версия остаётся той же, что и при ECL-L. При этом QR получает максимальную стойкость к повреждениям, что особенно ценно на печатных носителях. В QRkoder при создании динамического QR можно задать ECL-H в один клик.

Чем ECL-H отличается от ECL-Q математически?

Оба уровня используют один и тот же алгоритм Reed-Solomon, но с разным количеством избыточных байт. ECL-Q добавляет около 25% RS-байт от полезных данных, ECL-H — около 50%. Из-за этого на каждые 2t избыточных байт корректируются t ошибок: чем выше уровень, тем больше повреждений может восстановить декодер. На уровне версии 10 ECL-Q даёт 154 байта коррекции, ECL-H — 224 байта. Разница в 70 байт и обеспечивает дополнительные 5% защиты.

Сканеры читают ECL-H медленнее?

Разница незаметна. Сканер сначала читает Format Information и определяет уровень коррекции — это занимает миллисекунды. Дальше Reed-Solomon-декодирование при ECL-H выполняется на 5–10 мс дольше, чем при ECL-L, потому что обрабатывается больше кодовых слов. На современном смартфоне общее время от наведения камеры до открытия ссылки — 100–200 мс, и доля Reed-Solomon в нём минимальна. Пользователь не отличит ECL-L от ECL-H по скорости, но при сложных условиях освещения или повреждённой печати ECL-H читается с первой попытки, а ECL-L — нет.

Создавайте QR-коды бесплатно

Динамические QR-коды с аналитикой, дизайном и без ограничений по сканированиям.

Начать бесплатно
ECL-H в QR-коде — что это и зачем нужен | QRkoder