Символы GS1 DataBar Расширенный могут быть сканированы и декодированы по 22 сегментам с последующим восстановлением полного символа, что обеспечивает возможность всенаправленного сканирования. Пример символа GS1 DataBar Расширенный приведен на рисунке 10.
Рисунок 10 — Символ GS1 DataBar Расширенный, представляющий номер (01)98898765432106(3202)012345(15)991231
Структура символа
Общая структура символа
Первый знак символа в любом символе является контрольным знаком, в котором закодированы контрольная сумма и длина символа. Пример символа GS1 DataBar Расширенный, приведенный на рисунке 11, содержит один контрольный знак символа и пять знаков символа.
Символы GS1 DataBar Расширенный построены в виде последовательности триплетов, состоящих из шаблона поиска, расположенного между двумя знаками символа. При нечетном числе знаков символа (при порядке следования слева направо) шаблон поиска размещают за последним знаком символа. Порядок следования элементов в знаках символа с нечетной нумерацией — слева направо, в знаках символа счетной нумерацией — справа налево. В знаках символа 19, 2, 5,6, 9,10 и т.д. первым элементом (самым дальним элементом от прилегающего шаблона поиска) является пробел, в то время как в знаках символа 3, 4, 7, 8, 11, 12 и т. д. первым элементом является штрих. Символ GS1 DataBar Расширенный всегда начинается и заканчивается левым и правым шаблонами-ограничителями, так же как и каждая строка многострочного символа. Пример символа GS1 DataBar Расширенный, состоящего из шести знаков символа и одиннадцати областей (слева направо), имеет следующую структуру (рисунок 11):
первая область состоит из одного пробела и одного штриха шириной один модуль каждый и соответствует левому шаблону-ограничителю;
вторая область состоит из четырех пробелов и четырех штрихов общей шириной 17 модулей и соответствует контрольному знаку символа со структурой (n,k) = (17,4);
третья область состоит из трех пробелов и двух штрихов общей шириной 15 модулей и соответствует шаблону поиска А1;
четвертая область состоит из четырех штрихов и четырех пробелов общей шириной 17 модулей и соответствует первому знаку символа со структурой (n,k) = (17,4) (порядок следования элементов — справа налево);
пятая область состоит из четырех штрихов и четырех пробелов общей шириной 17 модулей и соответствует второму знаку символа со структурой (n,k) = (17,4);
шестая область состоит из трех штрихов и двух пробелов общей шириной 15 модулей и соответствует шаблону поиска В2;
д) седьмая область состоит из четырех пробелов и четырех штрихов общей шириной 17 модулей и соответствует третьему знаку символа со структурой (n,k) = (17,4) (порядок следования элементов — справа налево);
восьмая область состоит из четырех пробелов и четырех штрихов общей шириной 17 модулей и соответствует четвертому знаку символа со структурой (п,к) = (17,4);
девятая область состоит из трех пробелов и двух штрихов общей шириной 15 модулей и соответствует шаблону поиска В1;
десятая область состоит из четырех штрихов и четырех пробелов общей шириной 17 модулей и соответствует пятому знаку символа со структурой (n,k) = (17,4) (порядок следования элементов — справа налево);
одиннадцатая область состоит из одного пробела и одного штриха шириной один модуль каждый и соответствует правому шаблону-ограничителю.
Примечание — Порядок следования элементов знака символа определяют по направлению к прилегающему к нему шаблону поиска.
Символ GS1 DataBar Расширенный (рисунок 11) состоит из 67 элементов, общая ширина которых равна 151 модулю. В таблице Е.З приложения Е приведены все 67 элементов символа GS1 DataBar Расширенный, указанного на рисунке 11. Наименьшая высота символа GS1 DataBar Расширенный должна быть равна 34 модулям.
Символ не требует наличия свободных зон. Ширина первого и последнего элементов символа может быть более одного модуля при совпадении по цвету смежной с ними области подложки (светлой слева или темной справа), что не оказывает влияния на считывание символа.
Левый
шаблон-
ограничитель
Контрольный
знак
(17,4)
Шаблон
поиска
А1
1-й знак
символа
(17,4)
Правый
шаблон-
ограничитель
Шаблон поиска В1
5-й знак символа (17,4)
2-й знак символа (17,4)
Шаблон поиска В2
3-й знак символа (17,4)
4-й знак символа (17,4)
Рисунок 11 —Символ GS1 DataBar Расширенный, представляющий номер (01)90012345878908(3103)001750
Структура знака символа
Каждый знак символа для данных (далее — знак символа) и контрольный знак символа имеют структуру (л,к). Значение п равно 17, а значение к — 4.
Порядок следования элементов первого, третьего и прочих знаков символов с нечетной нумерацией — слева направо, а второго, четвертого и прочих знаков символов счетной нумерацией — справа налево, так что элементы знака символа всегда следуют по направлению к прилегающему к ним шаблону поиска. На рисунке 11 стрелками показано направление следования элементов в каждом знаке символа.
Каждый знак символа содержит два поднабора элементов — счетной и нечетной нумерацией. Понятия «счетной» и «с нечетной» нумерацией относятся к порядковому номеру элементов в каждом поднабо- ре. Например, поднабор с нечетной нумерацией состоит из первого, третьего, пятого и седьмого элементов в каждом знаке символа, начиная с наиболее удаленного элемента от прилегающего к этому знаку шаблона поиска. Нечетные элементы расположены дальше от прилегающего к знаку символа шаблона поиска, при этом восьмой по порядку (четный) элемент прилегает к шаблону поиска.
Значение знака символа
Каждому значению знака символа по определенному алгоритму присваивают комбинацию значений ширины элементов для четного и нечетного поднаборов. В этом алгоритме задают число элементов, число модулей, максимальную ширину элемента, а также возможность присутствия в поднаборе любого элемента шириной более одного модуля. В приложении В приведен алгоритм формирования элементов знака символа GS1 DataBar Расширенный, написанный на языке программирования С.
Действительные поднаборы нечетных элементов должны включать в себя хотя бы один элемент шириной один модуль. Действительные поднаборы четных элементов могут не содержать ни одного элемента шириной один модуль. Указанное ограничение по ширине для нечетных элементов обеспечивает наличие в знаках символа уникальных сумм модулей для размера, задаваемого «от края до подобного края» (штрих плюс пробел и пробел плюс штрих).
Кроме того, существует дополнительное ограничение, заключающееся втом, что первый (наиболее удаленный от шаблона поиска) нечетный элемент должен быть шириной менее пяти модулей. Данное ограничение обеспечивает отсутствие появления ложного шаблона поиска при захвате элементов прилегающих к нему знаков символа.
В таблице 8 приведены характеристики поднаборов элементов для знака символа со структурой (17,4), а также пары элементов из четного и нечетного поднаборов, объединенные в пять групп. В нечетном поднаборе — четное число модулей, в четном поднаборе — нечетное число модулей. Максимальная ширина элементов установлена таким образом, чтобы число модулей в паре смежных элементов было не более девяти модулей. Общее число комбинаций элементов в знаке символа со структурой (17,4) равно 4192.
Таблица 8 —Характеристики знака символа со структурой (17,4)
Диапазон значений |
Груп- па |
Сумма предыдущих групп $эим |
Соотношение числа модулей в нечетных/четных поднаборах |
Соотношение значений самых широких элементов в нечетных/четных поднаборах, модули |
Общее число комбинаций элементов нечетного поднабора 'odd |
Общее число комбинаций элементов четного поднабора Teven |
От 0 до 347 |
1 |
0 |
12/5 |
7/2 |
87 |
4 |
От 348 до 1387 |
2 |
348 |
10/7 |
5/4 |
52 |
20 |
От 1388 до 2947 |
3 |
1388 |
8/9 |
4/5 |
30 |
52 |
От 2948 до 3987 |
4 |
2948 |
6/11 |
3/6 |
10 |
104 |
От 3988 до 4191 |
5 |
3988 |
4/13 |
1/8 |
1 |
204 |
Значение знака символа Vs вычисляют по следующей формуле
vs - (vODD х TEVEN) + vEVEN + GSUM,
где TEVEN — общее число комбинаций элементов четного поднабора;
Vodd — значение для нечетного поднабора;
Veven — значение для четного поднабора;
GSUM — сумма произведений значений для каждой предыдущей группы.
Для кодирования конкретного значения знака символа Vs вычисляют VODD и VEVEN по следующим формулам:
''ODD - (Vs - Gsum) °'V TevEn!
''even “ (Vs - Gsum) mo° TEVEN.
Например, необходимо закодировать знак символа со значением 3544. С помощью таблицы 8 определяют, что значение знака символа находится в диапазоне, соответствующем группе 4, где GSUm = 2948, a TEVEN = 104. С помощью приведенных выше уравнений определяют:
Vodd = (3544 - 2948) div 104 = 596 div 104 = 5;
Veven = (3544 - 2948) mod 104 = 596 mod 104 = 76.
Для вычисления ширины элементов используют алгоритм, приведенный в приложении В. Знаку символа, значение которого находится в группе 4, соответствует согласно таблице 8 нечетный поднабор элементов общей шириной 6 модулей и значением VOdd = 5 из 10 возможных значений (в диапазоне от 0 до 9) и четный поднабор элементов общей шириной 11 модулей и значением VEVEN = 76 из 104 возможных значений (в диапазоне от 0 до 103). Значения ширины нечетных элементов соответственно будут равны {1 31 1} модулям, а значения ширины четных элементов соответственно — {41 4 2} модулям. Таким образом, ширина элементов знака символа будет равна {14 311412} модулям.
Двоичное значение символа
Каждое значение знака символа от 0 до 4095 представляет 12-битовый номер, используемый для кодирования значения символа. Двоичные значения каждого знака символа последовательно соединяют для формирования кодированной двоичной строки. Первый знак символа (второй знак символа) содержит старший бит.
Длины двоичной строки в зависимости от числа знаков символа приведены в таблице 9.
Таблица 9 — Число битов в зависимости от размера символа
Число знаков символа |
Число знаков символа для данных |
Число битов в кодированной строке |
Число знаков символа |
Число знаков символа для данных |
Число битов в кодированной строке |
4 |
3 |
36 |
14 |
13 |
156 |
5 |
4 |
48 |
15 |
14 |
168 |
6 |
5 |
60 |
16 |
15 |
180 |
7 |
6 |
72 |
17 |
16 |
192 |
8 |
|
84 |
18 |
17 |
204 |
9 |
8 |
96 |
19 |
18 |
216 |
10 |
9 |
108 |
20 |
19 |
228 |
11 |
10 |
120 |
21 |
20 |
240 |
12 |
11 |
132 |
22 |
21 |
252 |
13 |
12 |
144 |
Кодирование данных
Данные пользователя, подлежащие кодированию в символе GS1 DataBar Расширенный, должны включать в себя идентификаторы применения и поля данных, которые соответствуют требованиям общих спецификаций GS1 к данным, структурированным так же, как они должны быть закодированы в символе GS1 -128. При кодировании символа GS1 DataBar Расширенный должны соблюдаться правила соединения строк элементов с идентификаторами применения AI для символов GS1-128, например, использования знака FNC1 для отделения строки элементов переменной длины от следующей за ней строки элементов.
Двоичная строка GS1 DataBar Расширенный может быть разделена на несколько (до пяти) двоичных полей. Первые два поля используют во всех символах. Дополнительно может быть использовано от одного до трех оставшихся полей. Указанные поля включают в себя:
поле флага сопровождения двумерным компонентом (7.2.5.1);
поле метода кодирования (7.2.5.2);
двоичное поле символа переменной длины (7.2.5.3);
поле уплотненныхданных (7.2.5.4);
поле универсального уплотнения данных (7.2.5.5).
Двоичные поля последовательно соединяют и кодируют в строке двоичных данных символа. Поле метода кодирования всегда кодируют после поля флага сопровождения двумерным компонентом. При применении методов кодирования строк данных фиксированной длины уплотненные данные полностью заполняют заданную двоичную строку. В методах кодирования строк данных переменной длины кодирование завершают необязательным полем универсального уплотнения данных, за которым следуют биты-заполнители по числу неиспользованных битов в двоичной строке, соответствующей символу требуемого размера.
Далее в тексте настоящего стандарта значения в двоичных полях будут представлены заключенными в двойные кавычки двоичными значениями.
Поле флага сопровождения двумерным компонентом
В данном поле должен быть один бит, указывающий, является ли символ GS1 DataBar Расширенный частью символа GS1 Композитный. Значение данного бита, равное нулю, указывает на обособленный линейный символ GS1 DataBar Расширенный, а значение, равное единице, — на его использование в качестве линейного компонента символа GS1 Композитный.