[go: up one dir, main page]

MX2007000867A - Metodo y aparato para asignacion de vector de movimiento. - Google Patents

Metodo y aparato para asignacion de vector de movimiento.

Info

Publication number
MX2007000867A
MX2007000867A MX2007000867A MX2007000867A MX2007000867A MX 2007000867 A MX2007000867 A MX 2007000867A MX 2007000867 A MX2007000867 A MX 2007000867A MX 2007000867 A MX2007000867 A MX 2007000867A MX 2007000867 A MX2007000867 A MX 2007000867A
Authority
MX
Mexico
Prior art keywords
moving
area
vector
content
areas
Prior art date
Application number
MX2007000867A
Other languages
English (en)
Inventor
Vijayalakshmi R Raveendran
Fang Shi
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of MX2007000867A publication Critical patent/MX2007000867A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0135Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes
    • H04N7/014Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving interpolation processes involving the use of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/553Motion estimation dealing with occlusions
    • 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/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
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

Un metodo para procesar una pluralidad de vectores de movimiento para un cuadro de video que va a ser interpolado utilizando un primer cuadro de referencia y un segundo cuadro de referencia, cada cuadro de referencia tiene un mapa de contenido, el metodo incluye dividir el cuadro de video para que sea interpretado en una pluralidad de areas; determinar un numero de vectores de movimiento que pasan a traves de un area de la pluralidad de areas con base en los mapas de contenido del primer cuadro de referencia y el segundo cuadro de referencia; y generar un vector de movimiento para asignar a un area con base en el numero de vectores de movimiento que pasan a traves del area; tambien se describe un aparato para desarrollar el metodo.

Description

