Codificación de vídeo usando resolución adaptativa de vectores de movimiento.

Un procedimiento (220; 320) de codificación por entropía de datos de video, comprendiendo el procedimiento:

cuando un valor absoluto de un componente x de un valor de diferencia de vector de movimiento para un bloque actual es mayor que cero

(226; 326), y cuando un valor absoluto de un componente y del valor de diferencia de vector de movimiento para el bloque actual es mayor que cero (228; 328), codificar por entropía información representativa de un valor de diferencia de vector de movimiento, en el que la codificación por entropía de la información representativa del valor de diferencia de vector de movimiento comprende:

intercalar información representativa de si el valor absoluto del componente x de un valor de diferencia de vector de movimiento para el bloque actual de datos de vídeo es o no mayor que cero, e información representativa de si el valor absoluto del componente y del valor de diferencia de vector de movimiento es o no mayor que cero; e

intercalar información representativa del valor absoluto del componente x del valor de diferencia de vector de movimiento, información representativa del valor absoluto del componente y del valor de diferencia de vector de movimiento,

un signo del componente x del valor de diferencia de vector de movimiento (230; 330) y un signo del componente y del valor de diferencia de vector de movimiento (232; 332).

Tipo: Patente Internacional (Tratado de Cooperación de Patentes). Resumen de patente/invención. Número de Solicitud: PCT/US2012/045078.

Solicitante: QUALCOMM INCORPORATED.

Nacionalidad solicitante: Estados Unidos de América.

Dirección: 5775 MOREHOUSE DRIVE SAN DIEGO, CA 92121-1714 ESTADOS UNIDOS DE AMERICA.

