УДК 681.322
С.В. Беззатеев, Н.В. Волошина, К.А. Жиданов
Система формирования фингерпринта статических изображений с использованием взвешенной метрики Хэмминга и модели взвешенного контейнера
Рассматривается алгоритм вычисления фингерпринта для статических изображений с учетом значимости различных областей (компонент, элементов) изображения с точки зрения влияния вносимых в них искажений на восприятие полученного в результате изображения - модели взвешенного контейнера. Алгоритм использует в качестве базового компонента помехоустойчивые коды, совершенные во взвешенной метрике Хэмминга.
Ключевые слова: фингерпринтинг, цифровой водяной знак, модель взвешенного контейнера, коды во взвешенной метрике Хэмминга, совершенные коды, защита авторских прав.
При распространении цифровых мультимедиа данных особо актуальной является задача защиты авторских прав на такую информацию (DRM - digital right management). Для решения этой задачи используют методы цифровых водяных знаков (DWM - digital watermarking) и цифровых фин-герпринтов (DFP - digital fingerprinting) [1-5]. В первом случае для защиты в исходные мультимедиа-данные, например изображение, внедряется информация о владельце. Эта информация должна сохраняться при различных искажениях помеченного изображения, пока уровень его качества не упадет ниже некоторого порога. Второй подход подразумевает формирование некоторой дополнительной информации (фингерпринт) на базе исходного изображения с использованием специфических свойств изображения (например, опорных точек). Объем фингерпринта значительно меньше исходного изображения. Полученный фингерпринт используется для поиска копий изображений, незаконно распространяемых в сети. Метод построения фингерпринта должен обеспечивать его воспроизведение при различных искажениях исходного изображения до тех пор, пока они не достигнут определенного уровня.
Существенным различием этих методов является следующее.
При встраивании DWM часть мультимедиаданных меняется (например, метод LSB подразумевает изменения младших битов). А при построении DFP никаких изменений в исходный контейнер не вносится, а записывается только дополнительная информация об особенных свойствах изображения.
Встраиваемая при DWM-метка формируется пользователем и может иметь различный вид, по существу представляя собой некую информацию владельца. DFP получают на основе исходного изображения. Никаких пользовательских данных он не содержит.
В работе предлагается DRM метод, использующий оба подхода с использованием кодовых методов и модели взвешенного контейнера, позволяющий подготовить структуру исходного изображения (других мультимедийных данных) к дальнейшему формированию устойчивого цифрового фин-герпринта, при условии внесения минимальных искажений в исходные данные.
Описание предлагаемого метода. Основными задачами любой системы DRM является построение такого метода получения (добавления) данных об авторе, который будет устойчивым к различного рода искажениям до определенного их уровня (например, сильные визуально заметные искажения), внося минимальные искажения либо совсем не внося их в исходные данные.
Метод DFP не вносит искажений. Он базируется на выделении специальных свойств (характеристик) исходных данных с дальнейшей их фиксацией. Проблема метода заключается в том, что для некоторого класса данных такие свойства, обладающие устойчивостью к искажениям, трудно найти. В то же время требование абсолютного отсутствия искажений для этих данных не является актуальным (например, фотореалистические изображения).
Для таких данных можно использовать методы DWM. В этом случае информация об авторе (метка) внедряется в исходные данные (например, в изображение), внося при этом некоторые иска-
жения. Однако из-за несогласованности метки и структуры изображения не всегда удается произвести внедрение с приемлемым уровнем искажений.
В статье предлагается метод построения DFP по свойству наличия в изображении кодовых слов (концепция F5 [3]), а при их отсутствии - создания этого свойства, т.е. внесения искажений методом DWM [1, 4, 5]. Рассмотрим суть метода на примере статических изображений. Исходное изображение или его часть преобразуется в битовый поток. Этот поток разделяется на блоки а длиной n . Эти блоки рассматриваются как кодовые слова с некоего кода C, искаженные вектором ошибок е. Если блок а является кодовым словом с кода C, то e = 0 и синдром s = 0 , т.е. данный блок обладает требуемым свойством. Если s Ф 0 , то блок не обладает требуемым свойством и для его создания необходимо исправить ошибки, т.е. произвести декодирование а ^ с. Если использовать совершенные коды, то задача получения s = 0 для любого блока решается при внесении минимального числа ошибок [2], а следовательно, и искажений. Для минимизации вносимых искажений будем использовать несколько кодов, имеющих одинаковые параметры и построенных во взвешенной метрике Хэмминга. При таком подходе фингерпринтом будем считать полученную в результате декодирования последовательность кодов (Я-1,^2,—,...), кодовые слова Cj є Сі = T(L\ ,G\ ) которых являются
наиболее близкими к построенным по исходному изображению блокам aj ; r(L^. ,G^.) - соответствующим образом выбранный код Гоппы во взвешенной метрике Хэмминга [6].
Следует отметить, что поскольку при таком подходе используются коды, исправляющие ошибки, согласованные с взвешенной метрикой Хэмминга, то и формируемые из битового потока блоки должны иметь взвешенную структуру. Подобная задача решается при построении взвешенного контейнера при реализации метода WDWM (взвешенного цифрового водяного знака) [1]. Для построения взвешенных блоков необходимо предварительно разделить исходные данные (например, изображение) на несколько зон. Деление производится исходя из степени влияния искажений, происходящих в зоне, на результирующее качество (например, воспринимаемое качество изображения, значение PSNR и т.д.). Таким образом, блоки а формируются посредством комбинирования частей из различных зон, найденных в процессе построения взвешенного контейнера.
Обобщенна схема метода построения взвешенного фингерпринта приведена на рис. 1.
а, — с. © е,, (с, Є Г (1*\, • С;. ) )
Формирование
взвешенного
контейнера
Построение блоков а
Нахождение DFP (декодирование векторов а)
Cl С2 Ci
h h
Блоки а, равные кодовым словам
DFP
<4 = <4©et, (ct Є Г(і.Лі,СЛі)) а2 = с2®е2, (с2 Є Г(IVG;,))
Рис. 1. Обобщенная схема построения взвешенного фингерпринта для контейнера
с тремя зонами значимости
Коды во взвешенной метрике Хэмминга. Совершенные коды. Помехоустойчивые коды во взвешенной метрике Хэмминга [6] определяются следующим образом:
і
Длина кодового слова п задается набором длин щ,П2,...,Щ ,п = Хщ . Каждая позиция кодового
і=1
ны по возрастанию, т.е. Ю1 <Ю2 <••• <••• <®1. Вес слова а во взвешенной метрике Хэмминга оп-
ределяется следующим образом:
^ШНМ (а) = X ю і . аі ф0
Очевидно, аналогичным образом определяется расстояние Хэмминга во взвешенной метрике
11 112 11 1111211
Хэмминга между двумя векторами а = (а а2 ■■■ащ а2-..ащ ...аі ...ащ ) и Ь=(¿1¿2—ЬЬ2^Ьщ --Ь^ ..Ьщ ):
Для двоичных кодов во взвешенной метрике Хэмминга, как и для кодов в обычной метрике, можно выписать границу Хэмминга, связывающую параметры кода п,М, с1щ?им ■
Соответственно можно определить совершенный код, т.е. код, параметры которого лежат на этой границе. Для линейного двоичного кода это соотношение будет выглядеть следующим образом:
Совершенные коды во взвешенной метрике Хэмминга могут быть построены с использованием хорошо известных методов построения оптимальных кодов (например, граница Варшамова-Гилберта). Однако такой метод построения является вычислительно трудоемким и главное не дает конструктивного метода декодирования построенных таким образом кодов. Использование специальных классов кодов Гоппы во взвешенной метрике Хэмминга позволяет решить обе эти задачи.
Специальный класс кодов Гоппы для взвешенной метрики Хэммига. Для построения кодов Гоппы, согласованных с взвешенной метрикой Хэмминга, используется конструкция обобщенных (Ь,0) кодов с нумераторами позиций различных степеней [6]. То есть
Число различных кодов Гоппы из этого класса с одинаковыми параметрами (п, к, dцнм) определяется числом различных неприводимых многочленов степени т над [х].
Алгоритм вычисления фингерпринта на базе семейства кодов Гоппы, совершенных во взвешенной метрике Хэмминга Гцнм (п,к,d). Опишем здесь простейший вариант алгоритма
слова а = (о^ а?... а1 а? ...а2 ...а{...а1 ) имеет свой вес ш j. Будем считать, что эти веса упорядоче-
^нм (а,Ь) = X юі .
аі фЬ-
і=1
і=1
формальная производная соответствующего знаменателя и- (х),
<іе§ и- (х) = ю і и и- (х) - многочлен, не приводимый над —2™ [х]. Многочлен Гоппы для такого кода
задается неприводимым многочленом
0( х), 0( х) є —2™ [ х], deg 0( х) = т>а>1, (0( х),и\ (х)) = 1, У і: і = 1, щ .
вычисления фингерпринта для статических изображений, использующий различные по значимости области изображения и семейство кодов Гоппы, совершенных во взвешенной метрике Хэмминга.
Без потери общности будем рассматривать здесь статическое изображение, в котором определены три зоны значимости:
• Третья зона не предполагает внесения каких-либо искажений, т.е. Ю3 =<» .
• Вторая зона имеет относительный вес Ю2 вносимых искажений, равный 2.
• Первая зона позволяет вносить максимальное число искажений без существенных последствий для качества результирующего изображения и соответственно имеет минимальный относительный вес Ю1 = 1.
Для такого изображения выберем семейство кодов Гоппы, совершенных во взвешенной метрике Хэмминга Гцнм (п,к ,С), со следующими параметрами:
п = п1 + п2 = 22™-1 + 2т-1 -1, п1 = 2т, п2 = 22™-1 - 2т-1 -1, к = 22т-1 + 2т-1 - 2 т, Сцнм = 5.
Как указывалось в предыдущем разделе, число различных кодов в этом семействе определяется количеством неприводимых многочленов второй степени с коэффициентами из ОЕ(2т):
і /-)\_-)2т-1 п.т-1
1ОЕ (2т )(2) =2 2 .
Очевидно, что, так как рассматриваемые коды совершенные, то любой вектор а = (а1 а\... а1щ .. .а^), полученный из изображения при разбиении его на зоны, может быть представлен во взвешенной метрике Хэмминга следующим образом:
ц1 а2... ап1 а12 •. .^)=ц1 с2. < с12 •cЩ2)- ® (е1 е2—< е12 • • )-,
где (с1 с2 .^ . ..с^ )і є Г(Ц,ОіX wtWнм(е1 е2 .< е12 ■■■еп1 )і = {і - 2 .
Таким образом, используя при декодировании вектора а различные Г(Ц ,О-) коды семейства Г цнм (п,к ,С), мы будем получать векторы ошибки с различными весами 0 - Ц - 2.
Фингепринтом будем считать набор номеров А,1,А,2,...,А,^ кодов из семейства, соответствующих векторам, полученным из изображения при разбиении его на зоны следующим образом.
Вектору а = (а1 а\... а1щ а1 ...а^) поставим в соответствие наименьший номер X такого
Г(Ц,О-) кода, для которого полученный при декодировании вектор ошибки е = (е^ в12... в1^ е12 •eЩ2)г■ оказался наименьшего веса.
То есть X = Щіп/■: м^Цнм (в11 е2 . < е2 •вЩ2 )і = ЩІП ^шнм (в1 в\ . < в12 • • )і .
Тогда алгоритм вычисления фингерпринта на базе семейства кодов Г(Ц ,О[) описывается следующим образом:
1. Изображение разбивается на зоны различной значимости.
2. В соответствии с разбиением изображения формируются блоки и выбираются подходящие параметры семейства кодов.
3. Фингерпринт Х1,Х2,...,Хм формируется следующим образом:
Найденные векторы ошибок е = (ех е2... ещ е1 ■■■е)1 исправляются, и соответственно блоки
11 12 2
а = (а1 а2... ап а1 ...ап ) исходного изображения преобразуются в кодовые слова кодов Гоппы из
семейства Г^ЯМ (п,&, d). Например, первый блок превращается в кодовое слово 11 12 2
(С с2.сп С1 ...сп )еГ(£^1 ,Охг). Согласно описанному ранее алгоритму получения номеров Хг-,
искажения, вносимые при этом в исходное изображение, будут минимальны.
Проверка фингерпринта и его устойчивость к случайным и преднамеренным искажениям изображения. В соответствии с описанным алгоритмом создания фингерпринта Х1,Х2,...,Хя в обработанном в результате получения фингерпринта изображении Р имеется Я блоков
250 УПРАВЛЕНИЕ, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И ИНФОРМАТИКА
11 12 2
(С1 С2-..сп С1 ■■■Сп ). еГ(Ь}. ,0}),/ = 1,...,Я . То есть каждый такой блок является кодовым словом
соответствующего кода Гоппы из семейства Гщям (п,к, d). При проверке фингерпринта
Х1,^2,—,Хя для изображения осуществляется декодирование блоков а с использованием
Г(,0}) кодов, соответствующих фингерпринту, и если для любого блока синдром 5 = 0 , то фин-
герпринт считается соответствующим заданному, а изображение - равным Р .
Наличие несущественных искажений изображения Р может приводить к появлению ошибок в
этих блоках. То есть будем считать, что в искаженном изображении Р* имеются блоки
(Ь11 Ъ12...Ъ1 ъ1..ьп \ = (с11 4"Сис2-с2 ). ® (е11 е2 --^п е12.. ). = (С1 С2 ■■■‘п, С1 .. )г' ® (е1 е2-е!е12-еп2 )г',
«2 '12 Щ 1 «2 '12 Щ 1 «2 '12 Щ 1 П2 '12 Щ 1 «2
1-2 -2>
«1 1 «2
^ШЯМ(<! ). = -2
(С1 С2-'-Сщ С1 "Сп2) ,(С1 С2---Сщ С1 •••Сп2)г' еГ(^}г 0 ),. = 1,",Я.
Используя фингерпринт }1,}2,.,}я и искаженное изображение Р*, легко найти соответст-
л1 л1 л1 л2 л2
вующий вектор ошибки (<?1 е2-..еп (?1 ■■■еп ). и соответствующий ему вес wti . Очевидно, что при
небольших искажениях (с1 с1 ... с1 с2 .с2 ),■ = (С?,1 С\... С1 С? ..С ),■ и соответственно
4 1 2 п] 1 п2 1 2 п] 1 п2
(е1 е1 е1 е2 е2 ). = (е1 е1 е1 е2 е2 ).
(е1 е2 ■ ■ п е1 ■ ■ ■ еп2 )г = (е1 е2 ■ ■ п е1 ■ ■ ■ еп2 )г .
Я
Определим теперь штрафную функцию Е = Х wti • /м,1. В простейшем случае можно считать
г=1
весовые коэффициенты /щ е{/[,/2} штрафной функции одинаковыми и равными 1. Однако возможен и более гибкий вариант /1 ф /2, учитывающий природу искажений и их влияние на восприятие результирующего изображения, т.е. его качество.
Принятие решения о наличии данного фингерпринта в имеющемся изображении Р* осуществляется по значению штрафной функции Е и пороговым значениям В1 и В2, определяющим соответственно события «ложной тревоги» и «пропуска цели».
Заключение. Предложен новый метод вычисления фингерпринта, использующий особенности исходного контейнера, связанные с различной степенью его чувствительности к искажениям, вносимым в различных зонах контейнера. Для того чтобы воспользоваться таким свойством контейнера, предлагается применять для его описания взвешенную метрику Хэмминга в отличие от используемой в известных ранее схемах обычной метрики Хэмминга. Для эффективного использования такой метрики в работе предлагается брать семейство обобщенных кодов Гоппы, совершенных во взвешенной метрике Хэмминга. Благодаря использованию такого семейства кодов удается обеспечить внесение минимального числа искажений при создании фингерпринта. Кроме того, кодовые конструкции позволяют исправлять случайные искажения, возникающие при хранении или передаче контейнера. Открытым остается вопрос оптимального выбора коэффициентов в штрафной функции, обеспечивающих минимальные вероятности «ложной тревоги» и «пропуска цели» при принятии решения о наличии фингерпринта в анализируемом контейнере.
Работа выполнена при финансовой поддержке Минобрнауки РФ в рамках базовой части государственного задания СПбГУАП на 2014 год (проект № 2452).
Литература
1. Беззатеев С.В. Специальный класс кодов для стеганографических систем / С.В. Беззатеев, Н.В. Волошина, К.А. Жиданов // Доклады ТУСУРа. - 2012. - № 1 (25), ч. 2. - С. 112-118.
2. Neeta D. Implementation of LSB steganography and its evaluation for various bits / D. Neeta, K. Snehal, J. Daisy // Proc. of digital information management: 1st International conference. - India, 2006. -P. 173-178.
3. Westfeld A. F5-A steganographic algorithm high capacity despite better steganalysis / Information hiding. 4th International workshop. Lecture notes computer science. - 2001. - Vol. 2137. - P. 289-302.
4. Bezzateev S. Steganographic method on weighted container / S. Bezzateev, N. Voloshina, K. Zhidanov // Proc. of XIII Int. symposium on problems of redundancy in information and control system. -Saint-Petersburg, Russia, 2012. - P. 10- 12.
5. Anfinogenov S. Robust digital watermarking system for still images // S. Anfinogenov, V. Korshik, G. Morales-Luna // Proc. of Federated conference on computer science and information systems (FedCSIS). -Wroclaw, Poland, 2012. - P. 85-689.
6. Беззатеев С.В. Двоичные обобщенные ^^)-коды, совершенные во взвешенной метрике Хэмминга / С.В. Беззатеев, Н.А. Шехунова // Проблемы передачи информации. - 2012. - Т. 48, № 4. - С. 47-51.
Беззатеев Сергей Валентинович
Д-р техн. наук, зав. каф. технологий защиты информации
Санкт-Петербургского государственного университета аэрокосмического приборостроения (ГУАП) Тел.: 8 (812) 494-70-52 Эл. почта: [email protected]
Волошина Наталия Викторовна
Канд. техн. наук., доцент каф. технологий защиты информации ГУАП Тел.: 8 (812) 494-70-52 Эл. почта: [email protected]
Жиданов Константин Александрович
Ассистент каф. технологий защиты информации ГУАП
Тел.: 8 (812) 494-70-52
Эл. почта: [email protected]
Bezzateev S.V, Voloshina N.V., Zhidanov K.A.
The method of digital fingerprinting for static images based on weighted Hamming metric and on weighted container model
An algorithm of digital fingerprinting is proposed. The specific feature of this algorithm is that it takes into account different significance of different parts of the image according to their influence on the resulting image quality if any distortions have been occurred. The weighted container model is used for this purpose. This algorithm uses the ECC in weighted Hamming metric as a base approach.
Keywords: fingerprinting, digital watermarking, weighted container model, ECC in weighted Hamming metric, perfect codes, digital right management.