ES2981473T3 - Método de codificación y descodificación de imágenes, dispositivo de codificación y descodificación y programas informáticos correspondientes - Google Patents
Método de codificación y descodificación de imágenes, dispositivo de codificación y descodificación y programas informáticos correspondientes Download PDFInfo
- Publication number
- ES2981473T3 ES2981473T3 ES13815087T ES13815087T ES2981473T3 ES 2981473 T3 ES2981473 T3 ES 2981473T3 ES 13815087 T ES13815087 T ES 13815087T ES 13815087 T ES13815087 T ES 13815087T ES 2981473 T3 ES2981473 T3 ES 2981473T3
- Authority
- ES
- Spain
- Prior art keywords
- block
- blocks
- decoding
- row
- current block
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000004590 computer program Methods 0.000 title claims description 13
- 238000000638 solvent extraction Methods 0.000 claims abstract description 10
- 238000013139 quantization Methods 0.000 claims description 65
- 230000006835 compression Effects 0.000 abstract description 25
- 238000007906 compression Methods 0.000 abstract description 25
- 102100039600 Cytoplasmic tRNA 2-thiolation protein 1 Human genes 0.000 abstract 1
- 102100025508 Cytoplasmic tRNA 2-thiolation protein 2 Human genes 0.000 abstract 1
- 101000746181 Homo sapiens Cytoplasmic tRNA 2-thiolation protein 1 Proteins 0.000 abstract 1
- 101000856509 Homo sapiens Cytoplasmic tRNA 2-thiolation protein 2 Proteins 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 13
- 238000005192 partition Methods 0.000 description 11
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 238000001914 filtration Methods 0.000 description 9
- 230000009466 transformation Effects 0.000 description 9
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/174—Methods 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 slice, e.g. a line of blocks or a group of blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/196—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
1. Procedimiento de codificación de una imagen que comprende las etapas de particionar (C1, C2) la imagen en una pluralidad de bloques (CTU1, CTU2, …, CTUi, …, CTUS) capaces de contener símbolos pertenecientes a un conjunto predeterminado de símbolos, de codificar por entropía un bloque actual en base a al menos una probabilidad de ocurrencia de símbolo y de codificar de manera predictiva un parámetro de compresión (QP) asociado a dicho bloque actual. En el caso en que el bloque actual sea el primer bloque a codificar de un conjunto considerado de bloques consecutivos a codificar, se llevan a cabo las etapas siguientes: determinación (C40a)), durante dicha etapa de codificación por entropía, de probabilidades de ocurrencia de símbolo para dicho primer bloque actual, en base a las probabilidades determinadas al finalizar la codificación y decodificación del último bloque de otro conjunto de bloques inmediatamente anterior a dicho conjunto considerado en el orden de codificación de los bloques; y asignación (C41a)), durante dicho paso de codificación predictiva, de un valor de predicción de parámetro de compresión que es independiente del valor de parámetro de compresión asociado con dicho último bloque. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Método de codificación y descodificación de imágenes, dispositivo de codificación y descodificación y programas informáticos correspondientes
Campo de la invención
La presente invención hace referencia de manera general al campo del procesamiento de imágenes, y más exactamente a la codificación y descodificación de imágenes digitales y secuencias de imágenes digitales.
Así pues, la invención se puede aplicar en particular a la codificación de vídeo utilizada en los codificadores de vídeo actuales (MPEG, H.264, etc.) o en los futuros codificadores ITU-T/VCEG (HEVC) o ISO/MPEG (HVC).
Antecedentes de la invención
El estándar HEVC actualmente en desarrollo y descrito en el documento "B. Bross, W.-J. Han, J.-R. Ohm, G. J. Sullivan y T Wiegand, "High efficiency video coding (HEVC) text specification draft 9," document JCTVC-K1003 of JCT-VC, Shanghai, CN, 10-19 October 2012" es similar al anterior estándar H.264, en el sentido de que utiliza la partición en bloques de la secuencia de vídeo. Sin embargo, el estándar HEVC se distingue del estándar H.264 por el hecho de que la partición utilizada sigue una estructura arborescente denominada ''quadtree''. Para ello, según se muestra en la Figura 1, una imagen actual I<n>se particiona una primera vez en varios bloques cuadrados CTB<1>, CTB<2>, ..., CTB<i>, ..., CTB<l>, por ejemplo, de tamaño 64x64 píxeles (1 < i < L). Para un bloque CTBi dado, se considera que dicho bloque constituye la raíz de un árbol de codificación en el que:
• un primer nivel de hojas por debajo de la raíz corresponde a un primer nivel de profundidad de partición del bloque CTBi para el que el bloque CTBi se ha particionado una primera vez en varios bloques de codificación,
• un segundo nivel de hojas por debajo del primer nivel de hojas corresponde a un segundo nivel de profundidad de partición del bloque CTBi para el que determinados bloques de dichos varios bloques de codificación del bloque CTBi particionado una primera vez se particionan en varios bloques de codificación, ...
• ... un k-ésimo nivel de hoja por debajo del k-<1>-ésimo nivel de hoja que corresponde a un k-ésimo nivel de profundidad de partición de bloque BTC<i>para el cual algunos bloques de dichos varios bloques de codificación del bloque BTC k-1 veces particionado, se particionan una última vez en varios bloques de codificación.
En un codificador compatible con HEVC, la iteración de la partición del bloque CTBi se lleva a cabo hasta un nivel de profundidad de partición predeterminado.
Al final de las particiones sucesivas mencionadas anteriormente del bloque CTB<i>, según se muestra en la Figura 1, este último se particiona finalmente en varios bloques de codificación denominados CB<1>, CB<2>, ..., CB<j>, ..., CB<m>con 1 < j< M.
Con referencia a la Figura 1, para un bloque CB<j>dado, se considera que este bloque constituye la raíz de un árbol de predicción y transformación para dicho bloque, por ejemplo, del tipo de transformada discreta de coseno (DCT). El árbol de predicción para un bloque CB<j>dado es representativo de la manera en que el bloque CB<j>se particiona en varios bloques, que se denominan bloques de predicción. Para un bloque de predicción considerado y como en el estándar H.264, el estándar HEVC mencionado anteriormente utiliza una predicción de píxeles en dicho bloque con respecto a píxeles en al menos otro bloque que pertenece a la misma imagen (intra predicción) o a una o más imágenes previas en la secuencia (inter predicción) que ya han sido descodificadas. Convencionalmente, estas imágenes anteriores se denominan imágenes de referencia y se almacenan en la memoria tanto del codificador como del descodificador. La interpredicción se suele denominar predicción compensada por movimiento.
Al final de la predicción de un bloque considerado, se emite un bloque predicho.
De acuerdo con el estándar HEVC, durante la operación de transformación de un bloque de codificación CB<j>considerado, este último puede volver a particionarse en varios bloques más pequeños TB<1>, TB<2>, ..., TB<v>, ..., TB<q>(1 < v < Q) que se denominan bloques de transformada o subbloques. Una partición de este tipo respeta una arborescencia de tipo "quadtree", denominada "quadtree residual", en la que las hojas de esta última representan respectivamente los bloques de transformada TB<1>, TB<2>, ..., TB<v>, ..., TB<q>obtenidos en diferentes niveles de profundidad de partición.
Cada subbloque TB<1>, TB<2>, ..., TB<v>, ..., TB<q>contiene los píxeles residuales representativos de la diferencia entre los píxeles del bloque de predicción considerado y los píxeles del bloque de codificación actual CB<j>.
En el ejemplo mostrado en la Figura 1, el residuo de predicción del bloque de codificación CB<j>se particiona, por ejemplo, en diez subbloques cuadrados de tamaño variable TB<1>, TB<2>, TB<3>, TB<4>, TB<5>, TB<6>, TB<7>, TB<8>, TB<9>, TB<10>. Una partición de este tipo se muestra como una línea de puntos en la Figura 1.
Los píxeles del residuo de predicción correspondientes a cada bloque de transformada TB<1>, TB<2>, ..., TB<v>, ..., TB<q>se pueden señalar al descodificador como todos cero mediante un indicador específico denominado CBF (abreviación inglesa de "Coded Block Flag").
En el caso de que este indicador sea 0, se interpreta que el residuo es cero en el bloque de predicción considerado. En el ejemplo mostrado en la Figura 1, los bloques de predicción para los que este indicador es 0 son los subbloques TB<1>y TB<10>.
En el caso de que este indicador sea 1, entonces los bloques residuales obtenidos se transforman, por ejemplo, utilizando una transformada de tipo DCT (transformada discreta del coseno). En el ejemplo mostrado en la Figura 1, los bloques de predicción para los que este indicador es<1>son los bloques TB<2>a TB<9>.
Acto seguido, los coeficientes de cada uno de los bloques residuales transformados se cuantifican, por ejemplo, utilizando una cuantificación escalar uniforme y, a continuación, se codifican mediante una codificación entrópica. Etapas de este tipo son bien conocidos por sí mismas.
Más concretamente, la etapa de cuantificación utiliza una etapa de cuantificación que se determina a partir de un parámetro denominado QP (abreviatura inglesa de "Quantization Parameter"). En el estándar HEVC, es posible tener un parámetro QP que sea el mismo para todos los bloques de transformada de una imagen. Para adaptarse mejor a las características locales de la imagen, también es posible modificar el parámetro QP para cada bloque de codificación considerado. Esta modificación se lleva a cabo de la forma siguiente. Para un bloque actual, se considera el primer bloque de transformada que contiene realmente un residuo (CBF=1). Con referencia a la Figura 1, un bloque de transformada de este tipo es el bloque TB<2>. A continuación, la información sobre la modificación del parámetro QP se transmite al descodificador. En el estándar HEVC, esta información consiste en un elemento sintáctico denominado QPdelta, que es representativo de la diferencia entre el parámetro QP del bloque previamente codificado y, a continuación, descodificado, denominado "QP predicho", y el parámetro QP del bloque actual.
Cabe señalar que el parámetro QP de un bloque de transformada actual también se utiliza para determinar la intensidad de filtrado de un filtro antibloques o de atenuación del efecto de los bloques ("deblocking filter" en inglés). De una manera conocida per se, un filtrado de este tipo se aplica en el borde de los bloques de transformada para reducir los efectos de bloque que aparecen en una imagen, en el límite entre los bloques de transformada y los bloques de codificación.
En particular en el estándar HEVC, se pueden considerar diferentes tipos de filtrado, y el parámetro QP se utiliza para determinar qué tipo de filtrado se seleccionará. La ventaja de una disposición de este tipo es, por ejemplo, aplicar un filtrado más potente cuando el parámetro QP es alto (lo que corresponde a una compresión del bloque alta). Cabe señalar que incluso un bloque en el que todos los coeficientes son cero (CBF=0), por ejemplo el bloque CB<1>de la Figura 1, sigue teniendo un valor de parámetro QP que se predice a partir del valor de parámetro QP del bloque previamente codificado y, a continuación, descodificado, pudiéndose utilizar un parámetro de este tipo en el caso de filtrado antibloques.
Más concretamente, la codificación entrópica se puede utilizar en un codificador aritmético denominado CABAC ("Context Adaptive Binary Arithmetic Coder"), introducido en el estándar de compresión AVC (también conocido bajo el nombre de ISO-MPEG4 parte<10>y UIT-T H.264).
Este codificador entrópico utiliza diferentes conceptos:
• la codificación aritmética: el codificador, tal como se describe inicialmente en el documento J. Rissanen y G. G. Langdon Jr, "Universal modeling and coding", IEEE Trans. Inform. Theory, vol. IT-27, pp.
12-23, Jan. 1981, utiliza, para codificar un símbolo, una probabilidad de ocurrencia de este símbolo;
• la adaptación al contexto: en este caso se trata de adaptar la probabilidad de aparición de los símbolos que hay que codificar. Por una parte, se lleva a cabo un aprendizaje sobre la marcha. Por otra parte, en función del estado de la información codificada previamente, se utiliza un contexto específico para la codificación. Cada contexto corresponde a una probabilidad específica de que aparezca el símbolo. Por ejemplo, un contexto corresponde a un tipo de símbolo codificado (la representación de un coeficiente de un residuo, la señalización del modo de codificación, etc.) según una configuración dada, o a un estado de la vecindad (por ejemplo, el número de modos "intra" seleccionados en la vecindad, etc.) ;
• a binarización: los símbolos que hay que codificar se convierten en una secuencia de bits. A continuación, estos diferentes bits se envían de forma sucesiva al codificador entrópico binario.
De este modo, para cada contexto utilizado, este codificador entrópico utiliza un sistema de aprendizaje de probabilidades sobre la marcha con respecto a los símbolos previamente codificados para el contexto considerado.
Por otra parte, se distinguen en el estándar HEVC varias técnicas de codificación.
De acuerdo con una primera técnica de codificación, los bloques de una imagen actual se codifican y, a continuación, se descodifican de forma secuencial de acuerdo con un orden lexicográfico, por ejemplo, de acuerdo con un orden de ejecución de los bloques fila por fila de tipo "raster-scan", empezando por el bloque situado en la parte superior izquierda de la imagen hasta el bloque situado en la parte inferior derecha de la imagen. En el ejemplo mostrado en la Figura 1, los bloques CTB<1>a CTB<l>se codifican y, a continuación, se descodifican de forma sucesiva.
En el caso de que el bloque actual sea el primer bloque a codificar de un conjunto de bloques consecutivos a codificar considerado, por ejemplo, una fila de bloques, se utiliza el siguiente método:
• determinar, durante la codificación entrópica de este primer bloque actual, probabilidades de aparición de símbolos para dicho primer bloque actual, siendo dichas probabilidades las que se determinaron para el último bloque codificado y, a continuación, descodificado de la fila de bloques precedente,
• determinar el elemento sintáctico denominado QPdelta, que es representativo de la diferencia entre un valor de parámetro previsto QP, que es el del último bloque codificado y, a continuación, descodificado en la fila precedente de bloques, y un valor de parámetro predeterminado QP que el codificador desea asociar al primer bloque actual.
Una técnica de este tipo proporciona un alto rendimiento de compresión de imágenes. Sin embargo, como la codificación y descodificación entrópica de un símbolo depende del estado de la probabilidad aprendida hasta ese momento, los símbolos sólo se pueden descodificar en el mismo orden que el utilizado durante la codificación. Normalmente, la descodificación sólo puede ser secuencial, lo que impide descodificar varios símbolos en paralelo (por ejemplo, para aprovechar las arquitecturas multinúcleo).
De acuerdo con una segunda técnica de codificación denominada WPP (abreviatura inglesa de "Wavefront Parallel Processing"), los bloques de una imagen actual se agrupan en un número predeterminado de conjuntos de bloques adyacentes por pares. En el ejemplo mostrado en la Figura 1, dichos conjuntos de bloques están formados, por ejemplo, por cada una de las filas L1 a L<6>de la imagen I<n>. Los conjuntos de bloques formados de este modo se codifican o descodifican en paralelo. Por supuesto, una codificación de este tipo requiere que estén disponibles los bloques situados respectivamente por encima y por encima a la derecha del bloque actual, de modo que se puedan extraer de ellos los datos necesarios para predecir dicho bloque actual (valores de los píxeles descodificados que permiten predecir los píxeles del bloque actual en el modo intra, valor de los vectores de movimiento en el modo inter).
De acuerdo con esta segunda técnica de codificación, en el caso de que el bloque actual sea el primer bloque a codificar de un conjunto considerado de bloques consecutivos a codificar, por ejemplo, una fila de bloques, se utiliza el siguiente método:
• determinar, durante la codificación entrópica de este primer bloque actual, probabilidades de aparición de símbolos para dicho primer bloque actual, siendo dichas probabilidades las que se determinaron al final de la codificación y descodificación del segundo bloque de la fila de bloques precedente,
• determinar el elemento sintáctico denominado QPdelta que es representativo de la diferencia entre un valor de parámetro previsto QP, que es un valor predeterminado denominado QPslice, y un valor de parámetro predeterminado QP que el codificador tiene por objetivo asociar con el primer bloque actual.
De esta forma, es posible empezar a codificar una fila actual de bloques sin esperar a que el último bloque de la fila precedente sea codificado y, a continuación, descodificado. La ventaja de una disposición de este tipo es que acelera el tiempo de procesamiento del codificador/descodificador y permite beneficiarse de una arquitectura multiplataforma para la codificación/descodificación de una imagen. Sin embargo, los rendimientos de compresión obtenidos con esta segunda técnica no son óptimos, ya que el aprendizaje de las probabilidades del codificador entrópico CABAC se hace más lento debido a la inicialización de las probabilidades al principio de la fila.
Además, en los documentos mencionados en http://phenix.int-evry.fr/jct/doc_end-user/documents/10-Stockholm/wg11/JCTVC-J0032-v3.zip, se propone bien convertir una imagen en la que los bloques se han codificado en modo WPP en una imagen en la que los bloques se han codificado en modo secuencial o bien a la inversa, convertir una imagen en la que los bloques se han codificado en modo secuencial en una imagen en la que los bloques se han codificado en modo WPP.
La conversión del modo WPP al secuencial puede permitir mejorar los rendimientos de compresión a costa de perder la capacidad de codificar/descodificar filas en paralelo. La conversión de modo secuencial a modo WPP puede permitir "paralelizar" un flujo de bloques codificados que se ha recibido, pero no codificado en modo WPP, a expensas de una ligera pérdida de eficacia de compresión.
En el caso, por ejemplo, de una conversión de modo WPP a modo secuencial, se realiza primero una descodificación entrópica de los bloques de la imagen que se han codificado en modo WPP. Se realiza acto seguido, una recodificación entrópica de dichos bloques descodificados entrópicamente, de acuerdo con el modo secuencial.
El inconveniente de una conversión del tipo mencionado anteriormente es que sólo funciona cuando el parámetro QP es constante en la imagen, es decir, el valor del parámetro QP es idéntico para cada bloque de la imagen.
En efecto, cuando el parámetro QP varía de un bloque a otro en un flujo considerado de bloques codificados, es necesario, además de las etapas de descodificación entrópica y recodificación entrópica mencionadas anteriormente, descodificar los elementos de sintaxis QPdelta representativos de las variaciones del parámetro QP y, a continuación, modificar el valor de estos elementos de sintaxis para que el parámetro QP de cada bloque sea idéntico en modo WPP y en modo secuencial. Una disposición de este tipo es necesaria en particular por el hecho de que el primer bloque de una fila hereda un parámetro QP que no es el mismo según que el codificador funcione en modo secuencial o en modo WPP, según se ha descrito anteriormente.
Además, suponiendo que el primer bloque de una fila no tenga ningún residuo (CBP=0), no será posible descodificar el elemento sintáctico QPdelta, ya que este elemento sintáctico no se habrá transmitido. De este modo, puede ocurrir que el parámetro QP del primer bloque de una fila sea diferente en modo WPP y en modo no WPP, lo que da lugar a un filtrado antibloques a lo largo de la frontera de este primer bloque que es diferente en función de si el codificador funciona en modo secuencial o en modo WPP. Como consecuencia, dicho primer bloque se descodificará de forma diferente en modo secuencial y en modo WPP, imposibilitando la descodificación de la imagen, ya que el primer bloque codificado de una fila no será el esperado. Como es probable que los valores de los píxeles de dicho primer bloque codificado se reutilicen para la intrapredicción de los bloques siguientes, pero son diferentes de los valores esperados, por tanto todo el proceso de descodificación de la imagen será erróneo.
Objetivo y resumen de la invención
Uno de los objetivos de la invención es remediar las desventajas de la técnica anterior mencionadas anteriormente.
Para ello, un objetivo de la presente invención hace referencia a un método de codificación y un método de descodificación tales como los definidos en las reivindicaciones 1 y 5.
Una disposición de este tipo permite producir una imagen codificada en la que es posible llevar a cabo una transcodificación sin errores de conjuntos de bloques que han sido codificados de forma secuencial en conjuntos de bloques que han sido codificados en paralelo y viceversa, en particular en el caso de que un parámetro de compresión, como por ejemplo el parámetro de cuantificación, varíe de un bloque a otro en una imagen considerada.
Una disposición de este tipo también permite beneficiarse no sólo de los rendimientos de compresión del modo secuencial, sino también del rápido tiempo de procesamiento del codificador/descodificador, una vez que la imagen se ha convertido al modo WPP
En el caso de que el valor de predicción del parámetro de cuantificación corresponda a un parámetro de cuantificación asociado al último subbloque del primer bloque de la fila precedente, la ventaja de una disposición de este tipo es que el valor de predicción del parámetro de compresión se puede determinar tan pronto como comience el procesamiento del conjunto de bloques precedentes (por ejemplo, una fila de bloques mayor que la fila de bloques actual), minimizando de este modo el tiempo de espera para codificar el conjunto de bloques actual (fila de bloques actual).
En el caso de que el valor de predicción del parámetro de cuantificación corresponda a un parámetro de cuantificación asociado al último subbloque del segundo bloque de la fila precedente, la ventaja de una disposición de este tipo es que permite un cierto aprendizaje estadístico del valor del parámetro de compresión sobre los datos del conjunto de bloques que preceden al bloque actual. Esto aumenta la eficacia de la predicción.
En el caso de que la imagen se codifique de acuerdo con el estándar HEVC, un bloque es un bloque de codificación y un subbloque es un bloque de transformada.
Al mismo tiempo, la invención también hace referencia a un dispositivo de codificación y a un dispositivo de descodificación tales como los definidos en las reivindicaciones<2>y<6>.
La invención también hace referencia a un programa informático que comprende instrucciones para la ejecución de las etapas del método de codificación o descodificación anterior, cuando el programa se ejecuta en un ordenador.
Un programa de este tipo puede utilizar cualquier lenguaje de programación, y estar en forma de código fuente, código objeto, o código intermedio entre código fuente y código objeto, como por ejemplo en una forma parcialmente compilada, o en cualquier otra forma deseable.
Sin embargo, otro objetivo de la invención también hace referencia a un medio de grabación legible por ordenador que comprende instrucciones de programa informático tal como se mencionó anteriormente.
El medio de grabación puede ser cualquier entidad o dispositivo capaz de almacenar el programa. Por ejemplo, el soporte puede incluir un medio de almacenamiento, como por ejemplo una ROM, por ejemplo, un CD ROM o una ROM de circuito microelectrónico, o también un medio de grabación magnético, por ejemplo una llave USB o un disco duro.
Por otra parte, un medio de grabación de este tipo puede ser un medio transmisible, como por ejemplo una señal eléctrica u óptica, que se puede dirigir por medio de un cable eléctrico u óptico, por radio o por otros medios. En particular, el programa de acuerdo con la invención se puede descargar de una red de tipo Internet.
Alternativamente, un medio de grabación de este tipo puede ser un circuito integrado en el que se incorpore el programa, estando el circuito adaptado para ejecutar el método en cuestión o para ser utilizado en la ejecución de éste ultimo.
El dispositivo de codificación, el método de descodificación, el dispositivo de descodificación y los programas informáticos mencionados anteriormente tienen al menos las mismas ventajas que las conferidas por el método de codificación de acuerdo con la presente invención.
Breve descripción de los dibujos
Otras características y ventajas se harán evidentes con la lectura de dos formas de realización preferidas descritas con referencia a las figuras en las que:
• la Figura 1 muestra un esquema de codificación de imágenes de la técnica anterior,
• la Figura 2A muestra las principales etapas del método de codificación de acuerdo con la invención,
• la Figura 2B muestra en detalle el método de codificación utilizado en la Figura 2A,
• la Figura 3A muestra una forma de realización de un dispositivo de codificación de acuerdo con la invención,
• la Figura 3B muestra un módulo de codificación del dispositivo de codificación mostrado en la Figura 3A,
• la Figura 4 muestra un esquema de codificación/descodificación de imágenes de tipo secuencial,
• la Figura 5 muestra un ejemplo de partición de un bloque de la imagen actual en subbloques,
• la Figura<6>A muestra las principales etapas del método de descodificación de acuerdo con la invención,
• la Figura<6>B muestra en detalle la descodificación utilizada en el método de descodificación de la Figura<6>A,
• la Figura 7A muestra una forma de realización de un dispositivo de descodificación de acuerdo con la invención,
• la Figura 7B muestra un módulo de descodificación del dispositivo descodificador de la Figura 7A.
Descripción detallada de una forma de realización de la parte de codificación
A continuación se describirá una forma de realización de la invención, en la que el método de codificación de acuerdo con la invención se utiliza para codificar una imagen o una secuencia de imágenes de acuerdo con un flujo de bits próximo al obtenido por codificación de acuerdo con el estándar actualmente en desarrollo, HEVC, por ejemplo.
En esta forma de realización, el método de codificación de acuerdo con la invención se utiliza, por ejemplo, en forma de software o hardware modificando un codificador inicialmente conforme con el estándar HEVC. El método de codificación de acuerdo con la invención se representa en forma de un algoritmo que comprende las etapas C1 a C4 tal como se muestran en la Figura 2A.
De acurdo con la forma de realización de la invención, el método de codificación de acuerdo con la invención se utiliza en un dispositivo de codificación CO mostrado en la Figura 3A.
Según se ilustra en la Figura 3A, un dispositivo de codificación de este tipo comprende una memoria MEM_CO que comprende una memoria intermedia MT_CO, una unidad de procesamiento UT_CO equipada, por ejemplo, con un microprocesador gP y controlada por un programa informático PG_CO que utiliza el método de codificación de acuerdo con la invención. En el momento de la inicialización, las instrucciones de código del programa informático PG_CO se cargan, por ejemplo, en una memoria RAM antes de ser ejecutadas por el procesador de la unidad de procesamiento UT_CO.
El método de codificación mostrado en la Figura 2A se aplica a cualquier imagen actual de una secuencia SQ de imágenes a codificar.
En el curso de una primera etapa C1 mostrada en la Figura 2A, se realiza, de una manera conocida per se, la partición de una imagen actual lCj perteneciente a la secuencia SQ de imágenes IC<1>, ..., ICj, ..., IC<m>, en varios bloques CTU<1>, CTU<2>, ..., CTUi, ..., CTUs por ejemplo de tamaño 64x64 píxeles (1 < i < S). Una etapa de partición de este tipo es utilizada por un módulo de software de partición MP mostrado en la Figura 3A, que está controlado por el microprocesador gP de la unidad de procesamiento UT_CO.
La imagen ICj particionada de este modo se muestra en la Figura 4.
Cabe señalar que, a efectos de la invención, el término "bloque" significa unidad de codificación (del inglés "coding unit"). Esta última terminología se utiliza en particular en el estándar HEVC, por ejemplo, en el documento "B. Bross, W.-J. Han, J.-R. Ohm, G. J. Sullivan y T. Wiegand, "High efficiency video coding (HEVC) text specification draft<6>", documento JCTVC-H1003 de JCT-VC, San Jose c A, USA, February 2012".
En particular, una unidad de codificación de este tipo agrupa conjuntos de píxeles rectangulares o cuadrados, también denominados bloques o macrobloques, o conjuntos de píxeles que tienen otras formas geométricas.
Dichos bloques CTU<1>, CTU<2>, ..., CTUi, ... CTU pueden contener uno o más símbolos, formando parte dichos símbolos de un conjunto predeterminado de símbolos.
En el curso de una etapa C2 mostrada en la Figura 2A, para un bloque actual CTUi previamente seleccionado, el módulo de particionamiento MP particiona dicho bloque en varios bloques más pequeños denominados bloques de codificación CU<1>, CU<2>, ..., CUf, ..., CU<g>con 1 < f < G. Dicha partición respeta una arborescencia de tipo "quadtree", tal como se ha descrito anteriormente en la descripción. Por supuesto, se pueden prever otros tipos de arborescencia. La etapa C2 se repite para todos los bloques CTU<1>, CTU<2>, ..., CTUs.
En la figura 5 se muestra un ejemplo de partición del bloque CTUi. En este ejemplo, el bloque CTUi se particiona de acuerdo con una arborescencia de tipo "quadtree" en cuatro bloques CU<1>a CU<10>.
Con referencia a la Figura 2A, se realiza, en el curso de una etapa C3, la codificación de los bloques CTU<1>, CTU<2>, ..., CTUi, ... CTUs de acuerdo con un orden de ejecución predeterminado, que es, por ejemplo, del tipo de exploración de trama mencionado anteriormente. En el ejemplo mostrado en la Figura 4, los bloques CTU<1>, CTU<2>, ..., CTUi, ... CTUs se codifican uno tras otro, de izquierda a derecha, como indica la flecha PRS.
Una codificación de este tipo es de tipo secuencial y es utilizada por un módulo de codificación UCO, tal como se muestra en la Figura 3A, que está controlado por el microprocesador gP de la unidad de procesamiento UT_CO. De una manera conocida per se, la memoria intermedia MT_CO del codificador CO se adapta para contener las probabilidades de aparición de símbolos tal como se actualizan de forma progresiva a medida que se codifica un bloque en curso.
Como se muestra con más detalle en la Figura 3B, el módulo de codificación UCO comprende:
• un módulo de codificación predictiva de un bloque actual con respecto a al menos un bloque previamente codificado y descodificado, denominado MCP;
• un módulo para la codificación entrópica de dicho bloque actual utilizando al menos una probabilidad de aparición de símbolo calculada para dicho bloque previamente codificado y descodificado, denominado MCE.
El módulo de codificación predictiva MCP es un módulo de software capaz de llevar a cabo la codificación predictiva del bloque actual de acuerdo con las técnicas de predicción convencionales, tales como por ejemplo el modo Intra y/o Inter.
El módulo de codificación entrópica MCE es, por su parte, del tipo CABAC, pero modificado de acuerdo con la presente invención, según se describirá más adelante en la descripción.
Alternativamente, el módulo de codificación entrópica MCE podría ser un codificador Huffman conocido per se. En el ejemplo mostrado en la Figura 4, el módulo UCO codifica los bloques de la primera fila LE<1>, de izquierda a derecha. Cuando llega al último bloque de la primera fila LE<1>, pasa al primer bloque de la segunda fila LE<2>. Cuando llega al último bloque de la segunda fila LE<2>, pasa al primer bloque de la tercera fila LE<3>. Cuando llega al último bloque de la tercera fila LE<3>, pasa al primer bloque de la cuarta fila LE<4>, y así sucesivamente hasta que se haya codificado el último bloque de la imagen actual ICj.
Por supuesto, son posibles otros tipos de órdenes de ejecución distintos del descrito anteriormente. De este modo, es posible dividir la imagen ICj en varias subimágenes denominadas rebanadas y aplicar una división de este tipo independientemente a cada subimagen. También es posible que el módulo de codificación UCO procese no una sucesión de filas, según se ha explicado anteriormente, sino una sucesión de columnas. También es posible recorrer las filas o columnas en cualquier dirección.
Con referencia a la Figura 2A, en el curso de una etapa C4, se realiza la construcción de un flujo F que se puede convertir en modo WPP. Acto seguido, el flujo F se transmite a través de una red de comunicaciones (no mostrada) a un terminal remoto. Esto incluye el descodificador DO mostrado en la Figura 7A.
Con referencia a la Figura 2B, describiremos ahora los diversas subetapas específicas de la invención, tal como se utilizan durante la etapa de codificación C3 mencionada anteriormente, en el módulo de codificación UCO mostrado en las Figuras 3A y 3B.
En el curso de una etapa C31 mostrada en la Figura 2B, el módulo de codificación UCO selecciona como bloque actual el primer subbloque a codificar de un bloque CTUi de una fila actual LEm mostrada en la Figura 4, tal como por ejemplo la primera fila LE<1>. En el resto de la descripción, este subbloque se denominará bloque.
En el curso de una etapa C32 mostrada en la Figura 2B, el módulo de codificación UCO comprueba si el bloque actual es el primer bloque (situado en la parte superior izquierda) de la imagen ICj que se dividió en bloques y, a continuación, en subbloques en la etapa C1 mencionada anteriormente.
Si éste es el caso, en el curso de una etapa C33 mostrada en la Figura 2B, el módulo de codificación entrópica MCE inicializa las probabilidades de aparición de símbolos.
En el curso de esta misma etapa C33 mostrada en la Figura 2B, se realiza la inicialización de un valor previsto del parámetro de compresión. El parámetro de compresión considerado es el parámetro de cuantificación QP. De acuerdo con el estándar HEVC, el valor previsto del parámetro QP se inicializa con el valor QPslice.
Si, tras el etapa C32 mencionada anteriormente, el bloque actual no es el primer bloque de la imagen lCj, se comprueba, en el curso de una etapa C39 que se describirá más adelante en la descripción, si el bloque actual es el primer bloque de la fila LEm considerada.
En el curso de una etapa C34 mostrado en la Figura 2B, se realiza la codificación del primer bloque actual CU<1>de la primera fila LE<1>mostrada en la Figura 4. Una etapa C34 de este tipo comprende varias subetapas C34a) a C34j) que se describirán a continuación.
En el curso de una primera subetapa C34a) mostrada en la Figura 2B, el módulo predictivo MCP de la Figura 3B realiza la codificación predictiva del bloque actual CU<1>mediante técnicas conocidas de predicción intra y/o inter, en el curso de las cuales el bloque CU<1>se predice con respecto a al menos un bloque previamente codificado y, a continuación, descodificado.
Ni que decir tiene que son posibles otros modos de predicción intra como los propuestos en el estándar HEVC. El bloque CU<1>actual también se puede someter a una codificación predictiva en modo inter, en el curso de la cual el bloque actual se predice en relación con un bloque de una imagen codificada previamente y, a continuación, descodificada. Por supuesto, son posibles otros tipos de predicción. Entre las predicciones posibles para un bloque actual, la predicción óptima se elige de acuerdo con un criterio de tasa de distorsión bien conocido por los expertos en la técnica.
Dicha subetapa de codificación predictiva mencionada anteriormente permite construir un bloque predicho CU<p i>que es una aproximación del bloque actual CU<1>. La información relativa a esta codificación predictiva se escribirá posteriormente en el flujo F transmitido al descodificador DO. Dicha información incluye, en particular, el tipo de predicción (inter o intra) y, si procede, el modo de predicción intra, el tipo de partición de un bloque o macrobloque si éste ha sido particionado, el índice de imagen de referencia y el vector de desplazamiento utilizados en el modo de predicción inter. Esta información es comprimida por el codificador CO.
En el curso de una subetapa posterior C34b) mostrada en la Figura 2B se realiza la sustracción del bloque predicho CU<p1>del bloque actual CU<1>para producir un bloque residual Clin.
En el curso de una subetapa posterior C34c) mostrada en la Figura 2B se realiza la partición del bloque residual CU<r1>en bloques de transformada TU<1>, TU<2>, ..., TU<n>, ..., TU<r>, con 1 < n < R. En el ejemplo mostrado en la Figura 5 el bloque de residuos CU<r1>se ha particionado en cuatro bloques de transformada TU<1>, TU<2>, TU<3>, TU<4>.
En el curso de una subetapa posterior C34d) mostrada en la Figura 2B, se realiza la transformación de cada bloque de transformada del bloque residual CU<r1>de acuerdo con una operación de transformación directa convencional, tal como por ejemplo una transformación en coseno discreta de tipo DCT, para producir un bloque transformado CUti.
En el curso de una subetapa posterior C34e) mostrada en la Figura 2B, se realiza la cuantificación del bloque transformado CUti de acuerdo con una operación convencional de cuantificación, tal como por ejemplo una cuantificación escalar utilizando un parámetro de cuantificación QP, como es el caso en el estándar HEVC. Se obtiene entonces un bloque de coeficientes cuantificados CU<q1.>
En el curso de una subetapa posterior C34f) mostrada en la Figura 2B, si el bloque de transformada actual TU<n>es el primer bloque de transformada del bloque actual CTU<i>que contiene un residuo (CBF=<1>), como por ejemplo el bloque TU<1>de la Figura 5, se realiza la codificación del elemento sintáctico QPdelta, que es representativo de la diferencia entre el parámetro QP del subbloque previamente codificado y, a continuación, descodificado, denominado "QP predicho", y el parámetro QP del subbloque actual.
En el curso de una subetapa posterior C34g) mostrada en la Figura 2B, se realiza la codificación entrópica del bloque de coeficientes cuantificados CU<q1>. En la forma de realización preferida, se trata de una codificación entrópica CABAc . Una etapa de este tipo consiste en:
a) leer el símbolo o símbolos del conjunto predeterminado de símbolos asociados al bloque actual,
b) asociar información digital, como por ejemplo bits, al símbolo o símbolos leídos.
En el curso de una subetapa posterior C34h) mostrada en la Figura 2B, se realiza la descuantificación del bloque CU<q1>de acuerdo con una operación de descuantificación convencional, que es la inversa de la cuantificación llevada a cabo en la etapa C34e). Se obtiene entonces un bloque de coeficientes descuantificados CUD<q1>
En el curso de una subetapa C34i) subsiguiente mostrada en la Figura 2B, se realiza la transformación inversa del bloque de coeficientes descuantificados CUD<q1>, que es la operación inversa de la transformación directa llevada a cabo en la etapa C34d) anterior. Se obtiene entonces un bloque residual descodificado CUD<r1.>
En el curso de una subetapa posterior C34j) mostrada en la Figura 2B, se realiza la construcción del bloque descodificado CUD<1>añadiendo el bloque residual descodificado CUD<r1>al bloque predicho CU<p1>. Cabe señalar que este último bloque es el mismo que el bloque descodificado obtenido al final del método de descodificación de la imagen lC<j>que se describirá más adelante en la descripción. El bloque descodificado CUD<1>queda de este modo disponible para ser utilizado por el módulo de codificación UCO mostrado en las Figuras 3A y 3B.
Al final de la etapa de codificación C34 mencionada anteriormente, el módulo de codificación entrópica MCE, tal como se muestra en la Figura 3B, contiene todas las probabilidades tal como se actualizan de forma progresiva a medida que se codifica el primer bloque. Estas probabilidades corresponden a los diferentes elementos sintácticos posibles y a los diferentes contextos de codificación asociados.
En el curso de una etapa posterior C35 mostrada en la Figura 2B, el bloque CUD<1>descodificado se filtra por medio de un filtro antibloques de acuerdo con el estándar HEVC. En particular, el filtro antibloques utiliza el parámetro de cuantificación QP del bloque de transformada TU actual<n>para determinar la intensidad de filtrado que conviene aplicar.
En el curso de una etapa posterior C36 mostrada en la Figura 2B, el módulo de codificación UCO comprueba si el bloque actual de la fila LE<m>que se acaba de codificar es el último bloque de la imagen lC<j>.
Si el bloque actual es el último bloque de la imagen lC<j>, en el curso de una etapa posterior C37 mostrada en la Figura 2B, se termina el método de codificación.
Si éste no es el caso, se realiza en el curso de una etapa posterior C38 mostrada en la Figura 2B, la selección del siguiente bloque CUf a codificar de acuerdo con el orden de ejecución representado por la flecha PRS en la Figura 4.
En el curso de una etapa posterior C39 mostrada en la Figura 2B, se comprueba si el bloque actual es el primer bloque de la fila LEm considerada.
Si éste es el caso, en el curso de una etapa de codificación entrópica C40a) mostrada en la Figura 2B, el módulo de codificación entrópica MCE de la Figura 3B comienza a codificar el primer bloque actual de la fila LEm considerada con las probabilidades de aparición de símbolos calculadas al final de la codificación y, a continuación, descodificación del último subbloque del último bloque CTUd (1 < d < S) de la fila precedente LEm<-1>.
Con referencia a la Figura 2B, en el curso de una etapa C41a) de codificación predictiva de un parámetro de compresión asociado a dicho primer bloque actual, tal como el parámetro de cuantificación QP, el módulo de codificación predictiva MCP de la Figura 3B procede con la asignación de un valor de predicción del parámetro de compresión que es independiente del valor del parámetro de compresión asociado a dicho último subbloque del último bloque CTUd (1 < d < S) de la fila precedente LEm<-1>.
De acuerdo con una primera variante de la etapa C41a), el valor de predicción del parámetro de cuantificación QP asignado es el del parámetro de cuantificación asociado al último subbloque del primer bloque CTU de la fila precedente LEm<-1>. Con referencia a la Figura 4, si el bloque actual es, por ejemplo, el primer subbloque del bloque CTU<17>de la tercera fila LE<3>, el valor de predicción del parámetro de cuantificación QP asignado es el del parámetro de cuantificación asociado con el último subbloque del primer bloque CTU de la segunda fila LE<2>.
De acuerdo con una segunda variante de la etapa C41a), el valor de predicción del parámetro de cuantificación QP asignado es el del parámetro de cuantificación asociado al último subbloque del segundo bloque CTU de la fila precedente LEm<-1>. Con referencia a la Figura 4, si el bloque actual es, por ejemplo, el primer subbloque del bloque CTU<17>de la tercera fila LE<3>, el valor de predicción del parámetro de cuantificación QP asignado es el del parámetro de cuantificación asociado con el último subbloque del segundo bloque CTU<10>de la segunda fila LE2.
De acuerdo con una tercera variante de la etapa C41a), presentada únicamente a título ilustrativo, el valor de predicción del parámetro de cuantificación QP asignado es el del parámetro de cuantificación asociado al primer subbloque del primer bloque CTU de la imagen ICj. Con referencia a la Figura 4, si el bloque actual es, por ejemplo, el primer subbloque del bloque CTU<17>de la tercera fila LE<3>, el valor de predicción del parámetro de cuantificación QP asignado es el del parámetro de cuantificación asociado con el primer subbloque del primer bloque CTU<1>de la primera fila LE<1>.
De acuerdo con una cuarta variante de la etapa C41 a), presentada sólo a título ilustrativo, en el caso de que la imagen lCj se haya dividido en varias rebanadas, el valor de predicción del parámetro de cuantificación QP asignado al primer bloque actual es el valor QPslice de la rebanada en la que se encuentra dicho primer bloque actual.
Tras la etapa C41a), se codifica el bloque actual y, a continuación, se descodifica iterando las etapas C34 a C37 descritas anteriormente.
Si, tras la etapa C39 mencionada anteriormente, el bloque actual no es el primer bloque de la fila LEm considerada, se realiza, en el curso de una etapa de codificación entrópica C40b) mostrada en la Figura 2B, la lectura de las probabilidades del último subbloque previamente codificado y descodificado que se encuentra en la misma fila LEm que el bloque actual que se va a codificar, es decir, el último subbloque codificado y, a continuación, descodificado del bloque CTU que está situado inmediatamente a la izquierda del bloque actual. Una etapa de este tipo se lleva a cabo mediante el módulo de codificación entrópica MCE mostrado en la Figura 3B.
Con referencia a la Figura 2B, se realiza acto seguido, en el curso de una etapa de codificación predictiva C41b) de un parámetro de compresión asociado a dicho bloque actual, tal como el parámetro de cuantificación QP, asignando un valor de predicción del parámetro QP al valor del parámetro QP del último subbloque previamente codificado y descodificado que se encuentra en la misma fila LEm que el bloque actual a codificar, es decir, el último subbloque codificado y, a continuación, descodificado del bloque CTU que se encuentra inmediatamente a la izquierda del bloque actual. Una etapa de este tipo la lleva a cabo el módulo de codificación predictiva MCP que se muestra en la Figura 3B.
Tras la etapa C41b), se codifica el bloque actual y, a continuación, se descodifica iterando las etapas C34 a C37 descritas anteriormente.
Las etapas de codificación descritas anteriormente se utilizan para todos los bloques CTU<1>, CTU<2>, ..., CTUi, ..., CTU a codificar en la imagen actual lCj considerada.
Descripción detallada de una forma de realización de la parte de codificación
A continuación, se describirá una forma de realización del método de descodificación de acuerdo con la invención, en la que el método de descodificación se utiliza en forma de software o hardware mediante modificaciones de un descodificador inicialmente conforme con el estándar HEVC. El método de descodificación de acuerdo con la invención se representa en forma de un algoritmo que comprende las etapas D1 a D4 tales como se muestran en la Figura 6A.
Según se ilustra en la Figura 7A, un descodificador de acuerdo con la invención comprende una memoria MEM_DO que incluye una memoria intermedia MT_DO, una unidad de procesamiento UT_DO equipada, por ejemplo, con un microprocesador |uP y controlada por un programa informático PG_DO que utiliza el método de descodificación de acuerdo con la invención. En el momento de la inicialización, las instrucciones de código del programa informático PG_DO se cargan, por ejemplo, en una memoria RAM antes de ser ejecutadas por el procesador de la unidad de procesamiento UT_DO.
El método de descodificación mostrado en la Figura 6A se aplica a cualquier imagen actual de una secuencia SQ de imágenes a descodificar.
Para ello, se identifica en el flujo F recibido en el descodificador la información representativa de la imagen actual lC<j>que se debe descodificar.
Con referencia a la Figura 6A, la primera etapa de descodificación D1 es la identificación en dicho flujo F de los bloques CTU<i>, CTU<2>, ..., CTU<i>, ... CTUs codificados previamente de acuerdo con el orden de ejecución PRS mostrado en la Figura 4.
Con referencia a la Figura 6A, la segunda etapa de descodificación D2 es la descodificación de cada uno de dichos L subconjuntos LE<i>, LE<2>, ..., LE<m>, ..., LE<l>de bloques, pudiendo descodificarse los bloques de un subconjunto considerado de acuerdo con el orden de ejecución secuencial predeterminado PRS, según se muestra en la Figura 4. En el ejemplo mostrado en la Figura 4, los bloques de un subconjunto actual LEm se descodifican uno después del otro, de izquierda a derecha, según se indica mediante la flecha PRS. Al final de la etapa D2, se obtienen los subconjuntos de bloques descodificados LED<i>, LED<2>, ..., LED<m>, ... LED<l>.
Una descodificación de este tipo es de tipo secuencial y, en consecuencia, se lleva a cabo mediante un único módulo de descodificación UDO tal como se muestra en la Figura 7A, estando dicho módulo controlado por el microprocesador |uP de la unidad de procesamiento UT_DO. De una manera conocida per se, la memoria intermedia MT_DO del decodificador DO se adecua para contener las probabilidades de aparición de símbolos tal como se actualizan de forma progresiva a medida que se descodifica un bloque actual.
Según se muestra con más detalle en la Figura 7B, el módulo de descodificación UDO comprende:
• un módulo de descodificación entrópica de dicho bloque actual mediante el aprendizaje de al menos una probabilidad de aparición de símbolo calculada para al menos un bloque descodificado previamente, denominado MDE,
• un módulo de descodificación predictiva de un bloque actual con respecto a dicho bloque descodificado previamente, denominado MDP.
El módulo de descodificación predictiva MDP es capaz de llevar a cabo la descodificación predictiva del bloque actual de acuerdo con las técnicas de predicción convencionales, tales como el modo Intra y/o Inter.
El módulo de descodificación entrópica MDE es, por su parte, del tipo CABAC, pero modificado de acuerdo con la presente invención, según se describirá más adelante.
Alternativamente, el módulo de descodificación entrópica MDE podría ser un descodificador Huffman conocido per se.
En el ejemplo mostrado en la Figura 4, el módulo UDO descodifica los bloques de la primera fila LE<i>de izquierda a derecha. Cuando llega al último bloque de la primera fila LE<i>, pasa al primer bloque de la segunda fila LE<2>. Cuando llega al último bloque de la segunda fila LE<2>, pasa al primer bloque de la tercera fila LE<3>. Al llegar al último bloque de la tercera fila LE<3>, pasa al primer bloque de la cuarta fila LE<4>, y así sucesivamente hasta descodificar el último bloque de la imagen actual lC<j.>
Por supuesto, son posibles otros tipos de órdenes de ejecución distintos del descrito anteriormente. De este modo, es posible dividir la imagen lC<j>en varias subimágenes denominadas rebanadas, y aplicar este tipo de división independientemente a cada subimagen. También es posible que el módulo de descodificación UDO procese no una sucesión de filas, según se ha explicado anteriormente, sino una sucesión de columnas. También es posible recorrer las filas o columnas en cualquier dirección.
Con referencia a la Figura 6A, la tercera etapa de descodificación D3 es la reconstrucción de una imagen descodificada ID<j>a partir de cada subconjunto descodificado LED<i>, LED<2>, ..., LED<m>, ..., LED<l>obtenido en la etapa de
i i
descodificación D2. Más concretamente, los bloques descodificados de cada subconjunto descodificado LEDi, LED<2>, ..., LEDm, ..., LED<l>se transmiten a una unidad de reconstrucción de imagen URI tal como se muestra en la Figura 7A, estando dicha unidad controlada por el microprocesador pP de la unidad de procesamiento UT_DO. En el curso de esta etapa D3, la unidad URI escribe los bloques descodificados en una imagen descodificada a medida que estos bloques están disponibles.
En el curso de una cuarta etapa de descodificación D4 mostrada en la figure 6A,la unidad URI mostrada en la Figura 7A emite una imagen de IDj totalmente descodificada.
Con referencia a la Figura 6B, describiremos ahora las diversas subetapas específicas de la invención, tales como se utilizan durante la etapa de descodificación secuencial D2 mencionada anteriormente, en el módulo de descodificación UDO mostrado en las Figuras 7A y 7B.
En el curso de una etapa D21 mostrada en la Figura 6B, el módulo de descodificación UDO selecciona como bloque actual el primer subbloque a descodificar de un bloque CTUi de una fila actual LEm mostrada en la Figura 4, tal como por ejemplo la primera fila LEi. En el resto de la descripción, este subbloque se denominará bloque.
En el curso de una etapa D22 mostrada en la Figura 6B, el módulo de descodificación UDO comprueba si el bloque actual es el primer bloque (situado en la parte superior izquierda) de la imagen lCj que se codificó previamente. Si éste es el caso, en el curso de la etapa D23 mostrada en la Figura 6B, el módulo de descodificación entrópica MDE realiza una inicialización de las probabilidades de aparición de símbolos. Esta inicialización es idéntica a la llevada a cabo durante la codificación en la etapa C33 mostrada en la Figura 2B.
En el curso de esta misma etapa D23 mostrada en la Figura 6B, se realiza la inicialización de un valor previsto del parámetro de compresión. El parámetro de compresión considerado es el parámetro de cuantificación QP. De acuerdo con el estándar HEVC, el valor previsto del parámetro QP se inicializa con el valor QPslice.
Si, tras el etapa D22 mencionada anteriormente, el bloque actual no es el primer bloque de la imagen lCj, se comprueba, en el curso de una etapa D29 que se describirá más adelante en la descripción, si el bloque actual es el primer bloque de la fila LEm considerada.
En el curso de una etapa D24 mostrada en la Figura 6B, se realiza la descodificación del primer bloque CU<1>actual de la primera fila LEi mostrado en la Figura 4. Una etapa D24 de este tipo comprende varias subetapas D24a) a D24f) que se describirán a continuación.
En el curso de una primera subetapa D24a) mostrada en la Figura 6B, el módulo de descodificación entrópica MDE de la Figura 7B descodifica entrópicamente los elementos sintácticos vinculados al bloque actual. Una etapa de este tipo consiste principalmente en:
a) leer los bits contenidos en el flujo que están asociados a dicha primera fila LEi,
b) reconstruir los símbolos a partir de los bits leídos.
Más concretamente, los elementos sintácticos vinculados al bloque actual son descodificados por el módulo MDE de descodificación entrópica CABAC, tal como se muestra en la Figura 7B. Éste último descodifica el flujo de bits F del fichero comprimido para producir los elementos de sintaxis y, al mismo tiempo, actualiza sus probabilidades para que, cuando decodifique un símbolo, las probabilidades de aparición de este símbolo sean idénticas a las obtenidas al codificar este mismo símbolo durante la etapa de codificación entrópica C34g) mencionada anteriormente mostrada en la Figura 2B.
En el curso de una subetapa posterior D24b) mostrada en la Figura 6B, el módulo de descodificación predictiva MDP de la Figura 7B realiza la descodificación predictiva del bloque actual CUi utilizando técnicas conocidas de predicción intra y/o inter, en el curso de las cuales el bloque CUi se predice con respecto a al menos un bloque descodificado previamente.
Ni que decir tiene que son posibles otros modos de predicción intra como los propuestos en el estándar HEVC. El bloque actual CUi también se puede someter a una descodificación predictiva en modo inter, en el curso de la cual el bloque actual se predice en relación con un bloque de una imagen descodificada previamente. Por supuesto, son posibles otros tipos de predicción. Entre las predicciones posibles para un bloque actual, la predicción óptima se elige de acuerdo con un criterio de tasa de distorsión bien conocido por los expertos en la técnica.
Dicha subetapa de descodificación predictiva mencionada anteriormente permite construir un bloque predicho CUpi que es una aproximación del bloque actual CUi.
i 2
En el curso de una subetapa subsiguiente D24c) mostrada en la Figura 6B, si el bloque de transformada actual TUn es el primer bloque de transformada del bloque actual CTUj que contiene un residuo (CBF=1), tal como el bloque TU<1>de la Figura 5, se realiza la descodificación del elemento sintáctico QPdelta y se calcula el valor del parámetro QP del subbloque actual sumando el elemento sintáctico descodificado QPdelta al valor del parámetro QP del subbloque descodificado anteriormente, denominado "QP predicho".
En el curso de una subetapa D24d) subsiguiente mostrada en la Figura 6B, se realiza la descodificación del bloque cuantificado CUq<1>de acuerdo con una operación de descuantificación convencional que es la operación inversa de la cuantificación llevada a cabo en la etapa C34e) mencionada anteriormente mostrada en la Figura 2B, para producir un bloque descuantificado descodificado CUDt<1>.
En el curso de una subsiguiente subetapa D24e) mostrada en la Figura 6B se realiza la transformación del bloque descuantificado CUDt<1>, que es la operación inversa de la transformación directa llevada a cabo en la etapa C34d) mencionada anteriormente mostrada en la Figura 2B. Se obtiene entonces un bloque residual descodificado CUDr<1>.
En el curso de una subetapa posterior D24f) mostrada en la Figura 6B, se realiza la construcción del bloque descodificado CUD<1>añadiendo el bloque residual descodificado CUDr<1>al bloque predicho CUp<1>. El bloque descodificado CUD<1>queda de este modo disponible para su utilización por el módulo de descodificación UDO mostrado en las Figuras 7A y 7B.
Al final de la etapa de descodificación D24 mencionada anteriormente, el módulo de descodificación entrópica MDE, tal como se muestra en la Figura 7B, contiene todas las probabilidades tal como se actualizan de forma progresiva a medida que se descodifica el primer bloque. Estas probabilidades corresponden a los diferentes elementos sintácticos posibles y a los diferentes contextos de descodificación asociados.
En el curso de una etapa posterior D25 mostrada en la Figura 6B, el bloque CUD<1>descodificado se filtra por medio de un filtro antibloques de acuerdo con el estándar HEVC. En particular, el filtro antibloques utiliza el parámetro de cuantificación QP del bloque de transformada TU actualn para determinar la intensidad de filtrado que conviene aplicar.
En el curso de una etapa posterior D26 mostrada en la Figura 6B, el módulo de descodificación UDO comprueba si el bloque actual CUD<1>que acaba de ser descodificado es el último bloque contenido en el flujo F.
Si éste es el caso, el método de descodificación finaliza en el curso de una etapa D27 mostrada en la Figura 6B.
Si éste no es el caso, se realiza, en el curso de la etapa D28 mostrado en la Figura 6B, la selección del siguiente bloque CUf a descodificar de acuerdo con el orden de ejecución representado por la flecha PRS en la Figura 4.
En el curso de una etapa posterior D29 mostrada en la Figura 6B, se comprueba si el bloque actual es el primer bloque de la fila LEm considerada.
Si éste es el caso, en el curso de una etapa de descodificación entrópica D30a), el módulo de descodificación entrópica MDE de la Figura 7B comienza a descodificar el primer bloque actual de la fila LEm considerada con las probabilidades de aparición de símbolos calculadas al final de la descodificación del último subbloque del último bloque CTUd (1 < d < S) de la fila LEm<-1>precedente.
Con referencia a la Figura 6B, en el curso de una etapa D31a) de descodificación predictiva de un parámetro de compresión asociado a dicho primer bloque actual, tal como el parámetro de cuantificación QP, el módulo de descodificación predictiva MDP de la Figura 7B procede a asignar un valor de predicción del parámetro de compresión que es independiente del valor del parámetro de compresión asociado a dicho último subbloque del último bloque CTUd (1 < d < S) de la fila LEm<-1>precedente.
De acuerdo con una primera variante de la etapa D31a), el valor de predicción del parámetro de cuantificación QP asignado es el del parámetro de cuantificación asociado al último subbloque del primer bloque CTU de la fila precedente LEm-<1>. Con referencia a la Figura 4, si el bloque actual es, por ejemplo, el primer subbloque del bloque CTU<17>de la tercera fila LE<3>, el valor de predicción del parámetro de cuantificación QP asignado es el del parámetro de cuantificación asociado con el último subbloque del primer bloque CTU de la segunda fila LE<2>.
De acuerdo con una segunda variante de la etapa D31a), el valor de predicción del parámetro de cuantificación QP asignado es el del parámetro de cuantificación asociado al último subbloque del segundo bloque CTU de la fila precedente LEm-<1>. Con referencia a la Figura 4, si el bloque actual es, por ejemplo, el primer subbloque del bloque CTU<17>de la tercera fila LE<3>, el valor de predicción del parámetro de cuantificación QP asignado es el del parámetro de cuantificación asociado con el último subbloque del segundo bloque CTU<10>de la segunda fila LE<2>.
De acuerdo con una tercera variante de la etapa D31a), presentada únicamente a título ilustrativo, el valor de predicción del parámetro de cuantificación QP asignado es el del parámetro de cuantificación asociado al primer subbloque del primer bloque CTU de la imagen ICj. Con referencia a la Figura 4, si el bloque actual es, por ejemplo, el primer subbloque del bloque CTU<17>de la tercera fila LE<3>, el valor de predicción del parámetro de cuantificación QP asignado es el del parámetro de cuantificación asociado con el primer subbloque del primer bloque CTU<1>de la primera fila LE<1>.
De acuerdo con una cuarta variante de la etapa D31 a), presentada sólo a título ilustrativo, en el caso de que la imagen lCj se haya dividido en varias rebanadas, el valor de predicción del parámetro de cuantificación QP asignado al primer bloque actual es el valor QPslice de la rebanada en la que se encuentra dicho primer bloque actual.
Tras la etapa D31a), el bloque actual se descodifica iterando las etapas D24 a D27 descritas anteriormente.
Si, tras la etapa D29 mencionada anteriormente, el bloque actual no es el primer bloque de la fila LEm considerada, se realiza, en el curso de una etapa de descodificación entrópica D30b) mostrada en la Figura 6B la lectura de las probabilidades del último subbloque previamente descodificado que se encuentra en la misma fila LEm que el bloque actual que se va a descodificar, es decir, el último subbloque descodificado del bloque CTU situado inmediatamente a la izquierda del bloque actual. Una etapa de este tipo es utilizada por el módulo de descodificación entrópica MDE mostrado en la Figura 7B.
Con referencia a la Figura 6B, se realiza acto seguido, en el curso de una etapa D31b) de descodificación predictiva de un parámetro de compresión asociado con dicho bloque actual, tal como el parámetro de cuantificación QP, la asignación de un valor de predicción de parámetro QP al valor del parámetro QP del último subbloque descodificado previamente que se encuentra en la misma fila LEm que el bloque actual que se va a descodificar, es decir, el último subbloque descodificado del bloque CTU que se encuentra inmediatamente a la izquierda del bloque actual. Una etapa de este tipo es utilizada por el módulo de descodificación predictiva MDP mostrado en la Figura 7B.
Tras la etapa D31b), el bloque actual se descodifica iterando las etapas D24 a D27 descritas anteriormente.
Las etapas de descodificación descritos anteriormente se utilizan para todos los bloques CTU<1>, CTU<2>, ..., CTUi, ..., CTUs que se deben descodificar en la imagen actual lCj considerada.
Ni que decir tiene que las formas de realización descritas anteriormente son puramente indicativas y en modo alguno restrictivas, y que un experto en la técnica puede realizar fácilmente numerosas modificaciones sin salirse del ámbito de la invención.
Claims (1)
- REIVINDICACIONES1. Método de codificación de al menos una imagen (ICj) que comprende las etapas de:- partición (C1, C2) de la imagen en varios bloques (CTU<1>, CTU<2>, ..., CTUi, ... CTUs) capaces de contener símbolos pertenecientes a un conjunto predeterminado de símbolos, estando los bloques particionados en subbloques:- codificación entrópica de un bloque actual sobre la base de al menos una probabilidad de aparición de símbolos, - codificación predictiva de un parámetro de cuantificación (QP) asociado a dicho bloque actual, caracterizándose dicho método de codificación por que en el caso (C39, O) en el que el bloque actual es el primer bloque a codificar de una fila (LEm) de bloques consecutivos a codificar, distinta de la primera fila (LE<1>), se realizan las etapas de:- determinación (C40a), durante dicha etapa de codificación entrópica, de probabilidades de aparición de símbolos para dicho primer bloque actual, siendo dichas probabilidades las determinadas al final de la codificación y, a continuación, descodificación del último bloque de la fila precedente (LE m<-1>),- asignación (C41a)), durante dicha etapa de codificación predictiva de un parámetro de cuantificación asociado a dicho primer bloque actual, de un valor de predicción de parámetro de cuantificación correspondiente a un parámetro de cuantificación asociado al último subbloque del primer o segundo bloque de la fila precedente (LE m<-1>).2. Dispositivo para codificar (CO) al menos una imagen, que tiene por objetivo aplicar el método de codificación de acuerdo con la reivindicación<1>, comprendiendo dicho dispositivo:- medios (MP) para particionar la imagen en varios bloques (CTU) capaces de contener símbolos pertenecientes a un conjunto predeterminado de símbolos, siendo los bloques particionados en subbloques;- medios (MCE) para la codificación entrópica de un bloque actual sobre la base de al menos una probabilidad de aparición de símbolo,- medios (MCP) para la codificación predictiva de un parámetro de cuantificación (QP) asociado a dicho bloque actual, caracterizándose dicho dispositivo de codificación por que, en el caso (C39, O) en que el bloque actual es el primer bloque a codificar de una fila (LEm) de bloques consecutivos a codificar distintos de la primera fila (LE<1>):- los medios de codificación entrópica determinan probabilidades de aparición de símbolos para dicho primer bloque actual, siendo dichas probabilidades las determinadas tras codificar y, a continuación, descodificar el último bloque de la fila precedente (LE m<-1>),- los medios de codificación predictiva de un parámetro de cuantificación asociado a dicho primer bloque actual asignan un valor de predicción de parámetro de cuantificación correspondiente a un parámetro de cuantificación asociado al último subbloque del primer o segundo bloque de la fila precedente (LE m<-1>).3. Programa informático que comprende instrucciones para aplicar el método de codificación de acuerdo con la reivindicación<1>, cuando se ejecuta en un ordenador.4. Medio de grabación legible por ordenador en el que está grabado un programa informático que comprende instrucciones para ejecutar las etapas del método de codificación de acuerdo con la reivindicación<1>, cuando dicho programa se ejecuta en un ordenador.5. Método de descodificación de un flujo (F) representativo de al menos una imagen codificada, que comprende las etapas de:- identificación (D1) en dicho flujo de varios bloques codificados, pudiendo dichos bloques contener símbolos pertenecientes a un conjunto predeterminado de símbolos, estando los bloques particionados en subbloques, - descodificación entrópica de un bloque codificado actual sobre la base de al menos una probabilidad de aparición de símbolos,- descodificación predictiva de un parámetro de cuantificación (QP) asociado a dicho bloque codificado actual, caracterizándose dicho método de descodificación por que en el caso (D29, O) en que el bloque actual sea el primer bloque a descodificar de una fila (LEm) de bloques consecutivos a descodificar distintos de la primera fila (LE<1>), se realizan las etapas de:- determinación (D30a)), durante dicha etapa de descodificación entrópica, de las probabilidades de aparición de símbolos para dicho primer bloque actual, siendo dichas probabilidades las determinadas al final de la descodificación del último bloque de la fila precedente (LE m<-1>),- asignación (D31a)), durante dicha etapa de descodificación predictiva de un parámetro de cuantificación asociado a dicho primer bloque actual, de un valor de predicción de parámetro de cuantificación correspondiente a un parámetro de cuantificación asociado al último subbloque del primer o segundo bloque de la fila precedente (LE m<-1>).<6>. Dispositivo de descodificación de un flujo (F) representativo de al menos una imagen codificada, que tiene por objetivo aplicar el método de descodificación de acuerdo con la reivindicación 5, comprendiendo dicho dispositivo: - medios (EX_DO) para identificar en dicho flujo varios bloques codificados, siendo adecuados dichos bloques para contener símbolos pertenecientes a un conjunto predeterminado de símbolos, siendo los bloques particionados en subbloques,- medios para la descodificación entrópica de un bloque codificado actual sobre la base de al menos una probabilidad de aparición de símbolos,- medios de descodificación predictiva de un parámetro de cuantificación (QP) asociado a dicho bloque codificado actual, caracterizándose dicho dispositivo de descodificación por que en el caso (D29, O) en que el bloque actual es el primer bloque a descodificar de una fila (LEm) de bloques consecutivos a descodificar distintos de la primera fila (LE<1>),- los medios de descodificación entrópica (MDE) determinan probabilidades de aparición de símbolos para dicho primer bloque actual, siendo dichas probabilidades las determinadas al final de la descodificación del último bloque de la fila precedente (LE m<-1>),- los medios (MDP) de descodificación predictiva de un parámetro de cuantificación asociado a dicho primer bloque actual asignan un valor de predicción de parámetro de cuantificación correspondiente a un parámetro de cuantificación asociado al último subbloque del primer o segundo bloque de la fila precedente (LE m<-1>).7. Programa informático que comprende instrucciones para aplicar el método de descodificación de acuerdo con la reivindicación 5, cuando se ejecuta en un ordenador.<8>. Medio de grabación legible por ordenador en el que se graba un programa informático que comprende instrucciones para la ejecución de las etapas del método de descodificación de acuerdo con la reivindicación 5, cuando dicho programa se ejecuta en un ordenador.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR1262119A FR2999760A1 (fr) | 2012-12-17 | 2012-12-17 | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants |
| PCT/FR2013/053062 WO2014096637A1 (fr) | 2012-12-17 | 2013-12-13 | 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 |
|---|---|
| ES2981473T3 true ES2981473T3 (es) | 2024-10-09 |
Family
ID=48237044
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES13815087T Active ES2981473T3 (es) | 2012-12-17 | 2013-12-13 | Método de codificación y descodificación de imágenes, dispositivo de codificación y descodificación y programas informáticos correspondientes |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US10165296B2 (es) |
| EP (1) | EP2932714B1 (es) |
| ES (1) | ES2981473T3 (es) |
| FR (1) | FR2999760A1 (es) |
| WO (1) | WO2014096637A1 (es) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR3029333A1 (fr) * | 2014-11-27 | 2016-06-03 | Orange | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants |
| US10321128B2 (en) * | 2015-02-06 | 2019-06-11 | Sony Corporation | Image encoding apparatus and image encoding method |
| US11095909B2 (en) | 2018-06-25 | 2021-08-17 | Panasonic Intellectual Property Corporation Of America | Encoder, decoder, encoding method, and decoding method |
| US11197009B2 (en) | 2019-05-30 | 2021-12-07 | Hulu, LLC | Processing sub-partitions in parallel using reference pixels |
| US11202070B2 (en) * | 2019-05-30 | 2021-12-14 | Hulu, LLC | Parallel bi-directional intra-coding of sub-partitions |
| CN113949868B (zh) * | 2020-07-17 | 2023-07-07 | 武汉Tcl集团工业研究院有限公司 | 一种熵编码方法及装置 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5676744B2 (ja) * | 2010-04-13 | 2015-02-25 | フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | エントロピー符号化 |
| US20120114034A1 (en) * | 2010-11-08 | 2012-05-10 | Mediatek Inc. | Method and Apparatus of Delta Quantization Parameter Processing for High Efficiency Video Coding |
-
2012
- 2012-12-17 FR FR1262119A patent/FR2999760A1/fr not_active Withdrawn
-
2013
- 2013-12-13 US US14/649,868 patent/US10165296B2/en active Active
- 2013-12-13 EP EP13815087.5A patent/EP2932714B1/fr active Active
- 2013-12-13 ES ES13815087T patent/ES2981473T3/es active Active
- 2013-12-13 WO PCT/FR2013/053062 patent/WO2014096637A1/fr not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| US10165296B2 (en) | 2018-12-25 |
| EP2932714B1 (fr) | 2024-04-03 |
| EP2932714A1 (fr) | 2015-10-21 |
| FR2999760A1 (fr) | 2014-06-20 |
| WO2014096637A1 (fr) | 2014-06-26 |
| US20150319451A1 (en) | 2015-11-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7525711B2 (ja) | 装置 | |
| JP7826351B2 (ja) | 統一された有意性マップ符号化方法および装置 | |
| JP6541274B2 (ja) | 動画像シーケンスの動画像フレームを復号する復号方法および装置 | |
| CN103959775B (zh) | 一种视频数据编解码的方法及设备 | |
| JP6263249B2 (ja) | 動画像復号装置、動画像復号方法、動画像符号化装置および動画像符号化方法 | |
| KR101538832B1 (ko) | 다중-레벨 유효성 맵 스캐닝 | |
| KR102586032B1 (ko) | 향상된 엔트로피 인코딩 및 디코딩을 위한 방법 및 장치 | |
| KR101677356B1 (ko) | 최종 유의 계수 위치 코딩을 위한 컨텍스트 최적화 | |
| KR101534416B1 (ko) | 인트라-예측을 이용한 비디오 코딩 | |
| CA2822925C (en) | Coding of residual data in predictive compression | |
| CA2822929C (en) | Coding of residual data in predictive compression | |
| ES2807908T3 (es) | Procedimiento y dispositivo para determinar el valor de un parámetro de cuantificación | |
| US8761240B2 (en) | Methods and devices for data compression using context-based coding order | |
| ES2981473T3 (es) | Método de codificación y descodificación de imágenes, dispositivo de codificación y descodificación y programas informáticos correspondientes | |
| WO2013158629A1 (en) | Sign hiding techniques for quantized transform coefficients in video coding | |
| KR20220000420A (ko) | 이미지들을 인코딩 및 디코딩하기 위한 방법, 인코딩 및 디코딩 디바이스, 및 압축 컴퓨터 프로그램들 | |
| CN114827611B (zh) | 视频图像编码和解码方法、设备及介质 |