Online-сервисы

Все о двухмерных штрихкодах. Смотреть что такое "Data Matrix" в других словарях

Вконтакте

Что такое двухмерный штрихкод (2d barcode)? Многие считают, что этот синоним «QR-код». Однако, на самом деле, это не совсем так — видов двухмерных штрихкодов намного больше. Именно о них мы и поговорим в этой статье.

Хочу сразу предупредить, что в этот раз текста будет довольно много, а цветных картинок мало. Да и тема довольно специфическая, и будет интересна далеко не всем. Тем более, что недавно на сайте уже была статья Виталия Буздалова про QR коды, где были четко и лаконично описаны все основные моменты —

К сожалению, WorldPress не позволяет вставлять видео с youtube в текст статьи (либо я не разобрался как это сделать). Из-за этого пришлось вставлять картинку, при клике на которую откроется само видео.

Основное достоинство любого штрих кода — простота использования. Двухмерные коды не являются исключением, все работает по принципу «навел — снял — прочитал» и не требует каких-то специальных пояснений. Сами же программы-сканеры обычно имеют стандартный набор функций, и в детальном обзоре тоже не нуждаются. Поэтому получился в большей степени обзор самих разновидностей двухмерных штрихкодов, а не программ для их распознавания. Какой-то эксклюзивной информации в статье нет, все данные взяты из открытых источников.

Статья делится на две части — теоретическая (разновидности 2D кодов, их особенности и способы применения) и практическая (программы для сканирования и генерации кодов, сайты-генераторы и пр.)

ТЕОРИЯ

Все штрихкоды можно разделить на два типа: линейные и двухмерные.

Линейный штрихкод — это код, который читается в одном направлении. Такие штрихкоды очень просты и дешевы в использовании.

Авторами первого линейного штрихкода можно считать Бернарда Сильвера и Джозефа Вудланда. В 1948 они стали случайными свидетелями разговора между президентом крупной сети продуктовых компаний и деканом Института Технологии Университета Дрекселя, которые обсуждали создание системы, автоматически считывающей информацию о продукте.

Идея штрихкода родилась не сразу. Вначале было перепробовано несколько других вариантов, таких как метки, нанесенные ультрафиолетовыми чернилами и др. Но по разным причинам, все эти идеи оказались нежизнеспособны. На идею же самого штрихкода Джозефа Вудланда натолкнула Азбука Морзе. По его словам, он просто расширил точки и тире вниз и сделал из них узкие и широкие линии.

В 1951 году они показали свое изобретение компании IBM, но в ней почитали, что ее реализация потребует слишком сложного оборудования. Отчасти это было правдой — лазерных сканеров тогда еще не существовало и считывать штрихкоды было довольно сложно. Фактически, идея Джозефа и Сильвера опередила свое время более чем на десять лет.

Впервые широкой публике штрихкоды были продемонстрированы лишь в 1971 году на конференции по розничной торговле. Они были нанесены на лотерейные жетоны и состояли не из линий, а из окружностей. В дальнейшим от круглого варианта штрихкодов отказались — при их печати краска часто смазывалась и они становились нечитаемы.

Первый коммерческий формат штрихкода был разработан в 1972 году и получил название UPC — Universal Product Code. С тех пор форматы штрихкод многократно совершенствовались и менялись. На сегодняшний день существует более 300 стандартов штрих-кодирования.

Главный недостаток линейных штрихкодов — малое кол-во кодируемой информации. Именно для преодоления этого недостатка и были разработаны двухмерные штрихкоды .

Сайт-генератор — http://barcode.tec-it.com
Программа-сканер — Accusoft Barcode Scanner

PDF417 был разработан компанией Symbol Technologies в 1991 году. Название PDF происходит от «Portable Data File». Число «417» отражает структуру кода — штрихкод имеет длинну в 17 модулей, состоящих из 4-х «штрихов» и «пробелов». По сути, такие блоки являются одномерным штрихкодом.

Теоретически, это должно упростить его считывание и декодирование. И скорее всего, для специальных сканеров именно так оно и есть. А вот с программами-сканерами для мобильных устройств часто бывают проблемы. Во всяком случае, у меня такие коды считываются в лучшем случае через раз. Впрочем, винить тут стоит не сам код, а исключительно программы-сканеры.

Код можно встретить на товарах, документах, билетах. Если не ошибаюсь, именно он используется на билетах АэроЭкспресса. Правда, прочитать его программой-сканером я не смог. Часто его можно увидеть и в мaгазинах, в частности на бутылках с алкогольной продукцией.


DataMatrix

Сайт-генератор — http://www.qrcc.ru/generator.php
Программа-сканер — Barcode Scanner

Код DataMatrix был изобретен компанией International Data Matrix, которая позже была объединена в Acuity CiMatrix и в 2005 году куплена компанией Siemens. Существенное влияние на разработку кода DataMatrix оказал предшествующий ему многострочный штрих-код PDF-417. В настоящее время Data Matrix описывается соответствующими стандартами ISO. Код может быть использован свободно, без каких либо лицензионных отчислений.

Код представляет собой двухмерную матрицу из черно-белых точек или модулей. В коде должно содержаться четное число таких модулей как по вертикали, так и по горизонтали. DataMatrix код может состоять как из одного, так и из нескольких блоков. В каждом блоке обязательно содержится две сплошные пересекающиеся линии в виде буквы L — так называемый «шаблон поиска», который помогает понять ориентацию кода для считывающего устройства. Две другие стороны блока состоят из чередующихся черных и белых точек, которые указывают считывающему устройству размер кода. Код использует стандарт коррекции ошибок, основанный на алгоритме Рида-Соломона. В случае повреждения кода, это позволит восстановить до 30% полезной информации.

Главное прeимущество этой разновидности двухмерных кодов — его сверхмалый размер. С помощью DataMatrix можно поместить информацию в 50 символов на площадь размером в два квадратных миллиметра. При этом, код может быть нанесен на поверхность огромным кол-вом способов: это и струйная печать, и гравировка, и лазер и многое другое. Кроме того, у кода есть две возможные формы: квадрат и прямоугольник. Это позволяет еще более эффективно использовать доступную для размещения кода площадь.

Все это делает DataMatix отличным кодом для маркировки малых объектов, например, микросхем. И именно поэтому Data Matrix очень активно применяется в промышленности. В частности, его активно используют такие крупные компании как Intel, AMD, BMW, Mercedes Benz, Siemens, Philips, NASA, Vodaphoone. Во многих странах он также используется для сортировки почты, но как с этим обстоит дело в России я не знаю. Впрочем, потихоньку он начинает появляться и у нас. Например, текущий формат больничного листа предусматривает специальное поле для размещения Data Matrix кода:

«для упрощения процедуры машинной обработки данных из больничного, в левый верхний угол бланка было добавлено поле для впечатывания в него двухмерного штрих-кода в формате Data Matrix, содержащего те же сведения, что и сам листок, причем этот штрих-код нужно иметь возможность впечатывать в заполненный ранее бланк отдельно даже в том случае, если бланк уже был сложен в несколько раз»

информация взята с сайта ФСС. Разумеется, пока наличие такого кода не является обязательным, но в будущем ситуация может и поменяться.


Хотя в промышленности DataMatrix является безусловным фаворитом, в повседневной жизни намного более распространен другой тип двумерного штрихкода — QR-код.

QR-код

Сайт-генератор – http://qrcc.ru/generator.php
Программа-сканер – Barcode Scanner

QR код это еще одна разновидность матричного кода. Его название происходит от английского «Quick Response» — «Быстрый Отклик». Он был создан компанией Denso-Wave в 1994 году в Японии. И именно в Японии он получил наиболее широкое распространение. Согласно данным опросов, в этой стране его использует более половины всех пользователей мобильной связи. В первую очередь это связано с тем, что в отличие от многих конкурентов, он понимает символы каны.

Само название «QR Code» является официально зарегистрированной торговой маркой компании Denso Wave Incorporated. Тем не менее, его использование бесплатно как для физический, так и юридических лиц и не попадает под действия каких либо лицензий.

