DESCODIFICACION DE INFORMACION DE TIPO DE MACROBLOQUE E INFORMACION DE PATRON DE BLOQUE CODIFICADO.

Un procedimiento de reconstruir, en un descodificador de vídeo,

una o más imágenes de vídeo en una secuencia de vídeo, comprendiendo el procedimiento:

descodificar información de tipo de macrobloque para un macrobloque, una primera información de patrón de bloque codificado para los bloques plurales de luminancia del macrobloque, y una segunda información de patrón de bloque codificado para los bloques plurales de crominancia del macrobloque, en donde la primera información de patrón de bloque codificado indica si alguno de los bloques plurales de luminancia tiene datos correspondientes de coeficientes de transformación en un flujo de bits, en donde la segunda información de patrón de bloque codificado indica si alguno de los bloques plurales de crominancia tiene datos correspondientes de coeficientes de transformación en el flujo de bits, en donde el macrobloque tiene un tipo de macrobloque indicado, al menos en parte, por la información de tipo de macrobloque, y en donde la descodificación comprende:

recibir un código (88) en el flujo de bits, en donde el código (88) recibido refleja la codificación conjunta (104) de

a) la información de tipo de macrobloque, junto con

b) la primera información de patrón de bloque codificado y

c) la segunda información de patrón de bloque codificado, y

determinar si alguno de los bloques plurales de luminancia y los bloques plurales de crominancia del macrobloque tienen datos correspondientes de coeficientes de transformación en el flujo de datos, sobre la base, al menos en parte, del código (88) recibido; y

utilizar la información de tipo de macrobloque, la primera información de patrón de bloque codificado y la segunda información de patrón de bloque codificado durante la reconstrucción de dicha(s) imágen(es) de vídeo

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

Solicitante: MICROSOFT CORPORATION.

Nacionalidad solicitante: Estados Unidos de América.

Dirección: ONE MICROSOFT WAY,REDMOND, WA 98052-6399.

Inventor/es: LIN,CHIH-LUNG , LEE,MING-CHIEH.

Fecha de Publicación: .

Fecha Solicitud PCT: 30 de Noviembre de 1999.

Fecha Concesión Europea: 20 de Enero de 2010.

Clasificación Internacional de Patentes:

  • H04N7/26A4P
  • H04N7/26A4V
  • H04N7/26A6C8
  • H04N7/26A6S
  • H04N7/26A8P
  • H04N7/34B
  • H04N7/50
  • H04N7/50E2

Clasificación PCT:

  • H03M7/40 ELECTRICIDAD.H03 CIRCUITOS ELECTRONICOS BASICOS.H03M CODIFICACION, DECODIFICACION O CONVERSION DE CODIGO, EN GENERAL (por medio de fluidos F15C 4/00; convertidores ópticos analógico/digitales G02F 7/00; codificación, decodificación o conversión de código especialmente adaptada a aplicaciones particulares, ver las subclases apropiadas, p. ej. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; cifrado o descifrado para la criptografía o para otros fines que implican la necesidad de secreto G09C). › H03M 7/00 Conversión de un código, en el cual la información está representada por una secuencia dada o por un número de dígitos, en un código en el cual la misma información está representada por una secuencia o por un número de dígitos diferentes. › Conversión en, o a partir de códigos la longitud variable, p. ej. código Shanno-Fano, código Huffman, código Morse.
  • H04N7/50

Países PCT: Austria, Bélgica, Suiza, Alemania, Dinamarca, España, Francia, Reino Unido, Grecia, Italia, Liechtensein, Luxemburgo, Países Bajos, Suecia, Mónaco, Portugal, Irlanda, Finlandia, Chipre.

DESCODIFICACION DE INFORMACION DE TIPO DE MACROBLOQUE E INFORMACION DE PATRON DE BLOQUE CODIFICADO.

Fragmento de la descripción:

Descodificación de información de tipo de macrobloque e información de patrón de bloque codificado.

Campo técnico

La invención se refiere a codificación de vídeo, y específicamente, a un procedimiento mejorado para codificar parámetros de bloque utilizados en formatos de codificación de vídeo basados en cuadros y basados en objetos.

