Код документа: RU2208301C2
Предпосылки создания изобретения
Область техники, к которой относится изобретение
Настоящее изобретение относится к области стеганографии, более конкретно к способу и к устройству обнаружения цифрового водяного знака.
Описание связанной техники
Совместные усилия между разработанными в последнее время способами сжатия данных, носителей данных большой емкости, Интернетом и другими каналами
распределения высокой пропускной способности почти повсеместно привели к цифровым носителям информации. Ввиду этих разработок технологии управления распределением, копированием и идентификацией
авторства и/или права собственности таких носителей информации получают большое значение и важность на рынке. В частности эффективное наблюдение за приведением в жизнь авторских прав в цифровых
носителях информации является сложной проблемой, прежде всего из-за характера самих носителей информации. Действительно, если не предпринимать предупредительных мер, то цифровые данные оказываются
легко и превосходно воспроизводимыми без потери точности воспроизведения.
Так называемые "цифровые водяные знаки" недавно привлекли внимание как одно из возможных в арсенале разработчика средств борьбы с нарушением авторского права (пиратством) или несанкционированным распространением или воспроизведением цифровых носителей информации, такой как видеоинформация. В общих чертах водяные знаки представляют собой сообщение, символ или любую отличительную отметку, которую прозрачно добавляют к видеосигналу с целью идентификации, является ли копия санкционированной автором содержания видеосигнала, его распространителем, владельцем, или аналогичную информацию. Процесс добавления отличительного сообщения, символа или отметки к цифровым носителям информации в общем называется процессом внедрения. Цифровые водяные знаки предпочтительно внедряются в цифровые носители информации (независимо от того, звуковые ли это сигналы, статические изображения или видеосигнал), чтобы представлять их невидимыми предполагаемой аудитории (как, например, кинозрителям) и надежно обнаруживаемыми соответствующими системами обнаружения. Вообще видимость и обнаружительная способность (обнаруживаемость) непосредственно связаны другом с другом: чем более видимым является водяной знак, тем с большей вероятностью он будет обнаружен. И наоборот, хорошо скрытый водяной знак может оказаться трудным для достоверного обнаруживания. Следовательно, обычно требуется достигать приемлемого компромисса между видимостью и обнаруживаемостью.
Для внедрения водяного знака в поток данных были предложены несколько способов. В случае потока видеоданных, например, каждый кадр видеосигнала может быть разделен на структуру блоков данного размера. Следовательно, каждый блок состоит из матрицы элементов изображения (пикселей), каждый из которых имеет ряд связанных с ним характеристик типа яркости, цветности и т.д. Преобразование можно выполнять на основании каждого блока. Например, на основании каждого блока каждого кадра потока видеоданных можно выполнить дискретное косинусоидальное преобразование (ниже называемое ДКП), дискретное преобразование Фурье (ниже называемое ДПФ) или некоторое другое преобразование. Такие преобразования образуют информацию, касающуюся спектрального состава потока видеоданных. После получения этой информации водяной знак или часть его можно внедрить в один или больше блоков путем оценки и избирательного изменения преобразованного блока элементов изображения, а затем применения обратного преобразования. Например, водяной знак или его часть можно внедрить в виде направленных нарушений одного или множества блоков. Например, путем избирательного нарушения элементов изображения преобразованного блока и после этого применения обратного преобразования водяной знак можно внедрить с низкой видимостью. Это возможно, потому что зрительные и слуховые системы человека не могут легко различать маленькие изменения в спектральном составе, делая возможным маскировать видеоинформацией данной частоты данные водяного знака на той же самой или соседней частоте.
Потоки видеоданных с водяными знаками часто масштабируют для приспосабливания различных форматов. Например, экраны в кинотеатрах обычно имеют пропорции приблизительно 16: 9, в том смысле, что экран в кинотеатре имеет приблизительно 16 единиц длины и 9 единиц ширины. С другой стороны, телевизионные экраны имеют соотношение геометрических размеров 4:3. Таким образом, видеосигнал, масштабированный для одного формата, часто требуется масштабировать для другого формата. Видеосигнал можно масштабировать в горизонтальном отношении и/или вертикальном отношении. На фиг.1 показан пример масштабирования блока видеоизображения с водяными знаками. Как показано на фиг.1, блок 16 на 16 (16х16) элементов изображения с водяными знаками видеоинформации, например в применениях цифровых видеодисков, можно масштабировать в горизонтальном отношении посредством коэффициента, например 4/3, так называемым масштабированием панорамирования и сканирования. После этого масштабированный блок с водяными знаками имеет вертикальный размер 16 элементов изображения и нецелочисленный горизонтальный размер 16*4/3, или 64/3.
Видеосигнал часто обрезают и сдвигают по тем же причинам, как описано выше, или совершенно по другим причинам, присущим, например, способам цифрового уплотнения и/или несанкционированным манипуляциям потоком видеоданных. Например, блок водяных знаков может не начинаться в начале первого блока видеосигнала, например из-за пропуска одной или больше строк или столбцов. Такие масштабирования, обрезка и сдвиг делают обнаружение водяных знаков более сложным. Действительно, данный поток видеоданных может быть подвергнут некоторой форме масштабирования и сдвигания, но точный используемый масштаб и величина сдвига блока водяных знаков могут быть неизвестными. Однако остается потребность надежного обнаружения внедренных водяных знаков.
Следовательно, необходимы устройства и способы для обнаружения водяных знаков, внедренных в потоки видеоданных, подвергнутых неизвестному масштабированию из числа заранее определенного и конечного количества известных масштабов. Необходимы также устройства и способы обнаружения водяных знаков в потоках видеоданных, подвергнутых произвольному сдвигу. Необходимы также устройства и способы обнаружения водяных знаков в потоках видеоданных, масштабированных неизвестным масштабным множителем и сдвинутых на неизвестное количество элементов изображения. Необходимы также устройства и способы для надежного установления масштаба и сдвига потока видеоданных с водяными знаками.
Краткое изложение сущности изобретения
Следовательно,
задачей настоящего изобретения является обеспечить устройства и способы обнаружения водяных знаков, внедренных в потоки видеоданных, подвергнутых неизвестному масштабированию из числа заранее
определенного и конечного количества известных масштабов. Другой задачей настоящего изобретения является обеспечить устройства и способы обнаружения водяных знаков в потоках видеоданных, подвергнутых
произвольному сдвигу. Еще одной задачей настоящего изобретения является обеспечить устройства и способы обнаружения водяных знаков в потоках видеоданных, масштабированных посредством неизвестного
масштабного множителя и сдвинутых на неизвестное количество элементов изображения. В соответствии с вышеупомянутыми задачами и целями, которые будут упомянуты и станут очевидными ниже, вариант
осуществления способа обнаружения водяного знака в потоке видеоданных с водяными знаками, где водяной знак масштабирован посредством неизвестного масштаба из числа заранее определенного конечного
количества масштабов, согласно настоящему изобретению содержит для каждого заранее определенного количества масштабов этапы, на которых
делят поток видеоданных на множество масштабированных
блоков водяных знаков с одинаковыми размерами;
считывают множество масштабированных блоков водяных знаков во множество блоков считывания;
накапливают каждый из множества блоков
считывания в один из заранее определенного количества бункеров блоков считывания;
осуществляют повторное масштабирование каждого из накопленных блоков считывания и объединение повторно
масштабированных накопленных блоков считывания в один суммарный блок видеосигналов; и
оценивают заранее определенную величину внутри суммарного блока видеосигналов.
Согласно дальнейшим вариантам осуществления заранее определенное количество бункеров блоков считывания можно определить каждым заранее определенным количеством масштабов. Масштабированные блоки водяных знаков могут иметь размер N*(IH/JH)хN*(IV/JV), где первоначальный водяной знак имеет размер NxN и где выражения (IH/JH) и (IV /JV) представляют собой уменьшенные части горизонтального и вертикального масштабов, соответственно, а заранее определенное количество бункеров блоков считывания может составлять IH для каждого горизонтального масштаба и IV для каждого вертикального масштаба. На этапе считывания могут считываться блоки считывания одинакового размера для каждого заранее определенного количества масштабов. Этап оценки может включать в себя этап преобразования суммарного блока видеосигналов, соответствующего каждому из заранее определенного количества масштабов, в частотную область. Этап преобразования может включать в себя этап применения ДКП к суммарному блоку видеосигналов, соответствующему каждому из заранее определенного количества масштабов. Заранее определенная величина может включать в себя, например, степень ДКП, а этап оценки может включать в себя этап выбора ДКП, которое имеет самую большую степень, ДКП, имеющее самую большую степень, указывающую на правильный масштаб водяного знака из числа заранее определенного количества масштабов, и правильный сдвиг водяного знака в блоках водяных знаков.
Настоящее изобретение
также можно рассматривать как способ обработки масштабированного потока видеоданных с водяными знаками, содержащий этапы, на которых
считывают блоки с водяными знаками из потока видеоданных в
блоки считывания равного размера;
осуществляют циклическое распределение последовательно считываемых блоков в один из заранее определенного количества бункеров считывания;
накапливают блоки считывания в каждом из бункеров считывания;
осуществляют повторное масштабирование и объединение каждого из накопленных блоков считывания в суммарный блок видеосигналов;
и
обнаруживают по меньшей мере присутствие водяного знака в суммарном блоке видеосигналов.
Заранее определенное количество бункеров считывания может быть связано с масштабом, применяемым к блокам водяных знаков. Применяемый к блокам с водяными знаками масштаб можно выразить как отношение I/J, где I и J являются взаимно простыми числами, и этап распределения может циклически распределять блоки считывания в I бункеров считывания. Этап распределения для каждого масштаба видеосигнала заранее определенного количества n масштабов видеосигнала формата In /Jn, где In и Jn являются взаимно простыми числами, может распределять каждый In-й блок считывания в одном и том же бункере считывания из числа заранее определенного количества бункеров считывания. Заранее определенное количество бункеров считывания может быть равным In. Этап обнаружения может включать в себя этап применения ДПФ или ДКП к суммарному блоку видеосигналов. Бункеры считывания могут быть областями памяти внутри запоминающего устройства, а этап распределения может включать в себя этап запоминания или накапливания последовательных блоков считывания в областях памяти. Каждый из бункеров считывания может соответствовать согласующимся сдвигам элементов изображения начал блоков считывания относительно начал блоков водяных знаков в потоке видеоданных. Этап обнаружения может включать в себя этап обнаружения сдвига водяного знака в блоках водяных знаков. Этапы считывания, распределения, накопления, повторного масштабирования, объединения и обнаружения можно выполнять для каждого предполагаемого масштаба из заранее определенного количества масштабов. Также можно выполнять этап выбора одного результата этапов обнаружения, результата, указывающего на правильные масштаб и сдвиг водяного знака в блоках с водяными знаками.
Согласно другому предпочтительному варианту осуществления,
настоящее изобретение представляет собой устройство обнаружения водяных знаков для обнаружения водяного знака в потоке видеоданных с водяными знаками, где водяной знак масштабирован посредством
неизвестного масштаба из числа заранее определенного количества масштабов, содержащее:
средство для извлечения из потока видеоданных множества масштабированных блоков водяных знаков с
одинаковыми размерами;
средство для считывания множества масштабированных блоков водяных знаков в множество блоков считывания;
средство для накапливания каждого из множества блоков
считывания в один из заранее определенного количества бункеров блоков считывания;
средство для повторного масштабирования каждого из накопленных блоков считывания и объединения повторно
масштабированных накопленных блоков считывания в один суммарный блок видеосигналов; и
средство для оценки заранее определенной величины внутри суммарного блока видеосигналов, соответствующей
каждому из заранее определенного количества масштабов.
Еще один вариант осуществления настоящего изобретения представляет собой способ обработки потока видеоданных с водяными знаками,
содержащий этапы, на которых
используют дробный остаток после операции деления для вычисления количества бункеров, в которых следует распределять части потока видеоданных; и
распределяют выбранные части потока видеоданных в выбранных бункерах из вычисленного количества бункеров.
Части потока видеоданных могут включать в себя блоки водяных знаков. На этапе использования можно применять операцию дробного остатка к каждому из множества предполагаемых масштабов потока видеоданных с водяными знаками. Бункеры могут включать в себя области памяти запоминающего устройства.
Краткое описание чертежей
Для дальнейшего понимания целей и преимуществ настоящего изобретения предлагается последующее подробное описание,
приведенное совместно с прилагаемыми чертежами, на которых:
На фиг. 1 изображено схематическое представление масштабирования блока 16х16 элементов изображения видеосигнала с водяными знаками
посредством горизонтального масштаба 4/3 для образования блока 16х64/3 элементов изображения видеосигнала с водяными знаками.
На фиг. 2 представлена блок-схема, иллюстрирующая ряд аспектов варианта осуществления способа согласно настоящему изобретению, с использованием пояснительного примера блока 16х16 водяных знаков, масштабированного горизонтальным коэффициентом 4/3.
На фиг.3 представлена блок-схема, иллюстрирующая накопление видеосигнала согласно варианту осуществления настоящего изобретения, с использованием пояснительного примера блока 16х6 водяных знаков, масштабированного горизонтальным коэффициентом 4/3.
На фиг.4 представлена блок-схема, иллюстрирующая дальнейшие аспекты настоящего изобретения, включающие этапы повторного масштабирования накопленных блоков и объединения накопленных блоков со сдвигом до обнаружения водяного знака, используя пояснительный пример блока 16х16 водяных знаков, масштабированного горизонтальным коэффициентом 4/3.
На фиг. 5 изображено схематическое представление масштабирования блока NхN элементов изображения видеосигнала с водяными знаками посредством как горизонтального масштаба "х-масштаба", так и вертикального масштаба "y-масштаба", чтобы образовать блок N*х-масштаб х N*y-масштаб элементов изображения видеосигнала с водяными знаками.
На фиг. 6 представлена блок-схема, иллюстрирующая ряд аспектов варианта осуществления способа обнаружения водяных знаков согласно настоящему изобретению, используя пояснительный пример, в котором блок NxN водяных знаков масштабирован горизонтальным коэффициентом "х-масштаба".
На фиг.7 представлена блок-схема, иллюстрирующая накопление видеосигнала согласно варианту осуществления настоящего изобретения, используя пояснительный пример, в котором блок NхN водяных знаков масштабирован горизонтальным коэффициентом "х-масштаба".
На фиг.8 представлена блок-схема, иллюстрирующая дальнейшие аспекты настоящего изобретения, включающие этапы повторного масштабирования накопленных блоков и объединения накопленных блоков со сдвигом до обнаружения водяного знака, используя пояснительный пример, в котором блок NхN водяных знаков масштабирован горизонтальным коэффициентом "х-масштаба".
На фиг.9 представлена графическая схема программы варианта осуществления настоящего изобретения для трех известных масштабов.
Описание предпочтительных вариантов осуществления
В настоящем изобретении используется процедура накопления
видеосигнала, чтобы обеспечить возможность обнаружения водяных знаков (и последующего расшифровывания полезной нагрузки водяного знака) в потоках видеоданных с внедренными водяными знаками,
подвергнутых неизвестному масштабированию и/или произвольному сдвигу элементов изображения. В контексте настоящего изобретения, термин "водяной знак" включает в свое определение какое-либо специально
скрытое сообщение, символ или другой артефакт (искусственный признак), который передает некоторую информацию, например, типа знаков права собственности или авторства, который разработан таким образом,
чтобы оказываться по существу невидимо скрытым в потоке данных. Для обнаружения водяных знаков в потоке видеоданных с внедренными водяными знаками требуется, чтобы блоки видеоинформации считывались из
потока и индивидуально или совместно оценивались на наличие или отсутствие водяного знака или водяных знаков. Однако, поскольку применяемый к потоку масштаб неизвестен, соответствующий размер блока
считывания также неизвестен. Настоящее изобретение решает эту проблему в соответствии с одним вариантом осуществления путем считывания и обработки потока видеоданных в блоках достаточного размера с
целью размещения блоков водяных знаков, масштабированных самыми большими из обычно используемых масштабов. Эту процедуру можно выполнять либо последовательно, либо параллельно. После выполнения
соответствующего настоящему изобретению способа обработки видеосигнала с водяными знаками для ряда различных масштабов выделяется самый интенсивный водяной знак, если он присутствует, при правильном
сдвиге и в правильном масштабе, причем правильный масштаб является масштабом, применяемым к водяному знаку в потоке видеоданных.
Теоретически возможно бесконечное количество масштабов, и настоящее изобретение является эффективным в обнаружении водяных знаков в потоке видеоданных, масштабированном посредством какого-либо масштабного коэффициента по горизонтальному и/или вертикальному размеру, данному достаточному периоду времени и/или вычислительной мощности. Однако на практике обычно используется только ограниченное количество масштабов, так как поддерживается только ограниченное количество форматов видеосигнала. Это позволяет настоящему изобретению сильно снизить количество различных масштабов, которые подлежат оценке, чтобы обнаружить внедренные в них водяные знаки точным и надежным способом. Однако должно быть понято, что настоящее изобретение не ограничено каким-либо конкретным размером масштаба или каким-либо конкретным количеством используемых в настоящее время масштабов.
На фиг.2, только для пояснительных целей, предполагается, что внедренные водяные знаки в первоначальный видеосигнал имеют размер блока 16х16 элементов изображения и что к нему применили горизонтальный масштаб 4/3 (один из известных масштабов, используемых в настоящее время). Следовательно, первоначальные блоки 16х16 с водяными знаками подверглись горизонтальному масштабированию 4/3, приводя, возможно, к перекрывающимся, но с равными размерами, блокам с водяными знаками, обозначенным как WB1-WB5, имеющим 16 элементов изображения в вертикальном направлении и 16*4/3 элемента изображения (64/3 элемента изображения или приблизительно 21,3 элемента изображения) в горизонтальном направлении. Следовательно, каждый видеокадр масштабированного и с внедренным водяным знаком видеосигнала делится на множество блоков 16х64/3. Чтобы обнаружить водяные знаки в масштабированном потоке видеоданных, необходимо считывать блоки, включая WB1-WB5 и все последующие блоки, не показанные на фиг.2. Однако невозможно считывать 21,3 элемента изображения. Следовательно, согласно настоящему изобретению выбран размер блока считывания 16х22 элемента изображения, как показано в блоках RB1, RB2, RB3, RB4 и RB5 считывания. Чтобы сохранять согласованность с первоначальным размером водяного знака 16х16, блоки RB1-RB5 считывания 16х22 элементов изображения (и все последующие блоки считывания, не показанные на фиг.2) начинаются каждые 16 элементов изображения. Следовательно, блоки RB1-RB5 считывания (и все последующие блоки считывания, не показанные на фиг.2) перекрывают друг друга. Перекрывающиеся блоки RB1-RB5 считывания показаны на разных линиях только для ясности.
Как показано на фиг.2, начало первого блока RB1 считывания выровнено с началом первого масштабированного блока WB1 водяного знака, и его смещение ОВ1 относительно WB1 при проверке является нулевым. Начало второго блока RB2 считывания начинается на расстоянии 16 элементов изображения от начала WB1 и, следовательно, смещено относительно WB1 на ненулевое относительное смещение ОВ2. Относительные смещения OB1, OB2, ... ОВn согласно настоящему изобретению являются дробными остатками от деления (n*16) на 64/3, где n=0, 1, 2, 3 . . . и где 64/3 является горизонтальным размером масштабированных блоков WB1, WB2, WB3 ... водяных знаков. Другими словами, относительные горизонтальные смещения ОВ1, OB2, ... ОВn (смещения начала блоков считывания относительно начала блоков водяных знаков) получают посредством оценки выражения (K*N)/(N*I/J)= K/(I/J), где N=16 только в этом примере, где К циклически равен 0, 1, 2, ... I-1 и где символ "*" обозначает операцию умножения.
Таким образом, в случае масштаба 4/3, как показано на фиг.2, относительное смещение ОВ1 равно нулю, потому что дробный остаток от деления 0*16 на 16*4/3 равен нулю. Тот же самый результат получают при оценке дробного остатка от выражения K/(I/J) для К=0, a I/J=4/3. Относительное смещение ОВ2 равно дробному остатку от деления 1*16 на (16*4/3) или 3/4. Таким образом, блок RB2 считывания начинается на расстоянии 16 элементов изображения от RB1 и смещается относительно начала WB1 на 3/4 горизонтального размера масштабированного блока WB1 водяного знака. Аналогично этому относительное смещение ОB3 равно дробному остатку от деления 2*16 на (16*4/3) или 1/2. Тот же самый результат получают, оценивая дробный остаток от выражения К/(I/J), где К= 2, а (I/J)=4/3. Таким образом, RB3 начинается на расстоянии 16 элементов изображения от RB2 и смещается относительно начала WB2 на 1/2 горизонтального размера масштабированного блока WB2 водяного знака. Точно так же относительное смещение ОВ4 равно дробному остатку от деления 3*16 на (16*4/3) или 1/4. Таким образом, RB4 начинается на расстоянии 16 элементов изображения от RB3 и смещается относительно начала WB3 на 1/4 горизонтального размера масштабированного блока WB3 водяного знака. Такой же результат получают посредством оценки дробного остатка от выражения К/(I/J), где К=3, а (I/J)=4/3.
Смещения от масштабированных блоков водяных знаков и, следовательно, коэффициент горизонтального размера масштабированного блока водяных знаков, который представляет эти смещения, затем циклически повторяется следующим образом. Как и смещение первого блока RB1 считывания, относительное смещение ОВ5 снова равно нулю, поскольку дробный остаток от деления 0*16 на (16*4/3) равен нулю. Таким образом, RB5 начинается на расстоянии 16 элементов изображения от RB4 и выравнивается с началом WB4. Точно так же относительное смещение ОВ6 (не показанное) можно показать равным 3/4, относительное смещение ОВ7 (не показанное) можно показать равным 1/2, относительное смещение ОВ8 (не показанное) можно показать равным 1/4, а относительное смещение ОВ9 (не показанное) можно показать снова выровненным со следующим блоком WB9 водяных знаков (не показанным). Относительные смещения ОВ6, RB7, RB8 и ОВ9 представляют части 3/4, 1/2, 1/4 и 0 горизонтального размера масштабированного блока водяных знаков, соответственно. Таким образом, можно видеть, что RB1, RB5, RB9, RB13 и каждый последующий четвертый блок считывания имеет нулевое смещение. Точно так же можно видеть, что RB2, RB6, RB10 и каждый последующий четвертый блок считывания будет иметь смещение 3/4 относительно горизонтальной длины блока водяных знаков, как показано на фиг.2. Аналогично этому RB3, RB7, RB11 и каждый четвертый последующий блок считывания будет иметь смещение 1/2, в то время как RB4, RB8, RB12 и каждый четвертый последующий блок считывания будет иметь смещение 1/4 относительно горизонтальной длины масштабированных блоков водяных знаков.
Соответственно блоки RB1, RB2, RB3... считывания фиг.2 можно классифицировать соответствующими ограниченному количеству относительных величин OB1, OB2, ОВ3... смещения. В случае горизонтального масштаба 4/3 существуют только четыре различных дробных остатка, соответствующих частям горизонтальной длины блоков водяных знаков 0, 3/4, 1/2 и 1/4, соответственно. Таким образом, блоки RB1, RB2, RB3... считывания можно организовать в четыре согласующихся по смещению 16х22 бункера блоков считывания или области памяти, где каждый бункер соответствует одному из возможных смещений, как показано на фиг.3. В соответствии с настоящим изобретением каждый кадр видеосигнала пересекается блоками считывания, причем каждый блок считывания добавляется к предшествующему блоку, имеющему такое же смещение, в определенном бункере блоков считывания, соответствующем соответственному смещению. Это накопление видеосигнала в определенных бункерах, соответствующих вычисленным смещениям, не подвергается влиянию какого-либо начального сдвига между водяным знаком и первым блоком считывания.
В соответствии с примером, показанным на фиг.3, блоки считывания, имеющие нулевое смещение, могут накапливаться в бункере 1 считывания, блоки считывания, имеющие смещение 3/4 относительно горизонтального размера масштабированного блока водяных знаков, могут накапливаться в бункере 2 считывания, блоки считывания, имеющие смещение 1/2 относительно горизонтального размера масштабированного блока водяных знаков, могут накапливаться в бункере 3 считывания, а блоки считывания, имеющие смещение 1/4 относительно горизонтального размера масштабированного блока водяных знаков, могут накапливаться в бункере 4 считывания. Согласно настоящему изобретению, каждый бункер считывания накапливает блоки, имеющие согласованный сдвиг. Таким образом, действие дробного остатка можно использовать для накопления блоков считывания, имеющих аналогичные смещения. В случае масштаба 4/3, как показано на фиг.2, блоки считывания циклически распределяются в 4 отдельных бункера.
Каждый бункер может соответствовать заранее определенной области памяти вычислительного устройства, а значения, соответствующие одной или более выбранным характеристикам элементов изображения, можно запоминать в заранее определенных областях памяти. Например, в качестве выбранной характеристики для накопления в бункерах блоков считывания можно выбирать значения яркости элементов изображения блоков считывания. Во время процесса накопления (то есть добавления), выбранная характеристика или характеристики соответствующих элементов изображения каждого накопленного блока в каждом бункере добавляются друг к другу. Поскольку видеосигнал обычно является относительно некоррелированным сигналом по сравнению с сигналом водяного знака, интенсивность водяного знака будет усиливаться по мере накопления блоков считывания, в то время как сам видеосигнал стремится по направлению к среднему уровню яркости.
С целью обеспечения возможности выборочной обработки блоков на этом этапе обработки можно также задавать критерии фильтрации. Такая выборочная обработка блоков обеспечивает возможность накопления только тех блоков считывания, которые пропускаются данным критерием. В соответствии с одним таким способом выборочной обработки блоков критерий, используемый для обнаружения водяного знака, согласуется с критерием, используемым для определения блоков, в которые следует внедрять водяной знак во время процесса внедрения водяных знаков. Такой способ выборочной обработки блоков обеспечивает возможность выгодного снижения видимости водяного знака без влияния на очевидную интенсивность сигнала водяного знака во время его обнаружения. Способы и устройства для такой выборочной обработки блоков раскрыты в находящейся в процессе одновременного рассмотрения и принадлежащей тому же правопреемнику К. Куровскому (K. Kurowski) заявке на патент США с регистрационным номером 09/ххх ххх, зарегистрированной, 1998 г., раскрытие которой включено здесь полностью путем ссылки.
При накоплении достаточно большого количества блоков считывания в каждом из бункеров блоков считывания накопленные блоки считывания могут быть повторно масштабированы, отрегулированы в отношении дифференциального смещения, объединены в единый блок и масштаб и сдвиг обнаруженного водяного знака. Впоследствии структура обнаруженного водяного знака может быть оценена, например, для дешифровки его скрытого сообщения. Как показано на фиг.4, блоки считывания теперь организованы в четыре бункера блоков считывания, где каждый бункер принимает и накапливает блоки считывания, имеющие одно и то же смещение. Каждый из бункеров 1-4 блоков считывания теперь повторно масштабируется величиной 3/4 (обратная величина первоначального масштаба 4/3) для образования повторно масштабированных блоков 410, 420, 430 и 440 считывания 16х16 элементов изображения. Затем каждый из повторно масштабированных блоков 410, 420, 430 и 440 считывания 16х16 элементов изображения объединяется посредством сдвига в один повторно масштабированный суммарный блок 450 видеосигналов размером 16х16 элементов изображения. Действительно, выбранная характеристика или характеристики соответствующих элементов изображения каждого из повторно масштабированных блоков 410, 420, 430 и 440 считывания складываются вместе, чтобы образовать один повторно масштабированный суммарный блок 450 видеосигналов размером 16х16 элементов изображения.
Описанная выше процедура согласно настоящему изобретению выполняется, предпочтительно, параллельно для каждого рассматриваемого масштаба. Настоящее изобретение обеспечивает возможность обнаружения водяных знаков в потоках видеоданных, масштабированных неизвестным масштабным множителем. Однако, как правило, известны масштабы, которые обычно используются для видеосигнала. Эти масштабы, которые обычно используются, составляют конечную совокупность известных масштабов. Следовательно, не будет слишком обременительным проверить поток видеоданных относительно каждого из этих обычно используемых масштабов описанным выше способом. Согласно настоящему изобретению исследование потока видеоданных относительно каждого из обычно используемых масштабов произведет один повторно масштабированный суммарный блок видеосигналов для каждого из рассматриваемых масштабов. Затем алгоритм обнаружения можно прогонять для каждого повторно масштабированного суммарного блока видеосигналов типа показанного на фиг.4 повторно масштабированного суммарного блока 450 видеосигналов размером 16х16.
Однако настоящее изобретение не ограничено каким-либо конкретным типом алгоритма обнаружения. Например, алгоритм обнаружения может преобразовывать каждый из суммарных блоков видеосигналов из пространственной в частотную область для обнаружения водяного знака и установления масштаба и смещения, применяемых к блокам водяных знаков. Например, двухмерные (2-D) преобразования ДКП можно вычислять для каждого из повторно масштабированных суммарных блоков 450 размером 16х16. В этом случае для каждого суммарного блока 450 размером 16х16 требуется выполнить 256 (16*16) преобразований ДКП, по одному для каждого возможного смещения водяного знака внутри блока 450. Действительно, из-за возможной потери строк и/или столбцов вследствие алгоритмов обрезки, сжатия и/или другого цифрового манипулирования блок водяных знаков может начинаться не в начале суммарного блока 450 видеосигналов, а может быть сдвинут на неизвестное количество элементов изображения. По этой причине необходимо вычислять 256 преобразований ДКП в каждой из 16х16 матриц блоков 450, начиная каждое из 256 преобразований ДКП на другом начальном элементе изображения в каждом из суммарных блоков 450 видеосигналов. Таким образом, если рассматриваются три масштаба, будет получено три различных суммарных блока 450 видеосигналов размером 16х16. Для каждого из этих суммарных блоков 450 видеосигналов должны выполняться 256 преобразований ДКП, с общим количеством 768 преобразований ДКП. Если предположить, что в каждом из бункеров блоков считывания для каждого рассматриваемого масштаба накоплено одинаковое количество блоков считывания, тогда водяной знак наиболее вероятно проявляется сильнее всего в этом повторно масштабированном суммарном блоке 450 видеосигналов, который имеет самую большую степень ДКП. Следовательно, ДКП среди 768 таких преобразований ДКП, имеющее самую большую степень, одновременно показывает масштаб и сдвиг водяных знаков, которые использовались в блоках водяных знаков. Действительно, имеющее максимальную степень ДКП будет присутствовать в том суммарном блоке 450 видеосигналов, который соответствует правильному масштабу, и в том местоположении внутри этого блока 450, которое соответствует правильному сдвигу. Это происходит потому, что видеосигнал при рассмотрении во времени и пространстве (достаточное количество или блоки считывания), в общем, является в широком смысле стационарным сигналом. С другой стороны, сигнал водяного знака может быть неизменяющимся (хотя и слабым) сигналом, который скрыт в потоке видеоданных. Таким образом, после накопления сигнал водяного знака усилится, в то время как некоррелированный видеосигнал будет ослаблен, проявляясь, например, как среднее серое изображение. Следовательно, посредством идентификации повторно масштабированного суммарного блока 450 видеосигналов, имеющего ДКП, демонстрирующее самую большую степень, будут обнаружены водяной знак и правильные масштаб и сдвиг.
Настоящее изобретение не ограничено суммарными блоками 450 видеосигналов, имеющими размер 16 элементов изображения на 16 элементов изображения. Можно использовать меньшие или большие размеры блоков, причем большие размеры блоков ведут к более эффективному кодированию, но увеличению вычислительной сложности преобразования.
Приведенное выше раскрытие, с пояснительными целями, показано для определенного случая блока считывания 16х22 элементов изображения и блока водяных знаков, имеющего горизонтальный масштаб 4/3. Однако способ согласно настоящему изобретению может легко быть обобщен для блоков с водяными знаками любого размера, масштабированных любым масштабом и сдвинутых внутри блоков водяных знаков на любое произвольное количество элементов изображения. Действительно, полагая, что х-масштаб является одним возможным горизонтальным масштабом, а y-масштаб является одним возможным вертикальным масштабом (настоящее изобретение в равной степени применимо к вертикальному и/или горизонтальному масштабам), в таком случае х-масштаб можно представить как IH/JH, а y-масштаб можно представить как IV /JV, где (IH, JH) - взаимно простые числа и где (IV, JV) - также взаимно простые числа. Если предполагается, что первоначальный размер блока водяных знаков равен NxN элементов изображения, что означает, что блок водяных знаков имеет N элементов изображения в горизонтальном направлении и N элементов изображения в вертикальном направлении, то масштабированные блоки водяных знаков имеют размеры (N*х-масштаб)x(N*y-масштаб), как показано на фиг. 5, и это выражение является эквивалентным выражению (N*IH/JH)x(N*IV/JV). Для простоты последующее описание изложено для общего случая, в котором блок водяных знаков масштабирован только в горизонтальном направлении, однако следует понимать, что настоящее изобретение легко применимо к масштабам в любом или обоих, и горизонтальном, и вертикальном направлениях.
Для гарантирования, что весь блок водяных знаков может содержаться в блоке считывания, блок считывания согласно настоящему изобретению, предпочтительно, имеет размер N x int(N*х-масштаб+1), где "int" - математическая усеченная целая функция. Следовательно, при рассмотрении только горизонтальных масштабов размер или кванты (величины) блока считывания могут быть равны N x int((N*IH/JH)+1). Начало каждого последующего блока считывания предпочтительно увеличивается на N элементов изображения относительно начала предыдущего блока считывания. Однако горизонтальное начало блоков считывания относительно блоков водяных знаков предпочтительно является дробным остатком от деления (Сдвиг + K*N) на (N*IH/JH). Это эквивалентно дробному остатку выражения ((Сдвиг/N)*IH/JH+K*IH /JH)), где "Сдвиг" обозначает начало водяного знака в блоке считывания и где К циклически равен (0, 1, 2, ..., IH-1). Если IH и IH взаимно простые числа, то длина цикла остаточных членов будет точно составлять IH, поскольку дробный остаток от деления выражения ((Сдвиг/N)*JH/IH) равен дробному остатку от ((Сдвиг/N)*JH/IH+IH*JH/IH), так как JH является целым числом. Следовательно, бункеры IH блоков считывания достаточны для накопления блоков считывания с размером N x int (N*IH/JH+1) так, чтобы блоки водяных знаков, накопленные в каждом бункере, имели одно и то же смещение.
Блоки считывания предпочтительно достаточно большие для того, чтобы гарантировать, что масштабированный водяной знак полностью содержится в них для любых из рассматриваемых масштабов. Также можно использовать меньшие блоки считывания, хотя лучший результат (наиболее надежное обнаружение) будет получен, когда бункеры считывания IH достаточно большие, чтобы разместить весь масштабированный водяной знак. Следовательно, максимальный предпочтительный размер блоков считывания может составлять int(N*макс Y-масштаб + 1) x N в случае, когда рассматриваются только вертикальные масштабы, N x int(N*макс Х-масштаб + 1) в случае, когда рассматриваются только горизонтальные масштабы, или int(N*макс Y-масштаб + 1) x int(N*макс Х-масштаб + 1) в случае, когда рассматриваются и вертикальные, и горизонтальные масштабы, где макс Х-масштаб и макс Y-масштаб - масштабы максимальных рассматриваемых размеров в направлениях х и y, соответственно.
Как показано на фиг.6, поток видеоданных разделен на множество n блоков водяных знаков, обозначенных WBl-WBn. Блоки водяных знаков в случае горизонтального масштабирования имеют размеры NхN*х-масштаб или N x N*IH/JH. Блоки считывания RBl-RBn имеют габариты N x int(N*х-масштаб + 1) для гарантирования, что будет считан весь блок водяных знаков, вплоть до рассматриваемых масштабированных водяных знаков максимального размера. Блоки считывания RBl-RBn смещены относительно друг друга на N элементов изображения и смещены относительно их соответствующих блоков WBl-WBn водяных знаков на дробный остаток от деления K*N на (N*х-масштаб), где К циклически равняется величинам (0, 1, 2, ... IH-1). Например, в случае горизонтального масштаба 4/3, обсуждавшегося относительно фиг. 2, К циклически равняется величинам 0, 1, 2, 3, 0, 1, 2, 3, 0 ... Таким образом, как показано на фиг. 6, RB1 выравнивается с WB1, а относительное смещение ОВ1 является дробным остатком от деления K*N на (N*х-Масштаб), где К=0. RB2 представляет смещение от WB1 на дробный остаток от деления K*N на (N*х-Масштаб), где К=1. Начала последующих блоков считывания смещены от начал блоков водяных знаков таким же образом, пока К не становится равным IH-1, после чего К возвращается обратно к 0 для следующего блока считывания.
Возвращаясь теперь к примеру, в котором рассматриваемый масштаб представляет собой горизонтальный масштаб IH/JH, где блоки считывания могут быть благоприятно организованы, используя описанную выше операцию дробного остатка, в соответствии с их смещениями относительно блоков водяных знаков, причем здесь имеется только конечное количество IH таких смещений. Следовательно, как показано на фиг.7, блоки считывания могут быть организованы в IH отдельных бункеров, каждый из которых может быть, например, обособленной областью памяти вычислительного устройства и каждый соответствует одному из IH смещений горизонтального начала блоков считывания относительно горизонтального начала блоков водяных знаков, продолжая текущий пример горизонтального масштаба. Значения, соответствующие одной или более выбранным характеристикам элементов изображения, могут запоминаться внутри IH бункеров блоков считывания. Например, в качестве выбранной характеристики для накопления в бункерах блоков считывания можно использовать значения яркости элементов изображения блоков считывания. Во время процесса накопления (то есть добавления) выбранная характеристика или характеристики соответствующих элементов изображения каждого суммарного блока внутри каждого из IH бункеров блоков считывания будут добавляться друг к другу. Поскольку видеосигнал, в общем, является относительно некоррелированным сигналом по сравнению с сигналом водяного знака, интенсивность водяного знака будет усиливаться, в то время как сам видеосигнал будет стремиться к средней шкале яркости.
Количество блоков считывания, которые должны быть накопленными в каждом из IH бункеров блоков считывания до выполнения алгоритма обнаружения, изменяется в соответствии с
интенсивностью сигнала внедренного водяного знака в потоке видеоданных. Следует отметить, что интенсивность водяного знака можно уменьшить посредством разумного выбора блоков, в которые следует
внедрять водяные знаки, используя, например, способ обработки выбранных блоков, изложенный в
вышеупомянутой заявке на патент, принадлежащей Куровскому (Kurowski).
Как показано на фиг.8, блоки считывания теперь организованы в IH бункеров блоков считывания, каждый из которых принимает блоки считывания, имеющие одно и то же смещение. Затем каждый из бункеров блоков считывания повторно масштабируется посредством JH/IH (обратная величина первоначально рассматриваемого масштаба IH/JH) с целью создания повторно масштабированных блоков 810, 820, 830. . . 840 считывания NxN элементов изображения. Затем каждый из повторно масштабированных блоков 810, 820, 830...840 считывания NxN элементов изображения регулируется в отношении смещения и объединяется в один суммарный блок 850 видеосигналов повторно масштабированных блоков N x N элементов изображения, используя, например, одномерные аффинные преобразования. Действительно, выбранная характеристика или характеристики соответствующих элементов изображения каждого повторно масштабированного блока 810, 820, 830... 840 считывания объединяются вместе для образования одного суммарного блока 850 видеосигналов повторно масштабированных блоков N x N элементов изображения посредством линейных отображений, используя, например, фильтр интерполяции повторной выборки.
Затем описанная выше процедура согласно настоящему изобретению повторяется для каждого рассматриваемого масштаба с целью получения одного суммарного блока 850 видеосигналов блоков N x N элементов изображения для каждого рассматриваемого масштаба. Настоящее изобретение обеспечивает возможность обнаружения водяных знаков в потоках видеоданных, подвергнутых масштабированию неизвестным масштабным множителем. Однако, обычно известно, которые масштабы в общем используются для видеосигнала. Обычно используемые масштабы составляют конечную совокупность известных масштабов. Следовательно, не слишком обременительно проверить поток видеоданных относительно каждого из этих обычно используемых масштабов описанным выше способом. Поэтому согласно настоящему изобретению испытание потока видеоданных относительно каждого из обычно используемых масштабов создает один повторно масштабированный суммарный блок 850 видеосигналов для каждого из рассматриваемых масштабов. Теперь алгоритм обнаружения можно прогонять для каждого из показанных на фиг.8 суммарных блоков 850 видеосигналов повторно масштабированных блоков N x N элементов изображения. Однако настоящее изобретение не ограничено каким-либо конкретным типом алгоритма обнаружения. Например, в алгоритме обнаружения можно использовать преобразования ДКП или ДПФ для обнаружения водяного знака и установления масштаба и любого сдвига, который, возможно, применялся к водяному знаку в блоках водяных знаков.
Например, для каждого из суммарных блоков 850 видеосигналов повторно масштабированных блоков N x N элементов изображения можно вычислить 2-мерные преобразования ДКП. В этом случае для каждого суммарного блока 850 N x N элементов изображения требуется провести N*N отдельных преобразований ДКП, по одному ДКП для каждого возможного смещения водяного знака в суммарном блоке 850 видеосигналов. Действительно, из-за возможной потери строк и/или столбцов, вызванной алгоритмами обрезки, сжатия и/или другой цифровой обработки, блок водяных знаков может начинаться не в начале суммарного блока 850 видеосигналов, а может быть смещен в нем на неизвестное количество элементов изображения. По этой причине в том варианте осуществления настоящего изобретения, в котором используются преобразования ДКП в качестве этапа механизма обнаружения, необходимо провести вычисления N*N преобразований ДКП в каждом из суммарных блоков 850 видеосигналов N x N элементов изображения, начиная каждое из N*N преобразований ДКП на другом начальном элементе изображения внутри суммарного блока 850 видеосигналов NxN элементов изображения.
Таким образом, если рассматриваются три масштаба, будут получены три различных суммарных блока 850 видеосигналов N x N элементов изображения. Для каждого из этих суммарных блоков 850 видеосигналов можно выполнить N*N преобразований ДКП с общим количеством 3*N*N преобразований ДКП. Полагая далее, что в каждом из бункеров блоков считывания накоплено одинаковое количество блоков считывания для каждого рассматриваемого масштаба, водяной знак наиболее вероятно проявится как самый интенсивный в том повторно масштабированном суммарном блоке 850 видеосигналов, который имеет самую высокую степень ДКП. Следовательно, ДКП, имеющее самую высокую степень, одновременно указывает правильный масштаб и правильный сдвиг водяного знака, если он имеется, в блоках водяных знаков. Действительно, ДКП, имеющее самую высокую степень, будет присутствовать в том суммарном блоке 850 видеосигналов, который соответствует правильному масштабу, и в том местоположении внутри этого блока, которое соответствует правильному смещению. Это происходит потому, что видеосигнал, при рассмотрении его во времени и пространстве (достаточное количество или блоки считывания), представляет собой обычно среднюю шкалу яркостей. С другой стороны, сигнал водяного знака может быть неизменяющимся (хотя и слабым) сигналом, который скрыт в потоке видеоданных. Следовательно, после накопления сигнал водяного знака будет усиливаться, в то время как некоррелированный видеосигнал будет ослабляться, проявляясь, например, в виде средней шкалы яркостей. Следовательно, путем идентификации повторно масштабированного суммарного блока 850 видеосигналов, имеющего ДКП, демонстрирующее самую высокую степень, будут обнаружены водяной знак и правильные масштаб и сдвиг.
В некоторых примерах здесь могут быть несколько повторно масштабированных суммарных блоков 850 видеосигналов, имеющих преобразования ДКП, демонстрирующие статистически значительные уровни мощности по сравнению со средним уровнем мощности некоррелированного видеосигнала. Эти повторно масштабированные суммарные блоки 850 видеосигналов наиболее вероятно соответствуют масштабам, которые, например, составляют целое кратное правильного масштаба, где правильный масштаб является масштабом, который фактически применяли к первоначальному потоку видеоданных. Однако даже в таком случае повторно масштабированный суммарный блок видеосигналов, демонстрирующий самую высокую степень ДКП, наиболее вероятно содержит водяной знак, если он присутствует, и показывает масштаб первоначального потока видеоданных. Кроме того, начальный элемент изображения ДКП, имеющего самую высокую степень, показывает смещение, наложенное на водяной знак внутри блоков водяных знаков. В качестве альтернативы, если ни один из рассматриваемых масштабов не дает повторно масштабированного суммарного блока 850 видеосигналов, демонстрирующего сигнал водяного знака, возрастающий значительно выше среднего уровня видеосигнала, водяной знак мог быть не внедрен в поток видеоданных и/или поток видеоданных может быть масштабирован, используя масштаб, который еще не рассматривался.
На фиг. 9 показан вариант осуществления способа обнаружения водяных знаков, подвергнутых неизвестному масштабированию и произвольному сдвигу, в соответствии с настоящим изобретением. Способ начинается на этапе S0. После этого для каждого рассматриваемого масштаба I/J выполняется ряд этапов. В иллюстративном примере на фиг.9 рассматриваются три таких масштаба, а именно I1/J1; I2/J2 и I3/J3. Способ можно распространять на любое количество таких масштабов, единственным ограничением являются вычислительная мощность и скорость оборудования, выполняющего способ, относительно скорости передачи потока видеоданных. Настоящий способ предпочтительно выполняется в реальном масштабе времени, означающем скорость, достаточную для сохранения одинакового темпа с потоком видеоданных.
Этапы S11-S16 выполняются для масштаба I1/J1; этапы S21-S26 выполняются для масштаба I2/J2, а этапы S31-S36 выполняются для масштаба I3/J3. На этапах S11, S21 и S31 блоки водяных знаков считываются в блоках считывания равного размера описанным выше способом и распределяются, в свою очередь, в I1, I2 и I3 бункеры считывания, соответственно. На этапах S12, S22 и S32 блоки водяных знаков в каждом из соответственных бункеров считывания накапливаются по мере их распределения в них. Поскольку это действие влечет за собой только дополнения выбранной характеристики (характеристик) составляющих элементов изображения блоков считывания, оно является подходящим для выполнения при сохранении одного темпа с потоком видеоданных. После определения на этапах S13, S23 и S33, что в каждом из бункеров считывания согласно некоторому заранее определенному критерию накоплено достаточное количество блоков считывания, выполняются этапы S14, S24 и S34, на которых образуются повторно масштабированные блоки считывания типа показанных на фиг.8 повторно масштабированных блоков считывания 810-840 путем масштабирования блоков водяных знаков, накопленных в бункерах считывания, посредством масштабов I1/J1; I2/J2 и I3/J3, соответственно. На этапах S15, S25 и S35 повторно масштабированные блоки считывания объединяются в один суммарный блок видеосигналов типа показанного на фиг.8 блока 850, используя интегральный перенос, для создания одного такого суммарного блока видеосигналов для каждого из трех рассматриваемых в примере фиг.9 масштабов. На этапах S16, S26 и S36 выполняется алгоритм обнаружения для каждого из трех суммарных блоков видеосигналов, образованных на этапах S15, S25 и S35.
Например, алгоритм обнаружения может преобразовать три накопленных блока видеосигнала из пространственной в частотную область, используя, например, дискретное преобразование Фурье или дискретное косинусоидальное преобразование. В случае преобразования ДКП можно выполнить ряд преобразований, по одному для каждого элемента изображения в суммарном блоке видеосигналов. Например, если суммарные блоки видеосигналов имеют размер N x N, можно выполнить количество таких преобразований ДКП, равное N*N. На этапе S4 сравниваются результаты сравнений, выполненных на этапах S16, S26 и S36, и выбирается лучший результат, как показано на этапе S5. Например, при выполнении преобразований ДКП на этапах S16, S26 и S36, сравниваются степени всех (3*N*N) 2-мерных преобразований ДКП, и то ДКП, в котором имеется самая высокая степень, указывает сдвиг, если он имеется, водяного знака в блоках водяных знаков и масштаб, которым водяной знак был масштабирован в потоке видеоданных. Способ заканчивается на этапе S6.
Изобретение относится к области стеганографии, в частности для обнаружения цифрового водяного знака. Технический результат: обеспечение обнаружения цифровых водяных знаков, внедренных в потоки видеоданных, подвергнутых неизвестному масштабированию и произвольному сдвигу. Способ и устройство предназначены для обнаружения водяного знака в потоке видеоданных с водяными знаками, где водяной знак масштабирован посредством неизвестного масштаба из числа заранее определенного конечного количества масштабов и сдвинут на неизвестное количество элементов изображения. Для каждого из заранее определенного количества масштабов поток видеоданных делится на множество масштабированных блоков водяных знаков с одинаковыми размерами; и множество масштабированных блоков водяных знаков считываются в множество блоков считывания. Каждый из блоков считывания накапливается в один из заранее определенного количества бункеров блоков считывания. Затем накопленные блоки считывания повторно масштабируются и объединяются в один суммарный блок видеосигналов. После этого оценивается заранее определенная величина типа степени ДКП в суммарном блоке видеосигналов. Эта оценка дает информацию относительно присутствия водяного знака в потоке видеоданных, масштаба, примененного к видеосигналу с водяными знаками, и сдвига водяного знака, если он имеется, внутри блоков водяных знаков. Операция дробного остатка используется для определения количества бункеров блоков считывания для каждого рассматриваемого масштаба, а также определения бункера, в который должен накапливаться каждый блок считывания. 2 с. и 15 з.п. ф-лы, 9 ил.