MÉTODO Y APARATO PARA ASIGNACIÓN DE VECTOR DE MOVIMIENTO CAMPO DE LA INVENCIÓN Las modalidades aquí descritas se relacionan, por lo general, al procesamiento de imagen de video y, de manera más particular, al método y aparato para la asignación de vector de movimiento.
ANTECEDENTES DE LA INVENCIÓN Es muy importante la compresión de video de baja velocidad de bit en muchas aplicaciones de multimedia tales como la corriente de video inalámbrica y la telefonía de video, debido a los recursos limitados de ancho de banda y la variabilidad del ancho de banda disponible. La codificación de video de adaptación de ancho de banda a baja velocidad de bit se puede llevar a cabo reduciendo la resolución temporal. En otras palabras, en lugar de comprimir y enviar una corriente de bits de treinta (30) cuadros por segundo (fps) , la resolución temporal puede ser de la mitad, a 15fps para reducir la velocidad de bit de transmisión. Un enfoque común para reducir el ancho de banda es a través de la extracción y remoción de información redundante de la señal codificada, tal como la remoción ya sea de una porción o del cuadro completo. Sin embargo, la consecuencia de reducir la resolución temporal es la introducción de artefactos de dominio temporal tales como sacudidas de movimiento que degradan, de manera significativa, la calidad visual del video decodificado. Para mostrar la velocidad de cuadro completa en el lado receptor, se necesita un mecanismo de recuperación llamado conversación ascendente de velocidad de cuadro (FRUC), para regenerar los cuadros saltados y para reducir los artefactos temporales. Por lo general, FRUC es el proceso de interpolación de video en el decodificador de video para incrementar la velocidad de cuadro percibida del video reconstruido. Se han propuesto muchos algoritmos FRUC, y se pueden clasificar en dos categorías generales. La primera categoría interpola el cuadro faltante mediante el uso de una combinación de cuadros de video recibidos sin tomar en cuenta el movimiento del objeto. Los métodos de repetición de cuadro y ponderación de cuadro entran en esta categoría. Las desventajas de estos métodos incluyen la producción de sacudidas de movimiento, imágenes "fantasma" y la borrosidad de los objetos en movimiento cuando existe movimiento involucrado. La segunda categoría es más avanzada en comparación con la primera categoría, y utiliza información de movimiento transmitida por el codificador en un proceso referido previamente como interpolación (cuadro) compensada de movimiento (MCI) . En la codificación predictiva compensada de movimiento convencional, cada cuadro de video es dividido en bloques cuadrados de elementos de imagen (pels) ; tal como bloques de 8 pels por 8 pels. Cada bloque es codificado, a su vez, y la secuencia codificada desarrollada es transmitida sobre el canal de comunicaciones a un decodificador. Durante el proceso de codificación, se determina si han cambiado o no, de manera significativa, los pels del bloque en comparación con un bloque colocado de un cuadro previo. En caso de que no sea así, se envía una indicación que significa, para el decodificador, que necesita repetir solamente los pels de ese bloque del cuadro anterior para obtener los pels para el bloque actual. En caso que los pels hayan cambiado del cuadro previo, se hace un intento para determinar la mejor estimación de movimiento que está sucediendo en el bloque. Esto es realizado, de manera frecuente, a través de una técnica de cálculo de movimiento compatible de bloque, en donde los pels del bloque actual se comparan, de forma sucesiva, con diversos cambios pequeños del bloque correspondiente en el cuadro previo. El cambio que proporciona la mejor compatibilidad se considera el "mejor cálculo" del desplazamiento en las imágenes de bloques entre cuadros, y la magnitud y dirección de este cambio, denominado previamente como un "vector en movimiento", es seleccionado para ser enviado al decodificador. También, una vez que se encuentra la mejor compatibilidad, se comparan los pels de los bloques actuales con aquellos del "mejor" bloque cambiado del cuadro previo para ver si existe una diferencia significativa. Si no es así, en lugar de enviar el vector en movimiento, se envía una indicación al decodificador de modo que los pels del bloque cambiado del cuadro previo sean repetidos para los pels para el bloque cambiado actual. Se dice que dichos bloques han sido compensados en movimiento de manera exitosa. Sin embargo, en caso de que exista una diferencia significativa entre los dos bloques, la diferencia es codificada y enviada al decodificador de modo que los pels del bloque actual puedan ser recuperados de manera más exacta. Existen algunas sugerencias para mejorar la calidad de los, cuadros repetidos para hacerlos lo más semejantes y fieles al original. Por lo tanto, en lugar de solo repetir los pels del cuadro previo, como se describe arriba, en la codificación predictiva compensada de movimiento convencional, se utilizan vectores de movimiento MCI para desplazar, de manera lateral, un bloque por la cantidad adecuada anterior antes del despliegue. En otras palabras, este método crea el bloque faltante de pels mediante la promediación sobre los bloques de pels inmediatamente anteriores y posteriores disponibles para el decodificador. Sin embargo, resultados experimentales muestran que cuando las imágenes de bloques sucesivos no representan movimientos de translación, la imagen reproducida puede ser peor que con la repetición del cuadro. Aunque se ha observado que esta degradación es provocada por relativamente pocos pels que no se amoldan a la hipótesis del movimiento de translación, la colocación de estos pels en el lugar equivocado crea artefactos altamente visibles. Como se ilustra en técnica anterior de la figura 1, en MCI, un cuadro faltante 108 se interpola con base en un cuadro actual reconstruido 102, un cuadro anterior almacenado 104, y un conjunto de vectores de movimiento transmitidos 106. El cuadro actual reconstruido 102 está compuesto por un conjunto de bloques no traslapados 150, 152, 154 y 156 asociados con un conjunto de vectores de movimiento transmitidos 106 que señalan los bloques correspondientes en el cuadro anterior almacenado 104. El cuadro interpolado 108 puede ser construido ya sea en una combinación lineal de píxeles correspondientes en cuadros actuales y previos; o una operación no lineal tal como una operación intermedia. Aungue el MCI es más avanzado, el MCI basado en bloques introduce regiones traslapadas, las cuales son áreas que tienen trayectorias de movimiento múltiple que pasan a través de éste; y regiones de agujero, las cuales son áreas que no tienen trayectoria de movimiento que pase a través de éste, las dos son indeseables en cuadros interpolados. Como se ilustra en la figura 2, un cuadro interpolado 202 contiene un área traslapada 206 y un área de agujero 204. Las razones principales para la generación de estos dos tipos de áreas indeseables son: 1. Los objetos en movimiento no están bajo un modelo de movimiento de translación rígido. 2. Los vectores de movimiento transmitido utilizados en MCI pueden no señalar las trayectorias de movimiento verdaderas debido a los algoritmos de búsqueda de movimiento rápido basado en bloques utilizados en el lado del codificador. 3. El fondo cubierto y descubierto en los cuadros actual y previo. La interpolación de regiones traslapadas y de agujero es un reto técnico importante en enfoques de movimiento compensado convencional basado en bloques. Se han propuesto técnicas de interpolación espacial y borrado intermedio para llenar estas regiones traslapadas y de agujero. Sin embargo, las desventajas de estos métodos son la introducción de artefactos borrosos y de bloqueo, y también un incremento en la complejidad de operaciones de interpolación . La asignación adecuada de vector en movimiento es importante para el FRUC compensado de movimiento como se necesita para los cuadros interpolados en FRUC compensado de movimiento. Además, la asignación adecuada de vector en movimiento es útil en cualquier aplicación en donde se necesita la compensación de movimiento adecuada con base en la asignación de vector en movimiento. Por consiguiente, existe la necesidad de superar los temas tratados anteriormente.
SUMARIO DE LA INVENCIÓN Las modalidades aquí descritas proporcionan un proceso de asignación de vector en movimiento para cuadros que se van a interpolar teniendo áreas traslapadas y de agujero. En una modalidad, se describe un método para el procesamiento de una pluralidad de vectores de movimiento para un cuadro de video que se va a interpolar utilizando un primer cuadro de referencia y un segundo cuadro de referencia, cada cuadro de referencia tiene un mapa de contenido. El método incluye dividir del cuadro de video que se va a interpretar en una pluralidad de áreas; determinar un número de vectores de movimiento que pasan a través de un área con base en los mapas de contenido del primer y segundo cuadro de referencia; y asignar un vector en movimiento para el área uno con base en el número de vectores de movimiento que pasan a través del área uno. En otra modalidad, se describe un medio legible por computadora que tiene instrucciones almacenadas en éste para provocar que una computadora lleve a cabo un método para el procesamiento de una pluralidad de vectores de movimiento para un cuadro de video que se va a interpolar utilizando un primer cuadro de referencia y un segundo cuadro de referencia, cada cuadro de referencia tiene un mapa de contenido. El método incluye dividir el cuadro de video que se va a interpretar en una pluralidad de áreas; determinar un número de vectores de movimiento que pasan a través de un área con base en los mapas de contenido del primer cuadro de referencia y el segundo cuadro de referencia; y asignar un vector en movimiento para el área uno con base en el número de vectores de movimiento que pasan a través del área uno. En otra modalidad todavía, se describe un aparato para el procesamiento de una pluralidad de vectores de movimiento para un cuadro de video que se va a interpolar utilizando un primer cuadro de referencia y un segundo cuadro de referencia, cada cuadro de referencia tiene un mapa de contenido. El aparato incluye medios para dividir el cuadro de video que se va a interpretar en una pluralidad de áreas; medios para determinar un número de vectores de movimiento que pasan a través de un área con base en los mapas de contenido del primer cuadro de referencia y el segundo cuadro de referencia; y medios para asignar un vector en movimiento para el área uno con base en el número de vectores de movimiento que pasan a través del área uno. En otra modalidad todavía, se describe por lo menos un procesador configurado para ejecutar un método para el procesamiento de una pluralidad de vectores de movimiento para un cuadro de video que se va a interpolar utilizando un primer cuadro de referencia y un segundo cuadro de referencia, cada cuadro de referencia tiene un mapa de contenido. El método incluye dividir el cuadro de video que se va a interpretar en una pluralidad de áreas; determinar un número de vectores de movimiento que pasan a través de un área con base en los mapas de contenido del primer cuadro de referencia y el segundo cuadro de referencia; y asignar un vector en movimiento para el área uno con base en el número de vectores de movimiento que pasan a través del área uno. Otros objetivos, características y ventajas serán aparentes para aquellos expertos en la técnica a partir de la siguiente descripción detallada. Sin embargo, se debe entender que la descripción detallada y los ejemplos específicos, aunque indican modalidades ejemplares, son presentados a manera de ilustración y no de limitación. Se pueden realizar muchos cambios y modificaciones dentro del alcance de la siguiente descripción sin apartarse del espíritu de la misma, y se debe entender la descripción para incluir todas estas variaciones.
BREVE DESCRIPCIÓN DE LAS FIGURAS Las modalidades aquí descritas pueden ser entendidas con mayor facilidad al referirse a las figuras anexas en las cuales: La figura 1 ilustra la construcción de un cuadro interpolado que utiliza la interpolación de compensación de movimiento (MCI) ; La figura 2 ilustra las regiones de traslape y de agujeros que pueden ser encontradas en un cuadro interpolado durante la MCI; La figura 3 es un diagrama en bloques para un sistema FRUC para llevar a cabo la asignación de vector en movimiento; La figura 4 es un diagrama en bloques de un subsistema de extracción de vector en movimiento de un sistema de vector en movimiento; La figura 5 es un diagrama en bloques que ilustra una perspectiva general de un método para la asignación del vector en movimiento para regiones bloque de agujero y traslapadas; La figura 6 es un diagrama de flujo que ilustra una operación del sistema FRUC para la asignación de vector en movimiento para regiones bloque de agujero y traslapadas; La figura 7 es una figura que ilustra las diversas clases de contenido asignadas a los elementos gráficos dentro de un cuadro de video; y, La figura 8 es un diagrama de flujo que ilustra una operación del sistema FRUC para la asignación del vector en movimiento para regiones de píxel de agujero y traslapadas; y, La figura 9 es un diagrama en bloques de una terminal de acceso y un punto de acceso de un sistema inalámbrico. Los números similares se refieren a partes similares en las diversas vistas de las figuras.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN Las modalidades aquí descritas proveen aparatos y métodos de asignación de vector en movimiento que soportan variaciones basadas en el tamaño de bloque, basadas en el bloque, y basadas en píxel variables en la asignación del vector en movimiento. Los aparatos y métodos de asignación de vector en movimiento aquí descritos ayudan en la creación de cuadros interpolados, también denominados como "cuadros F", con mayor calidad en, por ejemplo, un proceso tal como un proceso (FRUC) de conversión mejorada de cuadro. Se utiliza información complementaria contenida en los datos de video decodificados como entradas para el proceso de asignación de vector en movimiento. La información complementaria puede incluir, por ejemplo, una descripción del tipo de elementos gráficos que forman cada cuadro, referida previamente como "mapas de contenido", así como una descripción de la complejidad y movimiento de los elementos, referidos previamente como "mapas de complejidad" y "mapas de actividad", respectivamente. La asignación de vector en movimiento aquí descrita se enfoca en estos problemas encontrados durante la creación de cuadros interpolados como áreas de agujero y traslapadas, las cuales son indeseables en cuadros interpolados. La figura 3 ilustra un sistema FRUC 300 que puede llevar a cabo la asignación de vector en movimiento para cuadros F, también referidos previamente como cuadros que van-a-ser-interpolados, en donde el sistema FRUC 300 recibe una corriente de bits de entrada 302 y utiliza un módulo de decodificador binario 306 para extractar: (1) un conjunto de vectores de movimiento 308, el cual es colocado en una memoria intermedia de vector en movimiento almacenado 316; y, (2) un residuo 310. El residuo 310 es ingresado en una cuantificación inversa/módulo de transformación inversa 312, cuyo resultado se combina con un cuadro previo almacenado en una memoria intermedia de cuadro previo almacenado 318 para generar un cuadro actual. El cuadro actual es almacenado en una memoria intermedia de cuadro actual 320. Una sub-porción 350 del sistema FRUC 300, que incluye una memoria intermedia de vector en movimiento almacenado 316, memoria intermedia de cuadro almacenado 318, y memoria intermedia de cuadro actual 320, contiene los módulos funcionales específicos para llevar a cabo la asignación de vector en movimiento de acuerdo con una modalidad ejemplar, como se describe aquí. De manera específica, la sub-porción 350 incluye un procesador de vector en movimiento 322, un módulo de estimación de movimiento bidireccíonal sembrado 324, un segundo procesador de vector en movimiento 326, un módulo de decisión de modo 328, un módulo (FRUC) de convertidor mejorado de cuadro 330, y una unidad de procesamiento posterior 332. La operación del sistema FRUC 300 además se describe a continuación con relación a la descripción de las figuras. Además, un sistema de clasificación de contenido y extrapolación de vector en movimiento ejemplar que puede ser utilizado con el sistema aquí descrito, se describe en la solicitud copendiente No. , titulada "Método y Aparato para la Conversión Mejorada de Cuadro". [Fang Shi, Viji Raveendran. 15 de junio de 2004] .
Además, un proceso de alisado del vector en movimiento que puede ser utilizado con el sistema aquí descrito, se describe en la solicitud copendiente No. , titulada "Método y Aparato para el Procesamiento de Vector en Movimiento" [Fang Shi, Viji Raveendran] . Solicitud copendiente No. , titulada "Método y Aparato para la Conversión Mejorada de Cuadro Compensado de Movimiento." [040432], también proporciona otras modalidades ejemplares de los otros componentes del sistema FRUC 300 no descritos aquí de manera específica. Se debe tomar en cuenta que los módulos funcionales mostrados en la figura 3, en una modalidad, corresponden a los módulos específicos que se pueden ejecutar utilizando uno o más algoritmos de software. La operación de los algoritmos se describe a un alto nivel con suficiente detalle para permitir a aquellos expertos en la técnica que los lleven a cabo utilizando una combinación de enfoques de hardware y software. Por ejemplo, los componentes aquí descritos pueden ser puestos en práctica como software ejecutado en un procesador de propósito general; como circuitería de "cableado resistente" en un Circuito Integrado de Aplicación Específica (ASIC) ; o cualquier combinación de los mismos. Se debe tomar en cuenta que otros enfoques diversos para la ejecución de los módulos aquí descritos pueden ser utilizados y deben estar dentro del conocimiento de aquellos expertos en la técnica que practican en el amplio campo del procesamiento de imagen y video. Además, los conceptos inventivos aquí descritos pueden ser utilizados en sistemas de decodificador/codificador que cumplen con los estándares H.26x promulgados por la Unión Internacional de Telecomunicaciones, Sector de Estandarización de Telecomunicaciones (1TU-T) ; o con estándares MPEGx promulgados por el Grupo de Expertos En Imágenes en Movimiento, un grupo de trabajo de la Organización de Estandarización Internacional/Comisión Electrotécnica Internacional, Comité Técnico de Unión 1 (ISO/IEC JTCl) . Los estándares de codificación de video ITU-T se llaman recomendaciones, y se denotan con H.26x (por ejemplo, H.261, H.262, H.263 y H.264). Los estándares ISO/IEC se denotan con MPEG-x (por ejemplo, MPEG-1, MPEG-2 y MPEG-4) . Por ejemplo, múltiples cuadros de referencia y tamaño de bloque variable son características especiales requeridas para el estándar H264. En otras modalidades, los sistemas de decodificador/codificador en los cuales se utilizan los conceptos inventivos aquí descritos pueden ser patentados. En una modalidad, el sistema FRUC 300 se puede configurar con base en diferentes requisitos de complejidad. Por ejemplo, una configuración de alta complejidad puede incluir cuadro de referencia múltiple; tamaños de bloques variables, extrapolación de vector en movimiento de cuadro de referencia previo con modelos de aceleración de movimiento; y, alisado de campo de movimiento doble asistido de estimación de movimiento. En contraste, una configuración de baja complejidad puede solo incluir un cuadro de referencia sencillo; tamaños de bloques fijos; e interpolación compensada de movimiento con alisado de campo de movimiento. También son válidas otras configuraciones para diferentes aplicaciones. El sistema 300 recibe la entrada desde una pluralidad de unidades de almacenamiento de datos en un subsistema de datos 400 utilizado para almacenar y extractar información acerca de los cuadros de video utilizados en el procesamiento. Como se ilustra en la figura 4, estas unidades de almacenamiento incluyen una unidad de almacenamiento de mapas de contenido de cuadros previos múltiples (MAPA DE CONTENIDO F_PREV MÚLTIPLE) 402; unidad de almacenamiento de campos de movimiento extrapolado de cuadros previos múltiples (CAMPOS DE MOVIMIENTO F_PREV MÚLTIPLES EXTRAPOLADOS) 404; una unidad de almacenamiento de mapas de contenido de cuadros previos simples (CAMPO DE MOVIMIENTO F_PREV EXTRAPLADO) 408. Un módulo controlador de modo de cuadro de referencia múltiple 414 acopla las unidades de almacenamiento adecuadas a la siguiente etapa de entrada dependiendo de que el sistema 300 esté operando en un modo que utilice cuadros de referencia múltiple. De manera específica, cuando el sistema 300 utiliza cuadros de referencia previa múltiple, se toman las entradas desde la unidad de almacenamiento de mapas de contenido de cuadros previos 402 y la unidad de almacenamiento de campos de movimiento extrapolado de cuadros previos múltiples 404. Para el modo de operación de cuadro de referencia previa sencilla, se toman las entradas desde la unidad de almacenamiento de mapa de contenido de cuadro previo sencillo 406 y la unidad de almacenamiento de campo de movimiento extrapolado de cuadro previo sencilla 408. Aunque la figura ilustra el uso de dos conjuntos diferentes de unidades de almacenamiento para almacenar mapas de contenido y campos de movimiento, un conjunto para el que se utilizan cuadros de referencia múltiple (es decir, unidad de almacenamiento de mapas de contenido de cuadros previos múltiples 402 y unidad de almacenamiento de campos de movimiento extrapolado de cuadros previos múltiples 404) y otro para el que se utiliza un cuadro de referencia sencillo (por ejemplo, unidad de almacenamiento de mapas de contenido de cuadro previo sencillo 406 y unidad de almacenamiento de campo de movimiento extrapolado de cuadro previo sencillo 408), se debe tomar en cuenta que son posibles otras configuraciones. Por ejemplo, la funcionalidad de las dos unidades de almacenamiento de mapa de contenido diferentes se pueden combinar de tal modo que una unidad de almacenamiento se puede utilizar para almacenar los mapas de contenido para cuadros múltiples o un mapa de contenido sencillo para un cuadro sencillo. Además, las unidades de almacenamiento también pueden almacenar datos para el cuadro actual. La salida desde el módulo controlador de modo de cuadro de referencia múltiple 414 así como la unidad de almacenamiento de campo de movimiento de cuadro actual (CAMPO DE MOVIMIENTO F_CURR) 410 y una unidad de almacenamiento de mapa de contenido de cuadro actual (MAPA DE CONTENIDO F_CURR) 412 se alimentan en una unidad de extrapolación de vector en movimiento 416. La unidad de extrapolación de vector en movimiento 416 extrae los vectores de movimiento así como la información complementaria utilizada para el procesamiento del vector en movimiento en el sistema 300, como se describe aquí. Así, los vectores en movimiento de entrada utilizados en el sistema 300 pueden provenir del cuadro actual, o pueden provenir tanto del cuadro actual como dé uno o más de los cuadros previamente decodificados. Además, la otra entrada al sistema 300 es información de banda lateral proveniente de los datos de cuadro decodificados, los cuales pueden incluir, pero no están limitados a, las regiones de interés, variaciones en información de textura, y variaciones en valores de fondo de luminancia. Esta información puede proporcionar guía para la clasificación de vector en movimiento y algoritmos de alisado adaptivo, como se describe posteriormente. La figura 5 ilustra una perspectiva general de un proceso de asignación de vector en movimiento ejemplar 500, el cual comienza con los mapas de contenido y vectores en movimiento para las cuadros de referencia utilizados para interpolar el cuadro F que se obtuvo en el paso 502. En una modalidad, en donde el proceso se lleva a cabo en un decodificador sobre un cliente, los mapas de contenido y los vectores en movimiento han sido transmitidos previamente desde un servidor, como se describió anteriormente. En otra modalidad, el mapa de contenido o vectores en movimiento pueden ser generados en el cliente. En el paso 504, cada bloque en el cuadro F (es decir, el cuadro que se va a interpolar) , también denominado como "bloque de cuadro F", "macrobloque de cuadro F", o "F_MB", están clasificados ya sea como áreas de agujero o áreas traslapadas. Como se describe posteriormente en este documento, para determinar si cada bloque en el cuadro F contiene un área de agujero o traslapada, el cuadro F primero se divide en una serie de bloques sin traslape. Después se determina si cualquier vector en movimiento que comienza y termina en los cuadros de referencia entre los cuales se localiza el cuadro F, pasa a través de cada bloque de no traslape en el cuadro F. Como se analizó previamente, las áreas traslapadas son regiones que tienen múltiples trayectorias de movimiento (es decir, múltiples -vectores de movimiento) que pasan a través de éstas, mientras que las áreas de agujero son regiones que no tienen trayectoria de movimiento que pasan a través de éstas (por ejemplo, vectores sin movimiento) . Por lo tanto, si un bloque en el cuadro F tiene múltiples vectores en movimiento que pasan a través de éste, se clasificará como si contuviera un área traslapada, también denominada en la presente invención como "bloque de área traslapada" o "área traslapada". Además, los múltiples vectores en movimiento que pasan a través de un bloque particular, lo cual provoca que el bloque sea un bloque de área traslapada, se denominarán un "conjunto de vectores traslapados en movimiento" para el bloque. Este conjunto de vectores traslapados en movimiento será sometidos a modificación, en donde ciertos vectores en movimiento pueden ser eliminados del conjunto de vectores traslapados en movimiento, como se describe a continuación, y el conjunto modificado de vectores en movimiento aquí se denominan como un "conjunto procesado de vectores traslapados en movimiento." En otra modalidad, el conjunto de vectores traslapados en movimiento sólo contienen vectores en movimiento que cumplen ciertos criterios, y por lo tanto serán iguales al conjunto procesado de vectores traslapados en movimiento. Si un bloque no tiene vectores en movimiento que pasen a través de éste, será clasificado como un área de agujero, también aquí denominado como un "bloque de área de agujero" o "área de agujero". En una modalidad, un bloque que tenga un vector sencillo en movimiento que pasa a través de éste, no será clasificado como si tuviera un área de agujero. En otra modalidad, estos tipos de bloques serán clasificados como un área traslapada. Una vez que los bloques han sido clasificados, el proceso continúa con el proceso de asignación de movimiento, el cual depende de la forma en la que se clasifica un bloque. En el paso 506 se determina si un bloque ha sido clasificado como un área de agujero. En caso de que así sea, entonces la operación continúa con el paso 514, en donde se lleva a cabo un proceso de asignación de vector en movimiento para áreas de agujero. De otro modo, la operación continúa con el paso 508, en donde se determina si solo un vector sencillo en movimiento pasa a través del bloque en el cuadro F. En caso de que así sea, la operación continúa con el paso 512, en donde ocurre un proceso de compensación de movimiento estándar con base en el vector sencillo en movimiento. En caso de que el bloque haya sido clasificado como un área traslapada, la operación continúa con el paso 510, en donde se lleva a cabo un proceso de asignación de vector en movimiento para áreas traslapadas. La figura 6 ilustra un proceso de asignación de vector en movimiento ejemplar, en donde el proceso de asignación de vector en movimiento general descrito con referencia a la figura 5, se aplica a la operación del sistema FRUC 300 para llevar a cabo la asignación del vector en movimiento para bloques de agujero y traslapados, en donde el sistema empieza por dividir primero un cuadro F, en este caso, un cuadro que va a ser interpretado, en macrobloques no traslapados (MB) y asignar las clasificaciones de área de agujero o área traslapada a estos bloques en el paso 602. En un sistema de tamaño de bloque fijo, se debe dividir un cuadro en bloques de un tamaño fijo. Como se describe aquí, un macrobloque (MB) se refiere a un bloque de tamaño 16x16. Sin embargo, la descripción en la presente invención se puede aplicar a otros tamaños de bloques. Además, en un sistema que soporta tamaños de bloques variables, un cuadro puede ser dividido en bloques que tengan diferentes tamaños y formas. Para codees de video que soportan tamaños de bloques variables, el sistema 300 también puede llevar a cabo la asignación de vector en movimiento para los vectores en movimiento asociados con estos bloques. Un estándar como éste es el estándar H.264, como se mencionó anteriormente, el cual soporta tamaños de bloques de 16x16, 16x8, 8x16, 8x8, 4x8, y 4x4. Una vez que se ha dividido el cuadro F, los bloques son clasificados como áreas de agujero o traslapadas de una forma que se analizó anteriormente, en donde todos los vectores en movimiento que pertenecen a un bloque de área traslapada están agrupados en conjuntos respectivos, la operación continúa con el bloque 604, en donde el sistema FRUC 300 determina si los mapas de contenido existen para los cuadros de referencia. Es importante para el contenido en un cuadro que sea clasificado como parte del proceso de asignación de vector en movimiento aquí descrito. Con base en los metadatos de corriente de video recibida (por ejemplo, vectores en movimiento transmitidos) y los datos decodificados (es decir, valores de píxel de cuadro reconstruidos), el contenido en un cuadro puede ser clasificado en los siguientes tipos de clases: 1. fondo estático (SB) ; 2. objeto en movimiento (MO) ; 3. objeto de aparición (AO) ; 4. objeto de desaparición (DO); y, 5. bordes (EDGE) . Por lo tanto, el tipo de clase de la región del cuadro hacia el cual está señalando el vector actual en movimiento, es decir, el macrobloque o bloque, es analizado y afectará el procesamiento de las cuadros que se van a interpolar. La introducción de la clase EDGE a la clasificación de contenido añade una clase adicional de clasificación de contenido y proporciona una mejoría en el proceso FRUC, como aquí se describe. La figura 7 proporciona una ilustración de las diferentes clases de píxeles o regiones, incluyendo un objeto en movimiento (MO) 708, un objeto de aparición (AO) 704, un objeto de desaparición (DO) 710, un fondo estático (SB) 702 y clases EDGE 706 para MCI, donde un conjunto de flechas 712 denotan la trayectoria de movimiento de los píxeles en los tres cuadros ilustrados: Cuadro (t-l), Cuadro (t) (Cuadro F) y Cuadro (t+1) . De manera específica, en el contexto de MCI, cada píxel o región dentro de cada cuadro de video puede ser clasificado en una de las cinco clases antes mencionadas y un vector en movimiento asociado puede ser procesado en una forma particular con base en una comparación del cambio (en caso de que exista) de la información del tipo de clase, como se describe posteriormente. Además, las cinco clasificaciones de contenido antes mencionadas pueden ser agrupadas en tres clases menos restringidas cuando las diferencias entre las clases SB, AO y DO son menores: 1. SB 702, AO 704, DO 710; 2. MO 708; y, 3. EDGE 706. En una modalidad, se utilizan dos enfoques diferentes para realizar la clasificación del contenido de DO 710, SB 702, AO 704 y MO 708, cada uno basado en complejidades computacionales diferentes. En el enfoque de baja complejidad, por ejemplo, se pueden utilizar las siguientes fórmulas para clasificar el contenido: Qc=abs (Fc[yn] [xn]-Fp[yn] [xn] ) ; Qp=abs (Fc [yn] [xn] -Fpp [yn] [xn] ) ; Qc= (QOumbral) ; y, Qp= (Qp>umbral) ; en donde : yn y xn son las posiciones de coordenadas y y x del píxel; Fc es el valor de píxel del cuadro actual; Fp es el valor de píxel del cuadro anterior; Fpp es el valor de píxel del cuadro anterior al anterior; Qc es la diferencia de valor de píxel absoluto entre los píxeles colocados (localizados en [yn] [xn] ) en cuadros previos y actuales; y, Qp es la diferencia de valor de píxel absoluto entre los píxeles colocados (localizados en [yn] [xn] en cuadros anteriores de las anteriores y anteriores; Y: Si (Qc && Qp) entonces clasificar como objeto en movimiento; además si (¡Qc && !Qp) entonces clasificar como fondo estacionario; además si (Qc && !Qp) entonces clasificar como objeto de desaparición; además si ( ¡ Qc && Qp) entonces clasificar como objeto de aparición. En el enfoque de alta complejidad, por ejemplo, la clasificación está basada en la segmentación del objeto y en operaciones morfológicas, donde la clasificación de contenido es llevada a cabo mediante el trazado del movimiento del objeto segmentado. Por lo tanto: 1. llevar a cabo la segmentación del objeto en el campo de movimiento; 2. trazar el movimiento del objeto segmentado "(por ejemplo, mediante operaciones morfológicas) ; y, 3. marcar el objeto como SB, AO, DO, y MO, respectivamente . En el paso 606, después que se determina que existen mapas de contenido para las cuadros de referencia, el sistema FRUC eliminará, para cada macrobloque de área traslapada en el cuadro F, cualquier vector en movimiento desde el conjunto de vectores traslapados en movimiento que pertenecen al bloque de área traslapada que comienza desde o termina con diferentes clases de contenido. De manera específica, mediante el uso del mapa de contenido de cada cuadro de referencia para determinar el tipo de contenido de cada macrobloque en ese cuadro de referencia, en donde cada macrobloque está clasificado para ser una de las clases de MO, SB, AO, DO y EDGE (o en tres clases en donde las diferencias entre las clases SB, AO y DO son menores) como se describió anteriormente, se puede determinar si cualquier vector en movimiento en el conjunto de vectores traslapados en movimiento (es decir, que han sido definidos previamente como todos los vectores en movimiento que pasan a través de un bloque de área traslapada) comienza y termina con macrobloques que tienen diferentes clases de contenido. Por ejemplo, un vector en movimiento que tiene su punto de inicio tocando un macrobloque en el cuadro (T+l) clasificado como un macrobloque MO, pero su punto de terminación tocando un macrobloque en el cuadro (T-l) clasificado como un macrobloque SB, sería dicho vector en movimiento. En una modalidad, cualquier vector en movimiento es eliminado del conjunto de vectores traslapados en movimiento en caso que dichos puntos de inicio y terminación del vector en movimiento pertenezcan a diferentes clases de contenido. Como se definió previamente, los vectores en movimiento que no han sido eliminados son el conjunto procesado de vectores en movimiento. Una vez que los vectores en movimiento, que tienen sus puntos de inicio y terminación asociados con los macrobloques clasificados en diferentes clases, han sido removidos del conjunto de vectores traslapados en movimiento y se ha creado el conjunto procesado de vectores en movimiento, la - operación continúa con el bloque de decisión 608, en donde se determina si el macrobloque al que se le va a asignar un vector en movimiento es un macrobloque de área traslapada.
Asignación de un Vector en Movimiento para MB traslapado En e'l paso 608, se determina si el conjunto procesado de vectores traslapados en movimiento para cada macrobloque contiene más de un vector traslapado en movimiento. En caso que así sea, entonces en una modalidad la operación continúa con el paso 616, en donde el vector (es) en movimiento que pasa a través del píxel central es utilizado en la asignación del vector en movimiento al macrobloque. En otra modalidad, como se observa en el paso 618, la asignación está basada en la determinación de la mayor parte del área cubierta. En otra modalidad todavía, como se observa en el paso 620, se asigna un vector en movimiento ponderado, el vector en movimiento ponderado se crea con base en la cobertura en el macrobloque de área traslapada. En otra modalidad todavía, como se observa en el paso 622, se asigna un vector intermedio en movimiento. Cada una de estas modalidades se describe a continuación.
Asignar un MV con base en el MV del pixel central En una modalidad, la asignación de vector en movimiento se basa en la determinación del vector en movimiento que pasa a través del píxel central del macrobloque. La secuencia incluye los siguientes pasos: 1.- comenzar con el MB actual (x/tamaño_bloque, y/tamaño_bloque) en el cuadro actual, en donde (x,y) es la ubicación del píxel central del macrobloque actual; 2.- calcular el vector actual en movimiento (dx, dy) del MB(x,y) 3.- graduar el vector en movimiento de manera proporcional, para el caso FRUC 1:2, en donde el cuadro F está exactamente entre el cuadro actual y el cuadro de referencia previo, es (dx/2, dy/2) 4. - el MB en el cuadro F, MB_f (x+dx/2) /tamaño_bloque, (y+dy/2) /tamaño_bloque) se le asignará el MV(dx/2, dy/2) 5.- en caso de que exista más de un MV asignado al mismo MB en el cuadro F, se llevará a cabo una operación intermedia o de ponderación para obtener el MV de sembrado final.
Asignar el MV con base en el MB que cubre la mayor parte del área: En otra modalidad, la asignación del vector en movimiento se basa en determinar el vector en movimiento con un macrobloque asociado que cubre la mayor parte del área del macrobloque del cuadro F. Los pasos son de la siguiente manera: 1.- MB actual (x/tamaño__bloque, y/tamaño__bloque) en el cuadro actual, en donde (x,y) es su ubicación de píxel central 2.- MV actual (dx, dy) del MB (x,y) 3.- graduar el MV de manera proporcional, para el caso FRUC 1:2, es (dx/2, dy/2) 4.- El MV(dx, dy) pasa a través del cuadro F, la ubicación de intersección en el cuadro F es (x+dx/2, y+dy/2) 5.- encontrar hasta cuatro MB en el cuadro F recubiertos con el MB centrado alrededor de (x+dx/2, y+dy/2) a. F_MB_1 (xl, yl) , en donde xl=((int) (x+dx/2) /tamaño_bloque) *tamaño_bloque + tamaño_bloque/2; yl= ( (int) (y+dy/2) /tamaño_bloque) *tamaño__bloque + tamaño__bloque/2; b. F_MB_2 (x2, y2); en donde x2=xl+tamaño__bloque; y2=yl; c. F_MB_3 (x3, y3) ; en donde x3=xl+tamaño_bloque; y3=yl+tamaño_bloque d. F_MB_4 (x4, y4); en donde x4=xl; y4=yl+tamaño_bloque; 6.- encontrar hasta cuatro áreas dentro de los cuatro F_MB cubiertos por el MB centrado alrededor de (x+dx/2, y+dy/2) , y asociados con todas las áreas calculadas con MV (dx/2, dy/2) a. Area_MB_l = (tamaño_bloque- (x+dx/2-xl) ) * (tamaño_bloque- (y+dy/2-yl) ) b. Area_MB_2 = (tamaño_bloque- (x+dx/2-x2) ) * (tamaño_bloque- (y+dy/2-y2) ) c. Area_MB_3 = (tamaño_bloque- (x+dx/2-x3) ) * (tamaño_bloque- (y+dy/2-y3) ) d. Area_MB_4 = (tamaño_bloque- (x+dx/2-x4) ) * (tamaño_bloque- (y+dy/2-y4) ) 7. - para cada F_MB en el cuadro F, elegir el MV el cual proporciona el área más grande.
Asignación MV de promedio ponderado En otra modalidad todavía, la asignación del vector en movimiento está basada en un promedio ponderado de los macrobloques que cubren el macrobloque. Los pasos son los siguientes: 1.- MB actual (x/tamaño_bloque, y/tamaño_bloque) en el cuadro actual, en donde (x,y) es su ubicación de píxel central 2.- MV actual (dx, dy) del MB (x,y) 3.- graduar el MV de manera proporcional, para el caso FRUC 1:2, es (dx/2, dy/2) 4 . - el MV(dx, dy) pasa a través del cuadro F, la ubicación de intersección en el cuadro F es (x+dx/2, y+dy/2) 5.- encontrar hasta cuatro MB en el cuadro F recubiertos con el MB centrado alrededor de (x+dx/2, y+dy/2) a. F_MB_1 (xl, yl) ; xl = ((int) (x+dx/2)/ tamaño_bloque) *tamaño_bloque+tamaño_bloque/2; yl= ((int) (y+dy/2) /tamaño_bloque) *tamaño_bloque+tamaño_bloque/2; b. F_MB_2 (x2, y2) ; x2=xl+tamaño_bloque; y2=yl; c. F_MB_3 (x3, y3) ; x3=xl+tamaño_bloque; y3=yl+tamaño_bloque d. F_MB_4 (x4, y4); x4=xl; y4=yl+tamaño_bloque; 6.- encontrar hasta cuatro áreas dentro de los cuatro F_MB cubiertos por el MB centrado alrededor de (x+dx/2, y+dy/2) , y asociado con todas las áreas calculadas con MV (dx/2, dy/2) a. Area_MB_l= (tamaño_bloque- (x+dx/2-xl) ) * (tamaño_bloque- (y+dy/2-yl) ) b. Area_MB_2=(tamaño_bloque- (x+dx/2-x2) ) * (tamaño_bloque- (y+dy/2-y2) ) c. Area_MB_3= (tamaño_bloque- (x+dx/2~x3) ) * (tamaño_bloque- (y+dy/2-y3) ) d. Area_MB_4= (tamaño_bloque- (x+dx/2-x4) ) * (tamaño_bloque- (y+dy/2-y4) ) 1 . - en caso de que los MV de N pasen a través de un F_MB, entonces asignar el MV ponderado al F_MB MV=w_l*MV1+w_2* V_2+...+w_N*MV_N en donde el w_i es el factor de ponderación: w_i=area_i/tamaño_bloque/tamaño_bloque . En el paso 268, en donde se ha determinado previamente en el paso 608 que el macrobloque del cuadro F no tiene ningún vector traslapado en movimiento, el sistema determina si el macrobloque del cuadro F tiene un vector sencillo en movimiento que pase a través de éste (por ejemplo, si existe solo un vector en movimiento en el conjunto procesado de vectores en movimiento) . En caso que así sea, la operación continúa con el paso 630, en donde se lleva a cabo una asignación de vector normal en movimiento. De otro modo, se determina que el macrobloque del cuadro F no tiene vectores en movimiento que pasan a través de éste y la operación continúa con el paso 622, en donde en una modalidad se asigna un vector en movimiento con un valor cero al macrobloque del cuadro F. En otra modalidad, como se observa en el paso 624, al macrobloque de cuadro F se le asigna un vector en movimiento que es un promedio de los vectores en movimiento disponibles que están próximos al macrobloque. En otra modalidad todavía, como se observa en el paso 626, al macrobloque de cuadro F se le asigna un vector en movimiento que es un intermedio de los vectores en movimiento disponibles que están próximos al macrobloque. Se debe tomar en cuenta que, aunque el proceso de asignación del vector en movimiento en la figura 6 comienza con el estudio de si el macrobloque del cuadro F es un macrobloque de área traslapada, se debe entender que el proceso aplica de igual forma en donde el macrobloque del cuadro F es un macrobloque de área de agujero o donde existe solo un vector en movimiento que pasa a través del macrobloque del cuadro F y dichos cambios al flujo de proceso están bien dentro de las capacidades de aquellos expertos en la técnica para ser ejecutados. La figura 8 ilustra un proceso de asignación de vector en movimiento basado en píxel, más que basado en bloque, para el sistema FRUC 300, en donde, similar al paso 604 de la figura 6, se determina en el paso 806 si los mapas de contenido existen para los cuadros de referencia. En caso de que así sea, entonces, similar al paso 606 de la figura 6, cualquier vector en movimiento que esté próximo que comience desde y termine en diferentes clases de contenidos son eliminados en el paso 808. Entonces la operación continúa con el paso 816, en donde se determina si el píxel está traslapado. En caso de que así sea, entonces la operación continúa con el paso 818, en donde un vector intermedio en movimiento, basado en una mediana de los vectores traslapados en movimiento que no han sido eliminados con base en los diferentes puntos de terminación de clase de contenido, es asignado al píxel. En otra modalidad, como se observa en el paso 820, un vector de movimiento promedio, basado en un promedio de los vectores traslapados en movimiento que no han sido eliminados con base en los diferentes puntos de terminación de clase de contenido, es asignado al píxel. En donde el píxel del cuadro F no es un área traslapada, entonces en el paso 828 se determina si un vector sencillo en movimiento pasa a través del píxel. En caso de que así sea, entonces la operación continúa con el paso 830, en donde el píxel es asignado con el vector en movimiento que pasa a través de éste. De otro modo, se determina que el píxel es un área de agujero y la operación continúa con el paso 822, en donde un vector intermedio en movimiento, basado en una mediana de vectores en movimiento próximos, se asigna al píxel. En otra modalidad, como se observa en el paso 820, un vector en movimiento promedio, basado en un promedio de los vectores en movimiento próximos, se asigna al píxel. Se debe tomar en cuenta que los vectores en movimiento próximos que pueden ser utilizados en la asignación de vector en movimiento promedio e intermedio pueden estar sujetos a eliminación con base en las diferentes clases de contenido de punto de inicio y terminación. La figura 9 muestra un diagrama en bloques de una terminal de acceso 902x y un punto de acceso 904x en un sistema inalámbrico. Una "terminal de acceso", como se menciona aquí, se refiere a un dispositivo que proporciona conectividad de datos y/o voz al usuario. La terminal de acceso puede ser conectada a un dispositivo de cómputo tal como una computadora portátil o computadora de escritorio, o puede ser un dispositivo auto contenido tal como un asistente digital personal. La terminal de acceso también puede ser denominada como una unidad de suscriptor, estación móvil, móvil, estación remota, terminal remota, terminal de usuario, agente de usuario, o equipo de usuario. La terminal de acceso puede ser una estación de suscriptor, dispositivo inalámbrico, teléfono celular, teléfono PCS, un teléfono inalámbrico, un teléfono de Protocolo de Iniciación de Sesión (SIP) , una estación de bucle local inalámbrico (WLL) , un asistente digital personal (PDA) , un dispositivo manual con capacidad de conexión inalámbrica, u otro dispositivo de procesamiento conectado a un módem inalámbrico. Un "punto de acceso", como se describe aquí, se refiere a un dispositivo en una red de acceso que se comunica sobre la interfaz de aire, a través de uno o más sectores, con las terminales de acceso. El punto de acceso actúa como un enrutador entre la terminal de acceso y el resto de la red de acceso, la cual puede incluir una red IP, mediante la conversión de cuadros de interfaz de aire recibidos a paquetes IP. El punto de acceso también coordina la administración de atributos para la interfaz de aire. Para el enlace inverso, en la terminal de acceso 902x, un procesador de datos (TX) de transmisión 914 recibe datos de tráfico desde una memoria intermedia de datos 912, procesa (por ejemplo, codifica, intercala y mapea en símbolos) cada paquete de datos con base en un esquema de modulación y codificación seleccionada, y proporciona símbolos de datos. Un símbolo de datos es un símbolo de modulación para datos, y un símbolo piloto es un símbolo de modulación para piloto (el cual se conoce a priori) . Un modulador 916 recibe los símbolos de datos, símbolos piloto, y posiblemente la señalización para enlace inverso, lleva a cabo (por ejemplo, OFDM) la modulación y/u otro procesamiento como lo especifica el sistema, y provee una corriente de chips de salida. Una unidad transmisora (TMTR) 918, procesa (por ejemplo, convierte a análogo, filtra, amplifica y sobreconvierte en frecuencia) la corriente de chips de salida y genera una señal modulada, la cual es transmitida desde una antena 920. En el punto de acceso 904x, las señales moduladas transmitidas por la terminal de acceso 902x y otras terminales en comunicación con el punto de acceso 904x son recibidas por una antena 952. Una unidad receptora (RCVR) 954 procesa (por ejemplo, acondiciona y digitaliza) la señal recibida desde la antena 952 y proporciona muestras recibidas. Un demodulador (Demod) 956 procesa (por ejemplo, desmodula y detecta) las muestras recibidas y proporciona símbolos de datos detectados, los cuales son estimaciones de ruido de los símbolos de datos transmitidos por las terminales al punto de acceso 904x. Un procesador de datos (RX) de recepción 958 procesa (por ejemplo, desmapea, desintercala y decodifica) los símbolos de datos detectados para cada terminal y proporciona datos decodificados para esa terminal. Para cada enlace de avance, el punto de acceso 904x, los datos de tráfico son procesados por un procesador de datos TX 960 para generar símbolos de datos. Un modulador 962 recibe los símbolos de datos, símbolos piloto, y la señalización para el enlace de avance, lleva a cabo (por ejemplo, OFDM) la modulación y/u otro procesamiento pertinente, y proporciona una corriente de chip de salida, la cual es acondicionada adicionalmente por una unidad transmisora 964 y transmitida desde la antena 952. La señalización de enlace de avance puede incluir comandos de control de potencia generados por un controlador 970 para todas las terminales que transmiten en el enlace inverso al punto de acceso 904x. En la terminal de acceso 902x, la señal modulada transmitida por el punto de acceso 904x es recibida por la antena 920, acondicionada y digitalizada por una unidad receptora 922, y procesada por un desmodulador 924 para obtener símbolos de datos detectados. Un procesador de datos RX 926 procesa los símbolos de datos detectados y proporciona datos decodificados para la terminal y la señalización de enlace de avance. El controlador 930 recibe los comandos de control de potencia, y controla la transmisión de datos y transmite potencia en el enlace inverso al punto de acceso 904x. Los controladores 930 y 970 dirigen la operación de la terminal de acceso 902x y el punto de acceso 904x, respectivamente. Las unidades de memoria 932 y 972 almacenan datos y códigos de programas utilizados por los controladores 930 y 970, respectivamente. Las modalidades descritas se pueden aplicar a cualquiera de las combinaciones de las siguientes tecnologías: sistemas de Acceso Múltiple por División de Código (CDMA) , CDMA de portadora múltiple (MC-CDMA) , CDMA de banda ancha (W-CDMA) , Acceso de Paquetes de Enlace Descendente de Alta Velocidad (HSDPA) , sistemas de Acceso Múltiple por División de Tiempo (TDMA) , sistemas de Acceso Múltiple por División de Frecuencia (FDMA) y sistemas de Acceso Múltiple por División de Frecuencia Ortogonal (OFDMA) . Los pasos de un método o algoritmo descrito en relación con las modalidades aquí descritas pueden ser incluidos directamente en un módulo de software, hardware ejecutado por un procesador, o en una combinación de los dos. Un módulo de software puede residir en la memoria RAM, memoria instantánea, memoria ROM, memoria EPROM, memoria EEPROM, registradores, un disco duro, un disco removible, un CD-ROM, o cualquier otra forma de medio de almacenamiento conocido en la técnica. Un medio de almacenamiento ejemplar se acopla al procesador, de tal forma que el procesador puede leer información desde, y escribir información al medio de almacenamiento. En la alternativa, el medio de almacenamiento puede ser parte integral del procesador. El procesador y el medio de almacenamiento pueden residir en un ASIC. El ASIC puede residir en una terminal de usuario. En la alternativa, el procesador y el medio de almacenamiento pueden residir como componentes discretos en una terminal de usuario. Se debe tomar en cuenta que los métodos aquí descritos pueden ser ejecutados en una variedad de hardware de comunicación, sistemas y procesadores conocidos por aquellos expertos en la técnica. Por ejemplo, el requisito general para que el cliente opere como aquí se describe es que el cliente tenga una pantalla para desplegar contenido e información, un procesador para controlar la operación del cliente y una memoria para almacenar datos y programas relacionados con la operación del cliente. En una modalidad, el cliente es un teléfono celular. En otra modalidad, el cliente es una computadora manual que tiene capacidades de comunicación. En otra modalidad todavía, el cliente es una computadora personal que tiene capacidades de comunicación. Además, el hardware, tal como un receptor GPS, se puede incorporar en la medida que sea necesario en el cliente para llevar a cabo las diversas modalidades aquí descritas. Las diversas lógicas ilustrativas, bloques lógicos, módulos y circuitos descritos en relación con las modalidades aquí descritas se pueden ejecutar o llevar a cabo con un procesador de propósito general, un procesador de señal digital (DSP) , un circuito integrado de aplicación específica (ASIC) , un arreglo de compuerta programable en campo (FPGA) • u otro dispositivo lógico programable, compuerta discreta o lógico de transistor, componentes discretos de hardware, o cualquiera combinación de los mismos diseñada para llevar a cabo las funciones aquí descritas. Un procesador de propósito general puede ser un microprocesador, pero, en la alternativa, el procesador puede ser cualquier procesador convencional, controlador, microcontrolador, o máquina de estado. Un procesador también puede ser ejecutado como una combinación de dispositivos de cómputo, por ejemplo, una combinación de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores junto con un DSP núcleo, o cualquier otra configuración. Las diversas lógicas ilustrativas, bloques lógicos, módulos y circuitos aquí descritos en relación con las modalidades aquí descritas, se pueden ejecutar o llevar a cabo con un procesador de propósito general, un procesador de señal digital (DSP) , un circuito integrado de aplicación específica (ASIC) , un arreglo de compuerta de campo programable (FPGA) u otro dispositivo lógico programable, compuerta discreta o lógico de transistor, componentes discretos de hardware, o cualquier combinación de los mismos diseñada para llevar a cabo las funciones aquí descritas. Un procesador de propósito general puede ser un microprocesador, pero, en la alternativa, el procesador puede ser cualquier procesador convencional, controlador, microcontrolador, o máquina de estado. Un procesador también puede ser ejecutado como una combinación de dispositivos de cómputo, por ejemplo, una combinación de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores junto con un DSP núcleo, o cualquier otra configuración. Las modalidades descritas anteriormente son modalidades ejemplares. Aquellos expertos en la técnica quizá hagan ahora numerosos usos de, y salidas desde, las modalidades anteriormente descritas sin apartarse de los conceptos de inventiva aquí descritos. Diversas modificaciones a estas modalidades pueden ser fácilmente aparentes para aquellos expertos en la técnica, y los principios genéricos aquí definidos se pueden aplicar a otras modalidades, por ejemplo, en un servicio instantáneo de mensaje o cualquier aplicación de comunicación de datos inalámbrica general, sin apartarse del espíritu o alcance de los aspectos novedosos aquí descritos. Por lo tanto, el alcance de los aspectos novedosos de las modalidades no pretende limitarse a las modalidades aquí mostradas, sino que se le acordará el alcance más amplio consistente con los principios y características novedosas aquí descritas. La palabra "ejemplar" se utiliza de manera exclusiva aquí para decir "que sirve como ejemplo, caso o ilustración." Cualquier modalidad aquí descrita como "ejemplar" no es necesariamente para ser interpretada como preferida o ventajosa sobre otras modalidades. Por consiguiente, el alcance de los aspectos novedosos de las modalidades quedará definido únicamente por el alcance de las siguientes reivindicaciones.

