ES2548385T3 - Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital - Google Patents

Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital Download PDF

Info

Publication number
ES2548385T3
ES2548385T3 ES10182629.5T ES10182629T ES2548385T3 ES 2548385 T3 ES2548385 T3 ES 2548385T3 ES 10182629 T ES10182629 T ES 10182629T ES 2548385 T3 ES2548385 T3 ES 2548385T3
Authority
ES
Spain
Prior art keywords
block
field
mode
macroblock
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES10182629.5T
Other languages
English (en)
Inventor
Limin Wang
Rajeev Gandhi
Krit Panusopone
Ajay Luthra
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google Technology Holdings LLC
Original Assignee
Google Technology Holdings LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27540869&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2548385(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US10/301,290 external-priority patent/US6980596B2/en
Application filed by Google Technology Holdings LLC filed Critical Google Technology Holdings LLC
Application granted granted Critical
Publication of ES2548385T3 publication Critical patent/ES2548385T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Abstract

Un método para codificar una instantánea en una secuencia de imágenes, que comprende: dividir dicha instantánea en una pluralidad de porciones más pequeñas, donde cada una de dichas porciones más pequeñas es un par de macrobloques verticalmente adyacentes; codificar de manera selectiva al menos una de dicha pluralidad de porciones más pequeñas en un momento en modo de codificación de cuadro y al menos una de dicha pluralidad de porciones más pequeñas en un momento en modo de codificación de campo; y codificar de manera selectiva al menos un bloque en al menos una de dicha pluralidad de porciones más pequeñas en un momento en modo de inter codificación.

Description

imagen1
imagen2
imagen3
imagen4
imagen5
E10182629
25-09-2015
en la Figura 5, cada otra fila de píxeles está sombreada. Las áreas sombreadas representan las filas de píxeles en el campo superior del macrobloque (500) y las áreas no sombreadas representan las filas de píxeles en el campo inferior del macrobloque (500).
5 Como se muestra en las Figuras 6a-d, un macrobloque que se codifica en modo de campo puede dividirse en cuatro bloques adicionales. Se requiere que un bloque tenga una única paridad. El requisito de única paridad es que un bloque no pueda comprender ambos campos superior e inferior. En su lugar, debe contener una única paridad de campo. Por lo tanto, como se muestra en las Figuras 6a-d, un macrobloque de modo de campo puede dividirse en bloques de 16 por 8 píxeles (Figura 6a; 600), 8 por 8 píxeles (Figura 6b; 601), 4 por 8 píxeles (Figura 6c; 602) y 4 por 4 píxeles (Figura 6d; 603). Las Figuras 6a-d muestran que cada bloque contiene campos de una única paridad.
La codificación AFF en pares de macrobloques se explicará ahora. La codificación AFF en pares de macrobloques se denominará ocasionalmente como codificación AFF basada en pares. Una comparación de los tamaños de bloque en las Figuras 6a-d y en las Figuras 3a-f muestra que un macrobloque codificado en modo de campo puede
15 dividirse en menos patrones de bloques que lo que puede codificarse un macrobloque en modo de cuadro. Los tamaños de bloque de 16 por 16 píxeles, 8 por 16 píxeles y 8 por 4 píxeles no están disponibles para un macrobloque codificado en modo de campo debido al requisito de única paridad. Esto implica que el rendimiento de AFF basado en único macrobloque pueda no ser bueno para algunas secuencias o aplicaciones que favorecen fuertemente la codificación de modo de campo. Para garantizar el rendimiento de la codificación de macrobloques de modo de campo, es preferente en algunas aplicaciones para macrobloques que se codifiquen en modo de campo para tener los mismos tamaños de bloque como los macrobloques que se codifican en modo de cuadro. Esto puede conseguirse realizando codificación AFF en pares de macrobloques en lugar de macrobloques únicos.
La Figura 7 ilustra un par de macrobloques (700) ejemplar que puede usarse en codificación AFF en un par de
25 macrobloques de acuerdo con una realización de la presente invención. Si el par de macrobloques (700) se ha de codificar en modo de cuadro, el par se codifica como dos macrobloques basados en cuadro. En cada macrobloque, los dos campos en cada uno de los macrobloques se codifican conjuntamente. Una vez codificados como cuadros, los macrobloques pueden dividirse adicionalmente en los bloques más pequeños de las Figuras 3a-f para uso en la predicción temporal con algoritmo de compensación de movimiento.
Sin embargo, si el par de macrobloques (700) se ha de codificar en modo de campo, se parte en primer lugar en un bloque de campo superior de 16 por 16 píxeles (800) y un bloque de campo inferior de 16 por 16 píxeles (801), como se muestra en la Figura 8. Los dos campos se codifican a continuación por separado. En la Figura 8, cada macrobloque en el par de macrobloques (700) tiene N=16 columnas de píxeles y M=16 filas de píxeles. Por lo tanto,
35 las dimensiones del par de macrobloques (700) son 16 por 32 píxeles. Como se muestra en la Figura 8, cada otra fila de píxeles está sombreada. Las áreas sombreadas representan las filas de píxeles en el campo superior de los macrobloques y las áreas no sombreadas representan las filas de píxeles en el campo inferior de los macrobloques. El bloque de campo superior (800) y el bloque de campo inferior (801) pueden dividirse ahora en uno de los posibles tamaños de bloque de las Figuras 3a-f.
De acuerdo con una realización de la presente invención, en la codificación AFF de pares de macrobloques (700), existen dos posibles trayectorias de exploración. Una trayectoria de exploración determina el orden en el que se codifican los pares de macrobloques de una instantánea. La Figura 9 muestra las dos posibles trayectorias de exploración en codificación AFF de pares de macrobloques (700). Una de las trayectorias de exploración es una
45 trayectoria de exploración horizontal (900). En la trayectoria de exploración horizontal (900), los pares de macrobloques (700) de una instantánea (200) se codifican de izquierda a derecha y de arriba a abajo, como se muestra en la Figura 9. La otra trayectoria de exploración es una trayectoria de exploración vertical (901). En la trayectoria de exploración vertical (901), los pares de macrobloques (700) de una instantánea (200) se codifican de arriba abajo y de izquierda a derecha, como se muestra en la Figura 9. Para la codificación de modo de cuadro, la parte superior del macrobloque de un par de macrobloques (700) se codifica en primer lugar, seguido por el macrobloque inferior. Para la codificación de modo de campo, el macrobloque del campo superior de un par de macrobloques se codifica en primer lugar seguido por el macrobloque de campo inferior.
Otra realización de la presente invención amplía el concepto de codificación AFF en un par de macrobloques a
55 codificación AFF en un grupo de cuatro o más macrobloques vecinos (902), como se muestra en la Figura 10. La codificación AFF en un grupo de macrobloques se denominará ocasionalmente como codificación AFF basada en grupos. Las mismas trayectorias de exploración, horizontal (900) y vertical (901), como se usan en la exploración de pares de macrobloques se usan en la exploración de grupos de macrobloques vecinos (902). Aunque el ejemplo mostrado en la Figura 10 muestra un grupo de cuatro macrobloques, el grupo puede ser más de cuatro macrobloques.
Si el grupo de macrobloques (902) se ha de codificar en modo de cuadro, el grupo se codifica como cuatro macrobloques basado en cuadro. En cada macrobloque, los dos campos en cada uno de los macrobloques se codifican conjuntamente. Una vez codificados como cuadros, los macrobloques pueden dividirse adicionalmente en
65 los bloques más pequeños de las Figuras 3a-f para uso en la predicción temporal con algoritmo de compensación de movimiento.
imagen6
E10182629
25-09-2015
está en modo de cuadro, el bloque A debe estar también en modo de cuadro para tener su vector de movimiento incluido en el cálculo del PMV para el bloque E. Si uno de los bloques vecinos de E no tiene el mismo modo de codificación que el que tiene el bloque E, sus vectores de movimiento no se usan en el cálculo del PMV del bloque
E.
5 El “método de siempre” puede usarse también para calcular el PMV para el bloque E. En el método de siempre, los bloques A, B, C y D se usan siempre al calcular el PMV para el bloque E, independientemente de su modo de codificación de cuadro o de campo. Si E está en modo de cuadro y un bloque vecino está en modo de campo, el componente vertical del bloque vecino se multiplica por 2 antes de incluirse en el cálculo del PMV para el bloque E.
10 Si E está en modo de campo y un bloque vecino está en modo de cuadro, el componente vertical del bloque vecino se divide por 2 antes de incluirse en el cálculo del PMV para el bloque E.
El “método selectivo” puede usarse también para calcular el PMV para el bloque E si el macrobloque se ha codificado usando codificación AFF basada en pares o codificación AFF basada en grupos. En el método selectivo,
15 un bloque basado en cuadro tiene un vector de movimiento basado en cuadro que apunta a un cuadro de referencia. Al bloque se asigna también un vector de movimiento basado en campo que apunta a un campo de referencia. El vector de movimiento basado en campo es el vector de movimiento basado en cuadro del bloque con el componente de vector de movimiento vertical dividido por dos. El número de campo de referencia es el número de cuadro de referencia multiplicado por dos. Un bloque basado en campo tiene un vector de movimiento basado en campo que
20 apunta a un campo de referencia. Al bloque se asigna también un vector de movimiento basado en cuadro que apunta a un cuadro de referencia. El vector de movimiento basado en cuadro es el vector de movimiento basado en campo del bloque con el componente de vector de movimiento vertical multiplicado por dos. El número de cuadro de referencia es el número de campo de referencia dividido por dos.
25 La derivación de un PMV del bloque usando el método selectivo se explicará ahora usando la Figura 12 como una referencia. En AFF basada en pares de macrobloques, cada bloque en un macrobloque se asocia con un bloque compañero que reside en la misma localización geométrica en el segundo macrobloque del par de macrobloques. En la Figura 12, cada uno de los bloques vecinos del bloque E (A, B, C y D) pueden o pueden no estar en el mismo modo de codificación de cuadro o de campo que el bloque E. Por lo tanto, se aplican las siguientes reglas:
30 Si E está en modo de cuadro y un bloque vecino está en modo de cuadro, se usa el vector de movimiento basado en cuadro verdadero del bloque vecino para el PMV de E.
Si E está en modo de cuadro y un bloque vecino está en modo de campo, se aplican las siguientes reglas al calcular
35 el PMV de E. Si el bloque vecino (por ejemplo; el bloque A) y su bloque basado en campo compañero tienen el mismo campo de referencia, se usa la media de los vectores de movimiento basados en campo asignados de los dos bloques para el cálculo del PMV de E. El número de cuadro de referencia usado para el cálculo de PMV es el número de campo de referencia del bloque vecino dividido por dos. Sin embargo, si el bloque vecino y su bloque de campo compañero tienen campos de referencia diferentes, entonces el bloque vecino no puede usarse en el cálculo
40 del PMV de E.
Si E está en modo de campo y un bloque vecino está en modo de cuadro, se aplican las siguientes reglas al calcular el PMV de E. Si el bloque vecino (por ejemplo; el bloque A) y su bloque basado en cuadro compañero tienen el mismo cuadro de referencia, se usa la media de los vectores de movimiento basados en campo asignados de los
45 dos bloques para el cálculo del PMV de E. El número de campo de referencia usado para el cálculo de PMV es el número de cuadro de referencia del bloque vecino multiplicado por dos. Sin embargo, si el bloque vecino y su bloque de campo compañero tienen diferentes cuadros de referencia, entonces el bloque vecino no puede usarse en el cálculo del PMV de E.
50 Si E está en modo de campo y un bloque vecino está en modo de campo, se usa el vector de movimiento basado en campo verdadero del bloque vecino en el cálculo del PMV de E.
Una opción preferente alternativa puede usarse en el método selectivo para calcular un PMV del bloque. En la Figura 12, cada uno de los bloques vecinos del bloque E (A, B, C y D) pueden o pueden no estar en el mismo modo
55 de codificación de cuadro o de campo que el bloque E. Por lo tanto, se aplican las siguientes reglas para esta opción preferente alternativa del método selectivo:
Si E está en modo de cuadro y un bloque vecino está en modo de cuadro, se usa el vector de movimiento basado en cuadro verdadero del bloque vecino para el PMV de E.
60 Si E está en modo de cuadro y un bloque vecino está en modo de campo, se usa la media ponderada de los vectores de movimiento basados en campo asignados del bloque vecino y su bloque basado en campo compañero para el cálculo del PMV de E. Los factores de ponderación están basados en los números de campo de referencia del bloque vecino y su bloque compañero.
65
E10182629
25-09-2015
Si E está en modo de campo, y un bloque vecino está en modo de cuadro, se usa la media ponderada de los vectores de movimiento basados en campo asignados del bloque vecino y su bloque basado en cuadro compañero para el cálculo del PMV de E. Los factores de ponderación están basados en los números de cuadro de referencia del bloque vecino y su bloque compañero.
5 Si E está en modo de campo y un bloque vecino está en modo de campo, se usa el vector de movimiento basado en campo verdadero del bloque vecino en el cálculo del PMV de E.
Otro método preferente para calcular un PMV del bloque es el “método selectivo alternativo”. Este método puede usarse en codificación AFF de macrobloques únicos, codificación AFF de macrobloques basada en pares o codificación AFF basada en grupos. En este método, a cada bloque se asigna un número de índice horizontal y uno vertical, que representan las coordenadas horizontales y verticales del bloque. A cada bloque se asigna también una coordenada de campo horizontal y vertical. Una coordenada de campo horizontal del bloque es la misma que su coordenada horizontal. Para un bloque en un macrobloque de campo superior, la coordenada de campo vertical es
15 la mitad de la coordenada vertical del bloque y se asigna una polaridad de campo superior. Para un bloque en el macrobloque de campo inferior, la coordenada de campo vertical del bloque se obtiene restando 4 de la coordenada vertical del bloque y dividiendo el resultado por 2. Al bloque se asigna también una polaridad de campo inferior. El resultado de asignar diferentes polaridades de campo a dos bloques es que existen ahora dos bloques con las mismas coordenadas de campo horizontal y vertical pero con diferentes polaridades de campo. Por lo tanto, dadas las coordenadas de un bloque, pueden calcularse las coordenadas de campo y su polaridad de campo y viceversa.
El método selectivo alternativo se explicará ahora en detalle usando la Figura 12 como una referencia. El PMV del bloque E se ha de calcular. Representando bx el tamaño horizontal del bloque E dividido por 4, que es el tamaño de un bloque en este ejemplo. Los PMV para E se obtienen como sigue dependiendo de si E está en modo de
25 cuadro/campo.
Estando el bloque E en modo de cuadro y representando (x,y) las coordenadas horizontal y vertical respectivamente de E. Los bloques vecinos de E se definen de la siguiente manera. A es el bloque cuyas coordenadas son (x-1,y). B es el bloque cuyas coordenadas son (x,y-1). D es el bloque cuyas coordenadas son (x-1,y-1). C es el bloque cuyas coordenadas son (x+bx+1,y-1). Si cualquiera de A, B, C o D están en modo de campo entonces su vector de movimiento vertical se divide por 2 antes de usarse para la predicción y su número de cuadro de referencia se calcula dividiendo su campo de referencia por 2.
Ahora, estando el bloque E en modo de campo superior o inferior y representando (xf,yf) las coordenadas de campo
35 horizontal y vertical respectivamente de E. En este caso, los vecinos de E se definen como sigue. A es el bloque cuyas coordenadas de campo son (xf-1,yf) y tiene la misma polaridad que E. B es el bloque cuyas coordenadas de campo son (xf,yf-1) y tiene la misma polaridad que E. D es el bloque cuyas coordenadas de campo son (xf-1,yf-1) y tiene la misma polaridad que E. C es el bloque cuyas coordenadas de campo son (xf+bx+1,yf) y tiene la misma polaridad que E. Si cualquiera de A, B, C o D están en modo de cuadro entonces su vector de movimiento vertical se multiplica por 2 antes de usarse para la predicción y su campo de referencia se calcula multiplicando su cuadro de referencia por 2.
En todos los métodos anteriores para determinar el PMV de un bloque, se supone una trayectoria de exploración horizontal. Sin embargo, la trayectoria de exploración puede ser también una trayectoria de exploración vertical. En
45 este caso, los bloques vecinos del bloque actual, E, se definen como se muestra en la Figura 13. Una trayectoria de exploración vertical es preferente en algunas aplicaciones puesto que la información en todos los bloques vecinos está disponible para el cálculo del PMV para el bloque actual E.
Otra realización de la presente invención es la predicción de segmentación direccional. En predicción de segmentación direccional, los bloques de 16 por 8 píxeles y los bloques de 8 por 16 píxeles tienen reglas que se aplican a sus cálculos de PMV únicamente. Estas reglas se aplican en todos los métodos de cálculo de PMV para estos tamaños de bloque. Las reglas se explicarán ahora en detalle en relación con la Figura 12. En cada una de estas reglas, un bloque actual E ha de tener su PMV calculado.
55 En primer lugar, un bloque de 16 por 8 píxeles consiste en un bloque superior y un bloque inferior. El bloque superior contiene las 8 filas de píxeles superiores. El bloque inferior contiene las 8 filas de píxeles inferiores. En la siguiente descripción, los bloques A-E de la Figura 12 son bloques de 16 por 8 píxeles. Para el bloque superior en un bloque de 16 por 8 píxeles, se usa el bloque B para predecir el PMV del bloque E si tiene la misma instantánea de referencia que el bloque E. De otra manera, se usa la predicción de la mediana para predecir el PMV del bloque E. Para el bloque inferior en un bloque de 16 por 8 píxeles, se usa el bloque A para predecir el PMV del bloque E si tiene la misma instantánea de referencia que el bloque E. De otra manera, se usa la predicción de la mediana para predecir el PMV del bloque E.
Un bloque de 8 por 16 píxeles se divide en un bloque izquierdo y derecho. Ambos bloques izquierdo y derecho son
65 de 8 por 16 píxeles. En la siguiente descripción, los bloques A-E de la Figura 12 son bloques de 8 por 16 píxeles. Para el bloque izquierdo, se usa el bloque A para predecir el PMV del bloque E si tiene la misma instantánea de
E10182629
25-09-2015
referencia que el bloque E. De otra manera, se usa la predicción de la mediana para predecir el PMV del bloque E. Para el bloque derecho, se usa el bloque C para predecir el PMV del bloque E si tiene la misma instantánea referenciada que el bloque E. De otra manera se usa la predicción de la mediana para predecir el PMV del bloque E.
5 Para tanto los bloques de 16 por 8 píxeles como los bloques de 8 por 16, A, B o C pueden estar en diferentes modos de codificación (de cuadro o de campo) que el bloque actual E. Se aplican las siguientes reglas para ambos tamaños de bloque. Si E está en modo de cuadro, y A, B o C están en modo de campo, el número de cuadro de referencia de A, B o C se calcula dividiendo su campo de referencia por 2. Si E está en modo de campo, y A, B o C están en modo de cuadro, el número de campo de referencia de A, B o C se calcula multiplicando su cuadro de referencia por 2.
De acuerdo con otra realización de la presente invención, un macrobloque en una instantánea P puede saltarse en codificación AFF. Si se salta un macrobloque, sus datos no se transmiten en la codificación de la instantánea. Un macrobloque saltado en una instantánea P se reconstruye copiando el macrobloque co-localizado en la instantánea de referencia codificada más recientemente. El macrobloque co-localizado se define como el de con compensación
15 de movimiento que usa PMV como se ha definido anteriormente o sin vectores de movimiento. Se aplican las siguientes reglas para macrobloques saltados en una instantánea P. Si se realiza codificación AFF por macrobloque, un macrobloque saltado está en modo de cuadro. Si se realiza codificación AFF en pares de macrobloques y si se saltan ambos macrobloques, entonces están en modo de cuadro. Sin embargo, si únicamente se salta uno de los macrobloques en un par de macrobloques, su modo de codificación de cuadro o de campo es el mismo que el del macrobloque no saltado en el mismo par de macrobloques. Si se realiza AFF en un grupo de macrobloques y si se salta todo el grupo de macrobloques, entonces todos los macrobloques están en modo de cuadro. Si existe al menos un macrobloque que no se salta, entonces los macrobloques saltados en el mismo grupo están en el mismo modo de codificación de cuadro o de campo que el del macrobloque no saltado.
25 Un método alternativo para macrobloques saltados es como sigue. Si se salta un par de macrobloques, su modo de codificación de cuadro y de campo sigue su par de macrobloques vecinos a la izquierda. Si el par de macrobloques vecino izquierdo no está disponible, su modo de codificación sigue su par de macrobloques vecinos de la parte superior. Si ni el par de macrobloques vecino izquierdo ni superior están disponibles, el macrobloque saltado se establece a modo de cuadro.
Otra realización de la presente invención es codificación de macrobloque de modo directo para instantáneas B. En codificación de modo directo, una instantánea B tiene dos vectores de movimiento, vectores de movimiento hacia delante y hacia atrás. Cada vector de movimiento apunta a una instantánea de referencia. Ambos vectores de movimiento hacia delante y hacia atrás pueden apuntar en la misma dirección temporal. Para codificación de
35 macrobloque de modo directo en instantáneas B, los vectores de movimiento hacia delante y hacia atrás de un bloque se calculan a partir del bloque co-localizado en la instantánea de referencia hacia atrás. El bloque colocalizado en la instantánea de referencia hacia atrás puede codificarse en modo de cuadro o en modo de campo. Se aplican las siguientes reglas en codificación de macrobloques de modo directo para la instantánea B.
Si el bloque co-localizado está en modo de cuadro y si el macrobloque de modo directo actual está también en modo de cuadro, los dos vectores de movimiento asociados de un bloque en el macrobloque de modo directo se calculan a partir del bloque co-localizado. El cuadro de referencia hacia delante es el usado mediante el bloque co-localizado. El cuadro de referencia hacia atrás es el mismo cuadro donde reside el bloque co-localizado.
45 Si el bloque co-localizado está en modo de cuadro y si el macrobloque de modo directo actual está en modo de campo, los dos vectores de movimiento asociados de un bloque en el macrobloque de modo directo se calculan a partir del vector de movimiento del bloque co-localizado con el componente vertical divido por dos. El campo de referencia hacia delante es el mismo campo de paridad del cuadro de referencia usado mediante el bloque colocalizado. El campo de referencia hacia atrás es el mismo campo de paridad del cuadro de referencia hacia atrás donde reside el bloque co-localizado.
Si el bloque co-localizado está en modo de campo y si el macrobloque de modo directo actual está también en modo de campo, los dos vectores de movimiento asociados de un bloque en el macrobloque de modo directo se calculan a partir del bloque co-localizado de la misma paridad de campo. El campo de referencia hacia delante es el campo
55 usado mediante el bloque co-localizado. El campo de referencia hacia atrás es el mismo campo donde reside el bloque co-localizado.
Si el bloque co-localizado está en modo de campo y si el macrobloque de modo directo actual está en modo de cuadro, los dos vectores de movimiento asociados del bloque en el macrobloque de modo directo se calculan a partir del vector de movimiento del bloque co-localizado con el componente vertical multiplicado por dos. El cuadro de referencia hacia delante es el cuadro de uno de cuyos campos se usa mediante el bloque co-localizado. El campo de referencia hacia atrás es el cuadro en uno de cuyos campos reside el bloque co-localizado.
Una opción alternativa es forzar el bloque de modo directo para que esté en el mismo modo de codificación de
65 cuadro o de campo que el bloque co-localizado. En este caso, si el bloque co-localizado para un bloque de modo directo está en modo de cuadro, el bloque de modo directo está en modo de cuadro también. Los dos vectores de
imagen7
imagen8
E10182629
25-09-2015
números de bloque 0, 2, 8 y 10 en el macrobloque de campo inferior (174), los bloques con número 5, 7, 13 y 15 respectivamente en el macrobloque de campo inferior (174) del par de macrobloques izquierdo (172) deberán considerarse como los bloques vecinos izquierdos al par de macrobloques actual (171), como se muestra en la Figura 17c.
5 Si el par de macrobloques izquierdo (172) se decodifica en modo de cuadro, entonces para los números de bloque 0, 2, 8 y 10 en el macrobloque de campo superior (173), los bloques con número 5, 7, 13 y 15 respectivamente en el macrobloque de cuadro superior (175) del par de macrobloques izquierdo (172) deberán considerarse como los bloques vecinos izquierdos al par de macrobloques actual (171), como se muestra en la Figura 17d. Para los números de bloque 0, 2, 8 y 10 en el macrobloque de campo inferior (174), los bloques con número 5, 7, 13 y 15 respectivamente en el macrobloque de cuadro inferior (176) del par de macrobloques izquierdo (172) deberán considerarse como los bloques vecinos izquierdos al par de macrobloques actual (171), como se muestra en la Figura 17d.
15 Para pares de macrobloques en el límite superior de un corte, si el par de macrobloques izquierdo (172) está en modo de decodificación de cuadro, entonces el valor de predicción de modo intra usado para predecir un macrobloque de campo deberá establecerse a predicción de DC.
Las descripciones anteriores de predicción de intra codificación y predicción de modo intra pueden ampliarse a transformaciones de bloque adaptativas.
Otra realización de la presente invención es que se realiza filtrado en bucle en los bloques reconstruidos. Un bloque reconstruido puede representarse en estructura de cuadro o de campo, independientemente del modo de codificación de cuadro/campo del bloque. El filtrado de bucle (deshacer los bloques) es un proceso de media
25 ponderada de los píxeles de los bloques vecinos. La Figura 12 se usará para explicar el filtrado en bucle. Suponiendo que E de la Figura 12 es un bloque reconstruido, y A, B, C y D son sus bloques reconstruidos vecinos, como se muestra en la Figura 12, y todos se representan en estructura de cuadro. Puesto que A, B, C, D y E pueden codificarse en cuadro o en campo, se aplican las siguientes reglas:
Regla 1: si E está codificado en cuadro, se realiza filtrado en bucle sobre los píxeles de E y sus bloques vecinos A B, C y D.
Regla 2: si E está codificado en campo, se realiza filtrado en bucle sobre los píxeles del campo superior y del campo inferior de E y sus bloques vecinos A B, C y D, por separado.
35 Otra realización de la presente invención es que se realiza relleno en el cuadro reconstruido repitiendo los píxeles de límite. Puesto que los bloques de límite pueden codificarse en modo de cuadro o de campo, se aplican las siguientes reglas:
Regla 1: los píxeles en la línea vertical izquierda o derecha de un bloque de límite se repiten, si fuera necesario.
Regla 2: si un bloque de límite está en codificación de cuadro, los píxeles en la línea superior o inferior del bloque de límite se repiten.
45 Regla 3: si un bloque de límite está en codificación de campo, los píxeles en las dos líneas horizontales superiores o inferiores (dos campos) del bloque de límite se repiten alternativamente.
Otra realización de la presente invención es que dos coeficientes de transformación bidimensional se convierten en una serie unidimensional de coeficientes antes de codificación por entropía. La trayectoria de exploración puede ser en zigzag o no en zigzag. El explorador en zigzag es preferente para secuencias progresivas, pero puede usarse también para secuencias entrelazadas con movimientos lentos. Los exploradores no en zigzag son preferentes para secuencias entrelazadas. Para codificación AFF de macrobloques, pueden usarse las siguientes opciones:
Opción 1: se usa el explorador en zigzag para macrobloques en modo de cuadro mientras que se usan exploradores 55 no en zigzag para macrobloques en codificación de campo.
Opción 2: el explorador en zigzag se usa para macrobloques en tanto modo de cuadro como de campo.
Opción 3: el explorador no en zigzag se usa para macrobloques en tanto modo de cuadro como de campo.
La descripción anterior se ha presentado únicamente para ilustrar y describir realizaciones de la invención. No pretende ser exhaustiva o limitar la invención a ninguna forma precisa desvelada. Son posibles muchas modificaciones y variaciones a la luz de las anteriores enseñanzas.
65 Un método para codificar o decodificar contenido de vídeo digital, comprendiendo dicho contenido de vídeo digital un flujo de instantáneas que puede ser cada una de intra instantáneas, instantáneas predichas o bi-predichas,
imagen9

Claims (1)

  1. imagen1
    imagen2
ES10182629.5T 2001-11-21 2002-11-21 Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital Expired - Lifetime ES2548385T3 (es)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US33300401P 2001-11-21 2001-11-21
US333004P 2001-11-21
US33392101P 2001-11-27 2001-11-27
US333921P 2001-11-27
US39573402P 2002-07-12 2002-07-12
US395734P 2002-07-12
US39816102P 2002-07-23 2002-07-23
US398161P 2002-07-23
US301290 2002-11-20
US10/301,290 US6980596B2 (en) 2001-11-27 2002-11-20 Macroblock level adaptive frame/field coding for digital video content

Publications (1)

Publication Number Publication Date
ES2548385T3 true ES2548385T3 (es) 2015-10-16

Family

ID=27540869

Family Applications (5)

Application Number Title Priority Date Filing Date
ES10182629.5T Expired - Lifetime ES2548385T3 (es) 2001-11-21 2002-11-21 Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital
ES10182624.6T Expired - Lifetime ES2548384T3 (es) 2001-11-21 2002-11-21 Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital
ES10182654.3T Expired - Lifetime ES2545394T3 (es) 2001-11-21 2002-11-21 Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital
ES02804054.1T Expired - Lifetime ES2545177T3 (es) 2001-11-21 2002-11-21 Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital
ES10182726.9T Expired - Lifetime ES2545213T3 (es) 2001-11-21 2002-11-21 Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital

Family Applications After (4)

Application Number Title Priority Date Filing Date
ES10182624.6T Expired - Lifetime ES2548384T3 (es) 2001-11-21 2002-11-21 Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital
ES10182654.3T Expired - Lifetime ES2545394T3 (es) 2001-11-21 2002-11-21 Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital
ES02804054.1T Expired - Lifetime ES2545177T3 (es) 2001-11-21 2002-11-21 Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital
ES10182726.9T Expired - Lifetime ES2545213T3 (es) 2001-11-21 2002-11-21 Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital

Country Status (10)

Country Link
EP (1) EP1449385B1 (es)
JP (9) JP2005510985A (es)
KR (1) KR101033398B1 (es)
AU (1) AU2002365338A1 (es)
CA (1) CA2468087C (es)
DK (1) DK1449385T3 (es)
ES (5) ES2548385T3 (es)
MX (1) MXPA04004724A (es)
PT (5) PT1449385E (es)
WO (1) WO2003047272A2 (es)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5914671A (en) 1997-02-27 1999-06-22 Micron Communications, Inc. System and method for locating individuals and equipment, airline reservation system, communication system
EP2271110B1 (en) 2001-11-06 2016-09-21 Panasonic Intellectual Property Corporation of America Moving picture coding method and moving picture decoding method
WO2003053066A1 (en) 2001-12-17 2003-06-26 Microsoft Corporation Skip macroblock coding
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
JP2004088722A (ja) 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
EP3525467B1 (en) * 2002-04-19 2021-02-24 Panasonic Intellectual Property Corporation of America Bitstream decoding method and apparatus
PT3525465T (pt) 2002-04-19 2021-05-10 Panasonic Ip Corp America Método e aparelho de descodificação de imagens
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
KR100693669B1 (ko) * 2003-03-03 2007-03-09 엘지전자 주식회사 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법
CN100594730C (zh) * 2003-06-25 2010-03-17 汤姆森许可贸易公司 帧间的快速模式确定编码方法及其装置
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
WO2005011286A1 (ja) * 2003-07-24 2005-02-03 Matsushita Electric Industrial Co., Ltd. 符号化モード決定装置、画像符号化装置、符号化モード決定方法、および符号化モード決定プログラム
MXPA06002210A (es) 2003-08-26 2006-05-19 Thomson Licensing Metodo y aparato para la decodificacion de bloques intra-inter codificados hibridos.
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7599438B2 (en) * 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US8085846B2 (en) 2004-08-24 2011-12-27 Thomson Licensing Method and apparatus for decoding hybrid intra-inter coded blocks
KR100679031B1 (ko) * 2004-12-03 2007-02-05 삼성전자주식회사 다 계층 기반의 비디오 인코딩 방법, 디코딩 방법 및 상기방법을 이용한 장치
KR100667806B1 (ko) * 2005-07-07 2007-01-12 삼성전자주식회사 영상 부호화 및 복호화 방법 및 장치
US9077960B2 (en) 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
KR100727972B1 (ko) * 2005-09-06 2007-06-14 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
KR100750128B1 (ko) 2005-09-06 2007-08-21 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
FR2894423A1 (fr) 2005-12-05 2007-06-08 Thomson Licensing Sas Procede de prediction de donnees mouvement et de texture
FR2897213A1 (fr) * 2006-02-08 2007-08-10 Thomson Licensing Sas Procede de codage par blocs d'images d'une sequence d'images video
JP4789719B2 (ja) * 2006-07-06 2011-10-12 キヤノン株式会社 動きベクトル検出装置、動きベクトル検出方法、コンピュータプログラム及び記憶媒体
JP4763549B2 (ja) * 2006-08-18 2011-08-31 富士通セミコンダクター株式会社 フレーム間予測処理装置、画像符号化装置、及び画像復号化装置
KR101365574B1 (ko) * 2007-01-29 2014-02-20 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
JP4786612B2 (ja) * 2007-08-14 2011-10-05 Kddi株式会社 動画像符号化装置の予測動きベクトル生成装置
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
KR101522850B1 (ko) * 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
JP5341786B2 (ja) * 2010-01-20 2013-11-13 株式会社メガチップス 画像符号化装置及び画像変換装置
KR20110113561A (ko) 2010-04-09 2011-10-17 한국전자통신연구원 적응적인 필터를 이용한 인트라 예측 부호화/복호화 방법 및 그 장치
US8923395B2 (en) 2010-10-01 2014-12-30 Qualcomm Incorporated Video coding using intra-prediction
JP7145822B2 (ja) * 2019-07-18 2022-10-03 ヤフー株式会社 情報提供装置、情報提供方法、および情報提供プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3125145B2 (ja) * 1990-08-29 2001-01-15 日立電子株式会社 画像データの高能率符号化方法及びその装置
DE4113505A1 (de) 1991-04-25 1992-10-29 Thomson Brandt Gmbh Verfahren zur bildsignalcodierung
US6226327B1 (en) * 1992-06-29 2001-05-01 Sony Corporation Video coding method and apparatus which select between frame-based and field-based predictive modes
WO1994022269A1 (en) * 1993-03-24 1994-09-29 Sony Corporation Method and apparatus for coding/decoding motion vector, and method and apparatus for coding/decoding image signal
US5974184A (en) * 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
JP3559419B2 (ja) * 1997-03-18 2004-09-02 松下電器産業株式会社 画像圧縮データの伸張方法及び装置
JP2001251627A (ja) * 2000-03-03 2001-09-14 Matsushita Electric Ind Co Ltd 符号化装置、符号化方法及びプログラムを記録した記録媒体
FR2806570B1 (fr) * 2000-03-15 2002-05-17 Thomson Multimedia Sa Procede et dispositif de codage d'images video

Also Published As

Publication number Publication date
JP2012105348A (ja) 2012-05-31
ES2545177T3 (es) 2015-09-09
JP2016106504A (ja) 2016-06-16
WO2003047272A2 (en) 2003-06-05
ES2545213T3 (es) 2015-09-09
JP2016136765A (ja) 2016-07-28
JP2008295111A (ja) 2008-12-04
PT2268040E (pt) 2015-10-15
ES2548384T3 (es) 2015-10-16
JP2018139452A (ja) 2018-09-06
MXPA04004724A (es) 2004-07-30
JP5320254B2 (ja) 2013-10-23
EP1449385B1 (en) 2015-07-22
CA2468087A1 (en) 2003-06-05
JP2015062314A (ja) 2015-04-02
JP6507114B2 (ja) 2019-04-24
ES2545394T3 (es) 2015-09-10
JP6681758B2 (ja) 2020-04-15
EP1449385A2 (en) 2004-08-25
WO2003047272A3 (en) 2004-01-08
JP5697614B2 (ja) 2015-04-08
CA2468087C (en) 2013-06-25
PT2268039E (pt) 2015-10-26
JP2016123131A (ja) 2016-07-07
KR101033398B1 (ko) 2011-05-09
DK1449385T3 (en) 2015-10-19
AU2002365338A1 (en) 2003-06-10
PT2285121E (pt) 2015-10-27
JP2010022058A (ja) 2010-01-28
KR20040070176A (ko) 2004-08-06
PT1449385E (pt) 2015-10-15
JP2005510985A (ja) 2005-04-21
PT2271115E (pt) 2015-10-15

Similar Documents

Publication Publication Date Title
ES2548385T3 (es) Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital
ES2737843B2 (es) Metodo y aparato para procesar una senal de video
US10499053B2 (en) Method of improved directional intra prediction for video coding
ES2934221T3 (es) Método de intrapredicción y aparato que utiliza el método
ES2705355B1 (es) Método para inducir un bloque candidato de fusión y dispositivo que usa el mismo
ES2670327T3 (es) Procedimiento de restablecimiento de un modo de intra predicción
JP4956556B2 (ja) イントラ予測モードを使用した画像符号化方法
ES2699725B2 (es) Metodo y aparato para procesar senal de video
US20120106622A1 (en) Method and Apparatus of Slice Grouping for High Efficiency Video Coding
ES2715613T3 (es) Método para fijar una lista de vectores de movimiento
ES2737874A2 (es) Metodo y aparato para procesar senal de video
ES2781556T3 (es) Dispositivo de codificación por predicción de vídeo, método de codificación por predicción de vídeo, dispositivo de descodificación por predicción de vídeo y método de descodificación por predicción de vídeo
ES2719132A2 (es) Procedimiento y dispositivo para procesar señales de vídeo
US10104396B2 (en) Encoder circuit and encoding method
RU93039976A (ru) Способ генерирования данных изображения
CN117981301A (zh) 帧内预测的方法、编码器、解码器和编解码系统
JP2016092489A (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム