Способ генерации информационного штрихкода из данных, подлежащих кодированию, устройство для его реализации и код, полученный данным способом Российский патент 2025 года по МПК G06K19/06 

Описание патента на изобретение RU2833411C1

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

Известны смешанный код и способ и устройство для его генерирования, и способ и устройство для его декодирования [RU 2349957, опубл. 03.11.2005 г.], представляющие собой результат наложения изображения второго кода на изображение первого кода с использованием заданного порогового значения с применением цветов, оттенков или их комбинаций. Предложен машиночитаемый носитель записи с записанным на нем смешанным кодом, который включает: область первого кодового изображения, в которой содержится первое кодовое изображение, полученное путем кодирования первой информации, с использованием цвета, оттенка или их комбинации, и область второго кодового изображения, в которой содержится второе кодовое изображение, полученное путем кодирования второй информации, с использованием цвета, оттенка или их комбинации. Первое кодовое изображение и/или второе кодовое изображение включают в себя результаты информации интерпретации кодирования, информации построения, информации контроля над ошибками и информации направления кода. Смешанный код получен путем регулирования разницы в цвете и яркости между изображениями первого и второго кодов до заданного уровня и комбинирования этих изображений. Первое и второе кодовые изображения можно эффективно декодировать путем декодирования информации интерпретации, информации построения, информации контроля над ошибками и информации направления кода, сохраненных в первом и/или втором кодовых изображениях. Однако указанный код позволяет получать результирующий код, емкость которого ограничивается только двумя смешиваемыми кодовыми изображениями. Использование какой-либо защиты данных не предусматривается.

Известен способ кодирования цифровой информации в виде многомерного нанобаркода [RU 2777708, опубл. 15.06.2022 г.], представляющий собой способ генерации ультрасжатого кода с использованием таблицы кодового преобразования и криптографических алгоритмов в два этапа: шифрованием при помощи полиалфавитного байтового шифра и симметричного битового алгоритма шифрования AES. Полученную в результате кодирования цифровую информацию размещают в нескольких информационных слоях, которые затем суммируются по цветовым шаблонам с учетом выбранной системы цветопреобразования. Указанный код использует цвет результирующего изображения кода получается путем использования библиотеки шифрования данных в код конкретного оттенка. Использование алгоритмов криптозащиты обеспечивает реализацию защиты данных, но она применяется ко всем шифруемых данных одновременно, без исключения. Обеспечить выборочный доступ к разным данным генерируемого кода невозможно. Кроме того, чем больше сложность защиты, тем больше требуется ячеек в получаемом коде для обеспечения хранения кодируемой информации, т.е. увеличивается размер кода. При этом глубина цвета характеризует используемую библиотеку шифрования итогового символа, что при использовании всего диапазона оттенков приводит к избыточности кодирования каждого символа.

Известен способ генерации цветного кода [US 5992748, опубл. 30.11.1999 г.], реализованный на базе разбиения каждой ячейки кода на цветовые зоны, кодируемые при помощи трех первичных цветов: голубого (cyan), малинового (magenta) и желтого (yellow). Указанные комбинации первичных цветов позволяют обеспечить, согласно патенту, 49 возможных комбинаций, которые могут быть воспроизведены в каждой ячейке кода. Таким образом, обеспечивается комбинация данных, большая чем 5-битовая (32), но меньшая, чем 6-битовая (64). Следовательно, максимальная глубина кодирования каждой ячейки кода составляет 6 бит. Это эквивалентно генерации кода в шесть независимых слоев. При этом отсутствует возможность избирательного доступа к данным и невозможно дополнительно защитить код от несанкционированного воспроизведения или считывания.

Известен трехслойный цветной код [US 9111186, опубл. 18.08.2015 г.], полученный на базе использования стандартной основы, например, QR, Aztec, Data Matrix или НССВ. Каждый из слоев кода объединены типом основы и размером кода. Кодируемые данные распределяются между слоями генерируемого кода. Особенности генерируемого кода отображаются в цветовых оттенках шаблонов позиционирования и ориентации используемой основы. Указанный код подразумевает использование только трех слоев и предназначен для реализации возможности его печати на различных носителях с обеспечением его достоверного считывания. Дополнительной защиты данных не предполагается. Кроме того, считываются все три слоя одновременно - закрыть один или два слоя от считывания невозможно.

Известен способ генерации многослойного двумерного цветного QR-кода [US 9805296 опубл. 31.10.2017 г.] с дополнительным цветовым кодированием шаблонов ориентации и позиционирования с целью облегчения процесса его считывания и декодирования. Указанный код предназначен для воспроизведения в напечатанном виде на различных носителях и поддерживает возможность разных уровней доступа к закодированным данным. При этом дополнительной защиты от несанкционированного воспроизведения или считывания не предусмотрено. Кроме того, количество слоев ограничено параметрами устройств печати кода на тех или иных носителях.

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

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

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

разделение данных, подлежащих кодированию, на множество блоков данных, согласно набору параметров, заданному пользователем,

разбиение данных во всех блоках на биты,

независимое кодирование разделенных битовых блоков данных во множество бинарных двумерных штрихкодов одного и того же размера в соответствии с заданным типом основы,

заполнение для каждого бинарного двумерного штрихкода набора шаблонов, регламентирующих его индивидуальные параметры в соответствии с заданным типом основы,

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

внедрение множества бинарных двумерных штрихкодов в единое цветное изображение в соответствии с определенными параметрами внедрения.

При этом возможны варианты развития основного технического решения, заключающиеся в том, что:

- генерацию информационного штрихкода осуществляют в единое изображение в оттенках серого;

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

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

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

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

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

- определяют параметры внедрения без искажений множества двумерных штрихкодов и генерации получаемых изображений цветовых пространствах, например, RGB, L*a*b*, LCH, HLS, HSV.

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

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

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

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

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

При этом возможны варианты развития основного технического решения, заключающиеся в том, что:

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

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

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

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

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

множество слоев,

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

при этом уровень записи слоя определяется порядком используемого для записи байта глубины цвета генерируемого изображения,

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

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

разделение данных, подлежащих кодированию, на множество блоков данных, согласно набору параметров, заданному пользователем,

разбиение данных во всех блоках на биты,

независимое кодирование разделенных битовых блоков данных во множество бинарных двумерных штрихкодов одного и того же размера в соответствии с заданным типом основы,

заполнение для каждого бинарного двумерного штрихкода набора шаблонов, регламентирующих его индивидуальные параметры в соответствии с заданным типом основы,

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

внедрение множества бинарных двумерных штрихкодов в единое цветное изображение в соответствии с определенными параметрами внедрения.

При этом возможны варианты развития основного технического решения, заключающиеся в том, что:

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

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

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

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

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

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

Заявленные способ и устройства всей совокупностью заявленных признаков позволяют достичь указанного технического результата, а именно:

- повысить объем данных, кодируемых в один код за счет записи множества слоев в разные порядки байтов глубины цвета генерируемого изображения; и, как следствие:

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

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

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

- осуществить доступ к данным без использования интернета или действующей связи с базой данных посредством записи всех требуемых данных в один многослойный код.

Сущность заявляемого изобретения поясняется нижеследующими фигурами и описанием.

На Фиг. 1 представлено кодирование максимального количества слоев в изображение с 8-битными каналами.

На Фиг. 2 представлено кодирование шаблона структуры слоев в зависимости от формата слоя: a) QR Code верхний левый шаблон поиска; б) Aztec Code шаблон ориентации; в) Maxi Code шаблон ориентации; г) Data Matrix Code направляющий шаблон; д) знак старта PDF417 Code; е) верхний выравнивающий прямоугольник NanoBar Code.

На Фиг. 3 представлено кодирование шаблона записи последовательности считывания слоев в зависимости от формата слоя: а) группа QR Code верхний правый шаблон поиска; б) Aztec Code шаблон ориентации; в) Maxi Code шаблон ориентации; г) Data Matrix Code направляющий шаблон; д) знак старта PDF417 Code; е) левый выравнивающий прямоугольник NanoBar Code.

На Фиг. 4 представлено кодирование шаблона внешней защиты в зависимости от формата слоя: а) группа QR Code нижний шаблон поиска; б) Aztec Code шаблон ориентации; в) Maxi Code нижний левый шаблон ориентации; г) Data Matrix Code направляющий шаблон; д) знак старта PDF417Code; е) нижний выравнивающий прямоугольник NanoBar Code.

На Фиг. 5 представлена общая блок-схема кодирования информационного кода.

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

На Фиг. 7 представлена блок-схема обработки одного блока данных в блоке формирования слоев.

На Фиг. 8 представлена блок-схема блока сборки слоев.

На Фиг. 9 представлена классификация информационных кодов.

На Фиг. 10-19 иллюстрации к примерам.

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

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

- одноканальные изображения для представления оттенков в градациях серого,

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

- трехканальные изображения для представления цветных оттенков с красным, зеленым и синим каналами цветностей,

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

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

Глубина кодирования цвета изображения определяется количеством поддерживаемых каналов цветности и объемом памяти, зарезервированном на каждый канал в выбранном формате изображения. Объем памяти канала выражается значением степени, в которую возводят основание (число 2) для определения верхнего предела кодируемых значений (hl):

1 бит: hl=21=2 описывает классическое бинарное (черно-белое) изображение в случае реализации только одного канала;

2 бита: hl=22=4;

3 бита: hl=23=8;

4 бита: hl=24=16;

5 бит: hl=25=32 описывает предельное количество оттенков, воспроизводимых стандартным принтером;

6 бит: hl=26=64;

7 бит: hl=27=128;

8 бит: hl=28=256 описывает стандартное изображение с полным набором оттенков серого в случае реализации только одного канала; также описывает предельное количество оттенков, воспроизводимых экраном монитора, телевизора и планшета.

9 бит: hl=29=512;

10 бит: hl=210=1024;

11 бит: hl=211=2048;

12 бит: hl=212=4096 описывает изображение повышенным набором оттенков серого в случае реализации только одного канала;

13 бит: hl=213=8192;

14 бит: hl=214=16384;

15 бит: hl=215=32768;

16 бит: hl=216=65536.

Используемое количество бит на канал равно максимальному количеству слоев (Nmax), которое может быть записано в этот канал.

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

Каждый слой, записываемый в канал должен занимать определенный только для него диапазон значений. Границы указанного диапазона определяются количеством записываемых слоев (Nr) и значением Nmax.

Максимальное значение, допустимое для канала (Chmax) рассчитывается исходя из Nmax следующим образом

Chmax=2Nmax-1

В общем случае для определения значений границ диапазонов необходимо следовать следующим правилам:

- Минимальное значение диапазона всегда равно нулю

Valmin(m)=0,

где m - номер диапазона.

- Максимальное значение диапазона должно быть больше суммы максимумов всех предыдущих диапазонов

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

- Сумма максимумов диапазонов должна быть равна максимальному значению, допустимому для используемого канала (Chmax)

В качестве примера можно привести таблицу границ используемых диапазонов для произвольного количества слоев, которые могут быть записаны в один 8-разрядный канал (таблица 1).

Следует отметить, что при кодировании каждый отдельный слой представляет собой двумерную бинарную матрицу штрихкода, каждый элемент (V) которой имеет координату i по горизонтали и j - по вертикали.

Значение каждого элемента слоя в канале Vm(i,j) рассчитывается для каждого элемента бинарной матрицы кода, записываемого в данный слой, умноженной на максимальное значение границы используемого диапазона:

Vm(i,j)=Codem(i,j)⋅Valmax(m),

где Codem(i,j) - элемент бинарной матрицы кода, записываемой в один слой.

Таким образом, значение каждого элемента канала генерируемого изображения Vch(i,j) представляет собой сумму элементов всех кодируемых в этом канале слоев

Vch(i,j)=∑Vm(i,j).

Базовый способ внедрения множества бинарных двумерных штрихкодов в единое цветное изображение информационного кода подразумевает использование всей доступной палитры, предоставляемой использованием заданного формата изображения, однако, возможна генерация изображения информационного кода с предварительным заданием воспроизводимой палитры цветовых оттенков (Фиг. 1).

Палитра может быть задана двумя основными способами: определение конкретных оттенков и определение базовых свойств оттенков, желаемых для воспроизведения в коде.

При задании конкретных оттенков, количество этих оттенков определяет возможное количество записываемых слоев.

Каждый слой характеризуется двумя оттенками, определяющими используемый диапазон при формировании многослойного кода, - минимальным (Valmin) и максимальным (Valmax) значениями диапазона.

Вариант 1. Valmin=0.

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

При этом, цвета палитры, выстроенные в последовательность в порядке возрастания Valmax, должны удовлетворять следующим условиям:

- Каждое следующее значение Valmax последовательности должно быть больше суммы всех предыдущих.

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

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

При этом следует иметь в виду, что Valmax обозначается в виде одного числа при работе с палитрой ахроматических оттенков или в виде матрицы из трех чисел (цветовых координат) при работе с классической цветной палитрой.

Вариант 2. Valmin>0.

Также возможно задание палитры при ненулевом значении Valmin. При этом в палитре не будет представлен черный цвет, а слои требуется задавать парой цветов (Valmin, Valmax).

В данном случае, цвета палитры, выстроенные парами (Valmin, Valmax) в порядке возрастания, должны удовлетворять следующим условиям:

- Каждое следующее минимальное значение диапазона Valmin должно быть больше суммы максимальных и минимальных значений предыдущих диапазонов.

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

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

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

Значение каждого слоя в канале Vm(i,j) рассчитывается для каждого элемента бинарной матрицы штрихкода, записываемого в данный слой, в соответствием с минимальным и максимальным значениями границ используемого диапазона:

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

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

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

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

Следует отметить, что базовые свойства цветовых оттенков удобно использовать при работе, например, в таких цветовых пространствах, как L*a*b*, LCH, HLS, HSV и др.

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

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

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

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

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

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

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

Информационный код может быть сгенерирован при помощи любого типа двумерного штрихкода, применяемого в качестве основы, например, QR кода, Aztec кода, Maxi кода, Data Matrix, PDF417 кода, NanoBar кода и др.

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

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

Шаблон структуры представляет собой последовательность в 2 бита (1 бит для обозначения открытый / закрытый и 1 бит для обозначения обособленный / связанный), расположенных в шаблоне поиска слоя (Фиг. 2). В случае использования QR кода в качестве основы, то шаблон структуры располагается в верхнем левом шаблоне поиска. В случае использования NanoBar кода в качестве основы, то шаблон структуры располагается в верхнем выравнивающем прямоугольнике.

Если слой открыт, то ячейка соответствующего бита принимает значение 0 (черный цвет), если закрыт - 1 (белый).

Если слой обособлен, то ячейка соответствующего бита принимает значение 0 (черный цвет), если связан 1 (белый).

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

Последовательность считывания слоев определяется их структурой и осуществляется в следующем порядке:

- открытые обособленные слои;

- открытые связанные слои;

- закрытые обособленные слои;

- закрытые связанные слои.

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

Запись последовательности считывания каждого слоя содержит 6 бит - емкость, достаточная для зашифровки 64 значений последовательного числового ряда (потенциально, достаточно для работы с 64-мя слоями).

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

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

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

С целью дополнительной защиты содержимого слоев информационного кода от несанкционированного воспроизведения или считывания применяется процедура внедрения имитационного слоя (процедура постановки внешней защиты).

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

Шаблон внешней защиты представляет собой последовательность из 3 бит, емкость, достаточная для зашифровки способа генерации имитационного слоя (математической формулы расчета двумерной циклической последовательности ячеек). Место расположения бит записи представлено на Фиг. 4.

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

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

Базовый алгоритм кодирования представлен на Фиг. 5.

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

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

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

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

Правила разбиения исходных блоков на слои, определяемые в блоке предварительной оценки данных и используемые в блоке сборки слоев, описываются набором из двух параметров: количество слоев на каждый блок (параметр cuant) и тип блока (для печати, для визуализации или для цифровых носителей); - определенным для каждого блока данных.

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

Правила разбиения исходных блоков на множество блоков (множество слоев) и получаемый размер слоев (параметр d) рассчитываются в блоке предварительной оценки данных (Фиг. 6) в соответствии с заданным оператором критерием оценки (минимизация размера слоя или минимизация количества слоев).

Если установлен критерий минимизации размера слоя, но отсутствуют обособленные блоки исходных данных, то количество блоков, на которые разделяются исходные данные (слоев), определяется максимальным для заданного типа кода (для печати: 3 для ахроматического изображения, воспроизводимого стандартным принтером, 6 для цветного изображения, воспроизводимого стандартным цветным принтером; для воспроизведения: 5 для ахроматического изображения, воспроизводимого стандартным экраном монитора без специализированной калибровки, 8 для цветного изображения, воспроизводимого стандартным экраном монитора без специализированной калибровки; для цифровых носителей: 16 для ахроматического изображения, реализуемого на базе 32-битного изображения, 32 для цветного 32-битного изображения).

В блоке формирования слоев данные, предназначенные для кодирования в каждом из слоев, преобразуются в битовый формат в соответствии с используемой бинарной библиотекой символов (ANSII, UTF-8).

Далее в блоке формирования слоев данные в битовом формате разделяются на битовые блоки и преобразуются в бинарные двумерные штрихкоды одного и того же размера в соответствии с заданным оператором типом основы согласно соответствующим нормативным документам [ГОСТ ИСО/МЭК 15438-2001 Автоматическая идентификация. Кодирование штриховое. Спецификация символики PDF417; ГОСТ Р ИСО/МЭК 16022-2008 Автоматическая идентификация. Кодирование штриховое. Спецификация символики Data Matrix; ГОСТ Р ИСО/МЭК 16023-2000 Автоматическая идентификация. Кодирование штриховое. Спецификация символики MaxiCode; ГОСТ Р ИСО/МЭК 18004-2015 Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода QR Code; ГОСТ Р ИСО/МЭК 24778-2010 Информационные технологии. Технологии автоматической идентификации и сбора данных. Спецификация символики штрихового кода Aztec Code].

В соответствии с заданными и рассчитанными в блоке предварительной оценки данных параметрами генерируемого информационного кода в блоке формирования слоев производится формирование слоев (Фиг. 7).

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

Указанная матрица совместно с правилами разбиения блоков на слои направляется на последний этап формирования кода - этап сборки слоев для получения итогового изображения, реализуемый в блоке сборки слоев (Фиг. 8).

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

Далее бинарный код каждого генерируемого слоя преобразуется в двумерную матрицу значений Vm(i,j), которая внедряется в соответствующий типу слоя канал изображения посредством поэлементного сложения значений слоя с указанной матрицей с последующей перезаписью слоя в генерируемом изображении.

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

После этого готовый код сохраняется в заданном оператором формате изображения (ахроматическом или цветном).

Все генерируемые информационные кода можно классифицировать по признаку количества слоев, воспроизводимых различными носителями, на кода: для печати, для воспроизведения, для цифровых носителей и смешанные (Фиг. 9).

Двузначное число в шестнадцатеричной системе счисления преобразуется в восьмизначное число в двоичной системе счисления.

Двоичная система счисления минимально возможное деление данных, обеспечивающее максимально возможное количество записываемых слоев.

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

В зависимости от диапазона значений канала, в который внедряется слой, этот слой может быть воспроизведен при помощи печати, устройства визуализации изображения, и считан при помощи устройства получения изображения. Также слой может быть скрыт (воспроизведение такого слоя невозможно).

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

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

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

Для информационного кода с одним каналом цветности максимально достоверно могут быть распечатаны до 8-ми оттенков. Таким образом, допустимо достоверное кодирование и декодирование до 3-х слоев.

Для информационного кода с тремя каналами цветности максимально достоверно может быть распечатана полноцветная палитра до 64 оттенков. Таким образом, допустимо достоверное кодирование и декодирование до 6-ти слоев (по 2 слоя в трех каналах).

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

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

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

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

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

С учетом возможных ошибок цветовоспроизведения экранов, цветопередачи камер и шумовых характеристик, допустимая погрешность составляет примерно 5% от воспроизводимого диапазона.

Кроме того, для воспроизведения невозможно применять слои прозрачности. Таким образом для воспроизведения могут применяться информационные кода с одним (изображение в оттенках серого) или тремя (цветные изображения) каналами цветности.

Для информационного кода с одним каналом цветности максимально достоверно могут быть воспроизведены до 32-х оттенков. Таким образом, допустимо достоверное кодирование и декодирование до 5-ти слоев.

Для информационного кода с тремя каналами цветности максимально достоверно может быть распечатана полноцветная палитра до 256 оттенков. Таким образом, допустимо достоверное кодирование и декодирование до 8 слоев (по 3 слоя в зеленом и красном каналах и 2 слоя в синем).

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

Потенциальная емкость информационного кода для цифровых носителей определяется используемым форматом изображения. Для 32-битного изображения максимально можно записать по 8 слоев в каждом канале.

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

При этом скрытые данные могут быть прочитаны только при пересылке файла по почте или при помощи мессенджера.

Потенциальная емкость информационного смешанного кода определяется используемым форматом слоя кода и количеством слоев. Смешанный код для печати может содержать от 2-х до 4-х слоев при использовании одного канала (изображение в градациях серого с одним скрытым слоем) и от 2-х до 9-ти слоев при использовании трех каналов (цветное изображение с тремя скрытыми слоями по одному в каждом канале). Смешанный код для воспроизведения может содержать от 2-х до 6-ти слоев при использовании одного канала (изображение в градациях серого с одним скрытым слоем) и от 2-х до 11-ти слоев при использовании трех каналов (цветное изображение с тремя скрытыми слоями - по одному в каждом канале)

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

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

Процесс декодирования является обратным процессу кодирования.

В качестве примеров приведено кодирование оды А.А. Фета «Горы» (790 символов кириллицы) в разных вариациях кода с основой в виде QR-кода. Для сравнения приведено изображение стандартного QR-кода, содержащего указанное произведение.

Стандартный QR-код V3, в который записана ода имеет размер 145×145 (Фиг. 10).

Пример 1. Код для печати в оттенках серого.

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

Параметры, заданные пользователем исходя из требуемой задачи:

- формат кода информационный код для печати;

- тип получаемого изображения - ахроматическое;

- основа кода - QR Code;

- наличие защиты от несанкционированного воспроизведения - отсутствует;

- критерий генерации информационного кода - минимизация размера слоя.

Предварительная оценка данных

Исходя из заданных параметров, используется только один ахроматический канал с глубиной цвета в 8 бит (согласно технической документации для струйных офисных принтеров с печатью в оттенках серого).

Принимаем, что для считывания кода применяется стандартная камера с той же глубиной цвета получаемого изображения (8 бит) и уровнем шумов, не превышающем 5% от максимального уровня.

Для 8-битного изображения максимальное допустимое значение Chmax=255.

Уровень шумов σ=(Chmax⋅5)/100=12,75.

Для обеспечения достоверности различения оттенков, они должны отличаться на значение, примерно равное 3σ.

Таким образом, получаем систему уравнений для подбора границ значений диапазонов:

С соблюдением всех условий можно реализовать от одного до трех слоев. Для максимальной упаковки (по критерию наименьшего размера слоя в блоке предварительной оценки данных) получаем максимальное количество слоев m=3.

Реализация кодирования данных в информационный код

- разделение данных на множество блоков данных

Исходный текст представляет собой единый информационный блок, который должен быть разделен на 3 блока данных, согласно количеству кодируемых слоев. Количество символов в блоке исходных данных равно 790. При равномерном разделении на три слоя, получаем два блока по 263 символа и один блок в 264 символа кириллицы. Для упаковки указанного количества символов кириллицы в QR Code при 25% резервировании достаточно кода размера 97×97, согласно вычислениям, выполняемым в блоке предварительной оценки данных.

- разбиение данных на биты и независимое кодирование

Каждый из указанных трех блоков независимо друг от друга подвергается разбиению на биты и независимому кодированию полученных битовых блоков в двумерные QR кода размера 97×97 с результатом в виде двумерных матриц QR кодов Codem(i,j) в блоке формирования слоев.

- заполнение набора шаблонов

Поскольку защита от несанкционированного воспроизведения отсутствует, то каждый из слоев является открытым (ячейка 1 шаблона структуры окрашена в черный цвет). Поскольку все слои содержат данные одного единого информационного блока, то каждый из слоев является связанным (ячейка 2 шаблона структуры окрашена в белый цвет). Шаблон внешней защиты слоев не задействован. Порядковый номер слоя отражает порядковый номер кодируемой части исходного текста и отображается в шаблоне записи последовательности индивидуально для каждого слоя (Фиг. 11) в формате от 0 для первого слоя (в котором шаблон записи последовательности не подвергается изменениям из-за кодирования нулевого значения, которое в битовой реализации имеет значение 000000) до m-1 для последнего (в котором шаблон записи последовательности содержит цифру 2, которая в битовой реализации имеет значение 000010, что означает изменение цвета пятой ячейки шаблона записи последовательности на черный цвет). Все изменения вносятся в соответствующие матрицы Codem(i,j) в блоке формирования слоев.

- определение параметров внедрения

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

- внедрение множества кодов в структуру информационного кода

Слои формируются в блоке сборки слоев в соответствии с формулой

Vm(i,j)=Codem(i,j)⋅Valmax(m).

Далее, в блоке сборки слоев производится генерация итогового ахроматического изображения информационного кода для печати (Res(i,j)) в соответствии с определенными ранее значениями границ диапазонов для слоев

- вывод итогового изображения информационного кода

В итоге, было сгенерировано изображение информационного кода (Фиг. 11), общая площадь которого уменьшилась в 2,2 раза относительно площади стандартного однослойного QR-кода, вмещающего тот же набор символов. При этом сохранена возможность распечатки кода простым принтером с применением только черного красителя с возможностью считывания при помощи стандартной камеры.

Пример 2. Код для визуализации с пятью открытыми слоями и тремя скрытыми слоями, реализованный в классическом цветном изображении.

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

Параметры, заданные пользователем исходя из требуемой задачи:

- формат кода информационный для визуализации;

- тип получаемого изображения - цветное;

- основа кода - QR Code;

- наличие защиты от несанкционированного воспроизведения присутствует;

- тип защиты скрытые слои;

- количество каналов, используемых для защиты - все;

- количество скрываемых данных - частичное;

- конкретизация скрываемых данных - отсутствует;

- критерий генерации информационного кода минимизация размера слоя.

Предварительная оценка данных

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

Принимаем, что для считывания кода применяется стандартная цветная камера с той же глубиной цвета получаемого изображения (три канала цветности по 8 бит каждый) и уровнем шумов, не превышающем 5% от максимального уровня.

Для 8-битного изображения максимальное допустимое значение в канале Chmax=255.

Уровень шумов σ=(Chmax⋅5)/100=12,75.

Для обеспечения достоверности различения оттенков, они должны отличаться на значение, примерно равное 3σ. Соответственно, скрываемые данные должны кодироваться в слои с границами диапазона не более уровня шумов.

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

Таким образом, получаем систему уравнений для подбора границ значений диапазонов в каналах цветности:

С соблюдением всех условий можно реализовать от одного до трех слоев в каждом канале цветности. Однако, следует иметь в виду, что для реализации достоверного воспроизведения цветных оттенком с возможностью их достоверного считывания необходимо, чтобы в синем канале цветности слоев было на 1 меньше, чем в красном или зеленом (это связано с особенностями цветовоспроизведения камер). Поэтому для максимальной упаковки (по критерию наименьшего размера слоя в блоке предварительной оценки данных) получаем для красного и зеленого каналов количество слоев mr,g=3, а для синего канала - количество слоев mb=2. Всего m=mr+mg+mb=8 слоев.

Реализация кодирования данных в информационный код

- разделение данных на множество блоков данных

Исходный текст представляет собой единый информационный блок, который должен быть разделен на восемь примерно равных частей по количеству содержащихся символов. Количество символов в блоке исходных данных равно 790. При равномерном распределении на восемь слоев, получаем два блока по 98 символов и шесть блоков по 99 символов кириллицы. Для упаковки указанного количества символов кириллицы в QR Code при 25% резервировании достаточно кода размера 57×57, согласно вычислениям, выполняемым в блоке предварительной оценки данных.

- разбиение данных на биты и независимое кодирование

Каждый из указанных восьми блоков независимо друг от друга подвергается разбиению на биты и независимому кодированию полученных битовых блоков в двумерные QR кода размера 57×57 с результатом в виде двумерных матриц QR кодов Codem(i,j) в блоке формирования слоев.

- заполнение набора шаблонов

Поскольку защита от несанкционированного воспроизведения присутствует только для первого слоя в каждом канале цветности (первый, четвертый и седьмой в общей последовательности слоев), то эти слои являются закрытыми (ячейка 1 шаблона структуры окрашена в белый цвет), а остальные слои являются открытыми (ячейка 1 шаблона структуры окрашена в черный цвет). Поскольку все слои содержат данные одного единого информационного блока, то каждый из слоев является связанным (ячейка 2 шаблона структуры окрашена в белый цвет). Поскольку защита осуществляется без помощи имитационных слоев, то шаблон внешней защиты слоев не задействован. Порядковый номер слоя отражает порядковый номер кодируемой части исходного текста и отображается в шаблоне записи последовательности индивидуально для каждого слоя (Фиг. 12) в формате от 0 для первого слоя (в котором шаблон записи последовательности не подвергается изменениям из-за кодирования нулевого значения, которое в битовой реализации имеет значение 000000) до m-1 для последнего (в котором шаблон записи последовательности содержит цифру 7, которая в битовой реализации имеет значение 000111, что означает изменение цвета четвертой, пятой и шестой ячеек шаблона записи последовательности на черный цвет). Все изменения вносятся в соответствующие матрицы Codem(i,j) в блоке формирования слоев.

- определение параметров внедрения

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

- внедрение множества кодов в структуру информационного кода

Слои формируются в блоке сборки слоев в соответствии с формулой

Vm(i,j)=Codem(i,j)⋅Valmax(m).

Далее, в блоке сборки слоев производится генерация каналов цветности (Resred(i,j), Resgreen(i,j), Resblue(i,j)) и итогового полноцветного изображения информационного кода для воспроизведения (Res(i,j)) в соответствии с определенными ранее значениями границ диапазонов для слоев. При этом сначала записывается красный канал, потом зеленый и, наконец, синий.

- вывод итогового изображения информационного кода

В итоге, было сгенерировано изображение информационного кода (Фиг. 12), общая площадь которого уменьшилась в 6,5 раз относительно стандартного однослойного QR-кода, вмещающего тот же набор символов. При этом первый, четвертый и седьмой слои являются скрытыми от воспроизведения на экране, но доступными для считывания при анализе исходника изображения. Остальные пять слоев могут быть воспроизведены при помощи устройств визуализации изображений в таком качестве, чтобы обеспечить их корректное считывание при помощи стандартных устройств получения изображений, например, камеры мобильного телефона.

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

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

Параметры, заданные пользователем исходя из требуемой задачи:

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

- тип получаемого изображения - цветное;

- основа кода - QR Code;

- наличие защиты от несанкционированного воспроизведения присутствует;

- тип защиты один имитационный слой;

- канал, используемый для защиты канал прозрачности;

- скрытие данных в канале прозрачности отсутствует;

- критерий генерации информационного кода - количество генерируемых слоев с данными;

- количество генерируемых слоев с данными - 15.

Предварительная оценка данных

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

Для 8-битного изображение максимальное допустимое значение в канале Chmax=255.

Таким образом, получаем систему уравнений для подбора границ значений диапазонов в каналах цветности:

В соответствии с заданными параметрами (по критерию заданного количества слоев в блоке предварительной оценки данных), имеем количество слоев с данными mr,g,b=5 и количество имитационных слоев mt=1. Всего m=mr+mg+mb+mt=16.

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

где div - остаток от целочисленного деления. Ячейка, равная 0, обозначает ячейку черного цвета, а ячейка, равная 1, обозначает ячейку белого цвета.

Реализация кодирования данных в информационный код

- разделение данных на множество блоков данных

Исходный текст представляет собой единый информационный блок, который должен быть разделен на пятнадцать примерно равных частей по количеству содержащихся символов. Количество символов в блоке исходных данных равно 790. При равномерном распределении на пятнадцать слоев, получаем пять блоков по 52 символа и десять блоков по 53 символа кириллицы. Для упаковки указанного количества символов кириллицы в QR Code при 25% резервировании достаточно кода размера 41×41, согласно вычислениям, выполняемым в блоке предварительной оценки данных.

- разбиение данных на биты и независимое кодирование

Каждый из указанных пятнадцати блоков независимо друг от друга подвергается разбиению на биты и независимому кодированию полученных битовых блоков в двумерные QR кода размера 41×41 с результатом в виде двумерных матриц QR кодов Codem(i,j) в блоке формирования слоев.

- заполнение набора шаблонов

Поскольку защита от несанкционированного воспроизведения реализуется при помощи имитационного слоя, то только этот слой является закрытым (ячейка 1 шаблона структуры окрашена в белый цвет), слои с данными являются открытыми (ячейка 1 шаблона структуры окрашена в черный цвет). Поскольку все слои с данными содержат данные одного единого информационного блока, то каждый из слоев с данными является связанным (ячейка 2 шаблона структуры окрашена в белый цвет). Имитационный слой не содержит данные, поэтому является обособленным (ячейка 2 шаблона структуры окрашена в черный цвет). Поскольку защита осуществляется с помощью имитационного слоя с первой возможной двумерной циклической имитационной последовательностью, то шаблон внешней защиты, кодирующий порядковый номер 0 не подвергается изменениям. Порядковый номер слоя отражает порядковый номер кодируемой части исходного текста для слоев с данными и просто число, обозначающее номер, для имитационного слоя. Порядковый номер отображается в шаблоне записи последовательности индивидуально для каждого слоя (Фиг. 13) в формате от 0 для первого слоя (в котором шаблон записи последовательности не подвергается изменениям из-за кодирования нулевого значения, которое в битовой реализации имеет значение 000000) до m-1 для последнего (в котором шаблон записи последовательности содержит цифру 15, которая в битовой реализации имеет значение 001111, что означает изменение цвета третьей, четвертой, пятой и шестой ячеек шаблона записи последовательности на черный цвет). Все изменения вносятся в соответствующие матрицы Codem(i,j) в блоке формирования слоев.

- определение параметров внедрения

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

Имитационный слой не содержит никаких данных и является периодической ячеистой структурой с отображением шаблонной системы заданной основы (Code16(i,j)=Codeimit(i,j)). При этом белые ячейки задают 50% прозрачности (Valmax(16)=128) соответствующим ячейкам итогового изображения, а черные не подвергаются никаким изменениям.

- внедрение множества кодов в структуру информационного кода

Слои формируются в блоке сборки слоев в соответствии с формулой

Vm(i,j)=Codem(i,j)⋅Valmax(m)

Далее, в блоке сборки слоев производится генерация каналов цветности (Resred(i,j), Resgreen(i,j), Resblue(i,j), Restrans(i,j)) и итогового полноцветного изображения информационного кода для использования на цифровых носителях (Res(i,j)) в соответствии с определенными ранее значениями границ диапазонов для слоев. При этом сначала записывается красный канал, потом зеленый, затем синий и, наконец, канал прозрачности.

- вывод итогового изображения информационного кода

В итоге, было сгенерировано изображение информационного кода (Фиг. 13), общая площадь которого уменьшилась в 12,5 раз относительно стандартного однослойного QR-кода, вмещающего тот же набор символов. Как минимум, три слоя, содержащихся в данном коде (первый, шестой и одиннадцатый) не могут быть воспроизведены при помощи какого-либо устройства визуализации изображения таким образом, чтобы обеспечить возможность их корректного считывания. Остальные слои могут быть воспроизведены при помощи очень качественных устройств визуализации изображений с высоким коэффициентом цветовоспроизведения. Дополнительную защиту от воспроизведения обеспечивает имитационный слой, записываемый в канал прозрачности. Поэтому слои данного кода могут быть считаны только при компьютерном разложении исходного изображения кода на составляющие.

Пример 4. Информационный код с максимальным заполнением глубины цвета классического 32-битного цветного изображения.

Задача: необходимо реализовать информационный код с максимальным заполнением глубины цвета классического 32-битного цветного изображения.

Параметры, заданные пользователем исходя из требуемой задачи:

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

- тип получаемого изображения - цветное;

- основа кода - QR Code;

- наличие защиты от несанкционированного воспроизведения - отсутствует;

- критерий генерации информационного кода количество генерируемых слоев с данными;

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

Предварительная оценка данных

Исходя из заданных параметров, для кодирования используются четыре канала цветностей с глубиной цвета по 8 бит каждый (согласно стандартному цветному изображению с каналом прозрачности). При этом все каналы используются для кодирования информации с максимальным заполнением. Следовательно, каждый канал содержит по 8 слоев. Пусть кодирование производится последовательно: сначала красный канал цветности, потом зеленый, затем синий и, наконец, канал прозрачности.

Для 8-битного изображения максимальное допустимое значение в канале Chmax=255.

Таким образом, получаем систему уравнений для подбора границ значений диапазонов в каналах цветности:

В соответствии с максимальным заполнением количества слоев с данными (по критерию заданного количества слоев в блоке предварительной оценки данных), получаем mr,g,b,t=8. Всего m=mr+mg+mb+mt=32.

Реализация кодирования данных в информационный код

- разделение данных на множество блоков данных

Исходный текст представляет собой единый информационный блок, который должен быть разделен на тридцать две примерно равные части по количеству содержащихся символов. Количество символов в блоке исходных данных равно 790. При равномерном распределении на тридцать два слоя, получаем десять блоков по 24 символа и двадцать два блока по 25 символов кириллицы. Для упаковки указанного количества символов кириллицы в QR Code при 25% резервировании достаточно кода размера 33×33, согласно вычислениям, выполняемым в блоке предварительной оценки данных.

- разбиение данных на биты и независимое кодирование

Каждый из указанных тридцати двух блоков независимо друг от друга подвергается разбиению на биты и независимому кодированию полученных битовых блоков в двумерные QR кода размера 33×33 с результатом в виде двумерных матриц QR кодов Codem(i,j) в блоке формирования слоев.

- заполнение набора шаблонов

Поскольку защита данных не применяется, то все слои являются открытыми (ячейка 1 шаблона структуры окрашена в черный цвет). Поскольку все слои с данными содержат данные одного единого информационного блока, то каждый из слоев с данными является связанным (ячейка 2 шаблона структуры окрашена в белый цвет). Поскольку защита данных при помощи имитационного слоя не предусмотрена, то шаблон внешней защиты слоев не задействован. Порядковый номер отображается в шаблоне записи последовательности индивидуально для каждого слоя (Фиг. 14) в формате от 0 для первого слоя (в котором шаблон записи последовательности не подвергается изменениям из-за кодирования нулевого значения, которое в битовой реализации имеет значение 000000) до m-1 для последнего (в котором шаблон записи последовательности содержит цифру 31, которая в битовой реализации имеет значение 011111, что означает изменение цвета второй, третьей, четвертой, пятой и шестой ячеек шаблона записи последовательности на черный цвет). Все изменения вносятся в соответствующие матрицы Codem(i,j) в блоке формирования слоев.

- определение параметров внедрения

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

- внедрение множества кодов в структуру информационного кода

Слои формируются в блоке сборки слоев в соответствии с формулой

Vm(i,j)=Codem(i,j)⋅Valmax(m)

Далее, в блоке сборки слоев производится генерация каналов цветности (Resred(i,j), Resgreen(i,j), Resblue(i,j), Restrans(i,j)) и итогового полноцветного изображения информационного кода для использования на цифровых носителях (Res(i,j)) в соответствии с определенными ранее значениями границ диапазонов для слоев. При этом сначала записывается красный канал, потом зеленый, затем синий и, наконец, канал прозрачности.

- вывод итогового изображения информационного кода

В итоге, было сгенерировано изображение информационного кода (Фиг. 14), общая площадь которого уменьшилась в 19 раз относительно стандартного однослойного QR-кода, вмещающего тот же набор символов. Ни один из содержащихся в данном коде слоев не может быть воспроизведен при помощи какого-либо устройства визуализации изображения таким образом, чтобы обеспечить возможность его корректного считывания. Код может быть расшифрован только при компьютерном разложении исходного изображения на составляющие. Защита всех слоев от воспроизведения обеспечивается самой плотной упаковкой информационных слоев в генерируемое изображение кода, расположенными в канале прозрачности, при этом ни один из слоев не обладает отдельной защитой.

Пример 5. Информационный код с реализацией в виде воксельного изображения с минимально возможным размером используемой базы.

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

Параметры, заданные пользователем исходя из требуемой задачи:

- формат кода - информационный для цифровых носителей для применения в системах виртуальной или дополненной реальности;

