Двухмерный штрих код или QR код. Как работает баркод (QR-коды, DataMatrix, Microsoft Tag)

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 лучше всего подходит для прямой печати с низкой линейной точностью.

Алексей Максимов

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

Роль штрих-кода трудно переоценить. Ведь этикетка со штрихами содержит в себе базовую информацию - ссылку на позицию в компьютерной базе данных, хранящей всю информацию о продукте (наименование, производитель, цена и т. д.). Портативные терминалы для считывания этих кодов достаточно широко представлены на российском рынке (см., например, PC Week/ RE, № 10/98, с. 29), так что у торговых предприятий действительно есть выбор.

Образцы двухмерных штрих-кодов

Но технология не стоит на месте, на смену одномерным штрих-кодам и устройствам для их нанесения и считывания идут двухмерные штрих-коды и соответствующее оборудование. На выставке CeBIT’98 мое внимание привлек новый компактный универсальный сканер QHT-1000 японской корпорации Denso, входящей в концерн Toyota Tsusho. Это устройство позволяет считывать и декодировать как одномерный штрих-код (UPC, EAN, ITF, NW7, Code 39 и Code 128), так и двухмерный код спецификации Quick Response Code (QR Code), разработанной фирмой Denso. Но прежде чем рассказать о возможностях этого сканера, попробую кратко объяснить, что такое двухмерный штрих-код.

Чуть-чуть истории

История двухмерных штрих-кодов развивалась по двум направлениям. Первое - создание матричных кодов - родилось в начале 80-х с появления двух разработок: Vericode американской фирмы Veritec и CP Code японской компании ID Tech. В конце 80-х представили свои матричные коды Data Matrix и Maxi Code компании International Data Matrix и United Parcel Services (UPS) соответственно. В 1990 г. канадская фирма Array Tech Systems предложила оригинальный вариант матричного кода Array Tag, в котором данные представлялись фигурами гексагональной и октагональной формы. Чуть позже - в 1991 г. - появился матричный код Code One американской фирмы Laserlight Systems. Свой QR Code компания Denso предложила в 1994 г., но следом за ней - в 1995 г. - появилась разработка Aztech Code американской фирмы Wellch Allyn.

Второе направление - создание квазидвухмерных составных штрих-кодов - началось в 1985 г. с появления Code 49 американской компании Intermec, в котором можно расположить до 8 рядов штрихов на том же пространстве, что занимает линейный код. В конце 80-х вышло еще несколько разработок: Codablock немецкой фирмы Identicode System, Code 16K компании Laserlight Systems и PDF417 (PDF, Portable Data File) фирмы Symbol Technologies (США). И, наконец, в 1996 г. американская компания Zebra представила претендующий на универсальность составной код Ultracode.

Из всех этих кодов особого внимания заслуживает PDF417. Он используется в армии США и других американских государственных службах. Например, его наносят на личные карточки персонала для идентификации личности. Насколько мне известно, несколько лет назад российское Министерство обороны занялось тестированием этого кода на предмет возможности его применения для идентификации личности и в военной логистике. К сожалению, данными о результатах этого проекта я не располагаю.

Другой важной особенностью кода PDF417 является впервые встроенный в него метод коррекции ошибок Рида - Соломона. Этот метод изначально разрабатывался математиками Ридом и Соломоном из компании Hughes Aerospace для космических зондов типа “Вояджер” и предназначался для повышения устойчивости приема и распознавания слабого и зашумленного радиосигнала. В случае двухмерного штрих-кода метод обеспечивает чтение и декодирование изображения, даже если его значительная часть испорчена (например, оторвана или зачеркнута)

Особенности двухмерных штрих-кодов

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

Сканер Denso QHT-1000

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

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

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

QR Code - ставка на скорость

При разработке двухмерного матричного штрих-кода фирмы Denso особое внимание было уделено скорости считывания/декодирования. Представители компании утверждают, что им удалось достичь на порядок более высокого быстродействия - 30 этикеток в секунду (каждая емкостью 100 символов) против максимум 3 этикеток в секунду (такой же емкости) в кодировке Data Matrix или PDF417. Секрет заключается в применении комбинированного метода: считывание происходит сразу по всем направлениям, а ускорить процедуру декодирования помогают специальные детекторы положения (вложенные квадраты, расположенные в трех углах этикетки). Благодаря этим значкам сканер легко и быстро разбирается как в размере кода, так и в ориентации этикетки на плоскости.

Спецификация QR Code находится в состоянии развития, но судить об основных характеристиках кода можно, например, по варианту QR Code Model 2. Этот вариант допускает следующую максимальную емкость кода (в зависимости от типа данных): 7089 цифр, 4296 буквенно-цифровых символов, 2953 двоичных символов (8-битных) или 1817 символов японского языка в кодировке Kanji-Kana. Допускается кодирование смеси данных разных типов. Данные в QR Code представляются совокупностью черных и белых точек, каждая из которых трактуется как единица данных, или модуль. Размер кода варьируется от 21х21 до 177х177 модулей (шаг увеличения кратен 4). Нетрудно оценить, какая площадь требуется для этикетки той или иной емкости. Например, если применяется код 105х105 модулей, а размер каждого модуля равен 0,25 кв. мм, то площадь области кода составит 105х0,25 кв. мм = 26,25 кв. мм. Сюда надо добавить необходимые поля (шириной не менее четырех модулей). В итоге получаем, что искомая площадь этикетки составит (105+8)х0,25 кв. мм = 28,25 кв. мм.

Применяемый в QR Code метод коррекции ошибок Рида - Соломона предполагает добавление в записываемые данные специального кода с логикой кодирования. В зависимости от требуемого уровня надежности используются четыре уровня коррекции (естественно, за более высокую надежность приходится платить увеличением объема суммарного кода). Эти уровни, обозначаемые L, M, Q и H, гарантируют восстановление данных, если площадь поврежденной поверхности этикетки не превышает 7, 15, 25 и 30% соответственно.

Здесь приведены далеко не все особенности QR Code, но в данной статье мы не ставим целью дать его исчерпывающее описание, заинтересовавшиеся этой темой могут найти более подробную информацию в специальной литературе или на Web-узле компании Denso (www.denso.co.jp).

Универсальный сканер QHT-1000

Создать код и не создать аппаратное обеспечение для работы с ним было бы равнозначно гибели интересной идеи. Поэтому компания Denso предлагает различные средства нанесения и считывания QR Code. Если для печати можно применять широкий круг этикеточных принтеров, то сканеры требуются специализированные, использующие алгоритмы быстрого чтения и декодирования именно этого кода. До недавних пор Denso производила ручной сканер QS-10H, точечный сканер QS-10P и камеру-декодер QD-10. Новинка в этом ряду - ручной сканер QHT-1000, распознающий как QR Code, так и основные линейные коды.

Это компактное устройство массой 320 г оснащено 2 или 4 Мб памяти, подсвечиваемым ЖК-экраном с разрешением 128х64 пиксела, инфракрасным IrDA-совместимым и последовательным интерфейсами, обеспечивающими беспроводной и проводной обмен данными с ПК. В QHT-1000 применяется 16-разрядный КМОП-микропроцессор и 32-разрядный RISC-процессор, а также CCD-сканер с разрешением 0,25 мм. Размер области сканирования составляет 38х28 мм.

Разработать приложения для QHT-1000 можно с помощью фирменного инструментария BHT-Basic 3.0. Для этого устройства создана утилита инфракрасного обмена Ir-Transfer Utility, выполняемая на хост-компьютере, а также ПО Easy Pack Q, предназначенное для сбора данных, представленных в виде QR Code и линейных штрих-кодов.

Заключение

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

Штриховой код — это последовательность черных и белых полос, представляющая некоторую информацию в виде, удобном для считывания техническими средствами.

Потребность кодировать больше информации на меньшем пространстве привела к разработке, стандартизации и росту использования двумерных(2D ) штриховых кодов. Двухмерные штрих-коды разработаны для кодирования большого объёма информации. проводится в двух измерениях(по горизонтали и по вертикали). Таким образом, двухмерный код, содержащий в себе не только идентификатор, но и некий набор описывающих объект реквизитов является своего рода« портативной базой данных», что позволяет обходиться без внешней базы данных, значительно расширяя сферу применения технологии штрихового кодирования. В настоящее время наиболее распространён вид двухмерного штрих-кода Aztec. В каждом символе можно выделить область мишени и область данных. Мишень представляет собой набор концентрических квадратов и служит для определения геометрического центра символа в процессе его декодирования. Существуют два основных формата символа Aztec Code:«Compact »(Компактный) символ с мишенью из двух квадратов и«Full -Range»(Полный) символ с мишенью из трех квадратов.

Там, где традиционные одномерные(1 D) штриховые коды наиболее часто работают как <номерной знак> в качестве ссылки на информацию, хранящуюся в базе данных, 2D коды выполняют те же функции, занимая в то же время гораздо меньше места, или работают непосредственно как самостоятельные базы данных, тем самым обеспечивая полную мобильность промаркированных изделий. На сегодняшний день удобство и функциональность двумерных символик сыграли значительную роль в их стандартизации, а области применения продолжают непрерывно расширяться.

