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

Почти не существовало. В настоящее же время существует более 50-ти типов одномерных штрих-кодов (1D) и более 70 двухмерных (2D). Это означает, что для печати штрих-кода с помощью принтера этикеток, нужно чётко определиться с целью его создания. Для оптимального выбора нужно понять какой вид и тип штрих-кода для чего используется, какие преимущества и недостатки того или иного штрих-кода и какие доступны для создания и печати.

Итак, какой штрих-код выбрать для печати? Одномерный (1D) или двухмерный штрих-код (2D), преимущества и недостатки:

1D штрих-код (одномерный)

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

Распространённые одномерные штрих-коды:

    EAN-13 and EAN-8;

    UPC-A and UPC-E;

    Code128;

    Code39;

    GS1 DataBar.

Достоинства:

    Универсальность и распространённость 1D штрих-кодов.

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

Недостатки:

    Максимально может содержать только 30 символов информации;

    Содержит только символы ASCII (знаки американской стандартной кодировочной таблицы для печатных символов и некоторых специальных кодов);

    Относительно большой размер линейного штрих-кода (маленькая эффективность используемого пространства);

    Сильное повреждёние штрих-кода значительно снижает вероятность считывания.



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

2D (двухмерный) штрих-код:

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

У 2D штрих-кода есть несколько типов метода кодирования (виды двухмерного штрих-кода ). Самые популярные три:

    Линейный накладной 2D штрих-код. Основанный на наложении нескольких 1D штрих-кодов друг на друга вертикально, например Code 16K, Code 49, PDF417;

    Матричный 2D штрих-код. Представляет собой наложение чёрных и белых изображений внутри матрицы, например Aztec, Maxi Code, QR Code, Data Matrix;

    Почтовый 2D штрих-код. Кодировка заключается в сочетании полосок разной длинны. Чаще всего используется почтовыми службами. Примеры: Postnet, BPO 4-State, Australian Post Code.

К часто применяемым двухмерным кодам относятся:

    Data Matrix (обычно для мелких деталей электроники);

    Maxi Code (создан службой доставки "UPS" для отслеживания и обработки грузов и посылок);

    Aztec (разработан компанией "Welch Allyn" и может содержать до 3832 цифр или 3067 знаков или 1914 байт данных);

    QR Code (QR = Quick Response (быстрый ответ). Придуман в Японии, компанией "Denso Wave" в 1994 году. Вмещает до 7089 цифр или 4296 знаков и выдаёт даже меньше ошибок при считывании, чем одномерные штрих-коды. QR-коды сейчас очень популярны, обычно используются, для хранения информации, которая содержит потребительскую ценность - содержат данные о ссылке на какой-нибудь веб-ресурс, адрес, или виртуальную визитную карточку, данные о билете или номере электронной очереди. Многие принтеры этикеток имеют возможность печати QR-кода;

    Vericode, PDF417, Ultracode, Code 49, Code 16K и другие.

Декодирование двухмерных штрих-кодов осуществляется специальными фотосканерами (image-сканерами или имиджерами), растровыми сканерами или через камеру, например смартфона с предустановленным специальным программным обеспечением. Внимание! Не производите 2D штрих-коды, если тот, для кого они предназначены, не имеет средство его обработки!

Сферы применения двухмерного штрих-кода (на примере двухмерного штрих-кода PDF417) :

    Транспортировка грузов

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

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

    Удостоверения личности

Впервые штрих-код PDF417 для идентификации личности был использован армией США. В нём кодировалась информация об имени, звании, фото и другая информация. Такое удостоверение личности трудно подделать, а штрих-код остаётся читабельным даже если повреждён. Подтверждение личности с помощью такой карты или другого удостоверения с нанесённым штрих-кодом может быть использовано в любой сфере.

    Документы и отчёты

Страховая Японская компания "Seimei Insurance Company" первой применила PDF417 для зашифровки информации личных дел клиентов. В любое время можно поднести документ с двухмерным штрих-кодом к сканеру и вывести информацию на экран компьютера с базой данных.

    Инвентаризация

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

    Совместное использование 1D и 2D штрих-кодов

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

Итак, какой же вид штрих-кода выбрать для печати на принтере этикеток ? В принципе тут всё просто: если информации мало и используется более простое средство декодирования (светодиодный или лазерный сканер) - тогда производите одномерные штрих-коды. Если же информации много и вы уверенны, что её смогут расшифровать - тогда, без сомнения, выбирайте двухмерный код, например QR-код, Datamatrix или PDF417.

Штрих-код обычно используется для быстрого и надежного ввода данных, улучшая производительность. Ниже представлен список наиболее распространенных областей, в которых используются штрих-коды:

· Пункты продаж (Point of Sale - POS) - одна из самых распространенных сфер, в которой применяются штрих-коды для учета проданных товаров.

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

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

· Идентификация - удостоверения личности работника с напечатанным штрих-кодом используются различными компаниями во всем мире.

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

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

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

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

> Способы кодирования

На сегодняшний день существует 2 способа кодирования информации о товаре - линейный и двумерный.

Линейный способ

Линейными называются штрих-коды, читаемые в одном направлении (по горизонтали). В подобном коде символ представлен последовательностью знаков, выстроенных в одну линию. Линейные символики позволяют кодировать небольшой объём информации (до 20-30 символов, обычно цифр). Количество информации в линейном штрих коде никак не влияет на высоту штрих кода (и наоборот). При одной и той же ширине линейного штрих кода, его высота может быть разной. Однако, чем выше штрих код, тем больше вероятность считывания его с первого раза.

Линейные штрих коды бывают разных типов:

EAN-13 EAN-8 UPC GS1-128

Codabar Code-39 и др.

Штриховой код EAN

Наибольшее распространение в международной практике получил код EAN - European Article Numbering.

В зависимости от области применения выделяют 3 группы товарных кодов EAN:

1.) международные, используемые как внутри, так и за пределами страны;

2.) национальные, используемые в пределах одной страны, преимущественно для розничной торговли разновесными товарами;

3.) локальные коды, используемые только в системах управления конкретного предприятия.

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

имеет международную значимость;

не зависит от требований отдельных пользователей;

идентифицирует любую товарную единицу на мировом уровне с помощью однозначного кода;

удобен по структуре для считывания ЭВМ;

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

Все версии кода EAN имеют следующие общие характеристики:

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

светлые промежутки и темные штрихи состоят из светлых и темных модулей одинаковой длины (далее в тексте при описании символов EAN темный модуль будет представлен как "1", а светлый как "0");

Подавляющее большинство современных сканеров распознаёт все стандартные линейные штрихкоды, включая такие коды, как UPC/EAN, Code 39, Code 128, Codabar, 2 of 5 Interleaved (ITF) , которые уже почти как 20 лет приняты в качестве общеевропейских стандартов, и прочие символики, созданные для применения в узких сферах деятельности. Двумерные коды, например, Aztec , DataMatrix , QR и прочие, в частности, линейные и стековые, могут декодировать только матричные фотосканеры.

Если вы заняты в сфере розничной торговли – продукты питания, одежда, книги и другие товары народного потребления, скорее всего, вам хватит и «обычного», лазерного сканера, поскольку вы имеете дело преимущественно с символиками ISSN , что технологически одно и то же) и D коды, даже если сейчас вы используете 1 D и вас всё устраивает. Об этом – чуть попозже.

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

Если на данный момент вам нужно считывать только линейные штрихкоды, а в будущем, возможно (или нет), ещё и двумерные со стековыми, но вас смущают два вышеприведённых аргумента и вы ищите компромиссное решение, предлагаем вместе поразмышлять над этим. Начнём с краткого ликбеза. Итак…

Какие бывают типы штрихкодов?

Штриховые коды бывают двух типов: двумерные (2D) .

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

Поскольку такой код считывается только в горизонтальном направлении, «вытянутость» кода объясняется исключительно удобством считывания с точки зрения прицеливания и распознавания повреждённых символик. Это свойство кода также называют «вертикальной избыточностью».

Вы постоянно сталкиваетесь с такими кодами в повседневной жизни. Наиболее распространёнными линейными кодами являются EAN , UPC , Code 128, Interleaved 2 of 5 и семейство кодов GS 1 DataBar (ex - ESS ). Процесс считывания такого кода простейшим однолучевым лазерным сканером вы можете видеть на картинке правее этого текста.

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

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

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

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

Сегодня разработано более 20 различных символик двухмерных штрихкодов. Наиболее популярными являются Aztec , Data Matrix , QR Code и MaxiCode . Все они активно используются в производстве, логистике, складском учёте, фармацевтике и здравоохранении, банковской сфере, коммунальной сфере и т. д.

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

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

Выше справа представлен пример Aztec code с закодированным сообщением. Вы можете считать его с помощью мобильного телефона и сопоставить количество закодированной информации с линейным кодом в этом же разделе. В обоих случаях это фраза “ Hello , world !”. При желании вы можете прочитать стихотворение У. Блейка “ tiger ”, закодированное в QR -коде. Оригинальность исполнения единственно призвана показать возможность самокоррекции и считываемости даже в таком неконтрастном и «замыленном» оформлении.

Почему 2D?

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

Во-первых, это объём и тип зашифрованной информации. Линейные символики могут вмещать около 30 символов (зависит от конкретного кода), в то время как двумерные способны хранить примерно 1,5 страницы A 4 текста. 2 D символики постепенно становятся стандартом для таких сфер человеческой деятельности, как здравоохранение и промышленное производство (особенно мелких и уникальных деталей, а также микросхем).

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