Размеры кода могут варьироваться в довольно широких пределах: от 11 модулей в версии Micro QR (M1) до 177×177 модулей в Version 40 QR code. Официальных стандартов QR кодов, насколько мне известно, не существует. Ниже приведены примеры QR кодов разных версий, взятых из Википедии.



Как вы видите, любой QR код содержит несколько обязательных элементов. В первую очередь, это три больших «квадратика», окруженных пустым пространством. Именно по ним программа-сканер определяет позицию кода и корректирует искажение перспективы. Кроме того, код содержит еще один «квадратик» меньшего размера. Он служит для определения ориентации служебных областей. Стоит отметить, что в версии Micro QR используется всего одна метка позиционирования. Как и многие другие штрихкоды, QR код требует свободное пространство вокруг самого кода. Для полной версии кода оно состовляет 4 модуля, для микро версии — два модуля.

Как и в DataMatrix, в QR коде используется метод коррекции ошибок, основанный на алгоритме Рида-Соломона. Это позволяет легко прочитать даже поврежденный или загрязненный QR код. Существует четыре уровня коррекции ошибок. Они отличаются кол-вом информации, доступной для восстановления – L (7%), M (15%), Q (25%), H (30%). Благодаря такому «запасу прочности» можно разместить на QR коде произвольное изображение или текст. И если не будут задеты служебные области, то код все равно останется читаемым. Правда, стоит понимать, что в этом случае дальнейшая возможность коррекции ошибок сильно падает.

Подробнее про разметку QR кодов можно прочитать на сайте анг. Википедии . Кроме того, на habrahabr.ru о том, как можно вручную прочитать QR код

У QR кодов довольно много применений. В первую очередь, они очень активно используются в рекламе и маркетинге. Начиная от банальной ссылки на рекламный ролик, размещенной на рекламном щите и заканчивая целыми интерактивными стендами. Например, на видео ниже вы видите стенд компании Tesco, размешенный в метро Южной Кореи.


С помощью мобильного телефона, люди могут на ходу заказать нужный товар, который будет доставлен им курьером как раз к моменту их приезда домой. Такие интерактивные стенды позволили компании увеличить прибыль от доставки товаров на 130%


Интересно, насколько возросли продажи? =)

Не менее широко распространены QR коды и в туризме. Например, QR коды все чаще стали размещать на туристических объектах. В самом простом случае, такой код будет содержать короткую справку об объекте на разных языках или ссылку на Wikipedia. Но есть и более интересные варианты — например, прочитав QR код, вы сможете увидеть, как выглядел этот объект 100 лет назад. В качестве примера можно привести город Львов, где QR кодами отмечено более сотни туристических объектов. Информация есть, например, на этом сайте Аналогичные решения очень часто применяются и в музеях. Один клик — и вы находитесь на веб странице, содержащей всю информацию о заинтересовавшем вас экспонате.

Отдельно хочу отметить одно очень оригинальное решение, при котором сканируя один и тот же QR код, каждый пользователь автоматически попадет на статью именно на своем родном языке. Это стало возможно благодаря проекту QRpedia. Подробнее о нем можно прочесть тут: http://ru.wikipedia.org/wiki/QRpedia

С QR кодами можно все чаще встретиться и при оформлении билетов. В этом году и в России и в Украине собирались ввести QR коды на железнодорожных билетах. Это даст возможность заказать билет через интернет и просто распечатать QR код (или просто открыть его на экране мобильного телефона) для прохода через турникет или для предъявления проводнику. К сожалению, не знаю, работает ли уже такая система в РЖД, но точно могу сказать, что именно так обстоят дела в АэроЭкспрессе. На заказ билета через интернет я потратил несколько минут, после чего не пришлось даже его печатать – турникет успешно считал код с экрана телефона. Правда, код там используется не QR, а скорее PDF417.

Применений QR кодов сотни, они все чаще начинают проникать в нашу повседневную жизнь. Например, буквально на днях впервые «вживую» увидел визитку с QR кодом. И это оказалась действительно очень удобная штука, которая избавляет от необходимости вбивать все данные контакта вручную. Достаточно сосканировать QR код, и все данные контакта в вашем телефоне: имя, фамилия, компания, должность, e-mail, рабочие и мобильные телефоны. Не знаю, насколько такие визитки приживутся, но, на мой взгляд, идея отличная. Разумеется, на этом идеи использования QR кодов не заканчиваются. Есть масса других вариантов — татуировки с QR кодом, содержащим ссылку на страничку в соц. сети, брелоки с QR кодом, в котором зашифрованы имя и телефон владельца, QR код со ссылкой на аудио поздравление на подарке… Хорошо проиллюстрировано применение QR кодов .