Тип Stacked linear (линейный штрих-код) увеличивает информацию, которую способен хранить штрих код за счет расположения одномерных штрих кодов один над другим. Штрих коды типа Code 16K , Codablock и Code 49 — это самые ранние представители семейства двухмерных штрих кодов. Эти штрих-коды предусматривают среднюю емкость информации(до 144 символов), однако они уступают некоторым последним двухмерным штрих кодам по плотности информации и в том, что они не могут обеспечить коррекцию ошибок. Коррекция ошибок позволяла бы операторам правильно считывать даже минимально поврежденные штрих-коды.

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

«Code 49» и«Code 16K» были первыми стековыми символиками, разработанными на основе набора знаков«Code 39» и«Code 128» соответственно, а вслед за ними, с 1990 года, начал использоваться код«PDF417 ». Его главной особенностью стала возможность математического обнаружения и коррекции ошибок, что чрезвычайно увеличило емкость данных и надежность считывания сканером, даже если символ был частично поврежден.

«PDF417 » кодирует полный набор знаков ASCII с максимальной емкостью около 2000 знаков на 25 кв.см. В европейской разработке — символике«Coda -block F» — используется стандарт на«Code128 » для кодирования, печати и считывающего оборудования, чтобы иметь возможность создавать многорядные символы. Требуется специальное декодирующее программное обеспечение, чтобы реконструировать сообщение, но пользователю предлагается простой способ перехода от существующего«Code 128» к 20 кодированию.

Термин матричный код (Matrix code ) обозначает двухмерный штрих код, основанный на расположении черных элементов внутри матрицы. Каждый элемент черного цвета имеет одинаковый размер, а позиция элемента кодирует данные.

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

Матричные символики предложили более высокую плотность записи данных, чем стековые коды, где-то примерно между 3:1 и 4:1. Матричный код составляется из темных и светлых ячеек, которые могут быть квадратными(большинство современных матричных кодов), шестиугольными(Maxicode ) или круглыми(как в точечном коде) по форме. Данные кодируются в двоичной форме(обычно темная ячейка = двоичной 1; светлая ячейка = двоичному 0), а схема декодирования использует технологии обнаружения и коррекции ошибки для создания избыточности. Различные символики отличаются по способу конвертирования данных в двоичную форму, по специфической форме расположения потока двоичных данных в символе, по используемым алгоритмам обнаружения и коррекции ошибки, по форме ячеек и, наконец, по« шаблону поиска». Он фиксирует положение ячеек и разработан таким образом, чтобы дать возможность обрабатывающему программному обеспечению быстро распознать и сориентировать символ в поле зрения сканера.
При существующей технологии сканирования все матричные символики требуют использования сканеров, регистрирующих изображение с помощью ССD-матрицы, Это связано с тем, что значение ячейки зависит не только от её цвета, но также и от положения её в горизонтальном и вертикальном рядах. Матричные коды масштабируются, и их теоретическая информационная емкость в 1 бит на ячейку дает им большую плотность данных, чем у стековых кодов. Например, символ«Data Matrix» с размером ячейки(X размер) в 10 mil(0 .25 мм) может закодировать максимум 2000 знаков, занимая около 8 кв.см., по сравнению с 25 кв.см. для тех же данных у символа«PDF417 » с тем же самым Х размером.

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

Немного подробнее об одном из наиболее успешно используемых двумерных кодов — о«PDF417 ».
Эта двумерная, стековая символика была разработана и введена в повсеместное использование в 1990 году компанией Symbol Technologies и стандартизирована AIM в 1994 году.«PDF417 » поддерживается всеми основными производителями принтеров и сканеров. PDF — это аббревиатура от Portable Data File(портативный файл данных). Каждый знак закодирован с использованием 4 штрихов и 4 пробелов, используя в итоге 17 модулей, вследствие чего появилось название«PDF417 ». Он кодирует до 1850 буквенно-цифровых или 2710 цифровых знаков. Высокая емкость данных позволяет кодировать всю необходимую информацию о человеке, продукте, документе или упаковке.
Cимволику«PDF417 » рекомендуется использовать в транспортной и автомобильной промышленностях на транспортных этикетках и таможенных документах.

