Научная статья на тему 'ПРОГРАММНЫЙ МОДУЛЬ КОДИРОВАНИЯ И МОДИФИКАЦИИ ШТРИХОВЫХ КОДОВ'

ПРОГРАММНЫЙ МОДУЛЬ КОДИРОВАНИЯ И МОДИФИКАЦИИ ШТРИХОВЫХ КОДОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
129
30
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПРОГРАММНЫЙ МОДУЛЬ / ШТРИХОВЫЕ КОДЫ / МАТРИЧНЫЙ / КОДИРОВАНИЕ / АЛГОРИТМЫ / ANDROID / МОДИФИКАЦИЯ / МАТРИЧНОЕ ИЗОБРАЖЕНИЕ / SOFTWARE MODULE / BARCODES / MATRIX / CODING / ALGORITHMS / MODIFICATION / MATRIX IMAGE

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Молдованов Артем Андреевич, Корочкин Леон Сергеевич, Шмаков Михаил Сергеевич

В статье рассмотрены области применения штриховых кодов в русле тенденций современного рынка, описан опытный программный модуль, предназначенный для кодирования штриховых матричных кодов типов DataMatrix, QR-Code, Aztec с возможностью внесения избыточной информации в границах поддерживаемых уровней коррекции ошибок. Рассматриваемое программное решение предоставляет возможность генерировать изображения штрихкода выбранного формата с выбранным типом модификации или без нее. В статье представлены блок-схемы разработанных алгоритмов кодирования, описаны используемые сторонние библиотеки исходных кодов, также отражен текущий пользовательский интерфейс, базирующийся на мобильной платформе Android. В статье описан имеющийся функционал опытного программного решения, отражены потенциальные пути его применения, обозначены улучшения, которые могут быть реализованы на базе текущего модуля. Данный программный модуль разработан с архитектурой, поддерживающей расширение типов штриховых кодов, изменение применяемых модификаций. Предложены общие подходы к модификации стандартных матричных кодов с внесением сторонней информации без потери возможности считывания стандартным сканером. Рассмотрен вариант применения специфичного сканера кодов при модификация

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

SOFTWARE MODULE OF BARCODES CREATION AND MODIFICATION

The article describes an experimental software module designed to encode barcode matrix codes of the DataMatrix, QR-Code, Aztec types with the ability to add redundant information within the supported error correction levels. The considered software solution provides the ability to generate barcode images of the selected format with or without the selected type of modification. The article presents the block diagrams of the developed coding algorithms, describes the used third-party source code libraries, and also reflects the current user interface based on the Android mobile platform. The article describes the available functionality of the experimental software solution, reflects the potential ways of its application, indicates improvements that can be implemented on the basis of the current module. This software module is designed with an architecture that supports the expansion of bar code types, changing the applied modifications. General approaches to modifying standard matrix codes with the introduction of third-party information without losing the ability to read with a standard scanner are proposed. A variant of using a specific code scanner for higher-level modifications, in which standard reading algorithms cannot be applied, is considered.

Текст научной работы на тему «ПРОГРАММНЫЙ МОДУЛЬ КОДИРОВАНИЯ И МОДИФИКАЦИИ ШТРИХОВЫХ КОДОВ»

ТЕХНОЛОГИЯ И ТЕХНИКА ПОЛИГРАФИЧЕСКОГО И УПАКОВОЧНОГО

ПРОИЗВОДСТВА

УДК 004.4:004.92:004.932

А. А. Молдованов, Л. С. Корочкин, М. С. Шмаков

Белорусский государственный технологический университет

ПРОГРАММНЫЙ МОДУЛЬ КОДИРОВАНИЯ И МОДИФИКАЦИИ

ШТРИХОВЫХ КОДОВ

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

Рассматриваемое программное решение предоставляет возможность генерировать изображения штрихкода выбранного формата с выбранным типом модификации или без нее. В статье представлены блок-схемы разработанных алгоритмов кодирования, описаны используемые сторонние библиотеки исходных кодов, также отражен текущий пользовательский интерфейс, базирующийся на мобильной платформе Android.

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

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

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

A. A. Moldovanov, L. S. Korochkin, M. S. Shmakov

Belarusian State Technological University

SOFTWARE MODULE OF BARCODES CREATION AND MODIFICATION

The article describes an experimental software module designed to encode barcode matrix codes of the DataMatrix, QR-Code, Aztec types with the ability to add redundant information within the supported error correction levels.