Двумерный код данного формата начинает применяться и в Сбербанке (Источник — http://www.arendamest.ru/qr-kod-v-terminalach-sberbanka)

Почему он стал столь популярен на фоне уже довольно распространенного Data Matrix? Точного ответа на этот вопрос я не знаю, но мне кажется, что дело главным образом в его узнаваемости. В отличие от несколько безликого Data Matrix, он имеет свое лицо, интереснее выглядит, на него проще обратить внимание потенциальных пользователей. Учитывая, что чаще всего он применяется в маркетинге, это оказалось весьма важно. А сильные стороны Data Matrix (меньший размер, стандарт ISO) здесь наоборот, практически не имеют значения.

Напоследок приведу данные опроса, проведенного в 2012 году компаниями J’son&Partners Consulting, SMARTEST и WapStart в России. Согласно ему, треть респондентов (33%) информированы о QR-кодах - они знают и понимают, как можно использовать эту технологию. 59% не знают о QR-кодах, а 8% неправильно информированы (ошибаются в знании технологии). 23% пользователей уже сканировали своим телефоном QR-коды, причем почти половина из них (48%) делают это постоянно или проводили такие манипуляции много раз. Большая часть пользователей QR-кодов (84%) переходила после их считывания на веб-сайт; третья часть (33%) смогла считать контактные данные человека и сохранить их на телефон; 28% получали рекламу; 21% - другой контент (музыку, картинки, презентации и пр.) и 8% - видео. Только 6% указали, что QR-технология помогла им зарегистрироваться на рейс или мероприятие.

Как мы видим, хотя в России QR коды пока распространены не так сильно, как во многих других странах, но, тем не менее, они постепенно становятся популярны и у нас.

Aztec Code

Сайт-генератор — http://barcode.tec-it.com/
Программа-сканер — Accusoft Barcode Scanner

Структура кода состоит из следующих элементов: «мишень» , элементы ориентации, решетка привязки, слои данных. Программа сканер опознает код по наличию «мишени», определяет ее центр и углы. Далее программа вычисляет расстояние между углами мишени и их углы наклона. По этим данным вычисляется угол наклона и поворот кода относительно камеры телефона. Стоит отметить, что код может быть распознан не только при больших искажениях от угла наклона и ориентации камеры, но даже при зеркальном отражении.

Подробнее с алгоритмом декодирования Aztec Code можно ознакомиться на сайте odamis.ru по следующей ссылке . Как и в случае QR кода, у Aztec существует своя компактная версия.

Как и DataMatrix, Aztec код возможно применять там, где площадь для нанесения кода сильно ограничена. В первую очередь это обусловлено тем, что он не требует свободного места вокруг кода. Но, в отличие от DataMatrix, Aztec код может быть только квадратным. Сторона квадрата содержит от 15 до 151 модуля. Код может объединяться в блоки. Разумеется, как и остальные типы кодов, Aztec код поддерживает коррекцию данных по принципу Рида-Соломона. При этом он позволяет настроить избыточность данных от 5% до 95%.

Во многих странах данный код используется железнодорожными компаниями в электронных билетах. Кроме того, он был выбран международной ассоциацией воздушного транспорта для электронных билетов. В частности, по информации Википедии, он используется на электронных билетах Российской авиакомпании S7 Airlines. Ниже приведу цитату с офф. сайта s7.ru:

«В аэропорту вашего вылета должно быть специальное устройство, распознающее 2D-штрихкод мобильного посадочного талона. Оно находится перед входом в зону контроля безопасности и работает следующим образом: считывает информацию 2D-штрихкода мобильного посадочного талона с экрана вашего телефона, а затем распечатывает посадочный талон на бумаге.»

К сожалению, тип 2D штрихкода в этом сообщении не указан, но думаю, что Википедия не ошиблась.

Microsoft tag (High Capacity Color Barcode - HCCB)

Сайт-генератор — http://tag.microsoft.com
Программа-сканер — Microsoft Tag

Данный штрихкод был специально разработан компанией Microsoft для мобильных фотокамер. Это дает ряд преимуществ при сканировании и декодировании кода. Например, код удастся расшифровать, даже если он оказывается не в фокусе, что весьма актуально для простеньких телефонных камер без автофокуса.


Microsoft Tag довольно сильно отличается от большинства своих собратьев. Первое, что сразу бросается в глаза: в отличие от QR, Data Matrix и других монохромных кодов, он может быть цветным. Помимо белого используется еще три цвета: Yellow, Magenta, Cyan. Такой выбор цветов позволяет избежать ошибок декодирования из-за плохой цветопередачи CMYK принтера. Дополнительные цвета позволяют «впихнуть» в код больше информации не меняя его размер. Тем не менее, у штрихкода существует и черно-белый вариант.


Второе, не менее важное отличие: в штрихкоде содержатся не сами данные, а только ссылка на них (13 байт + 1 контрольный). Сами же данные хранятся на сервере Microsoft. Очевидный минус такого решения состоит в том, что без доступа в интернет воспользоваться таким кодом невозможно. С другой стороны, это дает и дополнительные возможности: можно в любой момент отредактировать «привязанную» к коду информацию, можно узнать кол-во считываний кода, можно установить срок действия кода.

Кроме того, у Microsoft Tag есть огромные возможности кастомизации. В штрихкоде этого формата вся информация закодирована в цветных точках в центрах треугольников. Все остальное поле может быть каким угодно. Это позволяет сделать штрих код действительно уникальным. Главное не перестараться, иначе кроме вас никто вообще не поймет, что это штрихкод.

. . . . . .

Microsoft Tag распространен намного меньше, чем его аналоги. Тем не менее, кое-где он постепенно начинает входить в обиход. Например, в Татарстане, если верить новостям, правительство обязало владельцев туристических и спортивных объектов Универсиады размещать такие штрихкоды для доступа к соответствующим сайтам интернета. Новость проскальзывала, в частности, на этом сайте . Кроме того, с помощью таких же кодов можно оплачивать и гос. услуги.

У меня эта технология оставила смешанное чувство. Когда упоминание о Microsoft Tag впервые попалось мне на глаза, я отмахнулся от него, не вникая в детали. Штрихкод, для декодирования которого нужен доступ к интернету? Это не для Российских реалий. Да и напечатать цветной код сложнее, чем черно-белый. Изначально мне казалось, что при таких недостатках все плюсы этого кода уже не имеют значения. Но давайте на минуту задумаемся, какая именно информация чаще всего закодирована в 2D штрихкоде? В большинстве случаев, это ссылка на ресурс в интернете. Это может быть что угодно: сайт компании, рекламный ролик, статья об историческом объекте, но в любом случае, без доступа в интернет эта ссылка не имеет никакой практической ценности. И вот тут уже Microsoft Tag смотрится очень выигрышным вариантом. Информацию можно в любой момент поменять или обновить не меняя сам код, собрать статистику просмотров и пр. Потенциал у Microsoft Tag, безусловно, есть, но сможет ли Microsoft его реализовать — вопрос открытый.

Взгляд вперед

Вначале появились линейные штрихкоды. Затем двухмерные. Что может ждать нас в будущем?

Весьма интересной выглядит идея компании MIT Media Lab — bokode. Название произошло от слов bokeh и barcode. Прототип был показан еще в 2009 году. Диаметр метки данного кода составлял всего несколько квадратных миллиметров. Сама метка состоит из светодиода, на который накладывается специальная маска и особой линзы. Информация поступает на считывающее устройства в виде потоков света, проходящих через маску на светодиоде.
Такой код способен передавать в тысячи раз больше информации, чем линейные штрихкоды. Кроме того, его можно считать с расстояния в несколько метров (теоретический предел — 20 метров).
Более подробную информацию можно найти на сайте BBC или посмотрев видео от самой MIT Media Lab:


ПРАКТИКА

Сайт-генератор http://qrcc.ru

Один из популярных генераторов 2D штрихкодов. Позволяет создавать коды QR, Micro QR и DataMatrix. Интерфейс сайта интуитивно понятен, и я думаю, что нет смысла останавливаться на нем подробно. Вверху можно выбрать тип кода. В левой колонке — указать тип содержания. Внизу можно выбрать дополнительные параметры: иконку, которая будет отображаться на коде, текст над и под кодом, цвета текста и самого кода.


В отличие от многих подобных сайтов, qrcc.ru поддерживает большое кол-во разных типов данных. Разумеется, данные любого типа можно просто закодировать как обычный текст. Но в этом случае смартфон не сможет автоматически распознать их тип и понять, что с ними делать. В качестве примера приведу два кода с одинаковым текстом.




Сайт позволяет сгенерировать данные следующих типов:
Визитка (VCARD) — после сканирования кода у пользователя будет возможность в один клик создать контакт со всеми данными в телефонной книге.

Произвольный текст — просто набор данных, программа-сканер будет реагировать на него стандартным образом

Телефонный звонок — после сканирования кода, программа предложит сохранить введенный вами номер в адресной книге либо позвонить на него.

СМС-сообщение — программа-сканер предложит пользователю отправить заданный им текст, указанный им номер в виде смс или ммс сообщения

E-mail адрес — пользователь сможет либо отправить по этому адресу письмо, либо добавить его в телефонную книгу. Тоже самое будет, если закодировать e-mail адрес и обычным способом, как «произвольный текст».

E-mail сообщение — содержит поля «E-mail получателя», «Тема» и «Текст». Предлагает пользователю отправить введенное им сообщение на соответствующий адрес.

Запланированное событие(VCALENDAR) — позволяет ввести название, начало и конец события. При сканировании такого кода будет возможность импортировать данное событие в календарь.

WI-FI — позволяет ввести SSID сети, пароль и тип шифрования. После сканирования такого кода, смартфон предложит вам подключиться к этой сети.

Сайт-генератор http://barcode.tec-it.com

Еще один хороший сайт-генератор. Позволяет создавать коды десятков различных типов, как линейные, так и двухмерные. Имеет более запутанный интерфейс, но предлагает больше возможностей.


Вверху сайта необходимо выбрать тип кода. Предлагает следующие варианты:

1D коды . Сюда входят 12 типов линейных штрихкодов, такие как Code-128, Code-11 и другие. У каждого кода указывается допустимый тип данных (только цифры, полный набор ASCII и пр.). Открыв раздел «дополнительные опции штрихкода» можно настроить такие параметры, как цвет кода, ориентация, зона молчания (место вокруг штрих кода).

2D коды . Сюда входят такие коды как QR, DataMatrix, Aztec, Codablock-F, PDF417, MaxiCode, MicroPDF417, Micro QR. Настройки кода аналогичны прошлой категории, но в «дополнительных параметрах» добавилась опция «корректировка ошибок» (пока поддерживается только QR кодом). Она позволяет вручную указать уровень коррекции — L, M, Q, H

Мобильный Тэг — как и http://qrcc.ru , позволяет создавать коды для мобильных телефонов, с разными типами данных. Позволяет создавать коды трех типов — QR, DataMatrix, Aztec. Поддерживает несколько новых типов кодов, такие как отправка твита, «лайк» в Facebook, поиск приложения в AndroidMarket и другие.

Далее идет еще множество различных категорий линейных кодов: UAN \ UPC (ипользуются на товарах в магазинах), ISBN (книги и другая печатная продукция), почтовые коды, др. В конце списка представлены «Визитки » (поддерживается QR и DataMatrix), «События » (тоже QR и DataMatrix), WI-FI коды (QR и DataMatrix) — в этих пунктах все аналогично qrcc.ru

Сайт-генератор http://tag.microsoft.com

tag.microsoft.com заметно отличается от прошлых рассмотренных нами ресурсов. И в первую очередь, это связанно с особенностями формата Microsoft Tag. На самом сайте содержится масса справочного материала как по особенностям этого формата кода, так и по работе с самим генератором. К сожалению, информация доступна только на английском.

Для работы с сайтом требуется Microsoft account. Если у вас его нет — придется регистрироваться. Далее заходим в «My Tag» — «Tag manager». Для создания новой метки, выбираем «Create a tag» в левом верхнем углу менеджера.


Tag Title — имя метки, которое будет отображаться под самим штрихкодом в «истории» программы сканера

Tag Tipe — тип метки. Поддерживаются метки следующих типов: URL (ссылка), App Download (загрузка приложения, позволяет задать для каждой платформы отдельные ссылки на скачивание), Free Text (произвольный текст, до 1000 знаков), vCard (можно как загрузить готовую vCard, так и внести данные контакта вручную), Dialer (ввод телефонного номера)

Tag Notes — описание метки, длинной до 200 символов. Описание отображается только на сайте в самом в самом менеджере. Пользователь его не увидит.

Upload Thumbnail — загрузка эскиза метки, рекомендованный размер — 200 x 200, форматы JPEG, GIF, PNG

Start Date — дата, с которой метка начнет работать

End Date — дата окончания работы метки. Можно выбрать вариант «No End Date»

Поле для ввода данных — зависит от выбранного вами типа метки.

После ввода всех данных сохраняем метку, нажав на кнопку «Save». Созданная метка теперь отображается в менеджере. При необходимости, ее в любой момент можно отредактировать либо удалить. Кроме того, всегда можно посмотреть график кол-ва просмотров. Теперь загружаем созданную метку, нажав на синюю стрелочку «Download» справа.

Перед загрузкой метки необходимо выбрать формат ее кодирования. Доступные варианты: Tag Barcode (стандартный Microsoft Tag с рисунком в виде треугольников), Custom Tag Barcode (Microsoft Tag, на который нанесены только сами точки, в которых кодируется информация), QR Code , NFC URL . Здесь же можно выбрать формат файла и сам размер кода. В случае использования Microsoft Tag можно выбрать его монохромный вариант.

При сканировании QR кода обычной программой-сканером отобразится просто ссылка вида tagr.com/xxx. Для получения доступа к самой информации, необходимо открыть ее в браузере. При сканировании кода «родной» программой Microsoft Tag данные загрузятся с сервера MS автоматически. При этом будет отображена и дополнительная информация, такая как название метки, картинка метки в «истории» и пр. В общем и целом, использования QR кода в данном случае совершенно нецелесообразно.

Подробнее о сканировании кодов Microsoft Tag можно будет прочесть в описании самого сканера. Скажу только пару слов про формат Custom Tag Barcode. Как я уже писал, формат Microsoft Tag имеет огромный потенциал кастомизации. Фактически, код можно перекрашивать как угодно, главное не менять цвет точек, несущих информацию и не залезать на служебные области. При этом сами точки могут являться частью рисунка, их не требуется как-то выделять из окружающего их фона.

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

Программы сканеры

Barcode Scanner

Поддерживаемые форматы 2D кодов: QR, DataMatrix
Программа бесплатна. Имеет платную версию с поддержкой дополнительных форматов.

Начать хотел бы с классики жанра — программы Barcode Scanner (Zxing от Google).
Кто-то считает этот сканер слишком простым, но лично мне он очень нравится. В программе есть все, что нужно для выполнения ее основной функции и никаких лишних «наворотов». Этакий Linux way. Кому-то такой подход нравится, кому-то нет.

Accusoft Barcode Scanner

Поддерживаемые форматы 2D кодов: QR, DataMatrix, Aztec и PDF417

Как показала практика, многие сканеры в Play.Market сделаны на основе Barcode Scanner, а вернее Zxing от Google — . Поэтому, они в большинстве своем имеют очень похожий интерфейс и функционал. В качестве примера можно привести программу Accusoft Barcode Scanner, которая по сути является клоном Barcode Scanner. Главное отличие — дополнительная поддержка кодов Aztec и PDF417

QR Droid

Именно эта программа упоминалась в недавней статье Виталия Буздалова. Она также использует библиотеки Zxing, но обладает большим функционалом. К примеру, есть возможность предпросмотра ссылки, редактирования смс из самой программы, назначать действия по умолчанию для разных типов кодов и пр.


Нужно это или нет, каждый решает для себя сам. Кроме того, в программе есть довольно функциональный генератор кодов.




Кроме стандартных действий по генерации и чтению кодов, программа предлагает и ряд других полезных функций. Например, через нее можно быстро создать короткую ссылку. Это может быть весьма полезно для того, чтобы избежать излишнего «раздувания» QR кода. Кроме того, у вас всегда будет возможность посмотреть статистику переходов по такой ссылке. Еще один пример: можно загрузить изображение в интернет и сразу же сгенерировать на него ссылку в виде QR кода.

Microsoft Tag

Сканер, в первую очередь рассчитанный на работу с Microsoft Tag и QR кодами с сайта tag.microsoft.com . С обычными QR кодами программа работает значительно хуже. В качестве примера можно посмотреть на следующий скриншот, где показан результат декодирования QR кода типа «смс».


В то время, как обычный сканер предлагает отправить смску, сканер Microsoft Tag выводит просто весь набор закодированных данных.

В верхней части окна программы находится кнопка «Scan», в центре — список меток истории сканирования. Метки представлены в виде иконок, которые были назначены автором кода. Тут же отображается и название метки. Обычные QR коды, которые не имеют названия и иконки, в списке не отображаются. Разумеется, метки из списка истории можно открывать повторно.


На скриншоте ниже приведет результат сканирования кодов с закодированным текстом и с закодированной ссылкой на Android.MR




Выводы

Разумеется, рассказать о всех видах штрихкодов, программ для их чтения и ресурсах в рамках одной статьи невозможно. Поэтому, я упомянул только про некоторые из них, которые на мой взгляд, являются самыми актуальными.

В комментариях к прошлой статье про QR коды некоторые читатели высказывали мнение, что из-за появления NFC, двухмерные штрихкоды скоро исчезнут. Мне кажется, что этого не случится. Это две разные технологии, применение которых пересекается лишь частично. NFC удобнее для передачи информации. Иногда он используется для этого напрямую, иногда применяется только для установки соединения по более быстрому протоколу. Но вот напечатать NFC метку в домашних условиях еще очень долгое время будет проблематично. Из-за этого NFC врядли будет применяться, скажем, на электронных билетах. Да и размещать на объявлениях бесперспективно — чтобы считать ее, каждый будет вынужден подходить к такому объявлению вплотную, что не всегда возможно. Разумеется, при желании можно придумать и реализовать любой сценарий. Вопрос только в том, стоит ли?

Матричные коды – это такие многомерные помехоустойчи­вые коды, которые формируются на основе использования спе­циальных матриц путем организации проверок на четность ло­гических 1 по строкам и столбцам матрицы. (Примечание: допускается организация проверок (формирование проверочных уравнений) на нечетность, а также одновременно на четность и нечетность).

В соответствии с ГОСТом 20687-82 передаваемые блоки ин­формационных, символов записываются в виде столбцов и строк матрицы выбранного размера (ранга). Первоначальная запись информацион­ных символов по строкам или столбцам не имеет принципиального значения, т.е. не сказывается на характеристиках кода. Матрицы могут быть по форме представления квадратные и прямоугольные, т.е. рангами соответственно где k и l количество соответственно строк и столбцов, представляющие передаваемые информационные символы.

Одновременно с записью информационных символов по строкам (или по столбцам) производится формирование провероч­ного символа (проверки); обозначим передаваемые информацион­ные символы знаком а, а проверочные символы знаком b. В об­щем виде принцип формирования матричного кода можно представить в виде следующей матрицы:


Таким образом, ранг матрицы будет равен

Матрицы могут быть однорядными (в каждой строке и в каждом столбце формируются по одному проверочному символу) и многорядными (в каждой строке и в каждом столбце форми­руются по два, три и более проверочных символов).

Примечание: для синхронных и асинхронных систем связи ГОСТ 20687-86 предусматривает различные правила форми­рования проверочных символов по столбцам, а именно:

Для синхронных систем связи формируется четное число логических 1;

Для асинхронных систем связи формируется нечетное число логических 1.

На приемной стороне, т.е. в декодере, формируется аналогичная матрица рангом . Приемная матрица формируется следующим образом. В каждом столбце и в каж­дой строке по принятым информационным символам формиру­ются проверочные символы (b i , j) (проверки на четность), которые записываются в матрице рядом с соответствующими принятыми проверочными символами (смотри b n ,1 и b" n+1,1 b 1, n и b" 1, n+1 т.д.). Далее в каждой строке и в каждом столбце из принятых и вновь сформированных проверочных символов формиру­ются синдромные символы по правилу:

После окончания процедуры формирования синдромных символов могут быть реализованы два алгоритма декодирования матричного кода, а именно:

1) с обнаружением ошибок и повторной передачей пере­данного информационного блока;

