RU2434356C2 - Creating watermarks in coded information content - Google Patents
Creating watermarks in coded information content Download PDFInfo
- Publication number
- RU2434356C2 RU2434356C2 RU2008127313/09A RU2008127313A RU2434356C2 RU 2434356 C2 RU2434356 C2 RU 2434356C2 RU 2008127313/09 A RU2008127313/09 A RU 2008127313/09A RU 2008127313 A RU2008127313 A RU 2008127313A RU 2434356 C2 RU2434356 C2 RU 2434356C2
- Authority
- RU
- Russia
- Prior art keywords
- watermark
- alternative
- value
- values
- information content
- Prior art date
Links
Images
Abstract
Description
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕFIELD OF THE INVENTION
Настоящее изобретение относится к созданию цифровых водяных знаков, а более конкретно - к внедрению, удалению/замене и обнаружению цифровых водяных знаков в кодированном информационном наполнении (контенте).The present invention relates to the creation of digital watermarks, and more particularly to the implementation, deletion / replacement and detection of digital watermarks in encoded content (content).
УРОВЕНЬ ТЕХНИКИBACKGROUND
Кодированное информационное наполнение требует процесса «декодирования» для использования информационного наполнения. Некоторые примеры кодированного информационного наполнения включают в себя форматы MPEG-1 (экспертной группы по вопросам движущегося изображения), MPEG-2, H264/AVC, WMA (звуковых файлов Windows), MPEG4, JPEG2000 (объединенной группы экспертов по машинной обработке фотографических изображений), MP3 (MPEG-1 Audio Layer 3), PDF (формат переносимого документа), Windows Word, Postscript (языка описания страниц) и т.д. и их зашифрованные версии.Coded content requires a “decoding” process to use the content. Some examples of encoded content include the formats MPEG-1 (expert group on moving images), MPEG-2, H264 / AVC, WMA (Windows sound files), MPEG4, JPEG2000 (a joint group of experts on computer-aided processing of photographic images), MP3 (MPEG-1 Audio Layer 3), PDF (portable document format), Windows Word, Postscript (page description language), etc. and their encrypted versions.
Один из способов предшествующего уровня техники для создания водяных знаков в кодированном информационном наполнении состоит во внедрении сигналов водяного знака в структуру и синтаксические элементы. Патент США № 6687384 является примером внедрения данных в синтаксические элементы в кодированном битовом потоке, таком как MPEG-1 и MPEG-2. Такие водяные знаки, однако, не выдерживают изменение формата или цифроаналоговое преобразование.One of the methods of the prior art for creating watermarks in encoded content is to embed watermark signals in the structure and syntax elements. US Patent No. 6,687,384 is an example of embedding data into syntax elements in an encoded bitstream such as MPEG-1 and MPEG-2. Such watermarks, however, cannot withstand a format change or digital-to-analog conversion.
Другой способ создания водяных знаков в кодированном информационном наполнении предшествующего уровня техники состоит во внедрении водяного знака с помощью добавления искажений к коэффициентам ДКП (динамического косинусного преобразования) для кодированного с помощью MPEG информационного наполнения. Пример этого подхода описан в F. Hartung and B. Girod «Digital Watermarking of MPEG-2 Coded Video in the Bit Stream Domain», Proc. IEEE ICASSP, p. 2621-4, April 1997. Способ Hartung и Girod не использует методики восприятия.Another way to create watermarks in a prior art encoded content is to embed a watermark by adding distortion to DCT (dynamic cosine transform) coefficients for MPEG encoded content. An example of this approach is described in F. Hartung and B. Girod, “Digital Watermarking of MPEG-2 Coded Video in the Bit Stream Domain,” Proc. IEEE ICASSP, p. 2621-4, April 1997. The Hartung and Girod method does not use perceptual techniques.
Еще один способ предшествующего уровня техники для создания водяных знаков в кодированном информационном наполнении состоит в непосредственном изменении кодированного информационного наполнения. Патент США 6373960, в дальнейшем «Conover», описывает способ создания водяных знаков в пределах сжатого битового видео потока MPEG с помощью изменения некоторых коэффициентов ДКП таким образом, что длина статистического (энтропийного) кодирования этих коэффициентов остается неизменной после этого изменения. Никакие конкретные способы внедрения водяных знаков не определены в Conover. Способы выбора расположений водяных знаков в Conover ограничены коэффициентами с 0 «серий» нулей. Коэффициенты Conover находятся в высокочастотной области. Способ Conover не включает в себя фазы предварительной обработки, и при этом нет никакого «альтернативного значения» для фактической вставки водяного знака в описанной более поздней фазе. Концепция генерации и использования «комплектов водяного знака» нигде не раскрыта и не преподается в Conover.Another prior art method for creating watermarks in encoded content is to directly change the encoded content. US Pat. No. 6,373,960, hereinafter “Conover,” describes a method for creating watermarks within a compressed MPEG video bitstream by changing some DCT coefficients so that the length of the statistical (entropy) encoding of these coefficients remains unchanged after this change. No specific watermark embedding methods are defined in Conover. Conover watermark locations are limited to coefficients with 0 “series” of zeros. Conover coefficients are in the high frequency region. The Conover method does not include preprocessing phases, and there is no “alternative value” for actually inserting a watermark in the later phase described. The concept of generating and using “watermark kits” is not disclosed anywhere and is not taught at Conover.
У способов предшествующего уровня техники для создания водяных знаков в кодированном информационном наполнении нет блока предварительной обработки для создания «альтернативных значений» для некоторых частей кодированного информационного наполнения. Способы предшествующего уровня техники для создания водяных знаков в кодированном информационном наполнении исключают кодированное информационное наполнение, которое дополнительно маскировано, затемнено, скремблировано или зашифровано (все вместе - «зашифровано»).Prior art methods for creating watermarks in encoded content do not have a preprocessing unit to create “alternative values” for some parts of the encoded content. Prior art methods for creating watermarks in encoded content exclude encoded content that is further masked, darkened, scrambled, or encrypted (collectively, “encrypted”).
СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION
В настоящем изобретении создают водяные знаки в кодированном информационном наполнении с помощью внедрения водяных знаков в выбранных расположениях в кодированное информационное наполнение. Этого достигают с помощью замены исходных значений в кодированном информационном наполнении их альтернативными значениями. Каждое исходное значение может иметь одно или большее количество альтернативных значений, и каждое альтернативное значение содержит сигнал водяного знака. Кроме того, водяные знаки можно удалять с помощью замены альтернативных значений исходными значениями или с помощью замены одного альтернативного значения другим альтернативным значением.In the present invention, watermarks in coded content are created by embedding watermarks in selected locations in the coded content. This is achieved by replacing the original values in the encoded content with their alternative values. Each source value may have one or more alternative values, and each alternative value contains a watermark signal. In addition, watermarks can be removed by replacing the alternative values with the original values or by replacing one alternative value with another alternative value.
С помощью выбора одного из альтернативных значений для замены исходного значения в соответствующих расположениях в кодированном информационном наполнении достигаются следующие цели:By choosing one of the alternative values to replace the original value in the corresponding locations in the encoded content, the following goals are achieved:
- Альтернативные значения имеют размер, идентичный исходному значению, и замена любым одним из альтернативных значений создает кодированное информационное наполнение, совместимое с определенным форматом, и не вводит искажений восприятия в кодированное информационное наполнение.- Alternative values have a size identical to the original value, and replacing any one of the alternative values creates encoded content that is compatible with a particular format and does not introduce perceptual distortions into the encoded content.
- Альтернативные значения могут улучшать качество кодированного информационного наполнения. Например, исходное значение может иметь или может не иметь допустимое значение. Другими словами, без замены одним из альтернативных значений кодированное информационное наполнение может не иметь допустимого формата. В другом случае, когда исходное значение является допустимым значением, без замены альтернативным значением исходное значение может приводить к снижению качества кодированного информационного наполнения.- Alternative values may improve the quality of the encoded content. For example, the original value may or may not have a valid value. In other words, without replacing one of the alternative values, the encoded content may not have a valid format. In another case, when the original value is a valid value, without replacing the alternative value, the original value can lead to a decrease in the quality of the encoded content.
- Каждое альтернативное значение содержит сигналы водяного знака. Эти сигналы водяных знаков или вместе с другими сигналами водяных знаков в других позициях в пределах кодированного информационного наполнения, или сами по себе могут иметь один или большее количество элементов внедренной информации. Элемент информации состоит из одного или большего количества битов.- Each alternate value contains watermark signals. These watermark signals, either together with other watermark signals at other positions within the encoded content, or themselves can have one or more embedded information elements. An information element consists of one or more bits.
- Информационный объем альтернативных значений (который определяют с помощью количества данных в альтернативном значении и количества альтернативных значений) должен быть небольшим по сравнению с объемом данных кодированного информационного наполнения.- The information volume of alternative values (which is determined using the amount of data in the alternative value and the number of alternative values) should be small compared with the data volume of the encoded content.
Одной важной целью непосредственного создания водяных знаков в зашифрованном информационном наполнении является «ограниченное шифрование». Ограниченное шифрование учитывает соответствие между открытым текстом и зашифрованным текстом. Например, блок открытого текста включает в себя компоненты c1, c2... cn. После ограниченного шифрования шифрованный текст состоит из c1', c2',..., cn', где ci' является зашифрованной версией ci (1≤i≤n). Простым примером ограниченного шифрования является разбиение информационного наполнения на части и шифрование каждой части отдельно. Например, в крайнем случае каждый коэффициент или группу коэффициентов шифруют отдельно. Одной из категорий шифрования, которая делает ограниченное шифрование возможным, является выборочное шифрование или частичное шифрование. Вместо обработки информационного наполнения (аудио или видео) как потока двоичных данных (также называют «натуральным шифрованием») способы выборочного шифрования «понимают» синтаксическую структуру информационного наполнения (например, структуру MPEG-2) и выборочно шифруют только некоторые части информационного наполнения. Выборочное шифрование происходит после сжатия. Зашифрованное информационное наполнение не должно иметь коммерческую ценность, хотя часть информационного наполнения может быть видимой. Некоторые схемы выборочного шифрования могут сохранять формат, скорость битового потока и размер кодированного информационного наполнения, которое не зашифровано с помощью выборочного шифрования. Другие схемы выборочного шифрования могут увеличивать скорость битового потока или требовать специального декодера.One important goal of directly creating watermarks in encrypted content is “limited encryption”. Limited encryption takes into account the correspondence between plaintext and ciphertext. For example, a plaintext block includes components c1, c2 ... cn. After limited encryption, the ciphertext consists of c1 ', c2', ..., cn ', where ci' is the encrypted version of ci (1≤i≤n). A simple example of limited encryption is splitting content into parts and encrypting each part separately. For example, in a pinch, each coefficient or group of coefficients is encrypted separately. One of the categories of encryption that makes limited encryption possible is selective encryption or partial encryption. Instead of processing the content (audio or video) as a stream of binary data (also called “natural encryption”), selective encryption methods “understand” the syntactic structure of the content (for example, the MPEG-2 structure) and selectively encrypt only some parts of the content. Selective encryption occurs after compression. Encrypted content should not be of commercial value, although some of the content may be visible. Some selective encryption schemes may preserve the format, bit rate, and size of the encoded content that is not encrypted using selective encryption. Other selective encryption schemes may increase the bit rate or require a special decoder.
Беря информационное наполнение MPEG-2 в качестве примера, простой выборочный алгоритм шифрует только I-кадры. Выборочно зашифрованный поток MPEG может быть допустимым потоком MPEG. Хотя Р- и В-кадры в MPEG-2 бесполезны без знания соответствующих I-кадров, большая часть видеоданных MPEG все равно видима из-за межкадровой корреляции и главным образом из-за незашифрованных I-блоков в Р- и В-кадрах. Другие схемы выборочного шифрования включают в себя шифрование заголовков MPEG-2 и/или шифрование коэффициентов ДКП. Коэффициенты ДКП делятся на «коэффициенты DC» и «коэффициенты АС». Коэффициенты DC являются коэффициентами с нулевой частотой в обоих измерениях, а коэффициенты АС являются остальными коэффициентами с ненулевыми частотами. Все коэффициенты DC или часть значений коэффициентов АС всех I-блоков можно шифровать.Taking the MPEG-2 content as an example, a simple selective algorithm encrypts only I-frames. The selectively encrypted MPEG stream may be a valid MPEG stream. Although P- and B-frames in MPEG-2 are useless without knowing the corresponding I-frames, most of the MPEG video data is still visible due to interframe correlation and mainly because of unencrypted I-blocks in P- and B-frames. Other selective encryption schemes include encryption of MPEG-2 headers and / or encryption of DCT coefficients. DCT coefficients are divided into “DC coefficients” and “AC coefficients”. DC coefficients are coefficients with zero frequency in both dimensions, and AC coefficients are other coefficients with nonzero frequencies. All DC coefficients or part of the AC coefficient values of all I-blocks can be encrypted.
Описывают систему и способ внедрения водяного знака в кодированное информационное наполнение, который включает в себя прием кодированного информационного наполнения, прием предварительно обработанного комплекта водяного знака, который является выводом внешнего блока предварительной обработки, прием последовательности битов, причем последовательность битов содержит полезную информацию водяного знака, и выполнение непосредственной замены некоторого количества битов кодированного информационного наполнения, начиная с позиции с альтернативным значением, причем альтернативное значение имеет внедренный в него сигнал водяного знака, причем альтернативное значение является одним из выбранных из множества альтернативных значений, определенных в комплекте водяного знака, и единственным альтернативным значением, определенным в комплекте водяного знака, причем позиция выбирается в комплекте водяного знака таким образом, что когда альтернативное значение является единственным альтернативным значением, то замену не выполняют, и когда альтернативное значение выбирается из множества альтернативных значений, определенных в комплекте водяного знака, последовательность битов определяет, какое альтернативное значение выбрано.A system and method for embedding a watermark in a coded content are described, which includes receiving a coded content, receiving a pre-processed set of a watermark that is an output of an external pre-processing unit, receiving a sequence of bits, the sequence of bits containing useful watermark information, and performing a direct replacement of a certain number of bits of encoded content, starting from the position with al an alternative value, and the watermark signal embedded in it has an alternative value, and the alternative value is one of the many alternative values defined in the watermark set, and the only alternative value defined in the watermark set, and the position is selected in the watermark set so that when the alternative value is the only alternative value, then no replacement is performed, and when the alternative value is selected Xia of a plurality of alternative values specified in the kit watermark bit sequence determines which alternative is selected.
Дополнительно описаны система и способ внедрения водяного знака в кодированное информационное наполнение, который включает в себя прием кодированного информационного наполнения, прием по меньшей мере одного комплекта водяного знака, прием последовательности битов, причем данная последовательность битов содержит полезную информацию водяного знака, и выполнение одного из этапов: выполняют непосредственную замену некоторого количества битов, начиная с некоторой позиции, альтернативным значением или оставляют неизменными некоторое количество битов, начиная с некоторой позиции, основываясь на значениях битов в последовательности битов полезной информации водяного знака, и причем альтернативное значение имеет внедренные в него сигналы водяного знака. Также описаны система и способ обнаружения водяного знака, который включает в себя прием по меньшей мере одного комплекта водяного знака, прием информационного наполнения, отмеченного водяными знаками, извлечение множества значений коэффициентов из информационного наполнения, отмеченного водяными знаками, и извлечение битовых значений водяного знака из значений коэффициентов.Additionally described are a system and method for embedding a watermark in a coded content, which includes receiving a coded content, receiving at least one set of a watermark, receiving a sequence of bits, this bit sequence containing useful watermark information, and performing one of the steps : perform a direct replacement of a certain number of bits, starting at a certain position, with an alternative value or leave some unchanged to lichestvo bits starting from a position based on the values of bits in the bit sequence useful watermark information and wherein the alternative value has embedded therein watermark signals. A system and method for detecting a watermark is also described, which includes receiving at least one set of watermark, receiving the watermarked content, extracting a plurality of coefficient values from the watermarked content, and extracting the watermark bit values from the values coefficients.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS
Настоящее изобретение лучше всего можно понять из последующего подробного описания при его чтении вместе с сопроводительными чертежами. Чертежи включают в себя следующие фигуры, кратко описанные ниже.The present invention can best be understood from the following detailed description when read along with the accompanying drawings. The drawings include the following figures, briefly described below.
Фиг.1 является структурной схемой, которая показывает последовательность операций предварительной обработки для внедрения водяного знака в соответствии с принципами настоящего изобретения.1 is a block diagram that shows a pre-processing flow for embedding a watermark in accordance with the principles of the present invention.
Фиг.2 показывает комплект водяного знака (КВЗ) настоящего изобретения.Figure 2 shows a set of watermark (KVZ) of the present invention.
Фиг.3 является последовательностью операций способа обнаружения водяного знака в соответствии с принципами настоящего изобретения.Figure 3 is a flowchart of a watermark detection method in accordance with the principles of the present invention.
Фиг.4 является структурной схемой устройства воспроизведения, которое принимает кодированное информационное наполнение, имеющее внедренные в него комплекты водяных знаков.4 is a block diagram of a reproducing apparatus that receives encoded content having watermark sets embedded therein.
ПОДРОБНОЕ ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯDETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Процесс создания водяных знаков в кодированном информационном наполнении можно разделить на три отдельных этапа.The process of creating watermarks in coded content can be divided into three separate stages.
• Выбор расположения, что является выбором позиции, где значение в кодированном информационном наполнении можно заменять альтернативными значениями, содержащими сигналы водяного знака.• The choice of location, which is the choice of the position where the value in the encoded content can be replaced with alternative values containing watermark signals.
• Вычисление альтернативных значений, что является определением альтернативных значений так, чтобы у альтернативных значений было то же самое количество битов, как у значения, которое альтернативные значения должны заменять в кодированном информационном наполнении, и такая замена не будет вызывать изменения восприятия информационного наполнения. Кроме того, эти альтернативные значения содержат сигналы водяного знака.• Calculation of alternative values, which is the definition of alternative values so that the alternative values have the same number of bits as the value that the alternative values should replace in the encoded content, and such a replacement will not cause a change in the perception of the content. In addition, these alternative values contain watermark signals.
• Внедрение/вставка водяного знака, что является фактической заменой значения в кодированном информационном наполнении одним из альтернативных значений.• Embedding / inserting a watermark, which is the actual replacement of the value in the encoded content with one of the alternative values.
Первые два этапа можно предварительно обрабатывать. В результате предварительной обработки создают набор комплектов водяных знаков (КВЗ). КВЗ содержат всю информацию для фактического внедрения/вставки водяного знака. Блок предварительной обработки водяного знака использует кодированное информационное наполнение в качестве входной информации и ключ водяного знака и выводит последовательность комплектов водяных знаков. В случае когда только одно альтернативное значение генерируют для каждого КВЗ, полезная информация водяного знака может стать дополнительной входной информацией для блока предварительной обработки. Эти комплекты водяных знаков интегрируют в окончательное информационное наполнение как метаданные кодированного информационного наполнения, как отдельный канал, мультиплексируемый с информационным наполнением, как стеганографические данные, скрытые в синтаксических элементах или в информационном наполнении, или как отдельный файл, хранящийся на физических носителях (оптическом диске, ленте, накопителе на жестком диске и т.д.) или передаваемый по сети (по протоколу TCP/IP, по спутниковой связи и т.д.).The first two stages can be pre-processed. As a result of pre-processing, a set of watermark sets (KVZ) is created. KVZ contain all the information for the actual implementation / insertion of a watermark. The watermark preprocessing unit uses the encoded content as input and the watermark key and outputs a sequence of watermark sets. In the case where only one alternative value is generated for each SC, the useful information of the watermark can become additional input information for the pre-processing unit. These watermark sets are integrated into the final content as metadata of the encoded content, as a separate channel multiplexed with the content, as steganographic data hidden in syntax elements or in the content, or as a separate file stored on physical media (optical disk, tape, hard drive, etc.) or transmitted over the network (via TCP / IP, satellite communications, etc.).
Полезную информацию водяного знака внедряют с помощью выбора из альтернативных значений в КВЗ. КВЗ имеет по меньшей мере одно альтернативное значение. Когда у каждого КВЗ существует только одно альтернативное значение, существует два способа внедрения/вставки информации водяного знака (полезной информации). Первым способом является внедрение одной фиксированной полезной информации водяного знака с помощью замены всех исходных значений в КВЗ их альтернативными значениями. Второй способ предоставляет возможность внедрения различной полезной информации водяного знака с помощью переключения между заменой или отсутствием замены для КВЗ. Например, замена указывает положительное битовое значение, а отсутствие замены - отрицательное битовое значение. Для внедрения полезной информации водяного знака «00101001» исходные значения в первом и втором КВЗ не заменяют, исходное значение в третьем КВЗ заменяют его альтернативным значением. Для КВЗ с более чем одним альтернативным значением каждое альтернативное значение содержит сигнал водяного знака, который может представлять другой элемент полезной информации водяного знака. Альтернативное значение для замены выбирают, основываясь на полезной информации водяного знака. Например, для внедрения одного бита в КВЗ требуются только два альтернативных значения V1 и V2. Для внедрения битового значения «0» V1 выбирают для замены исходного значения в кодированном информационном наполнении, а для внедрения битового значения «1» выбирают V2. С помощью двух значений V1 и V2 можно выражать бит, равный «0» и «1». Если существует четыре альтернативных значения (V1, V2, V3 и V4), то можно внедрять двухбитовую информацию (т.е. «00», «01», «10» и «11»). С помощью большего количества альтернативных значений в одной позиции можно внедрять больше битов, что позволяет очень эффективно внедрять информацию.Useful watermark information is embedded using a selection of alternative values in the LSC. KVZ has at least one alternative value. When each KVZ has only one alternative value, there are two ways to embed / insert watermark information (useful information). The first method is the introduction of one fixed useful information of the watermark by replacing all the initial values in the water storage facility with their alternative values. The second method provides the ability to embed various useful watermark information by switching between replacing or not replacing for the KVZ. For example, a replacement indicates a positive bit value, and a lack of replacement indicates a negative bit value. To implement the useful information of the watermark “00101001”, the initial values in the first and second KVZ are not replaced, the initial value in the third KVZ is replaced with its alternative value. For a watermark with more than one alternative value, each alternative value contains a watermark signal, which may represent another element of useful watermark information. An alternative replacement value is selected based on the useful information of the watermark. For example, for the introduction of one bit in the KBZ, only two alternative values V1 and V2 are required. To embed the bit value “0”, V1 is selected to replace the original value in the encoded content, and to embed the bit value “1”, V2 is selected. Using the two values V1 and V2, a bit equal to “0” and “1” can be expressed. If there are four alternative values (V1, V2, V3 and V4), then two-bit information can be embedded (ie, “00”, “01”, “10” and “11”). By using more alternative values in one position, more bits can be embedded, which allows very efficient implementation of information.
Полезную информацию водяного знака обычно принимают на третьем этапе «вставка водяного знака». Ее можно сохранять или вычислять с помощью компонента, внешнего для системы создания водяных знаков. Полезная информация водяного знака обычно является идентификатором, однозначно определяющим получателя, устройство воспроизведения (изготовителя, номер модели и/или серийный номер) или дату и время воспроизведения информационного наполнения. Для потенциального уменьшения размера КВЗ в КВЗ можно сохранять различие между исходным значением V и его альтернативными значениями. КВЗ можно дополнительно сжимать.Useful watermark information is usually taken in the third step, “watermark insertion”. It can be saved or calculated using a component external to the watermarking system. Useful watermark information is usually an identifier that uniquely identifies the recipient, the playback device (manufacturer, model number and / or serial number) or the date and time the content was played. To potentially reduce the size of the SCL in the SCL, the difference between the initial value of V and its alternative values can be maintained. KVZ can be additionally compressed.
Важно, чтобы КВЗ были защищены от несанкционированного доступа или модификации, потому что с помощью этой информации система создания водяных знаков не только уязвима для различных атак, но также хакеру легко вставить поддельные водяные знаки, или изменить, или удалить существующие водяные знаки. Если КВЗ сохраняют и передают как стеганографические (помеченные водяными знаками) данные, то доступом можно управлять с помощью ключа создания водяных знаков. Если КВЗ сохраняют и передают по какому-нибудь другому каналу, то требуется шифрование КВЗ.It is important that the watermark is protected from unauthorized access or modification, because with this information the watermarking system is not only vulnerable to various attacks, but it is also easy for a hacker to insert fake watermarks, or modify or delete existing watermarks. If the KBZ is stored and transmitted as steganographic (watermarked) data, then access can be controlled using the watermarking key. If the KVZ are stored and transmitted through some other channel, then the encryption of the KVZ is required.
Как указано ранее, первый и второй этапы можно выполнять как предварительную обработку. Таким образом, до третьего этапа кодированное информационное наполнение не отмечено водяными знаками. На третьем этапе выполняют внедрение водяного знака с помощью замены некоторых значений в кодированном информационном наполнении альтернативными значениями, определенными в КВЗ. Эти значения могут быть кодированными синтаксическими элементами, такими как идентификатор пакета, заголовки, таблица квантования, таблица Хаффмана для статистического кодирования, кодированные коэффициенты или кодированные векторы движения. КВЗ определяют, куда внедряют сигналы водяного знака (в альтернативных значениях) и какие возможные сигналы водяного знака могут находиться в этих позициях с помощью выбора соответствующих альтернативных значений.As indicated earlier, the first and second steps can be performed as pre-processing. Thus, prior to the third step, the encoded content is not watermarked. At the third stage, the implementation of the watermark is performed by replacing some of the values in the encoded content with the alternative values defined in the KBZ. These values may be encoded syntax elements, such as packet identifier, headers, quantization table, Huffman table for statistical encoding, encoded coefficients, or encoded motion vectors. KVZ determine where the watermark signals are embedded (in alternative values) and what possible watermark signals can be in these positions by selecting the appropriate alternative values.
Фиг.1 является структурной схемой, которая показывает последовательность операций предварительной обработки кодированного информационного наполнения для генерации КВЗ. Фиг.2 показывает комплект водяного знака в соответствии с принципами настоящего изобретения. Каждый КВЗ описывают с помощью вектора (P, L, C, {V}, V1, V2... Vn), где P является позицией исходного значения V, которое можно заменять в будущем альтернативным значением в кодированном информационном наполнении, L - количество битов, занятых исходным значением V в кодированном информационном наполнении, начиная с P, C является набором глобальных позиций коэффициентов (например, квантованных с помощью ДКП или вейвлет-преобразования коэффициентов), которые кодированы в L битах (в кодированном информационном наполнении) с помощью метода статистического кодирования. Статистическое кодирование, такое как кодирование методом Хаффмана, обычно применяют к последней стадии кодирования для создания кодированного информационного наполнения. V1, V2... Vn являются допустимыми альтернативными значениями V, и каждое из таких значений содержит сигнал водяного знака. Каждая позиция коэффициентов представлена c помощью (ch, f, b, co), где ch - индекс канала, f - индекс кадра, b - индекс блока и co - индекс коэффициентов в пределах блока элемента видеоинформации. Альтернативное значение является допустимым, если в случае, когда этим значением заменяют текущее значение, поддерживается согласование форматов и нет никаких воздействий на восприятие информационного наполнения. Кроме того, V1, V2... Vn занимают L битов в кодированном информационном наполнении, так же как V. {V} указывает, что исходное значение является необязательным в процессе внедрения/вставки. Исходное значение может потребоваться в процессах удаления водяного знака.Figure 1 is a structural diagram that shows the sequence of operations of the preliminary processing of the encoded content to generate the CVC. Figure 2 shows a set of watermark in accordance with the principles of the present invention. Each CLC is described using a vector (P, L, C, {V}, V1, V2 ... Vn), where P is the position of the original value of V, which can be replaced in the future by an alternative value in the encoded content, L is the number of bits occupied by the initial value of V in the encoded payload, starting from P, C is a set of global positions of the coefficients (for example, quantized using DCT or wavelet transform of the coefficients), which are encoded in L bits (in the encoded payload) using the statistical method coding. Statistical coding, such as Huffman coding, is usually applied to the last coding stage to create coded content. V1, V2 ... Vn are valid alternative V values, and each of these values contains a watermark signal. Each position of the coefficients is represented by (ch, f, b, co), where ch is the channel index, f is the frame index, b is the block index and co is the coefficient index within the block of the video element. An alternative value is acceptable if, in the case when the current value is replaced with this value, the formats are supported and there are no effects on the perception of the content. In addition, V1, V2 ... Vn occupy L bits in the encoded payload, just as V. {V} indicates that the original value is optional in the embed / insert process. An initial value may be required in watermark removal processes.
Исходное значение V может содержать один или большее количество коэффициентов в кодированной форме. Когда КВЗ генерируют, если входной информацией является кодированное информационное наполнение, такое как MPEG-2 или MPEG-4, статистическое кодирование, т.е. кодирование переменной длины (КПД), сначала должно быть «удалено» для доступа к коэффициентам и затем найдена соответствующая позиция и альтернативные значения и сохранены исходный коэффициент и эти альтернативные значения. Альтернативное значение Vi может соответствовать тем же самым коэффициентам, каким соответствует V, но в некоторых случаях Vi может соответствовать большему или меньшему количеству коэффициентов, чем то, которому соответствует V.The initial value of V may contain one or more coefficients in coded form. When the CEC is generated, if the input is coded content such as MPEG-2 or MPEG-4, statistical coding, i.e. variable length coding (COP), first must be “deleted” to access the coefficients and then the corresponding position and alternative values are found and the original coefficient and these alternative values are stored. An alternative value of Vi may correspond to the same coefficients as V corresponds to, but in some cases Vi may correspond to more or less coefficients than that corresponding to V.
Типичный блок 8x8 квантованных коэффициентов ДКП в MPEG-2 показан ниже. Большинство коэффициентов более высокого порядка квантовано в 0.A typical block of 8x8 quantized DCT coefficients in MPEG-2 is shown below. Most higher order coefficients are quantized to 0.
После зигзагообразного сканирования последовательность коэффициентов ДКП, которые будут передавать, выглядит следующим образом:After a zigzag scan, the sequence of DCT coefficients that will be transmitted is as follows:
Первый коэффициент ДКП (12) посылают через отдельную таблицу Хаффмана. После анализа «серия-уровень» остальные коэффициенты и соответствующие «серии» нулей:The first DCT coefficient (12) is sent through a separate Huffman table. After the “series-level” analysis, the remaining coefficients and the corresponding “series” of zeros:
Используя нулевую таблицу коэффициентов ДКП, приведенную ниже и определенную в стандарте MPEG-2, эти коэффициенты кодируют в 6 кодов переменной длины (КПД) следующим образом (в представлении двоичных битов):Using the zero table of DCT coefficients, given below and defined in the MPEG-2 standard, these coefficients are encoded into 6 variable length codes (Efficiency) as follows (in the representation of binary bits):
Нулевая таблица коэффициентов ДКП MPEG-2 (часть)Zero table of coefficients DCT MPEG-2 (part)
Кодирование MPEG2 «серии» и «уровня» после кода управляющей последовательности MPEG2 encoding of “series” and “level” after escape sequence code
Для простоты чтения указанные выше КПД (которые также называют статистическими кодами) отделены «|». Первый и второй коэффициенты ДКП используют код фиксированной длины для кодирования «серии» и «уровня» согласно таблице «Кодирование MPEG2 «серии» и «уровня» после кода управляющей последовательности», и остальные коэффициенты ДКП кодируют согласно «нулевой таблице коэффициентов ДКП MPEG-2». Последний КПД является специальным кодом «конец блока», указывающим, что остальные коэффициенты в блоке равны 0.For ease of reading, the above efficiencies (also called statistical codes) are separated by “|”. The first and second DCT coefficients use a fixed-length code to encode the "series" and "level" according to the table "MPEG2 Encoding of the" series "and" level "after the control sequence code", and the remaining DCT coefficients are encoded according to the "zero table of DCT coefficients MPEG-2 ". The last efficiency is a special code "end of the block", indicating that the remaining coefficients in the block are 0.
Альтернативное значение может быть любой частью приведенных выше кодированных битов. Например, одно альтернативное значение может состоять из части КПД, одного или большего количества последовательных КПД или одного КПД плюс часть следующего КПД.An alternative value may be any part of the above encoded bits. For example, one alternative value may consist of part of the efficiency, one or more consecutive efficiency, or one efficiency plus part of the next efficiency.
В следующем примере КВЗ альтернативное значение состоит из одного КПД, который является 5-м КПД:In the following KVZ example, the alternative value consists of one efficiency, which is the 5th efficiency:
(Р0+71, 7, С, 0001010, 0001110, 0001100, 0001000)(P0 + 71, 7, C, 0001010, 0001110, 0001100, 0001000)
Каждый элемент в этом КВЗ объясняют следующим образом:Each element in this CVC is explained as follows:
• Р0 является исходной позицией этого блока в кодированном информационном наполнении. «63» - относительная позиция (в битах) от начала этого блока, 7 указывает длину L, С состоит из 7 коэффициентов следующим образом:• P0 is the starting position of this block in the encoded payload. “63” is the relative position (in bits) from the beginning of this block, 7 indicates the length L, C consists of 7 coefficients as follows:
с (f, ch, b, 7), с (f, ch, b, 8)... с (f, ch, b, 13), где f - индекс текущего кадра, ch - индекс текущего канала и b - индекс текущего блока в примере.s (f, ch, b, 7), s (f, ch, b, 8) ... s (f, ch, b, 13), where f is the index of the current frame, ch is the index of the current channel and b is index of the current block in the example.
• размер альтернативного значения равен 7 битов, т.е. L=7.• the size of the alternative value is 7 bits, i.e. L = 7.
• 0001010 является исходным значением (V), существует три альтернативных значения: 0001110 (VI), 0001100 (V2) и 0001000 (V3). Эти альтернативные значения кодируют как следующие значения «серии» и «уровня» (обращаясь к нулевой таблице коэффициентов ДКП MPEG2) соответственно:• 0001010 is the initial value (V), there are three alternative values: 0001110 (VI), 0001100 (V2) and 0001000 (V3). These alternative values are encoded as the following values of "series" and "level" (referring to the zero table of DCT coefficients MPEG2), respectively:
0001110: «серия»=5, «уровень»=10001110: “series” = 5, “level” = 1
0001100: «серия»=1, «уровень»=20001100: “series” = 1, “level” = 2
0001000: «серия»=7, «уровень»=10001000: “series” = 7, “level” = 1
Пара «серия» (R) и «уровень» (L) представляет последовательность чисел, которая начинается с R нулей, за которыми следует L. Например, пара «серия-уровень» (5, 3), т.е. «серия»=5 и «уровень»=3, представляет 000003. Таким образом, приведенные выше альтернативные значения представляют следующие коэффициенты перед статистическим кодированием:The “series” (R) and “level” (L) pair represents a sequence of numbers that starts with R zeros followed by L. For example, the “series-level” pair (5, 3), i.e. “Series” = 5 and “level” = 3, represents 000003. Thus, the above alternative values represent the following coefficients before statistical coding:
0 0 0 0 0 1 («серия»=5, «уровень»=1)0 0 0 0 0 1 (“series” = 5, “level” = 1)
0 2 («серия»=1, «уровень»=2)0 2 (“series” = 1, “level” = 2)
0 0 0 0 0 0 0 1 («серия»=7, «уровень»=1)0 0 0 0 0 0 0 1 (“series” = 7, “level” = 1)
Поскольку 5-й КПД является последним КПД, кодирующим ненулевые коэффициенты в этом блоке, альтернативные значения не обязательно соответствуют тем же самым коэффициентам, кодированным с помощью V. В случае V2 и V3 вместо кодирования семи коэффициентов в V1 V2 кодирует только 2 коэффициента и V3 кодирует 8 коэффициентов.Since the 5th efficiency is the last efficiency encoding nonzero coefficients in this block, alternative values do not necessarily correspond to the same coefficients encoded with V. In the case of V2 and V3, instead of encoding seven coefficients in V1, V2 encodes only 2 coefficients and V3 encodes 8 odds.
Если первое альтернативное значение в примере КВЗ выбирают с помощью вставки водяного знака на этапе 3, то этот блок будет заменен следующими квантованными коэффициентами ДКП:If the first alternative value in the KVZ example is selected by inserting a watermark in step 3, then this block will be replaced by the following quantized DCT coefficients:
Другой пример кодированного информационного наполнения - информационное наполнение, кодированное с помощью H.264 (MPEG4 profile 10). Существуют несколько главных различий в статистическом кодировании между MPEG-2 и H264, которые включают в себя:Another example of encoded content is content encoded using H.264 (MPEG4 profile 10). There are several major differences in statistical coding between MPEG-2 and H264, which include:
• H.264 поддерживает оба и CAКПД (контекстно-адаптивное кодирование переменной длины), и CABAC (контекстно-адаптивное двоичное арифметическое кодирование).• H.264 supports both CAKPD (context adaptive variable-length coding) and CABAC (context adaptive binary arithmetic coding).
• Вместо блока ДКП 8x8 в MPEG2 в H.264 можно также использовать блок ДКП 4x4.• Instead of the 8x8 DCT block in MPEG2 in H.264, you can also use the 4x4 DCT block.
• В отличие от AКПД (адаптивного кодирования переменной длины) в MPEG-2 CAКПД использует меньшие таблицы КПД с помощью кодирования «уровней» и «серий» отдельно.• Unlike ACPD (adaptive variable length coding) in MPEG-2, CACPD uses smaller efficiency tables by encoding “levels” and “series” separately.
• Вместо фиксированных таблиц КПД в MPEG-2 таблицы КПД можно переключать в соответствии с контекстной информацией.• Instead of fixed efficiency tables in MPEG-2, efficiency tables can be switched according to contextual information.
Из-за основанного на контексте статистического кодирования в H.264 тяжелее, чем в MPEG-2, предсказывать кодированное значение после изменения коэффициента. Однако можно вынудить кодер H.264 уменьшать такое основанное на контексте кодирование во время кодирования. Например, кодер может использовать фиксированную таблицу NumTrail (например, таблицу NumTrail 0) вместо таблицы NumTrail, основанной на определенных свойствах соседних блоков. Другим примером является использование кода фиксированной длины xxxxyyy для кодирования количества не нулей (NumCoeff) и количества последних единиц (T1) для квантованного блока ДКП 4x4, где xxxx предназначено для кодирования количества не нулей (0-16), и yy - для кодирования количества последних единиц (0... 3). Можно также вынудить кодер использовать только блоки 4x4. В последующем примере некоторые из приведенных выше правил применяют для кодирования блока 4x4.Due to context-based statistical coding, it is harder in H.264 than in MPEG-2 to predict the coded value after changing the coefficient. However, you can force the H.264 encoder to reduce such context-based coding during coding. For example, an encoder may use a fixed NumTrail table (for example, a NumTrail table 0) instead of a NumTrail table based on certain properties of neighboring blocks. Another example is the use of a fixed-length code xxxxyyy to encode the number of non-zeros (NumCoeff) and the number of last units (T1) for a quantized 4x4 DCT block, where xxxx is intended to encode the number of non-zeros (0-16), and yy to encode the number of non-zeros units (0 ... 3). You can also force the encoder to use only 4x4 blocks. In the following example, some of the above rules are used to encode a 4x4 block.
1. 4x4 квантованные коэффициенты ДКП:1. 4x4 quantized DCT coefficients:
После зигзагообразного сканирования коэффициенты в этом блоке: 0 3 0 1 -1 -1 0 1 0... 0After a zigzag scan, the coefficients in this block are: 0 3 0 1 -1 -1 -1 0 1 0 ... 0
2. Кодирование CAКПД состоит из следующих пяти этапов:2. CAKPD coding consists of the following five stages:
a. Кодируют количество не нулей (NumCoeff) и количество последних единиц (T1): (5,3). Максимальное количество T1 ограничено 3. Эти два числа (NumCoef и T1) кодируют в биты «0001011» при использовании таблицы Хаффмана 17x4 (см. ниже) (NumCoef: 0-16, T1: 0-3).a. Encode the number of non-zeros (NumCoeff) and the number of last units (T1): (5.3). The maximum number of T1s is limited to 3. These two numbers (NumCoef and T1) are encoded into “0001011” bits using the Huffman table 17x4 (see below) (NumCoef: 0-16, T1: 0-3).
Таблица Хаффмана 17х4 NumTrailHuffman Table 17x4 NumTrail
b. Кодируют знаки последних единиц в обратном порядке, если они существуют (0 для положительного и 1 для отрицательного): 0,1,1.b. Encode the signs of the last units in the reverse order, if they exist (0 for positive and 1 for negative): 0,1,1.
c. Кодируют остальные ненулевые коэффициенты в обратном порядке: 1,3. Ненулевые коэффициенты кодируют как «1» с помощью таблицы «уровня» КПД 0, и «0010» с помощью таблицы «уровня» КПД 1 соответственно.c. Encode the remaining non-zero coefficients in the reverse order: 1.3. Non-zero coefficients are encoded as “1” using the efficiency level “0” table, and “0010” using the efficiency level “1” table, respectively.
d. Кодируют общее количество нулей (TotalZeros) с начала до последнего ненулевого коэффициента. Максимальные общее количество нулей равно 16 - NumCoeff. Если NumCoeff равно 16, то TotalZeros должно быть 0. Если NumCoeff равно 0, то никакого дополнительного кода не требуется, т.е. заканчивают кодирование для этого блока. Для остальных 15 случаев в каждом случае используют таблицу Хаффмана для кодирования TotalZeros (см. таблицу TotalZero). В этом случае TotalZeros равно 3, что кодируют как «1110» с помощью таблицы TotZeros [NumCoeff=5].d. Encode the total number of zeros (TotalZeros) from the beginning to the last nonzero coefficient. The maximum total number of zeros is 16 - NumCoeff. If NumCoeff is 16, then TotalZeros should be 0. If NumCoeff is 0, then no additional code is required, i.e. complete the coding for this block. For the remaining 15 cases, in each case, use the Huffman table to encode TotalZeros (see table TotalZero). In this case, TotalZeros is 3, which is encoded as “1110” using the TotZeros table [NumCoeff = 5].
Таблица TotZerosTotZeros table
e. Кодируют позиции всех нулей с начала до последних ненулевых коэффициентов. В данном случае позиции всех нулей кодируют в «001101».e. Encode the positions of all zeros from the beginning to the last nonzero coefficients. In this case, the positions of all zeros are encoded in “001101”.
Окончательные кодированные биты для этого блока 4x4 содержат 25 битов: 0001011 | 011 | 10010 | 1110 | 001101. Одним из примеров альтернативных значений являются кодированные биты всего кодированного блока 4x4. Другим примером альтернативного значения могут быть биты, кодирующие знаки последних единиц, как описано в приведенном выше этапе c). В таком случае при изменении альтернативного значения изменяют только знак последних единиц и поэтому не изменяют всю битовую длину кодированного блока.The final coded bits for this 4x4 block contain 25 bits: 0001011 | 011 | 10010 | 1110 | 001101. One example of an alternative value is the encoded bits of an entire encoded 4x4 block. Another example of an alternative value may be bits encoding the characters of the last units, as described in step c) above. In this case, when changing the alternative value, only the sign of the last units is changed and therefore the entire bit length of the encoded block is not changed.
Еще одним примером кодированного информационного наполнения является изображение в формате JPEG2000. Вместо преобразования ДКП в JPEG2000 используют дискретное вейвлет-преобразование (ДВП). ДВП состоящего из пикселей изображения вычисляют с помощью последовательного применения по вертикали и по горизонтали низкочастотного и высокочастотного фильтров к пикселям изображения, где результирующие значения называют «вейвлет-коэффициентами». Вейвлет является колеблющейся волной, которая сохраняется только в течение одного или нескольких циклов. При каждой итерации фильтрованные только по низкой частоте вейвлет-коэффициенты предыдущей итерации уменьшают в 10 раз, затем они проходят через низкочастотный и высокочастотный фильтр по вертикали, и результаты этого процесса передают через низкочастотный и высокочастотный фильтр по горизонтали. Результирующий набор коэффициентов группируют в четыре «поддиапазона», а именно поддиапазоны LL, LH, HL и HH. Каждая итерация соответствует определенному «слою», или «уровню», коэффициентов. Первый уровень коэффициентов соответствует самому высокому уровню разрешения изображения, в то время как последний уровень соответствует самому низкому уровню разрешения. Одним из примеров альтернативного значения для кодированного с помощью JPEG2000 изображения является кодированный поддиапазон LL на определенном уровне (например, при самом низком разрешении).Another example of encoded content is a JPEG2000 image. Instead of converting DCT to JPEG2000, a discrete wavelet transform (DWT) is used. The fiberboard of an image consisting of pixels is calculated by sequentially applying vertically and horizontally low-pass and high-pass filters to image pixels, where the resulting values are called “wavelet coefficients”. A wavelet is an oscillating wave that lasts only for one or more cycles. At each iteration, the wavelet coefficients of the previous iteration filtered only at a low frequency are reduced by a factor of 10, then they pass through the low-pass and high-pass filters vertically, and the results of this process are transmitted through the low-pass and high-pass filters horizontally. The resulting set of coefficients is grouped into four “subbands”, namely the subbands LL, LH, HL and HH. Each iteration corresponds to a specific “layer,” or “level,” of coefficients. The first level of coefficients corresponds to the highest level of image resolution, while the last level corresponds to the lowest level of resolution. One example of an alternative value for a JPEG2000 encoded image is the LL encoded subband at a certain level (for example, at the lowest resolution).
Простой способ создания КВЗ состоит в использовании «метода проб и ошибок» с помощью выполнения следующих этапов для каждого КВЗ:A simple way to create a KVZ is to use the “trial and error method” by performing the following steps for each KVZ:
a) Для каждого статистического кода (например КПД в MPEG2) случайно выбирают значение в качестве кандидата на альтернативное значение.a) For each statistical code (e.g., efficiency in MPEG2), a value is randomly selected as a candidate for an alternative value.
b) Определяют, имеет ли этот кандидат допустимое значение, с помощью проверки соответствия формата после заменены этим кандидатом существующего значения. Если нет, то возвращаются на этап a).b) Determine whether this candidate has a valid value by checking the format conformity after replacing the candidate with the existing value. If not, then return to step a).
c) Проверяют изменение восприятия после замены существующего значения этим кандидатом. Если изменение восприятия является приемлемым, то записывают этот кандидат в качестве альтернативного значения для КВЗ. Иначе возвращаются на этап a).c) Check the change in perception after replacing the existing value with this candidate. If the change in perception is acceptable, then write down this candidate as an alternative value for the CVC. Otherwise, they return to step a).
Приведенные выше этапы повторяют до тех пор, пока все необходимые КВЗ не будут созданы.The above steps are repeated until all necessary KVZ are created.
В одном из вариантов осуществления КВЗ можно создавать с помощью системы создания водяных знаков, которую перестают использовать, которая работает в области преобразования. Сначала с помощью выбранной системы создания водяных знаков создают две копии с водяными знаками (A и B, обе в кодированной форме) исходного кодированного информационного наполнения с двумя различными копиями полезной информации: первая копия содержит полезную информацию водяного знака, в которой каждый бит равен «1», и другая копия содержит полезную информацию водяного знака, в которой каждый бит равен «0». Этапы 1 и 2 (см. фиг.1) можно выполнять следующим образом для выбора и создания КВЗ с помощью сканирования A и B до тех пор, пока следующие условия не будут выполняться:In one embodiment, the implementation of the HHC can be created using the watermarking system, which is no longer used, which works in the field of conversion. First, using the selected watermarking system, two copies with watermarks (A and B, both in coded form) of the original encoded content are created with two different copies of useful information: the first copy contains useful watermark information in which each bit is “1 ", And another copy contains useful watermark information in which each bit is" 0 ".
• (Выбор расположения) P1a и P2a являются начальной позицией и конечной позицией множества последовательных кодированных коэффициентов (их позиции до статистического кодирования будут отмечены как C) в кодированном информационном наполнении A, P1b и P2b являются начальной позицией и конечной позицией тех же самых кодированных коэффициентов в кодированном информационном наполнении B, и (P2b-P2a) и (P1b-P1a) должны быть равны (и равны длине L), и• (Location selection) P1a and P2a are the starting position and ending position of the set of consecutive coded coefficients (their positions before the statistical coding will be marked as C) in the coded payload A, P1b and P2b are the starting position and ending position of the same coded coefficients in encoded payload B, and (P2b-P2a) and (P1b-P1a) must be equal (and equal to the length L), and
• (Вычисление альтернативных значений) Предполагают, что по меньшей мере один бит полезной информации водяного знака необходимо внедрять в кодированные коэффициенты (и в A, и в B). Записывают один комплект водяного знака (P, L, C, V, V1, V2) следующим образом:• (Calculation of alternative values) It is believed that at least one bit of useful watermark information needs to be embedded in the coded coefficients (in both A and B). Record one set of watermark (P, L, C, V, V1, V2) as follows:
P=P1a, L=P2a-P1a, V не доступен в данном случае, V1 является значением от позиции P1a до P2a в A, и V2 является значением от позиции P1b до P2b в B.P = P1a, L = P2a-P1a, V is not available in this case, V1 is the value from position P1a to P2a in A, and V2 is the value from position P1b to P2b in B.
• Для выбора N комплектов водяного знака повторяют приведенный выше второй этап.• To select N watermark sets, repeat the second step above.
В альтернативном варианте осуществления бит полезной информации водяного знака кодируют как взаимозависимость между двумя выбранными квантованными коэффициентами на средней частоте. С помощью сканирования кодированного информационного наполнения может быть описан комплект водяного знака (P, L, C, V, V1, V2... Vn), и его расположение может быть определено с помощью следующих условий:In an alternative embodiment, the watermark payload bit is encoded as an interdependence between two selected quantized coefficients at a medium frequency. By scanning the encoded content, a watermark set (P, L, C, V, V1, V2 ... Vn) can be described, and its location can be determined using the following conditions:
• V содержит множество последовательных кодированных коэффициентов и существует по меньшей мере одна взаимозависимость (вид/категория взаимозависимостей определяют предварительно) между и/или среди этих коэффициентов. Например, если C1, C2 являются двумя последовательными кодированными коэффициентами и существует взаимозависимость C1>C2+T, где T является пороговым значением, которое можно использовать для корректировки степени взаимозависимости, что в свою очередь определяет надежность водяного знака.• V contains many consecutive coded coefficients and there is at least one interdependence (the type / category of interdependencies is determined previously) between and / or among these coefficients. For example, if C1, C2 are two successive coded coefficients and there is an interdependence C1> C2 + T, where T is a threshold value that can be used to adjust the degree of interdependence, which in turn determines the reliability of the watermark.
• Согласно модели восприятия системы создания водяных знаков коэффициенты можно изменять для установки другой взаимозависимости без изменения восприятия информационного наполнения. Например, C1 и C2 можно изменять на C1' и C2', соответственно так, чтобы была сформирована обратная взаимозависимость, т.е. C1'<C2'. Записывают новое значение, содержащее C1' и C2' в качестве альтернативного значения Vi (1<=i<=n). Этот этап повторяют до тех пор, пока все альтернативные значения не будут найдены.• According to the perception model of the watermarking system, the coefficients can be changed to establish a different interdependence without changing the perception of the content. For example, C1 and C2 can be changed to C1 'and C2', respectively, so that an inverse relationship is formed, i.e. C1 '<C2'. A new value is written containing C1 'and C2' as an alternative value of Vi (1 <= i <= n). This step is repeated until all alternative values are found.
• Для выбора N комплектов водяного знака повторяют приведенные выше этапы. В идеале первые N комплектов водяного знака, содержащие большинство коэффициентов, выбирают так, чтобы большинство взаимозависимостей можно было потенциально устанавливать в пределах каждого комплекта водяного знака. В эталонной системе создания водяных знаков одна взаимозависимость может представлять один бит полезной информации водяного знака, поэтому комплект водяного знака с самыми большими взаимозависимостями может иметь самую высокую возможность внедрения большего количества битов полезной информации водяного знака.• Repeat the above steps to select N watermark sets. Ideally, the first N watermark sets containing most of the coefficients are selected so that most of the interdependencies can potentially be set within each watermark set. In a reference watermarking system, one interdependence can represent one bit of useful watermark information, so a set of watermarks with the largest interdependencies may have the highest ability to embed more bits of useful watermark information.
В еще одном примере системы создания водяных знаков бит полезной информации водяного знака кодируют как взаимозависимость между значениями свойств двух наборов пикселей, или коэффициентов ДКП/вейвлет-коэффициентов. Типичные примеры свойств включают в себя среднее значение сигнала яркости, среднее значение гистограммы распределения цветов или энергию в определенном поддиапазоне частот.In yet another example of a watermarking system, bits of useful watermark information are encoded as a relationship between property values of two sets of pixels, or DCT / wavelet coefficients. Typical examples of properties include the average value of the luminance signal, the average value of the histogram of the distribution of colors, or the energy in a particular frequency range.
Одним из принципов настоящего изобретения является предварительная обработка кодированного информационного наполнения и генерация альтернативных значений, содержащих сигналы с водяными знаками. Эти альтернативные значения будут позже использоваться для замены явным образом определенных частей кодированного информационного наполнения. Хотя существующие системы создания водяных знаков можно применять к предварительной обработке (т.е. к этапам 1 и 2) и к фактической вставке (к этапу 3), новые алгоритмы создания водяных знаков можно разрабатывать конкретно для этой схемы.One of the principles of the present invention is the preprocessing of the encoded content and the generation of alternative values containing watermarked signals. These alternative values will later be used to replace explicitly defined portions of the encoded content. Although existing watermarking systems can be applied to preprocessing (i.e., steps 1 and 2) and to the actual insert (step 3), new watermarking algorithms can be developed specifically for this scheme.
Простым и универсальным способом обнаружения водяного знака является корреляция текущего коэффициента в информационном наполнении с водяными знаками с альтернативными значениями КВЗ для поиска альтернативного значения, имеющего лучшее соответствие с текущим коэффициентом. Для выполнения такой корреляции альтернативные значения необходимо декодировать в значения коэффициентов при использовании соответствующего статистического декодера. Каждое альтернативное значение КВЗ может содержать сигнал водяного знака, который соответствует полезной информации водяного знака. С помощью нахождения соответствующих альтернативных значений во всех КВЗ можно извлекать полезную информацию водяного знака. Обнаружение водяного знака можно выполнять на многочисленных уровнях. На первом уровне требуются элементы КВЗ: P, L и C. Предполагают, что количество КВЗ равно N. Для каждого КВЗ получают значения коэффициентов согласно глобальным индексам C коэффициентов. Если вводимое информационное наполнение является полосой немодулированных частот или кодировано в другом формате, чем формат, используемый при внедрении водяного знака, то преобразуют информационное наполнение сначала к той же самой кодированной форме, как при внедрении водяного знака. Необработанные биты полезной информации водяного знака извлекают с помощью определения взаимозависимости между и/или среди коэффициентов или между значениями свойств пикселей или значениями коэффициентов. Фиг.3 является последовательностью операций процесса обнаружения водяного знака настоящего изобретения. На этапе 305 индекс устанавливают в начальное значение. На этапе 310 берут/принимают «N» комплектов водяного знака, и на этапе 315 принимают подозрительное информационное наполнение. На этапе 320 проверяют индекс для определения, все ли водяные знаки обработаны/обнаружены. Если индекс больше количества водяных знаков «N», то процесс заканчивают. Если индекс не больше «N», тогда процесс переходит на этап 325, где получают коэффициенты. На этапе 330 битовые значения извлекают согласно взаимозависимостям между/среди коэффициентов. На этапе 335 увеличивают индекс, и процесс переходит на этап 320.A simple and universal way of detecting a watermark is to correlate the current coefficient in the content with watermarks with alternative values of the water shortage to find an alternative value that has a better match with the current coefficient. To perform this correlation, alternative values must be decoded into coefficient values using the appropriate statistical decoder. Each KVZ alternative value may contain a watermark signal that corresponds to the useful information of the watermark. By finding the appropriate alternative values in all of the CLCs, useful watermark information can be extracted. Watermark detection can be performed at multiple levels. At the first level, KVZ elements are required: P, L, and C. It is assumed that the number of KVZ is N. For each KVZ, coefficient values are obtained according to the global index C of the coefficients. If the input content is a band of unmodulated frequencies or is encoded in a different format than the format used when embedding the watermark, then the content is converted first to the same coded form as when embedding the watermark. The raw bits of the useful watermark information are extracted by determining the relationship between and / or among the coefficients or between the values of the pixel properties or the values of the coefficients. 3 is a flowchart of a watermark detection process of the present invention. At
Если из КВЗ извлекают очень слабые взаимозависимости, то полезно обратиться к другим элементам КВЗ: V и V1, V2... Vn, для обеспечения дополнительной информации для определения взаимозависимости. Взаимозависимость можно лучше определять с помощью корреляции текущих коэффициентов с коэффициентами, кодированными в V, V1, V2... и Vn. Самое высокое значение корреляции является корреляцией, которая указывает самое близкое соответствие между текущим коэффициентом и одним из V, V1, V2... Vn. Таким образом, самая высокая корреляция между текущими коэффициентами и коэффициентами, кодированными в Vi (1<i<n), указывает соответствие. Для подозрительного информационного наполнения с серьезными атаками может потребоваться исходное информационное наполнение для дополнительного анализа и корреляции.If very weak interdependencies are extracted from the KVZ, it is useful to refer to other elements of the KVZ: V and V1, V2 ... Vn, to provide additional information for determining the interdependence. The interdependence can be better determined by correlating the current coefficients with the coefficients encoded in V, V1, V2 ... and Vn. The highest correlation value is the correlation, which indicates the closest match between the current coefficient and one of V, V1, V2 ... Vn. Thus, the highest correlation between current coefficients and coefficients encoded in Vi (1 <i <n) indicates compliance. Suspicious content with serious attacks may require initial content for additional analysis and correlation.
Другой способ использования КВЗ для доставки информационного наполнения, которое защищено авторским правом, состоит в использовании КВЗ для восстановления поврежденного информационного наполнения перед воспроизведением. В таком случае кодированное информационное наполнение, которое доставляют к устройству воспроизведения/исполнения, имеет или явно поврежденный формат/структуру (недопустимый формат), или поврежденное информационное наполнение (информационное наполнение с ухудшенным качеством). Декодер не сможет декодировать информационное наполнение с поврежденным форматом. Если применяют искажение информационного наполнения, то это информационное наполнение можно декодировать и воспроизводить, но у поврежденных частей информационного наполнения могут существовать различные визуальные дефекты изображения, такие как шум, сигналы и случайные узоры.Another way to use the KVZ to deliver content that is protected by copyright is to use the KVZ to recover damaged content before playback. In this case, the encoded content that is delivered to the playback / execution device has either a clearly damaged format / structure (invalid format) or damaged content (poor quality content). The decoder will not be able to decode content with a damaged format. If distortion of the content is applied, then this content can be decoded and reproduced, but damaged visual parts of the content may have various visual image defects, such as noise, signals, and random patterns.
Для создания информационного наполнения с поврежденным форматом с помощью данного комплекта водяного знака (P, L, V, V1, V2... Vn) можно просто заменять L битов, начиная с P, в доставленном кодированном информационном наполнении случайным значением. Чтобы дополнительно гарантировать, что случайное значение действительно повреждает формат, можно просто исключить случайные значения, которые являются допустимыми статистическими кодами. Для введения визуальных дефектов изображения в информационном наполнении или для ухудшения качества информационного наполнения выбирают допустимое альтернативное значение, которое находится далеко от исходного значения V и от всех других альтернативных значений V1, V2... Vn, для замены текущего значения в кодированном информационном наполнении. Одним из примеров использования поврежденного формата или ухудшенного качества является противодействие определенному устройству или одной категории устройств, которые скомпрометированы или использовались для незаконного использования информационного наполнения. Эти альтернативные значения, которые вызывают повреждение формата или ухудшение качества информационного наполнения, выбирают для замены только определенной полезной информации водяного знака, которая идентифицирует устройство или категорию устройств.To create content with a damaged format using this watermark set (P, L, V, V1, V2 ... Vn), you can simply replace the L bits starting with P in the delivered encoded content with a random value. To further ensure that a random value does damage the format, you can simply exclude random values that are valid statistical codes. To introduce visual image defects in the content or to reduce the quality of the content, a valid alternative value is selected that is far from the original value V and from all other alternative values V1, V2 ... Vn, to replace the current value in the encoded content. One example of using a damaged format or degraded quality is to counteract a particular device or one category of devices that have been compromised or used to illegally use content. These alternative values, which cause format corruption or poor content, are selected to replace only certain useful watermark information that identifies a device or device category.
Водяной знак можно удалять, если КВЗ известны, с помощью простого восстановления информационного наполнения в исходное значение V в каждом КВЗ. Для перезаписи существующего водяного знака в кодированном информационном наполнении можно просто выбирать соответствующее значение из V1, V2... Vn в каждом КВЗ согласно полезной информации для замены значения, содержащего существующий водяной знак в кодированном информационном наполнении. Использование водяного знака с возможностью удаления полезно в некоторых применениях для поддержки многократного создания водяных знаков. Примером многократного создания водяных знаков является внедрение судебной метки на каждом этапе завершающей стадии создания информационного наполнения. Чтобы избежать накопления ухудшения восприятия, которое может вводиться с помощью множества водяных знаков, некоторые могут захотеть удалять некоторые или все предыдущие водяные знаки перед внедрением нового водяного знака. Фиг.4 показывает пример средства внедрения водяного знака в устройстве воспроизведения. Средство внедрения водяного знака внедряет водяной знак с помощью замены некоторых значений/коэффициентов в кодированном информационном наполнении, принимаемом устройствами, альтернативными значениями, определенными в КВЗ. Водяной знак с возможностью замены может также быть полезен для переключения состояний защиты от копирования для защищенного авторским правом информационного наполнения. Например, для элемента информационного наполнения с информацией водяного знака, указывающей «копировать один раз», после того, как сделана одна копия, можно захотеть изменить информацию водяного знака с «копировать один раз» на «не копировать». Существует несколько подходов для того, чтобы избежать любых потенциальных конфликтов множества водяных знаков (т.е. взаимного влияния между множеством водяных знаков). Одним из подходов является использование уникального поддиапазона для генерации каждого водяного знака. Другим подходом является выбор КВЗ с позициями, которые отличаются от предыдущих водяных знаков.A watermark can be removed if the watermarks are known, by simply restoring the content to its original value V in each watermarks. To overwrite an existing watermark in a coded payload, you can simply select the appropriate value from V1, V2 ... Vn in each CIC according to useful information to replace the value containing the existing watermark in the coded payload. Using the watermark with the ability to delete is useful in some applications to support multiple watermarking. An example of multiple creation of watermarks is the introduction of a judicial mark at each stage of the final stage of creating information content. In order to avoid the accumulation of perceptual degradation that may be introduced by a plurality of watermarks, some may want to delete some or all of the previous watermarks before introducing a new watermark. 4 shows an example of a watermark embedding means in a reproducing apparatus. The watermark embedder embeds the watermark by replacing some of the values / coefficients in the encoded content received by the devices with alternative values defined in the KBZ. A replaceable watermark can also be useful for switching copy protection states for copyrighted content. For example, for a content item with watermark information indicating “copy once”, after one copy is made, you might want to change the watermark information from “copy once” to “do not copy”. There are several approaches in order to avoid any potential conflicts of multiple watermarks (i.e., the mutual influence between multiple watermarks). One approach is to use a unique subband to generate each watermark. Another approach is to select a watermark with positions that differ from previous watermarks.
Следует понимать, что настоящее изобретение можно воплощать в различных видах аппаратных средств, программного обеспечения, встроенного программного обеспечения, специальных процессоров или их комбинации. Предпочтительно, настоящее изобретение воплощают как комбинацию аппаратных средств и программного обеспечения. Кроме того, программное обеспечение предпочтительно осуществляют как прикладную программу, явным образом воплощенную на запоминающем устройстве программы. Прикладную программу можно загружать на компьютер, содержащий любую подходящую архитектуру, и выполнять с его помощью. Предпочтительно, компьютер воплощают на компьютерной платформе, имеющей аппаратные средства, такие как один или большее количество центральных процессоров (ЦП), оперативная память (ОП) и интерфейс(ы) ввода-вывода (В/В). Компьютерная платформа также включает в себя микропрограммный код и операционную систему. Различные описанные процессы и функции могут быть или частью микропрограммного кода, или частью прикладной программы (или их комбинацией), которые выполняются через операционную систему. Кроме того, различные другие периферийные устройства можно подключать к компьютерной платформе, такие как дополнительное устройство хранения данных и устройство печати.It should be understood that the present invention can be embodied in various types of hardware, software, firmware, special processors, or a combination thereof. Preferably, the present invention is embodied as a combination of hardware and software. In addition, the software is preferably implemented as an application program explicitly embodied on a program memory. An application program can be downloaded to a computer containing any suitable architecture and run with it. Preferably, the computer is embodied on a computer platform having hardware such as one or more central processing units (CPUs), random access memory (RAM), and input / output (I / O) interface (s). The computer platform also includes firmware and an operating system. The various processes and functions described may be either part of the firmware code, or part of the application program (or a combination thereof) that are executed through the operating system. In addition, various other peripheral devices can be connected to a computer platform, such as an additional data storage device and a printing device.
Нужно также понимать, что из-за того, что некоторые из составляющих компонентов системы и этапов способа, изображенных на сопроводительных чертежах, предпочтительно осуществляют в программном обеспечении, фактические соединения между системными компонентами (или этапами процесса) могут отличаться в зависимости от способа, которым запрограммировано настоящее изобретение. Учитывая вышеизложенное, специалисты могут рассматривать эти и подобные реализации или конфигурации настоящего изобретения.You must also understand that due to the fact that some of the components of the system and the steps of the method shown in the accompanying drawings are preferably carried out in software, the actual connections between system components (or process steps) may differ depending on the method that is programmed the present invention. In view of the foregoing, those skilled in the art may consider these and similar implementations or configurations of the present invention.
Claims (28)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2008127313/09A RU2434356C2 (en) | 2005-12-05 | 2005-12-05 | Creating watermarks in coded information content |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2008127313/09A RU2434356C2 (en) | 2005-12-05 | 2005-12-05 | Creating watermarks in coded information content |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2008127313A RU2008127313A (en) | 2010-01-20 |
RU2434356C2 true RU2434356C2 (en) | 2011-11-20 |
Family
ID=42120065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2008127313/09A RU2434356C2 (en) | 2005-12-05 | 2005-12-05 | Creating watermarks in coded information content |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2434356C2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2544779C1 (en) * | 2014-05-07 | 2015-03-20 | Открытое акционерное общество "Концерн радиостроения "Вега" | Method of synchronising digital watermark of electronic image |
RU2741067C1 (en) * | 2020-09-04 | 2021-01-22 | Общество с ограниченной ответственностью "Кросстех Солюшнс Групп" | System and method of providing steganographic coding of text |
RU2758666C1 (en) * | 2021-03-25 | 2021-11-01 | Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) | Method and system for protection of digital information displayed on the screen of electronic apparatuses using dynamic digital tags |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2448419C2 (en) * | 2010-07-05 | 2012-04-20 | Открытое акционерное общество "Концерн радиостроения "Вега" | Method for authenticating jpeg electronic image (versions) |
RU2462825C1 (en) * | 2011-07-08 | 2012-09-27 | Государственное образовательное учреждение высшего профессионального образования "Поволжский государственный университет телекоммуникаций и информатики" (ГОУВПО ПГУТИ) | Method of hidden transfer of coded information along multiple communication channels |
RU2739936C1 (en) * | 2019-11-20 | 2020-12-29 | Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) | Method of adding digital labels to digital image and apparatus for realizing method |
RU2761417C1 (en) * | 2020-11-05 | 2021-12-08 | Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) | Method for steganographying a digital image using a graphic digital label and method for decrypting a steganographied image |
-
2005
- 2005-12-05 RU RU2008127313/09A patent/RU2434356C2/en not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
HUNG-HSUN LIU et al. REAL TIME DIGITAL VIDEO WATERMARKING FOR DIGITAL RIGHTS MANAGEMENT VIA MODIFICATION OF VLCS, PARALLEL AND DISTRIBUTED SYSTEMS, 2005. PROCEEDINGS. 11TH INTERNATIONAL CONFERENCE ON FUKUOKA, Japan 20-22 July 2005. SHUOZHONG WANG et al. Image Watermarking Using Dither Modulation in Dual-Transform Domain, Journal of the Imaging Society of Japan, 41(4), 2002. DEEPA KUNDAR, Multiresolution Digital Watermarking: Algorithms and Implications for Multimedia Signals, University of Toronto, 1999. * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2544779C1 (en) * | 2014-05-07 | 2015-03-20 | Открытое акционерное общество "Концерн радиостроения "Вега" | Method of synchronising digital watermark of electronic image |
RU2741067C1 (en) * | 2020-09-04 | 2021-01-22 | Общество с ограниченной ответственностью "Кросстех Солюшнс Групп" | System and method of providing steganographic coding of text |
RU2758666C1 (en) * | 2021-03-25 | 2021-11-01 | Публичное Акционерное Общество "Сбербанк России" (Пао Сбербанк) | Method and system for protection of digital information displayed on the screen of electronic apparatuses using dynamic digital tags |
WO2022203536A1 (en) * | 2021-03-25 | 2022-09-29 | Публичное Акционерное Общество "Сбербанк России" | Method and system for protecting digital information |
Also Published As
Publication number | Publication date |
---|---|
RU2008127313A (en) | 2010-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101273473B1 (en) | Watermarking Encoded Content | |
EP0928110B1 (en) | Image signal processing for electronic watermarking | |
EP2130173B1 (en) | Modifying a coded bitstream | |
US7801326B2 (en) | Digital watermark and film mark | |
RU2434356C2 (en) | Creating watermarks in coded information content | |
JP2004507177A (en) | How to embed a digital watermark in digital image data | |
JP2004163855A (en) | Electronic watermark embedding method, and encoder and decoder capable of utilizing such method | |
JP2002325170A (en) | Image processing unit and its method, and program code, storage medium | |
JP4024153B2 (en) | Digital watermark embedding method and encoding device and decoding device capable of using the method | |
US7451317B2 (en) | Apparatus for and method of embedding watermark into original information, transmitting watermarked information, and reconstructing the watermark | |
WO2008147142A2 (en) | Method and system of inserting watermark for h.264/avc video stream | |
US7418110B2 (en) | Method and apparatus for compressed-domain watermarking | |
JP2000101826A (en) | Digital video coding/decoding device using watermarking to record and decode signature video image and its method | |
Barni et al. | Object watermarking for for MPEG-4 video streams copyright protection | |
Liu et al. | Error concealment for digital images using data hiding | |
JP4919213B2 (en) | Digital watermark insertion method and detection method | |
US20130188712A1 (en) | Compressed Domain Watermarking with Reduced Error Propagation | |
JP5571756B2 (en) | Watermark encoded content | |
Berger II et al. | Watermarking in JPEG bitstream | |
US11308572B1 (en) | Method and system for invisible watermarking of images and video | |
US20050141748A1 (en) | Image-processing apparatus and method | |
MX2008006995A (en) | Watermarking encoded content | |
CN114598887A (en) | Anti-recompression video watermarking method for controlling bit rate increase | |
Karim et al. | Reversible data embedding for any digital signal | |
Xue et al. | A fast H. 264 compressed domain watermarking scheme with minimized propagation error based on macro-block dependency analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20141206 |