Низкоуровневое кодирование необходимо для преобразования значений кодовых слов в соответствующие знаки символа (последовательности штрихов и пробелов), при этом матрица символа должна быть фиксированной.
На рисунке 8 схематично представлены соответствующие позиции каждого кодового слова данных, кодового слова коррекции ошибок и индикаторов строк для символа PDF417.
Обозначения: - левый индикатор строки;
- правый индикатор строки;
Затененная область - область кодовых слов данных
Незатененная область под областью кодовых слов - предназначена для кодовых слов коррекции ошибок
Рисунок 8 - Схема размещения кодовых слов типового символа PDF417
4.11.1 Кластеры
В PDF417 используют систему распознавания локальной строки для определения перехода от одной строки к другой.
Наборы кодовых слов представлены в каждом из трех кластеров. Кластеры имеют номера 0, 3 и 6. В приложении А приведены соответствующие последовательности штрихов и пробелов для каждого знака символа, представляющие каждое кодовое слово и кластер.
Для кодирования индикаторов строк и других кодовых слов каждая строка должна содержать знаки символа (комбинации в виде штрихов и пробелов) только одного кластера. В первой строке используют знаки символа из кластера 0, во второй строке - из кластера 3, в третьей строке - из кластера 6, в четвертой строке - из кластера 0 и так далее. Последовательность кластеров 0, 3, 6 должна постоянно повторяться. Номер кластера для любой строки вычисляют по формуле
,
где строки пронумерованы от 1 до (в соответствии с 3.2).
Так как любые две смежные строки имеют разные кластеры, во время декодирования символа PDF417 декодер может использовать пути сканирования, пересекающие строки.
4.11.2 Определение матрицы символа
Матрицу строк и столбцов символа окончательно определяют в соответствии с процедурами, приведенными в 4.9.2. Они обеспечивают получение значений и .
4.11.3 Определение значений левого и правого индикаторов строк
Индикаторы строк в символе PDF417 - кодовые слова, которые должны кодировать несколько основных параметров: номер строки (), число строк (), число столбцов () и уровень коррекции ошибок (). Эта информация должна быть отнесена к трем строкам и цикл должен повторяться непрерывно. Номер строки () должен быть закодирован в каждой строке.
4.11.3.1 Левый индикатор строк
Левый индикатор строк вычисляют по формулам: