ES2549065T3 - Método de codificación y decodificación de imágenes, dispositivo de codificación y de decodificación y programas informáticos correspondientes - Google Patents

Método de codificación y decodificación de imágenes, dispositivo de codificación y de decodificación y programas informáticos correspondientes Download PDF

Info

Publication number
ES2549065T3
ES2549065T3 ES12794437.9T ES12794437T ES2549065T3 ES 2549065 T3 ES2549065 T3 ES 2549065T3 ES 12794437 T ES12794437 T ES 12794437T ES 2549065 T3 ES2549065 T3 ES 2549065T3
Authority
ES
Spain
Prior art keywords
data
sign
coding
value
coefficients
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.)
Active
Application number
ES12794437.9T
Other languages
English (en)
Inventor
Felix Henry
Gordon Clare
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dolby International AB
Original Assignee
Dolby International AB
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=47263471&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2549065(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Dolby International AB filed Critical Dolby International AB
Application granted granted Critical
Publication of ES2549065T3 publication Critical patent/ES2549065T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Surgical Instruments (AREA)
  • Television Signal Processing For Recording (AREA)
  • Error Detection And Correction (AREA)
  • Image Processing (AREA)

Abstract

Un método de codificación de al menos una imagen dividida en particiones, en donde una partición corriente (Bi) a codificar contiene datos a los que al menos a un dato se le asigna un signo, siendo los datos coeficientes de transformación directa, estando dicho método de codificación caracterizado por cuanto que pone en práctica, para dicha partición corriente, las etapas siguientes: - el cálculo (S3) del valor de una función representativa de la paridad de la suma de los datos de dicha partición corriente con la exclusión de dicho signo que se oculta, - la comparación (S4) de dicho valor calculado con la paridad de dicho signo, - en función del resultado de dicha comparación, la modificación (S5) o no, de al menos uno de los datos de la partición corriente, - en caso de modificación, la codificación (S20) de los datos de la partición comprenden al menos un dato modificado sin el signo de dicho al menos un dato modificado.

Description

15
25
35
45
55
65
E12794437
01-10-2015
DESCRIPCIÓN
Método de codificación y decodificación de imágenes, dispositivo de codificación y de decodificación y programas informáticos correspondientes
CAMPO DE LA INVENCIÓN
La presente invención se refiere de manera general al campo del procesamiento de imágenes y más concretamente, a la codificación y a la decodificación de imágenes digitales y de secuencias de imágenes digitales.
La invención puede así, en particular, aplicarse a la codificación de vídeo puesta en práctica en los codificadores de vídeo actuales (MPEG, H.264, etc.) o futuros (ITU-T/VCEG (H.265) o ISO/MPEG (HEVC).
ANTECEDENTES DE LA INVENCIÓN
Los codificadores de vídeo actuales (MPEG, H.264, …) utilizan una representación por bloques de la secuencia de vídeo. Las imágenes son divididas en macrobloques, siendo el propio macrobloque dividido en bloques y cada bloque, o macrobloque, se codifica por predicción intra-imágenes o inter-imágenes. De este modo, algunas imágenes son codificadas por predicción espacial (predicción intra) mientras que otras imágenes se codifican por predicción temporal (predicción inter) con respecto a una o varias imágenes de referencia codificadas-decodificadas con la ayuda de una compensación en movimiento conocida por los expertos en esta técnica.
Para cada bloque se codifica un bloque residual, también denominado residuo de predicción, correspondiente al bloque original disminuido de una predicción. Los bloques residuales son transformados por una función denominada como Transformada Discreta de Coseno (DCT) y luego se cuantifican con la ayuda de una cuantificación, a modo de ejemplo, del tipo escalar. Coeficientes de los que algunos son positivos y otros negativos se obtienen como resultado de la etapa de cuantificación. A continuación, son recorridos en un orden de lectura generalmente en zigzag (como en la norma JPEG), lo que permite utilizar el número importante de coeficientes nulos en las altas frecuencias. Como resultado del recorrido antes citado, se obtiene una lista monodimensional de coeficientes, cuya lista se denominará “residuo cuantificado”. Los coeficientes de esta lista son entonces codificados mediante una codificación entrópica.
La codificación entrópica (a modo de ejemplo de tipo de codificación aritmética o codificación de Huffman) se realiza de la forma siguiente:
-una información es objeto de codificación entrópica para indicar el emplazamiento del último coeficiente no nulo de la lista,
-para cada coeficiente situado antes del último coeficiente no nulo, una información es objeto de codificación entrópica para indicar si el coeficiente es nulo o no,
-para cada coeficiente no nulo indicado precedentemente, una información es objeto de codificación entrópica para indicar si el coeficiente es igual a uno o no,
-para cada coeficiente no nulo y no igual a uno situado delante del último coeficiente no nulo, una información de amplitud (valor absoluto del coeficiente disminuido en dos) es objeto de codificación entrópica,
-para cada coeficiente no nulo, el signo que le es asignado está codificado por un ‘0’ (para el signo +) o un ‘1’ (para el signo -).
Según la técnica H.264 a modo de ejemplo, cuando un macrobloque se divide en bloques, una señal de datos, correspondiente a cada bloque, se transmite al decodificador. Una tal señal comprende:
-los residuos cuantificados contenidos en la lista antes citada,
-informaciones representativas del modo de codificación utilizado, en particular:
-el modo de predicción (predicción intra, predicción inter, predicción por defecto realizando una predicción para la que no se transmite ninguna información al decodificador (en inglés “skip”));
-informaciones que precisan el tipo de predicción (orientación, imagen de referencia,…);
-el tipo de división;
-el tipo de transformada, a modo de ejemplo, DCT 4x4, DCT 8x8, etc.
15
25
35
45
55
65
E12794437
01-10-2015
-las informaciones de movimiento si fuere necesario;
-etc.
La decodificación se realiza imagen por imagen y para cada imagen, macrobloque por macrobloque. Para cada partición de un macrobloque, los elementos correspondientes del flujo son objeto de lectura. La cuantificación inversa y la transformación inversa de los coeficientes de los bloques se efectúan para generar el residuo de predicción decodificado. A continuación, la predicción de la partición se calcula y la partición se reconstruye añadiendo la predicción al residuo de predicción decodificado.
La codificación intra o inter por competición, tal como se pone en práctica en la norma H.264, se basa así en la puesta en competición de diferentes informaciones de codificación tales como las antes citadas, con el objeto de seleccionar el mejor modo, es decir, el modo que optimizará la codificación de la partición considerada según un criterio de rendimiento predeterminado, a modo de ejemplo, el coste de la tasa/distorsión bien conocido del experto en esta técnica.
Las informaciones representativas del modo de codificación seleccionado están contenidas en la señal de datos transmitida por el codificador al decodificador. El decodificador es así capaz de identificar el modo de codificación seleccionado al codificador y luego, aplicar la predicción conforme a este modo.
En el documento “Data Hiding of Motion Information in Chroma and Luma Samples for Video Compression”, J.-M. Thiesse, J. Jung y M. Antonini, International Workshop on Multimedia Signal Processing, 2011, se presenta un método de ocultación de datos (traducción inglesa de “Data Hiding”) puesta en práctica en el curso de una compresión de vídeo.
Más concretamente, se propone evitar incluir en la señal a transmitir al decodificador al menos un índice de competición tal como resulta de una pluralidad de índices de competición a transmitir. Un tal índice es, a modo de ejemplo, el índice MVComp que representa una información que permite identificar el predictor de vector de movimiento utilizado para un bloque objeto de predicción en el modo inter. Un tal índice que puede valer 0 o 1 no está inscrito directamente en la señal de datos codificados, sino que se transporta mediante la paridad de la suma de los coeficientes del residuo cuantificado. Se crea una asociación entre la paridad del residuo cuantificado y el índice MVComp. A modo de ejemplo, el valor par del residuo cuantificado está asociado al índice MVComp de valor 0, mientras que el valor impar del residuo cuantificado está asociado al índice MVComp de valor 1. Dos casos pueden presentarse. En un primer caso, si la paridad del residuo cuantificado corresponde ya a la paridad del índice MVComp que se quiere transmitir, el residuo cuantificado se codifica de forma clásica. En un segundo caso, si la paridad del residuo cuantificado es diferente de la paridad del índice MVComp que se quiere transmitir, se procede a una modificación del residuo cuantificado de tal manera que su paridad sea la misma que la que tiene el índice MVComp. Una tal modificación consiste en aumentar o disminuir uno o varios coeficientes del residuo cuantificado en un valor impar (por ejemplo: +1, -1, +3, -3, +5, -+5…) y no retener más que la modificación que optimiza un criterio predeterminado, en la ocurrencia del coste de la tasa-distorsión antes citado.
En el decodificador, el índice MVComp no es objeto de lectura en la señal. El decodificador se contenta simplemente con determinar el residuo de forma clásica. Si el valor de este residuo es par, el índice MVComp se pone a 0. Si el valor de este residuo es impar, el índice MVComp se pone a 1.
En conformidad con la técnica presentada con anterioridad, los coeficientes que sufren la modificación no siempre se eligen de forma óptima, por lo que la modificación aplicada trae consigo perturbaciones en la señal transmitida al decodificador. Dichas perturbaciones perjudican inevitablemente la eficacia de la compresión de vídeo.
Por otra parte, el índice MVComp no constituye la información más interesante a ocultar puesto que las probabilidades de que este índice sea igual a 0 o a 1 no son iguales. En consecuencia, si este índice se codifica de forma clásica mediante una condición entrópica, se representará, en el fichero comprimido a transmitir al decodificador, por una cantidad de datos inferior a un bit por índice MVComp transmitidos. En consecuencia, si el índice MVComp se transmite en la paridad del residuo cuantificado, la cantidad de datos así economizada es inferior a un bit por índice MVComp, mientras que la paridad del residuo podría permitir transportar una información de un bit por índice. Por consiguiente, la reducción del coste de señalización, así como de la eficacia de la compresión, no son óptimas.
O. Kim et al han publicado en un artículo con el título “Rate distortion optimization for efficient watermarking in the DCT domain” con fecha 31 de marzo de 2008 en “IEEE INTERNATIONAL SYMPOSIUM ON BROADBAND MULTIMEDIA SYSTEMS AND BROADCASTING” páginas 1-8, ISBN 978-1-4244-1648-6 un algoritmo para el denominado “watermark bit” sobre la base de una operación de módulo.
OBJETIVO Y SUMARIO DE LA INVENCIÓN
Uno de los objetivos de la invención es subsanar inconvenientes del estado de la técnica antes citado.
15
25
35
45
55
65
E12794437
01-10-2015
A este efecto, un objetivo de la presente invención se refiere a un método de codificación de al menos una imagen dividida en partes, una partición en curso de codificación que contiene datos de los que al menos a un dato se le asigna un signo.
El método según la invención es distinguible por lo que se pone en práctica, para la partición en curso antes citada, según se expone en la reivindicación 1.
Una tal disposición permite aplicar ventajosamente la técnica de disimulación de datos a los signos de los datos de una partición a codificar.
Un signo es, en efecto, una información particularmente pertinente para ocultar debido al hecho de que la probabilidad de aparición de un signo positivo o negativo es equiprobable. En consecuencia, habida cuenta que un signo se codifica necesariamente en un bit, es así posible, ocultando esta información, economizar un bit en la señal a transmitir al decodificador, lo que reduce, en medida notable, el coste de la señalización.
Conviene señalar que entre las informaciones (signo, amplitud, etc.) asociadas a un dato de imagen, existen muy pocas que sean equiprobables. Al ser el signo una información equiprobable, existe, por lo tanto, un interés específico en ocultar este tipo de información, lo que permite aumentar los rendimientos de compresión.
En un modo de realización particular, en el caso en que una pluralidad de signos se considere en el curso de la etapa de comparación antes citada, esta última consiste en comparar el valor calculado de una función representativa de los datos de la partición corriente con el valor de una función representativa de la pluralidad de signos.
Una tal disposición permite optimizar los rendimientos de compresión del codificador aritmético optimizando la reducción del coste de señalización, puesto que permite ocultar varios signos en la señal a transmitir al decodificador. De forma correlativa, la invención se refiere a un dispositivo de codificación de al menos una imagen dividida en partes según la reivindicación 2.
De forma correspondiente, la invención se refiere también a un método de decodificación de una señal de datos representativa de al menos una imagen dividida en partes que fue codificada con anterioridad, conteniendo una parte corriente a decodificar datos de los que al menos a un dato se le asigna un signo según se establece en la reivindicación 3.
De forma correlativa, la invención se refiere a un dispositivo de decodificación de una señal de datos representativa de al menos una imagen dividida en particiones que fue codificada con anterioridad según la reivindicación 4.
La invención se refiere, asimismo, a un programa informático que incluye instrucciones para la ejecución de las etapas del método de codificación o de decodificación anterior, cuando el programa se ejecuta por un ordenador.
Un tal programa puede utilizar cualquier lenguaje de programación y estar bajo la forma de código fuente, código objeto o código intermedio entre el código origen y el código objeto, tal como en una forma parcialmente compilada o en cualquier otra forma deseable.
Otro objetivo de la invención se refiere también a un soporte de registro legible por ordenador e incluye instrucciones de programa informático tal como el mencionado con anterioridad.
El soporte de registro puede ser cualquier entidad o dispositivo capaz de memorizar el programa. A modo de ejemplo, un tal soporte puede incluir un medio de memorización, tal como una memoria ROM, por ejemplo un CD-ROM o una ROM de circuito microelectrónico o también un medio de registro magnético, a modo de ejemplo, un disquete (floppy disc -dispositivo de comunicación inalámbrica móvil) o un disco duro.
Por otra parte, un tal soporte de registro puede ser un soporte transmisible tal como una señal eléctrica u óptica, que puede dirigirse hacia un cable eléctrico u óptico, por radio o por otros medios. El programa según la invención puede ser, en particular, telecargado en una red de tipo Internet.
Como alternativa, un tal soporte de registro puede ser un circuito integrado en donde el programa esté incorporado, estando dicho circuito adaptado para ejecutar el método en cuestión o para utilizarse en la ejecución de este último.
El dispositivo de codificación, el método de decodificación, el dispositivo de decodificación y los programas informáticos antes citados presentan al menos las mismas ventajas que las conferidas por el método de codificación según la presente invención.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
Otras características y ventajas se deducirán de la lectura de dos modos de realización preferidos descritos
15
25
35
45
55
65
E12794437
01-10-2015
haciendo referencia a las Figuras adjuntas en donde:
-
la Figura 1 representa las etapas generales del método de codificación según la invención;
-
la Figura 2 representa un dispositivo de codificación según la invención que es capaz de efectuar las etapas del
método de codificación representado en la Figura 1,
-
la Figura 3 representa un modo de realización particular del método de codificación según la invención,
-
la Figura 4 representa un modo de realización particular de un dispositivo de decodificación según la invención,
-
la Figura 5 representa las etapas generales del método de decodificación según la invención,
-
la Figura 6 representa un dispositivo de decodificación según la invención que es capaz de efectuar las etapas
del método de decodificación representado en la Figura 5,
-
la Figura 7 representa un modo de realización particular del metodología de decodificación según la invención,
-
la Figura 8 representa un modo de realización particular de un dispositivo de decodificación según la invención.
DESCRIPCIÓN DETALLADA DE LA PARTE DE CODIFICACIÓN
Un modo de realización general de la invención se describirá a continuación, en donde el método de codificación según la invención se utiliza para codificar una secuencia de imágenes según un flujo binario próximo al que se obtiene por una codificación según la norma H.264/MPEG-4 AVC. En este modo de codificación, el método de codificación según la invención se pone en práctica, a modo de ejemplo, de manera de software o hardware mediante modificaciones de un codificador inicialmente conforme con la norma H.264/MPEG-4 AVC.
El método de codificación según la invención se representa bajo la forma de un algoritmo que incluye etapas S1 a S40, representadas en la Figura 1.
Según el modo de realización de la invención, el método de codificación según la invención se pone en práctica en un dispositivo de codificación o codificador CO, del que un modo de realización se representa en la Figura 2.
En conformidad con la invención, se procede, con anterioridad a la codificación propiamente dicha, a una división de una imagen IE de una secuencia de imágenes a codificar en un orden predeterminado, en una pluralidad Z de particiones B1, B2, …, Bi,, …, Bz, según se representa en la Figura 2.
Conviene señalar que en el sentido de la invención, el término “partición” significa unidad de codificación (del inglés “coding unit”). Esta última terminología se utiliza, en particular, en la norma HEV/H.265 en curso de elaboración, a modo de ejemplo, en el documento accesible en la dirección Internet siguiente:
http://phenix.int-evry.fr/jct/doc end user/current document.php?id=3286
En particular, una tal unidad de codificación reagrupa conjuntos de elementos de imagen, denominados pixels, de forma rectangular o cuadrada, también denominados bloques, macrobloques o también conjuntos de pixels que presentan otras geométricas.
En el ejemplo representado en la Figura 2, dichas particiones son bloques que tienen una forma cuadrada y tienen todos ellos la misma magnitud. En función de la magnitud de la imagen que no es obligatoriamente un múltiplo de la magnitud de los bloques, los últimos bloques a la izquierda y los últimos bloques en la parte inferior pueden no ser cuadrados. En un modo alternativo de realización, los bloques pueden ser, a modo de ejemplo, de forma rectangular y/o no alineados unos con los otros.
Cada bloque o macrobloque puede, por otro lado, dividirse por sí mismo en sub-bloques que son por sí mismos subdivisibles.
Una tal división se efectúa por un módulo PCO de división representado en la Figura 2 que utiliza, a modo de ejemplo, un algoritmo de división bien conocido en tanto como tal.
A continuación de dicha etapa de división, se procede a la codificación de cada una de las particiones corrientes Bi (siendo i un número entero tal como 1<i<z) de dicha imagen IE.
En la realización ejemplo representada en la Figura 2, una tal codificación se aplica sucesivamente a cada uno de los bloques B1 a Bz de la imagen corriente IE. Los bloques se codifican según, a modo de ejemplo, un recorrido tal como el recorrido “raster scan” bien conocido por los expertos en esta técnica.
15
25
35
45
55
65
E12794437
01-10-2015
La codificación según la invención se pone en práctica en un módulo de software de codificación MC_CO del codificador CO, según se representa en la Figura 2. En el curso de una etapa S1 representada en la Figura 1, el módulo de codificación MC_CO de la Figura 2 selecciona como bloque corriente Bi al primer bloque B1 a codificar de la imagen corriente IE. Según se representa en la Figura 2, se trata del primer bloque a la izquierda de la imagen IE.
En el curso de una etapa S2 representada en la Figura 1, se procede a la extracción de datos del bloque corriente B1 bajo la forma de una lista D1 = (a1, a2, .., aP). Una tal extracción se efectúa por un módulo de software de EX_CO tal como se representa en la Figura 2. Tales datos son, a modo de ejemplo, datos de elementos de imagen, siendo asignado a cada uno de los datos de elementos de imagen no nulos un signo positivo o un signo negativo.
Cada uno de los datos de la lista D1 está asociado a diferentes informaciones digitales que se destinan a someterse a una codificación entrópica. Algunas de tales informaciones digitales se describen a continuación a modo de ejemplo.
-para cada dato situado antes del último dato no nulo de la lista D1, una información digital, tal como un bit, está destinada a ser objeto de codificación entrópica para indicar si el dato es nulo o no: si el dato es nulo, es, por ejemplo, el bit de valor 0 el que será codificado, mientras que si el dato no es nulo, será el bit de valor 1 el que será codificado;
-para cada dato no nulo, una información digital, tal como un bit, se destina a ser objeto de codificación entrópica
para indicar si el valor absoluto del dato es igual a 1 o no: si es igual a 1, es, por ejemplo, el bit de valor 1 el que
será codificado, mientras que si es igual a 0, será el bit de valor 0 el que será codificado;
-para cada dato no nulo cuyo valor absoluto sea no igual a 1 y que esté situado antes del último dato no nulo, una información de amplitud es objeto de codificación entrópica,
-para cada dato no nulo, el signo que se le asigne es codificado por una información digital, tal como un bit por ejemplo puesto a ‘0’ (para el signo +) o a ‘1’ (para el signo -).
Se describirá a continuación, haciendo referencia a la Figura 1, las etapas específicas de codificación según la invención.
En conformidad con la invención, se decide evitar la codificación entrópica de al menos un signo de uno de dichos datos de la lista D1.
En conformidad con un modo de realización preferido, es el signo del primer dato no nulo el que se destina a ocultarse. Un tal signo es, por ejemplo, positivo y se asigna al primer dato no nulo, tal como el dato a2, a modo de ejemplo.
En el curso de una etapa S3 representada en la Figura 1, el módulo de procesamiento MTR_CO calcula el valor de una función f que es representativa de los datos de la lista D1.
En el modo preferido de realización en donde un solo signo está destinado a ocultarse en la señal a transmitir al decodificador, la función f es la paridad de la suma de los datos de la lista D1.
En el curso de una etapa S4 representada en la Figura 1, el módulo de procesamiento MTR_CO verifica si la paridad del valor del signo que se oculta corresponde a la paridad de la suma de los datos de la lista D1, en virtud de un convenio definido previamente para el codificador CO.
En el ejemplo propuesto, dicho convenio es tal que un signo positivo está asociado a un bit de valor igual 0, mientras que un signo negativo está asociado a un bit de valor igual a 1.
Si, según el convenio adoptado en el codificador CO según la invención, el signo es positivo, lo que corresponde a un valor de bit de codificación de 0 y siendo la suma de los datos de la lista D1 de valor par, se prosigue con una etapa S20 de codificación entrópica de los datos de la lista D1 antes citada, con la excepción del signo del primer dato no nulo a2. Una tal etapa S20 se representa en la Figura 1.
Si, siempre según el convenio adoptado en el codificador CO según la invención, el signo es negativo, lo que corresponde a un valor de bit de codificación de 1, y siendo la suma de los datos de la lista D1 de valor impar, se prosigue igualmente con la etapa S20 de codificación entrópica de datos de la lista D1 antes citada, con la excepción del signo del primer dato no nulo a2.
Si, según el convenio adoptado en el codificador CO según la invención, el signo es positivo, lo que corresponde a un valor de bit de codificación de 0, y siendo la suma de los datos de la lista D1 un valor impar, se procede, en el
15
25
35
45
55
65
E12794437
01-10-2015
curos de una etapa S5 representada en la Figura 1 a una modificación de al menos un dato modificable de la lista D1.
Si, siempre según el convenio adoptado en el codificador CO según la invención, el signo es negativo, lo que corresponde a un valor de bit de codificación de 1 y siendo la suma de los datos de la lista D1 un valor par, se procede igualmente en la etapa S5 a la modificación de al menos un dato modificable de la lista D1. Según la invención, un dato es modificable si la modificación de su valor no da lugar a una desincronización para el decodificador, una vez que este dato modificado sea procesado por el decodificador. De este modo, el módulo de procesamiento MTR_CO está configurado inicialmente para no modificar:
-
el dato o los datos nulos situados antes del primer dato no nulo, de forma que el decodificador no asigne el valor
del signo oculto a este dato o estos datos nulos.
-
y por motivos de complejidad de cálculo, el dato o los datos nulos situados después del último dato no nulo.
Una tal operación de modificación se efectúa por el módulo de procesamiento MTR_CO de la Figura 2.
En el ejemplo de realización propuesto, se supone que la suma total de los datos de la lista D1 es igual a 5 y por lo tanto, es impar. Con el fin de que el decodificador pueda reconstruir el signo positivo asignado al primer dato no nulo a2 sin que el codificador CO tenga que transmitir este dato al decodificador, es preciso que la paridad de la suma se haga de valor par. En consecuencia, el módulo de procesamiento MTR_CO verifica, en el curso de dicha etapa S5, diferentes modificaciones de los datos de la lista D1, con el objetivo de cambiar la paridad de la suma de los datos. En el modo de realización preferido, se procede a la adición de +1 o -1 a cada dato modificable y a la selección, según un criterio predeterminado, de una modificación entre todas las que son efectuadas.
De este modo se obtiene, entonces, como resultado de la etapa S5, una lista modificada Dm1 = (a’1, a’2, …, a’P).
Conviene señalar que en el curso de esta etapa, algunas modificaciones están prohibidas. Así, en el caso en donde el primer dato no nulo tenga un valor +1 no sería posible añadirle -1, puesto que se haría nulo y perdería entonces su característica de primer dato no nulo de la lista D1. El decodificador atribuiría entonces, posteriormente, el signo decodificado (mediante cálculo de la paridad de la suma de los datos) a otro dato y se tendría entonces un error de decodificación.
A continuación, se procede a la etapa S20 de codificación entrópica de los datos de la lista Dm1 antes citada, con la excepción del signo positivo del primer dato no nulo a2 cuyo signo se oculta en la paridad de la suma de los datos.
Conviene señalar que el conjunto de las amplitudes de los datos de la lista D1 o de la lista modificada Dm1 se codifica antes del conjunto de los signos, con la exclusión del signo del primer dato no nulo que no se codifica como se explicó con anterioridad.
En el curso de una etapa siguiente S30 representada en la Figura 1, el módulo de codificación MC_CO de la Figura 2 verifica si el bloque corriente codificado es el último bloque de la imagen IE.
Si el bloque corriente es el último bloque de la imagen IE, en el curso de una etapa S40 representada en la Figura 1, se pone fin al método de codificación.
Si no fuere el caso, se procede a la selección del bloque siguiente Bi que es entonces codificado conforme al orden de recorrido raster scan antes citado, mediante iteración de las etapas S1 a S20, para 1<i<Z.
Una vez realizada la codificación entrópica de todos los bloques B1 a Bz se procede a la construcción de una señal F que representa, bajo forma binaria, a dichos bloques codificados.
La construcción de la señal binaria F se pone en práctica en un módulo de software CF de construcción de flujo, tal como se representa en la Figura 2.
El flujo F se transmite, a continuación, por una red de comunicación (no representada) a un terminal distante. Este último incluye un decodificador que se describirá con más detalle, a continuación, en esta descripción.
Se describirá ahora, principalmente con referencia a la Figura 1, otro modo de realización de la invención.
Este otro modo de realización se distingue del anterior solamente por el número de señales a ocultar que es N, siendo N un número entero tal como N>2.
A este efecto, la función f es el resto de módulo 2N de la suma de los datos de la lista D1. Se supone que en el ejemplo propuesto, N = 2, siendo los dos signos que se ocultan los dos primeros signos de los dos primeros datos no nulos de la lista D1, a modo de ejemplo, a2 y a3.
15
25
35
45
55
65
E12794437
01-10-2015
En el curso de la etapa S4 representada en la Figura 1, el módulo de procesamiento MTR_CO verifica si la configuración de los N signos, o sea 2N configuraciones posibles, corresponde al valor del resto del módulo 2N de la suma de los datos de la lista D1.
En el ejemplo propuesto en donde N=2, existen 22=4 configuraciones de signos diferentes. Estas cuatro configuraciones obedecen a un convenio en el codificador CO, que se determina, a modo de ejemplo, de la forma siguiente:
-un resto igual a 0 corresponde a dos signos positivos consecutivos: +, +;
-un resto igual a 1 corresponde a un signo positivo y un signo negativo consecutivos: +, -;
-un resto igual a 2 corresponde a un signo negativo y un signo positivo consecutivos: -, +;
-un resto igual a 3 corresponde a dos signos negativos consecutivos: -, -.
Si la configuración de los N signos corresponde al valor del resto del módulo 2N de la suma de los datos de la lista D1 se procede a la etapa S20 de codificación entrópica de los datos de la lista D1 antes citada, con la excepción del signo respectivo de los dos primeros datos no nulos a2 y a3, cuyos signos se ocultan en la paridad de la suma del módulo 2N de los datos de la lista D1.
Si no fuere el caso, se prosigue con la etapa S5 de modificación de al menos un dato modificable de la lista D1. Una tal modificación se realiza por el módulo de procesamiento MTR_CO de la Figura 2 de tal manera que el resto del módulo 2N de la suma de los datos modificables de la lista D1 alcance el valor de cada uno de los dos signos que ocultar.
Entonces se obtiene una lista modificada Dm1 = (a’1, a’2, …, a’P).
A continuación se prosigue con la etapa S20 de codificación entrópica de los datos de la lista Dm1 antes citada, con la excepción del signo del primer dato no nulo a2 y del signo del segundo dato no nulo a3, cuyos signos se ocultan en la paridad de la suma del módulo 2N de los datos.
Un modo de realización particular de la invención se describirá a continuación, en donde el módulo de codificación según la invención se utiliza siempre para codificar una secuencia de imágenes según un flujo binario próximo del que se obtiene mediante una codificación según la norma H.264/MPEG-4 AVC. En este modo de realización, el método de codificación según la invención se pone en práctica, a modo de ejemplo, de manera de software o de hardware mediante modificaciones de un codificador inicialmente conforme con la norma H.264/MPEG-4 AVC.
El método de codificación según la invención se representa bajo la forma de un algoritmo que incluye las etapas C1 a C40, tales como se representan en la Figura 3.
Según el modo de realización de la invención, el método de codificación se pone en práctica en un dispositivo de codificación o codificador CO1, cuyo modo de realización se representa en la Figura 4.
En conformidad con la invención, y según se describe en las realizaciones ejemplo anteriores, se procede, con anterioridad a la codificación propiamente dicha, a una división de una imagen IE de una secuencia de imágenes a codificar en un orden predeterminado en una pluralidad Z de particiones B’1, B’2, …, B’i, …, B’z, como se representa en la Figura 4.
En la realización ejemplo representada en la Figura 4, dichas particiones son bloques que tienen una forma cuadrada y todos son de la misma magnitud. En función de la magnitud de la imagen que no es obligatoriamente un múltiplo de la magnitud de los bloques, los últimos bloques a la izquierda y los últimos bloques en la parte inferior no pueden ser cuadrados. En un modo alternativo de realización, los bloques pueden ser, a modo de ejemplo, de forma rectangular y/o no alineados los unos con los otros.
Cada bloque o macrobloque puede, por otro lado, dividirse por sí mismo en sub-bloques que son, a su vez, subdivisibles.
Una tal división se realiza por un módulo de software PCO1 de división representado en la Figura 4 que es idéntico al módulo de división PCO representado en la Figura 2.
A continuación de dicha etapa de división, se procede a la codificación de cada una de las particiones corrientes B’i (siendo i un número entero tal como 1<i<Z) de dicha imagen IE.
En ejemplo representado en la Figura 4, dicha codificación se aplica sucesivamente a cada uno de los bloques B’1 a
15
25
35
45
55
65
E12794437
01-10-2015
B’z de la imagen corriente IE. Los bloques son codificados según un recorrido tal como, a modo de ejemplo, recorrido denominado “raster scan” (exploración de trama) bien conocido por los expertos en esta técnica.
La codificación según la invención, se pone en práctica en un módulo de software de codificación MC_CO1 del codificador CO1 según se representa en la Figura 4.
En el curso de una etapa C1 representada en la Figura 3, el módulo de codificación MC_CO1 de la Figura 4 selecciona como bloque corriente B’1 al primer bloque B’1 a codificar de la imagen corriente IE. Según se representa en la Figura 4, se trata del primer bloque a la izquierda de la imagen IE.
En el curso de una etapa C2 representada en la Figura 3, se procede a la codificación predictiva del bloque corriente B’1 mediante técnicas conocidas de predicción intra y/o inter, en cuyo curso el bloque B’1 es objeto de predicción con respecto a al menos un bloque anteriormente codificado y decodificado. Una tal predicción se realiza por un módulo de software de predicción PRED_CO1 según se representa en la Figura 4.
Por supuesto, son posibles otros modos de predicción intra tales como los propuestos en la norma H.264.
El bloque corriente B’1 puede someterse igualmente a una codificación predictiva en el modo inter en cuyo curso el bloque corriente es objeto de predicción con respecto a un bloque derivado de una imagen anteriormente codificada y decodificada. Otros tipos de predicción son, por supuesto, susceptibles de consideración. Entre las predicciones posibles para un bloque corriente, la predicción óptima se elige según un criterio de la tasa-distorsión bien conocidos por los expertos en esta técnica.
Dicha etapa de codificación predictiva antes citada permite construir un bloque de predicción B’p1, que es una aproximación del bloque corriente B’1. Las informaciones relativas a esta codificación predictiva están destinadas a inscribirse en una señal a transmitir al decodificador. Tales informaciones comprenden, en particular, el tipo de predicción (inter o intra) y si fuere el caso, el modo de predicción intra, el tipo de división de un bloque o macrobloque si este último ha sido subdividido, el índice de imagen de referencia y el vector de desplazamiento utilizados en el modo de predicción inter. Estas informaciones son comprimidas por el codificador CO1.
En el curso de una etapa siguiente C3 representada en la Figura 3, el módulo de predicción PRED_CO1 compara los datos relativos al bloque corriente B’1 con los datos del bloque de predicción B’p1. Más concretamente, en el curso de esta etapa, se procede clásicamente a la sustracción del bloque de predicción B’p1 del bloque corriente B’1 para obtener un bloque residuo B’r1.
En el curso de una etapa siguiente C4 representada en la Figura 3, se procede a la transformación del bloque residuo B’r1 según una operación clásica de transformación directa, tal como a modo de ejemplo, una transformación del tipo de discreta de coseno, DCT, para obtener un bloque transformado B’t1. Un tal operación se realiza por un módulo de software MT_CO1 de transformada, según se representa en la Figura 4.
En el curso de una etapa siguiente C5 representada en la Figura 3, se procede a la cuantificación del bloque transformado B’t1 según una operación clásica de cuantificación, tal como, a modo de ejemplo, una cuantificación escalar. Un bloque B’q1 de coeficientes cuantificados es entonces obtenido. Una tal etapa se efectúa por medio de un módulo de software de cuantificación MQ_CO1 tal como se representa en la Figura 4.
En el curso de una etapa C6 representada en la Figura 3, se procede a un recorrido, en un orden predefinido, de los coeficientes cuantificados del bloque B’q1. En el ejemplo representado se trata de un recorrido en zigzag clásico. Una tal etapa se realiza por un módulo de software de lectura ML_CO1, tal como se representa en la Figura 4. Como resultado de la etapa C6 se obtiene una lista monodimensional E1 = (ɛ1, ɛ2, …, ɛL) de coeficientes, más conocida bajo la apelación de “residuo cuantificado”, en donde L es un número entero superior o igual a 1. Cada uno de los coeficientes de la lista E1 está asociado a diferentes informaciones digitales que están destinadas a someterse a una codificación entrópica. Dichas informaciones digitales se describen a continuación a modo de ejemplo.
Se supone que en el ejemplo representado, L = 16 y que la lista E1 contiene los dieciséis coeficientes siguientes E1 = (0, +9, -7, 0, 0, +1, 0, -1, +2, 0, 0, +1, 0, 0, 0, 0).
En particular:
-para cada coeficiente situado antes del último coeficiente no nulo de la lista E1, una información digital, tal como un bit, está destinada a codificarse de forma entrópica para indicar si el coeficiente es nulo o no: si el coeficiente es nulo, en tal caso, a modo de ejemplo, el bit de valor 0 será el que se codifique mientras que si el coeficiente no es nulo, se codificará el bit de valor 1;
-para cada coeficiente no nulo +9, -7 +1, -1, +2, +1, una información digital, tal como un bit, está destinada a
codificarse de forma entrópica para indicar si el valor absoluto del coeficiente es igual a uno o no: si es igual a 1,
se codificará, a modo de ejemplo, el bit de valor 1, mientras que si es igual a 0, se codificará el bit de valor 0;
15
25
35
45
55
65
E12794437
01-10-2015
-para cada coeficiente no nulo y cuyo valor absoluto no sea igual a 1 y situado antes del primer coeficiente no
nulo, tales como los coeficientes de valor +9, -7, +2, una información de amplitud (valor absoluto del coeficiente
en el que se alcanza el valor 2) es objeto de codificación entrópica;
-para cada coeficiente no nulo, el signo que le es asignado se codifica por una información digital, como un bit, a modo de ejemplo, puesto a ‘0’ (para el signo +) o ‘1’ (para el signo -).
Se describirá a continuación, haciendo referencia a la Figura 3, las etapas específicas de codificación según la invención.
En conformidad con la invención, se decide evitar la codificación entrópica de al menos una de las informaciones digitales antes citadas, cuya información es al menos un signo de uno de dichos coeficientes de la lista E1.
A este efecto, en el curso de una etapa C7 representada en la Figura 3, se procede a la elección del número de signos a ocultar en el curso de la etapa posterior de codificación entrópica. Una tal etapa se realiza por un módulo de software de procesamiento MTR_CO1, según se representa en la Figura 4.
En el modo de realización preferido, el número de signos a ocultar es 1 o 0. Además, en conformidad con dicho modo de realización preferido, es el signo del primer coeficiente no nulo el que se destina a su ocultación. En la realización ejemplo representada, se trata, por lo tanto, de ocultar el signo del coeficiente ɛ2= +9.
En un modo de realización alternativo, el número de signos a ocultar es cero, o uno, o dos, o tres o más.
En conformidad con el modo de realización preferido de la etapa C7, se procede, en el curso de una primera subetapa C71 representada en la Figura 3, a la determinación, a partir de dicha lista E1 de una sub-lista SE1 que contiene coeficientes aptos para ser modificados ɛ’1, ɛ’2, …, ɛ’M en donde M<L. dichos coeficientes serán denominados coeficientes modificables a continuación en la descripción.
Según la invención, un coeficiente es modificable si la modificación de su valor cuantificado no da lugar a la desincronización para el decodificador, una vez que este coeficiente modificado sea procesado por el decodificador. De este modo, el módulo de procesamiento MTR_CO1 está configurado inicialmente para no modificar:
-el coeficiente o los coeficientes nulos situados antes del primer coeficiente no nulo, de modo que el decodificador no asigne el valor del signo oculto a este coeficiente o estos coeficientes nulos,
-y por motivos de complejidad de cálculo, el coeficiente o los coeficientes situados después del último coeficiente no nulo.
En la realización ejemplo representada, como resultado de la sub-etapa C71, la sub-lista SE1 obtenida es tal como SE1= (9, -7, 0, 0, 1, 0, -1, 2, 0, 0, 1). En consecuencia, se obtienen once coeficientes modificables.
En el curso de una etapa siguiente C72 representada en la Figura 3, el módulo de procesamiento MTR_CO1 procede a la comparación del número de coeficientes modificables con un umbral predeterminado TSIG. En el modo de realización preferido, TSIG tiene el valor de 4.
Si el número de coeficientes modificables es inferior al umbral TSIG, se procede, en el curso de una etapa C20 representada en la Figura 3, a una codificación entrópica clasifica de los coeficientes de la lista E1, tal como la realizada, a modo de ejemplo, en un codificador CABAC, designado por la referencia CE_CO1 en la Figura 4. A este efecto, el signo de cada coeficiente no nulo de la lista E1, es objeto de codificación entrópica.
Si el número de coeficientes modificables es superior al umbral TSIG, en el curso de una etapa C8 representada en la Figura 3, el módulo de procesamiento MTR_CO1 calcula el valor de una función f que es representativa de los coeficientes de la sub-lista SE1.
En el modo de realización preferido, en donde un solo signo está destinado a ocultarse en la señal a transmitir al decodificador, la función f es la paridad de la suma de los coeficientes de la sub-lista SE1.
En el curso de una etapa C9 representada en la Figura 3, el módulo de procesamiento MTR_CO1 verifica si la paridad del valor del signo a ocultar corresponde a la paridad de la suma de los coeficientes de la sub-lista SE1, en virtud de un convenio definido previamente para el codificador CO1.
En la realización ejemplo propuesta, dicho convenio es tal que un signo positivo está asociado a un bit de valor igual a 0, mientras que un signo negativo está asociado a un bit de valor igual a 1.
Si, según el convenio adoptado en el codificador CO1 según la invención, el signo es positivo, lo que corresponde a
15
25
35
45
55
65
E12794437
01-10-2015
un valor de bit de codificación de cero y siendo la suma de los coeficientes de la sub-lista SE1 un valor par, se procede a la C20 de codificación entrópica de los coeficientes de la lista E1 antes cita con la excepción del signo del coeficiente ɛ2.
Si, siempre según el convenio adoptado en el codificador CO1 según la invención, el signo es negativo, lo que corresponde a un valor de bit de codificación de 1, y siendo la suma de los coeficientes de la sub-lista SE1 un valor impar, se procede igualmente a la etapa C20 de la codificación entrópica de los coeficientes de la lista E1 antes citada con la excepción del signo del coeficiente ɛ2.
Si, según el convenio adoptado en el codificador CO1 según la invención, el signo es positivo, lo que corresponde a un valor de bit de codificación de cero, y siendo la suma de los coeficientes de la sub-lista SE1 un valor impar, se procede en el curso de una tapa C10 representada en la Figura 3, a una modificación de al menos un coeficiente modificable de la sub-lista SE1.
Si, siempre según el convenio adoptado en el codificador CO1 según la invención, el signo es negativo, lo que corresponde a un valor de bit de codificación de 1 y siendo la suma de los coeficientes de la sub-lista SE1 un valor par, se procede igualmente a la etapa C10 de modificación de al menos un coeficiente modificable de la sub-lista SE1.
Una tal operación de modificación se realiza por el módulo de procesamiento MTR_CO1 de la Figura 4.
En la realización ejemplo en donde SE1 = (+9, -7, 0, 0, +1, 0, -1, +2, 0, 0, +1), la suma total de los coeficientes es igual a 5, y por lo tanto, tiene un valor impar. Con el fin de que el decodificador pueda reconstruir el signo positivo asignado al primer coeficiente no nulo, ɛ2= +9, sin que el codificador CO1 tenga que transmitir este coeficiente al decodificador, es preciso que la paridad de la suma se haga de valor par. En consecuencia, el módulo de procesamiento MTR_CO1 verifica, en el curso de dicha etapa C10, diferentes modificaciones de coeficientes de la sub-lista SE1, destinadas todas ellas a cambiar la paridad de la suma de los coeficientes. En el modo de realización preferido, se procede a la adición de +1 o -1 a cada coeficiente modificable y a la selección de una modificación entre todas las que son realizadas.
En el modo de realización preferido, una tal selección constituye la predicción óptima según un criterio de rendimiento que es, a modo de ejemplo, el criterio de la tasa-distorsión bien conocido para los expertos en esta técnica. Un tal criterio se expresa por la ecuación (1) siguiente:
(1) J = D + λR
en donde D representa la distorsión entre el macrobloque original y el macrobloque reconstruido, R representa el coste en bit de codificación de las informaciones de codificación y λ representa un multiplicador de Lagrange, cuyo valor puede fijarse previamente a la codificación.
En la realización ejemplo propuesta, la modificación que trae consigo una predicción óptima según el criterio de tasa-distorsión antes citado es la adición del valor 1 al segundo coeficiente -7 de la sub-lista SE1.
Se obtiene entonces, como resultado de la etapa C10, una sub-lista modificada SEm1 = (+9, +6, 0, 0, +1, 0, -1, +2, 0, 0, +1).
Conviene señalar que, en el curso de esta etapa, están prohibidas algunas modificaciones. Así, en el caso en donde el primer coeficiente no nulo ɛ2 tuviera un valor +1, no habría sido posible añadirle -1, puesto que se haría nulo y habría entonces perdido su característica de primer coeficiente no nulo de la lista E1. El decodificador hubiera entonces atribuido posteriormente el signo decodificado (mediante cálculo de la paridad de la suma de los coeficientes) a otro coeficiente y se hubiera tenido entonces un error de decodificación.
En el curso de una etapa C11 representada en la Figura 3, el módulo de procesamiento MTR_CO1 procede a una modificación correspondiente de la lista E1. La lista modificada siguiente Em1 = (0, +9, -6, 0, 0, +1, 0, -1, +2, 0, 0, +1, 0, 0, 0, 0) se obtiene como resultado.
A continuación, se procede a la etapa C20 de codificación entrópica de los coeficientes de la lista Em1 antes citada, con la excepción del signo del coeficiente ɛ2, que es el signo + del coeficiente 9 en la realización ejemplo propuesta, cuyo signo se oculta en la paridad de la suma de los coeficientes.
Conviene señalar que el conjunto de las amplitudes de los coeficientes de la lista E1 o de la lista modificada Em1 se codifica antes del conjunto de los signos, con la exclusión del signo del primer coeficiente no nulo ɛ2 que no se codifica, como se explicó con anterioridad.
En el curso de una etapa C30 siguiente, representada en la Figura 3, el módulo de codificación MC_CO1 de la Figura 4 verifica, si el bloque corriente codificado es el primer bloque de la imagen IE.
15
25
35
45
55
65
E12794437
01-10-2015
Si el bloque corriente es el último bloque de la imagen IE, en el curso de una etapa C40 representada en la Figura 3, se pone fin al método de codificación.
Si no fuere el caso, se procede a la selección del bloque siguiente B’i que se codifica entonces en conformidad con la orden de recorrido denominada raster scan antes citada, mediante iteración de las etapas C1 a C20, para 1<i<Z.
Una vez realizada la codificación entrópica de todos los bloques B’1 a B’z se procede a la construcción de una señal F’ que representa, bajo forma binaria, a dichos bloques codificados.
La construcción de la señal binaria F’ se pone en práctica en un módulo de software CF1 de construcción de flujo, tal como se representa en la Figura 4.
El flujo F’ se transmite, a continuación, mediante una red de comunicación (no representada), a un terminal distante. Este último incluye un decodificador que se describirá, con más detalle, a continuación en esta descripción.
Se describirá, a continuación, principalmente con referencia a la Figura 3, otro modo de realización de la invención.
Este otro modo de realización se distingue del anterior solamente por el número de coeficientes que se oculta es 0 o N, siendo N un número entero tal como N>2.
A este efecto, la sub-etapa de comparación C72 antes citada se sustituye por la sub-etapa C72a representada en puntos en la Figura 3, en el curso de cuya etapa se procede a la comparación del número de coeficientes modificables con varios umbrales predeterminados 0<TSIG_1<TSIG_2<TSIG_3…, de tal modo que si el número de coeficientes modificables está incluido entre TSIG_N y TSIG_N+1, N signos están destinados a ocultarse.
Si el número de coeficientes modificables es inferior al primer umbral TSIG_1, se procede, en el curso de la etapa C20 antes citada, a la codificación entrópica clasifica de los coeficientes de la lista E1. A este efecto, el signo de cada coeficiente no nulo de la lista E1 es objeto de codificación entrópica.
Si el número de coeficientes modificables está incluido entre el umbral TSIG_N y TSIG_N+1, en el curso de una etapa C8 representada en la Figura 3, el módulo de procesamiento MTR_CO1 calcula el valor de una función f que es representativa de los coeficientes de la sub-lista SE1.
En este otro modo de realización, la decisión para el codificador de ocultar N signos, la función f es el resto de módulo 2N de la suma de los coeficientes de la sub-lista SE1. Se supone que, en la realización ejemplo propuesta, N=2, siendo los dos signos que ocultar los dos primeros signos de los dos primeros coeficientes no nulos respectivamente, a saber, ɛ2 y ɛ3.
En el curso de la etapa siguiente C9 representada en la Figura 3, el módulo de procesamiento MTR_CO1 verifica si la configuración de los N signos, o sea, 2N configuraciones posibles, corresponden al valor del resto del módulo 2N de la suma de los coeficientes de la sub-lista SE1.
En la realización ejemplo propuesta en donde N=2, existe 22= 4 configuraciones de signos diferentes.
Estas cuatro configuraciones obedecen a un convenio para el codificador CO1, cuyo convenio se determina, a modo de ejemplo, de la forma siguiente:
-un resto igual a cero corresponde a dos signos positivos consecutivos: +, +;
-un resto igual a uno corresponde a un signo positivo y un signo negativo consecutivos: +, -;
-un resto igual a dos corresponde a un signo negativo y un signo positivo consecutivos: -, +:
-un resto igual a tres corresponde a dos signos negativos consecutivos: -, -.
Si la configuración de los N signos corresponde al valor del resto del módulo 2N de la suma de los coeficientes de la sub-lista SE1, se procede a la etapa C20 de codificación entrópica de los coeficientes de la lista E1 antes citada, con la excepción del signo del coeficiente ɛ2 y del coeficiente ɛ3, cuyos signos se ocultan en la paridad de suma del módulo 2N de los coeficientes.
Si no fuere el caso, se procede a la etapa C10 de modificación de al menos un coeficiente modificable de la sub-lista SE1. Una tal modificación se realiza mediante el módulo de procesamiento MTR_CO1 de la Figura 4, de tal manera que el resto del módulo 2N de la suma de los coeficientes modificables de la sub-lista SE1 alcance el valor de cada uno de los dos signos que ocultar.
15
25
35
45
55
65
E12794437
01-10-2015
En el curso de la etapa C11 antes citada, el módulo de procesamiento MTR_CO1 procede a una modificación correspondiente de la lista E1. Se obtiene, entonces, una lista modificada Em1.
Se procede, a continuación, a la etapa C20 de codificación entrópica de los coeficientes de la lista Em1 antes citada con la excepción del signo del coeficiente ɛ2 y del signo del coeficiente ɛ3, cuyos signos están ocultados en la paridad de la suma del módulo 2N de los coeficientes.
DESCRIPCIÓN DETALLADA DE LA PARTE DE DECODIFICACIÓN
Un modo de realización general del método de decodificación según la invención se describirá a continuación, en donde el método de decodificación se pone en práctica de manera de software o de hardware mediante modificaciones de un decodificador inicialmente conforme con la norma H.264/MPEG-4 AVC.
El método de decodificación según la invención está representado bajo la forma de un algoritmo que incluye las etapas SD1 a SD7 representadas en la Figura 5.
Según el modo de realización general de la invención, el método de decodificación según la invención se pone en práctica en un dispositivo de decodificación o decodificador DO, según se representa en la Figura 6, que está adaptado para recibir el flujo F proporcionado por el codificador CO de la Figura 2.
En el curso de una etapa preliminar no representada en la Figura 5, se procede a la identificación, en la señal de datos F recibida, de las particiones B1 a Bz que se codificaron precedentemente por el codificador CO. En el modo de realización preferido, dichas particiones son bloques que tienen una forma cuadrada y tienen todos ellos la misma magnitud. En función de la magnitud de la imagen que no es obligatoriamente un múltiplo de la magnitud de los bloques, los últimos bloques a la izquierda y los últimos bloques en la parte inferior pueden no ser cuadrados. En un modo alternativo de realización, los bloques pueden ser, a modo de ejemplo, de forma rectangular y/o no alineados los unos con los otros.
Cada bloque o macrobloque puede, por otro lado, ser dividido por sí mismo en sub-bloques que son susceptibles de ser subdivisibles.
Una tal identificación se efectúa por un módulo de software EX_CO de análisis de flujo, tal como se representa en la Figura 6.
En el curso de una etapa SD1 representada en la Figura 5, el módulo EX_DO de la Figura 6 selecciona como bloque corriente Bi al primer bloque B1 a decodificar. Una tal selección consiste, a modo de ejemplo, en colocar un puntero de lectura en la señal F al principio de los datos del primer bloque B1.
A continuación, se procede a la decodificación de cada uno de los bloques codificados seleccionados.
En la realización ejemplo representada en la Figura 5, una tal decodificación se aplica sucesivamente a cada uno de los bloques codificados B1 a Bz. Los bloques se decodifican según, a modo de ejemplo, un recorrido denominado “raster scan” bien conocido para los expertos en esta técnica.
La decodificación según la invención se pone en práctica en un módulo de software de decodificación MD_DO del decodificador DO, en la Figura 6.
En el curso de la etapa SD2, representada en la Figura 5, se procede, en primer lugar, a la decodificación entrópica del primer bloque corriente B1 que ha sido seleccionado. Una tal operación se realiza por un módulo de decodificación entrópica DE_DO representado en la Figura 6, a modo de ejemplo de tipo CABAC. En el curso de esta etapa, el módulo DE_DO efectúa una decodificación entrópica de las informaciones digitales correspondientes a la amplitud de cada uno de los datos codificados de la lista D1 o de la lista modificada Dm1. En este estado operativo, solamente los signos de los datos de la lista D1 o de la lista modificada Dm1 no están decodificados.
En el caso en donde el módulo de procesamiento MTR_DO recibe la lista D1 = (a1, a2 ,…, aP), se procede, en el curso de una etapa SD3 representada en la Figura 5, a una decodificación entrópica clásica de todos los signos de los datos de la lista D1. Una tal decodificación se realiza por el decodificador CABAC, designado por la referencia DE_DO en la Figura 6. A este efecto, el signo de cada dato no nulo de la lista D1 es objeto de decodificación entrópica
En el caso en donde el módulo de procesamiento MTR_DO recibe lista modificada Dm1 = (a’1, a’2,…a’P), se procede, en el curso de dicha etapa SD3, a la decodificación entrópica clásica de todos los signos de los datos de la lista Dm1 con la excepción del signo del primer dato no nulo a2.
En el curso de etapa SD4 representada en la Figura 5, el módulo de procesamiento MTR_DO calcula el valor de una
15
25
35
45
55
65
E12794437
01-10-2015
función f que es representativa de los datos de la lista Dm1, de modo que se determine si el valor calculado es par o impar.
En el modo de realización preferido, en donde un solo signo se oculta en la señal F, la función f es la paridad de la suma de los datos de la lista Dm1.
En conformidad con el convenio utilizado en el codificador CO, que es el mismo que para el decodificador DO, un valor par de la suma de los datos de la lista Dm1 significa que el signo del primer dato no nulo de la lista modificada Dm1 es positivo, mientras que un valor impar de la suma de los datos de la lista Dm1 significa que el signo del primer dato no nulo de la lista modificada Dm1 es negativo.
En el ejemplo de realización, la suma total de los datos es par. En consecuencia, como resultado de la etapa SD4, el módulo de procesamiento MTR_DO deduce que el signo oculto del primer dato no nulo a2 es positivo.
En el curso de una etapa SD5, representada en la Figura 5, se procede a la construcción del bloque decodificado BD1. Una tal operación se realiza por un módulo de software de reconstrucción MR_DO representado en la Figura 6.
En el curso de una etapa SD6 representada en la Figura 5, el módulo de decodificación MD_DO verifica si el bloque corriente decodificado es el último bloque identificado en la señal F.
Si el bloque corriente es el último bloque de la señal F, en el curso de una etapa SD7 representada en la Figura 5, se pone fin al método de decodificación.
Si no fuere el caso, se procede a la selección del bloque siguiente Bi, a decodificar, en conformidad con el orden de recorrido de exploración de trama, denominada raster scan, antes citada, mediante iteración de las etapas SD1 a SD5 para 1<i<Z.
A continuación se describirá, principalmente haciendo referencia a la Figura 5, otro modo de realización de la invención.
Este otro modo de realización se distingue del precedente solamente por el número de signos ocultados que es ahora igual a N, siendo N un número entero tal que N>2.
A este efecto, en el curso de la etapa SD3 antes citada, se procede a la decodificación entrópica clásica de todos los signos de los datos de la lista Dm1, con la excepción de los N signos respectivos de los primeros datos no nulos de dicha lista modificada Dm1, estando dichos N signos ocultados.
En este otro modo de realización, el módulo de procesamiento MTR_DO calcula, en el curso de la etapa SD4, el valor de la función f que es el resto del módulo 2N de la suma de los datos de la lista Dm1. Se supone que en la realización ejemplo propuesta, N=2.
El módulo de procesamiento MTR_DO deduce entonces la configuración de los dos signos ocultados que son asignados respectivamente a cada uno de los dos primeros datos no nulos a2 y a3, según el convenio utilizado en la decodificación.
Una vez reconstruidos estos dos signos, se procede a la puesta en práctica de las etapas SD5 a SD7 descritas con anterioridad.
Un modo de realización particular del método de decodificación según la invención se describirá a continuación, en donde el método de decodificación se pone en práctica de manera de software o de hardware mediante modificaciones de un decodificador inicialmente conforme con la norma H.264/MPEG-4 AVC.
El método de decodificación según la invención está representado bajo la forma de un algoritmo que incluye las etapas D1 a D12 representadas en la Figura 7.
Según el modo de realización de la invención, el método de decodificación según la invención se pone en práctica en un dispositivo de decodificación o decodificador DO1, tal como se representa en la Figura 8, cuyo decodificador es capaz de procesar la señal F’ proporcionada por el codificador CO1 representado en la Figura 4.
En el curso de una etapa preliminar no representada en la Figura 7, se procede a la identificación, en la señal de datos F’ recibida, de las particiones B’1 a B’z que han sido codificadas anteriormente por el codificador CO1. En el modo de realización preferido, dichas particiones son bloques que tienen una forma cuadrada y todos ellos tienen la misma magnitud. En función de la magnitud de la imagen que no es obligatoriamente un múltiplo de la magnitud de los datos, los últimos bloques a la izquierda y los últimos bloques de abajo pueden no ser cuadrados. En un modo de realización alternativo, los bloques pueden ser, a modo de ejemplo, de forma rectangular y/o no alineados los unos con los otros.
15
25
35
45
55
65
E12794437
01-10-2015
Cada bloque o macrobloque puede, por otro lado, dividirse por sí mismo en sub-bloques que son susceptibles de subdivisión.
Una tal identificación se efectúa por un módulo de software EX_DO1 de análisis de flujo, tal como se representa en la Figura 8.
En el curso de una etapa D1 representada en la Figura 7, el módulo EX_DO1 de la Figura 8 selecciona como bloque corriente B’i al primer bloque B’1, a decodificar. Una tal selección consiste, a modo de ejemplo, en colocar un puntero de lectura en la señal F’ al principio de los datos del primer bloque B’1. A continuación, se procede a la decodificación de cada uno de los bloques codificados seleccionados.
En la realización ejemplo representada en la Figura 7, una tal decodificación se aplica sucesivamente a cada uno de los bloques codificados B’1 a B’z. Los bloques son decodificados, según, a modo de ejemplo, un recorrido de tipo “raster scan” bien conocido para los expertos en esta técnica.
La decodificación según la invención se pone en práctica en un módulo de software de decodificación MD_DO1 del decodificador DO1, según se representa en la Figura 8.
En el curso de una etapa D2 representada en la Figura 7, se procede, en primer lugar a la decodificación entrópica del primer bloque corriente B'1 que fue seleccionado. Una tal operación se realiza por un módulo de decodificación entrópica DE_DO1 representado en la Figura 8, a modo de ejemplo de tipo CABAC. En el curso de esta etapa, el módulo DE_DO1 realiza una decodificación entrópica de las informaciones digitales correspondientes a la amplitud de cada uno de los coeficientes codificados de la lista E1 o de la lista modificada Em1. En este estado operativo, solamente los signos de los coeficientes de la lista E1 o de la lista modificada Em1 no están decodificados.
En el curso de una etapa D3 representada en la Figura 7, se procede a la determinación del número de signos susceptibles de haber sido ocultados en el curso de la etapa precedente de codificación entrópica C20. Una tal etapa D3 se realiza por un módulo de software de procesamiento MTR_DO1, tal como se representa en la Figura 8. La etapa D3 es similar a la etapa C7 antes citada de determinación del número de signos que ocultar.
En el modo de realización preferido, el número de signos ocultados es uno o cero. Además, en conformidad con dicho modo de realización preferido, es el signo del primer coeficiente no nulo el que es objeto de ocultación operativa. En la realización ejemplo representada, se trata, por lo tanto, del signo positivo del coeficiente ɛ2=+9.
En un modo de realización alternativo, el número de signos ocultados es cero, o uno, o dos, o tres o más.
En conformidad con el modo de realización preferido de la etapa D3, se procede, en el curso de una primera subetapa D31 representada en la Figura 7, a la determinación, a partir de dicha lista E1 o de la lista modificada Em1, de una sub-lista que contiene los coeficientes ɛ’1, ɛ’2, …., ɛ’M en donde M<L susceptibles de haber sido modificados en la codificación.
Una tal determinación se realiza de la misma manera que en la etapa de codificación C7 antes citada.
Como el módulo de procesamiento MTR_CO1 antes citado, el módulo de procesamiento MTR_DO1 está configurado inicialmente para no modificar:
-el coeficiente o los coeficientes nulos situados antes del primer coeficiente no nulo,
-y por motivos de complejidad de cálculo, el coeficiente o los coeficientes nulos situados después del primer coeficiente no nulo.
En la realización ejemplo representada, como resultado de la sub-etapa D31, se trata de la sub-lista SEm1 tal como SEm1 = (9, -6, 0, 0, 1, 0, -1, 2, 0, 0, 1). En consecuencia, se obtienen once coeficientes susceptibles de haber sido modificados.
En el curso de una sub-etapa siguiente D32 representada en la Figura 7, el módulo de procesamiento MTR_DO1 procede a la comparación del número de coeficientes susceptibles de haber sido modificado con un umbral predeterminado TSIG. En el modo de realización preferido, TSIG tiene el valor de 4
Si el número de coeficientes susceptibles de haber sido modificados es inferior al umbral TSIG, se procede en el curso de una etapa D4 representada en la Figura 7, a una decodificación entrópica clásica de todos los signos de los coeficientes de la lista E1. Una tal decodificación se realiza por el decodificador CABAC, designado por la referencia DE-DO1 en la Figura 8. A este efecto, el signo de cada coeficiente no nulo de la lista E1 es objeto de decodificación entrópica.
15
25
35
45
55
65
E12794437
01-10-2015
Si el número de coeficientes susceptibles de haber sido modificados es superior al umbral TSIG, se procede, en el curso de dicha etapa D4, a la decodificación entrópica clásica de todos los signos de los coeficientes de la lista Em1, con la excepción del signo del primero coeficiente no nulo ɛ2.
En el curso de una etapa D5 representada en la Figura 7, el módulo de procesamiento MTR_DO1 calcula el valor de una función f que es representativa de los coeficientes de la sub-lista SEm1 con el fin de determinar si el valor calculado es par o impar.
En el modo de realización preferido en donde un solo signo se oculta en la señal F’, la función f es la paridad de la suma de los coeficientes de la sub-lista SEm1.
En conformidad con el convenio utilizado para el codificador CO1, que es el mismo para el decodificador DO1, un valor par de la suma de los coeficientes de la sub-lista SEm1 significa que el signo del primer coeficiente no nulo de la lista modificada Em1 es positivo, mientras que un valor impar de la suma de los coeficientes de la sub-lista SEm1 significa que el signo del primer coeficiente no nulo de la lista modificada Em1 es negativo.
En la realización ejemplo en donde SEm1 = (+9, -6, 0, 0, +1, 0, -1, +2, 0, 0, +1) D5, la suma total de los coeficientes es igual a 6 y por lo tanto, es de valor par. En consecuencia, como resultado de la etapa D5, el módulo de procesamiento MTR_DO1 deduce que el signo ocultado del primer coeficiente no nulo ɛ2 es positivo.
En el curso de una etapa D6 representada en la Figura 7, y con la ayuda de todas las informaciones digitales reconstruidas en el curso de las etapas D2, D4 y D5, se procede a la reconstrucción de los coeficientes cuantificados del bloque B’q1 en un orden predefinido. En la realización ejemplo representada, se trata de un recorrido en zigzag inverso al recorrido en zigzag realizado en el curso de la etapa de codificación C6 antes citada. Una tal etapa se realiza por un módulo de software de lectura ML_DO1, tal como se representa en la Figura 8. Más concretamente, el módulo ML_DO1 procede a la inscripción de los coeficientes de la lista E1 (monodimensional) en el bloque B’q1 (bidimensional), utilizando dicho orden de recorrido en zigzag inverso.
En el curso de una etapa D7 representada en la Figura 7, se procede a la decuantificación del bloque residuo cuantificado B’q1 según una operación clásica de decuantificación que es la operación inversa de la cuantificación realizada en la codificación en la etapa C5 anteriormente descrita, para obtener un bloque decuantificado decodificado BD'q1. Una tal etapa se realiza por medio de un módulo de software de decuantificación MDQ_DO1 según se representa en la Figura 8.
En el curso de una etapa D8 representada en la Figura 7, se procede a la transformación inversa del bloque decuantificado BD'q1 que es la operación inversa de la transformación directa efectuada en la codificación en la etapa C4 antes citada. Un bloque residuo decodificado BD'r1 es entonces obtenido. Una tal operación se realiza por un módulo de software MTI_DO1 de transformada inversa, tal como se representa en la Figura 8.
En el curso de una etapa D9 representada en la Figura 7, se procede a la decodificación predictiva del bloque corriente B’1. Una tal decodificación predictiva se realiza clásicamente mediante técnicas conocidas de predicción intra y/o inter, en cuyo curso el bloque B’1 es objeto de predicción con respecto a por lo menos un bloque anteriormente decodificado. Una tal operación se realiza por un módulo de decodificación predictiva PRED_DO1 tal como se representa en la Figura 8.
Por supuesto, son posibles otros modos de predicción intra tal como los propuestos en la norma H.264.
En el curso de esta etapa, la decodificación predictiva se realiza con la ayuda de los elementos de sintaxis decodificados en la etapa precedente y que comprenden, en particular, el tipo de predicción (inter o intra) y si fuere el caso, el modo de predicción intra, el tipo de división de un bloque o macrobloque si este último fue subdividido, el índice de imagen de referencia y el vector de desplazamiento utilizados en el modo de predicción inter.
Dicha etapa de decodificación predictiva antes citada permite construir un bloque de predicción B’p1.
En el curso de una etapa D10 representada en la Figura 7, se procede a la construcción del bloque decodificado BD’1 añadiendo al bloque de predicción B’p1 el bloque residuo decodificado BD'r1. Una tal operación se realiza por un módulo de software de reconstrucción MR_DO1 representado en la Figura 8.
En el curso de una etapa D11 representada en la Figura 7, el módulo de decodificación MD_DO1 verifica si el bloque corriente decodificado es el último bloque identificado en la señal F’.
Si el bloque corriente es el último bloque de la señal F’, en el curso de una etapa D12 representada en la Figura 7, se pone fin al método de decodificación.
Si no fuere el caso, se procede a la selección del bloque siguiente B'i a decodificar en conformidad con el orden de recorrido de tipo raster scan antes citado mediante iteración de las etapas D1 a D10 para 1<i<Z.
E12794437
01-10-2015
Se describirá a continuación, principalmente haciendo referencia a la Figura 7 otro modo de realización de la invención.
5 Este otro modo de realización se distingue del anterior solamente por el número de coeficientes ocultados que es 0 o N, siendo N un número entero tal que N>2.
A este efecto, la sub-etapa de comparación D32 antes citada se sustituye por la sub-etapa D32a representada en puntos en la Figura 7, en cuyo curso se procede a la comparación del número de coeficientes susceptibles de haber
10 sido modificados con varios umbrales predeterminados 0<TSIG_1<TSIG_2<TSIG_3…, de tal manera que si el número de dichos coeficientes está incluido entre TSIG_N y TSIG_N+1, N signos han sido objeto de ocultación.
Si el número de dichos coeficientes es inferior al primer umbral TSIG_1, se procede, en el curso de la etapa D4 antes citada, a la decodificación entrópica clásica de todos los signos de los coeficientes de la lista E1. A este efecto,
15 el signo de cada coeficiente no nulo de la lista E1 es objeto de decodificación entrópica.
Si el número de dichos coeficientes está incluido entre el umbral TSIG_N y TSIG_N+1, se procede, en el curso de la etapa D4 antes citada, a la decodificación entrópica clásica de todos los signos de los coeficientes de la lista E1, con la excepción de los N signos respectivos de los primeros coeficientes no nulos de dicha lista modificada Em1, siendo
20 los N signos citados objeto de ocultación.
En este otro modo de realización, el módulo de entrada MTR_DO1 calcula, en el curso de la etapa D5, el valor de la función f que es el resto del módulo 2N de la suma de los coeficientes de la sub-lista SEm1. Se supone que en la realización ejemplo propuesta, N=2.
25 El módulo de procesamiento MTR_DO1 deduce entonces la configuración de los dos signos ocultados que se asigna respectivamente a cada uno de los dos primeros coeficientes no nulos ɛ2 y ɛ3, según el convenio utilizado en la codificación.
30 Una vez reconstruidos estos dos signos, se procede a la realización de las etapas D6 a D12 anteriormente descritas.
Se supone que los modos de realización que han sido anteriormente descritos han sido dados a título meramente indicativo y no limitativo y que pueden aportarse fácilmente numerosas modificaciones por un experto en esta técnica sin por ello desviarse del alcance de protección de la invención.
35 Así, a modo de ejemplo, según un modo de realización simplificado con respecto al representado en la Figura 4, el codificador CO1 podría configurarse para que oculte al menos N’ signos predeterminados, con N’>1, en lugar de ser 0, 1 o N signos predeterminados. En este caso, la etapa de comparación C72 o C72a sería suprimida. De forma correspondiente, según un modo de realización simplificado con respecto al representado en la Figura 8, el
40 decodificador DO1 estaría configurado para reconstruir N’ signos predeterminados en lugar de ser 0, 1 o N signos predeterminados. En este caso, la etapa de comparación D32 o D32a sería suprimida. Además, el criterio de decisión aplicado en la etapa de codificación C72 y en la etapa de decodificación D32, se podría sustituir por otro tipo de criterio. A este efecto, en lugar de comparar con un umbral el número de coeficientes modificables o el número de coeficientes susceptibles de haber sido modificados, el módulo de procesamiento MTR_CO1 o
45 MTR_DO1 podría aplicar un criterio de decisión que sea, respectivamente, función de la suma de las amplitudes de los coeficientes modificables o susceptibles de haber sido modificados o también, del número de ceros presentes entre los coeficientes modificables o susceptibles de haber sido modificados.
50

Claims (6)

  1. 5
    15
    25
    35
    45
    55
    65
    REIVINDICACIONES
    1. Un método de codificación de al menos una imagen dividida en particiones, en donde una partición corriente (Bi) a codificar contiene datos a los que al menos a un dato se le asigna un signo, siendo los datos coeficientes de transformación directa,
    estando dicho método de codificación caracterizado por cuanto que pone en práctica, para dicha partición corriente, las etapas siguientes:
    -el cálculo (S3) del valor de una función representativa de la paridad de la suma de los datos de dicha partición corriente con la exclusión de dicho signo que se oculta,
    -la comparación (S4) de dicho valor calculado con la paridad de dicho signo,
    -en función del resultado de dicha comparación, la modificación (S5) o no, de al menos uno de los datos de la partición corriente,
    -en caso de modificación, la codificación (S20) de los datos de la partición comprenden al menos un dato modificado sin el signo de dicho al menos un dato modificado.
  2. 2. Un dispositivo de codificación (CO) de al menos una imagen dividida en particiones, en donde una partición corriente a codificar contiene datos de los que a por lo menos un dato se le asigna un signo, siendo los datos los coeficientes de transformación directa,
    estando dicho dispositivo caracterizado por cuanto que comprende medios de procesamiento (MTR_CO) que, para dicha partición corriente a codificar, son capaces de:
    -calcular el valor de una función representativa de la paridad de la suma de los datos de dicha partición corriente con la exclusión de dicho signo,
    -comparar dicho valor calculado con la paridad de dicho signo,
    -modificar, o no, al menos uno de los datos de la partición corriente en función del resultado de dicha comparación,
    y por cuanto que comprende medios (CE_CO) de codificación de los datos de la partición que incluye dicho al menos un dato modificado sin el signo de dicho al menos un dato modificado, en caso de modificación por dicho medio de procesamiento.
  3. 3. Un método de decodificación de una señal de datos representativa de al menos una imagen dividida en particiones que fue precedentemente codificada, en donde una partición corriente (Bi) a decodificar contiene datos a los que al menos a un dato se le asigna un signo, siendo dichos datos los coeficientes de transformación directa,
    estando dicho método de decodificación caracterizado por que comprende, para dicha participación corriente, las etapas siguientes:
    -decodificación (SD2, SD3) de los datos de dicha partición corriente, con la exclusión de dicho signo,
    -cálculo (SD4) del valor de una función representativa de la paridad de la suma de los datos decodificado de dicha participación corriente,
    -obtención, a partir de dicho valor calculado, del valor de dicho signo, si la paridad de la suma de los datos tiene
    un primer valor cuyo signo es positivo y si la paridad de la suma de los datos tiene un segundo valor cuyo signo
    es negativo.
  4. 4. Un dispositivo (DO) de decodificación de una señal de datos representativa de al menos una imagen dividida en particiones que fue precedentemente codificada, en donde una partición corriente a decodificar contiene datos de los que a por lo menos un dato se asigna un signo, siendo dichos datos los coeficientes de transformación directa,
    estando dicho dispositivo de decodificación caracterizado porque comprende, para dicha partición corriente a decodificar, medios de procesamiento (MTR_DO) que son capaces de:
    -decodificar los datos de dicha partición corriente, con la exclusión de dicho signo,
    -calcular el valor de una función representativa de la paridad de la suma de los datos decodificados de dicha partición corriente;
    18
    -obtener, a partir de dicho valor calculado, el valor de dicho signo, si la paridad de la suma de los datos tiene un primer valor cuyo signo es positivo y si la paridad de la suma de los datos tiene el segundo valor cuyo signo es negativo.
    5
  5. 5. Un programa informático que incluye instrucciones para poner en práctica el método de codificación según la reivindicación 1, cuando dicho método de codificación se ejecuta en un ordenador.
  6. 6. Un programa informático que incluye instrucciones para poner en práctica el método de decodificación según la 10 reivindicación 4, cuando dicho método de decodificación se ejecuta en un ordenador.
    15
    19
ES12794437.9T 2011-11-07 2012-11-06 Método de codificación y decodificación de imágenes, dispositivo de codificación y de decodificación y programas informáticos correspondientes Active ES2549065T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1160114 2011-11-07
FR1160114A FR2982446A1 (fr) 2011-11-07 2011-11-07 Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
PCT/FR2012/052551 WO2013068683A1 (fr) 2011-11-07 2012-11-06 Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants

Publications (1)

Publication Number Publication Date
ES2549065T3 true ES2549065T3 (es) 2015-10-22

Family

ID=47263471

Family Applications (7)

Application Number Title Priority Date Filing Date
ES18196614T Active ES2785109T3 (es) 2011-11-07 2012-11-06 Procedimiento de descodificación de imágenes
ES15184700.1T Active ES2618066T3 (es) 2011-11-07 2012-11-06 Método de decodificación de imágenes
ES20157173T Active ES2911912T3 (es) 2011-11-07 2012-11-06 Procedimiento de descodificación de imágenes
ES20166865T Active ES2905626T3 (es) 2011-11-07 2012-11-06 Procedimiento de descodificación de imágenes, dispositivo de descodificación de imágenes, y programa informático correspondiente
ES12794437.9T Active ES2549065T3 (es) 2011-11-07 2012-11-06 Método de codificación y decodificación de imágenes, dispositivo de codificación y de decodificación y programas informáticos correspondientes
ES15184702.7T Active ES2647122T3 (es) 2011-11-07 2012-11-06 Soporte de registro que memoriza un flujo de datos de imágenes codificadas
ES16207516T Active ES2699274T3 (es) 2011-11-07 2012-11-06 Soporte de registro que memoriza un flujo de datos de imágenes codificadas

Family Applications Before (4)

Application Number Title Priority Date Filing Date
ES18196614T Active ES2785109T3 (es) 2011-11-07 2012-11-06 Procedimiento de descodificación de imágenes
ES15184700.1T Active ES2618066T3 (es) 2011-11-07 2012-11-06 Método de decodificación de imágenes
ES20157173T Active ES2911912T3 (es) 2011-11-07 2012-11-06 Procedimiento de descodificación de imágenes
ES20166865T Active ES2905626T3 (es) 2011-11-07 2012-11-06 Procedimiento de descodificación de imágenes, dispositivo de descodificación de imágenes, y programa informático correspondiente

Family Applications After (2)

Application Number Title Priority Date Filing Date
ES15184702.7T Active ES2647122T3 (es) 2011-11-07 2012-11-06 Soporte de registro que memoriza un flujo de datos de imágenes codificadas
ES16207516T Active ES2699274T3 (es) 2011-11-07 2012-11-06 Soporte de registro que memoriza un flujo de datos de imágenes codificadas

Country Status (22)

Country Link
US (8) US9609344B2 (es)
EP (8) EP3694209B1 (es)
JP (2) JP6096203B2 (es)
KR (12) KR102735960B1 (es)
CN (5) CN107396126B (es)
BR (2) BR122022013656B1 (es)
CY (5) CY1116898T1 (es)
DK (7) DK3209021T3 (es)
ES (7) ES2785109T3 (es)
FR (1) FR2982446A1 (es)
HR (6) HRP20220174T1 (es)
HU (6) HUE037165T2 (es)
IN (1) IN2014CN03040A (es)
LT (6) LT3209021T (es)
NO (1) NO2985998T3 (es)
PL (7) PL3209021T3 (es)
PT (7) PT2777269E (es)
RS (6) RS58189B1 (es)
RU (5) RU2608682C2 (es)
SI (7) SI3209021T1 (es)
SM (3) SMT202000186T1 (es)
WO (1) WO2013068683A1 (es)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7759113B2 (en) 1999-04-30 2010-07-20 The General Hospital Corporation Fabrication of tissue lamina using microfabricated two-dimensional molds
FR2982446A1 (fr) 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
FR2982447A1 (fr) 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
EP3644611B1 (en) * 2012-01-20 2023-09-06 Velos Media International Limited Multiple sign bit hiding within a transform unit
US20140286412A1 (en) * 2013-03-25 2014-09-25 Qualcomm Incorporated Intra dc prediction for lossless coding in video coding
JP6480744B2 (ja) * 2015-02-09 2019-03-13 Dmg森精機株式会社 工作機械
US10368107B2 (en) * 2016-08-15 2019-07-30 Qualcomm Incorporated Intra video coding using a decoupled tree structure
US10609367B2 (en) 2016-12-21 2020-03-31 Qualcomm Incorporated Low-complexity sign prediction for video coding
WO2019118539A1 (en) 2017-12-14 2019-06-20 Interdigital Vc Holdings, Inc. Deep learning based image partitioning for video compression
WO2019118536A1 (en) 2017-12-14 2019-06-20 Interdigital Vc Holdings, Inc. Texture-based partitioning decisions for video compression
WO2019135630A1 (ko) * 2018-01-05 2019-07-11 에스케이텔레콤 주식회사 변환 계수의 부호 데이터 은닉
CN108334593B (zh) * 2018-01-30 2022-01-28 西安电子科技大学 一种安全的云环境下的密文图像去重方法、云服务器
WO2019156469A1 (ko) * 2018-02-09 2019-08-15 삼성전자 주식회사 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치
EP3738312B1 (en) 2018-03-07 2025-11-26 Huawei Technologies Co., Ltd. Method and apparatus for harmonizing multiple sign bit hiding and residual sign prediction
US10873765B2 (en) * 2018-03-29 2020-12-22 Apple Inc. Techniques for high efficiency entropy coding of video data
CN109788285B (zh) * 2019-02-27 2020-07-28 北京大学深圳研究生院 一种量化系数结束标志位的上下文模型选取方法及装置
JP7068559B1 (ja) 2021-09-30 2022-05-16 Tpr株式会社 摺動部材

Family Cites Families (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4726141Y1 (es) 1967-09-06 1972-08-12
JPS5130676Y2 (es) 1971-04-09 1976-08-02
JP3387418B2 (ja) 1998-07-10 2003-03-17 日本電気株式会社 ディジタル信号の電子透かし挿入システム
JP2001231017A (ja) * 2000-02-16 2001-08-24 Kddi Corp 電子透かしを用いた絶対画質評価方法、そのための符号化方法、および符号化装置
GB0007781D0 (en) * 2000-03-30 2000-05-17 Sony Uk Ltd Data compression
WO2001082540A1 (en) 2000-04-25 2001-11-01 Koninklijke Philips Electronics N.V. A device for encoding/decoding n-bit source words into corresponding m-bit channel words, and vice versa
JP3784635B2 (ja) * 2000-11-10 2006-06-14 富士通株式会社 データ運用方法
CN1878311B (zh) 2001-11-27 2013-04-03 三星电子株式会社 用于编码和解码比特流和并列内插器的装置和方法
JP3932110B2 (ja) * 2002-04-23 2007-06-20 シャープ株式会社 画像処理装置、画像処理システム、電子情報機器、画像処理方法、制御プログラムおよび可読記録媒体
US7627761B2 (en) 2002-07-22 2009-12-01 Xerox Corporation System for authentication of JPEG image data
JP2004080756A (ja) * 2002-07-22 2004-03-11 Xerox Corp Jpeg圧縮画像データの認証方法及び認証システム
US6795584B2 (en) * 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
JP4240283B2 (ja) 2002-10-10 2009-03-18 ソニー株式会社 復号装置及び復号方法
US7212681B1 (en) 2003-01-15 2007-05-01 Cisco Technology, Inc. Extension of two-dimensional variable length coding for image compression
KR100586101B1 (ko) 2003-05-12 2006-06-07 엘지전자 주식회사 동영상 코딩 방법
US7769088B2 (en) 2003-05-28 2010-08-03 Broadcom Corporation Context adaptive binary arithmetic code decoding engine
WO2005004493A1 (en) * 2003-06-25 2005-01-13 Thomson Licensing S.A. Decoding method and apparatus for detection of watermarks in a compressed video bitstream
JP4165752B2 (ja) * 2003-09-30 2008-10-15 アヴァシス株式会社 画像データへの秘匿データ挿入方式および秘匿データ検出方式
US7379608B2 (en) 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
CN1642278A (zh) * 2004-01-06 2005-07-20 北京大学 嵌入式零树编码方法及其电路结构
CN101006450B (zh) 2004-03-26 2010-10-13 新泽西理工学院 基于整数小波扩展频谱的可逆数据隐藏和提取方法
CN1677438A (zh) * 2004-03-31 2005-10-05 松下电器产业株式会社 在数据码流中隐藏数据的方法及装置
CN1265323C (zh) * 2004-06-25 2006-07-19 闫宇松 一种高压缩比人像编解码方法
JP4624359B2 (ja) * 2004-09-06 2011-02-02 三菱電機株式会社 電子透かし装置
CN1756350A (zh) 2004-09-29 2006-04-05 乐金电子(惠州)有限公司 动影像编码方法
DE102004059978B4 (de) * 2004-10-15 2006-09-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz und zum Decodieren einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Restwerte-Prädiktion sowie ein Computerprogramm und ein computerlesbares Medium
KR100677548B1 (ko) * 2004-12-31 2007-02-02 삼성전자주식회사 복호된 영상의 오류 재은닉 방법 및 그 장치
US7627467B2 (en) * 2005-03-01 2009-12-01 Microsoft Corporation Packet loss concealment for overlapped transform codecs
US7788106B2 (en) 2005-04-13 2010-08-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Entropy coding with compact codebooks
US8619860B2 (en) 2005-05-03 2013-12-31 Qualcomm Incorporated System and method for scalable encoding and decoding of multimedia data using multiple layers
IE20050277A1 (en) 2005-05-04 2006-11-29 Nat Univ Ireland Method and apparatus for generating error-correcting and error-detecting codes using zero-divisors and units in group rings
RU2371881C1 (ru) 2005-07-08 2009-10-27 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ моделирования информации кодирования видеосигнала для компрессии/декомпрессии информации
US7894523B2 (en) 2005-09-05 2011-02-22 Lg Electronics Inc. Method for modeling coding information of a video signal for compressing/decompressing coding information
US20070074251A1 (en) 2005-09-27 2007-03-29 Oguz Seyfullah H Method and apparatus for using random field models to improve picture and video compression and frame rate up conversion
CN100466739C (zh) 2005-10-12 2009-03-04 华为技术有限公司 Cabac解码系统及方法
KR100811184B1 (ko) 2005-10-21 2008-03-07 삼성전자주식회사 아우터 인코더 및 그 방법
FR2896359A1 (fr) * 2006-01-19 2007-07-20 France Telecom Procede d'encodage et de decodage rapides et dispositifs associes.
US8184712B2 (en) 2006-04-30 2012-05-22 Hewlett-Packard Development Company, L.P. Robust and efficient compression/decompression providing for adjustable division of computational complexity between encoding/compression and decoding/decompression
US8363936B2 (en) 2006-08-25 2013-01-29 Thomson Licensing Method and apparatus for reduced resolution partitioning
CN101137047B (zh) * 2006-08-29 2010-09-15 昆山杰得微电子有限公司 一种通过有效残差系数分析提高编码效率的方法
US8121190B2 (en) 2006-10-05 2012-02-21 Siemens Aktiengesellschaft Method for video coding a sequence of digitized images
US8599926B2 (en) 2006-10-12 2013-12-03 Qualcomm Incorporated Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers
RU2426227C2 (ru) 2006-11-14 2011-08-10 Квэлкомм Инкорпорейтед Кодирование кодов переменной длины с эффективным использованием памяти
CN101198051B (zh) 2006-12-07 2011-10-05 深圳艾科创新微电子有限公司 基于h.264的熵解码器的实现方法及装置
CA2675891C (en) 2007-01-18 2013-04-16 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Quality scalable video data stream
CN101658042B (zh) 2007-03-13 2016-03-02 诺基亚技术有限公司 用于视频编码和解码的系统和方法
TWI341657B (en) 2007-04-03 2011-05-01 Nat Univ Tsing Hua Cabac decoding method
KR100873947B1 (ko) 2007-05-30 2008-12-12 주식회사 엠엠칩스 H.264/avc 표준용 워터마크 삽입 방법 및 시스템
US8619853B2 (en) 2007-06-15 2013-12-31 Qualcomm Incorporated Separable directional transforms
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
EP2183922A4 (en) 2007-08-16 2011-04-27 Nokia Corp METHOD AND DEVICES FOR CODING AND DECODING AN IMAGE
FR2920929B1 (fr) 2007-09-10 2009-11-13 St Microelectronics Sa Procede et dispositif d'encodage de symboles avec un code du type a controle de parite et procede et dispositif correspondants de decodage
US9008171B2 (en) 2008-01-08 2015-04-14 Qualcomm Incorporated Two pass quantization for CABAC coders
KR101375668B1 (ko) 2008-03-17 2014-03-18 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
US8542748B2 (en) 2008-03-28 2013-09-24 Sharp Laboratories Of America, Inc. Methods and systems for parallel video encoding and decoding
US8138956B2 (en) 2008-06-02 2012-03-20 Mediatek Inc. CABAC encoder and CABAC encoding method
KR20090129926A (ko) 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
CN101610405A (zh) 2008-06-20 2009-12-23 刘镔 一种以压缩视频为载体的信息隐写方法
US20100014584A1 (en) * 2008-07-17 2010-01-21 Meir Feder Methods circuits and systems for transmission and reconstruction of a video block
US20100027663A1 (en) 2008-07-29 2010-02-04 Qualcomm Incorporated Intellegent frame skipping in video coding based on similarity metric in compressed domain
CN101365131A (zh) 2008-08-19 2009-02-11 华亚微电子(上海)有限公司 适于vlsi实现的avs视频解码器变长解码的简化码表及实施方法
JP5086951B2 (ja) 2008-09-16 2012-11-28 株式会社リコー 画像生成装置、画像生成方法、コンピュータが実行可能なプログラム、およびコンピュータが読み取り可能な記録媒体
US8576916B2 (en) 2008-10-08 2013-11-05 Qualcomm Incorporated Method and apparatus for reducing bus traffic of a texture decoding module in a video decoder
US9467699B2 (en) 2008-12-03 2016-10-11 Hfi Innovation Inc. Method for performing parallel coding with ordered entropy slices, and associated apparatus
WO2010063883A1 (en) * 2008-12-03 2010-06-10 Nokia Corporation Switching between dct coefficient coding modes
BRPI0924155B1 (pt) 2009-01-27 2021-09-14 Interdigital Vc Holdings, Inc Métodos e aparelho para transformar a seleção em codificação e decodificação de video
CN101583045B (zh) * 2009-06-18 2011-01-19 中国科学技术大学 基于obmc的svc层间错误隐藏方法
CN102498718B (zh) 2009-07-03 2016-01-20 法国电信公司 具有与至少一个相邻参考图像分区的几何形状或尺寸不同的几何形状或尺寸的当前图像分区的移动向量的预测以及使用一个这种预测的编码和解码
CN102598662B (zh) 2009-10-27 2016-10-26 法国电信公司 用于图像编码和解码的方法和装置
US8315310B2 (en) 2010-01-08 2012-11-20 Research In Motion Limited Method and device for motion vector prediction in video transcoding using full resolution residuals
KR101768207B1 (ko) 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
CN102148967A (zh) 2010-02-04 2011-08-10 成都市世嘉电子实业有限公司 一种无损帧内预测熵编码算法
CN102158692B (zh) 2010-02-11 2013-02-13 华为技术有限公司 编码方法、解码方法、编码器和解码器
CN102215383A (zh) 2010-04-06 2011-10-12 陶为 一种基于h.264的cavlc编码器的实现方法
US8942282B2 (en) 2010-04-12 2015-01-27 Qualcomm Incorporated Variable length coding of coded block pattern (CBP) in video compression
EP2559253A1 (en) 2010-04-13 2013-02-20 Research In Motion Limited Methods and devices for incorporating deblocking into encoded video
CN101917625A (zh) 2010-06-03 2010-12-15 北京邮电大学 一种基于联合信源-网络编码的可分级视频流传输方法
CN101944362B (zh) * 2010-09-14 2012-05-30 北京大学 一种基于整形小波变换的音频无损压缩编码、解码方法
JP5041061B2 (ja) 2010-12-27 2012-10-03 ソニー株式会社 復号装置及び復号方法
US9338449B2 (en) 2011-03-08 2016-05-10 Qualcomm Incorporated Harmonized scan order for coding transform coefficients in video coding
FR2975856A1 (fr) 2011-05-26 2012-11-30 France Telecom Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
US8767824B2 (en) 2011-07-11 2014-07-01 Sharp Kabushiki Kaisha Video decoder parallelization for tiles
FR2980942A1 (fr) 2011-09-30 2013-04-05 France Telecom Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
CN104137541B (zh) 2011-10-31 2018-07-20 南洋理工大学 无损图像和视频压缩方法及装置
US8964849B2 (en) 2011-11-01 2015-02-24 Blackberry Limited Multi-level significance maps for encoding and decoding
FR2982447A1 (fr) 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
FR2982446A1 (fr) 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US9008184B2 (en) * 2012-01-20 2015-04-14 Blackberry Limited Multiple sign bit hiding within a transform unit
EP3644611B1 (en) * 2012-01-20 2023-09-06 Velos Media International Limited Multiple sign bit hiding within a transform unit
CA2807786C (en) 2012-03-08 2016-06-21 Research In Motion Limited Motion vector sign bit hiding
US9294779B2 (en) * 2012-06-15 2016-03-22 Blackberry Limited Multi-bit information hiding using overlapping subsets
JPWO2014002896A1 (ja) 2012-06-29 2016-05-30 ソニー株式会社 符号化装置および符号化方法、復号装置および復号方法
US9602930B2 (en) 2015-03-31 2017-03-21 Qualcomm Incorporated Dual diaphragm microphone
US10368072B2 (en) * 2015-05-29 2019-07-30 Qualcomm Incorporated Advanced arithmetic coder

Also Published As

Publication number Publication date
EP2777269A1 (fr) 2014-09-17
JP6096203B2 (ja) 2017-03-15
PT3209021T (pt) 2018-12-03
KR102517432B1 (ko) 2023-03-31
EP2991350B1 (fr) 2017-01-04
CN107347154A (zh) 2017-11-14
US20240121420A1 (en) 2024-04-11
SMT202000186T1 (it) 2020-07-08
EP3675491B1 (fr) 2021-10-13
RU2014123338A (ru) 2015-12-20
RU2016139456A3 (es) 2020-04-24
JP6302582B2 (ja) 2018-03-28
HRP20171721T1 (hr) 2018-02-23
HUE025426T2 (en) 2016-02-29
ES2911912T3 (es) 2022-05-23
HRP20220174T1 (hr) 2022-04-29
US20160234524A1 (en) 2016-08-11
EP2991350A1 (fr) 2016-03-02
SI2777269T1 (sl) 2015-11-30
EP3209021A1 (fr) 2017-08-23
HRP20170290T8 (hr) 2017-06-02
JP2014534764A (ja) 2014-12-18
RS54253B1 (sr) 2016-02-29
BR122022013656B1 (pt) 2023-02-07
KR20210095957A (ko) 2021-08-03
KR102735960B1 (ko) 2024-11-28
RS56513B1 (sr) 2018-02-28
HRP20151032T1 (hr) 2015-11-06
CN104041039B (zh) 2017-09-22
HK1202350A1 (zh) 2015-09-25
CY1124947T1 (el) 2023-01-05
LT3442228T (lt) 2020-05-11
RU2765300C1 (ru) 2022-01-28
KR102069357B1 (ko) 2020-01-23
ES2905626T3 (es) 2022-04-11
EP2985998B1 (fr) 2017-09-13
DK3442228T3 (da) 2020-04-27
PT3694209T (pt) 2022-02-14
KR20140091584A (ko) 2014-07-21
SMT201800636T1 (it) 2019-01-11
HRP20170290T1 (hr) 2017-04-21
KR20190057449A (ko) 2019-05-28
RS58189B1 (sr) 2019-03-29
BR112014010842B1 (pt) 2022-09-13
EP3442228A1 (fr) 2019-02-13
CY1116898T1 (el) 2017-04-05
HRP20182010T1 (hr) 2019-02-08
RS62852B1 (sr) 2022-02-28
ES2699274T3 (es) 2019-02-08
KR20230047222A (ko) 2023-04-06
RU2751082C1 (ru) 2021-07-08
KR20200008068A (ko) 2020-01-22
KR20200069382A (ko) 2020-06-16
LT2991350T (lt) 2017-03-10
RS60125B1 (sr) 2020-05-29
HUE049077T2 (hu) 2020-09-28
RU2016139456A (es) 2020-04-25
CN107347155A (zh) 2017-11-14
US10257532B2 (en) 2019-04-09
US20150010076A1 (en) 2015-01-08
PL3675491T3 (pl) 2022-01-17
PL3694209T3 (pl) 2022-04-04
EP3694209B1 (fr) 2021-12-29
HUE030849T2 (en) 2017-06-28
DK2991350T3 (en) 2017-03-06
RU2608682C2 (ru) 2017-01-23
US20190238878A1 (en) 2019-08-01
LT2985998T (lt) 2017-11-27
ES2647122T3 (es) 2017-12-19
PT2985998T (pt) 2017-11-15
SI3209021T1 (sl) 2018-12-31
KR20180063370A (ko) 2018-06-11
HK1244606A1 (zh) 2018-08-10
JP2017123669A (ja) 2017-07-13
US9706219B2 (en) 2017-07-11
KR102393556B1 (ko) 2022-05-04
PT2991350T (pt) 2017-03-02
US9319697B2 (en) 2016-04-19
CY1124989T1 (el) 2023-03-24
HUE056971T2 (hu) 2022-04-28
RS55832B1 (sr) 2017-08-31
US10701386B2 (en) 2020-06-30
PL3442228T3 (pl) 2020-08-24
CY1122965T1 (el) 2021-10-29
CN104041039A (zh) 2014-09-10
PL3209021T3 (pl) 2019-02-28
KR101982824B1 (ko) 2019-05-28
SMT201500239B (it) 2015-10-30
HRP20200627T1 (hr) 2020-10-02
PL2991350T3 (pl) 2017-07-31
US9609344B2 (en) 2017-03-28
EP3442228B1 (fr) 2020-03-25
DK2985998T3 (da) 2017-11-27
FR2982446A1 (fr) 2013-05-10
US20220272371A1 (en) 2022-08-25
BR112014010842A2 (pt) 2017-06-13
KR101865309B1 (ko) 2018-06-08
KR102203203B1 (ko) 2021-01-14
EP2777269B1 (fr) 2015-09-16
EP3675491A1 (fr) 2020-07-01
KR102122079B1 (ko) 2020-06-11
KR20180120806A (ko) 2018-11-06
EP2985998A1 (fr) 2016-02-17
HK1219192A1 (zh) 2017-03-24
SI3694209T1 (sl) 2022-04-29
DK3694209T3 (da) 2022-02-14
EP3694209A1 (fr) 2020-08-12
US20140348223A1 (en) 2014-11-27
HK1201394A1 (en) 2015-08-28
HK1244605A1 (zh) 2018-08-10
SI3442228T1 (sl) 2020-06-30
CN107396126B (zh) 2020-01-07
KR20170066682A (ko) 2017-06-14
KR101915155B1 (ko) 2018-11-06
PL2985998T3 (pl) 2018-01-31
CN107347154B (zh) 2020-03-17
LT3209021T (lt) 2018-12-10
KR102282904B1 (ko) 2021-07-28
RU2739729C1 (ru) 2020-12-28
PT2777269E (pt) 2015-10-22
DK2777269T3 (en) 2015-10-19
US11277630B2 (en) 2022-03-15
BR112014010842A8 (pt) 2017-07-11
IN2014CN03040A (es) 2015-07-03
LT3675491T (lt) 2022-02-10
ES2618066T3 (es) 2017-06-20
EP4030755A1 (fr) 2022-07-20
US11889098B2 (en) 2024-01-30
SI3675491T1 (sl) 2021-12-31
DK3209021T3 (da) 2019-01-02
HUE057616T2 (hu) 2022-05-28
US20210021850A1 (en) 2021-01-21
CN107347155B (zh) 2020-02-14
HUE037165T2 (hu) 2018-08-28
KR101652610B1 (ko) 2016-08-30
SI2991350T1 (sl) 2017-03-31
DK3675491T3 (da) 2021-11-15
CN107396103A (zh) 2017-11-24
PT3442228T (pt) 2020-04-24
RU2734800C2 (ru) 2020-10-23
HK1217069A1 (zh) 2016-12-16
WO2013068683A1 (fr) 2013-05-16
ES2785109T3 (es) 2020-10-05
KR20150047634A (ko) 2015-05-04
KR101744653B1 (ko) 2017-06-09
PT3675491T (pt) 2021-11-19
US20170280149A1 (en) 2017-09-28
US12542922B2 (en) 2026-02-03
EP3209021B1 (fr) 2018-10-03
CN107396103B (zh) 2020-06-23
KR20210006522A (ko) 2021-01-18
NO2985998T3 (es) 2018-02-10
SI2985998T1 (sl) 2017-12-29
CN107396126A (zh) 2017-11-24
PL2777269T3 (pl) 2015-12-31
CY1121429T1 (el) 2020-05-29
KR20220062136A (ko) 2022-05-13
LT3694209T (lt) 2022-02-10

Similar Documents

Publication Publication Date Title
ES2549065T3 (es) Método de codificación y decodificación de imágenes, dispositivo de codificación y de decodificación y programas informáticos correspondientes
ES2618070T3 (es) Método para la decodificación de imágenes
RU2782400C2 (ru) Способ кодирования и декодирования изображений, устройство кодирования и декодирования и соответствующие компьютерные программы
RU2808075C1 (ru) Способ кодирования и декодирования изображений, устройство кодирования и декодирования и соответствующие компьютерные программы