Методические указания к заданию 3.4
Существует 40 версий QR-кода. С увеличением номера версии кода объем помещаемых в матрицу данных увеличивается. Определить, к какой версии относится данная матрица, можно тремя способами: · подсчитать, какое число пикселей содержит матрица; · определить координаты меток центровки; · для версий старше шестой существуют области на матрице, где содержится информация об используемой версии. В таблице приведена информация о числе модулей (пикселей) для различных версий QR-кодов. Табл. 4.4.1
Анализируя приведённую таблицу, легко заметить линейную закономерность: очередная версия QR-кода отличается от предыдущей версии тем, что сторона матрицы увеличена на 4 модуля. Подсчитав число модулей, можно определить версию QR-кода для данной матрицы.
В таблице приведены сведения о координатах меток центровки для версий 2…13. Полная версия этой таблице приведена в Приложении 3. Табл. 4.4.2
На следующем рисунке для примера показано изображение матрицы QR-кода версии 7.
Рис. 4.4.1 Матрица QR-кода версии 7
Из рисунка видно, что шесть меток центровки расположены на пересечении строк и столбцов, определённых в таблице. Координаты определяются по чёрному модулю (пикселю), расположенному внутри белого квадрата. Метки центровки не ставятся в местах, где расположены указатели ориентации (три угла). На матрицах, начиная с версии 7, имеются две области, где содержится закодированная информация об использованной версии. Эти области отмечены на рисунке цифрами 1 и 2. В табл. 4.4.3 приведены коды некоторых версий QR-кода. Полная версия таблицы приведена в Приложении 4.
Табл. 4.4.3
Таблицы 4.4.4 и 4.4.5 показывают, в каком порядке размещаются биты восемнадцатиразрядного кода в отмеченных областях.
Табл. 4.4.4
Табл. 4.4.5
Методические указания к заданию 3.5 Определить уровень коррекции ошибок в конкретном случае можно вручную. Так как системная информация дублируется, то сведения о имеющейся корректирующей способности кода можно отыскать в двух местах матрицы. Один раз 15 бит системной информации помещаются в строке 1 (отсчёт слева направо), а второй раз - в столбце 2 (отсчёт снизу-вверх). Естественно, что эти два значения одинаковые. Сведения об уровне коррекции ошибок содержатся в первых двух битах системной информации. Эти два бита расположены в 14 и 13 разрядах системной строки. На следующем рисунке первые два бита равны 1. Напомним, что логические единицы изображены в виде черных пикселей (модулей), а логические нули – в виде белых. Чтобы определить уровень коррекции нужно эти два бита сложить по правилу Исключающее Или с двоичной маской 10. В результате сложения получим: Код 01 (см. табл. 4.1) соответствует уровню коррекции ошибок L (7%).
Рис. 4.5.1. Уровень коррекции ошибок 01
На следующем рисунке показана матрица, в которой использован иной уровень коррекции ошибок. Первые два бита во втором случае равны 10. Суммирование с маской 10 даёт результат 00. Это говорит о том, что в этой матрице использован код с уровнем коррекции ошибок М (15%).
Рис. 4.5.2. Уровень коррекции ошибок 00
Аналогично производятся расчёты для матриц с уровнями коррекции ошибок Q и H. На этих матрицах системная информация начинается битами 01 и 00 соответственно. Суммирование с маской 10 даст коды 11 и 10 соответственно.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|