Изобретение относится к вычислительной технике и информатике, в частности, к обработке данных, и может быть использовано для внесения дополнительной информации в цифровые графические изображения и извлечения дополнительной информации из цифровых графических изображений для организации поиска цифровых графических изображений в базах данных и в сети Интернет.
В настоящее время известны методы внесения дополнительной информации в цифровые графические изображения и извлечения дополнительной информации из цифровых графических изображений, представленных в каком-либо стандартном графическом формате.
Известен способ стенографической защиты секретной информации, заключающийся в замене малозначимых битов цифрового сигнала контейнера битами секретной информации, при этом для записи бита секретной информации выбирают подмножество отсчетов цифрового сигнала, изменение значения которых на единицу приводит к установлению бита секретной информации в значении дискретной функции распределения значений отсчетов цифрового сигнала контейнера, причем из этого подмножества отсчетов для записи бита секретной информации выбирают тот отсчет, модуль разности которого между собственным значением и средним значением соседних отсчетов максимален (Патент РФ №2262805, H04L 9/00, опубл.: 20.10.2005).
Известен способ внедрения дополнительной информации в цифровые изображения, заключающийся в замене отдельных битов в байтах исходного цифрового изображения и использовании части оставшихся битов для коррекции конечного цифрового изображения, причем исходное цифровое изображение раскладывают на битовые слои, для записи дополнительной информации выбирают один из полученных битовых слоев, который представляют в виде битовой последовательности, запись дополнительной информации в полученную битовую последовательность осуществляют с помощью кода, причем при записи дополнительной информации с помощью кода в полученной битовой последовательности биты, расположенные на границах всех переходов одинаковых битовых последовательностей нулей и единиц, заменяют в соответствии с битами записываемой дополнительной информации (Патент РФ №2288544, H04L 9/00, опубл. 27.11.2006 г.).
Указанные способы предназначены для организации скрытого хранения и передачи конфиденциальной информации по открытым каналам связи, и имеют своей целью затруднить поиск внедренной информации.
К недостаткам указанных выше способов внедрения информации в растровые изображения следует отнести их сложность, выполнение большого числа операций при внесении дополнительной информации и извлечении дополнительной информации. Данные алгоритмы требуют весьма больших объемов вычислений, реализуются в течение длительного времени, что требует больших временных затрат, что неприемлемо при поиске информации в больших базах данных цифровых графических изображений, а также при поиске необходимых цифровых графических изображений в сети Интернет, которая также является хранилищем огромного числа цифровых графических изображений
Техническая задача, на решение которой направлено предложенное изобретение, состоит в создании нового эффективного способа, позволяющего вносить дополнительную информацию в цифровые графические изображения и извлекать дополнительную информацию из цифровых графических изображений с целью их последующей идентификации и распознавания при максимальной экономичности операций для обеспечения быстрого поиска цифровых графических изображений в больших базах данных, в том числе в сети Интернет.
Поставленная техническая задача решается тем, что в способе внесения дополнительной информации в цифровые графические изображения по первому варианту выполнения, заключающемся в том, что дополнительную информацию, идентифицирующую цифровое графическое изображение, вносят в цифровое графическое изображение, и кодируют цветом его отдельных пикселов, согласно предложенному изобретению, при внесении дополнительной информации в цифровые графические изображения определяют ширину и высоту изображения; вводят в соответствующее текстовое поле текстовую строку, предназначенную для описания идентифицируемого цифрового графического изображения; если строка не пустая, в соответствии с длиной вводимого текстового описания формируют матрицу, определяющую позиции отдельных пикселей относительно выбранной точки в цифровом графическом изображении, в которую кодируют вносимую текстовую информацию; определяют месторасположение таблицы соответствия между цветом и символом, который будет кодироваться этим цветом, определяют цвет пиксела в цифровом графическом изображении в начальной позиции элемента матрицы, в случае, если цвет пиксела - белый, в красном битовом слое уменьшают значение на единицу, считывают первый кодируемый символ из строки описания и заносят данный цвет в таблицу соответствия в место, отведенное для считанного символа; далее определяют позицию следующего элемента матрицы в цифровом графическом изображении и сравнивают его с символами таблицы соответствия, при этом если символ определен в таблице соответствия и отличен от белого цвета, то данный цвет устанавливают для пиксела, соответствующего найденному элементу матрицы, если символ не определен в таблице соответствия и в соответствующем ему месте находится белый цвет, то определяют цвет пиксела в текущей позиции матрицы, если цвет в текущей позиции - белый, то в красном битовом слое уменьшают значение на единицу, далее осуществляют контроль с учетом таблицы соответствия, и если цвет в таблице соответствия не занят, то в таблицу соответствия заносят для текущего символа найденный цвет; если цвет занят, то цвет пиксела в текущей позиции изменяют, операцию определения позиции элемента матрицы в цифровом графическом изображении в соответствии с символами таблицы соответствия повторяют до последнего символа строки, добавляют символ конца строки в цифровое графическое изображение и завершают работу.
Заявляемый способ по первому варианту выполнения характеризуется следующими дополнительными существенными признаками:
- при формировании матрицы принимают выбранную точку в цифровом графическом изображении в качестве первого элемента матрицы и все последующие элементы матрицы располагают друг от друга на расстоянии 2-5 пикселов по оси x или по оси y при обходе по часовой стрелке;
- в ходе выполнении операции определения месторасположение таблицы соответствия между цветом и символом, который будет кодироваться этим цветом, при ширине изображения большей или равной его высоте к цифровому графическому изображению добавляют дополнительную строку снизу и начальный цвет крайнего левого пикселы выбирают черным, а цвет остальных пикселей выбирают белым, если высота изображения больше ширины, к цифровому графическому изображению добавляют дополнительный столбец слева и начальный цвет для всех пикселей дополнительного столбца выбирают белым;
- цвет пиксела в текущей позиции изменяют путем раскладки цвета пиксела в текущей позиции на битовые слои по схеме красный-зеленый-синий, выбирают битовый слой с максимальным значением, и если значение выбранного битового слоя больше или равно 128, то в этом случае из найденного значения вычитают единицу, если же значение меньше 128, то к найденному значению прибавляют единицу.
Поставленная техническая задача решается также тем, что в способе внесения дополнительной информации в цифровые графические изображения по второму варианту выполнения, заключающемся в том, что дополнительную информацию, идентифицирующую цифровое графическое изображение, вносят в цифровое графическое изображение, и кодируют цветом его отдельных пикселов, согласно предложенному изобретению, при внесении дополнительной информации в цифровые графические изображения определяют ширину и высоту изображения; вводят в соответствующее текстовое поле текстовую строку, предназначенную для описания идентифицируемого цифрового графического изображения; если строка не пустая, в соответствии с длиной вводимого текстового описания формируют матрицу, определяющую позиции отдельных пикселей относительно выбранной точки в цифровом графическом изображении, в которую кодируют вносимую текстовую информацию; далее считывают очередной кодируемый символ, определяют анализируемый пиксел в изображении, находящийся в соответствующей позиции в матрице, его координаты рассматривают, как xан, yан; определяют четыре соседних пиксела по отношению к анализируемому пикселу, с координатами, отличающимися от xан, yан на 1 или -1 по оси x или по оси y; раскладывают четыре соседних пиксела по отношению к анализируемому пикселу на битовые слои по схеме: красный, зеленый, синий; для каждого битового слоя находит среднее арифметическое значение параметра цвета четырех соседних пикселов по отношению к анализируемому пикселу и округляют его до ближайшего целого значения параметра цвета; определяют цвет пиксела, находящегося в анализируемой позиции матрицы, путем выбора за основу цвета пиксела, находящегося в анализируемой позиции, цветовых составляющих трех битовых слоев четырех соседних пикселов, выраженных их средними арифметическими значениями, округленными до ближайшего целого, устанавливают значения цвета во всех битовых слоях анализируемого пиксела равными найденным значениям, операцию повторяют для каждого очередного кодируемого символа до символа конца строки и завершают работу.
Заявляемый способ по второму варианту выполнения характеризуется следующими дополнительными существенными признаками:
- при формировании матрицы принимают выбранную точку в цифровом графическом изображении в качестве первого элемента матрицы и все последующие элементы матрицы располагают друг от друга на расстоянии 2-5 пикселов по оси x или по оси y при обходе по часовой стрелке;
- при изменении основы цвета пиксела в анализируемой позиции матрицы для основы больше или равна 128 для каждого битового слоя отдельно, то производят вычитание из основы цвета пиксела значения, указанного в найденном правиле, если основа (для каждого битового слоя отдельно) меньше 128, то производят сложение основы цвета пиксела и значения, указанного в найденном правиле.
Поставленная техническая задача решается также тем, что в способе внесения дополнительной информации в цифровые графические изображения по третьему варианту, заключающемся в том, что дополнительную информацию, идентифицирующую цифровое графическое изображение, вносят в цифровое графическое изображение, и кодируют цветом его отдельных пикселов, согласно предложенному изобретению, предварительно формируют базу данных из слов, описывающих цифровое графическое изображение, и соответствующего каждому слову цвета по схеме красный-зеленый-синий, определяют ширину и высоту изображения исходя из реальных размеров изображения; из базы данных выбирают ряд слов, описывающих данное цифровое графическое изображение, и формируют дополнительную строку, состоящую из произвольного набора слов; если ширина изображения больше или равна его высоте, сформированную дополнительную строку добавляют к цифровому графическому изображению снизу и начальный цвет крайнего левого пиксела в сформированной дополнительной строке выбирают черным, а цвет остальных пикселей выбирают белым; если высота изображения больше его ширины, к цифровому графическому изображению добавляют дополнительный столбец слева, и начальный цвет для всех пикселей дополнительного столбца выбирают белым; далее считывают очередное кодируемое слово из набора введенных слов; выбирают из базы данных соответствующий этому слову цвет; устанавливают цвет пиксела в дополнительной строке или дополнительном столбце, порядковый номер пиксела в строке или столбце устанавливают соответствующим порядковому номеру кодируемого слова в наборе слов, операцию повторяют для каждого очередного кодируемого слова до слова в конце строки и завершают работу.
Технический результат, достижение которого обеспечивается реализацией всей заявляемой совокупностью существенных признаков способа по каждому варианту его осуществления, заключается в создании нового эффективного способа, позволяющего вносить дополнительную информацию в цифровые графические изображения и извлекать дополнительную информацию из цифровых графических изображений с целью их последующей идентификации и распознавания при максимальной экономичности операций.
Кроме того, отсутствует необходимость хранения текстовой информации, сопровождающей графическую информацию, которая может быть представлена отдельным текстовым полем в базах данных или текстовым описанием, заключенным в теги при использовании Интернет-технологий. Информация, идентифицирующая изображение, хранится в самом изображении, что избавляет от необходимости создавать дополнительные текстовые поля для описания изображения.
Сущность изобретения поясняется рисунком, где на фиг.1 представлена блок-схема системы, реализующей предложенный способ.
Система для осуществления предложенного способа (фиг.1) включает, по меньшей мере, блок 1 ввода цифровых графических изображений, блок 2 ввода/вывода текстового описания, блок 3 графического интерфейса пользователя, блок 4 кодирования/декодирования информации, блок 5 хранения графических изображений, блок 6 базы данных хранения правил и процедур.
Блок 1 ввода цифровых графических изображений осуществляет доступ к хранилищам цифровых графических изображений как при внесении информации, так и при извлечении информации, хранящихся в графическом формате. При этом сигнал с цифровым графическим изображением поступает из блока 5 хранения цифровых графических изображений в блок 1 ввода цифровых графических изображений, который помещает изображение в оперативную память.
Блок 2 ввода/вывода текстового описания. Блок 2 связан с блоком 3 графического интерфейса пользователя и блоком 4 кодирования/декодирования информации. При вводе текстового описания вводит текстовую строку описания в кодировке Windows непосредственно от элемента пользовательского интерфейса, от текстового редактора в оперативную память, при нахождении текстового описания выводит текстовое описание из оперативной памяти в текстовый редактор пользовательского интерфейса.
Блок 3 графического интерфейса пользователя связан с блоком 1 ввода цифровых графических изображений, блоком 2 ввода/вывода текстового описания, блоком 4 кодирования/декодирования информации. Блок 3 формирует в соответствии с установленными опциями управляющие сигналы для блока 4 кодирования/декодирования информации. При внесении дополнительной информации в цифровые графические изображения отображает цифровое графическое изображение с внесенной информацией, при нахождении цифрового графического изображения по введенному текстовому запросу отображает найденные в хранилище графических изображений цифровые графические изображения, удовлетворяющие текстовому запросу.
Блок 4 кодирования/декодирования информации предназначен для внесения дополнительной информации в цифровое графическое изображение и извлечения дополнительной информации из цифрового графического изображения. Блок 4 связан с блоком 2 ввода/вывода текстового описания, связан с блоком 3 графического интерфейса пользователя, связан с блоком 6 базы данных хранения правил и процедур. Блок 4 реализует способ внесения дополнительной информации в цифровое графическое изображение и извлечения дополнительной информации из цифрового графического изображения (кодирования/декодирования информации) с целью их последующей идентификации и распознавания. В этом блоке вносится дополнительная информация в цифровое графическое изображение и извлекается дополнительная информация из цифрового графического изображения в соответствии с правилами и процедурами, хранящимися в блоке 6. Данные операции выполняются с использованием оригинальной программы для ЭВМ, разработанной авторами (свидетельство о государственной регистрации №2010612245 от 25 марта 2010 года программы для ЭВМ «Кодирование цифровой информации в графических изображениях»).
Блок 5 хранения графических изображений связан с блоком 1 ввода цифровых графических изображений; хранит графические изображения в цифровом виде.
Блок 6 базы данных (базы знаний) хранения правил и процедур связан с блоком 4 кодирования/декодирования информации. Блок 6 хранит правила изменения изображения.
Осуществление заявляемого способа внесения дополнительной информации в цифровые графические изображения иллюстрируется на примере внесения слова «жажда» в цифровое графическое изображение.
Ниже приведен фрагмент цифрового изображения до внесения информации (для трех вариантов).
Внесение слова «жажда» в цифровое графическое изображение по первому варианту.
Расположение символов в таблице соответствия (порядок следования символов для данного способа значения не имеет) хранится в блоке 6 базы данных хранения правил и процедур:
Состояние таблицы соответствия до внесения дополнительной информации по первому варианту:
При внесении дополнительной информации в цифровые графические изображения определяют ширину и высоту изображения.
Ширина данного фрагмента - 9 пикселов. Высота - 9 пикселов.
Вводят в соответствующее текстовое поле текстовую строку (в частотности, слово «жажда»), предназначенную для описания идентифицируемого цифрового графического изображения.
Операция выполняется в блоке 2 ввода/вывода текстового описания.
В данном примере вводят текстовую строку, состоящую из слова «жажда».
В соответствии с длиной вводимого текстового описания формируют матрицу, определяющую позиции отдельных пикселей относительно выбранной точки в цифровом графическом изображении, в которую кодируют вносимую текстовую информацию.
В данном примере строка не пустая, и длина вводимого текстового описания составляет 5 символов, плюс один «пробельный» символ, являющийся признаком конца строки. В данном примере матрица определяет 6 позиций.
При формировании матрицы принимают выбранную точку в цифровом графическом изображении в качестве первого элемента матрицы и все последующие элементы матрицы располагают друг от друга на расстоянии 2-5 пикселов по оси x или по оси y при обходе по часовой стрелке.
Ниже приведен фрагмент цифрового изображения до внесения информации (затемненным цветом указаны позиции матрицы в изображении, в которые будет вноситься дополнительная информация, начальная позиция матрицы находится на пересечении диагоналей).
Определяют месторасположение таблицы соответствия между цветом и символом, который будет кодироваться этим цветом.
В ходе выполнении операции определения месторасположения таблицы соответствия между цветом и символом, который будет кодироваться этим цветом, при ширине изображения большей или равной его высоте к цифровому графическому изображению добавляют дополнительную строку снизу и начальный цвет крайнего левого пикселы выбирают черным, а цвет остальных пикселей выбирают белым, если высота изображения больше ширины, к цифровому графическому изображению добавляют дополнительный столбец слева и начальный цвет для всех пикселей дополнительного столбца выбирают белым.
Так как ширина изображения равна высоте изображения, добавляют дополнительную строку снизу и крайний левый пиксел устанавливают в черный цвет, остальные пикселы устанавливают в белый цвет.
Состояние таблицы соответствия до внесения дополнительной информации по первому варианту:
В блоке 6 базы данных хранения правил и процедур хранится информация об упорядочивании символов в таблице соответствия.
Определяют цвет пиксела в цифровом графическом изображении в начальной позиции элемента матрицы, в случае, если цвет пиксела - белый, в красном битовом слое уменьшают значение на единицу, считывают первый кодируемый символ из строки описания и заносят данный цвет в таблицу соответствия в место, отведенное для считанного символа.
В нашем примере это цвет: (64, 64, 67).
Считывают первый кодируемый символ из строки описания - символ «ж». Заносят цвет (64, 64, 67) в таблицу соответствия в место, отведенное для символа «ж».
Данная операция выполняется с помощью блока 4 внесения дополнительной информации в цифровое графическое изображение/извлечения дополнительной информации из цифрового графического изображения (кодирования/декодирования информации).
Далее определяют позицию следующего элемента матрицы в цифровом графическом изображении и сравнивают его с символами таблицы соответствия. При этом если символ определен в таблице соответствия и отличен от белого цвета, то данный цвет устанавливают для пиксела, соответствующего найденному элементу матрицы, если символ не определен в таблице соответствия и в соответствующем ему месте находится белый цвет, то определяют цвет пиксела в текущей позиции матрицы, если цвет в текущей позиции - белый, то в красном битовом слое уменьшают значение на единицу, далее осуществляют контроль с учетом таблицы соответствия, и если цвет в таблице соответствия не занят, то в таблицу соответствия заносят для текущего символа найденный цвет; если цвет занят, то цвет пиксела в текущей позиции изменяют.
Цвет пиксела в текущей позиции изменяют путем раскладки цвета пиксела в текущей позиции на битовые слои по схеме красный-зеленый-синий, выбирают битовый слой с максимальным значением, и если значение выбранного битового слоя больше или равно 128, то в этом случае из найденного значения вычитают единицу, если же значение меньше 128, то к найденному значению прибавляют единицу.
Операцию определения позиции элемента матрицы в цифровом графическом изображении в соответствии с символами таблицы соответствия повторяют до последнего символа строки, добавляют символ конца строки в цифровое графическое изображение и завершают работу.
В данном примере
- определяют цвет пиксела во второй позиции матрицы. В нашем примере это цвет: (64, 62, 65) - отличен от белого; считывают второй кодируемый символ из строки описания - символ «а»; в таблице соответствия в месте, отведенном для символа «а», определяют значение - (255, 255, 255). Символ «а» еще не определен. Значение (64, 62, 65) в таблице соответствия еще не занято. Устанавливают для символа «а» значение (64, 62, 65). Цвет пиксела во второй позиции матрицы оставляют без изменения - (64, 62, 65).
- определяют цвет пиксела в третьей позиции матрицы. В нашем примере это цвет: (69, 67, 69) - отличен от белого; считывают третий кодируемый символ из строки описания - символ «ж»; в таблице соответствия в месте, отведенном для символа «ж», определяют значение - (64, 64, 67). Так как значение отлично от (255, 255, 255), то символ «ж» уже определен. Цвет пиксела в третьей позиции матрицы устанавливают (64, 64, 67).
- определяют цвет пиксела в четвертой позиции матрицы. В нашем примере это цвет: (64, 64, 67) - отличен от белого; считывают четвертый кодируемый символ из строки описания - символ «д»; в таблице соответствия в месте, отведенном для символа «д», определяют значение - (255, 255, 255). Символ «д» еще не определен. Значение (64, 64, 67) в таблице соответствия уже занято; определяют слой с максимальным значением - это слой Blue со значением 67; так как 67 меньше 128, к значению 67 прибавляют 1, получают значение цвета (64, 64, 68). Значение (64, 64, 68) в таблице соответствия еще не занято. Устанавливают для символа «д» значение (64, 64, 68). Цвет пиксела в четвертой позиции матрицы оставляют без изменения - (64, 64, 68).
- определяют цвет пиксела в пятой позиции матрицы. В нашем примере это цвет: (77, 75, 78) - отличен от белого; считывают пятый кодируемый символ из строки описания - символ «а»; в таблице соответствия в месте, отведенном для символа «а», определяют значение - (64, 62, 65). Так как значение отлично от (255, 255, 255), то символ «а» уже определен. Цвет пиксела в пятой позиции матрицы устанавливают (64, 62, 65).
- определяют цвет пиксела в шестой позиции матрицы. В нашем примере это цвет: (71, 70, 72) - отличен от белого; считывают шестой кодируемый символ из строки описания - символ «конца строки»; в таблице соответствия в месте, отведенном для символа «конца строки», определяют значение - (255, 255, 255). Символ «конца строки» еще не определен. Значение (71, 70, 72) в таблице соответствия еще не занято. Устанавливают для символа «конца строки» значение (71, 70, 72). Цвет пиксела в шестой позиции матрицы оставляют без изменения - (71, 70, 72).
Данные операции выполняется с помощью блока 4 внесения дополнительной информации в цифровое графическое изображение / извлечения дополнительной информации из цифрового графического изображения (кодирования/декодирования информации).
- завершают работу.
В результате фрагмент изображения после внесения информации по первому варианту будет выглядеть следующим образом (жирным цветом выделены цифровые значения пикселей, претерпевшие изменения):
Расположение символов в таблице соответствия:
Состояние таблицы соответствия после внесения дополнительной информации по первому варианту:
При извлечении дополнительной информации из цифрового графического изображения операции способа осуществляют фактически в обратном порядке, в частности, определяют цвет пиксела в нижнем левом углу изображения: если цвет пиксела черный, таблица соответствия расположена в нижней строке, если цвет пиксела белый, таблица соответствия находится в левом столбце; определяют реальный размер изображения (ширину и высоту без таблицы соответствия); определяют месторасположение очередной позиции матрицы в цифровом графическом изображении, в которой содержится закодированная информация; определяют цвет пиксела, который находится в данной позиции; находят соответствующий цвет в таблице соответствия; т.к. в таблице соответствия месторасположение всех символов, которые возможно закодировать, фиксировано, определяют, какой символ закодирован данным цветом; если очередной символ не является символом конца строки, выводят его в текстовое поле и повторяют операцию; если очередной символ является символом конца строки, завершают работу.
Внесение слова «жажда» в цифровое графическое изображение по второму варианту (затемненным цветом указаны возможные позиции матрицы в изображении, которые участвуют в расчете цвета).
При внесении дополнительной информации в цифровые графические изображения определяют ширину и высоту изображения.
В нашем примере ширина данного фрагмента - 9 пикселов. Высота - 9 пикселов.
Вводят в соответствующее текстовое поле текстовую строку, предназначенную для описания идентифицируемого цифрового графического изображении.
Операция выполняется в блоке 2 ввода/вывода текстового описания.
Если строка не пустая, в соответствии с длиной вводимого текстового описания формируют матрицу, определяющую позиции отдельных пикселей относительно выбранной точки в цифровом графическом изображении, в которую кодируют вносимую текстовую информацию. При формировании матрицы принимают выбранную точку в цифровом графическом изображении в качестве первого элемента матрицы и все последующие элементы матрицы располагают друг от друга на расстоянии 2-5 пикселов по оси х или по оси у при обходе по часовой стрелке.
В данном примере строка не пустая, и длина вводимого текстового описания составляет 5 символов, плюс один «пробельный» символ, являющийся признаком конца строки. В данном примере матрица определяет 6 позиций.
Ниже затемненным цветом указаны пикселы, которые будут участвовать в вычислениях (более темным серым цветом указаны пикселы, которые находятся в анализируемых позициях).
Далее считывают очередной кодируемый символ, определяют анализируемый пиксел в изображении, находящийся в соответствующей позиции в матрице, его координаты рассматривают, как xан, yан; определяют четыре соседних пиксела по отношению к анализируемому пикселу, с координатами, отличающимися от xан, yан на 1 или -1 по оси x или по оси y; раскладывают четыре соседних пиксела по отношению к анализируемому пикселу на битовые слои по схеме: красный, зеленый, синий; для каждого битового слоя находит среднее арифметическое значение параметра цвета четырех соседних пикселов по отношению к анализируемому пикселу и округляют его до ближайшего целогозначения параметра цвета. Определяют цвет пиксела, находящегося в анализируемой позиции матрицы, путем выбора за основу цвета пиксела, находящегося в анализируемой позиции, цветовых составляющих трех битовых слоев четырех соседних пикселов, выраженных их средними арифметическими значениями, округленными до ближайшего целого, устанавливают значения цвета во всех битовых слоях анализируемого пиксела равными найденным значениям. При изменении основы цвета пиксела в анализируемой позиции матрицы для основы больше или равна 128 для каждого битового слоя отдельно, то производят вычитание из основы цвета пиксела значения, указанного в найденном правиле, если основа (для каждого битового слоя отдельно) меньше 128, то производят сложение основы цвета пиксела и значения, указанного в найденном правиле.
Операцию повторяют для каждого очередного кодируемого символа до символа конца строки и завершают работу.
Правила изменения цвета пиксела в соответствии с кодируемым символом хранятся в блоке 6 базы данных (базы знаний) хранения правил и процедур (порядок следования символов для данного способа значения не имеет, предпочтительно использовать замену наиболее часто встречающихся символов наименьшим изменением цвета пиксела).
Ниже представлен фрагмент таблицы, хранящаяся в блоке 6 базы данных (базы знаний) хранения правил и процедур, которая содержит следующие правила:
В нашем примере кодируют символы следующим образом. Данная операция выполняется с помощью блока 4 внесения дополнительной информации в цифровое графическое изображение / извлечения дополнительной информации из цифрового графического изображения (кодирования/декодирования информации).
- считывают первый кодируемый символ - символ «ж»;
в первой позиции матрицы находят первый анализируемый пиксел. В нашем примере этот пиксел имеет цвет: (64, 64, 67). Координаты данного пиксела рассматривают, как xан, yан. Определяют четыре соседних пиксела по отношению к анализируемому пикселу, их координаты: (xан-1, yан), (xан+1, yан), (xан, yан-1), (xан, yан+1);
раскладывают четыре соседних пиксела по отношению к анализируемому пикселу на битовые слои по схеме красный-зеленый-синий;
для каждого битового слоя находит среднее арифметическое значение параметра цвета четырех соседних пикселов по отношению к анализируемому пикселу;
для пиксела в анализируемой позиции вычисляется цвет, как сумма округленного значения (для каждого битового слоя) и значения, хранящегося в таблице в блоке 6 (для каждого битового слоя) - если округленное значение меньше 128, или как разность округленного значения (для каждого битового слоя) и значения, хранящегося в блоке 6 (для каждого битового слоя) - если округленное значение больше или равно 128.
Результат вычисления цвета для первого кодируемого символа в первой позиции матрицы представлен в следующей таблице:
В нашем примере для первой позиции матрицы получено значение: (70, 69, 69);
- считывают второй кодируемый символ - символ «а»; во второй позиции матрицы находят второй анализируемый пиксел. В нашем примере этот пиксел имеет цвет: (64, 62, 65).
В нашем примере для второй позиции матрицы получено значение: (68, 68, 67);
- считывают третий кодируемый символ - символ «ж»; в третьей позиции матрицы находят третий анализируемый пиксел. В нашем примере этот пиксел имеет цвет: (69, 67, 69).
В нашем примере для третьей позиции матрицы получено значение: (69, 68, 67);
- считывают четвертый кодируемый символ - символ «д»; в четвертой позиции матрицы находят четвертый анализируемый пиксел. В нашем примере этот пиксел имеет цвет: (64, 64, 67).
В нашем примере для четвертой позиции матрицы получено значение: (70, 71, 69);
- считывают пятый кодируемый символ - символ «а»; в пятой позиции матрицы находят пятый анализируемый пиксел. В нашем примере этот пиксел имеет цвет: (77, 75, 78).
В нашем примере для пятой позиции матрицы получено значение: (79, 80, 81);
- считывают шестой кодируемый символ - символ «конец строки»; в шестой позиции матрицы находят шестой анализируемый пиксел. В нашем примере этот пиксел имеет цвет: (71, 70, 72).
В нашем примере для шестой позиции матрицы получено значение: (73, 74, 74).
Фрагмент изображения после внесения информации по второму варианту (жирным цветом выделены цифровые значения пикселей, претерпевшие изменения).
Размер изображения при использовании данного варианта не меняется.
При извлечении дополнительной информации из цифрового графического изображения по второму варианту осуществления способа операции способа осуществляют фактически в обратном порядке, в частности определяют реальный размер изображения (ширину и высоту); определяют месторасположение очередной позиции матрицы-вектора, в которой содержится закодированная информация; определяют очередной анализируемый пиксел в изображении, находящийся в соответствующей позиции в матрице, его координаты рассматривают, как xан, yан; определяют четыре соседних пиксела по отношению к анализируемому пикселу, с координатами, отличающимися от xан, yан на 1 или -1 по оси x или по оси y; раскладывают четыре соседних по отношению к анализируемому пикселу на битовые слои по схеме: red (красный), green (зеленый), blue (синий); отдельно для каждого битового слоя находит среднее арифметическое цвета четырех соседних пикселов (по отношению к анализируемому), отдельно для каждого битового слоя округляют среднее арифметическое цвета четырех соседних пикселов (по отношению к анализируемому) до ближайшего целого; определяют для каждого битового слоя модуль разности между цветом анализируемого пиксела и средним арифметическим цвета четырех соседних пикселов; по найденному значению в базе данных находят правило, в соответствии с которым определяется закодированный символ; если очередной символ не является символом конца строки, символ выводится в текстовое поле, и операции повторяют; если очередной символ является символом конца строки, завершают работу.
Внесение слова «жажда» в цифровое графическое изображение по третьему варианту.
Способ внесения дополнительной информации в цифровые графические изображения, в частности слова «жажда», по третьему варианту выполнения, заключается в том, что перед внесением дополнительной информации, идентифицирующей цифровое графическое изображение, предварительно формируют в блоке 6 базу данных из слов, описывающих цифровое графическое изображение, и соответствующего каждому слову цвета по схеме красный-зеленый-синий.
В нашем примере слово «жажда» по схеме красный-зеленый-синий имеет код (125, 121, 180).
Определяют ширину и высоту изображения, исходя из реальных размеров изображения.
Ширина данного фрагмента - 9 пикселов. Высота - 9 пикселов.
В блоке 6 из базы данных выбирают ряд слов, описывающих данное цифровое графическое изображение, и формируют дополнительную строку, состоящую из произвольного набора слов. Если ширина изображения больше или равна его высоте, сформированную дополнительную строку добавляют к цифровому графическому изображению снизу и начальный цвет крайнего левого пиксела в сформированной дополнительной строке выбирают черным, а цвет остальных пикселей выбирают белым; если высота изображения больше его ширины, к цифровому графическому изображению добавляют дополнительный столбец слева, и начальный цвет для всех пикселей дополнительного столбца выбирают белым
В нашем примере к ширина изображения равна высоте, сформированную дополнительную строку добавляют к цифровому графическому изображению снизу и начальный цвет крайнего левого пиксела в сформированной дополнительной строке устанавливают в черный, а цвет остальных пикселей - в белый цвет.
Далее считывают очередное кодируемое слово из набора введенных слов; выбирают из базы данных соответствующий этому слову цвет; устанавливают цвет пиксела в дополнительной строке или дополнительном столбце, порядковый номер пиксела в строке или столбце устанавливают соответствующим порядковому номеру кодируемого слова в наборе слов, операцию повторяют для каждого очередного кодируемого слова до слова в конце строки и завершают работу.
В нашем примере считывают кодируемое введенное слово - слово «жажда»; выбирают из базы данных соответствующий этому слову цвет - в данном примере (125, 121, 180); вносят данный цвет в добавленную строку, в первую незанятую позицию (незанятые позиции отмечены белым цветом - (255, 255, 255)).
Фрагмент изображения после внесения информации по третьему варианту (цвет изображения останется без изменений, добавится строка снизу):
Нижняя строка после внесения дополнительной информации по третьему варианту:
При извлечении дополнительной информации из цифрового графического изображения по третьему варианту осуществления способа операции способа осуществляют фактически в обратном порядке, в частности определяют цвет пиксела в нижнем левом углу изображения: если цвет пиксела черный, таблица соответствия расположена в нижней строке, если цвет пиксела белый, таблица соответствия находится в левом столбце; определяют цвет очередного элемента в таблице соответствия; если цвет не белый, находят в базе данных (базе знаний) соответствующее этому цвету слово; выводят найденное слово в текстовое поле и операции повторяют, если цвет белый, завершают работу.
Всего, таким образом, может быть закодировано более 16 миллионов слов, или понятий. Одновременно количество вносимых слов или понятий зависит от ширины и высоты изображения.
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ ФОРМИРОВАНИЯ ОБЪЕМНОГО ИЗОБРАЖЕНИЯ И СИСТЕМА ТЕЛЕВИДЕНИЯ ЕГО ОСУЩЕСТВЛЕНИЯ | 2008 |
|
RU2384011C1 |
СИСТЕМА СТЕРЕОТЕЛЕВИДЕНИЯ | 2008 |
|
RU2384010C1 |
ВИДЕОКАМЕРА | 2007 |
|
RU2359425C1 |
Способ и устройство кодирования данных, носитель данных и процессор | 2018 |
|
RU2742912C1 |
Устройство для отображения информации на экране телевизионного индикатора | 1984 |
|
SU1292029A1 |
СПОСОБ ПОБАЙТНОЙ ПЕРЕДАЧИ ИНФОРМАЦИИ С ПОМОЩЬЮ ПОТОЧНОГО ШИФРОВАНИЯ | 2023 |
|
RU2811065C1 |
КОДЕР, ДЕКОДЕР И СООТВЕТСТВУЮЩИЕ СПОСОБЫ, КОТОРЫЕ ИСПОЛЬЗУЮТСЯ ДЛЯ ПРОЦЕССА ПРЕОБРАЗОВАНИЯ | 2020 |
|
RU2803063C2 |
ВИДЕОКАМЕРА | 2007 |
|
RU2358412C1 |
СИСТЕМА ТЕЛЕВИДЕНИЯ | 2008 |
|
RU2368097C1 |
ПЕРСОНАЛЬНЫЙ КОМПЬЮТЕР | 2009 |
|
RU2402806C1 |
Изобретение относится к способам внесения дополнительной информации в цифровые графические изображения. Технический результат заключается в уменьшении времени поиска изображений. Дополнительную информацию, идентифицирующую цифровое графическое изображение, вносят в цифровое графическое изображение, и кодируют цветом его отдельных пикселей, согласно предложенному изобретению, при внесении дополнительной информации в цифровые графические изображения определяют ширину и высоту изображения. Вводят в соответствующее текстовое поле текстовую строку, предназначенную для описания идентифицируемого цифрового графического изображения, если строка не пустая, в соответствии с длиной вводимого текстового описания формируют матрицу, определяющую позиции отдельных пикселей относительно выбранной точки в цифровом графическом изображении, в которую кодируют вносимую текстовую информацию. 3 н. и 5 з.п. ф-лы, 1 ил.
1. Способ внесения дополнительной информации в цифровые графические изображения, заключающийся в том, что дополнительную информацию, идентифицирующую цифровое графическое изображение вносят в цифровое графическое изображение и кодируют цветом его отдельных пикселов, отличающийся тем, что при внесении дополнительной информации в цифровые графические изображения определяют ширину и высоту изображения; вводят в соответствующее текстовое поле текстовую строку, предназначенную для описания идентифицируемого цифрового графического изображения; если строка не пустая, в соответствии с длиной вводимого текстового описания формируют матрицу, определяющую позиции отдельных пикселей относительно выбранной точки в цифровом графическом изображении, в которую кодируют вносимую текстовую информацию; определяют месторасположение таблицы соответствия между цветом и символом, который будет кодироваться этим цветом, определяют цвет пиксела в цифровом графическом изображении в начальной позиции элемента матрицы, в случае, если цвет пиксела белый, в красном битовом слое уменьшают значение на единицу, считывают первый кодируемый символ из строки описания и заносят данный цвет в таблицу соответствия в место, отведенное для считанного символа; далее определяют позицию следующего элемента матрицы в цифровом графическом изображении и сравнивают его с символами таблицы соответствия, при этом если символ определен в таблице соответствия и отличен от белого цвета, то данный цвет устанавливают для пиксела, соответствующего найденному элементу матрицы, если символ не определен в таблице соответствия и в соответствующем ему месте находится белый цвет, то определяют цвет пиксела в текущей позиции матрицы, если цвет в текущей позиции белый, то в красном битовом слое уменьшают значение на единицу, далее осуществляют контроль с учетом таблицы соответствия, и если цвет в таблице соответствия не занят, то в таблицу соответствия заносят для текущего символа найденный цвет; если цвет занят, то цвет пиксела в текущей позиции изменяют, операцию определения позиции элемента матрицы в цифровом графическом изображении в соответствии с символами таблицы соответствия повторяют до последнего символа строки, добавляют символ конца строки в цифровое графическое изображение и завершают работу.
2. Способ по п.1, отличающийся тем, что при формировании матрицы принимают выбранную точку в цифровом графическом изображении в качестве первого элемента матрицы и все последующие элементы матрицы располагают друг от друга на расстоянии 2-5 пикселов по оси х или по оси y при обходе по часовой стрелке.
3. Способ по п.1, отличающийся тем, что в ходе выполнения операции определения месторасположения таблицы соответствия между цветом и символом, который будет кодироваться этим цветом, при ширине изображения, большей или равной его высоте, к цифровому графическому изображению добавляют дополнительную строку снизу и начальный цвет крайнего левого пиксела выбирают черным, а цвет остальных пикселей выбирают белым, если высота изображения больше ширины, к цифровому графическому изображению добавляют дополнительный столбец слева и начальный цвет для всех пикселей дополнительного столбца выбирают белым.
4. Способ по п.1, отличающийся тем, что цвет пиксела в текущей позиции изменяют путем раскладки цвета пиксела в текущей позиции на битовые слои по схеме красный-зеленый-синий, выбирают битовый слой с максимальным значением, и если значение выбранного битового слоя больше или равно 128, то в этом случае из найденного значения вычитают единицу, если же значение меньше 128, то к найденному значению прибавляют единицу.
5. Способ внесения дополнительной информации в цифровые графические изображения, заключающийся в том, что дополнительную информацию, идентифицирующую цифровое графическое изображение, вносят в цифровое графическое изображение и кодируют цветом его отдельных пикселов, отличающийся тем, что при внесении дополнительной информации в цифровые графические изображения определяют ширину и высоту изображения; вводят в соответствующее текстовое поле текстовую строку, предназначенную для описания идентифицируемого цифрового графического изображения; если строка не пустая, в соответствии с длиной вводимого текстового описания формируют матрицу, определяющую позиции отдельных пикселей относительно выбранной точки в цифровом графическом изображении, в которую кодируют вносимую текстовую информацию; далее считывают очередной кодируемый символ, определяют анализируемый пиксел в изображении, находящийся в соответствующей позиции в матрице, его координаты рассматривают как xан, yан; определяют четыре соседних пиксела по отношению к анализируемому пикселу с координатами, отличающимися от xан, yан на (1) или (-1) по оси х или по оси y; раскладывают четыре соседних пиксела по отношению к анализируемому пикселу на битовые слои по схеме: красный-зеленый-синий; для каждого битового слоя находит среднее арифметическое значение параметра цвета четырех соседних пикселов по отношению к анализируемому пикселу и округляют его до ближайшего целого значения параметра цвета; определяют цвет пиксела, находящегося в анализируемой позиции матрицы, путем выбора за основу цвета пиксела, находящегося в анализируемой позиции, цветовых составляющих трех битовых слоев четырех соседних пикселов, выраженных их средними арифметическими значениями, округленными до ближайшего целого, устанавливают значения цвета во всех битовых слоях анализируемого пиксела равными найденным значениям, операцию повторяют для каждого очередного кодируемого символа до символа конца строки и завершают работу.
6. Способ по п.5, отличающийся тем, что при формировании матрицы принимают выбранную точку в цифровом графическом изображении в качестве первого элемента матрицы и все последующие элементы матрицы располагают друг от друга на расстоянии 2-5 пикселов по оси х или по оси y при обходе по часовой стрелке.
7. Способ по п.5, отличающийся тем, что при изменении основы цвета пиксела в анализируемой позиции матрицы для основы, большей или равной 128 для каждого битового слоя отдельно, то производят вычитание из основы цвета пиксела значения, указанного в найденном правиле, если основа (для каждого битового слоя отдельно) меньше 128, то производят сложение основы цвета пиксела и значения, указанного в найденном правиле.
8. Способ внесения дополнительной информации в цифровые графические изображения, заключающийся в том, что дополнительную информацию, идентифицирующую цифровое графическое изображение, вносят в цифровое графическое изображение и кодируют цветом его отдельных пикселов, отличающийся тем, что предварительно формируют базу данных из слов, описывающих цифровое графическое изображение, и соответствующего каждому слову цвета по схеме красный-зеленый-синий, определяют ширину и высоту изображения исходя из реальных размеров изображения; из базы данных выбирают ряд слов, описывающих данное цифровое графическое изображение и формируют дополнительную строку, состоящую из произвольного набора слов; если ширина изображения больше или равна его высоте, сформированную дополнительную строку добавляют к цифровому графическому изображению снизу и начальный цвет крайнего левого пиксела в сформированной дополнительной строке выбирают черным, а цвет остальных пикселей выбирают белым; если высота изображения больше его ширины, к цифровому графическому изображению добавляют дополнительный столбец слева и начальный цвет для всех пикселей дополнительного столбца выбирают белым; далее считывают очередное кодируемое слово из набора введенных слов; выбирают из базы данных соответствующий этому слову цвет; устанавливают цвет пиксела в дополнительной строке или дополнительном столбце, порядковый номер пиксела в строке или столбце устанавливают соответствующим порядковому номеру кодируемого слова в наборе слов, операцию повторяют для каждого очередного кодируемого слова до слова в конце строки и завершают работу.
СПОСОБ ВНЕДРЕНИЯ ДОПОЛНИТЕЛЬНОЙ ИНФОРМАЦИИ В ЦИФРОВЫЕ ИЗОБРАЖЕНИЯ | 2004 |
|
RU2288544C2 |
US 7577271 B2, 18.08.2009 | |||
Способ приготовления мыла | 1923 |
|
SU2004A1 |
Способ сжигания газообразногоТОплиВА | 1979 |
|
SU853294A1 |
US 6895101 B1, 14.05.2005. |
Авторы
Даты
2013-10-10—Публикация
2011-10-12—Подача