2) с обнаружением позиций ошибочных информационных символов и их коррекцией.

Основные свойства одномерного матричного кода:

1) так как формирование проверочных символов осуществляется путем суммирования по модулю два информационных символов, то данный код относится к линейным кодам ;

2) в связи с тем, что каждая строка имеет вес w≥d 0 , то данный код относится к классу блоковых кодов ;

3) так как строки и столбцы матрицы образуют совокуп­ность кодовых последовательностей линейно-независимых отно­сительно операции суммирования по модулю два, то данный код обладает всеми свойствами групповых кодов ;

4) по способу передачи кодовых символов матричные коды могут быть как систематическими, так и несистематическими.

Параметры одномерного матричного кода.

1) N m =n 1 ×n 2 – длина кодовой последовательности, где – со-

ответственно количество строк и столбцов.

При , двоичных символов;

2) количество информационных символов, где k 1 и k 2 соответственно ко­личестве «информационных» строк и «информационных» столбцов. При двоичных символов;

3) R m = K m /N m =k 1 /n 1 ×k 2 /n 2 – скорость передачи кода,

4) l т =N m -K m - абсолютная избыточность кода,

5) r т =(1-R m)*100%- относительная избыточность кода,

6) d 0 m - минимальное ко­довое расстояние, Введение одного проверочного символа в по­следовательность простого безызбыточного кода, т.е. в блок из k информационных символов, позволяет обнаруживать однократ­ные и нечетные ошибки, а в соответствии с теорией кодирова­ния, для обнаружения ошибки d 0 должно быть равно или более Аналогично определяется d 02 по столбцам матрицы. Следовательно, одномерный матричный код имеет и позволяет обнаруживать двукратные ошибкиили исправлять однократные ошибки


