что такое уровень коррекции ошибок
Технические характеристики QR-кодов
«Код должен легко считываться» — это стало главной целью для японской компании «Denso-Wave» при создании двумерного матричного кода в 1994г.
Действительно, QR-код распознается даже в перевернутом состоянии. Три угловых квадрата привязки, ставшие отличительной особенностью кода, позволяют правильно развернуть его в памяти программы сканера.
Версии QR-кода
По спецификации коды делятся на версии. Номера версий варьируются от 1 до 40. Каждая версия имеет особенности в конфигурации и количестве точек(модулей) составляющих QR-код. Версия 1 содержит 21×21 модулей, версия 40 — 177×177. От версии к версии размер кода увеличивается на 4 модуля на сторону.
При создании матричного кода следует учесть, что лучшие QR-ридеры способны прочитать версию 40, стандартные мобильные устройства — вплоть до версии 4 (33×33 модулей)
Каждой версии соответствует определенная емкость с учетом уровня коррекции ошибок. Чем больше информации необходимо закодировать и чем больший уровень избыточности используется, тем большая версия кода нам потребуется. Современные QR-генераторы автоматически подбирают версию QR-кода с учетом этих моментов.
В следующей таблице показаны характеристики различных версий QR-кодов:
* При использовании кириллицы один символ считается за 2 латинских символа (кодировка UTF-8)
Уровни коррекции ошибок в QR-кодах
QR-код имеет специальный механизм увеличения надежности хранения зашифрованной информации. Для кодов созданных с самым высоким уровнем надежности могут быть испорчены или затерты до 30% поверхности, но они сохранят информацию и будут корректно прочитаны. Для исправления ошибок используется алгоритм Рида-Соломона (Reed-Solomon). При создании QR-кода можно использовать один из 4 уровней коррекции ошибок. Увеличение уровня способствует увеличению надежности хранения информации, но приводит к увеличению размера матричного кода.
уровень коррекции ошибки
уровень коррекции ошибки : Степень способности к обнаружению и исправлению ошибки в символике, не зафиксированная, а определяемая некоторым выбором пользователя.
Смотреть что такое «уровень коррекции ошибки» в других словарях:
уровень коррекции ошибки — Степень способности к обнаружению и исправлению ошибки в символике, не зафиксированная, а определяемая некоторым выбором пользователя. Примечание Уровень коррекции ошибок связан с символиками, использующими код с исправлением ошибок, например код … Справочник технического переводчика
Код коррекции ошибок Рида-Соломона — Коды Рида Соломона недвоичные циклические коды, позволяющие исправлять ошибки в блоках данных. Элементами кодового вектора являются не биты, а группы битов (блоки). Очень распространены коды Рида Соломона, работающие с байтами (октетами). Код… … Википедия
Метод обратного распространения ошибки — (англ. backpropagation) метод обучения многослойного перцептрона. Впервые метод был описан в 1974 г. А.И. Галушкиным[1], а также независимо и одновременно Полом Дж. Вербосом[2]. Далее существенно развит в 1986 г. Дэвидом И. Румельхартом, Дж … Википедия
ГОСТ 30721-2000: Автоматическая идентификация. Кодирование штриховое. Термины и определения — Терминология ГОСТ 30721 2000: Автоматическая идентификация. Кодирование штриховое. Термины и определения оригинал документа: (n, k) символика : Класс символик штрихового кода, в которых ширина каждого знака символа представлена в n модулях, а сам … Словарь-справочник терминов нормативно-технической документации
кодовое слово — (штриховое кодирование): Значение знака символа, соответствующее промежуточному уровню кодирования между исходными данными и графическим кодированием в символе Источник: ГОСТ 30721 2000: Автоматическая идентификация. Кодирование штриховое.… … Словарь-справочник терминов нормативно-технической документации
ГОСТ Р 51294.9-2002: Автоматическая идентификация. Кодирование штриховое. Спецификации символики PDF417 (ПДФ417) — Терминология ГОСТ Р 51294.9 2002: Автоматическая идентификация. Кодирование штриховое. Спецификации символики PDF417 (ПДФ417) оригинал документа: 3.1.9 идентификатор глобальной метки ( Global Label Identifier): Процедура в рамках символики PDF417 … Словарь-справочник терминов нормативно-технической документации
кодовое слово индикатора строки ( Row Indicator codeword) — 3.1.13 кодовое слово индикатора строки ( Row Indicator codeword): Кодовое слово PDF417, примыкающее к знаку СТАРТ или знаку СТОП в строке, которое кодирует информацию о структуре символа PDF417: идентификацию строки, общее количество строк и… … Словарь-справочник терминов нормативно-технической документации
коррекция — 3.6.6 коррекция (correction): Действие, предпринятое для устранения обнаруженного несоответствия (3.6.2). Примечания 1 Коррекция может осуществляться в сочетании с корректирующим действием (3.6.5). 2 Коррекция может включать в себя, например,… … Словарь-справочник терминов нормативно-технической документации
Список алгоритмов — Эта страница информационный список. Основная статья: Алгоритм Ниже приводится список алгоритмов, группированный по категориям. Более детальные сведения приводятся в списке структур данных и … Википедия
Программируемые алгоритмы — Служебный список статей, созданный для координации работ по развитию темы. Данное предупреждение не устанавл … Википедия
Читаем QR код
Иногда возникают такие ситуации, когда нужно прочитать QR код, а смартфона под рукой нет. Что же делать? В голову приходит лишь попробовать прочитать вручную. Если кто-нибудь сталкивался с такими ситуациями или кому просто интересно как же читается QR код машинами, то данная статья поможет вам разобраться в этой проблеме.
В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.
Иллюстраций: 14, символов: 8 510.
Для тех, кто не в курсе что такое QR код, есть неплохая статья в английской Wikipedia. Также можно почитать тематический блог на Хабре и несколько хороших статей по смежной тематике, которые можно найти поиском.
Решение задачи непосредственного чтения информации с QR-картинки рассмотрим на примере двух кодов. Информация была закодирована в online-генераторе QR Coder.ru.
Чтобы понять, как извлечь данные из кода, нужно разобраться в алгоритме. Существует несколько стандартов в семействе QR кодов, с их базовыми принципами можно ознакомиться в спецификациях. Кратко поясню: данные, которые необходимо закодировать, разбиваются на блоки в зависимости от режима кодирования. К разбитым по блокам данным прибавляется заголовок, указывающий на режим и количество блоков. Существуют и такие режимы, в которых используется более сложная структура размещения информации. Данные режимы рассматривать не будем ввиду того, что извлекать вручную из них информацию нецелесообразно. Однако, основываясь на тех принципах, которые описаны ниже, можно адаптироваться и к этим режимам.
По стандарту, данные с RS-кодами перед записью в картинку «перемешиваются». Для этих целей используют специальные маски. Существует 8 алгоритмов, среди которых выбирается наилучший. Критерии выбора основаны на системе штрафов, о которых можно также почитать в спецификации.
«Перемешанные» данные записываются в особой последовательности на шаблонную картинку, куда добавляется техническая информация для декодирующих устройств. Исходя из описанного алгоритма, можно выделить схему извлечения данных из QR кода:
Здесь зелёным фломастером подчёркнуты пункты, которые нужно будет выполнить при непосредственном чтении кода. Остальные пункты можно опустить ввиду того, что считывание производит человек.
Шаг 0. QR код
Взглянув на картинки, можно заметить несколько отчётливых областей. Эти области используются для детектирования QR кода. Эти данные не представляют интереса с точки зрения записанной информации, но их нужно вычеркнуть или просто запомнить их расположение, чтобы они не мешали. Всё остальное поле кода несёт уже полезную информацию. Её можно разбить на две части: системная информация и данные. Также существует информация о версии кода. От версии кода зависит максимальный объём данных, которые могут быть записаны в код. При повышении версии – добавляются специальные блоки, например как здесь:
По ним можно сориентироваться и понять какая версия QR перед вами. Коды высоких версий обычно также нецелесообразно считывать вручную.
Размещение системной информации показано на рисунке:
Системная информация дублируется, что позволяет значительно понизить вероятность возникновения ошибок при детектировании кода и считывании. Системная информация – это 15 бит данных, среди которых первые 5 — это полезная информация, а остальные 10 — это BCH(15,5) код, который позволяет исправлять ошибки в системных данных. К классу BCH кодов относят и RS коды. Обратите внимание, что на рисунке две полоски по 15 бит не пересекаются.
Шаг 1. Чтение 5 бит системной информации
Как уже говорилось, интерес представляют только первые 5 бит. Из которых 2 бита показывают уровень коррекции ошибок, а остальные 3 бита показывают какая маска из доступных 8 применяется к данным. В рассматриваемых QR кодах системная информация содержит:
Шаг 2. Маска для системной информации
Кроме уже озвученных схем защиты системной информации, вдобавок, используется статическая маска, которая применяется к любой системной информации. Она имеет вид: 101010000010010. Так как имеет интерес только первые 5 бит, то маску можно сократить и легко запомнить: 10101 (десять — сто один). После применения операции «исключающего или» (xor) получаем информацию.
Возможные уровни коррекции ошибок:
000 | (i + j) mod 2 = 0 |
001 | i mod 2 = 0 |
010 | j mod 3 = 0 |
011 | (i + j) mod 3 = 0 |
100 | ((i div 2) + (j div 3)) mod 2 = 0 |
101 | (i j) mod 2 + (i j) mod 3 = 0 |
110 | ((i j) mod 2 + (i j) mod 3) mod 2 = 0 |
111 | ((i+j) mod 2 + (i j) mod 3) mod 2 = 0 |
Шаг 3. Чтение заголовка данных
Чтобы понять с какими данными предстоит иметь дело, необходимо изначально прочитать 4-х битный заголовок, который содержит в себе информацию о режиме. Специфика чтения данных изображена на картинке:
Список возможных режимов:
ECI | 0111 |
Числовые | 0001 |
Буквенно-числовые | 0010 |
8-битный (байтный) | 0100 |
Kanji | 1000 |
Структурированное дополнение | 0011 |
FNC1 | 0101 (1-я позиция) 1001 (2-я позиция) |
Шаг 4. Применение маски к заголовку
После извлечения 4-х бит, описывающих режим, необходимо к ним применить маску.
В нашем случае для двух кодов используются разные маски. Маска определяется выражением, приведённым в таблице выше. Если данное выражение сводится к TRUE (верное) для бита с координатами (i,j), то бит инвертируется, иначе всё остаётся без изменений. Начало координат в левом верхнем углу (0,0). Взглянув на выражения, можно заметить в них закономерности. Для рассматриваемых QR кодов, маски будут выглядеть так:
Шаг 5. Чтение данных
После получения данных о режиме можно приступать к чтению информации. Надо оговорить, что наиболее интересно считывать числовые и буквенно-числовые данные, так как они легко интерпретируются. Но также не стоит бояться 8-битных. Это может быть также легко интерпретируемая информация. Например, многие онлайн генераторы QR текст кодируют в этом режиме, используя ASCII. Ещё одна причина, почему следует изначально прочитать режим, это то, что от него зависит количество пакетов данных. Которая также зависит и от версии кода. Для версий с первой по девятую длины блоков для более читабельных режимов:
Числовые | 10 бит / 4 бита |
Буквенно-числовые | 9 бит |
8-битный (байтный) | 8 бит |
Первый блок после указателя режима — это количество символов. Для числового режима количество закодировано в 10 следующих битах, а для 8-битного режима в 8 битах (прошу прощения за тавтологию).
На рисунке видно, что в левом QR коде, как и отмечалось, записана цифра 5. Это видно по указателю количества символов и последующим после него 4 битам. В числовом режиме наряду с 10-битными блоками используются 4-х битные блоки для экономии места, если в 10-битном объёме нет необходимости. В правом коде зашифровано 4 символа. На данный момент неизвестно что зашифровано в нём. Поэтому необходимо перейти к чтению следующего столбца для извлечения всех 4-х блоков информации.
На рисунке видно, все 4 пакета представляют собой коды ASCII латинских букв, образующие слово «habr»
Естественно наилучшим способом остаётся достать телефон из кармана и, наведя камеру на QR-картинку, считать всю информацию. Однако в экстренных случаях может пригодиться и описанная методика. Конечно, в голове не удержишь все указатели режимов и типов масок, а также ASCII символы, но популярные комбинации запомнить (хотя бы те, что рассмотрены в статье) под силу.
Общая информация
Несмотря на то, что QR коды изначально использовались для учета деталей в машиностроении, сейчас они используются более широко, как для коммерческих систем учета, так и для быстрой доставки информации пользователям мобильных телефонов. QR коды могут хранить контактную информацию, текст, платежные реквизиты, телефонные номера, адреса e-mail и гипертекстовые ссылки. При этом QR-код может быть напечатан в журнале, на постере в метро, на визитной карточке, на платежном документе, да и вообще практически на чем угодно. Пользователи с телефоном, оснащенным камерой и с соответствующим программным обеспечением могут сосканировать QR-код, при этом откроется закодированная в QR гиперссылка, или закодированный контакт добавится в адресную книгу. И наоборот, QR-код может быть отправлен пользователю на мобильный телефон и предъявлен для считывания прямо с его экрана.
Сканерами штрих-кодов оснащаются устройства самообслуживания (банкоматы и терминалы), что позволяет использовать QR-коды для совершения платежей.
Основные области применения QR кода:
Коррекция ошибок в QR кодах
L | 7% |
M | 15% |
Q | 25% |
H | 30% |
Эта возможность используется для построения QR-кодов с элементами дизайна, например:
Кодирование
При кодировании данных в QR-код могут быть выбраны разные кодировки, что обеспечивает наилучшее сжатие данных для уменьшения размера, требуемого для изображения символа. Возможные варианты выбора:
Данные в QR Code:
012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
Кодировка Numeric | Кодировка Byte |
Емкость QR-кода
На первый взгляд может показаться, что QR-код не способен хранить много информации, и подходит лишь для кодирования коротких строк, например URL или e-mail. На самом деле максимальная емкость QR-кода не так уж мала:
Только цифры | 7,089 символов |
Цифры+латинские буквы | 4,296 символов |
Двоичные данные (8 bit) | 2,953 байт |
Kanji/Kana (символы японского алфавита) | 1,817 символов |
Таким образом, в QR-коде может быть закодировано более 2кб текста, что сильно расширяет спектр его применений, особенно учитывая удобство и скорость доставки информации конечному пользователю.
Каждой версии соответствует определенная емкость с учетом уровня коррекции ошибок. Чем больше информации необходимо закодировать и чем больший уровень избыточности используется, тем большая версия кода потребуется
Характеристики различных версий QR-кодов:
Версия
Количество модулей
Уровень коррекции
ошибок
Максимальное количество символов с учетом уровня коррекции ошибок и кодировки
QR-коды, их свойства и применение
Рубрика: Информационные технологии
Дата публикации: 10.05.2016 2016-05-10
Статья просмотрена: 8930 раз
Библиографическое описание:
Ковалёв, А. И. QR-коды, их свойства и применение / А. И. Ковалёв. — Текст : непосредственный // Молодой ученый. — 2016. — № 10 (114). — С. 56-59. — URL: https://moluch.ru/archive/114/29398/ (дата обращения: 10.12.2021).
This article addresses the issue of the use of QR-codes in marketing. The characteristics of QR-codes. Algorithms of creation and reading of QR-codes. An example of changing the appearance of QR-codes and how it used by advertising companies. Positive and negative aspects of using this technology.
Keywords: QR-code, information, coding and decoding of QR-codes, marketing.
С каждым новым этапом становления человеческого общества, информация становится более востребованным и наиболее важным ресурсом. Информация нуждается в защите, для этого информация, чаще всего, подвергается кодировке со стороны отправителя и дешифрации со стороны получателя. QR-код является промежуточным закодированным состоянием информации, которую может расшифровать любой человек, обладающий сканирующим устройством. На QR-код не возлагается обязанность строгой защиты информации, для этого созданы другие технологии (например, электронные ключи, способные использовать сложные математические функции для кодирования информации [3]).
Огромная популярность штрихкода в Японии привела к тому, что объем информации, закодированной в нем, перестал устраивать индустрию. Тогда японцы начали экспериментировать с кодированием небольшого количества информации в одной картинке. Основным достоинством QR-кода стало то, что он быстро и легко считывается при помощи сканирующего оборудования.
QR-код (англ. quickresponse — быстрый отклик) — матричный код, разработанный и предоставленный японской компанией “Denso-Wave” в 1994 году [2].QR-код является двумерным представлением обычного штрихкода, помещаемого практически на любую производимую продукцию».QR» символизирует мгновенный доступ к информации, хранимой в коде [1]. На первый взгляд может показаться, что QR-код не способен вместить в себя большое количество информации, но на самом деле вместимость такого кода достаточно велика и зависит от того, в каком виде информацию в него хотят закодировать.Максимальное число символов, которое можно внести в QR-код (версия 40, 177×177 модулей):
‒ Цифры и буквы латинского алфавита — 4296;
‒ Двоичный код — 2953 байта (следовательно, около 2953 букв кириллицы в кодировке windows-1251 или 1450 букв кириллицы в utf-8);
«Код должен легко считываться» — это стало главной целью компании-разработчика QR-кода в 1994 году. Действительно, код можно считывать даже в перевернутом состоянии. Такое действие достигается благодаря трем угловым квадратам привязки, расположенным в углах кода. Благодаря им, QR-код правильно разворачивается в памяти программы-сканера [4]. После сканирования программа запускает алгоритм считывания QR-кода:
‒ Распознавание черных и белых областей;
‒ Декодирование формата информации (цифровой, буквенно-цифровой, иероглифы, двоичный код);
‒ Определение версии кода;
‒ Применение маски (с функцией xor, исключающее «или»);
‒ Извлечение данных (и корректировка с использованием корректирующих кодов;
Для воплощения данного алгоритмы было написано множество программ, способных распознать и дешифровать QR-код. Например, для мобильных устройств были созданы такие приложения как QRCodeReader, KaywaReader, UpCode и многие другие. Практически все они находятся в свободном доступе.
Этот же алгоритм можно использовать для декодирования информации вручную, без технических средств. При этом сначала расшифровывают системные зоны кода — уровень коррекции ошибок и используемую маску, и уже потом переходят к декодированию полезной информации. Ручная расшифровка кода не является целесообразной, особенно если версия кода достаточно высокая.
Помимо полезной информации, закодированной в коде, необходимо учитывать коррекцию ошибок. Всего QR-коды имеют 4 уровня коррекции ошибок, которые отличаются количеством информации для восстановления и, соответственно, количеством полезной информации, которую можно восстановить при повреждении кода [5]:
‒ L–уровень коррекции. При его использовании можно восстановить 7 % информации.
‒ M–уровень коррекции. Восстановление 15 % информации.
‒ Q–уровень коррекции. Восстановление 25 % информации.
‒ H–уровень коррекции. Восстановление 30 % информации.
Для исправления ошибок используется алгоритм Рида-Соломона. Данный алгоритм используется как при создании QR-кода, так и при его дешифрации.
Сегодня, когдаQR-кодыдостаточно распространены, их создание занимает очень мало времени и не требует каких-либо специальных знаний.Чтобы создать QR-код, необходимо зайти на один из множества сайтов, позволяющих создавать такие коды. После чего выбрать тип кода (статический или динамический) и в специальное поле ввести информацию, которую вы хотите зашифровать, и сайт выдаст готовыйграфическийQR-код, сканируя который, например, мобильным устройством, адресат получит зашифрованную в коде информацию.
Сайт не позволяет пользователю увидеть, что происходит с информацией и как она становится QR-кодом, но алгоритм шифрования давно известен. QR-код формируется по строго определенному алгоритму, который в упрощенном виде можно разделить на несколько этапов:
В основном QR-коды используют производственные компании для рекламирования своей продукции. Такая реклама требует меньшего финансирования, но в то же время нацелена на более узкую аудиторию, которая знакома с понятием QR-кода и имеет возможность его прочесть.
Привычное изображение QR-кода представляет собой совокупность маленьких черных и белых квадратов, что не вызывает какого-либо интереса у потенциального клиента. Чтобы добавить своеобразность QR-коду, можно изменить его дизайн. Среди возможных внешних модификаций можно использовать:
‒ Разноцветные квадраты. Можно использовать все цвета радуги для заполнения QR-кода. Не рекомендуется использовать бледно-желтые цвета, если используется белый фон, так как при сканировании код может быть не прочитан, либо прочитан не верно. Использование всей палитры цветов обеспечивает больший интерес к QR-коду у потенциальных покупателей\клиентов.
‒ Внедрение картинки или фотографии в код. Относительно большая часть QR-кода может быть закрашена или скрыта за каким-либо рисунком, он остается читаемым. Например, можно разместить на коде фотографию продукта или иллюстрацию к текстовому содержимому QR-кода. Компании могут распространять QR-коды со своими логотипами, благодаря этому клиенты могут понять, от кого исходит то или иное рекламное предложение.
После того, как QR-коды будут напечатаны и распространены, с помощью системы управления QR-кодами можно следить за продуктивностью каждого кода с точностью до одного сканирования [1]. Производитель может получать доступ к различным данным, относящимся к распространенным QR-кодам. Помимо частоты считываний кодов, можно получить число уникальных сканирований, тем самым определить, сколько человек считало код. Более того, можно получить информацию о месте, дате, времени, об используемом устройстве и его операционной системе при каждом сканировании. Определить место, где был прочитан код, можно по IP-адресу оборудования. И хотя местоположение будет определено не точно, этих данных вполне достаточно для анализа и статистики. Все эти данные поступают в режиме реального времени (on-line), то есть каждое новое сканирование отображается в течение нескольких секунд. Такая возможность позволяет всегда иметь актуальную картину QR-маркетинга. По всем собранным и обработанным данным, компания-заказчик может узнать, где ее компания протекает наиболее успешно и усилить распространение своих QR-кодов в этих регионах.
Как и другие технологии, QR-коды имеют свои плюсы и недостатки.
Положительные стороны QR-кода:
‒ Данный код относится к открытым технологиям, то есть технологиям, доступным каждому, потому он и получил быстрое распространение, особенно в среде маркетинга;
‒ По сравнению с обычным штрихкодом, QR-код вмещает в себя намного больше информации и более устойчив к повреждениям графического рисунка (например, часть графического рисунка можно закрасить или вовсе удалить, код останется читаемым);
‒ При использовании QR-кода необходимо быть уверенным, что адресат сможет его прочесть. Для чтения такого кода необходимы гаджеты, умеющие распознавать изображение QR-кода и расшифровывать его;
‒ Вмещает в себя относительно мало информации, например, закодировать целую книгу в один стандартный QR-код не представляется возможным;
‒ QR-код является общедоступной технологией, следовательно, нельзя хранить важную информацию в виде QR-кода, так как код не предоставляет соответствующий уровень защиты информации;
QR-код первой версии имел размеры 21×21 модулей, на данный момент существует код 40 версии с размерами 177×177 модулей. Различия между кодами разных версий заключаются в их размерах и объемах максимальной вместимости. Но развитие QR-кода — не только увеличение числа внутренних модулей. Кроме использования различных цветов и логотипов на QR-коде, его можно развернуть на 45 градусов, что придаст ему некоторую оригинальность. Но самое привлекательное преобразование над кодом — это его анимирование. Картинка становится подвижной, что в наибольшей степени привлекает внимание потенциальных клиентов. Но с использованием анимирования, сфера использования QR-кодов резко уменьшается. Такие коды можно использовать только в интернете и на телевидении [6]. Но прогресс не стоит на месте и развитие QR-кодов так же продолжается.