ОБНАРУЖЕНИЕ ВОДЯНЫХ ЗНАКОВ ПУТЕМ КОРРЕЛЯЦИОННОГО АНАЛИЗА ФОРМЫ
DETECTION OF WATERMARKS BY MEANS OF CORRELATION ANALYSIS OF SHAPE

Данное изобретение относится к обнаружению водяных знаков в информационном сигнале.
Маркировка водяными знаками представляет собой метод, в котором метка некоторого вида добавляется к информационному сигналу. Информационный сигнал, к которому добавляется водяной знак, может представлять файл данных, неподвижное изображение, видео, аудио или любой иной вид медиасодержания. Метка встраивается в информационный сигнал таким образом, что она не воспринимается при обычных условиях, чтобы она не портила информационный сигнал, к примеру водяной знак, добавляемый к аудиофайлу, не должен быть слышен при обычных условиях прослушивания. Однако водяной знак должен быть достаточно устойчивым, чтобы оставаться обнаруживаемым даже после того, как информационный сигнал подвергся обычным обработкам в процессе передачи, таким как кодирование или сжатие, модуляция и т.д.
Многие схемы маркировки водяными знаками применяют корреляцию в качестве метода обнаружения, при этом тестируемый сигнал коррелируется с сигналом, содержащим известный водяной знак. В этих системах присутствие водяного знака индицируется одним или несколькими пиками в результатах корреляции. Документ «A Video Watermarking System for Broadcast Monitoring» [Видео система маркировки водяными знаками для контроля вещания], Ton Kalker et al., Proceedings of the SPIE, Bellingham, Virginia vol. 3657, 25 January 1999, p. 103-112б раскрывает схему для обнаружения наличия водяного знака в содержании вещательного видеосигнала.
В большинстве приложений содержание водяного знака проходит различные операции обработки между пунктом, в котором встраивается водяной знак, и пунктом, в котором обнаруживается присутствие водяного знака. Общим примером обработки содержимого является сжатие с потерями, такое как кодирование MPEG. Как правило, обработка понизит корреляционные пики, появление которых ожидалось бы в обычном режиме в процессе обнаружения водяных знаков. Таким образом, качество метода обнаружения водяных знаков на основании нахождения корреляционных пиков значительно снижается.
Настоящее изобретение стремится предоставить усовершенствованный метод обнаружения водяного знака в информационном сигнале.
Соответственно первый объект настоящего изобретения предлагает способ обнаружения водяного знака в информационном сигнале, содержащий следующие этапы:
получают набор результатов корреляции путем коррелирования информационного сигнала с водяным знаком для каждого из множества относительных положений информационного сигнала относительно водяного знака;
анализируют набор результатов корреляции, чтобы идентифицировать кластер результатов корреляции, который превышает заранее заданное пороговое значение, причем этот кластер представляет возможный корреляционный пик.
Обнаружено, что обработка, которую испытывают многие информационные сигналы, может проявляться в размазывании корреляционного пика при попытке обнаружить водяной знак корреляционным путем. За счет идентификации кластеров с результатами корреляции подходящих размеров возможно идентифицировать содержание водяного знака, даже если обработка или иные агрессивные воздействия исказили качество водяного знака, снизив высоту корреляционного пика ниже порога, обычно используемого для обнаружения. Это улучшает качество обнаружителя водяного знака и выделения полезной информации водяного знака.
Способность обнаруживать водяные знаки, которые лишь в слабой степени присутствуют в элементе медиасодержания, обеспечивает также возможность более слабо встраивать водяной знак в содержание, благодаря чему снижается его различимость при проверке потенциальными мошенниками или снижается его восприимчивость при обычных условиях просмотра.
Предпочтительно, если этап анализа набора результатов корреляции идентифицирует множество кластеров с результатами корреляции, способ далее содержит этап, на котором обрабатывают кластеры, чтобы идентифицировать кластер, который с наибольшей вероятностью представляет правильный корреляционный пик. Эта обработка может быть сокращена для кластеров с результатами корреляции, а не для всего набора результатов корреляции. Это может значительно снизить требуемый объем вычислений, приводя к более быстрому анализу и более простым (и более дешевым) требованиям к обнаружителю.
Кластер результатов корреляции и значения этих результатов предоставляют информацию о форме корреляционного пика, что можно использовать для дальнейшего улучшения качества обнаружителя водяного знака. Форму пика можно лучше понять при просмотре результатов корреляции в виде графика, где значение корреляции откладывается как высота над базовой линией графика.
Описанные здесь функции можно воплотить программно, аппаратно или в виде их сочетания. Соответственно другой объект изобретения предлагает программное обеспечение для выполнения способа.
Понятно, что программное обеспечение может устанавливаться на главной машине в любой момент в течение срока службы оборудования. Программное обеспечение может сохраняться на электронном запоминающем устройстве, жестком диске, оптическом диске или ином машиночитаемом носителе данных. Программное обеспечение может доставляться в качестве компьютерного программного продукта на машиночитаемом носителе или может загружаться непосредственно в устройство по сетевому соединению.
Дополнительные объекты изобретения предлагают обнаружитель водяного знака для выполнения любого из этапов способа и устройство для представления информационного сигнала, который отвечает на выходной сигнал обнаружителя водяного знака.
Хотя описанные варианты осуществления ссылаются на обработку изображения или видеосигнала, понятно, что информационный сигнал может быть представляющим данные аудиосигналом или любым иным видом медиасодержания.
Варианты осуществления настоящего изобретения будут теперь описаны только посредством примеров со ссылками на сопровождающие чертежи, на которых:
Фиг.1 показывает известный метод встраивания водяного знака в элемент содержания;
Фиг.2 показывает приспособление для обнаружения присутствия водяного знака в элементе содержания;
Фиг.3 и 4 показывают таблицы результатов корреляции для использования в способе обнаружения;
Фиг.5 показывает набор данных результатов корреляции, построенных в виде графика, чтобы показать форму пиков;
Фиг.6 показывает устройство для представления содержания, которое включает в себя устройство обнаружения водяного знака.
На основании уровня техники и для понимания изобретения процесс встраивания водяного знака будет вкратце описан со ссылкой на фиг.1. Узор w(K) водяного знака строится с помощью одного или нескольких базовых узоров w водяного знака. Если водяным знаком должна переноситься полезная информация, используются несколько основных узоров водяного знака. Узор w(К) водяного знака выбирается согласно полезной информации - многоразрядного кода К, который подлежит встраиванию. Этот код представляется путем выбора нескольких базовых узоров w и сдвига их друг относительно друга на конкретное расстояние и конкретном направлении. Объединенный узор w(К) водяного знака представляет шумовой узор, который можно добавить к содержанию. Узор w(К) водяного знака имеет размер М×М битов и, как правило, намного меньше, чем элемент содержания. Следовательно, узор М×М повторяется (располагается мозаикой) 14 в узоре большего размера, который сопрягается с форматом данных содержания. В случае изображения узор w(К) располагается мозаикой 14 так, что он равен размеру изображения, с которым он объединяется.
Сигнал содержания принимается и буферизуется 16. В каждой пиксельной позиции извлекается 18 мера местной активности λ(Х) в содержании сигнала. Она дает меру различимости аддитивного шума и используется для масштабирования водяного знака в содержании, к примеру, области равной яркости в изображении. Коэффициент s общего масштабирования применяется к водяному знаку в перемножителе 22 и это определяет общую интенсивность водяного знака. Выбор s является компромиссом между степенью устойчивости, которая требуется, и требованием того, как водяной знак должен восприниматься. Наконец, сигнал W(К) водяного знака добавляется 24 к сигналу содержания. Результирующий сигнал со встроенным в него водяным знаком будет затем подвергаться различным этапам обработки как части обычного распространения этого содержания.
Фиг.2 показывает условную схему обнаружителя 100 водяного знака. Обнаружитель водяного знака принимает содержание, которое может быть помечено водяным знаком. В нижеследующем описании предполагается, что содержание является изображениями или видеосодержанием. Обнаружение водяного знака может выполняться для отдельных кадров или для групп кадров. Накопленные кадры разделяются на блоки размером М×М (например, М=128) и затем помещаются в буфер размером М×М. Эти начальные этапы показаны как блок 50. Данные в буфере затем подвергаются быстрому преобразованию Фурье 52. Следующий этап в процессе обнаружения определяет присутствие водяных знаков в данных, содержащихся в буфере. Чтобы обнаружить, включает ли в себя буфер узор W конкретного водяного знака, содержимое буфера и ожидаемый узор водяного знака подвергаются корреляции. Поскольку данные содержания могут включать в себя множество узоров водяных знаков, показаны несколько параллельных ветвей 60, 61, 62, причем каждая выполняет корреляцию с одним из базовых узоров W0, W1, W2 водяных знаков. Значения корреляции для всех возможных векторов сдвига базового узора Wi вычисляются одновременно. Базовый узор Wi (i=0, 1, 2) подвергается быстрому преобразованию Фурье (БПФ) (FFT) перед корреляцией с сигналом данных. Набор значений корреляции подвергается далее обратному быстрому преобразованию Фурье 63. Все подробности операции коррелирования описываются в патенте США № 6 505 223 В1.
Коэффициенты Фурье, используемые для корреляции, являются комплексными числами с действительной частью и мнимой частью, представляющими модуль и фазу. Обнаружено, что надежность обнаружителя значительно улучшается, если отбрасывается информация модуля и рассматривается только фаза. После поточечного перемножения и перед обратным преобразованием Фурье 63 может выполняться операция нормировки модуля. Работа схемы нормировки включает в себя поточечное деление каждого коэффициента на его модуль. Вышеприведенный метод именуется в целом как симметричная согласованная фильтрация только по фазе (SPOMF).
Набор результатов корреляции из вышеприведенной обработки сохраняется в буфере 64 и затем анализируется операцией 65 поиска кластеров. Помеченное водяными знаками содержание указывается присутствием пиков в данных результатов корреляции. Эти пики в высшей степени маловероятны в чистом гауссовском шуме. Набор результатов корреляции проверяется, чтобы идентифицировать пики, которые могут быть из-за водяного знака. Присутствие водяного знака может указываться острым изолированным пиком значительной высоты, хотя большинство изолированных пиков имеют свойство представлять ложные совпадения из-за шума. Наиболее вероятно, что пик из-за водяного знака будет размазан по нескольким соседним позициям в результатах корреляции. Описанный ниже алгоритм идентифицирует корреляционные пики потенциальных водяных знаков за счет поиска кластеров тесно размещенных точек значительной высоты. Цель состоит в нахождении кластера точек с чрезвычайно низкой вероятностью появления. Кластеризующий алгоритм формирует несколько кластеров точек, любой из которых может соответствовать действительному корреляционному пику. Вероятности этих кластеров сравниваются и предполагается, что кластер с наинизшей вероятностью является желательным корреляционным пиком. Этот алгоритм содержит следующие этапы:
ptsAboveThresh (точкиНадПорогом)
1. Установить пороговое значение и найти все точки в данных корреляции, которые имеют абсолютное значение выше порогового уровня. Все точки, отвечающие этому критерию, сохраняются в списке . Предлагаемое пороговое значение составляет 3,3σ (σ-среднеквадратическое отклонение результатов в буфере 64), хотя оно может быть установлено на любое предпочтительное значение. Предпочтительный диапазон составляет 2,5-4σ. Если пороговое значение устанавливается слишком низким, в списке должно храниться большое число точек, которые не соответствуют присутствию водяного знака. И наоборот, если это значение устанавливается слишком высоким, имеется риск того, что точки, соответствующие действительному, но размазанному пику, не будут добавлены в этот список.
2. Найти точку с наивысшим абсолютным значением.
3. Сформировать кластеры-кандидаты, т.е. кластеры корреляционных точек. Кластеры-кандидаты формируются путем сбора точек, которые не только имеют «значительную» величину (значение больше, чем порог), но которые также расположены очень тесно к по меньшей мере одной другой точке значительной величины. Это достигается следующим образом:
ptsAboveThresh
(i) Удалить первую точку из списка  и ввести ее в качестве первой точки р в новый кластер;
ptsAboveThresh
ptsAboveThresh
(ii) Провести в  поиск точек, которые находятся в пределах расстояния d от точки р, удалить все такие точки из списка  и добавить их к кластеру;
ptsAboveThresh
(iii) Взять следующую точку в кластере в качестве текущей точки р. Повторить этап (ii), чтобы добавить в список  все точки, которые находятся в пределах расстояния d от новой точки р;
ptsAboveThresh
(iv) Повторять этап (iii) до тех пор, пока  не будет обработан для всех точек в кластере;
(v) Если результирующий кластер состоит только из одной точки и эта точка не равна наивысшему пику, найденному на вышеуказанном этапе 2, то отбросить этот кластер;
ptsAboveThresh
(vi) Повторять этапы (i)-(v) до тех пор, пока  не будет пуст.
ptsAboveThresh
В конце этой процедуры все точки, первоначально введенные на вышеуказанном этапе 1 в , будут:
ptsAboveThresh
либо приписаны к кластеру, содержащему другие точки из списка , которые близки к ним,
либо отброшены, т.к. они не имеют соседей аналогичной высоты, а потому не являются частью кластера.
Кластеру разрешается содержать единственную точку, только если эта точка имеет наибольшую абсолютную высоту из всех точек в буфере корреляции. Это предотвращает отбрасывание острого неразмазанного пика, но предохраняет от использования других изолированных пиков, представляющих действительный шум.
Конечная стадия - обнаружение 66 действительного пика - определяет, какой из кластеров наиболее вероятно представляет действительный корреляционный пик из-за присутствия водяного знака. Имеются разные пути для достижения этого. Один метод, который описывается в совместно поданной заявке на патент, сравнивает форму кластера результатов с хранящимися данными, представляющими ожидаемую форму пика. Это сравнение может выполняться методом взаимной корреляции. Если имеется несколько кластеров-кандидатов, сравнение выполняется на каждом кластере-кандидате, и кластер, обнаруживающий наиболее тесное совпадение, выбирается в качестве кластера, представляющего действительный корреляционный пик.
Фиг.3 и 4 показывают некоторые примерные наборы корреляционных данных того типа, который вычислялся бы обнаружителем. В наборе данных, показанном на фиг.3, значения лежат в диапазоне между -3,8172 и 4,9190. Отметим, что водяные знаки могут встраиваться с отрицательной амплитудой. Наивысшее значение 4,9190 показано в рамке 130. Хотя оно ниже обычного порога обнаружения 5, наивысшее значение окружено другими корреляционными значениями аналогичной величины. Это указывает на пик, который размазан обработкой во время цепочки распространения. Следуя вышеописанной процедуре и устанавливая порог Т равным 3,3 и расстояние равным 1, можно найти, что значения корреляции в рамке 140 отвечают этому критерию. Следует отметить, что порог является абсолютной величиной, так что результаты -3,8172 и -3,4377 также включаются. Продвигаясь по процессу, результаты значительной величины все располагаются вблизи друг друга. Изолированная точка, показанная как точка 142, отбрасывается в ходе процесса, т.к. она не имеет соседних точек над порогом, и точка 142 сама по себе не является наивысшей точкой в буфере.
Для данных, показанных на фиг.4, значения лежат в диапазоне между -3,7368 и 10,7652. При том же самом критерии обнаружения только точка 160 превышает порог. Значение этой точки явно превосходит порог и, таким образом, считается, что она является действительным пиком. Из проверки соседних значений можно видеть, что она представляет острый корреляционный пик.
Когда действительный пик идентифицирован в одном или нескольких наборах корреляционных данных, происходит сопряжение различных наборов, чтобы найти вектор между узорами водяного знака, т.е. чтобы идентифицировать расстояние и направление, которые определяют сдвиг различных узоров w0, w1, w2 друг от друга. На конечном этапе 75 векторы, идентифицированные на предыдущем этапе 70, преобразуются в код, представляющий полезную информацию водяного знака.
Чтобы проиллюстрировать, что понимается под формой корреляционного пика, фиг.5 показывает набор данных с результатами корреляции, построенных в виде графика. В этом примере показан пик -4,23.
Если известно, что сигнал содержания вероятнее всего имеет форму конкретного корреляционного пика, порог, используемый на стадии 56, можно соответственно менять. К примеру, если известно, что корреляционный пик будет высоким и острым, порог можно установить высоким, тогда как если известно, что пик может быть уплощенным, порог можно понизить, чтобы не препятствовать исключению каких-либо результатов корреляции, представляющих действительный пик. Обработка, такая как сжатие с потерями, модуляция и кодирование, может сгладить или иным образом исказить форму корреляционного пика.
Встроенная информация, представленная как код К полезной информации, может идентифицировать, например, обладателя авторского права или описание содержания. При защите от копирования DVD она позволяет помечать материал как «единственная копия», «никакого копирования», «без ограничений», «больше не копировать» и т.п. Фиг.6 показывает устройство для извлечения и представления сигнала содержания, который хранится на носителе 200 данных, таком как оптический диск, запоминающее устройство или жесткий диск. Сигнал содержания извлекается блоком 201 извлечения содержания. Сигнал 202 содержания подается в блок 205 обработки, который декодирует данные и подает их для представления 211, 213. Сигнал 202 содержания подается также в блок 220 обнаружения водяного знака описанного ранее типа. Блок 205 обработки устроен так, что он позволяет обрабатывать сигнал содержания, только если в этом сигнале обнаруживается заранее заданный водяной знак. Управляющий сигнал 225, посланный из блока 220 обнаружения водяного знака, сообщает блоку 205 обработки, должна ли быть разрешена или запрещена обработка содержания, либо сообщает блоку 205 обработки любые ограничения копирования, связанные с содержанием. Альтернативно, блок 205 обработки может быть устроен так, чтобы разрешать обработку сигнала содержания, только если в сигнале не обнаружен заранее заданный водяной знак.
В вышеприведенном описании рассмотрен набор из трех водяных знаков. Однако понятно, что метод можно применять, чтобы найти корреляционный пик в данных содержания, несущих только один водяной знак, либо в данных содержания, несущих любое число из множества водяных знаков.
В вышеприведенном описании и со ссылками на чертежи описан обнаружитель 100 водяного знака, который обнаруживает водяной знак в информационном сигнале. Информационный сигнал коррелируется с ожидаемым водяным знаком Wi для каждого из множества относительных позиций информационного сигнала относительно водяного знака, чтобы получить набор результатов 64 корреляции. Эти результаты 64 корреляции анализируются, чтобы идентифицировать кластер результатов корреляции, который превышает пороговое значение, причем этот кластер представляет возможный корреляционный пик. Если идентифицируются множество кластеров, выбирается наиболее вероятный кластер для дальнейшей обработки, тогда как остальные кластера отбрасываются. Кластер результатов может идентифицировать корреляционный пик, который становится размазанным из-за обработки с потерями в ходе распространения информационного сигнала.