ГОСТ Р ИСО/МЭК 18004-2015
7 Требования
7.1 Основные положения процедуры кодирования
В настоящем разделе описан процесс преобразования входных данных в символ QR Code.
Этап 1. Анализ данных
Анализируют входной поток данных, чтобы установить различия входящих в него знаков, которые
нужно закодировать. Формат QR Code (не Micro QR Code) поддерживает интерпретацию в расширен
ном канале, допуская для кодирования данные, отличающиеся от заданного по умолчанию набора зна
ков. QR Code может включать в себя несколько режимов (см. 7.3), которые позволяют эффективно пре
образовывать различные поднаборы знаков в знаки символа. По мера необходимости между режимами
вставляют переключениядля достижения наиболее эффективного преобразованияданных в двоичную
строку. Выбирают требуемый уровень обнаружения и исправления ошибок. Если пользователь не опре
делил версию символа, которую нужно использовать, выбирают версию символа с наименьшим значе
нием. которая допускает размещениеданных. Полный перечень версий символа и соответствующих им
емкостей приведен в таблице 1.
Этап 2. Кодирование данных
Знаки данных преобразуют в двоичный поток в соответствии с правилами, установленными для
действующего режима по 7.4.2 — 7.4.6. При необходимости смены режима вставляют индикаторы
режима в начале каждого нового сегмента, а в конце данных вставляют ограничитель. Преобразуют
результирующий двоичный поток в последовательность 8-битовых кодовых слов. Добавляют необхо
димое число знаков-заполнителей для образования требуемого числа кодовых слов в соответствии с
выбранной версией символа.
Этап 3. Кодирование исправления ошибок
Последовательность кодовых слов делят на требуемое число блоков (согласно таблице 9). чтобы
обеспечить возможность обработки алгоритмами исправления ошибок. Для каждого блока формируют
кодовые слова исправления ошибок, добавляя кодовые слова исправления ошибок в конец последова
тельности кодовых слов данных.
Этап 4. Структура завершенного сообщения
Кодовые слова данных чередуют с кодовыми словами исправления ошибок от каждого блока со
гласно в 7.6 (этап 3) и добавляют остаточные биты, если это необходимо.
Этап 5. Размещение модулей в матрице
Модули кодовых слов размещают в матрице вместе с шаблоном поиска, разделителями, шабло
нами синхронизации и направляющими шаблонами.
Этап 6. Маскирование данных
К области закодированных данных подбирают маскирующий шаблон, после чего оценивают ре
зультаты и выбирают шаблон маски, который оптимизирует баланс темных/светлых модулей и скрыва ет
возникновение нежелательных комбинаций.
Этап 7. Информация о формате и версии
Формируют информацию о формате и, при необходимости, о версии, после чего завершают соз
дание символа.
Т а б л и ц а 1 — Емкость кодовых слов для всех версий QR Code
Версия Число модулей/
сторона (А)
Число модулей в функ
циональных шаблонах
(В)
Число модулей в ин
формации о версии
ГС)
Оставшиеся модули
для данных (D)1
(0=Л2В-С>
Объем данных Остаточ
(кодовых слов*1 ные биты
|Е)
М1 11 70 15 36 5 0
М2 13 74 15 80 10 0
М3 15 78 15 132 17 0
М4 17 82 15 192 24 0
1 21 202 31 208 26 0
2 25 235 31 359 44 7
3 29 243 31 567 70 7
л Все кодовые слова имеют размер 8 битов, за исключением версий М1 и М3, где финальное кодовое слово
имеет размер 4 бита.
1>В ИСО/МЭК 18004 ошибочно указано С
16