CODIFICACION Y DESCODIFICACION DE ALTA PRECISION PARA IMAGENES DE VIDEO.
Procedimiento para comprimir y descomprimir una secuencia de imágenes de vídeo digitalizadas que incluye una secuencia de tramas representadas con una primera precisión de bits en un primer espacio cromático,
y el procedimiento se caracteriza por las etapas de
a) transformación de la secuencia de tramas para obtener una representación en un segundo espacio cromático con una segunda precisión de bits superior a la primera precisión de bits;
b) realización de posteriores etapas de codificación con la segunda precisión de bits para generar un flujo de bits comprimido; y
c) realización de posteriores etapas de descodificación con la segunda precisión de bits en el flujo de bits comprimido, y las posteriores etapas de descodificación incluyen la aplicación de una transformada discreta de coseno inversa
Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/US02/06078.
Solicitante: DOLBY LABORATORIES LICENSING CORPORATION.
Nacionalidad solicitante: Estados Unidos de América.
Dirección: 100 POTRERO AVENUE,SAN FRANCISCO CALIFORNIA 94103.
Inventor/es: DEMOS,GARY,A, RUHOFF,DAVID.
Fecha de Publicación: .
Fecha Concesión Europea: 12 de Mayo de 2010.
Clasificación Internacional de Patentes:
- H04N7/26A8T
- H04N7/26D2
- H04N7/30
- H04N7/50
Clasificación PCT:
- H04N7/26
Clasificación antigua:
- H04N7/18 ELECTRICIDAD. › H04 TECNICA DE LAS COMUNICACIONES ELECTRICAS. › H04N TRANSMISION DE IMAGENES, p. ej. TELEVISION. › H04N 7/00 Sistemas de televisión (detalles H04N 3/00, H04N 5/00; métodos y arreglos, para la codificación, decodificación, compresión o descompresión de señales de vídeo digital H04N 19/00; distribución selectiva de contenido H04N 21/00). › Sistemas de televisión en circuito cerrado, es decir, sistemas en los cuales la señal no es difundida.
![CODIFICACION Y DESCODIFICACION DE ALTA PRECISION PARA IMAGENES DE VIDEO.](https://patentados.com/img/2010/07/codificacion-descodificacion-alta-precision-imagenes-video.jpg)
Fragmento de la descripción:
Codificación y descodificación de alta precisión para imágenes de vídeo.
Campo de la invención
La presente invención se refiere a la compresión de vídeo, y más concretamente a una compresión de vídeo de calidad mejorada basada en mejoras novedosas referidas a los sistemas de codificación y descodificación de tipo MPEG.
Antecedentes de la invención
Antecedentes del MPEG
MPEG-2 Y MPEG-4 son estándares internacionales de compresión de vídeo que definen una sintaxis de vídeo que proporciona una manera eficiente de representar secuencias de imágenes en forma de datos codificados más compactos. El lenguaje de los bits codificados constituye la "sintaxis". Por ejemplo, unos pocos testigos pueden representar un bloque de muestras completo (por ejemplo, 64 muestras para MPEG-2). Ambos estándares MPEG describen también un procedimiento de descodificación (reconstrucción) en el que para los bits codificados se establece una correspondencia entre la representación compacta y una aproximación del formato original de la secuencia de imágenes. Por ejemplo, la presencia de un indicador en el flujo de bits determina si los siguientes bits deben ir precedidos de un algoritmo de predicción antes de ser descodificados con un algoritmo basado en la transformada discreta de coseno (DCT). Los algoritmos que comprenden el procedimiento de descodificación se rigen por la semántica definida por estos estándares MPEG. Esta sintaxis se puede aplicar para obtener provecho de características de vídeo tales como la redundancia espacial, la redundancia temporal, el movimiento uniforme, el enmascaramiento espacial, etc. De hecho, estos estándares MPEG definen un lenguaje de programación así como un formato de datos. Un descodificador de MPEG debe ser capaz de interpretar y descodificar un flujo de datos entrante, pero, siempre que el flujo de datos observe la sintaxis MPEG correspondiente, se pueden usar una amplia variedad de posibles estructuras de datos y técnicas de compresión. También es posible trasladar la semántica necesaria a una sintaxis alternativa.
Estos estándares MPEG utilizan diversos procedimientos de compresión, entre los que se incluyen procedimientos intratrama e intertrama. En la mayoría de las escenas de vídeo, el fondo permanece relativamente estable, mientras que la acción tiene lugar en el primer plano. El fondo puede moverse, pero gran parte de la escena es redundante. Estos estándares MPEG comienzan la compresión creando una trama de referencia denominada "intratrama" o "trama I". Las tramas I se comprimen sin hacer referencia a otras tramas y, por lo tanto, contienen una trama completa de información de vídeo. Las tramas I proporcionan puntos de entrada a un flujo de bits para ofrecer un acceso aleatorio, pero solo se pueden comprimir hasta cierto punto. Por regla general, los datos que representan tramas I se colocan en el flujo de bits cada 12 a 15 tramas. A partir de aquí, ya que solo una pequeña parte de las tramas situadas entre las tramas I de referencia son diferentes de las tramas I entre las que están comprendidas, solo se capturan, comprimen y almacenan las diferencias en las imágenes. Para estas diferencias se usan dos tipos de tramas: tramas predictivas o tramas P, y tramas bidireccionales interpoladas o tramas B.
Las tramas P se codifican generalmente haciendo referencia a una trama anterior (una trama I o bien una trama P previa), y, en general, se usan como referencia para tramas P posteriores. Las tramas P reciben una cantidad de compresión bastante elevada. Las tramas B proporcionan la mayor cantidad de compresión, pero requieren una trama de referencia tanto previa como futura para que se pueda codificar. Nunca se usan tramas bidireccionales como tramas de referencia.
Los macrobloques son zonas de píxeles de imagen. Para MPEG-2, un macrobloque es un conjunto de 16x16 píxeles de cuatro bloques de DCT de 8x8, junto con un vector de movimiento para tramas P y uno o dos vectores de movimiento para tramas B. Los macrobloques contenidos en tramas P se pueden codificar de forma individual usando una codificación intratrama o intertrama (predictiva). Los macrobloques contenidos en tramas B se codifican de forma individual usando una codificación intratrama, una codificación predictiva hacia delante, una codificación predictiva hacia atrás, o una codificación predictiva tanto hacia delante como hacia atrás (es decir, interpolada bidireccionalmente).
Tras la codificación, un flujo de bits de datos en formato MPEG comprende una secuencia de tramas I, P y B. Una secuencia puede consistir en casi cualquier patrón de tramas I, P y B (en su colocación, existen ciertas restricciones semánticas de poca importancia). No obstante, en la práctica industrial, es común encontrar un patrón fijo (por ejemplo, IBBPBBPBBPBBPBB).
Desde hace algún tiempo se sabe que los cálculos se reducen cuando se determinan vectores de movimiento mediante la utilización de una búsqueda de movimiento jerárquica. Por ejemplo, los algoritmos MPEG intentan encontrar una concordancia entre zonas del "macrobloque". Los codificadores de tipo MPEG y otros codificadores basados en la DCT (transformada discreta de coseno) con compensación de movimiento intentan hacer que cada región de un macrobloque de una trama actual concuerde con una posición en un trama previa (trama P) o en una trama previa y posterior (trama B). No obstante, no siempre es necesario encontrar una buena concordancia, ya que MPEG puede codificar un nuevo macrobloque como un ("intra") nuevo macrobloque independiente en este caso sin usar tramas previas o posteriores. En tales sistemas de DCT con compensación de movimiento es necesario un vector de movimiento de macrobloque para cada zona del macrobloque para MPEG-2. En MPEG-4, un conjunto de 4 vectores de movimiento, correspondientes a un vector para cada región de 8x8 (es decir, 4 vectores por macrobloque) también constituye un modo de codificación opcional.
Precisión del MPEG
Las aplicaciones de los códecs de vídeo de MPEG-2 y MPEG-4 de referencia utilizan la siguiente metodología de codificación:
a) Al convertir un espacio cromático RGB en YUV, solo se mantiene el número de bits que se van a codificar (por ejemplo, MPEG-2 está limitado a una codificación de 8 bits, y por tanto los valores YUV también están limitados a 8 bits).
b) Al codificar y descodificar, solo se conserva el número de bits que se han codificado, aplicando un redondeo prudente para reducir las perturbaciones.
c) Al volver a pasar a RGB, la precisión es limitada debido a las limitaciones en el número de bits que se han conservado (un máximo de 8 bits para MPEG-2)
La fig. 1 es un diagrama de bloques de un procedimiento de codificación de vídeo de referencia de MPEG-2 de la técnica anterior. Las tramas de entrada RGB 102 codificadas a 8 bits/píxel por color se aplican a un convertidor de RGB a YUV 104, que está limitado intencionadamente a una precisión de 8 bits por color en su salida. El resultado se aplica a una función DCT 106, y después a una función de cuantificación 108, después a una función DCT inversa 110, y la salida final 212 se almacena con la misma precisión que los datos de entrada.
El codificador de vídeo de referencia de MPEG-4 se aplica con el mismo procedimiento, aunque la precisión intermedia se puede ampliar hasta 12 bits (aunque las tablas VLC -de codificación de longitud variable- no están adaptadas para el uso del intervalo completo).
Se utilizan técnicas para aplicación de vibraciones aleatorias (dithering) en los valores de precisión limitada (un máximo de 8 bits por componente cromático en MPEG-2) con el fin de reducir la evidente visibilidad de saltos bruscos. No obstante, en la codificación, a causa de esta vibración, se crean ruido y perturbaciones, que también se crean debido al uso de una precisión de procesamiento intermedio limitada.
Además de esta limitada precisión de procesamiento intermedio, MPEG-2 y MPEG-4 permiten que el algoritmo basado en una DCT inversa (IDCT) usado durante la codificación (a menudo incorporado en una representación de coma flotante de alta precisión) sea ligeramente diferente al algoritmo IDCT usado durante la descodificación. Esto se conoce como "discordancia en la IDCT". La discordancia en la IDCT provoca una deriva gradual impredecible en la señal, que la aleja de los valores de descodificación previstos. Esto se reduce, convencionalmente, mediante el uso de una vibración aleatoria o dithering del bit de orden inferior en la frecuencia más alta de la IDCT (séptimo armónico...
Reivindicaciones:
1. Procedimiento para comprimir y descomprimir una secuencia de imágenes de vídeo digitalizadas que incluye una secuencia de tramas representadas con una primera precisión de bits en un primer espacio cromático, y el procedimiento se caracteriza por las etapas de
a) transformación de la secuencia de tramas para obtener una representación en un segundo espacio cromático con una segunda precisión de bits superior a la primera precisión de bits;
b) realización de posteriores etapas de codificación con la segunda precisión de bits para generar un flujo de bits comprimido; y
c) realización de posteriores etapas de descodificación con la segunda precisión de bits en el flujo de bits comprimido, y las posteriores etapas de descodificación incluyen la aplicación de una transformada discreta de coseno inversa.
2. El procedimiento de la reivindicación 1, en el que la etapa de realización de las posteriores etapas con la segunda precisión de bits en el flujo de bits comprimido comprende la descodificación del flujo de bits comprimido mediante la:
1) descuantificación del flujo de bits comprimido con la segunda precisión de bits para crear una salida descomprimida;
2) aplicación de una transformada discreta de coseno inversa con la segunda precisión de bits en la salida descuantificada para producir una salida descomprimida; y
3) generación de tramas de imagen con la segunda precisión de bits a partir de la salida descomprimida.
3. El procedimiento de la reivindicación 1 ó 2, en el que las posteriores etapas de codificación incluyen la aplicación de un algoritmo numérico de transformada discreta de coseno inversa, y en el que la descodificación del flujo de bits comprimido incluye la aplicación de un algoritmo numérico de transformada discreta de coseno inversa que concuerde.
4. El procedimiento de la reivindicación 1, 2 ó 3, que además incluye la generación de tramas P con la segunda precisión de bits.
5. El procedimiento de cualquiera de las reivindicaciones 1 a 4, que además incluye la generación de tramas B con la segunda precisión de bits.
6. El procedimiento de cualquiera de las reivindicaciones 1 a 5, en el que cada trama incluye una pluralidad de macrobloques que definen zonas, y el procedimiento incluye la:
i) determinación de un parámetro de cuantificación, QP, que posee códigos que representan una correspondencia directa con posibles valores o bien un intervalo ampliado de posibles valores;
ii) determinación de un valor de QP para cada macrobloque de cada trama;
iii) compresión de cada trama con la segunda precisión de bits para crear una trama comprimida, y tal compresión incluye la aplicación de los valores de QP determinados para que dicha trama reduzca el número de bits necesario para codificar tal trama:
iv) asociación de códigos QP con los valores QP determinados, usados durante la compresión; y
v) la salida de cada una de las tramas comprimidas y los códigos de QP relacionados.
7. El procedimiento de la reivindicación 6, que además incluye la ampliación directa del intervalo de posibles valores de QP mediante el aumento en el número de bits que representan códigos de QP.
8. El procedimiento de la reivindicación 6, que además incluye la ampliación eficaz del intervalo de posibles valores de QP mediante el establecimiento de una correspondencia entre los códigos de QP y un intervalo más grande de posibles valores de QP.
9. El procedimiento de la reivindicación 6, 7 u 8, en el que la determinación de un valor de QP para cada macrobloque de cada trama se basa en la información zonal con respecto a una o más tramas.
10. El procedimiento de la reivindicación 9, en el que la información zonal incluye un contraste de zona de imagen local dentro de cada trama.
11. El procedimiento de la reivindicación 9, en el que la información zonal incluye una gama dinámica local dentro de cada trama.
12. El procedimiento de la reivindicación 9, en el que la información zonal incluye amplitudes de detalle local dentro de cada trama.
13. El procedimiento de la reivindicación 9, en el que la información zonal incluye el movimiento local entre una o más tramas secuenciales.
14. El procedimiento de cualquiera de las reivindicaciones 6 a 13, en el que la determinación de un valor de QP para cada macrobloque de cada trama se basa en la información generada durante la etapa de compresión.
15. El procedimiento de la reivindicación 14, en el que la información generada durante la etapa de compresión incluye amplitudes relativas de coeficientes de la transformada discreta de coseno para cada macrobloque.
16. El procedimiento de la reivindicación 14, en el que la información generada durante la etapa de compresión incluye un número constante de bits asignados para codificar cada macrobloque dentro de una zona de una trama.
17. El procedimiento de cualquiera de las reivindicaciones 6 a 16, que además incluye:
a) para cada trama comprimida, la determinación por segunda vez de un valor de QP para cada código asociado con tal trama comprimida; y
b) la descompresión de cada trama comprimida con la segunda precisión de bits para crear una trama descomprimida que posea al menos una amplia gama dinámica o una amplia gama de contraste, y tal descompresión incluye la aplicación de los valores de QP que se vuelven a determinar para dicha trama.
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 de compresión de imágenes de video que comprende: proporcionar una secuencia de cuadros referenciables (I, P) y predichos bidireccionales […]
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 […]
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: […]
Procedimiento de cálculo de vectores de movimiento, del 12 de Junio de 2019, de Panasonic Intellectual Property Corporation of America: Un procedimiento de codificación de imágenes para codificar un bloque actual incluido en una imagen actual, comprendiendo el procedimiento […]