ES2248715T3 - Procedimeinto de marcado de agua de una señal de video, sistema y soporte de datos para la realizacion de este procedimiento, procedimiento y sistema de extraccion de esta marca de agua. - Google Patents
Procedimeinto de marcado de agua de una señal de video, sistema y soporte de datos para la realizacion de este procedimiento, procedimiento y sistema de extraccion de esta marca de agua.Info
- Publication number
- ES2248715T3 ES2248715T3 ES03292719T ES03292719T ES2248715T3 ES 2248715 T3 ES2248715 T3 ES 2248715T3 ES 03292719 T ES03292719 T ES 03292719T ES 03292719 T ES03292719 T ES 03292719T ES 2248715 T3 ES2248715 T3 ES 2248715T3
- Authority
- ES
- Spain
- Prior art keywords
- video signal
- vector
- water
- motion
- vectors
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/0085—Time domain based watermarking, e.g. watermarks spread over several images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/467—Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0053—Embedding of the watermark in the coding stream, possibly without decoding; Embedding of the watermark in the compressed domain
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Television Systems (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
Procedimiento de marcado de agua de una señal de vídeo (S) mediante la aplicación de una función de marcado de agua a unos vectores de movimiento calculados por estimación de movimiento entre imágenes de la señal de vídeo, que comprende las etapas siguientes: -aplicación (22) de la función de marcado de agua a por lo menos una parte (20) de los vectores de movimiento calculados; - generación (30) de la señal de vídeo con marca de agua por compensación de movimiento con la ayuda de los vectores de movimiento con marca de agua (28), siendo realizada la aplicación de la función de marcado de agua con la ayuda de una clave de marcado binaria (W) de la que cada uno de los bits está asociado a por lo menos un vector de movimiento seleccionado, caracterizado porque para la aplicación de la función de marcado de agua: -se marcan las coordenadas del vector de movimiento seleccionado () en un espacio de referencia dividido en varias partes predeterminadas; - se definen, en cada parte, dos zonas complementarias Z0 y Z1, estando cualquiera de las dos zonas situada en el interior de la otra; - se asigna un valor binario a cada una de las dos zonas; - se modifican eventualmente las coordenadas del vector de movimiento seleccionado, de manera que se sitúe en la zona de la parte a la cual pertenece, cuyo valor binario corresponde al bit de la clave de marcado al cual está asociado el vector de movimiento seleccionado.
Description
Procedimiento de marcado de agua de una señal de
vídeo, sistema y soporte de datos para la realización de este
procedimiento, procedimiento y sistema de extracción de esta marca
de agua.
La presente invención se refiere a un
procedimiento de marcado de agua de una señal de vídeo, a un sistema
correspondiente y a un soporte de datos legible por ordenador para
el almacenado de una señal con marca de agua por este procedimiento.
La invención se refiere asimismo a un procedimiento de extracción de
la marca de agua de una señal de vídeo y a un sistema para la
realización de este procedimiento.
Más precisamente, la invención se refiere a un
procedimiento de marcado de agua por la aplicación de una función de
marcado de agua a unos vectores de movimiento calculados por
estimación del movimiento entre imágenes de la señal de vídeo, del
tipo que comprende unas etapas siguientes:
- -
- aplicación de la función de marcado de agua a por lo menos una parte de los vectores de movimiento calculados;
- -
- generación de la señal de vídeo con marca de agua por compensación de movimiento con la ayuda de los vectores de movimiento con marca de agua,
siendo la aplicación de la función de marcado de
agua realizada con la ayuda de una clave de marcado binaria de la
que cada uno de los bits está asociado a por lo menos un vector de
movimiento seleccionado.
Dicho procedimiento se describe en el documento
de F. Jordan, M. Kutter, T. Ebrahimi, "Proposal of a watermarking
technique for hiding/retrieving data in compressed and decompressed
vídeo", ISO/IEC document JTC1/SC29/
WG11/MPEG97/M2281, de julio de 1997. En este documento, se aplica la función de marcado de agua con la ayuda de una clave de marcado. Esta es una palabra binaria de una longitud de 16 ó 32 bits, insertada en los vectores de movimiento de la señal de vídeo, siendo éstos obtenidos con la ayuda de un codificador de tipo MPEG4. Se seleccionan tantos vectores de movimiento como bits haya en la clave de marcado, es decir 16 ó 32. Después, para cada uno de los vectores seleccionados, se inserta el bit correspondiente de la clave de marcado en una de las componentes del vector de movimiento, por ejemplo la componente vertical, modificando su paridad.
WG11/MPEG97/M2281, de julio de 1997. En este documento, se aplica la función de marcado de agua con la ayuda de una clave de marcado. Esta es una palabra binaria de una longitud de 16 ó 32 bits, insertada en los vectores de movimiento de la señal de vídeo, siendo éstos obtenidos con la ayuda de un codificador de tipo MPEG4. Se seleccionan tantos vectores de movimiento como bits haya en la clave de marcado, es decir 16 ó 32. Después, para cada uno de los vectores seleccionados, se inserta el bit correspondiente de la clave de marcado en una de las componentes del vector de movimiento, por ejemplo la componente vertical, modificando su paridad.
Desgraciadamente, esta solución no es muy
robusta, puesto que el menor ataque puede transformar una ordenada
par en ordenada impar e inversamente. Por "ataque" se entienden
unos ataques malintencionados pero también ataques no
malintencionados como la compresión, o el cambio de formato espacial
o temporal de la señal de vídeo. Además, modificando siempre la
misma componente predeterminada de los vectores de movimiento
seleccionados, por ejemplo la componente vertical, en esta solución
corre el riesgo de incrementar la visibilidad de la marca de agua en
la señal de vídeo.
La invención prevé evitar estos inconvenientes
proporcionando un procedimiento robusto de marcado de agua de la
señal de vídeo, que mejora las características de la marca de agua
en términos de invisivibilidad, haciendo al mismo tiempo que los
vectores de movimiento soporten la marca de agua.
A este fin, la invención tiene por objeto un
procedimiento de marcado de agua de una señal de vídeo del tipo
citado, caracterizado porque para la aplicación de la función de
marcado de agua:
- -
- se marcan las coordenadas del vector de movimiento seleccionado en un espacio que comprende una partición de referencia, constituyendo algunas partes de este espacio una primera zona, y constituyendo las otras partes de este espacio una segunda zona complementaria de la primera estando cualquiera de las dos zonas situada en el interior de la otra,
- -
- se asigna un valor binario a cada una de las dos zonas; y
- -
- se modifican eventualmente las coordenadas del vector de movimiento seleccionado, de manera que se sitúe en la zona de la parte a la cual pertenece, cuyo valor binario corresponde al bit de la clave del marcado al cual está asociado el vector de movimiento seleccionado.
Este enfoque permite efectivamente prever una
mayor diversidad en la modificación de los vectores de movimiento
seleccionados, lo que mejora la calidad de la marca de agua en
términos de invisibilidad. La robustez está también mejorada puesto
que la marca de agua conduce a modificar las componentes de los
vectores de movimiento seleccionados por una transformación
geométrica y no solamente por un cambio de paridad.
Un procedimiento según la invención puede además
comprender la característica según la cual la partición de
referencia es una rejilla de referencia que comprende unos bloques
de dimensiones previamente definidas, comprendiendo cada bloque una
primera y una segunda zona.
De forma opcional un procedimiento de marcado de
agua según la invención comprende las etapas siguientes:
- -
- cálculo jerárquico de varios niveles sucesivos de vectores movimiento, estando cada uno de los vectores de movimiento de un nivel determinado asociados a varios vectores de movimiento de un nivel directamente inferior;
- -
- selección de por lo menos una parte de los vectores de movimiento que pertenecen al nivel más elevado;
- -
- aplicación de la función de marcado de agua a cada vector de movimiento seleccionado que conduce al cálculo de un parámetro de modificación de este vector de movimiento; y
- -
- aplicación del parámetro de modificación del vector de movimiento seleccionado a los vectores de movimiento de un nivel inferior asociados a este vector de movimiento.
El enfoque jerárquico de este procedimiento
permite efectivamente aumentar la robustez de la marca de agua
extendiendo cuidadosamente la clave de marcado sobre varios
vectores de movimiento, a partir de un solo vector de movimiento
seleccionado.
Un procedimiento de marcado de agua de una señal
de vídeo según la invención puede además comprender una o varias de
las características siguientes:
- -
- cada uno de los vectores de movimiento de un nivel determinado son iguales a la mediana de los vectores de movimiento del nivel directamente inferior a los cuales están asociados;
- -
- comprende una etapa de cálculo jerárquico de dos niveles sucesivos de vectores de movimiento, estando cada vector de movimiento del nivel superior asociado a cuatro vectores de movimiento del nivel inferior;
- -
- las primera y segunda zonas presentan superficies sustancialmente iguales;
- -
- se define en cada bloque de la rejilla de referencia un subbloque centrado en el interior del bloque, estando la primera zona definida por el interior del subbloque y siendo la segunda zona la zona complementaria de la primera zona en el bloque;
- -
- los bloques y subbloques de la rejilla de referencia son rectangulares;
- -
- la modificación eventualmente aportada al vector de movimiento seleccionado es una simetría ponderada;
- -
- la modificación eventualmente aportada al vector de movimiento seleccionado es o bien una simetría central ponderada con respecto a uno de los vértices del subbloque, o bien una simetría axial ponderada con respecto a uno de los lados del subbloque;
- -
- cada bit de la clave de marcado binaria está asociado a varios vectores de movimiento seleccionados; y
- -
- una parte de los bits de la clave de marcado binaria está asociada a unos vectores de movimiento calculados por estimación de movimiento entre dos imágenes de la señal de vídeo, y por lo menos otra parte de los bits de la clave de marcado binaria está asociada a unos vectores de movimiento calculados por estimación de movimiento entre por lo menos otras dos imágenes de la señal de vídeo.
La invención tiene asimismo por objeto un
dispositivo de marcado de agua de una señal de vídeo, caracterizado
porque comprende unos medios para la realización de un procedimiento
tal como el descrito anteriormente.
La invención tiene asimismo por objeto un soporte
de datos legible por ordenador, caracterizado porque comprende unos
medios de almacenado de una señal de vídeo con marca de agua con la
ayuda de un procedimiento tal como el descrito anteriormente.
La invención tiene asimismo por objeto un
procedimiento de extracción de la marca de agua de una señal de
vídeo con marca de agua por la aplicación de un procedimiento tal
como el descrito anteriormente, caracterizado porque comprende la
aplicación de una función de extracción de la clave de marcado
binaria que consiste en:
- -
- seleccionar los vectores con marca de agua;
- -
- marcar las coordenadas de cada vector de movimiento con marca de agua en la rejilla de referencia; y
- -
- asignar al bit de la clave de marcado al cual está asociado el vector de movimiento seleccionado, el valor binario de la zona en la cual se sitúa el vector con marca de agua.
Un procedimiento de extracción de la marca de
agua de una señal de vídeo puede además comprender la característica
según la cual, para cada vector de movimiento del nivel más elevado
seleccionado cuando tiene lugar la aplicación del procedimiento de
marcado de agua:
- -
- se extraen los vectores de movimiento con marca de agua asociados a este vector de movimiento;
- -
- se calcula un vector medio igual a la mediana de los vectores de movimiento con marca de agua asociados a este vector de movimiento; y
- -
- se aplica la función de extracción de la clave de marcado al vector medio calculado.
Por último, la invención tiene asimismo por
objeto un dispositivo de extracción de la marca de agua de una señal
de vídeo, caracterizado porque comprende unos medios para la
realización de un procedimiento de extracción de la marca de agua
tal como el descrito anteriormente.
La invención se pondrá más claramente de
manifiesto a partir de la lectura de la descripción siguiente,
proporcionada únicamente a título de ejemplo y con referencia a los
planos anexos, en los que:
- la figura 1 representa las etapas sucesivas de
un procedimiento de marcado de agua según la invención;
- la figura 2 representa una rejilla de
referencia utilizada para la aplicación de una función de marcado de
agua según la invención;
- las figuras 3, 4, 5 y 6 ilustran las reglas de
aplicación de la función de marcado de agua.
El procedimiento de marcado de agua representado
en la figura 1 es realizado por unos medios informáticos de tipo
clásico. Se trata, por ejemplo, de un microordenador que comprende
una unidad central de cálculo asociada a unas memorias del tipo RAM
o ROM.
El procedimiento de marcado de agua comprende una
primera etapa 10 de estimación del movimiento.
Cuando tiene lugar esta etapa, se proporciona a
la entrada del microordenador una señal fuente de vídeo S y, de
forma clásica, se asocia a una imagen cualquiera de la señal de
vídeo S una matriz de vectores de movimiento 12. Esta matriz de
vectores de movimiento permite generar una imagen predicha de la
imagen considerada a partir, por ejemplo, de la imagen anterior de
la señal de vídeo, desplazando unos bloques de píxeles de ésta, en
función de los vectores de movimiento calculados.
El cálculo de los vectores de movimiento se
efectúa por ejemplo por la aplicación de un procedimiento de
"block matching". Este procedimiento consiste, para cada bloque
de píxeles de la imagen considerada, en evaluar el mejor vector de
movimiento que permita reconstruir este bloque actual a partir de un
bloque del mismo tamaño de la imagen precedente desplazado con la
ayuda del vector de movimiento. Para ello, se realiza una búsqueda
alrededor del bloque actual en la imagen precedente, a fin de
determinar el vector de movimiento que minimice una función de costo
clásica conocido bajo el nombre DFD para "Displaced Frame
Difference", que representa la diferencia entre el bloque de la
imagen precedente desplazado y el bloque actual en la imagen
considerada.
La matriz de vectores de movimiento 12
representada en esta figura comprende 36 vectores de movimiento
anotados \overrightarrow{V}_{ij}, con 1\leq i \leq 9 y 1
\leq j \leq 4. Evidentemente el número de vectores de movimiento
será generalmente más elevado. Se han representado solamente 36, a
fines de simplicidad en la continuación de la descripción.
A continuación, cuando tiene lugar una etapa 14,
se calcula un nivel más elevado de vectores de movimiento 16. En
este nivel más elevado, cada vector de movimiento está asociado a
cuatro vectores de movimiento del nivel inferior 12. En efecto, los
bloques que corresponden a cada vector de movimiento del nivel
inferior 12 son agrupados de cuatro en cuatro en macrobloques. El
nivel superior cuenta por tanto con 9 vectores anotados
\overrightarrow{V}_{1} a \overrightarrow{V}_{9}. Cada vector
de movimiento \overrightarrow{V}_{i} del nivel superior es
representativo de un macrobloque y es calculado de la forma
siguiente:
\overrightarrow{V_{i}} =
\frac{1}{4} \sum\limits_{j=1}^{4}
\overrightarrow{V_{i.j}}
La etapa 14 podría ser reiterada varias veces, de
manera que podría ser creada una jerarquía de niveles de vectores de
movimiento. En este ejemplo, se ha limitado a una sola reiteración,
es decir a dos niveles de vectores de mo-
vimiento.
vimiento.
A continuación, cuando tiene lugar una etapa 18,
se selecciona de forma determinista, o de forma seudoaleatoria, a
partir de una clave secreta, o a partir de una máscara, un conjunto
20 de vectores de movimiento de entre los vectores de movimiento 16
del nivel superior. En este ejemplo, el conjunto 20 de vectores de
movimiento seleccionados está constituido por los vectores
\overrightarrow{V}_{6},\overrightarrow{V}_{5},\overrightarrow{V}_{2},
y \overrightarrow{V}_{9}
Cuando tiene lugar la etapa de marcado de agua 22
siguiente, se modifican los vectores seleccionados 20 por la
aplicación sobre éstos de una función de marcado de agua, con la
ayuda de una clave de marcado W. El número de vectores de movimiento
20 seleccionados está directamente ligado al tamaño de la clave de
marcado W. En este ejemplo, W es una palabra binaria que comprende
cuatro bits. Es la razón por la cual cuatro vectores de movimiento
han sido seleccionados cuando tiene lugar la etapa 18.
Así, cuando tiene lugar la etapa 22, la función
de marcado de agua es parametrada para insertar el primer bit de la
clave de marcado W en el vector de movimiento
\overrightarrow{V}_{6} , el segundo bit en el vector de
movimiento \overrightarrow{V}_{5} , el tercer bit en el vector
de movimiento \overrightarrow{V}_{2} y el cuarto bit en el
vector de movimiento \overrightarrow{V}_{9}.
La función de marcado de agua elegida será
descrita más precisamente con referencia a las figuras 2 a 6. Pero
de manera general, la misma puede ser modelizada por la ecuación
siguiente:
f(\overrightarrow{V}_{1}) =
\overrightarrow{V_{i}} + \overrightarrow{\delta
V_{i}},
en la que \overrightarrow{\delta
V}_{i} es un parámetro dependiente de la función de marcado de
agua elegida y del iésimo bit a insertar en la clave de marcado
W.
A continuación de esta etapa 22, se obtienen
cuatro nuevos vectores de movimiento \overrightarrow{V}'_{6} ,
\overrightarrow{V}'_{5}, \overrightarrow{V}'_{2},
\overrightarrow{V}'_{9}. Como se ha indicado anteriormente, estos
vectores verifican las relaciones siguientes:
\overrightarrow{V}'_{6} =
\overrightarrow{V}_{6} + \overrightarrow{\delta
V}_{6}
\overrightarrow{V}'_{5} =
\overrightarrow{V}_{5} + \overrightarrow{\delta
V}_{5}
\overrightarrow{V}'_{2} =
\overrightarrow{V}_{2} + \overrightarrow{\delta
V}_{2}
\overrightarrow{V}'_{9} =
\overrightarrow{V}_{9} + \overrightarrow{\delta
V}_{9}
Cuando tiene lugar la etapa 25 siguiente, se
aplica, a los vectores de movimiento del nivel inferior que están
asociados a los vectores seleccionados 20, la función de marcado de
agua con los parámetros \overrightarrow{\delta V}_{i},
calculados cuando tiene lugar la etapa precedente. Así, por ejemplo,
la transformación \overrightarrow{\delta V}_{6}, aplicada al
vector de movimiento \overrightarrow{V}_{6} está también aplicada
a los vectores correspondientes del nivel inferior es decir los
vectores \overrightarrow{V_{6.1}}, \overrightarrow{V_{6.2}},
\overrightarrow{V_{6.3}}, \overrightarrow{V_{6.4}}.
Se obtienen así dieciséis nuevos vectores de
movimiento 26 al nivel inferior, que verifican la ecuación
siguiente:
\foralli\in
{6;5;2;9}, \forallj\in {1;2;3;4}\overrightarrow{V'_{1,j}} =
\overrightarrow{V_{1,j}} + \overrightarrow{\delta
V}_{1}
Estos dieciséis nuevos vectores de movimiento
reemplazan los vectores iniciales correspondientes para proporcionar
una nueva matriz 28 de vectores de movimiento. Esta nueva matriz 28
permite obtener una versión con marca de agua S' de la señal de
vídeo S.
En efecto, cuando tiene lugar una última etapa
30, se procede a una compensación de movimiento con la ayuda de esta
matriz de vectores de movimiento 28, a partir de la imagen que ha
servido de referencia para la estimación de movimiento cuando tiene
lugar la etapa 10, es decir la imagen precedente a la imagen
considerada.
Cuando tiene lugar esta etapa, son previsibles
dos procedimientos.
El primer procedimiento consiste en efectuar la
compensación de movimiento con la ayuda del conjunto de los vectores
de movimiento de la matriz 28 para encontrar de nuevo una versión
con marca de agua de la imagen considerada.
Un segundo procedimiento consiste en efectuar
solamente la compensación de movimiento para los bloques
correspondientes a los vectores de movimiento modificados por la
operación de marcado de agua y en dejar los otros bloques de la
imagen considerada sin cambios, a fin de obtener una mejor calidad
de imagen.
Las etapas 10 a 30 descritas anteriormente pueden
ser reiteradas sobre varias imágenes de la señal de vídeo S. La
redundancia así obtenida permite aumentar la robustez de la marca de
agua.
\newpage
Se puede también realizar la redundancia de la
marca de agua asociando cada bit de la clave de marcado W a varios
vectores de movimiento seleccionados en el nivel superior.
Un procedimiento de marcado de agua tal como el
que se ha descrito anteriormente no se inscribe en un sistema de
codificación/descodificación. Pero los movimientos a aportar al
mismo para que pueda ser realizado en dicho sistema, utilizando un
análisis del movimiento, son evidentes. En efecto, los
procedimientos de codificación de vídeo, tales como los
procedimientos que utilizan el estándar MPEG2 o el estándar MPEG4
generan unas matrices de vectores de movimiento sobre los cuales es
posible aplicar el procedimiento descrito anteriormente, cuando
tiene lugar la codificación de la señal de vídeo.
Se observará que la etapa 14 es opcional. Sin la
aplicación de esta etapa, los vectores de movimiento seleccionados
son los vectores de movimiento del nivel inferior, y se puede
compensar la extensión menos importante de la marca de agua en la
imagen, por la selección de varios vectores de movimientos para cada
bit de la clave de marcado. Esto tiene sin embargo por efecto
limitar las características de la marca de agua en términos de
invisibilidad. En efecto, un interés del enfoque jerárquico es
aplicar la misma deformación sobre unos vectores de movimiento
próximos en el nivel inferior.
En un modo de realización particular de la
invención, se puede repartir la inserción de la clave de marcado en
la señal de vídeo S sobre varios pares de imágenes. Dicho de otro
modo, se puede insertar sólo una parte de la clave de marcado W en
unos vectores de movimiento seleccionados de una matriz de vectores
de movimiento calculada entre dos imágenes sucesivas, y después
insertar la otra parte de la clave de marcado sobre una o varias
matrices de vectores de movimiento calculadas entre otros pares de
imágenes sucesivas de la señal de vídeo S.
La función de marcado de agua aplicada sobre los
vectores de movimiento seleccionados 20 será ahora descrita con
referencia a las figuras 2 a 6.
Para la aplicación de la función de marcado de
agua, se utiliza una rejilla de referencia que está representada en
la figura 2. Esta rejilla es colocada en una referencia cartesiana
(O, x, y) ortogonal y está constituida por bloques 40 de dimensión
K_{0} en abcisas y H_{0} en ordenadas. En el presente ejemplo,
K_{0} es igual a H_{0} y vale 7 píxeles.
Se define un solo bloque 42 de menores
dimensiones y centrado en el interior de cada bloque. En el presente
ejemplo, el subbloque 42 tiene las dimensiones siguientes:
K_{1} =
H_{1} = 5
píxeles.
Se define así, en el interior de cada bloque de
la rejilla de referencia, dos zonas Z_{0} y Z_{1}, estando la
primera zona Z_{0} comprendida entre el subbloque 42 y el bloque
40, y siendo la zona Z_{1} la zona anterior al subbloque 42.
Preferentemente, las dimensiones K_{0}, H_{0}, K_{1} y H_{1}
se eligen para que las zonas Z_{0} y Z_{1} sean sustancialmente
de igual superficie. En este ejemplo, la superficie total de cada
bloque 40 es de 49 píxeles, la superficie de la zona Z_{1} es de
25 píxeles y la superficie de la zona Z_{0} es de 24 píxeles.
O sea
\overrightarrow{V}(V_{x},
V_{y})
un vector de movimiento
seleccionado para la aplicación de la función de la marca de agua
con la ayuda de la clave de marcado W. Más precisamente, la
aplicación de la función de marcado de agua sobre el vector
\overrightarrow{V} consiste en transformar éste para que
soporte una información que permita determinar el valor de uno de
los bits de la clave de marcado, por ejemplo el iésimo bit anotado
W_{i}. Se
anotará
\overrightarrow{V}'(V'_{x},
V'_{y})
el vector
resultante.
La función de marcado de agua está definida por
la aplicación de las reglas siguientes:
- -
- si W_{i} = 0 y si el punto V de coordenadas (V_{x}, V_{y}) en (O, x, y) está situado en la zona Z_{0}, entonces \overrightarrow{V}' = \overrightarrow{V};
- -
- si W_{i} = 0 y si el punto V de coordenadas (V_{x}, V_{y}) en (O, x, y) está situado en la zona Z_{1}, entonces V sufre una transformación, de tal manera que el punto V' de coordenadas (V'_{x}, V'_{y}) en (O, x, y) esté situado en Z_{0}. Esta transformación será detallada con referencia a la figura 3);
- -
- si W_{i} = 1 y si el punto V de coordenadas (V_{x}, V_{y}) en (O, x, y) está situado en la zona Z_{1}, entonces \overrightarrow{V}' = \overrightarrow{V};
- -
- si W_{i} = 1 y si el punto V de coordenadas (V_{x}, V_{y}) en (O, x, y) está situado en la zona Z_{0}, entonces \overrightarrow{V} sufre una transformación, de tal manera que el punto V' de coordenadas (V'_{x}, V'_{y}) en (O, x, y) esté situado en la zona Z_{1}. (Esta transformación será detallada con referencia a las figuras 4, 5 y 6).
La figura 3 ilustra el caso en el que W_{i} = 0
y en el que el punto V se sitúa en la zona Z_{1} es decir en el
interior del subbloque 42 cuyos vértices están anotados A, B, C y
D.
Se determina el vértice más próximo a V, en este
caso el punto A, y después se aplica una simetría central ponderada
de centro A para llevar de nuevo V a V' situado en la zona Z_{0}.
Evidentemente el parámetro de ponderación está calculado de tal
manera que V' esté siempre en la zona Z_{0}. Por ejemplo, teniendo
en cuenta las dimensiones de los bloques 40 y 42, se define aquí la
simetría central ponderada por la relación siguiente:
\overrightarrow{AV}' = -
\frac{2}{5}
\overrightarrow{AV}.
Si W_{i} = 1 y si V está situado en la zona
Z_{0} se obtiene V' aplicando una simetría axial ponderada cuyo
eje es el lado del subbloque 42 más próximo del punto V, si esta
transformación permite obtener un punto V' situado en la zona
Z_{1}. Es el caso ilustrado en las figuras 4 y 5.
En este caso, si se anota H la proyección de V
sobre el eje considerado, y con las dimensiones elegidas en el
presente ejemplo, la simetría axial ponderada es definida por la
relación siguiente: \overrightarrow{HV}' = - \frac{5}{2}
\overrightarrow{HV}.
En los otros casos representados en la figura 6,
es decir cuando la imagen del punto V por una simetría axial tal
como la descrita anteriormente no permite obtener el punto V' en la
zona Z_{1}, se aplica al punto V una simetría central ponderada,
cuyo centro es el vértice A, B, C o D más próximo. En el ejemplo de
la figura 6, es el punto A. La simetría central ponderada está aquí
definida por la relación \overrightarrow{AV}' = - \frac{5}{2}
\overrightarrow{AV}. Este caso se presenta cuando el punto V está
situado en la proximidad de uno de los vértices del bloque 40.
Es posible detectar y extraer la marca insertada
en una señal de vídeo, según el procedimiento de marcado de agua
descrito anteriormente.
El procedimiento de detección y de extracción de
la marca es un procedimiento que comprende la aplicación de una
función de extracción de la clave de marcado binaria W que consiste
en:
- -
- seleccionar los vectores con marca de agua;
- -
- marcar las coordenadas de cada vector de movimiento con marca de agua en la rejilla de referencia; y
- -
- asignar al bit de la clave de marcado al cual está asociado el vector de movimiento seleccionado, el valor binario de la zona en la cual se sitúa el vector con marca de agua.
De forma más precisa, si la etapa 14 ha sido
realizada cuando tiene lugar el marcado de agua de la señal de
vídeo, por cada vector de movimiento 20 del nivel más elevado 16
seleccionado cuando tiene lugar la aplicación del procedimiento de
marcado de agua:
- -
- se extraen los vectores de movimiento con marca de agua asociados a este vector de movimiento;
- -
- se calcula un vector medio igual a la mediana de los vectores de movimiento con marca de agua 26 asociados a este vector de movimiento; y
- -
- se aplica la función de extracción de la clave de marcado descrita anteriormente al vector medio calculado.
Este procedimiento de extracción permite extraer
una estimación
\tilde{W} =
(\tilde{W}_{1}, \tilde{W}_{2}, \tilde{W}_{3},
\tilde{W}_{4})
de la clave de marcado W =
(W_{1}, W_{2}, W_{3}, W_{4}), a partir de una imagen con
marca de agua de la señal de
vídeo.
Una vez extraída esta clave de marcado, una
relación de correlación permite determinar un umbral de confianza
que caracteriza la presencia o la ausencia de la clave de marcado en
la señal de vídeo.
Una primera regla de correlación para estimar
esta presencia o no de la clave de marcado en una imagen viene dada
por la fórmula siguiente:
en la
que
Una segunda regla de correlación para estimar la
presencia de la clave de marcado en una pluralidad de imágenes
I'_{n} de la señal S' viene dada por la fórmula recurrente
siguiente:
C_{n} =
\frac{C_{n-1}
\text{*}(n-1)+\left(1 -
\frac{d(\tilde{w}_{n},
w)}{8}\right)}{n},
en la que d(\tilde{w}_{n},
w) es la distancia de
Hamming.
Resulta claramente evidente que un procedimiento
de marcado de aguas según la invención mejora la robustez y las
características en términos de invisibilidad de los procedimientos
existentes.
En efecto, la función de marcado de agua, que
prevé colocar un vector de movimiento en una zona Z_{1} o Z_{0}
en función del valor del bit de la clave de marcado a insertar,
permite efectuar una marca de agua muy poco visible sobre la señal
de vídeo.
Otra ventaja de un procedimiento de marcado de
agua según la invención reside en el enfoque jerárquico descrito
anteriormente con referencia en particular a la etapa 14 del
procedimiento descrito anteriormente. La extensión de la marca de
agua sobre varios vectores de movimiento de un nivel jerárquico
inferior a partir de la selección de un vector de movimiento
correspondiente salido de un nivel jerárquico superior, permite
reducir el impacto de un ataque, malintencionado o no, sobre la
marca de agua de la señal de vídeo.
Claims (17)
1. Procedimiento de marcado de agua de una señal
de vídeo (S) mediante la aplicación de una función de marcado de
agua a unos vectores de movimiento calculados por estimación de
movimiento entre imágenes de la señal de vídeo, que comprende las
etapas siguientes:
- -
- aplicación (22) de la función de marcado de agua a por lo menos una parte (20) de los vectores de movimiento calculados;
- -
- generación (30) de la señal de vídeo con marca de agua por compensación de movimiento con la ayuda de los vectores de movimiento con marca de agua (28),
siendo realizada la aplicación de la función de
marcado de agua con la ayuda de una clave de marcado binaria (W) de
la que cada uno de los bits está asociado a por lo menos un vector
de movimiento seleccionado, caracterizado porque para la
aplicación de la función de marcado de agua:
- -
- se marcan las coordenadas del vector de movimiento seleccionado (\overrightarrow{V}) en un espacio de referencia dividido en varias partes predeterminadas;
- -
- se definen, en cada parte, dos zonas complementarias Z_{0} y Z_{1}, estando cualquiera de las dos zonas situada en el interior de la otra;
- -
- se asigna un valor binario a cada una de las dos zonas;
- -
- se modifican eventualmente las coordenadas del vector de movimiento seleccionado, de manera que se sitúe en la zona de la parte a la cual pertenece, cuyo valor binario corresponde al bit de la clave de marcado al cual está asociado el vector de movimiento seleccionado.
2. Procedimiento de marcado de agua de una señal
de vídeo (S) según la reivindicación 1, caracterizado porque
la partición de referencia es una rejilla de referencia que
comprende unos bloques (40) de dimensiones previamente definidas,
comprendiendo cada bloque una primera y una segunda zonas (Z_{0},
Z_{1}).
3. Procedimiento de marcado de agua de una señal
de vídeo (S) según la reivindicación 1 ó 2, caracterizado
porque comprende las etapas siguientes:
- -
- cálculo jerárquico (14) de varios niveles sucesivos (12, 16) de vectores de movimiento, estando cada uno de los vectores de movimiento de un nivel determinado asociado a varios vectores de movimiento del nivel directamente inferior;
- -
- selección (18) de por lo menos una parte de los vectores de movimiento que pertenecen al nivel más elevado (16);
- -
- aplicación (22) de la función de marcado de agua a cada vector de movimiento seleccionado que conduce al cálculo de un parámetro de modificación de este vector de movimiento; y
- -
- aplicación del parámetro de modificación del vector de movimiento seleccionado a los vectores de movimiento de un nivel inferior asociados a este vector de movimiento.
4. Procedimiento de marcado de agua de una señal
de vídeo (S) según la reivindicación 3, caracterizado porque
cada uno de los vectores de movimiento de un nivel (16) determinado
es igual a la mediana de los vectores de movimiento del nivel
directamente inferior (12) a los cuales están asociados.
5. Procedimiento de marcado de agua de una señal
de vídeo (S) según la reivindicación 3 ó 4, caracterizado
porque comprende una etapa de cálculo jerárquico (14) de dos niveles
sucesivos (12, 16) de vectores de movimiento, estando cada vector de
movimiento del nivel superior (16) asociado a cuatro vectores de
movimiento del nivel inferior (12).
6. Procedimiento de marcado de agua de una señal
de vídeo según cualquiera de las reivindicaciones 1 a 5,
caracterizado porque la primera y segunda zonas (Z_{0},
Z_{1}) presentan superficies sustancialmente iguales.
7. Procedimiento de marcado de agua de una señal
de vídeo (S) según cualquiera de las reivindicaciones 1 a 6,
caracterizado porque se define en cada bloque (40) de la
rejilla de referencia un subbloque (42) centrado en el interior del
bloque, estando definida la primera zona (Z_{1}) por el interior
del subbloque y siendo la segunda zona (Z_{2}) la zona
complementaria de la primera zona en el bloque.
\newpage
8. Procedimiento de marcado de agua de una señal
de vídeo (S) según la reivindicación 7, caracterizado porque
los bloques (40) y subbloques (42) de la rejilla de referencia son
rectangulares.
9. Procedimiento de marcado de agua de una señal
de vídeo (S) según cualquiera de las reivindicaciones 1 a 8,
caracterizado porque la modificación eventualmente aportada
al vector de movimiento seleccionado (\overrightarrow{V}) es una
simetría ponderada.
10. Procedimiento de marcado de agua de una señal
de vídeo (S) según las reivindicaciones 8 y 9, caracterizado
porque la modificación eventualmente aportada al vector de
movimiento seleccionado (\overrightarrow{V}) es o bien una
simetría central ponderada con respecto a uno de los vértices del
subbloque (42), o bien una simetría axial ponderada con respecto a
uno de los lados del subbloque (42).
11. Procedimiento de marcado de agua de una señal
de vídeo (S) según cualquiera de las reivindicaciones 1 a 10,
caracterizado porque cada bit de la clave de marcado binaria
(W) está asociado a varios vectores de movimiento seleccionados.
12. Procedimiento de marcado de agua de una señal
de vídeo (S) según cualquiera de las reivindicaciones 1 a 11,
caracterizado porque una parte de los bits de la clave de
marcado binaria (W) está asociada a unos vectores de movimiento
calculados por estimación de movimiento entre dos imágenes de la
señal de vídeo (S), y porque por lo menos otra parte de los bits de
la clave de marcado binaria está asociada a unos vectores de
movimiento calculados por estimación de movimiento entre por lo
menos otras dos imágenes de la señal de vídeo.
13. Dispositivo de marcado de agua de una señal
de vídeo (S), caracterizado porque comprende unos medios para
la realización de un procedimiento según cualquiera de las
reivindicaciones 1 a 12.
14. Soporte de datos legible por un ordenador,
caracterizado porque almacena una señal de vídeo (S') con
marca de agua con la ayuda de un procedimiento según cualquiera de
las reivindicaciones 1 a 12.
15. Procedimiento de extracción de la marca de
agua de una señal de vídeo (S') con marca de agua por aplicación de
un procedimiento según cualquiera de las reivindicaciones 1 a 12,
caracterizado porque comprende la aplicación de una función
de extracción de la clave de marcado binaria (W) que consiste
en:
- -
- seleccionar unos vectores con marca de agua;
- -
- marcar las coordenadas de cada vector de movimiento con marca de agua en la partición de referencia;
- -
- asignar al bit de la clave de marcado al cual está asociado el vector de movimiento seleccionado, el valor binario de la zona en la cual se sitúa el vector con marca de agua.
16. Procedimiento de extracción de la marca de
agua de una señal de vídeo (S') según la reivindicación 15, estando
la señal de vídeo (S') con marca de agua mediante la aplicación del
procedimiento según la reivindicación 3, caracterizado
porque, para cada vector de movimiento (20) del nivel más elevado
(16) seleccionado cuando tiene lugar la aplicación del procedimiento
de marcado de agua:
- -
- se extraen los vectores de movimiento con marca de agua (26) asociados a este vector de movimiento;
- -
- se calcula un vector medio igual a la mediana de los vectores de movimiento con marca de agua (26) asociados a este vector de movimiento; y
- -
- se aplica la función de extracción de la clave de marcado al vector medio calculado.
17. Dispositivo de extracción de la marca de agua
de una señal de vídeo (S'), caracterizado porque comprende
unos medios para la realización de un procedimiento según la
reivindicación 15 ó 16.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0213660 | 2002-10-31 | ||
FR0213660A FR2846828B1 (fr) | 2002-10-31 | 2002-10-31 | Procede de tatouage d'un signal video, systeme et support de donnees pour la mise en oeuvre de ce procede, procede d'extraction du tatouage d'un signal video, systeme pour la mise en oeuvre de ce procede |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2248715T3 true ES2248715T3 (es) | 2006-03-16 |
Family
ID=32088427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES03292719T Expired - Lifetime ES2248715T3 (es) | 2002-10-31 | 2003-10-30 | Procedimeinto de marcado de agua de una señal de video, sistema y soporte de datos para la realizacion de este procedimiento, procedimiento y sistema de extraccion de esta marca de agua. |
Country Status (5)
Country | Link |
---|---|
US (1) | US7415127B2 (es) |
EP (1) | EP1416737B1 (es) |
DE (1) | DE60301469T2 (es) |
ES (1) | ES2248715T3 (es) |
FR (1) | FR2846828B1 (es) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2853792A1 (fr) * | 2003-04-11 | 2004-10-15 | France Telecom | Procede de tatouage d'une sequence video a selection adaptative de la zone d'insertion du tatouage, procede de detection, dispositifs, support de donnees et programmes d'ordinateur correspondants |
US20060257000A1 (en) * | 2003-06-25 | 2006-11-16 | Boyce Jill M | Decoding method an apparatus for detection of watermarks in a compressed video bitsream |
EP1636995B1 (en) * | 2003-06-25 | 2010-06-02 | Thomson Licensing | Encoding method and apparatus for insertion of watermarks in a compressed video bitstream |
US7729505B2 (en) * | 2003-11-10 | 2010-06-01 | France Telecom, Sa | Method and device for watermarking an image |
US7702127B2 (en) * | 2005-10-21 | 2010-04-20 | Microsoft Corporation | Video fingerprinting using complexity-regularized video watermarking by statistics quantization |
US8301658B2 (en) | 2006-11-03 | 2012-10-30 | Google Inc. | Site directed management of audio components of uploaded video files |
ES2321363B2 (es) * | 2006-12-14 | 2010-01-12 | Tredess 2010, S.L. | Sistema de marcado de agua digital en particular de un sistema de marcado de aguadigital para la deteccion y localizacion de alteraciones en imagenes digitales. |
JP5337147B2 (ja) * | 2007-05-03 | 2013-11-06 | グーグル インコーポレイテッド | デジタルコンテンツ投稿の換金化 |
US8094872B1 (en) * | 2007-05-09 | 2012-01-10 | Google Inc. | Three-dimensional wavelet based video fingerprinting |
US8611422B1 (en) | 2007-06-19 | 2013-12-17 | Google Inc. | Endpoint based video fingerprinting |
EP2053844B1 (en) * | 2007-06-28 | 2011-05-18 | Panasonic Corporation | Image processing device, image processing method, and program |
FR2933565A1 (fr) * | 2008-07-01 | 2010-01-08 | France Telecom | Procede et dispositif de codage d'une sequence d'images mettant en oeuvre une prediction temporelle, signal, support de donnees, procede et dispositif de decodage, et produit programme d'ordinateur correspondants |
EP2544142A1 (en) * | 2011-07-08 | 2013-01-09 | Thomson Licensing | Method for watermark detection using reference blocks comparison |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5960081A (en) * | 1997-06-05 | 1999-09-28 | Cray Research, Inc. | Embedding a digital signature in a video sequence |
WO1999004570A1 (fr) * | 1997-07-18 | 1999-01-28 | Ecole Polytechnique Federale De Lausanne | Procede de marquage d'un signal numerique video compresse |
JP4035257B2 (ja) * | 1998-04-10 | 2008-01-16 | キヤノン株式会社 | 画像処理装置、画像処理方法及びコンピュータ読み取り可能な記憶媒体 |
CN1255021A (zh) * | 1998-11-23 | 2000-05-31 | 惠普公司 | 不用重新计算运动矢量就可修改压缩图象的装置和方法 |
US6845130B1 (en) * | 2000-10-12 | 2005-01-18 | Lucent Technologies Inc. | Motion estimation and compensation for video compression |
US6947486B2 (en) * | 2001-03-23 | 2005-09-20 | Visioprime | Method and system for a highly efficient low bit rate video codec |
-
2002
- 2002-10-31 FR FR0213660A patent/FR2846828B1/fr not_active Expired - Fee Related
-
2003
- 2003-10-30 DE DE60301469T patent/DE60301469T2/de not_active Expired - Lifetime
- 2003-10-30 ES ES03292719T patent/ES2248715T3/es not_active Expired - Lifetime
- 2003-10-30 EP EP03292719A patent/EP1416737B1/fr not_active Expired - Lifetime
- 2003-10-31 US US10/697,106 patent/US7415127B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
FR2846828A1 (fr) | 2004-05-07 |
DE60301469D1 (de) | 2005-10-06 |
DE60301469T2 (de) | 2006-06-22 |
EP1416737A1 (fr) | 2004-05-06 |
FR2846828B1 (fr) | 2005-03-11 |
US20040175017A1 (en) | 2004-09-09 |
US7415127B2 (en) | 2008-08-19 |
EP1416737B1 (fr) | 2005-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2248715T3 (es) | Procedimeinto de marcado de agua de una señal de video, sistema y soporte de datos para la realizacion de este procedimiento, procedimiento y sistema de extraccion de esta marca de agua. | |
ES2282151T3 (es) | Insercion y deteccion de marcas de agua. | |
Yu et al. | New fragile watermarking method for stereo image authentication with localization and recovery | |
Hong | Adaptive image data hiding in edges using patched reference table and pair-wise embedding technique | |
Wang et al. | Automatic image authentication and recovery using fractal code embedding and image inpainting | |
Wang et al. | High-payload image steganography using two-way block matching | |
JPWO2020075861A5 (es) | ||
Chang et al. | Reversible steganographic method using SMVQ approach based on declustering | |
Abdelhakim et al. | Fragile watermarking for image tamper detection and localization with effective recovery capability using K-means clustering | |
JP2008515311A (ja) | パーソナルポータブルオブジェクトを保護する方法 | |
JP2004320765A (ja) | ビデオ画像のシーケンスに透かし入れする方法、装置、及び、コンピュータプログラム | |
He et al. | Reversible data hiding based on adaptive multiple histograms modification | |
CN110162986B (zh) | 基于相邻像素预测模型的可逆信息隐藏方法 | |
Chang et al. | Data hiding for vector quantization images using mixed-base notation and dissimilar patterns without loss of fidelity | |
Uyyala et al. | Reversible data hiding using B‐tree triangular decomposition based prediction | |
Wu et al. | Reversible watermarking of 3D mesh models by prediction-error expansion | |
Lin et al. | Pixel-based fragile image watermarking based on absolute moment block truncation coding | |
Yao et al. | Reversible data hiding in encrypted images using global compression of zero-valued high bit-planes and block rearrangement | |
CN117150456B (zh) | 矢量地理数据交换密码水印方法、装置及介质 | |
CN111915474B (zh) | 基于整数变换的可逆加密域信息隐藏方法 | |
CN111242825B (zh) | 一种基于水深特征的enc电子航海图零水印方法 | |
Zhou et al. | Targeted attack and security enhancement on texture synthesis based steganography | |
CN109064381B (zh) | 一种基于密钥的多维度的数字水印加密方法 | |
CN103325084B (zh) | 一种基于联合恰可觉察失真的立体图像脆弱水印方法 | |
CN115766963A (zh) | 一种基于自适应预测编码的加密图像可逆信息隐藏方法 |