- тип получаемого изображения цветное;

- формат получаемого изображения - воксельное;

- основа кода - QR Code;

- наличие защиты от несанкционированного воспроизведения - отсутствует;

- критерий генерации информационного кода минимальный размер слоя.

Предварительная оценка данных

Для типа основы в виде QR Code минимальным является размер 21×21.

По предварительной оценке (по критерию наименьшего размера слоя в блоке предварительной оценки данных), для записи исходного текста в слои минимального размера, потребуется 112 слоев.

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

Исходя из заданных параметров, для кодирования используются изображения с четырьмя каналами цветностей с глубиной цвета по 8 бит каждый (согласно стандартному цветному изображению с каналом прозрачности). При этом для реализации изображений для первых трех уровней воксельного изображения все их каналы используются для кодирования информации с максимальным заполнением (содержат по 8 слоев каждый), а для изображения для четвертого уровня воксельного изображения каналы содержат по 4 слоя каждый. Пусть кодирование производится последовательно: сначала первый уровень (красный канал, потом зеленый, затем синий и, наконец, канал прозрачности), затем второй уровень, потом третий уровень и, наконец, четвертый уровень в той же последовательности каналов, как для первого уровня.

Для 8-битного изображения максимальное допустимое значение в канале Chmax=255.

Таким образом, получаем систему уравнений для подбора границ значений диапазонов в каналах цветности:

В соответствии с максимальным заполнением количества слоев с данными для первых трех уровней воксельного изображения, получаем mk_r,k_g,k_b,k_t=8. Всего для первых трех уровней воксельного изображения mk=mk_r+mk_g+mk_b+mk_t=32. Для последнего (четвертого) уровня воксельного изображения получаем m4_r,4_g,4_b,4_t=4. Всего для четвертого уровня воксельного изображения m4=m4_r+m4_g+m4_b+m4_t=16.

Всего m=m1+m2+m3+m4=112.

Реализация кодирования данных в информационный код

- разделение данных на множество блоков данных

Исходный текст представляет собой единый информационный блок, который должен быть разделен на 112 примерно равных частей по количеству содержащихся символов. Количество символов в блоке исходных данных равно 790. При равномерном распределении на 112 слоев, получаем 106 блоков по 7 символов и шесть блоков по 8 символов кириллицы. Для упаковки указанного количества символов кириллицы в QR Code при 25% резервировании достаточно наименьшего размера кода 21×21 (согласно исходным данным, заданным оператором) с результатом в виде двумерных матриц QR кодов Codek,m(i,j), где m обозначает порядковый номер слоя в уровне (от 1 до 32), а k обозначает порядковый номер уровня (от 1 до 4).

- разбиение данных на биты и независимое кодирование

Каждый из указанных 112-ти блоков независимо друг от друга подвергается разбиению на биты и независимому кодированию полученных битовых блоков в двумерные QR кода размера 21×21 с результатом в виде двумерных матриц QR кодов Codem(i,j) в блоке формирования слоев.

- заполнение набора шаблонов

Поскольку защита данных не применяется, то все слои являются открытыми (ячейка 1 шаблона структуры окрашена в черный цвет). Поскольку все слои с данными содержат данные одного единственного информационного блока, то каждый из слоев с данными является связанным (ячейка 2 шаблона структуры окрашена в белый цвет). Поскольку защита данных при помощи имитационного слоя не предусмотрена, то шаблон внешней защиты слоев не задействован. Порядковый номер отображается в шаблоне записи последовательности индивидуально для каждого слоя (Фиг. 15-19) в формате от 0 для первого слоя в уровне воксельного изображения (в котором шаблон записи последовательности не подвергается изменениям из-за кодирования нулевого значения, которое в битовой реализации имеет значение 000000) до mk-1 для последнего слоя в уровне воксельного изображения (в котором шаблон записи последовательности содержит цифру 31 для первых трех уровней воксельного изображения, которая в битовой реализации имеет значение 011111, что означает изменение цвета второй, третьей, четвертой, пятой и шестой ячеек шаблона записи последовательности на черный цвет; или цифру 15 для четвертого уровня воксельного изображения, которая в битовой реализации имеет значение 001111, что означает изменение цвета третьей, четвертой, пятой и шестой ячеек шаблона записи последовательности на черный цвет). Все изменения вносятся в соответствующие матрицы Codek,m(i,j) в блоке формирования слоев.

- определение параметров внедрения

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

Для четвертого уровня воксельного изображения были выбраны следующие максимальные значения границ диапазонов:

- внедрение множества кодов в структуру информационного кода

Слои формируются в блоке сборки слоев в соответствии с формулой

Vk,m(i,j)=Codek,m(i,j)⋅Valkmax(m)

Далее, в блоке сборки слоев производится генерация каналов цветности (Resk red, Resk green, Resk blue, Resk trans) и итоговые полноцветные изображения кодов (ReSk) в соответствии с определенными ранее значениями границ диапазонов для слоев реализуемых уровней воксельного изображения. При этом сначала записывается первый 32-х слойное изображение для первого уровня, потом второй 32-х слойное изображение для второго уровня, затем слойное изображение для третьего уровня и, наконец, 16-слойное изображение для четвертого уровня. Каналы для каждого уровня записываются в следующем порядке: сначала красный, потом зеленый, потом синий и, наконец, канал прозрачности.

Затем, полученные изображения уровней записываются в итоговое воксельное изображение информационного кода для применения в системах виртуальной или дополненной реальности (Res), причем уровни записываются в порядке снизу вверх

- вывод итогового изображения информационного кода

В итоге, было сгенерировано изображение информационного кода (Фиг. 15-19), общая площадь которого уменьшилась в 47 раз относительно стандартного однослойного QR-кода, вмещающего тот же набор символов. Ни один из содержащихся в данном коде слоев не может быть воспроизведен при помощи какого-либо устройства визуализации изображения таким образом, чтобы обеспечить возможность его корректного считывания. Сгенерированный информационный код может быть расшифрован только при компьютерном разложении исходного воксельного изображения на составляющие. Защита всех слоев от воспроизведения обеспечивается кодировкой в воксельный формат изображения, при этом ни один из слоев не обладает отдельной защитой.

Похожие патенты RU2833411C1

название год авторы номер документа
Способ кодирования цифровой информации в виде многомерного нанобар-кода 2020
  • Пряхин Евгений Иванович
  • Ларионова Екатерина Владимировна
  • Захаренко Евгений Анатольевич
  • Романов Валерий Витальевич
  • Одинцова Галина Викторовна
  • Горный Сергей Георгиевич
RU2777708C2
Способ формирования и декодирования двумерного кода носителя информации 2023
  • Раевский Дмитрий Александрович
  • Климинский Виталий Игоревич
  • Зиновкин Сергей Николаевич
RU2823438C1
Способ формирования цветного QR-кода по изображениям лиц и устройство для его осуществления 2019
  • Кухарев Георгий Александрович
  • Казиева Назым
  • Щеголева Надежда Львовна
