Технология применения
Двумерное штриховое кодирование
Оборудование
Опыт внедрения
Презентация BiPrint
Заказать презентацию
Купить
Клиентская часть
Форма для вопросов
ПО BiPrint Клиент
ПО для печати платежек
Дополнительное ПО
Анкета потенциального клиента
Презентация установки BiPrint
Форма для вопросов
На главную Карта сайта Написать нам
BiPrint
Вход для клиентов

 Двумерное штриховое кодирование

Штрих-код Aztec

(Dr. Andy Longacre, Jr. Staff Scientist, HandHeld Products)

Aztec Code представляет собой новую универсальную символику двухмерного штрихового кода (2D barcode). Как показано на Рисунке 1, код представляет собой квадрат, содержащий матрицу квадратных элементов, в центре которой располагается 'мишень' ('bullseye'), составленная из концентрических квадратов. Aztec позволяет эффективно кодировать как малые, так и большие объемы данных (цифры, текст или байты) с использованием высокоэффективного метода Рида-Соломона (Reed-Solomon) коррекции ошибок. Код Aztec разработан специалистами фирмы HandHeld Products (Andy Longacre и Rob Hussey) и защищен патентом, но частично выпущен для общего использования. Международная Спецификация Символики для кода Aztec утверждена AIM USA в формате ISO и доступна через филиалы AIM.

Представление кодов Aztec
Рисунок 1: Представление кодов Aztec

Краткая историческая справка

Первоначальные идеи, реализованные в коде Aztec зародились в декабре 1994 года. Причиной их появления послужила общая неудовлетворенность конструкцией и характеристиками существовавших тогда двухмерных кодов, что могло ограничить коммерческий успех визуально-считывающих устройств (image-based readers). В ходе разработки декодирующего ПО для некоторых матричных символик, мы в HandHeld Products выработали ясное представление о том, какие особенности работают хорошо (как указатель 'мишень') и что упущено (как легкость распознавания размера). Презентации символик и демонстрации сканеров в институте ANSI в Сант-Луисе только подтвердили наши опасения, тогда как комментарии Норма Вейланда (Norm Weiland) насчет очевидного преимущества прямоугольной/квадратной формы элементов штрихкода с точки зрения удобства печати и масштабирования, помогли нам выкристаллизовать нашу идею.