Claims (60)

NOVEDAD DE LA INVENCIÓN Habiendo descrito el presente invento, se considera como una novedad y, por lo tanto, se reclama como prioridad lo contenido en las siguientes: REIVINDICACIONES
1.- Un método para el procesamiento de una pluralidad de vectores en movimiento para un cuadro de video que se va a interpolar utilizando un primer cuadro de referencia y un segundo cuadro de referencia, cada cuadro de referencia tiene un mapa de contenido, el método comprende : dividir el cuadro de video que se va a interpretar en una pluralidad de áreas; determinar un número de vectores en movimiento que pasan a través de un área de la pluralidad de áreas con base en los mapas de contenido del primer cuadro de referencia y el segundo cuadro de referencia; y generar un vector en movimiento para asignar al área con base en el número de vectores en movimiento que pasan a través del área.
2. - El método de conformidad con la reivindicación 1, caracterizado porque la división del cuadro de video que se va a interpretar en la pluralidad de áreas comprende la división del cuadro de video que se va a interpretar en una pluralidad de áreas no traslapadas.
3 . - El método de conformidad con la reivindicación 1, caracterizado porque la división del cuadro de video que se va a interpretar en la pluralidad de áreas comprende la división del cuadro de video que se va a interpretar en una pluralidad de áreas traslapadas.
4. - El método de conformidad con la reivindicación 1, caracterizado porque la generación del vector en movimiento para el área con base en el número de vectores en movimiento que pasan a través del área, comprende la selección de uno del número de vectores en movimiento que pasan a través del área.
5. - El método de conformidad con la reivindicación 1, caracterizado porque la división del cuadro de video que se va a interpretar en la pluralidad de áreas comprende la división del cuadro de video que se va a interpretar en una pluralidad de áreas de un tamaño fijo.
6.- El método de conformidad con la reivindicación 1, caracterizado porque la división del cuadro de video que se va a interpretar en la pluralidad de áreas comprende la división del cuadro de video que se va a interpretar en una pluralidad de áreas de diferentes tamaños.
7.- El método de conformidad con la reivindicación 1, caracterizado porque la división del cuadro de video que se va a interpretar en la pluralidad de áreas comprende la división del cuadro de video que se va a interpretar en una pluralidad de píxeles.
8.- El método de conformidad con la reivindicación 1, caracterizado porque la determinación del número de vectores en movimiento que pasan a través del área de la pluralidad de áreas con base en los mapas de contenido del primer cuadro de referencia y el segundo cuadro de referencia comprende: para cada vector en movimiento que pasa a través del área: determinar una clase de contenido de punto de inicio del vector en movimiento y una clase de contenido de punto final del vector en movimiento; comparar la clase de contenido de punto de inicio del vector en movimiento y la clase de contenido de punto final del vector en movimiento; y remover el vector en movimiento para que no sea considerado en el número de vectores en movimiento que pasan a través del área en caso que, la clase de contenido de punto de inicio del vector en movimiento y la clase de contenido de punto final del vector en movimiento sean diferentes.
9.- El método de conformidad con la reivindicación 1, caracterizado porque la generación del vector en movimiento para asignar al área con base en el número de vectores en movimiento que pasan a través del área comprende la asignación del área con un vector en movimiento seleccionado de un grupo que consiste de: (i) un vector en movimiento cero, (ii) un promedio de cualesquiera vectores próximos en movimiento disponibles, y (iii) un intermedio de cualesquiera vectores próximos en movimiento disponibles; en caso que el número de vectores en movimiento que pasan a través del área sea cero.
10.- El método de conformidad con la reivindicación 1, caracterizado porque la generación del vector en movimiento para asignación al área con base en el número de vectores en movimiento que pasan a través del área uno comprende la asignación al área de un vector en movimiento seleccionado de un grupo que consiste de: (i) un vector en movimiento de píxel central, (ii) un vector en movimiento de área cubierta en su mayoría, (iii) un vector en movimiento ponderado, y (iv) un vector en movimiento intermedio, en caso de que el número de vectores en movimiento que pasan a través del área sea mayor que uno.
11.- El método de conformidad con la reivindicación 1, caracterizado porque el mapa de contenido comprende una pluralidad de clases de contenido.
12.- El método" de conformidad con la reivindicación 11, caracterizado porque la pluralidad de clases de contenido comprende una clase de contenido d fondo .
13.- El método de conformidad con la reivindicación 12, caracterizado porque la clase de fondo comprende una clase de objeto de aparición, una clase de objeto de desaparición y una clase de fondo estático.
14.- El método de conformidad con la reivindicación 11, caracterizado porque la pluralidad de clases de contenido comprende una clase de contenido de objeto en movimiento.
15.- El método de conformidad con la reivindicación 11, caracterizado porque la pluralidad de clases de contenido comprende una clase de contenido de borde.
16.- Un medio legible por computadora que tiene instrucciones almacenadas en el mismo para provocar que una computadora lleve a cabo un método para el procesamiento de una pluralidad de vectores en movimiento para un cuadro de video que se va a interpolar utilizando un primer cuadro de referencia y un segundo cuadro de referencia, cada cuadro de referencia tiene un mapa de contenido, el método comprende : dividir el cuadro de video que se va a interpretar en una pluralidad de áreas; determinar un número de vectores en movimiento que pasan a través de un área de la pluralidad de áreas con base en los mapas de contenido del primer cuadro de referencia y el segundo cuadro de referencia; y generar un vector en movimiento para asignar al área con base en el número de vectores en movimiento que pasan a través del área.
17.- El medio legible por computadora de conformidad con la reivindicación 16, caracterizado porque la división del cuadro de video que se va a interpretar en una pluralidad de áreas comprende la división del cuadro de video que se va a interpretar en una pluralidad de áreas no traslapadas .
18.- El medio legible por computadora de conformidad con la reivindicación 16, caracterizado porque la división del cuadro de video que se va a interpretar en la pluralidad de áreas comprende la división del cuadro de video que se va a interpretar en una pluralidad de áreas traslapadas.
19.- El medio legible por computadora de conformidad con la reivindicación 16, caracterizado porque la generación del vector en movimiento para el área con base en el número de vectores en movimiento que pasan a través del área, comprende la selección de uno del número de vectores en movimiento que pasan a través del área.
20.- El medio legible por computadora de conformidad con la reivindicación 16, caracterizado porque la división del cuadro de video que se va a interpretar en la pluralidad de áreas comprende la división del cuadro de video que se va a interpretar en una pluralidad de áreas de un tamaño fijo.
21.- El medio legible por computadora de conformidad con la reivindicación 16, caracterizado porque la división del cuadro de video que se va a interpretar en la pluralidad de áreas comprende la división del cuadro de video que se va a interpretar en una pluralidad de áreas de diferentes tamaños.
22.- El medio legible por computadora de conformidad con la reivindicación 16, caracterizado porque la división del cuadro de video que se va a interpretar en la pluralidad de áreas comprende la división del cuadro de video que se va a interpretar en una pluralidad de píxeles.
23.- El medio legible por computadora de conformidad con la reivindicación 16, caracterizado porque la determinación del número de vectores en movimiento que pasan a través del área de la pluralidad de áreas con base en los mapas de contenido del primer cuadro de referencia y el segundo cuadro de referencia comprende: para cada vector en movimiento que pasa a través del área: determinar una clase de contenido de punto de inicio del vector en movimiento y una clase de contenido de punto final del vector en movimiento; comparar la clase de contenido de punto de inicio del vector en movimiento y la clase de contenido de punto final del vector en movimiento; y remover 'el vector en movimiento para que no sea considerado en el número de vectores en movimiento que pasan a través del área en caso de que la clase de contenido de punto de inicio del vector en movimiento y la clase de contenido de punto final del vector en movimiento sean diferentes.
24.- El medio legible por computadora de conformidad con la reivindicación 16, caracterizado porque la generación del vector en movimiento para asignación al área con base en el número de vectores en movimiento que pasan a través del área comprende la asignación al área de un vector en movimiento seleccionado de un grupo que consiste de: (i) un vector en movimiento cero, (ii) un promedio de cualesquiera vectores próximos en movimiento disponibles, y (iii) un intermedio de cualesquiera vectores próximos en movimiento disponibles; si el número de vectores en movimiento que pasan a través del área uno es cero.
25.- El medio legible por computadora de conformidad con la reivindicación 16, caracterizado porque la generación del vector en movimiento para asignación al área con base en el número de vectores en movimiento que pasan a través del área comprende la asignación al área de un vector en movimiento seleccionado de un grupo que consiste de: (i) un vector en movimiento de píxel central, (ii) un vector en movimiento de área cubierta en su mayoría, (iii) un vector en movimiento ponderado, y (iv) un vector en movimiento intermedio, si el número de vectores en movimiento que pasan a través del área es mayor que uno.
26.- El medio legible por computadora de conformidad con la reivindicación 16, caracterizado porque el mapa de contenido comprende una pluralidad de clases de contenido.
27.- El medio legible por computadora de conformidad con la reivindicación 26, caracterizado porque la pluralidad de clases de contenido comprende una clase de contenido de fondo.
28.- El medio legible por computadora de conformidad con la reivindicación 27, caracterizado porque la clase de fondo comprende una clase de objeto de aparición, una clase de objeto de desaparición y una clase de fondo estático.
29.- El medio legible por computadora de conformidad con la reivindicación 26, caracterizado porque la pluralidad de clases de contenido comprende una clase de contenido de objeto en movimiento.
30.- El medio legible por computadora de conformidad con la reivindicación 26, caracterizado porque la pluralidad de clases de contenido comprende una clase de contenido de borde.
31.- Un aparato para el procesamiento de una pluralidad de vectores en movimiento para un cuadro de video que se va a interpolar utilizando un primer cuadro de referencia y un segundo cuadro de referencia, cada cuadro de referencia tiene un mapa de contenido, que comprende: medios para dividir el cuadro de video que se va a interpretar en una pluralidad de áreas; medios para determinar un número de vectores en movimiento que pasan a través de un área de la pluralidad de áreas con base en los mapas de contenido del primer cuadro de referencia y el segundo cuadro de referencia; y medios para generar un vector en movimiento para asignación al área con base en el número de vectores en movimiento que pasan a través del área.
32.- El aparato de conformidad con la reivindicación 31, caracterizado porque los medios para la división del cuadro de video que se va a interpretar en la pluralidad de áreas comprende medios para dividir el cuadro de video que se va a interpretar en una pluralidad de áreas no traslapadas.
33.- El aparato de conformidad con la reivindicación 31, caracterizado porque los medios para la división del cuadro de video que se va a interpretar en la pluralidad de áreas, comprenden medios para dividir el cuadro de video que se va a interpretar en una pluralidad de áreas traslapadas.
34.- El aparato de conformidad con la reivindicación 31, caracterizado porque los medios para generar el vector en movimiento para el área con base en el número de vectores en movimiento que pasan a través del área, comprenden medios para seleccionar uno del número de vectores en movimiento que pasan a través del área.
35.- El aparato de conformidad con la reivindicación 31, caracterizado porque los medios para la división del cuadro de video que se va a interpretar en la pluralidad de áreas comprenden medios para dividir el cuadro de video que se va a interpretar en una pluralidad de áreas de un tamaño fijo.
36.- El aparato de conformidad con la reivindicación 31, caracterizado porque los medios para la división del cuadro de video que se va a interpretar en la pluralidad de áreas comprenden medios para dividir el cuadro de video que se va a interpretar en una pluralidad de áreas de diferentes tamaños.
37.- El aparato de conformidad con la reivindicación 31, caracterizado porque los medios para la división del cuadro de video que se va a interpretar en la pluralidad de áreas comprenden medios para dividir el cuadro de video que se va a interpretar en una pluralidad de píxeles.
38.- El aparato de conformidad con la reivindicación 31, caracterizado porque los medios para la determinación del número de vectores en movimiento que pasan a través del área de la pluralidad de áreas con base en los mapas de contenido del primer cuadro de referencia y el segundo cuadro de referencia comprenden: medios para determinar la clase de contenido de punto de inicio del vector en movimiento y la clase de contenido de punto final del vector en movimiento; medios para comparar la clase de contenido de punto de inicio del vector en movimiento y la clase de contenido de punto final del vector en movimiento; y medios para remover el vector en movimiento para que no sea considerado en el número de vectores en movimiento que pasan a través del área en caso que la clase de contenido de punto de inicio del vector en movimiento y la clase de contenido de punto final del vector en movimiento sean diferentes.
39.- El aparato de conformidad con la reivindicación 31, caracterizado porque los medios para la generación del vector en movimiento para asignarlo al área con base en el número de vectores en movimiento que pasan a través del área, comprenden medios para la asignación del área uno con un vector en movimiento seleccionado de un grupo que consiste de: (i) un vector en movimiento cero, (ii) un promedio de cualesquiera vectores próximos en movimiento disponibles, y (iii) un intermedio de cualesquiera vectores próximos en movimiento disponibles; en caso que el número de vectores en movimiento que pasan a través del área sea cero.
40.- El aparato de conformidad con la reivindicación 31, caracterizado porque los medios para la generación del vector en movimiento para asignarlo al área con base en el número de vectores en movimiento que pasan a través del área, comprenden medios para la asignación del área con un vector en movimiento seleccionado de un grupo que consiste de: (i) un vector en movimiento de píxel central, (ii) un vector en movimiento de área cubierta en su mayoría, (iii) un vector en movimiento ponderado, y (iv) un vector en movimiento intermedio, en caso de que el número de vectores en movimiento que pasan a través del área sea mayor que uno.
41.- El aparato de conformidad con la reivindicación 31, caracterizado porque el mapa de contenido comprende una pluralidad de clases de contenido.
42.- El aparato de conformidad con la reivindicación 41, caracterizado porque la pluralidad de clases de contenido comprende una clase de contenido de fondo .
43.- El aparato de conformidad con la reivindicación 42, caracterizado porque la clase de fondo comprende una clase de objeto de aparición, una clase de objeto de desaparición y una clase de antecedente estático.
44.- El aparato de conformidad con la reivindicación 41, caracterizado porque la pluralidad de clases de contenido comprende una clase de contenido de objeto en movimiento.
45.- El aparato de conformidad con la reivindicación 41, caracterizado porque la pluralidad de clases de contenido comprende una clase de contenido de borde.
46.- Por lo menos un procesador configurado para ejecutar un método para el procesamiento de una pluralidad de vectores en movimiento para un cuadro de video que se va a interpolar utilizando un primer cuadro de referencia y un segundo cuadro de referencia, cada cuadro de referencia tiene un mapa de contenido, el método comprende: dividir el cuadro de video que se va a interpretar en una pluralidad de áreas; determinar un número de vectores en movimiento que pasan a través de un área de la pluralidad de áreas con base en los mapas de contenido del primer cuadro de referencia y el segundo cuadro de referencia; y generar un vector en movimiento para asignar al área con base en el número de vectores en movimiento que pasan a través del área.
47.- Por lo menos el procesador de conformidad con la reivindicación 46, caracterizado porque la división del cuadro de video que se va a interpretar en la pluralidad de áreas comprende la división del cuadro de video que se va a interpretar en una pluralidad de áreas no traslapadas .
48.- Por lo menos el procesador de conformidad con la reivindicación 46, caracterizado porque la división del cuadro de video que se va a interpretar en la pluralidad de áreas comprende la división del cuadro de video que se va a interpretar en una pluralidad de áreas traslapadas.
49.- Por lo menos el procesador de conformidad con la reivindicación 46, caracterizado porque la generación del vector en movimiento al área con base en el número de vectores en movimiento que pasan a través del área comprende la selección de uno del número de vectores en movimiento que pasan a través del área.
50.- Por lo menos el procesador de conformidad con la reivindicación 46, caracterizado porque la división del cuadro de video que se va a interpretar en la pluralidad de áreas comprende la división del cuadro de video que se va a interpretar en una pluralidad de áreas de un tamaño fijo.
51.- Por lo menos el procesador de conformidad con la reivindicación 46, caracterizado porque la división del cuadro de video que se va a interpretar en la pluralidad de áreas comprende la división del cuadro de video que se va a interpretar en una pluralidad de áreas de diferentes tamaños.
52.- Por lo menos el procesador de conformidad con la reivindicación 46, caracterizado porque la división del cuadro de video que se va a interpretar en la pluralidad de áreas comprende la división del cuadro de video que se va a interpretar en una pluralidad de píxeles.
53.- Por lo menos el procesador de conformidad con la reivindicación 46, caracterizado porque la determinación del número de vectores en movimiento que pasan a través del área uno de la pluralidad de áreas con base en los mapas de contenido del primer cuadro de referencia y el segundo cuadro de referencia comprende: para cada vector en movimiento que pasa a través del área: determinar una clase de contenido de punto de inicio del vector en movimiento y una clase de contenido de punto final del vector en movimiento; comparar la clase de contenido de punto de inicio del vector en movimiento y la clase de contenido de punto final del vector en movimiento; y remover el vector en movimiento para que no sea considerado en el número de vectores en movimiento que pasan a través del área si la clase de contenido de punto de inicio del vector en movimiento y la clase de contenido de punto final del vector en movimiento son diferentes.
54.- Por lo menos el procesador de conformidad con la reivindicación 46, caracterizado porque la generación del vector en movimiento para asignarlo al área con base en el número de vectores en movimiento que pasan a través del área, comprende la asignación del área con un vector en movimiento seleccionado de un grupo que consiste de: (i) un vector en movimiento cero, (ii) un promedio de cualesquiera vectores próximos en movimiento disponibles, y (iii) un intermedio de cualesquiera vectores próximos en movimiento disponibles; en caso de que el número de vectores en movimiento que pasan a través del área sea cero.
55.- Por lo menos el procesador de conformidad con la reivindicación 46, caracterizado porque la generación del vector en movimiento para asignarlo al área con base en el número de vectores en movimiento que pasan a través del área, comprende la asignación del área con un vector en movimiento seleccionado de un grupo que consiste de: (i) un vector en movimiento de píxel central, (ii) un vector en movimiento de área cubierta en su mayoría, (iii) un vector en movimiento ponderado, y (iv) un vector en movimiento intermedio, en caso de que el número de vectores en movimiento que pasan a través del área sea mayor que uno.
56.- Por lo menos el procesador de conformidad con la reivindicación 46, caracterizado porque el mapa de contenido comprende una pluralidad de clases de contenido.
57.- Por lo menos el procesador de conformidad con la reivindicación 56, caracterizado porque la pluralidad de las clases de contenido comprende una clase de contenido de fondo.
58.- Por lo menos el procesador de conformidad con la reivindicación 57, caracterizado porque la clase de fondo comprende una clase de objeto de aparición, una clase de objeto de desaparición y una clase de fondo estático.
59.- Por lo menos el procesador de conformidad con la reivindicación 56, caracterizado porque la pluralidad de las clases de contenido comprende una clase de contenido de objeto en movimiento.
60.- Por lo menos el procesador de conformidad con la reivindicación 56, caracterizado porque la pluralidad de las clases de contenido comprende una clase de contenido de borde.
MX2007000867A 2004-07-21 2005-07-21 Metodo y aparato para asignacion de vector de movimiento. MX2007000867A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US59011004P 2004-07-21 2004-07-21
PCT/US2005/025897 WO2006012428A1 (en) 2004-07-21 2005-07-21 Method and apparatus for motion vector assignment