The considered software solution provides the ability to generate barcode images of the selected format with or without the selected type of modification. The article presents the block diagrams of the developed coding algorithms, describes the used third-party source code libraries, and also reflects the current user interface based on the Android mobile platform.

The article describes the available functionality of the experimental software solution, reflects the potential ways of its application, indicates improvements that can be implemented on the basis of the current module. This software module is designed with an architecture that supports the expansion of bar code types, changing the applied modifications.

General approaches to modifying standard matrix codes with the introduction of third-party information without losing the ability to read with a standard scanner are proposed. A variant of using a specific code scanner for higher-level modifications, in which standard reading algorithms cannot be applied, is considered.

Key words: software module, barcodes, matrix, coding, algorithms, Android, modification, matrix image.

Введение. Среди тенденций современного рынка выделяется особенность использования штриховых кодов матричного типа в сфере маркировки логистический единиц и розничной продукции. На отечественном рынке развивается распределенная информационная система (ИС) «Электронный знак». Подобная система идентификации и учета продукции также получила свое развитие и в Российской Федерации под наименованием «Честный знак» [1]. Подобные системы прибегают к использованию двумерных штриховых кодов (DataMatrix, в частности), которые являются носителем информации, позволяющей уникально идентифицировать отслеживаемую единицу на каждом этапе ее движения и обеспечить контроль легитимности операций над ней. Линейные и матричные штрихкоды широко используются и в других сферах, в том числе с применением распределенных ИС [2], среди которых можно выделить сферу розничной торговли (Point of Sale), системы регистрации времени, аккумуляции данных, складскую логистику и т. п. В статье рассматривается возможность их модификации с целью повышения защищенности информации.

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

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

Поддержка избыточности матричными штрихкодами типов QR, DataMatrix и Aztec и подобными позволяет модифицировать их потенциально таким образом, что читабельность основных (полезных) данных стандартным сканером не нарушится, однако код будет наделен дополнительной информацией, целью которой

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

Далее в статье рассматривается разработанное опытное программное обеспечение генерации штрихкодов типов QR, DataMatrix и Aztec с внесением избыточных данных. Основное назначение разработанного ПО - генерация изображения численно-буквенной последовательности в виде перечисленных штриховых кодов согласно стандартам кодирования. Также представлено опытное решение внесения структурных модификаций.

В качестве языка программирования (ЯП) использовался Kotlin, являющийся кроссплатформен-ным на базе Java Virtual Machine (JVM), что позволяет использовать разработанную библиотеку исходных кодов на множестве операционных систем без внесения существенных изменений в проект. В качестве опытной платформы использовалась ОС Android, являющаяся свободной и одной из наиболее популярных среди мобильных ОС. На рис. 1 представлен главный экран приложения.

ТЕКУЩИЙ OOF----

as QR-Code

