Способ кодирования цифровой информации в виде многомерного нанобар-кода
METHOD FOR ENCODING DIGITAL INFORMATION IN FORM OF MULTIDIMENSIONAL NANOBAR-CODE

Предлагаемое изобретение относится к способу кодирования и записи (представления) цифровых или физических данных, преобразованных в цифровой вид, а также к формированию оптически считываемых многоцветных кодов, представляющих собой семейство слоев двоично-кодированных данных, и формирующие размещенные на двухмерной матрице и формирующие, таким образом, шаблон для размещения информации. Каждый слой многоцветного кода является кодом, представляющим двоично-кодированные данные, размещенные надвухмерной матрице. Сформированное семейство слоев, представляющее собой трехмерный объект, обрабатываются специальными алгоритмами сжатия или наложения, при этом формируется двухмерный объект - код, содержащий множество цветных ячеек и расположенный на двухмерной области - матрице.
Предлагаемое изобретение может найти применение в области маркирования изделий, повышения информационной емкости двухмерных кодов, идентификации и нанесении, передаче и считывании цифровой информации больших объемов.
Использующийся в настоящее время черно-белый штрих-код очень широко используется для записи цифровой информации, которая считывается с помощью устройства на небольшом пространстве, например, на печатном документе. Однако такой черно-белый штрих-код имеет существенные недостатки. Одна из проблем состоит в том, что трудно записывать информацию, включающую большие объемы данных, таких как многословные документы или небольшие изображения.
Для решения этой проблемы в последнее время предлагается использование цветных штрих-кодов. Цветной штрих-код может записывать гораздо больше информации, чем черно-белый штрих-код, так как черно-белый штрих-код позволяет записывать информацию в двоичном виде, тогда как цветной штрих-код с помощью нескольких цветов (палитры) может записывать информацию с использованием многозначной записи.
Известны различные системы и устройства для защиты и передачи информации.
Известен Способ кодирования кодового изображения, (патент РФ №2251734 МПК G06K 19/06037, дата приоритета 09.05.2000, дата публикации 20.06.2004). Способ включает кодирование данных с представлением их в виде кода, с использованием компоновки ячеек с различными цветами, формами или конфигурациями. Его применение позволяет получить технический результат в виде обеспечения возможности кодирования более разнообразной и более объемной информации. Этот результат достигается благодаря тому, что способ включает следующие действия: формирование таблицы преобразования кода, установку требуемых данных, кодирование требуемых данных, определение области контроля четности и получение изображения в виде физического или электронного кода. Предложены также устройства генерации и декодирования цветного кода.
Известны патенты "Color Barcode Producing, Reading and/or Reproducing Method and Apparatus", (патент США №2008179407, МПК G06K 9/06, дата приоритета 28.06.2004, дата публикации 31.07.2008)., и "Color Barcode Producing Method and Apparatus, Color Barcode Reading Method and Apparatus and Color Barcode Reproducing Method and Apparatus", (патент США №2009194592, МПК G06K 9/06, дата приоритета 09.08.2004, дата публикации 06.08.2009)., позволяющие сформировать двухмерные цветные матричные штрих-коды. Предложенные цветные штрих-позволяют записать гораздо больший объем информации, чем двоичные матричные. Предложенные изобретения обеспечивают устройство и способ сохранения целостности цветовоспроизведения и цветопередачи штрих-кода. Указанное условие достигается путем составления таблиц ссылок цветной части цветного штрих-кода, включая ссылки на цвет ячейки, таблиц палитр цветов, которые используются в виде данных цвета штрих-кода и для устройства и способа генерации, воспроизведения и чтения штрих-кода такого цвета.
Известен способ и устройство для кодирования/декодирования физического или электронного кодового изображения (патент РФ №2349957, МПК G06K 19/06, дата приоритета 26.03.2005, дата публикации 20.03.2009). Предложен машиночитаемый носитель с записанным на нем смешанным кодом, который включает: область первого кодового изображения, в которой содержится первое кодовое изображение, полученное путем кодирования первой информации, с использованием цвета, оттенка или их комбинации, и область второго кодового изображения, в которой содержится второе кодовое изображение, полученное путем кодирования второй информации, с использованием цвета, оттенка или их комбинации. Смешанный код получен путем регулирования разницы в цвете и яркости между изображениями первого и второго кодов до заданного уровня и комбинирования этих изображений. Первое и второе кодовые изображения можно декодировать путем декодирования информации интерпретации, информации построения, информации контроля над ошибками и информации направления кода, сохраненных в первом и/или втором кодовых изображениях. Такой патент предполагает способ защиты от подделок, но тем не менее, остается основная проблема воспроизведения цветовых оттенков кода при использовании аппаратных средств, тем более что сам код формируется путем регулирования разницы в цвете и яркости между изображениями первого и второго кодов до заданного уровня и комбинирования этих изображений. Кроме того, при повреждении любого из блоков интерпретации, построения, контроля над ошибками и информации направления, код становится нечитаемым.
К недостаткам предложенных способов можно отнести следующее: несмотря на увеличение возможного объема кодированных данных нельзя в цветном коде разместить значительное количество информации. Цветной штрих-код формируют путем отображения цветов на структуру штрих-кода. Хотя при использовании цветного штрих-кода количество способов выражения информации может быть увеличено, такой цветной штрих-код также представляет собой простую комбинацию цветов в структуре штрих-кода. При считывании и декодировании предлагаемый способ позволяет обнаружить ошибки, но не предложены алгоритмы их исправления, либо предлагается список ссылок на заявленные цвета, которые могут быть использованы в коде. Кроме того, таблицы преобразования кода, в которой определены различные цвета, оттенки, формы или конфигурации, или их комбинации в соответствии с распознаваемыми знаками, включая цифры и символы позволяют с достаточной достоверностью копировать и подделывать такие штрих-коды. Также нужно отметить зависимость от аппаратных средств.
С целью решения проблемы размещения большого объема информации на плоскости, в частности - размещения трехмерных объектов на плоскости существуют разработки многомерных кодов. Такие коды формируются с использованием систем расширенной реальности. Суть заключается в том, что по реперным точкам двухмерного изображения воссоздается трехмерное изображение, в том числе и цветное.
Например, известен трехмерный штрих-код (изобретен Компанией Content Idea), который составляют двадцать четыре слоя разных цветов, благодаря чему в нем можно хранить от 600 Кб до 1.8 Мб данных. Принцип работы организован следующим образом: штрих-код размещается в качестве рекламы на странице журнала. Пользователь подносит свое устройство считывания с установленным специальным ПО к метке, сканирует ее и видит на экране рекламный видеоролик.
Для интерпретации трехмерной сцены в двухмерном штрих-коде необходимо использовать специализированные языки моделирования. Например, патент "Устройство и способ представления трехмерного объекта на основе изображений с глубиной" (патент РФ №2237283, МПК G06T 9/40, дата приоритета 27.11.2001, дата публикации 27.09.2004) предлагает способ представления трехмерных объектов на основе изображений с глубиной. Его применение при визуализации трехмерного изображения позволяет получить технический результат в виде обеспечения компактности хранения информации об изображении, быстрой визуализации с высоким качеством выходного изображения.
Этот результат достигается благодаря тому, что способ включает в себя:
- генерирование фрагмента информации о точке наблюдения, цветных изображений на основе информации о цвете, соответствующих точек пикселов, составляющих объект, изображений с глубиной, узлов изображений, состоящих из информации о точке наблюдения, цветного изображения и изображения с глубиной, соответствующих информации о точке наблюдения;
- кодирование генерированных узлов изображений.
Данное изобретение позволяет сформировать трехмерное изображение на основе кодированного двухмерного, однако воспроизведение такого двухмерного объекта даже на бумажной продукции без потери качества крайне затруднено, кроме того, исключается кодирование других видов цифровой информации.
Для полнофункционального действия идентифицирующих и защитных свойств штрих-кодов (двухмерной символики) различной конфигурации необходимо использовать методы защиты информации, предпочтительными являются методы с использованием криптографических алгоритмов. Такие способы предусматривают преобразование информации с использованием криптографических функций и алгоритмов.
Известен "Программно-реализуемый цифровой способ защиты от подделок и устройство для осуществления способа", (заявки РФ №98112241, МПК G09C 5/00, дата приоритета 29.11.1995, дата публикации 20.06.2000). Предлагаемый способ, реализуемый с помощью программы в компьютерной системе, для создания в цифровой форме зашифрованного символа для защиты от подделок, вводимого в печатный материал, отличается тем, что включает этапы:
- шифрования входного изображения, которое разделено на элементарные входные сегменты,
- преобразования в растровую форму видимого исходного изображения в зависимости от числа указанных полученных зашифрованных элементарных выходных сегментов;
- слияния указанного растрового видимого исходного изображения с указанными зашифрованными элементарными выходными сегментами таким образом, чтобы получаемое в результате кодированное выходное изображение было преобразовано с возможностью представления видимого изображения при сохранении внутренней структуры зашифрованного входного изображения;
- распечатки указанного кодированного выходного изображения с достаточной разрешающей способностью таким образом, чтобы средство декодирования могло быть использовано для выделения зашифрованного входного изображения.
При этом указанное видимое исходное изображение преобразуют при дискретизации в одноцветное побитовое изображение, а многоуровневый трехмерный эффект создают с использованием входного изображения, составленного из фонового рисунка.
Такой способ не позволяет внести в код значительные объемы информации, а также ограничивает использование способа только для печатной продукции.
Другие известные методы защиты информации, как правило, не предполагают использования шаблона матрицы изображения, что исключает возможность машинного считывания и дешифрования закодированного сообщения.
В способе защиты информации от несанкционированного доступа (патент РФ №2227318, МПК G06F 12/14, дата приоритета 18.06.2001, дата публикации 20.04.2004). предложен способ защиты, основанный на формировании ключа, который хранят в памяти внешнего устройства, приспособленного для подсоединения к ЭВМ, дешифрировании информации с использованием ключа во внешнем устройстве, отличающийся тем, что формирование ключа осуществляют непосредственно во внешнем устройстве, при этом шифрование информации осуществляют с использованием ключа в этом же устройстве.
Формирование ключа при этом осуществляют с использованием сигналов псевдослучайной последовательности и сигналов внешнего случайного воздействия с последующей автоматической проверкой ключа на отсутствие совпадений с ключами, хранящимися в памяти внешнего устройства.
Ключ хранят в памяти внешнего устройства, приспособленного для подсоединения к ЭВМ, дешифрировании информации с использованием ключа во внешнем устройстве, отличающийся тем, что формирование ключа при обмене информацией между абонентами осуществляют во внешнем устройстве одного из абонентов, шифруют его системным ключом, предварительно записанным в память системного ключа всех устройств абонентов одной серии, и передают зашифрованный ключ другому абоненту, расшифровывают его у другого абонента, при этом шифрование информации осуществляют с использованием ключа во внешних устройствах каждого из абонентов.
К недостаткам указанного способа можно отнести отсутствие возможности реализации способа в случае форс-мажорных обстоятельств, таких, как поломка оборудования у пользователя или выход из строя сегментов оборудования. Также в указанном способе используется управляющая последовательность (ключ), которая или короче, или соответствует длине сообщения и отсутствует точная оценка для вероятности навязывания ложной информации, таким образом, повышается вероятность взлома или вычисление обходного пути для расшифровывания защищенной информации. Также, отсутствует вариант исполнения в графической машиносчитываемой форме двухмерного кода.
Известна заявка "Two-dimensional colorcode, preparing and restoring method for the code and apparatus here for", (заявка США №5992748 (А), МПК G06F 7/12, дата приоритета 1996-08-08, дата публикации 1999-11-30). Способ предлагает:
- Устройство для формирования двумерного цветного кода: включает в себя секцию оригинального объекта изображения для вывода на устройство обработки; средство обработки, имеющей участок преобразования кода для вывода двумерных цветовых кодов, соответствующих градациям оттенков цвета отдельно от CMY цветов в оригинальных данных изображения одного пикселя и секцию печати для печати на печатном листе.
- Устройство для восстановления двумерного цветного кода: считывает двумерный цветной код в секции считывания для вывода градаций оттенков цвета отдельно из CMY цветов. В разделе печать - печатается восстановленные данные изображения на основе градаций оттенков цвета.
Предложенный в этом патенте способ позволяет формировать цветной штрих-код с использованием трех основных цветов (желтый, голубой, пурпурный), восстанавливать поврежденную информацию при сканировании варианта кода в градациях серого. К недостаткам этого способа относится сложность восстановления при повреждении кода (потребуется двойное сканирование и дополнительная печать). Кроме того, такой способ предполагает расположение цветного матричного штрих-кода только на бумажных носителях.
Кроме того, существуют общие проблемы при использовании известных штрих-кодов. Основная проблема заключается в том, что даже в цветном штрих-коде не удается разместить достаточный объем информации для воспроизведения многостраничных документов, изображений звуковых, видео и других медиа файлов. Другая проблема состоит в том, что цветной штрих-код не гарантирует собственную целостность и подлинность при печати и копирования за счет:
- различных систем управления цветом для различной аппаратуры,
- неустойчивых цветовых характеристик самого печатающего устройства,
- зависимость от цветопередачи и точности сканера,
- возможная временная деградация цвета на носителе.
Наиболее близким по совокупности существенных признаков к предлагаемому изобретению является Способ кодирования и декодирования цифровой информации в виде ультрасжатого нанобар-кода (варианты), (патент РФ №2656734, МПК G06K 9/18, дата приоритета 27.12.2013, дата публикации 06.06.2018), который принят за прототип. Известное изобретение относится к способу преобразования (кодирования), декодирования и записи цифровой информации для формирования матричного ультрасжатого двухмерного кода (нанобар-кода), а также к оптически считываемым двухмерным кодам, представляющим двоично-кодированные данные, размещенные на двухмерной матрице и формирующие, таким образом, шаблон для размещения информации.
Способ включает следующие действия: прием подлежащей кодированию информации, кодирование информации с использованием таблицы кодового преобразования, формирование структуры закодированных данных, шифрование, добавление информации для восстановления, получение изображения в виде электронного или физического кода.
После кодирования информации осуществляют ее шифрование, сжатие и добавление избыточной информации для восстановления в случае ее утраты.
Шифрование информации осуществляют с использованием криптографических алгоритмов в два этапа: на первом этапе шифрование проводят на уровне байтов с помощью полиалфавитного байтового шифра с различным значением сдвига для каждого байта информации, на втором этапе шифрование осуществляют на уровне битов на основе симметричного битового алгоритма шифрования AES.
Сжатие информации осуществляют на основе методов оптимальных кодов, причем вероятности встречаемости кодовых слов для каждого блока кодируемой информации рассчитывают только для этого блока и пересчитываются для каждого блока. Для обнаружения ошибок используется частный случай БХЧ-кодов (Коды Боуза - Чоудхури - Хоквингхема). Формирование избыточной информации происходит с использованием полинома xn+xn-1+…+1=0, где n∈P (Р - пространство простых чисел). В этом случае используемый полином является универсальным, как для операции SubBytes, так и для формирования избыточной информации.
Для получения кодового сообщения осуществляют формирование структуры закодированных данных в виде ультрасжатого нанобар-кода в виде физического или электронного изображения двухмерного кода, содержащего область фона, область ориентирующих элементов и область данных. Область ориентирующих элементов содержит опорный квадрат с рамкой и пустым полем, выравнивающие прямоугольники и рамку границы кода, область данных, содержащую кодовое сообщение, наложена на область ориентирующих элементов таким образом, чтобы элементы областей не перекрывали друг друга. Внутри опорного квадрата может быть размещена любая надпись и/или изображение, причем размеры опорного квадрата, рамки и пустого поля могут изменяться в различную сторону. Центр опорного квадрата расположен на пересечении осей симметрии выравнивающих прямоугольников. Основным недостатком предлагаемого способа является ограниченность количества кодируемой информации, а так же нерациональное использование полезной площади кода, так как информация располагается только на одном информационном слое.
Таким образом, информация может располагаться только на одном слое, при считывании используются алгоритмы обработки монохромного изображения. Предлагаемое изобретение является усовершенствованием вышеизложенного способа для кодирования и защиты информации, т.к. не предусматривает увеличение объемов преобразуемой информации при сохранении площади формирования матрицы, использование только одного слоя для восстановления информации.
Таким образом, основной целью предлагаемого изобретения является разработка способа уплотнения кодируемой информации и повышения информационной емкости кода, посредством формирования многоцветного матричного кода - цветного нанобар-кода, с использованием преобразования трехмерного объекта в двухмерный, позволяющего однозначно идентифицировать объект, представлять информацию в высокоуплотненном виде.
Технический результат предлагаемого изобретения заключается в, повышении информационной емкости кода при кодировании цифровой информации в сочетании с увеличением эффективной информационной емкости кода.
Достигается технический результат путем кодированием цифровой информации в виде ультрасжатого кода - нанобар-кода, включающий прием подлежащей кодированию информации, кодирование информации с использованием таблицы кодового преобразования и получение кодового сообщения на носителе информации в виде физического или электронного кода, в котором после кодирования информации осуществляют ее шифрование, сжатие и добавление избыточной информации для восстановления в случае ее утраты, шифрование информации осуществляют с использованием криптографических алгоритмов в два этапа: на первом этапе шифрование проводят на уровне байтов с помощью полиалфавитного байтового шифра с различным значением сдвига для каждого байта информации, на втором этапе шифрование осуществляют на уровне битов на основе симметричного битового алгоритма шифрования AES. Количество раундов перемешивания при шифровании на уровне байтов равняется 1, полученная последовательность зашифрованного сообщения переводится в 16-тиричную систему счисления и передается на этап второй битового шифрования, для первого этапа шифрования используется таблица значений 256 на 256 символов или 256 таблиц по 256 позиций, при этом количество полей таблицы соответствует количеству полей кодировочной таблицы ASCII, на втором этапе шифрования (битовом шифровании) количество раундов перемешивания является конечным и равно q, при этом сообщение Р длиной а символов разбивается на n-е количество блоков объемом m символов в блоке и шифруется с алгоритмом, содержащим q раундов перемешивания, при шифровании на битовом уровне на всех раундах шифрования осуществляют изменение дизайна шифра, а именно между операциями ShiftRows и MixColumns производят сдвиг блоков с сохранением механизма формирования раундовых ключей и этапов перемешивания, сжатие информации осуществляют на основе методов оптимальных кодов, причем вероятности встречаемости кодовых слов для каждого блока кодируемой информации рассчитывают только для этого блока и пересчитываются для каждого блока, для получения кодового сообщения осуществляют формирование структуры закодированных данных в виде ультрасжатого нанобаркода в виде физического или электронного изображения двухмерного кода, содержащего область фона, область выравнивающих прямоугольников и область данных, состоящую, по меньшей мере, из одного блока данных, причем, область ориентирующих элементов содержит опорный квадрат с рамкой и пустым полем, выравнивающие прямоугольники и рамку границы кода, область данных, содержащую кодовое сообщение, наложена на область ориентирующих элементов таким образом, чтобы элементы областей не перекрывали друг друга. Внутри опорного квадрата может быть размещена любая надпись и/или изображение, причем размеры опорного квадрата, рамки и пустого поля могут изменяться в различную сторону. Центр опорного квадрата расположен на пересечении осей симметрии выравнивающих прямоугольников с тем отличием, что цифровую информацию после ее кодирования размещают на нескольких информационных слоях, которые затем суммируются по цветовым шаблонам с учетом выбранной системы цветопреобразования. Информацию, в том числе как зависимую, так и независимую, при кодировании располагают в многомерном нанобар-коде и кодируют последовательно частями на каждый слой, для получения кодового сообщения осуществляют формирование структуры закодированных данных путем суммирования информационных слоев, содержащих закодированную информацию, по цветовым шаблонам с учетом выбранной системы цветопреобразования. Для получения кодового сообщения осуществляют формирование структуры закодированных данных путем суммирования слоев, содержащих закодированную информацию, по цветовым шаблонам с учетом выбранной системы цветопреобразования, количество формируемых информационных слоев выбирается в зависимости от способа физической или цифровой реализации многомерного нанобар-кода, алгоритмы сжатия на основе графических возможностей систем цветопреобразования определяют метод формирования информационных слоев, их порядок и результат сложения в виде многомерного нанобар-кода, который является при этом трехмерным, отображаемым на двухмерном пространстве. Для физического носителя кода выравнивающие прямоугольники и области ориентирующих элементов окрашены в основные цвета сформированной системы цветопреобразования, определение доминирующих цветов как опорных цветовых оттенков производят на основе алгоритмов кластеризации цветовых оттенков.
Для решения задачи было необходимо определить, как хранить более одного бита информации на ячейку, что является стандартом для двухмерных, черно-белых штрих-кодов.
Используя ряды квадратных ячеек, окрашенных в различные цвета, можно повысить плотность кода. Кроме того, используя поле фона как дополнительные ячейки, можно сделать код многомерным.
Чтобы гарантировать точное программное считывание цвета, необходимо сформировать палитру, содержащую эталон цветовых оттенков, которые можно использовать в коде, таким образом, сформировав механизм калибровки. Механизм калибровки указывает диапазон усреднения цветовых оттенков, которые могут различаться при считывании в разных условиях (освещение, считывание под углом и т.д.).
Заявителем предлагаемого изобретения разработаны алгоритмы кластеризации цветовых оттенков и определения доминирующих цветов поля Нанобар-кода (НБК). Цветовые слои можно использовать следующим образом.
Палитра изображения представляет собой множество цветов, используемых на изображении. Если изображение хранится в формате цветовой системы Red, Blue, Green (RGB), то каждая точка этого множества имеет три координаты - Red, Green, Blue (красный, зеленый, синий); а если добавляется еще одна компонента - альфа-канал или прозрачность (А), то в формате в формате ARGB (Альфа-канал, Red, Blue, Green)
Палитру можно представить набором точек в трехмерном для RGB или четырехмерном для ARGB пространствах. За счет присутствия на изображении плавных переходов и полутонов цвета, точки будут образовывать «облака» - так называемые кластеры, где все точки одного кластера имеют близкий друг другу цвет. Поэтому, для точек, которые попали в один кластер, можно назначить один усредненный (один из вариантов) цвет, и уменьшить за счет этого размерность множества - палитры.
С другой стороны, изображение можно хранить в формате CMY (цветовая система, содержащая Cyan, Magenta, Yellow) или CMYK (Cyan, Magenta, Yellow, Black). Таким образом, тоже можно произвести кластеризацию цвета и выявить множество слоев для записи информации.
Информация кодируется в слой градаций серого, причем таких слоев 255 для одного канала. На основе этих слоев воссоздается полноцветное изображение в выбранной системе. Восстановление полноцветного изображения производится суммированием слоев, выступающих как каналы цветного изображения.
При этом, учитывать количество цветов, воспроизводимых на различных материалах при различных методах вывода (печать, лазерная гравировка, трансферный перенос и т.д.) или цифровом виде, можно следующим образом.
Для цифрового пространства существует системы кодирования цвета, для вывода его на экран. Например, 16-битовое кодирование цвета позволяет разбить изображение на каналы, каждый из которых характеризует долю красного, зеленого или синего цветов. Из этих цветов составляется электронное изображение. В случае физического носителя, например распечатанного рисунка, для определения количества слоев, необходимо определить или назначить контрастные цвета для однозначного считывания и декодирования)
i
Пусть N - количество цветовых оттенков, i=глубина цветности, тогда количество слоев Y для цифрового НБК можно найти по следующей формуле: N=2.
4
1. при i=4; Y=N=2=16;
8
2. при i=8; Y=N=2=256;
16
3. при i=16; Y=N=2=65536;
24
4. при i=24; Y=N=2=16777216;
32
5. при i=32; Y=N=2=4294967296.
Таким образом, цифровой вариант носителя при кодировании цвета в 24 бита, может иметь более 16 миллионов слоев.
В случае физического носителя, используя известные стабильно получаемые цвета, можно составить уникальную для используемого материала систему цветопреобразования, позволяющую кодировать дискретное количество слоев.
Например. На техническом титане под воздействием лазерного излучения возможно получение однозначных 6 цветовых оттенков: белый, черный, желтый, голубой, синий, фиолетовый, в этом случае i=2. Значит, на этом материале можно создать двухслойное сообщение, а для опорных цветовых оттенков следует выбрать четыре основных цвета. Выберем контрастные белый, черный, желтый и синий.
Для использования этой системы для формирования слоев цвет может принимать только два значения - 0 (белый) и 1 (черный) (см. табл 1).
Выбранные контрастные цвета, сформированные системой цветопреобразования, для материала Технический титан показаны на фиг. 1 - первый слой для сформированной системы цветопреобразования, на фиг. 2 - второй слой для сформированной системы цветопреобразования
Сформированные кодовые слои преобразуются в структуру закодированных данных в виде массивов двухмерных данных, содержащих потоковую информацию о характеристиках ячейки кода или электронных изображений двухмерных кодов, содержащих области фона, области ориентирующих элементов и области данных, причем изображение областей ориентирующих элементов и области данных являются контрастными по отношению к изображению области фона. Обработка семейства кодовых слоев и их преобразование позволяют сформировать на двухмерной матрице многоцветный код, содержащий семейство кодовых слоев.
Первый вариант размещения связанной информации на слоях многомерного кода.
Выберем систему цветопреобразования для кодирования. Например, систему RGB. Эта система раскладывается на три слоя - Red (красный), Green (зеленый), Blue (синий), следовательно, позволяет сформировать три сообщения, никак не связанные друг с другом и разместить их на одной двухмерной матрице.
В рассмотренном примере для наглядности будем считать, что слой (красный, зеленый или синий) может принимать только два значения - 0 (черный) и 255 (белый), т.е. соответствовать 1 (черный) или 0 (белый).
Для кодирования может быть использовано соответствие 1 - белый, 0 - черный, на суть кодирования это не влияет.
Таким образом, если взять красный цвет и выполнить разбиение на каналы RGB с использованием стандартной функции, получим следующее распределение по каналам: 255, 0,0.
В табл. 2 указано распределение по слоям для основных цветов, которые можно разложить на слои с указанным условием (слой может принимать только два значения - 1 или 255)
Таким образом, каждый из основных цветов имеет однозначное соответствие определенному сочетанию значений цветовых каналов. Причем каждый из них принимает значение, соответствующее черному (1) или белому (0) цвету ячейки цветного нанобар-кода НБК. Обратное действие - сложение каналов позволит получить, соответствующий этим каналам один из основных цветов.
В общем случае процесс кодирования информации выглядит следующим образом. Подготавливаются три независимых сообщения (см. табл 2).
Первое сообщение:
Мама
Второе сообщение:
Мыла
Третье сообщение:
раму
Таким образом, закодированное сообщение, будет занимать площадь в 96 ячеек (фиг. 3) Причем, в этом случае не использовано шифрование и добавление избыточной информации для восстановления.
Преобразуем сообщение с использованием алгоритмов, обратных алгоритмам разложения цвета на слои с учетом табл. 4.
Результат кодирования представлен на фиг. 4 - Красный слой (слой, содержащий сообщение «Мама»), на фиг. 5 - Зеленый слой (слой, содержащий сообщение «Мыла»), на фиг. 6 - Синий слой (слой, содержащий сообщение «раму»)
Результат сложения слоев представлен табл. 5, где ячейка окрашена в соответствующий цвет, обозначенный цифрой (см. табл. 4), после сложения слоев.
Результат кодирования представляет собой многомерный цветной нанобар-код, полученный с использованием специальных алгоритмов сжатия на основе графических возможностей выбранной системы цветопреобразования, где три независимых сообщения расположены на двухмерной матрице и занимают, соответственно в три раза меньше поверхности при тех же условиях кодирования. При разбиении на слои результата кодирования, получаем три слоя:
Красный слой на фиг. 4 (слой, содержащий сообщение «Мама»),
Зеленый слой на фиг. 5 (слой, содержащий сообщение «Мыла»),
Синий слой на фиг. 6 (слой, содержащий сообщение «Раму»)
Каждый слой декодируется в сообщения.
Первое сообщение:
Мама
Второе сообщение:
Мыла
Третье сообщение:
Раму
Причем, порядок сообщений будет влиять только на цветовые значения конечного сообщения, что позволяет располагать слои с независимыми сообщениями в произвольном порядке.
Для кодировки в системе CMYK добавим к трем слоям четвертый с информацией «МаМа (фиг. 7).
Суммарное сообщение будет содержать следующие слои:
Желтый канал (слой, содержащий сообщение «Мама») - фиг. 8
Голубой канал (слой, содержащий сообщение «Мыла») - фиг. 9
Пурпурный канал (слой, содержащий сообщение «раму») - фиг. 10
Черный канал (слой, содержащий сообщение «МаМа») - фиг 7.
Вид итогового закодированного сообщения представлен в табл. 7 (обозначения цветов указаны в табл. 6)
Также, слои могут быть суммированы в произвольном порядке - информация не будет искажена или перемешена. При изменении порядка слоев внешний вид кода также изменится.
Также, закодированное сообщение однозначно раскладывается на слои, содержащие независимую информацию.
В данных примерах приведены результаты кодирования текстовой информации, но так же возможно кодировать и любую другую цифровую информацию. При этом, цвет кода не несет информацию о содержании информации, являясь индикатором многослойности кода.
Второй вариант размещения связанной информации на слоях многомерного кода.
Указанный вариант повышения плотности записи информации использует цифровые атрибуты цвета, как носитель информации, тем самым увеличивая емкость ячейки кода за счет самого цвета.
Таким образом, ячейка несет в себе информационную емкость и в зависимости от количества используемых цветов цветовой системы информационная емкость ячейки может колебаться в пределах от 3 до 32 бит.
Вариант использования алгоритма уплотнения кодированного сообщения использует специальные алгоритмы сжатия на основе графических возможностей систем цветопреобразования. Причем возможны два варианта кодирования:
1) Кодирование с использованием только базовых цветов цветовых систем RGB и CMYK, в данном случае возможно закодировать на одну цветовую ячейку 3 бита информации (3 слоя).
Закодируем сообщение и представим его в виде цветного кода (табл. 8).
Полное сообщение будет представлено в следующем виде: 110011001111000011101100111110111110101111110000111100110010000000101110
Разобьем последовательность на группы из трех бит: 110011001111000011101100111110111110101111110000111100110010000000101110
Три бита соответствуют трем слоям в системе RGB. Наличие бита, т.е. 1 соответствует максимальному числовому значению возможному в отдельном цветовом канале - 255. Отсутствие соответствует - 0. Присвоим каждой группе бит числовые значения согласно таблице 4.
Для первых 3 бит будут получены значения 255.255.0, которые соответствуют цвету Yellow в системе RGB. Ячейка с цветом Yellow будет содержать в себе 3 бита информации.
Все сообщение будет закодировано в цветовых системе RGB с дополнительным белым цветом (в данном случае белый цвет - включает в себя информацию 0.0.0, а не 0 как при бинарном отображении кода). Для полного сообщения сформируем наглядную таблицу цветовых слоев Red, Green, Blye и их суммы (см. табл. 9).
Декодируем следующий код (табл. 10) Разложим цвет каждой ячейки по цветовым каналам табл. 4
Получим последовательность
Преобразуем полученную последовательность в восьмибитную.
Декодируя последовательность, получим исходный текст: «Привет Вам от Виталика» (см. табл. 11)
В данных примерах приведены результаты кодирования текстовой информации, но так же возможно кодировать и любую другую цифровую информацию. Одна цветная ячейка при любой кодируемой информации будет иметь информационную емкость в 3 бита. Такой метод кодирования без дополнительного использования сжатия позволяет уменьшить объем кода пропорционально информационной емкости ячейки.
2) Кодирование с использованием всего цветового пространства цветовых систем RGB и CMYK, в данном случае возможно закодировать на одну цветовую ячейку либо 24, либо 32 бита информации в зависимости от выбранной цветовой системы (24 или 32 слоя информации).
Закодируем сообщение и представим его в виде цветного кода «Мама мыла раму.»
110011001111000011101100 - получаем координаты цвета в десятичной системе счисления: 204, 224, 236.
Визуальное представление каждого цветового слоя в системе RGB:
1-й цветовой канал 0.0.204
2-й цветовой канал 0.224.0
3-й цветовой канал 0.0.236
Суммируя - получаем ячейку с итоговым цветом с координатами RGB 204.224.236 - ячейка содержит информацию: «М», «а», «м» Остальная часть сообщения кодируется аналогично. Итоговый результат представлен в таблице 12.
Таким образом, можно сравнить эффективную площадь, занимаемую кодом при различных системах кодирования одного и того же сообщения - «Мама мыла раму.»:
При черно-белом кодировании - 72 ячейки - фиг. 11
При кодировании в системах RGB или CMYK с использованием только базовых цветов - 24 ячейки - фиг. 12, номера ячеек составлены в соответствии с табл. 4
При кодировании в системах RGB или CMYK с использованием всей цветовой области цветов - 5 ячеек (см. табл. 12).
Такое кодирование с использованием всей области цветов цветовых систем RGB или CMYK позволяет сократить площадь в 14,4 раза без использования стандартных алгоритмов сжатия.
При формировании нанобар-кода следует учитывать, что рекомендуемая последовательность действий, следующая:
• Выбор или формирование цветовой системы;
• Кодирование и перевод информации в бинарный вид для каждого слоя;
• Добавление избыточной информации для восстановления утраченных данных;
• Формирование слоев с зависимой или независимой информацией;
• Сложение слоев;
• Расположение на двумерной матрице кода.
Преимущества предлагаемого цветного нанобар-кода:
Методы сжатия и наложения информации позволяют значительно уплотнить код, а также повысить его информационную емкость за счет сложения слоев.
При сравнении двухмерного кода с трехмерным, расположенным на двухмерной матрице, для цветного нанобар-кода в области полезной информации преимущество очевидно (см. табл. 13).
Преимуществом предлагаемых вариантов является уплотнение информации, за счет расположения трехмерного объекта на двухмерной матрице, при котором суммируются сформированные слои с зависимой или независимой информацией или за счет повышения емкости ячейки без использования дополнительных алгоритмов сжатия информации.
Основные достоинства предлагаемого изобретения, по сравнению с прототипом:
многократное увеличение (минимум в 3 раза для цифровой версии) компактности кода; цветной нанобар-код является 3-Д объектом и может содержать как зависимую, так и независимую информацию на слоях, возможность восстанавливать информацию на каждом слое;
Кроме того, имеется возможность восстановления данных, имеются цветовые элементы в структуре кода для распознавания кодирующей цветовой системы и разложения на слои и декодирования информации в соответствии с ней. Уплотнение информации в матрице кода за счет сложения слоев кода и повышения информационной емкости кода происходит с возможностью нанесения на любую поверхность.