Двухмерный (2D) штрих-код - Структура
Двухмерный штрих код, или 2D, является новейшей разработкой в области штрихового кодирования. Данный вид штрих-кода основывается на принципе кодирования информации не только по горизонтали, как обычные линейные штрих-коды, но и по вертикали. Можно различить два основных вида двухмерных штрих кодов: Stacked linear и Matrix.
Тип Stacked linear увеличивает информацию, которую способен хранить штрих код за счет расположения одномерных штрих кодов один над другим. Штрих коды типа Code 16K, Codablock и Code 49 - это самые ранние представители семейства двухмерных штрих кодов. Эти штрих-коды предусматривают среднюю емкость информации (до 144 символов), однако они уступают некоторым последним двухмерным штрих кодам по плотности информации и в том, что они не могут обеспечить коррекцию ошибок. Коррекция ошибок позволяла бы операторам правильно считывать даже минимально поврежденные штрих-коды.
1984 год считается началом развития двухмерных штрих кодом. Тогда Automotive Industry Action Group (AIAG) опубликовала новый стандарт для маркировки грузов и деталей. Тот стандарт содержал четыре штрих-кода Code 39 типа "stacked" (в переводе с англ. "stacked" - расположенный друг над другом, многоуровневый). Эти коды содержали артикул детали, их количество, информацию об отправителе и серийный номер.
Первый штрих код, который действительно мог бы называться двухмерным, был представлен компанией Intermec Corporation в 1988 году. Тогда разработчики компании предложили штрих код типа Code 49. Таким образом, с 1988 года были созданы, или перепроектированы, еще шесть других двумерных символик. Это было сделано с целью создания портативной базы данных в минимально возможном пространстве.
Словосочетание двухмерный код стало наиболее общим наименованием для всего этого класса символик. Названия стековая символика (stacked symbology) или многорядный код (multi-row code) более точно отражают сущность серии кодов, в которых данные кодируются в виде нескольких строчек обычных одномерных штрих кодов.
Термин матричный код (Matrix code) обозначяет двухмерный штрих код, основанный на расположении черных элементов внутри матрицы. Каждый элемент черного цвета имеет одинаковый размер, а позиция элемента кодирует данные.
Двухмерный код содержит кодированную информацию как по горизонтали, так и по вертикали. По причине того, что оба направления являются информативными, теряется возможность использования так называемой вертикальной избыточности. Однако борьба с ошибками при считывании штрих-кода обеспечивается достаточно просто - большинство стандартов двухмерных кодов используют контрольные суммы, которые позволяют гарантировать достоверность вводимой информации.