ГОСТ ИСО/МЭК 15420-2001
Группа П85
МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ
Автоматическая идентификация
КОДИРОВАНИЕ ШТРИХОВОЕ
Спецификация символики EAN/UPC (ЕАН/ЮПиСи)
Automatic identification. Bar coding.
Symbology specification EAN/UPC
ОКС 35.040
ОКСТУ 4002
Дата введения 2002-05-01
Предисловие
1 РАЗРАБОТАН Ассоциацией автоматической идентификации ЮНИСКАН/EAN РОССИЯ/АIМ РОССИЯ в рамках Межгосударственного технического комитета МТК 517 "Автоматическая идентификация"
ВНЕСЕН Госстандартом России
2 ПРИНЯТ Межгосударственным Советом по стандартизации, метрологии и сертификации (протокол N 20 от 1 ноября 2001 г.)
За принятие проголосовали:
Наименование государства | Наименование национального органа |
Азербайджанская Республика | Азгосстандарт |
Республика Армения | Армгосстандарт |
Республика Беларусь | Госстандарт Республики Беларусь |
Республика Казахстан | Госстандарт Республики Казахстан |
Кыргызская Республика | Кыргызстандарт |
Республика Молдова | Молдовастандарт |
Российская Федерация | Госстандарт России |
Республика Таджикистан | Таджикгосстандарт |
Туркменистан | Главгосслужба "Туркменстандартлары" |
Республика Узбекистан | Узгосстандарт |
3 Настоящий стандарт представляет собой аутентичный текст международного стандарта ИСО/МЭК 15420-2000 "Информационная технология. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода EAN/UPC", за исключением наименования, раздела 2, примечаний к приложению С, рисунка D.1, приложений Н и J.
4 Постановлением Государственного комитета Российской Федерации по стандартизации и метрологии от 25 декабря 2001 г. N 572-ст межгосударственный стандарт ГОСТ ИСО/МЭК 15420-2001 введен в действие в качестве государственного стандарта Российской Федерации с 1 мая 2002 г.
5 ВВЕДЕН ВПЕРВЫЕ
Введение
Введение
Технология штрихового кодирования основана на распознавании закодированных комбинаций штрихов и пробелов определенных размеров. Существует множество способов кодирования информации в форме штрихового кода, называемых символиками. Одной из таких символик является EAN/UPC. Правила, регламентирующие перевод знаков в комбинации штрихов и пробелов и другие необходимые показатели каждой символики, называются спецификацией символики.
Символы штрихового кода EAN/UPC зарезервированы исключительно для кодирования идентификационных номеров. Использование этой символики ограничено и подлежит согласованию с правилами и регистрационными процедурами EAN International (ЕАН Интернешнл - далее EAN) и Uniform Code Council, Inc. (Совета по унифицированному коду - далее UCC (ЮСиСи)). Управление системой нумерации, осуществляемое EAN* и UCC, обеспечивает международную уникальность и согласованность в определении идентификационных кодов, присваиваемых конкретным предметам. Главное преимущество для пользователей системы EAN·UCC состоит в наличии однозначно установленных идентификационных кодов для использования в торговых транзакциях. Общие сведения о системе EAN-UCC приведены в приложении С и Н.
_________________
* В Российской Федерации некоммерческая ассоциация автоматической идентификации ЮНИСКАН/EAN РОССИЯ (член ЕАН Интернешнл) является единственной организацией, уполномоченной ЕАН Ннтернешнл осуществлять управление системой EAN·UCC.
Производителям оборудования для штрихового кодирования и пользователям технологии штрихового кодирования требуются общедоступные стандартные спецификации символик, к которым они могли бы обращаться при разработке оборудования и программного обеспечения.
1 Область применения
Настоящий стандарт устанавливает требования к символике штрихового кода EAN/UPC (EAN/ЮПиСи), включая кодирование знаков данных, форматы символов, размеры, спецификацию испытаний и рекомендуемый алгоритм декодирования.
Содержание данных и правила, регламентирующие использование данной символики, установлены в спецификациях системы EAN·UCC.
2 Нормативные ссылки
В настоящем стандарте использованы ссылки на следующие стандарты:
ГОСТ 16330-85 Системы обработки информации. Шрифты для оптического чтения. Типы, основные параметры и размеры
ГОСТ 27463-87 Системы обработки информации. 7-битные кодированные наборы символов
ГОСТ 27465-87 Системы обработки информации. Символы. Классификация, наименование и обозначение
ГОСТ 30640-99 (EH 796-95)* Автоматическая идентификация. Штриховое кодирование. Идентификаторы символик
_________________
* На территории Российской Федерации действует ГОСТ Р 51294.1-99.
ГОСТ 30721-2000/ГОСТ Р 51294.3-99 Автоматическая идентификация. Кодирование штриховое. Термины и определения
3 Определения
В настоящем стандарте применяют термины по ГОСТ 30721 и следующие термины с соответствующими определениями:
3.1 дополнительный символ (add-on symbol): Символ, применяемый для кодирования дополнительной информации, не содержащейся в основном символе.
3.2 вспомогательный знак (auxiliary pattern): Комбинация штрихов и пробелов, представляющая компоненты символа, не содержащие данных, например знаки-ограничители и знаки-разделители знаков дополнительного символа.
3.3 знак-разделитель (delineator): Вспомогательный знак, используемый для отделения дополнительного символа.
3.4 четный паритет (even parity): Характеристика кодирования знака символа, указывающая на четное число темных модулей в знаке.
3.5 знак-ограничитель (guard pattern): Вспомогательным знак (комбинация штрихов и пробелов), который либо соответствует знаку Start (СТАРТ) или Stop (СТОП) в других символиках, либо служит для разделения символа на две половины.
3.6 коэффициент увеличения (magnification factor): Постоянный множитель для номинальных размеров символа EAN/UPC.
3.7 организация нумерации (numbering organisation): Организация, ответственная за управление системой EAN·UCC и поддержание серии номеров в пределах определенной EAN·UCC территории.
3.8 числовой набор (number set): Серия из 10 комбинаций штрихов и пробелов с четным или нечетным паритетом, кодирующая цифры от 0 до 9.
3.9 нечетный паритет (odd parity): Характеристика кодирования знака символа, указывающая на нечетное число темных модулей в знаке.
3.10 система EAN·UCC (ЕАН·ЮСиСи) (EAN·UCC System)*: Система уникальной нумерации и идентификации продукции, единиц грузооборота, активов, местонахождений и услуг в соответствии с набором правил, устанавливаемых ЕАН Интернешнл (EAN International) и Советом по унифицированному коду - ЮСиСи (Uniform Code Council, Inc. - UCC).
_________________
* Обозначение системы EAN-UCC в соответствии с [6], в международном стандарте ИСО/МЭК 15420 использовано обозначение - UCC/EAN.
3.11 кодирование с переменным паритетом (variable parity encodation): Процесс кодирования дополнительной информации в последовательности знаков символа, при котором на основе заданной комбинации знаков с четным или нечетным паритетом знак или контрольный знак представлены в неявном виде.
3.12 отбрасывание незначащих нулей (zero-suppression): Процесс удаления нулей из заданных позиций в строке данных UPC-A (ЮПиСи-А) для ее кодирования в формате UPC-E (ЮПиСи-Е).
4 Требования
4.1 Показатели символики
К показателям символики EAN/UPC относят:
a) набор кодируемых знаков: цифровой (от 0 до 9), т.е. знаки версии КОИ-7 по [1]* с целочисленными значениями от 48 до 57;
________________
* Версия 7-битного кодированного набора знаков для обмена и обработки информации КОИ-7 по [1] в части цифровых знаков соответствует ГОСТ 27463.
b) тип символики - непрерывный штриховой код;
c) число элементов в знаке символа - 4, включая 2 штриха и 2 пробела, состоящие каждый из 1, 2, 3 или 4 модулей по ширине (вспомогательные знаки имеют иное количество элементов);
d) самоконтроль знака - присутствует;
e) длина кодируемой строки данных - фиксированная (8, 12 или 13 знаков, включая контрольную цифру в зависимости от конкретного типа символа);
f) всенаправленное декодирование - присутствует;
g) контрольная цифра символа - одна, обязательная (приложение А);
h) плотность знака символа - 7 модулей в знаке символа;
i) часть кода, не содержащая данных, включая контрольную цифру, но исключая свободные зоны - 18 модулей для символов EAN-13 (EAH-13), EAN-8 (ЕАН-8), UPC-A (ЮПиСи-А), 9 модулей - для символов UPC-E (ЮПиСи-Е).
4.2 Типы символов
Символы EAN/UPC подразделяют на четыре типа:
- EAN-13, UPC-A, UPC-E, которые могут сопровождаться дополнительным символом;
- EAN-8.
Указанные четыре типа символов описываются в 4.4.1-4.4.4. а необязательные дополнительные символы - в 4.4.5.
4.3 Кодирование символа
4.3.1 Кодирование знаков символа
Знаки символа должны кодировать значения цифр в виде знаков из 7 модулей, выбираемых из числовых наборов А, В и С (таблица 1).
Таблица 1 - Числовые наборы А, В и С
Значение цифры | Ширина элементов в числовых наборах, модули | |||||||||||
| А | В | С | |||||||||
| П | Ш | П | Ш | П | Ш | П | Ш | Ш | П | Ш | П |
0 | 3 | 2 | 1 | 1 | 1 | 1 | 2 | 3 | 3 | 2 | 1 | 1 |
1 | 2 | 2 | 2 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 | 1 |
2 | 2 | 1 | 2 | 2 | 2 | 2 | 1 | 2 | 2 | 1 | 2 | 2 |
3 | 1 | 4 | 1 | 1 | 1 | 1 | 4 | 1 | 1 | 4 | 1 | 1 |
4 | 1 | 1 | 3 | 2 | 2 | 3 | 1 | 1 | 1 | 1 | 3 | 2 |
5 | 1 | 2 | 3 | 1 | 1 | 3 | 2 | 1 | 1 | 2 | 3 | 1 |
6 | 1 | 1 | 1 | 4 | 4 | 1 | 1 | 1 | 1 | 1 | 1 | 4 |
7 | 1 | 3 | 1 | 2 | 2 | 1 | 3 | 1 | 1 | 3 | 1 | 2 |
8 | 1 | 2 | 1 | 3 | 3 | 1 | 2 | 1 | 1 | 2 | 1 | 3 |
9 | 3 | 1 | 1 | 2 | 2 | 1 | 1 | 3 | 3 | 1 | 1 | 2 |
Примечание - Обозначения: П - пробел (светлый элемент), Ш - штрих (темный элемент). |
В графическом виде таблица 1 представлена в приложении D.
Сумма модулей, заключенных в штрихах, в любом знаке символа определяет его паритет. Знаки символа в числовом наборе А являются знаками нечетного паритета, в числовых наборах В и С - знаками четного паритета. В числовом наборе С знаки символа являются зеркальными изображениями знаков числового набора В.
Знаки символа в числовых наборах А и В всегда начинаются слева со светлого модуля и заканчиваются справа темным модулем, а в числовом наборе С - начинаются слева с темного модуля и заканчиваются справа светлым модулем.
Знак данных обычно представлен определенным знаком символа. Но в некоторых случаях (4.4.1, 4.4.4, 4.4.5) сочетание знаков различных числовых наборов в символе может само по себе представлять либо данные, либо контрольное значение. Такой метод является кодированием с переменным паритетом.
4.3.2 Кодирование вспомогательных знаков
Вспомогательные знаки должны быть составлены в соответствии с таблицей 2.
Таблица 2 - Вспомогательные знаки
Вспомогательный знак | Количество модулей | Ширина элемента, модули | |||||
| | П | Ш | П | Ш | П | Ш |
Типовом знак - ограничитель | 3 | | 1 | 1 | 1 | | |
Центральным знак-ограничитель | 5 | 1 | 1 | 1 | 1 | 1 | |
Специальный знак-ограничитель | 6 | 1 | 1 | 1 | 1 | 1 | 1 |
Знак - ограничитель дополнительного символа | 4 | | 1 | 1 | 2 | | |
Знак - разделитель дополнительного символа | 2 | 1 | 1 | | | | |
Примечание - Обозначения: П - пробел (светлый элемент), Ш - штрих (темный элемент). |
В графическом виде эти знаки представлены в приложении D.
Типовой знак-ограничитель соответствует знакам Start (СТАРТ) и Stop (СТОП) в других символиках, а специальный знак-ограничитель используют как знак Stop в символах UPC-E.
4.4 Форматы символов
4.4.1 Символы EAN-13
Символ ЕAN 13 должен быть составлен следующим образом (при считывании слева направо):
- левая свободная зона;
- типовой знак-ограничитель;
- 6 знаков символа из числовых наборов А и В;
- центральный знак-ограничитель;
- 6 знаков символа из числового набора С;
- типовой знак-ограничитель;
- правая свободная зона.
Крайний правый знак символа должен кодировать контрольную цифру, вычисляемую в соответствии с А.1.
Так как символ EAN-13 содержит только 12 знаков символа, но кодирует 13 цифр данных (включая контрольную цифру), значение дополнительной цифры, которая является знаком, стоящим в крайней левой позиции в цепочке данных, должно кодироваться переменным паритетом в сочетании знаков числовых наборов А и В для 6 знаков символа в левой половине символа. Система кодирования для значений начальной цифры приведена в таблице 3. Пример символа штрихового кода EAN-13 приведен на рисунке 1.
Таблица 3 - Левая половина символа EAN-13
Неявно закодированная начальная цифра | Числовые наборы, используемые при кодировании левой половины символа EAN-13 для позиции знака символа | |||||
| 1 | 2 | 3 | 4 | 5 | 6 |
0* | А | А | А | А | А | А |
1 | А | А | В | А | В | В |
2 | А | А | В | В | А | В |
3 | А | А | В | В | В | А |
4 | А | В | А | А | В | В |
5 | А | В | В | А | А | В |
6 | А | В | В | В | А | А |
7 | А | В | А | В | А | В |
8 | А | В | А | В | В | А |
9 | А | В | В | А | В | А |
* Значение начальной цифры 0 зарезервировано для символов, кодирующих строки данных для номеров UCC-12 (ЮСиСи-12). |
Рисунок 1 - Символ штрихового кода EAN-13
Рисунок 1 - Символ штрихового кода EAN-13
4.4.2 Символы EAN-8
Символ EAN-8 должен быть составлен следующим образом (при считывании слева направо):
- левая свободная зона;
- типовой знак-ограничитель;
- 4 знака символа из числового набора А;
- центральный знак-ограничитель;
- 4 знака символа из числового набора С;
- типовой знак-ограничитель;
- правая свободная зона.
Крайний правый знак символа должен кодировать контрольную цифру, вычисляемую в соответствии с А.1. Пример символа штрихового кода EAN-8 приведен на рисунке 2.
Рисунок 2 - Символ штрихового кода EAN-8
Рисунок 2 - Символ штрихового кода EAN-8
4.4.3 Символы UPC-A
Символ UPC-A должен быть составлен следующим образом (при считывании слева направо):
- левая свободная зона;
- типовой знак-ограничитель;
- 6 знаков символа из числового набора А;
- центральный знак-ограничитель;
- 6 знаков символа из числового набора С;
- типовой знак-ограничитель;
- правая свободная зона.
Крайний правый знак символа должен кодировать контрольную цифру, вычисляемую в соответствии с A.1. Символы UPC-A могут быть декодированы как 13-разрядный номер добавлением подразумеваемого начального нуля к номеру UCC-12. Пример символа штрихового кода UPC-A приведен на рисунке 3.
Рисунок 3 - Символ штрихового кода UPC-A
Рисунок 3 - Символ штрихового кода UPC-A
4.4.4 Символы UPC-E
Символ UPC-E составлен следующим образом (при считывании слева направо):
- левая свободная зона;
- типовой знак-ограничитель;
- 6 знаков символа из числовых наборов А и В;
- специальный знак-ограничитель;
- правая свободная зона.
Символ UPC-E можно применять только для кодирования строк данных UCC-12, начинающихся с нуля и содержащих последовательность из четырех или пяти нулей в определенных позициях (таблица 5). Эти нули удаляют из данных при кодировании с помощью процесса отбрасывания нулей, приведенного в 4.4.4.1. Пример символа штрихового кода UPC-E приведен на рисунке 4.
Рисунок 4 - Символ штрихового кода UPC-E (кодирование "0 07834 00009 1" с отбрасыванием незначащих нулей)
Рисунок 4 - Символ штрихового кода UPC-E (кодирование "0 07834 00009 1" с отбрасыванием незначащих нулей)
4.4.4.1 Кодирование символа UPC-E
Для кодирования соответствующей строки данных с отбрасыванием нулей применяют следующий алгоритм:
1) Пусть D1, D2, D3, ... , D12 обозначают знаки данных UCC-12 (включая контрольную цифру). D1 всегда должен быть нулем. D12 должен быть контрольной цифрой символа, подсчитанной в соответствии с алгоритмом, указанным в A.1.
XI, Х2, ... , Х6 обозначают шесть знаков символа в окончательном символе UPC-E.
2) Знаки с D2 по D1 преобразуют в строку знаков символа, отбросив нули следующим образом:
а) если D11 равен 5, 6, 7, 8 или 9, знаки с D7 до D10 все включительно представлены нулями, а знак D6 не равен 0, то знаки с D7 до D10 не должны кодироваться в символе.
Знак символа | XI | Х2 | Х3 | Х4 | Х5 | Х6 | |||
Знак данных | D2 | D3 | D4 | D5 | D6 | D11; |
b) если знаки с D6 до D10 включительно равны нулю, а D5 не равен 0, то знаки с D6 до D10 не должны кодироваться в символе, а знак Х6 должен быть равен 4.
Знак символа | X1 | Х2 | Х3 | Х4 | Х5 | Х6 | |||
Знак данных | D2 | D3 | D4 | D5 | D11 | 4; |
с) если знак D4 равен 0, 1 или 2 и знаки с D5 до D8 включительно равны 0, то знаки с D5 до D8 не должны кодироваться в символе.
Знак символа | X1 | Х2 | Х3 | Х4 | Х5 | Х6 | |||
Знак данных | D2 | D3 | D9 | D10 | D11 | D4; |
d) если D4 равен 3, 4, 5, 6, 7, 8 или 9 и знаки с D5 до D9 включительно равны 0, то знаки с D5 до D9 не должны кодироваться в символе, а знак Х6 должен быть равен 3.
Знак символа | X1 | Х2 | Х3 | Х4 | Х5 | Х6 | |||
Знак данных | D2 | D3 | D4 | D10 | D11 | 3. |
3) Определяют числовые наборы для неявного кодирования D12 (таблица 4).
4) Кодируют знаки символа с X1 до Х6, используя числовые наборы А и В в соответствии с перечислением 3.
Таблица 4 - Числовые наборы для UPC-E:
Значение контрольной цифры | Числовые наборы, используемые при кодировании символа UPC-E для позиции знака символа | |||||
| 1 | 2 | 3 | 4 | 5 | 6 |
0 | В | В | В | А | А | А |
1 | В | В | А | В | А | А |
2 | В | В | А | А | В | А |
3 | В | В | А | А | А | В |
4 | В | А | В | В | А | А |
5 | В | А | А | В | В | А |
6 | В | А | А | А | В | В |
7 | В | А | В | А | В | А |
8 | В | А | В | А | А | В |
9 | В | А | А | В | А | В |
Примеры кодирования символов UPC-E
| Исходные данные | Данные с отброшенными нулями | Правило | ||||||||
Пример 1: | 0 1 2 3 4 5 0 0 0 0 5 8 | 1 | 2 | 3 | 4 | 5 | 5 | 2а) | |||
| | В | А | В | А | А | В | | |||
Пример 2: | 0 4 5 6 7 0 0 0 0 0 8 0 | 4 | 5 | 6 | 7 | 8 | 4 | 2b) | |||
| | В | В | В | А | А | А | | |||
Пример 3: | 0 3 4 0 0 0 0 0 5 6 7 3 | 3 | 4 | 5 | 6 | 7 | 0 | 2с) | |||
| | В | В | А | А | А | В | | |||
Пример 4: | 0 9 8 4 0 0 0 0 0 7 5 1 | 9 | 8 | 4 | 7 | 5 | 3 | 2d) | |||
В | В | А | В | А | А |
Примечание - Числовые наборы, используемые для неявного кодирования контрольной цифры, приведены в графах "Данные с отброшенными нулями".
4.4.4.2 Декодирование символа UPC-E
Восстановление 12-цифровой строки данных из знаков, закодированных в символе UPC-E, можно выполнить в соответствии с таблицей 5.
Таблица 5 - Декодирование символа UPC-E
Закодированные UPC-E цифры | | Декодированный номер | ||||||||||||||||||
| Р1 | Р2 | Р3 | Р4 | Р5 | Р6 | | | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | D10 | D11 | D12 |
(0) | X1 | Х2 | Х3 | Х4 | Х5 | 0 | (С) | | (0) | X1 | Х2 | 0 | 0 | 0 | 0 | 0 | Х3 | Х4 | Х5 | (С) |
(0) | Х1 | Х2 | Х3 | Х4 | Х5 | 1 | (С) | | (0) | X1 | Х2 | 1 | 0 | 0 | 0 | 0 | Х3 | Х4 | Х5 | (С) |
(0) | Х1 | Х2 | Х3 | Х4 | Х5 | 2 | (С) | | (0) | X1 | Х2 | 2 | 0 | 0 | 0 | 0 | Х3 | Х4 | Х5 | (С) |
(0) | X1 | Х2 | Х3 | Х4 | Х5 | 3 | (С) | | (0) | X1 | Х2 | Х3 | 0 | 0 | 0 | 0 | 0 | Х4 | Х5 | (С) |
(0) | X1 | Х2 | Х3 | Х4 | Х5 | 4 | (С) | | (0) | X1 | Х2 | Х3 | Х4 | 0 | 0 | 0 | 0 | 0 | Х5 | (С) |