ES2623298T3 - Filtrado de vídeo de post-procesamiento controlado por flujo de bits - Google Patents

Filtrado de vídeo de post-procesamiento controlado por flujo de bits Download PDF

Info

Publication number
ES2623298T3
ES2623298T3 ES04019753.5T ES04019753T ES2623298T3 ES 2623298 T3 ES2623298 T3 ES 2623298T3 ES 04019753 T ES04019753 T ES 04019753T ES 2623298 T3 ES2623298 T3 ES 2623298T3
Authority
ES
Spain
Prior art keywords
post
processing
control information
filtering
video
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.)
Active
Application number
ES04019753.5T
Other languages
English (en)
Inventor
Sridhar Srinivasan
Chih-Lung Lin
Pohsiang Hsu
Thomas W. Holcomb
Ming-Chieh Lee
Jordi Ribas-Corbera
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Application granted granted Critical
Publication of ES2623298T3 publication Critical patent/ES2623298T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/124Quantisation
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/146Data rate or code amount at the encoder output
    • 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/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/16Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter for 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/162User input
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/179Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scene or a shot
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

Un procedimiento implementado por ordenador que comprende: recibir (710), en un descodificador, datos de vídeo codificados en un flujo (515) de bits así como información de control en el flujo de bits para controlar el filtrado de post-procesamiento; descodificar (720) los datos de vídeo codificados; y realizar (730) un filtrado de post-procesamiento de acuerdo con la información de control, caracterizado porque la información de control representa una selección de tipo de filtro para el filtrado de post-procesamiento y representa un máximo nivel permitido de filtrado de post-procesamiento por el descodificador, especificándose la información de control en una base de trama a trama, y realizar (730) el filtrado de post-procesamiento de acuerdo con la información de control incluye, si el descodificador no tiene suficientes ciclos de procesador disponibles para aplicar el máximo nivel permitido de filtrado de postprocesamiento, aplicar un nivel más bajo de filtrado de post-procesamiento u omitir el filtrado de post-procesamiento.

Description

5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Filtrado de video de post-procesamiento controlado por flujo de bits Campo tecnico
Se describen tecnicas y herramientas para un filtrado controlado por flujo de bits. Por ejemplo, un codificador de video proporciona una informacion de control para un filtrado de post-procesamiento, y un descodificador de video realiza un filtrado de post-procesamiento controlado por flujo de bits con un filtro de eliminacion de aparicion de anillos y/o de eliminacion de aparicion de bloques.
Antecedentes
El video digital consume grandes cantidades de capacidad de transmision y memoria. Una secuencia de video digital en bruto tfpica incluye 15 o 30 tramas por segundo. Cada trama puede incluir decenas o centenares de miles de pfxeles (que tambien se denominan pels). Cada pixel representa un elemento diminuto de la imagen. En bruto, habitualmente un ordenador representa un pixel con 24 bits. Por lo tanto, el numero de bits por segundo, o tasa de bits, de una secuencia de video digital en bruto tfpica puede ser de 5 millones de bits/segundo o mas.
La mayor parte de los ordenadores y las redes informaticas carecen de recursos para procesar un video digital en bruto. Por esta razon los ingenieros usan la compresion (que tambien se denomina codificacion) para reducir la tasa de bits del video digital. La compresion puede ser sin perdidas, en la cual no se resiente la calidad del video, pero las reducciones de la tasa de bits estan limitadas por la complejidad del video. O bien, la compresion puede ser con perdidas, en la cual se resiente la calidad del video, pero las reducciones de la tasa de bits son mas drasticas. La descompresion invierte la compresion.
En general, las tecnicas de compresion de video incluyen la compresion de intratrama y la compresion de intertrama. Las tecnicas de compresion de intratrama comprimen tramas individuales, que por lo general se denominan tramas I o tramas clave. Las tecnicas de compresion de intertrama comprimen tramas con referencia a tramas precedentes y/o subsiguientes, que por lo general se denominan tramas previstas, tramas P o tramas B.
Cada una de las Versiones 8 [“WMV8”] y 9 [“WMV9”] de Video Media de Windows de Microsoft Corporation incluye un codificador de video y un descodificador de video. Los codificadores usan una compresion de intratrama y de intertrama, y los descodificadores usan una descompresion de intratrama y de intertrama. Tambien hay varias normas internacionales para la compresion y descompresion de video, incluyendo las normas 1, 2, y 4 del Grupo de Expertos de Imagenes en Movimiento [“MPEG”, Motion Picture Experts Group] y las normas H.26x. Al igual que wMV8 y WMV9, estas normas usan una combinacion de compresion y descompresion de intratrama y de intertrama.
I. Compresion y descompresion de intratrama basada en bloques
Muchos codificadores de la tecnica anterior usan una compresion de intratrama basada en bloques. Con fines de ilustracion, supongase que un codificador divide una trama de video en bloques de 8 x 8 de pfxeles y aplica una Transformada Discreta del Coseno [“DCT”, Discrete Cosine Transform] de 8x8a los bloques individuales. La DCT convierte un bloque de 8x8 dado de pfxeles (informacion espacial) en un bloque de 8 x 8 de coeficientes de DCT (informacion de frecuencia). La propia operacion de DCT es sin perdida o casi sin perdida. El codificador cuantifica los coeficientes de DCT, dando como resultado un bloque de 8x8 de coeficientes de DCT cuantificados. La cuantificacion presenta perdida, dando como resultado una perdida de precision, si no la perdida completa de la informacion para los coeficientes. El codificador prepara entonces el bloque de 8x8 de coeficientes de DCT cuantificados para la codificacion de entropfa y realiza la codificacion de entropfa, que es una forma de compresion sin perdida.
Un descodificador correspondiente realiza un procedimiento de descodificacion correspondiente. Para un bloque dado, el descodificador realiza una descodificacion de entropfa, una cuantificacion inversa, una DCT inversa, etc., dando como resultado un bloque reconstruido. Debido a la cuantificacion, el bloque reconstruido no es identico al bloque original. De hecho, puede haber errores perceptibles dentro de los bloques reconstruidos o en las fronteras entre los bloques reconstruidos.
II. Compresion y descompresion de intertrama basada en bloques
Muchos codificadores de la tecnica anterior usan una codificacion de prediccion de movimiento compensado basada en bloques seguido por la codificacion por transformada de residuos. Con fines de ilustracion, supongase que un codificador divide una trama prevista en bloques de 8x8 de pfxeles. Grupos de cuatro bloques de luminancia de 8x8 y dos bloques de crominancia de 8x8 ubicados en el mismo sitio forman macrobloques. La estimacion de movimiento aproxima el movimiento del macrobloque en relacion con una trama de referencia, por ejemplo, una trama precedente y previamente codificada. El codificador computa un vector de movimiento para el macrobloque. En la compensacion de movimiento, el vector de movimiento se usa para computar un macrobloque de prediccion para el macrobloque usando una informacion a partir de la trama de referencia. La prediccion rara vez es perfecta,
5
10
15
20
25
30
35
40
45
50
55
por lo tanto el codificador codifica por lo general unos bloques de diferencias de p^xeles (que tambien se denominan los bloques de error o de residuos) entre la prediccion y el macrobloque original. El codificador aplica una DCT a los bloques de error, dando como resultado bloques de coeficientes. El codificador cuantifica los coeficientes de DCT, prepara los bloques de coeficientes de DCT cuantificados para la codificacion de entropfa, y realiza la codificacion de entropfa.
Un descodificador correspondiente realiza un procedimiento de descodificacion correspondiente. El descodificador realiza una descodificacion de entropfa, una cuantificacion inversa, una DCT inversa, etc., dando como resultado bloques de error reconstruidos. En una trayectoria de compensacion de movimiento separada, el descodificador computa una prediccion usando una informacion de vector de movimiento en relacion con una trama de referencia. El descodificador combina la prediccion con los bloques de error reconstruidos. Una vez mas, el video reconstruido no es identico al original correspondiente, y puede haber errores perceptibles dentro de los bloques reconstruidos o en las fronteras entre los bloques reconstruidos.
MI. Artefactos de aparicion de bloques y artefactos de aparicion de anillos
La compresion con perdida puede dar como resultado errores evidentes en el video despues de la reconstruccion. Cuanto mas pesada sea la compresion con perdida y mas alta sea la calidad del video original, mas probable es que se introduzcan errores perceptibles en el video reconstruido. Dos tipos comunes de errores son los artefactos de aparicion de bloques y los artefactos de aparicion de anillos.
Las tecnicas de compresion basada en bloques muestran beneficios tales como facilidad de implementacion, pero introduce artefactos de aparicion de bloques, los cuales son, quiza, el tipo mas comun y molesto de distorsion en el video digital hoy en dfa. Los artefactos de aparicion de bloques son unas discontinuidades visibles en torno a los bordes de bloques en el video reconstruido. La cuantificacion y el truncamiento (por ejemplo, de coeficientes de transformada procedentes de una transformada basada en bloques) dan lugar a artefactos de aparicion de bloques, en especial cuando la relacion de compresion es alta. Cuando los bloques se cuantifican de forma independiente, por ejemplo, un bloque se puede cuantificar menos o mas que un bloque adyacente. Tras la reconstruccion, esto puede dar como resultado artefactos de aparicion de bloques en la frontera entre los dos bloques. O, pueden resultar artefactos de aparicion de bloques cuando se cuantifican coeficientes de alta frecuencia, si el contenido global de los bloques difiere y los coeficientes de alta frecuencia son necesarios para reconstruir los detalles de transicion a traves de las fronteras de bloque.
Los artefactos de aparicion de anillos son causados por la cuantificacion o el truncamiento de coeficientes de transformada de alta frecuencia, ya procedan los coeficientes de transformada de una transformada basada en bloques o de una transformada basada en ondfculas. Ambas de tales transformadas representan en esencia un area de pfxeles como una suma de formas de onda regulares, en la que los coeficientes de forma de onda se cuantifican, codifican, etc. En algunos casos, las contribuciones de las formas de onda de alta frecuencia contrarrestan la distorsion que es introducida por una forma de onda de baja frecuencia. Si los coeficientes de alta frecuencia estan muy cuantificados, la distorsion se puede hacer visible como una oscilacion de tipo onda a la baja frecuencia. Por ejemplo, supongase que un area de imagen incluye contornos o bordes abruptos, y los coeficientes de alta frecuencia estan muy cuantificados. En una imagen reconstruida, la cuantificacion puede dar lugar a ondulaciones u oscilaciones en torno a los contornos o bordes abruptos.
IV. Filtrado de post-procesamiento
Los artefactos de aparicion de bloques y los artefactos de aparicion de anillos se pueden reducir usando tecnicas de eliminacion de aparicion de bloques y de eliminacion de aparicion de anillos. En general se hace referencia a estas tecnicas como tecnicas de post-procesamiento, debido a que las mismas se aplican, por lo general, despues de que se haya descodificado el video. El post-procesamiento potencia por lo general la calidad percibida del video reconstruido.
Los descodificadores de WMV8 y de WMV9 usan unos filtros especializados para reducir los artefactos de aparicion de bloques y de aparicion de anillos durante el post-procesamiento. Para mas informacion, veanse el Anexo A de la solicitud de patente provisional de EE. UU. con n.° de serie 60/341.674, presentada el 17 de diciembre de 2001 y el Anexo A de la solicitud de patente provisional de EE. UU. con n.° de serie 60/488.710, presentada el 18 de julio de 2003. De forma similar, un soporte logico que implemente varias de las normas MPEG y H.26x que se han mencionado en lo que antecede tiene filtros de eliminacion de aparicion de bloques y/o de eliminacion de aparicion de anillos. Por ejemplo, veanse (1) los filtros de eliminacion de aparicion de bloques y de eliminacion de aparicion de anillos de MPEG-4 segun se somete a prueba en el modelo de verificacion y que se describe en el Anexo F, Seccion 15.3 del borrador N2202 de la norma MPEG-4, (2) el filtro de post-procesamiento de la norma H.263+ segun se somete a prueba en el Modelo el Prueba Nearterm, y (3) el filtro de post-procesamiento de la norma H.264 JM. Ademas, numerosas publicaciones abordan tecnicas de filtrado de post-procesamiento (asf como tecnicas de pre- procesamiento correspondientes, en algunos casos). Por ejemplo, veanse (1) Kuo et al., “Adaptive Post-processor for Block Encoded Images", IEEE Trans. on Circuits and Systems for Video Technology, Vol. 5, n.° 4 (agosto de 1995), (2) O'Rourke et al., “Improved Image Decompression for Reduced Transform Coding Artifacts", IEEE Trans. on Circuits and Systems for Video Technology, Vol. 5, n.° 6, (1995), y (3) Segall et al., “Pre- and Post-Processing
5
10
15
20
25
30
35
40
45
50
55
Algorithms for Compressed Video Enhancement’’, Proc. 34th Asilomar Conf. on Signals and Systems (2000).
La figura 1 es un diagrama generalizado de filtrado de post-procesamiento de acuerdo con la tecnica anterior. Un codificador de video (110) acepta un video de origen (105), lo codifica, y produce un flujo de bits de video (115). El flujo de bits de video (115) se entrega por medio de un canal (120), por ejemplo, mediante la transmision como medios de transmision por secuencias a traves de una red. Un descodificador de video (130) recibe y descodifica el flujo de bits de video (115), produciendo un video descodificado (135). Un filtro de post-procesamiento (140) tal como un filtro de eliminacion de aparicion de anillos y/o de eliminacion de aparicion de bloques se usa sobre el video descodificado (135), produciendo un video descodificado y post-procesado (145).
En un sentido estricto, las tecnicas de filtrado de post-procesamiento no son necesarias para descodificar el flujo de bits de video (115). Los ingenieros de Codecs (COdificador / DEsCodificador) pueden decidir si aplicar tales tecnicas cuando se disena un codec. La decision puede depender, por ejemplo, de si hay disponibles ciclos de CPU para un descodificador de soporte logico, o del coste adicional para un descodificador de soporte ffsico. Debido a que las tecnicas de filtrado de post-procesamiento potencian por lo general la calidad de video de forma significativa, estas se aplican comunmente en la mayor parte de los descodificadores de video hoy en dfa. Los filtros de post- procesamiento se disenan, en ocasiones, de forma independiente de un codec de video, por lo tanto los mismos filtros de eliminacion de aparicion de bloques y de eliminacion de aparicion de anillos se pueden aplicar a diferentes codecs.
En los sistemas anteriores, el filtrado de post-procesamiento se aplica de forma automatica a la totalidad de una secuencia de video. La suposicion es que el filtrado de post-procesamiento siempre mejorara al menos la calidad de video y, por lo tanto, el filtrado de post-procesamiento siempre debena estar activo. De un sistema a otro, los filtros pueden tener diferentes intensidades de acuerdo con las capacidades del descodificador. Ademas, algunos filtros deshabilitan o cambian de forma selectiva la intensidad del filtrado dependiendo de una evaluacion de lado de descodificador del contenido del video reconstruido, pero este procesamiento adaptativo se sigue realizando de forma automatica. Hay varios problemas con estos enfoques.
En primer lugar, la suposicion de que el filtrado de post-procesamiento siempre mejora al menos la calidad de video es incorrecta. Para un video de alta calidad que se comprime sin mucha perdida, la eliminacion de aparicion de bloques y la eliminacion de aparicion de anillos de post-procesamiento pueden eliminar detalles de texturas y emborronar perceptiblemente las imagenes de video, disminuyendo en la practica la calidad. Esto tiene lugar, en ocasiones, para el video de alta definicion codificado con altas tasas de bits.
En segundo lugar, no hay informacion alguna en el flujo de bits de video que grna el filtrado de post-procesamiento. No se permite que el autor controle o adapte el filtrado de post-procesamiento mediante la introduccion de informacion en el flujo de bits de video para controlar el filtrado.
V. Filtrado en lazo
A parte del filtrado de post-procesamiento, varios sistemas de la tecnica anterior usan un filtrado en lazo. El filtrado en lazo comporta un filtrado (por ejemplo, un filtrado de eliminacion de aparicion de bloques) sobre unas tramas de referencia reconstruidas durante la compensacion de movimiento en los procedimientos de codificacion y de descodificacion (mientras que el post-procesamiento se aplica despues del procedimiento de descodificacion). Mediante la reduccion de los artefactos en las tramas de referencia, el codificador y el descodificador mejoran la calidad de la prediccion de movimiento compensado a partir de las tramas de referencia. Por ejemplo, veanse (1) la seccion 4.4 de la solicitud de patente provisional de EE. UU. con n.° de serie 60/341.674, presentada el 17 de diciembre de 2001, (2) la seccion 4.9 de la solicitud de patente provisional de EE. UU. con n.° de serie 60/488.710, presentada el 18 de julio de 2003, (3) la seccion 3.2.3 de la norma H.261 (que describe el filtrado de paso de bajos condicional de macrobloques), (4) la seccion 3.4.8 y el Anexo J de la norma H.263, y (3) las secciones relevantes de la norma H.264.
En particular, la norma H.264 permite que un autor active y desactive el filtrado en lazo, e incluso que modifique la intensidad del filtrado, de una forma de escena a escena. No obstante, la norma H.264 no permite que el autor adapte el filtrado de lazo para las regiones dentro de una trama. Ademas, la norma H.264 aplica solo un tipo de filtro en lazo.
Dada la importancia cntica de la compresion y descompresion de video para el video digital, no es sorprendente que la compresion y descompresion de video sean campos ampliamente desarrollados. Cualesquiera que sean los beneficios de las tecnicas anteriores de compresion y descompresion de video, no obstante, estas no tienen las ventajas de las tecnicas y herramientas expuestas a continuacion.
El documento US 6.249.610 B1 describe un aparato y procedimiento para codificar una imagen y un aparato y procedimiento para descodificar una imagen. En un aparato de codificacion de imagen, una seccion de reproduccion de imagenes se prepara en la ultima parte del aparato de codificacion de imagen, la deteccion del ruido que existe en una imagen reproducida y la seleccion de un filtro apropiado para corregir la imagen reproducida de acuerdo con caractensticas de ruido se llevan a cabo mediante la comparacion de la imagen de entrada y la imagen reproducida y una informacion con respecto a una imagen y una informacion con respecto a un filtro se multiplexan para
5
10
15
20
25
30
35
40
45
50
55
transmitir. Y en un aparato de descodificacion de imagen, la informacion con respecto a la imagen y la informacion con respecto al filtro se extraen a partir de las senales de entrada, una imagen se reproduce a partir de la informacion con respecto a la imagen y el filtro para el procedimiento de correccion a la imagen reproducida se conmuta de acuerdo con la informacion con respecto al filtro.
El documento GB 2 365 647 A se refiere a la obtencion de parametros para el post-procesamiento a partir de una senal codificada. En la codificacion y en la descodificacion de una senal de video, los parametros para el post- procesamiento se obtienen en la codificacion y se pasan a un descodificador que esta adaptado para recibir los mismos y realizar el post-procesamiento requerido. Por lo general, los parametros se obtienen de forma local por medio de un descodificador y un analizador y se incrustan en la senal codificada, que se pasa a un descodificador remoto.
El documento EP 0 910 219 A2 divulgo un procedimiento para reducir los requisitos de potencia de procesamiento de un descodificador de video. La tecnica que se describe permite que unos descodificadores de video de grados variables de potencia de computo descodifiquen flujos de bits con grados variables de deterioro de la calidad visual. Esta lo hace mediante la reduccion de los requisitos de potencia de procesamiento de un descodificador de video basandose tanto en los contenidos del flujo de bits como en las capacidades del descodificador. Un procedimiento que usa esta es la reduccion del procesamiento de compensacion de movimiento mediante la modificacion del uso o los valores de los vectores de movimiento, tal como mediante la desactivacion de una cierta compensacion de movimiento, o mediante la limitacion de la precision de los vectores de movimiento durante la descodificacion. Otro procedimiento es mediante la limitacion del procesamiento de coeficientes con el fin de reducir los requisitos de computo. Otro procedimiento es limitar el procesamiento de los componentes de color, y otro procedimiento es mediante la reduccion de la cantidad de filtrado que se realiza sobre las imagenes de video de salida del descodificador.
Sumario
El objeto de la invencion es la provision de un procedimiento y sistema de descodificacion mejorado.
Este objeto se soluciona por medio de la invencion segun se reivindica en las reivindicaciones independientes.
En las reivindicaciones dependientes se especifican algunas realizaciones preferidas.
En resumen, la descripcion detallada se dirige a diversas tecnicas y herramientas para un filtrado controlado por flujo de bits. Por ejemplo, un codificador de video coloca una informacion de control en un flujo de bits para un video codificado. Un descodificador de video descodifica el video codificado y, de acuerdo con la informacion de control, realiza un filtrado de post-procesamiento sobre el video descodificado. Con este tipo de control, un operador humano puede permitir el post-procesamiento en la medida en la que este potencie la calidad de video y deshabilitar de lo contrario el post-procesamiento. En un escenario, el operador controla el filtrado de post-procesamiento para evitar un emborronamiento excesivo en la reconstruccion de video de alta definicion y de alta tasa de bits.
Las diversas tecnicas y herramientas se pueden usar en combinacion o de forma independiente.
En un aspecto, un codificador de video u otra herramienta recibe y codifica unos datos de video, y emite los datos de video codificados asf como una informacion de control. La informacion de control es para controlar el filtrado de post- procesamiento de los datos de video despues de la descodificacion. El filtrado de post-procesamiento incluye la eliminacion de aparicion de bloques, la eliminacion de aparicion de anillos, y/u otros tipos de filtrado. Por lo general, un operador humano especifica una informacion de control tal como niveles de filtro (es decir, intensidades de filtro) de post-procesamiento o selecciones de tipo de filtro. De acuerdo con la invencion, la informacion de control se especifica de una forma de trama a trama. En otros ejemplos, dependiendo de la implementacion, la informacion de control se especifica para una secuencia, escena, trama, region dentro de una trama, y/o a algun otro nivel.
En otro aspecto, un descodificador de video u otra herramienta recibe unos datos de video codificados y una informacion de control, descodifica los datos de video codificados, y realiza un filtrado de post-procesamiento sobre los datos de video descodificados basandose al menos en parte en la informacion de control recibida. Una vez mas, el filtrado de post-procesamiento incluye la eliminacion de aparicion de bloques, la eliminacion de aparicion de anillos, y/u otros tipos de filtrado, y la informacion de control se especifica para una trama, y en otros ejemplos para una secuencia, escena, trama, region dentro de una trama, y/o a algun otro nivel, dependiendo de la implementacion.
Algunas caractensticas y ventajas adicionales se pondran de manifiesto por medio de la descripcion detallada subsiguiente de diferentes realizaciones que se desarrolla con referencia a los dibujos adjuntos.
Breve descripcion de los dibujos
La figura 1 es un diagrama que muestra un filtrado de post-procesamiento de acuerdo con la tecnica anterior.
La figura 2 es un diagrama de bloques de un entorno informatico adecuado.
La figura 3 es un diagrama de bloques de un sistema de codificador de video generalizado.
5
10
15
20
25
30
35
40
45
50
55
La figura 4 es un diagrama de bloques de un sistema de descodificador de v^deo generalizado.
La figura 5 es un diagrama que muestra un filtrado de post-procesamiento controlado por flujo de bits.
La figura 6 es un diagrama de flujo que muestra una tecnica para producir un flujo de bits con una informacion de control incrustada para un filtrado de post-procesamiento.
La figura 7 es un diagrama de flujo que muestra una tecnica para realizar un filtrado de post-procesamiento controlado por flujo de bits.
Descripcion detallada
La presente solicitud se refiere a tecnicas y herramientas para un filtrado de post-procesamiento controlado por flujo de bits para la eliminacion de aparicion de bloques y la eliminacion de aparicion de anillos del video reconstruido. Las tecnicas y herramientas dan control a un operador humano sobre el filtrado de post-procesamiento, de tal modo que el operador puede habilitar el post-procesamiento en la medida en la que este potencie la calidad de video y deshabilitar de lo contrario el post-procesamiento. Por ejemplo, el operador controla el filtrado de post- procesamiento para evitar un emborronamiento excesivo en la reconstruccion de video de alta definicion y de alta tasa de bits.
Entre otras cosas, la solicitud se refiere a tecnicas y herramientas para especificar una informacion de control, parametrizar una informacion de control, senalizar una informacion de control y filtrar de acuerdo con una informacion de control. Las diversas tecnicas y herramientas se pueden usar en combinacion o de forma independiente. Diferentes realizaciones implementan una o mas de las tecnicas y herramientas que se describen.
A pesar de que gran parte de la descripcion detallada se refiere directamente al filtrado de eliminacion de aparicion de bloques y de eliminacion de aparicion de anillos durante el post-procesamiento, las tecnicas y herramientas tambien se pueden aplicar en otras fases (por ejemplo, un filtrado en lazo en la codificacion y en la descodificacion) y para otros tipos de filtrado.
De forma similar, a pesar de que gran parte de la descripcion detallada se refiere a los codificadores y descodificadores de video, otro tipo de herramienta de procesamiento de video u otra herramienta puede implementar una o mas de las tecnicas para un filtrado controlado por flujo de bits.
I. Entorno informatico
La figura 2 ilustra un ejemplo generalizado de un entorno informatico apropiado (200) dentro del cual se pueden implementar las realizaciones que se describen. El entorno informatico (200) no pretende indicar limitacion alguna en cuanto al ambito de empleo o funcionalidad, en cuanto a las tecnicas y herramientas se pueden implementar en diversos entornos informaticos con fines generales o espedficos.
Con referencia a la figura 2, el entorno informatico (200) incluye al menos una unidad de procesamiento (210) y una memoria (220). En la figura 2, esta configuracion esencialmente basica (230) se incluye dentro de una lmea de puntos. La unidad de procesamiento (210) ejecuta las instrucciones ejecutables por ordenador y puede ser un procesador real o virtual. En un sistema de multiprocesamiento, multiples unidades de procesamiento ejecutan las instrucciones ejecutables por ordenador para incrementar la potencia de procesamiento. La memoria (220) puede ser una memoria volatil (por ejemplo registros, cache, RAM), una memoria no volatil (por ejemplo ROM, EEPROM, memoria flash, etc.), o alguna combinacion de las dos. La memoria (220) almacena el soporte logico (280) que implementa las tecnicas de filtrado controlado por flujo de bits para un codificador y/o descodificador.
Un entorno informatico puede tener caractensticas adicionales, Por ejemplo, el entorno informatico (200) incluye un almacenamiento (240), uno o mas dispositivos de entrada (250), uno o mas dispositivos de salida (260), y una o mas conexiones de comunicacion (270). Un mecanismo de interconexion (que no se muestra) como por ejemplo un bus, controlador o red interconecta los componentes del entorno informatico (200). Por lo general, el soporte logico (que no se muestra) del sistema operativo proporciona un entorno operativo para otro soporte logico de ejecucion dentro del entorno informatico (200), y coordine las actividades de los componentes del entorno informatico (200).
El almacenamiento (240) puede ser fijo o extrafble, e incluye discos magneticos, cintas o casetes magneticas, CD- ROM, DVD, u otro medio que pueda usarse para almacenar informacion y al que pueda accederse dentro del entorno informatico (200). El almacenamiento (240) almacena instrucciones con destino al soporte logico (280) que implementa las tecnicas de filtrado controlado por flujo de bits para un codificador y/o descodificador.
El dispositivo o dispositivos de entrada (250) pueden ser un dispositivo de entrada tactil como un teclado, raton, lapiz selector, o bola de seguimiento, un dispositivo de entrada de voz, un dispositivo de exploracion, u otro dispositivo que proporcione una entrada al entorno informatico (200). Para la codificacion de audio o video, el dispositivo o dispositivos de entrada (250) pueden ser una placa de sonido, tarjeta de video, tarjeta sintonizadora de TV o dispositivo similar que acepte una entrada de audio o video de forma analogica o digital, o un CD-ROM o CD-RW que lea las muestras de audio o video introducidas en el entorno informatico (200). El dispositivo o dispositivos de salida (260) puede (n) ser una pantalla, una impresora, un altavoz, grabadora de CD, u otro dispositivo que proporcione una salida del entorno informatico (200).
5
10
15
20
25
30
35
40
45
50
55
La conexion o conexiones de comunicacion (270) posibilitan la comunicacion sobre un medio de comunicacion con otra entidad de computacion. El medio de comunicacion traslada la informacion, por ejemplo, instrucciones ejecutables por ordenador, entrada o salida o audio o video, u otros datos en una senal de datos modulada. Una senal de datos modulada es una senal que tiene una o mas de sus caractensticas fijadas o modificadas de manera que se codifique la informacion en la senal. A modo de ejemplo, y no de limitacion, los medios de comunicacion incluyen tecnicas cableadas o inalambricas implementadas con una portadora electrica, optica, de RF, de infrarrojos o de otro tipo.
Las tecnicas y herramientas pueden describirse en el contexto general de los medios legibles por ordenador. Los medios legibles por ordenador son cualesquiera medios legibles a los que pueda accederse dentro de un entorno informatico. A modo de ejemplo, y no de limitacion, en el entorno informatico (200) los medios legibles por ordenador incluyen una memoria (220), un sistema de almacenamiento (240), unos medios de comunicacion y combinaciones de cualquiera de los expuestos.
Las tecnicas y herramientas pueden describirse en el contexto general de las instrucciones ejecutables por ordenador, como por ejemplo las incluidas en modulos de programa, que se ejecutan en un entorno informatico sobre un procesador real o virtual escogido como objetivo. En general, los modulos de programa incluyen rutinas, programas, bibliotecas, objetos, clases, componentes, estructuras de datos, etc., que llevan a cabo tareas concretas o implementan determinados tipos de datos abstractos. La funcionalidad de los modulos de programa puede combinarse o fraccionarse entre modulos de programa segun lo deseado en las diversas realizaciones. Las instrucciones ejecutables por ordenador con destino a los modulos de programa pueden ejecutarse dentro de un entorno informatico local o distribuido.
II. Codificador y descodificador de video generalizados
La figura 3 es un diagrama de bloques de un codificador de video generalizado (300) y la figura 4 es un diagrama de bloques de un descodificador de video generalizado (400).
Las relaciones que se muestran entre modulos dentro del codificador y descodificador indican el flujo de informacion principal del codificador y del descodificador; otras relaciones no se muestran por razones de sencillez. En particular, las figuras 3 y 4 normalmente no muestran informacion secundaria que indique los ajustes, modos, tablas, etc., del codificador usadas en una secuencia de video, trama/campo, macrobloque, bloque, etc. Dicha informacion secundaria es enviada dentro del flujo de bits de salida, por lo general despues de la codificacion de entropfa de la informacion secundaria. El formato del flujo de bits de salida puede ser un formato Media Video de Windows u otro formato.
El codificador (300) y el descodificador (400) estan basados en bloques y usan un formato de macrobloque de 4:2:0, incluyendo cada macrobloque 4 bloques de luminancia de 8x8 (a veces tratados como un macrobloque de 16x16) y dos bloques de crominancia de 8x8. El codificador (300) y el descodificador (400) operan sobre imagenes de video, que son tramas de video y/o campos de video. Como alternativa, el codificador (300) y el descodificador (400) estan basados en objetos, usan un macrobloque o formato de bloques diferente, o llevan a cabo operaciones sobre series de pfxeles de diferente tamano o configuracion que los bloques de 8x8 y los macrobloques de 16 x 16.
Dependiendo de la implementacion y compresion deseadas, los modulos del codificador/descodificador pueden ser sumados, omitidos, fraccionados en multiples modulos combinados con otros modulos, y/o ser sustituidos por otros modulos. En algunas realizaciones alternativas, el codificador o descodificador con modulos diferentes y/u otras configuraciones de modulos efectuan una o mas de las tecnicas que se describen.
A. Codificador de video
La figura 3 es un diagrama de bloques de un sistema general de codificacion de video (300). El sistema de codificacion (300) recibe una secuencia de imagenes de video que incluye una imagen actual (305), y produce una informacion de video comprimida (395) como salida. Realizaciones concretas de los codificadores de video por lo general emplean una variante o una version suplementaria del codificador generalizado (300).
El sistema de codificacion (300) comprime las imagenes previstas y las imagenes clave. Por razones de presentacion, la figura 3 muestra una trayectoria de las imagenes clave a lo largo del sistema de codificacion (300) y una trayectoria para las imagenes previstas hacia delante. Muchos de los componentes del sistema de codificacion (300) se usan para comprimir tanto las imagenes clave como las imagenes previstas. Las operaciones exactas llevadas a cabo por aquellos componentes pueden variar dependiendo del tipo de informacion que esta siendo comprimida.
Una imagen prevista [que tambien se denomina imagen p, imagen b de prediccion bidireccional, u otra imagen intercodificada] se representa en terminos de prediccion (o diferencia) respecto de una o mas imagenes distintas. Un residuo de prediccion es la diferencia entre lo que se previo y la imagen original. Por contra, una imagen clave [que tambien se denomina imagen I, imagen intracodificada] es comprimida sin referencia a otras imagenes.
5
10
15
20
25
30
35
40
45
50
55
60
Si la imagen actual (305) es una imagen prevista hacia delante, un estimador de movimiento (310) estima el movimiento de los cuatro bloques o de otras series de pfxeles de la imagen actual (305) con respecto a una imagen de referencia, la cual es la imagen previa reconstruida (325) almacenada en memoria intermedia en el almacen (320) de imagenes. En algunas realizaciones alternativas, la imagen de referencia es una imagen posterior o la imagen actual esta prevista de forma bidireccional. El estimador de movimiento (310) da salida como informacion secundaria la informacion de movimiento (315), como por ejemplo los vectores de movimiento. Un compensador de movimiento (330) aplica la informacion de movimiento (315) a la imagen de referencia (325) para formar una prediccion de imagen actual (335) de movimiento compensado. La prediccion rara vez es perfecta, no obstante, y la diferencia entre la imagen actual (335) de movimiento compensado y la prediccion de imagen actual (305) original es el residuo de prediccion (345). Como alternativa, un estimador de movimiento, compensador de movimiento aplica otro tipo de estimacion / compensacion de movimiento.
Un transformador de frecuencia (360) convierte la informacion de video en el dominio espacial en datos en el dominio de la frecuencia (es decir, espectrales). En las imagenes de video a base de bloques, el transformador de frecuencia (360) aplica una DCT o una variante de la DCT a bloques de los datos de pfxeles o de los datos de residuos de prediccion, produciendo bloques de coeficientes de DCT. Como alternativa, el transformador de frecuencia (360) aplica otra transformacion de frecuencia convencional, como por ejemplo una transformacion de Fourier o usa un analisis de ondfcula o de sub-banda. En algunas realizaciones, el transformador de frecuencia (360) aplica una transformacion de frecuencia de tamano 8x8, 8x4, 4x8, o de otro tamano, (por ejemplo, DCT) a los residuos de prediccion para las imagenes previstas.
Un cuantificador (370) cuantifica entonces los bloques de los coeficientes de datos espectrales con un tamano gradual que vana de una forma de imagen a imagen o de otra forma. Como alternativa, el cuantificador aplica otro tipo de cuantificacion a los coeficientes de datos espectrales, como por ejemplo, un vector no uniforme, o una cuantificacion no adaptativa, o directamente cuantifica los datos en el dominio espacial en un sistema de codificacion que no usa transformaciones de frecuencia.
Cuando, para la estimacion / compensacion de movimientos subsiguiente, se necesita una imagen actual reconstruida, un cuantificador inverso (376) lleva a cabo la cuantificacion inversa sobre los coeficientes de datos espectrales cuantificados. Un transformador de frecuencia inverso (376) lleva a continuacion a cabo la inversa de las operaciones del transformador de frecuencia (360) produciendo un residuo de prediccion reconstruido o unos datos de imagen clave reconstruida. Si la imagen actual (305) fuese una imagen clave, la imagen clave reconstruida es considerada como la imagen actual reconstruida (que no se muestra). Si la imagen actual (305) fuese una imagen prevista, el residuo de prediccion reconstruido es anadido a la prediccion de imagen actual (335) de movimiento compensado para formar la imagen actual reconstruida. El almacenamiento (320) de imagenes almacena en memoria intermedia la imagen actual reconstruida para su uso en la prediccion de la imagen siguiente. En algunas realizaciones, el codificador aplica un filtro de desbloqueo en lazo a la imagen reconstruida para alisar de manera adaptativa las discontinuidades de las fronteras de bloque en la imagen. Para un mayor detalle, veanse la solicitud de patente de EE. UU. con n.° de serie 10/322.383, presentada el 17 de diciembre de 2002, y la solicitud de patente de EE. UU. con n.° de serie 10/623.128, presentada el 18 de julio de 2003, las divulgaciones de las cuales se incorporan por la presente por referencia.
El codificador de entropfa (380) comprime la salida del cuantificador (370) asf como cierta informacion secundaria. Las tecnicas de codificacion de entropfa tfpicas incluyen la codificacion aritmetica, la codificacion diferencial, la codificacion de Huffman, la codificacion de longitud de ejecucion, la codificacion LZ, la codificacion de diccionario, y combinaciones de las expuestas. El codificador de entropfa (380) por lo general usa tecnicas de codificacion diferentes para diferentes tipos de informacion, y puede escoger entre multiples tablas de codigos dentro de una tecnica de codificacion particular.
El codificador de entropfa (380) situa la informacion de video comprimida (395) en la memoria intermedia (390). Un indicador del nivel de la memoria intermedia se realimenta hasta los modulos adaptativos de la tasa de bits. La informacion de video comprimida (395) es reducida por la memoria intermedia (390) a una tasa de bits constante o relativamente constante y almacenada para su flujo subsiguiente en esa tasa de bits. O el sistema de codificacion (300) transmite por secuencias una informacion de video comprimida a una tasa variable.
Antes o despues de la memoria intermedia (390), la informacion de video comprimida (395) puede ser codificada y canalizada para su transmision a traves de una red. La codificacion de canal puede aplicar unos datos de correccion y deteccion de errores a la informacion de video comprimida (395).
Ademas, el codificador (300) acepta una informacion de control para las operaciones de filtrado. La informacion de control puede tener su origen en un autor de contenidos u otro operador humano, y se puede proporcionar al codificador a traves de un ajuste de codificador o a traves de un control programatico por medio de una aplicacion. O, la informacion de control puede tener su origen en otra fuente tal como un modulo dentro del propio codificador (300). La informacion de control controla operaciones de filtrado tales como el filtrado de eliminacion de aparicion de bloques y/o de eliminacion de aparicion de anillos de post-procesamiento, tal como se describe en lo sucesivo. El codificador (300) emite la informacion de control a un nivel de sintaxis apropiado en la informacion de video comprimida (395).
5
10
15
20
25
30
35
40
45
50
55
B. Descodificador de video
La figura 4 es un diagrama de bloques de un sistema general de descodificacion de video (400). El sistema de descodificacion (400) recibe informacion (495) destinada a una secuencia comprimida de imagenes de v^deo y produce una salida que incluye una imagen reconstruida (405). Realizaciones concretas de descodificadores de video usan por lo general una variante o una version suplementaria del descodificador generalizado (400).
El sistema de descodificacion (400) descomprime las imagenes previstas y las imagenes clave. Por razones de presentacion, la figura 4 muestra una trayectoria de las imagenes clave a traves del sistema de descodificacion (400) y una trayectoria para las imagenes previstas hacia delante. Muchos de los componentes del sistema de descodificacion (400) se usan para descomprimir tanto las imagenes clave como las imagenes previstas. Las operaciones exactas llevadas a cabo por aquellos componentes pueden variar dependiendo del tipo de informacion que esta siendo descomprimida.
Una memoria intermedia (490) recibe la informacion (495) para la secuencia de video comprimida y convierte en disponible la informacion recibida para el descodificador de entropfa (480). La memoria intermedia (490) por lo general recibe la informacion a una tasa que es casi constante a lo largo del tiempo. Como alternativa, la memoria intermedia (490) recibe la informacion a una tasa variable. Antes o despues de la memoria intermedia (490), la informacion de video comprimida puede ser sometida a una descodificacion de canal y procesada para la deteccion y correccion de errores.
El descodificador (480) de entropfa somete a la descodificacion de entropfa los datos cuantificados sometidos a la codificacion de entropfa asf como la informacion secundaria sometida a la codificacion de entropfa, aplicando por lo general el procedimiento inverso de la codificacion de entropfa llevada a cabo en el codificador. Las tecnicas de descodificacion de entropfa incluyen la descodificacion aritmetica, la descodificacion diferencial, la descodificacion de Huffman, la descodificacion de longitud de ejecucion, la descodificacion LZ, la descodificacion de diccionario, y combinaciones de las anteriores. El descodificador de entropfa (480) frecuentemente usa tecnicas de descodificacion diferentes para diferentes tipos de informacion, y puede escoger entre multiples tablas de codigo dentro de una partfcula tecnica de descodificacion.
Si la imagen (405) que va a ser reconstruida es una imagen prevista hacia delante, un compensador de movimiento (430) aplica la informacion de movimiento (415) a una imagen de referencia (425) para formar una prediccion (435) de la imagen (405) que esta siendo reconstruida. Por ejemplo, el compensador de movimiento (430) usa un vector de movimiento de macrobloque para encontrar un macrobloque en la imagen de referencia (425). Un almacen (420) de imagenes almacena las imagenes anteriores reconstruidas para su uso como imagenes de referencia. Como alternativa, un compensador de movimiento aplica otro tipo de compensacion de movimiento. La prediccion por el compensador de movimiento (430) rara vez es perfecta, por lo tanto el descodificador (400) reconstruye tambien residuos de prediccion.
Un cuantificador inverso (470) cuantifica de manera inversa los datos descodificados de entropfa. En general, el cuantificador inverso (470) aplica una cuantificacion inversa escalar uniforme a los datos descodificados por entropfa con un tamano de escalon que vana de una forma de imagen a imagen o de otra forma. Como alternativa, el cuantificador inverso aplica otro tipo de cuantificacion inversa a los datos, por ejemplo, una cuantificacion inversa no adaptativa, vectorial, o no uniforme, o cuantifica directamente de forma inversa los datos en el dominio espacial de un sistema de descodificacion que no usa las transformaciones de frecuencia inversa.
Un transformador de frecuencia inverso (460) convierte los datos en el dominio de la frecuencia cuantificados en informacion de video en el dominio espacial. Para imagenes de video a base de bloques, el transformador de frecuencia inverso (460) aplica una DCT inversa [“IDCT”] o una variante de la IDCT a bloques de coeficientes de DCT, produciendo unos datos de pfxeles o datos de residuos de prediccion de movimiento para imagenes clave o imagenes previstas, respectivamente. Como alternativa, el transformador de frecuencia inverso (460) aplica otra transformacion de frecuencia inversa convencional, como por ejemplo una transformacion de Fourier inversa o usa una smtesis de ondfcula o de sub-banda. En algunas realizaciones, el transformador de frecuencia inverso (460) aplica una transformacion de frecuencia inversa de tamano 8x8, 8x4, 4x8, o de otro tamano, (por ejemplo, IDCT) a los residuos de prediccion para las imagenes previstas.
Cuando el descodificador necesita una imagen reconstruida para una compensacion de movimiento subsiguiente, el almacen (520) de imagenes almacena en memoria intermedia la imagen reconstruida para su uso en la compensacion de movimiento. En algunas realizaciones, el descodificador (400) aplica un filtro de desbloqueo en lazo a la imagen reconstruida para alisar de manera adaptativa las discontinuidades en las fronteras de bloque en la imagen, por ejemplo, tal como se describe en las solicitudes de patente de EE. UU. con n.° de serie 10/322.383 y 10/623.128.
El descodificador (400) realiza un filtrado de post-procesamiento tal como un filtrado de eliminacion de aparicion de bloques y/o de eliminacion de aparicion de anillos. Por ejemplo, el descodificador realiza el filtrado de post- procesamiento como en el sistema WMV8, el sistema WMV9, u otro sistema que se ha descrito en lo que antecede.
5
10
15
20
25
30
35
40
45
50
55
El descodificador (400) recibe (como parte de la informacion (495)) una informacion de control para las operaciones de filtrado. La informacion de control afecta a operaciones tales como el filtrado de eliminacion de aparicion de bloques y/o de eliminacion de aparicion de anillos de post-procesamiento, tal como se describe en lo sucesivo. El descodificador (400) recibe la informacion de control a un nivel de sintaxis apropiado y pasa la informacion a los modulos de filtrado apropiados.
MI. Filtrado de post-procesamiento controlado por flujo de bits
En algunas realizaciones, un codificador de video permite que un autor de contenidos u otro operador humano controle el nivel de filtrado de post-procesamiento para una secuencia, escena, trama o area particular dentro de una trama. El operador especifica una informacion de control, que se coloca en el flujo de bits codificado. Un descodificador realiza el filtrado de post-procesamiento de acuerdo con la informacion de control. Esto permite que el operador asegure que el post-procesamiento potencia la calidad de video cuando se usa el mismo, y que el post- procesamiento se deshabilita cuando este no es necesario. Por ejemplo, el operador controla el filtrado de post- procesamiento para evitar un emborronamiento excesivo en la reconstruccion de video de alta definicion y de alta tasa de bits.
La figura 5 es un diagrama generalizado de un sistema (500) con un filtrado de post-procesamiento controlado por flujo de bits. Los detalles de los componentes, las entradas y las salidas que se muestran en la figura 5 vanan dependiendo de la implementacion.
Un codificador de video (510) acepta un video de origen (505), lo codifica, y produce un flujo de bits de video (515). Por ejemplo, el codificador de video (510) es un codificador tal como el codificador (300) que se muestra en la figura 3. Como alternativa, el sistema (500) incluye un codificador de video (510) diferente.
Ademas de recibir el video de origen (505), el codificador (510) recibe una informacion de control de post- procesamiento (512) que tiene su origen en una entrada por parte de un autor de contenidos u otro operador humano. Por ejemplo, el autor proporciona la informacion de control de post-procesamiento (512) directamente al codificador (510) o ajusta los ajustes de codificador para el filtrado de post-procesamiento. O, alguna otra aplicacion recibe una entrada por parte del autor, y que otra aplicacion pasa la informacion de control de post-procesamiento (512) al codificador (510). Como alternativa, en lugar de que un operador humano especifique la informacion de control de post-procesamiento (512), el codificador (510) decide la informacion de control (512) de acuerdo con los parametros de codec o los resultados de la codificacion de video. Por ejemplo, el codificador (510) aumenta la intensidad de filtro a medida que aumenta la relacion de compresion que se aplica (por ejemplo, aumentar la intensidad de filtro para un tamano de escalon de cuantificacion mas grande, y viceversa; o, disminuir la intensidad de filtro para los pfxeles / bits codificados mas grandes, y viceversa).
El codificador (510) coloca la informacion de control de post-procesamiento (512) en el flujo de bits de video (515). El codificador (510) da formato a la informacion de control de post-procesamiento (512) como codigos de longitud fija (tales como 00 para el nivel 0, 01 para el nivel 1, 10 para el nivel 2, etc.). O, el codificador (510) usa una tabla de VLC / Huffman para asignar codigos (tales como 0 para el nivel 0, 10 para el nivel 1, 110 para el nivel 2, etc.), o usa algun otro tipo de codificacion de entropfa. El codificador (510) coloca la informacion de control (512) en un encabezado al nivel de sintaxis apropiado del flujo de bits de video (515). Por ejemplo, una informacion de control (512) para una imagen se coloca en un encabezado de imagen para la imagen. Para un flujo de bits de MPEG-2 o de MPEG-4, la ubicacion en el encabezado podna ser la seccion de datos privados en el encabezado de imagen.
El flujo de bits de video (515) se entrega por medio de un canal (520), por ejemplo, mediante la transmision como medios de transmision por secuencias a traves de una red. Un descodificador de video (530) recibe el flujo de bits de video (515). El descodificador (530) descodifica los datos de video codificados, produciendo un video descodificado (535). El descodificador (530) tambien recupera la informacion de control de post-procesamiento (532) (realizando cualquier descodificacion necesaria) y pasa la informacion de control (532) al filtro de post- procesamiento (540).
El filtro de post-procesamiento (540) usa la informacion de control (532) para aplicar el filtrado de post- procesamiento que se indica al video descodificado (535), produciendo un video descodificado y post-procesado (545). El filtro de post-procesamiento (540) es, por ejemplo, un filtro de eliminacion de aparicion de anillos y/o de eliminacion de aparicion de bloques.
La figura 6 muestra una tecnica (600) para producir un flujo de bits con una informacion de control incrustada para un filtrado de post-procesamiento. Un codificador tal como el codificador (300) que se muestra en la figura 3 realiza la tecnica (600).
El codificador recibe (610) un video que se va a codificar y tambien recibe (630) una informacion de control para un filtrado de post-procesamiento. El codificador codifica (620) el video y emite (640) el video codificado y la informacion de control. En una implementacion, el codificador codifica (620) el video, descodifica el video, y presenta los resultados. El autor decide entonces la intensidad de post-procesamiento apropiada, etc. para la informacion de control. El procedimiento de toma de decisiones para la intensidad de post-procesamiento y otra informacion de control puede incluir un post-procesamiento real en el codificador (a continuacion de la descodificacion de la trama
5
10
15
20
25
30
35
40
45
50
55
codificada u otra porcion del video), en el que el codificador itera a traves de, o evalua de otro modo, diferentes intensidades de post-procesamiento, etc. hasta que se alcanza una decision para la trama u otra porcion del video.
La tecnica (600) que se muestra en la figura 6 se puede repetir durante la codificacion, por ejemplo, para incrustar una informacion de control de una forma de escena a escena o de trama a trama en el flujo de bits. Mas en general, dependiendo de la implementacion, las fases de la tecnica (600) se pueden anadir, dividir en multiples fases, combinarse con otras fases, reorganizarse y/o sustituirse con fases semejantes. En particular, el sincronismo del destinatario (630) de la informacion de control puede variar dependiendo de la implementacion.
La figura 7 muestra una tecnica (700) para realizar un filtrado de post-procesamiento controlado por flujo de bits. Un descodificador tal como el descodificador (400) que se muestra en la figura 4 realiza la tecnica (700).
El descodificador recibe (710) un video codificado y una informacion de control para un filtrado de post- procesamiento. El descodificador descodifica (720) el video. El descodificador realiza (730) entonces un filtrado de post-procesamiento de acuerdo con la informacion de control. La tecnica (700) que se muestra en la figura 7 se puede repetir durante la descodificacion, por ejemplo, para recuperar y aplicar una informacion de control de una forma de trama a trama (en otros ejemplos de una forma de escena a escena). Mas en general, dependiendo de la implementacion, las fases de la tecnica (700) se pueden anadir, dividir en multiples fases, combinarse con otras fases, reorganizarse y/o sustituirse con fases semejantes.
A. Tipos de informacion de control de post-procesamiento
Hay varias posibilidades diferentes para el contenido de la informacion de control de post-procesamiento. El tipo de usos de la informacion de control depende de la implementacion. El tipo mas simple representa una decision de ACTIVAR / DESACTIVAR para un filtrado de post-procesamiento.
Otro tipo de informacion de control indica un nivel (es decir, intensidad) de post-procesamiento de eliminacion de aparicion de bloques, de eliminacion de aparicion de anillos, y/u otro filtrado. El post-procesamiento controlado por flujo de bits es particularmente util cuando la informacion de control representa el maximo nivel permitido de post- procesamiento. Por ejemplo, supongase que un nivel mas alto indica un filtrado mas intenso. Si el autor indica el nivel de post-procesamiento 3 para una trama de video dada, el descodificador puede aplicar un post-procesamiento de nivel 0, 1, 2, o 3 a la trama dada, pero no 4 o mas alto. Este enfoque proporciona una cierta flexibilidad. Si un descodificador de soporte logico no tiene suficientes ciclos de CPU disponibles para aplicar el nivel 3 para la trama, este solo puede aplicar el nivel 2, etc. Al mismo tiempo, el uso de un maximo nivel permitido logra el objetivo principal - asegurando que el video nunca sera emborronado de forma excesiva por el post-procesamiento. Un autor inteligente establece el maximo nivel permitido a 0 (es decir, sin post-procesamiento) o un nivel bajo cuando el video descodificado ya es de alta calidad, y establece un nivel mas alto cuando el video descodificado presenta mas artefactos de aparicion de bloques y de aparicion de anillos.
Como alternativa, en otros ejemplos, en lugar de maximos niveles permitidos, la informacion de control representa unos niveles exactos. Tal informacion de control especifica un nivel obligatorio de filtrado de post-procesamiento, lo que es util cuando el autor desea controlar el post-procesamiento de forma exacta. O, la informacion de control representa mmimos niveles permitidos. Esto es util cuando el autor desea garantizar que se aplica al menos un mmimo nivel de filtrado de post-procesamiento, por ejemplo, para un video de muy baja tasa de bits.
Aun otro tipo de informacion de control representa selecciones de tipo de filtro, en lugar de o ademas de informacion de nivel de filtro para un filtro o filtros particulares. Por ejemplo, el valor 0 indica sin post-procesamiento, el valor 1 indica la eliminacion de aparicion de bloques, el valor 2 indica la eliminacion de aparicion de anillos, el valor 3 indica tanto la eliminacion de aparicion de bloques como la eliminacion de aparicion de anillos, etc.
La informacion de control incluye, como alternativa, otros tipos, y/o tipos adicionales, de informacion.
B. Niveles de sintaxis para la informacion de control
De acuerdo con la invencion, la informacion de control se especifica de una forma de trama a trama. Dependiendo de la implementacion, en otros ejemplos, la informacion de control se especifica para una secuencia, de una forma de escena a escena dentro de una secuencia, de una forma de region a region, o de alguna otra forma. Esto permite que el autor revise el video reconstruido y adapte el post-procesamiento para una secuencia, escena, trama, region dada dentro de una trama, etc., dependiendo del nivel o niveles de sintaxis a los que esta habilitado el control. De forma similar, el flujo de bits incluye elementos de sintaxis para la informacion de control al nivel o niveles de sintaxis apropiados para una secuencia, escena, trama, region dentro de una trama, etc.
Para especificar una informacion de control para una region dentro de una trama, el autor puede definir un area tal como un rectangulo o una elipse, por ejemplo, y los parametros para el tamano y la ubicacion del area se colocan en el flujo de bits. Para un rectangulo, el area se puede definir mediante los lados (a, b) y la ubicacion de pixel de la esquina superior izquierda (x, y), codificarse usando codigos de longitud fija o de longitud variable. La intensidad de post-procesamiento para el area tambien se coloca en el flujo de bits. Como alternativa, se usa otra sintaxis para especificar una informacion de control para diferentes regiones dentro de una trama para un filtrado de post-
procesamiento.
IV. Ampliaciones
En una o mas realizaciones, un operador especifica una informacion de control para un filtrado en lazo para una secuencia, de una forma de escena a escena, de una forma de trama a trama, de una forma de region a region, o de 5 alguna otra forma. La informacion de control incluye niveles (es decir, intensidades) de filtros, tipos de filtros (por ejemplo, para seleccionar de entre multiples filtros disponibles), y/u otros tipos de informacion.
Habiendo descrito e ilustrado los principios de la invencion de los presentes inventores con referencia a diversas realizaciones, se ha de advertir que la disposicion y el detalle de las diversas realizaciones se pueden modificar sin apartarse de tales principios. Se ha de entender que los programas, procedimientos o procedimientos que se 10 describen en el presente documento no estan relacionados con, o limitados a, tipo concreto alguno de entorno informatico, a menos que se indique lo contrario. Diversos tipos de entornos informaticos especializados o de proposito general se pueden usar con, o llevar a cabo, operaciones de acuerdo con las ensenanzas que se describen en el presente documento. Los elementos de las realizaciones que se muestran en soporte logico se pueden implementar en soporte ffsico y viceversa.
15 En vista de las muchas posibles realizaciones a las cuales se pueden aplicar los principios de la invencion de los presentes inventores, los presentes inventores reivindican como su invencion la totalidad de las realizaciones que se puedan considerar como englobadas dentro del ambito de las reivindicaciones.

