Область техники, к которой относится изобретение
Изобретение относится к области цифровой стеганографии или встраивания в цифровое изображение произвольных водяных знаков. Более конкретно изобретение относится к области прямого, без спектральных преобразований, обратимого встраивания произвольных водяных знаков посредством квантования и модификации амплитудных значений сигнала в условиях, когда оригинальное изображение (контейнер) недоступно, а передаваемое сообщение не известно на приемном конце - технология слепого встраивания.
Терминология, используемая в данном документе
Установленный и неустановленный бит - альтернативные значения бита, описываемые вне зависимости от конкретной интерпретации; обычно 0 и 1, в изобретении - ±1 или 0 и 2 и пр.
Изображение, сигнал - оцифрованный и представленный в виде матрицы целочисленных значений яркости видеосигнал. Разделяется на явный (наблюдаемый) сигнал и неявный сигнал, модификация которого визуально малозаметна.
Пиксель («точка») - элемент изображения.
Отсчет яркости (отсчет, яркость) - значение яркости пикселя.
Преобразование изображения - получение нового изображения посредством изменения значений яркости его пикселей.
Представление изображения - результат преобразования изображения.
Контейнер - исходный цифровой сигнал, изображение, предназначенное для встраивания.
Контекст контейнера - наблюдаемая информация контейнера, формально представляемая некоторым множеством визуально воспринимаемых пикселей явного сигнала. Контекст контейнера (предметная область рассматриваемых изображений) не ограничивается.
Сообщение, водяной знак - встраиваемые данные, упорядоченная в байтах элементов некоторой матрицы амплитудных значений последовательность битовых плоскостей, содержащих произвольные биты независимых компонент сообщения или независимых битовых сообщений, предназначенных для встраивания с наложением друг на друга и передачи вместе с контекстом контейнера. Представляет собой произвольные бинарные коды (биты), содержащие встраиваемую информацию, которая кодируется последовательностью модификаций значений яркости пикселя контейнера и дополняет наблюдаемую информацию (контекст контейнера), сохраняемую благодаря фиксации значения яркости данного пикселя на определенных этапах модификации яркости пикселя контейнера.
Встраивание - внедрение, запоминание сообщения в контейнере. Модификация содержащихся в изображении кодов природной (изначальной), встроенной шумовой и пр. неявной информации (неявного сигнала).
Стего-изображение - цифровое изображение, содержащее встроенное сообщение. Изображение с модифицированными кодами природной, встроенной шумовой и пр. неявной информации (неявного сигнала).
Амплитуда, амплитудное значение - синоним термина «яркость», которым удобно обозначать яркость формально вычисленного представления сигнала при употреблении вместе с термином «яркость», относящимся к исходному изображению.
Шкала яркости - перечисленные по порядку последовательные неповторяющиеся значения яркости, которые могут встретиться в произвольном изображении или представлении изображения. Для обработки изображения шкала представляется в виде последовательности отождествляемых со значениями яркости (амплитуды) адресов массива ячеек памяти ЭВМ, в которые записываются сопоставляемые различным значениям яркости величины, например, количество встречающихся пикселей данной яркости при вычислении гистограммы, или значения амплитуды при вычислении представления изображения в виде «гистограммного образа».
Диапазон яркости - некоторый диапазон значений яркости шкалы, ограниченный встречающимися в изображении (представлении изображения) значениями яркости (амплитуды).
Рабочий диапазон - рассматриваемый диапазон яркости изображения, ограниченный встречающимися в изображении минимальным и максимальным значениями яркости.
Вычисляемый (о диапазоне) - вычисляемый по гистограмме изображения посредством итеративного разделения рабочего диапазона на последовательности диапазонов, вложенных один в другой. В предусмотренном числе итераций диапазоны вычисляются одинаковыми для контейнера и стего-изображения.
Приближение изображения снизу (сверху) - представление изображения, в котором значения яркости пикселей заменены на минимальные (максимальные) значения яркости вычисляемых диапазонов, которым принадлежат значения яркости этих пикселей. Приближения снизу и сверху непосредственно для каждого пикселя изображения устанавливают граничные яркости диапазонов и сами диапазоны допустимого варьирования значений яркости пикселей или для краткости просто диапазоны допустимого варьирования яркости. При этом независимое друг от друга варьирование значений яркости пикселей изображения внутри установленных диапазонов допустимого варьирования яркости не влияет на результат вычисления приближений снизу и сверху по модифицируемому изображению.
Канал - «коридор» между приближениями изображения снизу и сверху (объединение по координатам диапазонов допустимого варьирования значений яркости пикселей). Более точно - множество изображений, по каждому из которых вычисляется рассматриваемая пара приближений изображения снизу и сверху. В ином, эквивалентном в рамках изобретения определении, канал - множество изображений, порождаемых независимым варьированием значений яркости пикселей внутри диапазонов допустимого варьирования яркости. Канал рассматривается как член иерархической последовательности (иерархии) вложенных друг в друга каналов. При выбранной паре приближений изображения снизу и сверху канал содержит всевозможные стего-изображения, порождаемые встраиванием в данный контейнер различных сообщений (но не исчерпывается этими стего-изображениями). Максимальный канал включает все остальные каналы и порождается независимым варьированием значений пикселей изображения неграничной яркости внутри рабочего диапазона яркости.
Троичная память - реальное или эмулированное устройство для формирования и хранения в своих ячейках (целых) чисел, кодируемых в троичной системе счисления. Как устройство применяется, например, в составе универсальной троичной ЭВМ (см. Брусенцов Н.П. Вычислительная машина "Сетунь" Московского государственного университета. В кн.: Новые разработки в области вычислительной математики и вычислительной техники. Киев, 1960. С. 226-234 [БРУС60], Брусенцов Н.П. Реставрация логики. - М.: «Новое тысячелетие», 2005, 165 с. [БРУС05]), в которой вместо битов традиционных ЭВМ используются триты, принимающие три значения -1, 0, 1 или, в иной интерпретации, 0, 1, 2. Оптимальна для наилучшего осуществления изобретения, особенно, выполненная в виде троичного запоминающего устройства (матричной памяти с элементами арифметико-логических операций), в котором предусмотрен механизм защиты троичных запоминающих элементов ее ячеек (т.е. тритов) от записи.
Трит - аналог бита, запоминающий элемент ячейки троичной памяти или элемент записи (целого) числа в троичной системе, который кодирует член аддитивного разложения записанного в ячейке числа по возрастающим степеням тройки (разрядам) с коэффициентами (цифрами) 0, 1, 2.
Многоканальная троичная память - приписываемая изображению память из троичных ячеек, содержащая коды информации явного сигнала, а также коды сообщения, встраиваемого в неявный сигнал. Образуется, порождается явным сигналом независимо от неявного сигнала, модифицируемым при встраивании сообщения. Запоминающими элементами троичных ячеек служат триты, подразделяемые на активные (содержащие коды явного сигнала, которые можно модифицировать) и неактивные (содержащие коды неявного сигнала, которые можно только читать). В эквивалентном смысле многоканальная троичная память - копия приписанной изображению троичной памяти в реальном или эмулированном троичном запоминающем устройстве, которая для встраивания сообщения создается в отведенной для данного изображения памяти ЭВМ, задает соответствующую область троичной памяти и модифицируется синхронно с обработкой изображения. Многоканальная троичная память представляет собой матрицу ячеек троичной памяти, которые взаимно однозначно сопоставляются пикселям изображения. Структура (разделение тритов на активные и неактивные) и содержимое (значения тритов) многоканальной памяти вычисляются поразрядно - от старших разрядов к младшим, разряды последовательно сопоставляются каналам в порядке вложения (от максимального, самого старшего канала к вложенным младшим каналам), причем значение трита данного разряда в зависимости от геометрических координат определяется знаком разности значения яркости пикселя и центральной яркости диапазона допустимого варьирования, вычисленного в рассматриваемой координате для очередного канала.
Одноканальное встраивание - запись битов некоторой бинарной матрицы (битовой плоскости) в заданный разряд всех активных тритов, кодируемая в выбранном канале модификацией пикселов с варьируемой в этом канале яркостью.
Многоканальное встраивание - последовательная поразрядная запись битовых плоскостей сообщения в активные триты троичной памяти, которая начинается с одноканального кодирования первой битовой плоскости в выбранном канале, продолжается во всех младших каналах и повторяется до стабилизации стего-изображения.
Упаковка по яркости - преобразование изображения, заключающееся в замещении значений яркости пикселей последовательными номерами встречающихся в изображении значений шкалы яркости, например, значения яркости 1, 100, 110 по порядку замещаются своими номерами, например на 0, 1, 2.
Эквидистантная нормировка - линейное преобразование значений яркости пикселей изображения, например, для визуализации (вывода на дисплей), которое сводится к домножению значений яркости упакованного изображения на коэффициент так, чтобы максимальное встречающееся значение яркости совпало с верхней границей максимального диапазона, который определяется числом бит, предусмотренных в ЭВМ для ввода/вывода изображения. Если при «упаковке» яркости по порядку замещаются своими номерами, например яркости 1, 100, 110 замещаются на 0, 1, 2, то при «эквидистантной нормировке» упакованные яркости домножаются на коэффициент, например, на 127,5, чтобы максимальная яркость совпала с максимально возможным яркостным значением 255.
Стандартные преобразования - упаковка, линейное растяжение (посредством умножения значений яркости на коэффициент, превышающий 1), эквидистантная нормировка и др. линейные и нелинейные преобразования яркостных значений пикселей изображения без нарушения их порядка следования.
Инвариантный (по умолчанию) - сохраняющийся при стандартных преобразованиях.
Арифметическое преобразование (амплитудного значения) - деление нечетного значения нацело на два и удвоение четного значения, предварительно поделенного на четыре. Применение именно этого преобразования для инвариантного представления изображения в псевдотроичной системе кодирования обосновано, например, в: М. В. Харинов, В. Л. Горохов. Псевдотроичная система счисления и анализ изображений // Известия ВУЗов России. Радиоэлектроника. / Вып. 2, - СПб., 2003. - С. 49-53.
Изоморфное представление изображения, образа - такое представление изображения, при котором между значениями яркости пикселей сохраняются имевшиеся в исходном изображении соотношения «меньше», «равно», «больше». Например, стандартные преобразования порождают изоморфные образы.
Гомоморфное представление изображения, образ - представление изображения, при получении которого допускается переход неравных яркостей в равные. Например, вышеопределенное арифметическое преобразование порождает гомоморфные образы.
Уровень техники
Решения, связанные со встраиванием в контейнер некоторого сообщения при передаче по общедоступному каналу связи, условно подразделяются на задачи стеганографии и задачи встраивания в контейнер водяного знака. Под стеганографией понимается скрытное встраивание в контейнер сообщения относительно большого объема, которое может являться частью контейнера, зависимым или независимым образом дополнять контекст контейнера для ограничения несанкционированного доступа к сообщению, дублировать контекст на случай помех, снабжать его сопроводительной информацией и пр. Под встраиванием водяного знака обычно понимается скрытное встраивание заранее известного распределенного или повторяющегося сообщения относительно малого объема для идентификации подлинности контекста контейнера или источника стего-изображения, защиты авторских прав и пр., а также для целей стеганографии, достигаемых в рамках ограниченного объема сообщения.
При ограниченном требуемом объеме сообщения к встраиванию водяных знаков предъявляют наиболее жесткие требования, среди которых выделяют (см. B. Chen and G. W. Wornell, "Digital Watermarking and Information Embedding using Dither Modulation", IEEE Signal Processing Society 1998 Workshop on Multimedia Signal Processing December 7-9, 1998, Los Angeles, California, USA, Electronic Proceedings May 1998 [Chen98], и B. Chen and G. W. Wornell, "Quantization index modulation: A class of provably good methods of digital watermarking and information embedding", IEEE Transactions on Information Theory Vol. 47, pp. 1423-1443, May 2001, [Chen01]) следующие три основных:
- максимальная скорость встраивания (и извлечения) сообщения;
- метрическая близость стего-изображения и исходного контейнера, например, по среднеквадратичному отклонению;
- максимальная робастность встраивания сообщения.
Перечисленные постановочные требования справедливо считаются противоречивыми. Для преодоления сопутствующих недостатков необходим анализ целевых установок, который состоит в следующем.
При современном резком возрастании вычислительных ресурсов ЭВМ проблема недостаточной скорости встраивания сообщений возникает из-за недостаточно эффективной организации запоминания данных и многократного повторения вычислений с различными параметрами, из-за прямого перебора вариантов заведомо известных сообщений в процессе корреляционного анализа или перебора способов встраивания ([Chen98,Chen01]), а также прочих причин, которые для настоящего изобретения не являются актуальными.
Требование метрической близости стего-изображения и исходного контейнера является основным источником противоречий, поскольку:
- логически не согласуется с предположением о контейнере, который не доступен на приемном конце;
- ограничивает возможный объем сообщения;
- препятствует встраиванию сообщения одновременно с упрощением стего-изображения за счет сокращения числа градаций яркости (сопутствующее изменение гистограммы влечет большое поточечное среднеквадратичное отклонение);
- ограничивает возможности инвариантного встраивания сообщения независимо от предусмотренных преобразований;
- препятствует робастному встраиванию сообщения с периодическими повторениями по координатам;
где, в отличие от инвариантности (сохранения в точном смысле), под робастностью (устойчивостью к возможным случайным или преднамеренным помехам при передаче) понимается неполное, неточное сохранение сообщения, которое исследуется на примерах заранее известных искажений в виде линейных преобразований, JPEG-компрессии, добавления шумов и пр.
Кажется очевидным, что для эффективного сокрытия сообщений необходимо уметь формально разделять сигнал, в зависимости от контекста, на видимую и незаметную компоненты и затем сохранять видимую компоненту в процессе встраивания сообщения. Тем не менее, в известных решениях необходимость подобного разделения сигнала с последующим сохранением видимой компоненты осознается недостаточно, формализуется недостаточно просто и достигается неполной эвристической реализацией либо того, либо другого.
Для повышения эффективности сокрытия сообщений за счет учета контекста контейнера развивают способы распределения встроенных кодов по текстурным участкам изображения с повышенной концентрацией яркостных перепадов, на которых внедрение информации сообщения оказывается незаметным (трава, волосы, шумовые искажения и пр.).
Тенденция развития способов прямого встраивания сообщения с учетом контекста контейнера иллюстрируется на Фиг.2.
На Фиг.2 крайним слева изображен контейнер в виде стандартного изображения «Лена» (крайнее слева) и схемы a), b), c) встраивания информации, на которых белые поля обозначают варьируемые пиксели, в которых допускается модификация, т.е. в которые встраиваются коды сообщения. Таким образом, решения основаны на покоординатном распределении встроенных кодов сообщения по результатам анализа контейнера: крайний слева - контейнер; рядом - схемы координат встроенных кодов при простейшем LSB-методе (a), поблочном встраивании кодов (b) и при поточечном встраивании кодов по текстурным участкам (c).
В простейшем LSB методе встраивание кодов сообщения выполняют в фиксированное число младших бит независимо от контекста контейнера, причем встраивание прекращают, когда сообщение оказывается исчерпанным (см. В.Г. Грибунин, И.Н. Оков и И.В. Туринцев. Цифровая стеганография. Москва, СОЛОН-Пресс, 2002, 258 с. (аналитический обзор) [Гри02]). В методах (см. Гика С.Н. Анализ эффективности методов сокрытия информации в графических файлах // 32-ая Санкт-Петербургская научно-техническая конференция студентов, аспирантов и молодых ученых. Тезисы докладов. - СПб.: 2000. - 75 с. [Ги00], Hioki Hirohisa A data embedding method using BPCS principle with new complexity measures // Proc. Of Pacific Rim Workshop on Digital Steganography 2002, Jan. 2002. P. 30-47 [HiHi02]) встраивание кодов сообщения выполняют по предварительно вычисленным участкам текстур, которые аппроксимируются блоками координат встраивания простой формы.
Перечисленные работы отражают тенденцию современных решений к адаптивному сокрытию сообщений с учетом контекста контейнера. Однако возможности обработки при этом ограничиваются преимущественно геометрически адаптивным встраиванием данных, которое выполняется по текстурным яркостным и цветовым сегментам с повышенной концентрацией перепадов яркостей цветовых компонент.
Если скрытое сообщение при приеме предполагается не известным, то оно обычно сопровождается сопутствующей управляющей информацией о размещении встроенных данных. Управляющая информация не адаптивно размещается по фиксированным координатам предусмотренного фрагмента сигнала независимо от контекста контейнера, как в простейшем «LSB»-методе. Сообщение встраивается в некоторые блоки контейнера для снижения объема управляющей информации, которая задается, например, списком координат блоков. При этом поблочная запись сообщения ограничивает точность учета геометрии рисунка контейнера и снижает эффект сокрытия кодов сообщения по участкам текстур. Если сообщение заведомо известно и обнаруживается при приеме посредством стандартных методов корреляционного анализа, то можно обойтись без управляющей информации, применить поточечное встраивание, и при внедрении сообщения ограничиться выделением текстур (схема (c) на Фиг.2). Однако сама по себе задача эффективного выделения текстур на произвольных изображениях является проблематичной.
Таким образом, для известных способов слепого встраивания водяных знаков адаптивно к контейнеру характерно, что контекст контейнера учитывают только геометрическим размещением кодов сообщения по координатам при фиксированных диапазонах модификации яркости, величина которых устанавливается кратной степени 2. Поскольку результаты вычисления по контейнеру координат встроенных кодов сообщения не воспроизводятся при аналогичной обработке стего-изображения (встроенное сообщение влияет на расчет текстурных сегментов), для успешного извлечения сообщения в контейнер независимо от контекста встраиваются сопутствующие сведения, которые могут также независимо от контейнера задаваться алгоритмически и в общей схеме встраивания и извлечения сообщений, в частности, водяных знаков фигурируют в качестве атрибутивного ключа ([Гри02], V.I. Gorodetsky, V.I. Samoilov "Simulation-Based Exploration of SVD-Based Technique for Hidden Communication by Image Steganography Channel", Proc. of the Second Int. Workshop on Mathematical Methods, Models, and Architectures for ComputerNetwork Security MMM-ACNS, ISSN: 0302-9743, ISBN: 3-540-40797-9, St. Petersburg: Springer-Verlag-Berlin-Heidelberg, pp. 349-359, Sep. 2003 [Гор03]), как иллюстрируется Фиг.1. Пунктиром на данном чертеже показаны данные, которые могут использоваться на входе подсхемы извлечения сообщения, но не всегда обязательны.
Если исключить из схемы все необязательные элементы, она остается перегруженной запрашиваемыми данными на входе и недостаточно конкретной на выходе. Главный недостаток общепринятой схемы и ее практических реализаций состоит в том, что в них неполно описывается информация исходного сигнала (контейнера), которая сохраняется после встраивания данных сообщения.
Большинство теоретических обобщений известных методов сокрытия сообщений опираются на аналогию с криптографическими решениями. По мнению [Гри02], аналогом криптографического ключа в стеганографии считается прямое или косвенное (алгоритмическое) указание списка координат встроенных кодов сообщения. При этом криптографический ключ кажется необходимым, поскольку результаты вычисления по контейнеру координат встроенных кодов сообщения не воспроизводятся при аналогичной обработке стего-изображения.
Помимо входного ключа, который «навязывает» модификацию контейнера независимо от маскирующего контекста изображения, на выходе общей схемы при извлечении сообщения не формализуют или недостаточно формализуют извлечение информации исходного сигнала (контейнера), которая сохраняется после встраивания кодов сообщения. При этом смешивают понятия неизвестного и недоступного контейнера.
В отсутствие независящего от контейнера ключа недоступность самого контейнера при извлечении сообщения является главным препятствием для точного вычисления координат размещения встроенных кодов, которое преодолевается в RDH-методе (Reversible Data Hiding) обратимого встраивания данных в изображение или аудиосигнал (см. Mehmet U. Celik, Gaurav Sharma, A. Murat Tekalp, Eli Saber. Reversible Data Hiding. IEEE Proceedings of the International Conference on Image Processing (ICIP), New York, 23 September 2002. P. 157-160 [Meh02], Fridrich J., Goljan M., Du R. Lossless data embedding - new paradigm in digital watermarking. EURASIP Journ. Appl. Sig. Proc., vol. 02, Feb 2002. P. 185-196 [Fri02]). В указанном методе встраивание сообщения обеспечивается за сче т частичного сжатия видеоданных, содержащихся в младших битах исходного представления сигнала. При этом в оригинальном RDH-методе сначала извлекается сообщение, а затем восстанавливается контейнер. Однако, если в качестве сообщения встраивать списки координат встраивания кодов, то для извлечения сообщения окажется необходимым предварительное восстановление контейнера.
В схеме RDH-метода под преобразованным контейнером понимается представление исходного сигнала с некоторым количеством младших бит, освобождаемых благодаря упаковке информации младших разрядов. Освободившийся объем используется для встраивания сообщения, что позволяет в процессе передачи без искажений сохранить как контейнер, так и встроенное сообщение.
Однако в силу ограниченного коэффициента сжатия и относительно малого объема встраиваемых кодов (менее 10%) от объема контейнера, а также из-за неустойчивости к искажениям в процессе передачи стего-изображения RDH-метод оказывается недостаточно эффективным при встраивании сообщений относительно большого объема и имеет в задачах стеганографии ограниченное практическое значение.
Сущность изобретения
Вышеуказанные недостатки преодолеваются в настоящем изобретении, которое относится к способу обратимого слепого идемпотентного (за одну итерацию) встраивания стеганографических сообщений или произвольных водяных знаков без использования ключа в пиксели с вычисляемыми диапазонами яркости переменной величины и подразделяется на одноканальное встраивание в контейнер битов сообщения, представленных в виде бинарной матрицы (битовой плоскости), а также более общее - многоканальное встраивание кодов сообщения, заданных в виде последовательности битовых плоскостей.
Одноканальное встраивание аналогично встраиванию битов сообщения в один из младших битов контейнера. Однако, если в LSB методе изменение бита значения яркости пикселя независимо от контейнера кодируется увеличением (либо уменьшением) этого значения на степень 2, то есть модификацией яркости в одном из вложенных диапазонов, по величине кратных степени 2, то в изобретении бит сообщения кодируется модификацией яркости в диапазоне допустимого варьирования из иерархии вложенных диапазонов, которая не задается заранее, а вычисляется по гистограмме контейнера.
В LSB-методе предусматривается кодирование нескольких битов сообщения в одном значении яркости пикселя контейнера, которое оказывается проблематичным в рамках многоканального встраивания. Дело в том, что в результате встраивания сообщения меняется гистограмма контейнера и меняется иерархия диапазонов, вложенных в данный диапазон допустимого варьирования яркости. Кроме того, кодирование дополнительного бита сообщения может изменить значение бита, уже встроенного в данной координате. Для преодоления указанных проблем разработан способ многоканального встраивания компонент сообщения или способ адаптивного встраивания водяных знаков по нескольким каналам, количество которых вычисляется в зависимости от контейнера (и сообщения), а указанные проблемы решаются за счет обновления гистограммы (и результатов ее обработки) при встраивании очередной битовой плоскости сообщения (или независимого битового сообщения), учета дополнительных значений яркости, не подлежащих модификации в рассматриваемых каналах, а также за счет итеративного повторения процедуры встраивания сообщения до полной стабилизации результатов встраивания.
Общие преимущества указанных вариантов изобретения характеризуются следующим.
Решение предназначено для записи и извлечения произвольных кодов информации (видеоданных) и, в зависимости условий применения, трактуется как встраивание стеганографического сообщения или произвольного водяного знака относительно большого объема в контейнер. Вопреки сложившимся стереотипам полагается, что незаметность встраивания, сама по себе, не определяет сущность и особенности алгоритмов, а, скорее, является ограничением на выбор настроечных параметров встраивания в процессе применения в режиме реального времени (on-line). Вне зависимости от условия визуальной незаметности встраивания сообщения базовая задача стеганографии или задача встраивания произвольного сообщения не меняется по существу и включает, прежде всего, обратимое встраивание кодов сообщения адаптивно к контейнеру.
В настоящем изобретении разделяются понятия неизвестного и недоступного контейнера, полагая контейнер при приеме известным, но в огрубленном, упрощенном виде. Для формализации понятия «незаметного встраивания» вместо метрической близости используется предположение, что наблюдаемый после встраивания сообщения контекст контейнера может быть просто вычислен независимо от сообщения и представлен в виде огрубленного нового изображения (образа), получаемого по заранее определенному алгоритму итеративной сегментации контейнера или стего-изображения. Поскольку указанный алгоритм сегментации относится к алгоритмам улучшения изображения со снижением числа градаций яркости (см. Прэтт У. Цифровая обработка изображений: В 2х кн. М.: Мир, 1982. 714 с.[Прэтт]), то реальное улучшение визуального восприятия рассматривается вместо принятой в стеганографии формальной оценки ухудшения качества стего-изображения по среднеквадратичному отклонению от контейнера.
Поскольку на передающем конце перед встраиванием сообщения вычисляется тот же самый упрощенный контейнер, что и на принимающем конце, передающая сторона имеет возможность заранее оценить степень сохранения контекста контейнера для целей автоматизации обработки. Для управления сокрытием кодов сообщения в режиме реального времени предусматривается, помимо стандартного уменьшения объема сообщения, максимальное распределение встраиваемых кодов по полю изображения.
При исключении требования метрической близости контейнера и стего-изображения из числа существенных требований к встраиванию сообщения с сохранением контекста контейнера имеется возможность разделить нестрогое понятие робастности на точное понятие инвариантности (строгое сохранение) встроенного сообщения при линейных и нелинейных стандартных преобразованиях стего-изображения (упаковки, линейного преобразования, эквидистантной нормировки по яркости и пр.) и обычную устойчивость сообщения относительно случайных или технологических искажений стего-изображения (зашумления, JPEG-преобразования), а также преднамеренных внешних атак. В задачах с ограниченным объемом сообщения достигается устойчивость относительно искажений контейнера при передаче за счет периодического повторения при встраивании кодов встраиваемого в границах изображения сообщения заранее известного на приемном конце размера, а затем суммирования извлеченных соответствующих кодов различных копий при приеме сообщения.
Биты сообщения вставляются, аналогично LSB - методу, по заранее определенному закону (с начала изображения, с конца изображения, с использованием генератора случайных чисел и пр.), однако, с пропусками, зависящими от контекста контейнера.
При встраивании сообщения в стего-изображение с одновременным снижением его числа яркостных градаций по сравнению с исходным контейнером, увеличиваются перепады между яркостями, которыми кодируется сообщение. Благодаря такому кодированию сообщения большими перепадами яркости и, в результате, увеличения амплитуды сигнала сообщения повышается робастность встраивания сообщения.
Инвариантность встраивания сообщения относительно стандартных преобразований стего-изображения обеспечивается тем, что перед внедрением сообщения контейнер независимо от стандартных преобразований преобразуется на передающем конце по определенному алгоритму в некоторое инвариантное представление, а перед извлечением сообщения на приемном конце по тому же алгоритму стего-изображение преобразуется для восстановления сообщения, в случае предусмотренных преобразований при передаче.
Для управления встраиванием предусматривается автоматизированная настройка параметров в режиме реального времени. В целом оптимальное встраивание достигается в условиях конкретной задачи как разумный компромисс между объемом встроенного сообщения, с одной стороны, и условиями незаметности и робастности встраивания, с другой стороны.
Общий объем кодов геометрически повторяющегося сообщения (т.е. повторяющегося одного и того же встроенного сообщения в местоположениях изображения с отличающимися координатами) определяется контекстом контейнера, но само сообщение произвольно. Стего-изображение помимо кодов самого сообщения не содержит сведений ни о сообщении, ни об исходном контейнере, как в LSB-методе. Хотя контейнер не требуется для извлечения сообщения на приемном конце, однако, исходный сигнал (или, при инвариантном встраивании, его образ) в упрощенном виде известен при передаче и приеме, поскольку сохраняется в процессе встраивания сообщения. Сообщение на приемном конце считается не известным. При приеме сообщения диапазоны модификации яркостей не фиксируются одинаковыми для различных координат, и не требуется специального указания координат встраивания сообщения, поскольку координаты пикселей с варьируемой яркостью и диапазоны встраивания сообщения вычисляются по полученному стего-сигналу точно так же, как и по исходному контейнеру. Корреляционный анализ не предполагается.
На Фиг.3 в упрощенном виде представлена схема предлагаемого решения согласно варианту осуществления в изобретении одноканального встраивания.
Вместо применяемой в RDH-методе процедуры сжатия информации, используется сегментация изображения. Благодаря сегментации и ослаблению условия полного восстановления информации контейнера удается увеличить объем встраиваемых кодов сообщения.
В результате сегментации контейнер необратимым образом, но без существенного ущерба для зрительного восприятия, преобразуется в упрощенное представление изображения - сегментированный сигнал (контейнер или стего-изображение) с ограниченным числом градаций яркости, который задается вычисляемым множеством значений яркостей пикселей с неизменяемым значением яркости и такой сигнал сохраняется при встраивании сообщения. Пиксели с не меняющейся при встраивании сообщения яркостью являются экстремальными в определенным образом вычисленных диапазонах яркости и позволяют определить уровень отсчета значений яркости, а также пределы изменения яркости остальных (модифицируемых) пикселей с промежуточными значениями яркости, изменением яркости которых кодируется сообщение. Таким образом, значения яркости пикселей сегментированного контейнера, равно как и сегментированного стего-изображения, позволяют определить уровень отсчета для модификации яркостных значений, используемых для кодирования сообщения. В отличие от RDH-метода, коды сообщения размещаются адаптивно к контейнеру, поскольку записываются в стего-изображении в пикселях с переменной (варьируемой, модифицируемой) яркостью, которые перемежаются с пикселями контейнера, имеющими неизменяемую яркость. Робастность, устойчивость сообщения к возможным искажениям стего-изображения обеспечивается за счет геометрического повторения кодов сообщения в границах контейнера.
Робастность сообщения в точном смысле его сохранения при предусмотренных линейных и нелинейных изоморфных преобразованиях стего-изображения (упаковки, растяжения, эквидистантной нормировки по яркости) обеспечивают за счет предварительного преобразования контейнера при встраивании сообщения, а при извлечении сообщения - стего-изображения в инвариантное гомоморфное идемпотентное представление.
Робастность, устойчивость сообщения к не предусмотренным искажениям стего-изображения обеспечивают за счет геометрического повторения кодов сообщения в границах контейнера, а также за счет кодирования сообщения относительно большими перепадами яркости
Фиг.4 приведена для сравнения предлагаемого решения с известными и иллюстрирует встраивание кодов сообщения в настоящем изобретении. Крайним слева на Фиг.4 изображен контейнер, рядом с контейнером - приближение контейнера снизу, следующее - его приближение сверху и крайнее справа - представление разности приближений сверху и снизу. На основе сравнения градаций яркости этого представления друг с другом можно наглядно оценить ширину диапазона допустимого варьирования яркости в сигнале для каждого пикселя. «Допустимое варьирование» означает, что модификация изображения за счет независимого изменения яркостей пикселей строго внутри диапазонов допустимого варьирования яркости на вычисление этих диапазонов не влияет. В отличие от известных решений обеспечивается адаптивное встраивание кодов сообщения не только по координатам, но и по диапазонам яркости без использования неадаптивной управляющей информации или перебора вариантов в процессе корреляционного анализа. Благодаря снятию условия LSB-метода о встраивании кодов сообщения в заранее заданное число битов снижается доступность сообщения для стегоанализа. Маскировка сообщения достигается не за счет ограничения изменений яркости пикселей контейнера, а, главным образом, за счет перемежения на изображении пикселей с встроенными данными сообщения с пикселями с неизмененными данными контейнера и за счет добавления в сообщение высокочастотного несущего сигнала.
Наряду со встраиванием битов сообщения в меняющиеся по координатам диапазоны допустимого варьирования яркости контейнера, предложенное решение не требует неадаптивного (не зависящего от контейнера) указания координат встраиваемых блоков данных и позволяет избежать поблочной записи согласно известному методу, что усиливает преимущества по сравнению с известными решениями.
Управление встраиванием в изобретении выполняют в режиме реального времени посредством регулирования величин диапазонов допустимой модификации яркости с одновременным изменением соотношения сохраняемых и варьируемых пикселей, которые параметризованы числами Мерсенна в виде уменьшенных на единицу степеней 2. С увеличением указанного параметра диапазоны допустимого варьирования яркости уменьшаются, доля сохраняемых при встраивании пикселей увеличивается, и степень сокрытия сообщения возрастает. Различным параметрам в виде чисел Мерсенна отвечают варианты множества допустимых диапазонов варьирования яркости. При этом в каждом варианте вычисляемые диапазоны допустимого варьирования яркости при записи сообщения меняются от пикселя к пикселю. Величины диапазонов варьирования яркостей, вообще говоря, не совпадают со степенями 2, т.е. диапазоны допустимого варьирования яркостей вмещают нецелое число бит сообщения. Хотя в диапазонах с величиной, превышающей 3, можно кодировать последовательности бит сообщения на пиксель изображения, в одном варианте настоящего изобретения ограничиваются встраиванием единственного бита на каждый модифицируемый пиксель во избежание снижения робастности и скремблирования сообщения, которые особенно критичны при переменных диапазонах модификации яркости по полю изображения.
Данный вариант одноканального встраивания настоящего изобретения по сравнению с известными способами сокрытия произвольного сообщения обеспечивает следующие возможности:
- сохранение сообщения при линейных и нелинейных изоморфных преобразованиях стего-изображения;
- робастность сообщения в отношении непредусмотренных искажений за счет кодирования сообщения посредством относительно больших перепадов яркости, а также за счет повторения битов сообщения по координатам и цветам;
- обнаружение и оценку несанкционированного доступа (неизоморфных искажений стего-изображения);
- подавление шумов ограниченной амплитуды;
- улучшение резкости стего-изображения c одновременным снижением числа градаций яркости для упрощения автоматической обработки.
При этом преодолеваются также следующие характерные недостатки современных методов стеганографии:
- эвристические, недостаточно точные оценки возможного объема встроенного сообщения;
- использование заранее известных адресату координат размещения данных;
- использование тривиального встраивания данных или управляющей информации в фиксированное число младших бит или по не зависящим от контейнера координатам;
- единообразное встраивание сообщения в различные контейнеры, в том числе - в малоградационные изображения, которые состоят, например, из одних 0;
- неравномерность заполнения контейнера при встраивании сообщения.
При одноканальном встраивании объем кодов сообщения предсказывается независимо от его содержания, что упрощает логику обратимого сокрытия сообщений. Однако то, что объем сообщения в исходной шкале яркости согласно известной колмогоровской оценке количества информации в комбинаторном подходе описывается нецелым числом битов, наоборот, приводит к усложнению решения из-за неоднозначности эвристической организации встраивания компонент сообщения с наложением по координатам.
Одним из недостатков способа одноканального встраивания является то, что в нем помимо встраивания бинарных кодов по координатам изображения не предусматривается дополнительного встраивания кодов непосредственно в исходный контейнер.
Главным недостатком способа одноканального встраивания изобретения является ограниченный объем сообщения из-за недостаточного числа каналов встраивания кодов сообщения. Недостаточное число каналов встраивания влечет недостаточную маскировку одних компонент сообщения другими, а фиксированное число каналов увеличивает также доступность встроенной информации для стего-анализа. Кроме того, недостаточное число каналов, очевидно, ограничивает возможности робастного встраивания кодов сообщений за счет дублирования информации, кодируемой яркостями одних и тех же пикселей.
Вероятно, основной причиной ограничения объема встраивания сообщений является недостаточность моделей адекватного представления и запоминания информации, а также недостаточное внедрение для хранения и обработки сигналов вычислительных устройств с троичной памятью, известных, например, в виде универсальных ЭВМ [БРУС60, БРУС05]. В указанных устройствах вместо привычных битов в качестве запоминающих ячеек используются триты с тремя состояниями, которые наиболее удобны для реализации изобретения.
В изобретении за счет многоканального встраивания согласно второму варианту осуществления развиваются преимущества и преодолеваются недостатки способа одноканального встраивания согласно первому варианту осуществления изобретения.
За счет формализации многоканального встраивания и использования при встраивании троичной памяти общий объем встраивания кодов сообщения из нескольких битовых плоскостей повышается до 20-30% от объема контейнера.
Благодаря запоминанию данных посредством троичной памяти и ее использованию в вычислениях многоканальное встраивание кодов битовых плоскостей сообщения достигается не только при инвариантном встраивании первичного сообщения, но поддерживается уже в базовом алгоритме обратимого многоканального встраивания без снижения числа яркостных градаций изображения. При этом требуемый результат встраивания кодов сразу по всем каналам достигается за счет итеративного повторения встраивания, в процессе которого разделение тритов на активные и неактивные адаптируется к многоканальному сообщению. В одном из способов изобретения при формировании, так называемой, «непрерывной» троичной памяти встраивание многоканального сообщения достигается за один цикл и выполняется в идемпотентном преобразовании контейнера.
Инвариантное встраивание относительно линейных и нелинейных изоморфных преобразований стего-изображения, достигается в изобретении сразу по всем младшим каналам за счет его итеративного повторения, упаковки управляющего инвариантного идемпотентного гомоморфного представления (гистограммного образа) по яркости, а также предусмотренных правил разделения тритов троичной памяти на активные (модифицируемые) и неактивные (фиксированные).
В изобретении усиливаются возможности робастного встраивания сообщения за счет дублирования кодов битовых плоскостей сообщения с многократным наложением по координатам. При этом робастность достигается за счет геометрического повторения кодов битовых плоскостей сообщения не только по координатам, но также и за счет их повторения во вложенных диапазонах яркости, иерархия которых зависит от контекста изображения и меняется от пикселя к пикселю.
Многократное наложение компонент встроенного сообщения друг на друга усиливает маскировку факта сокрытия. Для дополнительной маскировки факта сокрытия, а также для симметричного задания начального состояния троичной памяти используется дублирование значений старших тритов в младших активных тритах подобно тому, как в «LSB»-методе значения битов старшего разряда могут копироваться в младший разряд для сопоставления однородного сообщения из одинаковых бит некоторой начальной картине, зависящей от контейнера.
Благодаря свойству адаптивности троичной памяти изобретения при заранее известном и доступном возмущении стего-изображения появляется возможность обеспечить робастное встраивание сообщения за счет циклического повторения встраивания сообщения поочередно с возмущением.
Краткое описание чертежей
Фиг.1 иллюстрирует общую схему встраивания и извлечения сообщений для стеганографии и встраивания водяных знаков;
Фиг.2 иллюстрирует известные решения при покоординатном распределении встроенных кодов сообщения по результатам анализа контейнера;
Фиг.3 иллюстрирует схему обратимого встраивания данных согласно изобретению;
Фиг.4 иллюстрирует адаптивное встраивание кодов сообщения по координатам и диапазонам яркости, вычисленным согласно изобретению в результате анализа контейнера;
Фиг.5 иллюстрирует запоминание последовательности значений -1, 1, 0,1,0 ... в i-й ячейке многоканальной троичной памяти;
Фиг.6 иллюстрирует встраивание бита сообщения в один канал на примере одномерного фрагмента изображения;
Фиг.7 иллюстрирует пример инвариантного изоморфного представления изображения, полученный согласно изобретению;
Фиг.8 иллюстрирует запоминание иерархии разбиений дискретных отрезков;
Фиг.9 иллюстрирует сообщение в исходном виде и сообщение, развернутое в последовательность битовых плоскостей;
Фиг.10 иллюстрирует стандартное изображение и изображение в цветовом варианте;
Фиг.11 иллюстрирует базовое итеративное встраивание кодов сообщения по нескольким каналам;
Фиг.12 иллюстрирует влияние условия непрерывности троичной памяти на многоканальное встраивание сообщения при начальном разбиении рабочего диапазона с параметром μ;
Фиг.13 иллюстрирует многоканальное инвариантное встраивание сообщения в троичную память с одновременным снижением числа градаций яркости стего-изображения;
Фиг.14 иллюстрирует повышение устойчивости стего-изображения с однородным сообщением к JPEG-преобразованию за счет многократного встраивания.
Подробное описание изобретения
Более подробно способ одноканального встраивания битов сообщения по пикселям контейнера поясняется ниже.
Визуально наблюдаемую компоненту контейнера вычисляют как сигнал контекста, который сохраняется после встраивания сообщения. Маскировка достигается за счет перемежения пикселей, содержащих сообщение, с пикселями наблюдаемой компоненты сигнала и зависит от амплитуды сигнала сообщения, а также от частоты сигнала сообщения, которая может повышаться за счет внесения в сообщение высокочастотной составляющей, например, за счет добавления в сигнал сообщения высокочастотной компоненты или за счет формального введения периодического колебания «нулевого» уровня отсчета сигнала сообщения.
Управление встраиванием сообщения выполняется в режиме реального времени посредством задания величин вычисляемых диапазонов шкалы яркости по гистограмме (и, как следствие, диапазонов допустимого варьирования значений яркости пикселей изображения) с помощью чисел Мерсенна в виде уменьшенных на единицу степеней двойки (т.е. 2n-1, например, 1, 3, 7, 15, 31, 63 и т.п.), с одновременным изменением соотношения числа пикселей с сохраняемыми и варьируемыми значениями яркости. С увеличением указанного числа Мерсенна (т.е. увеличением числа диапазонов яркости) уменьшается величина каждого диапазона допустимого варьирования яркости. При этом, чем больше число диапазонов, тем больше будет фиксировано пикселей с граничными значениями яркости. Так как эти пиксели включены в наблюдаемую картину и перемежаются с варьируемыми пикселями, то визуально степень сокрытия сообщения возрастает.
Таким образом, для различных значений чисел Мерсенна вычисляются варианты набора допустимых диапазонов варьирования яркости, и в каждом варианте диапазоны допустимого варьирования яркости при записи сообщения меняются от пикселя к пикселю, так как на изображении рядом встречаются пиксели из различных диапазонов.
Величины диапазонов варьирования яркостей, в общем случае, не совпадают со степенями 2. Например, яркостный диапазон 0-4 содержит 5 целочисленных значений яркости. Два из них являются граничными и, если пиксель имеет яркость, равную одному из этих значений, он является неизменяемым. Три других, а именно значения 1-3, могут использоваться для кодирования сообщения. Однако для кодирования двух битов встраиваемого сообщения необходимо не менее 4 внутренних значений указанного диапазона помимо граничных значений, поэтому при наличии только трех упомянутых неграничных значений в диапазоне 0-4 можно закодировать только один бит встраиваемого сообщения. Следовательно, для кодирования двух битов встраиваемого сообщения число значений яркости вместе с граничными должно быть не менее 6 в пределах одного диапазона.
Хотя в диапазонах допустимого варьирования яркости с количеством значений яркости, включая граничные, превышающим 5, можно кодировать несколько (т.е. более одного) битов сообщения на пиксель изображения, настоящее изобретение ограничивается встраиванием единственного бита на каждый модифицируемый пиксель во избежание снижения робастности и скремблирования сообщения, которые особенно критичны при переменных диапазонах модификации яркости по полю изображения.
В более общем способе многоканального встраивания для запоминания данных решается обратная задача - по сигналу рассчитывается фактический носитель информации в виде многоканальной троичной памяти. Хотя многоканальная троичная память порождается компонентой сигнала, она оказывается способна хранить информацию аналогично памяти обычной ЭВМ. Любое изображение помимо контекста содержит некоторое неявное сообщение, которое можно извлечь и модифицировать для передачи скрытой информации, защиты контейнера, упрощения автоматической обработки и пр. При повторной записи сообщения, которое содержится в контейнере, контейнер не меняется. Задача стегоанализа уточняется и трактуется не как задача обнаружения сообщения, а как задача извлечения сообщения и обнаружения модификации или подмены некоторого изначального, например, случайного сообщения.
Предполагается, что различные изображения в пределах неких условий инвариантности различаются по контексту, либо по неявной информации. Обратимое встраивания трактуется как чтение и запись информации в ассоциированную с изображением троичную память. При этом недостаточная эффективность методов встраивания и их многообразие объясняется недоиспользованием возможностей заполнения троичной памяти и выражается недостаточным объемом встраивания.
Троичная память выражает, упрощает и поддерживает интерпретацию иерархии диапазонов допустимого варьирования яркостей пикселей как носителей информации, вмещающих целочисленное количество кодов сообщения. Встраивание суперпозиции сообщений с использованием троичной памяти выполняется по следующей схеме.
Математическая схема обратимого встраивания
Встраивание Sh сообщения h в изображение (контейнер) u достигается посредством преобразования Wh, которое при циклическом применении порождает некоторую последовательность представлений, сходящуюся к представлению Shu:
: ,
где n - число повторений преобразования Wh.
Под сходимостью представлений, получаемых преобразованием (программой, отображением и пр.) Wh, понимается существование предела Shu указанной последовательности представлений, который называется стего-изображением и не меняется под действием программы Wh. Иными словами, предполагается, что итеративное преобразование не зацикливается, и при достаточно большом числе N повторений достигается инвариантное относительно преобразования Wh представление ν изображения u:
Wh ν=ν,
где ν - стего-изображение.
Хотя результат повторного выполнения встраивания Sh сообщения h в произвольный контейнер u совпадает с результатом однократного, называем Sh идемпотентным встраиванием, если программа Wh такова, что встраивание сообщения h в произвольный контейнер u достигается за единственную итерацию и N=1, а . В общем случае, если преобразование Sh достигается за несколько итераций N, называем его итеративным встраиванием.
Под сообщением h понимается матрица значений троичных ячеек многоканальной троичной памяти, которые сопоставляются пикселям изображения и содержат последовательности тритов со значениями 0, . Представление h получается обнулением некоторого множества тритов представления из одних , строящегося посредством записи в троичную память исходной последовательности битов встраиваемой информации и выполняется с повторениями по координатам и разрядам троичной памяти до ее заполнения.
Нулевые триты в сообщении h возникают из-за того, что, в зависимости от контекста контейнера u, некоторые значения тритов представления при записи в троичную память не учитываются в ее неактивных элементах, при чтении кодов сообщения из троичной памяти вычисляются как неопределенные и помечаются нулевыми значениями. Поскольку нулевые триты сообщения h предсказуемы при встраивании представления , пропуска битов исходной встраиваемой информации можно избежать, например, за счет кодирования исходной последовательности битов с исключением пропуска информации при достаточном числе повторений. Поэтому можно рассматривать в качестве начального троичного представления исходной последовательности встраиваемых битов сообщение h и не останавливаться далее на деталях практической реализации, чтобы не загромождать изложение.
Таким образом, извлечение сообщения h состоит в его вычислении по стего-изображению из условия того, что Wh оставляет стего-изображение неизменным. Полагая, что любое изображение содержит некоторое сообщение, запишем условие обратимости встраивания сообщения h в виде:
R: R(Whu=u)=h,
где R - программа извлечения сообщения, которая выполняет решение уравнения Whu=u относительно h и, фактически, представляет собой самостоятельное формирование и вывод файла сообщения, предусматриваемые в теле программы Wh. При этом в выписанной формуле аргумент отображения R трактуется двояко: как результат однократного встраивания Whu и как условие Whu=u, которое рассматривается в качестве уравнения для нахождения h.
Главной особенностью описанной схемы является то, что существование точного предела приближений стего-изображения Shu в процессе встраивания сообщения h позволяет обойтись при его извлечении условиями сохранения кодов сообщения при однократном встраивании, по каналам и координатам, как описывается в следующем разделе.
Модель многоканальной троичной памяти сигнала
Встраивание сообщения осуществляется в изобретении как его запоминание в многоканальной троичной памяти, которая используется для записи и считывания произвольных кодов сообщения подобно обычной цифровой памяти. Полагается, что многоканальная троичная память состоит из запоминающих элементов, которые вводятся посредством обобщения понятия битов.
Если отвлечься от строения ячейки памяти обычного компьютера, то изменение значений битов, в которых хранятся значения яркости пикселей изображения, кодируется посредством модификации значений яркости во вложенных диапазонах шкалы яркости, по величине равных степеням 2. Разряды сопоставляемой изображению многоканальной троичной памяти определяются последовательностью вложенных разбиений шкалы яркости на диапазоны, которые, вообще говоря, по величине не кратны 2, и вычисляются в алгоритме итеративного разделения гистограммы яркости на части с приблизительно равным числом пикселей. Итеративное разбиение яркостной шкалы продолжается до тех пор, пока все диапазоны не вырождаются в диапазоны, содержащие единственную яркость, которая сопоставляется последовательности стягивающихся к ней диапазонов и на каждой итерации принадлежит одному из них. Алгоритм разбиения шкалы яркости таков, что варьирование яркости каждого пикселя изображения внутри своего диапазона, хотя и влияет на гистограмму яркости, но не влияет на вычисление текущего разбиения яркостной шкалы, а также на вычисление предыдущих ее разбиений на диапазоны яркости. При этом пиксели могут модифицироваться по яркости независимо друг от друга.
Полагается, что ячейки многоканальной троичной памяти сопоставляются пикселям изображения и состоят из последовательных запоминающих элементов. Значение очередного элемента ячейки многоканальной троичной памяти, в зависимости от номера итерации разбиения яркостной шкалы, определяется знаком отклонения яркости пикселя от центра очередного диапазона яркости. При этом данному элементу ячейки многоканальной троичной памяти приписывается положительное, отрицательное, либо нулевое значение знака разности яркости пикселя и центральной яркости рассматриваемого диапазона, как указано на Фиг.5, на котором представлен пример запоминания последовательности значений -1, 1, 0,1,0 ... в i-й ячейке многоканальной троичной памяти.
Фиг.5 иллюстрирует содержание ячейки многоканальной троичной памяти, которая сопоставляется некоторому пикселю изображения с номером i. Ступенчатыми сплошными линиями на Фиг.5 обозначены яркости приближений снизу и сверху. Устанавливаем, что в старшем трите ячейки записана -1, поскольку яркость пикселя меньше средней яркости диапазона допустимого варьирования, в следующем трите меньшего разряда записана 1, поскольку яркость пикселя больше средней яркости соответствующего диапазона допустимого варьирования, следующий трит имеет 0-е значение, поскольку яркость пикселя оказалась посередине очередного диапазона и т.д. Очевидно, что если участок шкалы яркости между данным значением яркости пикселя и значением той же яркости, отраженным относительно оси рассматриваемого текущего диапазона ее допустимого варьирования, пересекается хотя бы одной из осей предыдущих диапазонов допустимого варьирования (как, например, осью упомянутого диапазона, отвечающего 0-му значению трита), то модификация яркости в рассматриваемом диапазоне допустимого варьирования повлечет модификацию предыдущего трита. Поэтому такие триты, модификация значений которых влечет модификацию предыдущих тритов, относят к неактивным, наряду с тритами, отвечающими пикселям с граничными и центральными яркостями.
Тем самым устанавливается содержимое ячейки троичной памяти, а также считывание из пикселей значений троичных единиц информации, называемых тритами согласно Н. П. Брусенцову. Триты, сопоставляемые данному разбиению шкалы яркости, составляют каналы троичной памяти и считаются упорядоченными по уменьшению вложенных диапазонов яркости. При этом самый старший трит каждой ячейки троичной памяти вычисляется для рабочего диапазона яркости, который содержит яркости всех пикселей изображения.
Запись сообщения в триты многоканальной троичной памяти связывается с отражением яркостного значения пикселя относительно центра соответствующего диапазона и выполняется последовательно от старших тритов - к младшим. Яркостное значение, оказавшееся в центре диапазона, очевидно, при отражении не меняется. Поэтому триты с нулевыми значениями при записи сообщения не подлежат модификации и считаются неактивными. К неактивным относят также триты, которые сопоставляются яркостям, ограничивающим допустимые диапазоны варьирования яркости, и триты, изменение которых влечет модификацию предшествующих тритов.
Основные принципы встраивания сообщения в многоканальную троичную память включают три требования инвариантности:
1. Инвариантность стего-изображения относительно повторного встраивания сообщения (идемпотентность встраивания);
2. Инвариантность контейнера относительно обратного встраивания извлеченного сообщения;
3. Инвариантность сообщения относительно линейных и нелинейных изоморфных преобразований стего-изображения.
Здесь имеется в виду, что повторная запись сообщения не влияет на стего-изображение, любое изображение сохраняется при встраивании извлеченного из него сообщения обратно в изображение, а также, что стандартные преобразования стего-изображения (упаковка, растяжение рабочего диапазона, эквидистантная нормировка стего-изображения и пр.) не влияют на сообщение.
Компоненты цветового изображения при вычислении троичной памяти рассматриваются независимо друг от друга. Избыточность изображения выражается повторениями тритов по координатам, каналам троичной памяти и цветам. Искажение кодов сообщения в процессе передачи изображения при приеме компенсируется простым суммированием значений соответствующих разрядов тритов с последующим вычислением знака полученной суммы. Для учета случаев нулевого суммарного значения, в качестве запоминающих элементов ассоциированной с сигналом памяти удобно использовать именно триты, а не биты.
Таким образом, триты позволяют исключить характерные для использования битов систематические ошибки округления при вычислении ассоциированной с сигналом многоканальной памяти и точнее формализовать избыточность видеоинформации. Особенности единиц представления информации в многоканальной троичной памяти по сравнению с исходным представлением в двоичной компьютерной памяти отражены (для байтовых изображений) в таблице 1.
Единицы представления и запоминания видеоинформации
Атрибуты
где Ch - число каналов троичной памяти, R и RW - обозначения неактивных и активных тритов.
Фиг.6 иллюстрирует интерпретацию понятия канала троичной памяти сигнала. На Фиг.6 сплошной темной линией для изображения (контейнера) показана зависимость яркости u от координаты x.
Суть идеи выполнения обратимого встраивания посредством многоканальной троичной памяти без использования ключа для нахождения координат, а также диапазонов встраивания кодов сообщения сводится к построению в окрестности изображения последовательности вложенных «коридоров» допустимой модификации изображения, один из которых обозначен на чертеже и ограничен пунктирными линиями. Коридоры сопоставляются последовательностям разрядов ячеек приписываемой изображению многоканальной троичной памяти.
Каждый «коридор» допустимой модификации исходного изображения, с одной стороны, вычисляется по изображению, а, с другой стороны, от варьирования яркостей пикселей изображения в своих пределах не зависит. Для наглядности изображение обозначено непрерывной кривой, а коридор показан с перекрывающимися диапазонами варьирования яркостей, которые, на самом деле, вычисляются неперекрывающимися и разнесены по вертикальной оси. В результате построения варианта приближений снизу и сверху границы диапазонов допустимого варьирования яркости «натягиваются» на яркости пикселей сигнала (контейнера или стего-изображения) с сохраняемой яркостью и для каждого пикселя с изменяемой яркостью задают внутренний допустимый диапазон варьирования яркости, а также для допустимых диапазонов варьирования яркости определяют обозначенные белым цветом центральные значения яркости нулевого (т.е. «сегментированного») сигнала. В принципе в изображении может не встретиться ни одного пикселя, значение яркости которого совпадает с центральным значением в допустимом диапазоне варьирования значения яркости. Тем не менее, центральные значения яркости диапазонов, которые вычисляются одними и теми же как для контейнера на передающем конце, так и для стего-изображения на приемном конце, служат начальным уровнем для кодов сообщения не хуже реальных значений яркости и могут рассматриваться как яркости передаваемого формального нулевого сигнала.
Для точного и однозначного выполнения встраивания (записи) бита сообщения в изображение без использования округления целых чисел записывают бит сообщения посредством зеркального отражения яркостного значения пикселя изображения относительно оси допустимого диапазона модификации яркости.
Изобретение применяется к исходному цифровому сигналу, яркости (амплитуды, яркостные отсчеты и пр.) которого задаются в целых числах. При этом рассматривается не переход от непрерывных величин к дискретным, а замещение нескольких (целых) величин общим значением. Для точного и однозначного выполнения встраивания (записи) бита сообщения в изображение в настоящем изобретении без использования округления целых чисел записывают бит сообщения посредством зеркального отражения яркостного значения пикселя изображения относительно оси (т.е. целого или полуцелого центрального значения яркости) допустимого диапазона модификации яркости. Например, если u{x} - яркость пикселя с координатой x, а a{x} и b{x} - граничные значения диапазона, то «отраженное» относительно центрального значения диапазона значение v{x} яркости вычисляется по формуле v{x} =a{x}+b{x}-u{x}, и значение v{x} получается целым. При другом способе модификации результат может оказаться нецелым, и тогда потребуется округление.
Установленные и неустановленные биты сообщения кодируются в пикселях с варьируемыми значениями яркости, соответственно, положительными и отрицательными (или наоборот - отрицательными и положительными) единичными значениями знака отклонения яркости пикселя от центральной яркости диапазона допустимого варьирования. Следует обратить внимание, что зеркальное отражение яркости пикселя относительно центральной яркости диапазона допустимого варьирования аналогично изменению на противоположное значения бита младшего разряда в LSB методе и при записи бита сообщения согласно изобретению выполняется только тогда, когда указанное значение знака не совпадает с требуемым кодом сообщения. Поэтому при повторной записи сообщения в стего-изображение последнее не меняется.
Обратимое встраивание битов сообщения в яркости пикселей с координатами x описывается соотношением:
где sign()- отклонение яркости стего-сигнала от центра диапазона; - его абсолютная величина; sign - функция знака, принимающая значение -1, 0, 1 в зависимости от, соответственно, отрицательного, нулевого и положительного значения аргумента; sign() - сообщение, установленные и неустановленные биты которого кодируются в пикселях с варьируемыми значениями яркости, соответственно, положительными и отрицательными (или наоборот - отрицательными и положительными) единичными значениями функции знака от отклонения ; +sign()·+ - стего-изображение; - нулевой сигнал, значения яркости которого совпадают с центральными значениями диапазонов допустимой яркостной модификации, а P - идемпотентное преобразование контейнера u в нулевой сигнал Pu.
Под идемпотентным преобразованием здесь в традиционной интерпретации понимается преобразование, повторное применение которого совпадает с однократным:
Результат преобразования изображения под действием идемпотентного преобразования в данном изобретении называется идемпотентным представлением.
Существенным для упрощения описания и реализации настоящего изобретения является понятие иерархии гомоморфных представлений изображения, а также алгоритмы ее построения и запоминания.
Иерархия гомоморфных представлений. Под представлением, изоморфным изображению по яркостному порядку, т.е. по отношению яркостей между любыми двумя яркостями независимо от диапазонов, понимается преобразованное в тех же координатах изображение, между значениями яркости которого сохраняются отношения меньше, равно, больше. Если в преобразованном изображении в отношениях между значениями яркости допускается переход от неравенств к равенствам, но эти отношения не замещаются альтернативными, то оно считается гомоморфным представлением исходного изображения. Преобразование изображения в изоморфное (гомоморфное) представление называется изоморфным (гомоморфным) преобразованием. Под иерархией представлений изображения в рамках изобретения имеются в виду представления изображения, которые порождаются последовательностью разбиений яркостной шкалы на вложенные друг в друга диапазоны яркости и которые вычисляются для каждого разбиения посредством изоморфного преобразования. Вложенные друг в друга диапазоны находятся итеративным разбиением шкалы яркости, например, на две части, потом каждого из получившихся диапазонов еще раз на две части и т.д. В результате оказывается, что каждое значение яркости содержится в некоторой иерархической последовательности вложенных друг в друга диапазонов, верхняя и нижняя границы которых «стягиваются» к этому значению яркости.
При заданном разбиении шкалы яркости на диапазоны гомоморфные представления изображения получаются посредством замещения встречающихся в изображении значений яркости пикселей последовательными порядковыми номерами вычисляемых диапазонов, порядковыми номерами диапазонов с пропусками номеров, или иными последовательными индексами тех диапазонов, которые содержат яркости этих пикселей, а изоморфное представление получается, когда каждый диапазон из заданного разбиения шкалы яркости содержит единственное значение яркости.
Числовая иерархия инвариантных идемпотентных гомоморфных представлений. Под числовой иерархией представлений изображения понимается иерархия гомоморфных представлений, которая получается посредством итеративного преобразования значений яркости пикселей некоторого изоморфного представления изображения посредством деления нацело и умножения на целое число, зависящего только от значения яркости преобразуемого пикселя, в частности, посредством применения вышеупомянутого арифметического преобразования. Иными словами, числовая иерархия - это последовательность представлений изображения, которая задается значениями яркости пикселей изоморфного представления изображения и арифметическими действиями с ними, например, в простейшем случае, итеративным делением значений яркостей изображения нацело пополам. Пример получения числовой иерархии для неповторяющихся значений яркости приведен ниже в описании со ссылками на Фиг.8.
Числовая иерархия считается инвариантной, если изоморфное представление, которое ее порождает, не зависит от стандартных преобразований изображения (упаковки, линейного преобразования, эквидистантной нормировки по яркости, а также других линейных и нелинейных изоморфных преобразований).
На Фиг.7 приведен пример инвариантного изоморфного представления изображения, полученный согласно изобретению. На Фиг.7 изображение приведено слева и его инвариантное изоморфное идемпотентное представление, нормализованное на рабочий диапазон значений яркости (от 0 до 255), - справа.
Фиг.7 демонстрирует, что правое изображение ничем, кроме некоторого увеличения резкости, не отличается от левого, что позволяет говорить о том, что инвариантное изоморфное представление существенно не меняет изображение по визуальному восприятию.
Показанное на чертеже инвариантное изоморфное представление Hu изображение u, взятое в качестве исходного изображения, при повторном преобразовании под действием алгоритма H не меняется. Поэтому алгоритм H является идемпотентным:
а полученное по алгоритму H изображение Hu является идемпотентным представлением исходного изображения u.
Инвариантные идемпотентные гомоморфные представления из одноименной иерархии идемпотентных представлений во всех координатах x выражаются через инвариантное идемпотентное изоморфное представление рекуррентными соотношениями:
где Mrsn - число градаций формальной амплитудной шкалы представления Hu, выражаемое некоторым числом Мерсенна; μ - число градаций шкалы представления , которое вычисляется итеративным делением числа Mrsn нацело пополам; A - арифметическое преобразование, которое сводится к делению нечетных яркостей текущего представления нацело на 2, а четных - к удвоению амплитудных значений, предварительно поделенных нацело на 4.
Для краткости инвариантные идемпотентные гомоморфные представления называются гистограммными образами, в частности, представление Hu именуется изоморфным гистограммным образом.
Построение гистограммного образа для обратимого встраивания сообщения согласно изобретению обеспечивает разделение пикселей изображения на пиксели видимого (вычисляемого) контекста изображения (контейнера и стего-изображения), значения яркости которых не подлежат модифицированию при встраивании сообщения, и пиксели с варьируемой яркостью.
Гистограммный образ представляет собой инвариантное представление которое вычисляется в 1, 3, 7, 15... Mrsn градациях формальной амплитудной шкалы и не меняется при стандартных преобразованиях исходного изображения. При инвариантном встраивании сообщения гистограммный образ используется в качестве контейнера вместо исходного изображения.
Гистограммный образ вычисляется посредством итеративного применения рекуррентного арифметического преобразования амплитудных значений пикселей изоморфного гистограммного образа, который по числу встречающихся градаций совпадает с исходным изображением и визуально отличается от него повышенной резкостью. При этом итеративное применение арифметического преобразования порождает иерархическую последовательность гистограммных образов, которые в ограниченном числе 1, 3, 7, 15,... Mrsn градаций амплитудной шкалы представляют изоморфный гистограммный образ в упрощенном виде. Встраивание сообщения не влияет на начальную последовательность гистограммных образов в 1, 3, 7, 15,..., μ градациях амплитудной шкалы.
Изоморфный гистограммный образ строится по гистограмме изображения в описанном ниже алгоритме итеративного разбиения гистограммы на 2 части с максимально равными суммарными количествами пикселей (за счет выделения центральной 3 части с единственным ненулевым пиком в случае двух остальных частей с совпадающим количеством пикселов).
Необходимость построения изоморфного гистограммного образа для встраивания и извлечения сообщения обусловлена тем, что в его амплитудных значениях запоминается последовательность разбиений шкалы яркости изображения на диапазоны, вычисляемые посредством итеративного арифметического преобразования указанных значений. При этом по сигналу (на передающем или приемном конце) и его гистограммному образу оказывается проще, чем по гистограмме, вычислить последовательность диапазонов допустимого варьирования яркости и встроить или извлечь сообщение.
Во всех пикселях с неграничными и нецентральными значениями яркости кодируются биты сообщения посредством зеркального отражения яркостных значений относительно центрального значения согласно вышеприведенной формуле v{x} =a{x}+b{x}-u{x} (для отражения относительно центрального значения не требуется вычисления самого центрального значения). Внешние границы a{x}, b{x} допустимого варьирования значений яркости для каждого пикселя непосредственно задаются амплитудными значениями приближений изображения снизу и сверху, а приближения изображения снизу и сверху вычисляются по гистограммному образу и изображению без использования гистограммы. При этом построение приближения изображения снизу (сверху) сводится к нахождению минимального (максимального) значения яркости пикселей изображения, помеченных одинаковыми амплитудными значениями гистограммного образа (т.е. пикселей имеющих одинаковые амплитудные значения в представлении гистограммного образа), и замещению значений яркости пикселей изображения найденными минимальными (максимальными) значениями яркости.
Таким образом, встраивание сообщения в данный канал выполняется по изображению и гистограммному образу посредством построения приближений изображения снизу и сверху без дополнительной обработки гистограммы.
Итеративное формирование амплитудных значений изоморфных гистограммных образов
Иерархическая последовательность вложенных разбиений яркостной шкалы на диапазоны допустимого варьирования значений яркости запоминается (задается) непосредственно в амплитудных значениях изоморфного гистограммного образа, который формируется в независимо от линейных и нелинейных изоморфных преобразований, в частности, упаковки изображения по яркости. При этом каждое амплитудное значение гистограммного образа на той или иной итерации помечает последовательные значения шкалы яркости изображения, отнесенные к соответствующему диапазону допустимого варьирования яркостей пикселей изображения, и находится по амплитудному значению изоморфного гистограммного образа посредством рекуррентного арифметического преобразования A, которое определено выше.
Пользуясь тем, что гистограммные образы не зависят от упаковки изображения, поясним построение изоморфного гистограммного образа (и вместе с ним - всей иерархии гистограммных образов) на примерах упакованного по яркости изображения с 7-10 встречающимися значениями яркости. Для простоты полагаем, что пиксели с различной яркостью встречаются на изображении одинаковое число раз. В этом случае построение изоморфного гистограммного образа сводится к итеративному разбиению шкалы яркости (в виде отрезка целочисленной длины) на равные части, которое запоминается в амплитудных значениях гистограммного образа.
Запоминание иерархии разбиений дискретных отрезков.
Фиг.8 иллюстрирует запоминание иерархии разбиений дискретных отрезков (рядов одинаковых ячеек) целочисленной длины. Вверху - рассматриваемые отрезки. Внизу под ними - последовательные результаты итеративного кодирования иерархии разбиений шкалы яркости изображения на диапазоны, которые задаются построчно выписанными в ячейках амплитудными значениями гистограммных образов.
На начальной итерации амплитудные значения гистограммного образа полагаются равными 0 (заполненные нулями строки таблиц Фиг.8). На каждой последующей итерации (следующие строки таблиц) рассматриваемое амплитудное значение удваивается и к нему добавляется 0, 1 или 2, в зависимости от того, где находится это значение - в левой части, в центре, либо в правой части текущего диапазона из одинаковых амплитудных значений. Формирование амплитудных значений изоморфного гистограммного образа завершается, когда каждое из них оказывается отличным от соседних. При этом построение самого изоморфного гистограммного образа достигается замещением яркостей пикселей изображения сформированными амплитудными значениями. Преобразование рассматриваемого матричного представления изображения в изоморфный гистограммный образ сводится к замещению величин яркости амплитудными значениями в виде номеров, которые присваиваются яркостям с сохранением порядка, но не обязательно последовательно (Фиг.8). При этом результирующий гистограммный образ является изоморфным рассматриваемому представлению изображения по яркостному порядку. Гистограммный образ, который получается замещением яркостей рассматриваемого изображения амплитудными значениями, вычисленными на промежуточной итерации, оказывается гомоморфным изображению по яркостному порядку. Гомоморфные гистограммные образы (или просто гистограммные образы) получаются из изоморфного гистограммного образа посредством рекуррентного применения деления нечетных амплитудных значений нацело на два, а четных - удвоения результата деления нацело на четыре. При этом изоморфный гистограммный образ определяет иерархию (иерархическую последовательность) промежуточных гистограммных образов, каждый из которых можно получить, применяя к значениям изоморфного гистограммного образа арифметическое преобразование необходимое число раз.
Более подробно иллюстрируемый на Фиг.8 справа пример построения гистограммного образа для 10 значений яркости, встречающихся в упакованном изображении одинаковое число раз поясняется следующим.
Рассматривается последовательность упорядоченных по возрастанию значений яркости ячеек яркостной шкалы, количество которых в данном случае равно количеству встречающихся в изображении значений яркости.
На начальной итерации (вторая строка на Фиг.8 справа) во все ячейки записывают нули - начальные значения амплитуд формируемого гистограммного образа, которые сопоставляются значениям яркости преобразуемого изображения. На начальном этапе имеется только один диапазон значений яркости от 0 до 10, заданный единственной последовательностью нулевых амплитудных значений гистограммного образа.
На каждой следующей итерации все амплитудные значения удваиваются. После этого к каждому амплитудному значению добавляется, соответственно, 0, 1 или 2 в зависимости от того, где находится это значение - в левой части (ближе к левому краю), в центре, либо в правой части (т.е. ближе к правому краю) предыдущего диапазона из одинаковых амплитудных значений.
Таким образом, на первой итерации (третья строка на Фиг.8 справа) последовательность ячеек разделяется на два диапазона равной длины и к удвоенному значению ячейки их предыдущей строки добавляют 0 или 2 для значений яркости слева и справа от центра диапазона,.
На второй итерации (четвертая строка на Фиг.8 справа) амплитудные значения во всей последовательности удваиваются (с получением значений 0 и 4 для ячеек слева и справа от середины предыдущего диапазона), после чего каждый из двух диапазонов (помеченных 0 и 4) разделяется на три части: два диапазона равной длины и центральное значение, равноудаленное от левого и правого края. Далее в каждом из диапазонов из 5 ячеек добавляют значения 0 и 2 для значений яркости в ячейках слева и справа от центральной ячейки и 1 для значения самой центральной ячейки.
На третьей итерации (пятая строка на Фиг.8) значения яркости всей последовательности снова удваивают, и каждый диапазон, полученный на предыдущем этапе, делят на две/три части, соответственно, и формирование амплитудных значений заканчивают, поскольку каждый результирующий диапазон оказывается помеченным неповторяющимся амплитудным значением гистограммного образа, т.е. содержит единственное значение яркости.
При этом формирование амплитудных значений гистограммного образа завершается, когда каждое из них оказывается отличным от соседних. Для построения гистограммного образа остается заменить значения яркости пикселей изображения сформированными амплитудными значениями. Очевидно, что окончательно сформированный гистограммный образ является изоморфным исходному изображению, а каждый из промежуточных - гомоморфным исходному изображению.
Фиг.8 следует трактовать как абстрактную схему вычисления изоморфного гистограммного образа, который строится по гистограмме яркости. При этом адресами ячеек, в которых формируются амплитудные значения изоморфного гистограммного образа служат яркостные значения пикселей, отсчитываемые по горизонтальной оси гистограммы, в которой количество пикселей откладывается по вертикальной оси. Количество пикселей слева и справа от рассматриваемого яркостного значения в общем случае изоморфного гистограммного образа используется вместо метрической длины строки ячеек.
Формирование амплитудных значений гистограммного образа по гистограмме
Более точно формирование амплитудных значений изоморфного гистограммного образа выполняется в соответствии с описанным ниже алгоритмом, который обеспечивает итеративное вычисление амплитудного значения изоморфного гистограммного образа для каждого встречающегося на изображении значения яркости.
При этом рассматриваются встречающиеся в изображении значения яркости (без учета «пустых» значений с нулевыми пиками гистограммы, поскольку при упаковке изображения изоморфный гистограммный образ не меняется, можно, не уменьшая общности, все яркостные значения из рабочего диапазона считать встречающимися на изображении), которые на горизонтальной оси гистограммы сначала помечаются нулевыми амплитудными значениями гистограммного образа (т.е. каждому встречающемуся значению яркости сопоставляется начальное амплитудное значение гистограммного образа, равное нулю).
Затем выделяются диапазоны значений яркости, помеченных одинаковыми амплитудными значениями гистограммного образа, и каждый из диапазонов обрабатывается как рабочий диапазон яркости самостоятельного изображения. Обработка состоит в удвоении амплитудных значений гистограммного образа и увеличения их на 0, 1 или 2 в зависимости от суммы пиков рассматриваемого участка гистограммы слева и справа от данного значения яркости. В результате каждая последовательность одинаковых амплитудных значений гистограммного образа разделяется на 2-3 новых последовательности, либо остается последовательностью из одного элемента, если содержит единственное значение яркости. Процесс разделения диапазонов на 1-3 части итеративно продолжается до тех пор, пока не окажется, что все диапазоны содержат по одному значению яркости.
Обработка диапазона значений яркости на очередной итерации состоит в следующем:
Соответствующее (текущее) значение гистограммного образа удваивается.
1. Подсчитывается сумма пиков гистограммы, расположенных левее текущего пика гистограммы, а также сумма пиков гистограммы, расположенных правее текущего пика (текущий пик не участвует в суммировании).
2. Если левая и правая сумма совпадают, то к удвоенному значению текущего гистограммного образа прибавляется единица. В противном случае, если левая сумма пиков меньше правой, то удвоенное значение текущего гистограммного образа оставляют неизменным, либо увеличивают на двойку, если левая сумма превосходит правую.
Базовое итеративное встраивание кодов сообщения по нескольким каналам
Обратимое встраивание сообщения в следующем варианте изобретения выполняется с использованием многоканальной троичной памяти и состоит в циклическом повторении встраивания сообщения до полной стабилизации стего-изображения, по достижению которой стего-изображение при встраивании сообщения перестает меняться.
Цикл однократного встраивания сообщения состоит в обратимой последовательной записи кодов сообщения от старших разрядов к младшим с возможностью извлечения, и выполняется в лексикографическом порядке (обработка проводится поэтапно по каналам, и при каждом фиксированном канале выполняется обработка всех пикселей) встраивания кодов по разрядам × координатам многоканальной троичной памяти, который отвечает лексикографическому порядку по каналам × координатам (координата меняется первой, каналы берутся от старших к младшим) кодирования сообщения в яркостях изображения. Многоканальная троичная память структурируется и заполняется поразрядно посредством изоморфного гистограммного образа. Формирование очередного разряда многоканальной троичной памяти и кодирование соответствующего канала встраивания описывается ниже.
Вычисляют (обновляют) изоморфный гистограммный образ контейнера, который задает полную иерархию гистограммных образов (для ускорения расчетов можно ограничиться вычислением очередного приближения изоморфного образа при сохранении предыдущих приближений). Задают числом Мерсенна очередное число градаций амплитудной шкалы гистограммного образа и редуцируют посредством арифметического преобразования A изоморфный гистограммный образ до заданного числа градаций. Посредством изоморфного гистограммного образа разделяют триты многоканальной троичной памяти на активные (модифицируемые) и неактивные (Read Only) и задают их состояние согласно состоянию изображения и значениям тритов старших разрядов. Модифицируя изображение, записывают коды сообщения в активные триты многоканальной троичной памяти.
Извлечение сообщения из стего-изображения выполняется за один цикл сканирования многоканальной троичной памяти.
При извлечении сообщения из стего-изображения, вычисляют изоморфный гистограммный образ стего-изображения. При этом в точности воспроизводится окончательный гистограммный образ результирующего контейнера, использованный при встраивании битов сообщения. В отсутствие искажений при передаче воспроизводится разделение тритов на активные и неактивные, и из активных тритов считываются соответствующие биты сообщения.
Для подавления возможных искажений поразрядно суммируют декодированные в виде биты сообщения с учетом повторений в поле изображения сообщения заранее известных размеров, получают суммарные положительные, отрицательные или нулевые суммарные значения пикселей сообщения, которые интерпретируют, соответственно, как установленные, неустановленные и не определенные биты сообщения в виде числовой матрицы. Если контейнер представляет собой изображение из пикселей с одинаковыми значениями яркости («чистый лист»), то все биты встроенного сообщения оказываются неопределенными. Если битов сообщения оказывается больше, чем тритов рассматриваемых младших разрядов многоканальной памяти, то «лишние» биты не используются.
Полноцветные 24-битовые изображения рассматривают как три 8-битовых полутоновых изображения и при встраивании, а также при извлечении сообщения обрабатывают по цветовым компонентам независимо друг от друга.
Параметры
Для управления встраиванием сообщения в режиме реального времени предусматривают начальное разделение пикселей изображения по градациям гистограммного образа на подмножества, которые далее обрабатывают как раздельные изображения. При этом управляющим параметром служит число Мерсенна μ, определяющее общее число градаций шкалы гистограммного образа, который используют для начального разделения изображения (по умолчанию параметр μ полагаем равным ).
При инвариантном итеративном встраивании (см. ниже) к указанному параметру добавляется аналогичный параметр в виде числа Мерсенна, который задает число градаций шкалы гистограммного образа, используемого для замещения изображения инвариантным представлением.
Помимо числа градаций шкалы градаций гистограммного образа, предусмотренного для представления изображения в инвариантном виде, а также числа градаций μ шкалы градаций гистограммного образа, используемого для начального разделения множества пикселей на несколько самостоятельных множеств, в изобретении предусматривают параметр , равный количеству старших каналов, которые при записи сообщения фиксируются и модулируют начало отсчета в остальных каналах, сопоставляемых вложенным диапазонам яркости (по умолчанию значение полагают равным единице , при котором начальные значения активных тритов младших разрядов отождествляются со значениями самого старшего разряда).
Идемпотентное встраивание кодов сообщения по нескольким каналам
Экономичное по времени идемпотентное встраивание сообщения в изображение достигается за единственную итерацию, если в предыдущем способе формировать троичную память с непрерывной структурой, т.е. с отсутствием чередования активных и неактивных тритов. Для этого в процессе формирования структуры троичной памяти (от старших разрядов к младшим) при вычислении в данной координате первого неактивного трита относят к неактивным все сопоставляемые данной координате триты младших разрядов.
Инвариантное итеративное встраивание кодов сообщения по нескольким каналам
Для инвариантного встраивания сообщения в изображение его предварительно замещают своим гомоморфным, в частности, - изоморфным образом. При этом, даже при непрерывной структуре троичной памяти, идемпотентность встраивания, вообще говоря, утрачивается, но итеративное повторение встраивания обеспечивает сходимость результата к требуемому стего-изображению. Необходимым условием точного построения стего-изображения в сходящемся алгоритме преобразования, при котором оно перестает меняться, является упаковка по яркости гомоморфного гистограммного образа, которым замещают изображение перед встраиванием очередных кодов сообщения.
Итеративное робастное встраивание сообщения при доступном возмущении стего-изображения
При заранее известном и доступном возмущении стего-изображения, например, JPEG-преобразовании, встраивании сообщения имеющимся исполняемым программным модулем генерации возмущения стего-изображения, повышение робастности сообщения, встроенного согласно изобретению, достигается за счет циклического применения встраивания сообщения поочередно с возмущением. При этом точная сходимость результата итеративного встраивания сообщения вслед за возмущением, вообще говоря, нарушается, т.е. результатом итеративного применения по очереди обоих преобразований служит зациклившаяся последовательность стего-изображений, одно из которых выбирается в качестве результата встраивания.
Иными словами, при итеративном повторении цикла обработки в виде встраивания сообщения вслед за возмущением на некоторой итерации получается стего-изображение, которое совпадает с одним из ранее полученных стего-изображений. Далее при повторении обработки, очевидно, в замкнутой последовательности будут воспроизводится следующие стего-изображения. В качестве результирующего стего-изображения выбирается одно из стего-изображений указанной последовательности.
Примеры
Изобретение выработано в процессе программных экспериментов по неявному встраиванию сообщения в 8-битовые полутоновые и 24-битовые полноцветные изображения, обрабатываемые по цветовым компонентам как три независимых полутоновых изображения.
Основной целью работ являлось проверка технической осуществимости описанного в изобретении варианта троичной многоканальной памяти, а именно - возможности запоминания во всех ее активных тритах произвольных кодов многокомпонентного сообщения из нескольких независимых битовых плоскостей. При этом в качестве непременных условий встраивания сообщения в многоканальную память проверялось условие неизменности стего-изображения при повторном встраивании сообщения, и неизменность контейнера (произвольного изображения) при обратном встраивании в него предварительно извлеченного сообщения.
Дополнительной целью экспериментов являлось тестирование способа инвариантного встраивания в контейнер сообщения независимо от стандартных преобразований стего-изображения (упаковки, растяжения, эквидистантной нормировки по яркости и пр.).
При решении задачи встраивания в изображение произвольного сообщения в качестве последнего рассматривались варианты полутонового представления сообщения, порождаемого некоторой полутоновой матрицей с размерами, меньшими соответствующих размеров изображения. За счет периодического повторения битов полутоновой матрицы сообщения по координатам и яркостным диапазонам исключался случай достижения конца записываемого сообщения, однако, допускалось, что в зависимости от контейнера, некоторые биты представления сообщения не помещаются в контейнер и при чтении (а также при записи) считаются неопределенными.
Встраивание битов сообщения с повторениями выполнялось за счет геометрического повторения в поле изображения исходной полутоновой матрицы сообщения в целом, а также ее сдвига по яркости. При этом размеры бинарной матрицы сообщения и ее разрядность являются параметрами, которые необходимо указать при приеме.
Правильность вычислений, в частности, сходимость алгоритмов контролировалась при встраивании за счет непосредственного извлечения битов сообщения из стего-изображения и сравнения их значений с требуемыми.
Структура данных
Программная реализация изобретения, использующая три системы кодирования (в двоичной и троичной системах счисления, а также кодирование в промежуточной псевдотроичной системе) является достаточно сложной логической задачей, если представлять обработку в терминах преобразования исходных пикселей изображения. Программная реализация алгоритмов существенно упрощается благодаря использованию отлаженного модуля генерации и запоминания в псевдотроичной системе кодирования иерархии гистограммных образов, посредством которой вычисляются промежуточные и выходные матричные представления изображения. При этом основными матричными представлениями изображения, вычисляемыми по изображению, являются (в порядке приоритета вычислений):
- Представление изображения в виде изоморфного гистограммного образа, который задает иерархию (гомоморфных) гистограммных образов (формируется в псевдотроичной системе кодирования);
- Приближения изображения снизу и сверху, ограничивающие допустимые диапазоны варьирования яркости пикселей изображения;
- Структурное представление многоканальной троичной памяти, которое задает разделение тритов на варьируемые и фиксированные (формируется в двоичной системе счисления);
- Числовое представление многоканальной троичной памяти для хранения кодов сообщения и кодов фиксированных тритов (формируется в троичной системе счисления).
Кроме того, для фиксирования пикселей, модификация которых влечет искажение ранее встроенных тритов сообщения, используется массив удвоенных значений центральных яркостей диапазонов. В указанном массиве по мере вычисления каждого очередного разбиения шкалы яркости на шкале удвоенных значений яркости помечаются (текущим номером канала), и в зависимости от номера канала накапливаются суммарные значения граничных яркостей диапазонов.
Для экспериментального осуществления изобретения созданы варианты программы сокрытия суперпозиции битовых сообщений в варьируемых тритах многоканальной троичной памяти, вычисляемой для каждой из RGB-компонент изображения независимо от других компонент.
Экспериментальные результаты приводятся ниже.
Экспериментальные результаты
Результаты программных экспериментов демонстрируются на примерах встраивания сообщения в виде кодов полутонового изображения (Фиг.9) в контейнеры в виде стандартного полутонового изображения «Лена» размером 256×256 пикселей, а также полноцветного изображения размером 512×512 пикселей (Фиг.10).
Фиг.9 иллюстрирует исходное сообщение, в качестве которого взята последовательность рисованных цифр и прочих символов размером по 51х82 пикселей каждое, упакованных с наложением друг на друга в битовых плоскостях полутонового изображения. За счет периодического повторения картины сообщения по координатам и, при необходимости, по яркостным каналам встраивание кодов сообщения продолжается до заполнения объема многоканальной троичной памяти.
Фиг.10 иллюстрирует рассматриваемые полутоновой и цветовой контейнеры. Стандартное изображение «Лена» представлено слева, и изображение в цветовом варианте - справа, уменьшено.
Для простоты во все цветовые компоненты полноцветного изображения встраивается одно и то же сообщение, повторяющееся по цветам.
Базовое итеративное встраивание кодов сообщения по нескольким каналам и эффект непрерывной троичной памяти при идемпотентном встраивании
Фиг.11 демонстрирует результат адаптивного встраивания сообщения по базовому способу итеративного встраивания по нескольким каналам, число которых зависит от контейнера и обычно превышает число разрядов яркости в исходном изображении.
Во втором ряду на Фиг.11 показаны структурное и числовое представление многоканальной троичной памяти. Структурное представление многоканальной троичной памяти задает в битах двоичного представления амплитудных значений разделение тритов на активные и неактивные. При этом установленные биты структурного представления для каждого пикселя изображения задают активные, а неустановленные биты задают неактивные триты многоканальной троичной памяти. В случае непрерывной троичной памяти амплитудные значения пикселов каждой цветовой компоненты просто показывают количество сопоставляемых пикселам активных тритов - чем больше амплитудное значение, тем больше битов сообщения встраивается с наложением друг на друга в данный пиксел. Яркости числового представления троичной памяти, вычисленные в троичной системе счисления, указывают последовательность тритов, которая сопоставляется каждому пикселю изображения. По сравнению со структурным представлением числовое представление троичной памяти более похоже на стего-изображение и при определенных условиях (при инвариантном встраивании в изображение однородного сообщения в виде «чистого листа» из битов с одинаковыми значениями) с точностью до изоморфного преобразования совпадает с ним. Оба представления вычислены для исходного контейнера.
В компонентах встроенного сообщения серые пиксели обозначают биты сообщения, которые не помещаются в многоканальную память и вычисляются, как биты с неопределенным значением. В верхнем ряду на Фиг.11 показаны контейнер в виде полноцветного 24-битового изображения (слева) и стего-изображение (справа). Во втором ряду приведены структурное и числовое представления многоканальной троичной памяти (слева и справа, соответственно). Внизу на данном чертеже приведена последовательность обратимо встроенных битовых плоскостей сообщения.
Структурное представление на Фиг.11 вычислено без учета условия непрерывности многоканальной троичной памяти и содержит по R, G, B-компонентам, соответственно, 11, 13, 13 тонов (в непрерывном структурном представлении получается, соответственно 5, 4, 5 тонов). Для наглядности встраивания вычисления выполнены при разделении рабочего диапазона яркости посредством гистограммного образа всего в трех градациях амплитудной шкалы (μ=3) и единственном фиксированном старшем канале (f=1), который используется для задания адаптивно к контейнеру начальных положений яркости в остальных каналах. С увеличением значения μ или f встраивание перестает обнаруживаться.
На стего-изображении на Фиг.11 рисованные цифры, встроенные в старшие каналы, затирают цифры, встроенные в младшие каналы. Внимательно рассматривая изображение, можно различить две компоненты сообщения в виде рисованных цифр. Следует отметить, что современная теория обработки изображений, помимо сравнения с эталоном, не имеет очевидных подходов к решению задачи автоматического обнаружения участков изображения, где записанная в младшем канале цифра оказывается заметной. Модель многоканальной троичной памяти обеспечивает экспериментальное исследование фактов проявления на изображении информации сообщения из разных каналов и позволяет интерпретировать их в терминах распределения активных и неактивных тритов представлений многоканальной памяти по координатам, каналам и цветам, что представляет самостоятельный интерес для стеганографии, а также для моделирования и автоматизации зрительного восприятия.
Фиг.12 позволяет сравнить результаты обратимого встраивания сообщения при формировании структуры многоканальной троичной памяти с учетом и без учета условия непрерывности, на которой представлено влияние условия непрерывности троичной памяти на многоканальное встраивание сообщения при начальном разбиении рабочего диапазона с параметром (сверху вниз). Слева на чертеже иллюстрируются результаты итеративного встраивания сообщения при формировании троичной памяти без учета условия непрерывности, справа - результаты идемпотентного встраивания сообщения в многоканальную троичную память с непрерывной структурой.
Экспериментальные результаты по-прежнему приведены для единственного фиксированного канала (f=1), но нескольких начальных разбиений рабочего диапазона яркости изображения по μ=1,3, и 7 градациям шкалы гистограммного образа. Как показывает эксперимент, каналы троичной памяти при итеративном встраивании сообщения используются заметно эффективнее, что объясняется случайным распределением активных тритов младших разрядов по координатам, которое компенсирует пропуск битов встроенного сообщения из-за корреляции содержания сообщения и контейнера. Для обоих способов итеративного и идемпотентного встраивания сообщения характерен эффект «эха» старших каналов в младших каналах, при котором очертания встроенной в старший канал картины проявляются в линиях границ битов с неопределенным значением, обозначенным серым цветом. Указанный эффект несколько более выражен при идемпотентном встраивании в непрерывную троичную память и объясняется коррелированной информацией в различных каналах.
Объем встраивания
Результаты расчетов объема встраивания для стандартного полутонового изображения «Лена» при формировании многоканальной троичной памяти с учетом и без учета условия непрерывности приведены в таблице 2 для однородного сообщения, состоящего из всех одинаковых битов.
Экспериментальные данные по встраиванию однородного сообщения в стандартное изображение «Лена» (объем 64 Кб)
где: μ-максимальное число диапазонов начального разбиения шкалы яркости изображения; Ch -число каналов.
В таблице 2 рассматриваются характеристики многоканальной троичной памяти в зависимости от разбиения рабочего диапазона яркости на несколько начальных диапазонов посредством гистограммного образа в μ градациях амплитуды. Если под I{x} понимать число активных тритов, сопоставляемых в координате x пикселю изображения, то активный объем I многоканальной троичной памяти и максимальное число активных тритов tmax выразятся соотношениями:
tmax = I{x}
I = I{x} (бит),
Как следует из таблицы, объем встраивания, отождествляемый с активным объемом I, оценивается в 20-30%. Число каналов Ch может превышать разрядность (число бит) яркостей исходного изображения, которая в рассматриваемом случае равна 8. В общем случае, число активных тритов в ячейке многоканальной троичной памяти также может превышать разрядность исходного яркостного представления изображения.
Как показывают экспериментальные результаты, существенного снижения активного объема (общего числа бит сообщения и числа бит, задающих начальное состояние) не наблюдается, вероятно, из-за незначительной доли активных тритов, которые, в нарушение условия непрерывности, чередуются с неактивными тритами в младших разрядах многоканальной троичной памяти. Поскольку достигаемая при условии непрерывности идемпотентность встраивания сообщений увеличивает скорость выполнения программ и, главное, существенно упрощает логику программирования, непрерывность троичной памяти при теоретическом описании, вероятно, следует отнести к ее атрибутам.
Инвариантное встраивание кодов сообщения по нескольким каналам
Фиг.13 иллюстрирует инвариантное встраивание сообщения из наложенных друг на друга цифр в упакованные по яркости гистограммные образы стандартного изображения «Лена» размером 256х256 пикселей при непрерывной многоканальной троичной памяти и единственном фиксированном канале (f=1).
Результаты приведены для начальных значений параметра μ1=15, 31, 63, который ограничивает число возможных градаций яркости рассматриваемого гистограммного образа, и параметра μ=1, 3, 7, ограничивающего число независимых яркостных диапазонов, на которые формально разделяется рабочий диапазон яркости.
На Фиг.13 иллюстрируется многоканальное инвариантное встраивание сообщения в троичную память с одновременным снижением числа градаций яркости стего-изображения. Фиг.13 содержит две треугольные таблицы, составленные из изображений. Первая таблица (слева) составлена из стего-изображений, а вторая (в правом верхнем углу) - из встроенных сообщений, компонентами которых являются рисунки цифр, встроенных в различные каналы.
На осях отложены значения параметров μ1 = 15, 31, 63 (сверху вниз) и μ=1,3,7 (слева направо). Стего-изображения упорядочены в треугольную таблицу слева. В правом верхнем углу показана таблица соответствующих сообщений. Изображения эквидистантно нормированы по яркости на рабочий диапазон.
Крайнее верхнее стего-изображение, полученное при параметре μ1=15, имеет 8 градаций яркости, остальные в том же столбце - 14 и 20 градаций (при параметрах μ1=31 и μ1=63, соответственно). При переходе от представления к представлению вдоль главной диагонали число градаций в стего-изображении приблизительно удваивается.
Ограниченное число градаций в стего-изображениях позволяет убедиться в сохранении сообщения при стандартных яркостных преобразованиях (упаковке, растяжении и пр.) посредством системного редактора.
Характерно, что при переходе от представления к представлению вдоль нисходящей (главной) диагонали и согласованном изменении обсуждаемых параметров, содержащиеся в различных каналах компоненты сообщения и само сообщение практически не меняются. Однако при этом с увеличением параметров μ и μ1 видимые компоненты сообщения «теряются» в маскирующей картине, что полезно для управления встраиванием заданного сообщения. Оптимальное сокрытие сообщения достигается в граничном случае, когда сообщение фактически встраивается в самый младший канал.
Для изображений с достаточно большим числом каналов троичной памяти, ее младший канал удобно использовать для информации, сопровождающей факт сокрытия сообщения, например, в задачах контроля утечки информации, в том числе, скрытой в других каналах троичной памяти.
Пример итеративного робастного встраивания сообщения при доступном возмущении стего-изображения
При итеративном повторении встраивания сообщения оказывается возможным получить стего-изображение, которое устойчиво к предусмотренной модификации изображения. В частности, под модификацией стего-изображения может пониматься встраивание фиксированного сообщения «чужой» программой с неизвестным алгоритмом, работающей по принципу «черного ящика». В контексте общего применения представляет интерес робастное (устойчивое) встраивание сообщений относительно преобразования изображения в JPEG-формат и обратно, которое может обеспечиваться итеративным повторением процедуры модификации и встраивания в стего-изображение желаемого сообщения.
Проиллюстрируем эффект итеративного встраивания на примере однородного сообщения в стандартное изображение «Лена» при промежуточном воздействии на стего-изображение преобразования в JPEG-формат и обратно (со сжатием в 12 раз при значении управляющего параметра, равным 15).
Как показал эксперимент, алгоритм циклического преобразования изображения посредством встраивания сообщения по очереди с JPEG- преобразованием на третьем десятке итераций зацикливается. Однако, с практической точки зрения, можно считать, что предельное стего-изображение достигается, поскольку результирующая повторяющаяся последовательность содержит всего пару изображений, а циклические изменения яркостей при этом ограничены несколькими клеточными полями размером 8 x 8 пикселей.
Повышение устойчивости стего-изображения к JPEG-преобразованию посредством многократного повторения встраивания сообщения иллюстрируется Фиг.14. В верхнем ряду слева изображено начальное и справа - адаптированное к JPEG-преобразованию стего-изображение. В нижнем ряду слева изображена гистограмма яркостных изменений стего-изображения с однородным сообщением; справа - гистограмма яркостных изменений стего- изображения после многократного поочередного встраивания однородного сообщения по очереди с JPEG-преобразованиями.
Стандартное изображение с однократно и многократно встроенным однородным сообщением показано в представлениях на Фиг.14, соответственно, в верхнем левом и правом углах. Внизу приведены яркостные гистограммы разностных картин, полученных посредством редактора PhotoShop. Там же приведены результаты подсчета среднего и среднеквадратичного изменений яркости, которые за счет повторений встраивания сообщения убывают в несколько раз. При этом в результате многократного встраивания стего-изображение со встроенным однородным сообщением, которое не меняется при его повторном встраивании, практически не меняется также и под действием JPEG-преобразований.
Аналогичные результаты получаются и на других изображениях (в том числе - цветовых). При этом предельная последовательность циклически преобразуемых друг в друга представлений достигается обычно в пределах 100 итераций. При зацикливании результатов преобразования наблюдается стабилизация числа модифицируемых при записи сообщения активных тритов, которое удобно использовать при автоматическом установлении факта зацикливания.
Среда для реализации настоящего изобретения
Описание примерной рабочей среды для реализации настоящего изобретения является только одним примером подходящей вычислительной среды и не предназначено для наложения каких-либо ограничений на использование или функциональные возможности изобретения
Изобретение может быть описано посредством выполняемых компьютером программных модулей. Обычно программные модули включают в себя подпрограммы, программы, структуры данных и т.д., которые выполняют конкретные задачи. Кроме того, специалистам в данной области техники понятно, что изобретение может быть применено во множестве конфигураций компьютерных систем, включающих в себя портативные устройства, многопроцессорные системы, миникомпьютеры, универсальные компьютеры и т.п. Изобретение также может быть применено в распределенных вычислительных средах, с помощью выполнения операций удаленными обрабатывающими устройствами, которые соединены посредством сетей связи. В распределенной вычислительной среде программные модули могут быть расположены как на локальном, так и на удаленном запоминающем устройстве.
Пример системы для реализации изобретения включает в себя вычислительное устройство общего назначения в виде компьютера, включающего в себя процессор (средство обработки), системную память и системную шину, которая соединяет различные компоненты системы, включая системную память и процессор.
Компьютер обычно включает в себя множество считываемых компьютером носителей. В качестве примера, а не ограничения, считываемые компьютером носители могут включать в себя носители компьютерной памяти и коммуникационные носители. Примеры носителей компьютерной памяти включают в себя оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ), флэш-память или другие технологии памяти, ПЗУ CD-ROM, DVD или запоминающие устройства другого типа.
Компьютер может также включать в себя другие носители компьютерной памяти, например, накопитель на жестком диске, накопитель на магнитном диске, накопитель на оптическом диске и другие. Запоминающие устройства обычно соединены с системной шиной с помощью соответствующих интерфейсов, очевидных для специалистов.
Пользователь может вводить команды и информацию в компьютер посредством устройств (средств) ввода, например, клавиатуры, устройства указания, такого как мышь или сенсорная панель, средства приема входного радиосигнала и т.п. Другие устройства ввода могут включать в себя микрофон, джойстик, антенну, сканер и т.д. Эти и другие устройства ввода соединены с процессором посредством соответствующего интерфейса устройств ввода.
Устройство (средство) отображения также соединено с системной шиной через интерфейс, например видеоинтерфейс. Средство отображения может быть любым средством, отображающим выходные данные: монитором, жидкокристаллическим экраном, обычным телевизором или экранным проектором. Кроме средства (устройства) отображения, компьютер может также включать в себя другие периферийные устройства вывода, такие как принтер, которые могут быть соединены посредством интерфейса устройств вывода.
Компьютер в настоящем изобретении может работать в сетевой среде с использованием соединений с одним или более удаленными компьютерами. Соединения включают в себя локальную вычислительную сеть и глобальную вычислительную сеть, но могут также включать в себя другие сети, такие как Internet. Специалистам понятно, что такие компоненты и взаимные соединения являются хорошо известными.
Как упомянуто ранее, настоящее изобретение может быть описано посредством используемых компьютером программ выполнения операций. Используемые компьютером инструкции включают в себя функции, процедуры, подпрограммы, сегменты программ и модули, используемые одним или более компьютерами или другими устройствами. Используемые компьютером инструкции образуют интерфейс для того, чтобы дать возможность компьютеру реагировать в соответствии с входными данными. Инструкции взаимодействуют с другими сегментами программ, чтобы инициировать множество задач в ответ на данные, принятые вместе с источником принятых данных.
Однако настоящее изобретение также может быть реализовано посредством только компьютерного аппаратного обеспечения, например, реализуя блоки (средства) обработки в виде специализированных интегральных схем, на основе программируемых логических матриц и т.п., как очевидно специалистам в данной области техники.
Все возможные варианты осуществления изобретения в виде программных, аппаратных и программно-аппаратных средств охватываются формулой изобретения, и не ограничиваются каким-либо одним примером реализации.
Изобретение относится к области цифровой стенографии и, конкретнее, к области прямого, без спектральных преобразований, обратимого встраивания произвольных водяных знаков посредством квантования и модификации амплитудных значений сигнала в условиях, когда оригинальное изображение (контейнер) не доступно, а передаваемое сообщение не известно на приемном конце - технология слепого встраивания. Технический результат заключается в повышении эффективности сокрытия сообщений. Способ итеративного встраивания произвольных сообщений (битовых плоскостей) в цифровое изображение посредством последовательности изменений яркости пикселей изображения, встраивание в изображение каждой последующей битовой плоскости выполняют с учетом модификации изображения при встраивания предыдущих битовых плоскостей, встраивание первой битовой плоскости выполняют способом «одноканального встраивания», содержит этапы итеративного разделения шкалы яркости всего изображения на последовательные диапазоны, причем для каждого из диапазонов, полученных на одной из промежуточных итераций, определяют не изменяющуюся и варьируемую при встраивании сообщения компоненты изображения, и встраивания битов сообщения в пиксели варьируемой компоненты изображения посредством либо принятия значения яркости пикселя изображения в качестве пикселя, содержащего встраиваемое сообщение, либо зеркального отражения значения его яркости относительно центрального значения яркости для упомянутого диапазона, причем встраивание битовых плоскостей циклически повторяют до тех пор, пока получаемое стего-изображение при встраивании указанных битовых плоскостей не перестанет меняться. 2 н. и 3 з.п. ф-лы, 14 ил., 2 табл.
а) принимают изображение и подлежащее встраиванию сообщение в средство обработки из средства ввода для выполнения встраивания по одному каналу;
б) представляют биты сообщения в виде элементов матрицы, имеющих произвольные значения, большие или меньшие нуля, сопоставленные битам встраиваемого сообщения с ненулевым и нулевым значением, соответственно;
в) итеративно разделяют шкалу яркости всего изображения на последовательные диапазоны, причем каждый диапазон на каждой итерации:
разделяют либо на два диапазона с максимально близким друг другу количеством пикселей, либо на два диапазона с максимально близким друг другу количеством пикселей и выделением центрального диапазона, содержащего единственное значение яркости,
или
оставляют неизменным, если он содержит единственное значение яркости,
до получения множества диапазонов, содержащих по одному значению яркости;
г) для каждого из диапазонов, полученных на одной из промежуточных итераций, определяют пиксели изображения с максимальными и минимальными значениями яркости и пиксели с центральным значением яркости и относят такие пиксели к не изменяющейся при встраивании сообщения компоненте изображения, при этом для диапазонов с единственным значением яркости максимальные или минимальные, а также центральные, значения яркости принимают одинаковыми, а остальные пиксели относят к варьируемой компоненте изображения,
д) встраивают каждый бит сообщения в текущий пиксель варьируемой компоненты изображения посредством следующей операции:
принимают яркость пикселя в качестве пикселя, содержащего бит встроенного сообщения, если знак разности значения яркости этого пикселя и центрального значения яркости диапазона, которому принадлежит упомянутый пиксель, совпадает со знаком элемента матрицы, соответствующего встраиваемому биту сообщения, и
если упомянутые знаки не совпадают, пикселю изображения назначают значение яркости пикселя посредством зеркального отражения значения его яркости относительно центрального значения упомянутого диапазона,
е) принимают следующее сообщение, подлежащее встраиванию в следующий канал, и выполняют этапы б)-д) для встраивания этого сообщения в изображение, полученное на этапе д) после встраивания предыдущего сообщения, причем на этапе г) к не изменяющейся при встраивании сообщения компоненте относят также значения яркости пикселей, изменение которых изменяет значение бита ранее встроенного сообщения,
при этом встраивание сообщений выполняют до полной стабилизации изображения с встроенными сообщениями,
ж) выводят полученное кодированное изображение со встроенными сообщениями на средство вывода.
а) принимают изображение с встроенными сообщениями в средство обработки из средства ввода;
б) итеративно разделяют шкалу яркости всего изображения на последовательные диапазоны, причем каждый диапазон на каждой итерации:
разделяют либо на два диапазона с максимально близким друг другу количеством пикселей, либо на два диапазона с максимально близким друг другу количеством пикселей и выделением центрального диапазона, содержащего единственное значение яркости,
или
оставляют неизменным, если он содержит единственное значение яркости,
до получения множества диапазонов, содержащих по одному значению яркости;
в) определяют пиксели изображения с максимальными и минимальными значениями яркости и пиксели с центральным значением яркости и относят такие пиксели к не изменяющейся при встраивании сообщения компоненте изображения, при этом для диапазонов с единственным значением яркости максимальные или минимальные, а также центральные значения яркости совпадают, а остальные пиксели относят к варьируемой компоненте изображения,
г) извлекают из каждого текущего пикселя варьируемой компоненты изображения бит сообщения посредством следующей операции:
принимают значение бита сообщения равным 1, если разность значения яркости этого пикселя и центрального значения яркости диапазона, которому принадлежит упомянутый пиксель, больше нуля, и равным 0 в противном случае,
д) выполняют этапы б)-г) для извлечения следующего сообщения из изображения, полученное на этапе г) после извлечения предыдущего сообщения, причем на этапе в) к неизменяющейся компоненте относят также значения яркости пикселей, изменение которых изменяет значение бита ранее извлеченного сообщения,
при этом извлечение сообщений выполняют до исчерпания всех вложенных диапазонов яркости,
ж) выводят извлеченные сообщения на средство вывода.
СПОСОБ И УСТРОЙСТВО ОБНАРУЖЕНИЯ ВОДЯНОГО ЗНАКА ДЛЯ ОПРЕДЕЛЕННЫХ МАСШТАБОВ И ПРОИЗВОЛЬНЫХ СДВИГОВ | 1999 |
|
RU2208301C2 |
ИДЕНТИФИЦИРУЮЩЕЕ УСТРОЙСТВО С ЗАЩИЩЕННОЙ ФОТОГРАФИЕЙ, А ТАКЖЕ СРЕДСТВА И СПОСОБ АУТЕНТИФИКАЦИИ ТАКОГО ИДЕНТИФИКАЦИОННОГО УСТРОЙСТВА | 1999 |
|
RU2253148C2 |
US 6968072 В1, 22.11.2005 | |||
US 2003026447 А1, 06.02.2003 | |||
JP 2002190946, 05.07.2002. |
Авторы
Даты
2008-07-20—Публикация
2006-06-01—Подача