Codificación y descodificación de mapas significativos usando selección de la partición.

Un método de descodificar un flujo de bits de datos codificados para reconstruir un mapa significativo para una unidad de transformación

, comprendiendo el método:

para cada posición del bit en el mapa significativo,

determinar un contexto para esa posición del bit basándose en un conjunto de particiones,

descodificar los datos codificados basándose en el contexto determinado para reconstruir un valor del bit, en el que cada valor del bit es un señalizador que indica si una posición correspondiente en la unidad de transformación contiene un coeficiente distinto de cero, y

actualizar el contexto basándose en ese valor del bit reconstruido,

en el que los valores del bit reconstruido forman el mapa significativo descodificado, y en el que el conjunto de particiones asigna contextos a las posiciones del bit,

caracterizado porque

la unidad de transformación tiene un tamaño de 4x4 y porque el conjunto de particiones asigna contextos a las posiciones del bit de acuerdo con un mapeo basado en bloques dado por:

0, 1, 2, 3,

4, 5, 2, 3,

6, 6, 7, 7,

8, 8, 7,

y en el que los números enteros anteriores representan los contextos asignados a las posiciones del bit de un mapa significativo de bloques de 4x4

Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E11186392.

Solicitante: BlackBerry Limited.

Nacionalidad solicitante: Canadá.

Dirección: 2200 University Avenue East Waterloo, ON N2K 0A7 CANADA.

Inventor/es: KORODI,GERGELY FERENC, ZAN,JINWEN, HE,DAKE.

Fecha de Publicación: .

Clasificación Internacional de Patentes:

  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE IMAGENES, p. ej. TELEVISION > Métodos o disposiciones para la codificación, decodificación,... > H04N19/176 (siendo la región de un bloque, p. ej. un macrobloque)
  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE IMAGENES, p. ej. TELEVISION > Métodos o disposiciones para la codificación, decodificación,... > H04N19/186 (siendo la unidad un color o un componente de crominancia)
  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE IMAGENES, p. ej. TELEVISION > Métodos o disposiciones para la codificación, decodificación,... > H04N19/129 (Escaneado de unidades de codificación, p. ej. exploración en zig-zag de coeficientes de transformación, o ordenación flexible de macrobloque [FMO])
  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE IMAGENES, p. ej. TELEVISION > Métodos o disposiciones para la codificación, decodificación,... > H04N19/13 (Codificación de entropía adaptativa, p. ej. codificación adaptativa de longitud variable [AVLC] o codificación adaptativa de contexto de aritmética binaria [CABAC])
  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE IMAGENES, p. ej. TELEVISION > Métodos o disposiciones para la codificación, decodificación,... > H04N19/18 (siendo la unidad un conjunto de coeficientes de transformación)
  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE IMAGENES, p. ej. TELEVISION > Métodos o disposiciones para la codificación, decodificación,... > H04N19/196 (está especialmente adaptado para el cálculo de los parámetros de codificación, p. ej., promediando los parámetros de codificación previamente calculados (procesamiento de los vectores de movimiento H04N 19/513))
  • SECCION H — ELECTRICIDAD > TECNICA DE LAS COMUNICACIONES ELECTRICAS > TRANSMISION DE IMAGENES, p. ej. TELEVISION > Métodos o disposiciones para la codificación, decodificación,... > H04N19/463 (mediante la compresión de los parámetros de codificación antes de la transmisión)

PDF original: ES-2496365_T3.pdf

 

google+ twitter facebookPin it
Ilustración 1 de Codificación y descodificación de mapas significativos usando selección de la partición.
Ilustración 2 de Codificación y descodificación de mapas significativos usando selección de la partición.
Ilustración 3 de Codificación y descodificación de mapas significativos usando selección de la partición.
Ilustración 4 de Codificación y descodificación de mapas significativos usando selección de la partición.
Ver la galería de la patente con 9 ilustraciones.
Codificación y descodificación de mapas significativos usando selección de la partición.

Fragmento de la descripción:

Codificación y descodificación de mapas significativos usando selección de la partición AVISO DE DERECHOS DE AUTOR