В автомобильной промышленности Volvo Car Corporation использует этот код в процессах проверки автомобильных электрических систем в конце сборочной линии. А компания Thomson Consumer Electronics использует «PDF417 » на своих заводах для маркировки отгрузочных документов, и считает его одним из экономически выгодных кодов.
В электронном обмене данными (EDI ), «PDF417 » может использоваться для кодирования информации транспортной декларации в транзакциях предварительного уведомления об отправке груза (ASN ). Даже если груз прибудет до транзакции электронного обмена данных, вся информация о нем содержится в символе. «PDF417 » может кодировать даже бинарные данные, поэтому им возможно кодировать все, что можно оцифровывать, включая цветные фотографии и отпечатки пальцев.
«PDF417 » также используется для идентификации личности. В США некоторые штаты выпускают водительские права с закодированной на обратной стороне подробной информацией о водителе. На Западе эта символика применяется в здравоохранении для идентификации пациента и обработки претензий по страховкам. Некоторые страны, включая Бахрейн и Филиппины, используют «PDF417 » на регистрационных карточках избирателей. В России «PDF417 » используется на специальных акцизных марках для алкогольной продукции, как персональные носители информации, для автоматизации работы книжных издательств и маркировки мелкой продукции.

Двухмерный штрих код, или 2D, является новейшей разработкой в области штрихового кодирования. Данный вид штрих-кода основывается на принципе кодирования информации не только по горизонтали, как обычные линейные штрих-коды, но и по вертикали . Можно различить два основных вида двухмерных штрих кодов: Stacked linear и Matrix .

Тип Stacked linear увеличивает информацию, которую способен хранить штрих код за счет расположения один над другим. Штрих коды типа Code 16K , Codablock и Code 49 - это самые ранние представители семейства двухмерных штрих кодов. Эти штрих-коды предусматривают среднюю емкость информации (до 144 символов), однако они уступают некоторым последним двухмерным штрих кодам по плотности информации и в том, что они не могут обеспечить коррекцию ошибок. Коррекция ошибок позволяла бы операторам правильно считывать даже минимально поврежденные штрих-коды.

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

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

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

Словосочетание двухмерный код стало наиболее общим наименованием для всего этого класса символик. Названия стековая символика (stacked symbology ) или многорядный код (multi-row code ) более точно отражают сущность серии кодов, в которых данные кодируются в виде нескольких строчек обычных одномерных штрих кодов.

Термин матричный код (Matrix code ) обозначяет двухмерный штрих код, основанный на расположении черных элементов внутри матрицы. Каждый элемент черного цвета имеет одинаковый размер, а позиция элемента кодирует данные.

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

Последнее обновление: 12/06/2011

Штрихкод совершенствовался многократно. Основной задачей модификаций является увеличение объёма шифруемой информации с уменьшением площади самого кода. Если полосковый штрихкод использует одномерную систему кодирования, то двухмерный расшифровывается в по горизонтали и по вертикали. Перед обычным штрихкодом, у двухмерного есть пара весомых преимуществ: существенно больший объём хранимой информации и возможность восстановления до 30% повреждённых данных.

Наибольшее распространение в настоящее время получили стандарты DataMatrix, изобретённый в 1989 году, и QR-код («QuickResponse», т.е. «Быстрый отклик»),разработанный в 1994 году Японской компанией Denso Wave Inc. Ключевое отличие QR над Data Matrix - умение работать с кана символами японского языка.
Двухмерный код может быть нанесен различными способами - струйной печатью, гравировкой, лазером, электролитическими способами и т.д. В зависимости от метода нанесения, код может оставаться на элементе на протяжении всего его цикла использования.


QR-код

QR код - это разновидность матричного кода (2D-barcode), созданная Японской корпорацией Denso-Wave в 1994 году. "QR" - это сокращение от"Quick Response", "Быстрый отклик", этим названием создатели хотели показать, что QR-код позволяет быстро доносить свое содержание до пользователя. QR коды очень распространены в Японии, там они являются самым популярным видом 2D-кодов.
Уже в начале 2000 года QR-коды получили широкое распространение в Японии и других азиатских странах. Вы можете найти их на визитках,журналах, газетах, листовках, плакатах, досках объявлений, продуктах питания, сайтах и т. д. В Европе и Америке тоже стараются не отставать.

Несмотря на то, что QR коды изначально использовались для учета деталей в машиностроении, сейчас они используются более широко, как для коммерческих систем учета, так и для быстрой доставки информации пользователям мобильных телефонов. QR коды могут хранить контактную информацию, текст, телефонные номера, адреса e-mail и гипертекстовые ссылки. Пользователи с телефоном, оснащенным камерой и с соответствующим программным обеспечением могут сосканировать QR-код,при этом откроется закодированная в QR гиперссылка, или закодированный контакт добавится в адресную книгу. Удобство использования QR-кода очевидно - вместо запоминания длинной ссылки или адреса e-mail достаточно навести камеру телефона на QR-код, и ссылка будет добавлена в избранное.

