Символы MaxiCode делятся на первичное и вторичное сообщения, каждое из которых содержит данные и кодовые слова коррекции ошибки. Эти сообщения структурированы в соответствии с рисунком 6.
* Во вторичном сообщении кодовые слова коррекции ошибок вычисляют в четном и в нечетном подмножестве
** k=104 для стандартной коррекции ошибок, k=88 для расширенной коррекции ошибок
Рисунок 6 - Структура символа и обозначения знаков символа
4.7.1 Первичное сообщение
Первичное сообщение состоит из 20 знаков символа, которые обозначены на рисунке 4 от 1 () до 20 () и представлены модулями от 1 до 120 на рисунке 5. При этом:
10 знаков (от до ) используют для кодирования данных (включая режим символа),
10 знаков (от до ) используют для коррекции ошибок.
Четыре бита младшего порядка знака символа ( (модули с 3-го по 6-й) кодируют режим (4.8). Другие два модуля в должны быть равны нулю, если не являются частью структурированного сообщения носителя (приложение В). Расширенная коррекция ошибок (4.10.1) всегда применяется к первичному сообщению.
В режимах 2 и 3 первичное сообщение представляет собой форматированное структурированное сообщение носителя, как установлено в приложении В. В режимах с 4-го по 6-й первичное сообщение содержит знак режима символа и девять знаков символа, которые начинают кодирование сообщения данных символ
а.
4.7.2 Вторичное сообщение
Вторичное сообщение состоит из 124 знаков символа, обозначенных на рисунке 4 от 21-го () до 144-го () и представленных на рисунке 5 модулями от 121 до 864. Ко вторичному сообщению можно применить один из двух уровней коррекции ошибок, как расширенную коррекцию ошибок РКО (Enhanced Error Correction - EEC), так и стандартную коррекцию ошибок СКО (Standard Error Correction - SEC) (согласно 4.10.2).
При расширенной коррекции ошибок (EEC):
68 знаков символа (от до ) используют для кодирования данных, а
56 знаков символа (от до ) - для исправления ошибок.
При стандартной коррекции ошибок (SEC):
84 знака символа (от до ) используют для кодирования данных, а
40 знаков символа (от до ) - для исправления ошибок.
В обоих случаях исправление ошибок для вторичного сообщения применяется в двух чередующихся подмножествах Рида-Соломона, обозначенных как четное и нечетное подмножества. Знаки символа с нечетными номерами , ,..., входят в последовательность нечетного подмножества, а знаки символа с четными номерами , , ,..., - в последовательность четного подмножества. В каждом подмножестве кодовые слова коррекции ошибок выводятся из кодовых слов данных в этом же подмножестве и, в конечном счете, обеспечивают исправление ошибок для кодовых слов данных в этом подмножестве.
Знаки символа для данных во вторичном сообщении (предваряющиеся 9 знаками символа от первичного сообщения для режимов 4, 5 и 6) кодируют сообщение данных с использованием кодируемых наборов и управляющих знаков (4.4
.3 и 4.4.4).
4.7.3 Структурирование данных
Изначально подлежащую кодированию цепочку сообщения с данными от до кодируют в последовательность 6-битовых кодовых слов от до , с использованием кодируемых наборов знаков и управляющих знаков символики в соответствии с потребностями данного применения (4.4.3 и 4.4.4). За специальными правилами кодирования следуют назначение и класс служебных данных в структурированном сообщении носителя с цифровым (режим 2) или алфавитно-цифровым (режим 3) почтовым кодом (4.8.3 и приложение В). В приложении F приведены рекомендации по нахождению наиболее эффективного использования управляющих знаков символики.
В режимах 2 и 3 кодовые слова сообщения с данными располагают исключительно во вторичном сообщении, начиная со знака символа 21. В режимах с 4-го по 6-й начальные 9 кодовых слов сообщения размещают в первичном сообщении в знаках символа со 2-го по 10-й, а остаток - во вторичном сообщении, начиная со знака символа 21. Если кодовые слова сообщения не полностью заполняют все области в символе, отведенные под сообщение, добавляют кодовые слова, представляющие знак Pad (ЗАПОЛНИТЕЛЬ). Структура символа MaxiCode такова, что управляющие знаки символики и последующие знаки сообщения, на которые они действуют, могут появляться в различных сообщениях и подмножествах коррекции ошибок, но это не влияет на кодирование сообщения.
После того, как кодовые слова данных разделены на сообщения, а затем на подмножества коррекции ошибок, исправление ошибок будет применяться, как определено в 4.10. В результате и данные, и кодовые слова коррекции ошибок включают в графический символ в соответствии с рисунками 4 и 5.