Двумерные штрих-коды, 2D-код

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

Начало создания такой портативной базы данных относят к 1984 году, когда Automotive Industry Action Group (AIAG) опубликовала стандарт для маркировки грузов и деталей, содержащий четыре "stacked" (поставленных один на другой) штрихкода Code 39. Эти коды содержали артикул детали, количество, отправителя и серийный номер.
Первый действительно двухмерный код был представлен фирмой Intermec Corporation в 1988 году, когда они предложили Code 49. С тех пор шесть других систем (символик) двумерного кодирования были изобретены или перепроектированы для создания портативной базы данных в минимально возможном пространстве.
Сегодня для описания этого нового класса символик используются несколько названий.

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

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

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

Сегодня разработано более 20 различных символик двухмерных штрихкодов. Наиболее популярными являются следующие:
  • Aztec Code
  • Data Matrix
  • MaxiCode
  • PDF417
  • QR код
  • Microsoft Tag
Отдельно стоит выделить QR код, который является наиболее распространенной символикой двухмерного штрихкода. Система QR-кодов стала популярной благодаря возможности быстрого считывания и большей ёмкости по сравнению со штрихкодами стандарта UPC. Данная система кодирования позволяет осуществлять отслеживание продукции, идентификацию предметов, отслеживание времени, управление документами и общий маркетинг.