ES2638295T3 - Procedimiento y aparato de codificación de vídeo mejorado - Google Patents

Procedimiento y aparato de codificación de vídeo mejorado Download PDF

Info

Publication number
ES2638295T3
ES2638295T3 ES10016061.3T ES10016061T ES2638295T3 ES 2638295 T3 ES2638295 T3 ES 2638295T3 ES 10016061 T ES10016061 T ES 10016061T ES 2638295 T3 ES2638295 T3 ES 2638295T3
Authority
ES
Spain
Prior art keywords
macroblock
frame
current
mode
motion vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES10016061.3T
Other languages
English (en)
Inventor
Alexandros Tourapis
Feng Wu
Shipeng Li
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 ES2638295T3 publication Critical patent/ES2638295T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/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/513Processing of motion vectors
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Un procedimiento de codificación de vídeo, comprendiendo el procedimiento: codificar un fotograma P de vídeo predictivo actual con un codificador (1202) de vídeo, para producir un vídeo (1210) codificado en un flujo de bits, en el que la codificación incluye: seleccionar un modo de macrobloque de entre varios modos de macrobloque posibles para el fotograma P actual, en el que el fotograma P actual tiene varios fotogramas de referencia, y en el que los varios modos de macrobloque incluyen: un INTRA modo en el que se intracodifica un macrobloque actual del fotograma P actual; un primer INTER modo en el que el macrobloque actual se codifica en relación con uno de los varios fotogramas de referencia usando un movimiento cero, en el que el fotograma P actual tiene un fotograma anterior entre los varios fotogramas de referencia, y en el que, de acuerdo con el primer INTER modo, el macrobloque actual se copia del fotograma anterior usando un movimiento cero; un segundo INTER modo en el que el macrobloque actual se codifica con una compensación de movimiento en relación con uno de los varios fotogramas de referencia usando la información de vector de movimiento que se codifica en el flujo de bits, en el que, de acuerdo con el segundo INTER modo, la información de vector de movimiento para el macrobloque actual se codifica en el flujo de bits como una información de vector de movimiento diferencial; un tercer INTER modo en el que el macrobloque actual se codifica con una compensación de movimiento usando el modo y la información de vector de movimiento del macrobloque colocado en el fotograma anterior, en el que si dicho macrobloque colocado también se codifica en el tercer INTER modo, se usa la información de vector de movimiento para dicho macrobloque colocado; y codificar el macrobloque actual de acuerdo con el modo de macrobloque seleccionado; y emitir, desde el codificador de vídeo, el vídeo codificado en el flujo de bits.

Description

