Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Пример кода Data Matrix, кодирующий текст: «Википедия, бесплатная энциклопедия»

Данная Матрица представляет собой двумерный код , состоящий из черных и белых «точек» или точек , расположенных либо в квадратном или прямоугольном узоре, также известный как матрица . Кодируемая информация может быть текстовой или числовой. Обычный размер данных составляет от нескольких байтов до 1556 байтов . Длина закодированных данных зависит от количества ячеек в матрице. Коды исправления ошибок часто используются для повышения надежности: даже если 15 или более ячеек повреждены, они нечитаемы, сообщение все равно можно прочитать. В символе Data Matrix может храниться до 2335 буквенно-цифровых букв.

Символы матрицы данных имеют прямоугольную, обычно квадратную форму и состоят из квадратных «точек», которые представляют биты.. В зависимости от используемого кодирования «светлая» ячейка представляет собой 0, а «темная» ячейка - 1, или наоборот. Каждая матрица данных состоит из двух сплошных смежных границ в форме буквы «L» (называемой «шаблоном поиска») и двух других границ, состоящих из чередующихся темных и светлых «ячеек» или модулей (называемых «шаблоном синхронизации»). Внутри этих границ находятся строки и столбцы ячеек, кодирующих информацию. Шаблон поиска используется для поиска и ориентации символа, в то время как шаблон синхронизации обеспечивает подсчет количества строк и столбцов в символе. Чем больше данных закодировано в символе, тем больше ячеек (строк и столбцов). Каждый код уникален. Размеры символов варьируются от 10 × 10 до 144 × 144 в новой версии ECC 200 и от 9 × 9 до 49 × 49 в старой версии ECC 000 - 140.

Приложения [ править ]

Матрица данных на карте Mini PCI с кодировкой серийного номера 15C06E115AZC72983004

Самым популярным приложением для Data Matrix является маркировка мелких предметов из-за способности кода кодировать пятьдесят символов в символе, читаемом на расстоянии 2 или 3 мм 2, и того факта, что код можно прочитать только с коэффициентом контрастности 20%. [1] Матрица данных масштабируема; Существуют коммерческие приложения с изображениями размером от 300 микрометров (лазерная гравировка на кремниевом устройстве с 600 микрометрами) и размером с квадрат размером 1 метр (3 фута) (нарисованный на крыше товарного вагона ). Единственным ограничением является точность систем маркировки и чтения. Альянс электронной промышленности США (EIA) рекомендует использовать Data Matrix для маркировки небольших электронных компонентов. [2]

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

Маркировка поверхностей

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

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

Чтение кода Data Matrix с мобильного телефона ( проект Semacode )

Коды Data Matrix, наряду с другими кодами с открытым исходным кодом, такими как штрих-коды 1D, также можно считывать с мобильных телефонов, загрузив мобильные приложения для конкретных кодов. Хотя многие мобильные устройства могут считывать 2D-коды, включая код Data Matrix [3], некоторые из них расширяют декодирование, чтобы обеспечить мобильный доступ и взаимодействие, после чего коды можно безопасно использовать в различных средах; например, в области отслеживания и отслеживания, борьбы с контрафактной продукцией и банковских решений.

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

Коды Data Matrix используются в пищевой промышленности в системах автокодирования для предотвращения неправильной упаковки пищевых продуктов и их датировки. Коды хранятся внутри базы данных производителей пищевых продуктов и связаны с каждым уникальным продуктом, например, с вариациями ингредиентов. Для каждого запуска продукта принтеру предоставляется уникальный код. Обложка этикетки требуется, чтобы матрица 2D-данных могла располагаться для оптимального сканирования. Для кодов «черный на белом» тестирование не требуется, если только качество печати не является проблемой, но все цветовые вариации необходимо проверить перед производством, чтобы убедиться, что они читаемы. [ необходима цитата ]

Искусство [ править ]

В мае 2006 года немецкий программист Бернд Хопфенгертнер создал большую матрицу данных на пшеничном поле (аналогично кругам на полях ). Сообщение гласило: « Hello, World! ». [4] В июне 2011 года парижский художник-татуировщик KARL в рамках продвижения шотландского виски Ballantine [5] создал первую в мире анимированную татуировку с использованием кода Data Matrix в совместном процессе, транслируемом в прямом эфире на Facebook. [6] [7]

Технические характеристики [ править ]

Пример кода матрицы данных, кодирующий текст: «Википедия», окрашенная для отображения данных (зеленый), отступ (желтый), исправление ошибок (красный), средство поиска и время (пурпурный) и неиспользованный (оранжевый).

Символы Data Matrix состоят из модулей, расположенных в пределах средства поиска по периметру и временного шаблона. Он может кодировать до 3116 символов из всего набора символов ASCII (с расширениями). Символ состоит из областей данных, которые содержат модули, расположенные в обычном массиве. Большие символы содержат несколько регионов. Каждая область данных ограничена шаблоном поиска, который со всех четырех сторон окружен границей тихой зоны (полем). (Примечание: модули могут быть круглыми или квадратными - в стандарте не определена конкретная форма. Например, точечно-наплавленные ячейки обычно круглые.)

