Уровни коррекции ошибок

Также называют: error correction levels, уровень EC, уровень ECC, L M Q H

Определение

Уровни коррекции ошибок задают, какая часть QR-кода может быть повреждена, чтобы он всё ещё сканировался. Их четыре: L восстанавливает около 7 % кодовых слов, M — около 15 %, Q — около 25 % и H — около 30 %.

Четыре уровня

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

Проценты — это приблизительная доля восстанавливаемых кодовых слов, а не видимой площади. Небольшое повреждение может затронуть несколько кодовых слов, а повреждение поисковых узоров или информации о формате может сорвать сканирование при любом уровне.

  • L (Low, низкий): восстанавливается около 7 % кодовых слов
  • M (Medium, средний): около 15 %
  • Q (Quartile, квартиль): около 25 %
  • H (High, высокий): около 30 %

Компромисс с размером

Больше коррекции ошибок — меньше места для данных. Одно и то же содержимое на уровне H требует большей версии, с большим числом более мелких модулей, чем на уровне L.

Например, код версии 1 вмещает 17 байтов на уровне L, но всего 7 байтов на уровне H. В версии 40 значения — 2953 байта на L и 1273 байта на H.

Выбор уровня

Уровень M — распространённый вариант по умолчанию, он подходит для большинства печатных материалов в чистых условиях. Уровень L позволяет сделать экранные или очень «чистые» коды как можно меньше.

Уровни Q и H подходят для кодов, которые будут изнашиваться, печататься на шероховатых поверхностях или частично закрываться логотипом. Логотип поверх модулей расходует часть запаса коррекции ошибок, поэтому на реальные повреждения его остаётся меньше.

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

Какой уровень коррекции ошибок QR-кода использовать?

M — разумный вариант по умолчанию для большинства печати. Используйте Q или H, если код будет пачкаться или изнашиваться либо его частично закроет логотип, и L, если размер важнее прочности.

Делает ли более высокая коррекция ошибок QR-код удобнее для сканирования?

Код становится устойчивее к повреждениям, но при том же объёме содержимого и плотнее. В чистых условиях более низкий уровень с более крупными модулями может сканироваться легче.

Отсканируется ли QR-код с повреждением в 30 %?

На уровне H можно восстановить до 30 % кодовых слов, но только если поисковые узоры и информация о формате уцелели. Реальное повреждение часто затрагивает больше кодовых слов, чем можно предположить по его площади.

Источники и стандарты

Все термины