5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Procedimiento y aparato de codificacion de v^deo mejorado Campo tecnico
Esta invencion se refiere a la codificacion de video, y mas espedficamente a procedimientos y aparatos para proporcionar tecnicas de codificacion y/o de prediccion mejorados asociados con diferentes tipos de datos de video.
Antecedentes
La motivacion para una mayor eficacia de codificacion en la codificacion de video ha llevado a la adopcion en el equipo mixto de video (JVT) (un organismo de normalizacion) de modelos y modos mas refinados y complicados que describen la informacion de movimiento para un macrobloque dado. Estos modelos y modos tienden a aprovechar mejor las ventajas de las redundancias temporales que pueden existir dentro de una secuencia de video. Vease, por ejemplo, el Grupo de expertos en codificacion de video (VCEG) de la UIT-T, “VT Coding - (ITU-T H.26L & ISO/IEC JTC1 Standard) -Working Draft Number 2 (WD-2)”, ITU-T JVT-B1118, Marzo de 2002; y/o Heiko Schwarz y Thomas Wiegand, “Tree-structured macroblock partition”, Doc. VCEG-N17, Diciembre de 2001.
En el documento WIEGAND T: “H.26L TEST MODEL LONG-TERM NUMBER 9 (TML-9) DRAFT0”, ITU-T SECTOR DE NORMALIZACION DE LAS TELECOMUNICACIONES DE LA UIT, Ginebra, CH, 21 de diciembre de 2001 (21/12/2001), paginas 1, 3-75, xP001086625, desvela la codificacion de un fotograma P predictivo actual usando un modo de codificacion de una pluralidad de modos de codificacion que incluyen un intra modo, un primer inter modo en el que el macrobloque actual se copia del bloque colocado en el fotograma anterior, y un segundo inter modo en el que el macrobloque actual esta codificado con una compensacion de movimiento en relacion con uno de una pluralidad de fotogramas de referencia usando una informacion de vector de movimiento que esta codificada en el flujo de bits, en el que, de acuerdo con el segundo inter modo, la informacion de vector de movimiento para el macrobloque actual esta codificado en el flujo de bits como una informacion de vector de movimiento diferencial. Los modelos recientes incluyen, por ejemplo, la indexacion de multiples fotogramas de los vectores de movimiento, el aumento de la precision del subpfxel, el multi-referenciamiento y el macrobloque estructurado en arbol y la asignacion de movimiento, de acuerdo con el que diferentes subareas de un macrobloque estan asignadas a diferentes informaciones de movimiento. Desafortunadamente, estos modelos tienden tambien a aumentar significativamente el porcentaje de bits necesario para la codificacion de la informacion de movimiento dentro de la secuencia. De este modo, en algunos casos los modelos tienden a reducir la eficacia de tales procedimientos de codificacion.
A pesar de que, en algunos casos, los vectores de movimiento se codifican diferencialmente frente a un predictor espacial, o incluso se omiten en el caso de movimiento cero mientras que no tienen una imagen residual para transmitir, esto no parece ser suficiente para mejorar la eficacia.
Por lo tanto, sena ventajoso reducir aun mas los bits necesarios para la codificacion de la informacion de movimiento, y por lo tanto de toda la secuencia, mientras que al mismo tiempo no afectan significativamente la calidad.
Otro problema que tambien se introduce por la adopcion de tales modelos y modos es el de determinar el mejor modo de entre todas las opciones posibles, por ejemplo, dada una tasa de bits objetivo, unos parametros de codificacion/cuantificacion, etc. En la actualidad, este problema puede resolverse parcialmente por el uso de medidas/penalizaciones de coste en funcion del modo y/o de la cuantificacion a usar, o incluso empleando tecnicas de optimizacion de tasa distorsion con el objetivo de minimizar una funcion lagrangiana.
Tales problemas y otros se vuelven aun mas significativos, sin embargo, en el caso de los fotogramas bidireccionalmente predictivos (B) donde puede predecirse un macrobloque a partir de tanto los fotogramas futuros como pasados. Esto significa esencialmente que puede necesitarse un porcentaje aun mayor de bits para la codificacion de los vectores de movimiento.
Por lo tanto, existe una necesidad de un procedimiento y aparatos mejorados para su uso en la codificacion de datos de video (por ejemplo, codificacion y/o decodificacion).
Sumario
Se proporcionan procedimientos y aparatos de codificacion de video que hacen uso de diversos modelos y/o modos para mejorar significativamente la eficacia de codificacion especialmente para secuencias de movimiento altas/complejas. Los procedimientos y aparatos se aprovechan de las correlaciones temporales y/o espaciales que pueden existir dentro de las partes de los fotogramas, por ejemplo, a nivel del macrobloque, etc. Los procedimientos y aparatos tienden a reducir significativamente la cantidad de datos necesarios para codificar una informacion de movimiento mientras que se mantiene o incluso se mejora la calidad de imagen de video.
Por lo tanto, por medio de un ejemplo, de acuerdo con ciertas implementaciones de la presente invencion, se
5
10
15
20
25
30
35
40
45
50
55
proporciona un procedimiento para su uso en la codificacion de datos de v^deo dentro de una secuencia de fotogramas de v^deo. El procedimiento incluye codificar al menos una parte de un fotograma de referencia para incluir una informacion de movimiento asociada con la parte del fotograma de referencia. El procedimiento incluye ademas definir al menos una parte de al menos un fotograma predecible que incluye unos datos de video correlacionados predictivamente con la parte del fotograma de referencia basandose en la informacion de movimiento y codificar al menos la parte del fotograma predecible sin incluir una informacion de movimiento correspondiente, pero incluyendo unos datos de identificacion de modo que identifican que la parte del fotograma predecible puede obtenerse directamente usando la informacion de movimiento asociada con la parte del fotograma de referencia.
Tambien se proporciona un aparato para su uso en la codificacion de datos de video para una secuencia de fotogramas de video en una pluralidad de fotogramas de video que incluye al menos un fotograma predecible. En este caso, por ejemplo, el aparato incluye una memoria y una logica, en el que la logica esta configurada para codificar al menos una parte de al menos un fotograma de referencia para incluir una informacion de movimiento asociada con la parte del fotograma de referencia. La logica determina tambien al menos una parte de al menos un fotograma predecible que incluye unos datos de video correlacionados de manera predictiva con la parte del fotograma de referencia basandose en la informacion de movimiento y codifica al menos la parte del fotograma predecible de tal manera que se proporcionan los datos de identificacion de modo para especificar que la parte del fotograma predecible puede obtenerse usando la informacion de movimiento asociada con la parte del fotograma de referencia.
De acuerdo con todavfa otras implementaciones a modo de ejemplo, se proporciona un procedimiento para su uso en la decodificacion de los datos de video codificados que incluye al menos un fotograma de video predecible. El procedimiento incluye determinar la informacion de movimiento asociada con al menos una parte de al menos un fotograma de referencia y almacenar en la memoria intermedia la informacion de movimiento. El procedimiento tambien incluye determinar unos datos de identificacion de modo que identifican que al menos una parte de un fotograma predecible puede obtenerse directamente usando al menos la informacion de movimiento almacenada en una memoria intermedia, y generar la parte del fotograma predecible usando la informacion de movimiento almacenada en una memoria intermedia.
Tambien se proporciona un aparato para decodificar datos de video. El aparato incluye una memoria y una logica, en el que la logica esta configurada para almacenar en la memoria intermedia la informacion de movimiento asociada con al menos una parte de al menos un fotograma de referencia, comprobar que los datos de identificacion de modo identifican que al menos una parte de un fotograma predecible puede obtenerse directamente usando al menos la informacion de movimiento almacenada en una memoria intermedia, y generar la parte del fotograma predecible usando la informacion de movimiento almacenada en una memoria intermedia .
Breve descripcion de los dibujos
La presente invencion se ilustra a modo de ejemplo y no de limitacion en las figuras de los dibujos adjuntos. Los mismos numeros se usan a lo largo de las figuras para referirse como componentes y/o caractensticas.
La figura 1 es un diagrama de bloques que representa un entorno de calculo a modo de ejemplo que es adecuado para su uso con ciertas implementaciones de la presente invencion.
La figura 2 es un diagrama de bloques que representa un dispositivo representativo a modo de ejemplo que es adecuado para su uso con ciertas implementaciones de la presente invencion.
La figura 3 es un diagrama ilustrativo que representa una tecnica de proyeccion de movimiento directo adecuada para su uso en la codificacion de fotograma B, de acuerdo con ciertas implementaciones proporcionadas a modo de ejemplo.
La figura 4 es un diagrama ilustrativo que representa unas tecnicas de codificacion P y B directa dentro de una secuencia de fotogramas de video, de acuerdo con ciertas implementaciones proporcionadas a modo de ejemplo.
La figura 5 es un diagrama ilustrativo que representa una prediccion de movimiento directo para macrobloques colocados que tienen informacion de movimiento identica, de acuerdo con ciertas implementaciones a modo de ejemplo de la presente invencion.
La figura 6 es un diagrama ilustrativo que representa una tecnica de proyeccion de movimiento directo adecuada para su uso en la codificacion de fotograma P, de acuerdo con ciertas implementaciones proporcionadas a modo de ejemplo.
La figura 7 es un diagrama ilustrativo que representa el uso de la informacion de aceleracion en la proyeccion de movimiento directo, de acuerdo con ciertas implementaciones proporcionadas a modo de ejemplo.
La figura 8 es un diagrama ilustrativo que representa una tecnica de proyeccion de pfxeles directa adecuada para
5
10
15
20
25
30
35
40
45
50
su uso en la codificacion de fotograma B, de acuerdo con ciertas implementaciones proporcionadas a modo de ejemplo.
La figura 9 es un diagrama ilustrativo que representa una tecnica de proyeccion de pfxeles directa adecuada para su uso en la codificacion de fotogramas P, de acuerdo con ciertas implementaciones proporcionadas a modo de ejemplo.
La figura 10 es un diagrama de bloques que representa un codificador de video convencional a modo de ejemplo.
La figura 11 es un diagrama de bloques que representa un decodificador de video convencional a modo de ejemplo.
La figura 12 es un diagrama de bloques que representa un codificador de video mejorado a modo de ejemplo que usa la prediccion directa, de acuerdo con ciertas implementaciones a modo de ejemplo de la presente invencion.
La figura 13 es un diagrama de bloques que representa un decodificador de video mejorado a modo de ejemplo que usa la prediccion directa, de acuerdo con ciertas implementaciones a modo de ejemplo de la presente invencion.
La figura 14 es un diagrama ilustrativo que representa una tecnica de proyeccion de pfxeles/bloques directa, de acuerdo con ciertas implementaciones proporcionadas a modo de ejemplo.
La figura 15 es un diagrama ilustrativo que representa una tecnica de proyeccion de movimiento directo adecuada para su uso en la codificacion de fotograma B, de acuerdo con ciertas implementaciones proporcionadas a modo de ejemplo.
La figura 16 es un diagrama ilustrativo que representa unas predicciones de vector de movimiento, de acuerdo con ciertas implementaciones proporcionadas a modo de ejemplo.
La figura 17 es un diagrama ilustrativo que representa unas tecnicas de codificacion entrelazadas para los fotogramas P, de acuerdo con ciertas implementaciones proporcionadas a modo de ejemplo.
La figura 18 es un diagrama ilustrativo que representa unas tecnicas de codificacion entrelazadas para los fotogramas B, de acuerdo con ciertas implementaciones proporcionadas a modo de ejemplo.
La figura 19 es un diagrama ilustrativo que representa un esquema para codificar imagenes de campo/fotograma mixtas, de acuerdo con ciertas implementaciones proporcionadas a modo de ejemplo.
Descripcion detallada
De acuerdo con ciertos aspectos de la presente invencion, se proporcionan procedimientos y aparatos para la codificacion de datos de video (por ejemplo, codificacion y/o decodificacion). Los procedimientos y aparatos pueden configurarse para mejorar la eficacia de codificacion de las tecnologfas de transmision de codificacion de video progresivo o “entrelazadas”. En ciertas implementaciones, por ejemplo, con respecto a la norma H.26L actual, los llamados “fotogramas P” se han mejorado significativamente introduciendo varios modos de macrobloque adicionales. En algunos casos, ahora puede ser necesario transmitir hasta 16 vectores de movimiento por macrobloque. Ciertos aspectos de la presente invencion proporcionan una forma de codificar estos vectores de movimiento. Por ejemplo, tal como se describe a continuacion, pueden usarse tecnicas de prediccion P directas para seleccionar los vectores de movimiento de los pfxeles colocados en el fotograma anterior.
Si bien se describen estos y otros procedimientos y aparatos a modo de ejemplo, debena tenerse en cuenta que las tecnicas de la presente invencion no se limitan a los ejemplos descritos y representados en los dibujos adjuntos, sino que tambien pueden adaptarse claramente a otros esquemas de codificacion de video similares existentes y futuros, etc.
Antes de la introduccion de tales procedimientos y aparatos a modo de ejemplo, se proporciona una introduccion en la siguiente seccion para entornos operativos a modo de ejemplo adecuados, por ejemplo, en la forma de un dispositivo informatico y otros tipos de dispositivos/aparatos.
Entornos operacionales a modo de ejemplo:
Volviendo a los dibujos, en los que los numeros de referencia similares se refieren a elementos similares, la invencion se ilustra como implementada en un entorno informatico adecuado. Aunque no se requiere, la invencion se describira en el contexto general de las instrucciones ejecutables por ordenador, tales como unos modulos de programa, que se ejecutan por un ordenador personal.
En general, los modulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, etc., que realizan tareas espedficas o implementan tipos de datos abstractos espedficos. Los expertos en la materia
5
10
15
20
25
30
35
40
45
50
55
apreciaran que la invencion puede practicarse con otras configuraciones de sistema informatico, que incluyen dispositivos portatiles, sistemas multiprocesador, electronica de consumo programable o basada en microprocesadores, PC en red, minicomputadoras, ordenadores de sistema central, dispositivos de comunicacion portatiles y similares.
La invencion tambien puede ponerse en practica en entornos informaticos distribuidos donde las tareas se realizan por dispositivos de procesamiento remoto que estan enlazados a traves de una red de comunicaciones. En un entorno informatico distribuido, los modulos de programa pueden estar localizados tanto en dispositivos de almacenamiento de memoria local como remota.
La figura 1 ilustra un ejemplo de un entorno 120 informatico adecuado en el que pueden implementarse los sistemas, aparatos y procedimientos descritos a continuacion. El entorno 120 informatico a modo de ejemplo es solo un ejemplo de un entorno informatico adecuado y no pretende sugerir ninguna limitacion en cuanto al ambito de uso o funcionalidad de los procedimientos y sistemas mejorados descritos en el presente documento. Tampoco debena interpretarse el entorno 120 informatico como si tuviera cualquier dependencia o requisito relacionado con uno cualquiera o una combinacion de componentes ilustrados en el entorno 120 informatico.
Los procedimientos y sistemas mejorados en el presente documento pueden funcionar con numerosos otros entornos o configuraciones de sistema informatico de fin general o de fin especial. Ejemplos de sistemas informaticos, entornos y/o configuraciones bien conocidos que pueden ser adecuados incluyen, pero no se limitan a, ordenadores personales, ordenadores servidores, clientes ligeros, clientes pesados, dispositivos de mano o portatiles, sistemas multiprocesador, sistemas basados en microprocesador, decodificadores, electronica de consumo programable, PC en red, minicomputadoras, ordenadores de sistema central, entornos informaticos distribuidos que incluyen cualquiera de los sistemas o dispositivos anteriores, y similares.
Como se muestra en la figura 1, el entorno 120 informatico incluye un dispositivo informatico de fin general en forma de un ordenador 130. Los componentes del ordenador 130 pueden incluir uno o mas procesadores o unidades 132 de procesamiento, una memoria 134 de sistema y un bus 136 que acopla diversos componentes de sistema incluyendo la memoria 134 de sistema al procesador 132.
El bus 136 representa uno o mas de cualquiera de varios tipos de estructuras de bus, incluyendo un bus de memoria o controlador de memoria, un bus periferico, un puerto de graficos acelerados, y un bus de procesador o local que usa cualquiera de una variedad de arquitecturas de bus. A modo de ejemplo, y no de limitacion, tales arquitecturas incluyen el bus de arquitectura estandar de la industria (ISA), el bus de arquitectura de micro canal (MCA), el bus ISA mejorado (EISA), el bus local de la asociacion de normas electronicas de video (VESA) y el bus de interconexiones de componentes perifericos (PCI) tambien conocido como bus Mezzanine.
El ordenador 130 incluye normalmente una variedad de medios legibles por ordenador. Tales medios pueden ser cualquier medio disponible que sea accesible por el ordenador 130, e incluye tanto medios volatiles como no volatiles y tanto medios removibles como no removibles.
En la figura 1, la memoria 134 de sistema incluye unos medios legibles por ordenador en la forma de memoria volatil, tal como una memoria 140 de acceso aleatorio (RAM) y/o una memoria no volatil, tal como una memoria 138 de solo lectura (ROM). Un sistema 142 basico de entrada/salida (BIOS), que contiene las rutinas basicas que ayudan a transferir informacion entre los elementos dentro del ordenador 130, tal como durante el arranque, se almacena en la ROM 138. La RAM 140 contiene normalmente unos modulos de datos y/o un programa que pueden accederse inmediatamente y/o se operan actualmente por el procesador 132.
El ordenador 130 puede incluir ademas otro medio de almacenamiento informatico extrafble/no extrafble, volatil/no volatil. Por ejemplo, la figura 1 ilustra una unidad 144 de disco duro para leer y escribir en un medio magnetico no volatil, no removible (no mostrado y normalmente llamado “disco duro”), una unidad 146 de disco magnetico para leer y escribir en un disco 148 magnetico extrafble, no volatil (por ejemplo, un “disquete”) y una unidad 150 de disco optico para leer o escribir en un disco 152 optico extrafble, no volatil tal como un CD-ROM/R/RW, un DVD- ROM/R/RW/+R/RAM u otros medios opticos. La unidad 144 de disco duro, la unidad 146 de disco magnetico y la unidad 150 de disco optico estan conectadas cada una al bus 136 por una o mas interfaces 154.
Las unidades y medios legibles por ordenador asociados proporcionan un almacenamiento no volatil de instrucciones legibles por ordenador, estructuras de datos, modulos de programa y otros datos para el ordenador 130. Aunque el entorno a modo de ejemplo descrito en el presente documento emplea un disco duro, un disco 148 magnetico extrafble y un disco 152 optico extrafble, debena apreciarse por los expertos en la materia que otros tipos de medios legibles por ordenador que pueden almacenar datos accesibles por un ordenador, tales como cintas magneticas, tarjetas de memoria flash, discos de video digitales, memorias de acceso aleatorio (RAM), memorias de solo lectura (ROM), y similares, tambien pueden usarse en el entorno operativo a modo de ejemplo.
Un numero de modulos de programa pueden almacenarse en el disco duro, el disco 148 magnetico, el disco 152 optico, la ROM 138, o la RAM 140, incluyendo, por ejemplo, un sistema 158 operativo, uno o mas programas 160 de aplicacion, otros modulos 162 de programa, y los datos 164 de programa.
5
10
15
20
25
30
35
40
45
50
55
Los procedimientos y sistemas mejorados descritos en el presente documento pueden implementarse dentro del sistema 158 operativo, uno o mas programas 160 de aplicacion, otros modulos 162 de programa, y/o los datos 164 de programa.
Un usuario puede proporcionar comandos e informacion al ordenador 130 a traves de unos dispositivos de entrada tales como el teclado 166 y el dispositivo 168 de senalizacion (tal como un “raton”). Otros dispositivos de entrada (no mostrados) pueden incluir un microfono, una palanca de mando, un controlador para juegos, una antena parabolica, un puerto serie, un escaner, una camara, etc. Estos y otros dispositivos de entrada estan conectados a la unidad 132 de procesamiento a traves de una interfaz 170 de entrada de usuario que esta acoplada al bus 136, pero pueden estar conectados por otras estructuras de interfaz y de bus, tales como un puerto paralelo, un puerto de juego o un bus serie universal (USB).
Un monitor 172 u otro tipo de dispositivo de visualizacion tambien estan conectados al bus 136 a traves de una interfaz, tal como un adaptador 174 de video. Ademas del monitor 172, los ordenadores personales incluyen normalmente otros dispositivos de salida perifericos (no mostrados), tales como altavoces e impresoras, que pueden conectarse a traves de la interfaz 175 periferica de salida.
El ordenador 130 puede funcionar en un entorno de red usando conexiones logicas a uno o mas ordenadores remotos, tal como un ordenador 182 remoto. El ordenador 182 remoto puede incluir muchos o todos los elementos y caractensticas descritas en el presente documento con respecto al ordenador 130.
Las conexiones logicas mostradas en la figura 1 son una red 177 de area local (LAN) y una red 179 de area amplia (WAN). Tales entornos de red son comunes en oficinas, redes informaticas de toda la empresa, intranets e Internet.
Cuando se usa en un entorno de red LAN, el ordenador 130 esta conectado a la LAN 177 a traves de una interfaz de red o adaptador 186. Cuando se usa en un entorno de red WAN, el ordenador normalmente incluye un modem 178 u otro medio para establecer las comunicaciones a traves de la WAN 179. El modem 178, que puede ser interno o externo, puede estar conectado al bus de sistema 136 a traves de la interfaz 170 de entrada de usuario u otro mecanismo apropiado.
En la figura 1, se representa una implementacion espedfica de una WAN a traves de Internet. En este caso, el ordenador 130 emplea el modem 178 para establecer comunicaciones con al menos un ordenador 182 remoto a traves de Internet 180.
En un entorno de red, los modulos de programa representados con respecto al ordenador 130, o partes de los mismos, pueden almacenarse en un dispositivo de almacenamiento de memoria remoto. De este modo, por ejemplo, como se representa en la figura 1, los programas 189 de aplicacion remota pueden residir en un dispositivo de memoria del ordenador 182 remoto. Se apreciara que las conexiones de red mostradas y descritas son a modo de ejemplo y pueden usarse otros medios para establecer un enlace de comunicaciones entre los ordenadores.
A continuacion, se llama la atencion sobre la figura 2, que es un diagrama de bloques que representa otro dispositivo 200 a modo de ejemplo que tambien es capaz de beneficiarse de los procedimientos y aparatos desvelados en el presente documento. El dispositivo 200 es representativo de uno cualquiera o mas dispositivos o aparatos que estan configurados operativamente para procesar video y/o cualquier tipo de datos relacionado de acuerdo con todos o parte de los procedimientos y aparatos descritos en el presente documento y sus equivalentes. De este modo, el dispositivo 200 puede adoptar la forma de un dispositivo informatico como el de la figura 1, o de alguna otra forma, tal como, por ejemplo, un dispositivo inalambrico, un dispositivo de comunicacion portatil, un asistente digital personal, un reproductor de video, un reproductor de DVD, un reproductor de CD, una maquina de karaoke, un quiosco, un proyector de video digital, un mecanismo de pantalla de video de panel plano, un decodificador, una maquina de videojuegos, etc. En este ejemplo, el dispositivo 200 incluye la logica 202 configurada para procesar datos de video, una fuente 204 de datos de video configurada para proporcionar datos de video a la logica 202 y al menos un modulo 206 de visualizacion capaz de mostrar al menos una parte de los datos de video para que los vea un usuario. La logica 202 es representativa de un hardware, firmware, software y/o cualquier combinacion de los mismos. En ciertas implementaciones, por ejemplo, la logica 202 incluye un compresor/descompresor (codec), o similar. La fuente 204 de datos de video es representativa de cualquier mecanismo que pueda proporcionar, comunicar, emitir y/o al menos almacenar momentaneamente datos de video adecuados para su procesamiento por la logica 202. La fuente de reproduccion de video se muestra ilustrativamente como que esta dentro y/o fuera del dispositivo 200. El modulo 206 de visualizacion es representativo de cualquier mecanismo que un usuario pueda ver directa o indirectamente y ver los resultados visuales de los datos de video presentados en el mismo. Adicionalmente, en ciertas implementaciones, el dispositivo 200 tambien puede incluir alguna forma o capacidad para reproducir o manejar de otra manera datos de audio asociados con los datos de video. Por lo tanto, se muestra un modulo 208 de reproduccion de audio.
Con los ejemplos de las figuras 1 y 2 en mente, y otros como los mismos, las siguientes secciones se centran en ciertos procedimientos y aparatos a modo de ejemplo que pueden practicarse al menos parcialmente usando tales entornos y tales dispositivos.
5
10
15
20
25
30
35
40
45
50
55
Prediction directa para fotogramas predictivos (P) y bidireccionalmente predictivos (B) en codification de video:
Esta section presenta un nuevo tipo de inter macrobloque altamente eficiente que puede mejorar significativamente la eficacia de codificacion especialmente para secuencias de movimiento altas/complejas. Este nuevo tipo de inter macrobloque aprovecha las correlaciones temporales y espaciales que pueden existir dentro de los fotogramas en el nivel de macrobloque, y como resultado puede reducir significativamente los bits necesarios para codificar la information de movimiento al tiempo que mantiene o incluso mejora la calidad.
Prediccion Directa
Los problemas anteriormente mencionados y/u otros se resuelven al menos parcialmente en el presente documento mediante la introduction de un "modo de prediccion directa”, en el que, en lugar de codificar la informacion de movimiento actual, los dos vectores de movimiento hacia delante y/o hacia atras se obtienen directamente de los vectores de movimiento usados en el macrobloque correlacionado del fotograma de referencia posterior.
Esto se ilustra, por ejemplo, en la figura 3, que muestra tres fotogramas de video, a saber, un fotograma 300 P, un fotograma 302 B y un fotograma 304 P, que corresponden respectivamente a los tiempos t, t+1, y t+2. En la figura 3 Tambien se ilustran unos macrobloques dentro de los fotogramas 300, 302 y 304 y una informacion de vector de movimiento (MV) a modo de ejemplo. En el presente documento, los fotogramas tienen asociadas con los mismos unas coordenadas x e y. La informacion de vector de movimiento para el fotograma 302 B se predice (en este caso, por ejemplo, interpolada) a partir de la informacion de vector de movimiento codificada para los fotogramas 300 y 304 P. La tecnica a modo de ejemplo se obtiene de la suposicion de que un objeto se mueve con velocidad constante, y por lo tanto es posible predecir su position actual dentro del fotograma 302 B sin tener que transmitir ningun vector de movimiento. Si bien esta tecnica puede reducir la tasa de flujo significativamente para una calidad dada, no siempre puede aplicarse.
Se introduce en el presente documento, de acuerdo con ciertas implementaciones proporcionadas, un nuevo tipo de inter macrobloque siempre que pueda explotar eficazmente las correlaciones espaciales y temporales que puedan existir en el nivel de macrobloque y en particular con respecto a la informacion de vector de movimiento del macrobloque. De acuerdo con este nuevo modo, es posible que un macrobloque actual pueda tener un movimiento que pueda obtenerse directamente de la informacion decodificada anteriormente (por ejemplo, una proyeccion de movimiento). Por lo tanto, como se muestra ilustrativamente en la figura 4, puede no ser necesaria la transmision de vectores de movimiento para un macrobloque, sino incluso para un fotograma entero. En este caso, se representa una secuencia 400 de fotogramas de video con flechas solidas que indican relaciones codificadas entre fotogramas y con lmeas discontinuas que indican relaciones de macrobloque predecibles. El fotograma 402 de video es un fotograma I, los fotogramas 404, 406, 410 y 412 de video son fotogramas B, y los fotogramas 408 y 414 de video
son fotogramas P. En este ejemplo, si el fotograma 408 P tiene un campo de movimiento descrito por ^406, el movimiento de los macrobloques colocados en las imagenes 404, 406 y 414 tambien esta altamente correlacionado. En particular, suponiendo que la velocidad es en general constante en todo el fotograma y que los fotogramas 404 y 406 estan igualmente separados en el tiempo entre los fotogramas 402 y 408, y considerando tambien que para los fotogramas B pueden usarse tanto vectores de movimiento hacia delante como hacia atras, los campos de
movimiento en el fotograma 404 podrfan ser iguales a MF<m = y3xMFm y MF404 --%xMF 4oe para |0S camp0S qe movimiento hacia delante y hacia atras respectivamente. Del mismo modo, para el fotograma 408 los campos de
---► fw ---► ■ bw ----»
movimiento podrfan ser MFm =%xMFao6 y MFm =-/yxMFm para |0S vectores de movimiento hacia delante y hacia atras respectivamente. Ya que 414 y 406 estan separados igualmente, entonces, usando la misma suposicion,
el macrobloque colocado podrfa tener unos vectores de movimiento =
Al igual que en el modo directo en los fotogramas B, suponiendo de nuevo que la velocidad es constante, el movimiento para un macrobloque puede obtenerse directamente del macrobloque correlacionado del fotograma de referencia. Esto se ilustra adicionalmente en la figura 6, por ejemplo, que muestra tres fotogramas de video, a saber, un fotograma 600 P, un fotograma 602 B y un fotograma 604 P, que corresponden respectivamente a los tiempos t, t+1, y t+2. En este caso, los macrobloques colocados ilustrados tienen una informacion de movimiento similar, si no identica.
Incluso es posible considerar la aceleracion para refinar dichos parametros de movimiento, por ejemplo, vease la figura 7. En este caso, por ejemplo, se muestran tres fotogramas, a saber, un fotograma 704 actual en el tiempo t, y los fotogramas 702 (tiempo t-1) y 700 (tiempo t-2) anteriores, con diferentes informaciones de aceleracion ilustradas por diferentes vectores de movimiento de longitud.
El procedimiento tambien puede mejorarse significativamente, en lugar de considerar la proyeccion de movimiento a nivel de macrobloque, teniendo en cuenta que los pfxeles en el interior de la imagen anterior se mueven posiblemente con una velocidad constante o una aceleracion constante (por ejemplo, la proyeccion de pfxeles). Como tal, puede generar una prediccion significativamente mas precisa del fotograma actual para la codificacion de fotogramas B, como se ilustra, por ejemplo, en la figura 8, y para la codificacion de fotogramas P como se ilustra, por ejemplo, en la figura 9. La figura 8 muestra, por ejemplo, tres fotogramas de video, a saber, un fotograma 800 P, un
5
10
15
20
25
30
35
40
45
50
55
fotograma 802 B y un fotograma 804 P, que corresponden respectivamente a los tiempos t, t+1, y t+2. La figura 9 muestra, por ejemplo, tres fotogramas de video, a saber, un fotograma 900 P, un fotograma 902 B y un fotograma 904 P, que corresponden respectivamente a los tiempos t, t+1, y t+2.
En ciertas implementaciones, tambien es posible combinar entre sf ambos procedimientos para un rendimiento aun mejor.
De acuerdo con ciertas implementaciones adicionales, el movimiento puede obtenerse tambien a partir de la informacion espacial, por ejemplo, usando tecnicas de prediccion empleadas para la codificacion de vectores de movimiento a partir de la informacion de movimiento de los macrobloques circundantes. Ademas, puede mejorarse tambien el rendimiento combinando estos dos procedimientos diferentes en una arquitectura de prediccion de multiples hipotesis que no necesita que se transmita la informacion de movimiento. En consecuencia, tales nuevos tipos de macrobloques pueden lograr unas reducciones significativas de la tasa de bits, al tiempo que se consigue una calidad similar o mejorada.
Procedimientos de codificacion a modo de ejemplo:
La figura 10 ilustra un entorno 1000 de codificacion a modo de ejemplo, que tiene un codificador 1002 de video convencional basado en bloques, en el que se proporcionan datos 1004 de video al codificador 1002 y se emite un flujo de bits de datos de video codificado correspondiente.
Los datos 1004 de video se proporcionan a un modulo 1006 de suma, que tambien recibe como entrada, la salida de un modulo 1022 de compensacion de movimiento (MC). La salida del modulo 1006 de suma se proporciona a un modulo 1010 de transformada de coseno discreta (DCT). La salida del modulo 1010 de DCT se proporciona como una entrada a un modulo 1012 de cuantificacion (QP). La salida del modulo 1012 de QP se proporciona como una entrada a un modulo 1014 de cuantificacion inversa (QP-1) y como una entrada a un modulo 1016 de codificacion de longitud variable (VLC). El modulo 1016 de VLC tambien recibe como una entrada, una salida de un modulo 1008 de estimacion de movimiento (ME). La salida del modulo de VLC 1016 es un flujo 1210 de bits de video codificado.
La salida del modulo 1014 de QP-1 se proporciona como una entrada a un modulo 1018 de transformada de coseno discreta (DCT). La salida de 1018 se proporciona como una entrada a un modulo 1020 de suma, que tiene como otra entrada, la salida del modulo 1022 de MC. La salida del modulo 1020 de suma se proporciona como una entrada a un modulo 1024 de filtro de bucle. La salida del modulo 1024 de filtro de bucle se proporciona como una entrada a un modulo 1026 de memoria intermedia de fotograma. Una salida del modulo 1026 de memoria intermedia de fotograma se proporciona como una entrada al modulo 1008 de ME y otra salida se proporciona como una entrada al modulo 1022 de MC. El modulo 1008 de ME tambien recibe como entrada los datos 1004 de video. Una salida del ME 1008 se prueba como una entrada para el modulo 1022 de MC.
En este ejemplo, el modulo 1022 de MC recibe unas entradas del modulo 1008 de ME. En este caso, el ME se realiza en un fotograma actual contra un fotograma de referencia. El ME puede realizarse usando diversos tamanos de bloques e intervalos de busqueda, despues de lo cual se codifica y transmite (INTER codificacion) un “mejor” parametro usando, por ejemplo algun criterio predefinido. La informacion residual tambien se codifica despues de realizar el DCT y el QP. Tambien es posible que en algunos casos el rendimiento del ME no produzca un resultado satisfactorio, y por lo tanto un macrobloque, o incluso un subbloque, podna INTRA codificarse.
Considerando que la informacion de movimiento podna ser bastante costosa, el procedimiento de codificacion puede modificarse como en la figura 12, de acuerdo con ciertas implementaciones proporcionadas, a considerar tambien en un procedimiento adicional la posibilidad de que los vectores de movimiento para un macrobloque podnan predecirse temporal y/o espacialmente a partir de la informacion de movimiento anteriormente codificada. Tales decisiones, por ejemplo, pueden realizarse usando unas tecnicas de optimizacion de tasa distorsion u otras medidas de coste. El uso de tales tecnicas/modos puede que no sea necesario para transmitir una informacion de movimiento detallada, debido a que esta puede reemplazarse con un modo de prediccion directa (P directa), por ejemplo, como se ilustra en la figura 5.
El movimiento puede modelarse, por ejemplo, en cualquiera de los siguientes modelos o sus combinaciones: (1) proyeccion de movimiento (por ejemplo, como se ilustra en la figura 3 para los fotogramas B y en la figura 6 para los fotogramas P); (2) proyeccion de pfxeles (por ejemplo, como se ilustra en la figura 8 para los fotogramas B y en la figura 9 para los fotogramas P); (3) prediccion de MV espacial (por ejemplo, valor medio de los vectores de movimiento de los macrobloques colocados); (4) Promedio ponderado de la proyeccion de movimiento y la prediccion espacial; (5) u otras tecnicas similares.
Tambien pueden usarse otros modelos de prediccion (por ejemplo, aceleracion, filtrado, etc.). Si solo se va a usar uno de estos modelos, entonces esto debena ser comun tanto en el codificador como en el decodificador. De lo contrario, pueden usarse submodos que guiaran inmediatamente el decodificador en cuanto a que modelo debena usarse. Los expertos en la materia tambien reconoceran que tambien es posible hacer multi-referencia a un bloque o macrobloque usando cualquier combinacion de los modelos anteriores.
En la figura 12, un entorno 1200 de codificacion de video mejorado incluye un codificador 1202 de video que recibe
5
10
15
20
25
30
35
40
45
50
datos 1004 de video y emite un flujo de bits de datos de video codificado correspondiente.
En este caso, se ha modificado el codificador 1202 de video para incluir la mejora 1204. La mejora 1204 incluye un modulo 1206 de memoria intermedia de vector de movimiento (MV) adicional y un modulo 1208 de decision DIRECTA. Mas espedficamente, como se muestra, el modulo 1206 de memoria intermedia de MV esta configurado para recibir como entradas, la salida del modulo 1026 de memoria intermedia de fotograma y la salida del modulo 1008 de ME. Se proporciona la salida del modulo 1206 de memoria intermedia de MV, junto con la salida del modulo 1008 de ME, como una entrada al modulo 1208 de decision DIRECTA. La salida del modulo 1208 de decision DIRECTA se proporciona a continuacion como una entrada al modulo 1022 de MC junto con la salida del modulo 1026 de memoria intermedia de fotograma.
Para que la arquitectura a modo de ejemplo trabaje con exito, la informacion de movimiento del fotograma codificado anteriormente se almacena intacta, que es el fin de anadir el modulo 1206 de memoria intermedia de MV. El modulo 1206 de memoria intermedia de MV puede usarse para almacenar vectores de movimiento. En ciertas implementaciones, el modulo 1206 de memoria intermedia de MV tambien puede almacenar la informacion sobre el fotograma de referencia usado y el modo de movimiento usado. Por ejemplo, en el caso de la aceleracion, el almacenamiento en una memoria intermedia adicional puede ser util para almacenar la informacion de movimiento del 2° o incluso los N fotogramas anteriores cuando, por ejemplo, se emplea un modelo mas complicado para la aceleracion.
Si un macrobloque, subbloque, o pixel no esta asociado con un vector de movimiento (es decir, un macrobloque esta intracodificado), entonces, se supone que para este bloque el vector de movimiento usado es (0, 0) y que solo el fotograma anterior se usa como referencia.
Si se usa la referencia de multiples fotogramas, puede seleccionarse el uso de la informacion de movimiento tal como esta, y/o para interpolar la informacion de movimiento haciendo referencia al fotograma codificado anteriormente. Esto es esencialmente para el diseno, pero tambien en la practica parece que, especialmente para el caso de los vectores de movimiento (0, 0), es menos probable que el bloque actual todavfa se referencie a partir de un fotograma mucho mas antiguo.
Puede combinarse la prediccion directa con un conjunto adicional de informacion de movimiento que esta, a diferencia de antes, codificado como parte de la prediccion directa. En tal caso, la prediccion puede, por ejemplo, ser una prediccion de multiples hipotesis tanto de la prediccion directa como de la informacion de movimiento.
Ya que hay varios sub-modos de prediccion directa posibles que pueden combinarse, podnan combinarse tambien dentro de un marco de trabajo de multiples hipotesis. Por ejemplo, la prediccion de la proyeccion de movimiento podna combinarse con la de la proyeccion de pfxeles y/o la prediccion de MV espacial.
La prediccion directa tambien puede usarse en el nivel de subbloque dentro de un macrobloque. Esto se hace ya para fotogramas B en el interior del codec H.26L actual, pero actualmente solo se esta usando la proyeccion de movimiento y no la proyeccion de pfxeles o sus combinaciones.
Para la codificacion de fotograma B, puede realizarse una prediccion directa de una sola direccion (hacia adelante o hacia atras) y no siempre necesariamente de ambos lados. Tambien puede usarse la prediccion directa en el modo bidireccional de los fotogramas B, donde una de las predicciones usa la prediccion directa.
Por ejemplo, en el caso de imagenes de multiples hipotesis, es posible que un fotograma P haga referencia a un fotograma futuro. En este caso, la escala adecuada, y/o la inversion de la informacion de movimiento puede realizarse de manera similar a la interpolacion de movimiento similar del fotograma B.
Por ejemplo, la codificacion de longitud de ejecucion, puede usarse tambien de acuerdo con que, si se usan unos modos P directos “equivalentes” posteriores en la codificacion de un fotograma o diapositiva, entonces estos pueden codificarse usando una representacion de longitud de ejecucion.
El modulo 1208 de decision DIRECTA realiza esencialmente la decision de si el modo de prediccion directa debena usarse en lugar de los inter o intra modos preexistentes. A modo de ejemplo, la decision puede basarse en los criterios de optimizacion de tasa distorsion mixta, y/o tambien en los requisitos o restricciones de tasa de bits o de distorsion por separado.
Tambien es posible, en implementaciones alternativas, que el modulo 1208 de prediccion directa preceda al modulo 1008 de ME. En tal caso, si puede proporcionarse la prediccion directa inmediatamente con una buena estimacion suficiente, basandose en algunas condiciones predefinidas, para los parametros de movimiento, el modulo 1008 de ME podna pasarse por alto completamente, por lo que tambien reduce considerablemente el calculo de la codificacion.
Procedimientos de decodificacion a modo de ejemplo:
Se hace referencia ahora a la figura 11, que representa un entorno 1100 de decodificacion convencional a modo de
5
10
15
20
25
30
35
40
45
50
55
ejemplo que tiene un decodificador 1102 de v^deo que recibe un flujo 1104 de bits de datos de video codificado y unas salidas (decodificadas) que corresponden a los datos 1120 de video.
El flujo 1104 de bits de datos de video codificado se proporciona como una entrada a un modulo 1106 de decodificacion de longitud variable (VLD). La salida del modulo 1106 de VLD se proporciona como una entrada a un modulo 1108 de QP-1, y como una entrada a un modulo 1110 de MC. La salida del modulo 1108 de QP-1 se proporciona como una entrada a un modulo 1112 de IDCT. La salida del modulo 1112 de IDCT se proporciona como una entrada a un modulo 1114 de suma, que tambien recibe como una entrada la salida del modulo 1110 de MC. La salida del modulo 1114 de suma se proporciona como una entrada a un modulo 1116 de filtro de bucle. La salida del modulo 1116 de filtro de bucle se proporciona a un modulo 1118 de memoria intermedia de fotograma. Una salida del modulo 1118 de memoria intermedia de fotograma se proporciona como una entrada al modulo 1110 de MC. El modulo 1118 de memoria intermedia de fotograma emite tambien los datos 1120 de video (decodificados).
Un decodificador 1302 mejorado a modo de ejemplo para su uso en un entorno 1300 de prediccion directa incluye, ademas, una mejora 1306. En este caso, como se muestra en la figura 13, el decodificador 1302 mejorado recibe un flujo 1210 de bits de datos de video codificado, por ejemplo, como salida del codificador 1202 de video mejorado de la figura 12, y emite los datos 1304 de video correspondientes (decodificados).
La mejora 1306, en este ejemplo, se inserta operativamente entre el modulo 1110 de MC y un modulo 1106' de VLD. La mejora 1306 incluye un modulo 1308 de memoria intermedia de MV que recibe como una entrada, una salida del modulo 1106' de VLD. La salida del modulo 1308 de memoria intermedia de MV se proporciona como una entrada seleccionable a un modulo 1312 de seleccion de la mejora 1306. Un modulo 1310 de modo de bloque se proporciona tambien en la mejora de 1306. El modulo 1310 de modo de bloque recibe como una entrada, una salida del modulo 1106' de VLD. Una salida del modulo 1310 de modo de bloque se proporciona como una entrada al modulo 1106' de VLD, y tambien como una entrada de control al modulo 1312 de seleccion. Una salida del modulo 1106' de VLD se proporciona como una entrada seleccionable al modulo 1312 de seleccion. El modulo 1312 de seleccion esta configurado para proporcionar selectivamente o una salida del modulo 1308 de memoria intermedia de MV o del modulo 1106' de VlD como una entrada del modulo 1110 de MC.
Por ejemplo, con la mejora 1306 puede almacenarse la informacion de movimiento para cada pixel, y si el modo de un macrobloque se identifica como el modo de prediccion directo, entonces se seleccionan y se usan la informacion de movimiento almacenada y el procedimiento de proyeccion o de prediccion apropiado. Debena observarse que si solo se usa la proyeccion de movimiento, entonces los cambios en un decodificador existente son menores, y la complejidad adicional que se anade en el decodificador podna considerarse insignificante.
Si se usan submodos, entonces un decodificador 1302 mejorado puede, por ejemplo, configurarse para realizar las etapas opuestas a las etapas de prediccion que realiza el codificador 1202 mejorado, con el fin de decodificar correctamente el macrobloque actual.
Una vez mas los pfxeles no referenciados (tales como los intra bloques) pueden considerarse como que tienen un movimiento cero para el almacenamiento de movimiento.
Algunos esquemas a modo de ejemplo
Teniendo en cuenta que existen varios predictores posibles que pueden usarse inmediatamente con la prediccion directa, para fines de brevedad en esta descripcion un subconjunto mas pequeno de casos, que no solo son mas bien eficientes, sino que tambien son mas faciles de implementar, se describen con mayor detalle. En particular, los siguientes modelos se examinan con mayor detalle demostrativo:
(A) En este ejemplo, el movimiento de proyeccion es el unico modo usado. No se usa la codificacion de longitud de ejecucion de los modos directos, donde se transmite tambien como informacion residual. Se realiza una modificacion especial de los parametros de movimiento en el caso de que se use un vector de movimiento cero. En tal situacion, el fotograma de referencia para la prediccion directa se establece siempre en cero (por ejemplo, el fotograma codificado anterior). Ademas, los bloques intracodificados se consideran como que tienen unos parametros de fotograma de movimiento y de referencia cero.
(B) Este ejemplo es como el ejemplo (A) excepto que no se transmite ningun residuo.
(C) Este ejemplo es basicamente una combinacion de los ejemplos (A) y (B), en que si QP < n (por ejemplo, n = 24) entonces el residuo se codifica tambien, de lo contrario el residuo no se transmite.
(D) Este ejemplo es un esquema de prediccion directa mejorado que combina tres submodos, a saber:
(1) Proyeccion de movimiento p!\