Publications (1)

Publication Number Publication Date
MX2007000867A true MX2007000867A (es) 2007-04-18

Family

ID=35058342

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2007000867A MX2007000867A (es) 2004-07-21 2005-07-21 Metodo y aparato para asignacion de vector de movimiento.

Country Status (17)

Country Link
US (1) US8553776B2 (es)
EP (1) EP1774795A1 (es)
JP (1) JP4448173B2 (es)
KR (1) KR100919075B1 (es)
CN (1) CN101023678B (es)
AU (1) AU2005267126C1 (es)
BR (1) BRPI0513698A (es)
CA (1) CA2574648A1 (es)
IL (1) IL180827A (es)
MX (1) MX2007000867A (es)
NO (1) NO20070991L (es)
NZ (1) NZ552781A (es)
RU (1) RU2335096C1 (es)
TW (1) TW200627973A (es)
UA (1) UA88017C2 (es)
WO (1) WO2006012428A1 (es)
ZA (1) ZA200700724B (es)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6765964B1 (en) 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
CN103826133B (zh) * 2004-05-04 2017-11-24 高通股份有限公司 运动补偿帧速率上调方法和设备
TWI392374B (zh) 2004-07-01 2013-04-01 Qualcomm Inc 於可調節視訊編碼中用以使用框率上升轉換技術之方法與裝置
EP1772017A2 (en) * 2004-07-20 2007-04-11 Qualcomm Incorporated Method and apparatus for encoder assisted-frame rate up conversion (ea-fruc) for video compression
US7995656B2 (en) * 2005-03-10 2011-08-09 Qualcomm Incorporated Scalable video coding with two layer encoding and single layer decoding
KR20070020994A (ko) * 2005-08-17 2007-02-22 삼성전자주식회사 영상신호 변환장치 및 그 방법
US20070230564A1 (en) * 2006-03-29 2007-10-04 Qualcomm Incorporated Video processing with scalability
US8634463B2 (en) * 2006-04-04 2014-01-21 Qualcomm Incorporated Apparatus and method of enhanced frame interpolation in video compression
US8750387B2 (en) * 2006-04-04 2014-06-10 Qualcomm Incorporated Adaptive encoder-assisted frame rate up conversion
GB0618323D0 (en) * 2006-09-18 2006-10-25 Snell & Wilcox Ltd Method and apparatus for interpolating an image
US20080095238A1 (en) * 2006-10-18 2008-04-24 Apple Inc. Scalable video coding with filtering of lower layers
EP2108177B1 (en) * 2007-01-26 2019-04-10 Telefonaktiebolaget LM Ericsson (publ) Border region processing in images
JP2010527194A (ja) * 2007-05-10 2010-08-05 オルゴ エンベッデド システムズ プライベート リミテッド 動的運動ベクトル分析方法
US8433159B1 (en) * 2007-05-16 2013-04-30 Varian Medical Systems International Ag Compressed target movement model using interpolation
US8605786B2 (en) * 2007-09-04 2013-12-10 The Regents Of The University Of California Hierarchical motion vector processing method, software and devices
US8848793B2 (en) * 2007-10-31 2014-09-30 Broadcom Corporation Method and system for video compression with integrated picture rate up-conversion
US8861598B2 (en) * 2008-03-19 2014-10-14 Cisco Technology, Inc. Video compression using search techniques of long-term reference memory
JP5029543B2 (ja) * 2008-09-09 2012-09-19 富士通株式会社 符号化装置および符号化プログラム
US20100128181A1 (en) * 2008-11-25 2010-05-27 Advanced Micro Devices, Inc. Seam Based Scaling of Video Content
CN101753795B (zh) * 2008-12-16 2012-05-16 晨星软件研发(深圳)有限公司 用以决定插补画面的移动向量的影像处理方法及其相关装置
CN101778292B (zh) * 2009-01-08 2013-07-17 晨星软件研发(深圳)有限公司 影像处理方法及其装置
US8462852B2 (en) 2009-10-20 2013-06-11 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
EP3852371B1 (fr) * 2009-07-03 2024-03-20 Orange Prediction d'un vecteur mouvement d'une partition d'image courante pointant sur une zone de référence qui recouvre plusieurs partitions d'image de référence, codage et decodage utilisant une telle prediction
US8917769B2 (en) 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
TR200906020A2 (tr) * 2009-08-04 2011-02-21 Vestel Elektroni̇k Sanayi̇ Ve Ti̇caret Anoni̇m Şi̇rketi̇@ Hareket alanlarının, kare interpolasyon çerçevelerine,belleğe etkin erişimli şekilde ayarlanması için metot ve aparat
EP2553927B1 (fr) 2010-03-31 2018-11-28 Orange Procedes et dispositifs de codage et de decodage d'une sequence d'images mettant en oeuvre une prediction par compensation de mouvement avant, et programme d'ordinateur correspondant
CN102907094A (zh) * 2010-05-20 2013-01-30 星河通信株式会社 适用利用选择性参考影像的运动补偿方法的视频压缩编码装置及解码装置和用于运动补偿的选择性参考影像决定方法
CN102907099A (zh) * 2010-05-20 2013-01-30 星河通信株式会社 适用利用选择性运动检索区域的运动补偿方法的视频压缩编码装置及解码装置和用于运动补偿的选择性运动检索区域的决定方法
CN102986224B (zh) 2010-12-21 2017-05-24 英特尔公司 用于增强的解码器侧运动向量导出处理的系统及方法
GB2488816A (en) 2011-03-09 2012-09-12 Canon Kk Mapping motion vectors from a plurality of reference frames to a single reference frame
US8681866B1 (en) 2011-04-28 2014-03-25 Google Inc. Method and apparatus for encoding video by downsampling frame resolution
US9106787B1 (en) 2011-05-09 2015-08-11 Google Inc. Apparatus and method for media transmission bandwidth control using bandwidth estimation
JP5807402B2 (ja) * 2011-06-15 2015-11-10 富士通株式会社 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム
RU2487489C2 (ru) * 2011-10-18 2013-07-10 Федеральное государственное автономное образовательное учреждение высшего профессионального образования "Национальный исследовательский университет "МИЭТ" Способ поиска векторов перемещений в динамических изображениях
US8856624B1 (en) 2011-10-27 2014-10-07 Google Inc. Method and apparatus for dynamically generating error correction
US9185429B1 (en) 2012-04-30 2015-11-10 Google Inc. Video encoding and decoding using un-equal error protection
TW201346839A (zh) * 2012-05-04 2013-11-16 Chang Jung Christian University 基於動態補償之去移動模糊之方法
US9277168B2 (en) * 2012-06-29 2016-03-01 Advanced Micro Devices, Inc. Subframe level latency de-interlacing method and apparatus
US10602175B2 (en) * 2012-12-21 2020-03-24 Nvidia Corporation Using an average motion vector for a motion search
US9172740B1 (en) 2013-01-15 2015-10-27 Google Inc. Adjustable buffer remote access
US9311692B1 (en) 2013-01-25 2016-04-12 Google Inc. Scalable buffer remote access
US9225979B1 (en) 2013-01-30 2015-12-29 Google Inc. Remote access encoding
GB2539198B (en) 2015-06-08 2019-09-25 Imagination Tech Ltd Motion estimation using collocated blocks
KR102126511B1 (ko) * 2015-09-02 2020-07-08 삼성전자주식회사 보충 정보를 이용한 영상 프레임의 보간 방법 및 장치
JP6275355B2 (ja) * 2016-01-14 2018-02-07 三菱電機株式会社 符号化性能評価支援装置、符号化性能評価支援方法及び符号化性能評価支援プログラム
EP4472207A3 (en) 2018-06-28 2025-03-12 Huawei Technologies Co., Ltd. Memory access window and padding for motion vector refinement and motion compensation
CN110446107B (zh) * 2019-08-15 2020-06-23 电子科技大学 一种适用于缩放运动和明暗变化的视频帧率上变换方法
CN113099241B (zh) * 2021-03-31 2022-11-01 北京百度网讯科技有限公司 参考帧列表更新方法、装置、设备以及存储介质

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3670096A (en) 1970-06-15 1972-06-13 Bell Telephone Labor Inc Redundancy reduction video encoding with cropping of picture edges
DE3072180D1 (de) 1979-05-08 1990-09-20 British Broadcasting Corp Fernseh-wiedergabesystem.
JPH0317883A (ja) 1989-06-15 1991-01-25 Sony Corp 時間情報発生装置
JP3159365B2 (ja) 1989-09-27 2001-04-23 ソニー株式会社 映像信号伝送方法及び映像信号伝送装置
GB2247587B (en) 1990-08-31 1994-07-20 Sony Broadcast & Communication Movie film and video production
US5122875A (en) 1991-02-27 1992-06-16 General Electric Company An HDTV compression system
FR2675002B1 (fr) 1991-04-05 1993-06-18 Thomson Csf Procede de classification des pixels d'une image appartenant a une sequence d'images animees et procede d'interpolation temporelle d'images utilisant ladite classification.
US5784107A (en) 1991-06-17 1998-07-21 Matsushita Electric Industrial Co., Ltd. Method and apparatus for picture coding and method and apparatus for picture decoding
KR0151410B1 (ko) 1992-07-03 1998-10-15 강진구 영상신호의 운동벡터 검출방법
DE69405740T2 (de) 1993-06-01 1998-02-12 Thomson Multimedia Sa Verfahren und anordnung für bewegungskompensierende interpolation
JP2900983B2 (ja) 1994-12-20 1999-06-02 日本ビクター株式会社 動画像帯域制限方法
JP3604752B2 (ja) 1995-01-09 2004-12-22 沖電気工業株式会社 動きベクトル検出装置および方法
JP3577354B2 (ja) 1995-02-08 2004-10-13 富士写真フイルム株式会社 補間画像データ生成装置および方法
FR2742900B1 (fr) 1995-12-22 1998-02-13 Thomson Multimedia Sa Procede d'interpolation de trames progressives
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
JPH09307857A (ja) * 1996-05-17 1997-11-28 Sony Corp 画像信号処理装置及び画像信号処理方法
JP2000512091A (ja) 1996-05-24 2000-09-12 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ 動作ベクトル処理
JP4159606B2 (ja) 1996-05-24 2008-10-01 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 動き推定
JP3363036B2 (ja) 1996-08-23 2003-01-07 ケイディーディーアイ株式会社 動画像符号化ビットストリーム変換装置
KR20030096444A (ko) 1996-11-07 2003-12-31 마쯔시다덴기산교 가부시키가이샤 음원 벡터 생성 장치 및 방법
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
US6480541B1 (en) 1996-11-27 2002-11-12 Realnetworks, Inc. Method and apparatus for providing scalable pre-compressed digital video with reduced quantization based artifacts
US6008865A (en) 1997-02-14 1999-12-28 Eastman Kodak Company Segmentation-based method for motion-compensated frame interpolation
FR2764156B1 (fr) 1997-05-27 1999-11-05 Thomson Broadcast Systems Dispositif de pretraitement pour codage mpeg ii
EP0883298A3 (en) 1997-06-04 2000-03-29 Hitachi, Ltd. Conversion apparatus for image signals and TV receiver
JP4092778B2 (ja) 1997-06-04 2008-05-28 株式会社日立製作所 画像信号の方式変換装置及びテレビジョン受像機
JP4083266B2 (ja) 1997-10-07 2008-04-30 株式会社日立製作所 動きベクトルの生成方法および装置
RU2201654C2 (ru) 1997-12-23 2003-03-27 Томсон Лайсенсинг С.А. Способ низкошумового кодирования и декодирования
US6560371B1 (en) 1997-12-31 2003-05-06 Sarnoff Corporation Apparatus and method for employing M-ary pyramids with N-scale tiling
US6404901B1 (en) * 1998-01-29 2002-06-11 Canon Kabushiki Kaisha Image information processing apparatus and its method
US6192079B1 (en) 1998-05-07 2001-02-20 Intel Corporation Method and apparatus for increasing video frame rate
JP4004653B2 (ja) 1998-08-03 2007-11-07 カスタム・テクノロジー株式会社 動きベクトル検出方法および装置、記録媒体
US6229570B1 (en) 1998-09-25 2001-05-08 Lucent Technologies Inc. Motion compensation image interpolation—frame rate conversion for HDTV
JP2000134585A (ja) 1998-10-23 2000-05-12 Hitachi Ltd 動きベクトル決定方法、画像信号のフレーム数変換方法および回路
US6597738B1 (en) 1999-02-01 2003-07-22 Hyundai Curitel, Inc. Motion descriptor generating apparatus by using accumulated motion histogram and a method therefor
US6618439B1 (en) 1999-07-06 2003-09-09 Industrial Technology Research Institute Fast motion-compensated video frame interpolator
CA2279797C (en) * 1999-08-06 2010-01-05 Demin Wang A method for temporal interpolation of an image sequence using object-based image analysis
US7003038B2 (en) 1999-09-27 2006-02-21 Mitsubishi Electric Research Labs., Inc. Activity descriptor for video sequences
US6704357B1 (en) 1999-09-28 2004-03-09 3Com Corporation Method and apparatus for reconstruction of low frame rate video conferencing data
WO2001033864A1 (en) 1999-10-29 2001-05-10 Koninklijke Philips Electronics N.V. Video encoding-method
US6639943B1 (en) 1999-11-23 2003-10-28 Koninklijke Philips Electronics N.V. Hybrid temporal-SNR fine granular scalability video coding
KR100840133B1 (ko) 2000-05-18 2008-06-23 코닌클리케 필립스 일렉트로닉스 엔.브이. Mc 업 컨버젼에서 헤일로를 감소시키는 움직임 추정기
EP1296525A4 (en) 2000-06-28 2006-07-26 Mitsubishi Electric Corp IMAGE ENCODER AND IMAGE ENCODING METHOD
RU2182727C2 (ru) 2000-07-20 2002-05-20 Дворкович Александр Викторович Способ поиска векторов движения деталей в динамических изображениях
US7042941B1 (en) 2001-07-17 2006-05-09 Vixs, Inc. Method and apparatus for controlling amount of quantization processing in an encoder
JP2005519498A (ja) 2002-02-28 2005-06-30 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ フィールドレートをアップコンバージョンするための方法及び装置
KR100850705B1 (ko) 2002-03-09 2008-08-06 삼성전자주식회사 시공간적 복잡도를 고려한 적응적 동영상 부호화 방법 및그 장치
US6975359B2 (en) 2002-04-25 2005-12-13 Trident Microsystems, Inc. Method and system for motion and edge-adaptive signal frame rate up-conversion
US20030215011A1 (en) 2002-05-17 2003-11-20 General Instrument Corporation Method and apparatus for transcoding compressed video bitstreams
KR100850706B1 (ko) 2002-05-22 2008-08-06 삼성전자주식회사 적응적 동영상 부호화 및 복호화 방법과 그 장치
JP4318019B2 (ja) 2002-05-28 2009-08-19 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
US7656950B2 (en) 2002-05-29 2010-02-02 Diego Garrido Video interpolation coding
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
DE10232372B3 (de) 2002-07-17 2004-01-22 Micronas Gmbh Verfahren zur Interpolation eines Bildpunktes einer Zwischenzeile eines Halbbildes
WO2004025965A1 (en) 2002-09-11 2004-03-25 Koninklijke Philips Electronics N.V. Video coding method and device
JP3910510B2 (ja) 2002-09-17 2007-04-25 株式会社東芝 フレーム補間システム及びフレーム補間方法
US7116716B2 (en) 2002-11-01 2006-10-03 Microsoft Corporation Systems and methods for generating a motion attention model
KR100517504B1 (ko) 2003-07-01 2005-09-28 삼성전자주식회사 B-픽처의 움직임 보상 모드 결정방법 및 장치
FR2857205B1 (fr) 2003-07-04 2005-09-23 Nextream France Dispositif et procede de codage de donnees video
US7366462B2 (en) 2003-10-24 2008-04-29 Qualcomm Incorporated Method and apparatus for seamlessly switching reception between multimedia streams in a wireless communication system
JP4198608B2 (ja) * 2004-01-15 2008-12-17 株式会社東芝 補間画像生成方法および装置
CN103826133B (zh) 2004-05-04 2017-11-24 高通股份有限公司 运动补偿帧速率上调方法和设备
TWI392374B (zh) 2004-07-01 2013-04-01 Qualcomm Inc 於可調節視訊編碼中用以使用框率上升轉換技術之方法與裝置
US8374238B2 (en) 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
EP1772017A2 (en) 2004-07-20 2007-04-11 Qualcomm Incorporated Method and apparatus for encoder assisted-frame rate up conversion (ea-fruc) for video compression
US20060133495A1 (en) 2004-12-22 2006-06-22 Yan Ye Temporal error concealment for video communications
KR100703744B1 (ko) 2005-01-19 2007-04-05 삼성전자주식회사 디블록을 제어하는 fgs 기반의 비디오 인코딩 및디코딩 방법 및 장치
US8644386B2 (en) 2005-09-22 2014-02-04 Samsung Electronics Co., Ltd. Method of estimating disparity vector, and method and apparatus for encoding and decoding multi-view moving picture using the disparity vector estimation method
US8879856B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Content driven transcoder that orchestrates multimedia transcoding using content information
US20070230564A1 (en) 2006-03-29 2007-10-04 Qualcomm Incorporated Video processing with scalability
US8750387B2 (en) 2006-04-04 2014-06-10 Qualcomm Incorporated Adaptive encoder-assisted frame rate up conversion
US8634463B2 (en) 2006-04-04 2014-01-21 Qualcomm Incorporated Apparatus and method of enhanced frame interpolation in video compression
JP4764273B2 (ja) * 2006-06-30 2011-08-31 キヤノン株式会社 画像処理装置、画像処理方法、プログラム、記憶媒体
US8045783B2 (en) * 2006-11-09 2011-10-25 Drvision Technologies Llc Method for moving cell detection from temporal image sequence model estimation