Claims (9)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    REIVINDICACIONES
    1. Un procedimiento implementado por ordenador que comprende:
    recibir (710), en un descodificador, datos de v^deo codificados en un flujo (515) de bits asf como informacion de control en el flujo de bits para controlar el filtrado de post-procesamiento; descodificar (720) los datos de video codificados; y
    realizar (730) un filtrado de post-procesamiento de acuerdo con la informacion de control, caracterizado porque
    la informacion de control representa una seleccion de tipo de filtro para el filtrado de post-procesamiento y representa un maximo nivel permitido de filtrado de post-procesamiento por el descodificador, especificandose la informacion de control en una base de trama a trama, y
    realizar (730) el filtrado de post-procesamiento de acuerdo con la informacion de control incluye, si el descodificador no tiene suficientes ciclos de procesador disponibles para aplicar el maximo nivel permitido de filtrado de post- procesamiento, aplicar un nivel mas bajo de filtrado de post-procesamiento u omitir el filtrado de post-procesamiento.
  2. 2. El procedimiento de la reivindicacion 1, en el que el filtrado de post-procesamiento incluye aplicar un filtro de eliminacion de aparicion de bloques.
  3. 3. El procedimiento de la reivindicacion 1, en el que el filtrado de post-procesamiento incluye aplicar un filtro de eliminacion de aparicion de anillos.
  4. 4. El procedimiento de la reivindicacion 1, que comprende adicionalmente descodificar por entropfa la informacion de control.
  5. 5. Un medio legible por ordenador que almacena unas instrucciones ejecutables por ordenador para dar lugar a que un sistema informatico realice el procedimiento de una de las reivindicaciones 1 a 4.
  6. 6. Un sistema de descodificador de video que comprende:
    un descodificador (530) de video para:
    recibir (710) datos de video codificados en un flujo (515) de bits asf como informacion de control en el flujo de bits para controlar el filtrado de post-procesamiento, representando la informacion de control una seleccion de tipo de filtro para el filtrado de post-procesamiento y representando un maximo nivel permitido de filtrado de post-procesamiento por el descodificador, especificandose la informacion de control enuna base de trama a trama; y
    descodificar (720) los datos de video codificados; y
    un filtro (540) de post-procesamiento para realizar (730) un filtrado de post-procesamiento de acuerdo con la informacion de control, que incluye, si el descodificador no tiene suficientes ciclos de procesador disponibles para aplicar el maximo nivel permitido de filtrado de post-procesamiento, aplicar un nivel mas bajo de filtrado de post- procesamiento u omitir el filtrado de post-procesamiento.
  7. 7. El sistema de descodificador de video de la reivindicacion 6, en el que el filtro de post-procesamiento esta dispuesto para aplicar un filtro de eliminacion de aparicion de bloques.
  8. 8. El sistema de descodificador de video de la reivindicacion 6, en el que el filtro de post-procesamiento esta dispuesto para aplicar un filtro de eliminacion de aparicion de anillos.
  9. 9. El sistema de descodificador de video de la reivindicacion 6, que esta dispuesto adicionalmente para descodificar por entropfa la informacion de control.
