ПРАВИТЕЛЬСТВО САНКТ-ПЕТЕРБУРГА КОМИТЕТ ПО ОБРАЗОВАНИЮ Двумерное кодирование информации Руководитель проекта Андреева Ольга Алексеевна Работу выполнили: Герлянд Анна, Тихомирова Полина, 9-в класс. г Санкт-Петербург 2013 Содержание 1. Введение 2. Немного истории 3. Принцип двумерного кодирования информации 4. Структура и размер QR-кода 5. Емкость QR-кода 6. Коррекция ошибок 7. Маскировка 8. Головоломка по информатике: пытаемся прочитать QR-код 9. Алгоритм расшифровки QR-кода 10. Преимущества QR-кода 11. Применение QR-кода 12. Выводы 13. Источники информации 14. Приложение 1. Введение Не так давно в нашей жизни появилась новая примета – прямоугольная картинка из черных и белых квадратиков (Рис. 1). Они попадаются на сайтах, в рекламе, на билбордах и даже на визитках. Понятно, что это код, но чтобы его распознать, надо разобраться. Цель работы: исследовать способ двумерного матричного кодирования, сферы его применения сегодня и потенциальные возможности. 2 Задачи: - изучить принцип двумерного кодирования QR-код; освоить приёмы чтения и создания QR-кода; узнать о сферах применения QR-кода; исследовать потенциальные возможности QR-кода; обработать собранные материалы и подготовить отчет. 2. Немного истории QR код это разновидность двумерного кода, созданная Японской корпорацией Denso-Wave в 1994 году. "QR" - это сокращение от "Quick Response"( "быстрый отклик"). Этим названием создатели хотели показать, что QR-код позволяет быстро доносить свое содержание до пользователя. QR-коды очень распространены в Японии, там они являются самым популярным видом 2D-кодов. QR-код черно-белый квадрат с геометрическим рисунком, является "потомком" полосатого штрих-кода. Но если штрих-код можно считать только с помощью специальных устройств(сканеров), то QR-код доступен для считывания всеми смартфонами с основными операционными системами, присутствующими на рынке продаж. Для считывания QR-кода необходимо установить специальную программу, запустить ее и сфотографировать квадрат-шифр. После распознавания фото программа запустит зашифрованную в коде интернет-ссылку или откроет текстовый файл или изображение. Несмотря на то, что QR-коды изначально использовались для учета деталей в машиностроении, сейчас они используются более широко как для коммерческих систем учета, так и для быстрой доставки информации пользователям мобильных телефонов. QR-коды могут хранить контактную информацию, текст, телефонные номера, адреса e-mail и гипертекстовые ссылки. При этом QR-код может быть напечатан в журнале, на постере, в метро, на визитной карточке, да и вообще практически на чем угодно. 3 Пользователи с телефоном, оснащенным камерой и с соответствующим программным обеспечением, могут отсканировать QR-код, при этом откроется закодированная в коде гиперссылка, или закодированный контакт добавится в адресную книгу. Удобство использования QR-кода очевидно вместо запоминания длинной ссылки или адреса e-mail достаточно навести камеру телефона на QR-код, и ссылка будет добавлена в избранное. 3. Принцип двумерного кодирования информации В отличие от линейного штрихового кодирования, читаемого в одном направлении (по горизонтали) и позволяющего кодировать небольшой объём информации (до 20—30 символов, обычно цифр), двухмерные коды дают возможность кодирования большого объёма информации, построение такого кода проводится в двух измерениях: по горизонтали и по вертикали. Рис. 2 Линейное кодирование Двумерное кодирование 4. Структура и размер QR-кода Каждый QR-код представляет собой правильный квадрат, по трём углам которого размещены черно-белые квадраты – локаторы или маяки. Благодаря им, QR-код читается с любого направления, возможно вращение и отражение. Существует несколько стандартов в семействе QR кодов. Данные, которые необходимо закодировать, разбиваются на блоки в зависимости от режима кодирования. К разбитым по блокам данным прибавляется заголовок, указывающий режим записи и количество блоков. 4 5. Емкость QR-кода На первый взгляд может показаться, что QR-код не способен хранить много информации, и подходит лишь для кодирования коротких строк, например URL или e-mail. На самом деле емкость QR-кода не так уж мала: Вид символа Количество Только цифры 7 089 символов Цифры+латинские буквы 4 296 символов Двоичные данные (8 bit) 2 953 байт Символы японского алфавита 1 817 символов Как вы можете увидеть, в QR-коде может быть закодировано более 2кб текста, что сильно расширяет спектр его применений, особенно учитывая удобство и скорость доставки информации конечному пользователю. 6. Коррекция ошибок в QR- кодах QR-коды используют алгоритм Рида-Соломона(Reed-Solomon) для коррекции ошибок. Это позволяет без проблем считывать коды, которые каким-то образом повреждены: затерты, перечеркнуты, смяты. QR коды имеют 4 уровня коррекции ошибок, которые отличаются количеством информации для восстановления и, соответственно, количеством полезной информации, которую можно восстановить при повреждении кода. Уровень коррекции Возможность восстановления (% разрушенной информации) (обозначение) L 7% M 15% Q 25% H 30% 5 Корректирующие ошибки коды Рида-Соломона записываются после всех информационных данных. Как показывает практика, обычно большую часть QR -матрицы занимают корректирующие RS-коды 7. Маскировка Маскировка процесс наложения маски на исходный код (рис. 3), Маска используется, чтобы избежать ошибок при считывании, когда область похожа на изображение локатора или сильно разряжена. Маскировка инвертирует, «перемешивает» определенные модули (белый становится черным, а черный становится белым), оставляя другие в покое. «Перемешанные» данные записываются в особой последовательности на шаблонную картинку, куда добавляется техническая информация для декодирующих устройств. На рисунке ниже красным цветом обозначены области, которые несут информацию о типе использованной маски. Тип маски выбирается автоматически (программой кодирования) такой, чтобы наилучшим образом избежать возможных ошибок. Выбранная модель маски будет указана в определенном месте, таким образом, декодер знает, какой из них надо воспользоваться. Светло-серые области это маяки. QR-код Маска Результат маскирования Рис. 3 Пример наложения маски на исходный код. 6 8. Головоломка по информатике: пытаемся прочитать QR-код. Вполне возможна такая ситуация, когда нужно прочитать QR код, а смартфона под рукой нет. Что же делать? Попробуем прочитать вручную, а заодно проверим свои навыки двоичного кодирования. Внешних примет того, какую информацию несет код, нет (рис. 4). Надо знать приемы построения кода и уметь выполнять действия с двоичными кодами. Рис. 4 Пример кодирования цифры и текста. 9. Алгоритм расшифровки QR-кода. Порядок действий Суть действия Шаг1 Шаг 2 Распознавание области, несущей полезную информацию Считывание системной информации Шаг 3 Определение версии кода Шаг 4 Чтение заголовка данных Шаг 5 Применение маски Шаг 6 Извлечение информации 7 Шаг 1. Взглянув на рисунок, можно заметить несколько отчётливых областей. Эти области используются для детектирования QR-кода. Эти данные нужно вычеркнуть, всё остальное поле кода несёт уже полезную информацию. Её можно разбить на две части: системная информация и данные. Вокруг локаторов размешена «тихая» зона пустота. Шаг 2. Размещение системной информации показано на следующем рисунке. Системная информация дублируется, что позволяет значительно понизить вероятность возникновения ошибок при считывании. Системная информация – это 15 бит данных, среди которых только первые 5 — это полезная информация. Из них 2 бита показывают уровень коррекции ошибок, а остальные 3 бита показывают, какая маска из доступных 8 применяется к данным. Данные извлекаются логической операцией XOR. Шаг 3. Чтобы понять с какими данными предстоит иметь дело, необходимо изначально прочитать 4-х битный заголовок, который содержит в себе информацию о режиме. Область чтения данных выделена на картинке. Читают данные «змейкой» снизу вверх. Для приведенного примера это код 0111. 8 Далее, ввиду сложности вычислительных операций, здесь они не приводятся. Подробно (но на английском языке) вся необходимая информация приведена в спецификации ISO / IEC 18004:2006. 10. Преимущества QR-кода. Рассматриваемый способ кодирования ориентирован на массовое использование, так как, по сути, является «мобильной» технологией. Простота использования и высокая скорость применения сделали эту технологию доступной для многих. В сравнении с предыдущими видами двумерных кодов, QR-код в высокой степени защищает информацию от разрушения, благодаря использованию кодов Рида-Соломона. QR-код выполняет две функции: 1) позволяет автоматически считывать различные данные, при этом: просто, и самое главное, точно считывать информацию о тех предметах, которые нуждаются в контроле, вести точный учёт складируемых или проданных товаров, автоматизировать процесс сбора информации , сокращать ошибки при автоматической идентификации объектов по сравнению с ручной. Штриховое кодирование позволяет полностью исключить влияние человеческого фактора . 2) помещает большое количество информации в небольшую картинку (4296 символов - это более двух машинных страниц текста). Сейчас уже многие продвинутые пользователи стали писать свои электронные визитки в виде QR-кода. С ними намного удобнее: не надо руками переносить данные в контакт-лист. Вместо этого 9 просканировали QR-код - телефон автоматически внесет все данные в адресную книгу. 11. Применение QR-кода. Применение QR-кода определяется той информацией, которая зашита в квадрате. Некоторые умудряются вести сетевой дневник, где каждая запись закодирована в гигантском QR-коде. Пример подобного сайта: qrblog.nl. Существуют печатные издания, имеющие онлайн-версии, которые печатают в конце каждой статьи ссылки на её электронный вариант или дополнительные материалы по теме. При помощи матричных кодов можно промаркировать каждый предмет в коллекции: от картин в галерее до банок с вареньем и домашней консервацией. Для галерей ссылка на сайт с подробным описанием произведения искусства на нескольких языках, естественно, будет полезней маленькой таблички. Наконец, такие коды можно использовать в рекламе, от газетного объявления до огромного уличного плаката. Так как эта реклама связана с веб-сайтом, можно сразу же предложить оформить заказ товара через интернет-магазин. Аналогично можно заказать билеты на концерт, взглянув на его афишу, или же подписаться на журнал через интернет, сфотографировав код на его обложке. При распознавании кода, содержащего SMS, телефон предлагает отправить на нужный номер SMS с некоторым текстом. В начале мая 2012 года правительство Москвы объявило о намерении разместить на объектах культурного наследия около 200 QR-кодов. С помощью них владельцы смартфонов смогут получать текстовую и графическую информацию о культурных памятниках. QR-коды на городских объектах присутствуют в ряде стран, например, в Японии и в США. Но они используются не только для передачи информации, но и для оказания ряда услуг и предоставления сервисов. 10 Нью-йоркская организация Notify NYC расположила в городе QR-коды, считав которые, можно автоматически вызвать экстренные службы. Компания - владелец дорог American Roads запустила приложение, позволяющее водителям оплачивать с помощью QR-кодов пошлину. В отелях сети Radisson они позволяют зарегистрироваться. Также QR-коды используются при регистрации на рейсы некоторых авиакомпаний. Сделать QR-код без труда может любой человек, для его автоматической генерации существует масса сайтов, поэтому не исключено, что скоро эти черно-белые квадраты мы увидим на каждом окружающем нас предмете, которому есть что рассказать о себе. 12. Выводы QR-код это новый вид мобильного сервиса. Быстрота считывания и безошибочность получения информации очень привлекательные факты в пользу этой новинки. Предлагаем разместить QR-код на сайте нашего лицея (см Приложение). Кроме того, можно использовать QR-код содержащий пароль как удобный способ защиты информации. В школьном обучении QR-кодирование может стать инструментом для создания игр, головоломок. Проделанная работа дала нам новые знания, повысила интерес к информатике и самостоятельной исследовательской работе. 13. Источники информации 1. http://en.wikipedia.org/wiki/QR_code «QR code» 2. http://www.patrick-wied.at/static/qrgen/ Генератор QR-кода on-line 3. http://raidenii.net/files/datasheets/misc/qr_code.pdf Международный стандарт кодирования ISO/IEC 18004 4. http://kcoding.net/2012/qrcode-coding-decoding-libs/ Библиотека программ кодирования/декодирования QR-кода 11 14. Приложение В данном QR-коде зашифрованы реквизиты лицея №329 12