Мы решили объединить 'лучшие' известные нам особенности всех двухмерных штрихкодов - MaxiCode, Code One, Data Matrix, Dot Code, PDF417, и SuperCode - плюс некоторые оригинальные идеи (особенно в отношении коррекции ошибок) в одну удобную и концептуально простую символику. Первые опыты печати квадратной 'мишени', окруженной 'слоями данных', сплетенными с решеткой 'элементов привязки', расположенной по периметру квадрата, дали в результате изображение, представленное на Рисунке 2(А), ассоциирующееся с искусством Центральной Америки, что и подсказало имя 'Aztec Code' для новой символики. Рабочая спецификация, программа печати и декодер были быстро разработаны, и в марте 1995 года графическое изображение кода Aztec впервые появилось в печатных рекламных материалах (см. Рисунок 2 (В)

Первые изображения кода Aztec

Рисунок 2: Первые изображения кода Aztec

Основные изменения в структуре кода и коррекции ошибок появились в Версии 2.0 спецификации в июне 1995 года, но основная конструкция кода осталась неизменной, выдержав процесс отладки считывающих устройств, пробные внедрения и даже критический анализ, проведенный Техническим Комитетом (Technical Symbology Committee) AIM USA без изменений. Международная спецификация Aztec Code опубликована AIM International в 1997 году.

Основные характеристики Aztec Code

Существуют два основных формата символа Aztec Code: 'Compact' (Компактный) символ с мишенью из двух квадратов (показанный на Рисунке 1 слева) и 'Full-Range' (Полный) символ с мишенью из трех квадратов (на Рисунке 1 справа). Поскольку принтеры могут автоматически выбирать, а сканеры автоматически распознавать оба формата, вместе два формата образуют последовательность из символов 33 различных размеров, которые могут эффективно кодировать как малые, так и большие сообщения. В общем, символы Aztec Code ...
  • могут кодировать любую байтовую последовательность в эффективных компактных режимах для текстовых и цифровых данных. Они также могут кодировать последовательности FNC1 для поддержки специальных промышленных форматов данных и ECI для поддержки специальных режимов интерпретации данных.
  • всегда квадратной формы, изменяясь в размерах от 15x15 модулей до 151x151 модулей. Свободной зоны вокруг символа не требуется вообще. Таблица 1 показывает информационную емкость некоторых размеров кода.

    Таблица 1: Примеры соотношения размеров символов и емкости кода

    Примеры соотношения размеров символов и емкости кода

    * показывает Компактные символы; остальные строки показывают полный символ
    ** превышает разрешающую способность существующих сканеров

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

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

Структура символа Aztec Code

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

    Два переменных элемента структуры:
  4. строка короткого режима, обернутая вокруг мишени,
  5. и от одного до 32 слоев данных толщиной в 2 модуля, спиралью расходящихся от центра.

[Компактный символ Aztec Code содержит маленькую мишень без решетки привязки и только 4 слоя данных]

Структура Полного символа штирх-кода  Aztec

Рисунок 3 - Структура Полного символа штрих-кода Aztec

Строка короткого режима и слои данных закодированы с защитой от ошибок по методу Рида-Соломона. Строка режима - это строка фиксированной длины, которая просто кодирует два параметра, несущие информацию о слоях данных, а именно (a) сколько слоев данных содержит данный символ и (b) сколько слов содержится в сообщении (остаток места в области данных заполняется контрольными словами). Таким образом, уровень коррекции ошибок в Aztec Code становится регулируемым по указанию пользователя, и в принципе, слои данных могут содержать от 5% до 95 % контрольных слов, но на практике обычно нецелесообразно изменять стандартное значение в 23% контрольных слов.

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

В готовом символе, все элементы струтуры перемешаны (кроме прицела), но их роли станут понятны при рассмотрении типичной последовательности декодирования.

Этапы Декодирования представления Aztec Code

Рисунок 4: Этапы Декодирования представления Aztec Code

Декодирование Aztec Code

Рисунок 4 показывает последовательность шагов, выполняемых при чтении символа Aztec Code, приведенного на картинке 4(A).

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

Как только обнаружена область мишени, каждое кольцо мишени прослеживается (a) для уточнения места расположения центра, одновременно (b) находятся 4 угла. Направления и расстояния между соседними углами далее используются для оценки направления и масштаба основных осей символа, как это показано на Рис.4(C). В зависимости от угла сканирования, они могут пересекаться под непрямым углом и иметь разный масштаб.

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

Если слоев данных четыре или меньше (включая все Компактные символы), зона наращивания кристалла продлевается наружу для достижения пределов поля данных. Для больших символов линейная версия наращивания кристалла используется вместо определения центров всех модулей решетки привязки вплоть до границы символа (см. Рис.4(E)). Эти позиции затем интерполируются для определения расчетных точек для всех модуленй данных, как показано на Рис.4(F). Каждая процедура дает битовую карту содержимого области данных, которая затем преобразуется из спирали в последовательность кодовых слов.

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

Основные особенности Aztec Code

В результате представленного рассмотрения технологии становятся понятными некоторые особенности Aztec Code:
  1. Слоеная природа полей даных обеспечивает целостность символов 33 различных размеров и информационной емкости.
  2. Указатель в виде мишени обеспечивает считывание при большом изменении угла сканирования.
  3. Элементы ориентации дают возможность считывания при любой ориентации символа, включая зеркальное отражение.
  4. Решетка привязки позволяет учитывать существенные искривления больших символов.
  5. Декодирование от центра к краю исключает необходимость полей (свободной зоны) вокруг символа.
  6. Надежный управляемый пользователем механизм коррекции ошибок по методу Рида-Соломона обеспечивает высокую производительность и надежную защиту от ошибок.
  7. Расположение полей, устойчивых к появлению ошибок и повреждений, по краям символа, компенсирует влияние оптических искажений, возникающих по краям зоны сканирования.
Последнее оказалось особенно полезно при считывании символов Aztec Code большой емкости ручным сканером. Размышляя об этом, можно прийти к выводу, что идеальной формой символа для двухмерного кода должен быть круг, обеспечивающий минимальные искажения при любой ориентации сканера относительно кода. Следующей наилучшей формой символа будет квадрат, углы которого могут быть отрезаны ... это и есть Aztec Code.

Применения и поддержка Aztec Code

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

Спонсируя стандартизацию Aztec Code в AIM International, HandHeld Products продолжает поддерживать и продвигать его путем (a) разработки кодирующего программного обеспечения, свободно распространяемого для коммерческого использования и использования в коммерческих продуктах незаисимых производителей, (b) продавая сканер IMAGETEAMTM4400, поддерживающий Aztec, и (c) обеспечивая потенциальных пользователей простой программой генерации кода для PC-соместимых компьютеров. Для генерации Aztec Code также может использоваться коммерческий продукт 'B-Coder for Windows, Professional Edition' фирмы TAL Technologies, позволяющий внедрять штрихкод в свои проекты различным заинтересованным производителям.












Barcodes in Print
Вcе права защищены . 2004-2022
Общество с ограниченной ответственностью "РосИТ" (ООО "РИТ")
Обмен ссылками