ES04019753.5T 2003-09-07 2004-08-19 Filtrado de vídeo de post-procesamiento controlado por flujo de bits Active ES2623298T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US50108103P 2003-09-07 2003-09-07
US501081P 2003-09-07
US10/680,072 US8625680B2 (en) 2003-09-07 2003-10-06 Bitstream-controlled post-processing filtering
US680072 2003-10-06

Publications (1)

Publication Number Publication Date
ES2623298T3 true ES2623298T3 (es) 2017-07-10

Family

ID=34139062

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04019753.5T Active ES2623298T3 (es) 2003-09-07 2004-08-19 Filtrado de vídeo de post-procesamiento controlado por flujo de bits

Country Status (6)

Country Link
US (1) US8625680B2 (es)
EP (1) EP1513349B1 (es)
JP (1) JP4633417B2 (es)
KR (1) KR100802203B1 (es)
CN (1) CN100576915C (es)
ES (1) ES2623298T3 (es)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6931063B2 (en) * 2001-03-26 2005-08-16 Sharp Laboratories Of America, Inc. Method and apparatus for controlling loop filtering or post filtering in block based motion compensationed video coding
WO2005117445A1 (en) * 2004-05-27 2005-12-08 Vividas Technologies Pty Ltd Adaptive decoding of video data
US20060015799A1 (en) * 2004-07-13 2006-01-19 Sung Chih-Ta S Proxy-based error tracking for real-time video transmission in mobile environments
US20060062311A1 (en) * 2004-09-20 2006-03-23 Sharp Laboratories Of America, Inc. Graceful degradation of loop filter for real-time video decoder
JP2008533885A (ja) * 2005-03-15 2008-08-21 ネロ アーゲー 画像データストリームを生成するための装置および方法ならびに画像データストリームを処理するための装置および方法
US8009740B2 (en) * 2005-04-08 2011-08-30 Broadcom Corporation Method and system for a parametrized multi-standard deblocking filter for video compression systems
KR100646233B1 (ko) * 2005-05-30 2006-11-23 연세대학교 산학협력단 코덱 보조정보를 이용한 동영상 화질 평가 시스템 및 방법
US8081684B2 (en) * 2005-08-19 2011-12-20 Qualcomm Incorporated Picture-in-picture processing for video telephony
US8532424B2 (en) * 2005-11-22 2013-09-10 Freescale Semiconductor, Inc. Method and system for filtering image data
JP4828950B2 (ja) 2006-01-31 2011-11-30 株式会社東芝 動画像復号装置
US8897371B2 (en) 2006-04-04 2014-11-25 Qualcomm Incorporated Video decoding in a receiver
WO2008008150A2 (en) * 2006-07-10 2008-01-17 Thomson Licensing Methods and apparatus for enhanced performance in a multi-pass video encoder
JP4229149B2 (ja) * 2006-07-13 2009-02-25 ソニー株式会社 ビデオ信号処理装置およびビデオ信号処理方法、ビデオ信号符号化装置およびビデオ信号符号化方法、並びにプログラム
JP5023662B2 (ja) * 2006-11-06 2012-09-12 ソニー株式会社 信号処理システム、信号送信装置、信号受信装置およびプログラム
PL2123051T3 (pl) 2006-12-18 2011-04-29 Koninl Philips Electronics Nv Kompresja i dekompresja obrazu
EP1944974A1 (en) * 2007-01-09 2008-07-16 Matsushita Electric Industrial Co., Ltd. Position dependent post-filter hints
JP4847890B2 (ja) 2007-02-16 2011-12-28 パナソニック株式会社 符号化方式変換装置
TWI375470B (en) * 2007-08-03 2012-10-21 Via Tech Inc Method for determining boundary strength
JP2009060541A (ja) * 2007-09-03 2009-03-19 Sharp Corp データ送信装置、データ送信方法、視聴環境制御装置、及び視聴環境制御方法
JP5012647B2 (ja) 2008-04-30 2012-08-29 ソニー株式会社 画像処理装置およびその方法、並びにプログラム
KR101452495B1 (ko) * 2008-05-09 2014-10-21 비반테 코포레이션 복원된 비디오 데이터를 위한 디링잉 필터
US20090328093A1 (en) * 2008-06-30 2009-12-31 At&T Intellectual Property I, L.P. Multimedia Content Filtering
US8249144B2 (en) * 2008-07-08 2012-08-21 Imagine Communications Ltd. Distributed transcoding
US10123050B2 (en) 2008-07-11 2018-11-06 Qualcomm Incorporated Filtering video data using a plurality of filters
US9143803B2 (en) 2009-01-15 2015-09-22 Qualcomm Incorporated Filter prediction based on activity metrics in video coding
US20100278231A1 (en) * 2009-05-04 2010-11-04 Imagine Communications Ltd. Post-decoder filtering
EP2465265B8 (en) 2009-08-12 2019-01-23 InterDigital VC Holdings, Inc. Methods and apparatus for improved intra chroma encoding and decoding
CN104935934B (zh) * 2009-10-21 2018-04-03 Sk电信有限公司 视频编码装置
JP2013517733A (ja) * 2010-01-19 2013-05-16 サムスン エレクトロニクス カンパニー リミテッド 以前ブロックの動きベクトルを現在ブロックの動きベクトルとして用いる映像符号化/復号化方法及び装置
US9351017B2 (en) 2010-01-19 2016-05-24 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding images using a motion vector of a previous block as a motion vector for the current block
US9155070B2 (en) * 2010-01-27 2015-10-06 Lg Electronics Inc. Method and apparatus for transmitting uplink data burst in wireless connection system
US20110299604A1 (en) * 2010-06-04 2011-12-08 Apple Inc. Method and apparatus for adaptive video sharpening
US8849053B2 (en) 2011-01-14 2014-09-30 Sony Corporation Parametric loop filter
KR102355509B1 (ko) 2011-02-09 2022-02-08 엘지전자 주식회사 영상 부호화 및 복호화 방법과 이를 이용한 장치
US8964852B2 (en) 2011-02-23 2015-02-24 Qualcomm Incorporated Multi-metric filtering
US9538128B2 (en) * 2011-02-28 2017-01-03 Cisco Technology, Inc. System and method for managing video processing in a network environment
KR101718953B1 (ko) 2011-10-17 2017-03-22 주식회사 케이티 영상 부호화/복호화 방법 및 그 장치
KR20130050406A (ko) 2011-11-07 2013-05-16 오수미 머지 모드에서의 움직임 정보 생성 방법
CN103118250B (zh) * 2011-11-16 2017-09-26 中兴通讯股份有限公司 一种帧内划分标志的编解码方法及装置
CN106937113B (zh) * 2011-12-05 2020-06-02 同济大学 基于混合色度采样率的图像压缩方法和装置
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
KR102215433B1 (ko) 2012-07-02 2021-02-15 엘지전자 주식회사 영상 정보 코딩 방법 및 이를 이용하는 장치
US9591302B2 (en) * 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
EP4250745A3 (en) * 2012-07-09 2023-11-15 Vid Scale, Inc. Power aware video decoding and streaming
CN103841425B (zh) * 2012-10-08 2017-04-05 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
CN102883163B (zh) 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
KR101806949B1 (ko) 2013-03-13 2017-12-08 후아웨이 테크놀러지 컴퍼니 리미티드 깊이 룩업 테이블을 코딩하는 방법
GB2548578B (en) * 2016-03-21 2020-10-07 Advanced Risc Mach Ltd Video data processing system
US10341657B2 (en) * 2017-11-14 2019-07-02 Telefonaktiebolaget Lm Ericsson (Publ) System and method for mitigating motion artifacts in a media streaming network
CN109936715B (zh) * 2017-12-19 2021-09-03 华为技术有限公司 一种mp4文件的处理方法及其相关设备
US10965866B2 (en) * 2018-03-20 2021-03-30 Panasonic Intellectual Property Management Co., Ltd. Image generation system, image display system, image generation method, and moving vehicle
EP3797514A4 (en) 2018-06-13 2021-08-04 Huawei Technologies Co., Ltd. INTRASOLUTION AND / OR ENTRY FILTER FOR VIDEO ENCODING
WO2019240629A1 (en) * 2018-06-13 2019-12-19 Huawei Technologies Co., Ltd. Intra sharpening and/or de-ringing filter for video coding based on a bitstream flag
CN111050175A (zh) * 2018-10-15 2020-04-21 华为技术有限公司 视频编码的方法和装置

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3133113B2 (ja) 1991-10-28 2001-02-05 株式会社日立製作所 圧縮動画データ伸長再生システム
JPH06249610A (ja) * 1993-02-24 1994-09-09 Hitachi Constr Mach Co Ltd 微動機構
US5684602A (en) * 1993-06-30 1997-11-04 Matsushita Graphic Communication Systems, Inc. Facsimile apparatus with coding/decoding interrupt
JPH07231449A (ja) 1994-02-21 1995-08-29 Sony Corp 画像信号符号化装置及び画像信号復号化装置
JP3283159B2 (ja) 1995-07-07 2002-05-20 日本電信電話株式会社 ソフトウェアによる画像符号化方法
US5825929A (en) 1995-10-05 1998-10-20 Microsoft Corporation Transformation block optimization method
US5787203A (en) 1996-01-19 1998-07-28 Microsoft Corporation Method and system for filtering compressed video images
US5799113A (en) 1996-01-19 1998-08-25 Microsoft Corporation Method for expanding contracted video images
US6324301B1 (en) 1996-01-24 2001-11-27 Lucent Technologies Inc. Adaptive postfilter for low bitrate visual telephony noise removal
JPH1070717A (ja) 1996-06-19 1998-03-10 Matsushita Electric Ind Co Ltd 画像符号化装置及び画像復号化装置
FI106071B (fi) 1997-03-13 2000-11-15 Nokia Mobile Phones Ltd Mukautuva suodatin
JP3339054B2 (ja) * 1997-03-28 2002-10-28 ソニー株式会社 データ符号化方法及び装置、データ復号方法及び装置、並びに記録媒体
US6281942B1 (en) 1997-08-11 2001-08-28 Microsoft Corporation Spatial and temporal filtering mechanism for digital motion video signals
JPH11122624A (ja) 1997-10-16 1999-04-30 Matsushita Electric Ind Co Ltd ビデオデコーダ処理量を低減する方法および装置
US6959220B1 (en) 1997-11-07 2005-10-25 Microsoft Corporation Digital audio signal filtering mechanism and method
US6125147A (en) * 1998-05-07 2000-09-26 Motorola, Inc. Method and apparatus for reducing breathing artifacts in compressed video
RU2154918C1 (ru) * 1998-08-01 2000-08-20 Самсунг Электроникс Ко., Лтд. Способ и устройство для цикл-фильтрации данных изображения
US6380985B1 (en) 1998-09-14 2002-04-30 Webtv Networks, Inc. Resizing and anti-flicker filtering in reduced-size video images
US6366617B1 (en) * 1998-10-09 2002-04-02 Matsushita Electric Industrial Co., Ltd. Programmable filter for removing selected user data from an MPEG-2 bit stream
US6466624B1 (en) 1998-10-28 2002-10-15 Pixonics, Llc Video decoder with bit stream based enhancements
US6473409B1 (en) 1999-02-26 2002-10-29 Microsoft Corp. Adaptive filtering system and method for adaptively canceling echoes and reducing noise in digital signals
FI117533B (fi) * 2000-01-20 2006-11-15 Nokia Corp Menetelmä digitaalisten videokuvien suodattamiseksi
US7155414B2 (en) * 2000-04-05 2006-12-26 International Business Machines Corporation License compliance verification system
GB2365647A (en) 2000-08-04 2002-02-20 Snell & Wilcox Ltd Deriving parameters for post-processing from an encoded signal
JP2002232881A (ja) 2001-01-31 2002-08-16 Toshiba Corp 動画像復号化方法及び装置
US7450641B2 (en) * 2001-09-14 2008-11-11 Sharp Laboratories Of America, Inc. Adaptive filtering based upon boundary strength
US6931063B2 (en) * 2001-03-26 2005-08-16 Sharp Laboratories Of America, Inc. Method and apparatus for controlling loop filtering or post filtering in block based motion compensationed video coding
US7206453B2 (en) 2001-05-03 2007-04-17 Microsoft Corporation Dynamic filtering for lossy compression
US6941263B2 (en) 2001-06-29 2005-09-06 Microsoft Corporation Frequency domain postfiltering for quality enhancement of coded speech
US7003174B2 (en) * 2001-07-02 2006-02-21 Corel Corporation Removal of block encoding artifacts
CN1738429A (zh) * 2001-09-12 2006-02-22 松下电器产业株式会社 图像解码方法
US6983079B2 (en) * 2001-09-20 2006-01-03 Seiko Epson Corporation Reducing blocking and ringing artifacts in low-bit-rate coding
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
EP2894856A1 (en) * 2002-01-31 2015-07-15 Samsung Electronics Co., Ltd Filtering method and apparatus for reducing block artifacts or ringing noise
US6950473B2 (en) * 2002-06-21 2005-09-27 Seiko Epson Corporation Hybrid technique for reducing blocking and ringing artifacts in low-bit-rate coding
US20030235250A1 (en) 2002-06-24 2003-12-25 Ankur Varma Video deblocking
US7792194B2 (en) * 2003-04-10 2010-09-07 Lefan Zhong MPEG artifacts post-processed filtering architecture
US7362810B2 (en) * 2003-05-13 2008-04-22 Sigmatel, Inc. Post-filter for deblocking and deringing of video data
US7848229B2 (en) 2003-05-16 2010-12-07 Siemens Enterprise Communications, Inc. System and method for virtual channel selection in IP telephony systems
EP1845729A1 (en) 2006-04-12 2007-10-17 Matsushita Electric Industrial Co., Ltd. Transmission of post-filter hints