Antecedentes

Las presentaciones de vídeo de movimiento completo, basadas en señales analógicas de vídeo, han estado disponibles mucho tiempo en forma de televisión. Con los avances recientes en las capacidades y accesibilidad del procesamiento por ordenador, las presentaciones de vídeo de movimiento completo basadas en señales de vídeo digital están disponibles cada vez de forma más extensa. Los sistemas de vídeo digital pueden proporcionar mejoras significativas respecto a los sistemas convencionales de vídeo analógico en cuanto a la creación, modificación, transmisión, almacenamiento y reproducción de secuencias de vídeo de movimiento completo.

Las presentaciones de vídeo digital incluyen grandes números de cuadros de imagen que son reproducidos o representados sucesivamente a frecuencias de entre 30 y 75 Hz. Cada cuadro de imagen es una imagen fija formada a partir de un conjunto de píxeles en base a la resolución de presentación de un sistema particular. Como ejemplos, los sistemas basados en VHS tienen resoluciones de presentación de 320 x 480 píxeles, los sistemas basados en NTSC tienen resoluciones de presentación de 720 x 486 píxeles, y los sistemas de televisión de alta definición (HDTV) en desarrollo, tienen resoluciones de presentación de 1360 x 1024 píxeles.

Las cantidades de información digital bruta incluida en las secuencias de vídeo son enormes. El almacenamiento y la transmisión de estas cantidades de información de vídeo son impracticables con el equipamiento de ordenador personal convencional. Considérese, por ejemplo, una forma digitalizada de un formato de imagen de VHS de resolución relativamente baja, que tiene una resolución de 320 x 480 píxeles. Una película cinematográfica de una longitud total de dos horas de duración, con esta resolución, corresponde a 100 gigabytes de información de vídeo digital. Por comparación, los discos ópticos compactos convencionales tienen capacidades de alrededor de 0,6 gigabytes, los discos duros magnéticos tienen capacidades de 1-2 gigabytes, y los discos ópticos compactos actualmente en desarrollo tienen capacidades de hasta 8 gigabytes.

Para abordar las limitaciones en cuanto al almacenamiento o la transmisión de tales enormes cantidades de información de vídeo digital, se han establecido varios procesos o estándares de compresión de vídeo, incluyendo el MPEG-1, el MPEG-2 y el H.26X. Estas técnicas de compresión de vídeo utilizan semejanzas entre cuadros de imagen sucesivos, que se conocen como correlación temporal o inter-cuadro, para proporcionar una compresión inter-cuadro en la que se utilizan datos de movimiento y señales de error para codificar los cambios entre cuadros.

Adicionalmente, las técnicas de compresión de vídeo convencionales utilizan semejanzas dentro de los cuadros de imagen, conocidas como correlación espacial o intra-cuadro, para proporcionar la compresión intra-cuadro, en la que se comprimen las muestras de imagen en el interior de un cuadro de imagen. La compresión intra-cuadro se basa en los procedimientos convencionales para comprimir imágenes fijas, tal como la codificación de transformada coseno discreta (DCT). Este tipo de codificación se menciona a veces como codificación de "textura" o de "transformación". Una "textura" se refiere en general a un conjunto de dos dimensiones de valores de muestras de imagen, tal como un conjunto de valores de crominancia y de luminancia, o un conjunto de valores alfa (opacidad). El término "transformación" se refiere en este contexto a cómo son transformadas las muestras de imagen en componentes de frecuencia espaciales durante el procedimiento de codificación. Esta utilización del término "transformación" debe ser diferenciada de una transformación geométrica utilizada para estimar los cambios de escena en algunos métodos de compresión inter-cuadro.