Also Published As

Publication number Publication date
KR100919075B1 (ko) 2009-09-28
CN101023678A (zh) 2007-08-22
EP1774795A1 (en) 2007-04-18
KR20070040401A (ko) 2007-04-16
JP4448173B2 (ja) 2010-04-07
NO20070991L (no) 2007-02-21
TW200627973A (en) 2006-08-01
AU2005267126C1 (en) 2009-11-26
RU2335096C1 (ru) 2008-09-27
US20060018383A1 (en) 2006-01-26
NZ552781A (en) 2008-12-24
IL180827A0 (en) 2007-06-03
UA88017C2 (ru) 2009-09-10
CA2574648A1 (en) 2006-02-02
IL180827A (en) 2010-11-30
US8553776B2 (en) 2013-10-08
ZA200700724B (en) 2008-07-30
AU2005267126B2 (en) 2009-05-21
BRPI0513698A (pt) 2008-05-13
JP2008507920A (ja) 2008-03-13
CN101023678B (zh) 2011-07-27
WO2006012428A1 (en) 2006-02-02
AU2005267126A1 (en) 2006-02-02

Similar Documents

Publication Publication Date Title
MX2007000867A (es) Metodo y aparato para asignacion de vector de movimiento.
JP4567733B2 (ja) 動きベクトル処理のための方法及び装置
CA2574590C (en) Method and apparatus for motion vector prediction in temporal video compression
US20060017843A1 (en) Method and apparatus for frame rate up conversion with multiple reference frames and variable block sizes
EP1747678B1 (en) Method and apparatus for motion compensated frame rate up conversion
CN116847090A (zh) 一种基于桌面视频感兴趣区域的并行编解码方法及系统
HK1105742A (en) Method and apparatus for motion vector assignment
HK1105744A (en) Method and apparatus for motion vector prediction in temporal video compression
HK1105743A (en) Method and apparatus for motion vector processing

Legal Events

Date Code Title Description
FG Grant or registration
HH Correction or change in general