CODIFICACION Y DESCODIFICACION DE PATRONES DE BLOQUES CODIFICADOS CON PREDICCION ESPACIAL.
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:
para cada macrobloque de macrobloques plurales, descodificar (64, 66, 74) un patrón de bloque codificado, en donde el patrón de bloque codificado, CBP, indica cuáles de los bloques plurales de luminancia y los bloques plurales de crominancia del macrobloque tienen datos correspondientes de coeficientes de transformación en un flujo de datos, y en donde la descodificación comprende, para cada macrobloque de los macrobloques plurales:
recibir un código de longitud variable, en donde el código de longitud variable recibido para el patrón de bloque codificado indica una entrada de tabla de códigos en una tabla de códigos, especificando la entrada de la tabla de códigos un parámetro combinado que representa primera información para los bloques plurales de luminancia del macrobloque, y segunda información para los bloques plurales de crominancia del macrobloque, indicando la segunda información los bits plurales del patrón del bloque codificado para la crominancia, CBPC, del patrón de bloque codificado;
descodificar el código de longitud variable recibido para obtener la primera información y la segunda información para el patrón de bloque codificado, en donde la primera información incluye bits plurales, y en donde los bits plurales incluyen bits plurales de ajuste de pronosticador; calcular un predictor por pronóstico espacial, en donde el predictor incluye bits plurales de predictor; y
determinar el patrón de bloque codificado, que incluye utilizar los bits plurales de ajuste de predictor y los bits plurales del predictor para determinar los bits plurales del patrón de bloque codificado para la luminancia, CBPY, del patrón de bloque codificado; y
utilizar los patrones de bloque codificados para los macrobloques plurales en la reconstrucción
Tipo: Patente Europea. Resumen de patente/invención. Número de Solicitud: E07014945.
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.
Fragmento de la descripción:
Codificación y descodificación de patrones de bloques codificados con predicción espacial.
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:
para cada macrobloque de macrobloques plurales, descodificar (64, 66, 74) un patrón de bloque codificado, en donde el patrón de bloque codificado, CBP, indica cuáles de los bloques plurales de luminancia y los bloques plurales de crominancia del macrobloque tienen datos correspondientes de coeficientes de transformación en un flujo de datos, y en donde la descodificación comprende, para cada macrobloque de los macrobloques plurales:
recibir un código de longitud variable, en donde el código de longitud variable recibido para el patrón de bloque codificado indica una entrada de tabla de códigos en una tabla de códigos, especificando la entrada de la tabla de códigos un parámetro combinado que representa primera información para los bloques plurales de luminancia del macrobloque, y segunda información para los bloques plurales de crominancia del macrobloque, indicando la segunda información los bits plurales del patrón del bloque codificado para la crominancia, CBPC, del patrón de bloque codificado;
descodificar el código de longitud variable recibido para obtener la primera información y la segunda información para el patrón de bloque codificado, en donde la primera información incluye bits plurales, y en donde los bits plurales incluyen bits plurales de ajuste de pronosticador; calcular un predictor por pronóstico espacial, en donde el predictor incluye bits plurales de predictor; y
determinar el patrón de bloque codificado, que incluye utilizar los bits plurales de ajuste de predictor y los bits plurales del predictor para determinar los bits plurales del patrón de bloque codificado para la luminancia, CBPY, del patrón de bloque codificado; y
utilizar los patrones de bloque codificados para los macrobloques plurales en la reconstrucción.
2. El procedimiento de la reivindicación 1, en el cual el empleo de los bits plurales de ajuste del predictor y los bits plurales del predictor comprende calcular una operación lógica XOR bit a bit entre los bits plurales de ajuste del predictor y los bits plurales del predictor.
3. El procedimiento de cualquiera de las reivindicaciones 1 a 2, en el cual el descodificador de vídeo realiza la predicción espacial para macrobloques de tipo intra-cuadro, pero no otros tipos de macrobloques.
4. El procedimiento de cualquiera de las reivindicaciones 1 a 3, en el cual al menos alguno de los pronósticos espaciales se basa en patrones de bloque codificados previamente descodificados.
5. 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:
para cada macrobloque de macrobloques plurales, codificar un patrón de bloque codificado, CBP, en donde el patrón de bloque codificado indica cuáles de los bloques plurales de luminancia y los bloques plurales de crominancia del macrobloque tienen datos correspondientes de coeficientes de transformación en un flujo de datos, y en donde la codificación comprende, para cada macrobloque de los macrobloques plurales:
calcular (108) un predictor por predicción espacial, en donde el predictor incluye bits plurales del predictor;
para los bloques plurales de luminancia del macrobloque, determinar (110) una primera información utilizando los bits plurales del patrón de bloque codificado para la luminancia, CBPY, del patrón de bloque codificado y los bits plurales del predictor, en donde la primera información incluye bits plurales de ajuste del predictor;
codificar (112) un código de longitud variable, en donde el código de longitud variable indica una entrada de una tabla de códigos en una tabla de códigos, especificando la entrada de la tabla de códigos un parámetro combinado que representa la primera información y la segunda información, indicando la segunda información bits plurales del patrón de bloque codificado para la crominancia, CBPC, del patrón de bloque codificado; y
emitir el código de longitud variable.
6. El procedimiento de la reivindicación 5, en el cual la determinación comprende calcular una operación lógica XOR bit a bit entre los bits plurales del CBPY del patrón de bloque codificado y los bits plurales del predictor.
7. El procedimiento de cualquiera de las reivindicaciones 5 a 6, en el cual el codificador de vídeo lleva a cabo la predicción espacial para macrobloques de tipo intra-cuadro, pero no otros tipos de macrobloques.
8. El procedimiento de cualquiera de las reivindicaciones 5 a 7, en el cual al menos alguna de las predicciones espaciales se basa en patrones de bloque codificado previamente codificados.
9. El procedimiento de cualquiera de las reivindicaciones 1 a 8, en el cual la predicción espacial se basa, al menos en parte, en una comparación que involucra a un bloque adyacente superior izquierdo y un bloque adyacente superior con respecto a un bloque dado.
10. El procedimiento de la reivindicación 9, en el cual al menos uno entre el bloque adyacente superior izquierdo y el bloque adyacente superior está dentro de un macrobloque distinto al bloque dado.
11. El procedimiento de cualquiera de las reivindicaciones 1 a 10, en el cual, para cada macrobloque de los macrobloques plurales, el macrobloque consiste en cuatro bloques de luminancia de 8x8 y dos bloques de crominancia de 8x8, y el patrón de bloque codificado consiste en seis bits de cada, indicando cada uno si un correspondiente bloque de los cuatro bloques de luminancia y dos bloques de crominancia tiene datos de coeficientes de transformación en el flujo de bits.
12. Un medio legible por ordenador que tenga almacenadas en el mismo, instrucciones ejecutables por ordenador para causar que un sistema de ordenador programado por las mismas lleve a cabo el procedimiento de cualquiera de las reivindicaciones 1 a 11.
Patentes similares o relacionadas:
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 método de codificación de imágenes para codificar un bloque actual incluido en una imagen actual en modo directo, comprendiendo el método de codificación de imágenes: […]