Для обнаружения и коррекции ошибочных информационных символов используются сформированные синдромные сим­волы Sij строк и столбцов, и реализуется следующее правило:

Если при приеме информации ошибочным будет только один информационный символ, то синдромные символы данной строки и столбца будут ненулевыми, т.е. равны 1;

Для коррекции ошибочного символа необходимо опреде­лить его позицию в матрице, которая, как легко установить, находится на пересечении соответствующей строки и столбца с ненулевыми синдромными символами, т.е. S i и S j .

7) Р н.ош т – вероятность необнару­женной ошибки

Представляющий собой чёрно-белые элементы или элементы нескольких различных степеней яркости, обычно в форме квадрата, размещённые в прямоугольной или квадратной группе. Матричный штрихкод предназначен для кодирования текста или данных других типов. Чаще всего в промышленности и торговле применяются битовые матрицы, кодирующие от нескольких байт до 2 килобайт данных. При желании можно распечатать на принтере матрицы ёмкостью в сотни килобайт и затем считывать их с достаточно высокой точностью при помощи фотоаппаратов, матрицы которых содержат миллионы пикселей. Прообразом штрихкодов в виде матриц являются перфокарты .

DataMatrix

Техническая спецификация

Символы DataMatrix образованы из модулей, расположенных в пределах шаблона поиска. Ими можно зашифровать до 3116 кодов таблицы ASCII (включая избыточную информацию). Символ состоит из областей данных, которые содержат модули в виде периодического массива. Каждая область данных ограничена шаблоном поиска и окружена со всех четырех сторон границами свободной зоны. (Замечание: модули могут быть круглыми или квадратными, конкретная форма стандартом не закреплена).

Data Matrix ECC 200

ECC 200 - это новейшая версия DataMatrix, использующая коды Рида-Соломона для предотвращения ошибок и восстановления стертой информации. ECC 200 делает возможным восстановление всей последовательности закодированной информации, когда символ содержит 30 % повреждений, предполагая, что матрица все ещё расположена в точности правильно. DataMatrix имеет частоту появления ошибок меньше, чем 1 на 10 миллионов сканированных символов.

Символы имеют четное количество рядов и четное количество столбцов. Большинство символов квадратные размерами от 10x10 до 144x144 модулей. Однако некоторые символы прямоугольные и имеют размеры от 8x18 до 16x48 модулей (только четные значения). Все символы, поддерживающие исправление ошибок ECC 200, могут быть опознаны по верхнему правому угловому модулю, имеющему один цвет с фоновым.

14.12.2009

История появления и развития популярных двумерных штриховых кодов

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

Тенденция к созданию портативных баз данных впервые появилась в 1984 г., когда Automotive Industry Action Group (AIAG) опубликовала стандарт приложения в отношении идентификационных меток для автозапчастей при транспортировке, которые состояли из четырех «сложенных» (стековых) штрих-кодов Code 39. Эти сложенные штриховые коды содержали номер запчасти, количество, имя поставщика и серийный номер.

Первый по-настоящему двумерный был представлен в 1988 г. Intermec Corporation, когда они объявили о введении Code 49. После введения Code 49 были разработаны или модернизированы шесть других кодов, отвечавших потребности вместить портативную базу данных в максимально малое пространство.

В настоящее время для описания этого нового класса символов для доступа к информации используются несколько терминов. Двумерный код, или 2-D-код является общим для всего данного класса.

Термины «сложенная символика»или «многорядный код» применяются в отношении символики, состоящей из последовательностей одномерных кодов. Данные закодированы с использованием последовательностей штрихов и промежутков между ними различной ширины.

Термин «матричный код» применяется в отношении двумерных кодов, кодирующих информацию с помощью расположения темных участков в матрице. Каждый темный элемент имеет один и тот же размер, а информация кодируется расположением элемента.

Обычный штриховой код является «вертикально избыточным», что означает, что та же информация повторяется в вертикальном измерении. Верхняя часть штрихов может быть срезана безо всякой потери информации. Однако вертикальная избыточность позволяет считывать символы с полиграфическими дефектами, например, пятнами или пробелами. Чем выше штрихи, тем больше вероятность, что хотя бы одну полосу штрихового кода можно считать.

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

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

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

Трехмерный штриховой код (рельефный штриховой код (Bumpy Barcode ))

Трехмерный штриховой код – это на самом деле любой линейный (одномерный) код (например, Code 39 или Code 128), тисненный на поверхности. Этот код считывается с учетом различий высоты, а не контраста, с целью различения штрихов и промежутков между ними, с помощью специального считывающего устройства. Этот код может использоваться, когда отпечатанные этикетки невозможно наклеить на поверхность или когда они могут быть повреждены в агрессивной или разрушающей среде. На них может быть нанесена краска или покрытие и, тем не менее, их легко можно считать. Они могут быть постоянной особенностью предмета, что исключает неправильную маркировку.

