MXPA05000065A - Interpolacion mejorada de cuadros de compresion de video. - Google Patents

Interpolacion mejorada de cuadros de compresion de video.

Info

Publication number
MXPA05000065A
MXPA05000065A MXPA05000065A MXPA05000065A MXPA05000065A MX PA05000065 A MXPA05000065 A MX PA05000065A MX PA05000065 A MXPA05000065 A MX PA05000065A MX PA05000065 A MXPA05000065 A MX PA05000065A MX PA05000065 A MXPA05000065 A MX PA05000065A
Authority
MX
Mexico
Prior art keywords
frames
frame
predicted
sequence
previous
Prior art date
Application number
MXPA05000065A
Other languages
English (en)
Inventor
Gary A Demos
Original Assignee
Dolby Lab Licensing Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=29999364&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=MXPA05000065(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Dolby Lab Licensing Corp filed Critical Dolby Lab Licensing Corp
Publication of MXPA05000065A publication Critical patent/MXPA05000065A/es

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/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
    • 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/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/167Position within a video image, e.g. region of interest [ROI]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • 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/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • 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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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
    • 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/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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • 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/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Abstract

Un metodo, sistema, y programas de computador para mejorar la calidad de imagen de uno o mas cuadros predichos en un sistema de compresion de imagenes de video, donde cada cuadro comprende una pluralidad de pixeles. Una region de ilustracion de macro-bloque de ciertos tipos de cuadros puede codificarse por referencia a uno o mas cuadros referenciables en algunos casos, y por referencia a dos o mas cuadros referenciables en otros casos. Tal codificacion puede incluir interpolacion, tal como una ponderacion desigual. El valor DC o los valores de pixel AC de la region de ilustracion pueden interpolarse tambien, con o sin ponderacion. Un patron de codigo de tales cuadros teniendo un numero variable de cuadros predichos bi-direccionalmente puede determinarse dinamicamente. Cuadros se pueden transmitir de un codificador a un decodificador en un orden de entrega diferente de un orden de despliegue. Filtros de afinacion y/o suavizacion pueden aplicarse a una region de ilustracion de ciertos cuadros durante prediccion compensada de vector de movimiento.

Description

INTERPOLACIÓN MEJORADA DE CUADROS DE COMPRESIÓN DE VIDEO Campo Técnico Esta invención se refiere a compresión de video y, de manera mas particular, a interpolación mejorada de cuadros de compresión de video en sistemas de codificación y decodificación similares a MPEG. Antecedentes Compresión de Video MPEG MPEG-2 y MPEG- son estándares de compresión de video internacionales que definen sintaxis de video respectivas que proporcionan una manera eficiente para representar secuencias de imágenes en la forma de datos codificados mas compactos . El lenguaje de los bits codificados es la "sintaxis". Por ejemplo, unas cuantas señales pueden representar un bloque entero de muestras (v.gr., 64 muestras para MPEG-2) . Ambos estándares MPEG también describen un proceso de decodificación (re-construcción) donde los bits codificados se trazan a partir de la representación compacta hacia una aproximación del formato original en la secuencia de imágenes. Por ejemplo, una bandera en la corriente de bits codificada puede señalar si los bits siguientes deben precederse con un algoritmo de predicción previo a ser decodifi-cados con un algoritmo de transformación de coseno discreta (DCT) . Los algoritmos comprendiendo el proceso de decodificación se regulan por la semántica definida por estos estándares MPEG. Esta sintaxis puede aplicarse para explotar características de video comunes tales como redundancia espacial, redundancia temporal, movimiento uniforme, enmascarado espacial, etc. Un decodificador MPEG debe ser capaz de analizar y decodificar una corriente de datos entrante, pero siempre que la corriente de datos cumpla con la sintaxis MPEG correspondiente, una amplia variedad de estructuras de datos y técnicas de compresión posibles puede usare (aunque técnicamente esto se desvía del estándar dado que la semántica no es concordante) . También es posible llevar la semántica necesaria dentro de una sintaxis alternativa . Estos estándares MPEG usan una variedad de métodos de compresión, incluyendo métodos intra-cuadros e inter-cuadros . En la mayoría de las escenas de video, el fondo permanece relativamente estable mientras que la acción toma lugar en el frente . El fondo se puede mover, pero una gran parte de la escena comúnmente es redundante. Estos estándares MPEG comienzan compresión por medio de crear un cuadro de referencia llamado "intra" cuadro o "cuadro I" . Los cuadros I son comprimidos sin referencia a otros cuadros y con ello contienen un cuadro entero de información de video. Los cuadros I proporcionan puntos de entrada dentro de la corriente de bits de datos para acceso aleatorio, pero solamente pueden comprimirse moderadamente. Típicamente, los datos representando cuadros I se colocan en la corriente de datos cada 12 a 15 cuadros (aunque también es útil en algunas circunstancias usar un espacio mas amplio entre cuadros I) . Posteriormente, dado que solamente una porción pequeña de los cuadros que caen entre los cuadros I de referencia son diferentes de los cuadros I encorchando, solamente las diferencias de imágenes se capturan, comprimen, y almacenan. Dos tipos de cuadros se usan para tales diferencias - cuadros predichos (cuadros P) , y cuadros predichos (o interpolados) bi-direccionalmente (cuadros B) . Los cuadros P generalmente se codifican con referencia a un cuadro anterior (ya sea un cuadro I o un cuadro P previo) , y, en general, se usan como referencia para cuadros P subsecuentes. Los cuadros P reciben una cantidad relativamente alta de compresión. Los cuadros B proporcionan la cantidad mas alta de compresión, pero requieren un cuadro de referencia tanto pasado como futuro para codificarse . Los cuadros P son "cuadros referenciables" debido a que se pueden referenciar por cuadros P o B. Macro-bloques son regiones de pixeles de imagen. Para MPEG-2, un macro-bloque es un agrupamiento de pixeles de 16x16 de cuatro o mas bloques DCT 8x8, juntos con un vector de movimiento para cuadros P, y uno o dos vectores de movimiento para cuadros B. Los macro-bloques dentro de los cuadros P pueden codificarse individualmente usando codificación ya sea intra-cuadros o intercuadros (predicha) . Los macro-bloques dentro de cuadros B pueden codificarse individualmente usando codificación intra-cuadros , codificación predicha hacia adelante, codificación predicha hacia atrás, o codificación predicha tanto hacia adelante y hacia atrás (es decir, interpolada bi-direccionalmente) . Una estructura similar pero ligeramente diferente se usa en codificación de video MPEG-4. Después de codificar, una corriente de datos MPEG comprende una secuencia de cuadros I, P, y B. Una secuencia puede consistir de casi cualquier patrón de cuadros I, P, y B (existen unas pocas restricciones de semántica menores en su colocación) .
Sin embargo, es común en la práctica industrial tener un patrón de cuadros fijo (v.gr., IBBPBBPBBPBBPBB) . Predicción de Vector de Movimiento En MPEG-2 y MPEG-4 (y estándares similares, tales como H.236), el uso de cuadros tipo B (predichos bi-direccionalmente) ha probado beneficiar la eficiencia de compresión. Los vectores de movimiento de cada macro-bloque de tales cuadros pueden predecirse por cualquiera de los siguientes tres métodos : Modo 1 : Predicho hacia adelante a partir del cuadro I o P previo (es decir, un cuadro predicho no bi-direccionalmente) . Modo 2 : Predicho hacia atrás a partir del cuadro I o P subsecuente . Modo 3 : Predicho bi-direccionalmente a partir de los cuadros I o P tanto subsecuente y previo. El modo 1 es idéntico al modo de predicción hacia adelante usado para cuadros P. El modo 2 es el mismo concepto, excepto que trabaja hacia atrás a partir de un cuadro subsecuente. El modo 3 es un modo interpolativo que combina información de cuadros tanto previos y subsecuentes . Además de estos tres modos, MPE6-4 también soporta un modo de predicción de vector de movimiento interpolativo segundo para cuadros B : predicción de modo directo usando el vector de movimiento del cuadro P subsecuente, mas un valor delta (si el vector de movimiento del macro-bloque P co-localizado se divide en modo 8x8 - resultando en cuatro vectores de movimiento para el macro-bloque 16x16 - entonces la delta se aplica a todos los cuatro vectores de movimiento independientes en el cuadro B) . El vector de movimiento del cuadro P subsecuente apunta al cuadro P o I previo. Una proporción se usa para ponderar el vector de movimiento a partir del cuadro P subsecuente. La proporción es la posición de tiempo relativa del cuadro B actual con respecto a los cuadros P subsecuente y P (o í) previo. La figura 1 es una línea de tiempo de cuadros y los vectores de movimiento de modo directo MPEG- de acuerdo con el estado de la técnica. El concepto del modo directo MPEG-4 (modo 4) es que el movimiento de un macro-bloque en cada cuadro B que interviene es probable que esté cerca del movimiento que se usó para codificar la misma ubicación en el siguiente cuadro P. Una delta se usa para hacer correcciones menores al vector de movimiento proporcional derivada del vector de movimiento correspondiente (MV) 103 para el cuadro P subsecuente. Mostrada en la figura 1 está la ponderación proporcional dada a los vectores de movimiento 101, 102 para cada cuadro B intermedio 104a, 104b como una función de la "distancia de tiempo" entre el cuadro P o I previo 105 y el cuadro P siguiente 106. El vector de movimiento 101, 102 asignado a un cuadro B intermedio correspondiente 104a, 104b es igual al valor de ponderación asignado (1/3 y 2/3, respectivamente) por el vector de movimiento 103 para el siguiente cuadro P, mas el valor delta. Con MPEG-2, todos los modos de predicción para los cuadros B se prueban en codificación, y se comparan para encontrar la mejor predicción para cada macro-bloque. Si ninguna predicción es buena, entonces el macro-bloque se codifica único como un macro-bloque "I" (por "intra") . El modo de codificación se selecciona como el mejor modo entre codificación hacia adelante (modo 1) , hacia atrás (modo 2) , y bi-direccional (modo 3), o como intra. Con MPEG-4, la elección de intra-codificación no se permite. En su lugar, el modo directo se vuelve la cuarta opción. De nuevo, el mejor modo de codificación se elige, con base en algunos criterios de mejor comparación. En los codificadores de software MPEG-2 y MPEG-4 de referencia, la mejor comparación se determina usando una comparación DC (Suma de Diferencias Absolutas, o "SAD" ) . El número de cuadros B sucesivos en una corriente de bits de datos codificada se determina por el valor de parámetro "M" en MPEG. M menos uno es el número de cuadros B entre cada cuadro P y el siguiente P (o í). Así, para M=3 , hay dos cuadros B entre cada cuadro P (o í), según se ilustra en la figura 1. La limitación principal en restringir el valor de M, y por lo tanto el número de cuadros B secuenciales , es que la cantidad de cambio de movimiento entre cuadros P (o í) se hace grande. Los números mayores de cuadros B significan mayores cantidades de tiempo entre cuadros P (o í). Así, las limitaciones de eficiencia y de limitaciones de rango de vectores de movimiento crean el límite último en el número de cuadros B intermedios . También es significativo notar que los cuadros P llevan "energía de cambio" hacia adelante con la corriente de ilustración en movimiento, dado que cada cuadro P decodificado se usa como punto de inicio para predecir el cuadro P subsecuente. Los cuadros B, sin embargo, se descartan después de su uso. Así, cualesquiera bits usados para crear cuadros B se usan solamente para ese cuadro, y no proporcionan correcciones que ayudan a decodificación de cuadros subsecuentes, a diferencia de los cuadros P . Compendio La invención se dirige a un método, sistema, y programas de computador para mejorar la calidad de imagen de uno o mas cuadros predichos en un sistema de compresión de imágenes de video, donde cada cuadro comprende una pluralidad de pixeles. En un aspecto, la invención incluye determinar el valor de cada pixel de cuadros predichos bi-direccionalmente como una proporción ponderada de valores de pixel correspondientes en cuadros predichos no bi-direccionalmente encorchando una secuencia de cuadros predichos bi-direccionalmente. En una forma de realización, la proporción ponderada es una función de la distancia entre los cuadros predichos no bi-direccionalmente encorchando. En otra forma de realización, la proporción ponderada es una función mezclada de la distancia entre los cuadros predichos no bi-direccionalmente encorchando y un promedio equivalente de los cuadros predichos no bi-direccionalmente encorchando. En otro aspecto de la invención, interpolación de los valores de pixel se lleva a cabo en representaciones en un espacio lineal, o en otros espacios no lineales optimizados diferentes de una representación no lineal original. Otros aspectos de la invención incluyen sistemas, programas de computador, y métodos englobando: • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros referenciables comprendiendo regiones de ilustración, en el cual al menos una región de ilustración de al menos un cuadro predicho se codifica por referencia a dos o mas cuadros referenciables . • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros referenciables comprendiendo regiones de ilustración, en el cual al menos una región de ilustración de al menos un cuadro predicho se codifica por referencia a uno o mas cuadros referenciables en orden de despliegue, donde al menos un tal cuadro referenciable no es el cuadro referenciable previo mas cercano en orden de despliegue al por lo menos un cuadro predicho. • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros referenciables comprendiendo macro-bloques , en el cual al menos un macro-bloque dentro de al menos un cuadro predicho se codifica por interpolación a partir de dos o mas cuadros referenciables . • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros referenciables y cuadros predichos bi-direccionalmente comprendiendo regiones de ilustración, en el cual al menos una región de ilustración de al menos un cuadro bi-direccional predicho se codifica para incluir mas de dos vectores de movimiento, cada un tal vector de movimiento referenciando una región de ilustración correspondiente en al menos un cuadro referenciable . • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros referenciable comprendiendo regiones de ilustración, en el cual al menos una región de ilustración de al menos un cuadro predicho se codifica para incluir al menos dos vectores de movimiento, cada tal vector de movimiento referenciando una región de ilustración correspondiente en un cuadro referenciable , donde cada tal región de ilustra- - lo ción de tal al menos un cuadro predicho se codifica por interpolación de dos o mas cuadros referenciables . • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros predichos bi-direccionalmente y referenciables comprendiendo regiones de ilustración, en el cual al menos una región de ilustración de al menos un cuadro predicho bi-direccionalmente se codifica como una ponderación desigual de regiones de ilustración seleccionadas a partir de dos o mas cuadros referenciables . • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros predichos bi-direccionalmente y referenciables comprendiendo regiones de ilustración, en el cual al menos una región de ilustración de al menos un cuadro predicho bi-direccionalmente se codifica por interpolación a partir de dos o mas cuadros referenciables , donde al menos uno de los dos o mas cuadros referenciables se separa del cuadro predicho bi-direccionalmente por al menos un cuadro referenciable que interviene en orden de despliegue, y donde tal al menos una región de ilustración se codifica como una ponderación desigual de las regiones de ilustración seleccionadas de tales al menos dos o mas cuadros referenciables . • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros predichos bi-direccionalmente y referenciables comprendiendo regiones de ilustración, en el cual al menos una región de ilustración de al menos un cuadro predicho bi-direccionalmente se codifica por interpolación de dos o mas cuadros referenciables , donde al menos uno de los dos o mas cuadros referenciables se separa del cuadro predicho bi-direccionalmente por al menos un cuadro referenciable subsecuente que interviene en orden de despliegue . • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros predichos bi-direccionalmente y referenciables comprendiendo regiones de ilustración, en el cual al menos una región de ilustración de al menos un cuadro predicho bi-direccionalmente se codifica como una ponderación desigual de las regiones de ilustración seleccionadas de dos o mas cuadros referenciables . • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros predichos bi-direccionalmente y predichos cada uno comprendiendo valores de pixel arreglados en macro-bloques , donde al menos un macro-bloque dentro de un cuadro predicho bi-direccionalmente se determina usando modo de predicción directo con base en vectores de movimiento de dos o mas cuadros predichos . • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros predichos bi-direccionalmente y referenciados cada uno comprendiendo valores de pixel arreglados en macro-bloques, donde al menos un macro-bloque dentro de un cuadro predicho bi-direccionalmente se determina usando predicción de modo directo con base en vectores de movimiento de uno o mas cuadros predichos en orden de despliegue, donde al menos uno de tales uno o mas cuadros predichos es previo en orden de despliegue al cuadro predicho bi-direccionalmente . • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros predichos bi-direccionalmente y referenciados cada uno comprendiendo valores de pixel arreglados en macro-bloques , donde al menos un macro-bloque dentro de un cuadro predicho bi-direccionalmente se determina usando predicción de modo directo con base en vectores de movimiento de uno o mas cuadros predichos, donde al menos uno de tales uno o mas cuadros predichos es subsecuente en orden de despliegue al cuadro predicho bi-direccionalmente y separado del cuadro predicho bi-direccionalmente por al menos un cuadro referenciable que interviene . • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros comprendiendo una pluralidad de regiones de ilustración teniendo un valor DC, cada una de tales regiones de ilustración comprendiendo pixeles teniendo cada uno un valor de pixel AC, donde al menos uno del valor DC y los valores de pixel AC de al menos una región de ilustración de al menos un cuadro se determinan como una interpolación ponderada de valores DC y valores de pixel AC respectivos correspondientes a partir de al menos un otro cuadro . • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros referenciables comprendiendo una pluralidad de regiones de ilustración teniendo un valor DC, cada tal región de ilustración comprendiendo pixeles teniendo cada uno un valor de pixel AC, en el cual al menos uno del valor DC y los valores de pixel AC de al menos una región de ilustración de al menos un cuadro predicho se interpola a partir de valores DC y valores de pixel AC respectivos correspondientes de dos o mas cuadros referenciables . • Mejorar la calidad de imágenes de una secuencia de dos o mas cuadros intermedios predichos bi-direccionalmente en un sistema de compresión de imágenes de video, cada cuadro comprendiendo una pluralidad de regiones de ilustración teniendo un valor DC, cada tal región de ilustración comprendiendo pixeles teniendo cada uno un valor de pixel AC, incluyendo al menos uno de los siguientes : determinar los valores de pixel AC de cada región de ilustración de un cuadro intermedio predicho bi-direccionalmente como una proporción ponderada primera de valores de pixel AC correspondientes en cuadros referenciables encorchando la secuencia de cuadros intermedios predichos bi-direccionalmente; y determinar el valor DC de cada región de ilustración de tal cuadro intermedio predicho bi-direccionalmente como una segunda proporción ponderada de valores DC correspondientes en cuadros referenciables encorchando la secuencia de cuadros intermedios predichos bi-direccionalmente. Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros comprendiendo una pluralidad de pixeles teniendo una representa-ción inicial, en la cual los pixeles de al menos un cuadro se interpolan de pixeles correspondientes de al menos dos otros cuadros, donde tales pixeles correspondientes de los al menos otros dos cuadros se interpolan mientras se transforman a una representación diferentes, y los pixeles interpolados resultantes se transforman de regreso a la representación inicial. • En un sistema de compresión de imágenes de video teniendo una secuencia de cuadros predichos bi-direccionalmente y referenciables , determinar dinámicamente un patrón de código de tales cuadros teniendo un número variable de cuadros predichos bi-direccionalmente, incluyendo: seleccionar una secuencia inicial comenzando con un cuadro referenciable , teniendo al menos un cuadro predicho bi-direccionalmente inmediatamente subsecuente, y terminando en un cuadro referenciable; añadir un cuadro referenciable al final de la secuencia inicial para crear una secuencia de prueba; evaluar la secuencia de prueba contra un criterio de evaluación seleccionado; para cada paso satisf ctorio de evaluar la secuencia de prueba, insertar un cuadro bi-direccional antes del cuadro referenciable añadido y repetir el paso de evaluar; y si evaluar la secuencia de prueba es no satisfactorio, entonces aceptar la secuencia de prueba previa como un patrón de código actual . • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros referenciables separados por al menos un cuadro predicho bi-direccionalmente, donde el número de tales cuadros predichos bi-direccionalmente varía en tal secuencia, y donde al menos una región de ilustración de al menos un cuadro predicho bi-direccionalmente se determina usando una ponderación desigual de valores de pixeles correspondiendo a por los menos dos cuadros referenciables . • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros codificados por un codificador para decodificar por un decodificador, donde al menos una región de ilustración de al menos un cuadro se basa en interpolaciones ponderadas de dos o mas otros cuadros, tales interpolaciones ponderadas siendo basadas en al menos un conjunto de ponderaciones disponibles al codificador y decodificador, donde una designación para uno seleccionado de tales al menos un conjunto de ponderaciones se comunica con un decodificador a partir del codificador para seleccionar una o mas ponderaciones actualmente activas . • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros codificados por un codificador para decodificar por un decodificador, donde al menos una región de ilustración de al menos un cuadro se basa en interpolaciones ponderadas de dos o mas otros cuadros, tales interpolaciones ponderadas siendo basadas en al menos un conjunto de ponderaciones, donde al menos un conjunto de ponderaciones se descarga a un decodificador y posteriormente una designación para uno seleccionado de tales al menos un conjunto de ponderaciones se comunica a un decodificador a partir del codificador para seleccionar una o mas ponderaciones actualmente activas. • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros referenciables codificada por un codificador para decodificar por un decodificador, donde cuadros predichos en la secuencia de cuadros referenciables se transmiten por el codificador al decodificador en un orden de entrega que difiere del orden de despliegue de tales cuadros predichos después de decodificar. • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros referenciables comprendiendo pixeles arreglados en regiones de ilustración, en el cual al menos una región de ilustración de al menos un cuadro predicho se codifica por referencia a dos o mas cuadros referenciables, donde cada tal región de ilustración a dos o mas cuadros referencia-bles, donde cada tal región de ilustración se determina usando una ponderación desigual de valores de pixeles correspondiente a tales dos o mas cuadros referenciables . • Un sistema de compresión de imágenes de video teniendo una secuencia de cuadros predichos, predichos bi-direccionalmente , e intra, comprendiendo cada uno regiones de ilustración, donde al menos un filtro seleccionado a partir del conjunto de filtros de afinación y suavización se aplica a por lo menos una región de ilustración de un cuadro predicho o predicho bi-direccionalmente durante predicción compensada por vector de movimiento de tal cuadro predicho o predicho bi-direccionalmente . Los detalles de una o mas formas de realización de la invención se expresan en los dibujos acompañantes y la descripción siguiente. Otras características, objetivos, y ventajas de la invención serán aparentes a partir de la descripción y dibujos, y de las reivindicaciones. Descripción de los Dibujos La figura 1 es una línea de tiempo de cuadros y vectores de movimiento de modo directo MPEG-4 de acuerdo con el estado de la técnica. La figura 2 es una línea de tiempo de cuadros y valores de ponderación de pixel proporcionales de acuerdo con este aspecto de la invención. La figura 3 es una línea de tiempo de cuadros y valores de ponderación de pixel combinados, proporcionales, e iguales de acuerdo con este aspecto de la invención. La figura 4 es un diagrama de flujo mostrando una forma de realización ilustrativa de la invención como un método que se puede implementar por computador. La figura 5 es un diagrama que muestra un ejemplo de múltiples referencias previas por un cuadro P actual a dos cuadros P previos, y a un cuadro I previo. La figura 6A es un diagrama de un patrón de codificación MPEG-2 típico del estado de la técnica, mostrando un número constante de cuadros B entre cuadros I y/o cuadros P que encorchan. La figura 6B es un diagrama de un patrón de codificación de video MPEG-4 teóricamente posible del estado de la técnica, mostrando un número variable de cuadros B entre cuadros I y/o cuadros P que encorchan, así como una distancia variable entre cuadros I . La figura 7 es un diagrama de patrones de código. La figura 8 es un diagrama de flujo mostrando una forma de realización de un método de interpolación con interpolación DC siendo distinta de interpolación AC. La figura 9 es un diagrama de flujo mostrando una forma de realización de un método para interpolación de pixeles de luminancia usando una representación alternativa. La figura 10 es un diagrama de flujo mostrando una forma de realización de un método para interpolación de pixeles de intensidad de color usando una representación alternativa. La figura 11 es un diagrama mostrando tamaños de región de vector de movimiento únicos para cada uno de los dos cuadros P. La figura 12 es un diagrama mostrando una secuencia de cuadros P y B con ponderaciones de interpolación para los cuadros B determinadas como una función de distancia de un cuadro P subsecuente alejado 2 veces que hace referencia a un cuadro P subsecuente 1 lejos. La figura 13 es un diagrama mostrando una secuencia de cuadros P y B con ponderaciones de interpolación para los cuadros B determinadas como una función de distancia de un cuadro P subsecuente 1 lejos que hace referencia a un cuadro P subsecuente alejado 2 veces. La figura 14 es un diagrama mostrando una secuencia de cuadros P y B en los cuales un cuadro P subsecuente tiene múltiples vectores de movimiento con referencia a cuadros P previos . La figura 15 es un diagrama mostrando una secuencia de cuadros P y B en los cuales un cuadro P subsecuente mas cercano tiene un vector de movimiento que hace referencia a un cuadro P previo, y un cuadro P subsecuente siguiente mas cercano tiene múltiples vectores de movimiento con referencia a cuadros P previos . La figura 16 es un diagrama mostrando una secuencia de cuadros P y B en el cual un cuadro P previo mas cercano tiene un vector de movimiento con referencia a un cuadro P previo. La figura 17 es un diagrama mostrando una secuencia de cuadros P y B en el cual un cuadro P previo mas cercano tiene dos vectores de movimiento con referencia a cuadros P previos . La figura 18 es un diagrama mostrando una secuencia de cuadros P y B en el cual un cuadro P previo mas cercano tiene un vector de movimiento con referencia a un cuadro P previo. La figura 19 es una secuencia de cuadros mostrando el caso de tres cuadros P, Pl, P2, y P3 , donde P3 usa una referencia interpolada con dos vectores de movimiento, uno para cada uno de Pl y P2. La figura 20 es una secuencia de cuadros mostrando el caso de cuatro cuadros P, Pl , P2 , P3 , y P4 , donde P4 usa una referencia interpolada con tres vectores de movimiento, uno para cada uno de Pl , P2 , y P3. La figura 21 es un diagrama mostrando una secuencia de cuadros P y B en la cual varios cuadros P tienen uno o mas vectores de movimiento haciendo referencia a varios cuadros P previos, y mostrando diferentes ponderaciones asignadas a referencias hacia adelante y hacia atrás respectivas por un cuadro B particular. La figura 22 es un diagrama mostrando una secuencia de cuadros P y B en la cual el orden de corriente de datos de los cuadros P difiere del orden de despliegue. La figura 23 es un diagrama mostrando una secuencia de cuadros P y B con ponderaciones asignadas . La figura 24 es una gráfica de posición de un objeto dentro de un cuadro contra tiempo. Símbolos de referencia similares en los varios dibujos indican elementos similares . Descripción Detallada Preámbulo Un aspecto de la invención se basa en el reconocimiento que es práctica común usar un valor para M de 3 , lo cual proporciona dos cuadros B entre cada cuadro P (o í). Sin embargo M=2 , M=4 o mayores, son todos útiles. Es de significancia particular notar que el valor de M (el número de cuadros B mas 1) también lleva una relación natural con la velocidad de cuadros. A 24 cuadros por segundo (fps) , la velocidad de películas, la distancia de tiempo de l/24vo de segundo entre cuadros puede resultar en cambios de imagen sustanciales de cuadro a cuadro. A 60 fps, 72 fps, o velocidades de cuadros mayores, sin embargo, la distancia de tiempo entre cuadros adyacentes correspondientemente se reduce. El resultado es que mayores números de cuadros B (es decir, valores mayores de M) se hacen útiles y benéficos en eficiencia de compresión conforme la velocidad de cuadros se incrementa. Otro aspecto de la invención se basa en el reconocimiento de que tanto ambas compresiones de video MPEG-2 y MPEG-4 utilizan un método de interpolación sobre-simplificado. Por ejemplo, para el modo 3, la predicción bi-direccional para cada macro-bloque de un cuadro es un promedio equivalente de los macro-bloques de cuadro subsecuente y previo, según se desplazan por los dos vectores de movimiento correspondientes. Este promedio equivalente es apropiado para M=2 (es decir, cuadros B intermedios sencillos) , dado que el cuadro B será equidistante en tiempo de los cuadros P (o í) previo y subsecuente. Sin embargo, para todos los valores mayores de M, solamente cuadros B centrados simétricamente (es decir, el cuadro de enmedio si M= 4 , 6, 8, etc.) será predicho de manera óptima usando una ponderación equivalente. De manera similar, en modo directo 4 de MPEG-4, aunque los vectores de movimiento se ponderan proporcionalmente , los valores de pixeles predichos para cada cuadro B intermedio son una proporción equivalente de los pixeles correspondientes del cuadro P (o í) previo y P subsecuente. Así, representa una mejora aplicar una ponderación proporcional apropiada, para M>2, a los valores de pixel predichos para cada cuadro B. La ponderación proporcional para cada pixel en un cuadro B actual corresponde a la posición relativa del cuadro B actual con respecto a los cuadros P (o í) previos y subsecuentes. Así, si M=3 , el primer cuadro B usaría 2/3 del valor de pixel correspondiente (vector de movimiento ajustado) a partir del cuadro previo, y 1/3 del valor de pixel correspondiente a partir del cuadro subsecuente (vector de movimiento ajustado) . La figura 2 es una línea de tiempo de cuadros y valores de ponderación de pixel proporcionales de acuerdo con este aspecto de la invención. Los valores de pixeles dentro de cada macro-bloque de cada cuadro B intermedio 201a, 201b se ponderan como una función de "distancia" entre el cuadro P o I previo A y el cuadro P o I siguiente B, con un peso mayor siendo acordado a cuadros I o P mas cercanos. Esto es, cada valor de pixel de un cuadro B predicho bi-direccionalmente es una combinación ponderada de los valores de pixel correspondientes de cuadros A y B predichos no bi-direccionalmente que encorchan. En este ejemplo, para M=3 , la ponderación del primer cuadro B 201a es igual a 2/3A + 1/3B; la ponderación del segundo cuadro B 201b es 1/3A + 2/3B. También se muestra la ponderación promedio equivalente que sería asignada bajo sistemas MPEG convencionales; la ponderación MPEG-1, 2 y 4 para cada cuadro B 201a, 201b sería igual a (A+B) /2. Aplicación a Rango Dinámico Extendido y Rango de Contraste Si M es mayor que 2, la ponderación proporcional de valores de pixel en cuadros B intermedios mejorará la efectividad de codificación bi-direccional (modo 3) y directa (modo 4 MPEG-4) en muchos casos. Casos de ejemplo incluyen efectos de edición de películas y video comunes tales como desvanecimientos y disoluciones cruzadas . Estos tipos de efectos de video son casos de problemas de codificación para tanto MPEG-2 y MPEG-4 debido al uso de un algoritmo de igualación DC simple, y el uso común de M=3 (es decir, dos cuadros B intermedios) , resultando en proporciones equivalentes para cuadros B. la codificación de tales casos se mejora por medio de usar interpolación de cuadro B proporcional de acuerdo con la invención. La interpolación de cuadro B proporcional también tiene aplicación directa a mejoramiento de la eficiencia de codificación para extender el rango dinámico y de contraste . Una ocurrencia común en codificación de imágenes es un cambio en la iluminación. Esto ocurre cuando un objeto se mueve gradualmente acia (o fuera de] sombra (bordes de sombra suaves) .Si una representación de codificación logarítmica se usa para brillo (según se realiza por luminancia logarítmica Y, por ejemplo) , entonces un cambio de brillo de iluminación será un cambio de desfasamiento DC. Si el brillo de la iluminación cae a la mitad, los valores de pixel serán disminuidos por una cantidad igual . Así, para codificar este cambio, una igualación AC deberá encontrarse, y una diferencia DC codificada aplicarse a la región. Tal una diferencia DC siendo codificada a un cuadro P deberá aplicarse proporcionalmente en cada cuadro B que interviene también. (Ver la solicitud de patente US 09/905,039, titulada "Method and System for Improving Compressed Image Chroma Information", cedida al mismo cesionario de la presente invención y por ello incorporada por referencia, para información adicional en representaciones de codificación logarítmicas) . Además de cambios en iluminación, cambios en contraste también benefician la interpolación de cuadros B proporcionales . Por ejemplo, conforme un aeroplano se mueve hacia un observante fuera de una nube o bruma, su contraste se incrementará gradualmente . Este incremento de contraste será expresado como una amplitud incrementada en los coeficientes AC del DCT en los macro-bloques codificados del cuadro P correspondiente. De nuevo, cambios en contraste en cuadros B que intervienen serán aproximados de manera mas cercana por una interpolación proporcional, con ello mejorando la eficiencia de codificación.
Aplicar Valores de Altos a Formación de Capas Temporal Usar formas de realización de la invención permite un incremento en el valor de M, y por lo tanto el número de cuadros B entre cuadros P y/o I que encorchan, mientras se mantiene o gana eficiencia de codificación. Tal uso beneficia un número de aplicaciones, incluyendo formación de capas temporal. Por ejemplo, en la patente US 5,988,863, titulada "Temporal and Resolution Layering for Advanced Televisión" (cedida al cesionario de la presente invención, e incorporada por referencia) , se nota que los cuadros B son un mecanismo adecuado para velocidades (cuadros) temporales de formación de capas. La flexibilidad de tales velocidades se relaciona con el número de cuadros B consecutivos disponibles. Por ejemplo, cuadros B sencillos (M=2) puede soportar una capa temporal decodificada de 36 fps dentro de una corriente de 72 fps o una capa temporal decodificada de 30 fps dentro de una corriente de 60 f s. Triples cuadros B (M=4) pueden soportar capas temporales decodificadas de 36 fps y 18 fps dentro de una corriente de 72 fps, y capas temporales decodificadas de 30 fps y 15 fps dentro de una corriente de 60 f s. usando M=10 dentro de una corriente de 120 fps puede soportar capas temporales decodificadas de 12 fps, 24 fps, y 60 fps. M=4 también se puede usar con una corriente de 144 fps para proporcionar capas temporales decodificadas a 72 fps y 36 fps. Como una mejora a tomar cada n-ésimo cuadro, múltiples cuadros a 120 fps o 72 fps pueden decodificarse y proporcional-mente mezclarse, según se describe en la solicitud de patente US 09/545,233, titulada "Enhancements to Temporal and Resolution Layering" (cedida al cesionario de la presente invención e incorporada por referencia) , para mejorar las características de borrosidad de movimiento de los resultados de 24 fps. Velocidades de cuadros aun mayores se pueden sintetizar utilizando los métodos descritos en la solicitud de patente US 09/435,377, titulada "System and Method for Motion Compensation and Frame ate Conversión" (cedida al mismo cesionario de la presente invención, e incorporada por referencia) . Por ejemplo, un original de cámara de 72 fps puede utilizarse con conversión de velocidad de cuadros compensada por movimiento para crear una velocidad de cuadros efectiva de 288 cuadros por segundo. Usando M=12, velocidades de cuadros de 48 fps y 24 fps pueden derivarse, así como otras velocidades útiles tales como 144 fps, 96 fps, y 32 fps (y, por supuesto, la original de 72 fps) . Las conversiones de velocidad de cuadros usando este método no necesitan ser múltiplos integrales. Por ejemplo, una velocidad efectiva de 120 fps puede crearse a partir de una fuente de 72 fps, y después usarse como una fuente para velocidades tanto de 60 fps y 24 fps (usando M=10) . Así, hay beneficios de formación de capas temporal para optimizar el desempeño de interpolación de cuadros B. La interpolación de cuadros B proporcional descrita anteriormente hace que números mayores de cuadros B consecutivos funcionen mas eficientemente , con ello permitiendo estos beneficios. Proporciones de Interpolación de Cuadros B Mezcladas Una razón por la que la ponderación promedio equivalente ha sido usada en sistemas convencionales como el predictor de modo compensado por movimiento de los valores de pixel de cuadro B es que el cuadro P (o I) antes o después de un cuadro B particular puede ser ruidoso, y por lo tanto representar un equivalente imperfecto. El mezclado equivalente optimizará la reducción de ruido en el bloque compensado por movimiento optimizado. Existe una diferencia residual que se codifica usando la función DCT cuantizada. Por supuesto, mientras sea mejor la equivalencia a partir de la proporción compensada por movimiento, son menos los bits residuales de diferencia que se requieren, y es mayor la calidad de imagen resultante. En casos donde hay objetos moviéndose dentro y fuera de sombra o bruma, una proporción verdadera donde M>2 proporciona una mejor predicción. Sin embargo, cuando cambios de iluminación y contraste no ocurren, ponderación equivalente puede probar ser un mejor predictor, dado que los errores de mover un macro-bloque hacia adelante junto con un vector de movimiento serán promediados con los errores del bloque desplazado hacia atrás, con ello reduciendo los errores en cada uno por la mitad. Aun así, es muy probable que los macro-bloques de cuadro B mas cercanos al cuadro P (o í) se correlacionarán mas con ese cuadro que con un cuadro P (o í) mas distante.
Asi, es deseable en algunas circunstancias, tales como cambio de contraste o brillo regional, utilizar una verdadera proporción para ponderación de pixeles de macro-bloque de cuadro B (para tanto luminancia y color) , como se describe anteriormente. En otras circunstancias, puede ser mas óptimo utilizar proporciones equivalentes, como en MPEG-2 y MPEG-4. Otro aspecto de la invención utiliza una mezcla de estas dos técnicas de proporción (promedio equivalente y proporción de distancia de cuadro) para interpolación de pixeles de cuadros B. Por ejemplo, en el caso de =3 , 3/4 de las proporciones de 1/3 y 2/3 pueden mezclarse con 1/4 del promedio equivalente, resultando en las dos proporciones siendo de 3/8 y de 5/8. Esta técnica puede generalizarse por medio de usar un "factor de mezcla" F: Ponderación = F» (Ponderación Proporcional de Distancia de Cuadro) + (1-F) · (Ponderación Promedio Equivalente) El rango útil del factor de mezcla F es de 1, indicando la interpolación proporcional pura, a 0, indicando el promedio equivalente puro (la asignación inversa de valores también se puede usar) . La figura 3 es una línea de tiempo de cuadros y valores de ponderación de pixeles mezclados, proporcionales, y equivalentes, de acuerdo con este aspecto de la invención. Los valores de pixeles de cada macro-bloque de cada cuadro B intermedio 301a, 301b se ponderan como una función de "distancia de tiempo" entre el cuadro P o I previo A y el cuadro P o I siguiente B, y como una función del promedio equivalente de A y B. En este ejemplo, para M=3 y un factor de mezcla F=3/4, la ponderación mezclada para el primer cuadro B 301a es igual a 5/8A + 3/8B (es decir 3/4 de la ponderación proporcional 2/3A + 1/3B, mas 1/4 de la ponderación promedio equivalente de (A+B)/2) . De manera similar, la ponderación para el segundo cuadro B 301b es igual a 3/8A + 5/8B. El valor del factor de mezcla F puede establecerse globalmente para una codificación completa, o para cada grupo de ilustraciones (GOP) , un rango de cuadros B, cada cuadro B, o cada región dentro de un cuadro B (incluyendo, por ejemplo, tan fino como para cada macro-bloque o, en el caso de modo directo MPEG-4 usando un vector P en modo 8x8, aun bloques de movimiento 8x8 individuales) . En el interés de la economía de bits, y reflejando el hecho de que la proporción de mezcla usualmente no es tan importante para transportarse con cada macro-bloque, el uso óptimo del mezclado deberá relacionarse con el tipo de imágenes siendo comprimidas. Por ejemplo, para imágenes que se están desvaneciendo, disolviendo, o donde la iluminación o contraste globales está cambiando gradualmente, un factor de mezcla F cercano o en 1 (es decir, seleccionando interpolación proporcio-nal) generalmente es el mas óptimo. Para imágenes corriendo sin tales cambios de iluminación o contraste, entonces valores de factor de mezcla inferiores, tales como 2/3, ½, o 1/3, pueden formar una mejor elección, con ello conservando algo de los beneficios de la interpolación proporcional asi como algunos de los beneficios de la interpolación promedio equivalente. Todos los valores de factor de mezcla dentro del rango de 0 a 1 generalmente serán útiles, con un valor particular dentro de este rango probando ser óptimo para cualquier cuadro B dado. Para imágenes de rango dinámico amplio y de rango de contraste amplio, el factor de mezcla puede determinarse regionalmente , dependiendo de las características de región locales. En general, sin embargo, un rango amplio de luz y contraste recomienda hacia los valores de factor de mezcla favoreciendo interpolación meramente proporcional, en lugar de promedio equivalente . Un factor de mezcla óptimo generalmente se determina empíricamente, aunque la experiencia con tipos particulares de escenas puede usarse para crear una tabla de factores de mezcla por el tipo de escena. Por ejemplo, una determinación de características de cambio de imagen puede usarse para seleccionar la proporción de mezcla para un cuadro o región. Alterna ivamente, cuadros B pueden codificarse usando un número de factores de mezcla candidatos (ya sea para todo el cuadro, o regionalmente) , con cada uno de ellos siendo evaluado para optimizar la calidad de imagen (determinada, por ejemplo, por la relación de señal a ruido mas alta, o SNR) y para el conteo de bits mas bajo. Estas evaluaciones candidatas pueden entonces usarse para seleccionar el mejor valor para la proporción de mezcla. Una combinación de ambas características de cambio de imagen y calidad/eficiencia de codificación puede también usarse. Cuadros B cerca de la mitad de una secuencia de cuadros B, o resultando de valores bajos de M, son se afectan mucho por la interpolación proporcional, dado que la proporción calculada está ya cerca del promedio equivalente. Sin embargo, para valores mayores de M, las posiciones de cuadro B extremas pueden afectarse significativamente por la elección de un factor de mezcla. Nótese que el factor de mezcla puede ser diferentes para estas posiciones extremas, utilizando mas del promedio que las posiciones mas centrales, las cuales ganan poco o ningún beneficio de desviarse del promedio, dado que ya tienen proporciones alta en ambos cuadros P (o I) vecinos. Por ejemplo, si M=5 , el primer y el cuarto cuadros B pueden usar un factor de mezcla F que se mezcla en mas del promedio equivalente, pero los cuadros B medios segundo y tercero usan proporciones equivalentes estrictas 2/5 y 3/5. Si el factor de mezcla de proporción a promedio varía como una función de la posición de un cuadro B en una secuencia, el valor variable del factor de mezcla puede transportarse en la corriente de bits comprimida o como información lateral al codificador.
Si un factor de mezcla general estático se requiere (debido a la f lta de un método para transportar el valor) , entonces el valor de 2/3 es usualmente cercano al óptimo, y puede seleccionarse como un valor estático para interpolación de cuadros B en tanto el codificador y el decodificador . Por e emplo, usando F=2/3 para el factor de mezcla, para M=3 las proporciones de cuadro sucesivas serían 7/18 (7/18 = 2/3 * 1/3 + 1/3 *l/2) y 11/18 (11/18 = 2/3 * 2/3 + 1/3 *l/2) .. Interpolación Lineal Los valores de pixel de cuadro de video generalmente se almacenan en una representación particular que mapea la información de imagen original a valores numéricos. Tal mapeo resulta en una representación lineal o no lineal. Por ejemplo, los valores de luminancia usados en la compresión son no lineales. El uso de varias formas de representación no lineal incluyen logarítmica, exponencial (a varias potencias) , y exponencial con una corrección negra (comúnmente usada para señales de video) . Sobre rangos dinámicos angostos, o por interpolaciones de regiones cercanas, la representación no lineal es aceptable, dado que estas interpolaciones cercanas representan interpolaciones lineales a forma de pieza. Así, pequeñas variaciones en brillo se aproximan razonablemente por interpolación lineal. Sin embargo, para variaciones amplias en brillo, tales como ocurren en imágenes de rango dinámico amplio y rango de contraste amplio, el tratamiento de señales no lineales como lineales será impreciso. Aun para imágenes de rango de contraste normales, desvanecimientos y disoluciones cruzadas lineales pueden degradarse por una interpolación lineal . Algunos desvanecimientos y disoluciones cruzadas utilizan velocidades de desvanecimiento y disolución no lineales, añadiendo complejidad adicional. Asi, un mejoramiento adicional al uso de mezclas proporcionales, o aun interpolaciones proporcionales sencillas o de promedio equivalente, es llevar a cabo tales interpolaciones en valores de pixeles representados en un espacio lineal, o en otros espacios no lineales optimizados que difieren de la representación de luminancia no lineal original. Esto se puede lograr, por ejemplo, por medio de convertir las dos señales de luminancia no lineales (a partir de los cuadros P (o I) previo y subsecuente hacia una representación lineal, o una representación no lineal diferente. Entonces una mezcla proporcional se aplica, después de lo cual la conversión inversa se aplica, produciendo un resultado mezclado en la representación de luminancia no lineal original de la imagen. Sin embargo, la función de proporción habrá sido llevada a cabo en una representación mas óptima de las señales de luminancia. También es útil aplicar de manera benéfica esta conversión lineal o no lineal a valores de color (intensidad de color) , cuando colores se están desvaneciendo o se están volviendo saturados, como ocurre en cambios de contraste asociados con variaciones en bruma y oscurecimiento.
Forma de Realización de Ejemplo La figura 4 es un diagrama de flujo mostrando una forma de realización ilustrativa de la invención como un método que se puede implementar por computador: Paso 400: En un sistema compresión de imágenes de video, para modo directo y de interpolación para calcular cuadros B, determinar un valor de interpolación para aplicar a cada pixel de una secuencia de entrada de dos o mas cuadros intermedios bi-direccionalmente predichos usando una de (1) la proporción de distancia de cuadro o (2) una mezcla de proporción de ponderación equivalente y distancia de cuadro, derivada de al menos dos cuadros predichos no bi-direccionalmente encorchando tal entrada de secuencia a partir de una fuente (v.gr., una corriente de imagen de video) . Paso 401: Optimizar el valor de interpolación con respecto a una unidad de imagen (v.gr., un grupo de ilustraciones (GOP) , una secuencia de cuadros, una escena, un cuadro, una región dentro de un cuadro, un macro-bloque, un bloque DCT, o agrupación útil similar o selección de pixeles) . El valor de interpolación puede establecerse estadísticamente para la sesión de codificación entera, o dinámicamente para cada unidad de image . Paso 402: Optimizar adicionalmente el valor de interpolación con respecto a tipo de escena o simplicidad de codificación. Por ejemplo, un valor de interpolación puede establecerse : estadísticamente (tal como 2/3 proporcional y 1/3 de promedio equivalente) ; proporcionalmente para cuadros cerca del promedio equivalente, pero mezclado con promedio equivalente cerca de los cuadros P (o í) ; dinámicamente con base en características de escena globales, tales como desvanecimientos o disoluciones cruzadas; dinámicamente (y localmente) con base en características de región de imagen locales, tales como rango de contraste local y dinámico local; o dinámicamente (y localmente) con base en desempeño de codificación (tal como SNR codificada mas alta) y bits codificados mínimos generados. Paso 403 : Transportar las cantidades proporcionales apropiadas al decodificador, si no se determina estadísticamente. Paso 404: Opcionalmente , convertir la información de luminancia (y, opcionalmente, intensidad de color) para cada cuadro a una representación alternativa lineal o no lineal, y transportar esta representación alternativa al decodificador, si no se determina estadísticamente. Paso 405: Determinar los valores de pixeles proporcionales usando el valor de interpolación determinado. Paso 406: Si es necesario (debido al Paso 404), reconvertir la representación original . Referencia de Cuadro P Extendida Como se nota anteriormente, en métodos de compresión MPEG-1, 2, y 4, del estado de la técnica, los cuadros P hacen referencia al cuadro P o I previo, y los cuadros B hacen referencia a los cuadros P y/o I previo y subsecuente mas cercanos. La misma técnica se usa en los estándares de compresión DCT compensados por movimiento H.261 y H.263, los cuales engloban técnicas de compresión de tasa de bits baja. En los estándares H.263++ y H.26L en desarrollo, la referencia de cuadro B se extiende para apuntar a cuadros P o I que no encorchan directamente a un cuadro actual. Esto es, macro-bloques dentro de los cuadros B podrían apuntar a un cuadro P o I antes del cuadro P previo, o a un cuadro P o I después del cuadro P subsecuente. Con uno o mas bits por macro-bloque, saltar el cuadro P previo o subsecuente puede señalarse de manera simple. Conceptualmente, el uso de cuadros P previos para referencia en cuadros B requiere solamente almacenamiento. Para el uso de codificación de velocidad de bits baja de H.263++ o H.26L, esta es una pequeña cantidad de memoria adicional. Para la referencia de cuadros P subsecuente, la codificación de cuadros P debe modificarse con respecto a codificación de cuadros B, tal que los cuadros P futuros (o posiblemente cuadros I) deben decodificarse antes de intervenir cuadros B. Así, el orden de codificación también es un problema para referencias de cuadro P subsecuentes . Las diferencias primarias entre tipos de cuadro P y B son: (1) cuadros B pueden referenciarse bi-direccionalmente (hasta dos vectores de movimiento por macro-bloque) ; (2) cuadros B se descartan después de su uso (lo cual también significa que pueden saltarse durante la decodificación para proporcionar formación de capas temporales); y (3) los cuadros P se usan como "escalones", uno al siguiente, dado que cada cuadro P debe decodificarse para uso como una referencia para cada cuadro P subsecuente . Como otro aspecto de la invención, los cuadros P (a diferencia de los cuadros B) se decodifican con referencia a uno o mas cuadros P o I previos (excluyendo el caso de cada cuadro P referenciando solamente al cuadro P o I previo mas cercano) . Así, por ejemplo, dos o mas vectores de movimiento por macro-bloque pueden usarse para un cuadro P actual, todos apuntando hacia atrás en tiempo (es decir, a uno o mas cuadros previamente decodificados) . Tales cuadros P aun mantienen un carácter de "escalón". La figura 5 es un diagrama mostrando un ejemplo de referencias previas múltiples por un cuadro P actual 500 a dos cuadros P previos 502, 504, y a un cuadro I previo 506. Además, es posible aplicar los conceptos de interpolación de macro-bloque, según se describen anteriormente, en tales referencias de cuadros P. Así, además de señalar referencias sencillas a mas de un cuadro P o I previo, también es posible mezclar proporciones de cuadros P o I previos múltiples, usando un vector de movimiento para cada referencia de cuadro . Por ejemplo, la técnica descrita anteriormente de usar un modo de interpolación de cuadros B teniendo dos referencias de cuadro puede aplicarse para permitir que cualquier macro-bloque en un cuadro P haga referencia a dos cuadros P previos o un cuadro P previo y un cuadro I previo, usando dos vectores de movimiento. Esta técnica interpola entre dos vectores de movimiento, pero no es bi-direccional en tiempo (como es el caso con la interpolación de cuadro B) , dado que ambos vectores de movimiento apuntan hacia atrás en tiempo. Los costos de memoria han disminuido al punto de mantener múltiples cuadros P o I previos en memoria para tal referencia concurrente es bastante práctico . En aplicar tal interpolación de cuadros P, es constructivo seleccionar y señalar al decodificador varias proporciones útiles de los dos o mas cuadros P previos (y, opcionalmente, un cuadro I previo) . En particular, una mezcla igual de cuadros es una de las proporciones de mezcla útiles. Por ejemplo, con dos cuadros P previos como referencias, una cantidad de ½ equivalente de cada cuadro P puede mezclarse. Para tres cuadros P previos, una mezcla equivalente de 1/3 podría usarse. Otra mezcla útil de dos cuadros P es 2/3 del cuadro previo mas reciente, y 1/3 del cuadro previo menos reciente. Para tres cuadros P previos, otra mezcla útil es ½ del cuadro previo mas reciente, 1/3 del cuadro previo mas reciente siguiente, y 1/6 del cuadro previo menos reciente . En cualquier caso, un conjunto simple de mezclas útiles de cuadros P previos múltiples (y, opcionalmente, un cuadro I) puede utilizarse y señalarse simplemente a partir de un codificador a un decodificador . Las proporciones de mezcla específicas utilizadas pueden seleccionarse tan frecuentemente como sea útil para optimizar la eficiencia de codificación para una unidad de imagen. Un número de proporciones de mezcla pueden seleccionarse usando un número de bits pequeño, el cual puede transportarse al decodificador cuando sea adecuado para una unidad de imagen deseada. Como otro aspecto de la invención, también es útil cambiar-seleccionar referencias de cuadro P sencillas a partir del cuadro P (o í) previo mas reciente a un cuadro P (o í) previo mas "distante" . En esta manera, los cuadros P utilizarían un vector de movimiento sencillo por macro-bloque (u, opcionalmente , por bloque 8x8 en codificación de estilo MPEG-4) , pero utilizarían uno o mas bits para indicar que la referencia se refiere a un cuadro previo específico sencillo. Los macro-bloques de cuadro P en este modo no serían interpolativos, pero en su lugar harían referencia aun cuadro previo seleccionado, siendo seleccionado a partir de dos, tres, o mas elecciones de cuadro P (o í) previo posibles para referencia. Por ejemplo, un código de 2 bits podría designar uno de hasta cuatro cuadros previos como el cuadro de referencia sencillo de elección. Este código de 2 bits podría cambiarse en cualquier unidad de imagen conveniente . Número de Cuadros B Adaptativo Es típico en codificación MPEG usar un patrón fijo de tipos de cuadro I, P, y B. El número de cuadros B entre cuadros P es típicamente una constante. Por ejemplo, es típico en codificación MPEG-2 usar dos cuadros B entre cuadros P (o í). La figura 6A es un diagrama de un patrón de codificación MPEG-2 típico del estado de la técnica, mostrando un número constante de cuadros B (es decir, dos) entre cuadros I 600 y/o cuadros P 602 que encorchan. El estándar de codificación de video MPEG-4 conceptual-mente permite un número variable de cuadros B entre cuadros I y/o cuadros P que encorchan, y una cantidad variable de distancia entre cuadros I . La figura 6B es un diagrama de un patrón de codificación de video MPEG-4 teóricamente posible del estado de la técnica, mostrando un número variable de cuadros B entre cuadros I 600 y/o cuadros P 602 que encorchan, asi como una distancia variable entre cuadros I 600. Esta estructura de codificación flexible teóricamente puede utilizarse para mejorar eficiencia de codificación por medio de igualar los tipos de codificación de cuadros B y P mas efectivos a los cuadros de imagen en movimiento. Aunque esta flexibilidad ha sido específicamente permitida, se ha explorado muy poco, y ningún mecanismo se conoce para actualmente determinar la colocación de cuadros B o P en tal una estructura flexible . Otro aspecto de la invención aplica los conceptos descritos en la presente a esta estructura de codificación flexible así como a patrones de codificación fijos simples en uso común. Los cuadros B así pueden interpolarse usando los métodos descritos anteriormente, mientras que los cuadros P pueden hacer referencia a mas de un cuadro P o I previo y pueden interpolarse de acuerdo con la presente descripción. En particular, macro-bloques dentro de cuadros B pueden utilizar mezclas proporcionales apropiadas para una estructura de codificación flexible tan efectivamente como con una estructura fija. Mezclas proporcionales pueden también utilizarse cuando cuadros B hacen referencia a cuadros P o I que están mas separados que los cuadros P o I que encorchan mas cercanos . Similarmente , los cuadros P pueden hacer referencia a mas de un cuadro P o I previo en esta estructura de codificación flexible tan efectivamente como con una estructura de patrón fija. Además, las proporciones de mezcla pueden aplicarse a macro-bloques en tales cuadros P cuando hacen referencia a mas de un cuadro P previo (mas, opcionalmente, un cuadro I) . (A) Determinar la Colocación en Patrones de Codificación Flexibles El -siguiente método permite a un codificador que optimice la eficiencia de tanto el patrón de codificación de cuadros así como las proporciones de mezcla utilizadas. Para un rango de cuadros seleccionado, un número de patrones de codificación candidatos pueden probarse, para determinar un patrón óptimo o cercano a óptimo (con relación a criterios específicos) . La figura 7 es un diagrama de códigos de patrón que se pueden examinar. Una secuencia inicial 700, terminando en un cuadro P o I, se selecciona arbitrariamente, y se usa como base para añadir cuadros P y/o B adicionales, los cuales entonces se evalúan (según se describe mas adelante) . En una forma de realización, un cuadro P se añade a la secuencia inicial 700 para crear una primera secuencia de prueba 702 para evaluación. Si la evaluación es satisfactoria, un cuadro B que interviene se inserta para crear una segunda secuencia de prueba 704. Para cada evaluación satisfactoria, cuadros B adicionales se insertan para crear secuencias de prueba incrementalmente mas largas 706-712, hasta que los criterios de evaluación se vuelven no satisfactorios . En ese punto, la secuencia de codificación previa se acepta. Este proceso se recibe, usando el cuadro P final para la secuencia de codificación previamente aceptada como el punto de inicio para añadir un nuevo cuadro P y luego insertar cuadros B nuevos . Un patrón de codificación óptimo o cercano a óptimo puede seleccionarse con base en varios criterios de evaluación, comúnmente involucrando cambios de varias características de codificación, tales como calidad de imagen codificada contra número de bits de codificación requerido. Los criterios de evaluación comunes incluyen el menos número de bits usado (en una prueba de parámetro de cuantización fijo) , o la mejor relación de señal a ruido (en una prueba de velocidad de bits fija) , o una combinación de ambos . También es común minimizar la suma de diferencias absolutas (SAD) , la cual forma una medida de comparación de DC.
Según se describe en la solicitud de patente US 09/904,192, titulada "Motion Estimation for Video Compresión Systems" (cedida al mismo cesionario de la presente invención y incorporada en la presente por referencia) , un criterio de comparación de AC también es una medida útil de la calidad de una equivalencia candidata particular (la solicitud de patente también describe otras optimizaciones útiles) . Así, los criterios de equivalencia de AC y DC, acumulados sobre las mejores equivalencias de todos los macro-bloques , pueden examinarse para determinar la calidad de equivalencia global de cada patrón de codificación candidato. Esta técnica de comparación AC/DC puede aumentar o reemplazar las pruebas de relación de señal a ruido (SNR) y de menores bits usados cuando se usan junto con un estimado de número de bits codificados para cada tipo de patrón de cuadro. Es típico codificar macro-bloques dentro de cuadros B con un valor parámetro de cuantización (QP) mayor que para los cuadros P, afectando tanto la calidad (medida comúnmente como relación de señal a ruido) y el número de bits usados dentro de los patrones de codificación candidatos . (B) Optimización de Proporción de Mezcla en Patrones de Codificación Flexibles Opcionalmente , para cada patrón candidato determinado de acuerdo con el método anterior, proporciones de mezcla pueden probarse por lo adecuado (v.gr. , proporciones de mezcla óptimas o cercanas a óptimas) con relación a uno o mas criterios. Esto se puede hacer, por ejemplo, por medio de probar para mejor calidad (menor SNR) y/o eficiencia (menos bits usados) . El uso de una o mas referencias previas para cada macro-bloque en cuadros P también se puede determinar en la misma manera, probar cada patrón de referencia candidato y proporción de mezcla, para determinar un conjunto de una o mas referencias adecuadas. Una vez que el patrón de codificación para este siguiente paso (Paso 700 en la figura 7) ha sido seleccionado, entonces los pasos subsecuentes (Pasos 702-712) pueden probarse para varios patrones de codificación candidatos. En esta manera, una codificación mas eficiente de una secuencia de imágenes en movimiento puede determinarse. Así, la eficiencia puede optimizarse/mejorarse según se describe en la sub-sección (A) anterior; la optimización de mezcla se puede aplicar en cada paso de codificación probado. Interpolación DC vs. AC En muchos casos de codificación de imágenes, tal como cuando se usa una representación logarítmica de cuadros de imágenes, la interpolación anteriormente descrita de valores de pixeles de cuadros codificará de manera óptima cambios en la iluminación. Sin embargo, en una "curva gamma" de video alternativa, representaciones lineales, y otras, comúnmente probarán ser útiles para aplicar diferentes factores de mezcla de interpolación a los valores DC que a los valores AC de los pixeles . La figura 8 es un diagrama de flujo mostrando una forma de realiza-ción de un método de interpolación con interpolación DC siendo distinta de la interpolación AC. Para una región de imágenes seleccionada (usualmente un bloque o macro-bloque DCT) a partir de un cuadro de entrada primero y segundo 802, 802', el valor de pixeles promedio para cada tal región se sustrae 804, 804', con ello separando el valor DC (es decir, el valor promedio de la región seleccionada entera) 806, 806' a partir de los valores AC (es decir, los valores de pixeles firmados restantes) 808, 808' en las regiones seleccionadas. Los valores DC respectivos 806, 806' pueden multiplicarse por ponderaciones de interpolación 810, 810' diferentes de las ponderaciones de interpolación 814, 814' usadas para multiplicar los valores de pixeles AC (firmados) 808, 808' . El valor DC recién interpolado 812 y los valores AC recién interpolados 816 pueden entonces combinarse 818, resultando en una nueva predicción 820 para la región seleccionada. Como con los otros valores de interpolación en esta invención, las ponderaciones apropiadas pueden señalarse a un decodificador por unidad de imagen. Un número pequeño de bits puede seleccionarse entre un número de valores de interpolación, así como seleccionar la interpolación independiente de los aspectos AC versus DC de los valores de pixeles . Interpolación Lineal & No Lineal La interpolación es un promedio ponderado lineal. Dado que la operación de interpolación es lineal, y dado que los valores de pixeles en cada cuadro de imagen son comúnmente representados en una forma no lineal (tal como representaciones gamma de video o logarítmica) , optimización adicional del proceso de interpolación se vuelve posible. Por ejemplo, la interpolación de pixeles para una secuencia de cuadros particular, así como la interpolación de valores DC por separado de valores AC, en ocasiones será óptima o cercana a óptima con una representación de pixeles lineal. Sin embargo, para otras secuencias de cuadros, tal interpolación será óptima o cercana a óptima si los pixeles se representan como valores logarítmicos o en otras representaciones de pixeles. Además, las representaciones óptimas o casi óptimas para interpolar componentes de señal U ? V (intensidad de color) pueden diferir de las representaciones óptimas o casi óptimas para el componente de señal Y (luminancia) . Es por lo tanto un aspecto útil de la invención convertir una representación de pixeles a una representación alternativa como parte del procedimiento de interpolación. La figura 9 es un diagrama de flujo mostrando una forma de realización de un método para interpolación de pixeles de luminancia usando una representación alternativa. Comenzando con una región o bloque de pixeles de luminancia (Y) en una representación inicial (v.gr. , gamma de video o logarítmica) (Paso 900), los datos de pixeles se transforman a una representación alternativa (v.gr., lineal, logarítmica, gamma de video) diferente de la representación inicial (Paso 902) . La región o el bloque de pixeles transformado entonces se interpola como se describe anteriormente (Paso 906) , y se transforma de regreso a la representación inicial (Paso 906) . El resultado es los valores de luminancia de pixeles interpolados (Paso 908) . La figura 10 es un diagrama de flujo mostrando una forma de realización de un método para interpolación de pixeles de intensidad de color usando una representación alternativa . Comenzando con una región o bloque de pixeles de intensidad de color (U, V) en una representación inicial (v.gr., gamma de video o logarítmica) (Paso 1000) , los datos de pixeles se transforman a una representación alternativa (v.gr., lineal, logarítmica, gamma de video) diferente de la representación inicial (Paso 1002) . La región o el bloque de pixeles transformado entonces se interpola como se describe anteriormente (Paso 1006) , y se transforma de regreso a la representación inicial (Paso 1006) . El resultado es los valores de intensidad de color de pixeles interpolados (Paso 1008) . Las transformaciones entre representaciones pueden llevarse a cabo de acuerdo con enseñanzas de la solicitud de patente US 09/905,039, titulada "Method and System for Improving Compressed Image Chroma Information" , cedida al mismo cesionario de la presente invención e incorporada en la presente por referencia. Nótese que la transformación de representación alternativa y su inverso pueden comúnmente llevarse a cabo usando una tabla de búsqueda simple. Como una variación de este aspecto de la invención, el espacio de representación alternativo (lineal o no lineal) para la interpolación AC puede diferir del espacio de representación alternativo para interpolación DC. Como con las ponderaciones de interpolación, la selección de la cual representación de interpolación alternativa se va a usar para cada representación de pixeles de luminancia (Y) e intensidad de color (U y V) puede señalarse al decodifica-dor usando un número de bits pequeño para cada unidad de imagen seleccionada . Número de Vectores de Movimiento por Macro-bloque En MPEG-2, un vector de movimiento es permitido por macro-bloque 16x16 en cuadros P. En cuadros B, MPEG-2 permite un máximo de 2 vectores de movimiento por macro-bloque 16x16, correspondiendo al modo de interpolación bi-direccional . En codificación de video MPEG-4, hasta 4 vectores de movimiento se permiten por macro-bloque 16x16 en cuadros P, correspondiente a un vector de movimiento por bloque DCT 8x8. En cuadros B de MPEG-4 , un máximo de dos vectores de movimiento se permiten para cada macro-bloque 16x16, cuando se usa un modo de interpolación. Una delta de vector de movimiento sencilla en modo directo MPEG-4 puede resultar en cuatro vectores de movimiento "implícitos" independientes, si el macro-bloque de cuadro P correspondiente subsecuente se establece en modo 8x8 teniendo cuatro vectores. Esto se logra por medio de añadir la delta de vector de movimiento llevada en un macro-bloque de cuadro B 16x16 a cada uno de los cuatro vectores de movimiento independientes a partir del macro-bloque de cuadro P siguiente, después de escalar para la distancia en tiempo (el cuadro B es mas cercano en tiempo que la referencia de cuadro P o I previa del cuadro P) . Un aspecto de la invención incluye la opción para incrementar el número de vectores de movimiento por región de ilustración, tal como un macro-bloque . Por ejemplo, en ocasiones probará ser benéfico tener mas de dos vectores de movimiento por macro-bloque de cuadro B. Estos pueden aplicarse por medio de hacer referencia cuadros P o I adicionales y tener tres o mas términos de interpolación en la suma ponderada. Vectores de movimiento adicionales pueden también aplicarse para permitir cuatro vectores independientes para los bloques DCT 8x8 del macro-bloque de cuadro B. También, cuatro deltas independientes pueden usarse para extender el concepto de modo directo por medio de aplicar una delta separada a cada uno de los vectores de movimiento de región 8x8 a partir del cuadro P subsecuente. Además, cuadros P pueden adaptarse usando técnicas de implementación de cuadros B para hacer referencia a mas de un cuadro previo en un modo de interpolación, usando la técnica de dos términos de interpolación de cuadros B descrita anteriormente. Esta técnica puede fácilmente extenderse a mas de dos cuadros P o I previos, con una interpolación resultante teniendo tres o mas términos en la suma ponderada. Como con otros aspectos de esta invención (v.gr., raétodos de representación de pixeles y de interpolación DC versus AC) , sumas ponderadas particulares pueden comunicarse a un decodificador usando un número pequeño de bits por unidad de imagen . En aplicar este aspecto de la invención, la correspondencia entre bloques DCT de pixeles 8x8 y el campo de vector de movimiento no necesita ser tan estricto como con MPEG-2 y MPEG-4. Por ejemplo, puede ser útil usar tamaños de región alternativos diferentes a 16x16, 16x8 (usados solamente con inter-enlazado en MPEG-4), y 8x8 para vectores de movimiento. Tales alternativas pueden incluir cualquier número de tamaños de región útiles, tales como 4x8, 8x12, 8x16, 6x12, 2x8, 4x8, 24x8, 32x32, 24x24, 24x16, 8x24, 32x8, 32x4, etc. usando un número pequeño de tales tamaños útiles, unos cuantos bits pueden señalar a un decodificador la correspondencia entre tamaños de región de vectores de movimiento y tamaños de bloques DCT. En sistemas donde un bloque DCT 8x8 convencional se usa, un conjunto sencillo de correspondencias al campo de vector de movimiento son útiles para simplificar el procesamiento durante la compensación de movimiento. En sistemas donde un tamaño de bloque DCT es diferente de 8x8, entonces mayor flexibilidad se puede lograr en especificar el campo de vector de movimiento, como se describe en la solicitud de patente US 09/545,233, titulada "Enhanced Temporal and Resolution Layering in Advanced Televisión" , cedida al mismo cesionario de la presente invención e incorporada en la presente por referencia. Nótese que los limites de región del vector de movimiento no necesitan corresponder a limites de región DCT. De hecho, es comúnmente útil definir regiones de vector de movimiento en tal una manera que una región de vector de movimiento cae dentro de un bloque DCT (y no en su borde) . El concepto de extender la flexibilidad del campo de vector de movimiento también aplica al aspecto de interpolación de esta invención. Siempre y cuando la correspondencia entre cada pixel y uno o mas vectores de movimiento a uno o mas cuadros de referencia se especifica, el método de interpolación descrito anteriormente puede aplicarse a la flexibilidad completa de vectores de movimiento útiles usando todo de la generalidad de esta invención. Aun el tamaño de las regiones correspondientes a cada vector de movimiento puede diferir para cada referencia de cuadro previo cuando se usan cuadros P, y cada referencia de cuadro previo y futuro cuando se usan cuadros B. Si los tamaños de región para vectores de movimiento difieren cuando se aplica el método de interpolación mejorado de esta invención, entonces la interpolación refleja la región común de traslape. La región común de traslape para referencias de vector de movimiento puede utilizarse como la región sobre la cual el término DC se determina cuando se interpolan por separado valores de pixeles DC y AC. La figura 11 es un diagrama mostrando tamaños de región de vector de movimiento únicos 1100, 1102 para cada uno de dos cuadros P 1104, 1106. Antes de calcular valores de interpolación de acuerdo con esta invención, la unión 1108 de los tamaños de región de vector de movimiento se determina. La unión 1108 define todas las regiones que se consideran que tienen un vector de movimiento asignado. Así, por ejemplo, en interpolar regiones DCT 4x4 de un cuadro B 1112 hacia atrás al cuadro P previo 1104, una región 4x4 1110 dentro de la unión 1108 usaría el vector de movimiento correspondiente a la región 8x16 1114 en el cuadro P previo. Si prediciendo hacia adelante, la región 1110 dentro de la unión 1108 usaría el vector de movimiento correspondiente a la región 4x16 1115 en el siguiente cuadro P. De manera similar, la interpolación de la región 1106 dentro de la unión 1108 hacia atrás usaría el vector de movimiento correspondiente a la región 8x16 1114, mientras predecir la misma región hacia adelante usaría el vector de movimiento correspondiente a la región 12x16 1117. En una forma de realización de la invención, dos paso se usan para lograr la interpolación de vectores de movimiento generalizados (es decir, de tamaño no uniforme) . El primer paso es determinar las regiones comunes de vector de movimiento, según se describen con respecto a la figura 11. Esto establece la correspondencia entre pixeles y vectores de movimiento (es decir, el número de vectores de movimiento por tamaño de región de pixeles específico) para cada referencia de cuadro previo o subsecuente. El segundo paso es utilizar el método de interpolación apropiado y factores de interpolación activos para cada región de pixeles . Es una tarea del codificador asegurar que las regiones de vector de movimiento óptimas o casi óptimas y métodos de interpolación se especifiquen, y que todos los pixeles tengan sus vectores y métodos de interpolación completamente especificados . Esto puede ser muy simple en el caso de un patrón fijo de vectores de movimiento (tal como un vector de movimiento para cada bloque 32x8, especificado para un cuadro entero), con un método de interpolación especificado sencillo (tal como una mezcla de proporción fija a cada distancia de cuadro de referencia, especificada para el cuadro entero) . Este método puede también volverse bastante comple o si cambios regionales se hacen a los tamaños de región de vector de movimiento, y donde los tamaños de región difieren dependiendo de cual cuadro previo o subsecuente es referenciado (v.gr., bloques 8x8 para el cuadro previo mas cercano, y bloques 32x8 para el siguiente cuadro previo mas cercano) . Además, el método de interpolación puede especificarse regionalmente dentro del cuadro. Cuando se codifica, es el trabajo del codificador para determinar el uso óptimo o casi óptimo de los bits para seleccionar tamaños y formas de región de vector de movimiento, y para seleccionar el método de interpolación óptimo o casi óptimo. Una determinación también se requiere para especificar el número y la distancia de los cuadros referenciados . Estas especificaciones pueden determinarse por pruebas exhaustivas de un número de tamaños de región de vector de movimiento candidatos, hasta que una codificación óptima o casi óptima se encuentre. Lo óptimo (con referencia a un criterio seleccionado) puede determinarse por medio de encontrar la menor SNR después de codificar un bloque o el número mas pequeño de número de bits para un parámetro de cuantización (QP) después de codificar el bloque, o por aplicación de otra medida adecuada. Extensión de Modo Directo El modo directo convencional, usado en los macro-bloques de cuadro B en MPEG-4, pueden ser eficientes en codificación de vector de movimiento, proporcionando los beneficios del modo de bloque 8x8 con una delta común simple. El modo directo pondera cada vector de movimiento correspondiente a partir del cuadro P subsecuente, el cual hace referencia al cuadro P previo, en la ubicación de macro-bloque correspondiente con base en la distancia en tiempo. Por ejemplo, si M=3 (es decir, dos cuadros B que intervienen) , con interpolación lineal simple el primer cuadro B usaría -2/3 veces el vector de movimiento de cuadro P subsecuente para determinar un desfasamiento de pixeles con respecto a tal cuadro P, y 1/3 veces el vector de movimiento de cuadro P subsecuente para determinar un desfasamiento de pixeles con respecto al cuadro P previo. De manera similar, el segundo cuadro B usaría -1/3 veces el mismo vector de movimiento de cuadro P para determinar un desfasamiento de pixeles con respecto a tal cuadro P, y 2/3 veces el vector de movimiento de cuadro P subsecuente para determinar un desfasamiento de pixeles con respecto al cuadro P previo. En modo directo, una delta pequeña se añade a cada vector de movimiento correspondiente. Como otro aspecto de la invención, este concepto puede extenderse a referencias de cuadro B que apuntan a uno o mas cuadros P alejados n veces, que a su vez hacen referencia a uno o mas cuadros P o cuadros I previos o subsecuentes, por medio de tomar la distancia de cuadro en consideración para determinar una fracción de escala de cuadro. La figura 12 es un diagrama mostrando una secuencia de cuadros P y B con ponderaciones de interpolación para los cuadros B determinados como una función de distancia a partir de un cuadro P subsecuente alejado 2 veces que hace referencia a un cuadro P subsecuente alejado 1 vez. En el ejemplo ilustrado, M=3 , indicando dos cuadros B consecutivos 1200, 1202 entre cuadros P que encorchan 1204, 1206. En este ejemplo, cada macro-bloque colocalizado en el siguiente cuadro P mas cercano 1208 (es decir, n=2) puede apuntar al cuadro P que interviene (es decir, mas cercano) 1204, y los primeros dos cuadros B 1200, 1202 puede hacer referencia al siguiente cuadro P subsecuente mas cercano 1208 en lugar que el cuadro P subsecuente mas cercano 1204, como en MPEG convencional. Así, para el primer cuadro B 1200, la fracción de escala de cuadro 5/3 veces el vector de movimiento mv a partir del siguiente cuadro P subsecuente mas cercano 1208 sería usado como un desfasamiento de pixeles con respecto al cuadro P 1208, y el segundo cuadro B 1202 sería un desfasamiento de 4/3 veces el mismo vector de movimiento. Si un cuadro P subsecuente mas cercano referenciado por un cuadro B apunta al siguiente cuadro P previo mas cercano, entonces de nuevo una distancia de cuadro simple puede usarse para obtener la fracción de escala de cuadro adecuada para aplicar a los vectores de movimiento. La figura 13 es un diagrama mostrando una secuencia de cuadros P y B con ponderaciones de interpolación para los cuadros B determinadas como una función de distancia a partir de un cuadro P subsecuente alejado 1 vez que hace referencia a un cuadro P previo alejado 2 veces. En el ejemplo ilustrado, M=3 , y cuadros B 1300, 1302 hacen referencia al cuadro P subsecuente mas cercano 1304, el cual a su vez hace referencia al cuadro P alejado 2 veces 1306. Asi, para el primer cuadro B 130, la fracción de desfasamiento de pixeles es la fracción de escala de cuadro 2/6 multiplicada por el vector de movimiento mv a partir del cuadro P subsecuente mas cercano 1304, y el segundo cuadro B 1302 tendría un desfasamiento de pixeles de la fracción de escala de cuadros 1/6 multiplicada por ese mismo vector de movimiento, dado que el vector de movimiento del cuadro P subsecuente mas cercano 1304 apunta al cuadro P previo alejado 2 veces 1306, el cual está distante 6 cuadros. En general, en el caso de un cuadro B haciendo referencia a un cuadro p sencillo en modo directo, el método de distancia de cuadros establece el numerador de una fracción de escala de cuadros igual a la distancia de cuadros a partir del cuadro B a su cuadro P referenciado, u "objetivo", y establece el denominador igual a la distancia de cuadro a partir del cuadro P objetivo a otro cuadro P referenciado por el cuadro P objetivo. El signo de la fracción de escala de cuadros es negativo para mediciones hechas a partir del cuadro B a un cuadro P subsecuente, y positivo para mediciones hechas a partir de un cuadro B a un cuadro P previo. Este método simple de aplicar una distancia de cuadros o la fracción de escala de cuadros a un vector de movimiento de cuadro P puede lograr una codificación de modo directo efectiva. Además, otro aspecto de esta invención es permitir modo directo para aplicar a referencias de vector de movimiento interpoladas múltiples de un cuadro P. Por ejemplo, si un cuadro P se interpoló a partir de los cuadros P previos mas cercano y mas cercano siguiente, referencia de modo directo de acuerdo con este aspecto de la invención permite una mezcla interpolada para cada macro-bloque de cuadro B de modo directo de referencia múltiple. En general, los dos o mas vectores de movimiento de un cuadro P pueden tener una fracción de escala de cuadro apropiada aplicada. Los dos o mas vectores de movimiento modificados por distancia de cuadros pueden usarse con ponderaciones de interpolación correspondientes para cada cuadro B haciendo referencia o apuntando a ese cuadro P, como se describe mas adelante, para generar compensación de movimiento de macro-bloque de cuadro B interpolada . La figura 4 es un diagrama mostrando una secuencia de cuadros P y B en la cual un cuadro P subsecuente tiene vectores de movimiento múltiples haciendo referencia a cuadros P previos. En este ejemplo, un cuadro B 1400 hace referencia a un cuadro P subsecuente P3. Este cuadro P3 a su vez tiene dos vectores de movimiento, mvl y mv2, que hacen referencia a cuadros P previos correspondientes P2, Pl . En este ejemplo, cada macro-bloque del cuadro B 1400 puede interpolarse en modo directo usando ya sea dos términos de ponderación o una combinación de tales términos de ponderación. Cada macro-bloque para el cuadro B 1400 debe construirse como una mezcla a partir de : • pixeles correspondientes de cuadro P2 desplazados por la fracción de escala de cuadro 1/3 de mvl (donde los pixeles pueden entonces multiplicarse por algún peso proporcional i) mas pixeles correspondientes del cuadro P3 desplazados por la fracción de escala de cuadro -2/3 de mvl (donde los pixeles pueden entonces multiplicarse por algún peso proporcional j); y • pixeles correspondientes de cuadro Pl desplazados por la fracción de escala de cuadro 2/3 (4/6) de mv2 (donde los pixeles pueden entonces multiplicarse por algún peso proporcional Je) mas pixeles correspondientes del cuadro P3 desplazados por la fracción de escala de cuadro -1/3 (-2/6) de mv2 (donde los pixeles pueden entonces multiplicarse por algún peso proporcional 1) ¦ Como con todos los modos directos, una delta de vector de velocidad puede utilizarse con cada uno de mvl y mv2. De acuerdo con este aspecto de la invención, macro-bloques predichos de modo directo en cuadros B también pueden hacer referencia a cuadros P subsecuentes, usando la misma metodología de interpolación y aplicación de fracción de escala de cuadros de vector de movimiento como con cuadros P previos múltiples. La figura 15 es un diagrama mostrando una secuencia de cuadros P y B en la cual un cuadro P subsecuente mas cercano tiene un vector de movimiento haciendo referencia a un cuadro P previo, y un cuadro P subsecuente mas cercano siguiente tiene múltiples vectores de movimiento haciendo referencia a cuadros P previos. En este ejemplo, un cuadro B 1500 hace referencia a dos cuadros P subsecuentes P2 , P3. El cuadro P3 tiene dos vectores de movimiento, mvl y mv2, que hacen referencia a cuadros P previos correspondientes P2 , Pl . El cuadro P2 tiene un vector de movimiento, mv3, que hace referencia al cuadro P previo Pl . En este ejemplo, cada macro-bloque del cuadro B 1500 es interpolado en modo directo usando tres términos de ponderación. En este caso, las fracciones de escala de cuadro de vector de movimiento pueden ser mayores que 1 o menores que -1. Las ponderaciones para esta forma de interpolación de macro-bloques de cuadro B de modo directo pueden utilizar la generalidad completa de interpolación según se describe en la presente. En particular, cada ponderación, o combinación de ponderaciones, puede probarse para mejor desempeño (v.gr., calidad contra número de bits) para varias unidades de imágenes. La fracción de interpolación expresada para este modo directo mejorado puede especificarse a un decodificador con un número pequeño de bits por unidad de imagen. Cada macro-bloque para el cuadro B 1500 sería construido como una mezcla a partir de: • pixeles correspondientes de cuadro P3 desplazados por la fracción de escala de cuadro -5/3 de mvl (donde los pixeles pueden entonces multiplicarse por algún peso proporcional i) mas pixeles correspondientes del cuadro P2 desplazados por la fracción de escala de cuadro -2/3 de mvl (donde los pixeles pueden entonces multiplicarse por algún peso proporcional j) ; • pixeles correspondientes de cuadro P3 desplazados por la fracción de escala de cuadro -5/6 de mv2 (donde los pixeles pueden entonces multiplicarse por algún peso proporcional k) mas pixeles correspondientes del cuadro Pl desplazados por la fracción de escala de cuadro 1/6 de mv2 (donde los pixeles pueden entonces multiplicarse por algún peso proporcional I) ; y • pixeles correspondientes de cuadro P2 desplazados por la fracción de escala de cuadro -2/3 de mv2 (donde los pixeles pueden entonces multiplicarse por algún peso proporcional m) mas pixeles correspondientes del cuadro Pl desplazados por la fracción de escala de cuadro 1/3 de mv3 (donde los pixeles pueden entonces multiplicarse por algún peso proporcional n) . Como con todos los modos directos, una delta de vector de movimiento puede utilizarse con cada uno de mvl, mv2, y mv3. Nótese que un modo de codificación directo particularmente benéfico comúnmente ocurre cuando el cuadro P subsecuente mas cercano siguiente hace referencia a los cuadros P mas cercanos encorchando un cuadro B candidato . La codificación de modo directo de cuadros B en MPEG-4 siempre usa los vectores de movimiento del cuadro P subsecuente como una referencia. De acuerdo con otro aspecto de la invención, también es posible para un cuadro B que haga referencia a los vectores de movimiento de los macro-bloques co-localizados del cuadro P previo, que en ocasiones prueba ser una elección benéfica de referencia de codificación de modo directo. En este caso, las fracciones de escala de cuadro de vector de movimiento serán mayores que uno, cuando el cuadro P previo mas cercano siguiente es referenciado por el vector de movimiento P del cuadro previo mas cercano. La figura 16 es un diagrama mostrando una secuencia de cuadros P y B en el cual un cuadro P previo mas cercano tiene un vector de movimiento haciendo referencia a un cuadro P previo. En este ejemplo, un cuadro B 1600 hace referencia al cuadro P previo alejado 1 vez P2. El vector de movimiento mv del cuadro P2 hace referencia al siguiente cuadro P previo Pl (alejado 2 veces con relación al cuadro B 1600) . Las fracciones de escala de cuadro apropiadas se muestran. Si el cuadro P previo mas cercano se interpola a partir de múltiples vectores y cuadros, entonces métodos similares a aquellos descritos en conjunto con la figura 14 se aplica para obtener las fracciones de escala de cuadro de vector de movimiento y ponderaciones de interpolación. La figura 17 es un diagrama mostrando una secuencia de cuadros P y B en el cual un cuadro P previo mas cercano tiene dos vectores de movimiento haciendo referencia a cuadros P previos. En este ejemplo, un cuadro B 1700 hace referencia al cuadro P previo P3. Un vector de movimiento mvl del cuadro P3 previo hace referencia al cuadro P previo siguiente P2, mientras que el segundo vector de movimiento mv2 hace referencia al cuadro P previo alejado 2 veces Pl . Las fracciones de escala de cuadro apropiadas se muestran. Cada macro-bloque para el cuadro B 1700 seria construido como una mezcla a partir de: • pixeles correspondientes de cuadro P3 desplazados por la fracción de escala de cuadro 1/3 de mvl (donde los pixeles pueden entonces multiplicarse por algún peso proporcional i) mas pixeles correspondientes del cuadro P2 desplazados por la fracción de escala de cuadro 4/3 de mvl (donde los pixeles pueden entonces multiplicarse por algún peso proporcional j) ; y • pixeles correspondientes de cuadro P3 desplazados por la fracción de escala de cuadro 1/6 de mv2 (donde los pixeles pueden entonces multiplicarse por algún peso proporcional Je) mas pixeles correspondientes del cuadro P2 desplazados por la fracción de escala de cuadro 7/6 de mv2 (donde los pixeles pueden entonces multiplicarse por algún peso proporcional 1) . Cuando el vector de movimiento de un cuadro P previo (con relación a un cuadro B) apunta al cuadro P previo siguiente mas cercana, no es necesario utilizar solamente el cuadro previo mas cercano siguiente como la referencia de interpolación, como en la figura 16. El cuadro P previo mas cercano puede probar ser una me or elección para compensación de movimiento. En este caso, el vector de movimiento del cuadro P previo mas cercano se recorta a la fracción de distancia de cuadro a partir de un cuadro B a ese cuadro P. La figura 18 es un diagrama mostrando una secuencia de cuadros P y B en la cual un cuadro P previo mas cercano tiene un vector de movimiento haciendo referencia a un cuadro P previo. En este ejemplo, para M=3 , un cuadro B primero 1800 usaría fracciones de distancia de cuadro de 1/3 y -2/3 por el vector de movimiento mv del cuadro P previo mas cercano P2. El segundo cuadro B 1802 usarla fracciones de distancia de cuadro de 2/3 y -1/3 (no mostradas) . Tal una selección sería señalada al decodificador para distinguir este caso del caso mostrado en la figura 16. Como con todos los otros modos de codificación, el uso de modo directo de preferencia involucra probar el modo candidato contra otros modos de codificación de interpolación y de vector sencillo y cuadros de referencia. Para pruebas de modo directo, el cuadro P subsecuente mas cercano (y, opcionalmente, el cuadro P subsecuente mas cercano siguiente o cuadros P subsecuentes aun mas distantes, y/o uno o mas cuadros P previos) pueden probarse como candidatos, y un número pequeño de bits (típicamente uno o dos) pueden usarse para especificar la(s) distancia (s) de cuadro de referencia de modo directo P a usarse por un decodificador . Valores de Interpolación Extendidos Se especifica en MPEG-1, 2 y 4, así como en los estándares H.261 y H.263, que los cuadros B usan una ponderación equivalente de valores de pixeles de los cuadros referenciados hacia adelante y referenciados hacia atrás, según se desplazan por los vectores de movimiento. Otro aspecto de esta invención incluye la aplicación de varias ponderaciones desiguales útiles que pueden mejorar significativamente la eficiencia de codificación de cuadros B, así como la extensión de tales ponderaciones desiguales a mas de dos referencias, incluyendo dos o mas referencias hacia atrás o hacia adelante en tiempo. Este aspecto de la invención también incluye métodos para mas de un cuadro siendo referenciado e interpolado para cuadros P. Además, cuando dos o mas referencias apuntan hacia adelante en tiempo, o cuando dos o mas referencias apuntan hacia atrás en tiempo, en ocasiones será útil usar ponderaciones negativas así como ponderaciones en exceso de 1.0. Por ejemplo, la figura 19 es una secuencia de cuadros mostrando el caso de tres cuadros P, Pl, P2 y P3, donde P3 usa una referencia interpolada con dos vectores de movimiento, uno para cada uno de Pl y P2. Si, por ejemplo, un cambio continuo está ocurriendo sobre la extensión de cuadros entre Pl y P3 , entonces P2-P1 (es decir, los valores de pixeles del cuadro P2 , desplazados por el vector de movimiento para P2 , menos los valores de pixeles para el cuadro Pl, desplazados por el vector de movimiento para Pl) equivaldrán a P3-P2. De manera similar, P3-P1 será el doble de la magnitud de P2-P1 y P3-P2. En tal un caso, los valores de pixeles para el cuadro P3 pueden predecirse diferencialmente a partir de Pl y P2 a través de la fórmula: P3 = Pl + 2 x (P2 - Pl) = (2 x P2) - Pl En este caso, las ponderaciones de interpolación para P3 son 2.0 para P2, y -1.0 para Pl . Como otro ejemplo, la figura 20 es una secuencia de cuadros mostrando el caso para cuatro cuadros P, Pl, P2, P3 y P4, donde P4 usa una referencia interpolada con tres vectores de movimiento, uno para cada uno de Pl, P2 y P3. Así, dado que P4 se predice a partir de P3, P2 , y Pl, tres vectores de movimiento y ponderaciones de interpolación aplicarían. Si, en este caso, un cambio continuo ocurriera sobre esta extensión de cuadros, entonces P2-P1 sería igual a tanto P3-P2 y P4-P3, y P4-P1 sería igual a tanto 3 x (P2-P1) y 3 x (P3-P2) . Así, en este caso de ejemplo, una predicción de P4 con base en P2 y Pl sería: P4 = Pl + 3 X (P2 - Pl) = (3 x P2) - (2 x Pl) (ponderaciones 3.0 y -2.0) La predicción de P4 con base en P3 y Pl sería: P4 = Pl + 3/2 x (P3 - Pl) = (3/2 x P3 ) - (½ x Pl) (ponderaciones 1.5 y -0.5) La predicción de P4 con base en P3 y P2 sería: P4 = P2 + 2 X (P3 - P2) = (2 x P3) - P2 (ponderaciones 2.0 y 1.0) Sin embargo, también sería probable que el cambio mas cercano a P4, involucrando P3 y P2, es un predictor mas confiable de P4 que predicciones involucrando Pl . Así, por medio de dar 1/4 de ponderación a cada uno de los dos términos anteriores involucrando Pl, y ½ ponderación al término involucrando solamente P3 y P2 , resultaría en: ½ (2 P3 - P2) + 1/4 (3/2 P3 - ½ Pl) + 1/4 [3 P2 - 2 Pl) = 1 3/8 P3 + 1/4 P2 - 5/8 Pl (ponderaciones 1.375, 0.25 y -0.625) De manera acorde, en ocasiones sería útil usar ponderaciones por encima de 1.0 y por debaj o de cero . En otras ocasiones, si hay una variación similar a ruido de un cuadro al siguiente, un promedio ponderado positivo teniendo coeficientes suaves entre 0.0 y 1.0 pueden producir el mejor predictor de macro-bloques P4 (u otra región de pixeles) . Por ejemplo, una ponderación equivalente de 1/3 de cada uno de Pl, P2 y P3 en la figura 20 puede formar el mejor predictor de P4 en algunos casos. Nótese que el vector de movimiento de la mejor equivalencia se aplica para determinar la región de Pl, P2 , P3 , etc., siendo utilizada por los cálculos en este ejemplo. Esta equivalencia puede mejor ser una equivalencia AC en algunos casos, permitiendo que un término DC variable sea predicho a través de los coeficientes de AC. En otros casos, varias formas de equivalencia de vector de movimiento formarán una mejor predicción con varias mezclas de ponderaciones. En general, el mejor predictor para un caso particular se determina empíricamente usando los métodos descritos en la presente. Estas técnicas también son aplicables a cuadros B que tienen dos o mas vectores de movimiento apuntando ya sea hacia atrás o hacia adelante en tiempo. Cuando se apunta hacia adelante en tiempo, el patrón de coeficiente descrito anteriormente para cuadros P se invierte para predecir hacia atrás de manera precisa al cuadro P actual . Es posible tener dos o mas vectores de movimiento en tanto la dirección hacia adelante y hacia atrás usando este aspecto de la invención, con ello prediciendo en ambas direcciones de manera concurrente . Una mezcla ponderada de estas varias predicciones puede optimizarse por medio de seleccionar la ponderación de mezcla que predice mejor el macro-bloque (u otra región de pixel) de un cuadro B actual. La figura 21 es un diagrama mostrando una secuencia de cuadros P y B en la cual varios cuadros P tienen uno o mas vectores de movimiento haciendo referencia a varios cuadros P previos, y mostrando diferentes ponderaciones a-e asignadas a referencias hacia adelante y hacia atrás respectivas por un cuadro B particular. En este ejemplo, un cuadro B 2100 hace referencia a tres cuadros P previos y dos cuadros P subsecuentes. En el ejemplo ilustrado en la figura 21, el cuadro P5 debe decodificarse para que este ejemplo trabaje. Es útil en ocasiones ordenar cuadros en la corriente de bits en el orden necesario para decodificar ("orden de entrega"), el cual no es necesariamente el orden de despliegue. Por ejemplo, en una secuencia de cuadros mostrando movimiento cíclico (v.gr., rotación de un objeto), un cuadro P particular puede ser mas similar a un cuadro P distante que el cuadro P subsecuente mas cercano. La figura 22 es un diagrama mostrando una secuencia de cuadros P y B en la cual el orden de entrega de corriente de bits de los cuadros P difiere del orden de despliegue. En este ejemplo, el cuadro P3 es mas similar al cuadro P5 que al cuadro P . Es por lo tanto útil entregar y decodificar P5 antes que P4, pero desplegar P4 antes que P5. De preferencia, cada cuadro P debe señalar al decodificador cuando tal cuadro P puede descartarse (v.gr. , una expiración de n cuadros en el orden de corriente de bits, o después del cuadro X en el orden de despliegue) . Si las ponderaciones se seleccionan a partir de un conjunto pequeño de elecciones, entonces un número pequeño de bits pueden señalar al decodificador cual ponderación se va a usar. Como con todas las otras ponderaciones descritas en la presente, esto se puede señalar a un decodificador una vez por unidad de imagen, o en cualquier otro punto en el proceso de decodificación donde un cambio en ponderaciones es útil . También es posible descargar nuevos conjuntos de ponderaciones. En esta manera, un número pequeño de conjuntos de ponderaciones puede estar activo en un tiempo dado. Esto permite que un número pequeño de bits señale al decodificador cual de los conjuntos de ponderaciones activos se va a usar en cualquier punto dado en el proceso de decodificación. Para determinar conjuntos de ponderación adecuados, un gran número de ponderaciones puede probarse durante la codificación. Si un sub-conjunto pequeño se encuentra proporcionando una eficiencia alta, entonces ese sub-conjunto puede señalarse a un decodificador para uso. Un elemento particular del sub-conjunto puede así señalarse al decodificador con solamente unos cuantos bits. Por ejemplo, 10 bits pueden seleccionar 1 de 1024 elementos de sub-conjunto. Además, cuando un sub-conjunto pequeño particular debe cambiarse para mantener eficiencia, un nuevo sub-conjunto puede señalarse al decodificador. Así, un codificador puede optimizar dinámicamente el número de bits requerido para seleccionar entre elementos de conjunto de ponderaciones versus el número de bits necesario para actualizar los conjuntos de ponderación. Además, un número pequeño de códigos cortos puede usarse para señalar ponderaciones útiles comunes, tales como ½, 1/3, 1/4, etc. En esta manera, un número pequeño de bits puede usarse para señalar el conjunto de ponderaciones, tales como para una predicción de vector hacia adelante K en un cuadro P (donde K=l, 2, 3, ...) , o una predicción de vector hacia adelante K y un vector hacia atrás L en un cuadro B (donde y L se seleccionan de 0, 1, 2, 3, ...) O una predicción de vector hacia adelante K y un vector hacia atrás L en un cuadro P (donde K y L se seleccionan de 0, 1, 2, 3, ...) , como una función de un valor M actual (es decir, la posición relativa del cuadro B con respecto a los cuadros P (o í) vecinos) . La figura 23 es un diagrama mostrando una secuencia de cuadros P y B con ponderaciones asignadas. Un cuadro B 2300 tiene ponderaciones a-e, los valores de las cuales se asignan a partir de una tabla de conjuntos de ponderaciones de cuadros B 2302. Un cuadro P 2304 tiene ponderaciones m, n, los valores de las cuales se asignan a partir de una tabla de conjuntos de ponderaciones de cuadros P 2306. Algunas ponderaciones pueden ser estáticas (es decir, descargarse permanentemente al decodificador) , y señalarse por un codificador. Otras ponderaciones pueden descargarse dinámicamente y entonces señalarse. Esta misma técnica puede usarse para actualizar dinámicamente conjuntos de ponderación para seleccionar interpolación DC contra interpolación AC. Además, los valores de códigos pueden señalarse los cuales seleccionan interpolación normal (lineal) (de valores de pixeles normalmente representados en una representación no lineal) contra interpolación lineal de valores convertidos (en una representación lineal o no lineal alternativa) . De manera similar, tales valores de código pueden señalar cual tal interpolación a aplicar a valores AC o DC o si dividir las porciones AC y DC de la predicción. Sub-conjuntos activos pueden también usarse para minimizar el número de bits necesario para seleccionar entre los conjuntos de coeficientes de ponderación actualmente en uso. Por ejemplo, si 1024 conjuntos de ponderación descargados se mantienen en un decodificador, quizás 16 pueden necesitar ser activos durante una porción particular de un cuadro. Asi, por medio de seleccionar cual sub-conjunto de 16 conjuntos de ponderación (de los 1024) van a estar activos, solamente 4 bits necesitan usarse para seleccionar cual conjunto de ponderación de estos 16 está activo. Los sub-conjuntos también pueden señalarse usando códigos cortos para los sub-con untos mas comunes, con ello permitiendo que un número pequeño de bits sea seleccionado entre los sub-conjuntos comúnmente usados. Suavización y Afinación Como con la separación simple de un componente DC a partir de señales AC por vía de la substracción del valor promedio, otras operaciones de filtrado también son posibles durante la predicción compensada por vector de movimiento. Por ejemplo, varios filtros de paso alto, paso de banda, y paso bajo pueden aplicarse a la región de pixeles (tal como un macro-bloque) para extraer varias bandas de frecuencia. Estas bandas de frecuencia pueden entonces modificarse cuando se lleva a cabo compensación de movimiento. Por ejemplo, comúnmente puede ser útil en una imagen en movimiento ruidosa filtrar las frecuencias mas latas para suavizar (hacer menos fina, o hacer borrosa ligeramente) la imagen. Los pixeles de imagen mas suave, combinados con una matriz de inclinación mas empinada para cuantización (una matriz de inclinación mas empinada ignora mas ruido de alta frecuencia en el bloque actual) , usualmente formará un método de codificación mas eficiente. Ya es posible señalar un cambio en la matriz de inclinación de cuantización para cada unidad de imagen. También sería posible descargar matrices de inclinación personalizadas para luminancia e intensidad de color. Nótese que la efectividad de la compensación de movimiento puede mejorarse si la matriz de inclinación se cambia o no. Sin embargo, comúnmente seria mas efectivo cambiar tanto la matriz de inclinación y los parámetros de filtro que se aplican durante la compensación de movimiento. Es práctica común usar resolución reducida para codificación de intensidad de color junto con una matriz de inclinación específica de intensidad de color. Sin embargo, la resolución de codificación de intensidad de color es estática en este caso (tal como codificación 4:2:0 de media resolución verticalmente u horizontalmente, o codificación 4:2:2 de media resolución solamente horizontalmente) . La efectividad de codificación puede incrementarse de acuerdo con este aspecto de la invención por medio de aplicar un proceso de filtro dinámico durante la compensación de movimiento a tanto intensidad de color y luminancia (independientemente o en conjunto) , seleccionado por unidad de imagen. La solicitud de patente US 09/545,233, titulada "Enhanced Temporal and Resolution Layering in Advanced Televisión" (referenciada anteriormente) , describe el uso de filtros de desplazamiento mejorados teniendo lóbulos negativos (una función seno truncada) . Estos filtros tienen la ventaja de que conservan la fineza cuando se lleva a cabo la porción de pixel fraccional del desplazamiento de vector de movimiento. En tanto el punto de desplazamiento de pixel entero y en los puntos fracciónales, algunos macro-bloques (u otras regiones de imágenes útiles) son desplazados de manera mas óptima usando filtros que reducen o incrementan su fineza. Por ejemplo, para un "enfoque de estante" (donde algunos objetos en el cuadro se están desenfocando sobre el tiempo, y otras porciones del cuadro están entrando en enfoque) , la transición es una de cambio tanto en afinación y en suavidad. Así, un filtro de compensación de movimiento que puede tanto incrementar afinación en ciertas regiones en una imagen mientras disminuye afinación en otras regiones puede mejorar la eficiencia de codificación. En particular, si una región de una ilustración está saliendo de enfoque, puede ser benéfico disminuir la afinación, lo cual suavizará la imagen (con ello potencialmente creando una mejor equivalencia) y disminuir el grano y/o ruido (con ello mejorando la eficiencia de codificación) . Si una región de la imagen está entrando en enfoque, puede ser benéfico conservar máxima afinación, o aun incrementar la afinación usando valores de filtro de lóbulo negativos mayores . El filtrado de intensidad de color puede también beneficiarse del incremento y disminución de afinación durante la codificación. Por ejemplo, muchos de los beneficios de eficiencia de codificación de codificación 4:2:0 (intensidad de color de media resolución horizontalmente y verticalmente) pueden lograrse por medio de usar filtros de compensación de movimiento mas suaves para intensidad de color mientras conservan la resolución completa en los canales U y/o V. Solamente cuando el detalle de color en los canales U y V es alta será necesario seleccionar los filtros de desplazamiento mas finos; filtros mas suaves serán benéficos donde hay ruido o grano de color altos. Además de cambios en enfoque, también es común tener la dirección y cantidad de cambio de borrosidad de movimiento de un cuadro al siguiente. En la velocidad de cuadros de película de ilustración en movimiento de 24 fps, aun una escena de diálogo sencilla puede tener cambios significativos en borrosidad de movimiento de un cuadro al siguiente. Por ejemplo, un labio superior puede hacerse borroso en un cuadro, y afinarse en el siguiente, por completo debido al movimiento del labio durante el tiempo de obturador abierto en la cámara . Para tal borrosidad de movimiento, será benéfico no solamente tener filtros de afinación y suavización (borrosidad) durante compensación de movimiento, sino también tener un aspecto direccional a la afinación y suavización. Por ejemplo, si una dirección de movimiento puede determinarse, una suavización o afinación a lo largo de esa dirección puede usarse para corresponder al movimiento o detención de una característica de imagen. Los vectores de movimiento usados para compensación de movimiento pueden por si solos proporcionar alguna información útil acerca de la cantidad de movimiento, y el cambio en la cantidad de movimiento (es decir, borrosidad de movimiento) , para un cuadro particular (o región dentro de un cuadro) con respecto a cualquiera de los cuadros que le rodean (o regiones correspondientes) . En particu-lar, un vector de movimiento es la mejor equivalencia de movimiento entre cuadros P, mientras que la borrosidad de movimiento resulta del movimiento durante el tiempo de obturador abierto dentro de un cuadro. La figura 24 es una gráfica de posición de un objeto dentro de un cuadro contra el tiempo . El obturador de una cámara está abierto solamente durante parte de un tiempo de cuadro. Cualquier movimiento del objeto mientras el obturador está abierto resulta en borrosidad. La cantidad de borrosidad de movimiento se indica por la cantidad de cambio de posición durante el tiempo abierto del obturador. Así, la pendiente de la curva de posición 2400 mientras el obturador está abierto es una medición de borrosidad de movimiento . La cantidad de borrosidad de movimiento y la dirección de movimiento también se pueden determinar a partir de una combinación de métrica de afinación, rodeando vectores de movimiento (donde regiones de imágenes equivalen) , presentar detección de manchado, y designación asistida por humano de regiones de cuadro. Un filtro puede seleccionarse con base en las cantidades de borrosidad de movimiento y dirección de movimiento determinadas. Por ejemplo, un mapeo de varios filtros contra borrosidad de movimiento determinada y dirección pueden determinarse empíricamente. Cuando se combinan con los otros aspectos de esta invención, tales filtros aplicados inteligentemente pueden significativamente mejorar la eficiencia de codificación de compresión. Una pequeña cantidad de tales filtros puede seleccionarse con un número pequeño de bits señalados al decodificador . De nuevo, esto se puede hacer una vez por unidad de imagen o en otros puntos útiles durante el proceso de decodificación. Como con los conjuntos de ponderación, un conjunto de filtros cargado dinámicamente puede usarse, así como un mecanismo de formación de sub-conjunto activo, para minimizar el número de bits necesario para seleccionar entre el conjunto mas benéfico de parámetros de filtro . Implementación La invención puede implementarse en hardware o software, o una combinación de ambos (v.gr., arreglos lógicos progratnables) . A menos que se especifique de otra manera, los algoritmos incluidos como parte de la invención no se relacionan de manera inherente a cualquier computador particular u otro aparato. En particular, varias máquinas de propósito general pueden usarse con programas escritos de acuerdo con las enseñanzas presentes, o puede ser mas conveniente construir aparatos mas especializados (v.gr. , circuitos integrados) para llevar a cabo funciones particulares. Asi, la invención puede implementarse en uno o mas programas de computador ejecutándose en uno o mas sistemas de computador progratnables cada uno comprendiendo al menos un procesador, al menos un sistema de almacenamiento de datos (incluyendo memoria volátil y no volátil y/o elementos de almacenamiento) , en al menos un dispositivo o puerto de entrada, y al menos un dispositivo o puerto de salida. El código de programa se aplica a datos de entrada para llevar a cabo las funciones descritas en la presente y generar información de salida. La información de salida se aplica a uno o mas dispositivos de salida, en manera conocida. Cada tal programa puede implementarse en cualquier lenguaje de computador deseado (incluyendo lenguajes de programación de máquina, de conjunto, o de procedimiento de alto nivel, lógicos, u orientados a objetos,) para comunicarse con un sistema de computador. En cualquier caso, el lenguaje puede ser un lenguaje compilado o interpretado. Cada tal programa de computador de preferencia se almacena en o se descarga a un medio o dispositivo de almacenamiento (v.gr. , una memoria o medio de estado sólido, o medio magnético u óptico) legible por un computador programable de propósito general o especial, para configurar y operar el computador cuando el medio o dispositivo de almacenamiento se lee por el sistema computador para llevar a cabo los procedimientos descritos en la presente. El sistema de la invención puede también considerarse siendo implementado como un medio de almacenamiento legible por computador, configurado con un programa de computador, donde el medio de almacenamiento así configurado ocasiona que un sistema de computador opere en una manera específica y predefinida para llevar a cabo las funciones descritas en la presente. Un número de formas de realización de la invención han sido descritos. Sin embargo, se entenderá que varias modificaciones pueden hacerse sin salir del espíritu y alcance de la invención. Por ejemplo, algunos de los pasos descritos anteriormente pueden ser independientes de orden, y asi pueden llevarse a cabo en un orden diferente del descrito. De manera acorde, otras formas de realización están dentro del alcance de las reivindicaciones anexas .

Claims (19)

  1. EIVINDICACIONES 1. Un método para compresión de imágenes de video, el método comprendiendo: proporcionar una secuencia de cuadros incluyendo regiones de ilustración, los cuadros incluyendo cuadros predichos y cuadros referenciables ; y codificar una región de ilustración de al menos un cuadro predicho por referencia a dos o mas cuadros referenciables previos en la secuencia.
  2. 2. El método de la reivindicación 1, donde dicho al menos un cuadro predicho comprende un cuadro referenciabl .
  3. 3. El método de la reivindicación 1, donde dichos cuadros referenciables comprenden cuadros predichos y cuadros intra .
  4. 4. El método de la reivindicación 1, donde dichos cuadros predichos comprenden cuadros predichos referenciables y cuadros predichos bi-direccionalmente .
  5. 5. El método de la reivindicación , donde dicho al menos un cuadro predicho comprende un cuadro predicho bi-direccionalmente .
  6. 6. El método de la reivindicación 5 , comprendiendo además : donde codificar una región de ilustración de un cuadro predicho direccionalmente por referencia a dos o mas cuadros referenciables subsecuentes en la secuencia.
  7. 7. El método de la reivindicación 1, comprendiendo además : identificar al menos uno de dichos dos o mas cuadros referenciables previos .
  8. 8. El método de la reivindicación 1, donde dicho codificar comprende codificar usando una ponderación desigual de regiones de ilustración a partir de dos o mas cuadros referencia-bles previos.
  9. 9. El método de la reivindicación 8, comprendiendo además : identificar dicha ponderación desigual.
  10. 10. El método de la reivindicación 8, donde la ponderación desigual incluye ponderaciones mayores que uno o menores que cero .
  11. 11. El método de la reivindicación 8, donde los cuadros comprenden cuadros arreglados en regiones de ilustración, Y donde dicho codificar comprende codificar usando valores de pixeles desiguales correspondientes a dichos dos o mas cuadros referenciables .
  12. 12. El método de la reivindicación 1, donde la secuencia de cuadros incluye cuadros referenciables y cuadros predichos bi-direccionalmente , cada uno de dichos cuadros incluyendo valores de pixeles arreglados en macro-bloques .
  13. 13. El método de la reivindicación 12, comprendiendo además : determinar al menos un macro-bloque dentro de un cuadro predicho bi-direccionalmente usando predicción de modo directo con base en vectores de movimiento a partir de uno o mas cuadros predichos en orden de despliegue .
  14. 14. El método de la reivindicación 13, donde dicho codificar comprende codificar usando una ponderación desigual de regiones de ilustración seleccionadas a partir de dos o mas cuadros referenciables previos.
  15. 15. El método de la reivindicación 14, donde al menos un tal vector de movimiento se escala por una fracción de escala de cuadro de menos de cero o mayor que uno .
  16. 16. Un método para compresión de imágenes de video, el método comprendiendo : proporcionar una secuencia de cuadros incluyendo regiones de ilustración, los cuadros incluyendo cuadros predichos bi-direccionalmente (B) y cuadros referenciables incluyendo cuadros predichos (P) y cuadros intra (I) ; y codificar una región de ilustración de al menos un cuadro P por referencia a un cuadro referenciable previo en la secuencia, donde dicho cuadro referenciable previo se separa de dicho cuadro P por al menos un cuadro referenciable que interviene .
  17. 17. El método de la reivindicación 1S, comprendiendo además : identificar el cuadro referenciable previo; y señalar un decodificador con dicha identificación.
  18. 18. Un método, en un sistema de compresión de imágenes de video teniendo una secuencia de cuadros predichos bi-direccio-nalmente y referenciables , para determinar dinámicamente un patrón de código de tales cuadros teniendo un número variable de cuadros predichos bi-direccionalmente, el método incluyendo: seleccionar una secuencia inicial comenzando con un cuadro referenciable, teniendo al menos un cuadro predicho bi-direccionalmente inmediatamente subsecuente, y terminando en un cuadro referenci ble,- añadir un cuadro referenciable al final de la secuencia inicial para crear una secuencia de prueba; evaluar la secuencia de prueba contra un criterio de evaluación seleccionado; para cada paso de evaluar la secuencia de prueba satisfactorio, insertar un cuadro bi-direccional antes del cuadro referenciable añadido y repetir el paso de evaluar; y si el paso de evaluar la secuencia de prueba es no satisfactorio, entonces aceptar la secuencia de prueba previa como un patrón de código actual .
  19. 19. El método de la reivindicación 18, comprendiendo además : determinar una proporción de mezcla de interpolación para al menos una región de ilustración de los cuadros de una secuencia de prueba seleccionada. Res men Un método, sistema, y programas de computador para mejorar la calidad de imagen de uno o mas cuadros predichos en un sistema de compresión de imágenes de video, donde cada cuadro comprende una pluralidad de pixeles. Una región de ilustración de macro-bloque de ciertos tipos de cuadros puede codificarse por referencia a uno o mas cuadros referenciables en algunos casos, y por referencia a dos o mas cuadros referenciables en otros casos. Tal codificación puede incluir interpolación, tal como una ponderación desigual . El valor DC o los valores de pixel AC de la región de ilustración pueden interpolarse también, con o sin ponderación. Un patrón de código de tales cuadros teniendo un número variable de cuadros predichos bi-direccionalmente puede determinarse dinámicamente. Cuadros se pueden transmitir de un codificador a un decodificador en un orden de entrega diferente de un orden de despliegue. Filtros de afinación y/o suavización pueden aplicarse a una región de ilustración de ciertos cuadros durante predicción compensada de vector de movimiento.
MXPA05000065A 2002-06-28 2003-06-27 Interpolacion mejorada de cuadros de compresion de video. MXPA05000065A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/187,395 US7266150B2 (en) 2001-07-11 2002-06-28 Interpolation of video compression frames
PCT/US2003/020397 WO2004004310A2 (en) 2002-06-28 2003-06-27 Improved interpolation of video compression frames

Publications (1)

Publication Number Publication Date
MXPA05000065A true MXPA05000065A (es) 2005-04-08

Family

ID=29999364

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA05000065A MXPA05000065A (es) 2002-06-28 2003-06-27 Interpolacion mejorada de cuadros de compresion de video.

Country Status (17)

Country Link
US (45) US7266150B2 (es)
EP (6) EP2782345A1 (es)
JP (1) JP2006513592A (es)
KR (1) KR100748194B1 (es)
CN (10) CN1663258B (es)
AU (3) AU2003247759B2 (es)
CA (1) CA2490378C (es)
DK (2) DK2254339T3 (es)
ES (2) ES2775070T3 (es)
HK (8) HK1148888A1 (es)
HU (2) HUE048316T2 (es)
MX (1) MXPA05000065A (es)
MY (9) MY154424A (es)
PT (2) PT2262268T (es)
SI (2) SI2262268T1 (es)
TW (1) TWI231711B (es)
WO (1) WO2004004310A2 (es)

Families Citing this family (189)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6957350B1 (en) 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US9123380B2 (en) 1998-12-18 2015-09-01 Gvbb Holdings S.A.R.L. Systems, methods, and computer program products for automated real-time execution of live inserts of repurposed stored content distribution, and multiple aspect ratio automated simulcast production
US11109114B2 (en) * 2001-04-18 2021-08-31 Grass Valley Canada Advertisement management method, system, and computer program product
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
US8111754B1 (en) 2001-07-11 2012-02-07 Dolby Laboratories Licensing Corporation Interpolation of video compression frames
US7266150B2 (en) * 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
US20030112863A1 (en) 2001-07-12 2003-06-19 Demos Gary A. Method and system for improving compressed image chroma information
EP3122045B1 (en) 2001-11-06 2018-01-24 Panasonic Intellectual Property Corporation of America Moving picture coding method and moving picture decoding method
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US20050074059A1 (en) * 2001-12-21 2005-04-07 Koninklijke Philips Electronics N.V. Coding images
JP4015934B2 (ja) * 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
JP4130783B2 (ja) * 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
US20030202590A1 (en) * 2002-04-30 2003-10-30 Qunshan Gu Video encoding using direct mode predicted frames
AU2015218514B2 (en) * 2002-06-28 2015-10-22 Dolby Laboratories Licensing Corporation Region sizing for macroblocks
US8406301B2 (en) 2002-07-15 2013-03-26 Thomson Licensing Adaptive weighting of reference pictures in video encoding
US7088776B2 (en) 2002-07-15 2006-08-08 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding
US6728315B2 (en) * 2002-07-24 2004-04-27 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
US8254461B2 (en) * 2002-07-24 2012-08-28 Apple Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
EP1422928A3 (en) * 2002-11-22 2009-03-11 Panasonic Corporation Motion compensated interpolation of digital video signals
JP2004179687A (ja) * 2002-11-22 2004-06-24 Toshiba Corp 動画像符号化/復号化方法及び装置
US8175154B2 (en) * 2003-06-03 2012-05-08 General Instrument Corporation Method for restructuring a group of pictures to provide for random access into the group of pictures
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
EP1714456B1 (en) 2004-02-12 2014-07-16 Core Wireless Licensing S.à.r.l. Classified media quality of experience
JP2005318297A (ja) * 2004-04-28 2005-11-10 Toshiba Corp 動画像符号化・復号方法及び装置
AU2005202715B2 (en) * 2004-06-22 2008-04-24 Canon Kabushiki Kaisha A Method for Detecting and Selecting Good Quality Image Frames from Video
US7916173B2 (en) 2004-06-22 2011-03-29 Canon Kabushiki Kaisha Method for detecting and selecting good quality image frames from video
JP4366277B2 (ja) * 2004-09-21 2009-11-18 キヤノン株式会社 撮像装置及びその制御方法
JP4483501B2 (ja) 2004-09-22 2010-06-16 株式会社ニコン 静止画を動画再生するための前処理を行う画像処理装置、プログラム、および方法
JP4284265B2 (ja) * 2004-11-02 2009-06-24 株式会社東芝 動画像符号化装置、動画像符号化方法、動画像復号化装置および動画像復号化方法
TW200623897A (en) 2004-12-02 2006-07-01 Seiko Epson Corp Image display method, image display device, and projector
KR100888962B1 (ko) * 2004-12-06 2009-03-17 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
DE102004061906A1 (de) * 2004-12-22 2006-07-13 Siemens Ag Bildencodierverfahren, sowie dazugehöriges Bilddecodierverfahren, Encodiervorrichtung und Decodiervorrichtung
US20060171569A1 (en) * 2005-01-10 2006-08-03 Madhukar Budagavi Video compression with blur compensation
US7496140B2 (en) * 2005-01-24 2009-02-24 Winningstad C Norman Wireless event authentication system
US8548055B2 (en) * 2005-03-10 2013-10-01 Qualcomm Incorporated Encoding of multimedia data
JP2006279573A (ja) * 2005-03-29 2006-10-12 Sanyo Electric Co Ltd 符号化装置と方法、ならびに復号装置と方法
US7751436B2 (en) * 2005-05-24 2010-07-06 Sony Corporation System and method for dynamically establishing PLL speed based on receive buffer data accumulation for streaming video
KR100716999B1 (ko) 2005-06-03 2007-05-10 삼성전자주식회사 영상의 대칭성을 이용한 인트라 예측 방법, 이를 이용한영상의 복호화, 부호화 방법 및 장치
US8774272B1 (en) * 2005-07-15 2014-07-08 Geo Semiconductor Inc. Video quality by controlling inter frame encoding according to frame position in GOP
FR2889382A1 (fr) * 2005-07-29 2007-02-02 Canon Res Ct France Soc Par Ac Procede et dispositif de filtrage d'un signal numerique multidimensionnel et procedes et dispositifs de codage et decodage associes
US7606392B2 (en) * 2005-08-26 2009-10-20 Sony Corporation Capturing and processing facial motion data
US7720259B2 (en) * 2005-08-26 2010-05-18 Sony Corporation Motion capture using primary and secondary markers
US8780119B2 (en) * 2005-08-26 2014-07-15 Sony Corporation Reconstruction render farm used in motion capture
US8054312B2 (en) * 2005-08-26 2011-11-08 Sony Corporation Material for motion capture costumes and props
US7701487B2 (en) * 2005-08-26 2010-04-20 Sony Corporation Multicast control of motion capture sequences
US8014565B2 (en) * 2005-08-26 2011-09-06 Sony Corporation Labeling used in motion capture
JP4914446B2 (ja) * 2005-09-02 2012-04-11 ジーブイビービー ホールディングス エス.エイ.アール.エル. 改善された映像効果リコール技術
KR100750128B1 (ko) 2005-09-06 2007-08-21 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
JP4534935B2 (ja) * 2005-10-04 2010-09-01 株式会社日立製作所 トランスコーダ、記録装置及びトランスコード方法
CN100386797C (zh) * 2005-11-03 2008-05-07 西安交通大学 一种利于实现数字视频图像缩放插值的行场信号产生方法
BRPI0600823B1 (pt) * 2006-03-14 2018-02-14 Whirlpool S.A. Sistema de programação de equipamentos eletrodomésticos e método de programação de equipamentos eletrodomésticos programáveis em linha de montagem
JP4384130B2 (ja) * 2006-03-28 2009-12-16 株式会社東芝 動画像復号方法及び装置
US20080025390A1 (en) * 2006-07-25 2008-01-31 Fang Shi Adaptive video frame interpolation
JP4410225B2 (ja) * 2006-08-07 2010-02-03 株式会社東芝 動画像復号化装置および方法
US9418450B2 (en) 2006-08-31 2016-08-16 Ati Technologies Ulc Texture compression techniques
KR20080022614A (ko) * 2006-09-07 2008-03-12 삼성전자주식회사 글로벌 영상 검출 방법과, 표시 장치 및 이의 구동 방법
KR100842557B1 (ko) * 2006-10-20 2008-07-01 삼성전자주식회사 동영상 처리 장치에서 메모리 액세스 방법
EP2082583A2 (en) 2006-11-08 2009-07-29 THOMSON Licensing Methods and apparatus for in-loop de-artifact filtering
DE102006057983A1 (de) * 2006-12-08 2008-06-12 Siemens Ag Verfahren zur Vidoecodierung einer Folge digitalisierter Bilder
GB2445008B (en) * 2006-12-20 2008-12-31 Sony Comp Entertainment Europe Image compression and/or decompression
EP1944978A1 (en) * 2007-01-12 2008-07-16 Koninklijke Philips Electronics N.V. Method and system for encoding a video signal. encoded video signal, method and system for decoding a video signal
JPWO2008108372A1 (ja) * 2007-03-05 2010-06-17 日本電気株式会社 重み付き予測情報算出方法、装置、プログラム、動画像符号化方法、装置、およびプログラム
JP4853337B2 (ja) * 2007-03-09 2012-01-11 ソニー株式会社 信号変換装置
US7813564B2 (en) * 2007-03-30 2010-10-12 Eastman Kodak Company Method for controlling the amount of compressed data
JP5125294B2 (ja) 2007-07-31 2013-01-23 株式会社ニコン プログラム、画像処理装置、撮像装置および画像処理方法
JP5322956B2 (ja) * 2008-01-29 2013-10-23 パナソニック株式会社 画像符号化装置および画像符号化方法
WO2009148412A1 (en) * 2008-06-06 2009-12-10 Agency For Science, Technology And Research Methods and devices for estimating motion in a plurality of frames
US10123050B2 (en) * 2008-07-11 2018-11-06 Qualcomm Incorporated Filtering video data using a plurality of filters
WO2010017166A2 (en) 2008-08-04 2010-02-11 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
JP5200788B2 (ja) * 2008-09-09 2013-06-05 富士通株式会社 映像信号処理装置、映像信号処理方法および映像信号処理プログラム
KR101441903B1 (ko) * 2008-10-16 2014-09-24 에스케이텔레콤 주식회사 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US8317325B2 (en) 2008-10-31 2012-11-27 Cross Match Technologies, Inc. Apparatus and method for two eye imaging for iris identification
JP2010130510A (ja) * 2008-11-28 2010-06-10 Brother Ind Ltd 印刷装置及びプログラム
JP4692614B2 (ja) * 2008-11-28 2011-06-01 ブラザー工業株式会社 印刷装置及びプログラム
JP4692615B2 (ja) * 2008-11-28 2011-06-01 ブラザー工業株式会社 印刷装置及びプログラム
KR101869735B1 (ko) 2008-12-19 2018-06-21 가부시키가이샤 한도오따이 에네루기 켄큐쇼 전자기기
US9143803B2 (en) * 2009-01-15 2015-09-22 Qualcomm Incorporated Filter prediction based on activity metrics in video coding
US8947520B2 (en) * 2009-01-22 2015-02-03 Hitachi High-Technologies Corporation Electron microscope
JP5686499B2 (ja) * 2009-01-22 2015-03-18 株式会社Nttドコモ 画像予測符号化装置、方法及びプログラム、画像予測復号装置、方法及びプログラム、並びに、符号化・復号システム及び方法
US9066107B2 (en) * 2009-01-28 2015-06-23 France Telecom Methods for encoding and decoding sequence implementing a motion compensation, corresponding encoding and decoding devices, signal and computer programs
KR101599872B1 (ko) * 2009-02-25 2016-03-04 삼성전자주식회사 디지털 영상 처리 장치, 그 제어방법 및 이를 실행시키기 위한 프로그램을 저장한 기록매체
US8363722B2 (en) * 2009-03-31 2013-01-29 Sony Corporation Method and apparatus for hierarchical bi-directional intra-prediction in a video encoder
JP5343739B2 (ja) * 2009-07-02 2013-11-13 ブラザー工業株式会社 出力装置及びプログラム
US8995526B2 (en) * 2009-07-09 2015-03-31 Qualcomm Incorporated Different weights for uni-directional prediction and bi-directional prediction in video coding
US9161057B2 (en) 2009-07-09 2015-10-13 Qualcomm Incorporated Non-zero rounding and prediction mode selection techniques in video encoding
JP2011024017A (ja) * 2009-07-16 2011-02-03 Sony Corp 動画抽出装置、プログラム、および動画抽出方法
US8633968B2 (en) * 2009-12-11 2014-01-21 Dish Network L.L.C. Three-dimensional recording and display system using near- and distal-focused images
US8885714B2 (en) * 2010-01-14 2014-11-11 Texas Instruments Incorporated Method and system for intracoding in video encoding
US9659353B2 (en) * 2010-03-01 2017-05-23 Stmicroelectronics, Inc. Object speed weighted motion compensated interpolation
JP5212437B2 (ja) * 2010-08-30 2013-06-19 株式会社Jvcケンウッド 画像データ送信装置、画像データ受信装置、画像データ伝送システム、画像データ送信方法および画像データ受信方法
US9319880B2 (en) * 2010-09-15 2016-04-19 Intel Corporation Reformatting data to decrease bandwidth between a video encoder and a buffer
DK3657798T3 (da) 2010-10-06 2022-10-31 Ntt Docomo Inc Biforudsigelsesbilledafkodningsfremgangsmåde
US9161056B2 (en) * 2010-11-24 2015-10-13 Texas Instruments Incorporated Method for low memory footprint compressed video decoding
CN102035997B (zh) * 2010-12-14 2012-08-08 杭州爱威芯科技有限公司 一种基于模式预测和方向排序的图像锐化方法
US9420294B2 (en) 2011-02-23 2016-08-16 Lg Electronics Inc. Intra-prediction method using filtering, and apparatus using the method
US8989261B2 (en) 2011-02-23 2015-03-24 Qualcomm Incorporated Multi-metric filtering
CN105791834B (zh) * 2011-06-23 2018-01-02 Jvc 建伍株式会社 图像解码装置和图像解码方法
US9094689B2 (en) 2011-07-01 2015-07-28 Google Technology Holdings LLC Motion vector prediction design simplification
US8811756B2 (en) 2011-07-11 2014-08-19 International Business Machines Corporation Image compression
EP2750384B1 (en) * 2011-09-21 2020-07-22 LG Electronics Inc. Intra prediction method and an apparatus for decoding an image
US20130083840A1 (en) * 2011-09-30 2013-04-04 Broadcom Corporation Advance encode processing based on raw video data
US9185428B2 (en) * 2011-11-04 2015-11-10 Google Technology Holdings LLC Motion vector scaling for non-uniform motion vector grid
JP2013102297A (ja) * 2011-11-07 2013-05-23 Canon Inc 画像符号化方法、画像符号化装置及びプログラム、画像復号方法、画像復号装置及びプログラム
JP5485969B2 (ja) * 2011-11-07 2014-05-07 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム
US9247257B1 (en) 2011-11-30 2016-01-26 Google Inc. Segmentation based entropy encoding and decoding
CN105519108B (zh) * 2012-01-09 2019-11-29 华为技术有限公司 量化矩阵编码的加权预测方法和装置
JP6222514B2 (ja) * 2012-01-11 2017-11-01 パナソニックIpマネジメント株式会社 画像処理装置、撮像装置、およびコンピュータブログラム
US9531990B1 (en) 2012-01-21 2016-12-27 Google Inc. Compound prediction using multiple sources or prediction modes
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
CN107087204B (zh) 2012-06-12 2020-04-10 Lg 电子株式会社 图像解码方法及使用其的装置
US9185414B1 (en) 2012-06-29 2015-11-10 Google Inc. Video encoding using variance
WO2014018050A1 (en) * 2012-07-27 2014-01-30 Hewlett-Packard Development Company, L.P. Techniques for Video Compression
US9154708B1 (en) 2014-11-06 2015-10-06 Duelight Llc Image sensor apparatus and method for simultaneously capturing flash and ambient illuminated images
US9918017B2 (en) 2012-09-04 2018-03-13 Duelight Llc Image sensor apparatus and method for obtaining multiple exposures with zero interframe time
US8976264B2 (en) 2012-09-04 2015-03-10 Duelight Llc Color balance in digital photography
US9160936B1 (en) 2014-11-07 2015-10-13 Duelight Llc Systems and methods for generating a high-dynamic range (HDR) pixel stream
US9167169B1 (en) 2014-11-05 2015-10-20 Duelight Llc Image sensor apparatus and method for simultaneously capturing multiple images
US9167174B1 (en) 2014-11-05 2015-10-20 Duelight Llc Systems and methods for high-dynamic range images
US9179085B1 (en) 2014-11-06 2015-11-03 Duelight Llc Image sensor apparatus and method for obtaining low-noise, high-speed captures of a photographic scene
US9137455B1 (en) * 2014-11-05 2015-09-15 Duelight Llc Image sensor apparatus and method for obtaining multiple exposures with zero interframe time
US9531961B2 (en) 2015-05-01 2016-12-27 Duelight Llc Systems and methods for generating a digital image using separate color and intensity data
US9179062B1 (en) 2014-11-06 2015-11-03 Duelight Llc Systems and methods for performing operations on pixel data
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9351011B2 (en) 2012-11-28 2016-05-24 Intel Corporation Video pipeline with direct linkage between decoding and post processing
US9536294B2 (en) 2012-12-03 2017-01-03 Home Box Office, Inc. Package essence analysis kit
US9538180B2 (en) 2012-12-17 2017-01-03 Qualcomm Incorporated Motion vector prediction in video coding
US9628790B1 (en) 2013-01-03 2017-04-18 Google Inc. Adaptive composite intra prediction for image and video compression
US9596481B2 (en) * 2013-01-30 2017-03-14 Ati Technologies Ulc Apparatus and method for video data processing
US9807322B2 (en) 2013-03-15 2017-10-31 Duelight Llc Systems and methods for a digital image sensor
US9819849B1 (en) 2016-07-01 2017-11-14 Duelight Llc Systems and methods for capturing digital images
US10558848B2 (en) 2017-10-05 2020-02-11 Duelight Llc System, method, and computer program for capturing an image with correct skin tone exposure
US9053366B2 (en) * 2013-02-20 2015-06-09 Honeywell International Inc. System and method for detecting motion in compressed video
CN105009567B (zh) 2013-02-21 2018-06-08 杜比实验室特许公司 用于合成叠加图形的外观映射的系统和方法
US10055866B2 (en) 2013-02-21 2018-08-21 Dolby Laboratories Licensing Corporation Systems and methods for appearance mapping for compositing overlay graphics
CN111193929B (zh) * 2013-12-16 2022-04-12 浙江大学 一种前向双假设编码图像块的编解码方法和装置
US9609343B1 (en) 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
US9749642B2 (en) 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US9774881B2 (en) 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US9723377B2 (en) * 2014-04-28 2017-08-01 Comcast Cable Communications, Llc Video management
US9532088B2 (en) * 2014-06-18 2016-12-27 Arris Enterprises, Inc. Trick-play streams for adaptive bitrate streaming
US9924191B2 (en) * 2014-06-26 2018-03-20 Qualcomm Incorporated Filters for advanced residual prediction in video coding
US10924688B2 (en) 2014-11-06 2021-02-16 Duelight Llc Image sensor apparatus and method for obtaining low-noise, high-speed captures of a photographic scene
US11463630B2 (en) 2014-11-07 2022-10-04 Duelight Llc Systems and methods for generating a high-dynamic range (HDR) pixel stream
MY190056A (en) 2015-05-21 2022-03-23 Huawei Tech Co Ltd Apparatus and method for video motion compensation
EP3340621B1 (en) * 2015-08-20 2023-01-25 Nippon Hoso Kyokai Image decoding device, and programs therefor
WO2017035831A1 (en) * 2015-09-06 2017-03-09 Mediatek Inc. Adaptive inter prediction
MY185713A (en) * 2015-09-25 2021-05-31 Huawei Tech Co Ltd Apparatus and method for video motion compensation
JP2018530244A (ja) 2015-09-25 2018-10-11 華為技術有限公司Huawei Technologies Co.,Ltd. 選択可能な補間フィルタを用いるビデオ動き補償のための装置および方法
CN108370445B (zh) 2015-09-25 2020-02-21 华为技术有限公司 一种视频编码器和视频解码器
CA2999700C (en) * 2015-09-25 2022-06-21 Huawei Technologies Co., Ltd. Apparatus and method for video motion compensation
CA2999824C (en) 2015-09-25 2021-08-03 Huawei Technologies Co., Ltd. Apparatus and method for video motion compensation
WO2017062885A1 (en) * 2015-10-08 2017-04-13 Sharp Laboratories Of America, Inc. Systems and methods for reducing artifacts in temporal scalable layers of video
US10805627B2 (en) 2015-10-15 2020-10-13 Cisco Technology, Inc. Low-complexity method for generating synthetic reference frames in video coding
EP4138392A1 (en) * 2016-02-05 2023-02-22 HFI Innovation Inc. Method and apparatus of motion compensation based on bi-directional optical flow techniques for video coding
WO2017195267A1 (ja) * 2016-05-10 2017-11-16 オリンパス株式会社 画像処理装置、画像処理方法及び画像処理プログラム
US10136155B2 (en) 2016-07-27 2018-11-20 Cisco Technology, Inc. Motion compensation using a patchwork motion field
CN106358041B (zh) * 2016-08-30 2019-05-10 北京奇艺世纪科技有限公司 一种帧间预测编码方法及装置
WO2018044314A1 (en) 2016-09-01 2018-03-08 Duelight Llc Systems and methods for adjusting focus based on focus target information
US10951912B2 (en) 2016-10-05 2021-03-16 Qualcomm Incorporated Systems and methods for adaptive selection of weights for video coding
US10182248B2 (en) * 2016-11-21 2019-01-15 Cisco Technology, Inc. Keyframe mitigation for video streams with multiple receivers
TWI670964B (zh) * 2016-12-13 2019-09-01 日商夏普股份有限公司 用於減少於視訊之時間可適性層之假影之系統及方法
WO2018132150A1 (en) 2017-01-13 2018-07-19 Google Llc Compound prediction for video coding
US10126877B1 (en) * 2017-02-01 2018-11-13 Sentons Inc. Update of reference data for touch input detection
US20180289510A1 (en) * 2017-04-07 2018-10-11 Worcester Polytechnic Institute Gyroscopically controlled balance prosthetic
US20180332298A1 (en) * 2017-05-10 2018-11-15 Futurewei Technologies, Inc. Bidirectional Prediction In Video Compression
WO2018212569A1 (ko) * 2017-05-16 2018-11-22 엘지전자(주) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US10218992B2 (en) * 2017-07-24 2019-02-26 Cisco Technology, Inc. Encoding, transmission and decoding of combined high motion and high fidelity content
US10412410B2 (en) 2017-08-14 2019-09-10 Google Llc Compound motion-compensated prediction
EP3669542B1 (en) * 2017-08-15 2023-10-11 Dolby Laboratories Licensing Corporation Bit-depth efficient image processing
US10284869B2 (en) 2017-09-28 2019-05-07 Google Llc Constrained motion field estimation for hardware efficiency
US10412383B2 (en) * 2017-08-15 2019-09-10 Google Llc Compressing groups of video frames using reversed ordering
US10880573B2 (en) 2017-08-15 2020-12-29 Google Llc Dynamic motion vector referencing for video coding
US10555004B1 (en) * 2017-09-22 2020-02-04 Pixelworks, Inc. Low frequency compensated encoding
WO2020019354A1 (zh) * 2018-07-27 2020-01-30 深圳市大疆创新科技有限公司 视频编码方法及装置、计算机可读存储介质
US11394989B2 (en) * 2018-12-10 2022-07-19 Tencent America LLC Method and apparatus for video coding
US11044480B2 (en) * 2019-01-24 2021-06-22 Google Llc More accurate 2-tap interpolation filters for video compression
EP3700210A1 (en) 2019-02-21 2020-08-26 Ateme Method and apparatus for image encoding
JP6797247B2 (ja) * 2019-07-10 2020-12-09 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ビデオ動き補償用の装置および方法
TW202147850A (zh) * 2020-05-01 2021-12-16 美商Op解決方案公司 用於組合無損和有損寫碼之方法和系統
EP4158897A1 (en) 2020-05-26 2023-04-05 Dolby Laboratories Licensing Corporation Picture metadata for variable frame-rate video
CN113808510B (zh) * 2020-06-15 2024-04-09 明基智能科技(上海)有限公司 影像调整方法
CN111885336B (zh) * 2020-06-19 2022-03-29 成都东方盛行电子有限责任公司 一种帧模式下的非编帧率转换方法
WO2022047129A1 (en) * 2020-08-28 2022-03-03 Op Solutions, Llc Methods and systems for combined lossless and lossy coding
CN113114934B (zh) * 2021-03-31 2022-08-05 太原理工大学 尿红细胞多焦距视频采集方法与系统
US11936992B2 (en) * 2022-01-18 2024-03-19 Apple Inc. Multi-mode demosaicing for raw image data
KR102405045B1 (ko) * 2022-02-22 2022-06-07 주식회사 전자사탕사 쇼핑몰 형태의 비대면 영상 제작 서비스를 제공하는 플랫폼을 위한 서버 및 그 동작 방법
CN115184016A (zh) * 2022-09-06 2022-10-14 江苏东控自动化科技有限公司 一种升降机轴承故障检测方法

Family Cites Families (190)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3408061A1 (de) * 1984-03-05 1985-09-05 ANT Nachrichtentechnik GmbH, 7150 Backnang Verfahren zur bewegungsadaptiven interpolation von fernsehbildsequenzen und anwendungen dieses verfahrens
US4642678A (en) * 1984-09-10 1987-02-10 Eastman Kodak Company Signal processing method and apparatus for producing interpolated chrominance values in a sampled color image signal
US4654696A (en) 1985-04-09 1987-03-31 Grass Valley Group, Inc. Video signal format
US4903317A (en) 1986-06-24 1990-02-20 Kabushiki Kaisha Toshiba Image processing apparatus
JPH01140883A (ja) 1987-11-27 1989-06-02 Dainippon Printing Co Ltd データ符号化方法
JPH0537915Y2 (es) 1988-03-25 1993-09-24
JP2530217B2 (ja) 1989-01-20 1996-09-04 日本ビクター株式会社 フレ―ム間予測符号化装置及び復号装置
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 日本ビクター株式会社 適応型フレーム間予測符号化方法及び復号方法
US5227972A (en) * 1989-09-18 1993-07-13 Halliburton Logging Services, Inc. Matched filter data smoothing system
DE69033797T2 (de) * 1989-10-14 2002-04-18 Sony Corp Verfahren und Anordnung zum Kodieren/Dekodieren eines Videosignales
GB9102220D0 (en) 1991-02-01 1991-03-20 British Telecomm Method and apparatus for decoding video signals
US5465119A (en) 1991-02-22 1995-11-07 Demografx Pixel interlacing apparatus and method
CA2060407C (en) 1991-03-22 1998-10-27 Jack M. Sacks Minimum difference processor
US5151784A (en) 1991-04-30 1992-09-29 At&T Bell Laboratories Multiple frame motion estimation
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
US5986713A (en) 1991-05-31 1999-11-16 Kabushiki Kaisha Toshiba Video coding apparatus using inter-field prediction
JPH05236456A (ja) 1992-02-18 1993-09-10 Toshiba Corp 動画像符号化方法および装置
US5317397A (en) 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
JP2699703B2 (ja) 1991-07-31 1998-01-19 松下電器産業株式会社 動き補償予測方法とそれを用いた画像信号符号化方法
JP2507204B2 (ja) 1991-08-30 1996-06-12 松下電器産業株式会社 映像信号符号化装置
US5198901A (en) 1991-09-23 1993-03-30 Matsushita Electric Corporation Of America Derivation and use of motion vectors in a differential pulse code modulation system
JPH0595540A (ja) * 1991-09-30 1993-04-16 Sony Corp 動画像符号化装置
JP3263960B2 (ja) * 1991-10-22 2002-03-11 ソニー株式会社 動きベクトル符号器および復号器
US5414469A (en) 1991-10-31 1995-05-09 International Business Machines Corporation Motion video compression system with multiresolution features
US5231484A (en) * 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
KR950001563B1 (ko) 1991-12-28 1995-02-25 주식회사금성사 3차원 가중 메디안 필터를 이용한 tv영상신호의 주사선수 증가 방법 및 장치
GB9204115D0 (en) * 1992-02-26 1992-04-08 British Broadcasting Corp Video image processing
US5253058A (en) 1992-04-01 1993-10-12 Bell Communications Research, Inc. Efficient coding scheme for multilevel video transmission
JP3245977B2 (ja) 1992-06-30 2002-01-15 ソニー株式会社 ディジタル画像信号の伝送装置
US5270813A (en) 1992-07-02 1993-12-14 At&T Bell Laboratories Spatially scalable video coding facilitating the derivation of variable-resolution images
US5294974A (en) 1992-07-24 1994-03-15 Matsushita Electric Corporation Of America High-definition video encoding system having color-sensitive quantization
US5301019A (en) * 1992-09-17 1994-04-05 Zenith Electronics Corp. Data compression system having perceptually weighted motion vectors
JP3545000B2 (ja) * 1992-11-02 2004-07-21 ソニー株式会社 画像信号符号化装置、画像信号復号化装置
JPH06165150A (ja) 1992-11-18 1994-06-10 Matsushita Electric Ind Co Ltd 動画像符号化/復号化装置
US5717816A (en) 1993-01-13 1998-02-10 Hitachi America Ltd. Method and apparatus for the selection of data for use in VTR trick playback operation in a system using intra-coded video frames
JP2962083B2 (ja) * 1993-01-22 1999-10-12 松下電器産業株式会社 解像度変換方法、解像度変換装置、画像符号化装置、画像復号化装置
US5426463A (en) 1993-02-22 1995-06-20 Rca Thomson Licensing Corporation Apparatus for controlling quantizing in a video signal compressor
US5815646A (en) * 1993-04-13 1998-09-29 C-Cube Microsystems Decompression processor for video applications
JPH06350995A (ja) 1993-06-10 1994-12-22 Casio Comput Co Ltd 動画像処理方法
US5877754A (en) 1993-06-16 1999-03-02 Intel Corporation Process, apparatus, and system for color conversion of image signals
US5408270A (en) 1993-06-24 1995-04-18 Massachusetts Institute Of Technology Advanced television system
US5387940A (en) 1993-07-07 1995-02-07 Rca Thomson Licensing Corporation Method and apparatus for providing scaleable compressed video signal
CA2126467A1 (en) 1993-07-13 1995-01-14 Barin Geoffry Haskell Scalable encoding and decoding of high-resolution progressive video
WO1995004433A1 (en) 1993-07-30 1995-02-09 British Telecommunications Public Limited Company Processing image data
DE4326390C2 (de) 1993-08-06 1999-05-12 Philips Patentverwaltung Verfahren zur Störsignalbefreiung von Videosignalen
CA2127151A1 (en) 1993-09-21 1995-03-22 Atul Puri Spatially scalable video encoding and decoding
US5438374A (en) 1993-12-10 1995-08-01 At&T Corp. System and method for filtering video signals
JPH07203426A (ja) 1993-12-28 1995-08-04 Toshiba Corp 階層符号化復号化装置
GB2286740B (en) * 1994-02-21 1998-04-01 Sony Uk Ltd Coding and decoding of video signals
US5442407A (en) 1994-03-22 1995-08-15 Matsushita Electric Corporation Of America Video signal noise reduction system using time-varying filter coefficients
JPH07336192A (ja) 1994-06-07 1995-12-22 Hitachi Micro Comput Eng Ltd 中央値演算方法および演算回路
EP0687112B1 (en) 1994-06-08 2006-09-20 Matsushita Electric Industrial Co., Ltd. Image conversion apparatus
US5796438A (en) * 1994-07-05 1998-08-18 Sony Corporation Methods and apparatus for interpolating picture information
JPH0830781A (ja) 1994-07-14 1996-02-02 Mitsubishi Electric Corp 空間フィルタ
KR0126871B1 (ko) * 1994-07-30 1997-12-29 심상철 양방향 이동벡터 추정을 위한 고속 블럭정합 방식
JP2970417B2 (ja) * 1994-08-22 1999-11-02 日本電気株式会社 動画像符号化方式
KR0151210B1 (ko) * 1994-09-23 1998-10-15 구자홍 엠펙2를 수용하는 반화소 움직임 보상조절장치
JP3258840B2 (ja) 1994-12-27 2002-02-18 シャープ株式会社 動画像符号化装置および領域抽出装置
JPH08186714A (ja) 1994-12-27 1996-07-16 Texas Instr Inc <Ti> 画像データのノイズ除去方法及びその装置
US5661525A (en) * 1995-03-27 1997-08-26 Lucent Technologies Inc. Method and apparatus for converting an interlaced video frame sequence into a progressively-scanned sequence
GB2301971B (en) * 1995-06-06 1999-10-06 Sony Uk Ltd Video compression
GB2301970B (en) * 1995-06-06 2000-03-01 Sony Uk Ltd Motion compensated video processing
US5828788A (en) 1995-06-29 1998-10-27 Thomson Multimedia, S.A. System for processing data in variable segments and with variable data resolution
US6023301A (en) * 1995-07-14 2000-02-08 Sharp Kabushiki Kaisha Video coding device and video decoding device
US5748903A (en) 1995-07-21 1998-05-05 Intel Corporation Encoding images using decode rate control
US5745183A (en) * 1995-08-25 1998-04-28 Thomson Consumer Electronics, Inc. Image motion estimation system which derives candidate block from interpolated motion vectors
US5737032A (en) 1995-09-05 1998-04-07 Videotek, Inc. Serial digital video processing with concurrent adjustment in RGB and luminance/color difference
JPH0984024A (ja) 1995-09-20 1997-03-28 Matsushita Electric Ind Co Ltd 動画像信号の符号化装置
US5835498A (en) 1995-10-05 1998-11-10 Silicon Image, Inc. System and method for sending multiple data signals over a serial link
JP3788823B2 (ja) 1995-10-27 2006-06-21 株式会社東芝 動画像符号化装置および動画像復号化装置
US5896176A (en) * 1995-10-27 1999-04-20 Texas Instruments Incorporated Content-based video compression
US6026183A (en) * 1995-10-27 2000-02-15 Texas Instruments Incorporated Content-based video compression
KR100209793B1 (ko) * 1995-10-28 1999-07-15 전주범 특징점 기반 움직임 추정을 이용하여 비디오 신호를 부호화 및 복호화하는 장치
JP3347954B2 (ja) * 1995-11-02 2002-11-20 三菱電機株式会社 動画像符号化装置及び動画像復号化装置
JPH09163376A (ja) 1995-12-05 1997-06-20 Nippon Telegr & Teleph Corp <Ntt> 動画像のフレーム間符号化・復号方法および装置
JPH09182083A (ja) * 1995-12-27 1997-07-11 Matsushita Electric Ind Co Ltd ビデオ画像符号化方法及び復号化方法とその装置
US6957350B1 (en) 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US5852565A (en) 1996-01-30 1998-12-22 Demografx Temporal and resolution layering in advanced television
US5661524A (en) 1996-03-08 1997-08-26 International Business Machines Corporation Method and apparatus for motion estimation using trajectory in a digital video encoder
US5784527A (en) 1996-03-22 1998-07-21 Cirrus Logic, Inc. System and method for error handling during playback of an audio/video data stream
US5974159A (en) 1996-03-29 1999-10-26 Sarnoff Corporation Method and apparatus for assessing the visibility of differences between two image sequences
EP1677546B1 (en) * 1996-04-12 2008-07-30 Sony Corporation Image encoding with buffer underflow prevention
US6445738B1 (en) * 1996-04-25 2002-09-03 Opentv, Inc. System and method for creating trick play video streams from a compressed normal play video bitstream
EP1182888A3 (en) 1996-04-25 2004-11-03 Matsushita Electric Industrial Co., Ltd. Video coding with bit rate dependent quantisation
KR100204478B1 (ko) 1996-05-09 1999-06-15 배순훈 전역 움직임에 의한 빈 공간 보상 방법 및 그 장치
US5825680A (en) 1996-06-21 1998-10-20 Digital Equipment Corporation Method and apparatus for performing fast division
JPH10154781A (ja) 1996-07-19 1998-06-09 Denso Corp 沸騰冷却装置
US6069914A (en) 1996-09-19 2000-05-30 Nec Research Institute, Inc. Watermarking of image data using MPEG/JPEG coefficients
JP3263807B2 (ja) * 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
US6341144B1 (en) * 1996-09-20 2002-01-22 At&T Corp. Video coder providing implicit coefficient prediction and scan adaptation for image coding and intra coding of video
US5909224A (en) * 1996-10-18 1999-06-01 Samsung Electronics Company, Ltd. Apparatus and method for managing a frame buffer for MPEG video decoding in a PC environment
US6043846A (en) * 1996-11-15 2000-03-28 Matsushita Electric Industrial Co., Ltd. Prediction apparatus and method for improving coding efficiency in scalable video coding
US5920353A (en) 1996-12-03 1999-07-06 St Microelectronics, Inc. Multi-standard decompression and/or compression device
US6005626A (en) * 1997-01-09 1999-12-21 Sun Microsystems, Inc. Digital video signal encoder and encoding method
US5974184A (en) * 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
CN1297147C (zh) * 1997-03-07 2007-01-24 通用仪器公司 对交错数字视频的双向预测的视频目标平面的预测和编码
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
US6175592B1 (en) 1997-03-12 2001-01-16 Matsushita Electric Industrial Co., Ltd. Frequency domain filtering for down conversion of a DCT encoded picture
US6118817A (en) 1997-03-14 2000-09-12 Microsoft Corporation Digital video signal encoder and encoding method having adjustable quantization
US5903673A (en) 1997-03-14 1999-05-11 Microsoft Corporation Digital video signal encoder and encoding method
US6115420A (en) 1997-03-14 2000-09-05 Microsoft Corporation Digital video signal encoder and encoding method
US6404813B1 (en) 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
US6633611B2 (en) * 1997-04-24 2003-10-14 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for region-based moving image encoding and decoding
EP0884912B1 (en) * 1997-06-09 2003-08-27 Hitachi, Ltd. Image sequence decoding method
US6275533B1 (en) * 1997-06-20 2001-08-14 Matsushita Electric Industrial Co., Ltd. Image processing method, image processing apparatus, and data recording medium
US6236727B1 (en) 1997-06-24 2001-05-22 International Business Machines Corporation Apparatus, method and computer program product for protecting copyright data within a computer system
JP3191922B2 (ja) * 1997-07-10 2001-07-23 松下電器産業株式会社 画像復号化方法
KR100226722B1 (ko) 1997-07-30 1999-10-15 구자홍 동영상 움직임 벡터 추정 방법
US5987179A (en) 1997-09-05 1999-11-16 Eastman Kodak Company Method and apparatus for encoding high-fidelity still images in MPEG bitstreams
US6807231B1 (en) * 1997-09-12 2004-10-19 8×8, Inc. Multi-hypothesis motion-compensated video image predictor
US6088047A (en) * 1997-12-30 2000-07-11 Sony Corporation Motion compensated digital video decoding with buffered picture storage memory map
US5987180A (en) * 1997-09-26 1999-11-16 Sarnoff Corporation Multiple component compression encoder motion search method and apparatus
US6115574A (en) * 1997-10-07 2000-09-05 Canon Kabushiki Kaisha Image-forming method
US6014182A (en) 1997-10-10 2000-01-11 Faroudja Laboratories, Inc. Film source video detection
GB9721662D0 (en) 1997-10-14 1997-12-10 Philips Electronics Nv Encoded video signal formatting
KR100235988B1 (ko) * 1997-11-12 1999-12-15 구자홍 디티브이 영상 포맷 변환장치 및 그 방법
US5956026A (en) 1997-12-19 1999-09-21 Sharp Laboratories Of America, Inc. Method for hierarchical summarization and browsing of digital video
KR100548665B1 (ko) 1998-01-19 2006-02-03 소니 가부시끼 가이샤 편집 시스템, 편집 제어 장치 및 편집 제어 방법
EP1051853B1 (en) 1998-01-26 2003-06-18 STMicroelectronics Asia Pacific Pte Ltd. One-pass variable bit rate moving pictures encoding
US6172768B1 (en) 1998-02-05 2001-01-09 Canon Kabushiki Kaisha Halftoning with changeable error diffusion weights
US6489956B1 (en) 1998-02-17 2002-12-03 Sun Microsystems, Inc. Graphics system having a super-sampled sample buffer with generation of output pixels using selective adjustment of filtering for implementation of display effects
US6058143A (en) * 1998-02-20 2000-05-02 Thomson Licensing S.A. Motion vector extrapolation for transcoding video sequences
JPH11239351A (ja) 1998-02-23 1999-08-31 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化方法、復号方法、符号化器、復号器、動画像符号化プログラムおよび動画像復号プログラムを記録した記録媒体
US6723290B1 (en) 1998-03-07 2004-04-20 Levine Robert A Container for holding biologic fluid for analysis
US6020934A (en) * 1998-03-23 2000-02-01 International Business Machines Corporation Motion estimation architecture for area and power reduction
US6434196B1 (en) 1998-04-03 2002-08-13 Sarnoff Corporation Method and apparatus for encoding video information
JP4123567B2 (ja) * 1998-04-30 2008-07-23 ソニー株式会社 画像信号処理装置及び方法
US6215824B1 (en) 1998-05-01 2001-04-10 Boom Corporation Transcoding method for digital video networking
US6332194B1 (en) 1998-06-05 2001-12-18 Signafy, Inc. Method for data preparation and watermark insertion
US6301304B1 (en) 1998-06-17 2001-10-09 Lsi Logic Corporation Architecture and method for inverse quantization of discrete cosine transform coefficients in MPEG decoders
KR100275933B1 (ko) 1998-07-14 2000-12-15 구자홍 엠펙디코더의 역이산여현변환장치
JP4026238B2 (ja) * 1998-07-23 2007-12-26 ソニー株式会社 画像復号装置及び画像復号方法
US6252906B1 (en) 1998-07-31 2001-06-26 Thomson Licensing S.A. Decimation of a high definition video signal
KR100607390B1 (ko) * 1998-08-18 2006-08-02 지멘스 악티엔게젤샤프트 이미지 전체 모션 벡터를 이용하여 디지털화된 이미지를코딩하기 위한 방법 및 장치
JP3748717B2 (ja) 1998-08-31 2006-02-22 シャープ株式会社 動画像符号化装置
JP3576402B2 (ja) * 1998-10-23 2004-10-13 三菱電機株式会社 画像復号化装置
US6499060B1 (en) * 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
US6658056B1 (en) * 1999-03-30 2003-12-02 Sony Corporation Digital video decoding, buffering and frame-rate converting method and apparatus
US6519005B2 (en) * 1999-04-30 2003-02-11 Koninklijke Philips Electronics N.V. Method of concurrent multiple-mode motion estimation for digital video
CN1166213C (zh) * 1999-04-30 2004-09-08 皇家菲利浦电子有限公司 选择b帧编码模式的视频编码方法和系统
EP1061750A3 (en) * 1999-06-18 2010-05-05 THOMSON multimedia Picture compression process, especially of the MPEG2 type
AU6175500A (en) 1999-07-30 2001-02-19 Indinell Sociedad Anonima Method and apparatus for processing digital images and audio data
US6735249B1 (en) * 1999-08-11 2004-05-11 Nokia Corporation Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding
EP1081958B1 (en) * 1999-08-31 2006-02-01 Lucent Technologies Inc. Method and apparatus for macroblock DC and AC coefficient prediction for video coding
AU5744799A (en) 1999-09-02 2001-04-10 Array Ab Direct printing device and method
US6418405B1 (en) * 1999-09-30 2002-07-09 Motorola, Inc. Method and apparatus for dynamic segmentation of a low bit rate digital voice message
JP2001112000A (ja) 1999-10-07 2001-04-20 Matsushita Electric Ind Co Ltd 映像信号符号化装置
KR20010101329A (ko) * 1999-10-29 2001-11-14 요트.게.아. 롤페즈 비디오 인코딩 방법
US6442203B1 (en) 1999-11-05 2002-08-27 Demografx System and method for motion compensation and frame rate conversion
GB9928022D0 (en) * 1999-11-26 2000-01-26 British Telecomm Video coding and decording
EP1147669B1 (en) * 1999-11-29 2006-12-27 Sony Corporation Video signal processing method and apparatus by feature points extraction in the compressed domain.
EP1157561A1 (en) 1999-12-29 2001-11-28 Koninklijke Philips Electronics N.V. Device for image encoding and decoding
US6810131B2 (en) 2000-01-05 2004-10-26 Canon Kabushiki Kaisha Information processing method and apparatus
US7106322B2 (en) 2000-01-11 2006-09-12 Sun Microsystems, Inc. Dynamically adjusting a sample-to-pixel filter to compensate for the effects of negative lobes
CN1315225A (zh) * 2000-03-27 2001-10-03 北京化工大学 烷氧基化反应中镁铝复合金属氧化物催化剂及制备方法
AU2001251386A1 (en) 2000-04-07 2001-10-23 Demografx Enhanced temporal and resolution layering in advanced television
KR100708091B1 (ko) * 2000-06-13 2007-04-16 삼성전자주식회사 양방향 움직임 벡터를 이용한 프레임 레이트 변환 장치 및그 방법
US6629104B1 (en) 2000-11-22 2003-09-30 Eastman Kodak Company Method for adding personalized metadata to a collection of digital images
US6765964B1 (en) * 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
KR100952892B1 (ko) * 2000-12-06 2010-04-16 리얼네트웍스 인코포레이티드 비디오 데이타의 인트라코딩 방법 및 장치
ES2283376T3 (es) * 2001-01-16 2007-11-01 Koninklijke Philips Electronics N.V. Reduccion de los efectos de tipo halo en una interpolacion compensada en movimiento.
CN1179063C (zh) 2001-02-28 2004-12-08 陈晴祺 一种具有制震效果的合金
US8374237B2 (en) 2001-03-02 2013-02-12 Dolby Laboratories Licensing Corporation High precision encoding and decoding of video images
US7110452B2 (en) * 2001-03-05 2006-09-19 Intervideo, Inc. Systems and methods for detecting scene changes in a video data stream
JP3962553B2 (ja) 2001-03-30 2007-08-22 フジノン株式会社 電子内視鏡装置
US6925126B2 (en) * 2001-04-18 2005-08-02 Koninklijke Philips Electronics N.V. Dynamic complexity prediction and regulation of MPEG2 decoding in a media processor
US6823087B1 (en) * 2001-05-15 2004-11-23 Advanced Micro Devices, Inc. Parallel edge filters in video codec
US20040155894A1 (en) * 2001-06-21 2004-08-12 Roy Van Dijk Image processing unit for and method of processing pixels and image display apparatus comprising such an image processing unit
US8111754B1 (en) * 2001-07-11 2012-02-07 Dolby Laboratories Licensing Corporation Interpolation of video compression frames
US20030112873A1 (en) 2001-07-11 2003-06-19 Demos Gary A. Motion estimation for video compression systems
US7266150B2 (en) * 2001-07-11 2007-09-04 Dolby Laboratories, Inc. Interpolation of video compression frames
US6816552B2 (en) 2001-07-11 2004-11-09 Dolby Laboratories Licensing Corporation Interpolation of video compression frames
US20030112863A1 (en) 2001-07-12 2003-06-19 Demos Gary A. Method and system for improving compressed image chroma information
US6950469B2 (en) 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
EP1530789B1 (en) 2001-11-06 2011-08-10 Panasonic Corporation Display panel driving apparatus with reduced power loss
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US6909748B2 (en) * 2001-12-20 2005-06-21 Sorenson Media, Inc. Method and system for image compression using block size heuristics
US7681013B1 (en) 2001-12-31 2010-03-16 Apple Inc. Method for variable length decoding using multiple configurable look-up tables
JP2004007563A (ja) * 2002-04-19 2004-01-08 Matsushita Electric Ind Co Ltd 動画像符号化方法および動画像復号化方法
ES2745058T3 (es) * 2002-04-19 2020-02-27 Panasonic Ip Corp America Método de cálculo de vectores de movimiento
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
US7154952B2 (en) * 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
CN1220065C (zh) 2002-10-23 2005-09-21 中国科学院电子学研究所 振动式微型电场传感器
US6931061B2 (en) * 2002-11-13 2005-08-16 Sony Corporation Method of real time MPEG-4 texture decoding for a multiprocessor environment
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
DE10334842B4 (de) 2003-07-30 2005-06-02 Infineon Technologies Ag Gewichtungsschaltung für einen Mehrträger-Signalempfänger
US7295612B2 (en) * 2003-09-09 2007-11-13 Apple Inc. Determining the number of unidirectional and bidirectional motion compensated frames to be encoded for a video sequence and detecting scene cuts in the video sequence
JP4127244B2 (ja) 2004-05-27 2008-07-30 株式会社Nhvコーポレーション 電子線照射装置用の電子源
US20130070581A1 (en) 2011-09-20 2013-03-21 Cambridge Silicon Radio Limited Controlling Data Transmission

Also Published As

Publication number Publication date
US20160301949A1 (en) 2016-10-13
US20110096838A1 (en) 2011-04-28
US8160142B2 (en) 2012-04-17
US20130279584A1 (en) 2013-10-24
US8503529B2 (en) 2013-08-06
EP2254339B1 (en) 2019-12-04
US20130070851A1 (en) 2013-03-21
US8873629B2 (en) 2014-10-28
US8213507B2 (en) 2012-07-03
MY154424A (en) 2015-06-15
AU2008200457B2 (en) 2010-06-03
HUE048316T2 (hu) 2020-07-28
US20140098864A1 (en) 2014-04-10
US8542738B2 (en) 2013-09-24
HK1148888A1 (en) 2011-09-16
AU2010212510A1 (en) 2010-09-16
CN102256135A (zh) 2011-11-23
US20070268967A1 (en) 2007-11-22
US8279929B2 (en) 2012-10-02
JP2006513592A (ja) 2006-04-20
US8942285B2 (en) 2015-01-27
US8149912B2 (en) 2012-04-03
US20120044995A1 (en) 2012-02-23
US20140211852A1 (en) 2014-07-31
US20130301729A1 (en) 2013-11-14
HK1159918A1 (en) 2012-08-03
US8139640B2 (en) 2012-03-20
US20130077693A1 (en) 2013-03-28
AU2003247759B2 (en) 2008-02-07
US20040005004A1 (en) 2004-01-08
CN102256134A (zh) 2011-11-23
US20210021864A1 (en) 2021-01-21
US20120027090A1 (en) 2012-02-02
EP2262268A3 (en) 2011-06-15
EP2458863A2 (en) 2012-05-30
US9232232B2 (en) 2016-01-05
US8477851B2 (en) 2013-07-02
CN102256136A (zh) 2011-11-23
WO2004004310A3 (en) 2005-03-17
CN101969569B (zh) 2012-10-24
CN102176753B (zh) 2013-02-13
US20160301948A1 (en) 2016-10-13
DK2254339T3 (da) 2020-03-09
US8379720B2 (en) 2013-02-19
US8325809B2 (en) 2012-12-04
HUE048314T2 (hu) 2020-07-28
MY182370A (en) 2021-01-21
US8249158B2 (en) 2012-08-21
EP1530879A2 (en) 2005-05-18
EP2458864A3 (en) 2014-08-06
ES2780055T3 (es) 2020-08-21
HK1157548A1 (en) 2012-06-29
US7266150B2 (en) 2007-09-04
TWI231711B (en) 2005-04-21
MY162999A (en) 2017-07-31
SI2262268T1 (sl) 2020-07-31
EP1530879A4 (en) 2009-03-18
US20120307900A1 (en) 2012-12-06
CN102256122B (zh) 2016-02-10
CN102256123B (zh) 2014-09-10
US10225574B2 (en) 2019-03-05
CN102256123A (zh) 2011-11-23
CN102256136B (zh) 2017-06-27
US20170374383A1 (en) 2017-12-28
US9788012B2 (en) 2017-10-10
US9247269B2 (en) 2016-01-26
US8559513B2 (en) 2013-10-15
US8699572B2 (en) 2014-04-15
HK1157549A1 (en) 2012-06-29
US20110103478A1 (en) 2011-05-05
CN102256134B (zh) 2014-09-10
US20120170665A1 (en) 2012-07-05
CN102176752A (zh) 2011-09-07
KR100748194B1 (ko) 2007-08-10
US20100118957A1 (en) 2010-05-13
AU2008200457A1 (en) 2008-02-21
US8139639B2 (en) 2012-03-20
KR20050019809A (ko) 2005-03-03
US20150092852A1 (en) 2015-04-02
SI2254339T1 (sl) 2020-07-31
AU2010212510B2 (en) 2011-07-07
US8139638B2 (en) 2012-03-20
HK1163989A1 (en) 2012-09-14
US8873632B2 (en) 2014-10-28
EP2254339A3 (en) 2011-06-15
HK1159915A1 (en) 2012-08-03
US20110103476A1 (en) 2011-05-05
EP2254339A2 (en) 2010-11-24
US9549201B2 (en) 2017-01-17
HK1159917A1 (en) 2012-08-03
TW200420131A (en) 2004-10-01
US8401078B2 (en) 2013-03-19
US8767829B2 (en) 2014-07-01
US20120033734A1 (en) 2012-02-09
CN102256122A (zh) 2011-11-23
US20130070858A1 (en) 2013-03-21
US20190158874A1 (en) 2019-05-23
US20130077692A1 (en) 2013-03-28
US20120134414A1 (en) 2012-05-31
US20110103477A1 (en) 2011-05-05
MY154525A (en) 2015-06-30
US20150092853A1 (en) 2015-04-02
US20100014587A1 (en) 2010-01-21
AU2003247759A1 (en) 2004-01-19
WO2004004310A2 (en) 2004-01-08
MY152630A (en) 2014-10-31
US20170111656A1 (en) 2017-04-20
US8139641B2 (en) 2012-03-20
US8290043B2 (en) 2012-10-16
US8050323B2 (en) 2011-11-01
CA2490378A1 (en) 2004-01-08
US20150271521A1 (en) 2015-09-24
MY142934A (en) 2011-01-31
AU2008200457C1 (en) 2011-01-06
EP2458864A2 (en) 2012-05-30
US20160007041A1 (en) 2016-01-07
US7894524B2 (en) 2011-02-22
CN102256135B (zh) 2014-08-20
CN101969569A (zh) 2011-02-09
US20110096837A1 (en) 2011-04-28
US10080035B2 (en) 2018-09-18
EP2262268A2 (en) 2010-12-15
HK1159919A1 (zh) 2012-08-03
MY171283A (en) 2019-10-07
US9473791B2 (en) 2016-10-18
CN1663258B (zh) 2011-07-06
PT2254339T (pt) 2020-04-01
US20160007040A1 (en) 2016-01-07
EP2262268B1 (en) 2019-12-04
ES2775070T3 (es) 2020-07-23
US20120051428A1 (en) 2012-03-01
US8737472B2 (en) 2014-05-27
US20120033732A1 (en) 2012-02-09
CN102176753A (zh) 2011-09-07
US10869057B2 (en) 2020-12-15
US8526496B2 (en) 2013-09-03
US20140010301A1 (en) 2014-01-09
PT2262268T (pt) 2020-04-01
US20130223527A1 (en) 2013-08-29
US9571855B2 (en) 2017-02-14
CN102176752B (zh) 2013-02-13
US20150271520A1 (en) 2015-09-24
CN102227134B (zh) 2015-11-25
US8488675B2 (en) 2013-07-16
US8488674B2 (en) 2013-07-16
US20130223530A1 (en) 2013-08-29
CN102227134A (zh) 2011-10-26
CN1663258A (zh) 2005-08-31
US9386321B2 (en) 2016-07-05
US20110103479A1 (en) 2011-05-05
US8144774B2 (en) 2012-03-27
MY184819A (en) 2021-04-23
US20130077688A1 (en) 2013-03-28
DK2262268T3 (da) 2020-03-09
US20170374382A1 (en) 2017-12-28
US20120033735A1 (en) 2012-02-09
EP2782345A1 (en) 2014-09-24
US9083979B2 (en) 2015-07-14
CA2490378C (en) 2010-06-08
MY170517A (en) 2019-08-08
US20130322534A1 (en) 2013-12-05
EP2458863A3 (en) 2014-08-13
US8761257B2 (en) 2014-06-24
US9078002B2 (en) 2015-07-07
US8995528B2 (en) 2015-03-31

Similar Documents

Publication Publication Date Title
MXPA05000065A (es) Interpolacion mejorada de cuadros de compresion de video.
AU2015203602B2 (en) Region sizing for macroblocks
AU2015218509B2 (en) Region sizing for macroblocks
AU2015200722B2 (en) Region sizing for macroblocks
AU2014204511B2 (en) Region sizing for macroblocks
AU2012201353B2 (en) Improved interpolation of video compression frames
AU2013206639B2 (en) Region sizing for macroblocks
AU2013200690B2 (en) Region sizing for macroblocks
AU2012244113B2 (en) Interpolation of video compression frames
AU2011256919B2 (en) Improved interpolation of video compression frames
AU2014268171A1 (en) Region sizing for macroblocks

Legal Events

Date Code Title Description
FG Grant or registration