Inventor/es: KARCZEWICZ, MARTA, CHEN,Peisong, CHIEN,WEI-JUNG.

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/61 (en combinación con codificación predictiva)
  • 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/91 (Codificación de entropía, p. ej. codificación de longitud variable [VLC] o la codificación aritmética)
  • 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/513 (Procesamiento de los vectores de movimiento)
  • 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/70 (caracterizado por los aspectos relacionados con la sintaxis de codificación de vídeo, p. ej en relación con los estándares de compresió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/523 (con precisión de sub-pixel)
  • 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/52 (por codificación predictiva)
  • 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/517 (por codificación)

PDF original: ES-2546678_T3.pdf

 

google+ twitter facebook

Fragmento de la descripción:

Codificación de vídeo usando resolución adaptativa de vectores de movimiento

Campo técnico

La presente divulgación se refiere a la codificación de vídeo y, más específicamente, a la codificación de datos de vídeo para la compensación de movimiento en la codificación de vídeo.

Antecedentes Las capacidades del vídeo digital pueden ser incorporadas en una amplia gama de dispositivos, incluyendo los televisores digitales, los sistemas digitales de difusión directa, los sistemas de difusión inalámbrica, los asistentes digitales personales (PDA) , los ordenadores portátiles o de sobremesa, las cámaras digitales, los dispositivos de grabación digital, los reproductores de medios digitales, los dispositivos de juegos de vídeo, las consolas de juegos de vídeo, los radioteléfonos celulares o por satélite, los dispositivos de teleconferencia de vídeo y similares. Los dispositivos de video digital implementan técnicas de compresión de vídeo, tales como las descritas en los estándares definidos por MPEG-2, MPEG-4, ITU-T H.263 o ITU-T H.264 / MPEG-4, Parte 10, Codificación de Vídeo Avanzada (AVC) y las extensiones de tales estándares, para transmitir y recibir más eficazmente información de vídeo digital.

Las técnicas de compresión de vídeo realizan la predicción espacial y / o la predicción temporal para reducir o eliminar la redundancia inherente en las secuencias de vídeo. Para la codificación basada en bloques, una trama o tajada de vídeo puede ser dividida en macro-bloques. Cada macro-bloque puede ser dividido adicionalmente. Los macro-bloques en una trama o tajada intra-codificada (I) son codificados usando la predicción espacial con respecto a los macro-bloques vecinos. Los macro-bloques en una trama o tajada inter-codificada (P o B) pueden usar la predicción espacial con respecto a los macro-bloques vecinos en la misma trama o tajada, o la predicción temporal con respecto a otras tramas de referencia.

El artículo "Codificación aritmética binaria adaptativa basada en el contexto en el estándar de compresión de vídeo H.264 / AVC" de Marpe et al, publicado en las Transacciones del IEEE sobre Circuitos y Sistemas, vol. 13, nº 7, páginas 620 a 636, del 1 de julio de 2003, describe una técnica para codificar el bit de signo para un componente x o y, junto con un valor representativo de la magnitud del valor de diferencia de vector de movimiento para ese componente x o y.

El documento US 2005 / 038837 describe un procedimiento y aparato para la binarización y la codificación aritmética de un valor de datos.

El artículo "CE12: Resolución adaptativa de vectores de movimiento de Qualcomm", 4. Reunión JCT-VC; 95. Reunión de MPEG, nº JCTVC-D394, del 16 de enero de 2011, describe un procedimiento de resolución adaptativa de vectores de movimiento dentro del ámbito del experimento central 12 que fue configurado en la 3º reunión de JCT-VC.

Sumario La invención está definida en las reivindicaciones a las cuales se dirige ahora la referencia.

Los detalles de uno o más ejemplos son enunciados en los dibujos adjuntos y la descripción a continuación. Otras características, objetos y ventajas serán evidentes a partir de la descripción y los dibujos, y a partir de las reivindicaciones.

Breve descripción de los dibujos La FIG. 1 es un diagrama de bloques que ilustra un ejemplo de un sistema de codificación y descodificación de vídeo congruente con las técnicas de esta divulgación.

La FIG. 2 es un diagrama de bloques que ilustra un ejemplo de un codificador de vídeo congruente con las técnicas de esta divulgación.

La FIG. 3 es un diagrama de bloques que ilustra un ejemplo de un descodificador de vídeo congruente con las técnicas de esta divulgación.

La FIG. 4 es un diagrama de flujo que ilustra un procedimiento ejemplar para codificar conjuntamente los componentes x e y de un valor de diferencia de vector de movimiento y para codificar por entropía un bloque actual.

La FIG. 5 es un diagrama de flujo que ilustra un procedimiento ejemplar de señalización por separado de un valor de diferencia de vector de movimiento de acuerdo al modelo de prueba HEVC 3.0 (HM 3.0) .

La FIG. 6 es un diagrama de flujo que ilustra un procedimiento ejemplar para codificar conjuntamente los componentes x e y de un valor de diferencia de vector de movimiento.

La FIG. 7 es un diagrama de flujo que ilustra un procedimiento ejemplar para codificar conjuntamente los componentes x e y de un valor de diferencia de vector de movimiento y para codificar la resolución de los componentes x e y de un valor de diferencia de vector de movimiento.

La FIG. 8 es un diagrama de flujo que ilustra un procedimiento ejemplar para descodificar conjuntamente los componentes x e y de un valor de diferencia de vector de movimiento y para descodificar datos codificados por entropía, para producir un bloque actual.

La Fig. 9 es un diagrama de flujo que ilustra un procedimiento ejemplar para descodificar conjuntamente los componentes x e y de un valor de diferencia de vector de movimiento.

Descripción detallada En general, esta divulgación describe técnicas para codificar datos para valores de diferencia de vectores de movimiento durante la codificación de vídeo. Los datos de vídeo incluyen una secuencia de tramas (o imágenes) reproducidas en rápida sucesión para simular el movimiento. Cada trama de datos de vídeo puede ser dividida en bloques. Durante la codificación de vídeo y, más específicamente, la inter-predicción, un dispositivo tal como un codificador de vídeo o un descodificador de vídeo puede predecir los valores de píxeles de un bloque. El codificador o descodificador de vídeo puede basar las predicciones para el bloque sobre los valores de píxel de un bloque procedente de otra trama, o a partir de los valores de píxel de un bloque vecino.

Para la intra-predicción, un codificador de vídeo puede indicar el desplazamiento de un bloque de referencia usando un vector de movimiento. El vector de movimiento puede tener un componente x y un componente y. Los componentes x e y del vector de movimiento pueden indicar un desplazamiento con precisión de sub-píxel, tal como una precisión de medio píxel, una precisión de un cuarto de píxel o una precisión de un octavo de píxel. Para lograr la precisión sub-píxel, un codificador o descodificador de vídeo puede usar una técnica, tal como la interpolación, para determinar los valores de sub-píxel en las ubicaciones indicadas por el vector de movimiento. Después de determinar los componentes x e y del vector de movimiento, un codificador de vídeo puede calcular valores de diferencia de vectores de movimiento (MVD) para los componentes del vector de movimiento, con respecto a un predictor de vector de movimiento.

Esta divulgación proporciona, en general, técnicas para codificar conjuntamente valores MVD de movimiento. En esta divulgación, la codificación conjunta puede referirse a técnicas de codificación en las cuales las informaciones referidas a los componentes x e y de un valor de diferencia de vector de movimiento están intercaladas, a diferencia de la codificación de toda la información referida a uno de los componentes x o y antes de codificar cualquier información referida al segundo componente del valor de diferencia de vector de movimiento. La codificación conjunta también puede referirse al uso de un valor para representar valores para ambos componentes x e y. Además, esta divulgación también describe técnicas para codificar diferencias de vectores de movimiento, que pueden tener diversas precisiones sub-píxel, p. ej., precisión de un cuarto de píxel o precisión de un octavo de píxel, y para indicar las precisiones de las diferencias de vectores... [Seguir leyendo]

 


Reivindicaciones:

1. Un procedimiento (220; 320) de codificación por entropía de datos de video, comprendiendo el procedimiento:

cuando un valor absoluto de un componente x de un valor de diferencia de vector de movimiento para un bloque actual es mayor que cero (226; 326) , y cuando un valor absoluto de un componente y del valor de diferencia de vector de movimiento para el bloque actual es mayor que cero (228; 328) , codificar por entropía información representativa de un valor de diferencia de vector de movimiento, en el que la codificación por entropía de la información representativa del valor de diferencia de vector de movimiento comprende:

intercalar información representativa de si el valor absoluto del componente x de un valor de diferencia de vector de movimiento para el bloque actual de datos de vídeo es o no mayor que cero, e información representativa de si el valor absoluto del componente y del valor de diferencia de vector de movimiento es o no mayor que cero; e intercalar información representativa del valor absoluto del componente x del valor de diferencia de vector de movimiento, información representativa del valor absoluto del componente y del valor de diferencia de vector de movimiento, un signo del componente x del valor de diferencia de vector de movimiento (230; 330) y un signo del componente y del valor de diferencia de vector de movimiento (232; 332) .

2. El procedimiento de la reivindicación 1, en el que la codificación por entropía comprende la codificación aritmética binaria adaptativa según el contexto, CABAC, comprendiendo además el procedimiento:

calcular un vector de movimiento para el bloque actual de datos de vídeo; y calcular (156) el valor de diferencia de vector de movimiento como una diferencia entre el vector de movimiento para el bloque actual de datos de vídeo y un predictor de vector de movimiento, determinado para el bloque actual de datos de vídeo.

3. El procedimiento de la reivindicación 1, en el que la codificación por entropía comprende la codificación de la codificación aritmética binaria adaptativa según el contexto, CABAC, comprendiendo además el procedimiento:

determinar (286) un predictor de vector de movimiento para el bloque actual de datos de vídeo; y calcular (288) un vector de movimiento para el bloque actual de datos de vídeo como una suma del valor de diferencia de vector de movimiento y el predictor de vector de movimiento.

4. El procedimiento de la reivindicación 1, que comprende además:

codificar un valor representativo de si un vector de movimiento del bloque actual de datos de vídeo tiene una primera precisión de sub-píxel o una segunda precisión de sub-píxel, en el que la segunda precisión de sub-píxel es mayor que la primera precisión de sub-píxel; y cuando el vector de movimiento tiene la segunda precisión de sub-píxel, cuando el componente x del valor de diferencia de vector de movimiento no es igual a cero, y cuando el componente y del valor de diferencia de vector de movimiento no es igual a cero, en el que, la codificación de información representativa del valor absoluto del componente x del valor de diferencia de vector de movimiento y la codificación de información representativa del valor absoluto del componente y del valor de diferencia de vector de movimiento comprenden codificar un valor conjuntamente codificado, representativo tanto del componente x del valor de diferencia de vector de movimiento como del componente y del valor de diferencia de vector de movimiento.

5. El procedimiento de la reivindicación 4, que comprende además determinar si el vector de movimiento tiene la primera precisión de sub-píxel o la segunda precisión de sub-píxel, y que comprende:

determinar un valor de umbral asociado al vector de movimiento; y determinar que el vector de movimiento tiene la primera precisión de sub-píxel cuando tanto el componente x del valor de diferencia de vector de movimiento como el componente y del valor de diferencia de vector de movimiento son mayores que el umbral.

6. El procedimiento de la reivindicación 5, en el que la determinación de si el vector de movimiento tiene la primera precisión de sub-píxel o la segunda precisión de sub-píxel comprende, cuando al menos uno entre el componente x del valor de diferencia de vector de movimiento y el componente x del valor de diferencia de vector de movimiento es menor o igual que el umbral, determinar si el vector de movimiento tiene la primera precisión de sub-píxel o la segunda precisión de sub-píxel, en base a un valor de un indicador de resolución de vector de movimiento.

7. El procedimiento de la reivindicación 1,

en el que la codificación de información representativa del valor absoluto del componente x de los valores de diferencia de vectores de movimiento comprende codificar el valor absoluto del componente x de los valores de diferencia de vectores de movimiento como mvd_x/2 -1, en el que mvd_x comprende el componente x del valor de diferencia de vector de movimiento; y en el que la codificación de información representativa del valor absoluto del componente y de los valores de diferencia de vectores de movimiento comprende codificar el valor absoluto del componente y de los valores de diferencia de vectores de movimiento como mvd_y/2 -1, en el que mvd_y comprende el componente y del valor de diferencia de vector de movimiento.

8. Un aparato (56; 70) para codificar por entropía datos de vídeo, comprendiendo el aparato:

medios para codificar por entropía información representativa de un valor de diferencia de vector de movimiento cuando el valor absoluto del componente x del valor de diferencia de vector de movimiento es mayor que cero y cuando el valor absoluto del componente y del valor de diferencia de vector de movimiento es mayor que cero, en el que el medio para codificar por entropía la información representativa del valor de diferencia de vector de movimiento comprende:

medios para intercalar información representativa de si un valor absoluto de un componente x de un valor de diferencia de vector de movimiento para un bloque actual de datos de vídeo es o no mayor que cero, e información representativa de si un valor absoluto de un componente y del valor de diferencia de vector de movimiento es o no mayor que cero; medios para intercalar información representativa del valor absoluto del componente x del valor de diferencia de vector de movimiento, información representativa del valor absoluto del componente y del valor de diferencia de vector de movimiento, un signo del componente x del valor de diferencia de vector de movimiento, y un signo del componente y del valor de diferencia de vector de movimiento.

9. El aparato de la reivindicación 8, en el que el medio para la codificación por entropía comprende medios para la codificación de la codificación aritmética binaria adaptativa según el contexto, CABAC, comprendiendo además el aparato:

medios para calcular un vector de movimiento para el bloque actual de datos de vídeo; y medios para calcular el valor de diferencia de vector de movimiento como una diferencia entre el vector de movimiento para el bloque actual de datos de vídeo y un predictor de vector de movimiento determinado para el bloque actual de datos de vídeo.

10. El aparato de la reivindicación 8, en el que el medio para la codificación por entropía comprende medios para la descodificación de la codificación aritmética binaria adaptativa según el contexto, CABAC, comprendiendo además el aparato:

medios para determinar un predictor de vector de movimiento para el bloque actual de datos de vídeo; y medios para calcular un vector de movimiento para el bloque actual de datos de vídeo como una suma del valor de diferencia de vector de movimiento y el predictor de vector de movimiento.

11. El aparato de la reivindicación 8, que comprende además:

medios para codificar un valor representativo de si un vector de movimiento del bloque actual de datos de vídeo tiene una primera precisión de sub-píxel o una segunda precisión de sub-píxel, en el que la segunda precisión de sub-píxel es mayor que la primera precisión de sub-píxel; y medios para codificar un valor conjuntamente codificado, representativo tanto del componente x del valor de diferencia de vector de movimiento como del componente y del valor de diferencia de vector de movimiento, cuando el vector de movimiento tiene la segunda precisión de sub-píxel, cuando el componente x del valor de diferencia de vector de movimiento no es igual a cero, y cuando el componente y del valor de diferencia de vector de movimiento no es igual a cero.

12. El aparato de la reivindicación 11, que comprende además medios para determinar si el vector de movimiento tiene la primera precisión de sub-píxel o la segunda precisión de sub-píxel, y que comprende:

medios para determinar un valor de umbral asociado al vector de movimiento; y medios para determinar que el vector de movimiento tiene la primera precisión de sub-píxel cuando tanto el componente x del valor de diferencia de vector de movimiento como el componente y del valor de diferencia del vector de movimiento son mayores que el umbral.

13. El aparato de la reivindicación 12, en el que el medio para determinar si el vector de movimiento tiene la primera

precisión de sub-píxel o la segunda precisión de sub-píxel comprende medios para determinar si el vector de movimiento tiene la primera precisión de sub-píxel o la segunda precisión de sub-píxel, en base a un valor de un indicador de resolución de vector de movimiento, cuando al menos uno entre el componente x del valor de diferencia de vector de movimiento y el componente y del valor de diferencia del vector de movimiento es menor o igual que el umbral.

14. El aparato de la reivindicación 8, en el que el medio para codificar información representativa del valor absoluto del componente x de los valores de diferencia de vectores de movimiento comprende medios para codificar el valor absoluto del componente x de los valores de diferencia de vectores de movimiento como mvd_x/2 - 1, en el que mvd_x comprende el componente x del valor de diferencia de vector de movimiento; y en el que el medio para codificar información representativa del valor absoluto del componente y de los valores de diferencia de vectores de movimiento comprende medios para codificar el valor absoluto del componente y de los valores de diferencia de vectores de movimiento como mvd_y/2 - 1, en el que mvd_y comprende el componente y del valor de diferencia de vector de movimiento.

15. Un producto de programa de ordenador que comprende un medio de almacenamiento legible por ordenador, que tiene almacenadas en el mismo instrucciones que, cuando son ejecutadas, provocan que uno o más procesadores de un dispositivo para codificar datos de vídeo lleven a cabo el procedimiento de cualquiera de las reivindicaciones 1 a 7.