Also Published As

Publication number Publication date
EP1513349A3 (en) 2005-08-10
EP1513349B1 (en) 2017-02-08
KR20050025928A (ko) 2005-03-14
EP1513349A2 (en) 2005-03-09
KR100802203B1 (ko) 2008-02-11
JP4633417B2 (ja) 2011-02-16
US20050053288A1 (en) 2005-03-10
US8625680B2 (en) 2014-01-07
CN100576915C (zh) 2009-12-30
JP2005086830A (ja) 2005-03-31
CN1627824A (zh) 2005-06-15

Similar Documents

Publication Publication Date Title
ES2623298T3 (es) Filtrado de vídeo de post-procesamiento controlado por flujo de bits
US8208543B2 (en) Quantization and differential coding of alpha image data
ES2275037T3 (es) Procedimiento de codificacion de video con compensacion de fundido.
JP4847890B2 (ja) 符号化方式変換装置
JP2022521515A (ja) 交差成分フィルタリングのための方法、装置、およびプログラム
JP4159400B2 (ja) ビデオ画像を処理するコンピュータ実行方法及び記録媒体
KR100578433B1 (ko) 페이딩 추정/보정
TWI737137B (zh) 視訊編碼之非線性適應性迴圈濾波方法和裝置
US11582465B2 (en) Video display preference filtering
US11743457B2 (en) Intra interpolation filter for multi-line intra prediction
WO2007111292A1 (ja) 画像符号化装置および画像復号化装置
CN113994670A (zh) 具有虚拟边界的跨分量自适应环路滤波的视频编解码方法及装置
KR20220041939A (ko) 크로마에 대한 교차 성분 적응적 루프 필터
JP7221390B2 (ja) ビデオ復号及び符号化の方法、装置並びにプログラム
Heindel et al. Low-complexity enhancement layer compression for scalable lossless video coding based on HEVC
RU2518932C2 (ru) Уменьшенное рассогласование коэффициентов усиления постоянной состовляющей (dc) и dc-утечки при обработке преобразования с перекрытием
JP2003517796A (ja) 「ムラのあるピクチャ」効果を減らす方法
JP2023515506A (ja) ビデオ・フィルタリングのための方法および装置
CN112118456A (zh) 莱斯参数选择方法、装置、计算机设备及存储介质
JP2023522703A (ja) ビデオフィルタリングのための方法および装置
JP2023518713A (ja) 映像録画のサインデータハイディング
CN106028031A (zh) 视频编码装置和方法、视频解码装置和方法
US9848209B2 (en) Adaptive error detection for MPEG-2 error concealment
KR102166337B1 (ko) 영상의 ai 부호화 방법 및 장치, 영상의 ai 복호화 방법 및 장치
US11805277B2 (en) Reducing context models for entropy coding of transform coefficients