Una parte de la descripción de este documento y los componentes adjuntos contienen material al que se hace una reivindicación por derechos de autor. El propietario de los derechos de autor no tiene ninguna objeción a la reproducción en facsímil por cualquier persona del documento de patente o de la descripción de la patente, tal y como aparece en los archivos o registros de la Oficina de Patentes y Marcas, pero se reserva absolutamente todos los otros derechos de autor.

CAMPO

La presente solicitud se refiere en general a la compresión de datos y, en particular, a los métodos y dispositivos para la codificación y descodificación de mapas significativos de vídeo utilizando selección de la partición.

ANTECEDENTES

La compresión de datos se realiza en gran número de contextos. Se utiliza muy comúnmente en comunicaciones y en redes de ordenadores para almacenar, transmitir y reproducir la información de manera eficaz. Encuentra particular aplicación en la codificación de imágenes, audio y video. El vídeo presenta un desafío significativo para la compresión de datos debido a la gran cantidad de datos necesarios para cada cuadro de video y a la velocidad con la que a menudo tiene que realizarse la codificación y la descodificación. El estado actual de la técnica para la codificación de vídeo es la norma de codificación de vídeo ITU-T H.264/AVC. En ella se define una serie de diferentes perfiles para diferentes aplicaciones, incluyendo el perfil Principal, el perfil de línea Base y otros. Una norma de codificación de vídeo de próxima generación se encuentra actualmente en fase de desarrollo por medio de una iniciativa conjunta de MPEG-ITU: Codificación de Vídeo de Alto Rendimiento (HEVC).

Hay una serie de normas para la codificación/descodificación de imágenes y videos, incluyendo la H.264, que utilizan procesos de codificación basados en bloques. En estos procesos, la imagen o el cuadro se dividen en bloques, normalmente de 4x4 u 8x8 y los bloques se transforman espectralmente en coeficientes cuantificados y codificados entrópicamente. En muchos casos, los datos que están siendo transformados no son los datos reales de pixeles, sino que son datos residuales tras una operación de predicción. Las predicciones puede ser intra-cuadro, es decir, de bloque a bloque dentro del cuadro/imagen o inter-cuadro, es decir, entre cuadros (también llamada predicción de movimiento). Se espera que la norma HEVC (también llamada H.265) tenga también estas características.

Al transformar espectralmente los datos residuales, muchas de estas normas prescriben el uso de una transformada discreta del coseno (DCT) o alguna variante de la misma. Los coeficientes DCT resultantes se cuantifican entonces usando un cuantificador para producir coeficientes cuantificados de dominios transformados o índices.

El bloque o matriz de coeficientes cuantificados de dominio transformados (a veces referidos como una "unidad de transformación") se codifica entrópicamente utilizando un modelo de contexto particular. En la norma H.264/AVC y en el trabajo en desarrollo actualmente para HEVC, los coeficientes cuantificados transformados se codifican (a) codificando una posición del último coeficiente significativo que indica la posición del último coeficiente distinto de cero en el bloque, (b) codificando un mapa significativo que indica las posiciones en el bloque (excepto la posición del último coeficiente significativo) que contienen coeficientes distintos de cero, (c) codificando las magnitudes de los coeficientes distintos de cero y (d) codificando los signos de los coeficientes distintos de cero. Esta codificación de los coeficientes cuantificados transformados ocupa a menudo el 30-80% de los datos codificados en el flujo de bits.

La codificación entrópica de los símbolos en el mapa significativo se basa en un modelo de contexto. En el caso de un bloque de luminancia o de crominancia de 4x4 o de unidad transformada (TU), se asocia un contexto separado con cada posición del coeficiente en la TU. Es decir, el codificador y el descodificador rastrean un total de 30 (excluyendo las posiciones del ángulo inferior derecho) contextos separados para las TUs de luminancia y crominancia de 4x4. Las TUs de 8x8 se particionan (conceptualmente con el fin de la asociación de contexto) en bloques de 2x2 de tal manera que un contexto distinto se asocia con cada bloque de 2x2 en la TU de 8x8. En consecuencia, el codificador y el descodificador rastrean un total de 16+16=32 contextos para las TUs de luminancia y crominancia de 8x8. Esto significa que el codificador y el descodificador mantienen el rastreo y buscan hasta 62 contextos diferentes durante la codificación y descodificación del mapa significativo. Cuando se tienen en cuenta las TUs de 16x16 y las TUs de 32x32, el número total de distintos contextos implicados es 88. Esta operación también está destinada a ser llevada a cabo a alta velocidad de cálculo.

La publicación PCT 2011/128303A2 publicada el 20 de octubre de 2011 describe un proceso de codificación de mapa significativo. Un mapa significativo puede ser particionado en sub-bloques, estando asociado cada sub-bloque a un contexto distinto.

BREVE SUMARIO

La presente solicitud describe métodos y codificadores/descodificadores para codificar y descodificar mapas significativos con codificación o descodificación adaptables al contexto. El codificador y el descodificador disponen de un particionado no espacialmente uniforme del mapa en partes, en el que las posiciones de los bits dentro de cada parte están asociadas a un contexto dado. Se describen a continuación conjuntos y procedimientos de particiones de ejemplo para seleccionar de entre conjuntos de particiones predeterminadas y para comunicar la selección al descodificador.

En un aspecto, la presente solicitud describe un método de descodificar un flujo de bits de datos codificados para reconstruir un mapa significativo para una unidad de transformación como se reivindica en la reivindicación 1 o en la reivindicación 3 o en la reivindicación 5 o en la reivindicación 6.

En otro aspecto, la presente solicitud describe un método de codificar un mapa significativo para una unidad de transformación como se reivindica en la reivindicación 8 o en la reivindicación 9 o en la reivindicación 10 o en la reivindicación 11.

En un aspecto adicional, la presente solicitud describe codificadores y descodificadores configurados para llevar a cabo tales métodos de codificación y descodificación.

En otro aspecto adicional más, la presente solicitud describe medios interpretables por ordenador no transitorios que almacenan instrucciones de programa ejecutables por ordenador que, cuando se ejecutan, configuran un procesador para llevar a cabo los métodos descritos de codificación y/o descodificación.

Otros aspectos y características de la presente solicitud los entenderán aquellos expertos en la técnica al revisar la siguiente descripción de ejemplos en unión de las figuras que se adjuntan.

BREVE DESCRIPCIÓN DE LOS DIBUJOS

Se hará referencia ahora, a modo de ejemplo, a los dibujos que se adjuntan que muestran realizaciones de ejemplo de la presente solicitud, y en los que:

La figura 1 muestra, en forma de diagrama de bloques, un codificador para la codificación de vídeo;

La figura 2 muestra, en forma de diagrama de bloques, un descodificador para la descodificación de vídeo;

La figura 3 ilustra esquemáticamente una partición de un bloque de 4x4 en seis partes, en la que las posiciones de bit en cada parte se mapean a un contexto;

La figura 4 muestra un afinamiento... [Seguir leyendo]

 


Reivindicaciones:

1. Un método de descodificar un flujo de bits de datos codificados para reconstruir un mapa significativo para una unidad de transformación, comprendiendo el método:

para cada posición del bit en el mapa significativo,

determinar un contexto para esa posición del bit basándose en un conjunto de particiones,

descodificar los datos codificados basándose en el contexto determinado para reconstruir un valor del bit, en

el que cada valor del bit es un señalizador que indica si una posición correspondiente en la unidad de

transformación contiene un coeficiente distinto de cero, y

actualizar el contexto basándose en ese valor del bit reconstruido,

en el que los valores del bit reconstruido forman el mapa significativo descodificado, y en el que el conjunto de particiones asigna contextos a las posiciones del bit, caracterizado porque

la unidad de transformación tiene un tamaño de 4x4 y porque el conjunto de particiones asigna contextos a las posiciones del bit de acuerdo con un mapeo basado en bloques dado por:

0,

1,

2,

3,

4,

5,

2,

3,

6,

6,

7,

7,

8,

8,

7,

y en el que los números enteros anteriores representan los contextos asignados a las posiciones del bit de un mapa significativo de bloques de 4x4.

2. El método reivindicado de acuerdo con la reivindicación 1, en el que la determinación incluye seleccionar el conjunto de particiones de entre una diversidad de conjuntos de particiones basándose en el tipo de texto, y en el que el tipo de texto es de luminancia.

3. Un método de descodificar un flujo de bits de datos codificados para reconstruir un mapa significativo para una unidad de transformación, comprendiendo el método:

para cada posición del bit en el mapa significativo,

determinar un contexto para esa posición del bit basándose en un conjunto de particiones,

descodificar los datos codificados basándose en el contexto determinado para reconstruir un valor del bit, en

el que cada valor del bit es un indicador que señaliza si una posición correspondiente en la unidad de

transformación contiene un coeficiente distinto de cero, y

actualizar el contexto basándose en que el valor del bit reconstruido,

en el que los valores del bit reconstruido forman el mapa significativo descodificado, y en el que el conjunto de particiones asigna contextos a las posiciones del bit, caracterizado porque

la unidad de transformación tiene un tamaño de 4x4 y porque el conjunto de particiones asigna contextos a las posiciones del bit de acuerdo con un mapeo basado en bloques dado por:

0,

2,

3,

1,

1,

2,

3,

4,

4,

5,

5,

3,

3,

y en el que los números enteros anteriores representan los contextos asignados a las posiciones del bit de un mapa significativo de bloque 4x4.

4. Un descodificador para descodificar un flujo de bits de datos codificados para reconstruir un mapa significativo para una unidad de transformación, comprendiendo el descodificador:

un procesador; una memoria; y

una aplicación de descodificación almacenada en la memoria y que contiene instrucciones para configurar la realización del método reivindicado en cualquiera de las reivindicaciones 1 a 3.

5. Un método para codificar un mapa significativo para una unidad de transformación, comprendiendo el método:

para cada posición del bit en el mapa significativo,

determinar un contexto para esa posición del bit basándose en un conjunto de particiones,

codificar un valor del bit en esa posición del bit basándose en el contexto determinado para generar datos codificados, en el que cada valor del bit es un indicador que señaliza si una posición correspondiente en la unidad de transformación contiene un coeficiente distinto de cero, y actualizar el contexto basándose en ese valor del bit,

en el que los datos codificados forman un mapa significativo codificado, y en el que el conjunto de particiones asigna contextos a las posiciones del bit, caracterizado porque

la unidad de transformación tiene un tamaño de 4x4 y porque el conjunto de particiones asigna contextos a las posiciones del bit de acuerdo con un mapeo basado en bloques dado por:

0,

1,

2,

3,

4,

5,

2,

3,

6,

7,

8,

8,

7,

y en el que los números enteros anteriores representan los contextos asignados a las posiciones del bit de un mapa significativo de bloque 4x4.

6. Un método para codificar un mapa significativo para una unidad de transformación, comprendiendo el método: para cada posición del bit en el mapa significativo,

determinar un contexto para esa posición del bit basándose en un conjunto de particiones, codificar un valor del bit en esa posición del bit basándose en el contexto determinado para generar datos codificados, en el que cada valor del bit es un indicador que señaliza si una posición correspondiente en la unidad de transformación contiene un coeficiente distinto de cero, y actualizar el contexto basándose en ese valor del bit,

en el que los datos codificados forman un mapa significativo codificado, y en el que el conjunto de particiones asigna contextos a las posiciones del bit, caracterizado porque

la unidad de transformación tiene un tamaño de 4x4 y porque el conjunto de particiones asigna contextos a las posiciones del bit de acuerdo con un mapeo basado en bloques dado por:

0,

1,

2,

3,

1,

1,

2,

3,

4,

4,

5,

5,

3,

3,

y en el que los números enteros anteriores representan los contextos asignados a las posiciones del bit de un mapa significativo de bloques de 4x4.

7. Un codificador para codificar un mapa significativo para una unidad de transformación, comprendiendo el codificador:

un procesador;

una memoria que almacena el mapa significativo; y

una aplicación de codificación almacenada en la memoria y que contiene instrucciones para configurar el procesador para llevar a cabo el método de acuerdo con la reivindicación 5 o con la reivindicación 6.

8. Un medio no transitorio interpretable por ordenador para almacenar instrucciones ejecutables por el procesador que, cuando se ejecuta, configura uno o más procesadores para realizar el método reivindicado en una cualquiera de las reivindicaciones 1 a 3, 5, y 6.