В первом случае требуется закодировать небольшой объём информации, который представляется в виде линейного кода. Примером такого универсального кода может служить Code 39, способный шифровать цифры и строчные латинские буквы и его расширенная версия Code 128, с возможностью кодирования данных формата ASCII .

Во втором случае следует использовать двумерный штрихкод. Наиболее распространённым стандартом является код PDF 417 (квази-2 D ), поскольку его использование не требует лицензирования, он является широко распространённым, а, следовательно, и оборудование для его распознавания тоже и вместительным (возможность кодировки примерно 2500 символов).

В следующей статье идет речь о



Давайте для начала определимся, как это может выглядеть.

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

Цель 2 D кода или QR-кода - как у любого штрих кода - упростить работу с товаром.
Представляете, если бы при приеме товара, кладовщик в ручную вводил всю информацию - дату производства, страну производителя, получателя, состав и тд. Прием одной единицы товара занимал бы большую часть его рабочего времени.
А так это занимает 0,5 секунды - специальным сканером штрих он считывает код, и получает всю информацию в соей базе.

Почему именно 2D код?

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

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

А при введении 2 d QR кодов стало возможно зашифровывать еще больше информации, занимая при этом минимум места.

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

PDF 417

Стековая символика PDF417 была введена в 1991 году. PDF происходит от сокращения Portable Data File (Портативный Файл Данных), штрихкодовый символ состоит из 17 модулей, каждый из которых содержит 4 штриха и пробела (отсюда номер 417). Штрихкод открыт для общего пользования.

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

Код PDF417 считывается при помощи специального лазерного или CCD-сканера. Для печати кода следует использовать принтеры с хорошим разрешением (термо-трансферные или лазерные).

Aztec Code

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

Кодируются все 8-битовые значения. Величины 0 - 127 представляются в виде набора символов ASCII, значения 128-255 представляются как ISO 8859-1, Latin Alphabet No.1. Кроме данных можно закодировать два служебных символа: FNC1 для совместимости с некоторыми существующими приложениями и ECI (escape-последовательность) для стандартизованной кодировки сообщений.

Data Matrix QR кодов

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

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

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

Наиболее популярными применениями для Datamatrix является маркировка небольших предметов, таких как электронные элементы и печатные платы электронных приборов. Эти приложения используют способность Datamatrix разместить примерно 50 символов в коде размером 3 мм и тот факт, что код может быть прочитан при 20-процентной контрастности печати.

Код читается ПЗС-камерой или ПЗС-сканером. Символы площадью от 1/8 дюйма до 7 дюйма может быть прочитан с расстояния от контакта до 36 дймов. Обычная скорость чтения составляет 5 кодов в секунду.

Сравнительные сравнительный характеристики 2d кода с другими вариантами шифрования информации.

Характеристики технологии

RFID

Штрих-код

Data Matrix

Необходимость в прямой видимости метки

Чтение даже скрытых меток

Чтение без прямой видимости невозможно

Объём памяти

От 10 до 10 000 байт

До 100 байт

До 2048 байт

Возможность перезаписи данных и многократного использования метки

Есть

Нет

Нет

Дальность регистрации

До 100 м

До 12 м (зависит от размера штрих-кода)

Нет данных

Одновременная идентификация нескольких объектов

До 200 меток в секунду

Невозможна

Зависит от считывателя

Устойчивость к воздействиям окружающей среды: механическому, температурному химическому, влаге

Повышенная прочность и сопротивляемость

Зависит от материала, на который наносится

Срок жизни метки

Более 10 лет

До 20 лет и более (зависит от материала, на который наносится)

Возможность создания подделки

Невозможна

Подделать легко

Подделать возможно

Работа при повреждении метки

Невозможна

Затруднена

Возможна

Идентификация движущихся объектов

Да

Затруднена

Возможна

Стойкость к помехам в виде электромагнитных полей

Очень слабая

Есть

Есть

Идентификация металлических объектов

Возможна

Возможна

Возможна

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

Да

Да

Да

Возможность введения в тело человека или животного

Да

Затруднена

Затруднена

Габаритные характеристики

Средние и малые

Малые

Малые и сверхмалые

Стоимость


Сравнение 2d кодов.

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

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

Роль штрих-кода трудно переоценить. Ведь этикетка со штрихами содержит в себе базовую информацию - ссылку на позицию в компьютерной базе данных, хранящей всю информацию о продукте (наименование, производитель, цена и т. д.). Портативные терминалы для считывания этих кодов достаточно широко представлены на российском рынке (см., например, 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.

С автором статьи можно связаться по адресу: [email protected].