Действующий

ГОСТ Р ИСО/МЭК 16022-2008 Автоматическая идентификация. Кодирование штриховое. Спецификация символики Data Matrix (с Изменением N 1)

 
Приложение В
(обязательное)

     
Шаблонная рандомизация в символике версии ЕСС 200


Алгоритмы шаблонной рандомизации преобразуют кодовое слово в заданной позиции на входе в новое рандомизированное (псевдослучайное) кодовое слово на выходе.

В.1 Алгоритм 253 состояний

Указанный алгоритм добавляет псевдослучайное число к значению кодового слова-заполнителя. Псевдослучайное число всегда будет в диапазоне от 1 до 253, а рандомизированное значение кодового слова-заполнителя будет в диапазоне от 1 до 254.

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

В.1.1 Алгоритм рандомизации 253 состояний*

________________

* Соответствие обозначений алгоритма рандомизации и дерандомизации 253 состояний:

Pad_codeword_value - значение кодового слова-заполнителя;

Pad_codeword_position - позиция кодового слова-заполнителя;

pseudo_random_number - псевдослучайное число;

temp_variable - временная переменная;

randomized_Pad_codeword_value - рандомизированное значение кодового слова-заполнителя.

INPUT (Pad_codeword_value, Pad_codeword_position)

pseudo_random_number = ( (149 x Pad_codeword_position) mod 253) + 1

temp_variable = Pad_codeword_value + pseudo_random_number

IF (temp_variable <= 254)



OUTPUT (randomised_Pad_codeword_value = temp_variable)

ELSE



OUTPUT (randomised_Pad_codeword_value = temp_variable - 254)

B.1.2 Алгоритм дерандомизации 253 состояний*

________________

* Соответствие обозначений алгоритма рандомизации и дерандомизации 253 состояний:

Pad_codeword_value - значение кодового слова-заполнителя;

Pad_codeword_position - позиция кодового слова-заполнителя;

pseudo_random_number - псевдослучайное число;

temp_variable - временная переменная;

randomized_Pad_codeword_value - рандомизированное значение кодового слова-заполнителя.

INPUT (randomised_Pad_codeword_value, Pad_codeword_position)

pseudo_random_number = ( (149 x Pad_codeword_position) mod 253 ) + 1

temp_variable = randomised_Pad_codeword_value - pseudo_random_number

IF (temp_variable >= 1)



OUTPUT (Pad_codeword_value = temp_variable)

ELSE



OUTPUT (Pad_codeword_value = temp_variable + 254)

B.2 Алгоритм 255 состояний

Указанный алгоритм добавляет псевдослучайное число к значению кодового слова в схеме кодирования по основанию 256. Псевдослучайное число всегда будет находиться в диапазоне от 1 до 255, а рандомизированное значение кодового слова в схеме кодирования по основанию 256 - в диапазоне от 0 до 255.

Переменная позиция кодового слова по основанию 256 (Base256_codeword_position) является номером кодового слова исходных данных от начала кодированных данных.