Azt€ [й DataMatrix

Кол-во символов:18 Aztec-code default

color X

Рис. 1. Пользовательский интерфейс и элементы управления ПО

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

Главный экран содержит прокручиваемый список, в котором расположены следующие типы модификаций исходных штрихкодов:

- стандартный вид баркода. Структура не подвергается изменению;

- цветовая модификация. Подобная модификация требуется для сохранения достаточной контрастности для распознавания стандартными сканерами;

- модификация каждой растровой ячейки заданным символом или изображением;

- интеграция стороннего изображения в произвольную позицию. Размер интегрированного изображения не должен превышать предельно допустимого уровня коррекции ошибок. Данный размер вычисляется по формуле

£ _ ^ о ' Ь 1 100 '

где £1 - площадь интегрируемого изображения; £о - площадь исходного штрихкода; Ь - уровень коррекции ошибок в процентах.

Блок-схема алгоритма генерации стандартного вида баркодов без модификаций представлена на рис. 2.

Результаты генерации штриховых кодов представлены ниже. В качестве вспомогательной библиотеки конвертации исходной строки в битовую матрицу использовалась ZXing [3]. Цель же авторских алгоритмов - преобразование битовой матрицы в графическое представление с модификацией или без нее.

Цветовая модификация использует аналогичный стандартному алгоритм генерации штрихкода с применением указанного цвета для каждого условного матричного пикселя. Результат цветовой модификации представлен на рис. 3.

Рис. 2. Алгоритм генерации штрихкодов без применения модификаций

Рис. 3. Результат цветовой модификации штрихкода

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

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

Рис. 4. Алгоритм генерации штрихкодов с применением символьной модификации

Данный алгоритм может быть усовершенствован возможностью дополнительного окрашивания каждого матричного пикселя. Результат работы алгоритма представлен на рис. 5. В данном случае штрихкод закодирован латинским символом «О». Этот алгоритм также может поддерживать кодировку несколькими символами или строкой.

Алгоритм символьной модификации отражает возможность преобразования каждого отдельно взятого пикселя, что предоставляет интерес

Рис. 5. Результат символьной модификации штрихового кода

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

На рис. 6 представлен пример возможности использования произвольного изображения для алгоритма символьной модификации.

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

случайных чисел для позиционирования иллюстрации в целях демонстрации. На рис. 7 представлен результат применения данного алгоритма, в качестве изображения для него использовался абстрактный красный квадрат, который может быть заменен авторским изображением.

алгоритм формирования фонового изображения, который также может быть использован с целью внесения скрытой информации.

Рис. 6. Результат символьной модификации штрихового кода с использованием символа-изображения

Стоит отметить, что существует возможность комбинирования всех рассмотренных модификаций в рамках допустимого уровня избыточности кода. Необходимо разработать

Рис. 7. Результат выполнения алгоритма интеграции изображения в произвольную позицию

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

Список литературы

1. Национальная система цифровой маркировки «Честный знак». URL: https://xn--80ajghhoc2aj1c8b.xn--p1ai/ (дата обращения: 18.05.2020).

2. Верзун Н. А., Воробьева Д. М., Колбанев М. О. Информационные технологии и телекоммуникации. СПб.: СПбГЭУ, 2018. 100 с.

3. Открытая кроссплатформенная библиотека работы с 1D и 2D штрихкодами. URL: https://github.com/ zxing/ (дата обращения: 18.05.2020).

References

1. Natsional'naya sistema tsifrovoy markirovki "Chestnyy znak" [The system of compulsory labeling of goods "Honest sign"]. Available at: https://xn--80ajghhoc2aj1c8b.xn--p1ai/ (accessed 20.02.2020).

2. Verzun N. A., Vorob'yeva D. M., Kolbanev M. O. Informatsionnyye tekhnologii i telekommunikatsii [Information technologies and telecommunications]. St. Petersburg, St. Petersburg State University of Economics Publ., 2018. 100 p.

3. Otkrytaya krossplatformennaya biblioteka raboty s 1D i 2D shtrikh-kodami [Open cross-platform library for working with 1D and 2D barcodes]. Available at: https://github.com/zxing/ (accessed 20.02.2020).

Информация об авторах

Молдованов Артем Андреевич - аспирант кафедры полиграфического оборудования и систем обработки информации. Белорусский государственный технологический университет (220006, г. Минск, ул. Свердлова, 13а, Республика Беларусь). E-mail: amaldavanau@gmail.com

Корочкин Леон Сергеевич - доктор технических наук, профессор кафедры полиграфического оборудования и систем обработки информации. Белорусский государственный технологический университет (220006, г. Минск, ул. Свердлова, 13а, Республика Беларусь). E-mail: lenyakorochkin@gmail.ru

Шмаков Михаил Сергеевич - кандидат технических наук, доцент, заведующий кафедрой полиграфического оборудования и систем обработки информации. Белорусский государственный технологический университет (220006, г. Минск, ул. Свердлова, 13а, Республика Беларусь). E-mail: shma-kov@belstu.by

Information about the authors

Moldovanov Artsyom Andreyevich - PhD student, the Department of Printing Equipment and Information Processing Systems. Belarusian State Technological University (13a, Sverdlova str., 220006, Minsk, Republic of Belarus). E-mail: amaldavanau @gmail.com

Korochkin Leon Sergeyevich - DSc (Engineering), Professor, the Department of Printing Equipment and Information Processing Systems. Belarusian State Technological University (13a, Sverdlova str., 220006, Minsk, Republic of Belarus). E-mail: lenyakorochkin@gmail.ru

Shmakov Michail Sergeyevich - PhD (Engineering), Associate Professor, Head of the Department of Printing Equipment and Information Processing Systems. Belarusian State Technological University (13a, Sverdlova str., 220006, Minsk, Republic of Belarus). E-mail: shmakov@belstu.by

Поступила 01.09.2020

i Надоели баннеры? Вы всегда можете отключить рекламу.