12 августа 2010 в 17:19

Эффективность использования пространства двухмерными штрихкодами Data Matrix и QR Code

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

Размер двухмерного штрихкода измеряется в количестве модулей сетки вдоль каждой стороны. Каждый модуль сетки может быть или включенным (черным) или выключенным (белым). Размер каждого модуля называется «X размер» (англ. «X Size»). У каждого сканера есть минимальный «X размер», который он способен прочитать. Этот параметр не зависит от типа считываемого штрихкода. Общий размер штрихкода будет вычисляться как произведение «X размера» на количество модулей.

Под катом перевод фрагмента доклада компании Semacode о выборе оптимального формата двухмерного штрихкода для мобильных приложений.


Независимая группа (R9 Automatic Data Capture group) из Consumer Electronics Association опубликовала сравнение Data Matrix и QR Code для нужд разработки спецификации IEC 62090 («Маркировка упаковки товаров с использованием штрихкодов и двумерных символов»). Основной вывод — Data Matrix наиболее эффективно использует пространство среди всех двухмерных символов.

Документ CEA приводит четыре специфических примера, которые мы подытожим в таблице:
  QR Code Data Matrix Экономия пространства
Example 1 42×42 24×24 67%
Example 2 425×25 18×18 48%
Example 3 29×29 20×20 52%
Example 4* 29×29 26×26 20%*
* В последнем примере кодируются символы Кана. QR Code специально был разработан для эффективного кодирования этих символов, и даже на этом примере он менее эффективен чем Data Matrix.

Сравним эффективность двух форматов, используя независимо разработанные генераторы:
  QR Code Data Matrix Экономия пространства
«http://semacode.org/about/technical/» 29×29 22×22 42%
«http://en.wikipedia.org/wiki/Semapedia» 29×29 24×24 32%
«http://google.com» 25×25 18×18 61%

Независимый и наш анализы показывают, что Data Matrix использует на 30%—60% меньше места, чем QR Code.

Пример

Сравение Data Matrix и QR Code

Оба штрихкода содержат текст «http://google.com». Data Matrix меньше на 61%.

Минимальный размер

Для небольшого количества данных, минимальный размер штрихкода важен для сохранения пространства. Минимальный размер QR Code — 21×21, Data Matrix — 10×10 модулей (на 77% меньше).

Добавлю от себя

Сравение Data Matrix и QR Code

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

Оригинал доклада (PDF, англ., 7стр.). Доклад 2006 года, так что не содержит новых разработок (например, цветной Microsoft Tag).
Денис Потапов @PatapSmile
карма
264,0
рейтинг 0,0
Обо всём и ни о чём
Похожие публикации
Самое читаемое Разработка

