ГОСТ Р ИСО/МЭК 18004-2015
Группа П85
НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Информационные технологии
ТЕХНОЛОГИИ АВТОМАТИЧЕСКОЙ ИДЕНТИФИКАЦИИ И СБОРА ДАННЫХ
Спецификация символики штрихового кода QR Code
Information technology. Automatic identification and data capture techniques. QR Code bar code symbology specification
ОКС 35.040
01.080.50
Дата введения 2016-02-01
Предисловие
1 ПОДГОТОВЛЕН Ассоциацией автоматической идентификации "ЮНИСКАН/ГС1 РУС" совместно с Обществом с ограниченной ответственностью (ООО) НПЦ "Интелком" на основе аутентичного перевода стандарта, указанного в пункте 4, выполненного ООО НПЦ "Интелком"
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 355 "Технологии автоматической идентификации и сбора данных"
3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 3 июня 2015 г. N 544-ст
4 Настоящий стандарт идентичен международному стандарту ИСО/МЭК 18004:2015* "Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода QR Code" (ISO/IEC 18004:2015 "Information technology - Automatic identification and data capture techniques - QR Code bar code symbology specification"), за исключением приложения ДА, содержащего сведения о наборах знаков по ИСО/МЭК 646, ИСО/МЭК 8859-1 и ИСО/МЭК 8859-5 и приложения ДБ, содержащего сведения о соответствии ссылочных международных стандартов ссылочным национальным стандартам.
________________
* Доступ к международным и зарубежным документам, упомянутым здесь и далее по тексту, можно получить, перейдя по ссылке на сайт . - .
При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им национальные стандарты, сведения о которых приведены в дополнительном приложении ДВ*
________________
* Вероятно, ошибка оригинала. Следует читать: приложении ДБ. - .
5 Некоторые положения международного стандарта, указанного в пункте 4, могут являться объектами получения патентных прав. Международная организация по стандартизации (ИСО) не несет ответственности за идентификацию некоторых или всех подобных прав
6 ВВЕДЕН ВПЕРВЫЕ
Правила применения настоящего стандарта установлены в ГОСТ Р 1.0-2012 (раздел 8). Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске информационном указателе "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте национального органа Российской Федерации по стандартизации в сети Интернет (www.gost.ru)
Введение
Введение
Необходимо различать четыре различных с технической точки зрения представителя семейства символики QR Code, которые, однако, тесно связаны друг с другом и представляют собой следующую эволюционную последовательность:
- QR Code Model 1 - первоначальная спецификация QR Code, описание которой приведено в AIM ITS 97-001 Международная спецификация символики. QR Code (International Symbology Specification - QR Code);
- QR Code Model 2 - расширенная форма символики с дополнительными свойствами (прежде всего дополнение символа направляющими шаблонами для более точной навигации по большим символам), которая стала основой для первой версии ИСО/МЭК 18004*);
________________
* Имеется в виду ИСО/МЭК 18004:2000.
- QR Code (основа для второй версии ИСО/МЭК 18004*) символика, в значительной степени соответствующая QR Code Model 2; отличающаяся от этого формата QR Code дополнительными параметрами для символов, представленных в зеркальном отображении инвертированного изображения (светлые символы на темном фоне), а также опциями, используемыми для определения альтернативных наборов знаков, отличающихся от набора знаков по умолчанию;
________________
* Имеется в виду ИСО/МЭК 18004:2006.
- формат Micro QR Code (установленный во второй версии ИСО/МЭК 18004), являющийся вариантом QR Code с уменьшенным числом служебных модулей и ограниченным диапазоном размеров, позволяющим представлять малые объемы данных в символах небольшого размера, особенно подходящих для прямого маркирования деталей и компонентов и для применений с ограниченным пространством для размещения символа.
QR Code - матричная символика. Символ состоит из массива номинально квадратных модулей, структурированных в регулярную квадратную матрицу, включая уникальные шаблоны поиска, размещенные в трех углах символа (в Micro QR Code - только в одном углу) и предназначенные для упрощения определения места нахождения, размера и наклона символа. Предусмотрен широкий диапазон размеров и четыре уровня исправления ошибок. Размер символа в модулях устанавливает пользователь для обеспечения производства символов различными методами.
Символы QR Code Model 2 полностью совместимы с системами, считывающими символы QR Code.
Символы QR Code Model 1 рекомендуется использовать только в замкнутых применениях, и нет необходимости в поддержке формата QR Code Model 1 для оборудования, соответствующего настоящему стандарту. Поскольку символы QR Code рекомендуется в качестве образца для использования во вновь создаваемых и открытых системах применения QR Code, в настоящем стандарте приведено полное описание символов QR Code, также в приложении N приведен перечень отличий символов QR Code Model 1 от символов QR Code.
Сноски в тексте стандарта, выделенные курсивом, приведены для пояснения текста оригинала.
1 Область применения
Настоящий стандарт устанавливает требования к символике QR Code
________________
2 Соответствие
Символы QR Code (и оборудование, предназначенное для создания или считывания символов QR Code) соответствуют требованиям настоящего стандарта, если они обеспечивают или поддерживают параметры, приведенные в настоящем стандарте.
Символы, созданные в соответствии с требованиями QR Code Model 1 по ИСО/МЭК 18004:2006, не могут быть считаны с помощью оборудования, соответствующего настоящему стандарту.
Символы, созданные в соответствии с требованиями QR Code Model 2 по ИСО/МЭК 18004:2000, считывают с помощью оборудования, соответствующего настоящему стандарту.
Символы, созданные в соответствии с требованиями настоящего стандарта, не могут быть считаны с помощью оборудования по ИСО/МЭК 18004:2000. Символы, которые используют дополнительные параметры QR Code, также не могут быть считаны с помощью такого оборудования.
Символы, созданные в соответствии с требованиями настоящего стандарта, не могут быть напечатаны с помощью оборудования, соответствующего требованиям предыдущей версии ИСО/МЭК 18004:2000. Символы, которые используют дополнительные параметры QR Code, также не могут быть напечатаны с помощью такого оборудования.
Разновидности символики QR Code Model 2 и Micro QR Code рекомендуется использовать для открытых систем и вновь создаваемых применений.
3 Нормативные ссылки
В настоящем стандарте использованы нормативные ссылки на следующие стандарты и другие нормативные документы*, которые необходимо учитывать при использовании настоящего стандарта. В случае ссылок на документы, у которых указана дата утверждения, необходимо пользоваться только указанной редакцией. В случае, когда дата утверждения не приведена, следует пользоваться последней редакцией ссылочных документов, включая любые поправки и изменения к ним:
_______________
* Таблицу соответствия национальных стандартов международным см. по ссылке. - .
ИСО/МЭК 8859-1:1998
________________
ИСО/МЭК 15415 Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация испытаний символов штрихового кода для оценки качества печати. Двумерные символы (Information technology - Automatic identification and data capture techniques - Bar code print quality test specification - Two-dimensional symbols)
ИСО/МЭК 19762-1 Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 1. Общие термины, связанные с автоматической идентификацией и сбором данных (Information technology - Automatic identification and data capture (AIDC) techniques - Harmonized vocabulary - Part 1: General terms relating to AIDC)
ИСО/МЭК 19762-2 Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 2. Оптические носители данных (ОНД) (Information technology - Automatic identification and data capture (AIDC) techniques - Harmonized vocabulary - Part 2: Optically readable media (ORM)
JIS X 0201 7-битовые и 8-битовые наборы знаков для обмена информацией (7-bit and 8-bit coded character sets for information interchange)
4 Термины и определения
В настоящем стандарте применяются термины, определенные в ИСО/МЭК 19762-1, ИСО/МЭК 19762-2, а также следующие:
4.1 индикатор числа знаков (character count indicator): Битовая последовательность, определяющая длину строки данных в текущем режиме кодирования.
4.2 маскирование данных (data masking): Процесс применения операции XOR к комбинациям битов в области кодирования с использованием шаблонов маски, с целью образования символа со сбалансированным числом темных и светлых модулей и уменьшения вероятности присутствия комбинаций, которые могут помешать быстрой обработке изображения.
4.3 указатель шаблона маски данных (data mask pattern reference): Трехбитовый идентификатор, указывающий шаблон маски данных, используемый в символе.
4.4 область кодирования (encoding region): Область символа, свободная от функциональных шаблонов и предназначенная для кодирования данных и кодовых слов исправления ошибок и информации о версии и формате символа.
4.5 исключительный поднабор (exclusive subset): Подмножество знаков в наборе знаков режима, которые не пересекаются с более ограниченным набором знаков другого режима.
4.6 шаблон расширения (extension pattern): Функциональный шаблон в символах Model 1, не кодирующий данные.
4.7 информация о формате (format information): Шаблон, в котором закодирована информация об основных параметрах, необходимых для обеспечения декодирования оставшейся части области кодирования.
4.8 QR Code (QR Code): Обозначение всех символов QR Code от версии 1 до версии 40 для обеспечения возможности их отличия от символов Micro QR Code.
4.9 функциональный шаблон (function pattern): Дополнительные компоненты символа (шаблоны поиска, разделитель, шаблоны синхронизации, направляющие шаблоны), которые требуются для уточнения места нахождения символа или определения его параметров с целью обеспечения декодирования.
4.10 маскирование (masking): Процесс применения операции XOR к комбинации битов в какой-либо области символа с использованием шаблона маски для уменьшения комбинаций, которые могут препятствовать быстрой обработке изображения.
4.11 микро (micro): Обозначение всех символов Micro QR Code от версии М1 до версии М4 для обеспечения возможности их отличия от символов QR Code.
4.12 режим (mode): Способ преобразования последовательности кодируемых знаков в двоичную строку.
4.13 индикатор режима (mode indicator): Идентификатор, состоящий из четырех битов, указывающий режим, в котором закодирована следующая за ним последовательность данных.
4.14 бит-заполнитель (padding bit): Нулевой бит, не представляющий данные, предназначенный для заполнения оставшихся незаполненными позиций последнего кодового слова после ограничителя
________________
4.15 остаточный бит (remainder bit): Нулевой бит, не представляющий данные, используемый для заполнения оставшихся незаполненными позиций в области кодирования после последнего знака символа в случае, если область кодирования, предназначенная для знаков символа, не полностью распределена для размещения 8-битовых знаков символа.
4.16 остаточное кодовое слово (remainder codeword): Кодовое слово - заполнитель, размещаемое после кодовых слов исправления ошибок, используемое для заполнения оставшихся незаполненными позиций кодовых слов с целью доукомплектования символа, если общее число кодовых слов данных и исправления ошибок не достаточно для полного заполнения его номинальной емкости
________________
4.17 сегмент (segment): Последовательность данных, закодированная согласно правилам одной интерпретации в расширенном канале (ECI) или режима кодирования.
4.18 разделитель (separator): Функциональный шаблон, состоящий из светлых модулей, шириной один модуль, отделяющий шаблоны поиска от остального содержимого символа.
4.19 номер символа (symbol number): Поле из трех битов, указывающее версию символа и уровень исправления ошибок, используемое как часть информации о формате в символах Micro QR Code.
4.20 ограничитель (terminator): Битовый шаблон, состоящий из некоторого числа (зависящего от символа) нулевых битов, используемый для индикации окончания двоичной строки, представляющей данные.
4.21 шаблон синхронизации (timing pattern): Чередующаяся последовательность темных и светлых модулей, предназначенная для определения координат модулей в символе.
4.22 версия (version): Размер символа в соответствии с его позицией в последовательности допустимых размеров символов; символы Micro QR Code имеют размеры (в модулях) от 11
Примечание - Уровень исправления ошибок, применимый к символу, может быть добавлен к обозначению версии, например, версия 4-L или версия M3-Q.
4.23 информация о версии (version information): Шаблон, закодированный в некоторых символах QR Code, содержащий информацию о версии символа вместе с битами исправления ошибок для этих данных.
5 Математические и логические символы, обозначения и соглашения об обозначениях
5.1 Математические и логические символы
Определения математических символов, используемых в формулах и уравнениях, приведены после соответствующих формул и уравнений.
Кроме того, в настоящем стандарте применяются следующие математические и логические операторы:
div - оператор деления на целое число;
mod - оператор вычисления остатка от деления на целое число;
XOR - исключающее ИЛИ (exclusive-or) - логическая функция или операция, результатом которой является единица только в случае неэквивалентности двух входов; обозначается знаком
5.2 Сокращения
ВСН - код Боуза-Чоудхури-Хоквингема (Bose-Chaudhuri-Hocquenghem);
ECI - интерпретация в расширенном канале (Extended Channel Interpretation);
RS - код Рида-Соломона (Reed-Solomon).
5.3 Соглашения об обозначениях
5.3.1 Позиции модулей
Для упрощения ссылок позиции модулей определяют через координаты строки и столбца символа в форме (i, j), где i определяет строку (отсчет производят сверху вниз) и j - столбец (отсчет производят слева направо); отсчет начинают с 0. Таким образом, модуль (0, 0) расположен в верхнем левом углу символа.
5.3.2 Представление байтов
Содержимое байта представляют в его шестнадцатеричном значении.
5.3.3 Ссылки на версии
Для символов QR Code версию символа представляют в форме V-E, где V - обозначает номер версии (от 1 до 40), а E указывает уровень исправления ошибок (L, M, Q, H).
Для символов Micro QR Code версию символа представляют в форме MV-E, где M указывает на символ формата Micro QR Code, а V (со значениями от 1 до 4) и E (со значениями L, M, Q) соответствуют вышеуказанному.
6 Описание символов
6.1 Основные параметры
QR Code - это матричная символика, имеющая следующие параметры:
a) форматы:
1) QR Code, который обладает полным набором возможностей и максимальной емкостью для данных;
2) Micro QR Code, который обладает уменьшенным набором возможностей, рядом ограниченных возможностей и уменьшенной емкостью для данных (по сравнению с символами QR Code);
b) кодируемые наборы знаков:
1) числовые данные (цифры от 0 до 9);
2) алфавитно-цифровые данные (цифры от 0 до 9; прописные буквы от A до Z и девять специальных графических знаков: пробел, $, %, *, +, -, ., /, :);
3) байтовые данные (по умолчанию - в соответствии с ИСО/МЭК 8859-1 или другой набор знаков
________________
4) знаки кандзи
________________
c) представление данных:
темный модуль, как правило, является двоичной единицей, а светлый модуль - двоичным нулем. В случаях обратимого изображения - см. 6.2;
d) размеры символа (не включая свободную зону):
1) символы Micro QR Code: размеры (в модулях) от 11
2) символы QR Code: размеры (в модулях) от 21
e) число знаков данных в символе:
1) символ Micro QR Code максимального размера, версия M4-L:
- числовые данные: 35 знаков;
- алфавитно-цифровые данные: 21 знак;
- данные в байтах: 15 знаков;
- знаки кандзи: 9 знаков;
2) символ QR Code максимального размера, версия 40-L:
- числовые данные: 7089 знаков;
- алфавитно-цифровые данные: 4296 знаков;
- данные в байтах: 2953 знака;
- знаки кандзи: 1817 знаков;
f) выбираемый уровень исправления ошибок:
Используют четыре уровня исправления ошибок Рида-Соломона (обозначаемые L, M, Q и H в порядке увеличения занимаемой емкости):
- L - 7%;
- M - 15%;
- Q - 25%;
- H - 30 % от числа кодовых слов символа.
Для символов Micro QR Code уровень исправления ошибок Н не используют. Для Micro QR Code версии M1 алгоритм Рида-Соломона обеспечивает только возможность обнаружения ошибок;
g) тип кода:
- матричный;
h) независимость от ориентации:
- обеспечивается (допускается поворот на любой угол и зеркальное отображение).
На рисунке 1 представлен символ QR Code версии 1 с типовым цветовым сочетанием, символ с инвертированным изображением представлен в 6.2, на рисунках символы приведены в обычной ориентации и в зеркальном отображении.
На рисунке 2 представлен символ Micro QR Code версии M2 с типовым цветовым сочетанием и символ с инвертированными коэффициентами отражения (см. 6.2), на рисунках символы приведены в обычной ориентации и в зеркальном отображении.
6.2 Дополнительные свойства
В QR Code используются следующие дополнительные свойства, устанавливаемые по выбору:
- структурированное соединение
Эта опция обеспечивает возможность представления одного длинного сообщения в виде нескольких (до 16) логически связанных символов QR Code, которые могут быть отсканированы в любой последовательности с возможностью корректного восстановления исходных данных. В символах Micro QR Code структурированное соединение не допускается;
- интерпретация в расширенном канале (ECI)
Эта опция обеспечивает возможность использования наборов знаков, отличающихся от набора знаков по умолчанию, (например, арабского, кириллицы, греческого) и иных интерпретаций данных (например, уплотнение данных с использованием определенных схем уплотнения) или соответствия другим международным отраслевым требованиям к кодированию. В символах Micro QR Code не допускается использование ECI, отличающейся от интерпретации по умолчанию;
- инверсия значений коэффициента отражения
Символы, предназначенные для считывания, могут быть напечатаны так, что изображение представлено темными модулями на светлом фоне, или светлыми модулями на темном фоне (см. рисунок 1 и 2). В настоящем стандарте рассматриваются символы QR Code, представляющие собой темные модули, расположенные на светлом фоне, следовательно в случае производства символов с инвертированными значениями коэффициента отражения, положения, относящиеся к темным или светлым модулям, следует применять соответственно к светлым или темным модулям;
- зеркальное отображение
Расположение модулей, определенных в настоящем стандарте, представляет "нормальную" ориентацию символа. Допускается декодировать символ, в котором модули размещены в обратном порядке по горизонтали. При рассмотрении шаблонов поиска в левом верхнем, правом верхнем и левом нижнем углах символа действие зеркального отображения заключается в обмене позициями строк и столбцов модулей.
Рисунок 1 - Примеры символов QR Code, кодирующих текст "QR Code Symbol"
a) обычная ориентация и типовые значения коэффициентов отражения; b) обычная ориентация и инвертированные значения коэффициентов отражения; c) зеркальная ориентация изображения и типовые значения коэффициентов отражения; d) зеркальная ориентация изображения и инвертированные значения коэффициентов отражения
Рисунок 1 - Примеры символов QR Code, кодирующих текст "QR Code Symbol"
Рисунок 2 - Примеры символов Micro QR Code версии M2, кодирующих текст "01234567"
a) обычная ориентация и типовые значения коэффициентов отражения; b) обычная ориентация и инвертированные значения коэффициентов отражения; c) зеркальная ориентация изображения и типовые значения коэффициентов отражения; d) зеркальная ориентация изображения и инвертированные значения коэффициентов отражения
Рисунок 2 - Примеры символов Micro QR Code версии M2, кодирующих текст "01234567"
Примечание - Угловые метки на рисунках 1 и 2 указывают границы свободной зоны.
6.3 Структура символов
6.3.1 Общие положения
Каждый символ QR Code состоит из номинально квадратных модулей, структурированных в регулярную матрицу, и включает область кодирования и функциональные шаблоны, называемые шаблонами поиска, разделителями, шаблонами синхронизации и направляющими шаблонами. Функциональные шаблоны не содержат данных. Символ должен быть окружен со всех четырех сторон свободной зоной. На рисунке 3 представлена структура символа версии 7. На рисунке 4 представлена структура символа версии M3.
Рисунок 3 - Структура символа QR Code версии 7
Рисунок 3 - Структура символа QR Code версии 7
Рисунок 4 - Структура символа Micro QR Code версии М3
Рисунок 4 - Структура символа Micro QR Code версии М3
6.3.2 Версии и размеры символов
6.3.2.1 Символы QR Code
Существует 40 возможных вариантов размера символа QR Code, обозначаемых как версия 1, версия 2, ... , версия 40. Версия 1 имеет размеры (в модулях) 21
Рисунок 5 - Символы версий 1 и 2
Рисунок 5 - Символы версий 1 и 2
Рисунок 6 - Символ версии 6
Рисунок 6 - Символ версии 6
Рисунок 7 - Символ версии 7
Рисунок 7 - Символ версии 7
Рисунок 8 - Символ версии 14
Рисунок 8 - Символ версии 14
Рисунок 9 - Символ версии 21
Рисунок 9 - Символ версии 21
Рисунок 10 - Символ версии 40
Рисунок 10 - Символ версии 40
6.3.2.2 Символы Micro QR Code
Символы Micro QR Code могут иметь четыре размера, обозначаемые как версии с M1 по M4. Версия M1 имеет размеры (в модулях) 11
Примечание - Представлены два формата символа M3, отличающиеся только размещением кодовых слов согласно уровню исправления ошибок.
Рисунок 11 - Версии символов Micro QR Code
Рисунок 11 - Версии символов Micro QR Code
6.3.3. Шаблон поиска
6.3.3.1 Символы QR Code
Имеются три одинаковых шаблона поиска, размещенных в левом верхнем, правом верхнем и левом нижнем углах символа, как показано на рисунке 3. Каждый шаблон поиска выглядит как три вложенных друг в друга квадрата: темного размерами (в модулях) 7
6.3.3.2 Символы Micro QR Code
Единственный шаблон поиска по 6.3.3.1 расположен в верхнем левом углу символа, как показано на рисунке 4. Идентификация шаблона поиска вместе с шаблонами синхронизации однозначно определяет размер, положение и угловую ориентацию символа в поле обзора.
Рисунок 12 - Структура шаблона поиска
Рисунок 12 - Структура шаблона поиска
6.3.4 Разделитель
Разделитель, шириной один модуль, состоящий только из светлых модулей, располагается между каждым из шаблонов поиска и областью кодирования, как показано на рисунках 3 и 4.
6.3.5 Шаблон синхронизации
Горизонтальный и вертикальный шаблоны синхронизации представляют собой соответственно строку или столбец шириной один модуль, состоящих из чередующихся темных и светлых модулей, начинающихся и заканчивающихся темным модулем. С помощью этих шаблонов определяют размер и версию символа, а также позиции для нахождения координат модулей.
В символах QR Code горизонтальный шаблон синхронизации проходит по шестой строке символа между разделителями верхнего левого и верхнего правого шаблона поиска символа; вертикальный шаблон синхронизации проходит по шестому столбцу между разделителями верхнего левого и нижнего левого шаблона поиска символа, как показано на рисунке 3.
В символах Micro QR Code горизонтальный шаблон синхронизации проходит по нулевой строке символа от правого разделителя до правого края символа; вертикальный шаблон синхронизации проходит по нулевому столбцу символа от нижнего разделителя до нижнего края символа, как показано на рисунке 4.
6.3.6 Направляющие шаблоны
Направляющие шаблоны присутствуют только в символах QR Code версии 2 или версии с большим номером. Каждый шаблон представляет собой суперпозицию трех вложенных друг в друга квадратов и состоит из темного квадрата размерами (в модулях) 5
6.3.7 Область кодирования
Эта область содержит знаки символа, представляющие данные, кодовые слова исправления ошибок, информацию о формате и версии. Подробные требования к знакам символа приведены в 7.7.1, к информации о формате - в 7.9, к информации о версии - в 7.10.
6.3.8 Свободная зона
Это область должна быть свободной от всех других маркировок и окружать символ со всех четырех сторон. Коэффициент отражения свободной зоны должен соответствовать коэффициенту отражения светлых модулей.
Для символов QR Code ширина свободной зоны должна быть равна 4Х.
Для символов Micro QR Code ширина свободной зоны должна быть равна 2Х.
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
Версия | Число модулей/ | Число модулей в функциональных шаблонах (B) | Число модулей в информации о версии (C) | Оставшиеся модули для данных (D) | Объем данных (кодовых | Остаточные биты |
M1 | 11 | 70 | 15 | 36 | 5 | 0 |
M2 | 13 | 74 | 15 | 80 | 10 | 0 |
M3 | 15 | 78 | 15 | 132 | 17 | 0 |
M4 | 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 |
4 | 33 | 251 | 31 | 807 | 100 | 7 |
5 | 37 | 259 | 31 | 1079 | 134 | 7 |
6 | 41 | 267 | 31 | 1383 | 172 | 7 |
7 | 45 | 390 | 67 | 1568 | 196 | 0 |
8 | 49 | 398 | 67 | 1936 | 242 | 0 |
9 | 53 | 406 | 67 | 2336 | 292 | 0 |
10 | 57 | 414 | 67 | 2768 | 346 | 0 |
11 | 61 | 422 | 67 | 3232 | 404 | 0 |
12 | 65 | 430 | 67 | 3728 | 466 | 0 |
13 | 69 | 438 | 67 | 4256 | 532 | 0 |
14 | 73 | 611 | 67 | 4651 | 581 | 3 |
15 | 77 | 619 | 67 | 5243 | 655 | 3 |
16 | 81 | 627 | 67 | 5867 | 733 | 3 |
17 | 85 | 635 | 67 | 6523 | 815 | 3 |
18 | 89 | 643 | 67 | 7211 | 901 | 3 |
19 | 93 | 651 | 67 | 7931 | 991 | 3 |
20 | 97 | 659 | 67 | 8683 | 1085 | 3 |
21 | 101 | 882 | 67 | 9252 | 1156 | 4 |
22 | 105 | 890 | 67 | 10068 | 1258 | 4 |
23 | 109 | 898 | 67 | 10916 | 1364 | 4 |
24 | 113 | 906 | 67 | 11796 | 1474 | 4 |
25 | 117 | 914 | 67 | 12708 | 1588 | 4 |
26 | 121 | 922 | 67 | 13652 | 1706 | 4 |
27 | 125 | 930 | 67 | 14628 | 1828 | 4 |
28 | 129 | 1203 | 67 | 15371 | 1921 | 3 |
29 | 133 | 1211 | 67 | 16411 | 2051 | 3 |
30 | 137 | 1219 | 67 | 17483 | 2185 | 3 |
31 | 141 | 1227 | 67 | 18587 | 2323 | 3 |
32 | 145 | 1235 | 67 | 19723 | 2465 | 3 |
33 | 149 | 1243 | 67 | 20891 | 2611 | 3 |
34 | 153 | 1251 | 67 | 22091 | 2761 | 3 |
35 | 157 | 1574 | 67 | 23008 | 2876 | 0 |
36 | 161 | 1582 | 67 | 24272 | 3034 | 0 |
37 | 165 | 1590 | 67 | 25568 | 3196 | 0 |
38 | 169 | 1598 | 67 | 26896 | 3362 | 0 |
39 | 173 | 1606 | 67 | 28256 | 3532 | 0 |
40 | 177 | 1614 | 67 | 29648 | 3706 | 0 |
|
7.2 Анализ данных
Анализируют строку входных данных с целью определения ее содержания и выбирают установленную по умолчанию или другую соответствующую ECI и соответствующий режим, чтобы закодировать каждую последовательность знаков в соответствии с 7.4. Каждый режим последовательно от числового до режима кандзи требует большего числа битов на знак. Допускается переключение с режима на другой в пределах символа с целью уменьшить длину выходного потока данных, некоторые части которых могут более эффективно кодироваться в одном режиме, в отличие от других частей, например числовые последовательности, сопровождаемые алфавитно-цифровыми последовательностями. Теоретически наиболее эффективно кодировать данные в режиме, требующем наименьшего числа битов на знак входных данных, но так как есть некоторая избыточность в виде индикатора режима и индикатора числа знаков, связанного с каждым изменением режима, то в результате не всегда может получиться самый короткий двоичный поток, если изменить режимы для нескольких знаков. Кроме того, так как емкость символов увеличивается дискретным ступенчатым образом от одной версии до следующей, не всегда требуется обеспечивать максимальную эффективность. Руководство по уменьшению длины двоичного потока приведено в приложении J. В символах Micro QR Code есть ограничения на использование режимов, доступных в версиях с меньшими номерами. В J.2 приведены версии символов Micro QR Code, соответствующим различным комбинациям двух режимов.
7.3 Режимы
7.3.1 Общие положения
Режимы, представленные в настоящем разделе, основаны на значениях знаков и представлениях, связанных со значением ECI по умолчанию. Когда задействована любая другая ECI (только в символах QR Code), для определения оптимального режима рекомендуется использовать значения байта, а не определенные представления знаков. Например, числовой режим следует использовать, если встречается последовательность байтов данных, значения которых находятся в пределах диапазона от 30
7.3.2 Интерпретация в расширенном канале (ECI)
Протокол интерпретации в расширенном канале (ECI), определенный в Международных технических спецификациях организации AIM Inc. "Интерпретации в расширенном канале" (International Technical Specification Extended Channel Interpretations)
________________
Для QR Code по умолчанию принята интерпретация ECI 000003, соответствующая набору знаков в ИСО/МЭК 8859-1.
В международных применениях могут быть использованы другие наборы знаков с помощью протокола ECI
________________
Эффективность применения режима ECI заключается во вставке в данные управляющей последовательности ECI. Непосредственно за ней должен стоять индикатор другого режима (например, для эффективного кодирования); режим ECI действует до конца сообщения или до следующего индикатора режима ECI.
7.3.3 Числовой режим
Числовой режим кодирует данные, состоящие из десятичных цифр (0-9) (байтовые значения от 30
7.3.4 Алфавитно-цифровой режим
Алфавитно-цифровой режим позволяет закодировать входные данные из набора 45 знаков: 10 десятичных цифр (0-9) (байтовые значения от 30
В символике Micro QR Code версии M1 алфавитно-цифровой режим недоступен.
7.3.5 Байтовый режим
В этом режиме каждый знак входных данных кодируется 8 битами.
В замкнутых системах, национальных или специальных реализациях QR Code, в байтовом режиме могут быть закодированы альтернативные 8-битовые наборы знаков, определенные в других частях ИСО/МЭК 8859. Если установлен альтернативный набор знаков, участвующие стороны, которые считывают символы QR Code, должны быть уведомлены в спецификации по применению или в двустороннем соглашении, какой именно набор знаков следует использовать.
В символике Micro QR Code версий M1и M2 байтовый режим недоступен.
7.3.6 Режим кандзи
Режим кандзи эффективно кодирует знаки кандзи в соответствии с системой Shift JIS, основанной на JIS X 0208. Значения Shift JIS получены сдвигом соответствующих значений JIS X 0208. Кодирование со сдвигом подробно описано в JIS X 0208. Каждый двухбайтовый знак кодируется в 13-битовое кодовое слово.
Когда набор знаков, указанный для 8-битового байтового режима, использует байтовые значения в диапазоне от 81
В символике Micro QR Code версий M1 и M2 режим кандзи недоступен.
7.3.7 Смешанный режим
Символы QR Code могут содержать последовательности данных в любой комбинации режимов, описанных в 7.3.2-7.3.9. Символы Micro QR Code могут содержать последовательности данных в любой комбинации режимов, допустимых для соответствующей версии и описанных в 7.3.3-7.3.7.
В приложении J приведено руководство для выбора наиболее эффективного преобразования входного потока данных в символ QR Code с множеством режимов. В подразделе J.3 приведено описание получения комбинации из двух режимов для допустимых версий символа Micro QR Code.
7.3.8 Режим структурированного соединения
Режим структурированного соединения используется в том случае, когда требуется разделить одно кодируемое сообщение на несколько символов QR Code. Все эти символы должны быть считаны, чтобы корректно восстановить первоначальное сообщение. Заголовок структурированного соединения кодируется в каждом символе и содержит информацию о длине последовательности символов, позиции символа в этой последовательности и идентификатор для проверки принадлежности всех символов одному сообщению. В разделе 8 приведена более полная информация о правилах кодирования структурированного соединения.
В символике Micro QR Code режим структурированного соединения недоступен.
7.3.9 Режим функционального знака 1 (FNC1)
Режим функционального знака 1 (FNC1) используется в сообщениях, которые содержат данные специального формата. FNC1 в "первой позиции", указывает, что данные отформатированы в соответствии с Общими спецификациями GS1. FNC1 во "второй позиции" определяет данные, отформатированные в соответствии с применением, согласованными с организацией AIM Inc. Режим FNC1 воздействует на все содержимое символа, но последующие индикаторы режима на него не оказывают влияния.
Примечание - "Первая позиция" и "вторая позиция" не относятся к фактическим местоположениям, но основаны на позиции знаков аналогично символике Code 128.
В символике Micro QR Code режим FNC1 недоступен.
7.4 Кодирование данных
7.4.1 Последовательность данных
Входные данные преобразуются в двоичный поток, состоящий из одного или нескольких сегментов, каждый из которых кодируется в собственном режиме. Двоичный поток начинается с индикатора режима и в ECI по умолчанию. Если с самого начала требуется ECI, отличающаяся от ECI по умолчанию, то двоичный поток должен начинаться с заголовка ECI перед первым сегментом.
Заголовок ECI (если присутствует) состоит из:
- индикатора режима ECI (4 бита)
- обозначения ECI (8, 16 или 24 бита)
Заголовок ECI начинается с первого (старшего) бита индикатора режима ECI и завершается последним (младшим) битом обозначения ECI.
Остальной двоичный поток может состоять из нескольких сегментов, каждый из которых состоит из:
- индикатора режима;
- индикатора числа знаков;
- двоичного потока данных.
Каждый сегмент режима начинается с первого (старшего) бита индикатора режима и заканчиваться последним (младшего) битом двоичного потока данных. Между сегментами нет явного разделителя, поскольку их длина однозначно определяется правилами действующего режима и числом входных знаков данных.
Чтобы закодировать последовательность входных данных в текущем режиме, следует повторно использовать этапы в 7.4.2-7.4.7. В таблице 2 указаны индикаторы для каждого режима. В таблице 3 приведен размер индикатора числа знаков, который может иметь различные значения в зависимости от используемого режима и версии символа.
Таблица 2 - Индикаторы режима для QR Code
Режим | Символы QR Code | Символы Micro QR Code | |||
версия | любой версии | M1 | M2 | M3 | M4 |
Длина индикатора режима, биты | 4 | 0 | 1 | 2 | 3 |
ECI | 0111 | n/a | n/a | n/a | n/a |
Числовой | 0001 | n/a | 0 | 00 | 000 |
Алфавитно-цифровой | 0010 | n/a | 1 | 01 | 001 |
Байтовый | 0100 | n/a | n/a | 10 | 010 |
Кандзи | 1000 | n/a | n/a | 11 | 011 |
Структурированное соединение | 0011 | n/a | n/a | n/a | n/a |
FNC1 | 0101 (1-я позиция) | ||||
1001 (2-я позиция) | n/a | n/a | n/a | n/a | |
Ограничитель (конец сообщения) | 0000 | 000 | 00000 | 0000000 | 000000000 |
|
Таблица 3 - Число битов в индикаторе числа знаков для QR Code
Версия | Числовой режим | Алфавитно-цифровой режим | Байтовый режим | Режим кандзи |
M1 | 3 | n/a | n/a | n/a |
M2 | 4 | 3 | n/a | n/a |
M3 | 5 | 4 | 4 | 3 |
ГОСТ Р ИСО/МЭК 18004-2015
Группа П85
НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ
Информационные технологии
ТЕХНОЛОГИИ АВТОМАТИЧЕСКОЙ ИДЕНТИФИКАЦИИ И СБОРА ДАННЫХ
Спецификация символики штрихового кода QR Code
Information technology. Automatic identification and data capture techniques. QR Code bar code symbology specification
ОКС 35.040
01.080.50
Дата введения 2016-02-01
Предисловие
1 ПОДГОТОВЛЕН Ассоциацией автоматической идентификации "ЮНИСКАН/ГС1 РУС" совместно с Обществом с ограниченной ответственностью (ООО) НПЦ "Интелком" на основе аутентичного перевода стандарта, указанного в пункте 4, выполненного ООО НПЦ "Интелком"
2 ВНЕСЕН Техническим комитетом по стандартизации ТК 355 "Технологии автоматической идентификации и сбора данных"
3 УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Приказом Федерального агентства по техническому регулированию и метрологии от 3 июня 2015 г. N 544-ст
4 Настоящий стандарт идентичен международному стандарту ИСО/МЭК 18004:2015* "Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода QR Code" (ISO/IEC 18004:2015 "Information technology - Automatic identification and data capture techniques - QR Code bar code symbology specification"), за исключением приложения ДА, содержащего сведения о наборах знаков по ИСО/МЭК 646, ИСО/МЭК 8859-1 и ИСО/МЭК 8859-5 и приложения ДБ, содержащего сведения о соответствии ссылочных международных стандартов ссылочным национальным стандартам.
________________
* Доступ к международным и зарубежным документам, упомянутым здесь и далее по тексту, можно получить, перейдя по ссылке на сайт . - .
При применении настоящего стандарта рекомендуется использовать вместо ссылочных международных стандартов соответствующие им национальные стандарты, сведения о которых приведены в дополнительном приложении ДВ*
________________
* Вероятно, ошибка оригинала. Следует читать: приложении ДБ. - .
5 Некоторые положения международного стандарта, указанного в пункте 4, могут являться объектами получения патентных прав. Международная организация по стандартизации (ИСО) не несет ответственности за идентификацию некоторых или всех подобных прав
6 ВВЕДЕН ВПЕРВЫЕ
Правила применения настоящего стандарта установлены в ГОСТ Р 1.0-2012 (раздел 8). Информация об изменениях к настоящему стандарту публикуется в ежегодном (по состоянию на 1 января текущего года) информационном указателе "Национальные стандарты", а официальный текст изменений и поправок - в ежемесячном информационном указателе "Национальные стандарты". В случае пересмотра (замены) или отмены настоящего стандарта соответствующее уведомление будет опубликовано в ближайшем выпуске информационном указателе "Национальные стандарты". Соответствующая информация, уведомление и тексты размещаются также в информационной системе общего пользования - на официальном сайте национального органа Российской Федерации по стандартизации в сети Интернет (www.gost.ru)
Введение
Введение
Необходимо различать четыре различных с технической точки зрения представителя семейства символики QR Code, которые, однако, тесно связаны друг с другом и представляют собой следующую эволюционную последовательность:
- QR Code Model 1 - первоначальная спецификация QR Code, описание которой приведено в AIM ITS 97-001 Международная спецификация символики. QR Code (International Symbology Specification - QR Code);
- QR Code Model 2 - расширенная форма символики с дополнительными свойствами (прежде всего дополнение символа направляющими шаблонами для более точной навигации по большим символам), которая стала основой для первой версии ИСО/МЭК 18004*);
________________
* Имеется в виду ИСО/МЭК 18004:2000.
- QR Code (основа для второй версии ИСО/МЭК 18004*) символика, в значительной степени соответствующая QR Code Model 2; отличающаяся от этого формата QR Code дополнительными параметрами для символов, представленных в зеркальном отображении инвертированного изображения (светлые символы на темном фоне), а также опциями, используемыми для определения альтернативных наборов знаков, отличающихся от набора знаков по умолчанию;
________________
* Имеется в виду ИСО/МЭК 18004:2006.
- формат Micro QR Code (установленный во второй версии ИСО/МЭК 18004), являющийся вариантом QR Code с уменьшенным числом служебных модулей и ограниченным диапазоном размеров, позволяющим представлять малые объемы данных в символах небольшого размера, особенно подходящих для прямого маркирования деталей и компонентов и для применений с ограниченным пространством для размещения символа.
QR Code - матричная символика. Символ состоит из массива номинально квадратных модулей, структурированных в регулярную квадратную матрицу, включая уникальные шаблоны поиска, размещенные в трех углах символа (в Micro QR Code - только в одном углу) и предназначенные для упрощения определения места нахождения, размера и наклона символа. Предусмотрен широкий диапазон размеров и четыре уровня исправления ошибок. Размер символа в модулях устанавливает пользователь для обеспечения производства символов различными методами.
Символы QR Code Model 2 полностью совместимы с системами, считывающими символы QR Code.
Символы QR Code Model 1 рекомендуется использовать только в замкнутых применениях, и нет необходимости в поддержке формата QR Code Model 1 для оборудования, соответствующего настоящему стандарту. Поскольку символы QR Code рекомендуется в качестве образца для использования во вновь создаваемых и открытых системах применения QR Code, в настоящем стандарте приведено полное описание символов QR Code, также в приложении N приведен перечень отличий символов QR Code Model 1 от символов QR Code.
Сноски в тексте стандарта, выделенные курсивом, приведены для пояснения текста оригинала.
1 Область применения
Настоящий стандарт устанавливает требования к символике QR Code
________________
2 Соответствие
Символы QR Code (и оборудование, предназначенное для создания или считывания символов QR Code) соответствуют требованиям настоящего стандарта, если они обеспечивают или поддерживают параметры, приведенные в настоящем стандарте.
Символы, созданные в соответствии с требованиями QR Code Model 1 по ИСО/МЭК 18004:2006, не могут быть считаны с помощью оборудования, соответствующего настоящему стандарту.
Символы, созданные в соответствии с требованиями QR Code Model 2 по ИСО/МЭК 18004:2000, считывают с помощью оборудования, соответствующего настоящему стандарту.
Символы, созданные в соответствии с требованиями настоящего стандарта, не могут быть считаны с помощью оборудования по ИСО/МЭК 18004:2000. Символы, которые используют дополнительные параметры QR Code, также не могут быть считаны с помощью такого оборудования.
Символы, созданные в соответствии с требованиями настоящего стандарта, не могут быть напечатаны с помощью оборудования, соответствующего требованиям предыдущей версии ИСО/МЭК 18004:2000. Символы, которые используют дополнительные параметры QR Code, также не могут быть напечатаны с помощью такого оборудования.
Разновидности символики QR Code Model 2 и Micro QR Code рекомендуется использовать для открытых систем и вновь создаваемых применений.
3 Нормативные ссылки
В настоящем стандарте использованы нормативные ссылки на следующие стандарты и другие нормативные документы*, которые необходимо учитывать при использовании настоящего стандарта. В случае ссылок на документы, у которых указана дата утверждения, необходимо пользоваться только указанной редакцией. В случае, когда дата утверждения не приведена, следует пользоваться последней редакцией ссылочных документов, включая любые поправки и изменения к ним:
_______________
* Таблицу соответствия национальных стандартов международным см. по ссылке. - .
ИСО/МЭК 8859-1:1998
________________
ИСО/МЭК 15415 Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация испытаний символов штрихового кода для оценки качества печати. Двумерные символы (Information technology - Automatic identification and data capture techniques - Bar code print quality test specification - Two-dimensional symbols)
ИСО/МЭК 19762-1 Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 1. Общие термины, связанные с автоматической идентификацией и сбором данных (Information technology - Automatic identification and data capture (AIDC) techniques - Harmonized vocabulary - Part 1: General terms relating to AIDC)
ИСО/МЭК 19762-2 Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 2. Оптические носители данных (ОНД) (Information technology - Automatic identification and data capture (AIDC) techniques - Harmonized vocabulary - Part 2: Optically readable media (ORM)
JIS X 0201 7-битовые и 8-битовые наборы знаков для обмена информацией (7-bit and 8-bit coded character sets for information interchange)
4 Термины и определения
В настоящем стандарте применяются термины, определенные в ИСО/МЭК 19762-1, ИСО/МЭК 19762-2, а также следующие:
4.1 индикатор числа знаков (character count indicator): Битовая последовательность, определяющая длину строки данных в текущем режиме кодирования.
4.2 маскирование данных (data masking): Процесс применения операции XOR к комбинациям битов в области кодирования с использованием шаблонов маски, с целью образования символа со сбалансированным числом темных и светлых модулей и уменьшения вероятности присутствия комбинаций, которые могут помешать быстрой обработке изображения.
4.3 указатель шаблона маски данных (data mask pattern reference): Трехбитовый идентификатор, указывающий шаблон маски данных, используемый в символе.
4.4 область кодирования (encoding region): Область символа, свободная от функциональных шаблонов и предназначенная для кодирования данных и кодовых слов исправления ошибок и информации о версии и формате символа.
4.5 исключительный поднабор (exclusive subset): Подмножество знаков в наборе знаков режима, которые не пересекаются с более ограниченным набором знаков другого режима.
4.6 шаблон расширения (extension pattern): Функциональный шаблон в символах Model 1, не кодирующий данные.
4.7 информация о формате (format information): Шаблон, в котором закодирована информация об основных параметрах, необходимых для обеспечения декодирования оставшейся части области кодирования.
4.8 QR Code (QR Code): Обозначение всех символов QR Code от версии 1 до версии 40 для обеспечения возможности их отличия от символов Micro QR Code.
4.9 функциональный шаблон (function pattern): Дополнительные компоненты символа (шаблоны поиска, разделитель, шаблоны синхронизации, направляющие шаблоны), которые требуются для уточнения места нахождения символа или определения его параметров с целью обеспечения декодирования.
4.10 маскирование (masking): Процесс применения операции XOR к комбинации битов в какой-либо области символа с использованием шаблона маски для уменьшения комбинаций, которые могут препятствовать быстрой обработке изображения.
4.11 микро (micro): Обозначение всех символов Micro QR Code от версии М1 до версии М4 для обеспечения возможности их отличия от символов QR Code.
4.12 режим (mode): Способ преобразования последовательности кодируемых знаков в двоичную строку.
4.13 индикатор режима (mode indicator): Идентификатор, состоящий из четырех битов, указывающий режим, в котором закодирована следующая за ним последовательность данных.
4.14 бит-заполнитель (padding bit): Нулевой бит, не представляющий данные, предназначенный для заполнения оставшихся незаполненными позиций последнего кодового слова после ограничителя
________________
4.15 остаточный бит (remainder bit): Нулевой бит, не представляющий данные, используемый для заполнения оставшихся незаполненными позиций в области кодирования после последнего знака символа в случае, если область кодирования, предназначенная для знаков символа, не полностью распределена для размещения 8-битовых знаков символа.
4.16 остаточное кодовое слово (remainder codeword): Кодовое слово - заполнитель, размещаемое после кодовых слов исправления ошибок, используемое для заполнения оставшихся незаполненными позиций кодовых слов с целью доукомплектования символа, если общее число кодовых слов данных и исправления ошибок не достаточно для полного заполнения его номинальной емкости
________________
4.17 сегмент (segment): Последовательность данных, закодированная согласно правилам одной интерпретации в расширенном канале (ECI) или режима кодирования.
4.18 разделитель (separator): Функциональный шаблон, состоящий из светлых модулей, шириной один модуль, отделяющий шаблоны поиска от остального содержимого символа.
4.19 номер символа (symbol number): Поле из трех битов, указывающее версию символа и уровень исправления ошибок, используемое как часть информации о формате в символах Micro QR Code.
4.20 ограничитель (terminator): Битовый шаблон, состоящий из некоторого числа (зависящего от символа) нулевых битов, используемый для индикации окончания двоичной строки, представляющей данные.
4.21 шаблон синхронизации (timing pattern): Чередующаяся последовательность темных и светлых модулей, предназначенная для определения координат модулей в символе.
4.22 версия (version): Размер символа в соответствии с его позицией в последовательности допустимых размеров символов; символы Micro QR Code имеют размеры (в модулях) от 11
Примечание - Уровень исправления ошибок, применимый к символу, может быть добавлен к обозначению версии, например, версия 4-L или версия M3-Q.
4.23 информация о версии (version information): Шаблон, закодированный в некоторых символах QR Code, содержащий информацию о версии символа вместе с битами исправления ошибок для этих данных.
5 Математические и логические символы, обозначения и соглашения об обозначениях
5.1 Математические и логические символы
Определения математических символов, используемых в формулах и уравнениях, приведены после соответствующих формул и уравнений.
Кроме того, в настоящем стандарте применяются следующие математические и логические операторы:
div - оператор деления на целое число;
mod - оператор вычисления остатка от деления на целое число;
XOR - исключающее ИЛИ (exclusive-or) - логическая функция или операция, результатом которой является единица только в случае неэквивалентности двух входов; обозначается знаком
5.2 Сокращения
ВСН - код Боуза-Чоудхури-Хоквингема (Bose-Chaudhuri-Hocquenghem);
ECI - интерпретация в расширенном канале (Extended Channel Interpretation);
RS - код Рида-Соломона (Reed-Solomon).
5.3 Соглашения об обозначениях
5.3.1 Позиции модулей
Для упрощения ссылок позиции модулей определяют через координаты строки и столбца символа в форме (i, j), где i определяет строку (отсчет производят сверху вниз) и j - столбец (отсчет производят слева направо); отсчет начинают с 0. Таким образом, модуль (0, 0) расположен в верхнем левом углу символа.
5.3.2 Представление байтов
Содержимое байта представляют в его шестнадцатеричном значении.
5.3.3 Ссылки на версии
Для символов QR Code версию символа представляют в форме V-E, где V - обозначает номер версии (от 1 до 40), а E указывает уровень исправления ошибок (L, M, Q, H).
Для символов Micro QR Code версию символа представляют в форме MV-E, где M указывает на символ формата Micro QR Code, а V (со значениями от 1 до 4) и E (со значениями L, M, Q) соответствуют вышеуказанному.
6 Описание символов
6.1 Основные параметры
QR Code - это матричная символика, имеющая следующие параметры:
a) форматы:
1) QR Code, который обладает полным набором возможностей и максимальной емкостью для данных;
2) Micro QR Code, который обладает уменьшенным набором возможностей, рядом ограниченных возможностей и уменьшенной емкостью для данных (по сравнению с символами QR Code);
b) кодируемые наборы знаков:
1) числовые данные (цифры от 0 до 9);
2) алфавитно-цифровые данные (цифры от 0 до 9; прописные буквы от A до Z и девять специальных графических знаков: пробел, $, %, *, +, -, ., /, :);
3) байтовые данные (по умолчанию - в соответствии с ИСО/МЭК 8859-1 или другой набор знаков
________________
4) знаки кандзи
________________
c) представление данных:
темный модуль, как правило, является двоичной единицей, а светлый модуль - двоичным нулем. В случаях обратимого изображения - см. 6.2;
d) размеры символа (не включая свободную зону):
1) символы Micro QR Code: размеры (в модулях) от 11
2) символы QR Code: размеры (в модулях) от 21
e) число знаков данных в символе:
1) символ Micro QR Code максимального размера, версия M4-L:
- числовые данные: 35 знаков;
- алфавитно-цифровые данные: 21 знак;
- данные в байтах: 15 знаков;
- знаки кандзи: 9 знаков;
2) символ QR Code максимального размера, версия 40-L:
- числовые данные: 7089 знаков;
- алфавитно-цифровые данные: 4296 знаков;
- данные в байтах: 2953 знака;
- знаки кандзи: 1817 знаков;
f) выбираемый уровень исправления ошибок:
Используют четыре уровня исправления ошибок Рида-Соломона (обозначаемые L, M, Q и H в порядке увеличения занимаемой емкости):
- L - 7%;
- M - 15%;
- Q - 25%;
- H - 30 % от числа кодовых слов символа.
Для символов Micro QR Code уровень исправления ошибок Н не используют. Для Micro QR Code версии M1 алгоритм Рида-Соломона обеспечивает только возможность обнаружения ошибок;
g) тип кода:
- матричный;
h) независимость от ориентации:
- обеспечивается (допускается поворот на любой угол и зеркальное отображение).
На рисунке 1 представлен символ QR Code версии 1 с типовым цветовым сочетанием, символ с инвертированным изображением представлен в 6.2, на рисунках символы приведены в обычной ориентации и в зеркальном отображении.
На рисунке 2 представлен символ Micro QR Code версии M2 с типовым цветовым сочетанием и символ с инвертированными коэффициентами отражения (см. 6.2), на рисунках символы приведены в обычной ориентации и в зеркальном отображении.
6.2 Дополнительные свойства
В QR Code используются следующие дополнительные свойства, устанавливаемые по выбору:
- структурированное соединение
Эта опция обеспечивает возможность представления одного длинного сообщения в виде нескольких (до 16) логически связанных символов QR Code, которые могут быть отсканированы в любой последовательности с возможностью корректного восстановления исходных данных. В символах Micro QR Code структурированное соединение не допускается;
- интерпретация в расширенном канале (ECI)
Эта опция обеспечивает возможность использования наборов знаков, отличающихся от набора знаков по умолчанию, (например, арабского, кириллицы, греческого) и иных интерпретаций данных (например, уплотнение данных с использованием определенных схем уплотнения) или соответствия другим международным отраслевым требованиям к кодированию. В символах Micro QR Code не допускается использование ECI, отличающейся от интерпретации по умолчанию;
- инверсия значений коэффициента отражения
Символы, предназначенные для считывания, могут быть напечатаны так, что изображение представлено темными модулями на светлом фоне, или светлыми модулями на темном фоне (см. рисунок 1 и 2). В настоящем стандарте рассматриваются символы QR Code, представляющие собой темные модули, расположенные на светлом фоне, следовательно в случае производства символов с инвертированными значениями коэффициента отражения, положения, относящиеся к темным или светлым модулям, следует применять соответственно к светлым или темным модулям;
- зеркальное отображение
Расположение модулей, определенных в настоящем стандарте, представляет "нормальную" ориентацию символа. Допускается декодировать символ, в котором модули размещены в обратном порядке по горизонтали. При рассмотрении шаблонов поиска в левом верхнем, правом верхнем и левом нижнем углах символа действие зеркального отображения заключается в обмене позициями строк и столбцов модулей.
Рисунок 1 - Примеры символов QR Code, кодирующих текст "QR Code Symbol"
a) обычная ориентация и типовые значения коэффициентов отражения; b) обычная ориентация и инвертированные значения коэффициентов отражения; c) зеркальная ориентация изображения и типовые значения коэффициентов отражения; d) зеркальная ориентация изображения и инвертированные значения коэффициентов отражения
Рисунок 1 - Примеры символов QR Code, кодирующих текст "QR Code Symbol"
Рисунок 2 - Примеры символов Micro QR Code версии M2, кодирующих текст "01234567"
a) обычная ориентация и типовые значения коэффициентов отражения; b) обычная ориентация и инвертированные значения коэффициентов отражения; c) зеркальная ориентация изображения и типовые значения коэффициентов отражения; d) зеркальная ориентация изображения и инвертированные значения коэффициентов отражения
Рисунок 2 - Примеры символов Micro QR Code версии M2, кодирующих текст "01234567"
Примечание - Угловые метки на рисунках 1 и 2 указывают границы свободной зоны.
6.3 Структура символов
6.3.1 Общие положения
Каждый символ QR Code состоит из номинально квадратных модулей, структурированных в регулярную матрицу, и включает область кодирования и функциональные шаблоны, называемые шаблонами поиска, разделителями, шаблонами синхронизации и направляющими шаблонами. Функциональные шаблоны не содержат данных. Символ должен быть окружен со всех четырех сторон свободной зоной. На рисунке 3 представлена структура символа версии 7. На рисунке 4 представлена структура символа версии M3.
Рисунок 3 - Структура символа QR Code версии 7
Рисунок 3 - Структура символа QR Code версии 7
Рисунок 4 - Структура символа Micro QR Code версии М3
Рисунок 4 - Структура символа Micro QR Code версии М3
6.3.2 Версии и размеры символов
6.3.2.1 Символы QR Code
Существует 40 возможных вариантов размера символа QR Code, обозначаемых как версия 1, версия 2, ... , версия 40. Версия 1 имеет размеры (в модулях) 21
Рисунок 5 - Символы версий 1 и 2
Рисунок 5 - Символы версий 1 и 2
Рисунок 6 - Символ версии 6
Рисунок 6 - Символ версии 6
Рисунок 7 - Символ версии 7
Рисунок 7 - Символ версии 7
Рисунок 8 - Символ версии 14
Рисунок 8 - Символ версии 14
Рисунок 9 - Символ версии 21
Рисунок 9 - Символ версии 21
Рисунок 10 - Символ версии 40
Рисунок 10 - Символ версии 40
6.3.2.2 Символы Micro QR Code
Символы Micro QR Code могут иметь четыре размера, обозначаемые как версии с M1 по M4. Версия M1 имеет размеры (в модулях) 11
Примечание - Представлены два формата символа M3, отличающиеся только размещением кодовых слов согласно уровню исправления ошибок.
Рисунок 11 - Версии символов Micro QR Code
Рисунок 11 - Версии символов Micro QR Code
6.3.3. Шаблон поиска
6.3.3.1 Символы QR Code
Имеются три одинаковых шаблона поиска, размещенных в левом верхнем, правом верхнем и левом нижнем углах символа, как показано на рисунке 3. Каждый шаблон поиска выглядит как три вложенных друг в друга квадрата: темного размерами (в модулях) 7
6.3.3.2 Символы Micro QR Code
Единственный шаблон поиска по 6.3.3.1 расположен в верхнем левом углу символа, как показано на рисунке 4. Идентификация шаблона поиска вместе с шаблонами синхронизации однозначно определяет размер, положение и угловую ориентацию символа в поле обзора.
Рисунок 12 - Структура шаблона поиска
Рисунок 12 - Структура шаблона поиска
6.3.4 Разделитель
Разделитель, шириной один модуль, состоящий только из светлых модулей, располагается между каждым из шаблонов поиска и областью кодирования, как показано на рисунках 3 и 4.
6.3.5 Шаблон синхронизации
Горизонтальный и вертикальный шаблоны синхронизации представляют собой соответственно строку или столбец шириной один модуль, состоящих из чередующихся темных и светлых модулей, начинающихся и заканчивающихся темным модулем. С помощью этих шаблонов определяют размер и версию символа, а также позиции для нахождения координат модулей.
В символах QR Code горизонтальный шаблон синхронизации проходит по шестой строке символа между разделителями верхнего левого и верхнего правого шаблона поиска символа; вертикальный шаблон синхронизации проходит по шестому столбцу между разделителями верхнего левого и нижнего левого шаблона поиска символа, как показано на рисунке 3.
В символах Micro QR Code горизонтальный шаблон синхронизации проходит по нулевой строке символа от правого разделителя до правого края символа; вертикальный шаблон синхронизации проходит по нулевому столбцу символа от нижнего разделителя до нижнего края символа, как показано на рисунке 4.
6.3.6 Направляющие шаблоны
Направляющие шаблоны присутствуют только в символах QR Code версии 2 или версии с большим номером. Каждый шаблон представляет собой суперпозицию трех вложенных друг в друга квадратов и состоит из темного квадрата размерами (в модулях) 5
6.3.7 Область кодирования
Эта область содержит знаки символа, представляющие данные, кодовые слова исправления ошибок, информацию о формате и версии. Подробные требования к знакам символа приведены в 7.7.1, к информации о формате - в 7.9, к информации о версии - в 7.10.
6.3.8 Свободная зона
Это область должна быть свободной от всех других маркировок и окружать символ со всех четырех сторон. Коэффициент отражения свободной зоны должен соответствовать коэффициенту отражения светлых модулей.
Для символов QR Code ширина свободной зоны должна быть равна 4Х.
Для символов Micro QR Code ширина свободной зоны должна быть равна 2Х.
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
Версия | Число модулей/ | Число модулей в функциональных шаблонах (B) | Число модулей в информации о версии (C) | Оставшиеся модули для данных (D) | Объем данных (кодовых | Остаточные биты |
M1 | 11 | 70 | 15 | 36 | 5 | 0 |
M2 | 13 | 74 | 15 | 80 | 10 | 0 |
M3 | 15 | 78 | 15 | 132 | 17 | 0 |
M4 | 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 |
4 | 33 | 251 | 31 | 807 | 100 | 7 |
5 | 37 | 259 | 31 | 1079 | 134 | 7 |
6 | 41 | 267 | 31 | 1383 | 172 | 7 |
7 | 45 | 390 | 67 | 1568 | 196 | 0 |
8 | 49 | 398 | 67 | 1936 | 242 | 0 |
9 | 53 | 406 | 67 | 2336 | 292 | 0 |
10 | 57 | 414 | 67 | 2768 | 346 | 0 |
11 | 61 | 422 | 67 | 3232 | 404 | 0 |
12 | 65 | 430 | 67 | 3728 | 466 | 0 |
13 | 69 | 438 | 67 | 4256 | 532 | 0 |
14 | 73 | 611 | 67 | 4651 | 581 | 3 |
15 | 77 | 619 | 67 | 5243 | 655 | 3 |
16 | 81 | 627 | 67 | 5867 | 733 | 3 |
17 | 85 | 635 | 67 | 6523 | 815 | 3 |
18 | 89 | 643 | 67 | 7211 | 901 | 3 |
19 | 93 | 651 | 67 | 7931 | 991 | 3 |
20 | 97 | 659 | 67 | 8683 | 1085 | 3 |
21 | 101 | 882 | 67 | 9252 | 1156 | 4 |
22 | 105 | 890 | 67 | 10068 | 1258 | 4 |
23 | 109 | 898 | 67 | 10916 | 1364 | 4 |
24 | 113 | 906 | 67 | 11796 | 1474 | 4 |
25 | 117 | 914 | 67 | 12708 | 1588 | 4 |
26 | 121 | 922 | 67 | 13652 | 1706 | 4 |
27 | 125 | 930 | 67 | 14628 | 1828 | 4 |
28 | 129 | 1203 | 67 | 15371 | 1921 | 3 |
29 | 133 | 1211 | 67 | 16411 | 2051 | 3 |
30 | 137 | 1219 | 67 | 17483 | 2185 | 3 |
31 | 141 | 1227 | 67 | 18587 | 2323 | 3 |
32 | 145 | 1235 | 67 | 19723 | 2465 | 3 |
33 | 149 | 1243 | 67 | 20891 | 2611 | 3 |
34 | 153 | 1251 | 67 | 22091 | 2761 | 3 |
35 | 157 | 1574 | 67 | 23008 | 2876 | 0 |
36 | 161 | 1582 | 67 | 24272 | 3034 | 0 |
37 | 165 | 1590 | 67 | 25568 | 3196 | 0 |
38 | 169 | 1598 | 67 | 26896 | 3362 | 0 |
39 | 173 | 1606 | 67 | 28256 | 3532 | 0 |
40 | 177 | 1614 | 67 | 29648 | 3706 | 0 |
|
7.2 Анализ данных
Анализируют строку входных данных с целью определения ее содержания и выбирают установленную по умолчанию или другую соответствующую ECI и соответствующий режим, чтобы закодировать каждую последовательность знаков в соответствии с 7.4. Каждый режим последовательно от числового до режима кандзи требует большего числа битов на знак. Допускается переключение с режима на другой в пределах символа с целью уменьшить длину выходного потока данных, некоторые части которых могут более эффективно кодироваться в одном режиме, в отличие от других частей, например числовые последовательности, сопровождаемые алфавитно-цифровыми последовательностями. Теоретически наиболее эффективно кодировать данные в режиме, требующем наименьшего числа битов на знак входных данных, но так как есть некоторая избыточность в виде индикатора режима и индикатора числа знаков, связанного с каждым изменением режима, то в результате не всегда может получиться самый короткий двоичный поток, если изменить режимы для нескольких знаков. Кроме того, так как емкость символов увеличивается дискретным ступенчатым образом от одной версии до следующей, не всегда требуется обеспечивать максимальную эффективность. Руководство по уменьшению длины двоичного потока приведено в приложении J. В символах Micro QR Code есть ограничения на использование режимов, доступных в версиях с меньшими номерами. В J.2 приведены версии символов Micro QR Code, соответствующим различным комбинациям двух режимов.
7.3 Режимы
7.3.1 Общие положения
Режимы, представленные в настоящем разделе, основаны на значениях знаков и представлениях, связанных со значением ECI по умолчанию. Когда задействована любая другая ECI (только в символах QR Code), для определения оптимального режима рекомендуется использовать значения байта, а не определенные представления знаков. Например, числовой режим следует использовать, если встречается последовательность байтов данных, значения которых находятся в пределах диапазона от 30
7.3.2 Интерпретация в расширенном канале (ECI)
Протокол интерпретации в расширенном канале (ECI), определенный в Международных технических спецификациях организации AIM Inc. "Интерпретации в расширенном канале" (International Technical Specification Extended Channel Interpretations)
________________
Для QR Code по умолчанию принята интерпретация ECI 000003, соответствующая набору знаков в ИСО/МЭК 8859-1.
В международных применениях могут быть использованы другие наборы знаков с помощью протокола ECI
________________
Эффективность применения режима ECI заключается во вставке в данные управляющей последовательности ECI. Непосредственно за ней должен стоять индикатор другого режима (например, для эффективного кодирования); режим ECI действует до конца сообщения или до следующего индикатора режима ECI.
7.3.3 Числовой режим
Числовой режим кодирует данные, состоящие из десятичных цифр (0-9) (байтовые значения от 30
7.3.4 Алфавитно-цифровой режим
Алфавитно-цифровой режим позволяет закодировать входные данные из набора 45 знаков: 10 десятичных цифр (0-9) (байтовые значения от 30
В символике Micro QR Code версии M1 алфавитно-цифровой режим недоступен.
7.3.5 Байтовый режим
В этом режиме каждый знак входных данных кодируется 8 битами.
В замкнутых системах, национальных или специальных реализациях QR Code, в байтовом режиме могут быть закодированы альтернативные 8-битовые наборы знаков, определенные в других частях ИСО/МЭК 8859. Если установлен альтернативный набор знаков, участвующие стороны, которые считывают символы QR Code, должны быть уведомлены в спецификации по применению или в двустороннем соглашении, какой именно набор знаков следует использовать.
В символике Micro QR Code версий M1и M2 байтовый режим недоступен.
7.3.6 Режим кандзи
Режим кандзи эффективно кодирует знаки кандзи в соответствии с системой Shift JIS, основанной на JIS X 0208. Значения Shift JIS получены сдвигом соответствующих значений JIS X 0208. Кодирование со сдвигом подробно описано в JIS X 0208. Каждый двухбайтовый знак кодируется в 13-битовое кодовое слово.
Когда набор знаков, указанный для 8-битового байтового режима, использует байтовые значения в диапазоне от 81
В символике Micro QR Code версий M1 и M2 режим кандзи недоступен.
7.3.7 Смешанный режим
Символы QR Code могут содержать последовательности данных в любой комбинации режимов, описанных в 7.3.2-7.3.9. Символы Micro QR Code могут содержать последовательности данных в любой комбинации режимов, допустимых для соответствующей версии и описанных в 7.3.3-7.3.7.
В приложении J приведено руководство для выбора наиболее эффективного преобразования входного потока данных в символ QR Code с множеством режимов. В подразделе J.3 приведено описание получения комбинации из двух режимов для допустимых версий символа Micro QR Code.
7.3.8 Режим структурированного соединения
Режим структурированного соединения используется в том случае, когда требуется разделить одно кодируемое сообщение на несколько символов QR Code. Все эти символы должны быть считаны, чтобы корректно восстановить первоначальное сообщение. Заголовок структурированного соединения кодируется в каждом символе и содержит информацию о длине последовательности символов, позиции символа в этой последовательности и идентификатор для проверки принадлежности всех символов одному сообщению. В разделе 8 приведена более полная информация о правилах кодирования структурированного соединения.
В символике Micro QR Code режим структурированного соединения недоступен.
7.3.9 Режим функционального знака 1 (FNC1)
Режим функционального знака 1 (FNC1) используется в сообщениях, которые содержат данные специального формата. FNC1 в "первой позиции", указывает, что данные отформатированы в соответствии с Общими спецификациями GS1. FNC1 во "второй позиции" определяет данные, отформатированные в соответствии с применением, согласованными с организацией AIM Inc. Режим FNC1 воздействует на все содержимое символа, но последующие индикаторы режима на него не оказывают влияния.
Примечание - "Первая позиция" и "вторая позиция" не относятся к фактическим местоположениям, но основаны на позиции знаков аналогично символике Code 128.
В символике Micro QR Code режим FNC1 недоступен.
7.4 Кодирование данных
7.4.1 Последовательность данных
Входные данные преобразуются в двоичный поток, состоящий из одного или нескольких сегментов, каждый из которых кодируется в собственном режиме. Двоичный поток начинается с индикатора режима и в ECI по умолчанию. Если с самого начала требуется ECI, отличающаяся от ECI по умолчанию, то двоичный поток должен начинаться с заголовка ECI перед первым сегментом.
Заголовок ECI (если присутствует) состоит из:
- индикатора режима ECI (4 бита)
- обозначения ECI (8, 16 или 24 бита)
Заголовок ECI начинается с первого (старшего) бита индикатора режима ECI и завершается последним (младшим) битом обозначения ECI.
Остальной двоичный поток может состоять из нескольких сегментов, каждый из которых состоит из:
- индикатора режима;
- индикатора числа знаков;
- двоичного потока данных.
Каждый сегмент режима начинается с первого (старшего) бита индикатора режима и заканчиваться последним (младшего) битом двоичного потока данных. Между сегментами нет явного разделителя, поскольку их длина однозначно определяется правилами действующего режима и числом входных знаков данных.
Чтобы закодировать последовательность входных данных в текущем режиме, следует повторно использовать этапы в 7.4.2-7.4.7. В таблице 2 указаны индикаторы для каждого режима. В таблице 3 приведен размер индикатора числа знаков, который может иметь различные значения в зависимости от используемого режима и версии символа.
Таблица 2 - Индикаторы режима для QR Code
Режим | Символы QR Code | Символы Micro QR Code | |||
версия | любой версии | M1 | M2 | M3 | M4 |
Длина индикатора режима, биты | 4 | 0 | 1 | 2 | 3 |
ECI | 0111 | n/a | n/a | n/a | n/a |
Числовой | 0001 | n/a | 0 | 00 | 000 |
Алфавитно-цифровой | 0010 | n/a | 1 | 01 | 001 |
Байтовый | 0100 | n/a | n/a | 10 | 010 |
Кандзи | 1000 | n/a | n/a | 11 | 011 |
Структурированное соединение | 0011 | n/a | n/a | n/a | n/a |
FNC1 | 0101 (1-я позиция) | ||||
1001 (2-я позиция) | n/a | n/a | n/a | n/a | |
Ограничитель (конец сообщения) | 0000 | 000 | 00000 | 0000000 | 000000000 |
|
Таблица 3 - Число битов в индикаторе числа знаков для QR Code
Версия | Числовой режим | Алфавитно-цифровой режим | Байтовый режим | Режим кандзи |
M1 | 3 | n/a | n/a | n/a |
M2 | 4 | 3 | n/a | n/a |
M3 | 5 | 4 | 4 | 3 |
M4 | 6 | 5 | 5 | 4 |
1-9 | 10 | 9 | 8 | 8 |
10-26 | 12 | 11 | 16 | 10 |
27-40 | 14 | 13 | 16 | 12 |
Поток данных в законченном символе завершается ограничителем, который состоит от 3 до 9 нулевых битов (см. таблицу 2), но который может отсутствовать, если после данных оставшаяся емкость символа меньше, чем необходимая длина ограничителя в битах. Ограничитель не является индикатором режима.
7.4.2 Режим интерпретации в расширенном канале (ECI)
7.4.2.1 Общие положения
Этот режим используется для кодированных данных, подчиненных альтернативным интерпретациям значений байтов (например, альтернативные наборы знаков) в соответствии со спецификацией организации AIM, устанавливающей интерпретации в расширенном канале (ECI)
________________
Интерпретации в расширенном канале могут быть использованы только с устройствами считывания, позволяющими передавать идентификатор символики. Устройства считывания, которые не могут передавать идентификатор символики, не обеспечивают передачу данных из любого символа, содержащего ECI.
Входные данные ECI должны быть обработаны в системе кодирования как ряд байтовых значений.
Данные в последовательности ECI могут кодироваться в любом режиме или режимах, допускающих наиболее эффективное кодирование значений байта данных, независимо от их графического представления. Например, последовательность байтов со значениями в диапазоне от 30
7.4.2.2 Обозначение ECI
Каждая интерпретация в расширенном канале обозначается шестизначным номером представления, который кодируется в символе QR Code как первое одно, два или три кодовых слова после индикатора режима ECI. Правила кодирования приведены в таблице 4. Обозначение ECI в данных кодируется как знак со значением 5С
В случае одиночного применения знак 5С
При декодировании двоичный шаблон первого кодового слова обозначения ECI (то есть кодового слова сразу после индикатора режима ECI), определяет длину последовательности обозначения ECI. Число битов, имеющих значение 1, перед первым битом, имеющим значение 0, определяет число дополнительных кодовых слов после первого используемого слова, чтобы указать номер представления ECI. Битовая последовательность после первого нулевого бита - двоичная запись номера представления ECI. Меньшие номера представления ECI могут быть закодированы несколькими способами, но рекомендуется использовать самый короткий.
Таблица 4 - Кодирование номеров представлений ECI
Значение представления ECI | Число кодовых слов | Значения кодовых слов |
От 000000 до 000127 | 1 | 0bbbbbbb |
От 000000 до 016383 | 2 | 10bbbbbb bbbbbbbb |
От 000000 до 999999 | 3 | 110bbbbb bbbbbbbb bbbbbbbb |
Примечание - b...b - двоичное значение номера представления ECI. |
Пример - Кодирование букв греческого алфавита с использованием набора знаков ИСО/МЭК 8859-7 (ECI 000009) в символ версии 1-Н.
Данные для кодирования: | \000009АВГ | |||
Последовательность битов в символе: | ||||
Индикатор ECI: | 0111 | |||
Номер представления ECI (000009): | 0 0001001 | |||
Индикатор режима (байты) | 0100 | |||
Индикатор числа знаков (5) | 00000101 | |||
Данные: | 10100001 10100010 10100011 10100100 10100101 | |||
Завершенный двоичный поток:
|
Пример декодирования таких данных приведен в 14.3.
7.4.2.3 Множественные ECI
В спецификации организации AIM, устанавливающей интерпретации в расширенном канале (ECI)
________________
7.4.2.4 ECI и структурированное соединение
Любую(ые) ECI следует применять по правилам, приведенным выше и в спецификации организации AIM, устанавливающей ECI, до окончания кодируемых данных или другой ECI (указанной индикатором режима 0111). Если кодируемые данные в режиме ECI должны быть размещены в двух или более символах в режиме структурированного соединения, необходимо предусмотреть заголовок ECI, состоящий из индикатора режима ECI и присвоенного номера ECI для каждого символа, для которого действует режим ECI, сразу после заголовка структурированного соединения.
7.4.3 Числовой режим
Входную строку данных разделяют на группы по три цифры, а каждую группу преобразуют в 10-битовое двоичное число. Если число цифр не делится на три без остатка, последние одна или две цифры должны быть преобразованы в 4 или 7 битов соответственно. Двоичные данные объединяют и добавляют префикс индикатора режима и индикатора числа знаков. Размер в битах и битовое представление индикатора цифрового режима указаны в таблице 2, размер в битах индикатора числа знаков - в таблице 3. Число знаков входных данных преобразуют в двоичный эквивалент и добавляют как индикатор числа знаков после индикатора режима и перед кодируемыми данными.
Пример 1 - Преобразование для символа версии 1-Н
Входные данные: | 01234567 | |||
1 Разделяют на группы по три цифры: | 012 345 67 | |||
2 Преобразуют каждую группу в ее двоичное представление: | ||||
012 | ||||
3 Соединяют в последовательность: 0000001100 0101011001 1000011 | ||||
Число знаков входных данных: | 8 | |||
Добавляют индикатор режима 0001 и индикатор числа знаков к двоичным данным: |
Пример 2 - Преобразование для символа Micro QR Code версии М3-М
Входные данные: 0123456789012345 | |||||
1 Разделяют на группы по три цифры: | 012 345 678 901 234 5 | ||||
2 Преобразуют каждую группу в ее двоичное представление: | |||||
012=0000001100 | |||||
3 Соединяют вместе в последовательность: | |||||
0000001100 0101011001 1010100110 1110000101 0011101010 0101 | |||||
4 Преобразуют число знаков в индикатор числа знаков (5 битов для версии M3-M): | |||||
Число знаков входных данных: | 16=10000 | ||||
5 Добавляют индикатор режима (00 для версии М3-М) и индикатор числа знаков к двоичным данным: | |||||
00 10000 0000001100 0101011001 1010100110 1110000101 0011101010 0101 |
Для всех знаков входных данных длину двоичного потока для числового режима вычисляют по следующей формуле
B=M+C+10(D DIV 3)+R,
где B - число битов в двоичном потоке;
M - размер индикатора режима в битах (4 - для символов QR Code или значение, указанное в таблице 2 для символов Micro QR Code);
C - размер индикатора числа знаков в битах (см. таблицу 3);
D - число знаков входных данных;
R=0, если (D MOD 3)=0;
R=4, если (D MOD 3)=1;
R=7, если (D MOD 3)=2.
7.4.4 Алфавитно-цифровой режим
Каждому знаку входных данных должно быть присвоено значение от 0 до 44 в соответствии с таблицей 5.
Таблица 5 - Кодирование/декодирование для алфавитно-цифрового режима
Знак | Зна- | Знак | Зна- | Знак | Зна- | Знак | Зна- | Знак | Зна- | Знак | Зна- | Знак | Зна- | Знак | Зна- |
0 | 0 | 6 | 6 | C | 12 | I | 18 | O | 24 | U | 30 | SP | 36 | . | 42 |
1 | 1 | 7 | 7 | D | 13 | J | 19 | P | 25 | V | 31 | $ | 37 | / | 43 |
2 | 2 | 8 | 8 | E | 14 | K | 20 | Q | 26 | W | 32 | % | 38 | : | 44 |
3 | 3 | 9 | 9 | F | 15 | L | 21 | R | 27 | X | 33 | * | 39 | ||
4 | 4 | A | 10 | G | 16 | M | 22 | S | 28 | Y | 34 | + | 40 | ||
5 | 5 | B | 11 | H | 17 | N | 23 | T | 29 | Z | 35 | - | 41 |
Знаки входных данных разбивают на группы по два знака, и каждую группу преобразуют в 11-битовый двоичный код. Значение для первого знака умножают на 45 и к нему прибавляют значение для второго знака. Сумму преобразуют в 11-битовое двоичное число. Если во входных данных находится нечетное число знаков, последний знак кодируют 6-битовым двоичным числом. Двоичные данные объединяют, и перед ними вставляют индикатор режима и индикатор числа знаков. Размер и числовое значение индикатора режима для алфавитно-цифрового режима указаны в таблице 2; размер индикатора числа знаков в битах определяют в соответствии с таблицей 3. Число знаков входных данных преобразуют в двоичный эквивалент и добавляют как индикатор числа знаков после индикатора режима и перед кодируемыми данными.
В режиме FNC1 знак FNC1 может содержаться в передаваемых данных. В этом случае он должен быть представлен в алфавитно-цифровом режиме как знак "%". В 7.4.8.2, 7.4.8.3 и 14.4 приведено подробное описание кодирования и передачи FNC1 и %.
Пример - Преобразование для символа версии 1-Н:
Входные данные: АС-42 | |||
AC-42 | |||
2 Разделяют на группы по два десятичных значения: (10, 12) (41, 4) (2) | |||
(10, 12) 10*45+12 | |||
4 Соединяют двоичные данные в последовательность: | |||
00111001110 11100111001 000010 | |||
5 Преобразуют число знаков в индикатор числа знаков (9 битов для версии 1-Н): | |||
Число знаков входных данных | 5 | ||
6 Добавляют индикатор режима 0010 и индикатор числа знаков: | |||
0010 000000101 00111001110 11100111001 000010 |
Для любого числа знаков входных данных размер двоичного потока для алфавитно-цифрового режима можно вычислить по формуле
B=M+C+11(D DIV 2)+6(D MOD 2),
где B - число битов в двоичном потоке;
M - размер индикатора режима в битах (4 для символов QR Code, или значение, указанное в таблице 2 для символов Micro QR Code);
C - размер индикатора числа знаков в битах (см. таблицу 3);
D - число знаков входных данных.
7.4.5 Байтовый режим
В этом режиме одно 8-битовое кодовое слово непосредственно представляет значение байтов входных данных, т.е. плотность кодирования 8 битов/знаков.
Таблица 6 - Кодирование/декодирование набора знаков по ИСО/МЭК 8859-1
Байт | Знак | Байт | Знак | Байт | Знак | Байт | Знак | Байт | Знак | Байт | Знак | Байт | Знак | Байт | Знак |
0 | NUL | 32 | пробел | 64 | @ | 96 | ` | 128 | 160 | NBSP | 192 | 224 | |||
1 | SOH | 33 | ! | 65 | А | 97 | а | 129 | 161 | 193 | 225 | ||||
2 | STX | 34 | " | 66 | B | 98 | b | 130 | 162 | 194 | 226 | ||||
3 | ETX | 35 | # | 67 | C | 99 | c | 131 | 163 | 195 | 227 | ||||
4 | EOT | 36 | $ | 68 | D | 100 | d | 132 | 164 | ¤ | 196 | 228 | |||
5 | ENQ | 37 | % | 69 | E | 101 | e | 133 | 165 | 197 | 229 | ||||
6 | ACK | 38 | & | 70 | F | 102 | f | 134 | 166 | ¦ | 198 | 230 | |||
7 | BEL | 39 | ' | 71 | G | 103 | g | 135 | 167 | § | 199 | 231 | |||
8 | BS | 40 | ( | 72 | H | 104 | h | 136 | 168 | 200 | 232 | ||||
9 | HT | 41 | ) | 73 | I | 105 | I | 137 | 169 | © | 201 | 233 | |||
10 | LF | 42 | * | 74 | J | 106 | j | 138 | 170 | 202 | 234 | ||||
11 | VT | 43 | + | 75 | K | 107 | k | 139 | 171 | « | 203 | 235 | |||
12 | FF | 44 | , | 76 | L | 108 | l | 140 | 172 | ¬ | 204 | 236 | |||
13 | CR | 45 | - | 77 | M | 109 | m | 141 | 173 | SHY | 205 | 237 | |||
14 | SO | 46 | . | 78 | N | 110 | n | 142 | 174 | ® | 206 | 238 | |||
15 | SI | 47 | / | 79 | O | 111 | o | 143 | 175 | 207 | 239 | ||||
16 | DLE | 48 | 0 | 80 | P | 112 | p | 144 | 176 | ° | 208 | 240 | |||
17 | DC1 | 49 | 1 | 81 | Q | 113 | q | 145 | 177 | ± | 209 | 241 | |||
18 | DC2 | 50 | 2 | 82 | R | 114 | r | 146 | 178 | 210 | 242 | ||||
19 | DC3 | 51 | 3 | 83 | S | 115 | s | 147 | 179 | 211 | 243 | ||||
20 | DC4 | 52 | 4 | 84 | T | 116 | t | 148 | 180 | 212 | 244 | ||||
21 | NAK | 53 | 5 | 85 | U | 117 | u | 149 | 181 | µ | 213 | 245 |
22 | SYN | 54 | 6 | 86 | V | 118 | v | 150 | 182 | ¶ | 214 | 246 | |||
23 | ETB | 55 | 7 | 87 | W | 119 | w | 151 | 183 | · | 215 | 247 | |||
24 | CAN | 56 | 8 | 88 | X | 120 | x | 152 | 184 | 216 | 248 | ||||
25 | EM | 57 | 9 | 89 | Y | 121 | y | 153 | 185 | 217 | 249 | ||||
26 | SUB | 58 | : | 90 | Z | 122 | z | 154 | 186 | 218 | 250 | ||||
27 | ESC | 59 | ; | 91 | [ | 123 | { | 155 | 187 | » | 219 | 251 | |||
28 | FS | 60 | < | 92 | \ | 124 | | | 156 | 188 | 220 | 252 | ||||
29 | GS | 61 | = | 93 | ] | 125 | } | 157 | 189 | 221 | 253 | ||||
30 | RS | 62 | > | 94 | ^ | 126 | ~ | 158 | 190 | 222 | 254 | ||||
31 | US | 63 | ? | 95 | _ | 127 | DEL | 159 | 191 | 223 | 255 |
Примечания
1 В наборе знаков JIS8 (см. таблицу Н.1) байтам со значениями с 80
2 Значения байтов с 00
________________
Перед двоичными данными вставляют индикатор режима и индикатор числа знаков. Размер и числовое значение индикатора режима для байтового режима указаны в таблице 2; размер индикатора числа символов в битах определяют в соответствии с таблицей 3. Число знаков входных данных преобразуют в двоичный эквивалент и добавляют как индикатор числа знаков после индикатора режима и перед кодируемыми данными.
Для любого числа входных знаков размер двоичного потока для байтового режима можно вычислить по формуле
B=M+C+8D,
где B - число битов в двоичном потоке;
M - число битов в индикаторе режима (4 - для символов QR Code или значение, указанное в таблице 2 для Micro QR Code);
C - число битов в индикаторе числа знаков (см. таблицу 3);
D - число знаков входных данных.
7.4.6 Режим кандзи
В системе Shift JIS знаки кандзи представлены двухбайтовой комбинацией. Эти значения байта сдвинуты относительно значений по JIS X 0208. В JIS X 0208 приведены подробные сведения о кодированном представлении Shift. Входные знаки данных в режиме кандзи уплотнены из двойных кодовых слов в 13 битов в соответствии с требованиями, приведенными далее. Перед двоичными данными добавляют индикатор режима и индикатор числа знаков. Индикатор режима в режиме кандзи состоит или из 4 битов для символов QR Code или из числа битов, указанных в таблице 2, для символов Micro QRCode; индикатор числа знаков представлен числом битов в соответствии с таблицей 3. Число входных знаков данных преобразуют к его двоичному эквиваленту и добавляют как индикатор числа знаков после индикатора режима и перед последовательностью двоичных данных.
1 Для знаков со значениями Shift JIS от 8140
a) вычитают 8140
b) умножают старший байт значения, полученного на этапе а) на С0
c) прибавляют младший байт значения, вычисленного на этапе a) к значению, определенному на этапе b);
d) преобразуют значение в 13-битовую двоичную строку.
2 Для знаков со значениями Shift JIS от Е040
a) вычитают С140
b) умножают старший байт значения, полученного на этапе a) на С0
c) прибавляют младший байт значения, вычисленному на этапе a) к значению, определенному на этапе b);
d) преобразуют значение в 13-битовую двоичную строку.
Пример
Входной знак | ||||
(значение Shift JIS): | 935F | E4AA | ||
1 Вычитают 8140 или С140 | 935F-8140=121F | E4AA-C140=236A | ||
2 Умножают старший байт на С0 | 12 | 23… | ||
3 Складывают с младшим байтом | D80+1F=D9F | 1A40+6A=1AAA | ||
4 Преобразуют в 13-битовую строку | 0D9F | 1AAA |
3 Для всех знаков:
e) перед двоичной последовательностью, представляющей входные знаки данных, вставляют индикатор режима (см. таблицу 2) и индикатор числа знаков (число битов приведено в таблице 3) в двоичном виде;
Для любого числа входных знаков данных размер двоичного потока для режима кандзи вычисляют по формуле
B=M+C+13D,
где B - число битов в двоичном потоке;
M - число битов в индикаторе режима (4 - для символов QR Code или значение, приведенное в таблице 2 для символов Micro QR Code);
C - число битов в индикаторе числа знаков (см. таблицу 3);
D - число знаков входных данных.
7.4.7 Смешанный режим
Для символа допускается начать кодирование последовательности данных в одном режиме и затем изменить режим, если этого требует содержание данных или для увеличения плотности кодирования. Подробное руководство приведено в приложении J. Каждый сегмент данных кодируется в соответствующем режиме как указано в разделах с 7.4.2 по 7.4.6 на базе структуры индикатор режима/индикатор числа знаков/данные и сопровождается индикатором режима, начинающим следующий сегмент. На рисунке 13 представлена структура данных, содержащих n сегментов.
Рисунок 13 - Формат данных в смешанном режиме
Сегмент 1 | Сегмент 2 | … | Сегмент n | Ограни- | ||||||
Инди- | Инди- | Дан- | Инди- | Инди- | Дан- | … | Инди- | Инди- | Дан- |
Рисунок 13 - Формат данных в смешанном режиме
7.4.8 Режимы FNC1
7.4.8.1 Общие положения
В символах QR Code предусмотрены два индикатора режима, описание использования которых приведено в 7.3.2-7.3.9 и 7.4.2-7.4.7 для обозначения символов, которые закодированы по специальным международным отраслевым стандартам или стандартам по применению. Вместе с соответствующими данными они должны быть расположены перед обычными индикаторами режима, которые используют для эффективного кодирования данных. В случае использования таких индикаторов в декодерах должна быть предусмотрена возможность получения идентификатора символики, как определено в 14.2 и приложении F.
7.4.8.2 Знак FNC1 в первой позиции
Примечание - "Первая позиция" фактически такой не является, но исторически соотносится с положением знака символа FNC1 в символах Code 128.
Указанный индикатор режима предназначен для обозначения символов, кодирующих данные в формате стандарта GS1, устанавливающего идентификаторы применения (Application Identifiers, Al). Для этой цели данный индикатор следует использовать в символе только один раз, и он должен быть расположен перед самым первым индикатором режима, используемым для эффективного кодирования данных (в числовом, алфавитно-цифровом, байтовом режиме или режиме кандзи), а также после заголовков ECI и/или структурированного соединения, если они присутствуют. Если спецификации GS1 требуют применения знака FNC1 (в других символиках, которые используют этот специальный знак) в качестве разделителя полей данных (то есть в конце поля данных переменной длины), в символах QR Code следует использовать знак % в алфавитно-цифровом режиме или знак GS (шестнадцатеричное значение байта 1D
Пример 1
Входные данные: | 0104912345123459 (идентификатор применения 01, указывающий глобальный номер предмета торговли GS1, поле фиксированной длины; данные: 04912345123459); | ||
Данные для кодирования: | 01049123451234591597033130128%10АВС123 | ||
Битовая последовательность в символе: | 0101 (индикатор режима, знак FNC1 в 1-й позиции); | ||
Передаваемые данные (см. 14.2 и приложение F) | ]Q301049123451234591597033130128<1D |
Пример 2 - Кодирование/декодирование знака % в данных:
Входные данные: | 123%; | ||
Кодируют: | 123%%; | ||
Передают: | 123%. |
7.4.8.3 Знак FNC1 во второй позиции
Примечание - "Вторая позиция" фактически такой не является, но исторически соотносится с положением знака символа FNC1 в символах Code 128.
Данный индикатор режима указывает, что данные соответствуют определенным отраслевым спецификациям или спецификациям по применению, предварительно согласованным с организацией AIM International. Сразу после него следует однобайтовое кодовое слово, значение которого соответствует номеру прикладного индикатора (Application Indicator), присвоенному организацией AIM International, для указания этой спецификации. Для этой цели индикатор следует использовать в символе только один раз; и он должен быть расположен перед самым первым индикатором режима, используемым для эффективного кодирования данных (в числовом, алфавитно-цифровом, байтовом режиме или режиме кандзи), а также после заголовков ECI и/или структурированного соединения, если они присутствуют. Прикладной индикатор может иметь форму любой одиночной буквы латинского алфавита из набора {a-z, A-Z}, (представленной значением знака ASCII плюс 100) или двузначного числа (представленного его числовым значением) и должен быть передан декодером как первые один или два знака непосредственно перед данными. Если спецификации по применению требуют использования знака FNC1 (в других символиках, которые используют этот специальный знак) в качестве разделителя полей данных (то есть в конце поля данных переменной длины), в символах QR Code, следует использовать знак % в алфавитно-цифровом режиме или знак GS (шестнадцатеричное значение байта 1D
Пример
Примечание - Прикладной индикатор 37 на момент публикации настоящего стандарта не был присвоен ни одной организации, поэтому в примере приведены условные значения.
Прикладной индикатор: | 37 | ||
Входные данные: | AA1234BBB112text text text text<CR> |
________________
Битовая последовательность в символе: | 1001 (индикатор режима, знак FNC1 во второй позиции) | ||
Передаваемые данные: | ]Q537AA1234BBB112text text text text<CR> |
7.4.9 Ограничитель
Конец данных должен быть обозначен ограничителем, состоящим из последовательности нулевых битов согласно таблице 2, и добавлен к двоичному потоку данных после данных последнего сегмента режима. Ограничитель может отсутствовать, если оставшаяся после данных емкость символа меньше требуемой длины ограничителя в битах.
7.4.10 Преобразование двоичного потока в кодовые слова
Двоичные потоки, соответствующие каждому сегменту режима, должны быть соединены в порядке кодирования. Ограничитель должен быть добавлен к окончанию законченного двоичного потока согласно 7.4.9. Результирующий двоичный поток сообщения разбивают на кодовые слова. Все кодовые слова имеют размер 8 битов, кроме последнего знака символа для символов Micro QR Code версии M1 и M3, где размер должен быть равен 4 битам. Если длина двоичного потока такова, что он не заканчивается на границе кодового слова, то после последнего (младшего значащего) бита потока добавляют биты заполнители, имеющие значение 0, чтобы продлить поток до границы кодового слова. Затем, если сообщение не заполняет целиком емкость символа соответствующей версии и уровня исправления ошибок в соответствии с таблицей 8, он должен быть расширен путем поочередного добавления к его окончанию кодовых слов-заполнителей 11101100 и 00010001. В символах Micro QR Code версий M1 и M3 последнее кодовое слово имеет размер 4 бита. Кодовое слово-заполнитель, попадающее на этот заключительный знак данных символа в версиях M1 и M3 Micro QR Code, должно быть представлено как 0000. Для получения результирующей последовательности кодовых слов последовательность кодовых слов данных обрабатывают согласно 7.5 для добавления кодовых слов исправления ошибок. Кроме того, в символах некоторых версий необходимо добавить 3, 4 или 7 остаточных битов (все биты имеют значение 0) к окончанию сообщения после последнего кодового слова исправления ошибок, чтобы полностью заполнить емкость символа (см. таблицу 7).
Таблица 7 - Число знаков символа и емкость входных данных для QR Code
Вер- | Уровень исправления ошибок | Число кодовых слов данных | Число битов для данных | Емкость данных для разных режимов | |||
Цифровой | Алфавитно- | Байтовый | Кандзи | ||||
M1 | Только обнаружение ошибок | 3 | 20 | 5 | - | - | - |
M2 | L | 5 | 40 | 10 | 6 | - | - |
M | 4 | 32 | 8 | 5 | - | - | |
M3 | L | 11 | 84 | 23 | 14 | 9 | 6 |
M | 9 | 68 | 18 | 11 | 7 | 4 | |
M4 | L | 16 | 128 | 35 | 21 | 15 | 9 |
M | 14 | 112 | 30 | 18 | 13 | 8 | |
Q | 10 | 80 | 21 | 13 | 9 | 5 | |
1 | L | 19 | 152 | 41 | 25 | 17 | 10 |
M | 16 | 128 | 34 | 20 | 14 | 8 | |
Q | 13 | 104 | 27 | 16 | 11 | 7 | |
H | 9 | 72 | 17 | 10 | 7 | 4 | |
2 | L | 34 | 272 | 77 | 47 | 32 | 20 |
M | 28 | 224 | 63 | 38 | 26 | 16 | |
Q | 22 | 176 | 48 | 29 | 20 | 12 | |
H | 16 | 128 | 34 | 20 | 14 | 8 | |
3 | L | 55 | 440 | 127 | 77 | 53 | 32 |
M | 44 | 352 | 101 | 61 | 42 | 26 | |
Q | 34 | 272 | 77 | 47 | 32 | 20 | |
H | 26 | 208 | 58 | 35 | 24 | 15 | |
4 | L | 80 | 640 | 187 | 114 | 78 | 48 |
M | 64 | 512 | 149 | 90 | 62 | 38 | |
Q | 48 | 384 | 111 | 67 | 46 | 28 | |
H | 36 | 288 | 82 | 50 | 34 | 21 | |
5 | L | 108 | 864 | 255 | 154 | 106 | 65 |
M | 86 | 688 | 202 | 122 | 84 | 52 | |
Q | 62 | 496 | 144 | 87 | 60 | 37 | |
H | 46 | 368 | 106 | 64 | 44 | 27 | |
6 | L | 136 | 1088 | 322 | 195 | 134 | 82 |
M | 108 | 864 | 255 | 154 | 106 | 65 | |
Q | 76 | 608 | 178 | 108 | 74 | 45 | |
H | 60 | 480 | 139 | 84 | 58 | 36 | |
7 | L | 156 | 1248 | 370 | 224 | 154 | 95 |
M | 124 | 992 | 293 | 178 | 122 | 75 | |
Q | 88 | 704 | 207 | 125 | 86 | 53 | |
H | 66 | 528 | 154 | 93 | 64 | 39 | |
8 | L | 194 | 1552 | 461 | 279 | 192 | 118 |
M | 154 | 1232 | 365 | 221 | 152 | 93 | |
Q | 110 | 880 | 259 | 157 | 108 | 66 | |
H | 86 | 688 | 202 | 122 | 84 | 52 | |
9 | L | 232 | 1856 | 552 | 335 | 230 | 141 |
M | 182 | 1456 | 432 | 262 | 180 | 111 | |
Q | 132 | 1056 | 312 | 189 | 130 | 80 | |
H | 100 | 800 | 235 | 143 | 98 | 60 | |
10 | L | 274 | 2192 | 652 | 395 | 271 | 167 |
M | 216 | 1728 | 513 | 311 | 213 | 131 | |
Q | 154 | 1232 | 364 | 221 | 151 | 93 | |
H | 122 | 976 | 288 | 174 | 119 | 74 | |
11 | L | 324 | 2592 | 772 | 468 | 321 | 198 |
M | 254 | 2032 | 604 | 366 | 251 | 155 | |
Q | 180 | 1440 | 427 | 259 | 177 | 109 | |
H | 140 | 1120 | 331 | 200 | 137 | 85 | |
12 | L | 370 | 2960 | 883 | 535 | 367 | 226 |
M | 290 | 2320 | 691 | 419 | 287 | 177 | |
Q | 206 | 1648 | 489 | 296 | 203 | 125 | |
H | 158 | 1264 | 374 | 227 | 155 | 96 | |
13 | L | 428 | 3424 | 1022 | 619 | 425 | 262 |
M | 334 | 2672 | 796 | 483 | 331 | 204 | |
Q | 244 | 1952 | 580 | 352 | 241 | 149 | |
H | 180 | 1440 | 427 | 259 | 177 | 109 | |
14 | L | 461 | 3688 | 1101 | 667 | 458 | 282 |
M | 365 | 2920 | 871 | 528 | 362 | 223 | |
Q | 261 | 2088 | 621 | 376 | 258 | 159 | |
H | 197 | 1576 | 468 | 283 | 194 | 120 | |
15 | L | 523 | 4184 | 1250 | 758 | 520 | 320 |
M | 415 | 3320 | 991 | 600 | 412 | 254 | |
Q | 295 | 2360 | 703 | 426 | 292 | 180 | |
H | 223 | 1784 | 530 | 321 | 220 | 136 | |
16 | L | 589 | 4712 | 1408 | 854 | 586 | 361 |
M | 453 | 3624 | 1082 | 656 | 450 | 277 | |
Q | 325 | 2600 | 775 | 470 | 322 | 198 | |
H | 253 | 2024 | 602 | 365 | 250 | 154 | |
17 | L | 647 | 5176 | 1548 | 938 | 644 | 397 |
M | 507 | 4056 | 1212 | 734 | 504 | 310 | |
Q | 367 | 2936 | 876 | 531 | 364 | 224 | |
H | 283 | 2264 | 674 | 408 | 280 | 173 | |
18 | L | 721 | 5768 | 1725 | 1046 | 718 | 442 |
M | 563 | 4504 | 1346 | 816 | 560 | 345 | |
Q | 397 | 3176 | 948 | 574 | 394 | 243 | |
H | 313 | 2504 | 746 | 452 | 310 | 191 | |
19 | L | 795 | 6360 | 1903 | 1153 | 792 | 488 |
M | 627 | 5016 | 1500 | 909 | 624 | 384 | |
Q | 445 | 3560 | 1063 | 644 | 442 | 272 | |
H | 341 | 2728 | 813 | 493 | 338 | 208 | |
20 | L | 861 | 6888 | 2061 | 1249 | 858 | 528 |
M | 669 | 5352 | 1600 | 970 | 666 | 410 | |
Q | 485 | 3880 | 1159 | 702 | 482 | 297 | |
H | 385 | 3080 | 919 | 557 | 382 | 235 | |
21 | L | 932 | 7456 | 2232 | 1352 | 929 | 572 |
M | 714 | 5712 | 1708 | 1035 | 711 | 438 | |
Q | 512 | 4096 | 1224 | 742 | 509 | 314 | |
H | 406 | 3248 | 969 | 587 | 403 | 248 | |
22 | L | 1006 | 8048 | 2409 | 1460 | 1003 | 618 |
M | 782 | 6256 | 1872 | 1134 | 779 | 480 | |
Q | 568 | 4544 | 1358 | 823 | 565 | 348 | |
H | 442 | 3536 | 1056 | 640 | 439 | 270 | |
23 | L | 1094 | 8752 | 2620 | 1588 | 1091 | 672 |
M | 860 | 6880 | 2059 | 1248 | 857 | 528 | |
Q | 614 | 4912 | 1468 | 890 | 611 | 376 | |
H | 464 | 3712 | 1108 | 672 | 461 | 284 | |
24 | L | 1174 | 9392 | 2812 | 1704 | 1171 | 721 |
M | 914 | 7312 | 2188 | 1326 | 911 | 561 | |
Q | 664 | 5312 | 1588 | 963 | 661 | 407 | |
H | 514 | 4112 | 1228 | 744 | 511 | 315 | |
25 | L | 1276 | 10208 | 3057 | 1853 | 1273 | 784 |
M | 1000 | 8000 | 2395 | 1451 | 997 | 614 | |
Q | 718 | 5744 | 1718 | 1041 | 715 | 440 | |
H | 538 | 4304 | 1286 | 779 | 535 | 330 | |
26 | L | 1370 | 10960 | 3283 | 1990 | 1367 | 842 |
M | 102 | 8496 | 2544 | 1542 | 1059 | 652 | |
Q | 754 | 6032 | 1804 | 1094 | 751 | 462 | |
H | 596 | 4768 | 1425 | 864 | 593 | 365 | |
27 | L | 1468 | 11744 | 3517 | 2132 | 1465 | 902 |
M | 1128 | 9024 | 2701 | 1637 | 1125 | 692 | |
Q | 808 | 6464 | 1933 | 1172 | 805 | 496 | |
H | 628 | 5024 | 1501 | 910 | 625 | 385 | |
28 | L | 1531 | 12248 | 3669 | 2223 | 1528 | 940 |
M | 1193 | 9544 | 2857 | 1732 | 1190 | 732 | |
Q | 871 | 6968 | 2085 | 1263 | 868 | 534 | |
H | 661 | 5288 | 1581 | 958 | 658 | 405 | |
29 | L | 1631 | 13048 | 3909 | 2369 | 1628 | 1002 |
M | 1267 | 10136 | 3035 | 1839 | 1264 | 778 | |
Q | 911 | 7288 | 2181 | 1322 | 908 | 559 | |
H | 701 | 5608 | 1677 | 1016 | 698 | 430 | |
30 | L | 1735 | 13880 | 4158 | 2520 | 1732 | 1066 |
M | 1373 | 10984 | 3289 | 1994 | 1370 | 843 | |
Q | 985 | 7880 | 2358 | 1429 | 982 | 604 | |
H | 745 | 5960 | 1782 | 1080 | 742 | 457 | |
31 | L | 1843 | 14744 | 4417 | 2677 | 1840 | 1132 |
M | 1455 | 11640 | 3486 | 2113 | 1452 | 894 | |
Q | 1033 | 8264 | 2473 | 1499 | 1030 | 634 | |
H | 793 | 6344 | 1897 | 1150 | 790 | 486 | |
32 | L | 1955 | 15640 | 4686 | 2840 | 1952 | 1201 |
M | 1541 | 12328 | 3693 | 2238 | 1538 | 947 | |
Q | 1115 | 8920 | 2670 | 1618 | 1112 | 684 | |
H | 845 | 6760 | 2022 | 1226 | 842 | 518 | |
33 | L | 2071 | 16568 | 4965 | 3009 | 2068 | 1273 |
M | 1631 | 13048 | 3909 | 2369 | 1628 | 1002 | |
Q | 1171 | 9368 | 2805 | 1700 | 1168 | 719 | |
H | 901 | 7208 | 2157 | 1307 | 898 | 553 | |
34 | L | 2191 | 17528 | 5253 | 3183 | 2188 | 1347 |
M | 1725 | 13800 | 4134 | 2506 | 1722 | 1060 | |
Q | 1231 | 9848 | 2949 | 1787 | 1228 | 756 | |
H | 961 | 7688 | 2301 | 1394 | 958 | 590 | |
35 | L | 2306 | 18448 | 5529 | 3351 | 2303 | 1417 |
M | 1812 | 14496 | 4343 | 2632 | 1809 | 1113 | |
Q | 1286 | 10288 | 3081 | 1867 | 1283 | 790 | |
H | 986 | 7888 | 2361 | 1431 | 983 | 605 | |
36 | L | 2434 | 19472 | 5836 | 3537 | 2431 | 1496 |
M | 1914 | 15312 | 4588 | 2780 | 1911 | 1176 | |
Q | 1354 | 10832 | 3244 | 1966 | 1351 | 832 | |
H | 1054 | 8432 | 2524 | 1530 | 1051 | 647 | |
37 | L | 2566 | 20528 | 6153 | 3729 | 2563 | 1577 |
M | 1992 | 15936 | 4775 | 2894 | 1989 | 1224 | |
Q | 1426 | 11408 | 3417 | 2071 | 1423 | 876 | |
H | 1096 | 8768 | 2625 | 1591 | 1093 | 673 | |
38 | L | 2702 | 21616 | 6479 | 3927 | 2699 | 1661 |
M | 2102 | 16816 | 5039 | 3054 | 2099 | 1292 | |
Q | 1502 | 12016 | 3599 | 2181 | 1499 | 923 | |
H | 1142 | 9136 | 2735 | 1658 | 1139 | 701 | |
39 | L | 2812 | 22496 | 6743 | 4087 | 2809 | 1729 |
M | 2216 | 17728 | 5313 | 3220 | 2213 | 1362 | |
Q | 1582 | 12656 | 3791 | 2298 | 1579 | 972 | |
H | 1222 | 9776 | 2927 | 1774 | 1219 | 750 | |
40 | L | 2956 | 23648 | 7089 | 4296 | 2953 | 1817 |
M | 2334 | 18672 | 5596 | 3391 | 2331 | 1435 | |
Q | 1666 | 13328 | 3993 | 2420 | 1663 | 1024 | |
H | 1276 | 10208 | 3057 | 1852 | 1273 | 784 |
Примечание 1 - Все кодовые слова имеют размер 8 битов, за исключением последнего кодового слова данных для символов версии M1 и M3, длина которого составляет 4.
Примечание 2 - В число битов данных включены биты индикатора режима и индикатора числа знаков.
7.5 Исправление ошибок
7.5.1 Способность к исправлению ошибок
В символике QR Code используют коды Рида-Соломона для обнаружения и исправления ошибок. Генерируется ряд кодовых слов исправления ошибок, которые добавляются к последовательности кодовых слов данных, чтобы обеспечить считывание символа без потери данных при его повреждении. Пользователь может выбрать один из четырех уровней исправления ошибок, приведенных в таблице 8, обеспечивающих различную способность к восстановлению в зависимости от степени повреждения:
Таблица 8 - Уровни исправления ошибок
Уровень исправления ошибок | Способность к восстановлению, % (прибл.) |
L | 7 |
M | 15 |
Q | 25 |
H | 30 |
В приложении К.2 приведены рекомендации по выбору уровня исправления ошибок, который следует применить к символу.
Уровень исправления ошибок Н недоступен в символах Micro QR Code.
Кодовые слова исправления ошибок обеспечивают исправление двух типов поврежденных кодовых слов: стирания (ошибочные кодовые слова, которые находятся на известных позициях) и ошибки (ошибочные кодовые слова, которые находятся на неизвестных позициях). Стираниями являются неотсканированные или нераспознанные знаки символа. Ошибка замены - это неправильно декодированный знак символа. Так как QR Code - это матричная символика, несовершенство преобразования модуля из темного в светлый или наоборот приводит к тому, что в результате получается неправильно декодированный знак символа как вероятно допустимый, однако соответствующий другому кодовому слову. Такие ошибки, приводящие к изменениям данных, требуют применения двух кодовых слов исправления ошибок для исправления.
Число стираний и ошибок, которые можно исправить одновременно, вычисляют по следующей формуле
e+2t
где e - число стираний;
t - число ошибок;
d - число кодовых слов исправления ошибок;
p - число кодовых слов, зарезервированных для обнаружения ошибок.
В общем случае p=0. Если для исправления ошибок используется большая часть способности к исправлению, то увеличивается вероятность необнаружения ошибки. Всякий раз, когда число стираний больше половины числа кодовых слов исправления ошибок, используют p=3. Для небольших символов, где число кодовых слов исправления ошибок менее 8, не следует использовать исправление стираний (для исправления ошибок следует применять e=0 и p>0).
Например, в символе версии 6-Н всего 172 кодовых слова, из которых 112 - кодовые слова исправления ошибок, оставшиеся 60 - кодовые слова данных. 112 кодовых слов исправления ошибок позволяют исправить 56 ошибок, т.е. отношение 56/172 соответствует 32,6% емкости символа.
В вышеприведенной формуле p должно иметь следующие значения:
p=3 для символов версии 1-L и M2-L;
p=2 для символов версии 1-M, 2-L, M1, M2-М, M3-L, и M4-L;
p=1 для символов версии 1-Q, 1-H и 3-L;
p=0 для всех остальных случаев.
Если p>0 (т.е. 1, 2 или 3), то p кодовых слов действуют как кодовые слова обнаружения неисправимых ошибок и предотвращают передачу данных от символов, где число ошибок превышает способность к исправлению ошибок, и e должно быть мене d/2. В символе версии 2-L, например, общее число кодовых слов 44; из них 34 кодовых слова данных и 10 кодовых слов исправления ошибок. В соответствии с таблицей 9 способность к исправлению ошибок равна четырем ошибкам (где e=0). Подставляют в вышеуказанную формулу
0+(2
учитывая, что для исправления четырех ошибок требуется только 8 кодовых слов исправления ошибок; оставшиеся два кодовых слова могут только обнаружить (но не исправить) любую дополнительную ошибку в символе и, таким образом, если ошибок более четырех, декодирование не приводит к успеху.
В зависимости от версии и уровня исправления ошибок последовательность кодовых слов данных разбивают на один или более блоков, к каждому из которых по отдельности следует применить алгоритм исправления ошибок. В таблице 9 для каждой версии и уровня исправления ошибок приведено общее число кодовых слов, число кодовых слов данных и кодовых слов исправления ошибок, а также структура и число блоков исправления ошибок.
Если требуются биты остатка для заполнения оставшихся модулей емкости символа для некоторых версий символа, они все должны быть битами с нулевым значением.
Таблица 9 - Характеристики исправления ошибок для QR Code
Вер- | Общее число кодовых слов | Уровень исправления ошибок | Число кодовых слов исправления ошибок | Значе- | Число блоков исправления ошибок | Код исправления ошибок в блоке (c, k, r) |
M1 | 5 | Только обнаружение | 2 | 2 | 1 | (5, 3, 0)b |
M2 | 10 | L | 5 | 3 | 1 | (10, 5, 1)b |
M | 6 | 2 | 1 | (10, 4, 2)b | ||
М3 | 17 | L | 6 | 2 | 1 | (17, 11, 2)b |
M | 8 | 1 | (17, 9, 4) | |||
M4 | 24 | L | 8 | 2 | 1 | (24, 16, 3)b |
M | 10 | 0 | 1 | (24, 14, 5) | ||
Q | 14 | 0 | 1 | (24, 10, 7) | ||
1 | 26 | L | 7 | 3 | 1 | (26, 19, 2)b |
M | 10 | 2 | 1 | (26, 16, 4)b | ||
Q | 13 | 1 | 1 | (26, 13, 6)b | ||
H | 17 | 1 | 1 | (26, 9, 8)b | ||
2 | 44 | L | 10 | 2 | 1 | (44, 34, 4)b |
M | 16 | 0 | 1 | (44, 28, 8) | ||
Q | 22 | 0 | 1 | (44, 22, 11) | ||
H | 28 | 0 | 1 | (44, 16, 14) | ||
3 | 70 | L | 15 | 1 | 1 | (70, 55, 7)b |
M | 26 | 0 | 1 | (70, 44, 13) | ||
Q | 36 | 0 | 2 | (35, 17, 9) | ||
H | 44 | 0 | 2 | (35, 13, 11) | ||
4 | 100 | L | 20 | 0 | 1 | (100, 80, 10) |
M | 36 | 2 | (50, 32, 9) | |||
Q | 52 | 2 | (50, 24, 13) | |||
H | 64 | 4 | (25, 9, 8) | |||
5 | 134 | 0 | 1 | (134, 108, 13) | ||
L | 26 | 2 | (67, 43, 12) | |||
M | 48 | 2 | (33, 15, 9) | |||
Q | 72 | 2 | (34, 16, 9) | |||
H | 88 | 2 | (33, 11, 11) | |||
2 | (34, 12, 11) | |||||
6 | 172 | L | 36 | 0 | 2 | (86, 68, 9) |
M | 64 | 4 | (43, 27, 8) | |||
Q | 96 | 4 | (43, 19, 12) | |||
H | 112 | 4 | (43, 15, 14) | |||
7 | 196 | L | 40 | 0 | 2 | (98, 78, 10) |
M | 72 | 4 | (49, 31, 9) | |||
Q | 108 | 2 | (32, 14, 9) | |||
4 | (33, 15, 9) | |||||
H | 130 | 4 | (39, 13, 13) | |||
1 | (40, 14, 13) | |||||
8 | 242 | L | 48 | 0 | 2 | (121, 97, 12) |
M | 88 | 2 | (60, 38, 11) | |||
2 | (61, 39, 11) | |||||
Q | 132 | 4 | (40, 18, 11) | |||
2 | (41, 19, 11) | |||||
H | 156 | 4 | (40, 14, 13) | |||
2 | (41, 15, 13) | |||||
9 | 292 | L | 60 | 0 | 2 | (146, 116, 15) |
M | 110 | 3 | (58, 36, 11) | |||
2 | (59, 37, 11) | |||||
Q | 160 | 4 | (36, 16, 10) | |||
4 | (37, 17, 10) | |||||
H | 192 | 4 | (36, 12, 12) | |||
4 | (37, 13, 12) | |||||
10 | 346 | L | 72 | 0 | 2 | (86, 68, 9) |
2 | (87, 69, 9) | |||||
M | 130 | 4 | (69, 43, 13) | |||
1 | (70, 44, 13) | |||||
Q | 192 | 6 | (43, 19, 12) | |||
2 | (44, 20, 12) | |||||
H | 224 | 6 | (43, 15, 14) | |||
2 | (44, 16, 14) | |||||
11 | 404 | L | 80 | 0 | 4 | (101, 81, 10) |
M | 150 | 1 | (80, 50, 15) | |||
4 | (81, 51, 15) |
Q | 224 | 4 | (50, 22, 14) | |||
4 | (51, 23, 14) | |||||
H | 264 | 3 | (36, 12, 12) | |||
8 | (37, 13, 12) | |||||
12 | 466 | L | 96 | 0 | 2 | (116, 92, 12) |
2 | (117, 93, 12) | |||||
M | 176 | 6 | (58, 36, 11) | |||
2 | (59, 37, 11) | |||||
Q | 260 | 4 | (46, 20, 13) | |||
6 | (47, 21, 13) | |||||
H | 308 | 7 | (42, 14, 14) | |||
4 | (43, 15, 14) | |||||
13 | 532 | L | 104 | 0 | 4 | (133, 107, 13) |
M | 198 | 8 | (59, 37, 11) | |||
1 | (60, 38, 11) | |||||
Q | 288 | 8 | (44, 20, 12) | |||
4 | (45, 21, 12) | |||||
H | 352 | 12 | (33, 11, 11) | |||
4 | (34, 12, 11) | |||||
14 | 581 | L | 120 | 0 | 3 | (145, 115, 15) |
1 | (146, 116, 15) | |||||
M | 216 | 4 | (64, 40, 12) | |||
5 | (65, 41, 12) | |||||
Q | 320 | 11 | (36, 16, 10) | |||
5 | (37, 17, 10) | |||||
H | 384 | 11 | (36, 12, 12) | |||
5 | (37, 13, 12) | |||||
15 | 655 | L | 132 | 0 | 5 | (109, 87, 11) |
1 | (110, 88, 11) | |||||
M | 240 | 5 | (65, 41, 12) | |||
5 | (66, 42, 12) | |||||
Q | 360 | 5 | (54, 24, 15) | |||
7 | (55, 25, 15) | |||||
H | 432 | 11 | (36, 12, 12) | |||
7 | (37, 13, 12) | |||||
16 | 733 | L | 144 | 0 | 5 | (122, 98, 12) |
1 | (123, 99, 12) | |||||
M | 280 | 7 | (73, 45, 14) | |||
3 | (74, 46, 14) | |||||
Q | 408 | 15 | (43, 19, 12) | |||
2 | (44, 20, 12) | |||||
H | 480 | 3 | (45, 15, 15) | |||
13 | (46, 16, 15) | |||||
17 | 815 | L | 168 | 0 | 1 | (135, 107, 14) |
5 | (136, 108, 14) | |||||
M | 308 | 10 | (74, 46, 14) | |||
1 | (75, 47, 14) | |||||
Q | 448 | 1 | (50, 22, 14) | |||
15 | (51, 23, 14) | |||||
H | 532 | 2 | (42, 14, 14) | |||
17 | (43, 15, 14) | |||||
18 | 901 | L | 180 | 0 | 5 | (150, 120, 15) |
1 | (151, 121, 15) | |||||
M | 338 | 9 | (69, 43, 13) | |||
4 | (70, 44, 13) | |||||
Q | 504 | 17 | (50, 22, 14) | |||
H | 588 | 1 | (51, 23, 14) | |||
2 | (42, 14, 14) | |||||
19 | (43, 15, 14) | |||||
19 | 991 | L | 196 | 0 | 3 | (141, 113, 14) |
4 | (142, 114, 14) | |||||
M | 364 | 3 | (70, 44, 13) | |||
11 | (71, 45, 13) | |||||
Q | 546 | 17 | (47, 21, 13) | |||
4 | (48, 22, 13) | |||||
H | 650 | 9 | (39, 13, 13) | |||
16 | (40, 14, 13) | |||||
20 | 1085 | L | 224 | 0 | 3 | (135, 107, 14) |
5 | (136, 108, 14) | |||||
M | 416 | 3 | (67, 41, 13) | |||
13 | (68, 42, 13) | |||||
Q | 600 | 15 | (54, 24, 15) | |||
5 | (55, 25, 15) | |||||
H | 700 | 15 | (43, 15, 14) | |||
10 | (44, 16, 14) | |||||
21 | 1156 | L | 224 | 0 | 4 | (144, 116, 14) |
4 | (145, 117, 14) | |||||
M | 442 | 17 | (68, 42, 13) | |||
Q | 644 | 17 | (50, 22, 14) | |||
6 | (51, 23, 14) | |||||
H | 750 | 19 | (46, 16, 15) | |||
6 | (47, 17, 15) | |||||
22 | 1258 | L | 252 | 0 | 2 | (139, 111, 14) |
7 | (140, 112, 14) | |||||
M | 476 | 17 | (74, 46, 14) | |||
Q | 690 | 7 | (54, 24, 15) | |||
16 | (55, 25, 15) | |||||
H | 816 | 34 | (37, 13, 12) | |||
23 | 1364 | L | 270 | 0 | 4 | (151, 121, 15) |
5 | (152, 122, 15) | |||||
M | 504 | 4 | (75, 47, 14) | |||
14 | (76, 48, 14) | |||||
Q | 750 | 11 | (54, 24, 15) | |||
14 | (55, 25, 15) | |||||
H | 900 | 16 | (45, 15, 15) | |||
14 | (46, 16, 15) | |||||
24 | 1474 | L | 300 | 0 | 6 | (147, 117, 15) |
4 | (148, 118, 15) | |||||
M | 560 | 6 | (73, 45, 14) | |||
14 | (74, 46, 14) | |||||
Q | 810 | 11 | (54, 24, 15) | |||
16 | (55, 25, 15) | |||||
H | 960 | 30 | (46, 16, 15) | |||
2 | (47, 17, 15) | |||||
25 | 1588 | L | 312 | 0 | 8 | (132, 106, 13) |
4 | (133, 107, 13) | |||||
M | 588 | 8 | (75, 47, 14) | |||
13 | (76, 48, 14) | |||||
Q | 870 | 7 | (54, 24, 15) |
22 | (55, 25, 15) | |||||
H | 1050 | 22 | (45, 15, 15) | |||
13 | (46, 16, 15) | |||||
26 | 1706 | L | 336 | 0 | 10 | (142, 114, 14) |
2 | (143, 115, 14) | |||||
M | 644 | 19 | (74, 46, 14) | |||
4 | (75, 47, 14) | |||||
Q | 952 | 28 | (50, 22, 14) | |||
6 | (51, 23, 14) | |||||
H | 1110 | 33 | (46, 16, 15) | |||
4 | (47, 17, 15) | |||||
27 | 1828 | L | 360 | 0 | 8 | (152, 122, 15) |
4 | (153, 123, 15) | |||||
M | 700 | 22 | (73, 45, 14) | |||
3 | (74, 46, 14) | |||||
Q | 1020 | 8 | (53, 23, 15) | |||
26 | (54, 24, 15) | |||||
H | 1200 | 12 | (45, 15, 15) | |||
28 | (46, 16, 15) | |||||
28 | 1921 | L | 390 | 0 | 3 | (147, 117, 15) |
10 | (148, 118, 15) | |||||
M | 728 | 3 | (73, 45, 14) | |||
23 | (74, 46, 14) | |||||
Q | 1050 | 4 | (54, 24, 15) | |||
31 | (55, 25, 15) | |||||
H | 1260 | 11 | (45, 15, 15) | |||
31 | (46, 16, 15) | |||||
29 | 2051 | L | 420 | 0 | 7 | (146, 116, 15) |
7 | (147, 117, 15) | |||||
M | 784 | 21 | (73, 45, 14) | |||
7 | (74, 46, 14) | |||||
Q | 1140 | 1 | (53, 23, 15) | |||
37 | (54, 24, 15) | |||||
H | 1350 | 19 | (45, 15, 15) | |||
26 | (46, 16, 15) | |||||
30 | 2185 | L | 450 | 0 | 5 | (145, 115, 15) |
10 | (146, 116, 15) | |||||
M | 812 | 19 | (75, 47, 14) | |||
10 | (76, 48, 14) | |||||
Q | 1200 | 15 | (54, 24, 15) | |||
25 | (55, 25, 15) | |||||
H | 1440 | 23 | (45, 15, 15) | |||
25 | (46, 16, 15) | |||||
31 | 2323 | L | 480 | 13 | (145, 115, 15) | |
3 | (146, 116, 15) | |||||
M | 868 | 2 | (74, 46, 14) | |||
29 | (75, 47, 14) | |||||
Q | 1290 | 42 | (54, 24, 15) | |||
1 | (55, 25, 15) | |||||
H | 1530 | 23 | (45, 15, 15) | |||
28 | (46, 16, 15) | |||||
32 | 2465 | L | 510 | 0 | 17 | (145, 115, 15) |
M | 924 | 10 | (74, 46, 14) | |||
23 | (75, 47, 14) | |||||
Q | 1350 | 10 | (54, 24, 15) | |||
35 | (55, 25, 15) | |||||
H | 1620 | 19 | (45, 15, 15) | |||
35 | (46, 16, 15) | |||||
33 | 2611 | L | 540 | 0 | 17 | (145, 115, 15) |
1 | (146, 116, 15) | |||||
M | 980 | 14 | (74, 46, 14) | |||
21 | (75, 47, 14) | |||||
Q | 1440 | 29 | (54, 24, 15) | |||
19 | (55, 25, 15) | |||||
H | 1710 | 11 | (45, 15, 15) | |||
46 | (46, 16, 15) | |||||
34 | 2761 | L | 570 | 0 | 13 | (145, 115, 15) |
6 | (146, 116, 15) | |||||
M | 1036 | 14 | (74, 46, 14) | |||
23 | (75, 47, 14) | |||||
Q | 1530 | 44 | (54, 24, 15) | |||
7 | (55, 25, 15) | |||||
H | 1800 | 59 | (46, 16, 15) | |||
1 | (47, 17, 15) | |||||
35 | 2876 | L | 570 | 0 | 12 | (151, 121, 15) |
7 | (152, 122, 15) | |||||
M | 1064 | 12 | (75, 47, 14) | |||
26 | (76, 48, 14) | |||||
Q | 1590 | 39 | (54, 24, 15) | |||
14 | (55, 25, 15) | |||||
H | 1890 | 22 | (45, 15, 15) | |||
41 | (46, 16, 15) | |||||
36 | 3034 | L | 600 | 0 | 6 | (151, 121, 15) |
14 | (152, 122, 15) | |||||
M | 1120 | 6 | (75, 47, 14) | |||
34 | (76, 48, 14) | |||||
Q | 1680 | 46 | (54, 24, 15) | |||
10 | (55, 25, 15) | |||||
H | 1980 | 2 | (45, 15, 15) | |||
64 | (46, 16, 15) | |||||
37 | 3196 | L | 630 | 0 | 17 | (152, 122, 15) |
4 | (153, 123, 15) | |||||
M | 1204 | 29 | (74, 46, 14) | |||
14 | (75, 47, 14) | |||||
Q | 1770 | 49 | (54, 24, 15) | |||
10 | (55, 25, 15) | |||||
H | 2100 | 24 | (45, 15, 15) | |||
46 | (46, 16, 15) | |||||
38 | 3362 | L | 660 | 0 | 4 | (152, 122, 15) |
18 | (153, 123, 15) | |||||
M | 1260 | 13 | (74, 46, 14) | |||
32 | (75, 47, 14) | |||||
Q | 1860 | 48 | (54, 24, 15) | |||
14 | (55, 25, 15) | |||||
H | 2220 | 42 | (45, 15, 15) | |||
32 | (46, 16, 15) | |||||
39 | 3532 | L | 720 | 0 | 20 | (147, 117, 15) |
4 | (148, 118, 15) | |||||
M | 1316 | 40 | (75, 47, 14) |
7 | (76, 48, 14) | |||||
Q | 1950 | 43 | (54, 24, 15) | |||
22 | (55, 25, 15) | |||||
H | 2310 | 10 | (45, 15, 15) | |||
67 | (46, 16, 15) | |||||
40 | 3706 | L | 750 | 0 | 19 | (148, 118, 15) |
6 | (149, 119, 15) | |||||
M | 1372 | 18 | (75, 47, 14) | |||
31 | (76, 48, 14) | |||||
Q | 2040 | 34 | (54, 24, 15) | |||
34 | (55, 25, 15) | |||||
H | 2430 | 20 | (45, 15, 15) | |||
61 | (46, 16, 15) | |||||
|
7.5.2 Генерация кодовых слов исправления ошибок
Кодовые слова данных, включая кодовые слова заполнители, необходимо разделить на несколько блоков по таблице 9. Кодовые слова исправления ошибок вычисляют отдельно для каждого блока и добавляют к кодовым словам данных.
Примечание - Символы Micro QR Code содержат только один блок.
Арифметические операции полиномов для QR Code для вычислений использует побитовый подсчет по модулю 2 и побайтовый подсчет по модулю 100011101. Это поле Галуа 2
Кодовые слова данных - коэффициенты членов полинома, начиная с коэффициента при члене со старшей степенью, являющегося первым кодовым словом данных и заканчивая коэффициентом при члене с младшей степенью, являющегося последним кодовым словом данных перед первым кодовым словом исправления ошибок.
Кодовые слова исправления ошибок являются остатком от деления кодовых слов данных на полином g(x), используемый для кодов исправления ошибок (см. приложение А). Коэффициент при члене со старшей степенью полинома-остатка - первое кодовое слово исправления ошибок, а коэффициент при члене с нулевой степенью - последнее кодовое слово исправления ошибок и последнее кодовое слово в блоке.
Примечание - При этом вычислении полином данных символа сначала умножают на x
Для генерации кодовых слов исправления ошибок в символике QR Code используют 36 различных порождающих полиномов, приведенных в приложении А.
Это может быть выполнено с помощью схемы, приведенной на рисунке 14. Регистры от b
Рисунок 14 - Схема кодирования кодовых слов исправления ошибок
Рисунок 14 - Схема кодирования кодовых слов исправления ошибок
7.6 Формирование последовательности кодовых слов завершенного сообщения
Общее число кодовых слов в сообщении должно быть равно общему числу кодовых слов, способных к представлению в символе согласно таблицам 7 и 9.
Создание заключительной последовательности кодовых слов (данные плюс кодовые слова исправления ошибок плюс кодовые слова остатка, если необходимо) осуществляют путем выполнения следующих этапов:
1 Разделяют кодовые слова данных на n блоков согласно таблице 9 в соответствии с версией и уровнем исправления ошибок (для Micro QR Code - один блок).
2 Для каждого блока данных, вычисляют соответствующий блок кодовых слов исправления ошибок согласно 7.5.2 и приложению А.
3. Создают заключительную последовательность с помощью кодовых слов данных и исправления ошибок из каждого блока в следующем порядке: блок данных 1, кодовое слово 1; блок данных 2, кодовое слово 1; блок данных 3, кодовое слово 1; ... вплоть до блока данных n-1, последнее кодовое слово; блок данных n, последнее кодовое слово; затем блок исправления ошибок 1, кодовое слово 1, блок исправления ошибок 2, кодовое слово 1 и т.д. до блока исправления ошибок n-1, последнее кодовое слово; блок исправления ошибок n, последнее кодовое слово. Символы QR Code состоят из блоков данных и исправления ошибок, которые полностью заполняют емкость символа. Однако в некоторых версиях QR Code, где число модулей области кодирования не делится на 8 без остатка, к завершенному двоичному потоку может быть добавлено 3, 4 или 7 остаточных битов, чтобы полностью заполнить область кодирования символа.
Блоки данных могут иметь разную длину, в этом случае самый короткий блок данных (или блоки) должен быть помещен в начале в последовательности, и все кодовые слова данных должны быть помещены в символ перед первым кодовым словом исправления ошибок. Например, символ версии 5-Н включает в себя четыре блока данных и четыре блока исправления ошибок, первые два из которых содержат 11 кодовых слов данных и 22 кодовых слова исправления ошибок соответственно, в то время как третья и четвертая пары блоков содержат 12 кодовых слов данных и 22 кодовых слова исправления ошибок соответственно. На рисунке 15 представлено возможное расположение знаков в этом символе. Каждая строка рисунка соответствует одному блоку кодовых слов данных (
Рисунок 15 - Конструирование последовательности кодовых слов завершенного сообщения.
Рисунок 15 - Конструирование последовательности кодовых слов завершенного сообщения.
Таким образом, заключительная последовательность кодовых слов для символа версии 5-Н будет следующей:
7.7 Размещение кодовых слов в матрице
7.7.1 Представление знаков символа
Существует два типа знаков символа в символе QR Code регулярный и нерегулярный, использование которых зависит от их позиции в символе относительно других знаков символа и функциональных шаблонов.
Большинство кодовых слов должно быть представлено в виде регулярных блоков 2
7.7.2 Размещение функциональных шаблонов
Создают пустую квадратную матрицу с числом модулей по горизонтали и вертикали согласно используемой версии. Позиции, соответствующие шаблону поиска, разделителю, шаблону синхронизации и направляющему шаблону должны быть заполнены светлыми или темными модулями соответствующим образом. Позиции модулей для информации о формате и информации о версии временно оставляют пустыми. Пустые позиции приведены на рисунках 19 и 20 и являются общими для всех версий (хотя информация о версии не присутствует в символах версии 1-6). Позиционирование направляющих шаблонов приведено в приложении Е.
7.7.3 Размещение знаков символа
В области кодирования символа QR Code знаки символа позиционируют в колонки шириной два модуля, начинающиеся в нижнем правом углу символа по направлению вверх и вниз справа налево. Принципы, управляющие размещением символов и битов в пределах символов, приведены далее. На рисунках 19 и 20 представлены символы версии 2 и версии 7, применяющие эти принципы.
a) Последовательность размещения битов в столбце должна быть справа налево и снизу вверх или сверху вниз в соответствии с направлением размещения знаков символа.
b) Старший бит (изображенный на рисунках как бит 7) каждого кодового слова должен быть помещен в первую доступную позицию модуля. Последующие биты должны быть размещены в следующих позициях модулей. Поэтому старший бит должен занимать левый нижний модуль регулярного знака при восходящем направлении размещения, и правый верхний модуль при нисходящем направлении размещения. Однако он может быть размещен в правом нижнем модуле нерегулярного знака, если предыдущий знак закончился в правом столбце модулей (см. рисунок 18).
Рисунок 16 - Размещение битов в регулярном знаке символа при восходящем и нисходящем направлениях
Рисунок 16 - Размещение битов в регулярном знаке символа при восходящем и нисходящем направлениях
c) Когда знак символа сталкивается с горизонтальной границей направляющего шаблона или шаблона синхронизации в обоих столбцах модулей, он должен продолжиться выше или ниже шаблона так, как если бы область кодирования была непрерывной.
d) При достижении верхней или нижней границы области кодирования символа (то есть края символа, информации о формате, информации о версии, или разделителя) любые оставшиеся биты в кодовом слове должны быть размещены в следующем столбце налево. Направление размещения изменяется.
Рисунок 17 - Пример размещения битов в регулярных (i) и нерегулярных (ii) знаках символа при изменении направления размещения
Рисунок 17 - Пример размещения битов в регулярных (i) и нерегулярных (ii) знаках символа при изменении направления размещения
e) Когда правый столбец модулей столбца знака символа сталкивается с направляющим шаблоном или областью, занятой информацией о версии, биты должны быть размещены так, чтобы был сформирован нерегулярный знак символа, сдвигая столбец модулей, не пересекающийся с направляющим шаблоном или информацией о версии. Если окончания знаков перед двумя столбцами доступны для следующего знака символа, старший бит следующего знака должен быть помещен в этот же столбец.
Рисунок 18 - Пример размещения битов, смежных направляющему шаблону
Рисунок 18 - Пример размещения битов, смежных направляющему шаблону
Альтернативный метод размещения битов в символе, который обеспечивает вышеуказанный результат, состоит в рассмотрении перемежающейся последовательности кодовых слов как единого двоичного потока, который размещается (начиная со старшего бита) в столбцах шириной два модуля поочередно вверх и вниз и справа налево. В каждом столбце биты размещают поочередно в правых и левых модулях, перемещая вверх или вниз согласно направлению размещения и пропуская области, занятые функциональными шаблонами, изменяя направление вверху или внизу столбца. Каждый бит всегда должен быть размещен в первую доступную позицию для модуля.
Когда емкость данных символа такая, что не делится без остатка на целое число 8-битовых знаков символа, следует использовать соответствующее число остаточных битов (3, 4 или 7 согласно таблице 1), чтобы заполнить емкость символа. Эти остаточные биты должны всегда иметь значение 0 перед маскированием данных согласно 7.8.
Рисунок 19 - Размещение знаков символа версии 2-М
Рисунок 19 - Размещение знаков символа версии 2-М
Рисунок 20 - Размещение знаков символа версии 7-Н
Рисунок 20 - Размещение знаков символа версии 7-Н
Такие же принципы применяют к символам Micro QR Code, в которых нет нерегулярных знаков, за исключением того, что
7.8 Маскирование данных
7.8.1 Общие положения
Для надежного считывания QR Code предпочтительно, чтобы темные и светлые модули были размещены в символе рациональным способом. Применение битового шаблона 1011101, используемого в шаблонах поиска, нужно избегать в других областях символа в максимально возможной степени. Для выполнения этих условий следует применять маскирование данных с использованием следующих этапов:
1 К функциональным шаблонам не применяют маскирование данных.
2 Преобразуют данную комбинацию модулей в области кодирования (исключая информацию о формате и информацию о версии) с многократными матричными шаблонами последовательно через операцию XOR. Для операции XOR совмещают модули такого шаблона с соответствующими модулями шаблона маски и полностью изменяют модули данных (со светлого на темный или наоборот), которые соответствуют темным модулям шаблона маски.
3 Обрабатывают результаты применения всех шаблонов маски, назначая штрафные очки за нежелательные особенности на каждом результате преобразования.
4 Выбирают шаблон с наименьшим числом штрафных очков.
7.8.2 Шаблоны маски данных
В таблице 10 приведены указатели шаблона маски данных (двоичный код для использования в информации о формате) и условия генерации шаблона маски данных. Шаблон маски данных формируют путем определения любого модуля в области кодирования (исключая область, сохраненную для информации о формате и информации о версии) как темного, для которого условие является истинным; при условии, что i относится к позиции строки рассматриваемого модуля и j к позиции его столбца, причем (i, j)=(0, 0) для верхнего левого модуля символа.
Таблица 10 - Условия генерации шаблона маски данных
Указатель шаблона маски данных для символов QR Code | Указатель шаблона маски данных для символов Micro QR Code | Условие |
000 | (i+j) mod 2=0 | |
001 | 00 | i mod 2=0 |
010 | j mod 3=0 | |
011 | (i+j) mod 3=0 | |
100 | 01 | ((i div 2)+(j div 3)) mod 2=0 |
101 | (i j) mod 2+((i j) mod 3=0 | |
110 | 10 | ((i j) mod 2+(i j) mod 3) mod 2=0 |
111 | 11 | (i+j) mod 2+(i j) mod 3) mod 2=0 |
На рисунке 21 приведены все шаблоны маски для символа версии 1. На рисунке 23 показан эффект от применения шаблонов 000 - 111.
Рисунок 21 - Шаблоны маски данных для символа версии 1
Рисунок 21 - Шаблоны маски данных для символа версии 1
Примечание 1 - Три бита под каждым шаблоном являются указателем шаблона маски данных.
Примечание 2 - Уравнение, приведенное ниже указателя шаблона маски данных, показывает условия генерации шаблона маски данных; модули, на которых выполняется условие, изображены темным цветом.
На рисунке 22 ниже приведены четыре допустимых шаблона маски данных, применяемых к символам Micro QR Code версии М-4.
Рисунок 22 - Шаблоны маски данных, применяемые к символам Micro QR Code версии М4
Рисунок 22 - Шаблоны маски данных, применяемые к символам Micro QR Code версии М4
Рисунок 23 - Пример маскирования данных в символах QR Code
Рисунок 23 - Пример маскирования данных в символах QR Code
7.8.3 Оценка результатов маскирования данных
7.8.3.1 Оценка символов QR Code
После выполнения операции маскирования данных для каждого шаблона маски данных должны быть оценены результаты путем подсчета штрафных очков для каждого возникновения следующих особенностей. Чем выше число штрафных очков, тем менее приемлемым является результат. В таблице 11 переменные
Таблица 11 - Подсчет результатов применения маскирования данных
Особенность | Оценка особенности | Штрафные очки |
Длинная колонка или строка модулей одного цвета | Число модулей =(5+i) | |
Блоки модулей одного цвета | Размер блока =2 | |
Шаблон с соотношением 1:1:3:1:1 (темный : светлый : темный : светлый : темный) в строке или столбце, предшествующий или последующий светлой области 4 модуля шириной | Наличие такого шаблона | |
Процент темных модулей в символе | От 50 | |
Примечание 1 - Прилегающие модули одного цвета в строке/столбце |
Выбирают шаблон маски данных, имеющий наименьшее число штрафных очков.
7.8.3.2 Оценка символов Micro QR Code
После выполнения операции маскирования данных в области кодирования символа с каждым шаблоном маски данных оценивают результат, подсчитывая множество темных модулей в каждой из двух границ, которые не содержат шаблоны синхронизации. Чем меньше число темных модулей, тем менее приемлемым является результат. В таких символах рекомендуется иметь больше темных модулей на границе, чтобы более эффективно отличать свободную зону от области кодирования.
Для каждого шаблона маски данных подсчитывают число темных модулей в правой и нижней границах символа (исключая последний модуль шаблона синхронизации). Оценку результата подсчета производят следующим образом:
если SUM
то оценка = SUM
если SUM
то оценка = SUM
где SUM
SUM
Рисунок 24 - Оценка результата маскирования для Micro QR Code
Рисунок 24 - Оценка результата маскирования для Micro QR Code
Выбирают шаблон маски, имеющий наибольший результат.
7.9 Информация о формате
7.9.1 Символы QR Code
Информация о формате представляет собой последовательность из 15 битов, содержащую 5 битов данных и 10 битов исправления ошибок, вычисляемых по коду ВСН (15, 5). Подробные сведения о вычислении битов исправления ошибок для информации о формате приведены в приложении С. Первые два бита данных содержат уровень исправления ошибок символа, обозначенный соответствующим образом (таблица 12).
Таблица 12 - Индикаторы уровня исправления ошибок для символов QR
Уровень исправления ошибок | Двоичный индикатор |
L | 01 |
M | 00 |
Q | 11 |
H | 10 |
Биты с третьего по пятый содержат указатель шаблона маски данных (см. таблицу 10) для шаблона, выбранного в соответствии с 7.8.3.
Десять битов исправления ошибок вычисляют согласно положениям приложения C и добавляют к окончанию пяти битов данных.
Затем к 15 битам информации о формате применяют операцию XOR с маской 101010000010010, чтобы гарантировать, что никакая комбинация уровня исправления ошибок и указателя шаблона маски данных не имеет в результате 15 нулевых битов.
В результате информация о формате должна быть размещена в области, зарезервированной для этого в символе в соответствии с рисунком 25. Следует обратить внимание, что информация о формате появляется в символе дважды, обеспечивая избыточность, так как ее правильное декодирование необходимо для декодирования завершенного символа. Младший бит информации о формате расположен в модуле с номером 0, а старший бит в модуле с номером 14 (рисунок 25). Модуль в позиции (4V+9, 8), где V - номер версии, должен всегда быть темным и не является частью информации о формате.
Рисунок 25 - Позиция информации о формате
Рисунок 25 - Позиция информации о формате
7.9.2 Символы Micro QR Code
Информация о формате представляет собой 15-битовую последовательность, содержащую 5 битов данных, и 10 битов исправления ошибок, вычисляемых с использованием кода ВСН (15, 5). Подробности вычисления битов исправления ошибок для информации о формате приведены в приложении С. Первые три бита данных содержат номер символа (в двоичном виде), который идентифицирует версию и уровень исправления ошибок согласно таблице 13.
Таблица 13 - Номер символа для Micro QR Code
Номер символа | Версия | Уровень исправления ошибок | Двоичный индикатор |
0 | M1 | Только обнаружение | 000 |
1 | M2 | L | 001 |
2 | M2 | M | 010 |
3 | M3 | L | 011 |
4 | M3 | M | 100 |
5 | M4 | L | 101 |
6 | M4 | M | 110 |
7 | M4 | Q | 111 |
Четвертый и пятый биты информации о формате содержат указатель шаблона маски данных, указанный в таблице 10 для шаблона, определенного по 7.8.3.
Десять битов исправления ошибок вычисляют в соответствии с положениями приложения С и добавляют к пяти битам данных.
Затем к 15 битам информации о формате применяют операцию XOR с маской 100010001000101, чтобы гарантировать, что никакая комбинация номера символа и указателя шаблона маски данных не имеет в результате 15 нулевых битов.
В результате информация о формате должна быть размещена в области, сохраненной для этого в символе в соответствии с рисунками 25 и 26, в зависимости от типа символа. Младший бит информации о формате расположен в модуле с номером 0, а старший бит в модуле с номером 14 на рисунках 24 и 25.
Рисунок 26 - Позиция модулей информации о формате в символе Micro QR Code
Рисунок 26 - Позиция модулей информации о формате в символе Micro QR Code
7.10 Информация о версии
Информацию о версии включают в символ QR Code версии 7 или выше. Это 18-битовая последовательность, содержащая 6 битов данных и 12 битов исправления ошибок, вычисляемых с использованием кода ВСН (18, 6). Подробные сведения о вычислении проверочных битов информации о версии приведены в приложении D. Шесть битов данных содержат версию символа, старший бит - первый.
12 проверочных битов исправления ошибок вычисляют по алгоритму, приведенному в приложении D, и добавляются к 6 битам данных.
Информация о версии в результате не может содержать только нулевые биты, поэтому только символы версий 7-40 содержат информацию о версии. К информации о версии не применяют процедуру маскирования данных.
В результате информация о версии должна быть отображена в области, отведенной для этого в символе согласно рисунку 27. Следует обратить внимание, что информация о версии появляется в символе дважды, чтобы обеспечить избыточность, так как без надлежащего декодирования указанной информации невозможно декодирование всего символа. Младший бит информации о версии расположен в модуле с номером 0, а старший бит в модуле номер 17 (рисунок 28).
Пример | |||
Номер версии: | 7 | ||
Данные: | 000111 | ||
ВСН биты: | 110010010100 | ||
Модули шаблона информации о версии: | 000111110010010100 |
Информация о версии занимает блок модулей 6
Рисунок 27 - Размещение информации о версии
Рисунок 27 - Размещение информации о версии
Рисунок 28 - Размещение модулей в информации о версии
Рисунок 28 - Размещение модулей в информации о версии
8 Структурированное соединение
8.1 Основные принципы
Структурированное соединение не допускается в символах Micro QR Code.
В структурированный формат может быть объединено до 16 символов QR Code. Если символ является частью сообщения со структурированным соединением, то это должно быть указано в заголовке в первых трех позициях знаков символа.
Индикатор режима структурированного соединения имеет битовое значение 0011 и занимает первые четыре значащих бита в первом знаке символа.
Сразу за ним должны быть расположены два кодовых слова структурированного соединения, занимающие младшие биты первого знака символа, весь второй знак и старшие четыре бита третьего знака. Первое кодовое слово является индикатором очередности символа (см. 7.2). Второе кодовое слово является контрольными данными (см. 7.3) и должно быть одинаковым для всех символов структурированного соединения в пределах одного сообщения, допускающим возможность верификации того, чтобы все символы показывали принадлежность части к одному и тому же структурированному соединению. Сразу после заголовка должны следовать кодовые слова данных, начиная с индикатора режима. Если в сообщении используют одну или более интерпретаций ECI, отличающихся от ECI по умолчанию, заголовки режима ECI должны быть расположены сразу за заголовком структурного соединения.
На рисунке 29 приведены четыре символа структурированного соединения, содержащих то же самое сообщение, что и большой символ в верхней части рисунка.
Рисунок 29 - Один символ (сверху) и серия символов структурированного соединения (снизу) кодирующие "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123 456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Рисунок 29 - Один символ (сверху) и серия символов структурированного соединения (снизу) кодирующие "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123 456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
8.2 Индикатор очередности символа
Данное кодовое слово указывает позицию символа в последовательности (до 16) символов QR Code в формате структурированного соединения (в форме m из n символов). Первые 4 бита этого кодового слова идентифицируют позицию конкретного символа. Последние 4 бита указывают общее число символов, которые будут связаны в формате структурированного соединения. 4 битовых значения должны быть двоичными эквивалентами (m-1) и (n-1) соответственно.
Пример
Указание третьего символа в наборе из семи символов кодируют следующим образом:
3-я позиция: | 0010 | ||
Общее число из 7 символов: | 0110 | ||
Комбинация битов: | 00100110 |
8.3 Контрольные данные
Контрольными данными является 8-битовый байт, расположенный сразу после индикатора очередности символа. Контрольные данные - значение, полученные с помощью последовательного применения операции XOR к значениям байтов всех первоначальных входных данных перед разделением на блоки знаков для символов. Индикаторы режима, индикаторы числа знаков, биты-заполнители, ограничитель и знаки-заполнители не включают в вычисления. Входные данные представлены для этого вычисления двухбайтовыми значениями JIS Shift для знаков кандзи (каждый байт, обрабатывают отдельно с применением XOR вычислений, при этом самый старший бит обрабатывают первым) и 8-битовыми значениями согласно таблице 6 для других знаков. В режиме ECI значения байтов, полученные после любого шифрования или уплотнения данных, следует использовать при вычислениях.
Пример
Входную строку "0123456789
блок знаков первого символа ("0123") - шестнадцатеричные значения 30, 31, 32, 33;
блок знаков второго символа ("4567") - шестнадцатеричные значения 34, 35, 36, 37;
блок знаков третьего символа ("89
Контрольные данные из входной строки "0123456789
30
Следует обратить внимание, что вычисление контрольных данных может быть выполнено или перед передачей данных на принтер или в самом принтере, если он обеспечивает такую возможность.
9 Печать символов и маркирование
9.1 Размеры
Символы QR Code должны иметь следующие размеры:
- размер X: ширина модуля должна быть установлена в применении с учетом технологии сканирования символа и технологии производства символа;
- размер Y: высота модуля должна быть равна X;
- минимальный размер свободной зоны равен 2Х (для символов Micro QR Code) или 4Х (для символов QR Code) для всех четырех сторон.
9.2 Интерпретация для визуального чтения
Поскольку символы QR Code способны к кодированию тысяч знаков, интерпретация для визуального чтения данных в виде расположенного рядом обычного текста может оказаться нерациональной. Как альтернатива, символ может сопровождать краткий описательный текст, а не весь закодированный текст сообщения.
Настоящий стандарт не определяет размер и тип шрифта знаков, поэтому описание может быть напечатано в любом месте вблизи символа. Интерпретация для визуального чтения не должна накладываться непосредственно на символ и на его свободные зоны.
9.3 Рекомендации по маркированию
Символы QR Code могут быть напечатаны или нанесены с использованием нескольких различных технологий. Рекомендации для пользователя приведены в приложении К.
10 Качество символов
10.1 Методика
Оценку качества печати символов QR Code следует проводиться с использованием рекомендаций по оценке качества двумерных матричных символов штрихового кода, приведенных в ИСО/МЭК 15415 с учетом изменений, указанных далее.
Некоторые технологии маркирования не могут обеспечить нанесение символов, соответствующих требованиям настоящего стандарта без применения специальных мер. В приложении М приведены дополнительные рекомендации с целью помочь любой системе печати обеспечивать нанесение надлежащих символов QR Code.
Символы, полученные методом прямого маркирования изделий, и/или символы, нанесенные несоединяющимися точками, могут не соответствовать требованиям данной методики и могут быть не считаны сканерами, предназначенными для символов QR Code. Требования по применению таких символов должны устанавливать методы измерения качества, использующие ИСО/МЭК 15415 с учетом дополнительных рекомендаций по качеству согласно ИСО/МЭК ТО 29158, и могут регламентировать необходимость использования специальных сканеров для считывания символов, полученных прямым маркированием.
10.2 Параметры качества символа
10.2.1 Повреждение фиксированного шаблона
Методика измерения и оценки повреждения фиксированного шаблона приведена в приложении G.
10.2.2 Класс сканирования и полный класс символа
Класс сканирования должен соответствовать самому низкому из классов контраста символа, модуляции, повреждения фиксированного шаблона, декодирования, осевой неоднородности, неоднородности сетки и неиспользованного исправления ошибок в индивидуальном изображении символа. Полный класс символа - среднее арифметическое отдельных классов сканирования для множества проверенных изображений этого символа.
10.2.3 Осевая неоднородность
Идеальную сетку рассчитывают с использованием шаблонов поиска и направляющих шаблонов в качестве базовых точек, определенных с использованием рекомендуемого алгоритма декодирования (см. раздел 12).
10.3 Методы контрольных измерений
Для мониторинга и контроля при изготовлении символов QR Code используют различные методы и инструментальные средства, приведенные в приложении М. Эти методы не обеспечивают проведение полной проверки качества печати наносимых символов (необходимый метод для оценки качества печати символа указан ранее в настоящем разделе, а также в приложении G), но отдельно и вместе предоставляют полезные сведения о создании в процессе печати пригодных для работы символов.
11 Обзор процедуры декодирования
Этапы декодирования, начиная со считывания символа QR Code и заканчивая формированием выходной строки знаков, являются обратными по отношению к процедуре кодирования. На рисунке 30 приведена схема этого процесса.
1. Определят место нахождения и получают изображение символа. Темные и светлые модули представляют как массив битов "0" и "1". Определяют полярность коэффициентов отражения по модулям шаблона поиска.
2. Считывают информацию о формате. Реализуют шаблон маски и проводят процедуру исправления ошибок на модулях информации о формате, если необходимо; в случае успеха символ имеет обычную ориентацию, в противном случае предпринимают попытку декодирования информации о формате для изображения в зеркальном отображении. Определяют уровень исправления ошибок в символах QR Code - непосредственно, а в символах Micro QR Code - на основе номера символа и указателя шаблона маски.
3. Считывают информацию о версии (где это применимо), и определяют версию символа (в случае Micro QR Code - из номера символа).
4. Из информации о формате получают указатель шаблона маски и реализуют процедуру маскирования данных, применяя операцию XOR к битам области данных с битами шаблона маски.
5. Считывают знаки символа согласно правилам размещения для модели и восстанавливают кодовые слова данных и исправления ошибок в сообщении.
6. Определяют число кодовых слов исправления ошибок на основании уровня исправления ошибок и находят ошибочные кодовые слова, используя кодовые слова исправления ошибок. Если ошибки были обнаружены, исправляют их.
7. Разделяют кодовые слова данных на сегменты в соответствии с индикаторами режимов и индикаторами числа знаков.
8. В заключении декодируют знаки данных в соответствии с используемым(мыми) режимом(ами) и выводят результат.
Рисунок 30 - Этапы декодирования символа QR Code
Рисунок 30 - Этапы декодирования символа QR Code
12 Рекомендуемый алгоритм декодирования для QR Code
С помощью данного рекомендуемого алгоритма декодирования находят на изображении символы QR Code и декодируют их.
Алгоритм распознавания, относящийся к определению темных и светлых точек в изображении:
a) Определяют глобальный порог, используя полученные значения коэффициента отражения, как среднее между минимальным и максимальным коэффициентом отражения в изображении; преобразуют изображение в массив темных и светлых пикселей на основе глобального порога.
b) Определяют место нахождения шаблона поиска. Шаблон поиска для символов QR Code состоит из трех одинаковых шаблонов, расположенных в трех из четырех углов символа. Шаблон поиска для символов Micro QR Code состоит из единственного шаблона. Согласно 6.3.3 модули в каждом шаблоне поиска формируют последовательность темный-светлый-темный-светлый-темный, относительная значения ширины каждого элемента которой находятся в соотношении 1:1:3:1:1. Для целей данного алгоритма допускается отклонение каждого значения ширине до 0,5 (то есть в диапазоне от 0,5 до 1,5 модулей для области шириной в 1 модуль и от 2,5 до 3,5 модулей для квадратной области шириной 3 модуля).
1) При обнаружении области-кандидата, отмечают позиции первой и последней точки (A и B соответственно) на линии из пикселей, которая пересекается с внешними границами шаблона поиска на изображении (см. рисунок 31). Повторяют вышеуказанное для смежных линий пикселей в изображении до тех пор, пока не будут идентифицированы все линии, пересекающие центральный блок шаблона поиска по оси X изображения.
Рисунок 31 - Линия сканирования в шаблоне поиска
Рисунок 31 - Линия сканирования в шаблоне поиска
2) Повторяют этап 1) для столбцов пикселей, пересекающих центральный блок найденного шаблона поиска по оси Y.
3) Определяют место нахождения центр шаблона. Проводят линию через точки, находящиеся посередине между точками A и B для линий, пересекающих центральный блок шаблона поиска вдоль оси X, построенных на этапе 1). Проводят линию через точки, находящиеся посередине между точками A и B для линий, пересекающих центральный блок шаблона поиска вдоль оси Y, построенных на этапе 2). Центр шаблона поиска должен находиться в точке пересечения этих двух линий.
4) Повторяют этапы 1)-3) для нахождения центров двух оставшихся шаблонов поиска.
5) Если не было найдено ни одной области-кандидата на шаблон поиска, изменяют пиксели на инвертированные светлые и темные пиксели и повторяют, начиная с этапа b), попытки декодировать символ как символ с инвертированными значениями коэффициентов отражения.
6) Если найден только один шаблон поиска (а места нахождения двух других не обнаружены), символ декодируют как Micro QR Code, перейдя к рекомендуемому алгоритму декодирования Micro QR Code (с этапа m).
c) Определяют угловую ориентацию символа, анализируя координаты центров найденных шаблонов поиска для уточнения, какой из шаблонов находится в левом верхнем углу символа, и таким образом находят угол поворота символа.
d) Определяют: 1) расстояние D на линии, пересекающей символ и проходящей через центры левого верхнего и правого верхнего шаблонов, и 2) ширину двух этих шаблонов
Рисунок 32 - Верхние шаблоны поиска
Рисунок 32 - Верхние шаблоны поиска
e) Вычисляют номинальный размер X для символа X=(
f) Вычисляют приблизительную версию символа V V=[(D/X)-10]/4.
g) Если приблизительная версия символа 6 или менее, ее принимают в качестве окончательной версии. Если приблизительная версия 7 или более, декодируют информацию о версии следующим образом.
1) Делят ширину верхнего левого шаблона
2) Находят направляющие линии AC и AB, проходящие через центры трех шаблонов поиска A, B и C согласно рисунку 33. Сетку выборки центров модулей блока 1 информации о версии определяют на основе линий, параллельных направляющим линиям, координат центров шаблонов поиска и размера модуля
Рисунок 33 - Шаблоны поиска и информация о версии
Рисунок 33 - Шаблоны поиска и информация о версии
3) Определяют версию, используя обнаружение и исправление ошибок, если необходимо, с помощью таблицы D.1 приложения D.
4) Если число обнаруженных ошибок превышает способность к их исправлению, вычисляют ширину левого нижнего шаблона
a) Для символа версии 1, повторно определяют размер X как средний интервал между центрами темных и светлых модулей в верхнем шаблоне синхронизации. Подобным образом вычисляют размер Y как средний интервал между центрами темных и светлых модулей в левом шаблоне синхронизации. Определяют сетку выборки на основании: 1) базовой горизонтальной линии, проведенной через верхний шаблон синхронизации, совместно с линиями, параллельными базовой горизонтальной линии на расстоянии Y, включая шесть линий выше базовой горизонтальной линии и столько линий ниже этой линии, сколько требуется для данной версии; и 2) вертикальной линии, проведенной по левой стороне шаблона синхронизации совместно с линиями, параллельными этой линии и проведенными на расстоянии X, включая шесть линий левее этой линии и столько линий правее этой линии, сколько требуется для данной версии. Для символов версии 2 и более, определяют координаты центров всех направляющих шаблонов согласно 6.3.6 и приложению E, а затем формируют сетку выборки с линиями, проведенными на равном удалении от этих точек.
Рисунок 34 - Шаблоны поиска и направляющие шаблоны
Рисунок 34 - Шаблоны поиска и направляющие шаблоны
1) Делят ширину
2) Определяют приблизительные координаты центров направляющих шаблонов Р1 и Р2 (см. рисунок 34
________________
3) Сканируют направляющие шаблоны P1 и P2, начиная с приблизительной координаты центрального пикселя до контура белого квадрата, чтобы найти фактические координаты центра Xi и Yj (см. рисунок 35).
Рисунок 35 - Координаты центра направляющего шаблона
Рисунок 35 - Координаты центра направляющего шаблона
4) Определяют приблизительные координаты центра направляющего шаблона P3 на основе координат центра A верхнего левого шаблона поиска
5) Находят фактические координаты центра направляющего шаблона P3 с помощью процедуры этапа 3).
6) Находят Lx - расстояние по горизонтали между центрами направляющих шаблонов P2 и P3, и Ly, расстояние по вертикали между центрами направляющих шаблонов P1 и P3. Делят Lx и Ly на AP (см. далее) для получения размеров модуля CPx по левой стороне и CPy по правой стороне в верхней левой области символа (см. рисунок 35)
CPx=Lx/AP;
CPy=Ly/AP,
где AP - расстояние в модулях между центрами направляющих шаблонов (см. таблицу E.1).
Таким же образом находят Lx', расстояние по горизонтали между центрами верхнего левого шаблона поиска
CPx'=Lx' / (координата столбца центрального модуля направляющего шаблона Р1 - координата столбца центрального модуля верхнего левого шаблона поиска
CPy'=Ly' / (координата строки центрального модуля направляющего шаблона Р2 - координата строки центрального модуля верхнего левого шаблона поиска
Рисунок 36 - Верхняя левая область символа
Рисунок 36 - Верхняя левая область символа
7) Определяют сетку выборки, покрывающую верхнюю левую область символа на основе размеров модулей CPx, CPx', CPy и CPy', представленных по каждой стороне верхней левой области символа.
8) Таким же образом определяют примерную сетку выборки для верхней правой области (охватывающей верхний правый шаблон поиска
9) Для направляющего шаблона Р6 (см. рисунок 37) определяют приблизительные координаты центрального модуля из размеров модулей CPx' и CPy', значения которых определены из расстояний между направляющими шаблонами P3, P4 и P5, путем проведения вспомогательных линий через центры направляющих шаблонов P3 и P4 и через P3 и P5 соответственно и учета центральных координат этих шаблонов.
Рисунок 37 - Нижняя правая область символа
Рисунок 37 - Нижняя правая область символа
10) Повторяют этапы e)-h) для определения сетки выборки для нижней правой области символа.
11) Таким же образом определяют сетки выборки для неохваченных областей символа.
i) Просматривают области изображения размером 3
j) Декодируют информацию о формате, смежную с верхним левым направляющим шаблоном в соответствии с приложением C.3 для получения уровня исправления ошибок и указателя шаблона маски, примененной к символу. Если число обнаруженных ошибок превышает способность их исправления, повторяют эту процедуру для декодирования информации о формате, смежную с верхним правым и нижним левым шаблонами поиска.
k) Если невозможно получить из двоичной строки надлежащую информацию о формате, предпринимают попытки определения, является ли правильной последовательность битов, если их прочитать в обратном порядке. В случае успеха продолжают декодирование изображения зеркально отображенного символа, меняя местами координаты строк и столбцов.
1) Переходят к этапу y.
m) Для символов Micro QR Code определяют возможный угол поворота символа относительно координатных осей изображения, анализируя углы наклона линий, полученных на этапе b) 3), по отношению к осям датчика изображения, а именно
Рисунок 38 - Положение угла "тета" относительно осей датчика изображения
Рисунок 38 - Положение угла
n) Проводят три линии, параллельные каждой из осей шаблона поиска на одинаковом расстоянии через весь шаблон, и измеряют расстояние от точки A до точки B на каждой линии. Расстояние между линиями не ограничено, однако все три линии должны проходить через шаблон поиска.
o) Вычисляют приблизительный размер X модуля символа по каждой оси как седьмую часть среднего из этих трех расстояний от А до В, определенных на этапе n.
p) Последовательно выбирают каждую сторону внешнего блока шаблона поиска и продлевают линию, направленную наружу от шаблона поиска в обоих направлениях параллельно краю и на расстояние 0.5X отступая внутрь от края.
q) Осуществляют поиск шаблонов синхронизации:
1) определяют два края шаблона поиска номинально перпендикулярные друг к другу, каждый из которых имеет оба следующих признака:
i) Свободную область не менее 1.5X в одном направлении;
ii) Область с чередующимися светлыми и темными участками с центрами на расстоянии 1X от края шаблона поиска в противоположном направлении (кандидат на шаблон синхронизации).
2) Проверяют, что число темных модулей в каждом кандидате на шаблон синхронизации от двух до пяти.
r) Определяют приблизительную версию символа по количеству темных элементов шаблона синхронизации:
- при двух темных элементах, символ имеет версию M1;
- при трех темных элементах, символ имеет версию M2;
- при четырех темных элементах, символ имеет версию M3;
- при пяти темных элементах, символ имеет версию M4.
s) Из центра первого темного модуля каждой стороны шаблона синхронизации проводят линию, параллельную смежной стороне шаблона поиска до пересечения с соответствующей линией, проведенной из другой стороны и просматривая области изображения размером 3 х 3 пикселей с интервалом 1X вдоль этих линий, определяют статус каждого модуля (светлый или темный) блока информации о формате. Определяют двоичную строку информации о формате, принимая темный пиксель за двоичный 1 и светлый пиксель за двоичный 0.
t) Реализуют маскирование информации о формате, применяя операцию XOR к его двоичной строке с помощью шаблона из 7.9.2, и декодируют информацию о формате (применяя процедуру исправления ошибок по приложению В, если необходимо) для получения номера символа (и, следовательно, версии и уровня исправления ошибок символа) и указателя шаблона маски, примененный к данным символа.
u) Если невозможно получить из двоичной строки информации о формате надлежащую последовательность, предпринимают попытки определить, является ли правильной последовательность битов при их считывании в обратном порядке. В случае успеха продолжают декодирование зеркально отображенного символа, меняя местами координаты строк и столбцов. Если отличие от надлежащей последовательности по приложению C не более двух битов, заменяют эту последовательность и декодируют замененную информацию о формате, чтобы получить номер символа и шаблон маски данных.
v) Убеждаются, что модуль имеет размер X по каждой оси, путем деления полной ширины от внешнего края шаблона поиска, смежного со свободной зоной, до внешнего края последнего темного модуля в шаблоне синхронизации, на число модулей, соответствующей версии символа.
w) Устанавливают сетку выборки, соответствующую версии символа, из линий по каждой оси, параллельных друг другу и стороне шаблона поиска, отстоящих на 1X, и проходящих через центры модулей шаблона синхронизации и подобных позиций в шаблоне поиска.
x) Просматривают области изображения размером 3
y) Выполняют процедуру маскирования, применяя операцию XOR шаблона маски данных к области кодирования символа, и восстанавливают знаки символа, представляющие данные и кодовые слова исправления ошибок. Эта процедура является обратной процессу маскирования данных, применяемому в процессе кодирования.
z) Определяют кодовые слова символа согласно правилам размещения, указанным в 7.7.3.
aa) Перегруппировывают кодовые слова по блокам, как требуется для данной версии символа и уровня исправления ошибок, используя процесс, обратный к приведенному в 7.6 этап 3 ).
bb) Проводят декодирующую процедуру обнаружения и исправления ошибок по приложению В, чтобы исправить такое число ошибок и стираний, которое максимально возможно для данной версии символа и уровня исправления ошибок.
cc) Восстанавливают первоначальный двоичный поток сообщения, собирая блоки данных в последовательность.
dd) Подразделяют двоичный поток данных на сегменты, каждый из которых начинается с индикатора режима и индикатора числа знаков.
ee) Декодируют каждый сегмент в соответствии правилам, действительными для данного режима.
13 Способность к автораспознаванию
Символы QR Code могут быть использованы в среде автоматического распознавания со множеством символов других символик (см. приложение L). Хотя символы QR Code Model 1 и символы QR Code могут быть распознаны автоматически путем анализа шаблона маски информации о формате, символы Model 1 не должны использоваться в той же самой среде, что и символы QR Code.
14 Передаваемые данные
14.1 Общие положения
Все закодированные знаки данных должны быть включены в передачу данных. Функциональные шаблоны, информация о формате и информация о версии, знаки исправления ошибок, знаки-заполнители и остаточные знаки не подлежат передаче. Заданным по умолчанию режимом передачи для всех данных должен быть байтовый режим.
Блок заголовка структурного соединения не должен передаваться декодерами, работающими в буферизированном режиме, которые восстановили полное сообщение перед передачей. Если декодер работает в небуферизованном режиме, заголовок структурного дополнения должен быть передан как первые 2 байта каждого символа. Более сложные интерпретации, включая передачу данных с интерпретацией в расширенном канале, приведены далее.
14.2 Идентификатор символики
В ИСО/МЭК 15424 установлена стандартная процедура сообщения о считанной символике, вместе с набором опций в декодере и любых особых свойств, встречающихся в символе.
Как только структура данных (включая использование любой интерпретации ECI) была идентифицирована, соответствующий идентификатор символики должен быть добавлен декодером как преамбула к передаваемым данным; если используются интерпретации ECI, обязательно требуется идентификатор символики. В приложении F содержатся значения идентификатора символики, которые используются в QR Code.
14.3 Интерпретации в расширенном канале
В системах, поддерживающих протокол ECI, при каждой передаче требуется передача идентификатора символики. Всякий раз, когда встречается индикатор режима ECI, в выходных данных он должен быть передан как управляющий знак 5C
________________
При распознавании последовательности \nnnnnn прикладное программное обеспечение должно интерпретировать все последующие знаки как входящие в ECI, определенную 6 цифрами обозначения ECI. Эта интерпретация действует:
- до окончания закодированных данных;
- до изменения на новую ECI, обозначенную индикатором режима 0111, в соответствии с правилами, приведенными в спецификации организации AIM, устанавливающей ECI.
При возвращении к интерпретации, заданной по умолчанию, декодер должен вывести соответствующую управляющую последовательность как префикс к данным.
Если знак 5С
Пример 1
a) Кодируемые данные (шестнадцатеричные значения): | 41 42 43 5С 31 32 33 34 | ||
Передаваемые данные: | 41 42 43 5С 5C 31 32 33 34 | ||
Кодируемые данные: | ABC за которым находятся <последующие данные>, закодированные по правилам ECI 123456. | ||
Передаваемые данные: | 41 42 43 5С 31 32 33 34 35 36 |
Пример 2 (с использованием данных 7.4.2.2)
Сообщение содержит индикатор режима ECI/обозначение ECI/ |
индикатор режима /индикатор числа знаков /данные в форме
0111 000010
01 0100 000
00101 10100
001 1010001
0 10100011
10100100 10100101
Идентификатор символики ]Q2 (см. приложение F) должен быть добавлен к передаваемым данным.
Передача (шестнадцатеричные значения): | 5D 51 32 5С 30 30 30 30 30 39 A1 A2 A3 A4 A5 | ||
Закодированные данные в ECI 000009: | АВГ |
В режиме структурированного соединения, когда индикатор режима ECI расположен в начале символа, последующие знаки данных следует интерпретировать как находящиеся в режиме интерпретации(й) в расширенном канале (ECI), который был в силе конце предшествующего символа.
Примечание - Знак, имеющий значение 5С
14.4 Знак FNC1
В режимах с подразумеваемым знаком FNC1 впервой или второй позиции, этот знак не может быть передан непосредственно, так как отсутствует соответствующее значение байта. Поэтому необходимо указать его присутствие в первой или второй позиции передачей соответствующего идентификатора символики (]Q3, ]Q4, ]Q5 или ]Q6), установленного в приложении F. В соответствии со спецификацией по применению эти знаки могут встречаться и в других местах сообщения в качестве разделителей полей данных, представляемых в алфавитно-цифровом режиме знаком % и в байтовом режиме управляющим знаком GS (шестнадцатеричное значение 1D
Если в символах в режиме FNC1 знак % должен быть закодирован как данные, в алфавитно-цифровом режиме, он должен быть представлен в символе как %%. Если декодер встречает такую последовательность, он должен передать один знак %.
Приложение A (обязательное). Порождающие полиномы для кодовых слов обнаружения и исправления ошибок
Приложение A
(обязательное)
Кодовые слова исправления ошибок получают путем деления полинома кодовых слов данных, где каждое кодовое слово является коэффициентом полинома в порядке убывания степени, на порождающий полином. Коэффициенты полинома (остатка от этого деления) являются значениями кодовых слов исправления ошибок.
В таблице А.1 приведены порождающие полиномы для кодов исправления ошибок для всех символов QR Code всех версий и уровней исправления ошибок. Число кодовых слов исправления ошибок, требуемых для конкретной версии и уровня исправления ошибок, может быть определено по таблице 9, в которой
Таблица А.1 - Порождающие полиномы для кодовых слов исправления ошибок по Риду-Соломону
Число кодовых слов исправления ошибок | Порождающие полиномы |
2 | |
5 | |
6 | |
7 |
8 | |
10 | |
13 | |
14 | |
15 | |
16 | |
________________ * Текст документа соответствует оригиналу. - . | |
17 | |
18 | |
20 | |
22 | |
24 | |
26 | |
28 | |
30 | |
32 |
|
________________ * Текст документа соответствует оригиналу. - . | |
34 | |
36 | |
40 | |
42 | |
44 | |
46 | |
48 | |
50 | |
52 | |
54 | |
56 | |
58 | |
60 | |
62 | |
64 | |
66 | |
68 |
Приложение B (обязательное). Порядок исправления ошибок при декодировании
Приложение B
(обязательное)
Для примера возьмем символ версии 1-М, для которого для исправления ошибок используется код Рида-Соломона (26, 16, 4) в поле GF(2
Таким образом
где
i) Вычисляют n синдромов (n равно числу кодовых слов, доступных для исправления ошибок, вычисленному по формуле (c-k-p) в соответствии с таблицей 9).
Вычисляют синдромы
…
…
где
ii) Определяют позиции ошибок
Вычисляют переменные
Подставляют переменную в следующий полином и заменяют элементы GF (2
Обнаруживают, что ошибка находится на j-й цифре (считая от 0-й цифры) для элемента
iii) Определяют размер ошибки
Исходя из предположения, что ошибка находится на j1, j2, j4 цифрах в (ii) выше, вычисляют размер ошибки по формулам
Решают вышеуказанные уравнения для определения размера каждой ошибки
iv) Исправление ошибок
Исправляют ошибки, прибавляя к значению размера каждой ошибки значения, находящиеся на позициях каждой ошибки.
Приложение C (обязательное). Информация о формате
Приложение C
(обязательное)
Информация о формате представляет собой 15-битовую последовательность, состоящую из 5 битов данных и 10 битов исправления ошибок по алгоритму ВСН. В настоящем приложении приведен порядок вычисления битов исправления ошибок и процесс исправления ошибок при декодировании.
С.1 Вычисление битов исправления ошибок
Для получения битов исправления ошибок используют код Боуза-Чоудхури-Хоквингема (Bose-Chaudhuri-Hocquenghem, ВСН) (15,5). Полином, коэффициенты которого - биты строки данных, делят на порождающий полином
Пример
Уровень исправления ошибок М; данные шаблона маски 101
Двоичная строка: | 00101 | ||
Полином: | |||
Повышают степень (15-5): | |||
Делят на G(x): | = |
Добавляют строку коэффициентов вышеупомянутого полинома-остатка к информационным данным о формате:
00101+0011011100 | 001010011011100 | ||
XOR с маской | 101010000010010 | ||
Результат: | 100000011001110 |
Размещают эти биты информации в областях информации о формате согласно 7.9.
С.2 Этапы обнаружения и исправления ошибок при декодировании
Реализуют маскирование модулей информации о формате, применяя операцию XOR к последовательности битов с шаблоном 101010000010010 (для символов QR Code) или 100010001000101 (для символов Micro QR Code).
Интервал Хэмминга (Hamming distance) для кода исправления ошибок, используемый в информации о формате, должен быть 7, что дает возможность исправить до трех ошибочно считанных битов. Есть 32 надлежащих битовых последовательности для информации о формате, так что декодирование можно достаточно эффективно осуществить с использованием таблицы С.1. Считанные последовательности битов из области информации о формате символа побитово сравнивают с 32 надлежащими двоичными строками информации о формате, приведенными в таблице С.1. Принимают двоичную строку, приведенную в таблице С.1, которая является наиболее соответствующей считанной из символа, если строки отличаются на 3 бита или менее.
Пример (для символа QR Code)
Биты, прочитанные из области информации о формате: | 000011101001001 | ||
Наиболее близкая строка из таблицы: | 000111101011001 |
Поскольку считанная последовательность и строка из таблицы отличаются только двумя битами, то сравнение считают успешным, так что формат символа утверждают как использующий уровень исправления ошибок М и шаблон маски 011.
Таблица С.1 - Надлежащие битовые последовательности информации о формате
Последовательность до маскирования | Последовательность после маскирования (символы QR Code) | Последовательность после маскирования (символы Micro QR Code) | |||
Биты данных | Биты исправления ошибок | Двоичная | Шестнад- | Двоичная | Шестнад- |
00000 | 0000000000 | 101010000010010 | 5412 | 100010001000101 | 4445 |
00001 | 0100110111 | 101000100100101 | 5125 | 100000101110010 | 4172 |
00010 | 1001101110 | 101111001111100 | 5Е7C | 100111000101011 | 4E2В |
00011 | 1101011001 | 101101101001011 | 5B4B | 100101100011100 | 4B1C |
00100 | 0111101011 | 100010111111001 | 45F9 | 101010110101110 | 55AE |
00101 | 0011011100 | 100000011001110 | 40CE | 101000010011001 | 5099 |
00110 | 1110000101 | 100111110010111 | 4F97 | 101111111000000 | 5FC0 |
00111 | 1010110010 | 100101010100000 | 4AA0 | 101101011110111 | 5AF7 |
01000 | 1111010110 | 111011111000100 | 77C4 | 110011110010011 | 6793 |
01001 | 1011100001 | 111001011110011 | 72F3 | 110001010100100 | 62A4 |
01010 | 0110111000 | 111110110101010 | 7DAA | 110110111111101 | 6DFD |
01011 | 0010001111 | 111100010011101 | 789D | 110100011001010 | 68CA |
01100 | 1000111101 | 110011000101111 | 662F | 111011001111000 | 7678 |
01101 | 1100001010 | 110001100011000 | 6318 | 111001101001111 | 734F |
01110 | 0001010011 | 110110001000001 | 6C41 | 111110000010110 | 7C16 |
01111 | 0101100100 | 110100101110110 | 6976 | 111100100100001 | 7921 |
10000 | 1010011011 | 001011010001001 | 1689 | 000011011011110 | 06DE |
10001 | 1110101100 | 001001110111110 | 13BE | 000001111101001 | 03E9 |
10010 | 0011110101 | 001110011100111 | 1CE7 | 000110010110000 | 0CB0 |
10011 | 0111000010 | 001100111010000 | 19D0 | 000100110000111 | 0987 |
10100 | 1101110000 | 000011101100010 | 0762 | 001011100110101 | 1735 |
10101 | 1001000111 | 000001001010101 | 0255 | 001001000000010 | 1202 |
10110 | 0100011110 | 000110100001100 | 0D0C | 001110101011011 | 1D5B |
10111 | 0000101001 | 000100000111011 | 083B | 001100001101100 | 186C |
11000 | 0101001101 | 011010101011111 | 355F | 010010100001000 | 2508 |
11001 | 0001111010 | 011000001101000 | 3068 | 010000000111111 | 203F |
11010 | 1100100011 | 011111100110001 | 3F31 | 010111101100110 | 2F66 |
11011 | 1000010100 | 011101000000110 | 3A06 | 010101001010001 | 2A51 |
11100 | 0010100110 | 010010010110100 | 24B4 | 011010011100011 | 34E3 |
11101 | 0110010001 | 010000110000011 | 2183 | 011000111010100 | 31D4 |
11110 | 1011001000 | 010111011011010 | 2EDA | 011111010001101 | 3E8D |
11111 | 1111111111 | 010101111101101 | 2BED | 011101110111010 | 3BBA |
Приложение D (обязательное). Информация о версии
Приложение D
(обязательное)
D.1 Общие положения
Информация о версии представляет собой 18-битовую последовательность, состоящую из 6 битов данных и 12 битов исправления ошибок по коду Голея (Golay code). В настоящем приложении описан алгоритм вычисления битов исправления ошибок при кодировании и процесс исправления ошибок при декодировании.
D.2 Вычисление битов исправления ошибок
Для получения битов исправления ошибок используют код Голея (Golay code) (18,6). Полином, коэффициенты которого - это биты строки данных, делят на порождающий полином G(x)=
Пример
Версия: | 7 | ||
Двоичная строка: | 000111 | ||
Полином: | |||
Повышают степень (18-6): | |||
Делят на G(x): | = | ||
Добавляют строку коэффициентов вышеупомянутого полинома-остатка к строке данных информации о версии: | |||
000111+110010010100 |
Размещают указанные биты в областях информации о версии в соответствии с 7.10.
В таблице D.1 приведены полные двоичные потоки информации о версии для всех версий.
D.3 Этапы исправление ошибок при декодировании
Интервал Хэмминга (Hamming distance) для кода исправления ошибок используют в информации о версии 8, что дает возможность исправить до трех ошибочно считанных битов. Установлены 34 надлежащие битовые последовательности для информации о версии, так что декодирование можно с достаточной эффективностью проводить с использованием таблицы D.1. Считанные последовательности битов из области информации о версии символа побитово сравнивают с 34 надлежащими двоичными строками информации о версии по таблице D.1. Принимают двоичную строку из таблицы D.1, которая является наиболее близкой по значению к считанной, если строки отличаются тремя битами или менее.
Пример
Биты, считанные из области информации о версии: | 000111110110010100 | |||
Наиболее близкая по значению строка из таблицы: | 000111110010010100 |
Поскольку считанная последовательность и строка, приведенная в таблице D.1, отличаются только одним битом, то сравнение считают успешным; в результате подтверждается соответствие символа версии 7.
Таблица D.1 - Двоичный поток информации о версии для всех версий
Версия | Двоичный поток | Шестнадцатеричный поток |
7 | 00 0111 1100 1001 0100 | 07C94 |
8 | 00 1000 0101 1011 1100 | 085BC |
9 | 00 1001 1010 1001 1001 | 09A99 |
10 | 00 1010 0100 1101 0011 | 0A4D3 |
11 | 00 1011 1011 1111 0110 | 0BBF6 |
12 | 00 1100 0111 0110 0010 | 0C762 |
13 | 00 1101 1000 0100 0111 | 0D847 |
14 | 00 1110 0110 0000 1101 | 0E60D |
15 | 00 1111 1001 0010 1000 | 0F928 |
16 | 01 0000 1011 0111 1000 | 10B78 |
17 | 01 0001 0100 0101 1101 | 1145D |
18 | 01 0010 1010 0001 0111 | 12A17 |
19 | 01 0011 0101 0011 0010 | 13532 |
20 | 01 0100 1001 1010 0110 | 149A6 |
21 | 01 0101 0110 1000 0011 | 15683 |
22 | 01 0110 1000 1100 1001 | 168C9 |
23 | 01 0111 0111 1110 1100 | 177EC |
24 | 01 1000 1110 1100 0100 | 18EC4 |
25 | 01 1001 0001 1110 0001 | 191E1 |
26 | 01 1010 1111 1010 1011 | 1AFAB |
27 | 01 1011 0000 1000 1110 | 1В08E |
28 | 01 1100 1100 0001 1010 | 1СС1А |
29 | 01 1101 0011 0011 1111 | 1D33F |
30 | 01 1110 1101 0111 0101 | 1ED75 |
31 | 01 1111 0010 0101 0000 | 1F250 |
32 | 10 0000 1001 1101 0101 | 209D5 |
33 | 10 0001 0110 1111 0000 | 216F0 |
34 | 10 0010 1000 1011 1010 | 228ВА |
35 | 10 0011 0111 1001 1111 | 2379F |
36 | 10 0100 1011 0000 1011 | 24В0В |
37 | 10 0101 0100 0010 1110 | 2542Е |
38 | 10 0110 1010 0110 0100 | 26А64 |
39 | 10 0111 0101 0100 0001 | 27541 |
40 | 10 1000 1100 0110 1001 | 28С69 |
Приложение E (обязательное). Размещение направляющих шаблонов
Приложение E
(обязательное)
Направляющие шаблоны располагают симметрично по обе стороны диагонали, проходящей из верхнего левого угла к нижнему правому углу символа. Они должны быть расположены без отклонений, насколько возможно между шаблоном синхронизации и противоположной стороной символа без любого отклонения интервала между шаблоном синхронизации и первым направляющим шаблоном внутри символа.
В таблице Е.1 для каждой версии приведено число направляющих шаблонов и координаты строки и столбца центрального модуля каждого направляющего шаблона.
Таблица Е.1 - Координаты (столбца/строка) центрального модуля направляющих шаблонов
Версия | Число направляющих шаблонов | Координаты (столбец/строка) центрального модуля | ||||||
1 | 0 | - | ||||||
2 | 1 | 6 | 18 | |||||
3 | 1 | 6 | 22 | |||||
4 | 1 | 6 | 26 | |||||
5 | 1 | 6 | 30 | |||||
6 | 1 | 6 | 34 | |||||
7 | 6 | 6 | 22 | 38 | ||||
8 | 6 | 6 | 24 | 42 | ||||
9 | 6 | 6 | 26 | 46 | ||||
10 | 6 | 6 | 28 | 50 | ||||
11 | 6 | 6 | 30 | 54 | ||||
12 | 6 | 6 | 32 | 58 | ||||
13 | 6 | 6 | 34 | 62 | ||||
14 | 13 | 6 | 26 | 46 | 66 | |||
15 | 13 | 6 | 26 | 48 | 70 | |||
16 | 13 | 6 | 26 | 50 | 74 | |||
17 | 13 | 6 | 30 | 54 | 78 | |||
18 | 13 | 6 | 30 | 56 | 82 | |||
19 | 13 | 6 | 30 | 58 | 86 | |||
20 | 13 | 6 | 34 | 62 | 90 | |||
21 | 22 | 6 | 28 | 50 | 72 | 94 |
22 | 22 | 6 | 26 | 50 | 74 | 98 | ||
23 | 22 | 6 | 30 | 54 | 78 | 102 | ||
24 | 22 | 6 | 28 | 54 | 80 | 106 | ||
25 | 22 | 6 | 32 | 58 | 84 | 110 | ||
26 | 22 | 6 | 30 | 58 | 86 | 114 | ||
27 | 22 | 6 | 34 | 62 | 90 | 118 | ||
28 | 33 | 6 | 26 | 50 | 74 | 98 | 122 | |
29 | 33 | 6 | 30 | 54 | 78 | 102 | 126 | |
30 | 33 | 6 | 26 | 52 | 78 | 104 | 130 | |
31 | 33 | 6 | 30 | 56 | 82 | 108 | 134 | |
32 | 33 | 6 | 34 | 60 | 86 | 112 | 138 | |
33 | 33 | 6 | 30 | 58 | 86 | 114 | 142 | |
34 | 33 | 6 | 34 | 62 | 90 | 118 | 146 | |
35 | 46 | 6 | 30 | 54 | 78 | 102 | 126 | 150 |
36 | 46 | 6 | 24 | 50 | 76 | 102 | 128 | 154 |
37 | 46 | 6 | 28 | 54 | 80 | 106 | 132 | 158 |
38 | 46 | 6 | 32 | 58 | 84 | 110 | 136 | 162 |
39 | 46 | 6 | 26 | 54 | 82 | 110 | 138 | 166 |
40 | 46 | 6 | 30 | 58 | 86 | 114 | 142 | 170 |
Например, для символа версии 7 в таблице Е.1 указаны значения 6, 22 и 38. Поэтому направляющие шаблоны должны быть расположены на позициях (строка, столбец) (6, 22), (22, 6), (22, 22), (22, 38), (38, 22), (38, 38). Следует обратить внимание, что координаты (6, 6), (6, 38), (38, 6) заняты шаблонами поиска и поэтому не используются для направляющих шаблонов.
Приложение F (обязательное). Идентификатор символики
Приложение F
(обязательное)
Идентификатор символики, присвоенный QR Code в соответствии с ИСО/МЭК 15424, который должен быть добавлен как преамбула к декодированным данным соответственно запрограммированными декодерами:
]Qm,
где: ] - флаг идентификатора символики (знак набора ASCII с десятичным значением 93);
Q - знак кода для символики QR Code
m - знак - модификатор, соответствующий одному из значений, приведенных в таблице F.1.
Для символов Micro QR Code значение m всегда должно быть равно 1.
Таблица F.1 - Варианты применения идентификатора символики и значения знака-модификатора
Значение знака-модификатора | Вариант применения |
0 | Символ QR Code Model 1 (в соответствии с AIM ITS 97-001) |
1 | Символ QR Code, протокол ECI не используется |
2 | Символ QR Code, протокол ECI используется |
3 | Символ QR Code, протокол ECI не используется, FNC1 представлен в первой позиции |
4 | Символ QR Code, протокол ECI используется, FNC1 представлен в первой позиции |
5 | Символ QR Code, протокол ECI не используется, FNC1 представлен во второй позиции |
6 | Символ QR Code, протокол ECI используется, FNC1 представлен во второй позиции |
Для знака-модификатора m допустимыми значениями являются 0, 1, 2, 3, 4, 5, 6.
Приложение G (обязательное). Качество печати символов QR Code. Аспекты, связанные с особенностями символики
Приложение G
(обязательное)
G.1 Общие положения
Из-за различий в структурах символики и рекомендуемых алгоритмах декодирования влияние некоторых параметров на эффективность считывания символов может варьироваться. Применение ИСО/МЭК 15415 обеспечивает для спецификаций символик оценку дополнительных параметров, связанных с особенностями символики. В настоящем приложении приведена методика оценки повреждения фиксированных шаблонов и дополнительных параметров (информации о версии и информации о формате), которую следует использовать при применении ИСО/МЭК 15415 к символике QR Code.
G.2 Повреждение фиксированных шаблонов
G.2.1 Параметры, подлежащие оценке
G.2.1.1 Символы QR Code
Параметрами, подлежащими оценке, являются следующие:
- Три угловых сегмента, каждый из которых включает в себя:
- шаблон поиска 7
- шаблон-разделитель шириной 1Х вокруг двух внутренних сторон шаблонов поиска;
- часть свободной зоны шириной не менее 4 модулей (или более, в зависимости от применения) длиной 15 модулей вдоль двух других сторон шаблонов поиска.
- Два шаблона синхронизации, состоящие из чередующихся темных и светлых модулей, проходящих между внутренними углами шаблонов поиска.
- Направляющие шаблоны 5
Перечисленные выше параметры должны быть оценены как следующие шесть сегментов:
- три угловых сегмента (шаблон поиска со связанным с ним разделителем и частью свободной зоны) (сегменты A1, A2 и A3 соответственно);
- два шаблона синхронизации (сегменты B1 и B2 соответственно);
- одиночный сегмент, содержащий все направляющие шаблоны (сегмент C).
Там, где шаблон синхронизации пересекается с направляющим шаблоном, пять модулей, совпадающих с направляющим, следует оценивать как принадлежащие как шаблону синхронизации, так и к направляющему шаблону.
Например, в символе версии 7 (45
Данные сегменты для символа версии 7 приведены на рисунке G.1. A1, A2 и A3 указывают на три угловых сегмента; B1 и B2 указывают на два сегмента шаблонов синхронизации; C указывает на единственный сегмент C (объединяющий шесть направляющих шаблонов).
Примечание - Для символа QR Code ширина свободной зоны должна составлять 4Х. На рисунке G.1 указаны области, которые должны быть проверены при оценке качества печати фиксированного шаблона. Остальные области свободных зон не проверяют.
Рисунок G.1 - Сегменты фиксированного шаблона QR Code
Рисунок G.1 - Сегменты фиксированного шаблона QR Code
G.2.1.2 Символы Micro QR Code
Параметрами, подлежащими оценке, являются следующие:
- Угловой сегмент, включающий в себя:
- шаблон поиска;
- шаблон-разделитель шириной 1Х вокруг двух внутренних сторон шаблона поиска;
- часть свободной зоны шириной не менее двух модулей (или более, в зависимости от применения) длиной 11 модулей вдоль двух других сторон шаблонов поиска.
- Два шаблона синхронизации, состоящие из чередующихся темных и светлых модулей, проходящих вдоль верхней и левой стороны символа, начинающихся от шаблона поиска.
Перечисленные выше параметры должны быть оценены как следующие три сегмента:
- угловой сегмент (шаблон поиска со связанными с ним разделителями и частью свободной зоны) (сегмент A), занимающий 104 модуля;
- два шаблона синхронизации (сегменты B1 и B2 соответственно).
Например, в символе версии M4 (17
Данные сегменты для символа версии M4 представлены на рисунке G.2. Обозначение A указывает на угловой сегмент, B1 и B2 - на два сегмента шаблонов синхронизации.
Примечание - Для символа Micro QR Code ширина свободной зоны должна составлять 2Х. На рисунке G.2 указаны области, которые подлежат проверке при оценке качества печати фиксированных шаблонов. Остальные области свободных зон не проверяют.
Рисунок G.2 - Сегменты фиксированных шаблонов Micro QR Code
Рисунок G.2 - Сегменты фиксированных шаблонов Micro QR Code
G.2.2 Оценка повреждения фиксированных шаблонов
Повреждения каждого сегмента следует оценивать на основе параметра модуляции отдельных модулей, из которых состоят эти сегменты.
Оценку каждого сегмента проводят следующим образом:
a) На изображении символа (коэффициент отражения каждого пикселя должен быть выражен в уровнях градации серого) для каждого модуля определяют класс модуляции по ISO/IEC 15415. Так как уже известно, какой модуль следует считать темным, а какой светлым, то любой модуль, который должен быть темным, но коэффициент отражения которого выше глобального порога, а так же любой модуль, который должен быть светлым, но коэффициент отражения которого менее глобального порога, должен иметь класс модуляции 0.
b) Для каждого класса модуляции предполагают, что все модули, которые не соответствуют этому или более высокому классу, являются поврежденными и им присваивают условный класс повреждения на основе пороговых значений классов, приведенных в таблице G.1. Выбирают меньший из классов модуляции и условного класса повреждения. Условный класс повреждения определяют следующим образом:
1) для каждого сегмента A1, A2 и A3, или сегмента A для Micro QR Code, подсчитывают число поврежденных модулей;
2) для сегментов B1 и B2 подсчитывают число поврежденных модулей. Представляют это число в процентах общего числа модулей в сегменте;
3) для сегментов B1 и B2 берут группы из пяти смежных модулей и, продвигаясь с шагом один модуль вдоль сегмента, проверяют, что в пределах каждой группы смежных модулей присутствует не более двух поврежденных модулей; если это не так, соответствующему сегменту присваивают класс 0. Эту проверку не применяют к символам Micro QR Code;
4) для сегмента C (только для символов QR Code) подсчитывают число направляющих шаблонов, содержащих поврежденные модули. Выражают это число в процентах от общего числа направляющих шаблонов в символе;
5) на основе пороговых значений классов, приведенных в таблице G.1, присваивают условный класс повреждения каждому сегменту.
c) Класс повреждения фиксированных шаблонов для сегмента должен соответствовать самому высокому полученному классу из всех классов модуляции.
Класс повреждения фиксированных шаблонов для символа должен быть меньшим классом сегментов.
Таблица G.1 - Пороговые значения классов для повреждения фиксированных шаблонов QR Code
Сегменты A1, A2 и A3 (QR Code); сегмент A (Micro QR Code) | Сегменты B1 и B2 (QR Code) | Сегменты B1 и B2 (Micro QR Code) | Сегмент C (QR Code) | Класс |
Число поврежденных модулей | Поврежденные модули от общего числа модулей, % | Поврежденные модули от общего числа модулей, % | Поврежденные модули от общего числа модулей, % | |
0 | 0 | 0 | 0 | 4 |
1 | 3 | |||
2 | 2 | |||
3 | 1 | |||
>14 | >30 | >30 | 0 |
G.3 Оценка по классам дополнительных параметров
G.3.1 Общие положения
Символы QR Code содержат двойной набор модулей, представляющих информацию, которая определяет формат символа, а символы версии от 7 до 40 также содержат двойной набор модулей, представляющих информацию, которая определяет размер символа. Символы Micro QR Code содержат единственный набор модулей, представляющих информацию, которая определяет формат символа. Для этих данных требуется, чтобы повреждения были обнаружены на ранней стадии процесса декодирования, и если эта информация не может быть декодирована, остаток от символа в свою очередь также не может быть декодирован. По этой причине информацию о формате и блоки модуля информации о версии оценивают отдельно (способом, аналогичным оценке повреждения фиксированных шаблонов), и их классы включают в определение полного класса символа.
G.3.2 Оценка по классам информации о формате
Для каждого блока информации о формате вычисляют класс блока, используя следующую методику.
a) На изображении символа (коэффициент отражения каждого пикселя должен быть выражен в уровнях градации серого) для каждого модуля определяют класс модуляции по ИСО/МЭК 15415. Поскольку действительное значение коэффициента отражения каждого модуля блока информации о формате становится известным только после успешного декодирования блока, то любой модуль, который должен быть темным, но коэффициент отражения которого выше глобального порога, а также любой модуль, который должен быть светлым, но коэффициент отражения которого ниже глобального порога, приводит к классу модуляции 0
________________
b) Для каждого класса модуляции:
1) предполагают, что все модули, которые не соответствуют этому или более высокому классу, являются поврежденными модулями, и им присваивают условный класс повреждения блока на основе пороговых значений классов, приведенных в таблице G.2.
Таблица G.2 - Условный класс информации о формате
Число поврежденных модулей | Класс |
0 | 4 |
1 | 3 |
2 | 2 |
3 | 1 |
0 |
2) выбирают меньший из классов модуляции и условного класса повреждения согласно таблице G.3;
3) класс для блока получают как лучший условный класс согласно таблице G.3
Таблица G.3 - Пример оценки для блока информации о формате
Класс модуляции | Условный класс | Меньший из классов |
4 | 2 | 2 |
3 | 2 | 2 |
2 | 3 | 2 |
1 | 3 | 1 |
0 | 4 | 0 |
Выбранный (наилучший) класс-> | 2 |
c) Класс информации о формате:
1) для символов QR Code должен быть средним значением классов двух блоков информации о формате, если необходимо, округленным до ближайшего большего целого;
2) для символов Micro QR Code класс должен быть равен классу, полученному на этапе 2 с).
G.3.3 Оценка по классам информации о версии (для символов QR Code)
Для каждого блока информации о версии вычисляют класс блока, используя следующую методику.
На изображении символа (коэффициент отражения каждого пикселя должен быть выражен в уровнях градации серого) для каждого модуля определяют класс модуляции по ИСО/МЭК 15415. Поскольку действительное значение коэффициента отражения каждого модуля блока информации о версии становится известным только после успешного декодирования блока, то любой модуль, который должен быть темным, но коэффициент отражения которого выше глобального порога, а также любой модуль, который должен быть светлым, но коэффициент отражения которого ниже глобального порога, приводит к классу модуляции 0. Если блок информации о версии не может быть декодирован, класс всего блока должен быть 0
________________
b) Для каждого класса модуляции:
1) предполагают, что все модули, которые не соответствуют этому или более высокому классу, являются поврежденными модулями, и им присваивают условный класс повреждения блока на основе пороговых значений классов, приведенных в таблице G.4.
Таблица G.4 - Условный класс информации о версии
Число поврежденных модулей | Класс |
0 | 4 |
1 | 3 |
2 | 2 |
3 | 1 |
0 |
2) выбирают меньший из класса модуляции и условного класса повреждения по таблице G.5;
3) класс для блока определяют как лучший условный класс по таблице G.5.
Таблица G.5 - Пример оценки для блока информации о версии
Класс модуляции | Условный класс | Меньший класс |
4 | 2 | 2 |
3 | 2 | 2 |
2 | 3 | 2 |
1 | 3 | 1 |
0 | 4 | 0 |
Выбранный (наилучший) класс-> | 2 |
c) Класс информации о формате должен быть средним значением двух классов блоков информации о версии, если необходимо, округленным до ближайшего большего целого числа.
G.4 Класс сканирования
Класс сканирования должен быть меньшим из классов типовых параметров, вычисленных по ИСО/МЭК 15415, класса повреждения фиксированных шаблонов, класса информации о формате и (если применимо) класса информации о версии, вычисленных на основе настоящего приложения.
Приложение H (справочное). Наборы знаков JIS8 и Shift JIS
Приложение H
(справочное)
Таблица Н.1 - 8-битовый набор знаков для JIS Х0201 (JIS8)
Окончание таблицы H.1
На рисунке H.1 представлена область матрицы 256 х 256, занятая двухбайтовыми знаками Shift JIS.
Рисунок Н.1 - Значения знаков Shift JIS
Рисунок Н.1 - Значения знаков Shift JIS
Согласно JIS Х0208:1997 начальный и конечный байты заштрихованной области предназначены для знаков Shift JIS кандзи. Любые пары байтов из этих диапазонов могут быть закодированы с использованием схемы уплотнения режима кандзи.
Приложение I (справочное). Примеры кодирования символов
Приложение I
(справочное)
I.1 Общие положения
В настоящем приложении приведено кодирование строки данных 01234567 в символы QR Code и Micro QR Code.
I.2 Кодирование символа QR Code
Указанная строка данных будет закодирована в символ версии 1-М с использованием цифрового режима, приведенного в 7.4.3.
Этап 1: Кодирование данных
- Разбивают строку на группы по три цифры и преобразуют каждую группу из десятичного числа в 7-битовый двоичный эквивалент:
- 012
- 345
- 67
- Преобразуют индикатор числа знаков в двоичный эквивалент (10 битов для версии 1-М).
Индикатор числа знаков (8) = 0000001000
- Добавляют индикатор цифрового режима (0001), индикатор числа знаков (0000001000), двоичные данные и ограничитель (0000)
0001 0000001000 0000001100 0101011001 1000011 0000
- Делят на 8-битовые кодовые слова, добавляют биты заполнители (для наглядности подчеркнуты), поскольку последнее кодовое слово заполнено только на 5 битов:
00010000 00100000 00001100 01010110 01100001 10000000
- Добавляют кодовые слова-заполнители для заполнения емкости символа (для версии 1-М, 16 кодовых слов данных, требуется 10 кодовых слов-заполнителей (для наглядности подчеркнуты)); в результате получают:
00010000 00100000 00001100 01010110 01100001 10000000 11101100 00010001 11101100 00010001 11101100 00010001 11101100 00010001 11101100 00010001
Этап 2: Генерация кодовых слов исправления ошибок
Используя алгоритм Рида-Соломона для генерации требуемого числа кодовых слов исправления ошибок (10 слов для версии 1-М), которые (для наглядности подчеркнуты) добавляют к двоичному потоку, получают:
00010000 00100000 00001100 01010110 01100001 10000000 11101100 00010001 11101100 00010001 11101100 00010001 11101100 00010001 11101100 00010001 10100101 00100100 11010100 11000001 11101101 00110110 11000111 10000111 00101100 01010101
Этап 3: Размещение модулей в матрице символа
Поскольку для символа версии 1-М используется только один блок исправления ошибок, перемешивание не требуется. Шаблоны поиска, разделители и шаблоны синхронизации размещают в пустой матрице 21
Рисунок I.1 - Размещение модулей данных в символе до маскирования данных
Рисунок I.1 - Размещение модулей данных в символе до маскирования данных
Этап 4: Выбор шаблона для маски данных
Применяют шаблоны маски данных согласно 7.8.2 по очереди и оценивают результаты по 7.8.3. Для данного символа рекомендуется выбрать шаблон маски с обозначением 010.
Этап 5: Информация о формате
Уровень исправления ошибок - М, что в двоичном виде представляют 00, и указатель шаблона маски равен 010. Следовательно, по 7.9.1 получают биты информации о формате 00 010.
Вычисляют биты исправления ошибок по коду ВСН и получают 1001101110 как битовую последовательность для добавления к данным; результат дополнения:
000101001101110 как немаскированная информацию о формате.
Применяют к этому двоичному потоку операцию XOR с маской 101010000010010:
000101001101110 (исходный двоичный поток);
101010000010010 (маска);
101111001111100 (информация о формате, подлежащая размещению в символе).
Этап 6: Заключительное формирование символа
Применяют выбранный шаблон маски данных к области кодирования символа согласно 7.8, и добавляют модули информации о формате в позиции, зарезервированные на этапе 3. В результате получают завершенный символ, показанный на рисунке I.2.
Рисунок I.2 - Окончательный вид символа версии 1-М, кодирующего 01234567
Рисунок I.2 - Окончательный вид символа версии 1-М, кодирующего 01234567
I.3 Кодирование символа Micro QR Code
Строка данных 01234567 подлежит кодированию в символе версии М2 с уровнем исправления ошибок L с использованием числового режима кодирования по 7.4.3.
Этап 1: Кодирование данных
- Разбивают строку на группы по три цифры и преобразуют каждую группу из десятичного числа в 7-битовый двоичный эквивалент:
- 012
- 345
- 67
- индикатор числового режима для версии М2 - 0;
- число знаков - 8; преобразуют индикатор числа знаков в двоичный эквивалент (4 бита для версии M2-L):
Индикатор числа знаков (8) = 1000
- ограничитель для версии М2, включающий в себя 5 нулевых битов - 00000;
- добавляют индикатор цифрового режима (0), индикатор числа знаков (1000), двоичные данные и ограничитель (00000)
0 1000 0000001100 0101011001 1000011 00000;
- делят на 8-битовые кодовые слова, добавляя 3 бита-заполнителя (для наглядности подчеркнуты), поскольку последнее кодовое слово заполнено только 5 битами
01000000 00011000 10101100 11000011 00000000;
- кодовые слова-заполнители не требуются для заполнения емкости символа (для версии M2-L, используется 5 кодовых слов данных).
Этап 2: Генерация кодовых слов исправления ошибок
Используя алгоритм Рида-Соломона для генерации требуемого числа кодовых слов исправления ошибок (5 слов для версии M2-L), которые (для наглядности подчеркнуты) добавляют к двоичному потоку, получают:
01000000 00011000 10101100 11000011 00000000 10000110 00001101 00100010 10101110 00110000
Этап 3: Размещение модулей в матрице символа
Шаблон поиска и шаблоны синхронизации размещают в пустой матрице 13
Рисунок I.3 - Размещение модулей данных в символе до маскирования данных
Рисунок I.3 - Размещение модулей данных в символе до маскирования данных
Этап 4: Выбор шаблона маски данных
Применяют шаблоны маски данных согласно 7.8.2 по очереди и оценивают результаты по 7.8.3. Для данного символа рекомендуется использовать шаблон маски данных с обозначением 01. Применяют выбранный шаблон маски данных к области кодирования в матрице согласно 7.8.
Этап 5: Подготовка информации о формате
Для символа версии M2-L номер версии равен 1, что в двоичном виде представляют как 001, и шаблон маски данных 01. В результате получают биты данных в информации о формате 001 01.
Вычисляют биты исправления ошибок по коду ВСН и получают 0011011100 как битовую последовательность для добавления к данным; результат дополнения:
001010011011100 как немаскированная информация о формате.
Применяют к этому двоичному потоку операцию XOR с маской 100010001000101:
- 001010011011100 (исходный двоичный поток);
- 100010001000101 (маска);
- 101000010011001 (информация о формате, которая будет размещена в символе).
Этап 6: Заключительное формирование символа
Добавляют модули информации о формате в позиции, зарезервированные на этапе 3. В результате получают завершенный символ, приведенный на рисунке I.4.
Рисунок I.4 - Окончательный вид символа версии M2-L, кодирующего 01234567
Рисунок I.4 - Окончательный вид символа версии M2-L, кодирующего 01234567
Приложение J (справочное). Оптимизация длины двоичного потока
Приложение J
(справочное)
J.1 Общие положения
В соответствии с настоящим стандартом в символике QR Code предусмотрены различные режимы кодирования, каждый из которых отличается по числу битов, требуемых для представления конкретной строки данных. Так как присутствует перекрытие между наборами знаков для каждого режима - например, числовые данные могут быть закодированы в числовом, алфавитно-цифровом и байтовом режимах, а латинские алфавитно-цифровые данные могут быть закодированы в алфавитно-цифровом и байтовом режимах, программное обеспечение генерации символов должно выбрать наиболее подходящие режимы, чтобы закодировать знаки данных, которые могут появиться более, чем в одном режиме.
Такой же выбор может быть между применением символов QR Code и Micro QR Code.
Выбор режима должен быть сделан в самом начале, но затем режим может быть изменен для части потока данных.
Может быть использовано множество альтернативных подходов для уменьшения длины двоичного потока. Алгоритм должен не только учитывать непосредственную последовательность знаков, но также и предвидеть следующую последовательность данных ввиду избыточности, требуемой для переключения режимов. Термин "исключительный поднабор" использован в настоящем приложении для обозначения "набора знаков в пределах набора знаков режима, которые не пересекаются с более ограниченным набором знаков другого режима", как указано далее и в таблице J.1
Исключительный поднабор для числового режима - это множество знаков с шестнадцатеричными значениями от 30 до 39 (цифры от 0 до 9).
Исключительный поднабор для алфавитно-цифрового режима - это множество знаков с шестнадцатеричными значениями 20, 24, 25, 2A, 2B, от 2D до 2F, 3A и от 41 до 5A с графическими представлениями {латинские буквы a-z, A-Z, пробел, $ % * + - . / :}.
Примечание 1 - Этот поднабор не включает в себя цифры.
Исключительный поднабор для байтового режима - это знаки с шестнадцатеричными значениями от 00 до FF, за исключением 20, 24, 25, 2A, 2B, от 2D до 3A и от 41 до 5A.
Примечание 2 - Исключенные значения содержат исключительные поднаборы знаков числового и алфавитно-цифрового режимов.
Таблица J.1 - Исключительные поднаборы для режимов кодирования QR Code
Исключительный поднабор | Байтовые (шестнадцатеричные) значения |
числовой | От 30 до 39 |
алфавитно-цифровой | 20, 24, 25, 2A, 2B, от 2D до 2F, 3A, и от 41 до 5A |
байтовый | От 00 до 1F, от 21 до 23, от 26 до 29, 2C, от 3B до 40, от 5B до FF (исключая зарезервированные значения от 80 до 9F и от Е0 до FF) |
знаки кандзи | Двухбайтовые значения из диапазона, определенного в приложении H. |
Эффективность уплотнения, приведенную в 7.4.3-7.4.6, необходимо интерпретировать с осторожностью. Лучшая схема для данного набора знаков данных может быть не та, у которой наименьшее число битов на знак данных. Если требуется самая высокая степень уплотнения, следует учитывать число дополнительных битов, требуемых для изменения режима (дополнительный индикатор режима и индикатор числа знаков). Следует отметить, что даже если число кодовых слов является минимальным, поток кодовых слов должен быть увеличен, чтобы заполнить емкость символа. Процесс заполнения проводят с использованием знаков-заполнителей.
J.2 Оптимизация для символов QR Code
Для символов QR Code следующие рекомендации, основанные на одном из возможных для применения алгоритмов, формируют самый короткий двоичный поток для любых взятых входных данных.
Число знаков приведено в квадратных скобках, например [5, 7, 9] применительно к символам версий 1-9, 10-26, и 27-40 соответственно.
a) Выбирают начальный режим:
1) если исходный входной поток данных состоит только из знаков исключительного поднабора байтового набора знаков, выбирают байтовый режим;
2) если начальный входной байт является начальным байтом из исключительного поднабора набора знаков кандзи, а следующий байт - завершающий байт из исключительно поднабора набора знаков кандзи, И подпоследовательность данных состоит из алфавитно-цифрового или числового исключительного поднабора знаков, то выбирают режим кандзи, ИНАЧЕ, если подпоследовательность данных состоит из исключительного поднабора байтового набора знаков И последующие [5, 5, 6] пары байтов также принадлежат исключительному поднабору набора знаков кандзи, выбирают байтовый режим;
3) если исходный входной поток данных состоит из исключительного поднабора набора алфавитно-цифровых знаков И если их меньше [6-8] знаков, а следующий знак из байтового набора знаков ТОГДА, выбирают байтовый режим, ИНАЧЕ выбирают алфавитно-цифровой режим;
4) если исходные данные являются числовыми, И если их меньше чем [4, 4, 5] знаков, а следующий знак из исключительного поднабора байтового набора знаков, ТОГДА выбирают байтовый режим, ИНАЧЕ ЕСЛИ их меньше чем [7-9] знаков, а следующий знак из исключительного поднабора алфавитно-цифрового набора знаков, ТОГДА выбирают алфавитно-цифровой режим, ИНАЧЕ выбирают числовой режим.
b) При нахождении в байтовом режиме:
1) если последовательность по крайней мере [9, 12, 13] байтовых пар из исключительного поднабора набора знаков кандзи встречается перед большим количеством данных из исключительного поднабора набора байтовых знаков, то переходят в режим кандзи;
2) если последовательность по крайней мере [11, 15, 16] знаков из исключительного поднабора алфавитно-цифрового набора знаков встречается перед большей последовательностью данных из исключительного поднабора байтового набора знаков, то переходят в алфавитно-цифровой режим;
3) если последовательность по крайней мере [6, 8, 9] числовых знаков встречается перед большей последовательностью данных из исключительного поднабора байтового набора знаков, то переходят в числовой режим;
4) если последовательность по крайней мере [6-8] числовых знаков встречается перед большей последовательностью данных из исключительного поднабора набора алфавитно-цифровых знаков, то переходят в числовой режим.
c) При нахождении в алфавитно-цифровом режиме:
1) если встречается один или более знаков кандзи, то переходят в режим кандзи;
2) если встречается один или более знаков исключительного поднабора из байтового набора знаков, то переходят в байтовый режим;
3) если последовательность по крайней мере [13, 15, 17] числовых знаков встречается перед большей последовательностью данных из исключительного поднабора набора алфавитно-цифровых знаков, то переходят в числовой режим.
d) При нахождении в числовом режиме:
1) если встречается один или более знаков кандзи, то переходят в режим кандзи;
2) если встречается один или более знаков исключительного поднабора байтового набора знаков, то переходят в байтовый режим;
3) если встречается один или более знаков исключительного поднабора набора алфавитно-цифровых знаков, то переходят в алфавитно-цифровой режим.
J.3 Оптимизация для символов Micro QR Code
J.3.1 Принципы оптимизации
Предположим, что данные, которые нужно закодировать, находятся в исключительных поднаборах не более чем двух режимов, и что все данные в каждом поднаборе сгруппированы вместе (например "123abcdef"), алгоритм определения самого короткого двоичного потока для данных Micro QR Code, может быть определен в таблице J.2. Эти принципы могут быть расширены для обеспечения работы при наличии более двух режимов, но следует принять во внимание, что результирующий двоичный поток будет соответствовать одному из доступных символов.
Поскольку низкие режимы используют меньшее число битов на знак, чем высокие режимы, следует учитывать, что избыточность в виде индикатора режима и индикатора числа знаков для изменения режима должна компенсироваться большей плотностью кодирования для более низкого режима. В таблице J.2 приведено минимальное число последовательных знаков в низком режиме, для которого достигают более короткого общего двоичного потока путем изменения режимов. При меньшем числе знаков кодирование всех данных в более высоком режиме приведет к более короткому двоичному потоку.
Таблица J.2 - Минимальное число знаков в низком режиме для минимизации длины двоичного потока путем изменения режимов
Комбинация режимов | Символы версии М2 | Символы версии М3 | Символы версии М4 |
Числовой + алфавитно-цифровой | 3 цифры | 4 цифры | 5 цифр |
Числовой + байтовый (8 битовые байты) | Не применим | 2 цифры | 3 цифры |
Алфавитно-цифровой + байтовый | Не применим | 3 буквы и цифры | 4 буквы и цифры |
J.3.2 Емкость символов Micro QR Code
На приведенных ниже рисунках J.1-J.6, учитывающих данные таблицы J.3 и емкости различных версий символа, для каждой комбинации режимов представлены варианты, применимые для кодирования определенного объема данных в комбинациях режимов.
Заголовки столбцов и строк идентифицируют число знаков в каждом режиме. На данных рисунках приведены версии символа и уровни исправления ошибок без указания начальной буквы версии М; таким образом, например, 4Q относится к символу версии М4 с уровнем исправления ошибок Q. Для любой данной комбинации знаков и режимов, доступными версиями символа являются те, которые находятся на соответствующем пересечении строки и столбца и приведенные справа или ниже этого пересечения.
Например, строка данных "123456ABCDEFGH" состоит из шести числовых знаков и восьми знаков из алфавитно-цифрового набора знаков. На рисунке J.1 показано, что данные размещены или в символе версии M3-L (с общим числом битов 77, включая индикаторы режима и индикаторы числа знаков), или в символе версии М4-М, или символе версии M4-L (81 бит в любом случае). На варианты могут быть наложены ограничения в зависимости от доступного места или требуемого уровня исправления ошибок.
Рисунок J. 1 - Емкости символов Micro QR Code для данных - цифр и алфавитно-цифровых знаков
Рисунок J. 1 - Емкости символов Micro QR Code для данных - цифр и алфавитно-цифровых знаков
Рисунок J.2 - Емкости символов Micro QR Code для данных - цифр и байтов
Рисунок J.2 - Емкости символов Micro QR Code для данных - цифр и байтов
Рисунок J.3 - Емкости символов Micro QR Code для данных - алфавитно-цифровых знаков и байтов
Рисунок J.3 - Емкости символов Micro QR Code для данных - алфавитно-цифровых знаков и байтов
Рисунок J.4 - Емкости символов Micro QR Code для данных - цифр и знаков кандзи
Рисунок J.4 - Емкости символов Micro QR Code для данных - цифр и знаков кандзи
Рисунок J.5 - Емкости символов Micro QR Code для данных - алфавитно-цифровых знаков и знаков кандзи
Рисунок J.5 - Емкости символов Micro QR Code для данных - алфавитно-цифровых знаков и знаков кандзи
Рисунок J.6 - Емкости символов Micro QR Code для данных - байтов и знаков кандзи
Рисунок J.6 - Емкости символов Micro QR Code для данных - байтов и знаков кандзи
Приложение K (справочное). Рекомендации пользователям по печати и сканированию символов QR Code
Приложение K
(справочное)
K.1 Основные положения
Любое конкретное применение символики QR Code следует рассматривать как законченное системное решение. Все компоненты цепочки кодирования/декодирования символики (устройства маркирования поверхности или принтеры, этикетки, устройства считывания), используемые совместно, должны взаимодействовать друг с другом как система. Отказ в любом звене цепочки или несоответствие между ними может поставить под угрозу эффективность функционирования всей системы.
Хотя соответствие требованиям - единственный ключ к обеспечению успешной работы всей системы, следует принимать во внимание и другие соображения, которые также могут влиять на эффективность работы. Следующие рекомендации учитывают ряд факторов, которые необходимо иметь в виду при разработке спецификации или реализации систем на основе штрихового или матричного кода:
a) Следует выбирать плотность печати с допусками, которые могут быть обеспечены используемой технологией маркирования или печати. Необходимо обеспечить, чтобы размер модуля был равен целому числу размеров пикселей печатающей головки (в параллельном и перпендикулярном направлениях печати). Следует добиваться того, чтобы любое приращение (сокращение) размеров элементов при печати осуществлялось путем изменения цвета одинакового целого числа пикселей с темного на светлый (или наоборот со светлого на темный) на всех границах перехода с темного на светлый для отдельных модулей или групп смежных темных модулей таким образом, чтобы интервал между центрами модулей оставался постоянным, хотя видимое растровое представление индивидуального темного (или светлого) модуля может быть откорректировано в размере, соответствующем направлению компенсации.
b) Следует подбирать устройство считывания с разрешающей способностью, наиболее подходящей для плотности и качества печати символа, которая обеспечивает данная технология печати.
c) Должна быть обеспечена совместимость оптических свойств напечатанного символа с длиной волны источника излучения и приемного элемента сканера.
d) Следует проверять соответствие символа на этикетке в ее законченном виде или итоговой конфигурации упаковки. Наложение изображений, просвечивание, фигурные или неровные поверхности могут оказывать влияние на эффективность считывания символа.
Следует учитывать влияние зеркального отражения от глянцевых подложек символа. Сканирующие системы должны учитывать колебания в диффузном отражении между темными и светлыми областями символа. При некоторых углах сканирования составляющая зеркального отраженного излучения может намного превышать требуемую составляющую диффузного отраженного излучения, снижая эффективность работы сканера. В тех случаях, когда поверхность материала или изделия может быть изменена путем получения матовой поверхности или устранения влияние глянца, это может помочь минимизировать эффекты зеркального отражения. Там, где подобные мероприятия невозможны, должны быть приняты меры по обеспечению специального освещения символа, чтобы оптимизировать считывание при требуемых значениях контраста.
K.2 Выбор пользователем уровня исправления ошибок
Пользователи должны определить соответствующий уровень исправления ошибок, чтобы он соответствовал требованиям по применению. Согласно таблице 8 четыре уровня исправления ошибок от L до Н увеличивают способность обнаружения и исправления ошибок за счет некоторого увеличения размера символа для данной длины сообщения. Например, символ версии 20-Q может содержать в общем случае 485 кодовых слов данных, но в случае применения иного уровня исправления ошибок, те же самые данные могут быть также быть представлены в символе версии 15-L (точная емкость 523 кодовых слова данных).
Уровень исправления ошибок должен быть определен с учетом:
- ожидаемого уровня качества символа: чем ниже ожидаемый класс качества печати, тем выше уровень исправления ошибок, который должен быть использован;
- важности осуществления декодирования с первого сканирования;
- возможности повторного сканирования в случае неудачного декодирования;
- ограничения размеров, которые могут уменьшать возможность использования более высокого уровня исправления ошибок.
Уровень исправления ошибок L соответствует высокому качеству печати символа и/или потребности в самом компактном возможном символе для размещения данных. Уровень М принят в качестве "Стандартного" уровня и обеспечивает хороший компромисс между увеличенной надежности и небольшим размером. Уровень Q - "Высокая надежность" подходит для более требовательных применений или применений с низким качеством печати, в то время как уровень Н обеспечивает максимальную достижимую надежность.
Приложение L (справочное). Автоматическое распознавание
Приложение L
(справочное)
Символы QR Code могут быть считаны с помощью надлежащим образом запрограммированных декодеров, которые предназначены для их автоматического распознавания среди других символик. Запрограммированные соответствующим образом устройства считывания QR Code не должны декодировать символ, принадлежащий другой символике, как действительный символ QR Code; однако, представления, соответствующие коротким линейным символам, могут присутствовать в любом матричном символе, в том числе и в QR Code.
Хотя символы QR Code Model 1 могут быть автоматически распознаны соответствующим декодером отдельно от символов QR Code, настоятельно рекомендуется, чтобы эти два типа символов не использовались совместно в рамках одного применения.
Допустимый набор символик, на которые запрограммирован декодер, должен быть ограничен потребностями конкретного применения для достижения максимальной надежности считывания.
Приложение M (справочное). Методы проведения контроля
Приложение M
(справочное)
M.1 Общие положения
В настоящем приложении описаны процедуры и инструментальные средства, рекомендуемые для проведения мониторинга и контроля процесса создания пригодных для сканирования символов QR Code. Эти методы не включают в себя проверку качества печати произведенных символов (указанные методы приведены в разделе 10 и приложении G и устанавливают требуемый метод для оценки качества символа), но они по отдельности и все вместе предоставляют полезные рекомендации относительно того, создает ли данная технология производства пригодные для работы символы.
M.2 Контраст символа
Большинство верификаторов для линейных символов штрихового кода имеют или режим рефлектометра или режим построения профилей отражения при сканировании и/или отчет о контрасте символа согласно ISO/IEC 15416 для сканирований без декодирования. За исключением символов, требующих специальной конфигурации освещения, результаты считывания контраста символа с использованием апертуры размером 0,150 или 0,250 мм при оптическом излучении с длиной волны 660 нм (или с отчетом о значениях контраста символа, максимальном и минимальном значениях в профиле отражения при сканировании, или с указанием разности между максимальным и минимальным показаниями рефлектометра) хорошо коррелируются со значениями контраста символа, полученными при обработке изображения. В частности, результаты считывания могут быть использованы для проверки того, что контраст символа остается выше минимального допустимого значения, определяемого классом символа.
M.3 Оценка осевой неоднородности
Для символа QR Code измеряют расстояние от левого края верхнего левого шаблона поиска до правого края верхнего правого шаблона поиска и расстояние от верхнего края верхнего левого шаблона поиска до нижнего края нижнего левого шаблона поиска. Для символов Микро QR Code измеряют расстояние от левого края верхнего левого шаблона поиска до правого края самого правого модуля в верхнем шаблоне синхронизации и расстояние от верхнего края верхнего левого шаблона поиска до нижнего края самого нижнего модуля в левом шаблоне поиска. Производят деление каждого полученного значения на число модулей в соответствующем измерении. Например символ версии 2 имел бы значение 25 в качестве делителя. Следует заменить результаты на
________________
М.4 Визуальные проверки искажений и дефектов символа
Визуальный осмотр шаблонов писка и шаблонов синхронизации в образцах символов поможет контролировать важный аспект процесса производства.
Матричные символы чувствительны к ошибкам, вызванным локальными искажениями матричной сетки. Любые такие искажения могут быть обнаружены визуально или как изогнутые края на шаблонах поиска или как неравные интервалы в чередующихся шаблонах синхронизации, проведенных между шаблонами поиска и выровненных по их внутренним границам.
Шаблон(ы) поиска и смежные свободные зоны должны всегда быть сплошными темными и светлыми
________________
М.5 Оценка приращения размеров элементов при печати
Линейный верификатор штрихового кода, допускающий прямые измерения ширины штрихов и пробелов, может использоваться для оценки приращения или сокращения при печати по горизонтальной и вертикальной осях путем измерения по двум путям сканирования проходящими под прямым углом через шаблон поиска и пересекающими центр, состоящий из блока модулей 3
Приложение N (справочное). Параметры символов Model 1
Приложение N
(справочное)
N.1 Символы Model 1 QR Code
QR Code Model 1 согласно спецификации AIM ITS 97-001
________________
N.1.1 Общие параметры Model 1
a) Размер символа (исключая свободную зону):
От 21
b) Максимальная емкость данных (для символа максимального размера с минимальным уровнем исправления ошибок, версия 14-L):
- числовые данные: | 1167 знаков; | ||
- алфавитно-цифровые данные: | 707 знаков; | ||
- данные в байтах: | 486 знаков; | ||
- данные в знаках кандзи: | 299 знаков. |
c) Структура и параметры символа в сравнении с символами QR Code:
- направляющие шаблоны: символы Model 1 не имеют направляющих шаблонов;
- дополнительные шаблоны: символы Model 1 имеют дополнительные шаблоны по правой и нижней сторонам;
- информация о версии: символы Model 1 не содержат информации о версии;
- размещение знаков символа: из-за вышеупомянутого, размещение знаков символа следует другим правилам;
- символы Model 1 не поддерживают протокол ECI;
- символы Model 1 не поддерживают зеркальное отображение;
- символы Model 1 не поддерживают инвертирование коэффициентов отражения.
d) Исправление ошибок: алгоритмы вычисления кодовых слов обнаружения и исправления ошибок совпадают с принятыми для символов QR Code, но число и размеры блоков исправления ошибок различаются для разных версий. Для блоков данных и блоков кодовых слов исправления ошибок не используется чередование.
На рисунке N.1 приведена структура символа версии 7 Model 1 QR Code.
Рисунок N.1 - Структура символа QR Code Model 1
Рисунок N.1 - Структура символа QR Code Model 1
N.1.2 Версии и размеры символов
Установлены четырнадцать вариантов размеров символов Model 1 от версии 1 до версии 14, размеры которых совпадают с размерами символов Model 2 тех же версий согласно 6.3.2. Символы версии 1, следовательно, имеют размер 21
Таблица N.1 - Емкость данных для всех версий символов Model 1 QR Code
Версия | Число модулей/ | Число модулей в функцио- | Число модулей в информации о формате (С) | Оставшееся число модулей для данных (D | Емкость данных [кодовые слова] (E) |
1 | 21 | 206 | 31 | 204 | 26 |
2 | 25 | 230 | 31 | 364 | 46 |
3 | 29 | 238 | 31 | 572 | 72 |
4 | 33 | 262 | 31 | 796 | 100 |
5 | 37 | 270 | 31 | 1068 | 134 |
6 | 41 | 294 | 31 | 1356 | 170 |
7 | 45 | 302 | 31 | 1692 | 212 |
8 | 49 | 326 | 31 | 2044 | 256 |
9 | 53 | 334 | 31 | 2444 | 306 |
10 | 57 | 358 | 31 | 2860 | 358 |
11 | 61 | 366 | 31 | 3324 | 416 |
12 | 65 | 390 | 31 | 3804 | 476 |
13 | 69 | 398 | 31 | 4332 | 542 |
14 | 73 | 422 | 31 | 4876 | 610 |
________________
Примечание - Первое кодовое слово имеет длину 4 бита. Все последующие кодовые слова имеют длину 8 битов. Для алгоритмов генерации кодовых слов исправления ошибок к первому кодовому слову (4 бита) добавляется префикс 0000, чтобы получить кодовое слово длиной 8 битов.
N.2 Детальная информация
Полная информация о производстве и считывании символов Model 1 содержится в AIM ITS 97-001
________________
Приложение ДА (справочное). Набор знаков ASCII (версия КОИ-7) по ИСО/МЭК 646, графические знаки расширенного набора знаков ASCII (версия КОИ-8) по ИСО/МЭК 8859-1 и набор 8-битовых графических знаков (версия КОИ-8) по ИСО/МЭК 8859-5
Приложение ДА
(справочное)
ДА.1 Набор 7-битовых знаков ASCII (версия КОИ-7) по ИСО/МЭК 646
В таблице ДА.1 приведен набор 7-битовых знаков ASCII (версия КОИ-7) по ИСО/МЭК 646 и соответствие международных и русских наименований и обозначений знаков.
Таблица ДА.1 - Набор 7-битовых знаков ASCII (версия КОИ-7) по ИСО/МЭК 646
Деся- | Шестнад- | Обозначения знака | Наименование знака | ||
Между- | Русское | Международное | Русское |
00 | 00 | NUL | ПУС | NULL | ПУСТО |
01 | 01 | SOH | НЗ | START OF HEADING | НАЧАЛО ЗАГОЛОВКА |
02 | 02 | STX | НТ | START OF TEXT | НАЧАЛО ТЕКСТА |
03 | 03 | ETX | КТ | END OF TEXT | КОНЕЦ ТЕКСТА |
04 | 04 | EOT | КП | END OF TRANSMISSION | КОНЕЦ ПЕРЕДАЧИ |
05 | 05 | ENQ | КТМ | ENQUIRY | КТО ТАМ? |
06 | 06 | ACK | ДА | ACKNOWLEDGE | ПОДТВЕРЖДЕНИЕ |
07 | 07 | BEL | ЗВ | BELL | ЗВОНОК |
08 | 08 | BS | ВШ | BACKSPACE | ВОЗВРАТ НА ШАГ |
09 | 09 | HT | ГТ | HORIZONTAL TABULATION | ГОРИЗОНТАЛЬНАЯ ТАБУЛЯЦИЯ |
10 | 0A | LF | ПС | LINE FEED | ПЕРЕВОД СТРОКИ |
11 | 0B | VT | ВТ | VERTICAL TABULATION | ВЕРТИКАЛЬНАЯ ТАБУЛЯЦИЯ |
12 | 0C | FF | ПФ | FORM FEED | ПЕРЕВОД ФОРМАТА |
13 | 0D | CR | ВК | CARRIAGE RETURN | ВОЗВРАТ КАРЕТКИ |
14 | 0E | SO | ВЫХ | SHIFT-OUT | ВЫХОД |
15 | 0F | SI | ВХ | SHIFT-IN | ВХОД |
16 | 10 | DLE | АР1 | DATA LINK ESCAPE | АВТОРЕГИСТР ОДИН |
17 | 11 | DC1 | СУ1 | DEVICE CONTROL ONE | СИМВОЛ УСТРОЙСТВА ОДИН |
18 | 12 | DC2 | СУ2 | DEVICE CONTROL TWO | СИМВОЛ УСТРОЙСТВА ДВА |
19 | 13 | DC3 | СУ3 | DEVICE CONTROL THREE | СИМВОЛ УСТРОЙСТВА ТРИ |
20 | 14 | DC4 | СУ4 | DEVICE CONTROL FOUR | СИМВОЛ УСТРОЙСТВА ЧЕТЫРЕ |
21 | 15 | NAK | НЕТ | NEGATIVE ACKNOWLEDGE | ОТРИЦАНИЕ |
22 | 16 | SYN | СИН | SYNCHRONOUS IDLE | СИНХРОНИЗАЦИЯ |
23 | 17 | ETB | КБ | END OF TRANSMISSION BLOCK | КОНЕЦ БЛОКА |
24 | 18 | CAN | АН | CANCEL | АННУЛИРОВАНИЕ |
25 | 19 | EM | КН | END OF MEDIUM | КОНЕЦ НОСИТЕЛЯ |
26 | 1А | SUB | ЗМ | SUBSTITUTE CHARACTER | ЗАМЕНА СИМВОЛА |
27 | 1B | ESC | АР2 | ESCAPE | АВТОРЕГИСТР ДВА |
28 | 1C | FS | РФ | FILE SEPARATOR | РАЗДЕЛИТЕЛЬ ФАЙЛОВ |
29 | 1D | GS | РГ | GROUP SEPARATOR | РАЗДЕЛИТЕЛЬ ГРУПП |
30 | 1E | RS | РЗ | RECORD SEPARATOR | РАЗДЕЛИТЕЛЬ ЗАПИСЕЙ |
31 | 1F | US | РЭ | UNIT SEPARATOR | РАЗДЕЛИТЕЛЬ ЭЛЕМЕНТОВ |
32 | 20 | SP | SPACE | ПРОБЕЛ | |
33 | 21 | ! | ! | EXCLAMATION MARK | ВОСКЛИЦАТЕЛЬНЫЙ ЗНАК |
34 | 22 | " | " | QUOTATION MARK | КАВЫЧКИ |
35 | 23 | # | # | NUMBER SIGN | НОМЕР |
36 | 24 | ¤ | ¤ | CURRENCY SIGH | ЗНАК ДЕНЕЖНОЙ ЕДИНИЦЫ |
37 | 25 | % | % | PERCENT SIGH | ПРОЦЕНТЫ |
38 | 26 | & | & | AMPERSAND | КОММЕРЧЕСКОЕ И (АМПЕРСАНД) |
39 | 27 | ' | ' | APOSTROPHE | АПОСТРОФ |
40 | 28 | ( | ( | LEFT PARENTHESIS | КРУГЛАЯ СКОБКА ЛЕВАЯ |
41 | 29 | ) | ) | RIGHT PARENTHESIS | КРУГЛАЯ СКОБКА ПРАВАЯ |
42 | 2A | * | * | ASTERISK | ЗВЕЗДОЧКА |
43 | 2B | + | + | PLUS SIGH | ПЛЮС |
44 | 2C | , | , | COMMA | ЗАПЯТАЯ |
45 | 2D | - | - | HYPHEN-MINUS | ДЕФИС, МИНУС |
46 | 2E | . | . | FULL STOP | ТОЧКА |
47 | 2F | / | / | SOLIDUS | ДРОБНАЯ ЧЕРТА |
48 | 30 | 0 | 0 | DIGIT ZERO | ЦИФРА НОЛЬ |
49 | 31 | 1 | 1 | DIGIT ONE | ЦИФРА ОДИН |
50 | 32 | 2 | 2 | DIGIT TWO | ЦИФРА ДВА |
51 | 33 | 3 | 3 | DIGIT THREE | ЦИФРА ТРИ |
52 | 34 | 4 | 4 | DIGIT FOUR | ЦИФРА ЧЕТЫРЕ |
53 | 35 | 5 | 5 | DIGIT FIVE | ЦИФРА ПЯТЬ |
54 | 36 | 6 | 6 | DIGIT SIX | ЦИФРА ШЕСТЬ |
55 | 37 | 7 | 7 | DIGIT SEVEN | ЦИФРА СЕМЬ |
56 | 38 | 8 | 8 | DIGIT EIGHT | ЦИФРА ВОСЕМЬ |
57 | 39 | 9 | 9 | DIGIT NINE | ЦИФРА ДЕВЯТЬ |
58 | 3A | : | : | COLON | ДВОЕТОЧИЕ |
59 | 3B | ; | ; | SEMICOLON | ТОЧКА С ЗАПЯТОЙ |
60 | 3C | < | < | LESS THAN SIGN | МЕНЬШЕ |
61 | 3D | = | = | EQUALS SIGN | РАВНО |
62 | 3E | > | > | GREATER THAN SIGN | БОЛЬШЕ |
63 | 3F | ? | ? | QUESTION MARK | ВОПРОСИТЕЛЬНЫЙ ЗНАК |
64 | 40 | @ | @ | COMMERCIAL AT | КОММЕРЧЕСКОЕ ЭТ |
65 | 41 | A | A | LATIN CAPITAL LETTER A | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА A |
66 | 42 | B | B | LATIN CAPITAL LETTER B | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА B |
67 | 43 | C | C | LATIN CAPITAL LETTER C | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА C |
68 | 44 | D | D | LATIN CAPITAL LETTER D | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА D |
69 | 45 | E | E | LATIN CAPITAL LETTER E | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА E |
70 | 46 | F | F | LATIN CAPITAL LETTER F | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА F |
71 | 47 | G | G | LATIN CAPITAL LETTER G | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА G |
72 | 48 | H | H | LATIN CAPITAL LETTER H | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА H |
73 | 49 | I | I | LATIN CAPITAL LETTER I | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА I |
74 | 4A | J | J | LATIN CAPITAL LETTER J | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА J |
75 | 4B | K | K | LATIN CAPITAL LETTER K | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА K |
76 | 4C | L | L | LATIN CAPITAL LETTER L | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА L |
77 | 4D | M | M | LATIN CAPITAL LETTER M | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА M |
78 | 4E | N | N | LATIN CAPITAL LETTER N | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА N |
79 | 4F | O | O | LATIN CAPITAL LETTER O | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА O |
80 | 50 | P | P | LATIN CAPITAL LETTER P | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА P |
81 | 51 | Q | Q | LATIN CAPITAL LETTER Q | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА Q |
82 | 52 | R | R | LATIN CAPITAL LETTER R | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА R |
83 | 53 | S | S | LATIN CAPITAL LETTER S | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА S |
84 | 54 | T | T | LATIN CAPITAL LETTER T | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА T |
85 | 55 | U | U | LATIN CAPITAL LETTER U | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА U |
86 | 56 | V | V | LATIN CAPITAL LETTER V | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА V |
87 | 57 | W | W | LATIN CAPITAL LETTER W | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА W |
88 | 58 | X | X | LATIN CAPITAL LETTER X | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА X |
89 | 59 | Y | Y | LATIN CAPITAL LETTER Y | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА Y |
90 | 5A | Z | Z | LATIN CAPITAL LETTER Z | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА Z |
91 | 5B | [ | [ | LEFT SQUARE BRACKET | КВАДРАТНАЯ СКОБКА ЛЕВАЯ |
92 | 5C | \ | \ | REVERSE SOLIDUS | ОБРАТНАЯ ДРОБНАЯ ЧЕРТА |
93 | 5D | ] | ] | RIGHT SQUARE BRACKET | КВАДРАТНАЯ СКОБКА ПРАВАЯ |
94 | 5E | ^ | ^ | CIRCUMFLEX ACCENT | ЦИРКЮМФЛЕКС УДАРЕНИЕ |
95 | 5F | _ | _ | LOW LINE | ПОДЧЕРКИВАНИЕ |
96 | 60 | ' | ' | GRAVE ACCENT | СЛАБОЕ УДАРЕНИЕ |
97 | 61 | a | a | LATIN SMALL LETTER A | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА a |
98 | 62 | b | b | LATIN SMALL LETTER B | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА b |
99 | 63 | c | c | LATIN SMALL LETTER C | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА c |
100 | 64 | d | d | LATIN SMALL LETTER D | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА d |
101 | 65 | e | e | LATIN SMALL LETTER E | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА e |
102 | 66 | f | f | LATIN SMALL LETTER F | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА f |
103 | 67 | g | g | LATIN SMALL LETTER G | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА g |
104 | 68 | h | h | LATIN SMALL LETTER H | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА h |
105 | 69 | i | i | LATIN SMALL LETTER I | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА i |
106 | 6A | j | j | LATIN SMALL LETTER J | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА j |
107 | 6B | k | k | LATIN SMALL LETTER K | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА k |
108 | 6C | l | l | LATIN SMALL LETTER L | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА l |
109 | 6D | m | m | LATIN SMALL LETTER M | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА m |
110 | 6E | n | n | LATIN SMALL LETTER N | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА n |
111 | 6F | o | o | LATIN SMALL LETTER O | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА o |
112 | 70 | p | p | LATIN SMALL LETTER P | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА p |
113 | 71 | q | q | LATIN SMALL LETTER Q | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА q |
114 | 72 | r | r | LATIN SMALL LETTER R | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА r |
115 | 73 | s | s | LATIN SMALL LETTER S | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА s |
116 | 74 | t | t | LATIN SMALL LETTER T | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА t |
117 | 75 | u | u | LATIN SMALL LETTER U | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА u |
118 | 76 | v | v | LATIN SMALL LETTER V | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА v |
119 | 77 | w | w | LATIN SMALL LETTER W | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА w |
120 | 78 | x | x | LATIN SMALL LETTER X | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА x |
121 | 79 | y | y | LATIN SMALL LETTER Y | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА y |
122 | 7A | z | z | LATIN SMALL LETTER Z | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА z |
123 | 7B | { | { | LEFT CURLY BRACKET | ФИГУРНАЯ СКОБКА ЛЕВАЯ |
124 | 7C | | | | | VERTICAL LINE | ВЕРТИКАЛЬНАЯ ЧЕРТА |
125 | 7D | } | } | RIGHT CURLY BRACKET | ФИГУРНАЯ СКОБКА ПРАВАЯ |
126 | 7E | ~ | ~ | TILDE | ТИЛЬДА |
127 | 7F | DEL | DEL | DELETE | ЗАБОЙ |
________________
Примечание - Набор 7-битовых знаков ASCII (версия КОИ-7) состоит из набора знаков G0 по ИСО/МЭК 646 и С0 по ИСО/МЭК 6429, в котором знаки с десятичными значениями от 28 до 31 соответствуют знакам FS, GS, RS и US национальной версии США
________________
ДА.2 Графические знаки расширенного набора знаков ASCII (версия КОИ-8) по ИСО/МЭК 8859-1
В таблице ДА.2 приведены графические знаки расширенного набора 8-битовых знаков ASCII (версия КОИ-8) по ИСО/МЭК 8859-1:1998 (латинский алфавит N 1) и соответствие международных и русских наименований и обозначений знаков. В связи с тем, что знаки указанного набора с десятичными значениями с 0 по 127 полностью совпадают с набором знаков ASCII (КОИ-7), в таблице ДА.2 приведены 8-битовые графические знаки с десятичными значениями от 160 по 255 и их шестнадцатеричные значения.
Таблица ДА.2 - графические знаки расширенного набора 8-битовых знаков ASCII (версия КОИ-8) по ИСО/МЭК 8859-1
Деся- | Шестнад- | Международное (русское) обозначение знака | Наименование знака | |
Международное | Русское | |||
160 | A0 | NBSP (НПР) | NO-BREAK SPACE | НЕПРЕРЫВАЮЩИЙ ПРОБЕЛ |
161 | A1 | INVERTED EXCLAMATION MARK | ПЕРЕВЕРНУТЫЙ ВОСКЛИЦАТЕЛЬНЫЙ ЗНАК | |
162 | A2 | CENT SIGN | ДЕНЕЖНЫЙ ЗНАК ЦЕНТА | |
163 | A3 | POUND SIGN | ДЕНЕЖНЫЙ ЗНАК ФУНТА | |
164 | A4 | ¤ | CURRENCY SIGN | ЗНАК ДЕНЕЖНОЙ ЕДИНИЦЫ |
165 | A5 | YEN SIGN | ДЕНЕЖНЫЙ ЗНАК ЙЕНЫ | |
166 | A6 | ¦ | BROKEN BAR | ВЕРТИКАЛЬНАЯ ЧЕРТА С РАЗРЫВОМ |
167 | A7 | § | SECTION SIGN | ПАРАГРАФ |
168 | А8 | DIAERESIS | ДИЕРЕЗ | |
169 | A9 | © | COPYRIGHT SIGN | ЗНАК АВТОРСКОГО ПРАВА |
170 | AA | FEMININE ORDINAL INDICATOR | ЖЕНСКИЙ ПОРЯДКОВЫЙ ИНДИКАТОР | |
171 | AB | « | LEFT POINTING DOUBLE ANGLE QUOTATION MARK | ЗНАК ЛЕВОНАПРАВЛЕННОЙ ДВОЙНОЙ УГЛОВОЙ КАВЫЧКИ |
172 | AC | ¬ | NOT SIGN | ЗНАК НЕТ |
173 | AD | SOFT HYPHEN | ГИБКИЙ ДЕФИС | |
174 | AE | ® | REGISTERED SIGN | ЗНАК РЕГИСТРАЦИИ |
175 | AF | MACRON | ЧЕРТА СВЕРХУ | |
176 | B0 | ° | DEGREE SIGN | ЗНАК ГРАДУСА |
177 | B1 | ± | PLUS-MINUS SIGN | ЗНАК ПЛЮС-МИНУС |
178 | B2 | SUPERSCRIPT TWO | ВЕРХНИЙ ИНДЕКС ДВА | |
179 | B3 | SUPERSCRIPT THREE | ВЕРХНИЙ ИНДЕКС ТРИ | |
180 | B4 | ACUTE ACCENT | СИЛЬНОЕ УДАРЕНИЕ | |
181 | B5 | µ | MICRO SIGN | ЗНАК МИКРО |
182 | B6 | ¶ | PILCROW SIGN | ЗНАК ПИ |
183 | B7 | · | MIDDLE DOT | СРЕДНЯЯ ТОЧКА |
184 | B8 | CEDILLA | СЕДИЛЬ | |
185 | B9 | SUPERSCRIPT ONE | ВЕРХНИЙ ИНДЕКС ОДИН | |
186 | BA | MASCULINE ORDINAL INDICATOR | МУЖСКОЙ ПОРЯДКОВЫЙ ИНДИКАТОР | |
187 | BB | » | RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK | ЗНАК ПРАВОНАПРАВЛЕННОЙ ДВОЙНОЙ УГЛОВОЙ КАВЫЧКИ |
188 | BC | VULGAR FRACTION ONE QUARTER | ПРОСТАЯ ДРОБЬ ОДНА ЧЕТВЕРТАЯ | |
189 | BD | VULGAR FRACTION ONE HALF | ПРОСТАЯ ДРОБЬ ОДНА ВТОРАЯ | |
190 | BE | VULGAR FRACTION THREE QUARTERS | ПРОСТАЯ ДРОБЬ ТРИ ЧЕТВЕРТЫХ | |
191 | BF | INVERTED QUESTION MARK | ПЕРЕВЕРНУТЫЙ ВОПРОСИТЕЛЬНЫЙ ЗНАК | |
192 | C0 | LATIN CAPITAL LETTER A WITH GRAVE | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА А СО СЛАБЫМ УДАРЕНИЕМ | |
193 | C1 | LATIN CAPITAL LETTER A WITH ACUTE | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА А С СИЛЬНЫМ УДАРЕНИЕМ | |
194 | C2 | LATIN CAPITAL LETTER A WITH CIRCUMFLEX | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА A С ЦИРКУМФЛЕКСОМ | |
194* | C3 | LATIN CAPITAL LETTER A WITH TILDE | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА A С ТИЛЬДОЙ | |
196 | C4 | LATIN CAPITAL LETTER A WITH DIAERESIS | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА A С ДИЕРЕЗОМ | |
197 | C5 | LATIN CAPITAL LETTER A WITH RING ABOVE | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА A С КРУЖКОМ СВЕРХУ | |
198 | C6 | LATIN CAPITAL LETTER | ПРОПИСНАЯ ЛАТИНСКАЯ ЛИГАТУРА | |
199 | C7 | LATIN CAPITAL LETTER C WITH CEDILLA | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА C С СЕДИЛЕМ | |
200 | С8 | LATIN CAPITAL LETTER E WITH GRAVE | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА E СО СЛАБЫМ УДАРЕНИЕМ | |
201 | C9 | LATIN CAPITAL LETTER E WITH ACUTE | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА Е С СИЛЬНЫМ УДАРЕНИЕМ | |
202 | CA | LATIN CAPITAL LETTER E WITH CIRCUMFLEX | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА Е С ЦИРКУМФЛЕКСОМ | |
203 | CB | LATIN CAPITAL LETTER E WITH DIAERESIS | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА E С ДИЕРЕЗОМ | |
204 | CC | LATIN CAPITAL LETTER I WITH GRAVE | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА I СО СЛАБЫМ УДАРЕНИЕМ | |
205 | CD | LATIN CAPITAL LETTER I WITH ACUTE | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА I С СИЛЬНЫМ УДАРЕНИЕМ | |
206 | CE | LATIN CAPITAL LETTER I WITH CIRCUMFLEX | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА I С ЦИРКУМФЛЕКСОМ | |
207 | CF | LATIN CAPITAL LETTER I WITH DIAERESIS | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА I С ДИЕРЕЗОМ | |
208 | D0 | LATIN CAPITAL LETTER ETH | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА D СО ШТРИХОМ | |
209 | D1 | LATIN CAPITAL LETTER N WITH TILDE | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА N С ТИЛЬДОЙ | |
210 | D2 | LATIN CAPITAL LETTER О WITH GRAVE | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА O СО СЛАБЫМ УДАРЕНИЕМ | |
211 | D3 | LATIN CAPITAL LETTER О WITH ACUTE | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА O С СИЛЬНЫМ УДАРЕНИЕМ | |
212 | D4 | LATIN CAPITAL LETTER О WITH CIRCUMFLEX | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА O С ЦИРКУМФЛЕКСОМ | |
213 | D5 | LATIN CAPITAL LETTER О WITH TILDE | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА O С ТИЛЬДОЙ | |
214 | D6 | LATIN CAPITAL LETTER О WITH DIAERESIS | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА O С ДИЕРЕЗОМ | |
215 | D7 | MULTIPLICATION SING | ЗНАК УМНОЖЕНИЯ | |
216 | D8 | LATIN CAPITAL LETTER О WITH STROKE | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА O СО ШТРИХОМ | |
217 | D9 | LATIN CAPITAL LETTER U WITH GRAVE | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА U СО СЛАБЫМ УДАРЕНИЕМ | |
218 | DA | LATIN CAPITAL LETTER U WITH ACUTE | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА U С СИЛЬНЫМ УДАРЕНИЕМ | |
219 | DB | LATIN CAPITAL LETTER U WITH CIRCUMFLEX | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА U С ЦИРКУМФЛЕКСОМ | |
220 | DC | LATIN CAPITAL LETTER U WITH DIAERESIS | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА U С ДИЕРЕЗОМ | |
221 | DD | LATIN CAPITAL LETTER Y WITH ACUTE | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА Y С СИЛЬНЫМ УДАРЕНИЕМ | |
222 | DE | LATIN CAPITAL LETTER THORN | ПРОПИСНАЯ ЛАТИНСКАЯ БУКВА | |
223 | DF | LATIN SMALL LETTER SHARP S | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА | |
224 | E0 | LATIN SMALL LETTER A WITH GRAVE | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА a СО СЛАБЫМ УДАРЕНИЕМ | |
225 | E1 | LATIN SMALL LETTER A WITH ACUTE | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА a С СИЛЬНЫМ УДАРЕНИЕМ | |
226 | E2 | LATIN SMALL LETTER A WITH CIRCUMFLEX | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА a С ЦИРКУМФЛЕКСОМ | |
227 | E3 | LATIN SMALL LETTER A WITH TILDE | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА a С ТИЛЬДОЙ | |
228 | E4 | LATIN SMALL LETTER A WITH DIAERESIS | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА a С ДИЕРЕЗОМ | |
229 | E5 | LATIN SMALL LETTER A WITH RING ABOVE | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА a С КРУЖКОМ СВЕРХУ | |
230 | E6 | LATIN SMALL LETTER AE | СТРОЧНАЯ ЛАТИНСКАЯ ЛИГАТУРА | |
231 | E7 | LATIN SMALL LETTER C WITH CEDILLA | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА c С СЕДИЛЕМ | |
232 | E8 | LATIN SMALL LETTER E WITH GRAVE | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА e СО СЛАБЫМ УДАРЕНИЕМ | |
233 | E9 | LATIN SMALL LETTER E WITH ACUTE | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА e С СИЛЬНЫМ УДАРЕНИЕМ | |
234 | EA | LATIN SMALL LETTER E WITH CIRCUMFLEX | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА e С ЦИРКУМФЛЕКСОМ | |
235 | EB | LATIN SMALL LETTER E WITH DIAERESIS | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА e С ДИЕРЕЗОМ | |
236 | EC | LATIN SMALL LETTER I WITH GRAVE | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА i СО СЛАБЫМ УДАРЕНИЕМ | |
237 | ED | LATIN SMALL LETTER I WITH ACUTE | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА i С СИЛЬНЫМ УДАРЕНИЕМ | |
238 | EE | LATIN SMALL LETTER I WITH CIRCUMFLEX | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА i С ЦИРКУМФЛЕКСОМ | |
239 | EF | LATIN SMALL LETTER I WITH DIAERESIS | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА i С ДИЕРЕЗОМ | |
240 | F0 | LATIN SMALL LETTER ETH | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА
| |
241 | F1 | LATIN SMALL LETTER N WITH TILDE | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА n С ТИЛЬДОЙ | |
242 | F2 | LATIN SMALL LETTER O WITH GRAVE | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА o СО СЛАБЫМ УДАРЕНИЕМ | |
243 | F3 | LATIN SMALL LETTER O WITH ACUTE | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА o С СИЛЬНЫМ УДАРЕНИЕМ | |
244 | F4 | LATIN SMALL LETTER O WITH CIRCUMFLEX | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА o С ЦИРКУМФЛЕКСОМ | |
245 | F5 | LATIN SMALL LETTER O WITH TILDE | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА o С ТИЛЬДОЙ | |
246 | F6 | LATIN SMALL LETTER O WITH DIAERESIS | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА o С ДИЕРЕЗОМ | |
247 | F7 | DIVISION SING | ЗНАК ДЕЛЕНИЯ | |
248 | F8 | LATIN SMALL LETTER О WITH STROKE | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА o СО ШТРИХОМ | |
249 | F9 | LATIN SMALL LETTER U WITH GRAVE | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА u СО СЛАБЫМ УДАРЕНИЕМ | |
250 | FA | LATIN SMALL LETTER U WITH ACUTE | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА u С СИЛЬНЫМ УДАРЕНИЕМ | |
251 | FB | LATIN SMALL LETTER U WITH CIRCUMFLEX | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА u С ЦИРКУМФЛЕКСОМ | |
252 | FC | LATIN SMALL LETTER U WITH DIAERESIS | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА u С ДИЕРЕЗОМ | |
253 | FD | LATIN SMALL LETTER Y WITH ACUTE | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА y С СИЛЬНЫМ УДАРЕНИЕМ | |
254 | FE | LATIN SMALL LETTER THORN | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА | |
255 | FF | LATIN SMALL LETTER Y WITH DIAERESIS | СТРОЧНАЯ ЛАТИНСКАЯ БУКВА y С ДИЕРЕЗОМ |
________________
* Нумерация соответствует оригиналу. - .
ДА.3 Набор 8-битовых графических знаков (версия КОИ-8) по ИСО/МЭК 8859-5
В таблице ДА.3 приведен набор 8-битовых графических знаков (версия КОИ-8) по ИСО/МЭК 8859-5:1999 (латинский/кирилловский алфавит) и соответствие международных и русских наименований и обозначений знаков. В связи с тем, что знаки указанного набора с десятичными значениями с 0 по 127 полностью совпадают с набором 7-битовых знаков по ИСО 646, в таблице ДА.3 приведены 8-битовые графические знаки с десятичными значениями от 160 по 255.
Таблица ДА.3 - Набор 8-битовых графических знаков (версия КОИ-8) по ИСО/МЭК 8859-5
Деся- | Шестнад- | Международное (русское) обозначение знака | Наименование знака | |
Международное | Русское | |||
160 | A0 | NBSP (НПР) | NO-BREAK SPACE | НЕРАЗРЫВАЮЩИЙ ПРОБЕЛ |
161 | A1 | Ё | CYRILLIC CAPITAL LETTER IO | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ё |
162 | A2 | CYRILLIC CAPITAL LETTER DJE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА | |
163 | A3 | ═ | CYRILLIC CAPITAL LETTER GJE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА ═ |
164 | A4 | Є | CYRILLIC CAPITAL LETTER UKRAINIAN IE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Є (УКРАИНСКИЙ ЯЗЫК) |
165 | A5 | S | CYRILLIC CAPITAL LETTER DZE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА S |
166 | A6 | I | CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА I (БЕЛОРУССКИЙ И УКРАИНСКИЙ ЯЗЫКИ) |
167 | A7 | CYRILLIC CAPITAL LETTER Yl | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА | |
168 | A8 | J | CYRILLIC CAPITAL LETTER JE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА J |
169 | A9 | ┌ | CYRILLIC CAPITAL LETTER LJE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА ┌ |
170 | AA | │ | CYRILLIC CAPITAL LETTER NJE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА │ |
171 | AB | ├ | CYRILLIC CAPITAL LETTER TSHE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА ├ |
172 | AC | ┤ | CYRILLIC CAPITAL LETTER KJE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА ┤ |
173 | AD | SHY (ГД) | SOFT HYPHEN | ГИБКИЙ ДЕФИС |
174 | AE | Ў | CYRILLIC CAPITAL LETTER SHORT U | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ў |
175 | AF | ┼ | CYRILLIC CAPITAL LETTER DZHE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА ┼ |
176 | B0 | А | CYRILLIC CAPITAL LETTER A | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА А |
177 | B1 | Б | CYRILLIC CAPITAL LETTER BE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Б |
178 | B2 | В | CYRILLIC CAPITAL LETTER VE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА В |
179 | B3 | Г | CYRILLIC CAPITAL LETTER GHE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Г |
180 | B4 | Д | CYRILLIC CAPITAL LETTER DE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Д |
181 | B5 | Е | CYRILLIC CAPITAL LETTER IE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Е |
182 | B6 | Ж | CYRILLIC CAPITAL LETTER ZHE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ж |
183 | B7 | З | CYRILLIC CAPITAL LETTER ZE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА З |
184 | B8 | И | CYRILLIC CAPITAL LETTER I | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА И |
185 | B9 | Й | CYRILLIC CAPITAL LETTER SHORT I | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Й |
186 | BA | К | CYRILLIC CAPITAL LETTER KA | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА К |
187 | BB | Л | CYRILLIC CAPITAL LETTER EL | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Л |
188 | BC | М | CYRILLIC CAPITAL LETTER EM | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА М |
189 | BD | Н | CYRILLIC CAPITAL LETTER EN | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Н |
190 | BE | О | CYRILLIC CAPITAL LETTER О | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА О |
191 | BF | П | CYRILLIC CAPITAL LETTER PE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА П |
192 | С0 | Р | CYRILLIC CAPITAL LETTER ER | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Р |
193 | С1 | С | CYRILLIC CAPITAL LETTER ES | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА С |
194 | С2 | Т | CYRILLIC CAPITAL LETTER ТЕ | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Т |
195 | С3 | У | CYRILLIC CAPITAL LETTER U | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА У |
196 | С4 | Ф | CYRILLIC CAPITAL LETTER EF | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ф |
197 | С5 | Х | CYRILLIC CAPITAL LETTER HA | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Х |
198 | С6 | Ц | CYRILLIC CAPITAL LETTER TSE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ц |
199 | С7 | Ч | CYRILLIC CAPITAL LETTER CHE | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ч |
200 | С8 | Ш | CYRILLIC CAPITAL LETTER SHA | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ш |
201 | С9 | Щ | CYRILLIC CAPITAL LETTER SHCHA | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Щ |
202 | CA | Ъ | CYRILLIC CAPITAL LETTER HARD SIGN | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ъ |
203 | CB | Ы | CYRILLIC CAPITAL LETTER YERU | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ы |
204 | CC | Ь | CYRILLIC CAPITAL LETTER SOFT SIGN | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ь |
205 | CD | Э | CYRILLIC CAPITAL LETTER E | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Э |
206 | CE | Ю | CYRILLIC CAPITAL LETTER YU | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Ю |
207 | CF | Я | CYRILLIC CAPITAL LETTER YA | ПРОПИСНАЯ КИРИЛЛОВСКАЯ БУКВА Я |
208 | D0 | а | CYRILLIC SMALL LETTER A | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА а |
209 | D1 | б | CYRILLIC SMALL LETTER BE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА б |
210 | D2 | в | CYRILLIC SMALL LETTER VE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА в |
211 | D3 | г | CYRILLIC SMALL LETTER GHE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА г |
212 | D4 | д | CYRILLIC SMALL LETTER DE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА д |
213 | D5 | е | CYRILLIC SMALL LETTER IE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА е |
214 | D6 | ж | CYRILLIC SMALL LETTER ZHE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ж |
215 | D7 | з | CYRILLIC SMALL LETTER ZE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА з |
216 | D8 | и | CYRILLIC SMALL LETTER I | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА и |
217 | D9 | й | CYRILLIC SMALL LETTER SHORT I | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА й |
218 | DA | к | CYRILLIC SMALL LETTER KA | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА к |
219 | DB | л | CYRILLIC SMALL LETTER EL | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА л |
220 | DC | м | CYRILLIC SMALL LETTER EM | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА м |
221 | DD | н | CYRILLIC SMALL LETTER EN | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА н |
222 | DE | о | CYRILLIC SMALL LETTER O | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА о |
223 | DF | п | CYRILLIC SMALL LETTER PE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА п |
224 | E0 | р | CYRILLIC SMALL LETTER ER | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА р |
225 | E1 | с | CYRILLIC SMALL LETTER ES | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА с |
226 | E2 | т | CYRILLIC SMALL LETTER TE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА т |
227 | E3 | у | CYRILLIC SMALL LETTER U | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА у |
228 | E4 | ф | CYRILLIC SMALL LETTER EF | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ф |
229 | E5 | х | CYRILLIC SMALL LETTER HA | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА х |
230 | E6 | ц | CYRILLIC SMALL LETTER TSE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ц |
231 | E7 | ч | CYRILLIC SMALL LETTER CHE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ч |
232 | E8 | ш | CYRILLIC SMALL LETTER SHA | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ш |
233 | E9 | щ | CYRILLIC SMALL LETTER SHCHA | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА щ |
234 | EA | ъ | CYRILLIC SMALL LETTER HARD SIGN | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ъ |
235 | EB | ы | CYRILLIC SMALL LETTER YERU | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ы |
236 | EC | ь | CYRILLIC SMALL LETTER SOFT SIGN | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ь |
237 | ED | э | CYRILLIC SMALL LETTER E | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА э |
238 | EE | ю | CYRILLIC SMALL LETTER YU | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ю |
239 | EF | я | CYRILLIC SMALL LETTER YA | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА я |
240 | F0 | № | NUMERO SIGN | ЗНАК "НОМЕР" |
241 | F1 | ё | CYRILLIC SMALL LETTER IO | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ё |
242 | F2 | ђ | CYRILLIC SMALL LETTER DJE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ђ |
243 | F3 | ═ | CYRILLIC SMALL LETTER GJE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ═ |
244 | F4 | є | CYRILLIC SMALL LETTER UKRAINIAN IE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА є (УКРАИНСКИЙ ЯЗЫК) |
245 | F5 | s | CYRILLIC SMALL LETTER DZE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА s |
246 | F6 | i | CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА i (БЕЛОРУССКИЙ И УКРАИНСКИЙ ЯЗЫКИ) |
247 | F7 | CYRILLIC SMALL LETTER Yl | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА | |
248 | F8 | j | CYRILLIC SMALL LETTER JE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА j |
249 | F9 | љ | CYRILLIC SMALL LETTER LJE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА љ |
250 | FA | њ | CYRILLIC SMALL LETTER NJE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА њ |
251 | FB | ћ | CYRILLIC SMALL LETTER TSHE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ћ |
252 | FC | ќ | CYRILLIC SMALL LETTER KJE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ќ |
253 | FD | § | SECTION SIGN | ПАРАГРАФ |
254 | FE | ў | CYRILLIC SMALL LETTER SHORT U | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА ў |
255 | FF | џ | CYRILLIC SMALL LETTER DZHE | СТРОЧНАЯ КИРИЛЛОВСКАЯ БУКВА џ |
Приложение ДБ (справочное). Сведения о соответствии ссылочных международных стандартов ссылочным национальным стандартам Российской Федерации
Приложение ДБ
(справочное)
Сведения о соответствии ссылочных международных стандартов ссылочным национальным стандартам Российской Федерации приведены в таблице ДБ.1.
Таблица ДБ.1
Обозначение ссылочного международного стандарта | Степень соответ- | Обозначение и наименование соответствующего национального стандарта |
ИСО/МЭК 8859-1:1998 | * | |
ИСО/МЭК 15415 | IDT | ГОСТ Р ИСО/МЭК 15415-2012 "Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация испытаний символов штрихового кода для оценки качества печати. Двумерные символы" |
ИСО/МЭК 19762-1 | IDT | ГОСТ Р ИСО/МЭК 19762-1-2011 "Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 1. Общие термины в области АИСД" |
ИСО/МЭК 19762-2 | IDT | ГОСТ Р ИСО/МЭК 19762-2-2011 "Информационные технологии. Технологии автоматической идентификации и сбора данных (АИСД). Гармонизированный словарь. Часть 2. Оптические носители данных (ОНД)" |
JIS X 0201 | * | |
* Соответствующий национальный стандарт отсутствует. Оригинал международного стандарта ИСО/МЭК находится в Федеральном информационном фонде технических регламентов и стандартов. |
Библиография
[1] | ISO/IEC 646, Information technology - ISO 7-bit coded graphic character set (Информационные технологии - 7-битовый кодированный набор знаков ИСО для обмена информацией) |
[2] | ISO/IEC 8859-2:1999 |
[3] | ISO/IEC 8859-3:1999, Information technology - 8-bit single-byte coded graphic character sets - Part 3: Latin alphabet No.3 (Информационные технологии - 8-битовые однобайтовые кодированные наборы графических знаков - Часть 3: Латинский алфавит N 3) |
[4] | ISO/IEC 8859-4:1998, Information technology - 8-bit single-byte coded graphic character sets - Part 4: Latin alphabet No.4 (Информационные технологии - 8-битовые однобайтовые кодированные наборы графических знаков - Часть 4: Латинский алфавит N 4) |
[5] | ISO/IEC 8859-5:1999 |
[6] | ISO/IEC 8859-6:1999, Information technology - 8-bit single-byte coded graphic character sets - Part 6: Latin/Arabic alphabet (Информационные технологии - 8-битовые однобайтовые кодированные наборы графических знаков - Часть 6: Латинский/Арабский алфавит) |
[7] | ISO/IEC 8859-7:2003, Information technology - 8-bit single-byte coded graphic character sets - Part 7: Latin/Greek alphabet (Информационные технологии - 8-битовые однобайтовые кодированные наборы графических знаков - Часть 7: Латинский/Греческий алфавит) |
[8] | ISO/IEC 8859-8:1999, Information technology - 8-bit single-byte coded graphic character sets - Part 8: Latin/Hebrew alphabet (Информационные технологии - 8-битовые однобайтовые кодированные наборы графических знаков - Часть 8: Латинский алфавит/Иврит) |
[9] | ISO/IEC 8859-9:1999, Information technology - 8-bit single-byte coded graphic character sets - Part 9: Latin alphabet No.5 (Информационные технологии - 8-битовые однобайтовые кодированные наборы графических знаков - Часть 9: Латинский алфавит N 5) |
[10] | ISO/IEC 8859-10:1998, Information technology - 8-bit single-byte coded graphic character sets - Part 10: Latin alphabet No.6 (Информационные технологии - 8-битовые однобайтовые кодированные наборы графических знаков. - Часть 10: Латинский алфавит N 6) |
[11] | ISO/IEC 8859-11:2001, Information technology - 8-bit single-byte coded graphic character sets - Part 11: Latin/Thai alphabet (Информационные технологии - 8-битовые однобайтовые кодированные наборы графических знаков - Часть 11: Латинский/Тайский алфавит) |
[12] | ISO/IEC 8859-13:1998, Information technology - 8-bit single-byte coded graphic character sets - Part 13: Latin alphabet No.7 (Информационные технологии - 8-битовые однобайтовые кодированные наборы графических знаков - Часть 13: Латинский алфавит N 7) |
[13] | ISO/IEC 8859-14:1998, Information technology - 8-bit single-byte coded graphic character sets - Part 14: Latin alphabet No.8 (Celtic) (Информационные технологии - 8-битовые однобайтовые кодированные наборы графических знаков - Часть 14: Латинский алфавит N 8 (Кельтский)) |
[14] | ISO/IEC 8859-15:1999, Information technology - 8-bit single-byte coded graphic character sets - Part 15: Latin alphabet No.9 (Информационные технологии. 8-битовые однобайтовые кодированные наборы графических знаков. Часть 15: Латинский алфавит N 9) |
[15] | ISO/IEC 8859-16:2001, Information technology - 8-bit single-byte coded graphic character sets - Part 16: Latin alphabet No.10 (Информационные технологии - 8-битовые однобайтовые кодированные наборы графических знаков - Часть 16: Латинский алфавит N 10) |
[16] | ISO/IEC 15416 |
[17] | ISO/IEC 15417 |
[18] | ИСО/МЭК 15424 |
[19] | ISO/IEC 15434 |
[20] | ISO/IEC TR 29158 |
[21] | AIM ITS 97-001 International Symbology Specification - QR Code, AIM Inc (Международная спецификация символики - QR Code) |
[22] | AIM International Technical Specification, Extended Channel Interpretations: - Part 1, Identification Schemes and Protocols (Международная техническая спецификация. Интерпретации в расширенном канале. Часть 1. Схемы идентификации и протокол) |
[23] | AIM International Technical Specification, Extended Channel Interpretations: - Part 2, Registration Procedure for Coded Character Sets and Other Data Formats (Международная техническая спецификация. Интерпретации в расширенном канале. Часть 2. Процедура регистрации наборов кодированных знаков и других форматов данных) |
[24] | AIM International Technical Specification, Extended Channel Interpretations: - Character Set Register (Международная техническая спецификация. Интерпретации в расширенном канале. Регистр наборов знаков) |
[25] | GS1 General Specifications, GS1 (Общие спецификации GS1) |
[26] | JIS X 0208:2012, 7-bit and 8-bit double byte coded KANJI sets for information interchange (7-битовые и 8-битовые двухбайтовые кодированные наборы знаков КАНДЗИ для обмена информацией) |
________________
УДК 003.295.8:004.223(083.74) | ОКС 35.040 | П85 |
Ключевые слова: технологии автоматической идентификации и сбора данных, кодирование штриховое, спецификация символики, OR Code, матричная символика, Micro OR Code |
Электронный текст документа
и сверен по:
официальное издание
М.: Стандартинформ, 2015