3-DI был разработан Lynn Ltd и является фирменным кодом. В 3-DI используются небольшие круговые символы. Он наиболее подходит для нанесения идентификационных меток на блестящую изогнутую металлическую поверхность, например, на хирургические инструменты.

ArrayTag

ArrayTag был разработан д-ром Уорреном Д. Литтлом (Dr. Warren D. Little) в Университете Виктории и является фирменным кодом. Символ состоит из простых шестиугольных символов с дополнительной границей, которые наносятся либо отдельно, либо группами в определенной последовательности. ArrayTags могут кодировать сотни опознавательный знаков и считываются на расстоянии до 50 метров. Они оптимальны для считывания на различном расстоянии и при различном освещении. Основная область применения этого кода – отслеживание лесо- и пиломатериалов.

Aztec Code

Aztec Code был разработан Энди Лонакром (Andy Longacre) из Welch Allyn Inc. в 1995 г.. Этот код открыт для общего пользования. Aztec Code разрабатывался для обеспечения простоты печати и декодирования. Квадратные символы расположены на квадратной сетке с квадратной мишенью «кошачий глаз» в центре. Самый маленький символ Aztec Code представляет собой квадрат 15x15 модулей, а самый большой - 151х151. Самый маленький символ Aztec Code кодирует 13 цифровых или 12 буквенных знаков, в то время как самый большой символ Aztec Code кодирует 3832 цифровых или 3067 буквенных знаков, что составляет 1914 битов информации. Этот код не требует «зоны молчания» за пределами символа. В целом предлагается 32 размера символов и пользователь сам определяет уровень кодирования исправления ошибок по технологии Рида-Соломона (Reed-Solomon) – от 5% до 95%. Рекомендуемый уровень – 23 % размера символа плюс 3 кодовых слова Рида-Соломона.

Все восьмиразрядные значения могут быть закодированы. Значения 0 - 127 интерпретируются как набор знаков ASCII, а 128 – как ISO 8859-1, Latin Alphabet No. 1. Знаки, не несущие информацию, могут кодироваться с использованием FNC1 для совместимости с некоторыми существующими приложениями и escape-фразами ECI для стандартизированного кодирования информации об интерпретируемых блоках данных.

Small Aztec Code

Small Aztec Code представляет собой компактную версию Aztec Code, используемую для кодирования коротких блоков данных (до 95 знаков). Меньшее пространство используется благодаря снятию одной комбинации кругов с шаблона поиска, отсутствию координатной сетки и использованию более коротких блоков данных, ограничивающих символ четырьмя уровнями данных. В остальном, правила кодирования в основном те же, что и в отношении стандартного Aztec Code. Символы Small Aztec полностью совместимы с дешифратором, применяемым для стандартных символов Aztec, поэтому оба вида этого кода могут применяться в одних и тех же областях.

Существуют четыре возможных размера символов Small Aztec. Как и в стандартном Aztec Code, символы первого и второго уровней применяют шестиразрядные кодовые комбинации для исправления ошибок, а символы третьего и четвертого уровня используют восьмиразрядные кодовые комбинации. Несмотря на то, что четырехслойный символ содержит 76 кодовых комбинации, лишь 64 из них могут быть кодовыми словами. Таким образом, символы Small Aztec могут кодировать лишь 512 битов информации (обычно около 95 знаков или 120 цифр).

Codablock

Codablock – это сложенная символика на основе ICS Identcode-Systeme. Он был разработан Генрихом Элманном (Heinrich Oehlmann) и изначально представлял собой пакет символов Code 39.

Каждый символ Codablock содержит от 1 до 22 рядов. Число знаков в ряду является функцией x-размера символа. Иными словами, каждый ряд может содержать разное количество символов. Каждый символ имеет начальные и конечные штрихи по всей высоте символа. Каждый ряд имеет двузначный указатель ряда, а последний ряд символа может иметь дополнительный контрольную цифру. Программа печати символа должна рассчитывать не только число необходимых рядов, как в других сложенных символиках, но также определять число знаков в ряду и плотность печати, необходимые для наилучшего размещения информации в символе Codablock.

Данный код представляет собой непрерывный тип штрих-кода переменной длины, который может кодировать набор знаков Code 39 (10 цифр, 26 букв, пробел и 6 символов). Его плотность не больше плотности символа Code 39 при определенной плотности печати. Например, максимальная плотность печати - 56 буквенно-цифровых знаков на 1 квадратный дюйм для символа, имеющего 7,5 mils (1 мил – 1 тысячная дюйма) и соотношение штриха 2/1.

В настоящее время используется версия Codablock F, которая в целом представляет собой набор нескольких уровней символов Code 128. Символ Codablock F состоит из 2 - 44 рядов, в каждом из которых не больше 62 символов. Каждый ряд считывается стандартным считывающим устройством для Сode 128 и содержит дополнительную информацию в отношении нумерации рядов и размера символов для того, чтобы собрать декодированные выходные сигналы с каждого ряда для воспроизведения полного сообщения в правильной последовательности.

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

Code 1 (Code One)

Code 1 был изобретен Тедом Уильямсом (Ted Williams) в 1992 и является самой первой безлицензионной матричной символикой. В этом коде используется шаблон поиска, состоящий из горизонтальных и вертикальных штрихов, пересекающих среднюю часть символа. Символ может кодировать информацию ASCII, информацию по устранению ошибок, управляющие символы и закодированные двоичные данные. Принято 8 размеров – от кода 1A до кода 1H. Код 1A может содержать 13 буквенно-цифровых знаков или 22 цифры, а код 1H - 2218 буквенно-цифровых знаков или 3550 цифр. Самый большой символ имеет 134x в ширину и 148x в высоту. Сам код может иметь разнообразную форму, например, L, U, или T-образную форму.

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

Code 16K

Code 16K был разработан Тедом Уильямсом (Ted Williams) в 1989 как многорядная символика, отличающаяся простотой печати и декодирования. Уильямс разработал также Code 128, а структура 16K основана на Code 128. Название кода не случайное - 128 в квадрате равняется 16 000, или кратко 16K. С помощью Code 16K удалось решить проблему Code 49, структура которого требует большого объема памяти для кодирования и декодирования таблиц и алгоритмов. 16K является сложенной символикой.

Каждый символ Code 16K содержит от 2 до 16 рядов, в каждом ряду 5 знаков ASCII. Кроме того, до 107 16-рядных символов могут быть объединены в цепочку друг с другом, что позволяет кодировать до 8,025 знаков ASCII или 16 050 цифровых знаков. В расширенном режиме первые три знака в каждом 16-рядном символе определяют знаковый режим, порядок шестнадцатирядных символов в блоке и общее число символов в блоке.

Данный код представляет собой непрерывный тип штрих-кода переменной длины, который может кодировать полный комплект из 128 знаков ASCII. Минимальное x-размер - 7,5 mils для каждого символа, который может считываться считывающим устройством. Минимальная высота штриха – в 8 раз больше х-размера. Максимальная плотность записи данных - 208 буквенно-цифровых знаков на 1 квадратный дюйм, или 417 цифровых знаков на 1 квадратный дюйм в том случае, когда символ печатается с х-размером 7.5 mils. В медицинской промышленности, например, символ Code 16K, напечатанный с х-размером 7.5 mils, включающий флаг, десятиразрядную цифру NCD, пятиразрядную цифра, обозначающую срок годности, и 10 буквенно-цифровых знаков кода серии, может быть размещен на символе размером лишь 0,35 дюйма на 0,61 дюйма.

Символы Code 16K могут считываться модифицированным лазером с движущимся лучом или сканерами CCD. Ряды можно сканировать в любом порядке. После того, как считан последний ряд, устройство, считывающее штрих-код, выстраивает информацию в правильной последовательности. Этикетки могут печататься с помощью стандартных технологий печати. Судя по всему, не существует патента США.

Code 49

Code 49 был разработан Дэвидом Элаисом (Favid Allais) в 1987 в Intermec Corporation с целью решения задачи размещения большого количества информации в символе очень малых размеров. Code 49 решает эту задачу с помощью использования последовательностей символов штрих-кода, расположенных в несколько уровней друг над другом. Каждый символ может иметь от двух до восьми рядов. Каждый ряд состоит из начальной зоны молчания, стартовой комбинации, четырех информационных слов, кодирующих восемь знаков, где последний знак – знак проверки строк; стоповую комбинацию и завершающую зону молчания. Каждый ряд кодирует информацию с помощью 18 штрихов и 17 пробелов и разделяется высоким модульным разделительным штрихом (разделителем рядов).

Данный код представляет собой непрерывную символику переменной длины, которая может кодировать полный набор из 128 символов ASCII. В действительности его структура является неким гибридом UPC и Code 39. Intermec сделал этот код общедоступным (безлицензионным).

При минимальном х-размере 7.5 milsм каждый символ может считываться любым считывающим устройством. Если х-размер составляет 7,5 mils, а минимальная высота восьмирядного символа – 0, 5475 дюймов, то максимальная предполагаемая плотность составит 170 буквенно-цифровых знаков на один квадратный дюйм. В медицинской промышленности размер символа, включающего флаг, десятизначную цифру NDC, пятизначную цифру срока годности и десятизначный буквенно-цифровой код партии, составит 0,3 дюйма на 0,53 дюйма. Размер пятнадцатизначного символа Code 49, обозначающего серийный номер печатной платы, составит всего 0,1 дюйм на 0,3 дюйма.

Сканирование Code 49 может производиться с помощью модифицированных сканеров с движущимся лазерным лучом или сканера CCD. Intermec производит сканеры CCD, которые могут декодировать символы Code 49 наряду со стандартными штрих-кодовыми символиками. Этикетки могут печататься с использованием стандартных технологий печати.

ColorCode

Разработанный учеными Университета Yonsei (Корея), ColorCode™ представляет собой фирменную двумерную штрих-кодовую систему, предназначенную для хранения URL, которая может считываться камерой мобильного телефона. С его помощью камера определяет индексированные коды, которые в свою очередь связаны с соответствующей информацией. Матрица, состоящая из отдельных блоков и аналоговых данных, касающихся числа цветов, оцифровывается, а затем обрабатывается выделенным сервером с использованием зарегистрированных адресов этих кодов.

CP Code

CP Code – фирменный код, разработанный CP Tron, Inc. Он состоит из квадратных матричных символов с L-образной периферийной мишенью и прилегающих установочных меток. Визуально этот код напоминает Data Matrix Code.

DataGlyphs

DataGlyph – оригинальный код, разработанный Xerox PARC . Этот код состоит из комбинации маленьких «/» и «/» на сером фоне, кодирующих двоичную информацию, включая синхрогруппы и коррекцию ошибок. Каждый знак может иметь в длину 1/100 дюйма (0.25мм). Данный код обеспечивает плотность 1000 байтов из 8 битов на 1 квадратный дюйм. DataGlyph допускает наличие чернильных меток, низкое качество изображения и даже наличие скрепок на символе, благодаря внутренней программе коррекции ошибок и случайных элементов.

DataGlyphs разработан таким образом, что он обладает способностью сливаться с дизайном продукции, на которой он напечатан. DataGlyphs может быть логотипом или фоном для текста или изображения. Области применения – опросные листы, бланки для ответа при прямой рассылке и визитные карточки. Символы могут считываться с помощью программ сканирования изображения.

Data Matrix

Data Matrix, разработанный Siemens, представляет собой двумерный код, предназначенный для размещения большого количества информации на очень ограниченном пространстве. Символ Data Matrix может хранить от 1 до 500 знаков. Размер символа может варьироваться от 1 квадратного mil ила до 14 квадратных дюймов. Это означает, что символ Data Matrix может иметь плотность до 500 миллионов знаков на 1 квадратный дюйм! В действительности, плотность, конечно же, зависит от разрешения при печати и используемой технологии считывания.

Данный код обладает рядом других интересных особенностей. Так как информация кодируется абсолютным, а не относительным положением точки, она не подвержена влиянию дефектов печати, подобно обычным штриховым кодам. Схема кодирования имеет высокий уровень избыточности информации, «рассредоточенной» на поверхности символа. По данным компании, это позволяет правильно считывать символ, даже если часть его отсутствует. Каждый символ Datacode имеет две прилежащие стороны в виде сплошных штрихов, а остальные символы печатаются в виде комбинаций квадратных точек, расположенных на одинаковом расстоянии друг от друга. Такие изображения используются для обозначения как ориентации, так и плотности печати символа.

Существуют две основные подгруппы символов Datamatrix. Те, которые используют сверточное кодирование для исправления ошибок и применялись для установки большей части систем Datamatrix, имеют обозначения от ECC-000 до ECC-140. Вторая подгруппа обозначается ECC-200 и использует технологии исправления ошибок по методу Рида-Соломона. Все символы подгруппы ECC-000 - 140 имеют нечетное число модулей вдоль каждой стороны квадрата. Символы ECC-200 имеют четное число модулей на каждой стороне. Максимальная информационная емкость символа ECC-200 составляет 3116 цифровых знаков, или 2335 буквенно-цифровых знаков на 1 символ, представляющий собой квадрат из 144 модулей.

Наиболее популярные области применения Datamatrix – это маркировка предметов малых размеров, например интегральных микросхем и печатных плат. В этих случаях используется способность этого кода кодировать приблизительно пятьдесят единиц информации на поверхности символа размерами 2 или 3 квадратных мм, а также тот факт, что он может считываться при контрастности всего лишь 20 процентов.

Этот код может считываться с помощью видеокамеры CCD или сканера CCD. Символы размерами от одной восьмой квадратного дюйма до семи квадратных дюймов могут считываться на расстоянии до 36 дюймов. Обычная скорость считывания - 5 символов в секунду.

Datastrip Code

Datastrip Code вначале назывался Softstrip и был разработан Softstrip Systems. Эта самая ранняя из двух двумерных символик. Данный оригинальный код в настоящее время принадлежит Datastrip Inc. Это запатентованная система кодирования и сканирования, позволяющая печатать информацию, изображения и даже оцифрованный звук на простой бумаге и очень сжатом формате и безошибочно считывать их при помощи компьютера.

Основные компоненты Datastrip – напечатанные графические изображения (the Datastrip) и оптико-электронные считывающие устройства. Код Datastrip представляет собой матричное изображение, состоящее из очень маленьких прямоугольных черных и белых областей (DiBits). Маркеры с одной стороны и по верхней полосе (указатель начала строки, шахматный шаблон и рамка) содержат установочную информацию для устройств, предназначенных для считывания Datastrip Code, и обеспечивают неискаженность данных. Информация в заголовке содержит подробности о данных, хранящихся в полосе: название файла, число байтов, плотность слоя данных и т.д. Метод кодирования Datastrip, включающий биты контроля четности в каждую кодируемую строку, обеспечивает очень высокую надежность и возможность коррекции ошибок.

Полосы информации обычно имеют 5/8 дюймов в ширину и 9 дюймов в длину. Плотность данных варьируется от 150 до 1 000 байтов на 1 квадратный дюйм в зависимости от технологии печати, используемой при их производстве. Datastrip Code может успешно производится с помощью большинства матричных лазерных принтеров (включая высокоскоростные лазерные принтеры), а также струйных или термографических печатных устройствам. Datastrip Code может воспроизводиться на большей части видов бумаги (включая газетную бумагу) и пластмассе, с использованием обычных технологий печати – от офисных фотокопировальных устройств (для полос с меньшей плотностью) до скоростных ролевых печатных машин. Полосу с низкой плотностью (до 1 100 байта на 1 9-дюймовую полосу) могут изготавливаться на матричных принтерах. Полосы, содержащие до 3 500 байтов, могут изготавливаться с помощью лазерных принтеров. Полосы с очень высокой плотностью (до 4 800 байтов) требуют более сложных технологий изготовления с использованием фотографических технологий.

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

Dot Code A