Data Matrix ECC 200 [ править ]

ECC 200, более новая версия Data Matrix, использует коды Рида-Соломона для восстановления после ошибок и стирания. ECC 200 позволяет рутинную реконструкцию всей строки кодированных данных, когда символ получил 30% повреждений, при условии, что матрица все еще может быть точно расположена. Data Matrix имеет коэффициент ошибок менее 1 из 10 миллионов отсканированных символов. [8]

Символы имеют четное количество строк и четное количество столбцов. Большинство символов квадратные с размерами от 10 × 10 до 144 × 144. Однако некоторые символы имеют прямоугольную форму с размерами от 8 × 18 до 16 × 48 (только четные значения). Все символы, использующие коррекцию ошибок ECC 200, можно распознать по модулю в правом верхнем углу, который совпадает с цветом фона. (двоичный 0).

Дополнительные возможности, которые отличают символы ECC 200 от более ранних стандартов, включают:

  • Символы обратного чтения (светлые изображения на темном фоне)
  • Спецификация набора символов (через Extended Channel Interpretations )
  • Прямоугольные символы
  • Структурированное добавление (связывание до 16 символов для кодирования больших объемов данных)

Матрица данных ECC 000–140 [ править ]

Более старые версии Data Matrix включают ECC 000, ECC 050, ECC 080, ECC 100, ECC 140. Вместо использования кодов Рида-Соломона, таких как ECC 200, ECC 000–140 используйте коррекцию ошибок на основе свертки. Каждый из них отличается объемом предлагаемого исправления ошибок, при этом ECC 000 не предлагает ничего, а ECC 140 предлагает наилучшие. Для обнаружения ошибок во время декодирования, даже в случае ECC 000, каждая из этих версий также кодирует циклический контроль избыточности.(CRC) в битовой комбинации. В качестве дополнительной меры размещение каждого бита в коде определяется таблицами размещения битов, включенными в спецификацию. Эти более старые версии всегда имеют нечетное количество модулей и могут быть выполнены в размерах от 9 × 9 до 49 × 49. Все символы, использующие коррекцию ошибок ECC 000–140, могут быть распознаны с помощью модуля в правом верхнем углу, являющегося обратным. цвета фона. (двоичная 1).

Согласно ISO / IEC 16022, «ECC 000–140 следует использовать только в закрытых приложениях, где одна сторона контролирует создание и считывание символов и отвечает за общую производительность системы».

Стандарты [ править ]

Data Matrix была изобретена компанией International Data Matrix, Inc. (ID Matrix), которая была объединена с RVSI / Acuity CiMatrix , которые были приобретены Siemens AG в октябре 2005 года, и Microscan Systems в сентябре 2008 года. Сегодня Data Matrix рассматривается несколькими ISO / IEC стандартов и является общественным достоянием для многих приложений, что означает, что его можно использовать без каких-либо лицензий или лицензионных отчислений.

  • ISO / IEC 16022: 2006 - Спецификация символики штрих-кода Data Matrix.
  • ISO / IEC 15415—2-D Стандарт качества печати
  • ISO / IEC 15418: 2009 - Семантика формата символьных данных (идентификаторы приложений GS1 и идентификаторы данных ASC MH10 и обслуживание)
  • ISO / IEC 15424: 2008 - Идентификаторы носителя данных (включая идентификаторы символики) [идентификаторы для различения различных типов штрих-кодов]
  • ISO / IEC 15434: 2006 - Синтаксис для носителей АЦП большой емкости (формат данных, передаваемых со сканера в программное обеспечение и т. Д.)
  • ISO / IEC 15459 - Уникальные идентификаторы

Кодировка [ править ]

Считыватели кода Industrial Data Matrix

Процесс кодирования описан в документах, опубликованных на веб-сайте ISO . [9] Было опубликовано программное обеспечение с открытым исходным кодом для кодирования и декодирования варианта Data Matrix ECC-200 [10] [11]

На приведенных ниже схемах показано размещение данных сообщения внутри символа матрицы данных. Это сообщение называется «Википедия», и оно расположено в несколько сложном диагональном порядке, начиная с верхнего левого угла. Некоторые символы разделены на две части, например, начальная буква W, а третье «i» находится в «угловом шаблоне 2», а не в обычном L-образном расположении. Также показаны код конца сообщения (помеченный как End), байты заполнения (P) и исправления ошибок (E), а также четыре модуля неиспользуемого пространства (X).

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

Текстовые режимы [ править ]

Режимы C40, Text и X12 потенциально более компактны для хранения текстовых сообщений. Они похожи на DEC Radix-50 , используя коды символов в диапазоне 0–39, и три из этих кодов объединяются, чтобы получить число до 40 3 = 64000, которое упаковано в два байта (максимальное значение 65536) следующим образом :

V = C1 × 1600 + C2 × 40 + C3 + 1
B1 = пол (В / 256)
B2 = V мод 256

