Статус документа
Статус документа

ГОСТ Р 51294.6-2000 (ИСО/МЭК 16023-2000) Автоматическая идентификация. Кодирование штриховое. Спецификация символики MaxiCode (Максикод)

ПРИЛОЖЕНИЕ Н
(справочное)

     
Пример кодирования MaxiCode


Настоящее приложение рассматривает процесс кодирования короткого сообщения "MaxiCode (19 chars)" в символ MaxiCode двумя способами: для увеличения структурированного сообщения носителя в режимах 2 и 3 или в качестве полного сообщения, закодированного в режимах с 3 по 5.

Существуют четыре основных этапа кодирования, два из которых приведены в таблице H.1. Входное сообщение расценивается как последовательность из 19 знаков данных версии КОИ-7 по ИСО 646, которые определены с m1 no m19 (в графе "Обозначение данных" таблицы H.1).

Таблица H.1 - Кодирование кодовых слов и знаков символа для "MaxiCode (19 chars)"





Режимы 2 и 3

Режимы 4, 5 и 6

Обозначение данных

Исходные знаки

Кодовые слова

Знак символа

Подмножество КO*

Знак символа

Подмножество КО*



Обозна- чение

Значение

П

ВНЧ

ВЧ

П

ВНЧ

ВЧ


M


13






Latch В
(ФИКСАТОР В)

63





A

1





X

24




I

9






Shift A
(РЕГИСТР А)

59





С

3





О

15





D

4





E

5






Space
(ПРОБЕЛ)

47






3 Shift A
(3 РЕГИСТР А)

57





(

40






1

49





9


57





Space
(ПРОБЕЛ)

47





С

3





Н

8





А

1





R

18





S

19






Shift A
(РЕГИСТР А)

59





)

41






[Pad] ([ЗАПОЛНИТЕЛЬ])

33






[Pad] ([ЗАПОЛНИТЕЛЬ])

33







:

:

:

:


:

:

:

:



* Подмножества коррекции ошибок - КО: П - первичное, ВНЧ - вторичное нечетное, ВЧ - вторичное четное.

          

    Этап 1 - Создание последовательности кодовых слов данных

 

Первый этап является общим и независимым от планируемого режима символа. Используя значения из таблицы приложения А, знаки данных перемежаются командами переключения кодируемых наборов [Shift] ([РЕГИСТР]) и [Latch] ([ФИКСАТОР]), что создает эквивалентную последовательность кодовых слов oт до , как показано в таблице H.1.

Кодирование сообщения "MaxiCode" начинается с кодируемого набора А таким образом, что первый знак "М" кодируется значением 13 (). Так как следующие знаки сообщения - строчные, необходимо перейти, используя знак [Latch], к кодируемому набору В (), в котором кодируют следующие 3 буквы (с по ). Так как за прописной буквой С сразу следуют строчные буквы, перед прописной С используют временный переход к кодируемому режиму А (знак [Shift] (), затем кодирование автоматически возвращается обратно к кодируемому набору В на следующие четыре знака (с по ). Далее используют [Triple Shift A] ([РЕГИСТР НА ТРИ A]) () для кодирования трех знаков данных (с по ) в кодируемом наборе А, затем кодирование снова возвращается к кодируемому набору В для кодирования следующих шести знаков (с по ). В завершение необходим еще один временный переход к кодируемому набору А (знак [Shift]) () для кодирования правой круглой скобки в данных сообщения.

Рекомендации по выбору команд [Shift] и [Latch] для эффективной компоновки сообщений в последовательность кодовых слов приведены в приложении F. Окончательным результатом кодирования сообщения является последовательность кодовых слов, которая длиннее, чем первоначальное сообщение данных, но, как правило, короче необходимой для заполнения области данных символа MaxiCode. При необходимости к окончанию последовательности кодовых слов добавляют кодовые слова [Pad] ([ЗАПОЛНИТЕЛЬ]) для заполнения всех позиций знаков символов данных в символе.

    Этап 2 - Присвоение кодовых слов позициям знаков символа


Число кодовых слов данных в символе MaxiCode и их расположение определяет пользователь. Во-первых, пользователь может выбрать отведение области первичного сообщения MaxiCode под структурированное сообщение носителя (режимы 2 и 3), в связи с чем для цепочки кодовых слов данных вместе со стандартной коррекцией ошибок останется доступной только область вторичного сообщения.

Во-вторых, первичное сообщение может быть использовано для увеличения емкости сообщения, тогда пользователь может выбрать во вторичном сообщении как стандартный (режимы 4 и 6), так и расширенный режимы коррекции ошибок. Присвоения знаков символа приведены в таблице H.1 для обоих случаев, где N соответствуют точным позициям знаков, изображенных на рисунке 4.

Выбор режима символа (таблица 4) всегда отражается в четырех битах младшего порядка знака символа . Существуют два различных случая присвоения кодовых слов (режимы 2 и 3 или 4-6):

a) Режимы 2 и 3

Структурированное сообщение носителя в режимах 2 и 3 заполняет знаки символа с по плюс два бита старшего порядка из , вместе с уплотненными данными о месте назначения, как указано в приложении В. Таким образом, последовательность кодовых слов для данных сообщения размещается исключительно во вторичном сообщении, как показано в графе "Режимы 2 и З" таблицы H.1 (от и далее до ). Для исправления ошибок (этап 3) кодовые слова вторичного сообщения разделены на нечетные и четные чередующиеся подмножества, обозначенные соответственно и . Из таблицы H.1 следует, что с кодового слова , соответствующего букве М, начинается нечетное подмножество, а с кодового слова , [Latch В] ([ФИКСАТОР В]) - четное подмножество.

b) Режимы 4, 5 и 6

В режимах с 4-го по 6-й знак символа хранит только значение режима, а следующие девять кодовых слов данных первичного сообщения хранят начало данных сообщения. Остальные кодовые слова данных с и далее размещаются во вторичном сообщении, начиная с . В графе "Режимы 4, 5 и 6" таблицы H.1 указаны эти значения. Можно обнаружить, что кодовые слова первичного сообщения относятся к подмножеству коррекции ошибок , не зависимому от всех подмножеств вторичного сообщения. При необходимости кодовые слова [Pad] ([ЗАПОЛНИТЕЛЬ]) дополняют вторичное сообщение до в режимах 4 и 6 или до в режиме 5.

     Этап 3 - Добавление кодовых слов коррекции ошибок

a) Первичное сообщение

Независимо от режима символа, первичное сообщение всегда содержит 10 кодовых слов данных от до (или от до ) и 10 дополнительных кодовых слов исправления ошибки Рида-Соломона от до (или от до ), которые вычисляют в соответствии с 4.10.1.

Хотя математика замкнутого поля Галуа GF(64) является неестественной по отношению к традиционной десятичной математике, этот пример будет продолжен для сравнения с другими компьютерными применениями. Если пользователь выбирает режим 4, последовательность кодовых слов данных в первичном сообщении от до представляется следующим образом:

[04, 13, 63, 01, 24, 09, 59, 03, 15, 04].

Это коэффициенты полинома в поле Галуа GF(64):