Dot Code A (также известный как Philips Dot Code) является одним из немногочисленных точечных кодов. Эта символика разрабатывалась для идентификации объектов на относительно малой площади, или же для прямой маркировки с помощью технологий маркировки, отличающихся низкой точностью. Символ состоит из определенной последовательности точек – от 6 x 6 до 12 x 12, последняя из которых позволяет определять более 42 миллиардов отдельных предметов. Области применения – идентификация лабораторной стеклянной посуды и маркировка белья в прачечной.

Штриховой код High Capacity Color Barcode (HCCB) использует преимущества инновационных устройств обработки изображений, а также другие технологии обработки данных с целью обеспечения хранения информации в очень сжатом виде в аналоговых печатных материалах. Это достигается с использованием штрихкодовых символов различной формы в сочетании с использованием различных цветов для каждого символа. Код защищен авторскими правами.

HueCode – фирменный код, разработанный Robot Design Associates. Этот код состоит из блоков ячеек, содержащих более одного бита информации. Это достигается путем использования различных оттенков серого цвета. Символ может печататься на пластмассе или бумаге. Плотность информации зависит от используемых технологий и варьирует от менее 640 байтов/кВ. дюйм до 40 000 байтов/кВ. дюйм при использовании сублимационных принтеров. HueCode считывается с помощью планшетного сканера, настроенного на 400x400 DPI (количество точек на дюйм) и патентованного программного обеспечения. Код предназначен для хранения текстовой информации на обороте визитных карточек или медицинских карт.

INTACTA . CODE

INTACTA.CODE™ представляет собой фирменный код, разработанныйINTACTA Technologies, Inc. Он может обрабатывать любую двоичную информацию, например, выполняемые файлы, видео, текстовую информацию, аудиофайлы (или сочетание файлов) с применением INTACTA.CODE™ для сжатия, кодирования и коррекции ошибок с целью создания оболочки, позволяющей безопасно дистрибутировать данные, в то же время поддерживая сохранность формата и содержания.

MaxiCode

Maxicode (первоначально именовавшийся UPSCode и иногда Code 6) представляет собой матричный код, разработанный United Parcel Service в 1992. Тем не менее, это не последовательность квадратных точек - MaxiCode состоит из комбинации из 866 переплетающихся шестиугольников, размером 1 дюйм на 1 дюйм. В результате плотность этого кода по крайней мере на 15 процентов выше, чем плотность обычного кода, использующего точки квадратной формы, однако, для печати таких символов требуются принтеры с более высокой разрешающей способностью, например, термографические или лазерные принтеры. В центре символа находиться мишень «кошачий глаз», позволяющий сканеру отличать этикетку независимо от ее положения.

В символе размером 1 дюйм может располагаться около 100 знаков ASCII. Символ может быть прочитан, даже если до 25 процентов его были повреждены, Он также может считываться с помощью камеры или сканера CCD.

MiniCode

MiniCode был разработан Omniplanar, Inc. (теперь принадлежащей Honeywell). Он состоит из квадратных матричных символов и использует патентованную технологию кодирования информации как с низким разрешением (отслеживание/сортировка), так и с высоким разрешением (путевые листы перевозчика).

PDF 417

PDF417 представляет собой многоуровневую символику и был разработан Инджиуном Вангом в 1991 в Symbol Technologies, которая теперь принадлежит Motorola. PDF означает Portable Data File (портативный информационный файл) и символика состоит из 17 модулей, содержащих 4 штриха и промежутки между ними (отсюда число "417"). Код открыт для общего пользования.

Структура кода позволяет размещать от 1000 до 2000 знаков в одном символе с плотность информации от 100 до 340 знаков. Каждый символ имеет стартовую и стоповую группу штрихов протяженностью по всей высоте символа.

Символ PDF417 может считываться с помощью модифицированного ручного лазерного устройства или сканеров CCD. Для печати этой символики следует использовать принтеры с высокой плотностью печати (термографические или лазерные).

Micro PDF417

MicroPDF417 разработан на основе PDF417. Этот код имеет ограниченный набор размеров символов и фиксированный уровень коррекции ошибок для каждого размера. Размеры модулей программируются пользователем таким образом, чтобы символ можно было напечатать на различных принтерах. Символика позволяет хранить до 150 байтов информации, 250 буквенно-цифровых знаков или 366 цифровых знаков. Это достигается путем определения одного из трех режимов сжатия: информационного, текстового или цифрового. Сжатие текстовой информации позволяет кодировать все печатаемые знаки ASCII (включая значения от 32 до 126), а также выделенные управляющие символы. Режим побайтового сжатия позволяет кодировать все возможные 256 восьмизначные символы, включая все знаки ASCII от 0 до 127, и обеспечивает международную поддержку этого набора символов.

MicroPDF417 предназначен для тех областей применения, где символ должен быть меньше, чем допускается при использовании PDF417.

QR Code (Quick Response Code) представляет собой матричный код, разработанный Nippondenso ID Systems и является безлицензионным. Символы QR Code имеют квадратную форму и легко определяются благодаря шаблону поиска, представляющему собой комбинацию вложенных друг в друга перемежающихся темных и светлых квадратов, расположенных по трем углам символа. Максимальный размер символа - 177 квадратных модуля, что позволяет кодировать 7366 цифровых знаков, или 4464 буквенно-цифровых знаков. Одной из важнейших отличительных черт символики является ее способность совершать прямую кодировку символов и литер японского алфавита. QR Code предназначен для быстрого считывания с использованием камер CCD и технологий обработки изображений благодаря шаблону поиска.

Snowflake Code

Snowflake Code – оригинальный код, разработанный Electronic Automation Ltd. в 1981. Он представляет собой определенную комбинацию точек квадратной формы, напоминающую "Dot Code" компании Philips. Он позволяет кодировать более 100 цифровых знаков на площади всего 5мм x 5мм. Программа коррекции ошибок, программируемая самим пользователем, позволяет считывать символы даже в случае повреждения 40% кода.

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

SuperCode

SuperCode был разработан Инджиуном Вангом (Ynjiun Wang) в 1994 г. и открыт для общего пользования. Эта символика использует пакетную структуру, то есть является разновидностью многорядной символики. Существуют точные правила горизонтального расположения знаков в пакете, однако допускается большая свобода в вертикальном и горизонтальном расположении пакетов по сравнению с расположением матриц, состоящих из колонок и рядов в многорядной символике. Пакетная структура SuperCode позволяет размещать каждый знак, кодирующий ключевое слово для исправления ошибок, рядом с знаком символа, кодирующим адрес пакета. Таким образом, последовательность ключевых слов известна несмотря на расположение пакета. Это не только позволяет использовать непрямоугольные формы символов, но и делает возможным размещение пакетов таким образом, чтобы они не располагались впритык друг к другу.

Максимальное число знаков в символе при самом низком уровне коррекции ошибок составляет 4 083 буквенно-цифровых знаков, 5 102 цифровых знаков или 2 546 байтов. Символы SuperCode имеют кодовые слова для коррекции ошибок на основе алгоритмов коррекции ошибок Рида-Соломона, которые могут использоваться не только для обнаружения ошибок, но и для коррекции неправильно закодированных или пропущенных кодовых слов. Пользователь может выбрать один из 32 уровней коррекции ошибок.

Ultracode

Ultracode был разработан Zebra Technologies и открыт для общего доступа. Символ состоит из полосы колонок переменной длины, состоящих из элементов изображения, ширина которых не является строго определенной. Код включает цифровой и буквенно-цифровой режимы с новейшими технологиями обработки страницы (язык программирования/код), и различными уровнями коррекции ошибок Рида-Соломона, которые может выбирать сам пользователь. Поддерживается как черно-белая, так и цветная версии, обладающая большей плотностью. В символике используются пары вертикальных колонок из 7 монохромных (черно-белых) или 8 многоцветных (обычно белых, красных, зеленых, синих, бирюзовых, сиреневых, желтых и черных) ячеек для кодирования единицы информации в виде точки на различных уровнях символа (43 уровня языковых групп).

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