Емкость QR-кода

На первый взгляд может показаться, что QR-код не способен хранить много информации, и подходит лишь для кодирования коротких строк, например, URL или e-mail. На самом деле емкость QR-кода не так уж мала:

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

Коррекция ошибок в QR кодах

QR коды используют алгоритм Рида-Соломона(Reed-Solomon) для коррекции ошибок. Это позволяет без проблем считывать коды, которые каким-то образом повреждены - затерты, перечеркнуты, и т.п. QR коды имеют 4 уровня коррекции ошибок, которые отличаются количеством информации для восстановления и соответственно количеством полезной информации,которую можно восстановить при повреждении кода. Уровни коррекции и соответствующие проценты информации, которые возможно восстановить,следующие:

L 7%
M 15%
Q 25%
H 30%

DataMatrix код

Штрихкод DataMatrix, в свою очередь, на 30-60% меньше по площади, чемQR, содержащий идентичные данные.

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

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

Особенности DataMatrix кода:

  • Стандартизация (принят международный стандарт ISO/IES16022, готовится российский стандарт)
  • Большая информационная емкость (более 2000 букв или 3000цифр)
  • Высокая скорость распознавания и декодирования
  • Низкие требования к качеству поверхности, на которуюнаносится метка
  • Распознавание не зависит от фона изображения
  • У символа допускается две формы - квадрат и прямоугольник,это облегчает вписывание метки в имеющееся на изделии пространство

Наиболее распространенное применение DataMatrix - это маркировка небольших объектов, например микросхем, поскольку DataMatrix позволяет закодировать 50 символов в изображении размером 2-3 мм2, который может быть считан без проблем. В общем-то размер кода ограничен только технологически, как и в случае любого другого 2D кода, но поскольку DataMatrix - это открытый стандартизованный код, многие компании его используют для своих целей. Этим можно объяснить его широкое распространение.

Коды DataMatrix состоят из модулей, состыкованных друг с другом. Всегос использованием DataMatrix можно закодировать до 3116 символов ASCII.Коды должны содержать четное количество модулей по вертикали и горизонтали. Большинство DataMatrix-ов квадратные, но в целом можно использовать и прямоугольные коды. Все коды используют коррекцию ошибок стандарта ECC200, который, в свою очередь, использует алгоритм Рида-Соломона(Reed-Solomon) для кодирования/декодирования данных. Это позволяет восстановить в случае повреждения кода до 30% полезной информации. DataMatrix коды постепенно становятся привычным явлением на конвертах и посылках. Код может быть быстро прочитан сканером, что позволяет отслеживать корреспонденцию довольно эффективно

В промышленности DataMatrix применяют для маркировки различных элементов.

Microsoft Tag

Microsoft Tag представляет собой двухмерный цветной штрихкод (High Capacity Color Barcode). В отличии от QR и DataMatrix-кодов, этот тип гораздо лучше распознается. Даже расфокусированный код (часто камеры мобильных телефонов без автофокуса) можно прочесть.

Microsoft Tag хранит собственный номер длиной 13 байт + 1 контрольный бит. Программа распознавания отправляет этот номер на сервер, которые выдает хранимую в этом коде информацию.

Плюсы Microsoft Tag, по сравнению с QR и DataMatrix-кодами

  • Хранят больше информации на том же физическом размере
  • Информацию содержат только небольшие кружочки в центрах треугольников и концы синхронизационных линий. Поэтому возможны Microsoft Tag и с рисунками.
  • Можно проследить сколько пользователей "прочли" код (благодаря статистике Live)

Минусы Microsoft Tag, по сравнению с QR и DataMatrix-кодами

  • Требуется подключение к интернету (т.к вся информация, зашифрованная в коде, находится на серверах Microsoft Tag)
  • Необходимо цветное печатающее устройство (хотя возможно создать и черно-белый код)

Создание своего кода доступно (необходима учетная запись Windows Live).

Скачать программу-распознаватель для мобильных устройств можно

Создание своего кода

Создать QR-код с любой текстовой информацией можно несколькими способами:

1) Через онлайн-сервисы

Наиболее простой и удобный способ. Просто заходите на специальный сайт, выбираете тип кода (QR или DataMatrix), выбираете,что будет содержать код (просто текст, адрес интернета, адрес e-mail, визитную карточку, размер кода).

Чтение кода

Расшифровать двухмерный код можно:

1) Через мобильный телефон

Для платформы Symbian 9.x (.sis приложения):

NokiaBarCode Reader (Nokia N79, N82, N93, N93i, N95, E66, E71,E90, 6220 Classic, Nokia N78, 6210 Navigator, N96 и другие)