RU2714741C1
СПОСОБ И УСТРОЙСТВО ДЛЯ ЗАЩИТЫ И АУТЕНТИФИКАЦИИ ДОКУМЕНТОВ 2012
  • Массикот Жан-Пьер
  • Фоку Ален
  • Саган Збигню
RU2606056C2
ДЕНЕЖНАЯ КУПЮРА, СПОСОБ ЕЕ ИЗГОТОВЛЕНИЯ И СПОСОБ ПОДТВЕРЖДЕНИЯ ЕЕ ИСТИННОСТИ И ИНДИВИДУАЛЬНОСТИ 2016
  • Шкилев Владимир Дмитриевич
  • Беккель Людмила Сергеевна
  • Шкилев Дмитрий Владимирович
RU2647375C2
Способ встраивания биометрической информации в цветное изображение лица и устройство для осуществления способа 2019
  • Кухарев Георгий Александрович
  • Матвеев Юрий Николаевич
  • Казиева Назым
RU2713762C1
СМЕШАННЫЙ КОД, И СПОСОБ И УСТРОЙСТВО ДЛЯ ЕГО ГЕНЕРИРОВАНИЯ, И СПОСОБ И УСТРОЙСТВО ДЛЯ ЕГО ДЕКОДИРОВАНИЯ 2005
  • Чеонг Чеол-Хо
  • Хан Так-Дон
  • Ким Дзонг-Йонг
  • Ким Ий-Дзэ
  • Дзеонг Сеонг-Хун
  • Ким Дзэ-Йун
  • Чой Хан-Йеонг
RU2349957C1
СПОСОБ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ДАННЫХ 2010
  • Соковиков Владимир Васильевич
  • Звягин Андрей Васильевич
RU2436157C2
СПОСОБ ГЕНЕРИРОВАНИЯ СТРУКТУРЫ УЗЛОВ, ПРЕДНАЗНАЧЕННЫХ ДЛЯ ПРЕДСТАВЛЕНИЯ ТРЕХМЕРНЫХ ОБЪЕКТОВ С ИСПОЛЬЗОВАНИЕМ ИЗОБРАЖЕНИЙ С ГЛУБИНОЙ 2002
  • Жирков А.О.
  • Левкович-Маслюк Л.И.
  • Парк Ин-Киу
  • Игнатенко А.В.
  • Хан Ман-Дзин
  • Баяковский Ю.М.
  • Коноучин А.С.
  • Тимасов Д.А.
RU2237284C2
СПОСОБ ФОРМИРОВАНИЯ ШТРИХКОДА ПО ИЗОБРАЖЕНИЯМ ЛИЦ И УСТРОЙСТВО ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ 2013
  • Кухарев Георгий Александрович
  • Щеголева Надежда Львовна
RU2542886C1

Иллюстрации к изобретению RU 2 833 411 C1

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

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении защиты кодируемых данных от несанкционированного воспроизведения. Способ генерации информационного штрихкода из цифровых данных, подлежащих кодированию, включает выполнение операций, организованных в блоки предварительной обработки данных, формирования слоев и сборки слоев, и реализуемых при помощи процессора и памяти: разделение данных, подлежащих кодированию, на множество блоков данных, согласно набору заданных параметров, разбиение данных во всех блоках на биты, независимое кодирование разделенных битовых блоков данных во множество бинарных двумерных штрихкодов одного и того же размера в соответствии с заданным типом основы, заполнение для каждого бинарного двумерного штрихкода набора шаблонов, регламентирующих его индивидуальные параметры в соответствии с заданным типом основы, определение параметров внедрения множества полученных двумерных штрихкодов без искажений в структуру созданного информационного кода в соответствии с заданными параметрами, внедрение множества бинарных двумерных штрихкодов в единое цветное изображение в соответствии с параметрами внедрения. 3 н. и 14 з.п. ф-лы, 19 ил., 8 табл.

Формула изобретения RU 2 833 411 C1

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

разделение данных, подлежащих кодированию, на множество блоков данных, согласно набору параметров, заданному пользователем,

разбиение данных во всех блоках на биты,

независимое кодирование разделенных битовых блоков данных во множество бинарных двумерных штрихкодов одного и того же размера в соответствии с заданным типом основы,

заполнение для каждого бинарного двумерного штрихкода набора шаблонов, регламентирующих его индивидуальные параметры в соответствии с заданным типом основы,

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

внедрение множества бинарных двумерных штрихкодов в единое цветное изображение в соответствии с определенными параметрами внедрения.

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

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

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

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

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

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

8. Способ генерации информационного штрихкода из данных, подлежащих кодированию, по п. 1, отличающийся тем, что определяют параметры внедрения без искажений множества двумерных штрихкодов и генерации получаемых изображений цветовых пространствах, например, RGB, L*a*b*, LCH, HLS, HSV.

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

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

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

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

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

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

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

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

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

14. Информационный штрихкод из данных, подлежащих кодированию, включающий

множество слоев,

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

при этом уровень записи слоя определяется порядком используемого для записи байта глубины цвета генерируемого изображения,

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

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

разделение данных, подлежащих кодированию, на множество блоков данных, согласно набору параметров, заданному пользователем,

разбиение данных во всех блоках на биты,

независимое кодирование разделенных битовых блоков данных во множество бинарных двумерных штрихкодов одного и того же размера в соответствии с заданным типом основы,

заполнение для каждого бинарного двумерного штрихкода набора шаблонов, регламентирующих его индивидуальные параметры в соответствии с заданным типом основы,

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

внедрение множества бинарных двумерных штрихкодов в единое цветное изображение в соответствии с определенными параметрами внедрения.

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

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

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

Документы, цитированные в отчете о поиске Патент 2025 года RU2833411C1

Многоступенчатая активно-реактивная турбина 1924
  • Ф. Лезель
SU2013A1
Приспособление для суммирования отрезков прямых линий 1923
  • Иванцов Г.П.
SU2010A1
Станок для изготовления деревянных ниточных катушек из цилиндрических, снабженных осевым отверстием, заготовок 1923
  • Григорьев П.Н.
SU2008A1
Устройство для закрепления лыж на раме мотоциклов и велосипедов взамен переднего колеса 1924
  • Шапошников Н.П.
SU2015A1
СПОСОБ ИЗГОТОВЛЕНИЯ ШТРИХ-КОДА 2007
  • Шкилёв Владимир Дмитриевич
RU2408929C2
СПОСОБ СЧИТЫВАНИЯ, ПО МЕНЬШЕЙ МЕРЕ, ОДНОГО ШТРИХ-КОДА И СИСТЕМА СЧИТЫВАНИЯ ШТРИХ-КОДА 2007
  • Гуэлибо Дидье
  • Рансьен Сандрин
RU2439701C2

RU 2 833 411 C1

Авторы

Горбунова Елена Васильевна

Морозов Юрий Михайлович

Даты

2025-01-21Публикация

2024-06-12Подача