Комментарии (57)

  • +14
    Оно-то конечно меньше места занимает, но позиционные маркеры ведь не зря сделаны. Они значительно улучшают возможности по автоматическому нахождению кода и определению его положения в пространстве (например если мы код фоткаем камерой телефона). А если в датаматриксе все биты — 1 (черные пиксели), то получим черный квадрат? Как определить его размерность? А размещение? А если он «в перспективе»?
    • +1
      И кстати, с ростом объема данных и, соответственно, размера, разница будет нивелироваться. Более того, на определенном размере (раза так в 4 больше по площади нежели приведенный в докладе) и больше него будет преимущество уже у QR Code, т.к. маркеры в нем имеют постоянный размер, а рамка в датаматриксе — растет.
      • 0
        На больших QR мишени дублируются.
        • 0
          Насколько большие? Что-то не нашел тех. описания.
          • +1
            qrcode
            Вот, например. Я 13 насчитал.
        • 0
          DataMatrix тоже дублирует свои полоски
    • +2
      Data Matrix выделяется в пространстве по двум черным перпендикулярным линиям (левая и нижняя стороны) и по временной шкале (чередование черных и белых точек, правая и верхняя сторона). Я пока не нашел информации по сравнению эффективности считывания и распознавания.
    • –3
      У датаматрикса по левому и нижнему краю идут позиционные полосы — этого хватает, я считаю. Если только руки вечно с бодуна не трясутся, но ради таких особенностей отъедать столько места? Увольте.
  • +2
    По моему с 2006го года уже роли распределились. DataMatrix я вижу как раз только на документах и иногда на упаковке. А QR только там, где предполагается считывание соткой.
    • 0
      Там где тип кода выбирает пользователь, добавляется фактор «эстетическая привлекательность». QR выглядит оригиналней и симпатичней.
      • +1
        QR был сильно разрекламирован в Японии, откуда он и начал свой путь. Да и не забывайте еще недавно в мобильниках были 0.3 и 1.3 (зачастую интерполированные) мегапиксела — тогда он рубил датаматрикс в куски — нужно было бороться с огромными искажениями делаемыми «камерами»в телефонах. Почему стали глядеть в сторону Datamatrix?
        1)К настоящему дню DataMatrix описывается стандартом ISO, ISO/IEC16022—International Symbology Specification, Data Matrix, и является общественным достоянием для многих областей использования, что означает, что формат может использован свободно и без каких-либо лицензионных отчислений. (Wikipedia)
        1 P.S. — у QR код есть конкретный хозяин — Denso-Wave — проблемы аналогичны H.264 и MPEG-LA хоть и не в таких маштабах и не столь очевидно.

        2) Моя гипотеза — при такой экономии, на одном рекламном баннере (а их размеры фиксированы) элементы datamatrix (биты или составные квадратики) будут крупнее, что может сделать их распозноваемыми с несколько большего расстояния для одной и той же камеры (современной), при условии что софт и возможности восстановления одинаковы. А софт тут разный у всех — только на моей нокии 5800 есть четыре программы и они все по разному-плохо работают =))) Кто быстрее QR есть кто Datamatrix

        Большинство приложений сейчас поддерживает и тот и другой способ (обладателям iphone и android предлагается уточнить это ибо я не уверен =) ) так что если есть место — можете использовать оба кода — у кого-то быстрее схватится один, у кого-то другой.

        Сторонники GNU наверняка уйдут в стан Datamatrix, если Denso-Wave поведет себя нехорошо.
        У QR же уже есть свой рынок куда Datamatrix протиснуться будет сложно.
        Лично мне сейчас больше нравится Datamatrix, ^_^ хотя я вообще люблю всякие там штрихкоды (NERD).


  • 0
    Интересно, а алгоритмы коррекции ошибок у них одинаковые или нет? А то в статье про это упоминания не нашел, а на эффективность влияет.
    • 0
      И там, и там используются коды Рида-Соломона.
  • 0
    С телефона датаматрикс у меня не заработал ка я не старался, а тот что с точками очень быстро работает. Android 2.1
    • 0
      Nokia N95, не успел нормально прицелиться на датаматрекс ровно — телефон его уже считал, а вот QR секунды 4 он ловил фокус и изменял размер, пока смог извлечь инфу.
      • +4
        Motorola Milestone, у меня QR подцепился на второй секунде, а датаматрикс цеплялся секунды 3. В целом — это не показатель. Главное преимущество QR-кода в том, что сразу понятно, что это QR-код.
    • 0
      в Андроиде поддержка DataMatrix находится в альфа-стадии (проект zxing)
    • 0
      можно i-nigma скачать в маркете
  • +2
    В примере где сравниваеться QR и Data Matrix:
    Оба штрихкода содержат текст «http://google.com». Data Matrix меньше на 61%.
    Скорее всего Data Matrix занимает 61% пространства которое нужно для QR, скорее всего Data Matrix на 39% меньше чем QR исправте.
  • 0
    В данный момент разрабатываю проект, в котором используются вот такие марки(см. ссылку внизу), да они большие, но это делается из-за того что процент распознавания должен стремится к 100% (размер марки 2,5 на 3,5 см)
    habreffect.ru/files/1b0/ace75f0ec/1.png
    • 0
      Хм. А не проще использовать для этих целей тот же QR-код? Зачем велосипед изобретать?

      А вообще идея хорошая. Человек может продойти к специальному автомату, ввести адрес получателя, заплатить денюжку и ему выдается распечатанная клейкая марка. Приклеил — отправил. Полная автоматизация процесса.
      Или можно выдавать сразу конверты с распечатанной на нем маркой.
      • +1
        На счет автоматов и марок с адресом — есть, и даже интересней. en.wikipedia.org/wiki/Packstation (англ.)
      • 0
        В развитых странах уже давно такой сервис есть:
        www.royalmail.com/portal/rm/content1?catId=106700775&mediaId=123800767
        Все как вы сказали. На сайте вводишь адрес назначения, платишь карточкой, печатаешь лейбл со сгенерированым штрихкодом, клеишь лейбл на конверт и вуаля, можно отправлять.
        А предоплаченые конверты со сразу распечатанной маркой в России и так на любой почте есть :)
  • 0
    Проверил на своей 5800 с i-nigma — время распознования (от момента фокусировки) одинаково, но… за счет того, что qr больше по площади — более уверенная фокусировка, соответственно весь процесс быстрее…
  • НЛО прилетело и опубликовало эту надпись здесь
  • НЛО прилетело и опубликовало эту надпись здесь
  • +2
    Я напечатал себе на футболку большой QR code.
    Не считывается из-за складок на ткани :(
    В следующий раз буду печатать его меньше — только на грудь.
  • +3


    А в DataMatrix можно вставлять свой текст, логотипы и картинки?
    • 0
      Думаю в том или ином виде можно, Data Matrix тоже содержит избыточность, чтобы обеспечить сохранность данных. На самом деле в стандарте QR не описана возможность вставлять текст. Фактически данный QR код с ошибкой, которая компенсируется избыточностью кода. Попробуйте в центр датаматрикс написать какой-нибудь текст и прочитать любым сканером, чтобы подтвердить возможность, ждем результатов :)
      • 0
        > ждем результатов :)

        От меня не стоит :) Моя проверка будет сделана вполсилы, так как qr-код мне более симпатичен. Предоставим это защитникам datamatrix, у них мотивация должна быть больше.
      • +1
        тут прикол в том, что текст является кодом и несёт информацию наравне с остальными точками.
        это не помеха, а именно данные
        • 0
          Не уверен, так как вставляют целые, не дырявые картинки: 1, 2, 3
          • 0
            на этих рисунках по другому, да.
            я думаю, что если их поместить на сетку, то большинство пикселей будет чёрными или белыми и лишь незначительная часть — серыми (ошибка чтения), с которыми справится алгоритм коррекции ошибок.

            выглядит здорово
        • 0
          Всё-таки в данном случае это помеха. Белое поле слева от 'H' сломало вертикальный таймкод (желтая полоска на этом рисунке). Несмотря на это сам qr-код моим телефоном распознаётся.
  • +2
    у меня приложение «сканер штрихкода» для андроида не определило код с датаматрикс. а с куэр кодом — с любого наклона и положения отрабатывает мгновенно
    • 0
      Это проблемы приложения.
      • 0
        я это понимаю, но «осадочек остался»
      • +2
        Когда это приложение стоит у миллионов людей, это становится проблемой того, кто хочет, чтобы его код считывали.
    • 0
      У меня всё прочитало.
  • +2
    Эффективность использования пространства иногда вступает в конфликт с удобством пользования — код меньше определённого размера становится неудобно фоткать телефоном из-за минимальной дистанции фокусировки
    • 0
      К счастью, в последнее время наметилась тенденция ставить на телефоны камеры с автофокусом, а не просто настроенные на гиперфокал. Хотя минимальная дистанция фокусировки никуда не девается, просто меньше становится. И Datamatrix с процессоров вряд ли вообще можно прочитать телефоном…
  • 0
    Попытался своей Nokia распознать DataMatrix из параграфа Пример данной статьи.

    Результат получился такой:
    gvdp:/?dgogle.com
    • 0
      хе-хе, а как же error-correction?

      это стабильный результат?
      • 0
        Нет, со второго раза распозналось нормально.
    • 0
      какой программой распознаете?
      • 0
        Встроенной «Штрих-код».
  • +1
    QR code используется в аэроэкспрессах (москва). Можно через сайт купить билет, сесть на аэроэкспресс, открыть ссылку с оплаченным билетом что бы загрузилась картинка с кодом и показать кондуктору. Она отсканирует этот код с экрана кпк-мобильника и распечатает билет на выход…
    • 0
      гы-гы и еще позвонит начальнику станции… на всякий…
      • 0
        да нет. реально удобно. Открыл почтовый клиент на мобиле, в нем нашел письмо о покупке билета. Открыл браузер с картинкой моего билета и предоставил для сканирования контролеру. Реально удобно =)
        • 0
          если не особо охото ехать, то да )
          • 0
            не все люди ссобой таскают переносной принтер, что бы в дороге печатать.
  • 0
    Ну что? Еще один холивар запущен?
  • +2
    Цветной Tag от Microsoft некорректно сравнивать, так как он несет в себе только идентификатор информации, которая уже хранится на серверах Майкрософта. Соответственно, микротаг может вместить в себя хоть целый Blue-Ray диск на 1-м сантиметре поверхности :)
  • 0
    «QR Code обязательно должен обрамляться белой рамкой по ширине равной позиционному маркеру, что само по себе увеличивает необходимую площадь при печати»

    Его конкурент, видимо, тоже?
  • 0
    А смысл такого сравнения? Невооруженным глазом видно, что датаматрикс меньшую площадь занимает, даже КО не нужно звать. Но зато QR удобнее в использовании: узнаваем, удобен по размеру для съёмки мобильником, легче и быстрее распознаётся. В общем, не понятна новизна исследования.
  • 0
    Независимая группа из Consumer Electronics Association опубликовала сравнение Data Matrix и QR Code для нужд разработки спецификации IEC 62090 («Маркировка упаковки товаров с использованием штрихкодов и двумерных символов»).

    Если здесь имелись ввиду товары на прилавках в магазинах, а это именно так с большой долей вероятности, выигрыш DataMatrix по занимаемой площади очевиден, а что на счет качества считывания в определенных условиях, ведь не мобильником на кассе будут штрихкоды считывать.
  • 0
    Сам немного тестил и пришёл к выводу что QR Code лучше воспринимается камерой телефона, так что заюзал его у себя на визитках

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.