La compresión inter-cuadro utiliza típicamente estimación de movimiento y compensación para codificar cambios de escena entre cuadros. La estimación de movimiento consiste en un proceso para estimar el movimiento de muestras de imagen (por ejemplo, píxeles) entre cuadros. Con la utilización de estimación de movimiento, el codificador trata de emparejar bloques de píxeles de un cuadro con los píxeles correspondientes de otro cuadro. Después de que se ha encontrado el bloque más similar en un área de búsqueda dada, se aproxima y se representa el cambio de posición de las posiciones de píxel de los píxeles correspondientes, como datos de movimiento, tal como un vector de movimiento. La compensación de movimiento es un proceso para la determinación de una imagen pronosticada, y para el cálculo del error entre la imagen pronosticada y la imagen original. Con la utilización de la compensación de movimiento, el codificador aplica los datos de movimiento a una imagen, y calcula una imagen pronosticada. La diferencia entre la imagen pronosticada y la imagen de entrada, se denomina señal de error. Puesto que la señal de error consiste justamente en un conjunto de valores que presentan la diferencia entre los valores de muestras de imagen, puede ser comprimida utilizando el mismo procedimiento de codificación de textura que el utilizado para la codificación intra-cuadro de las muestras de imagen.

Aunque difieren en sus implementaciones específicas, los estándares de compresión de vídeo MPEG-1, MPEG-2 y H.26X son similares en un cierto número de aspectos. La descripción que sigue del estándar de compresión de vídeo MPEG-2 es aplicable en general a los otros.

El MPEG-2 proporciona compresión inter-cuadro y compresión intra-cuadro, basadas en bloques cuadrados de conjuntos de píxeles en las imágenes de vídeo. Una imagen de vídeo se divide en bloques de muestras de imagen denominados macrobloques, que tienen dimensiones de 16 x 16 píxeles. En el MPEG-2, un macrobloque comprende cuatro bloques de luminancia (cada bloque es de 8 x 8 muestras de luminancia (Y)) y dos bloques de crominancia (un bloque de 8 x 8 muestras para Cb y Cr).

En el MPEG-2, la codificación inter-cuadro se realiza sobre macrobloques. Un codificador MPEG-2 realiza estimación y compensación de movimiento para calcular vectores de movimiento y señales de error de bloque. Para cada bloque MN en un cuadro N de imagen, se realiza una búsqueda por la imagen de un cuadro N+1 de vídeo sucesivo siguiente, o de un cuadro N-1 de imagen inmediatamente precedente (es decir, bidireccionalmente), para identificar los bloques MN+1 o MN-1 respectivos más similares. La posición del bloque más similar con relación al bloque MN, se codifica con un vector de movimiento (DX, DY). El vector de movimiento se utiliza a continuación para calcular un bloque de valores de muestra pronosticados. Estos valores de muestra pronosticados se comparan con el bloque MN para determinar la señal de error de bloque. La señal de bloque se comprime utilizando un procedimiento de codificación de textura tal como codificación de transformada coseno discreta (DCT).

Se han propuesto técnicas de codificación de vídeo basadas en objetos, como un perfeccionamiento respecto a los estándares de codificación convencionales basados en cuadros. En la codificación basada en objetos, las características de imagen de forma arbitraria se separan de los cuadros en la secuencia de vídeo utilizando un procedimiento denominado "segmentación". Los objetos de vídeo o "segmentos" son codificados de forma independiente. La codificación basada en objetos puede mejorar la tasa de compresión debido a que incrementa la correlación inter-cuadro entre objetos de vídeo en cuadros sucesivos. También resulta ventajosa para una diversidad de aplicaciones que requieren acceso a, y rastreo de, objetos en una secuencia de vídeo.

En los procedimientos de codificación de vídeo basados en objetos propuestos para el estándar MPEG-4, la forma, el movimiento y la textura de los objetos de vídeo son codificados de forma independiente. La forma de un objeto está representada por una máscara binaria o alfanumérica que define el contorno del objeto de forma arbitraria en un cuadro de vídeo. El movimiento de un objeto es similar a los datos de movimiento del MPEG-2, salvo en que se aplica a una imagen de configuración...

 


Reivindicaciones:

1. Un procedimiento de reconstruir, en un descodificador de vídeo, una o más imágenes de vídeo en una secuencia de vídeo, comprendiendo el procedimiento:

descodificar información de tipo de macrobloque para un macrobloque, una primera información de patrón de bloque codificado para los bloques plurales de luminancia del macrobloque, y una segunda información de patrón de bloque codificado para los bloques plurales de crominancia del macrobloque, en donde la primera información de patrón de bloque codificado indica si alguno de los bloques plurales de luminancia tiene datos correspondientes de coeficientes de transformación en un flujo de bits, en donde la segunda información de patrón de bloque codificado indica si alguno de los bloques plurales de crominancia tiene datos correspondientes de coeficientes de transformación en el flujo de bits, en donde el macrobloque tiene un tipo de macrobloque indicado, al menos en parte, por la información de tipo de macrobloque, y en donde la descodificación comprende:

recibir un código (88) en el flujo de bits, en donde el código (88) recibido refleja la codificación conjunta (104) de

a) la información de tipo de macrobloque, junto con
b) la primera información de patrón de bloque codificado y
c) la segunda información de patrón de bloque codificado, y

determinar si alguno de los bloques plurales de luminancia y los bloques plurales de crominancia del macrobloque tienen datos correspondientes de coeficientes de transformación en el flujo de datos, sobre la base, al menos en parte, del código (88) recibido; y

utilizar la información de tipo de macrobloque, la primera información de patrón de bloque codificado y la segunda información de patrón de bloque codificado durante la reconstrucción de dicha(s) imágen(es) de vídeo.

2. El procedimiento de la reivindicación 1, en el cual el tipo de macrobloque es intra para el macrobloque.

3. El procedimiento de la reivindicación 2, que comprende adicionalmente repetir la descodificación y la utilización para cada otro(s) macrobloque(s) de tipo intra.

4. El procedimiento de cualquiera de las reivindicaciones 1 a 3, en el cual el macrobloque consiste en cuatro bloques de luminancia de 8x8 y dos bloques de crominancia de 8x8.

5. El procedimiento de la reivindicación 1, que comprende adicionalmente:

descodificar información de tipo de macrobloque para un segundo macrobloque, una primera información de patrón de bloque codificado para bloques plurales de luminancia del segundo macrobloque, y una segunda información de patrón de bloque codificado para bloques plurales de crominancia del segundo macrobloque, en donde la primera información de patrón de bloque codificado indica si los bloques plurales de luminancia del segundo macrobloque tienen datos correspondientes de coeficientes de transformación en el flujo de bits, en donde la segunda información de patrón de bloque codificado indica si los bloques plurales de crominancia del segundo macrobloque tienen datos correspondientes de coeficientes de transformación en el flujo de bits, y en donde el segundo macrobloque tiene un tipo de macrobloque indicado al menos en parte por la información de tipo de macrobloque para el segundo macrobloque; y

utilizar la información de tipo de macrobloque, la primera información de patrón de bloque codificado y la segunda información de patrón de bloque codificado para el segundo macrobloque durante la reconstrucción de dicha(s) imágen(es) de vídeo.

6. El procedimiento de cualquiera de las reivindicaciones 1 a 5, en el cual el código (88) recibido es un código de longitud variable.

7. El procedimiento de la reivindicación 1, en el cual la determinación de si alguno de los bloques plurales de luminancia y los bloques plurales de crominancia del macrobloque tiene datos correspondientes de coeficientes de transformación en el flujo de bits comprende la descodificación aritmética.

8. El procedimiento de la reivindicación 5, en el cual el tipo de macrobloque del segundo macrobloque es inter.

9. Un medio legible por ordenador con instrucciones ejecutables por ordenador almacenadas en el mismo, para causar que un sistema de ordenador programado por las mismas lleve a cabo el procedimiento de cualquiera de las reivindicaciones 1-8.

10. Un sistema descodificador de vídeo que comprende:

un medio para descodificar información de tipo de macrobloque para un macrobloque, una primera información de patrón de bloque codificado para bloques plurales de luminancia del macrobloque, y una segunda información de patrón de bloque codificado para bloques plurales de crominancia del macrobloque, en donde la primera información de patrón de bloque codificado indica si alguno de los bloques plurales de luminancia tienen datos correspondientes de coeficientes de transformación en un flujo de bits, en donde la segunda información de patrón de bloque codificado indica si alguno de los bloques plurales de crominancia tiene datos correspondientes de coeficientes de transformación en el flujo de bits, en donde el macrobloque tiene un tipo de macrobloque indicado al menos en parte por la información de tipo de macrobloque, y en donde el medio para descodificar comprende:

un medio para recibir un código (88) en el flujo de bits, en donde el código (88) refleja la codificación conjunta (104) de

a) la información de tipo de macrobloque, junto con
b) la primera información de patrón de bloque codificado y
c) la segunda información de patrón de bloque codificado, y

un medio para determinar si alguno de los bloques plurales de luminancia y los bloques plurales de crominancia del macrobloque tienen datos correspondientes de coeficientes de transformación en el flujo de bits, sobre la base de, al menos en parte, el código (88); y

un medio para utilizar la información de tipo de macrobloque, la primera información de patrón de bloque codificado y la segunda información de patrón de bloque codificado durante la reconstrucción de dicha(s) imágen(es) de vídeo.

11. El sistema de la reivindicación 10, en el cual el tipo de macrobloque es intra para el macrobloque.

12. El sistema de la reivindicación 11, que comprende adicionalmente medios para repetir la descodificación y la utilización para cada otro(s) macrobloque(s) de tipo intra.

13. El sistema de cualquiera de las reivindicaciones 10 a 12, en el cual el macrobloque consiste en cuatro bloques de luminancia de 8x8 y dos bloques de crominancia de 8x8.

14. El sistema de la reivindicación 10, que comprende adicionalmente:

medios para descodificar información de tipo de macrobloque para un segundo macrobloque, una primera información de patrón de bloque codificado para bloques plurales de luminancia del segundo macrobloque, y una segunda información de patrón de bloque codificado para bloques plurales de crominancia del segundo macrobloque, en donde la primera información de patrón de bloque codificado indica si los bloques plurales de luminancia del segundo macrobloque tienen datos correspondientes de coeficientes de transformación en el flujo de bits, en donde la segunda información de patrón de bloque codificado indica si los bloques plurales de crominancia del segundo macrobloque tienen datos correspondientes de coeficientes de transformación en el flujo de bits, y en donde el segundo macrobloque tiene un tipo de macrobloque indicado, al menos en parte, por la información de tipo de macrobloque para el segundo macrobloque;

y medios para utilizar la información de tipo de macrobloque, la primera información de patrón de bloque codificado y la segunda información de bloque codificado para el segundo macrobloque durante la reconstrucción de dicha(s) imágen(es) de vídeo.

15. El sistema de la reivindicación 14, en el cual el tipo de macrobloque del segundo macrobloque es inter.

16. El sistema de cualquiera de las reivindicaciones 10 a 15, en el cual el código (88) es un código de longitud variable.

17. Un procedimiento de codificar, en un codificador de vídeo, una o más imágenes de vídeo en una secuencia de vídeo, comprendiendo el procedimiento:

codificar información de tipo de macrobloque para un macrobloque, una primera información de patrón de bloque codificado para bloques plurales de luminancia del macrobloque y una segunda información de patrón de bloque codificado para bloques plurales de crominancia del macrobloque, en donde la primera información de patrón de bloque codificado indica si alguno de los bloques plurales de luminancia tienen datos correspondientes de coeficientes de transformación en un flujo de bits, en donde la segunda información de patrón de bloque codificado indica si alguno de los bloques plurales de crominancia tiene datos correspondientes de coeficientes de transformación en el flujo de bits, en donde el macrobloque tiene un tipo de macrobloque indicado, al menos en parte, por la información de tipo de macrobloque, y en donde la codificación comprende:

determinar un código (88) que refleja la codificación (104) de entropía conjunta de:

a) la información de tipo de macrobloque, junto con
b) la primera información de patrón de bloque codificado y
c) la segunda información de patrón de bloque codificado, y

emitir el código (88) en el flujo de bits, por el cual un descodificador que recibe el código (88), basándose al menos en parte en el código (88), determina el tipo de macrobloque y si alguno de los bloques plurales de luminancia y los bloques plurales de crominancia del macrobloque tienen datos correspondientes de coeficientes de transformación en el flujo de bits.