Результирующее значение B1 находится в диапазоне 089. Специальное значение 254 используется для возврата в режим кодирования ASCII.

Интерпретации кодов символов показаны в таблице ниже. Режимы C40 и Text имеют четыре отдельных набора. Набор 0 является значением по умолчанию и содержит коды, которые временно выбирают другой набор для следующего символа. Единственная разница в том, что они меняют местами прописные и строчные буквы. C40 - это в основном заглавные буквы, в наборе 3 - строчные буквы; Текст - наоборот. Набор 1, содержащий управляющие коды ASCII, и набор 2, содержащий символы пунктуации, идентичны в C40 и текстовом режиме.

Режим EDIFACT [ править ]

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

Режим Base 256 [ править ]

Данные в режиме Base 256 начинаются с индикатора длины, за которым следует количество байтов данных. Длина от 1 до 249 кодируется как один байт, а более длинные значения хранятся как два байта.

L1 = пол (длина / 250) + 249, L2 = длина мод 250

Желательно избегать длинных цепочек нулей в закодированном сообщении, поскольку они становятся большими пустыми областями в символе матрицы данных, что может привести к потере синхронизации сканером. (По этой причине в кодировке ASCII по умолчанию не используется ноль.) Чтобы сделать это менее вероятным, длина и байты данных скрываются путем добавления псевдослучайного значения R (n), где n - позиция в потоке байтов.

R (n) = (149 × n) по модулю 255 + 1

Патентные вопросы [ править ]

До истечения срока действия патента США 5 612 524 в ноябре 2007 года компания, занимающаяся интеллектуальной собственностью, Acacia Technologies заявила, что Data Matrix частично покрывается ее содержимым. Как владелец патента, Acacia якобы связалась с пользователями Data Matrix и потребовала лицензионных отчислений, связанных с патентом.

Cognex Corporation , крупный производитель устройств со штрих-кодом 2D, подала декларативную жалобу на судебное решение 13 марта 2006 г. после получения информации о том, что Acacia связалась со своими клиентами с требованием лицензионных сборов. 19 мая 2008 г. судья Окружного суда США в Миннесоте Джоан Н. Эриксен вынесла решение в пользу компании Cognex. [12] Постановление постановило, что патент «524», который претендовал на защиту системы для считывания и считывания кодов двумерных символов, является недействительным и не имеющим исковой силы из-за несправедливого поведения ответчиков во время приобретения патента.

Хотя решение было вынесено после истечения срока действия патента, оно исключало иски о нарушении прав на основании использования Data Matrix до ноября 2007 года.

Заявка на патент Германии DE 4107020 была подана в 1991 г. и опубликована в 1992 г. Этот патент не цитируется в вышеуказанных заявках на патент США и может сделать их недействительными. [ необходима цитата ]

См. Также [ править ]

  • PDF417
  • Кодекс ацтеков
  • Цветной штрих-код большой емкости
  • MaxiCode
  • Электронная книга Nintendo
  • QR код
  • Семакод
  • SPARQCode
  • Ключ надежной бумаги

Ссылки [ править ]

  1. ^ «Штрих-код матрицы данных» .
  2. ^ Стивенсон, Рик (декабрь 2005 г.). «Матричные коды лазерной маркировки на печатных платах» (PDF) . Разработка и производство печатных плат . Проверено 31 мая 2007 года .
  3. ^ Стефан, В. (2012). Использование 2D-кодов при разработке мобильных приложений с базой данных. Валахский журнал экономических исследований, 3 (2), 105-114. Получено с https://econpapers.repec.org/article/vlhjournl/v_3a3_3ay_3a2012_3ai_3a2_3ap_3a105-114.htm.
  4. ^ "Немецкий человек программирует" Hello World "в пшеничное поле" . arstechnica.com . Проверено 22 февраля 2017 года .
  5. ^ «Первая в мире анимированная татуировка - блог Digital Buzz» . digitalbuzzblog.com . Проверено 22 февраля 2017 года .
  6. ^ «Первая анимированная татуировка - автор KARL» youtube.com . Проверено 22 февраля 2017 года .
  7. ^ "Facebook" . facebook.com . Проверено 22 февраля 2017 года .
  8. ^ «Матрица данных и проверка целостности данных PDF417» (PDF) . idautomation.com . Архивировано из оригинального (PDF) 20 августа 2019 года . Проверено 20 августа 2019 .
  9. ^ Страница электронной коммерции ISO для этого стандарта http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=44230
  10. ^ "GitHub - zxing / zxing: Официальная домашняя страница проекта ZXing (" Zebra Crossing ")" . google.com . Проверено 22 февраля 2017 года .
  11. ^ "libdmtx Home" . sourceforge.net . Проверено 22 февраля 2017 года .
  12. ^ «Cognex аннулирует патент Acacia 524; далее? Судебный иск за диффамацию бизнеса» . Гроклав . 23 июня 2008 г.

Внешние ссылки [ править ]

  • Рекомендации GS1 DataMatrix: Обзор и техническое введение в использование GS1 DataMatrix
  • Генератор кода Datamatrix - онлайн-инструмент