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:
- H04N19/129 ELECTRICIDAD. › H04 TECNICA DE LAS COMUNICACIONES ELECTRICAS. › H04N TRANSMISION DE IMAGENES, p. ej. TELEVISION. › H04N 19/00 Métodos o disposiciones para la codificación, decodificación, compresión o descompresión de señales de vídeo digital. › 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].
- H04N19/13 H04N 19/00 […] › 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].
- H04N19/176 H04N 19/00 […] › siendo la región de un bloque, p. ej. un macrobloque.
- H04N19/18 H04N 19/00 […] › siendo la unidad un conjunto de coeficientes de transformación.
- H04N19/186 H04N 19/00 […] › siendo la unidad un color o un componente de crominancia.
- H04N19/196 H04N 19/00 […] › 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).
- H04N19/463 H04N 19/00 […] › mediante la compresión de los parámetros de codificación antes de la transmisión.
PDF original: ES-2496365_T3.pdf
Ver la galería de la patente con 9 ilustraciones.
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 de la partición de la figura 3, que queda en nueve partes;
La figura 5 ilustra esquemáticamente una partición de un bloque de 8x8 en cuatro partes, en la que las posiciones de bit en cada parte se mapean a un contexto;
La figura 6 muestra un afinamiento de la partición de la figura 5, que queda en doce partes;
La figura 7 muestra, en forma de diagrama de flujo, un método de ejemplo de descodificar datos codificados para reconstruir un mapa significativo;
La figura 8 muestra un gráfico que ilustra la eficacia relativa de las particiones en grueso y fino y su dependencia del tamaño del sector codificado;
La figura 9 muestra un diagrama de bloques simplificado de una realización de ejemplo de un codificador; y La figura 10 muestra un diagrama de bloques simplificado de una realización de ejemplo de un descodificador.
Números de referencia similares se pueden usar en diferentes figuras para indicar componentes similares. DESCRIPCIÓN... [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.
Patentes similares o relacionadas:
Aparato de codificación de imágenes, procedimiento de codificación de imágenes, aparato de descodificación de imágenes, procedimiento de descodificación de imágenes y medio de almacenamiento, del 29 de Julio de 2020, de CANON KABUSHIKI KAISHA: Aparato de codificación para codificar una imagen en unidades de bloques bidimensionales, que comprende: un medio de división de bloques , configurado para dividir una […]
Procedimiento, aparato y programa para codificar datos de imágenes en un flujo de bits, del 15 de Julio de 2020, de CANON KABUSHIKI KAISHA: Procedimiento para codificar datos de imagen en un flujo de bits, comprendiendo el procedimiento: codificar, en el flujo de bits, un indicador […]
Filtrado multimétrico, del 8 de Julio de 2020, de QUALCOMM INCORPORATED: Un procedimiento de codificación de datos de vídeo en un esquema de filtro en bucle adaptativo basado en árbol cuaternario, QALF, con múltiples filtros, comprendiendo […]
Método y aparato para decodificar modo de intra-predicción, del 24 de Junio de 2020, de INNOTIVE LTD: Un método de decodificación de un modo de intra-predicción, que comprende: reconstruir un indicador de grupo de modos de intra-predicción y un índice de modo de predicción, […]
Aparato de derivación de información de movimiento, del 24 de Junio de 2020, de INNOTIVE LTD: Un aparato de decodificación de datos de vídeo en un modo de fusión, en el que, en el modo de fusión, información de movimiento de uno de entre […]
Codificación luma-croma con tres predictores espaciales distintos, del 17 de Junio de 2020, de DOLBY INTERNATIONAL AB: Un codificador de video para codificar datos de señal de video para un bloque de imagen, comprendiendo el codificador de video un codificador para codificar […]
Aparato de decodificación de imágenes, del 3 de Junio de 2020, de INNOTIVE LTD: Aparato de decodificación de imágenes, que comprende: una unidad de análisis para decodificar información de intra-predicción de un flujo […]
Aparato de decodificación de imágenes, del 3 de Junio de 2020, de INNOTIVE LTD: Aparato de decodificación de imágenes, que comprende: una unidad de análisis para decodificar información de intra-predicción de un flujo de bits recibido; […]