18. El procedimiento de la reivindicación 17, que comprende adicionalmente:

codificar información de tipo de macrobloque para un segundo macrobloque, una primera información de patrón de bloque codificado para bloques plurales de luminancia del segundo macrobloque, y una segunda información de patrón de bloque codificado para bloques plurales de crominancia del segundo macrobloque, en donde la primera información de patrón de bloque codificado indica si los bloques plurales de luminancia del segundo macrobloque tienen datos correspondientes de coeficientes de transformación en el flujo de bits, en donde la segunda información de patrón de bloque codificado indica si los bloques plurales de crominancia del segundo macrobloque tienen datos correspondientes de coeficientes de transformación en el flujo de bits, y en donde el segundo macrobloque tiene un tipo de macrobloque indicado, al menos en parte, por la información de tipo de macrobloque para el segundo macrobloque.

19. El procedimiento de la reivindicación 18, en el cual el tipo de macrobloque del primer macrobloque es intra y el tipo de macrobloque del segundo macrobloque es inter.

20. El procedimiento de cualquiera de las reivindicaciones 17-19, en el cual el código (88) es un código de longitud variable.

21. Un medio legible por ordenador con instrucciones ejecutables por ordenador almacenadas en el mismo, para causar que un sistema de ordenador programado por las mismas lleve a cabo el procedimiento de cualquiera de las reivindicaciones 17-20.


 

Patentes similares o relacionadas:

Imagen de 'Filtro de desbloqueo condicionado por el brillo de los píxeles'Filtro de desbloqueo condicionado por el brillo de los píxeles, del 25 de Marzo de 2020, de DOLBY INTERNATIONAL AB: Método para desbloquear datos de píxeles procesados con compresión de vídeo digital basado en bloque, incluyendo los pasos: - recibir […]

Método para codificar y descodificar imágenes B en modo directo, del 19 de Febrero de 2020, de Godo Kaisha IP Bridge 1: Un método para generar y descodificar una secuencia de bits de una imagen B objetivo, en donde generar la secuencia de bits de la imagen B objetivo incluye las siguientes […]

Interpolación mejorada de cuadros de compresión de vídeo, del 4 de Diciembre de 2019, de DOLBY LABORATORIES LICENSING CORPORATION: Un método para compresión de imágenes de video usando predicción en modo directo, que incluye: proporcionar una secuencia de cuadros predichos […]

Interpolación mejorada de cuadros de compresión de vídeo, del 4 de Diciembre de 2019, de DOLBY LABORATORIES LICENSING CORPORATION: Un método de compresión de imágenes de video que comprende: proporcionar una secuencia de cuadros referenciables (I, P) y predichos bidireccionales […]

Capa de sectores en códec de vídeo, del 27 de Noviembre de 2019, de Microsoft Technology Licensing, LLC: Un procedimiento de decodificación de vídeo e imágenes, que comprende: decodificar una imagen de un flujo de bits codificado que tiene una jerarquía […]

Transformación solapada condicional, del 20 de Noviembre de 2019, de Microsoft Technology Licensing, LLC: Un método para codificar un flujo de bits de vídeo utilizando una transformación solapada condicional, en donde el método comprende: la señalización de un modo de filtro […]

Procedimiento de codificación de longitud variable y procedimiento de decodificación de longitud variable, del 14 de Agosto de 2019, de Godo Kaisha IP Bridge 1: Un método de codificación para codificar un coeficiente de un componente de frecuencia incluido en un bloque objetivo a codificar, comprendiendo el método de codificación: […]

Método de cálculo de vectores de movimiento, del 12 de Junio de 2019, de Panasonic Intellectual Property Corporation of America: Un sistema de codificación y descodificación de imágenes que incluye un aparato de codificación de imágenes que codifica un bloque actual incluido en una […]

Utilizamos cookies para mejorar nuestros servicios y mostrarle publicidad relevante. Si continua navegando, consideramos que acepta su uso. Puede obtener más información aquí. .