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

ГОСТ Р ИСО/МЭК 18004-2015 Информационные технологии (ИТ). Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода QR Code

     7.1 Основные положения процедуры кодирования

В настоящем разделе описан процесс преобразования входных данных в символ QR Code.

Этап 1. Анализ данных

Анализируют входной поток данных, чтобы установить различия входящих в него знаков, которые нужно закодировать. Формат QR Code (не Micro QR Code) поддерживает интерпретацию в расширенном канале, допуская для кодирования данные, отличающиеся от заданного по умолчанию набора знаков. QR Code может включать в себя несколько режимов (см. 7.3), которые позволяют эффективно преобразовывать различные поднаборы знаков в знаки символа. По мере необходимости между режимами вставляют переключения для достижения наиболее эффективного преобразования данных в двоичную строку. Выбирают требуемый уровень обнаружения и исправления ошибок. Если пользователь не определил версию символа, которую нужно использовать, выбирают версию символа с наименьшим значением, которая допускает размещение данных. Полный перечень версий символа и соответствующих им емкостей приведен в таблице 1.

Этап 2. Кодирование данных

Знаки данных преобразуют в двоичный поток в соответствии с правилами, установленными для действующего режима по 7.4.2-7.4.6. При необходимости смены режима вставляют индикаторы режима в начале каждого нового сегмента, а в конце данных вставляют ограничитель. Преобразуют результирующий двоичный поток в последовательность 8-битовых кодовых слов. Добавляют необходимое число знаков-заполнителей для образования требуемого числа кодовых слов в соответствии с выбранной версией символа.

Этап 3. Кодирование исправления ошибок

Последовательность кодовых слов делят на требуемое число блоков (согласно таблице 9), чтобы обеспечить возможность обработки алгоритмами исправления ошибок. Для каждого блока формируют кодовые слова исправления ошибок, добавляя кодовые слова исправления ошибок в конец последовательности кодовых слов данных.

Этап 4. Структура завершенного сообщения

Кодовые слова данных чередуют с кодовыми словами исправления ошибок от каждого блока согласно в 7.6 (этап 3) и добавляют остаточные биты, если это необходимо.

Этап 5. Размещение модулей в матрице

Модули кодовых слов размещают в матрице вместе с шаблоном поиска, разделителями, шаблонами синхронизации и направляющими шаблонами.

Этап 6. Маскирование данных

К области закодированных данных подбирают маскирующий шаблон, после чего оценивают результаты и выбирают шаблон маски, который оптимизирует баланс темных/светлых модулей и скрывает возникновение нежелательных комбинаций.

Этап 7. Информация о формате и версии

Формируют информацию о формате и, при необходимости, о версии, после чего завершают создание символа.


Таблица 1 - Емкость кодовых слов для всех версий QR Code

Версия

Число модулей/
сторона (A)

Число модулей в функциональных шаблонах (B)

Число модулей в информации о версии (C)

Оставшиеся модули для данных (D) (D=A-B-C)

Объем данных (кодовых слов (E)

Остаточные биты

M1

11

70

15

36

5

0

M2

13

74

15

80

10

0

M3

15

78

15

132

17

0

M4

17

82

15

192

24

0

1

21

202

31

208

26

0

2

25

235

31

359

44

7

3

29

243

31

567

70

7

4

33

251

31

807

100

7

5

37

259

31

1079

134

7

6

41

267

31

1383

172

7

7

45

390

67

1568

196

0

8

49

398

67

1936

242

0

9

53

406

67

2336

292

0

10

57

414

67

2768

346

0

11

61

422

67

3232

404

0

12

65

430

67

3728

466

0

13

69

438

67

4256

532

0

14

73

611

67

4651

581

3

15

77

619

67

5243

655

3

16

81

627

67

5867

733

3

17

85

635

67

6523

815

3

18

89

643

67

7211

901

3

19

93

651

67

7931

991

3

20

97

659

67

8683

1085

3

21

101

882

67

9252

1156

4

22

105

890

67

10068

1258

4

23

109

898

67

10916

1364

4

24

113

906

67

11796

1474

4

25

117

914

67

12708

1588

4

26

121

922

67

13652

1706

4

27

125

930

67

14628

1828

4

28

129

1203

67

15371

1921

3

29

133

1211

67

16411

2051

3

30

137

1219

67

17483

2185

3

31

141

1227

67

18587

2323

3

32

145

1235

67

19723

2465

3

33

149

1243

67

20891

2611

3

34

153

1251

67

22091

2761

3

35

157

1574

67

23008

2876

0

36

161

1582

67

24272

3034

0

37

165

1590

67

25568

3196

0

38

169

1598

67

26896

3362

0

39

173

1606

67

28256

3532

0

40

177

1614

67

29648

3706

0

Все кодовые слова имеют размер 8 битов, за исключением версий M1 и M3, где финальное кодовое слово имеет размер 4 бита.


В ИСО/МЭК 18004 ошибочно указано C.