(2) Prediccion de MV espacial y
(3) Una media ponderada de estos dos casos
\mV»p +2*MVsp]

3 ‘

V /
5
10
15
20
25
30
35
40
45
En la que, el residuo no se transmite para QP < n (por ejemplo, n = 24). En este caso, no se usa la codificacion de longitud de ejecucion. La particion de los submodos puede establecerse de la siguiente manera:
Submodos_______________Codigo
Predictor espacial 0
Movimiento de proyeccion 1 Promedio Ponderado 2
El mejor submodo podna seleccionarse usando un procedimiento de optimizacion de tasa distorsion (mejor compromiso entre la tasa de bits y la calidad).
(E) Una combinacion del ejemplo (C) con la proyeccion de pixel. En este caso, por ejemplo, un promedio de dos predicciones para el modo de prediccion directa.
(F) Esta es una combinacion del ejemplo (C) con Motion_Copy R2 (vease, por ejemplo, Jani Lainema y Marta Karczewicz, “Skip mode motion compensation”, Doc. JVT-C027, mayo de 2002) o similares. Este caso puede verse como una alternativa del uso del predictor de MV espacial usado en el ejemplo (D), con una diferencia que es que el predictor espacial, bajo ciertas condiciones, reemplaza completamente el modo de salto de ceros, y que este ejemplo (F) puede codificarse por longitud de ejecucion para poder conseguir de este modo un rendimiento mas eficiente.
Prediccion de vectores de movimiento en fotogramas (B) bidireccionalmente predictivos con respecto al modo directo:
La norma JVT actual parece ser bastante confusa sobre como debenan considerarse un macrobloque o un bloque codificado de modo directo en la prediccion de vectores de movimiento dentro de los fotogramas (B) bidireccionalmente predictivos. En cambio, parece que el software actual considera un macrobloque o sub-bloque de modo directo como que tiene un “fotograma de referencia diferente” y por lo tanto no se usan en la prediccion. Por desgracia, teniendo en cuenta que aun puede haber una alta correlacion entre los vectores de movimiento de un bloque predicho directo con sus vecinos, tal condicion podna dificultar considerablemente el rendimiento de los fotogramas B y reducir su eficacia. Esto tambien podna reducir la eficacia de los algoritmos de ocultacion de errores cuando se aplican a los fotogramas B.
En esta seccion, se presentan unos enfoques alternativos a modo de ejemplo, que pueden mejorar la eficacia de codificacion aumentando, por ejemplo, la correlacion de los vectores de movimiento dentro de los fotogramas B. Esto se hace considerando un bloque codificado en modo directo esencialmente equivalente a un bloque bidireccionalmente predicho dentro de la fase de prediccion de movimiento.
Los macrobloques o bloques de modo Directo (por ejemplo, en el caso de las sub-particiones de 8x8) podnan mejorar considerablemente la eficacia de los fotogramas (B) bidireccionalmente predichos ya que pueden explotar de manera efectiva las correlaciones temporales de la informacion de vector de movimiento de los fotogramas adyacentes. La idea se obtiene esencialmente de tecnicas de interpolacion temporal, donde se hace la suposicion de que si un bloque se ha movido desde una posicion (x+ dx, y + dy) en el tiempo t a una posicion (x, y) en el tiempo t+2, entonces, usando la interpolacion temporal, en el tiempo t+1 el mismo bloque debe haber estado esencialmente en la posicion:
. dx dy„
Esto se ilustra, por ejemplo, en la figura 14, que muestra tres fotogramas, a saber, un fotograma 1400 P, un fotograma 1402 B y fotograma 1404 P, correspondientes a los tiempos t, t+1, y t+2, respectivamente. El enfoque, aunque usado mas a menudo en las normas de codificacion actuales asume en su lugar que el bloque en la posicion (x, y) del fotograma en el tiempo t+1 puede encontrarse mas probablemente en las posiciones:
. dx dy.
(x + —, y + —) en el tiempo t
y
imagen1
Lo ultimo se ilustra en la figura 15, que muestra tres fotogramas, es decir, un fotograma 1500 P, un fotograma 1502 B y fotograma P 1504, que corresponden respectivamente a los tiempos t, t+1, y t+2. Ya que el numero de bloques codificados en modo directo dentro de una secuencia puede ser significativa, mientras que no se transmite informacion residual y de movimiento para un caso tal, puede aumentarse considerablemente la eficacia de los fotogramas B. La codificacion por longitud de ejecucion (por ejemplo, si se usa la codificacion de entropfa por codigo de longitud variable universal (UVLC)) puede usarse tambien para mejorar aun mas el rendimiento.
5
10
15
20
25
30
35
40
45
50
55
Por desgracia, la norma JVT actual no aclara como debena realizarse la prediccion de vectores de movimiento de los bloques adyacentes para los bloques de modo directo. Como se desprende del software actual, los bloques de modo directo se consideran actualmente como que tienen un “fotograma de referencia diferente” por lo tanto no se explota ninguna correlacion espacial en tal caso. Esto podna reducir considerablemente la eficacia de la prediccion, pero tambien podna afectar potencialmente al rendimiento de los algoritmos de ocultacion de errores aplicados en los fotogramas B en el caso de que se necesite.
A modo de ejemplo, si se quisiera predecir el vector de movimiento de E en el codec actual, si A, B, C, y D estan todos codificados en el modo directo, entonces el predictor se establecera como (0,0) lo que no sena una buena decision.
En la figura 16, por ejemplo, E se predice a partir de A, B, C y D. Por lo tanto, si A, B, C o D estan codificados en el modo directo, entonces sus valores reales no se usan actualmente en la prediccion. Sin embargo, esto puede modificarse. De este modo, por ejemplo, si A, B, C o D estan codificados en el modo directo, entonces los valores reales de los vectores de movimiento y los fotogramas de referencia pueden usarse en la prediccion. Esto proporciona dos opciones seleccionables: (1) si un macrobloque/bloque colocado en el fotograma P posterior esta intracodificado, entonces un fotograma de referencia se establece en -1; (2) si un macrobloque/bloque colocado en el fotograma P posterior esta intracodificado, entonces se asume que el fotograma de referencia es 0.
De acuerdo con ciertos aspectos proporcionados, en su lugar puede usarse la informacion de movimiento real disponible de los bloques codificados en modo directo, para realizar la prediccion de vectores de movimiento. Esto permitira una mayor correlacion de los vectores de movimiento dentro de una secuencia de fotogramas B, y por lo tanto puede conducir a la mejora de la eficacia.
Un posible problema es como manejar apropiadamente los macrobloques de modo directo para los que, el bloque/macrobloque colocado en el fotograma posterior esta intracodificado. Por ejemplo, en este caso, son posibles dos opciones:
(1) Considerar este macrobloque/bloque como que tiene un fotograma de referencia diferente, por lo que no lo usa en la prediccion de vectores de movimiento; y
(2) Considerar este macrobloque como que tiene un vector de movimiento (0, 0) y el fotograma de referencia 0.
De acuerdo con ciertas otras implementaciones a modo de ejemplo proporcionadas, puede hacerse una modificacion adicional en el procedimiento de filtro de desbloqueo. Para el caso del modo directo, puede configurarse un procedimiento de filtro de desbloqueo para comparar la informacion de vector de movimiento almacenada que se toma de los bloques codificados en modo directo, de otro modo, por lo general se consideranan como cero. Sin embargo, en otra modificacion en su lugar puede configurarse el procedimiento de filtro de desbloqueo para comparar los vectores de movimiento (exactos) independientemente del tipo de bloque que se use. Por lo tanto, en ciertas implementaciones, si para los bloques de codificacion directa no se transmite ningun residuo, un filtro de desbloqueo “fuerte” puede proporcionar un rendimiento mejorado.
Ademas, en ciertas otras implementaciones, puede redisenarse la decision de tasa distorsion para los fotogramas B ya que es muy probable que para ciertas implementaciones del esquema de prediccion de vectores de movimiento, un parametro lagrangiano diferente usado en decisiones de optimizacion de tasa distorsion, puede conducir a una eficacia de codificacion. Tal X pueden tomarse, por ejemplo, como:
Qp
A, = 0,85x2 3
Refinamiento de decision de inter modo:
La norma JVT tiene actualmente una ventaja abrumadora de rendimiento en comparacion con otras normas de codificacion basadas en bloque actuales. Parte de este rendimiento puede atribuirse a la posibilidad de usar tamanos de bloque variables que vanan de 16x16 a 4x4 (pfxeles), en lugar de tener tamanos de bloque fijos. Haciendo esto se permite, por ejemplo, una explotacion mas eficaz de la correlacion temporal. Por desgracia, se ha descubierto que, debido a las tecnicas de decision de modo existentes actualmente en la logica de codificacion convencional (por ejemplo, hardware, firmware y/o software), las decisiones de modo no podnan realizarse de manera optima, por lo tanto, se perdenan bits que podnan asignarse mejor.
En esta seccion, se proporcionan otros procedimientos y aparatos que al menos en parte resuelven este problema y/u otros. En este caso, los procedimientos y aparatos a modo de ejemplo se han configurado para su uso con al menos los modos de bloque 16x8 y 8x16 (pixel). Ademas, usando una solucion relativamente simple donde se introduce al menos un criterio adicional, se proporciona un ahorro de entre aproximadamente el 5 % y el 10 % en la complejidad del codificador.
Dos caractensticas clave de la norma JVT son la seleccion de modo de macrobloque variable y la optimizacion de tasa distorsion. Un macrobloque 16x16 (pixel) puede codificarse usando diferentes modos de particion para los que tambien se transmite la informacion de movimiento. La seleccion del modo a usarse puede realizarse en la fase de
5
10
15
20
25
30
35
40
45
50
optimizacion de tasa distorsion de la codificacion, donde se intenta una decision mixta de la mejor calidad posible a la mejor tasa de bits posible. Desafortunadamente, ya que las asignaciones de la mejor informacion de movimiento posible para cada subparticion se hace en un procedimiento completamente diferente de la codificacion, es posible en algunos casos, que un modo 16x16 (por ejemplo, 16x8 u 8x16 (pixel)) no lleve informacion de movimiento que sea equivalente a un macrobloque 16x16. Ya que los predictores de movimiento usados para cada modo tambien podnan ser diferentes, es bastante posible en muchos casos que tal informacion de movimiento de tipo 16x16 pueda ser diferente de la asignada al modo 16x16. Ademas, bajo ciertas condiciones, la optimizacion de tasa distorsion puede que al final decida no usar el tipo de macrobloque 16x16, a pesar de que continua la informacion de movimiento de 16x16, sin examinar si esta podna ser mejor si se codifica usando un modo 16x16.
Reconociendo esto, puede configurarse un sistema a modo de ejemplo para determinar cuando se produce un caso de este tipo, de tal manera que puede alcanzarse una mejora de rendimiento. De acuerdo con ciertas implementaciones proporcionadas a modo de ejemplo, dos modos adicionales, por ejemplo, denominados como P2to1 y P3to1, se ponen a disposicion dentro del procedimiento/fase de decision de modo. Los modos P2to1 y P3to1 se activan cuando la informacion de movimiento de unas subparticiones 16x8 y 8x16, respectivamente, es equivalente a la de un modo 16x16.
En ciertas implementaciones todo el fotograma de vector de movimiento y de referencia asignado a cada particion puede ser igual. Como tal, el modo equivalente puede activarse y examinarse durante un procedimiento/fase de tasa distorsion. Ya que la informacion residual y de distorsion no es probable que cambien en comparacion con el caso de subparticion, pueden reutilizarse sin aumentar el calculo significativamente.
Teniendo en cuenta sin embargo que la decision de modo de tasa distorsion no es perfecta, es posible que la suma y la consideracion de estos dos modos adicionales, con independencia del mejor modo actual, puede reducir, en algunos casos limitados, la eficacia en lugar de mejorarla. Como una alternativa, estos modos pueden permitirse solo cuando el modo subparticion correspondiente sea tambien el mejor posible de acuerdo con la decision de modo empleada. Haciendo esto, pueden producirse mejoras (por ejemplo, una reduccion de la tasa de bits) frente a la otra logica (por ejemplo, codec, etc.), mientras que no afecte al PSNR.
Si la informacion de movimiento de las subparticiones 16x8 u 8x16 es equivalente a la del modo 16x16, entonces puede ser innecesario la realizacion de la decision de modo para un modo de este tipo. Por ejemplo, si el predictor de vectores de movimiento de la primera subparticion es exactamente el mismo que el predictor de vectores de movimiento del modo 16x16 es innecesario realizar la decision de modo. Si tal condicion se cumple, puede omitirse por completo este modo durante el procedimiento de decision de modo. Si lo hace, puede reducir significativamente la complejidad, ya que no sena necesario, para este modo, realizar la DCT, la cuantificacion, y/u otros procedimientos/mediciones de tasa distorsion similares, que tienden a ser bastante costosos durante el procedimiento de codificacion.
En ciertas otras implementaciones a modo de ejemplo, todo el procedimiento puede extenderse tambien ademas a una particion de macrobloque con estructura de arbol. Vease, por ejemplo, Heiko Schwarz y Thomas Wiegand, “Tree-structured macroblock partition”, Doc. VCEG-N17, Diciembre de 2001.
Un algoritmo a modo de ejemplo
A continuacion, se presentan algunas acciones que pueden realizarse para proporcionar un refinamiento en un codec a modo de ejemplo u otra logica similar (Observese que en ciertas otras implementaciones, el orden de las acciones puede modificarse y/o que ciertas acciones pueden realizarse juntas):
Accion 1: Establecer Va//d[P2to1] = Va//d[P3fo1] = 0.
Accion 2: Realizar decision de vector de movimiento y fotograma de referencia para cada posible inter modo. Permitir que ^^16x16’ y refframeiexie sean el vector de movimiento, el predictor de vectores de
movimiento, y el fotograma de referencia del modo 16x16,
{refframe
{M 1/a-| 6x8 ,/WV®i 6x8}, {MVP'^.MVf*W y , refframe i6j:8}|a informacion correspondiente para el modo de 16x8, y
{M^8x16,/WVS8x16}, {MVpS8xmMVPB8x 16}, y \fefframelx\6>refframe^6} parg e| modo de 8x16
Accion 3: Si {MV“ >^!= Myb l6^ o (refframeW= refframe^,) e ir a ,a Acci6n 7_
Accion 4: Si (MVa l6xs\= MVi6x>6> 0 (MVP“i6xt\= MVPl6xl6) 0 (refframe?6a\= refframe^), entonces
ir a la
Accion 6.
Accion 5: Va//d[16x8] = 0; ir a la Accion 7 (por ejemplo., desactivar el modo 16x8 si es identico al 16x16. Reduccion de complejidad).
5
10
15
20
25
30
35
40
45
Accion 6: Valid[P2to1] = 1; (por ejemplo, habilitar el modo de refinamiento para 16x8)
MV pi,„\ =MV"i6xs\ rejframe P2tol = refframe"^
Accion 7: Si
(MVaiM\= MVb%xi6) o (rejframe"M! = refframebgxlft)
entonces, ir a la Accion 11.
Accion 8: Si
(MVaix\f,\= MV\6x\t) o (MVP'\xif,l= MVP\f,xu,) o (refframe‘iM\= refframeiM6) entonces, ir a la Accion 10.
Accion 9: Valid[8x16] = 0; ir a la Accion 11 (por ejemplo, deshabilitar el modo de 8x16 si es identico al 16x16 para reducir la complejidad)
Accion 10: Valid[P3to1] = 1 (Por ejemplo, activar el modo de refinamiento para 8x16)
MV i = MVa ?,x\h:refframeniol = refframe^;
Accion 11: Realizar la optimizacion de tasa distorsion para todos los inter & intra modos si (Valid[MODO] = 1) donde MODO e {INTRA 4x4, INTRA 16x16, OMITIR, 16x16, 16x8, 8x16, P8x8}, usando el funcional lagrangiano:
J (s, c, MODOQP, Xmodo) = SSD(s, c, MODOQP) + Xmodo • R (s, c, MODOQP) EstablecerAccion mejor modo a Mejormodo
Accion 12: Si (Mejormodo! = 16x8), entonces Valid[P3to1] = 0 (observese que esta accion es opcional).
Accion 13: Si (Mejormodo! = 8x16) entonces, Valid[P2to1] = 0 (observese que esta accion es opcional).
Accion 14: Realizar la optimizacion de tasa distorsion para los dos modos adicionales si (Valid[MODO] = 1) donde MODO e {P2to1, P3to1}(por ejemplo, los modos se consideran equivalentes a los modos 16x16).
Accion 15: Establecer Mejormodo al mejor modo general descubierto.
Aplicar las tecnicas de prediccion directa a modo de ejemplo para la codificacion de entrelazado:
Debido al creciente interes de la codificacion de video entrelazado dentro de la norma H.26L, se han presentado varias propuestas para mejorar el rendimiento de codificacion de las secuencias entrelazadas. En esta seccion, se presentan las tecnicas que pueden implementarse en la sintaxis actual de H.26L, y/u otros sistemas similares. Estas tecnicas a modo de ejemplo pueden proporcionar una mejora de rendimiento. Ademas, se introduce la tecnologfa de prediccion P directa, similar a la prediccion B directa, que puede aplicarse tanto en la codificacion de video entrelazado como progresivo.
Informacion adicional sobre tecnicas de prediccion P directa a modo de ejemplo:
El modo directo de los vectores de movimiento dentro de los fotogramas B puede beneficiarse significativamente del rendimiento de codificacion, ya que puede reducir considerablemente los bits necesarios para la codificacion de vectores de movimiento, considerando especialmente que tienen que transmitirse hasta dos vectores de movimiento. Sin embargo, si un bloque se codifica usando el modo directo, no son necesarios vectores de movimiento cuando, en su lugar, estos se calculan como interpolaciones temporales de los vectores de movimiento de los bloques colocados en la primera imagen de referencia posterior. Parece no haberse considerado un enfoque similar para los fotogramas P ya que la estructura de los fotogramas P y de su macrobloque correspondiente era mucho mas simple, mientras que cada macrobloque requiere solo un vector de movimiento. Lo mas probable es que con la adicion de un modo de este tipo se habna incurrido en una sobrecarga significativa, negando posiblemente de este modo cualquier ganancia posible.
Por otro lado, en H.26L los fotogramas P se han mejorado significativamente introduciendo varios modos de macrobloque adicionales. Como se ha descrito anteriormente, en muchos casos incluso podna necesitarse transmitir hasta 16 vectores de movimiento por macrobloque. Considerando esta sobrecarga de modo adicional que pueden contener los fotogramas P en H.26L, podna ser viable una implementacion de prediccion directa de los vectores de movimiento. De tal manera, todos los bits para los vectores de movimiento y para el fotograma de referencia usado pueden ahorrarse en solo el coste del modo adicional, por ejemplo, vease la figura 4.
A pesar de que un procedimiento mas sencillo de prediccion P directa es seleccionar los vectores de movimiento de
los p^xeles localizados en el fotograma anterior, en otras implementaciones puede tambien considerarse la aceleracion de movimiento como una solucion alternativa. Esto viene del hecho de que el movimiento podna cambiarse fotograma por fotograma, que no es constante, y usando la aceleracion podnan obtenerse mejores resultados, por ejemplo, vease la figura 7.
5 Tales tecnicas pueden aplicarse ademas a la codificacion de v^deo progresiva. Sin embargo, considerando la correlacion que los campos pueden tener en algunos casos dentro de las secuencias de entrelazado, tales como por ejemplo las regiones con un unico movimiento horizontal constante, este enfoque puede tambien ayudar a mejorar la eficacia de codificacion para la codificacion de secuencia de entrelazado. Esto es en particular beneficioso para los fotogramas de tipo de campo conocidos, por ejemplo, si se supone que el movimiento de los campos adyacentes es 10 el mismo. En este tipo de disposicion, pueden considerarse los mismos campos de paridad como nuevos fotogramas y se codifican secuencialmente sin tener la consideracion de la funcion de entrelazado. Todo esto esta a la izquierda del decodificador. Sin embargo, usando este modo P directo a modo de ejemplo, puede usarse un conjunto de vectores de movimiento para el primer macrobloque de campo a codificar (por ejemplo, del tamano de 16x16 pfxeles), en la medida que el segundo campo en la misma localizacion esta reutilizando la misma informacion de 15 movimiento. La unica otra informacion necesaria a enviarse es la imagen residual codificada. En otras implementaciones, es posible mejorar aun mas en estas tecnicas considerando las correlaciones entre las imagenes residuales de los dos bloques de campo colocados.
Con el fin de permitir que el modo directo en los fotogramas P, es basicamente necesario anadir un inter modo adicional en el sistema. Por lo tanto, en lugar de tener solo 8 inter modos, en un ejemplo, ahora pueden usarse 9, 20 que se muestran a continuacion:
INTER MODOS DESCRIPCION
COPY MB
0 Modo de macrobloque omitido
M16x16 MB
1 Uno de 16x16 bloques
M16x8 MB
2 Dos de 16x8 bloques
M8x16 MB
3 Dos de 8x16 bloques
M8x8 MB
4 Cuatro de 8x8 bloques
M8x4 MB
5 Ocho de 8x4 bloques
M4x8 MB
6 Ocho de 4x8 bloques
M4x4 MB
7 Dieciseis 16x8 bloques
PDIRECT MB
8 Modo de copia y vectores de movimiento de macrobloque colocados en el fotograma previo
En general, tales modos directos a modo de ejemplo para los fotogramas P pueden aparecer si el macrobloque colocado tambien es de tipo INTER, excepto el macrobloque omitido, pero incluyendo el modo directo, ya que en otros casos no hay informacion de movimiento que pueda usarse. En el caso de que el macrobloque anterior 25 tambien este codificado en el modo P directo, los vectores de movimiento mas recientes y el modo para este macrobloque se consideran en su lugar. Para manejar mas eficientemente los casos en que este modo no aparecera logicamente, y en particular si se usa el INTRA modo, puede seleccionarse permitir que este modo aparezca tambien en estos casos con el modo significando ahora un segundo modo de macrobloque omitido donde una copia de la informacion no es del fotograma anterior, pero si a partir del anterior. En este caso, no se codifica la 30 informacion residual. Esto es espedficamente util para las secuencias de entrelazado, ya que es mas probable que un macrobloque pueda encontrarse con mayor precision a partir del mismo fotograma de campo de paridad, y no a partir del fotograma de campo anteriormente codificado como se presento en las tecnicas anteriores.
Para mejorar mas la eficacia, si se usa un conjunto de dos fotogramas de tipo campo cuando se codifican las imagenes entrelazadas, puede configurarse el modo de macrobloque omitido para usar las mismas imagenes de 35 campo de paridad. Por ejemplo, si el modo directo P se usa como una bandera de omision, entonces se usa en su lugar una paridad diferente. Un beneficio adicional del modo P directo, es que puede permitir una reduccion significativa de complejidad en el codificador, ya que es posible permitir que el sistema realice una pre-comprobacion de si el modo P directo proporciona una solucion lo suficientemente satisfactoria, y si es asf, puede no necesitarse ningun calculo adicional para la decision de modo y la estimacion de movimiento de ese bloque espedfico. Para 40 abordar tambien la cuestion de la codificacion de vectores de movimiento, los vectores de movimiento usados para la codificacion P directa pueden usarse “tal cual” para el calculo de un predictor MEDIANO.
Tecnica de primer mejor campo y reorganizacion de campo:
La codificacion de secuencia de entrelazado que permite soportar tanto el material de fotograma entrelazado como las imagenes de campo entrelazado separado dentro del mismo flujo proporcionana probablemente una solucion 45 mucho mejor que la codificacion usando solo uno de los dos procedimientos. La tecnica de campo entrelazado separado tiene algunos beneficios adicionales, tales como, por ejemplo, el desbloqueo, y en particular puede proporcionar una resistencia a errores mejorada. Si ocurre un error de imagen dentro de un campo, por ejemplo, el error puede consumarse facilmente usando la informacion de la segunda imagen.
5
10
15
20
25
30
35
40
45
50
55
Esto no es el caso de la tecnica basada en fotogramas, donde especialmente cuando se considera el tamano a menudo grande y los bits usados por tales fotogramas, pueden producirse errores dentro un fotograma de este tipo con mucha mayor probabilidad. La correlacion reducida entre los pfxeles/bloques no puede promover la recuperacion de errores.
En este caso, puede mejorarse aun mas el concepto de codificacion de campo/fotograma, permitiendo que el codificador seleccione que campo debena codificarse en primer lugar, sin tener en cuenta que campo se va a visualizar primero. Esto podna manejarse de manera automatica en un decodificador, donde sera necesario una mayor memoria intermedia para almacenar un fotograma de campo futuro antes de mostrarle. Por ejemplo, a pesar de que el campo superior precede al campo inferior en terminos de tiempo, la eficacia de codificacion podna ser mayor si el campo inferior se codifica y se transmite primero, seguido por el fotograma de campo superior. La decision puede tomarse, por ejemplo, en el procedimiento/fase de optimizacion de tasa distorsion, donde se examina primero cual sera el rendimiento si el campo impar se codifica en primer lugar seguido por el campo par, y del rendimiento si el campo par se codificada en su lugar y se usa como una referencia para el campo impar. Un procedimiento de este tipo implica que tanto el codificador como el decodificador debenan saber que campo debena mostrarse primero, y cualquier reorganizacion hecha sin problemas. Tambien es importante que, a pesar de que el campo impar se ha codificado primero, tanto el codificador como el decodificador son conscientes de este cambio al indexar el fotograma con el fin de una inter/intra prediccion. Los ejemplos ilustrativos de un esquema de prediccion de este tipo, que usa 4 fotogramas de referencia, se representan en la figura 17 y en la figura 18. En la figura 17, la codificacion de entrelazado se muestra usando un esquema de primer mejor campo a modo de ejemplo en los fotogramas P. En la figura 18, la codificacion de entrelazado se muestra usando un esquema de primer mejor campo en los fotogramas B.
En el caso de codificacion de imagenes de campo/fotograma mixtas, puede emplearse el esquema representado de manera ilustrativa en la figura 19. En este caso, se muestra una implementacion a modo de ejemplo de un esquema de primer mejor campo con el fotograma y la codificacion basada en campos. Si se usan dos fotogramas para la estimacion de movimiento basada en fotogramas, entonces al menos pueden usarse cinco fotogramas de campo para la estimacion de movimiento de los campos, especialmente si se produce el intercambio de campo. Esto permite hacer referencia a al menos dos fotogramas de campo de la misma paridad. En general, debenan almacenarse 2xN+1 fotogramas de campo si se usan N fotogramas completos. Los fotogramas tambien podnan facilmente intercalarse y desintercalarse en el codificador y en el decodificador para tales procedimientos.
Aunque lo que se reivindica es la invencion, la siguiente es una lista de caractensticas adicionales:
Punto 1: Un procedimiento para su uso en la codificacion de datos de video dentro de una secuencia de fotogramas de video, comprendiendo el procedimiento;
codificar al menos una parte de al menos un fotograma de referencia para incluir la informacion de movimiento asociada con dicha parte de dicho fotograma de referencia;
definir al menos una parte de al menos un fotograma predecible que incluye unos datos de video de manera predictiva correlacionados con dicha parte de dicho fotograma de referencia basandose en dicha informacion de movimiento; y
codificar al menos dicha parte de dicho fotograma predecible sin incluir una informacion de movimiento correspondiente e incluyendo datos de identificacion de modo que identifican que dicha parte de dicho fotograma predecible puede obtenerse directamente usando al menos dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia.
Punto 2: El procedimiento de acuerdo con el punto 1, en el que dichos datos de identificacion de modo definen un tipo de modelo de prediccion necesaria para decodificar dicha parte codificada de dicho fotograma predecible.
Punto 3: El procedimiento de acuerdo con el punto 2, en el que dicho tipo de modelo de prediccion incluye un modelo de prediccion directa mejorado que incluye al menos un submodo seleccionado de un grupo que comprende un submodo de proyeccion de movimiento, un submodo de prediccion de vectores de movimiento espacial, y un submodo de promedio ponderado.
Punto 4: El procedimiento de acuerdo con el punto 3, en el que dichos datos de identificacion de modo identifican dicho al menos un submodo.
Punto 5: El procedimiento de acuerdo con el punto 1, en el que dicho procedimiento genera una pluralidad de fotogramas de video que comprenden al menos un fotograma predecible seleccionado de un grupo de fotogramas predecibles que comprende un fotograma P y un fotograma B.
Punto 6: El procedimiento de acuerdo con el punto 1, en el que dicha parte de dicho fotograma de referencia incluye unos datos para al menos un pixel dentro de dicho fotograma de referencia, y dicha parte de dicho fotograma predecible incluye unos datos para al menos un pixel dentro de dicho fotograma predecible.
Punto 7: El procedimiento de acuerdo con el punto 6, en el que dicha parte de dicho fotograma de referencia incluye unos datos de al menos una parte de un macrobloque dentro de dicho fotograma de referencia, y dicha parte de dicho fotograma predecible incluye unos datos para al menos una parte de un macrobloque dentro de
5
10
15
20
25
30
35
40
45
50
dicho fotograma predecible.
Punto 8: El procedimiento de acuerdo con el punto 1, en el que dicho fotograma de referencia precede temporalmente a dicho fotograma predecible dentro de dicha secuencia de fotogramas de video.
Punto 9: El procedimiento de acuerdo con el punto 1, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion de velocidad.
Punto 10: El procedimiento de acuerdo con el punto 1, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion de aceleracion
Punto 11: El procedimiento de acuerdo con el punto 1, en el que dicha parte de dicho fotograma de referencia, y dicha parte de dicho fotograma predecible estan correlacionadas espacialmente.
Punto 12: El procedimiento de acuerdo con el punto 1, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion de proyeccion de pixel necesaria para decodificar dicha parte codificada de dicho fotograma predecible.
Punto 13: El procedimiento de acuerdo con el punto 1, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia, incluye una informacion de prediccion de vectores de movimiento espacial necesaria para decodificar dicha parte codificada de dicho fotograma predecible.
Punto 14: El procedimiento de acuerdo con el punto 1, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion combinada de proyeccion de pixel y de prediccion de vectores de movimiento espacial necesaria para decodificar dicha parte codificada de dicho fotograma predecible.
Punto 15: El procedimiento de acuerdo con el punto 1, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion de prediccion de multiples hipotesis necesaria para decodificar dicha parte codificada de dicho fotograma predecible.
Punto 16: El procedimiento de acuerdo con el punto 1, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia es nula y dichos datos de identificacion de modo identifican que dicha parte de dicho fotograma de referencia incluye dicha parte de dicha predecible.
Punto 17: El procedimiento de acuerdo con el punto 1, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion residual correspondiente.
Punto 18: El procedimiento de acuerdo con el punto 1, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion residual correspondiente solo si un parametro de cuantificacion (QP) satisface al menos una condicion definida.
Punto 19: El procedimiento de acuerdo con el punto 18, en el que dicha al menos una condicion definida incluye un valor umbral.
Punto 20: El procedimiento de acuerdo con el punto 18, en el que dicho un valor umbral es de aproximadamente QP > veintitres.
Punto 21: El procedimiento de acuerdo con el punto 1, en el que dicho al menos un fotograma predecible y un fotograma de referencia son parte de una secuencia de entrelazado de campos de video.
Punto 22: El procedimiento de acuerdo con el punto 21, en el que la informacion de movimiento esta asociada con al menos un pixel colocado en dicho fotograma de referencia.
Punto 23: El procedimiento de acuerdo con el punto 22, en el que codificar al menos una parte de dicho al menos un fotograma de referencia incluye ademas codificar basandose en una correlacion entre las imagenes residuales de dos bloques de campo colocados.
Punto 23a: El procedimiento de acuerdo con el punto 21, que comprende ademas para cada uno de dicho fotograma de referencia y dicho fotograma predecible seleccionar un orden en el que deben codificarse los campos dentro de dicha secuencia de entrelazado de campos de video.
Punto 24: El procedimiento de acuerdo con el punto 21, en el que dicho al menos un fotograma predecible y un fotograma de referencia tienen cada uno al menos dos campos asociados con los mismos.
Punto 25: El procedimiento de acuerdo con el punto 1, que comprende ademas:
determinar selectivamente si se usa un modo de prediccion directa en lugar de un modo de pre-existencia durante dicha codificacion de dicha al menos dicha parte de dicho fotograma predecible basandose en al menos un factor.
5
10
15
20
25
30
35
40
45
50
Punto 26: Un medio legible por ordenador que tiene unas instrucciones que pueden implementarse en ordenador para realizar acciones que comprenden:
codificar datos de v^deo para una secuencia de fotogramas de v^deo en al menos un fotograma predecible seleccionado de un grupo de fotogramas predecibles que comprenden un fotograma P y un fotograma B, mediante:
codificar al menos una parte de al menos un fotograma de referencia para incluir la informacion de movimiento asociada con dicha parte de dicho fotograma de referencia;
definir al menos una parte de al menos un fotograma predecible que incluye unos datos de video correlacionados de manera predictiva con dicha parte de dicho fotograma de referencia basandose en dicha informacion de movimiento; y
codificar al menos dicha parte de dicho fotograma predecible sin incluir una informacion de movimiento correspondiente e incluyendo unos datos de identificacion de modo que identifican que dicha parte de dicho fotograma predecible puede obtenerse directamente usando al menos dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia.
Punto 27: El medio legible por ordenador de acuerdo con el punto 26, en el que dichos datos de identificacion de modo definen un tipo de modelo de prediccion necesaria para decodificar dicha parte codificada de dicho fotograma predecible.
Punto 28: El medio legible por ordenador de acuerdo con el punto 27, en el que dicho tipo de modelo de prediccion incluye un modelo de prediccion directa mejorado que incluye al menos un submodo seleccionado de un grupo que comprende un submodo de proyeccion de movimiento, un submodo de prediccion de vectores de movimiento espacial, y un submodo de promedio ponderado, y en el que dichos datos de identificacion de modo identifican dicho al menos un submodo.
Punto 29: El medio legible por ordenador de acuerdo con el punto 26, en el que dicha parte de dicho fotograma de referencia incluye unos datos para al menos un pixel dentro de dicho fotograma de referencia, y dicha parte de dicho fotograma predecible incluye unos datos para al menos un pixel dentro de dicho fotograma predecible.
Punto 30: El medio legible por ordenador de acuerdo con el punto 26, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion seleccionada de un grupo que comprende una informacion de velocidad y una informacion de aceleracion.
Punto 31: El medio legible por ordenador de acuerdo con el punto 26, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion necesaria para decodificar dicha parte de dicho fotograma predecible que se selecciona de un grupo que comprende:
una informacion de proyeccion de pfxeles;
una informacion de prediccion de vectores de movimiento espacial;
una informacion de proyeccion de pfxeles y de prediccion de vectores de movimiento espacial ponderadas; y una informacion de prediccion de multiples hipotesis.
Punto 32: El medio legible por ordenador de acuerdo con el punto 26, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia es nula y dichos datos de identificacion de modo identifican que dicha parte de dicho fotograma de referencia incluye dicha parte de dicha predecible.
Punto 33: El medio legible por ordenador de acuerdo con el punto 26, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion residual correspondiente.
Punto 34: El medio legible por ordenador de acuerdo con el punto 26, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion residual correspondiente solo si un parametro de cuantificacion (QP) satisface al menos una condicion definida.
Punto 35: El medio legible por ordenador de acuerdo con el punto 34, en el que dicha al menos una condicion definida incluye un valor umbral.
Punto 36: El medio legible por ordenador de acuerdo con el punto 26, en el que dicho al menos un fotograma predecible y un fotograma de referencia son parte de una secuencia de entrelazado de campos de video.
Punto 37: El medio legible por ordenador de acuerdo con el punto 36, en el que la informacion de movimiento esta asociada con al menos un pixel colocado en dicho fotograma de referencia.
Punto 38: El medio legible por ordenador de acuerdo con el punto 37, en el que codificar al menos una parte de dicho al menos un fotograma de referencia incluye ademas codificar basandose en una correlacion entre las
5
10
15
20
25
30
35
40
45
50
imagenes residuales de dos bloques de campo colocados.
Punto 39: El medio legible por ordenador de acuerdo con el punto 36, que comprende ademas para cada uno de dicho fotograma de referencia y dicho fotograma predecible seleccionar un orden en el que deben codificarse los campos dentro de dicha secuencia de entrelazado de campos de video.
Punto 40: El medio legible por ordenador de acuerdo con el punto 36, en el que dicho al menos un fotograma predecible y un fotograma de referencia tienen cada uno al menos dos campos asociados con los mismos.
Punto 41: El medio legible por ordenador de acuerdo con el punto 26, que tiene unas instrucciones que pueden implementarse por ordenador para realizar unas acciones adicionales que comprenden:
determinar selectivamente si se usa un modo de prediccion directa en lugar de un modo de pre-existencia durante dicha codificacion de dicha al menos dicha parte de dicho fotograma predecible basandose en al menos un factor.
Punto 42: Un aparato para su uso en codificar datos de video para una secuencia de fotogramas de video en una pluralidad de fotogramas de video que incluye al menos un fotograma predecible seleccionado de un grupo de fotogramas predecibles que comprenden un fotograma P y un fotograma B, comprendiendo dicho aparato:
una memoria para almacenar la informacion de movimiento; y
una logica acoplada de manera operativa a dicha memoria y configurada para codificar al menos una parte de al menos un fotograma de referencia para incluir la informacion de movimiento asociada con dicha parte de dicho fotograma de referencia, determinar al menos una parte de al menos un fotograma predecible que incluye unos datos de video correlacionados predictivamente con dicha parte de dicho fotograma de referencia basandose en dicha informacion de movimiento, y codificar al menos dicha parte de dicho fotograma predecible sin incluir la informacion de movimiento correspondiente e incluyendo unos datos de identificacion de modo que identifican que dicha parte de dicho fotograma predecible puede obtenerse directamente usando al menos dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia.
Punto 43: El aparato de acuerdo con el punto 42, en el que dichos datos de identificacion de modo definen un tipo de modelo de prediccion necesaria para decodificar dicha parte codificada de dicho fotograma predecible.
Punto 44: El aparato de acuerdo con el punto 43, en el que dicho tipo de modelo de prediccion incluye un modelo de prediccion directa mejorado que incluye al menos un submodo seleccionado de un grupo que comprende un submodo de proyeccion de movimiento, un submodo de prediccion de vectores de movimiento espacial, y un submodo de promedio ponderado, y en el que dichos datos de identificacion de modo identifican dicho al menos un submodo.
Punto 45: El aparato de acuerdo con el punto 42, en el que dicha parte de dicho fotograma de referencia incluye unos datos para al menos un pixel dentro de dicho fotograma de referencia, y dicha parte de dicho fotograma predecible incluye unos datos para al menos un pixel dentro de dicho fotograma predecible.
Punto 46: El aparato de acuerdo con el punto 42, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion seleccionada de un grupo que comprende una informacion de velocidad y una informacion de aceleracion.
Punto 47: El aparato de acuerdo con el punto 42, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion necesaria para decodificar dicha parte codificada de dicho fotograma predecible que se selecciona de un grupo que comprende:
una informacion de proyeccion de pfxeles;
una informacion de prediccion de vectores de movimiento espacial;
una informacion de proyeccion de pfxeles y de prediccion de vectores de movimiento espacial ponderadas; y una informacion de prediccion de multiples hipotesis.
Punto 48: El aparato de acuerdo con el punto 42, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia es nula y dichos datos de identificacion de modo identifican que dicha parte de dicho fotograma de referencia, incluye dicha parte de dicha predecible.
Punto 49: El aparato de acuerdo con el punto 42, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion residual correspondiente.
Punto 50: El aparato de acuerdo con el punto 42, en el que dicha informacion de movimiento asociada con dicha
5
10
15
20
25
30
35
40
45
50
parte de dicho fotograma de referencia incluye una informacion residual correspondiente solo si un parametro de cuantificacion (QP) satisface al menos una condicion definida.
Punto 51: El aparato de acuerdo con el punto 42, en el que dicho al menos un fotograma predecible y un fotograma de referencia son parte de una secuencia de entrelazado de campos de video.
Punto 52: El aparato de acuerdo con el punto 51, en el que la informacion de movimiento esta asociada con al menos un pixel colocado en dicho fotograma de referencia.
Punto 53: El aparato de acuerdo con el punto 52, en el que dicha logica codifica dicha al menos una parte de dicho al menos un fotograma de referencia basandose en una correlacion entre las imagenes residuales de dos bloques de campo colocados.
Punto 54: El aparato de acuerdo con el punto 51, en el que dicha logica se configura ademas para seleccionar, para cada uno de dicho fotograma de referencia y dicho fotograma predecible, un orden en el que deben codificarse los campos dentro de dicha secuencia de entrelazado de campos de video.
Punto 55: El aparato de acuerdo con el punto 51, en el que dicho al menos un fotograma predecible y un fotograma de referencia, tiene cada uno al menos dos campos asociados con los mismos.
Punto 56: El aparato de acuerdo con el punto 42, en el que dicha logica esta configurada ademas para determinar selectivamente si se usa un modo de prediccion directa en lugar de un modo de pre-existencia cuando se codifica dicha al menos dicha parte de dicho fotograma predecible basandose en al menos un factor.
Elemento 57: Un metodo para su uso en decodificar los datos de video codificados que incluye una pluralidad de fotogramas de video que comprenden al menos un fotograma predecible seleccionado de un grupo de fotogramas predecibles que comprenden un fotograma P y un fotograma B, comprendiendo el metodo; determinar la informacion de movimiento asociada con al menos una parte de al menos un fotograma de referencia;
almacenar en una memoria intermedia dicha informacion de movimiento;
determinar los datos de identificacion de modo que identifican al menos una parte de un fotograma predecible que puede obtenerse directamente usando al menos dicha informacion de movimiento almacenada en una memoria intermedia; y
generar dicha parte de dicho fotograma predecible usando dicha informacion de movimiento almacenada en una memoria intermedia.
Punto 58: El metodo de acuerdo con el punto 57, en el que dichos datos de identificacion de modo definen un tipo de modelo de prediccion necesaria para decodificar dicha parte codificada de dicho fotograma predecible.
Punto 59: El metodo de acuerdo con el punto 58, en el que dicho tipo de modelo de prediccion incluye un modelo de prediccion directa mejorado que incluye al menos un submodo seleccionado de un grupo que comprende un submodo de proyeccion de movimiento, un submodo de prediccion de vectores de movimiento espacial, y un submodo de promedio ponderado.
Punto 60: El metodo de acuerdo con el punto 59, en el que dichos datos de identificacion de modo identifican dicho al menos un submodo.
Punto 61: El metodo de acuerdo con el punto 57, en el que dicha parte de dicho fotograma de referencia incluye unos datos para al menos un pixel dentro de dicho fotograma de referencia, y dicha parte de dicho fotograma predecible incluye unos datos para al menos un pixel dentro de dicho fotograma predecible.
Punto 62: El metodo de acuerdo con el punto 61, en el que dicha parte de dicho fotograma de referencia incluye los datos de al menos una parte de un macrobloque dentro de dicho fotograma de referencia, y dicha parte de dicho fotograma predecible incluye los datos para al menos una parte de un macrobloque dentro de dicho fotograma predecible.
Punto 63: El metodo de acuerdo con el punto 57, en el que dicho fotograma de referencia precede temporalmente a dicho fotograma predecible dentro de dicha secuencia de fotogramas de video.
Punto 64: El metodo de acuerdo con el punto 57, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion seleccionada de un grupo que comprende una informacion de velocidad y una informacion de aceleracion.
Punto 65: El metodo de acuerdo con el punto 57, en el que dicha parte de dicho fotograma de referencia y dicha parte de dicho fotograma predecible estan correlacionadas espacialmente.
Punto 66: El metodo de acuerdo con el punto 57, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion seleccionada de un grupo que comprende una informacion de proyeccion de pfxeles, una informacion de prediccion de vectores de movimiento espacial, una
5
10
15
20
25
30
35
40
45
50
informacion de proyeccion de p^xeles y de prediccion de vectores de movimiento espacial combinadas y una informacion de prediccion de multiples hipotesis.
Punto 67: El procedimiento de acuerdo en el punto 57, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia es nula y dichos datos de identificacion de modo identifican que dicha parte de dicho fotograma de referencia incluye dicha parte de dicho fotograma predecible.
Punto 68: Un medio legible por ordenador que tiene instrucciones que pueden implementarse en ordenador para realizar acciones que comprenden:
decodificar los datos de video codificados que incluyen una pluralidad de fotogramas de video que comprenden al menos un fotograma predecible seleccionado de un grupo de fotogramas predecibles que comprenden un fotograma P y un fotograma B, mediante:
almacenar en una memoria intermedia una informacion de movimiento asociada con al menos una parte de al menos un fotograma de referencia;
determinar los datos de identificacion de modo que identifican que al menos una parte de un fotograma predecible puede obtenerse directamente usando al menos dicha informacion de movimiento almacenada en una memoria intermedia ; y
generar dicha parte de dicho fotograma predecible usando dicha informacion de movimiento almacenada en una memoria intermedia.
Punto 69: El medio legible por ordenador de acuerdo con el punto 68, en el que dichos datos de identificacion de modo definen un tipo de modelo de prediccion necesaria para decodificar dicha parte codificada de dicho fotograma predecible.
Punto 70: El medio legible por ordenador de acuerdo con el punto 69, en el que dicho tipo de modelo de prediccion incluye un modelo de prediccion directa mejorado que incluye al menos un submodo seleccionado de un grupo que comprende un submodo de proyeccion de movimiento, un submodo de prediccion de vectores de movimiento espacial, y un submodo de promedio ponderado
Punto 71: El medio legible por ordenador de acuerdo con el punto 70, en el que dichos datos de identificacion de modo identifican dicho al menos un submodo.
Punto 72: El medio legible por ordenador de acuerdo con el punto 68, en el que dicha parte de dicho fotograma de referencia incluye unos datos para al menos un pixel dentro de dicho fotograma de referencia, y dicha parte de dicho fotograma predecible incluye unos datos para al menos un pixel dentro de dicho fotograma predecible.
Punto 73: El medio legible por ordenador de acuerdo con el punto 72, en el que dicha parte de dicho fotograma de referencia incluye unos datos de al menos una parte de un macrobloque dentro de dicho fotograma de referencia, y dicha parte de dicho fotograma predecible incluye unos datos para al menos una parte de un macrobloque dentro de dicho fotograma predecible.
Punto 74: El medio legible por ordenador de acuerdo con el punto 68, en el que dicho fotograma de referencia precede temporalmente a dicho fotograma predecible dentro de dicha secuencia de fotogramas de video.
Punto 75: El medio legible por ordenador de acuerdo con el punto 68, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion seleccionada de un grupo que comprende una informacion de velocidad y una informacion de aceleracion.
Punto 76: El medio legible por ordenador de acuerdo con el punto 68, en el que dicha parte de dicho fotograma de referencia y dicha parte de dicho fotograma predecible estan correlacionadas espacialmente.
Punto 77: El medio legible por ordenador de acuerdo con el punto 68, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion seleccionada de un grupo que comprende una informacion de proyeccion de pfxeles, una prediccion de vectores de movimiento espacial, una informacion de proyeccion de pfxeles y de prediccion de vectores de movimiento espacial combinadas y una informacion de prediccion de multiples hipotesis.
Punto 78: El medio legible por ordenador de acuerdo con el punto 68, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia es nula y dichos datos de identificacion de modo identifican que dicha parte de dicho fotograma de referencia incluye dicha parte de dicho fotograma predecible.
Elemento 79: Un aparato para su uso en decodificar los datos de video para una secuencia de fotogramas de video en una pluralidad de fotogramas de video que incluye al menos un fotograma predecible seleccionado de un grupo de fotogramas predecibles que comprenden un fotograma P y un fotograma B, comprendiendo dicho aparato:
5
10
15
20
25
30
35
una memoria para almacenar la informacion de movimiento; y
una logica acoplada operativamente a dicha memoria y configurada para almacenar en dicha memoria la informacion de movimiento asociada con al menos una parte de al menos un fotograma de referencia, comprobar que los datos de identificacion de modo identifican que al menos una parte de un fotograma predecible puede obtenerse directamente usando al menos dicha informacion de movimiento almacenada en una memoria intermedia, y generar dicha parte de dicho fotograma predecible usando dicha informacion de movimiento almacenada en una memoria intermedia.
Punto 80: El aparato de acuerdo con el punto 79, en el que dichos datos de identificacion de modo definen un tipo de modelo de prediccion necesaria para decodificar dicha parte codificada de dicho fotograma predecible.
Punto 81: El aparato de acuerdo con el punto 80, en el que dicho tipo de modelo de prediccion incluye un modelo de prediccion directa mejorado que incluye al menos un submodo seleccionado de un grupo que comprende un submodo de proyeccion de movimiento, un submodo de prediccion de vectores de movimiento espacial, y un submodo de promedio ponderado
Punto 82: El aparato de acuerdo con el punto 81, en el que dichos datos de identificacion de modo identifican dicho al menos un submodo.
Punto 83: El aparato de acuerdo con el punto 79, en el que dicha parte de dicho fotograma de referencia incluye unos datos para al menos un pixel dentro de dicho fotograma de referencia, y dicha parte de dicho fotograma predecible incluye unos datos para al menos un pixel dentro de dicho fotograma predecible.
Punto 84: El aparato de acuerdo con el punto 83, en el que dicha parte de dicho fotograma de referencia incluye unos datos de al menos una parte de un macrobloque dentro de dicho fotograma de referencia, y dicha parte de dicho fotograma predecible incluye unos datos para al menos una parte de un macrobloque dentro de dicho fotograma predecible.
Punto 85: El aparato de acuerdo con el punto 79, en el que dicho fotograma de referencia precede temporalmente a dicho fotograma predecible dentro de dicha secuencia de fotogramas de video.
Punto 86: El aparato de acuerdo con el punto 79, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion seleccionada de un grupo que comprende una informacion de velocidad y una informacion de aceleracion.
Punto 87: El aparato de acuerdo con el punto 79, en el que dicha parte de dicho fotograma de referencia y dicha parte de dicho fotograma predecible estan correlacionados espacialmente.
Punto 88: El aparato de acuerdo con el punto 79, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia incluye una informacion seleccionada de un grupo que comprende una informacion de proyeccion de pfxeles, una prediccion de vectores de movimiento espacial, una informacion de proyeccion de pfxeles y de prediccion de vectores de movimiento espacial combinadas y una informacion de prediccion de multiples hipotesis.
Punto 89: El aparato de acuerdo con el punto 79, en el que dicha informacion de movimiento asociada con dicha parte de dicho fotograma de referencia es nula y dichos datos de identificacion de modo identifican que dicha parte de dicho fotograma de referencia incluye dicha parte de dicho fotograma predecible.
Punto 90: El aparato de acuerdo con el punto 79, en el que dicha logica incluye un codec.

Claims (16)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    REIVINDICACIONES
    1. Un procedimiento de codificacion de v^deo, comprendiendo el procedimiento:
    codificar un fotograma P de v^deo predictivo actual con un codificador (1202) de video, para producir un video (1210) codificado en un flujo de bits, en el que la codificacion incluye:
    seleccionar un modo de macrobloque de entre varios modos de macrobloque posibles para el fotograma P actual, en el que el fotograma P actual tiene varios fotogramas de referencia, y en el que los varios modos de macrobloque incluyen:
    un INTRA modo en el que se intracodifica un macrobloque actual del fotograma P actual; un primer INTER modo en el que el macrobloque actual se codifica en relacion con uno de los varios fotogramas de referencia usando un movimiento cero, en el que el fotograma P actual tiene un fotograma anterior entre los varios fotogramas de referencia, y en el que, de acuerdo con el primer INTER modo, el macrobloque actual se copia del fotograma anterior usando un movimiento cero;
    un segundo INTER modo en el que el macrobloque actual se codifica con una compensacion de movimiento en relacion con uno de los varios fotogramas de referencia usando la informacion de vector de movimiento que se codifica en el flujo de bits, en el que, de acuerdo con el segundo INTER modo, la informacion de vector de movimiento para el macrobloque actual se codifica en el flujo de bits como una informacion de vector de movimiento diferencial;
    un tercer INTER modo en el que el macrobloque actual se codifica con una compensacion de movimiento usando el modo y la informacion de vector de movimiento del macrobloque colocado en el fotograma anterior, en el que si dicho macrobloque colocado tambien se codifica en el tercer INTER modo, se usa la informacion de vector de movimiento para dicho macrobloque colocado; y
    codificar el macrobloque actual de acuerdo con el modo de macrobloque seleccionado; y
    emitir, desde el codificador de video, el video codificado en el flujo de bits.
  2. 2. El procedimiento de la reivindicacion 1, en el que de acuerdo con el segundo INTER modo, la codificacion de la informacion de vector de movimiento para el macrobloque actual incluye:
    predecir la informacion de vector de movimiento para el macrobloque actual;
    determinar la informacion de vector de movimiento diferencial para el macrobloque actual basandose en las diferencias entre la informacion de vector de movimiento y la informacion de vector de movimiento predicha para el macrobloque actual; y
    codificar mediante entropfa la informacion de vector de movimiento diferencial para el macrobloque actual.
  3. 3. Un procedimiento de decodificacion de video, comprendiendo el procedimiento:
    recibir un video (1210) codificado en un flujo de bits; y
    decodificar un fotograma P predictivo actual usando el video codificado con un decodificador (1302) de video, en el que la decodificacion incluye:
    seleccionar un modo de macrobloque de entre varios modos de macrobloque posibles para el fotograma P actual, en el que el fotograma P actual tiene varios fotogramas de referencia, y en el que los varios modos de macrobloque incluyen:
    un INTRA modo en el que se intradecodifica un macrobloque actual del fotograma P actual; un primer INTER modo en el que el macrobloque actual se decodifica en relacion con uno de los varios fotogramas de referencia usando un movimiento cero, en el que el fotograma P actual tiene un fotograma anterior entre los varios fotogramas de referencia, y en el que, de acuerdo con el primer INTER modo, el macrobloque actual se copia del fotograma anterior usando un movimiento cero;
    un segundo INTER modo en el que el macrobloque actual se decodifica con una compensacion de movimiento en relacion con uno de los varios fotogramas de referencia usando la informacion de vector de movimiento que se decodifica del flujo de bits, en el que, de acuerdo con el segundo INTER modo, la informacion de vector de movimiento para el macrobloque actual se decodifica en el flujo de bits como una informacion de vector de movimiento diferencial; y
    un tercer INTER modo en el que el macrobloque actual se decodifica con una compensacion de movimiento usando el modo y la informacion de vector de movimiento del macrobloque colocado en el fotograma anterior, en el que si dicho macrobloque colocado tambien se codifica en el tercer INTER modo, se usa la informacion de vector de movimiento para dicho macrobloque colocado; y
    decodificar el macrobloque actual de acuerdo con el modo de macrobloque seleccionado.
  4. 4. El procedimiento de la reivindicacion 3, en el que, de acuerdo con el segundo INTER modo, la decodificacion de la informacion de vector de movimiento para el macrobloque actual incluye:
    5
    10
    15
    20
    25
    30
    predecir la informacion de vector de movimiento para el macrobloque actual;
    codificar mediante entropfa la informacion de vector de movimiento diferencial para el macrobloque actual; y combinar la informacion de vector de movimiento diferencial para el macrobloque actual con la informacion de vector de movimiento predicha para el macrobloque actual.
  5. 5. El procedimiento de cualquiera de las reivindicaciones 1-4, en el que el video codificado en el flujo de bits incluye una informacion de modo de macrobloque que indica el modo de macrobloque seleccionado.
  6. 6. El procedimiento de la reivindicacion 5, en el que el video codificado en el flujo de bits incluye ademas una informacion de submodos.
  7. 7. El procedimiento de acuerdo con la reivindicacion 1, en el que la seleccion del modo de macrobloque para el macrobloque actual del fotograma P actual se basa en la optimizacion tasa-distorsion.
  8. 8. El procedimiento de acuerdo con la reivindicacion 1, en el que la seleccion del modo de macrobloque para el
    macrobloque actual del fotograma P actual se basa en los requisitos de tasa de bits.
  9. 9. El procedimiento de acuerdo con la reivindicacion 1, en el que la seleccion del modo de macrobloque para el
    macrobloque actual del fotograma P actual se basa en los requisitos de distorsion.
  10. 10. El procedimiento de acuerdo con la reivindicacion 1, en el que la seleccion del modo de macrobloque incluye pasar por alto selectivamente la estimacion de movimiento para el macrobloque actual del fotograma P actual.
  11. 11. Un aparato (200) de procesamiento de video adaptado para realizar las etapas del procedimiento de cualquiera de las reivindicaciones 1-10.
  12. 12. El aparato de acuerdo con la reivindicacion 11, en el que el aparato comprende un procesador, una memoria, una pantalla, un sistema operativo, un microfono, una camara y una conexion de red.
  13. 13. El aparato de acuerdo con la reivindicacion 12, en el que el aparato comprende una logica (202) implementada en hardware para realizar el procedimiento.
  14. 14. El aparato de acuerdo con la reivindicacion 12, en el que el aparato comprende una logica (202) implementada en software para realizar el procedimiento.
  15. 15. El aparato de acuerdo con la reivindicacion 11, en el que el aparato comprende una logica (202) que implementa unos modulos que incluyen un modulo (1014, 1108) de cuantificacion inversa, un modulo (1018, 1112) de transformada de coseno discreta inversa, un filtro (1024, 1116) de bucle, una memoria (1026, 1118) intermedia de fotograma, un modulo (1022, 1110) de compensacion de movimiento y una memoria (1206, 1308) intermedia de vector de movimiento.
  16. 16. Uno o mas medios legibles por ordenador que tienen almacenados en los mismos unas instrucciones ejecutables por ordenador que, cuando se ejecutan en un dispositivo informatico, hacen que el dispositivo informatico realice las etapas del procedimiento de cualquiera de las reivindicaciones 1-10.
ES10016061.3T 2002-01-25 2003-01-14 Procedimiento y aparato de codificación de vídeo mejorado Expired - Lifetime ES2638295T3 (es)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US35212702P 2002-01-25 2002-01-25
US352127P 2002-01-25
US37600502P 2002-04-26 2002-04-26
US376005P 2002-04-26
US10/186,284 US7003035B2 (en) 2002-01-25 2002-06-27 Video coding methods and apparatuses
US186284 2002-06-27

Publications (1)

Publication Number Publication Date
ES2638295T3 true ES2638295T3 (es) 2017-10-19

Family

ID=27617500

Family Applications (1)

Application Number Title Priority Date Filing Date
ES10016061.3T Expired - Lifetime ES2638295T3 (es) 2002-01-25 2003-01-14 Procedimiento y aparato de codificación de vídeo mejorado

Country Status (6)

Country Link
US (7) US7003035B2 (es)
EP (4) EP2207355B1 (es)
JP (4) JP4522658B2 (es)
KR (1) KR100939855B1 (es)
DE (1) DE20321894U1 (es)
ES (1) ES2638295T3 (es)

Families Citing this family (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6983018B1 (en) * 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
EP2262269B1 (en) * 2001-12-17 2018-01-24 Microsoft Technology Licensing, LLC Skip macroblock coding
JP4114859B2 (ja) 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
USRE50574E1 (en) 2002-01-09 2025-09-02 Dolby International Ab Motion vector coding method and motion vector decoding method
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
JP2004088722A (ja) * 2002-03-04 2004-03-18 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
US8401084B2 (en) * 2002-04-01 2013-03-19 Broadcom Corporation System and method for multi-row decoding of video with dependent rows
US7620109B2 (en) * 2002-04-10 2009-11-17 Microsoft Corporation Sub-pixel interpolation in motion estimation and compensation
US7305034B2 (en) * 2002-04-10 2007-12-04 Microsoft Corporation Rounding control for multi-stage interpolation
ES2745059T3 (es) 2002-04-19 2020-02-27 Panasonic Ip Corp America Método de cálculo de vectores de movimiento
US20030202590A1 (en) * 2002-04-30 2003-10-30 Qunshan Gu Video encoding using direct mode predicted frames
KR100491530B1 (ko) 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US7289674B2 (en) * 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
US7280700B2 (en) * 2002-07-05 2007-10-09 Microsoft Corporation Optimization techniques for data compression
JP4724351B2 (ja) * 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
CN1312927C (zh) * 2002-07-15 2007-04-25 株式会社日立制作所 动态图像编码方法及解码方法
KR100865034B1 (ko) 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
US7154952B2 (en) * 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
KR100506864B1 (ko) * 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
KR100693669B1 (ko) * 2003-03-03 2007-03-09 엘지전자 주식회사 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법
KR100517504B1 (ko) * 2003-07-01 2005-09-28 삼성전자주식회사 B-픽처의 움직임 보상 모드 결정방법 및 장치
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7499495B2 (en) 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7426308B2 (en) * 2003-07-18 2008-09-16 Microsoft Corporation Intraframe and interframe interlace coding and decoding
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
KR100553745B1 (ko) 2003-08-06 2006-02-20 삼성에스디아이 주식회사 평판표시장치
US7623574B2 (en) * 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US7577200B2 (en) * 2003-09-07 2009-08-18 Microsoft Corporation Extended range variable length coding/decoding of differential motion vector information
US7606308B2 (en) * 2003-09-07 2009-10-20 Microsoft Corporation Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7317839B2 (en) * 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7092576B2 (en) * 2003-09-07 2006-08-15 Microsoft Corporation Bitplane coding for macroblock field/frame coding type information
US7620106B2 (en) * 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7616692B2 (en) * 2003-09-07 2009-11-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US7599438B2 (en) 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
EP1665804A1 (en) * 2003-09-17 2006-06-07 Thomson Licensing S.A. Adaptive reference picture generation
US20070014359A1 (en) * 2003-10-09 2007-01-18 Cristina Gomila Direct mode derivation process for error concealment
US7889792B2 (en) * 2003-12-24 2011-02-15 Apple Inc. Method and system for video encoding using a variable number of B frames
US7869503B2 (en) * 2004-02-06 2011-01-11 Apple Inc. Rate and quality controller for H.264/AVC video coder and scene analyzer therefor
US7492820B2 (en) 2004-02-06 2009-02-17 Apple Inc. Rate control for video coder employing adaptive linear regression bits modeling
US7986731B2 (en) 2004-02-06 2011-07-26 Apple Inc. H.264/AVC coder incorporating rate and quality controller
EP1774794A1 (en) * 2004-07-20 2007-04-18 Qualcomm Incorporated Method and apparatus for frame rate up conversion with multiple reference frames and variable block sizes
US8155191B2 (en) * 2004-11-04 2012-04-10 Thomson Licensing Method and apparatus for fast mode decision of B-frames in a video encoder
KR100669635B1 (ko) * 2004-12-06 2007-01-15 엘지전자 주식회사 상관성 기반 움직임 보상방법
US8548055B2 (en) * 2005-03-10 2013-10-01 Qualcomm Incorporated Encoding of multimedia data
US8457203B2 (en) * 2005-05-26 2013-06-04 Ntt Docomo, Inc. Method and apparatus for coding motion and prediction weighting parameters
EP1894414B1 (en) * 2005-06-01 2008-12-03 Nxp B.V. Multiple pass video decoding method and device
KR100794623B1 (ko) * 2005-06-20 2008-01-14 주식회사 픽스트리 가속화 프로세싱을 실시간으로 수행하는 디코더시스템의 작동방법
US9077960B2 (en) 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
WO2007024648A2 (en) * 2005-08-25 2007-03-01 Nms Communications Corporation Methods and apparatus for differential encoding
WO2007031918A2 (en) * 2005-09-12 2007-03-22 Nxp B.V. Method of receiving a multimedia signal comprising audio and video frames
KR100727989B1 (ko) * 2005-10-01 2007-06-14 삼성전자주식회사 동영상 부호화시의 인터 모드 결정 방법 및 장치
CN101326833B (zh) * 2005-12-07 2012-11-14 汤姆森特许公司 利用参考帧选择规则进行视频错误隐藏的方法与装置
US8102916B1 (en) 2006-01-12 2012-01-24 Zenverge, Inc. Dynamically changing media compression format in compressed domain
US7830800B1 (en) 2006-01-12 2010-11-09 Zenverge, Inc. Architecture for combining media processing with networking
US9215475B2 (en) * 2006-02-02 2015-12-15 Thomson Licensing Method and apparatus for motion estimation using combined reference bi-prediction
KR20100085199A (ko) 2006-04-28 2010-07-28 가부시키가이샤 엔티티 도코모 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측 부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법 및 화상 예측 복호 프로그램
US8358693B2 (en) * 2006-07-14 2013-01-22 Microsoft Corporation Encoding visual data with computation scheduling and allocation
US8311102B2 (en) * 2006-07-26 2012-11-13 Microsoft Corporation Bitstream switching in multiple bit-rate video streaming environments
US8888592B1 (en) 2009-06-01 2014-11-18 Sony Computer Entertainment America Llc Voice overlay
US8340193B2 (en) * 2006-08-04 2012-12-25 Microsoft Corporation Wyner-Ziv and wavelet video coding
US8250618B2 (en) * 2006-09-18 2012-08-21 Elemental Technologies, Inc. Real-time network adaptive digital video encoding/decoding
US7388521B2 (en) * 2006-10-02 2008-06-17 Microsoft Corporation Request bits estimation for a Wyner-Ziv codec
US20080084932A1 (en) * 2006-10-06 2008-04-10 Microsoft Corporation Controlling loop filtering for interlaced video frames
US8311114B1 (en) * 2006-12-06 2012-11-13 Zenverge, Inc. Streamlined transcoder architecture
CN101196889A (zh) * 2006-12-08 2008-06-11 国际商业机器公司 优化存储系统中的文件放置的方法及装置
KR101383540B1 (ko) 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
WO2008126843A1 (ja) 2007-04-09 2008-10-23 Ntt Docomo, Inc. 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法および画像予測復号プログラム
US8340192B2 (en) * 2007-05-25 2012-12-25 Microsoft Corporation Wyner-Ziv coding with multiple side information
US8526499B2 (en) * 2007-06-15 2013-09-03 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording medium
WO2008153262A1 (en) 2007-06-15 2008-12-18 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium
FR2917872A1 (fr) * 2007-06-25 2008-12-26 France Telecom Procedes et dispositifs de codage et de decodage d'une sequence d'images representee a l'aide de tubes de mouvement, produits programme d'ordinateur et signal correspondant.
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US8184715B1 (en) * 2007-08-09 2012-05-22 Elemental Technologies, Inc. Method for efficiently executing video encoding operations on stream processor architectures
US8121197B2 (en) * 2007-11-13 2012-02-21 Elemental Technologies, Inc. Video encoding and decoding using parallel processors
US8968087B1 (en) 2009-06-01 2015-03-03 Sony Computer Entertainment America Llc Video game overlay
US8147339B1 (en) 2007-12-15 2012-04-03 Gaikai Inc. Systems and methods of serving game video
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US8265168B1 (en) 2008-02-01 2012-09-11 Zenverge, Inc. Providing trick mode for video stream transmitted over network
WO2009097284A1 (en) * 2008-02-01 2009-08-06 Zenverge, Inc. Intermediate compression of reference frames for transcoding
KR100939917B1 (ko) * 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
JP5406465B2 (ja) 2008-04-24 2014-02-05 株式会社Nttドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法及び画像予測復号プログラム
US8311111B2 (en) 2008-09-11 2012-11-13 Google Inc. System and method for decoding using parallel processing
JP5401071B2 (ja) 2008-10-09 2014-01-29 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法
JP5461419B2 (ja) * 2008-10-27 2014-04-02 日本電信電話株式会社 画素予測値生成手順自動生成方法、画像符号化方法、画像復号方法、それらの装置、それらのプログラム、およびこれらのプログラムを記録した記録媒体
US8855191B2 (en) * 2008-11-24 2014-10-07 Broadcast International, Inc. Parallelization of high-performance video encoding on a single-chip multiprocessor
US8926435B2 (en) 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
US9042680B2 (en) * 2009-02-12 2015-05-26 Zoran (France) S.A. Temporal video interpolation method with 2-frame occlusion handling
JP5001964B2 (ja) 2009-02-18 2012-08-15 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
TWI405469B (zh) * 2009-02-20 2013-08-11 Sony Corp Image processing apparatus and method
JP5580541B2 (ja) * 2009-03-06 2014-08-27 パナソニック株式会社 画像復号化装置および画像復号化方法
JP5586101B2 (ja) 2009-03-23 2014-09-10 株式会社Nttドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法、及び画像予測復号プログラム
JP5258664B2 (ja) 2009-04-14 2013-08-07 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
US9723319B1 (en) 2009-06-01 2017-08-01 Sony Interactive Entertainment America Llc Differentiation for achieving buffered decoding and bufferless decoding
KR101379186B1 (ko) 2009-08-21 2014-04-10 에스케이 텔레콤주식회사 인트라 예측 부호화/복호화 방법 및 장치
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
US8665367B2 (en) * 2010-01-29 2014-03-04 Sharp Laboratories Of America, Inc. Video resolution enhancement technique
US8995527B2 (en) * 2010-02-19 2015-03-31 Qualcomm Incorporated Block type signalling in video coding
WO2011142815A1 (en) * 2010-05-12 2011-11-17 Thomson Licensing Methods and apparatus for uni-prediction of self-derivation of motion estimation
US9706204B2 (en) 2010-05-19 2017-07-11 Sk Telecom Co., Ltd. Image encoding/decoding device and method
US8676591B1 (en) 2010-08-02 2014-03-18 Sony Computer Entertainment America Llc Audio deceleration
KR101770662B1 (ko) * 2010-07-20 2017-08-23 가부시키가이샤 엔.티.티.도코모 화상 예측 복호 장치 및 화상 예측 복호 방법
KR20120009861A (ko) * 2010-07-22 2012-02-02 에스케이 텔레콤주식회사 확장된 스킵모드를 이용한 영상 부호화/복호화 방법 및 장치
WO2012037165A2 (en) 2010-09-13 2012-03-22 Gaikai, Inc. Add-on management
CN103442774B (zh) 2010-09-13 2016-08-10 索尼电脑娱乐美国公司 双模式程序执行和加载
US8787443B2 (en) 2010-10-05 2014-07-22 Microsoft Corporation Content adaptive deblocking during video encoding and decoding
CA3083703C (en) 2010-10-06 2021-12-21 Ntt Docomo, Inc. Image predictive encoding device, image predictive encoding method, image predictive encoding program, image predictive decoding device, image predictive decoding method, and image predictive decoding program
CN103081475B (zh) 2010-11-23 2016-04-27 Lg电子株式会社 编码和解码图像的方法及使用该方法的设备
JP5298140B2 (ja) 2011-01-12 2013-09-25 株式会社エヌ・ティ・ティ・ドコモ 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法、及び画像予測復号プログラム
US9307262B2 (en) * 2011-01-13 2016-04-05 Texas Instruments Incorporated Methods and systems for facilitating multimedia data encoding utilizing configured buffer information
US8548057B2 (en) 2011-01-25 2013-10-01 Microsoft Corporation Video coding redundancy reduction
US9042458B2 (en) 2011-04-01 2015-05-26 Microsoft Technology Licensing, Llc Multi-threaded implementations of deblock filtering
TWI519139B (zh) * 2011-04-14 2016-01-21 聯詠科技股份有限公司 資料處理方法及數位影像處理裝置
CN107529709B (zh) * 2011-06-16 2019-05-07 Ge视频压缩有限责任公司 解码器、编码器、解码和编码视频的方法及存储介质
GB2493212B (en) * 2011-07-29 2015-03-11 Canon Kk Method and device for error concealment in motion estimation of video data
JP5485969B2 (ja) 2011-11-07 2014-05-07 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
US9100657B1 (en) 2011-12-07 2015-08-04 Google Inc. Encoding time management in parallel real-time video encoding
US9749645B2 (en) 2012-06-22 2017-08-29 Microsoft Technology Licensing, Llc Coded-block-flag coding and derivation
AU2013285749B2 (en) 2012-07-02 2016-06-16 Samsung Electronics Co., Ltd. Method and apparatus for predicting motion vector for coding video or decoding video
US9635356B2 (en) * 2012-08-07 2017-04-25 Qualcomm Incorporated Multi-hypothesis motion compensation for scalable video coding and 3D video coding
JP5798539B2 (ja) 2012-09-24 2015-10-21 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測復号装置及び動画像予測復号方法
CN103905825B (zh) * 2012-12-27 2018-02-13 中国电信股份有限公司 视频图像的运动补偿方法和装置
US20140198845A1 (en) * 2013-01-10 2014-07-17 Florida Atlantic University Video Compression Technique
KR101560186B1 (ko) * 2013-03-18 2015-10-14 삼성전자주식회사 움직임 예측에 있어 적응적 탐색 범위 결정을 이용한 부호화, 복호화 방법 및 장치
CN104488271B (zh) * 2013-07-26 2019-05-07 北京大学深圳研究生院 一种基于p帧的多假设运动补偿方法
US9774881B2 (en) 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US9942560B2 (en) 2014-01-08 2018-04-10 Microsoft Technology Licensing, Llc Encoding screen capture data
CN106303544B (zh) * 2015-05-26 2019-06-11 华为技术有限公司 一种视频编解码方法、编码器和解码器
WO2017031671A1 (zh) * 2015-08-24 2017-03-02 华为技术有限公司 运动矢量场编码方法和解码方法、编码和解码装置
US9794574B2 (en) 2016-01-11 2017-10-17 Google Inc. Adaptive tile data size coding for video and image compression
US10542258B2 (en) 2016-01-25 2020-01-21 Google Llc Tile copying for video compression
US10547873B2 (en) 2016-05-23 2020-01-28 Massachusetts Institute Of Technology System and method for providing real-time super-resolution for compressed videos
CN110249628B (zh) 2017-02-06 2021-08-20 华为技术有限公司 用于预测分区的视频编码器和解码器
CN110546956B (zh) * 2017-06-30 2021-12-28 华为技术有限公司 一种帧间预测的方法及装置
WO2019147067A1 (ko) * 2018-01-26 2019-08-01 한국전자통신연구원 시간적 움직임 정보를 이용하는 영상 부호화 및 영상 복호화를 위한 방법 및 장치
KR102934793B1 (ko) 2018-01-26 2026-03-05 한국전자통신연구원 시간적 움직임 정보를 이용하는 영상 부호화 및 영상 복호화를 위한 방법 및 장치
CN112236995B (zh) 2018-02-02 2024-08-06 苹果公司 基于多假设运动补偿技术的视频编码、解码方法及编码器、解码器
US11924440B2 (en) 2018-02-05 2024-03-05 Apple Inc. Techniques of multi-hypothesis motion compensation
CN109379594B (zh) * 2018-10-31 2022-07-19 北京佳讯飞鸿电气股份有限公司 视频编码压缩方法、装置、设备和介质
FR3120173A1 (fr) * 2021-02-19 2022-08-26 Orange Détermination d’au moins un mode de codage d’image ou d’au moins un mode de décodage d’image, codage et décodage d’image utilisant une telle détermination
US20220351392A1 (en) * 2021-04-30 2022-11-03 Nvidia Corporation Object tracking using optical flow

Family Cites Families (283)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA943973A (en) * 1970-06-24 1974-03-19 Farbwerke Hoechst Aktiengesellschaft Vormals Meister Lucius And Bruning Process for the preparation of perfluorated compounds
JPS56100754A (en) 1980-01-17 1981-08-12 Mitsui Toatsu Chem Inc Preparation of 2-halogenoacrylonitrile
JPS56128070A (en) 1980-03-13 1981-10-07 Fuji Photo Film Co Ltd Band compressing equipment of variable density picture
JPS60158786A (ja) 1984-01-30 1985-08-20 Kokusai Denshin Denwa Co Ltd <Kdd> 画像動き量検出方式
JPS61205086A (ja) 1985-03-08 1986-09-11 Mitsubishi Electric Corp 画像符号化復号化装置
US4661849A (en) 1985-06-03 1987-04-28 Pictel Corporation Method and apparatus for providing motion estimation signals for communicating image sequences
US4661853A (en) 1985-11-01 1987-04-28 Rca Corporation Interfield image motion detector for video signals
JPS62213494A (ja) 1986-03-14 1987-09-19 Kokusai Denshin Denwa Co Ltd <Kdd> 動画像信号の動き補償方式
JPS62231494A (ja) 1986-03-31 1987-10-12 Nec Corp デコ−ダドライバ回路
FR2599577B1 (fr) 1986-05-29 1988-08-05 Guichard Jacques Procede de codage par transformation pour la transmission de signaux d'image.
DE3704777C1 (de) 1987-02-16 1988-04-07 Ant Nachrichtentech Verfahren zum UEbertragen und zum Wiedergeben von Fernsehbildsequenzen
NL8700565A (nl) 1987-03-10 1988-10-03 Philips Nv Televisiesysteem waarin aan een transformatiekodering onderworpen gedigitaliseerde beeldsignalen worden overgebracht van een kodeerstation naar een dekodeerstation.
EP0290085B1 (de) 1987-05-06 1996-03-20 Philips Patentverwaltung GmbH System zur Übertragung von Videobildern
EP0294962B1 (en) 1987-06-09 1995-07-19 Sony Corporation Motion vector estimation in television images
EP0294958B1 (en) 1987-06-09 1995-08-23 Sony Corporation Motion compensated interpolation of digital television images
FR2648254B2 (fr) 1988-09-23 1991-08-30 Thomson Csf Procede et dispositif d'estimation de mouvement dans une sequence d'images animees
US4985768A (en) 1989-01-20 1991-01-15 Victor Company Of Japan, Ltd. Inter-frame predictive encoding system with encoded and transmitted prediction error
JPH07109990B2 (ja) 1989-04-27 1995-11-22 日本ビクター株式会社 適応型フレーム間予測符号化方法及び復号方法
JPH0832047B2 (ja) 1989-04-28 1996-03-27 日本ビクター株式会社 予測符号化装置
AU612543B2 (en) 1989-05-11 1991-07-11 Panasonic Corporation Moving image signal encoding apparatus and decoding apparatus
USRE35910E (en) 1989-05-11 1998-09-29 Matsushita Electric Industrial Co., Ltd. Moving image signal encoding apparatus and decoding apparatus
JP2562499B2 (ja) 1989-05-29 1996-12-11 日本電信電話株式会社 高能率画像符号化装置およびその復号化装置
EP0713340B1 (en) 1989-10-14 2001-08-22 Sony Corporation Video signal coding/decoding method and apparatus
JP2712645B2 (ja) 1989-10-14 1998-02-16 ソニー株式会社 動きベクトル伝送方法及びその装置並びに動きベクトル復号化方法及びその装置
JP2787599B2 (ja) 1989-11-06 1998-08-20 富士通株式会社 画像信号符号化制御方式
NL9000424A (nl) 1990-02-22 1991-09-16 Philips Nv Overdrachtsysteem voor gedigitaliseerde televisiebeelden.
JPH082107B2 (ja) 1990-03-02 1996-01-10 国際電信電話株式会社 動画像のハイブリッド符号化方法及びその装置
JPH03265290A (ja) 1990-03-14 1991-11-26 Toshiba Corp テレビジョン信号走査線変換器
US5103306A (en) 1990-03-28 1992-04-07 Transitions Research Corporation Digital image compression employing a resolution gradient
US5091782A (en) 1990-04-09 1992-02-25 General Instrument Corporation Apparatus and method for adaptively compressing successive blocks of digital video
US5068724A (en) 1990-06-15 1991-11-26 General Instrument Corporation Adaptive motion compensation for digital television
US5175618A (en) 1990-10-31 1992-12-29 Victor Company Of Japan, Ltd. Compression method for interlace moving image signals
US5193004A (en) 1990-12-03 1993-03-09 The Trustees Of Columbia University In The City Of New York Systems and methods for coding even fields of interlaced video sequences
USRE35093E (en) 1990-12-03 1995-11-21 The Trustees Of Columbia University In The City Of New York Systems and methods for coding even fields of interlaced video sequences
US5111292A (en) 1991-02-27 1992-05-05 General Electric Company Priority selection apparatus as for a video signal processor
JP3119888B2 (ja) 1991-04-18 2000-12-25 松下電器産業株式会社 信号処理方法及び記録再生装置
US5185819A (en) 1991-04-29 1993-02-09 General Electric Company Video signal compression apparatus for independently compressing odd and even fields
CA2087946A1 (en) 1991-05-24 1992-11-25 Michael Burl Video image processing
US5467136A (en) 1991-05-31 1995-11-14 Kabushiki Kaisha Toshiba Video decoder for determining a motion vector from a scaled vector and a difference vector
US5317397A (en) 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
JP2977104B2 (ja) 1991-07-26 1999-11-10 ソニー株式会社 動画像データエンコード方法および装置、並びに動画像データデコード方法および装置
US5539466A (en) 1991-07-30 1996-07-23 Sony Corporation Efficient coding apparatus for picture signal and decoding apparatus therefor
JP2699703B2 (ja) 1991-07-31 1998-01-19 松下電器産業株式会社 動き補償予測方法とそれを用いた画像信号符号化方法
JPH0541862A (ja) 1991-08-03 1993-02-19 Sony Corp 動きベクトルの可変長符号化方式
US5428396A (en) 1991-08-03 1995-06-27 Sony Corporation Variable length coding/decoding method for motion vectors
JP3001688B2 (ja) 1991-08-05 2000-01-24 株式会社大一商会 パチンコ球の循環制御装置
JP2507204B2 (ja) 1991-08-30 1996-06-12 松下電器産業株式会社 映像信号符号化装置
CA2079434A1 (en) 1991-09-30 1993-03-31 Derek Andrew Motion vector estimation, motion picture encoding and storage
JP2991833B2 (ja) 1991-10-11 1999-12-20 松下電器産業株式会社 インターレス走査ディジタルビデオ信号の符号化装置及びその方法
JP2586260B2 (ja) 1991-10-22 1997-02-26 三菱電機株式会社 適応的ブロッキング画像符号化装置
JP3134424B2 (ja) 1991-10-31 2001-02-13 ソニー株式会社 可変長符号化方法及び装置
JP2962012B2 (ja) 1991-11-08 1999-10-12 日本ビクター株式会社 動画像符号化装置及びその復号装置
JPH05137131A (ja) * 1991-11-13 1993-06-01 Sony Corp フレーム間動き予測方法
US5227878A (en) 1991-11-15 1993-07-13 At&T Bell Laboratories Adaptive coding and decoding of frames and fields of video
US5510840A (en) 1991-12-27 1996-04-23 Sony Corporation Methods and devices for encoding and decoding frame signals and recording medium therefor
JP2524044B2 (ja) 1992-01-22 1996-08-14 松下電器産業株式会社 画像符号化方法及び画像符号化装置
US5594813A (en) 1992-02-19 1997-01-14 Integrated Information Technology, Inc. Programmable architecture and methods for motion estimation
DE69322769T2 (de) 1992-03-03 1999-07-22 Kabushiki Kaisha Toshiba, Kawasaki, Kanagawa Koder für zeitveränderliche bilder
US5293229A (en) 1992-03-27 1994-03-08 Matsushita Electric Corporation Of America Apparatus and method for processing groups of fields in a video data compression system
US5287420A (en) 1992-04-08 1994-02-15 Supermac Technology Method for image compression on a personal computer
KR0166716B1 (ko) 1992-06-18 1999-03-20 강진구 블럭 dpcm을 이용한 부호화/복호화방법 및 장치
US6226327B1 (en) 1992-06-29 2001-05-01 Sony Corporation Video coding method and apparatus which select between frame-based and field-based predictive modes
US5666461A (en) 1992-06-29 1997-09-09 Sony Corporation High efficiency encoding and decoding of picture signals and recording medium containing same
JP3201079B2 (ja) 1992-07-03 2001-08-20 ケイディーディーアイ株式会社 インターレース動画像信号の動き補償予測方法、符号化方法及び装置
US5412435A (en) 1992-07-03 1995-05-02 Kokusai Denshin Denwa Kabushiki Kaisha Interlaced video signal motion compensation prediction system
JP2510456B2 (ja) 1992-08-27 1996-06-26 三菱電機株式会社 画像符号化装置
JPH06153180A (ja) 1992-09-16 1994-05-31 Fujitsu Ltd 画像データ符号化方法及び装置
KR0166722B1 (ko) 1992-11-30 1999-03-20 윤종용 부호화 및 복호화방법 및 그 장치
US5467134A (en) 1992-12-22 1995-11-14 Microsoft Corporation Method and system for compressing video data
US5400075A (en) 1993-01-13 1995-03-21 Thomson Consumer Electronics, Inc. Adaptive variable length encoder/decoder
US5592228A (en) 1993-03-04 1997-01-07 Kabushiki Kaisha Toshiba Video encoder using global motion estimation and polygonal patch motion estimation
JP3312417B2 (ja) 1993-03-18 2002-08-05 ソニー株式会社 画像信号符号化装置及び画像信号復号化装置
JPH06276481A (ja) 1993-03-18 1994-09-30 Sony Corp 画像信号符号化及び復号化方法、並びに記録媒体
WO1994022269A1 (fr) 1993-03-24 1994-09-29 Sony Corporation Procede et appareil pour le codage/decodage de vecteurs de mouvement, et procede et appareil pour le codage/decodage de signaux d'image
US5612732A (en) * 1993-03-31 1997-03-18 Casio Computer Co., Ltd. Portable compact imaging and displaying apparatus with rotatable camera
KR950702083A (ko) 1993-04-08 1995-05-17 오오가 노리오 움직이는 벡터검출방법 및 장치
US5442400A (en) 1993-04-29 1995-08-15 Rca Thomson Licensing Corporation Error concealment apparatus for MPEG-like video data
DE69416717T2 (de) 1993-05-21 1999-10-07 Nippon Telegraph And Telephone Corp., Tokio/Tokyo Bewegtbildkoder und -dekoder
US5448297A (en) 1993-06-16 1995-09-05 Intel Corporation Method and system for encoding images using skip blocks
US5477272A (en) 1993-07-22 1995-12-19 Gte Laboratories Incorporated Variable-block size multi-resolution motion estimation scheme for pyramid coding
US5453799A (en) 1993-11-05 1995-09-26 Comsat Corporation Unified motion estimation architecture
CA2118880A1 (en) 1994-03-11 1995-09-12 Kannan Ramchandran Jpeg/mpeg decoder-compatible optimized thresholding for image and video signal compression
DE69535952D1 (de) 1994-03-30 2009-06-25 Nxp Bv Verfahren und Schaltung zur Bewegungsschätzung zwischen Bildern mit zwei Zeilensprunghalbbildern, und Vorrichtung zur digitalen Signalkodierung mit einer solchen Schaltung
US6091460A (en) 1994-03-31 2000-07-18 Mitsubishi Denki Kabushiki Kaisha Video signal encoding method and system
JP3589480B2 (ja) * 1994-03-31 2004-11-17 三菱電機株式会社 映像信号符号化方式
TW283289B (es) 1994-04-11 1996-08-11 Gen Instrument Corp
US5767898A (en) 1994-06-23 1998-06-16 Sanyo Electric Co., Ltd. Three-dimensional image coding by merger of left and right images
US5796438A (en) 1994-07-05 1998-08-18 Sony Corporation Methods and apparatus for interpolating picture information
US5594504A (en) 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
KR0126871B1 (ko) 1994-07-30 1997-12-29 심상철 양방향 이동벡터 추정을 위한 고속 블럭정합 방식
FR2725577B1 (fr) 1994-10-10 1996-11-29 Thomson Consumer Electronics Procede de codage ou de decodage de vecteurs mouvement et dispositif de codage ou de decodage mettant en oeuvre ledit procede
JP3474005B2 (ja) 1994-10-13 2003-12-08 沖電気工業株式会社 動画像符号化方法及び動画像復号方法
US5623311A (en) 1994-10-28 1997-04-22 Matsushita Electric Corporation Of America MPEG video decoder having a high bandwidth memory
EP0710033A3 (en) 1994-10-28 1999-06-09 Matsushita Electric Industrial Co., Ltd. MPEG video decoder having a high bandwidth memory
JPH08140099A (ja) 1994-11-11 1996-05-31 Canon Inc 符号化装置及び方法
JP2951861B2 (ja) 1994-12-28 1999-09-20 シャープ株式会社 画像符号化装置及び画像復号装置
MY113223A (en) 1994-12-29 2001-12-31 Sony Corp Processing of redundant fields in a moving picture to achive synchronized system operation
US5619281A (en) 1994-12-30 1997-04-08 Daewoo Electronics Co., Ltd Method and apparatus for detecting motion vectors in a frame decimating video encoder
US6275532B1 (en) 1995-03-18 2001-08-14 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
KR0171118B1 (ko) 1995-03-20 1999-03-20 배순훈 비디오신호 부호화 장치
KR0181027B1 (ko) 1995-03-20 1999-05-01 배순훈 화소 단위 움직임 추정을 이용하는 영상처리 시스템
JP3803122B2 (ja) 1995-05-02 2006-08-02 松下電器産業株式会社 画像メモリ装置および動きベクトル検出回路
GB2303267B (en) * 1995-06-06 2000-03-22 Sony Uk Ltd Video compression
GB2301970B (en) * 1995-06-06 2000-03-01 Sony Uk Ltd Motion compensated video processing
US5731850A (en) 1995-06-07 1998-03-24 Maturi; Gregory V. Hybrid hierarchial/full-search MPEG encoder motion estimation
US5687097A (en) 1995-07-13 1997-11-11 Zapex Technologies, Inc. Method and apparatus for efficiently determining a frame motion vector in a video encoder
US5883678A (en) 1995-09-29 1999-03-16 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio
US5995670A (en) 1995-10-05 1999-11-30 Microsoft Corporation Simplified chain encoding
JPH09107547A (ja) 1995-10-09 1997-04-22 Hitachi Ltd 既圧縮動画データ量削減装置および既圧縮動画データ量削減システムならびに既圧縮動画データ量削減方法
JP3377893B2 (ja) * 1995-10-25 2003-02-17 沖電気工業株式会社 動画像符号化復号化装置
US5929940A (en) 1995-10-25 1999-07-27 U.S. Philips Corporation Method and device for estimating motion between images, system for encoding segmented images
KR100211917B1 (ko) 1995-10-26 1999-08-02 김영환 물체 모양정보 부호화 방법
US6192081B1 (en) 1995-10-26 2001-02-20 Sarnoff Corporation Apparatus and method for selecting a coding mode in a block-based coding system
US5963673A (en) 1995-12-20 1999-10-05 Sanyo Electric Co., Ltd. Method and apparatus for adaptively selecting a coding mode for video encoding
JPH09182083A (ja) 1995-12-27 1997-07-11 Matsushita Electric Ind Co Ltd ビデオ画像符号化方法及び復号化方法とその装置
US6055012A (en) 1995-12-29 2000-04-25 Lucent Technologies Inc. Digital multi-view video compression with complexity and compatibility constraints
US5787203A (en) 1996-01-19 1998-07-28 Microsoft Corporation Method and system for filtering compressed video images
US5737019A (en) 1996-01-29 1998-04-07 Matsushita Electric Corporation Of America Method and apparatus for changing resolution by direct DCT mapping
US6957350B1 (en) 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US5798788A (en) 1996-02-01 1998-08-25 David Sarnoff Research Center, Inc. Method and apparatus for evaluating field display functionality of a video decoder
DE69614500T2 (de) 1996-02-27 2001-11-22 Stmicroelectronics S.R.L., Agrate Brianza Speicherverminderung für das Grundprofil und die Hauptebene eines MPEG-2-Dekoders
US5982438A (en) 1996-03-22 1999-11-09 Microsoft Corporation Overlapped motion compensation for object coding
JP3371191B2 (ja) 1996-03-22 2003-01-27 ソニー株式会社 画像信号の符号化方法及び復号方法、並びに、符号化装置及び復号装置
US5847776A (en) 1996-06-24 1998-12-08 Vdonet Corporation Ltd. Method for entropy constrained motion estimation and coding of motion vectors with increased search range
JPH1032828A (ja) * 1996-07-18 1998-02-03 Matsushita Electric Ind Co Ltd 画像符号化方法および装置
JP3263807B2 (ja) * 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
DE19637522A1 (de) 1996-09-13 1998-03-19 Bosch Gmbh Robert Verfahren zur Reduzierung von Daten in Videosignalen
US6130963A (en) 1996-11-22 2000-10-10 C-Cube Semiconductor Ii, Inc. Memory efficient decoding of video frame chroma
WO1998026601A1 (en) 1996-12-12 1998-06-18 Matsushita Electric Industrial Co., Ltd. Picture encoder and picture decoder
US6377628B1 (en) 1996-12-18 2002-04-23 Thomson Licensing S.A. System for maintaining datastream continuity in the presence of disrupted source data
US6167090A (en) 1996-12-26 2000-12-26 Nippon Steel Corporation Motion vector detecting apparatus
EP0891674A2 (en) 1997-01-13 1999-01-20 Koninklijke Philips Electronics N.V. Embedding supplemental data in a digital video signal
EP0786907A3 (en) 1997-01-24 2001-06-13 Texas Instruments Incorporated Video encoder
JPH10224800A (ja) * 1997-02-07 1998-08-21 Matsushita Electric Ind Co Ltd 動きベクトル符号化方法および復号化方法
CA2279923C (en) 1997-02-14 2004-04-06 Nippon Telegraph And Telephone Corporation Predictive coding method and decoding method for dynamic image
US6201927B1 (en) 1997-02-18 2001-03-13 Mary Lafuze Comer Trick play reproduction of MPEG encoded signals
US5991447A (en) 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
USRE38564E1 (en) 1997-03-07 2004-08-10 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
US6005980A (en) 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
US5974184A (en) 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
US6175592B1 (en) 1997-03-12 2001-01-16 Matsushita Electric Industrial Co., Ltd. Frequency domain filtering for down conversion of a DCT encoded picture
US5844613A (en) 1997-03-17 1998-12-01 Microsoft Corporation Global motion estimator for motion video signal encoding
US6263065B1 (en) 1997-03-18 2001-07-17 At&T Corp. Method and apparatus for simulating central queue for distributing call in distributed arrangement of automatic call distributors
US6404813B1 (en) * 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
US5973755A (en) 1997-04-04 1999-10-26 Microsoft Corporation Video encoder and decoder using bilinear motion compensation and lapped orthogonal transforms
JP3129986B2 (ja) 1997-04-09 2001-01-31 日本車輌製造株式会社 杭施工機のトルク管理装置
US6633611B2 (en) * 1997-04-24 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for region-based moving image encoding and decoding
JP3351705B2 (ja) * 1997-04-25 2002-12-03 日本ビクター株式会社 動き補償符号化装置、動き補償符号化方法、及び記録媒体への記録方法
JP3164031B2 (ja) 1997-05-30 2001-05-08 日本ビクター株式会社 動画像符号化復号化装置、動画像符号化復号化方法、及び動画像符号化記録媒体
US6067322A (en) 1997-06-04 2000-05-23 Microsoft Corporation Half pixel motion estimation in motion video signal encoding
EP2285119B1 (en) 1997-06-09 2015-08-05 Hitachi, Ltd. Image decoding method
JPH1169345A (ja) 1997-06-11 1999-03-09 Fujitsu Ltd フレーム間予測動画像符号化装置及び復号装置並びにフレーム間予測動画像符号化方法及び復号方法
JP2828095B2 (ja) 1997-06-23 1998-11-25 松下電器産業株式会社 画像信号復号化装置及び画像信号復号化方法
US6064771A (en) 1997-06-23 2000-05-16 Real-Time Geometry Corp. System and method for asynchronous, adaptive moving picture compression, and decompression
JP2914448B2 (ja) * 1997-06-25 1999-06-28 日本電信電話株式会社 動きベクトル予測符号化方法および動きベクトル復号方法、予測符号化装置および復号装置、並びに、動きベクトルの予測符号化プログラムおよび復号プログラムを記録した記録媒体
JP2897763B2 (ja) 1997-07-28 1999-05-31 日本ビクター株式会社 動き補償符号化装置、復号化装置、符号化方法及び復号化方法
JP3570863B2 (ja) * 1997-08-05 2004-09-29 三菱電機株式会社 動画像復号化装置および動画像復号化方法
KR100252342B1 (ko) 1997-08-12 2000-04-15 전주범 움직임 벡터 부호화 방법 및 그 장치
KR100235356B1 (ko) * 1997-08-13 1999-12-15 전주범 개선된 움직임 추정 장치 및 그 추정 방법
JPH11136683A (ja) 1997-10-27 1999-05-21 Matsushita Electric Ind Co Ltd 映像信号符号化装置
US6477202B1 (en) 1997-09-03 2002-11-05 Matsushita Electric Industrial Co., Ltd. Apparatus of layered picture coding, apparatus of picture decoding, methods of picture decoding, apparatus of recording for digital broadcasting signal, and apparatus of picture and audio decoding
US6249318B1 (en) 1997-09-12 2001-06-19 8×8, Inc. Video coding/decoding arrangement and method therefor
US6807231B1 (en) 1997-09-12 2004-10-19 8×8, Inc. Multi-hypothesis motion-compensated video image predictor
DE69834901T2 (de) * 1997-11-17 2007-02-01 Koninklijke Philips Electronics N.V. Bewegungskompensierte prädiktive bildcodierung und -decodierung
CN1117480C (zh) 1997-12-01 2003-08-06 三星电子株式会社 运动向量预测方法
US6094225A (en) 1997-12-02 2000-07-25 Daewoo Electronics, Co., Ltd. Method and apparatus for encoding mode signals for use in a binary shape coder
US5973743A (en) 1997-12-02 1999-10-26 Daewoo Electronics Co., Ltd. Mode coding method and apparatus for use in an interlaced shape coder
US6122017A (en) 1998-01-22 2000-09-19 Hewlett-Packard Company Method for providing motion-compensated multi-field enhancement of still images from video
KR100328417B1 (ko) 1998-03-05 2002-03-16 마츠시타 덴끼 산교 가부시키가이샤 화상부호화장치및화상복호화장치, 화상부보화방법 및 화상복호화방법, 및 데이터기억매체
CA2265089C (en) 1998-03-10 2007-07-10 Sony Corporation Transcoding system using encoding history information
EP0944245B1 (en) 1998-03-20 2001-07-25 SGS-THOMSON MICROELECTRONICS S.r.l. Hierarchical recursive motion estimator for video images encoder
KR100281462B1 (ko) 1998-03-30 2001-02-01 전주범 격행 부호화에서 이진 형상 신호의 움직임 벡터 부호화 방법
JP3888597B2 (ja) 1998-06-24 2007-03-07 日本ビクター株式会社 動き補償符号化装置、及び動き補償符号化復号化方法
US6519287B1 (en) 1998-07-13 2003-02-11 Motorola, Inc. Method and apparatus for encoding and decoding video signals by using storage and retrieval of motion vectors
JP4026238B2 (ja) 1998-07-23 2007-12-26 ソニー株式会社 画像復号装置及び画像復号方法
GB2343579A (en) 1998-11-07 2000-05-10 Ibm Hybrid-linear-bicubic interpolation method and apparatus
US6081209A (en) 1998-11-12 2000-06-27 Hewlett-Packard Company Search system for use in compression
US6563953B2 (en) 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US6983018B1 (en) 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
US6192080B1 (en) 1998-12-04 2001-02-20 Mitsubishi Electric Research Laboratories, Inc. Motion compensated digital video signal processing
KR100587280B1 (ko) 1999-01-12 2006-06-08 엘지전자 주식회사 오류 은폐방법
US6414992B1 (en) * 1999-01-27 2002-07-02 Sun Microsystems, Inc. Optimal encoding of motion compensated video
US6483874B1 (en) * 1999-01-27 2002-11-19 General Instrument Corporation Efficient motion estimation for an arbitrarily-shaped object
JP2000244921A (ja) 1999-02-24 2000-09-08 Matsushita Electric Ind Co Ltd 映像符号化方法および装置
JP2000278692A (ja) 1999-03-25 2000-10-06 Victor Co Of Japan Ltd 圧縮データ処理方法及び処理装置並びに記録再生システム
US6320593B1 (en) 1999-04-20 2001-11-20 Agilent Technologies, Inc. Method of fast bi-cubic interpolation of image information
JP2000308064A (ja) 1999-04-22 2000-11-02 Mitsubishi Electric Corp 動きベクトル検出装置
JP3411234B2 (ja) 1999-04-26 2003-05-26 沖電気工業株式会社 符号化情報受信復号装置
WO2000067486A1 (en) 1999-04-30 2000-11-09 Koninklijke Philips Electronics N.V. Video encoding method with selection of b-frame encoding mode
US6697430B1 (en) 1999-05-19 2004-02-24 Matsushita Electric Industrial Co., Ltd. MPEG encoder
EP1056297A3 (en) 1999-05-24 2002-10-02 Agilent Technologies, Inc. (a Delaware corporation) Multimedia decoder with error detection
JP2000350212A (ja) * 1999-06-04 2000-12-15 Matsushita Electric Ind Co Ltd 映像信号復号装置並びに映像信号表示システム
JP2003513565A (ja) * 1999-10-29 2003-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ符号化方法
US6671319B1 (en) 1999-12-28 2003-12-30 Sony Corporation Methods and apparatus for motion estimation using neighboring macroblocks
KR100619377B1 (ko) * 2000-02-22 2006-09-08 주식회사 팬택앤큐리텔 움직임 추정 방법 및 장치
US20020114388A1 (en) 2000-04-14 2002-08-22 Mamoru Ueda Decoder and decoding method, recorded medium, and program
US6654419B1 (en) 2000-04-28 2003-11-25 Sun Microsystems, Inc. Block-based, adaptive, lossless video coder
US6876703B2 (en) 2000-05-11 2005-04-05 Ub Video Inc. Method and apparatus for video coding
GB2362533A (en) 2000-05-15 2001-11-21 Nokia Mobile Phones Ltd Encoding a video signal with an indicator of the type of error concealment used
US6647061B1 (en) 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
KR100708091B1 (ko) * 2000-06-13 2007-04-16 삼성전자주식회사 양방향 움직임 벡터를 이용한 프레임 레이트 변환 장치 및그 방법
US7023922B1 (en) * 2000-06-21 2006-04-04 Microsoft Corporation Video coding system and method using 3-D discrete wavelet transform and entropy coding with motion information
US6614442B1 (en) 2000-06-26 2003-09-02 S3 Graphics Co., Ltd. Macroblock tiling format for motion compensation
KR100353851B1 (ko) 2000-07-07 2002-09-28 한국전자통신연구원 파문 스캔 장치 및 그 방법과 그를 이용한 영상코딩/디코딩 장치 및 그 방법
RU2182727C2 (ru) 2000-07-20 2002-05-20 Дворкович Александр Викторович Способ поиска векторов движения деталей в динамических изображениях
JP2002121053A (ja) 2000-10-11 2002-04-23 Koyu Sangyo Kk セメント、コンクリート混和材及びその製造方法
KR100727910B1 (ko) 2000-10-11 2007-06-13 삼성전자주식회사 하이브리드형 고속 움직임 추정 방법 및 그 장치
JP4682410B2 (ja) 2000-10-12 2011-05-11 ソニー株式会社 画像処理装置及び画像処理方法
WO2002037859A2 (en) 2000-11-03 2002-05-10 Compression Science Video data compression system
JP4557411B2 (ja) 2000-11-17 2010-10-06 大阪瓦斯株式会社 流体流量計測システム
CN1401189A (zh) 2000-11-23 2003-03-05 皇家菲利浦电子有限公司 视频编码方法和相应的编码器
JP2002177889A (ja) 2000-12-12 2002-06-25 Iseki & Co Ltd 回転式穀粒選別装置
US6633612B2 (en) 2000-12-13 2003-10-14 Genesis Microchip Inc. Method and apparatus for detecting motion between odd and even video fields
JP4526700B2 (ja) 2000-12-27 2010-08-18 株式会社エクォス・リサーチ 配光制御装置
US6920175B2 (en) 2001-01-03 2005-07-19 Nokia Corporation Video coding architecture and methods for using same
JP2002204713A (ja) 2001-01-11 2002-07-23 Taishou:Kk ヘアーグリップ
US20020168066A1 (en) 2001-01-22 2002-11-14 Weiping Li Video encoding and decoding techniques and apparatus
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
EP1374430A4 (en) 2001-03-05 2005-08-17 Intervideo Inc SYSTEMS AND METHODS FOR ROBUST ERROR CODING
US7206453B2 (en) 2001-05-03 2007-04-17 Microsoft Corporation Dynamic filtering for lossy compression
US6816552B2 (en) * 2001-07-11 2004-11-09 Dolby Laboratories Licensing Corporation Interpolation of video compression frames
US6975680B2 (en) * 2001-07-12 2005-12-13 Dolby Laboratories, Inc. Macroblock mode decision biasing for video compression systems
JP2002118598A (ja) 2001-08-06 2002-04-19 Nippon Telegr & Teleph Corp <Ntt> 輻輳検出方法、輻輳防止方法、およびパケット通信システム
US6804301B2 (en) 2001-08-15 2004-10-12 General Instrument Corporation First pass encoding of I and P-frame complexity for compressed digital video
US6950469B2 (en) 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
ES2545394T3 (es) 2001-11-21 2015-09-10 Google Technology Holdings LLC Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital
US20030099294A1 (en) 2001-11-27 2003-05-29 Limin Wang Picture level adaptive frame/field coding for digital video content
US6980596B2 (en) 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
EP2262269B1 (en) 2001-12-17 2018-01-24 Microsoft Technology Licensing, LLC Skip macroblock coding
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US6873657B2 (en) 2001-12-27 2005-03-29 Koninklijke Philips Electronics, N.V. Method of and system for improving temporal consistency in sharpness enhancement for a video signal
JP4114859B2 (ja) 2002-01-09 2008-07-09 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
FI114433B (fi) 2002-01-23 2004-10-15 Nokia Corp Otossiirtymän koodaaminen videokoodauksessa
WO2003063505A1 (en) 2002-01-23 2003-07-31 Nokia Corporation Grouping of image frames in video coding
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
US6798364B2 (en) 2002-02-05 2004-09-28 Intel Corporation Method and apparatus for variable length coding
JP2004208259A (ja) 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd 動きベクトル計算方法
ES2745059T3 (es) 2002-04-19 2020-02-27 Panasonic Ip Corp America Método de cálculo de vectores de movimiento
CN1976454B (zh) 2002-04-19 2011-05-11 松下电器产业株式会社 运动矢量的确定方法
KR100481732B1 (ko) 2002-04-20 2005-04-11 전자부품연구원 다 시점 동영상 부호화 장치
US20030202590A1 (en) 2002-04-30 2003-10-30 Qunshan Gu Video encoding using direct mode predicted frames
KR100491530B1 (ko) 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
EP1418762A1 (en) 2002-05-22 2004-05-12 Matsushita Electric Industrial Co., Ltd. Moving image encoding method, moving image decoding method, and data recording medium
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
CN1666532A (zh) 2002-07-02 2005-09-07 松下电器产业株式会社 图像编码方法和图像解码方法
US7280700B2 (en) 2002-07-05 2007-10-09 Microsoft Corporation Optimization techniques for data compression
EP1535467B1 (en) 2002-07-15 2017-03-15 Nokia Technologies Oy Method for error concealment in video sequences
CN1312927C (zh) * 2002-07-15 2007-04-25 株式会社日立制作所 动态图像编码方法及解码方法
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
EP3349447B1 (en) * 2002-08-08 2019-11-06 Godo Kaisha IP Bridge 1 Moving picture decoding method
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
US20040136457A1 (en) 2002-10-23 2004-07-15 John Funnell Method and system for supercompression of compressed digital video
JP4093405B2 (ja) 2002-10-25 2008-06-04 株式会社リコー 画像処理装置、プログラム及び記憶媒体
US7227901B2 (en) 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
JP2004228259A (ja) 2003-01-22 2004-08-12 Hitachi Ltd 半導体装置及びそれを用いた電子装置
CN101668215A (zh) 2003-02-18 2010-03-10 诺基亚有限公司 图像解码方法
BRPI0411765A (pt) 2003-06-25 2006-08-08 Thomson Licensing codificação de decisão modal rápida para inter-quadros
US7609763B2 (en) 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US7426308B2 (en) 2003-07-18 2008-09-16 Microsoft Corporation Intraframe and interframe interlace coding and decoding
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7317839B2 (en) 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7961786B2 (en) 2003-09-07 2011-06-14 Microsoft Corporation Signaling field type information
US7567617B2 (en) 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7092576B2 (en) 2003-09-07 2006-08-15 Microsoft Corporation Bitplane coding for macroblock field/frame coding type information
US7346111B2 (en) * 2003-12-10 2008-03-18 Lsi Logic Corporation Co-located motion vector storage
KR20050061762A (ko) 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치
US7889792B2 (en) 2003-12-24 2011-02-15 Apple Inc. Method and system for video encoding using a variable number of B frames
US8036271B2 (en) 2004-02-24 2011-10-11 Lsi Corporation Method and apparatus for determining a second picture for temporal direct-mode block prediction
US20050207490A1 (en) 2004-03-18 2005-09-22 Wang Jason N Stored picture index for AVC coding
US8116374B2 (en) 2004-05-07 2012-02-14 Broadcom Corporation Method and system for generating a transform size syntax element for video decoding
FR2872973A1 (fr) 2004-07-06 2006-01-13 Thomson Licensing Sa Procede ou dispositif de codage d'une sequence d'images sources
US8115804B2 (en) 2006-01-12 2012-02-14 Lg Electronics Inc. Processing multiview video
MX2009000205A (es) 2006-07-06 2009-03-23 Thomson Licensing Metodo y aparato para desacoplar el numero de cuadro y/o la cuenta del orden de imagen (poc) para la codificacion y decodificacion de video de multiples vistas.
JP4592656B2 (ja) * 2006-08-17 2010-12-01 富士通セミコンダクター株式会社 動き予測処理装置、画像符号化装置および画像復号化装置
WO2008023967A1 (en) 2006-08-25 2008-02-28 Lg Electronics Inc A method and apparatus for decoding/encoding a video signal
CN101548550B (zh) * 2006-10-16 2014-08-27 诺基亚公司 用于在多视点视频编码中实施有效的已解码缓存器管理的系统和方法
JP3129986U (ja) 2006-12-26 2007-03-08 ライオン株式会社 板状緩衝材
US9648325B2 (en) 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US8265144B2 (en) 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
JP6078298B2 (ja) 2012-11-01 2017-02-08 武蔵エンジニアリング株式会社 位置補正機能を有する作業装置および作業方法

Also Published As

Publication number Publication date
JP2003244704A (ja) 2003-08-29
EP1335609B1 (en) 2019-12-18
KR20030064332A (ko) 2003-07-31
US10284843B2 (en) 2019-05-07
US10708582B2 (en) 2020-07-07
EP2207355B1 (en) 2020-07-15
US20180131933A1 (en) 2018-05-10
US8638853B2 (en) 2014-01-28
EP2323402B1 (en) 2017-05-31
US20060072662A1 (en) 2006-04-06
US20130223533A1 (en) 2013-08-29
US8406300B2 (en) 2013-03-26
JP2014200111A (ja) 2014-10-23
US9888237B2 (en) 2018-02-06
US7003035B2 (en) 2006-02-21
EP2207355A2 (en) 2010-07-14
EP1335609A3 (en) 2011-08-10
JP2010119146A (ja) 2010-05-27
EP1335609A2 (en) 2003-08-13
JP5826900B2 (ja) 2015-12-02
EP2323402A1 (en) 2011-05-18
US20090245373A1 (en) 2009-10-01
US20030142748A1 (en) 2003-07-31
JP5705822B2 (ja) 2015-04-22
US20100135390A1 (en) 2010-06-03
EP2207355A3 (en) 2010-10-06
DE20321894U1 (de) 2012-05-04
EP3651460A1 (en) 2020-05-13
KR100939855B1 (ko) 2010-01-29
JP2013081242A (ja) 2013-05-02
US7646810B2 (en) 2010-01-12
US20190215513A1 (en) 2019-07-11
JP4522658B2 (ja) 2010-08-11
JP5346306B2 (ja) 2013-11-20

Similar Documents

Publication Publication Date Title
ES2638295T3 (es) Procedimiento y aparato de codificación de vídeo mejorado
CN115152227B (zh) 视频编解码方法及装置
CN110620923B (zh) 广义的运动矢量差分辨率
JP6679782B2 (ja) 符号化装置、符号化方法、復号装置、復号方法、及びプログラム
CN103238319B (zh) 推导运动向量预测项或运动向量预测项候选项的方法及装置
JP4709291B2 (ja) ダイレクトモード動きベクトルの導出方法
AU2003204477B2 (en) Encoding and decoding video data
EP3871417B1 (en) Methods of accessing affine history-based motion vector predictor buffer
CN102131091B (zh) 解码端运动向量导出方法
CN113905234B (zh) 视频图像处理方法与装置
TW201739256A (zh) 視訊編碼之樣式基礎運動向量推導之方法及裝置
BR112014013977B1 (pt) Dispositivo de codificação de vídeo, método de codificação de vídeo e programa de codificação de vídeo e dispositivo de decodificação de vídeo, método de decodificação de vídeo e programa de decodificação de vídeo
CN105530516A (zh) 解码端运动向量导出方法
WO2020073920A1 (en) Methods and apparatuses of combining multiple predictors for block prediction in video coding systems
JP2025530944A (ja) 動きベクトル予測子精度を暗黙的に指示するための方法および装置
TW202015405A (zh) 用於視訊編解碼的幀間預測方法以及裝置
HK40028450A (en) Improved video decoding method and apparatus
HK1157980B (en) Improved video coding method and apparatus
HK1157980A (en) Improved video coding method and apparatus