ТОП 10:

Методические указания к заданию 3.7



При кодировании конкретных сообщений их содержимое бывает самым разнообразным. В одном случае это только десятичные цифры, в другом – буквы и цифры, в третьем – двоичные цифры, в четвертом – иероглифы.

В зависимости от вида используемых данных запись битов в матрицу происходит в разных форматах. Вид формата указывается с помощью четырех битов, расположенных в области 6 (рис. 4.2).

Следует обратить внимание, что в области 6 информация о формате данных «искажена» маской. Причем в каждом случае маска может быть любой из восьми допустимых. Поэтому для получения истинного значения кода формата данных нужно обязательно предварительно определить вид использованной маски (см. п.4.6).

Порядок нумерации битов показан на рисунке, причем старший разряд кода формата находится в клетке 1.

Рис. 4.7.1. Порядок считывания битов

 

Названия форматов при различных значениях кода указаны в табл. 4.7.1.

Табл. 4.7.1

Код Формат
Цифровой
Символьный
Двоичный
Японский

 

 

Методические указания к заданию 3.8

Предположим, что требуется вручную декодировать матрицу QR-кода, показанную на рис. 4.8.1.

Вначале определим, какой вид маски использован при её кодировании. В разрядах 12, 11 и 10 системной строки (рис. 4.3) записано двоичное слово 111. Сложение со статической маской 101 дает двоичное число 010. По таблице 4.6.1 определяем формулу, использованную для формирования маски:

 

. (4.6.1)

По формуле 4.6.1 определим вид расчетной маски (рис. 4.8.2). Рисунок 4.8.2 нужно трактовать следующим образом: если на маске имеется черный пиксель (модуль), то пиксель матрицы с такими же координатами нужно проинвертировать. У этого правила большое число исключений. На рис. 4.8.3 показаны серым цветом модули, которые инвертировать не следует.

Анализируя рисунок 4.8.3, можно заметить, что от изменения с помощью маски защищены области матрицы, где расположены указатели ориентации, линии синхронизации, системная информация (серые модули на рис. 4.8.3). Скорректированную таким образом расчетную маску назовём фактической маской.

 

Рис. 4.8.1. Матрица

 

Процесс наложения фактической маски на матрицу (рис. 4.8.1) показан на рис. 4.8.4.

Наибольший интерес при выполнении этого задания представляет область матрицы, расположенная в правом нижнем углу матрицы. Здесь находятся информационные биты. Рассмотрим детально эту зону (рис.4.8.5). Рисунок 4.8.5 а) показывает фрагмент исходной матрицы, который должен быть подвержен обработке. На рис. 4.8.5 б) выделены модули, которые должны быть проинвертированы. Следует обратить внимание, что верхняя граница рисунка совпадает с системной строкой. Результат взаимодействия маски и матрицы показан на рис. 4.8.5 в).


 

Рис. 4.8.2. Расчетная маска

 

Рис. 4.8.3. Фактическая маска


 

Рис. 4.8.4. Совмещение матрицы и фактической маски

 

а) б) в)

 

Рис. 4.8.5. Инвертирование выделенных модулей

 

Из рисунка 4.8.5 в) видно, что модули третьего и шестого столбца справа были проинвертированы.

Теперь есть возможность выполнить ручное декодирование матрицы 4.8.5 в). Четыре бита в клетках 1…4 дают код 0100, который говорит о том, что в данной матрице используется двоичный формат данных (см. табл.4.7.1).

Порядок считывания декодируемой информации показан на рис. 4.8.6.

В соответствии с двоичным форматом данных следующие 8 бит (клетки 5…12) указывают, сколько символов содержится в сообщении. Двоичное число 00000101 говорит о том, что данное сообщение содержит пять символов.

 

 

а) б) в)

 

Рис. 4.8.6. Нумерация информационных модулей

 

В очередных восьми клетках 13…20 (см. рис. 4.8.6 а) размещено двоичное слово 01010000. Перевод этого байта в десятичную систему счисления дает число 80. По таблице CP-1251 (см. Приложение 2) определяем, что данному коду соответствует латинская буква «Р».

Следует обратить внимание на порядок нумерации модулей (рис. 4.8.6). Номера располагаются друг за другом в виде змейки.

Результаты декодирования сообщения приведены в таблице 4.8.1.

Табл. 4.8.1

Номера модулей Биты Десятичное число Символ
13…20 P
21…28 r
29…36 o
37…44 b
45…52 a

 

Таким образом, в результате ручного декодирования было определено, что матрица (рис. 4.8.1) содержит слово «Proba».







Последнее изменение этой страницы: 2016-09-19; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.206.48.142 (0.006 с.)