MX2007000810A - Metodo y aparato para conversion ascendente de velocidad por cuadro asistido de codificador (ea-fruc) para compresion de video. - Google Patents
Metodo y aparato para conversion ascendente de velocidad por cuadro asistido de codificador (ea-fruc) para compresion de video.Info
- Publication number
- MX2007000810A MX2007000810A MX2007000810A MX2007000810A MX2007000810A MX 2007000810 A MX2007000810 A MX 2007000810A MX 2007000810 A MX2007000810 A MX 2007000810A MX 2007000810 A MX2007000810 A MX 2007000810A MX 2007000810 A MX2007000810 A MX 2007000810A
- Authority
- MX
- Mexico
- Prior art keywords
- activity
- measurement
- frame
- video
- redundancy
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/142—Detection of scene cut or scene change
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/192—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
- H04N19/194—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/583—Motion compensation with overlapping blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Se describe un sistema de Conversion Ascendente de Velocidad por Cuadro Asistido de Codificador (EA-FRUC) que utiliza codificacion de video y operaciones de procesamiento previo en el codificador de video para explotar el procesamiento FRUC que ocurrira en el decodificador para mejorar la eficiencia de la compresion y la calidad del video reconstruido; una operacion del sistema EA-FRUC involucra tomar una determinacion respecto a si codificar un cuadro en una secuencia de cuadros de un contenido de video determinando una actividad espacial en un cuadro de la secuencia de cuadros; determinar una actividad temporal en el cuadro; determinar una actividad espacio-temporal en el cuadro basada en la actividad espacial determinada y la actividad temporal determinada; determinar un nivel de una redundancia en el cuadro fuente con base por lo menos en una de la actividad espacial determinada, la actividad temporal determinada, y la actividad espacio-temporal determinada; y, codificar la informacion no redundante en el cuadro si la redundancia determinada esta dentro de los umbrales predeterminados.
Description
MÉTODO Y APARATO PARA CONVERSIÓN ASCENDENTE DE VELOCIDAD POR CUADRO ASISTIDO DE CODIFICADOR (EA- RUC) PARA COMPRESIÓN DE VIDEO
CAMPO DE LA INVENCIÓN
Las modalidades aquí descritas se refieren generalmente a compresión de video digital y, muy particularmente, a un método y aparato para Conversión Ascendente de Velocidad por Cuadro Asistido de Codificador
(EA-FRUC) para compresión de video.
ANTECEDENTES DE LA INVENCIÓN
Hoy en día existen formatos de video que soportan varias velocidades de cuadro. Los siguientes formatos actualmente son los más prevalecientes, listados en orden por sus cuadros soportados por segundo (fps) : 24 (película nativa) , 25 (PAL) , 30 (video típicamente entrelazado) , y 60 (Alta Definición (HD) por ejemplo, 720p) . Aunque estas velocidades de cuadro son convenientes para la mayoría de las aplicaciones, para alcanzar el ancho de banda bajo requerido para las comunicaciones de video de equipo móvil, las velocidades de cuadro en ocasiones son llevadas a velocidades tan bajas como 15, 10, 7.5 ó 3 fps. Aunque estas bajas velocidades permiten dispositivos de bajo extremo con capacidades computacionales inferiores para desplegar algún video, la calidad del video resultante sufre de "sacudidas" (es decir, tiene un efecto deslizante), en lugar de ser suave en movimiento. También, los cuadros tirados con frecuencia no rastrean correctamente la cantidad de movimiento en el video. Por ejemplo, se deberían tirar menos cuadros durante porciones de contenido de video de "alto movimiento" tal como aquellas que ocurren en eventos deportivos, mientras que se pueden tirar más cuadros durante segmentos de contenido de video de "bajo movimiento" tal como aquellos que ocurren en programas de conversación. La compresión de video necesita depender del contenido, y sería deseable poder analizar e incorporar características de movimiento y textura en la secuencia que se va a codificar para mejorar la eficiencia de la compresión de video. La Conversión Ascendente de Velocidad por Cuadro (FRUC) es un proceso de uso de interpolación de video en el decodificador de video para aumentar la velocidad de cuadro del video reconstruido. En FRÜC, los cuadros interpolados son creados utilizando cuadros recibidos como referencias. Actualmente, los sistemas que ejecutan interpolación de cuadro FRUC incluyen enfoques basados en la interpolación de movimiento compensado y el procesamiento de vectores de movimiento transmitidos. FRUC también se utiliza en la conversión entre varios formatos de video. Por ejemplo, en aplicaciones de Telecine y Telecine Inverso, el cual es una técnica de transferencia de película-a-videocinta que rectifica las diferencias respectivas de velocidad de cuadro de color entre la película y el video, el video progresivo (24 cuadros/segundo) se convierte a video entrelazado NTSC (29.97 cuadros/segundo). Otro enfoque FRUC utiliza interpolación de movimiento compensado ponderado-adaptivo (WAMCI) , para reducir los artefactos de bloqueo causados por las deficiencias de la estimación de movimiento y el procesamiento basado en el bloqueo. Este enfoque se basa en una interpolación mediante la suma ponderada de múltiples imágenes de interpolación de movimiento compensado (MCI) . Los artefactos de bloqueo en los límites de bloqueo también se reducen en el método propuesto mediante la aplicación de una técnica similar a la compensación de movimiento de bloque traslapado (OBMC) . Específicamente, para reducir la borrosidad durante el procesamiento de áreas traslapadas, el método utiliza el análisis de movimiento para determinar el tipo de movimiento de bloque y aplica OBMC de manera adaptiva. Resultados experimentales indican que el enfoque propuesto logra resultados mejorados, con artefactos de bloqueo significativamente reducidos.
Otro enfoque FRUC todavía utiliza análisis de confiabilidad de vector para reducir los artefactos causados por el uso de cualesquiera vectores de movimiento que son transmitidos, de manera imprecisa, desde - el codificador. En este enfoque, la estimación de movimiento se utiliza para construir vectores en movimiento que se comparan con vectores de movimiento transmitidos a fin de determinar el enfoque más deseado para la interpretación de cuadros. En algoritmos de conversión ascendente convencionales que utilizan estimación de movimiento, el proceso de estimación es ejecutado mediante el uso de dos cuadros decodificados adyacentes para construir los vectores de movimiento que permitirán a un cuadro ser interpolado. Sin embargo, estos algoritmos intentan mejorar la utilización de ancho de banda de transmisión sin considerar la cantidad de cálculo que se requiere para la operación de estimación de movimiento. En comparación, en algoritmos de conversión ascendente que utilizan vectores de movimiento transmitidos, la calidad de los cuadros interpolados depende en gran medida de los vectores de movimiento que son derivados por el codificador. Utilizando una combinación de los dos enfoques, los vectores de movimiento transmitidos primero son analizados para decidir si éstos son útiles para construir cuadros de interpolación. El método utilizado para la interpolación es entonces seleccionado, de manera adaptiva, de entre tres métodos: interpolación local de movimiento compensado, interpolación global de movimiento compensado e interpolación de cuadro repetido. Aunque generalmente se ejecutan técnicas FRUC como funciones de post-procesa iento en el decodificador de video, el codificador de video típicamente no está involucrado en esta operación. Sin embargo, en un enfoque denominado como FRUC de codificador asistido (EA-FRUC) , el codificador puede determinar si la transmisión de cierta información relacionada con los vectores de movimiento o cuadros de referencias . (por ejemplo, datos residuales), se pueden eliminar mientras se sigue permitiendo al decodificador regenerar, de manera autónoma, porciones principales de cuadros sin el vector eliminado o datos residuales. Por ejemplo, un método de codificación de video predictivo bidireccional se ha introducido como una mejora para la codificación de B-cuadros en MPEG-2. En este método, se propone el uso de un criterio de error para permitir la aplicación de verdaderos vectores de movimiento en la codificación predictiva de movimiento compensado. La medición de distorsión se basa en la suma de diferencias absolutas (SAD) , pero esta medición de distorsión es conocida como insuficiente para proveer una verdadera medición de distorsión, particularmente en los casos donde la cantidad de movimiento entre dos cuadros en una secuencia necesita ser cuantificada. Adicionalmente, la variación en umbrales se clasifica utilizando umbrales fijos cuando, de manera opcional, estos umbrales deberían ser variables ya que las clasificaciones de preferencia dependen del contenido. El campo-de-estudio de EA-FRUC es un campo en crecimiento. Con un creciente interés en el área de la compresión de video, particularmente para aplicaciones de baja velocidad de bit tal como el video en corriente y la telefonía en video, y especialmente en escenarios donde el remitente está en un nodo de red, el cual tiene la capacidad para soportar aplicaciones de alta complejidad, y el receptor es un dispositivo con potencia y restricciones de complejidad. EA-FRUC también encuentra aplicación en sistemas abiertos, en donde el decodificador se ajusta a cualquier tecnología de codificación de video estándar o popular, y en sistemas cerrados, en donde se pueden adoptar técnicas de decodificación de marca registrada. Lo que es deseable es un enfoque que provea cuadros interpolados de alta calidad en el decodificador mientras se reduce la cantidad de ancho de banda necesario para transmitir la información necesaria para ejecutar la interpolación y también reducir el volumen del cálculo necesario para crear estos cuadros para hacerlo conveniente para dispositivos móviles de multimedia que dependen del procesamiento de baja potencia. Por consiguiente, existe la necesidad de superar los problemas antes observados.
SUMARIO DE LA INVENCIÓN
Las modalidades proveen un sistema de Conversión Ascendente de Velocidad por Cuadro Asistido de Codificador (EA-FRUC) que utiliza codificación de video y operaciones de pre-procesamiento en el codificador de video para explotar el procesamiento FRUC que ocurrirá en el decodificador para mejorar la eficiencia de compresión y la calidad de video reconstruido. En una modalidad, el proceso involucra determinar si se debe codificar un cuadro en una secuencia de cuadros de un contenido de video mediante la determinación de una actividad espacial en un cuadro de la secuencia de cuadros; determinar una actividad temporal en el cuadro; determinar una redundancia por lo menos en una de la actividad espacial determinada, la actividad temporal determinada y la actividad espacio-temporal determinada; y, codificar el cuadro si la redundancia determinada está por debajo de un umbral predeterminado. En otra modalidad, el proceso involucra determinar si se codifica un conjunto de uno o más cuadros en una secuencia de cuadros de un contenido de video mediante la determinación de la actividad espacial en el conjunto de cuadros de la secuencia de cuadros; determinar la actividad temporal en el conjunto de cuadros; determinar una redundancia por lo menos en uno de la actividad espacial determinada, la actividad temporal determinada y - la actividad espacio-temporal determinada; y, codificar uno o más del conjunto de cuadros si las redundancias determinadas están dentro de un conjunto de umbrales predeterminados . En otra modalidad, se describe un medio legible por computadora tiene instrucciones almacenadas en el mismo para provocar que una computadora ejecute un método para la construcción de una secuencia de video, incluyendo una secuencia de cuadros. El método comprende determinar una actividad espacial en un cuadro de la secuencia de cuadros; determinar una actividad temporal en el cuadro; determinar una redundancia por lo menos en una de la actividad espacial determinada y la actividad temporal determinada; y, codificar el cuadro si la redundancia determinada está por debajo de un umbral predeterminado. En otra modalidad todavía, se describe un aparato para la construcción de una secuencia de video que incluye una secuencia de tramas. El aparato incluye medios para determinar una actividad espacial en un cuadro de la secuencia de cuadros; medios para determinar una actividad temporal en el cuadro; medios para determinar una redundancia por lo menos en una de la actividad espacial determinada y la actividad temporal determinada; y medios para codificar el cuadro si la redundancia determinada está por debajo de un umbral predeterminado. En otra modalidad todavía, se describe por lo menos un procesador configurado para ejecutar un método para la construcción de una secuencia de video que incluye una secuencia de cuadros. El método incluye determinar una actividad espacial en un cuadro de la secuencia de cuadros; determinar una actividad temporal en el cuadro; determinar una redundancia por lo menos en una de la actividad espacial determinada y la actividad temporal determinada; y, codificar el cuadro si la redundancia determinada está por debajo de un umbral predeterminado. 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 entenderá que la descripción detallada y los ejemplos específicos, aunque indican modalidades ejemplares, se proporcionan a manera de ilustración y no limitación. Se pueden hacer muchos cambios y modificaciones dentro de la siguiente descripción sin apartarse del espíritu de la misma, y la descripción se deberá entender como que incluye todas esas modificaciones.
BREVE DESCRIPCIÓN DE LAS FIGURAS
La invención se podrá entender más fácilmente haciendo referencia a las figuras anexas en donde: La figura 1 es un diagrama en bloques de un sistema de codificación de video que ejecuta un sistema de conversión ascendente de velocidad por cuadro asistido de codificador (EA-FRUC) , de acuerdo con una modalidad; La figura 2 es un diagrama de flujo que ilustra la operación del sistema EA-FRÜC de la figura 1; La figura 3 es un diagrama que ilustra la codificación de un paso, de acuerdo con una modalidad del sistema EA-FRUC de la figura 1; La figura 4 es un diagrama que ilustra la codificación de dos pasos, de acuerdo con una modalidad del sistema EA-FRUC de la figura 1; y La figura 5 es un diagrama en bloques que ilustra una aplicación del sistema EA-FRUC 100 para un sistema inalámbrico. Números similares se refieren a partes similares en las diversas vistas de las figuras.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN
La conversión ascendente de velocidad por cuadro (FRUC) es una técnica para aumentar la velocidad de cuadro en el decodificador en la transmisión de video de baja velocidad de bit. Típicamente, esta es una operación del decodificador. Sin embargo, al anticipar las necesidades del algoritmo FRUC en el decodificador, un codificador de video puede tomar decisiones inteligentes respecto a cuál cuadro o cuadros en una secuencia de video pueden ser tirados (es decir, no transmitidos al decodificador) para ofrecer un incremento en la velocidad de bits comprimida general, mejorando así la eficiencia de la compresión. En una modalidad del sistema FRUC asistido de codificador (EA-FRUC) , como aquí se describe, el codificador tiene acceso a los cuadros fuente así como a conocimiento previo del algoritmo FRUC utilizado en el decodificador y, utilizando el cuadro interpolado generado con el mismo, transmite información adicional para ayudar al decodificador en la ejecución de FRUC y mejorar las decisiones tomadas durante la interpolación. Al tomar ventaja del conocimiento que FRUC será ejecutado en el decodificador, el sistema EA-FRUC utiliza codificación de video y operaciones de pre-procesamiento en el codificador de video para mejorar la eficiencia de la compresión (mejorando así la utilización del ancho de banda de transmisión) y la calidad de video reconstruido. Específicamente, la información proveniente del codificador que puede ser un suplemento o que puede reemplazar información normalmente transmitida por el codificador es provista al decodificador para que sea utilizada en FRUC regular o asistido por codificador. En una modalidad, la información provista por el codificador incluye parámetros tales como características espaciales (por ejemplo, refinamientos, decisiones de modo, características vecinas) y temporal (por ejemplo decisiones de vectores de movimiento) de la imagen que se va a interpolar en el decodificador, así como información diferencial con respecto a la codificación de cuadro pronosticada normal (B ó P) y el cuadro generado por el proceso FRUC. Los cuadros interpolados por el proceso FRUC aquí se denominarán como "F-cuadros".
Perspectiva general de FRUC de codificador asistido La figura 1 ilustra un sistema de codificación/decodificación ("codificación") de video 100 configurado de acuerdo con una modalidad. El sistema de codificación 100 incluye un codificador de video 104 que procesa datos de video digital para optimizar esos datos para transmisión y decodificación por parte de uno o más decodificadores. Específicamente, en una modalidad, el codificador de video 104 emplea un algoritmo de codificación de video para codificar y comprimir un video de fuente de entrada 102 para reducir el ancho de banda requerido para transmitir el video 102 al decodificador 154. La eficiencia de compresión del codificador de video 104 se puede mejorar a través de varios métodos, uno de los cuales es a través de la reducción de velocidad de cuadros transmitidos (es decir, reducción del número de cuadros que tienen que ser transmitidos) . Los mecanismos FRUC se emplean entonces en el decodificador 154 para aumentar la velocidad de cuadro de la corriente de video decodificado y mejorar la interpretación del movimiento. Específicamente, el decodificador 154 crea cuadros interpolados utilizando cuadros de referencia en la corriente de video codificado conforme es recibido desde el codificador 104. Como se describe adicionalmente en la presente invención, el codificador de video 104 está "consciente" de la capacidad del decodificador de video 154 para ejecutar FRUC durante la operación de codificación y explota este potencial para reducir el número y el tamaño de cuadros transmitidos.
Análisis de F cuadros En una modalidad, el codificador 104 del sistema de codificación 100 incluye un módulo de clasificación de contenido 106 para determinar la complejidad espacial y temporal, ambas: (i) en cada cuadro de la secuencia de video; y (ii) entre los cuadros en la secuencia de video. El codificador 104 utiliza el resultado de esta operación para determinar: (i) cuáles cuadros en una secuencia de cuadros, también conocida como un Grupo de Imágenes (GOP), pueden ser tirados; y (ii) cuántos cuadros consecutivos pueden ser tirados entre dos cuadros codificados. Cada GOP está compuesto, por definición, de un arreglo de una imagen I (cuadro) , imagen P (cuadro) , y una o más imágenes B (cuadro) . Un GOP sirve como una unidad de acceso básica, en donde el cuadro I sirve como el punto de acceso para facilitar el acceso aleatorio. Se debería apreciar que un GOP puede constar de un número variable de cuadros . Se asume que cualesquiera cuadros tirados serán apropiadamente reconstruidos según sea necesario utilizando técnicas FRUC conocidas en el decodificador 154. En una modalidad, se adoptará uno de los siguientes métodos para el análisis: 1.- Clasificar la importancia de cada cuadro en la secuencia dependiendo de la actividad en la secuencia (por ejemplo, movimiento lento contra movimiento rápido, regiones planas contra texturas ocupadas) , y después tirar (desechar) todos los cuadros altamente correlacionados en la secuencia. 2.- El algoritmo FRUC disponible en el decodificador 154 es empleado en el decodificador 104 para construir un cuadro FRUC esperado. Si la correlación entre un cuadro fuente y su versión interpolada es alta, el cuadro fuente se tira. Alternativamente, si el cuadro fuente está codificado como un B-cuadro y el B-cuadro reconstruido está altamente correlacionado con su versión interpolada, se tira este B-cuadro altamente correlacionado. Si no es así, el cuadro fuente es codificado y transmitido. Si la correlación entre el cuadro fuente y el cuadro interpolado o el B-cuadro y el cuadro interpolado es moderada, la parte no redundante del cuadro es codificada como información de asistencia que se utiliza para mejorar la calidad del cuadro interpolado con respecto a su cuadro fuente correspondiente. La figura 2 ilustra una modalidad del proceso utilizado por el sistema de codificación 100 para clasificar el contenido fuente. En una modalidad, en el paso 208, se determina si existen cualesquiera restricciones de latencia para el rendimiento de la codificación del contenido fuente. Por ejemplo, las aplicaciones de corriente en tiempo real o codificadores restringidos por los requerimientos de latencia (por ejemplo, corrientes que portan video de conversación tal como telefonía de video) típicamente tienen que completar todas las operaciones de codificación en un paso sencillo. En este caso, la operación continúa con el paso 208, en donde se ejecuta un proceso de codificación de un paso. En contraste, video sin conversación, tal como aplicaciones de video sobre demanda (VOD) , cámara digital y cámara-grabadora, en donde el video codificado es almacenado y, por lo tanto, no existen restricciones sobre la operación de codificación en términos de recursos de temporización, puede ser procesado utilizando codificación de dos pasos, como en el paso 216. Como aquí se describe, debido a estas diferencias, varía la extensión y la calidad de la clasificación de contenido ejecutada por los sistemas de codificación 100 para los dos modos.
Actividad espacial Continuando con referencia a la figura 2 , y refiriéndose nuevamente a la figura 1, la actividad espacial queda determinada por el módulo de clasificación de contenido 106 en el paso 210. Específicamente, el módulo de clasificación de contenido 106 determina la cantidad de actividad espacial en la fuente de video 102. En una modalidad, actividad espacial se refiere a la cantidad de información de textura, tal como borde, color saturado, y objetos de alto contraste, en los cuadros de imágenes de una secuencia de video. Generalmente, mientras mayor es la cantidad de información de textura en la secuencia de video, mayor es la actividad espacial. En una modalidad, la información de textura puede ser cuantificada utilizando las siguientes mediciones: a. Media: en codificación basada en bloques, la media de cada bloque se compara con la media de: (i) el cuadro o (ii) una zona cercana de bloques de diversos tamaños . b. Varianza: la cantidad de varianza de píxel en cada macrobloque se puede comparar contra un umbral dependiente de datos predeterminado para determinar ia actividad espacial. Alternativamente, los bloques se pueden clasificar con base en las mediciones de varianza y media, en cuyo caso se pueden utilizar diferentes umbrales para diferentes rangos de valores medios. c. Varianza y media de forma/tamaño de bloque variable: las mediciones de varianza y media se pueden extender a tamaños de bloque variables y a objetos que abarcan regiones arbitrariamente configuradas (y formadas) en una imagen o cuadro. d. Relación de contraste: la relación de: (i) la desviación estándar de un bloque, región, u objeto, a (ii) la media de una región o zona cercana de bloques (por ejemplo, un bloque 3x3), se puede utilizar para proveer una medición de contraste dentro de una zona cercana de elementos. Adicionalmente, se puede ponderar la relación de contraste con base en los valores medios. Específicamente, la relación de contraste de un bloque o macrobloque determinado se expresa como una suma de diferencias de la media del bloque actual y la media de bloques vecinos (8 bloques vecinos en una zona cercana 3x3 de 9 bloques) normalizada por la media de todos los bloques en la zona cercana. Esta medición proveyó bastante granularidad en la información de textura espacial, lo cual se traduce en actividad espacial y se utilizó con éxito como el algoritmo de división de bloque, para DCT de tamaño de bloque variable (también conocido como ABSDCT) . e. Campo de vector de movimiento: En cuadros pronosticados (por ejemplo, cuadros P ó B) , los vectores de movimiento de macrobloques (y vectores de movimiento de sub-bloques) del cuadro pronosticado, se pueden mapear para formar un campo de vector de movimiento. Dichos campos se utilizan para procesamiento de vector de movimiento a vectores de movimiento de perfil suave y, en general, son indicadores de: (i) el movimiento global en la secuencia;
(ii) la actividad de movimiento de varios objetos en los cuadros (por ejemplo, con base en la intensidad, densidad y/o magnitud del campo de vector de movimiento) ; y (iii) el numero de objetos en movimiento en el cuadro. El nivel de actividad de movimiento también provee una indicación de actividad espacial de una secuencia particular debido a la necesidad de la detección por parte del proceso de actividad de movimiento para detectar ambos objetos (lo cual requiere la detección de bordes) y variabilidad (la cual requiere la detección de diferencias entre regiones) a través de la secuencia. f. Detección de borde: los algoritmos de detección de borde en procesamiento de imágenes típicamente aplican un filtro de paso alto, tal como un filtro Sobel, a los píxeles en una imagen sobre una ventana particular (por ejemplo, una región 3x3 ó 5x5), y después la salida filtrada es comparada con un umbral para determinar la existencia de un borde. Un mapa de los bordes detectados y la cantidad de bordes provee una indicación de la actividad espacial. g. Existen otros indicadores de actividad espacial, tal como los conocen aquellos expertos en la técnica de procesamiento de imágenes, y cualquiera de esas mediciones se puede aplicar al proceso como se muestra en la figura 2.
Actividad temporal En el paso 212, la actividad temporal queda determinada por el módulo de clasificación de contenido 106. La cantidad de movimiento en una secuencia de video determina la cantidad de correlación temporal y redundancia en los cuadros de la secuencia de video que se puede utilizar para comprimir la secuencia de video. En una modalidad, la cuantificación de actividad temporal queda determinada a través de uno de los siguientes enfoques: a. Campo de vector de movimiento: esta medición utiliza el mismo enfoque que se describió anteriormente bajo la descripción para el módulo de actividad espacial 210 para construir un campo de vector de movimiento para un cuadro interpolado y después analizar el campo de vector de movimiento. b. Tamaño de cuadro pronosticado: el tamaño de un cuadro pronosticado es un indicador de su entropía debido a que, para un cuadro pronosticado, el tamaño de cuadro pronosticado depende del número de bits que se requiere para codificar los vectores de movimiento y residuales de la predicción. Generalmente, mientras mayor es la cantidad de movimiento (o actividad temporal) , mayor es la entropía a ser codificada en los cuadros pronosticados. c. Descriptor de MPEG-7 : el descriptor de actividad de movimiento MPEG-7 (MAD) intenta "capturar" la percepción humana de la "intensidad de acción" o el "paso" de una secuencia de video. Por ejemplo, un momento de anotación de gol en un juego de fútbol sería percibido como una secuencia de "acción elevada" por la mayoría de los telespectadores humanos. En comparación, una secuencia de "cabeza y hombros" de una persona que habla, ciertamente sería considerada como una secuencia de "acción baja" por los mismos telespectadores. Se ha descubierto que el MAD MPEG-7 captura con precisión todo el rango de intensidad de acción en video natural. Este utiliza una desviación estándar cuantificada de vectores de movimiento para clasificar segmentos de video en cinco clases que van desde una intensidad muy baja a una intensidad muy alta. d. Actividad de movimiento: el descriptor de actividad de movimiento trata el asunto del análisis de contenido eficiente, la indexación, navegación e investigación de actividad de movimiento de datos de video, la cual se define como la cantidad de movimiento en una secuencia de video, y ha sido incluida como un descriptor en la norma MPEG-7. La técnica propuesta intenta medir, de manera automática, la actividad de movimiento utilizando la acumulación de diferencias de píxel cuantificadas entre los cuadros de un segmento de video determinado. Como resultado, el movimiento acumulado de cada escena es representado como una matriz bidimensional. También se provee de manera efectiva una técnica escalable para comparar estas matrices y generar MAD que representan varios movimientos de cada escena. Los grados (cantidades) así como las ubicaciones de movimiento son calculados y presentados . Todas las mediciones anteriores de actividad espacial y temporal son simples ejemplos. En otras modalidades, cualquiera y todos esos algoritmos se pueden utilizar con una simple determinación de umbral para valorar y graduar el nivel de actividad espacial y temporal en un cuadro y entre cuadros .
Actividad espacio-temporal En el paso 214, la actividad espacial absoluta entre cuadros vecinos o un conjunto de cuadros, tal como un GOP y la variación (varianza) de la actividad espacial absoluta a través de los cuadros se cuantifican utilizando simples diferencias de cuadro y/o estadísticas de orden superior, tal como la varianza y curtosis para determinar la correlación entre cuadros. Alternativamente, los principios de la relación de contraste se extienden al dominio temporal para proveer mediciones de actividad espacio-temporal.
Determinación de redundancia Las métricas de actividad espacial determinadas por el paso 210 en conjunto con las métricas de actividad temporal o de movimiento determinadas por el paso 212, se utilizan para determinar la actividad global espacial temporal para una secuencia determinada. Por ejemplo, en compresión de video híbrido, el primer cuadro en una secuencia (por ejemplo, el primer cuadro después de un punto de acceso aleatorio o un cambio de escena) es codificado, típicamente de forma independiente de cualquier predicción temporal. Este primer cuadro se denomina como un cuadro I. Cuadros posteriores en la secuencia son predominantemente pronosticados a partir del cuadro I u otros cuadros previos, los cuales, como se observó anteriormente, se denominarán como cuadros P ó B. En una modalidad, la redundancia entre el cuadro de referencia y el cuadro pronosticado en la secuencia de fuente de video se puede determinar utilizando los siguientes enfoques: a. Correlación: una correlación de dos elementos de: (1) los píxeles de (i) uno o más macrobloques; (ii) otras unidades básicas de un cuadro; o (iii) un cuadro completo pronosticado, con respecto a (2) una unidad colocada equivalente en el cuadro de referencia, se puede ejecutar para determinar la redundancia. Este enfoque de procesamiento es una operación computacionalmente costosa, pero es un estimado preciso de redundancia. b. Vector de movimiento: la magnitud y correlación de vectores de movimiento, ambos en una cercanía de macrobloques y sobre un cuadro completo, se comparan entre la referencia y los cuadros pronosticados. El vector de movimiento que suaviza u otro vector de movimiento que procesa se pueden entonces aplicar para determinar la varianza del vector de movimiento, o para clasificar los campos de movimiento con base en la actividad. c. Importancia: cada macrobloque o ventana de macrobloques se clasifica entonces con base en el nivel de redundancia como bajo, medio o alto. Los bloques de redundancia baja son codificados como B-cuadros utilizando predicción bidireccional, los bloques de redundancia media proveen una o más de la siguiente información al decodificador: vector de movimiento para refinar los resultados del procesamiento del vector de movimiento en el decodificador FRUC, información de residuo para refinar la diferencia en textura, información de cambio de luminancia en la forma de compensaciones DC, etc. Bloques de redundancia alta son aquellos que se correlacionan bien con los bloques correspondientes en el cuadro interpolado FRUC y se omiten. Todas las piezas de información antes descritas en relación con un macrobloque o ventana, 3x3, de macrobloques, se denominan como información de ayuda.
Elección de cuadros para FRUC Después que la cantidad de redundancia en el video fuente ha sido determinada como se describió anteriormente, entonces se clasifica con base en el contenido. En una modalidad, se utiliza una variedad de datos fuente muestra para establecer los parámetros de clasificación para una aplicación particular, y por lo tanto, el sistema de codificación 100 se puede sintonizar a un contenido específico que se espera sea soportado por esa ejecución. EL mecanismo de clasificación utiliza el tamaño de los cuadros pronosticados en codificación híbrida normal. En una modalidad, mientras más pequeño es el tamaño y mayor es el factor de redundancia del cuadro pronosticado, mayor será la probabilidad de que el cuadro interpolado será omitido durante el proceso de codificación. Estos cuadros entonces no serán incluidos en la secuencia de video de transmisión pero, en consecuencia, serán sobre-convertidos durante la decodificación/proceso FRUC. El mecanismo anteriormente descrito aplica a una codificación de dos pasos de baja complejidad y un paso, como se muestra en la figura 3, que son útiles para dichas aplicaciones, tal como aplicaciones de cámara-grabadora móviles; donde las capacidades de latencia y del procesador limitan la capacidad del dispositivo para ejecutar una codificación de primer paso completa o parcial seguida por una codificación de segundo paso completa. Sin embargo, cuando la complejidad del codificador no es una preocupación, como en el caso de ejecuciones de Internet o un servidor de multimedia inalámbrico, la codificación híbrida normal se puede llevar a cabo en el primer paso y después la actividad espacial, actividad temporal, actividad espacio-temporal se puede determinar en un segundo paso, como se ilustra en la figura 4 . En una modalidad, basada en los tamaños de cuadro pronosticados de la secuencia de video (por ejemplo, los tamaños de cuadro de los cuadros P y B en la secuencia de video) y las características de cuadro (por ejemplo, proporción de bits para Vectores de Movimiento contra datos de coeficientes) , bajo costo (por ejemplo, cuadros de bajo costo de transmisión) se pueden tirar en el codificador 104 y reconstruir en el decodificador 154 utilizando cuadros de referencia decodificados . En otra modalidad, una pequeña entropía puede ser codificada por el codificador 104 y transmitida al decodificador 154 para "ayudar" al decodificador 154 con el proceso de conversión ascendente, como se describe a continuación. Aunque el propósito de la ayuda es principalmente mejorar la calidad del video reconstruido, también se puede utilizar para reducir la carga computacional en el decodificador 154 mediante la ayuda del motor FRUC 158 en el decodificador 154 en la toma de las decisiones correctas durante un proceso de decisión de modo .
Codificación de entropía entre cuadros interpolados FRUC y fuente Como aquí se observó, una de las principales ventajas de EA-FRUC es que el cuadro fuente para el cuadro que se va a interpolar está disponible en el codificador. Por lo tanto, las decisiones FRUC pueden ser guiadas para reducir al mínimo el error entre la fuente y el cuadro reconstruido. Por ejemplo, los enfoques del procesamiento FRUC propuesto, aquí descritos, dependen del procesamiento del vector de movimiento, la identificación de contenido y la asignación. En estos procesos, la interpolación de oclusiones y regiones de traslape representa un reto. Sin embargo, utilizando la codificación de entropía a través de un módulo de determinación de entropía 108 en la figura 1, dichas regiones son identificadas e información lateral apropiada es transmitida al decodificador 154 para ayudar con el proceso FRUC. Otras aplicaciones de dicha codificación de entropía se encuentran en aplicaciones de codificación de video escalable de procesos FRUC, como se describe en la solicitud de patente copendiente No. 11/173,121, titulada "Método y Aparato par Utilizar Técnicas de Conversión Ascendente de Velocidad por Cuadro en Codificación de Video Escalable". En una modalidad, el módulo de determinación de entropía 108 puede utilizar las siguientes mediciones para codificación de entropía: 1. Datos de diferencia de píxel: el residuo de píxeles entre un cuadro FRUC reconstruido y un cuadro fuente es transformado, cuantificado y codificado por entropía para transmisión. Este enfoque es simple. Sin embargo, cualquier residuo restante del proceso de codificación contiene alta energía y no comprime bien. 2. Determinación de umbral: los umbrales sé basan en las mediciones de actividad (espacial y temporal) , o enmascaramiento de sistema visual humano y sensibilidad en lugar de basarse en SAD. El sistema visual humano (HVS) es un modelo empírico que describe las sensibilidades del ojo humano a varios efectos visuales tal como color, luminancia, contraste, etc., SAD se conoce por reducir al mínimo el error de un sentido de cuadros mínimos en lugar de un sentido de calidad visual. 3. Vector de movimiento: los datos correctos del vector de movimiento para regiones con grandes diferencias del cuadro fuente se codifican y transmiten. Este vector de movimiento es estimado utilizando los cuadros fuente y los cuadros de referencia reconstruidos, tanto en forma causal como no causal. La codificación causal es codificación predictiva que utiliza la información disponible al momento de la codificación/decodificación (por ejemplo, información de macrobloques previos en término de orden de decodificación) , mientras que la codificación no causal es codificación interpolativa que utiliza información interpolativa (por ejemplo, información del siguiente macrobloque) . 4. Codificación de B-cuadro: En la solicitud de patente copendiente número [040442] titulada "Método y Aparato par Utilizar Técnicas de Conversión Ascendente de Velocidad por Cuadro en Codificación de Video Escalable", se describe el uso de un cuadro FRUC interpolado como uno de los cuadros de referencia durante la predicción de B-cuadro. Este enfoque puede ofrecer, en promedio, un 30% de reducción en los datos de textura que se van a transmitir. 5. Basado en modo: el enfoque de codificación de B-cuadro, anterior, describe el uso de un cuadro interpolado como un cuadro de referencia en la codificación de B-cuadros. La decisión de utilizar el cuadro interpolado se puede basar en la velocidad (es decir, para reducir al mínimo la velocidad de bits para una distorsión determinada) , distorsión (es decir, para reducir al mínimo la distorsión para una velocidad de bits objetivo determinada) , y/o calidad (es decir, para elevar al máximo el error medio cuadrático o con base en HVS, una métrica para medir las mediciones de calidad basadas en calidad de percepción para una velocidad de bit objetivo determinada) . Una vez que se ha determinado la entropía que se va a codificar, en una modalidad, códigos de longitud variable comúnmente utilizados, tal como códigos Huffman o aritméticos, se pueden aplicar para codificar los datos. Además, para datos distribuidos Laplacianos tal como residuales, se pueden aplicar códigos Golomb-Rice o Exp-Golomb.
Generación de corriente de bits Las normas de codificación de video definen la corriente de bits que va a ser codificada por cualesquiera normas que se adecúen al decodificador de video. Sin embargo, la operación del codificador es "abierta" en el sentido de que cualquier técnica de codificador se puede utilizar siempre y cuando la corriente de bits codificada sea compatible con un decodificador que cumpla con las normas en el proceso de reconstrucción. En aplicaciones de finalidad abierta, en donde se desconocen las capacidades del decodificador, una corriente de bits que cumple con las normas necesita ser generada por el codificador y el rendimiento es enfocado y optimizado para que cumpla con la decodificación. En una modalidad, un módulo de generación de corriente de bits 112 del sistema de codificación 100 controla la operación de un generador de corriente de bits que cumple con las normas 114, un generador de corriente de bits que no cumple con las normas 116, y un generador de corriente de bits de marca registrada 118. La operación de cada uno de estos generadores se explicará a continuación. Los perfiles y niveles se definen en normas de codificación de video debido a que ofrecen un gran conjunto de herramientas para la codificación de objetos audio-visuales y, para permitir la ejecución efectiva de normas, se han identificado sub-conjuntos de los conjuntos de herramientas, que se van a utilizar para aplicaciones específicas. Estos sub-conjuntos, denominados "Perfiles" limitan el número de herramientas en un conjunto de herramientas que un decodificador tiene que ejecutar. Además, para cada uno de estos Perfiles, también se establece uno o más niveles de complejidad, restringiendo la complejidad computacional.
Cumplimiento de perfil y normas Para que los decodificadores cumplan con las normas en receptores a fin de decodificar una corriente transmitida, como en el caso de comunicaciones de multimedia inalámbricas, estos decodificadores de video se ajustan a perfiles y niveles específicos. Aunque se han provisto algoritmos FRUC en varias normas como anexos, típicamente no son parte de un perfil de norma. Por lo tanto, es deseable que no se tenga que realizar una modificación a la sintaxis y/o semántica de la corriente de bits para acomodar EA-FRUC.
Para que se ajuste a las normas existentes, el sistema de codificación 100 que utiliza sintaxis que cumple con las normas (cumple con el perfil) se puede explotar para transmitir la información de "ayuda". En una modalidad, la sintaxis de norma puede ser utilizada por el generador que cumple con las normas 114 en los siguientes enfoques para ejecutar el proceso EA-FRUC: a. Sintaxis de B-cuadro: cuando no se reciben B-cuadros, ya sea porque son parte de la capa de mejoramiento y solo se recibió la capa base o, no se envió todo el B-cuadro, con la mayoría de los macrobloques redundantes siendo macrobloques en modo de omisión, solo la información de ayuda es enviada a través de la codificación normal de B-cuadro. b. Trozos o imágenes redundantes: H.264 provee esta sintaxis. Todo un trozo o cuadro necesita ser enviado en este caso donde algunos de los cuadros son redundantes. Partes del trozo (pocos macrobloques importantes) o cuadro (pocos trozos determinados como importantes) son enviados utilizando esta sintaxis. Esta característica es parte de todos los perfiles definidos en H.264. c. Información suplementaria de mejora (SEI) : los campos específicos de SEI son parte de los perfiles en H.264 que se pueden utilizar para transmitir información de "ayuda".
Cumplimiento con las normas, no cumplimiento con el perfil Los conjuntos de herramientas en muchas normas de codificación de video incluyen sintaxis y semántica para portar datos privados que no cumplen con los perfiles definidos en la norma (es decir, las herramientas proveen referencias informativas en oposición a referencias normativas) . La interpretación de los datos privados analizados sintácticamente pueden ser específicos de dispositivos de destino, lo cual en un sistema de comunicación cerrado esta característica particular se puede explotar para mejorar el rendimiento. En una modalidad de la invención, el generador de corriente de bits que no cumple con las normas 116 utiliza estos datos privados que no cumplen con las normas para proveer la información de "ayuda" para FRUC en dicha aplicación de esta característica. El uso de información privada en un sistema de bucle cerrado provee más flexibilidad en la transmisión de información de "ayuda" ya que las modificaciones de decodificador necesarias para explotarlas son mínimas y se pueden habilitar a través de simples "enchufes" o "anexiones". a. Campos específicos de SEI : estos campos, los cuales no son parte de los perfiles en H.264, se pueden utilizar para transmitir información de "ayuda". b. Datos de usuario: MPEG-2 y MPEG-4 ofrecen sintaxis para portar datos privados, los cuales se pueden utilizar para transmitir la información de "ayuda".
Marca registrada Un codee de marca registrada que no se ajusta a las normas provisto en un generador de corriente de bits de marca registrada 118 aumenta la flexibilidad del enfoque EA-FRUC provisto en el mismo. Específicamente, cualquiera y todas las tecnologías de compresión (por ejemplo, basadas en transformadas tales como DCT, entero, Hadamard, onda, objeto, flujo óptico, o morfología) pueden adoptar el algoritmo genérico de interpolación de video aplicado para lograr la reducción de velocidad de bit y aumentar la eficiencia de la compresión como se describió anteriormente para EA-FRUC. Las ventajas de utilizar un codee de marca registrada incluyen el hecho de que la naturaleza de marca registrada del generador de corriente de bits 118 provee una plataforma extremadamente flexible para explotar todos los algoritmos FRUC y EA-FRUC. Gran reducción en la sobrecarga de corriente de bits, introducida por normas (por ejemplo, encabezados de macrobloque en H.264 tiende a ocupar el 25% de la velocidad de bits total) se puede reducir y/o eliminar. Codificación conjunta de fuente-canal también es posible ahora, lo cual es altamente ventajoso para comunicaciones de multimedia sobre canales propensos al error. Por ejemplo, un enfoque de marca registrada que utiliza probabilidades de canal de transmisión y fuente conjuntas, distribuciones y características, provee la capacidad para que el sistema de codificación 100 otorgue prioridad a una corriente particular y agregue parámetros necesarios y datos para recuperación de errores.
FRUC y EA-FRUC para ocultación de error La popularidad de ganancia de multimedia inalámbrica requiere que el video transmitido sea resiliente a errores y decodificadores de video inteligente que pueden ocultar errores de bits, paquete y ráfaga. La compresión de video remueve redundancia y aumenta la entropía en corriente comprimida. Sin embargo, irónicamente, la remoción de información redundante y el aumento en la entropía es tan importante, casi al grado de que la pérdida de un solo bit, byte o paquete de datos puede impactar la calidad del video reconstruido; oscilando de la pérdida de un bloque a muchos macrobloques o trozos, propagándose a través del GOP actual hasta que el siguiente
I o cuadro de Actualización de Decodificación Instantánea
(IDR) es recibido correctamente. IDR es una terminología de
H.264 que significa Actualización de Decodificación
Instantánea. Una imagen IDR es un punto de actualización absoluto (unidad de acceso) en la corriente de bits, de manera que no existe información predictiva más allá de la unidad de acceso necesaria para decodificar una imagen IDR. Las posibilidades de errores que ocurren tienen serias consecuencias y la ocultación de errores es vital en aplicaciones tales como telefonía de video, otorgamiento de video y video por correo electrónico) . Los errores también tienen impacto en las latencias de aplicaciones de conversión. Afortunadamente, la interpolación de cuadro, trozo, macrobloque y bloque así como los algoritmos de interpolación asistida (por ejemplo, asignación de vector de movimiento y procesamiento de vector de movimiento) tal como se provee en varias formas de FRUC, se pueden utilizar para la ocultación de errores. La figura 5 muestra un diagrama en bloques de una terminal de acceso 502x y un punto de acceso 504x, en donde el decodificador 154 y el codificador 104 pueden estar respectivamente ubicados en una aplicación del sistema EA-FRUC 100 para un sistema inalámbrico. Para el enlace inverso, en la terminal de acceso 502x, un procesador de datos de transmisión (TX) 514 recibe datos de tráfico provenientes de una memoria intermedia de datos 512, procesa (por ejemplo, codifica, intercala y mapea en símbolos) cada paquete de datos que está basado en un esquema de codificación y modulación seleccionado, y provee 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 con anterioridad) . Un modulador 516 recibe los símbolos de datos, símbolos piloto, y posiblemente señalización para el enlace inverso, ejecuta (por ejemplo, OFDM) modulación y/u otro procesamiento conforme a lo especificado por el sistema, y provee una corriente de chips de salida. Una unidad transmisora (TMTR) 518 procesa (por ejemplo, convierte a análogo, filtra, amplifica y sobre-convierte en frecuencia) la corriente- de chips de salida y genera una señal modulada, la cual es transmitida desde una antena 520. En el punto de acceso 504x, las señales moduladas transmitidas por la terminal de acceso 502x y otras terminales en comunicación con el punto de acceso 504x, son recibidas por una antena 552. Una unidad receptora (RCVR) 554 procesa (por ejemplo, acondiciona y digitaliza) la señal recibida desde la antena 522 y provee muestras recibidas. Un desmodulador (Demod) 556 procesa (por ejemplo, desmodula y detecta) las muestras recibidas y provee símbolos de datos detectados, los cuales son estimado de ruido de los símbolos de datos transmitidos por las terminales al punto de acceso 504x. Un procesador de datos de recepción (RX) 558 procesa (por ejemplo, desmapea en símbolos, desintercala y decodifica) los símbolos de datos detectados para cada terminal y provee datos decodificados para esa terminal. Para el enlace de avance, en el punto de acceso 504x, los datos de tráfico son procesados por un procesador de datos TX 560 para generar símbolos de datos. Un modulador 562 recibe los símbolos de datos, símbolos piloto, y señalización para el enlace de avance, ejecuta (por ejemplo, OFDM) modulación y/u otro procesamiento pertinente, y provee una corriente de chips de salida, la cual es acondicionada adicionalmente por una unidad transmisora 564 y transmitida desde la antena 552. La señalización del enlace de avance puede incluir comandos de control de potencia generados por un controlador 570 para todas las terminales que transmiten en el enlace inverso al punto de acceso 504x. En la terminal de acceso 502x, la señal modulada transmitida por el punto de acceso 504x es recibida por la antena 520, acondicionada y digitalizada por una unidad receptora 522, y procesada por un desmodulador 524 para obtener símbolos de datos detectados. Un procesador de datos RX 1026 procesa los símbolos de datos detectados y provee datos decodificados para la terminal y la señalización de enlace de avance. El controlador 530 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 504x. Los controladores 530 y 570 dirigen la operación de la terminal de acceso 502x y el punto de acceso 504x, respectivamente. Las unidades de memoria 532 y 572 almacenan códigos de programa y datos utilizados por los controladores 530 y 570, respectivamente. Una "terminal de acceso", tal como aquí se analizó, se refiere a un dispositivo que provee conectividad de voz y/o datos a un usuario. La terminal de acceso se puede conectar a un dispositivo de cómputo tal como una computadora portátil o una computadora de escritorio, o puede ser un dispositivo autónomo tal como un asistente digital personal. La terminal de acceso también se puede denominar como una unidad suscriptora, 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. 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) . 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. 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. Los pasos de un método o algoritmo descrito en relación con las modalidades aquí descritas se pueden incorporar directamente en hardware, en un módulo de software ejecutado por un procesador, o en una combinación de los dos. Un módulo de software puede residir en memoria RAM, memoria instantánea, memoria ROM, memoria EPROM, memoria EEPROM, registros, disco duro, un disco removible, un CD-ROM, o cualquier otra forma de medio de almacenamiento conocida en la técnica. Un medio de almacenamiento ejemplar está acoplado al procesador, de manera que el procesador puede leer información de, y escribir información en el 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. La descripción de las modalidades descritas se provee para permitir a cualquier experto en la técnica hacer o utilizar las diversas modalidades. Varias modificaciones a estas modalidades serán 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 de envío de mensajes instantáneo o cualesquiera aplicaciones de comunicación de datos inalámbrica general, sin apartarse del espíritu o alcance de la invención. Por lo tanto, la descripción no pretende quedar limitada 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 .
Claims (36)
1.- Un método para la construcción de una secuencia de video que incluye una secuencia de cuadros que comprende : determinar una cantidad de un tipo de actividad en la secuencia de cuadros, el tipo de actividad seleccionado de un grupo que consiste de actividad espacial, actividad temporal y espacial-temporal; determinar una redundancia en la actividad; y codificar el cuadro si la redundancia determinada está por debajo de un umbral predeterminado.
2. - El método de conformidad con la reivindicación 1 , caracterizado porque la determinación de la actividad espacial en la secuencia de cuadros comprende determinar una cantidad de información de textura por lo menos en un cuadro de la secuencia.
3. - El método de conformidad con la reivindicación 1, caracterizado porque la determinación de la actividad temporal en la secuencia de cuadros comprende determinar una cantidad de correlación temporal y redundancia por lo menos entre dos cuadros en la secuencia de cuadros.
4.- El método de conformidad con la reivindicación 1, caracterizado porque la determinación de la actividad espacio-temporal en el cuadro de la secuencia de cuadros comprende determinar una cantidad de correlación temporal y redundancia de una cantidad de información de textura por lo menos entre dos cuadros en la secuencia de cuadros .
5. - El método de conformidad con la reivindicación 1, caracterizado porque la determinación de la redundancia en la actividad comprende determinar la redundancia utilizando por lo menos una medición de actividad espacial seleccionada del grupo que consiste de una medición de relación de contraste, una medición de complejidad espacial y una medición de varianza.
6.- El método de conformidad con la reivindicación 1, caracterizado porque la determinación de la redundancia en la actividad comprende determinar la redundancia utilizando por lo menos una medición de actividad temporal seleccionada del grupo que consiste de una medición de intensidad de campo de movimiento, una medición de complejidad temporal, una suma de medición de diferencias absolutas .
7. - El método de conformidad con la reivindicación 1, caracterizado porque la determinación de la redundancia en la actividad comprende determinar la redundancia mediante la comparación por lo menos de dos mediciones de actividad seleccionadas del grupo que consiste de una correlación de mediciones de actividad espacial entre una pluralidad de cuadros vecinos, una medición de directividad, un comportamiento conjunto entre regiones con mediciones variables de actividad espacial, una medición de intensidad de campo de movimiento, una medición de complejidad temporal, y una suma de medición de diferencias absolutas.
8. - Un método para determinar información diferencial entre dos cuadros que comprende: determinar una medición de diferencia seleccionada de un grupo que consiste de una medición de diferencias de píxel, una medición de diferencias de información de movimiento, una medición de umbral de decisión de modo y una medición de refinamiento de cuadro interpolado, en donde la determinación de la medición de diferencia es ejecutada utilizando un proceso de conversión ascendente de velocidad por cuadro.
9.- Un método para codificar información diferencial que comprende: utilizar por lo menos una técnica seleccionada de un grupo que consiste de un proceso de compensación de movimiento, un proceso de transformación de vector en movimiento, un proceso de cuantificación de vector de movimiento, y un proceso de codificación de entropía, por lo menos una técnica es especificada en una norma de codificación de video, en donde un procesador que cumple con las normas puede procesar la información diferencial en conjunto con el proceso de conversión ascendente de velocidad por cuadro para generar un cuadro de video.
10.- Un método para procesar una corriente de bits de video, la corriente de bits de video tiene información diferencial contenida en la misma, el método comprende : utilizar una técnica de codificación de entropía para codificar información diferencial en la corriente de bits de video seleccionada de un grupo que consiste de una técnica de codificación de longitud variable, una técnica de codificación Huffman, y una técnica de codificación aritmética; y transmitir la información codificada en una sintaxis de datos de usuario especificada en una norma de codificación de video.
11.- El método de conformidad con la reivindicación 10, que además comprende generar una corriente de bits de video que cumple con las normas.
12.- Un método para procesar una corriente de bits de video con información diferencial codificada en la misma, la información diferencial codificada está almacenada en una sintaxis de datos de usuario, el método comprende : extraer la información diferencial codificada de la sintaxis de datos de usuario; decodificar la información diferencial; y generar un cuadro de video utilizando la información diferencial decodificada en un proceso de conversión ascendente de velocidad por cuadro.
13.- Un medio legible por computadora que tiene instrucciones almacenadas en el mismo para hacer que una computadora ejecute un método para la construcción de una secuencia de video que incluye una secuencia de cuadros que comprende : determinar una cantidad de un tipo de actividad en la secuencia de cuadros, el tipo de actividad seleccionado de un grupo que consiste de actividad espacial, actividad temporal y espacial-temporal; determinar una redundancia en la actividad; y codificar el cuadro si la redundancia determinada está por debajo de un umbral predeterminado.
14.- El medio legible por computadora de conformidad con la reivindicación 13, caracterizado porque la determinación de la actividad espacial en la secuencia de cuadros comprende determinar una cantidad de información de textura por lo menos en un cuadro de la secuencia.
15.- El medio legible por computadora de conformidad con la reivindicación 13, caracterizado porque la determinación de la actividad temporal en la secuencia de cuadros comprende determinar una cantidad de correlación temporal y redundancia por lo menos entre dos cuadros en la secuencia de cuadros.
16.- El medio legible por computadora de conformidad con la reivindicación 13, caracterizado porque la determinación de la actividad espacio-temporal en el cuadro de la secuencia de cuadros comprende determinar una cantidad de correlación temporal y redundancia de una cantidad de información de textura por lo menos entre dos cuadros en la secuencia de cuadros.
17.- El medio legible por computadora de conformidad con la reivindicación 13, caracterizado porque la determinación de la redundancia en la actividad comprende determinar la redundancia utilizando por lo menos una medición de actividad espacial seleccionada del grupo que consiste de una medición de relación de contraste, una medición de complejidad espacial y una medición de varianza.
18.- El medio legible por computadora de conformidad con la reivindicación 13, caracterizado porque la determinación de la redundancia en la actividad comprende determinar la redundancia utilizando por lo menos una medición de actividad temporal seleccionada del grupo que consiste de una medición de intensidad de campo de movimiento, una medición de complejidad temporal, una suma de medición de diferencias absolutas.
19.- El medio legible por computadora de conformidad con la reivindicación 13, caracterizado porque la determinación de la redundancia en la actividad comprende determinar la redundancia mediante la comparación por lo menos de dos mediciones de actividad seleccionadas del grupo que consiste de una correlación de mediciones de actividad espacial entre una pluralidad de cuadros vecinos, una medición de directividad, un comportamiento conjunto entre regiones con mediciones variables de actividad espacial, una medición de intensidad de campo de movimiento, una medición de complejidad temporal, y una suma de medición de diferencias absolutas.
20.- Un medio legible por computadora que tiene instrucciones almacenadas en el mismo para ocasionar que una computadora ejecute un método para determinar información diferencial entre dos cuadros que comprende: determinar una medición de diferencia seleccionada de un grupo que consiste de una medición de diferencias de píxel, una medición de diferencias de información de movimiento, una medición de umbral de decisión de modo y una medición de refinamiento de cuadro interpolado, en donde la determinación de la medición de diferencia es ejecutada utilizando un proceso de conversión ascendente de velocidad por cuadro .
21.- Un medio legible por computadora que tiene instrucciones almacenadas en el mismo para ocasionar que una computadora ejecute un método para codificar información diferencial que comprende: utilizar por lo menos una técnica seleccionada de un grupo que consiste de un proceso de compensación de movimiento, un proceso de transformación de vector en movimiento, un proceso de cuantificación de vector de movimiento, y un proceso de codificación de entropía, por lo menos una técnica es especificada en una norma de codificación de video, en donde un procesador que cumple con las normas puede procesar la información diferencial en conjunto con el proceso de conversión ascendente de velocidad por cuadro para generar un cuadro de video.
22.- Un medio legible por computadora que tiene instrucciones almacenadas en el mismo para ocasionar que una computadora ejecute un método para procesar una corriente de bits de video, la corriente de bits de video tiene información diferencial contenida en la misma, el método comprende : utilizar una técnica de codificación de entropía para codificar información diferencial en la corriente de bits de video seleccionada de un grupo que consiste de una técnica de codificación de longitud variable, una técnica de codificación Huffman, y una técnica de codificación aritmética; y transmitir la información codificada en una sintaxis de datos de usuario especificada en una norma de codificación de video.
23.- El medio legible por computadora de conformidad con la reivindicación 22, que además comprende generar una corriente de bits de video que cumple con las normas.
24.- Un medio legible por computadora que tiene instrucciones almacenadas en el mismo para ocasionar que una computadora ejecute un método para procesar una corriente de bits de video con información diferencial codificada en la misma, la información diferencial codificada está almacenada en una sintaxis de datos de usuario, el método comprende: extraer la información diferencial codificada de la sintaxis de datos de usuario; y decodificar la información diferencial; y generar un cuadro de video utilizando un proceso de conversión ascendente de velocidad por cuadro.
25.- Un aparato para la construcción de una secuencia de video que incluye una secuencia de cuadros que comprende : medios para determinar una cantidad de un tipo de actividad en la secuencia de cuadros, el tipo de actividad seleccionado de un grupo que consiste de actividad espacial, actividad temporal y espacial-temporal; medios para determinar una redundancia en la actividad; y medios para codificar el cuadro si la redundancia determinada está por debajo de un umbral predeterminado.
26.- El aparato de conformidad con la reivindicación 25, caracterizado porque los medios para la determinación de la actividad espacial en la secuencia de cuadros comprenden medios para determinar una cantidad de información de textura por lo menos en un cuadro de la secuencia.
27.- El aparato de conformidad con la reivindicación 25, caracterizado porque los medios para la determinación de la actividad temporal en la secuencia de cuadros comprenden medios para determinar una cantidad de correlación temporal y redundancia por lo menos entre dos cuadros en la secuencia de cuadros.
28.- El aparato de conformidad con la reivindicación 25, caracterizado porque los medios para la determinación de la actividad espacio-temporal en el cuadro de la secuencia- de cuadros comprenden medios para determinar una cantidad de correlación temporal y redundancia de una cantidad de información de textura por lo menos entre dos cuadros en la secuencia de cuadros.
29.- El aparato de conformidad con la reivindicación 25, caracterizado porque los medios para la determinación de la redundancia en la actividad comprenden medios para determinar la redundancia utilizando por lo menos una medición de actividad espacial seleccionada del grupo que consiste de una medición de relación de contraste, una medición de complejidad espacial y una medición de varianza.
30.- El aparato de conformidad con la reivindicación 25, caracterizado porque los medios para la determinación de la redundancia en la actividad comprenden medios para determinar la redundancia utilizando por lo menos una medición de actividad temporal seleccionada del grupo que consiste de una medición de intensidad de campo de movimiento, una medición de complejidad temporal, una suma de medición de diferencias absolutas.
31.- El aparato de conformidad con la reivindicación 25, caracterizado porque los medios para la determinación de la redundancia en la actividad comprenden medios para determinar la redundancia mediante la comparación por lo menos de dos mediciones de actividad seleccionadas del grupo que consiste de una correlación de mediciones de actividad espacial entre una pluralidad de cuadros vecinos, una medición de directividad, un comportamiento conjunto entre regiones con mediciones variables de actividad espacial, una medición de intensidad de campo de movimiento, una medición de complejidad temporal, y una suma de medición de diferencias absolutas.
32.- Un aparato para determinar información diferencial entre dos cuadros que comprende medios para determinar una medición de diferencia seleccionada de un grupo que consiste de una medición de diferencias de píxel, una medición de diferencias de información de movimiento, una medición de umbral de decisión de modo y una medición de refinamiento de cuadro interpolado, en donde la determinación de la medición de diferencia es ejecutada utilizando un proceso de conversión ascendente de velocidad por cuadro.
33.- Un aparato para codificar información diferencial que comprende medios para utilizar por lo menos una técnica seleccionada de un grupo que consiste de un proceso de compensación de movimiento, un proceso de transformación de vector en movimiento, un proceso de cuantificación de vector de movimiento, y un proceso de codificación de entropía, por lo menos una técnica es especificada en una norma de codificación de video, en donde un procesador que cumple con las normas puede procesar la información diferencial en conjunto con el proceso de conversión ascendente de velocidad por cuadro para generar un cuadro de video.
34.- Un aparato para procesar una corriente de bits de video, la corriente de bits de video tiene información diferencial contenida en la misma, que comprende : medios para utilizar una técnica de codificación de entropía para codificar información diferencial en la corriente de bits de video seleccionada de un grupo que consiste de una técnica de codificación de longitud variable, una técnica de codificación Huffman, y una técnica de codificación aritmética; y medios para transmitir la información codificada en una sintaxis de datos de usuario especificada en una norma de codificación de video.
35.- El aparato de conformidad con la reivindicación 34, que además comprende medios para generar una corriente de bits de video que cumple con las normas.
36.- Un aparato para procesar una corriente de bits de video con información diferencial codificada en la misma, la información diferencial codificada está almacenada en una sintaxis de datos de usuario, que comprende : medios para extraer la información diferencial codificada de la sintaxis de datos de usuario; medios para decodificar la información diferencial; y medios para generar un cuadro de video utilizando la información diferencial decodificada en un proceso de conversión ascendente de velocidad por cuadro.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US58990104P | 2004-07-20 | 2004-07-20 | |
PCT/US2005/025813 WO2006012384A2 (en) | 2004-07-20 | 2005-07-20 | Method and apparatus for encoder assisted-frame rate up conversion (ea-fruc) for video compression |
Publications (1)
Publication Number | Publication Date |
---|---|
MX2007000810A true MX2007000810A (es) | 2007-04-02 |
Family
ID=35044777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MX2007000810A MX2007000810A (es) | 2004-07-20 | 2005-07-20 | Metodo y aparato para conversion ascendente de velocidad por cuadro asistido de codificador (ea-fruc) para compresion de video. |
Country Status (13)
Country | Link |
---|---|
US (2) | US8374246B2 (es) |
EP (3) | EP1772017A2 (es) |
JP (1) | JP2008507915A (es) |
KR (2) | KR101016168B1 (es) |
CN (1) | CN101189882B (es) |
AU (1) | AU2005267171A1 (es) |
BR (1) | BRPI0513527A (es) |
CA (1) | CA2574297A1 (es) |
IL (1) | IL180767A0 (es) |
MX (1) | MX2007000810A (es) |
RU (1) | RU2377737C2 (es) |
TW (1) | TW200625964A (es) |
WO (1) | WO2006012384A2 (es) |
Families Citing this family (105)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100145794A1 (en) * | 1999-10-21 | 2010-06-10 | Sean Barnes Barger | Media Processing Engine and Ad-Per-View |
EP1747678B1 (en) * | 2004-05-04 | 2015-01-07 | Qualcomm, Incorporated | Method and apparatus for motion compensated frame rate up conversion |
RU2370909C2 (ru) * | 2004-07-01 | 2009-10-20 | Квэлкомм Инкорпорейтед | Способ и устройство для использования способов преобразования кадров с повышением частоты кадров при кодировании масштабируемого видео |
TW200625964A (en) | 2004-07-20 | 2006-07-16 | Qualcomm Inc | Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression |
US8553776B2 (en) * | 2004-07-21 | 2013-10-08 | QUALCOMM Inorporated | Method and apparatus for motion vector assignment |
US8363714B2 (en) * | 2004-12-22 | 2013-01-29 | Entropic Communications, Inc. | Video stream modifier |
US8422546B2 (en) * | 2005-05-25 | 2013-04-16 | Microsoft Corporation | Adaptive video encoding using a perceptual model |
US9258519B2 (en) * | 2005-09-27 | 2016-02-09 | Qualcomm Incorporated | Encoder assisted frame rate up conversion using various motion models |
US8340179B2 (en) * | 2006-03-21 | 2012-12-25 | Canon Kabushiki Kaisha | Methods and devices for coding and decoding moving images, a telecommunication system comprising such a device and a program implementing such a method |
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 |
US8358704B2 (en) | 2006-04-04 | 2013-01-22 | Qualcomm Incorporated | Frame level multimedia decoding with frame information table |
US8634463B2 (en) * | 2006-04-04 | 2014-01-21 | Qualcomm Incorporated | Apparatus and method of enhanced frame interpolation in video compression |
US8130828B2 (en) * | 2006-04-07 | 2012-03-06 | Microsoft Corporation | Adjusting quantization to preserve non-zero AC coefficients |
US8503536B2 (en) | 2006-04-07 | 2013-08-06 | Microsoft Corporation | Quantization adjustments for DC shift artifacts |
US8059721B2 (en) | 2006-04-07 | 2011-11-15 | Microsoft Corporation | Estimating sample-domain distortion in the transform domain with rounding compensation |
US7995649B2 (en) | 2006-04-07 | 2011-08-09 | Microsoft Corporation | Quantization adjustment based on texture level |
US20070237237A1 (en) * | 2006-04-07 | 2007-10-11 | Microsoft Corporation | Gradient slope detection for video compression |
TW200743386A (en) * | 2006-04-27 | 2007-11-16 | Koninkl Philips Electronics Nv | Method and apparatus for encoding/transcoding and decoding |
US8711925B2 (en) | 2006-05-05 | 2014-04-29 | Microsoft Corporation | Flexible quantization |
US20080025390A1 (en) * | 2006-07-25 | 2008-01-31 | Fang Shi | Adaptive video frame interpolation |
KR100856223B1 (ko) * | 2006-10-19 | 2008-09-03 | 삼성전자주식회사 | H.264 인코더의 적응적 인코딩 모드 결정 장치 및결정 방법 |
BRPI0717322A2 (pt) | 2006-10-25 | 2015-02-10 | Thomson Licensing | Métodos e aparelho para codificação de primeira passagem eficiente um codificador de múltiplas passagens |
US8929448B2 (en) * | 2006-12-22 | 2015-01-06 | Sony Corporation | Inter sub-mode decision process in a transcoding operation |
US8238424B2 (en) * | 2007-02-09 | 2012-08-07 | Microsoft Corporation | Complexity-based adaptive preprocessing for multiple-pass video compression |
US20080240257A1 (en) * | 2007-03-26 | 2008-10-02 | Microsoft Corporation | Using quantization bias that accounts for relations between transform bins and quantization bins |
US8498335B2 (en) | 2007-03-26 | 2013-07-30 | Microsoft Corporation | Adaptive deadzone size adjustment in quantization |
US8243797B2 (en) | 2007-03-30 | 2012-08-14 | Microsoft Corporation | Regions of interest for quality adjustments |
US8442337B2 (en) | 2007-04-18 | 2013-05-14 | Microsoft Corporation | Encoding adjustments for animation content |
US8331438B2 (en) * | 2007-06-05 | 2012-12-11 | Microsoft Corporation | Adaptive selection of picture-level quantization parameters for predicted video pictures |
WO2009032255A2 (en) * | 2007-09-04 | 2009-03-12 | 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 |
US8514939B2 (en) * | 2007-10-31 | 2013-08-20 | Broadcom Corporation | Method and system for motion compensated picture rate up-conversion of digital video using picture boundary processing |
US8767831B2 (en) * | 2007-10-31 | 2014-07-01 | Broadcom Corporation | Method and system for motion compensated picture rate up-conversion using information extracted from a compressed video stream |
US8953685B2 (en) | 2007-12-10 | 2015-02-10 | Qualcomm Incorporated | Resource-adaptive video interpolation or extrapolation with motion level analysis |
US8750390B2 (en) * | 2008-01-10 | 2014-06-10 | Microsoft Corporation | Filtering and dithering as pre-processing before encoding |
US8160132B2 (en) | 2008-02-15 | 2012-04-17 | Microsoft Corporation | Reducing key picture popping effects in video |
JP4930409B2 (ja) * | 2008-02-21 | 2012-05-16 | 富士通株式会社 | 画像符号化装置、画像符号化方法および画像符号化プログラム |
US8170107B2 (en) * | 2008-03-06 | 2012-05-01 | Lsi Corporation | Flexible reduced bandwidth compressed video decoder |
US8189933B2 (en) | 2008-03-31 | 2012-05-29 | Microsoft Corporation | Classifying and controlling encoding quality for textured, dark smooth and smooth video content |
KR101463038B1 (ko) * | 2008-05-29 | 2014-11-19 | 삼성디스플레이 주식회사 | 표시 장치와 그 구동 방법 |
US8897359B2 (en) | 2008-06-03 | 2014-11-25 | Microsoft Corporation | Adaptive quantization for enhancement layer video coding |
US8494058B2 (en) | 2008-06-23 | 2013-07-23 | Mediatek Inc. | Video/image processing apparatus with motion estimation sharing, and related method and machine readable medium |
US8284839B2 (en) * | 2008-06-23 | 2012-10-09 | Mediatek Inc. | Joint system for frame rate conversion and video compression |
US10123050B2 (en) | 2008-07-11 | 2018-11-06 | Qualcomm Incorporated | Filtering video data using a plurality of filters |
US20100014584A1 (en) * | 2008-07-17 | 2010-01-21 | Meir Feder | Methods circuits and systems for transmission and reconstruction of a video block |
US20100046623A1 (en) * | 2008-08-19 | 2010-02-25 | Chen Xuemin Sherman | Method and system for motion-compensated frame-rate up-conversion for both compressed and decompressed video bitstreams |
US9571856B2 (en) | 2008-08-25 | 2017-02-14 | Microsoft Technology Licensing, Llc | Conversion operations in scalable video encoding and decoding |
US8179460B2 (en) * | 2008-09-22 | 2012-05-15 | Aptina Imaging Corporation | System, method, and apparatus for variable rate pixel data transfer and storage |
US9143803B2 (en) | 2009-01-15 | 2015-09-22 | Qualcomm Incorporated | Filter prediction based on activity metrics in video coding |
EP2445216A4 (en) * | 2009-06-19 | 2013-03-20 | Mitsubishi Electric Corp | IMAGE ENCODING DEVICE, IMAGE DECODING DEVICE, IMAGE ENCODING METHOD, AND IMAGE DECODING METHOD |
US8711769B2 (en) * | 2009-07-16 | 2014-04-29 | Telefonaktiebolaget L M Ericsson (Publ) | Interferer region identification using image processing |
EP2285111A1 (en) * | 2009-08-07 | 2011-02-16 | Canon Kabushiki Kaisha | Method for sending compressed data representing a digital image and corresponding device |
US9788017B2 (en) | 2009-10-07 | 2017-10-10 | Robert Laganiere | Video analytics with pre-processing at the source end |
CA2776909A1 (en) | 2009-10-07 | 2011-04-14 | Telewatch Inc. | Video analytics method and system |
TWI413096B (zh) * | 2009-10-08 | 2013-10-21 | Chunghwa Picture Tubes Ltd | 適應性畫面更新率調變系統及其方法 |
US20110216829A1 (en) * | 2010-03-02 | 2011-09-08 | Qualcomm Incorporated | Enabling delta compression and modification of motion estimation and metadata for rendering images to a remote display |
JP5583992B2 (ja) * | 2010-03-09 | 2014-09-03 | パナソニック株式会社 | 信号処理装置 |
US9143739B2 (en) | 2010-05-07 | 2015-09-22 | Iwatchlife, Inc. | Video analytics with burst-like transmission of video data |
CA2748060A1 (en) | 2010-08-04 | 2012-02-04 | Iwatchlife Inc. | Method and system for making video calls |
CA2748065A1 (en) | 2010-08-04 | 2012-02-04 | Iwatchlife Inc. | Method and system for locating an individual |
US8885007B2 (en) | 2010-08-04 | 2014-11-11 | Iwatchlife, Inc. | Method and system for initiating communication via a communication network |
US8982960B2 (en) * | 2011-02-23 | 2015-03-17 | Qualcomm Incorporated | Multi-metric filtering |
JP5552078B2 (ja) * | 2011-02-28 | 2014-07-16 | 株式会社メガチップス | 符号化装置 |
CN102082896B (zh) * | 2011-03-04 | 2014-04-16 | 中山大学 | 液晶显示设备的视频处理方法 |
US9258590B2 (en) * | 2011-07-20 | 2016-02-09 | Lg Electronics Inc. | Method for receiving media and device thereof |
US9398300B2 (en) * | 2011-10-07 | 2016-07-19 | Texas Instruments Incorporated | Method, system and apparatus for intra-prediction in video signal processing using combinable blocks |
KR20190097306A (ko) * | 2012-01-19 | 2019-08-20 | 브이아이디 스케일, 인크. | 시청 조건에 대한 적응을 지원하는 비디오 전송 방법 및 시스템 |
JP5843631B2 (ja) | 2012-01-26 | 2016-01-13 | 日本電信電話株式会社 | フレームレート制御方法,フレームレート制御装置およびフレームレート制御プログラム |
RU2641470C2 (ru) | 2012-06-28 | 2018-01-17 | Сони Корпорейшн | Устройство передачи/приема, способ и устройство кодирования/декодирования |
US8811735B2 (en) * | 2012-07-14 | 2014-08-19 | Sigma Designs, Inc. | System and method for scalar quantization error reduction |
CA2822217A1 (en) | 2012-08-02 | 2014-02-02 | Iwatchlife Inc. | Method and system for anonymous video analytics processing |
KR101980579B1 (ko) * | 2012-08-27 | 2019-05-21 | 엘지전자 주식회사 | 동영상 프레임의 움직임 보상 프레임 레이트 업 변환 방법 및 그 장치 |
RU2533852C2 (ru) * | 2012-12-26 | 2014-11-20 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Способ кодирования/декодирования многоракурсной видеопоследовательности на основе адаптивной компенсации локальных различий яркости при межкадровом предсказании (варианты) |
US9578333B2 (en) * | 2013-03-15 | 2017-02-21 | Qualcomm Incorporated | Method for decreasing the bit rate needed to transmit videos over a network by dropping video frames |
JP2016525295A (ja) * | 2013-06-25 | 2016-08-22 | ヌメリ リミテッド | ビデオのマルチレベルの空間‐時間解像度上昇 |
US20150063469A1 (en) * | 2013-08-30 | 2015-03-05 | Arris Enterprises, Inc. | Multipass encoder with heterogeneous codecs |
US20150071343A1 (en) * | 2013-09-12 | 2015-03-12 | Magnum Semiconductor, Inc. | Methods and apparatuses including an encoding system with temporally adaptive quantization |
US20150172680A1 (en) * | 2013-12-16 | 2015-06-18 | Arris Enterprises, Inc. | Producing an Output Need Parameter for an Encoder |
US11064204B2 (en) | 2014-05-15 | 2021-07-13 | Arris Enterprises Llc | Automatic video comparison of the output of a video decoder |
US20170249521A1 (en) * | 2014-05-15 | 2017-08-31 | Arris Enterprises, Inc. | Automatic video comparison of the output of a video decoder |
US10432946B2 (en) * | 2014-12-23 | 2019-10-01 | Apple Inc. | De-juddering techniques for coded video |
US20160182853A1 (en) * | 2015-03-20 | 2016-06-23 | Mediatek Inc. | Dynamic Content Adaptive Frame Rate Conversion |
FR3035729B1 (fr) | 2015-04-28 | 2020-11-27 | Ateme | Procede d'analyse d'une sequence video et equipement pour la mise en oeuvre du procede |
JP6558071B2 (ja) * | 2015-05-20 | 2019-08-14 | 富士通コネクテッドテクノロジーズ株式会社 | 無線通信装置、無線通信プログラム、及び無線通信方法 |
WO2016204490A1 (ko) * | 2015-06-16 | 2016-12-22 | 엘지전자 주식회사 | 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 |
WO2016203282A1 (en) | 2015-06-18 | 2016-12-22 | The Nielsen Company (Us), Llc | Methods and apparatus to capture photographs using mobile devices |
KR102126511B1 (ko) * | 2015-09-02 | 2020-07-08 | 삼성전자주식회사 | 보충 정보를 이용한 영상 프레임의 보간 방법 및 장치 |
CN115278229A (zh) | 2015-11-11 | 2022-11-01 | 三星电子株式会社 | 对视频进行解码的设备和对视频进行编码的设备 |
CN105657434B (zh) * | 2016-01-20 | 2019-03-01 | 同济大学 | 基于数模混合的大数据辅助视频传输方法 |
US10368074B2 (en) | 2016-03-18 | 2019-07-30 | Microsoft Technology Licensing, Llc | Opportunistic frame dropping for variable-frame-rate encoding |
US10419777B2 (en) | 2016-12-22 | 2019-09-17 | Google Llc | Non-causal overlapped block prediction in variable block size video coding |
CN106851303B (zh) * | 2016-12-30 | 2020-06-16 | 中国科学院自动化研究所 | 一种视频图像中小物体块检测方法及系统 |
EP3451669A1 (en) * | 2017-08-29 | 2019-03-06 | Thomson Licensing | Methods and apparatus for improved compression/decompression using frame rate up conversion tools |
TWI673958B (zh) * | 2018-08-30 | 2019-10-01 | 英屬開曼群島商捷鼎創新股份有限公司 | 基於抽樣猜測之資料壓縮方法 |
CN109151467B (zh) * | 2018-09-10 | 2021-07-13 | 重庆邮电大学 | 基于图像块活动性的屏幕内容编码帧间模式快速选择方法 |
KR20200060589A (ko) | 2018-11-21 | 2020-06-01 | 삼성전자주식회사 | 병합된 프레임율 컨버터와 비디오 코덱을 갖는 시스템 온 칩 및 그것의 프레임율 변환 방법 |
CN111277863B (zh) * | 2018-12-05 | 2022-06-14 | 阿里巴巴集团控股有限公司 | 一种光流插帧方法和装置 |
CN111277895B (zh) * | 2018-12-05 | 2022-09-27 | 阿里巴巴集团控股有限公司 | 一种视频插帧方法和装置 |
CN110446107B (zh) * | 2019-08-15 | 2020-06-23 | 电子科技大学 | 一种适用于缩放运动和明暗变化的视频帧率上变换方法 |
CN111327926B (zh) * | 2020-02-12 | 2022-06-28 | 北京百度网讯科技有限公司 | 视频插帧方法、装置、电子设备及存储介质 |
US11521291B1 (en) | 2020-04-08 | 2022-12-06 | Apple Inc. | Method and device for latency reduction of an image processing pipeline |
US11363262B1 (en) * | 2020-12-14 | 2022-06-14 | Google Llc | Adaptive GOP structure using temporal dependencies likelihood |
CN112995677B (zh) * | 2021-02-08 | 2022-05-31 | 信阳师范学院 | 一种基于像素语义匹配的视频帧率上转换方法 |
CN113315967B (zh) * | 2021-07-28 | 2021-11-09 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、介质及电子设备 |
Family Cites Families (89)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US58990A (en) | 1866-10-23 | culver | ||
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 | ソニー株式会社 | 映像信号伝送方法及び映像信号伝送装置 |
WO1992001607A1 (en) | 1990-07-19 | 1992-02-06 | E.I. Du Pont De Nemours And Company | Interlocking pallet |
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 | 강진구 | 영상신호의 운동벡터 검출방법 |
WO1994028677A1 (en) * | 1993-06-01 | 1994-12-08 | Thomson Multimedia S.A. | Method and apparatus for motion compensated 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 |
EP0840982B1 (en) | 1996-05-24 | 2002-02-13 | Koninklijke Philips Electronics N.V. | Motion estimation |
WO1997046020A2 (en) | 1996-05-24 | 1997-12-04 | Philips Electronics N.V. | Motion vector processing |
JP3363036B2 (ja) | 1996-08-23 | 2003-01-07 | ケイディーディーアイ株式会社 | 動画像符号化ビットストリーム変換装置 |
EP1085504B1 (en) * | 1996-11-07 | 2002-05-29 | Matsushita Electric Industrial Co., Ltd. | CELP-Codec |
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 |
US6539120B1 (en) * | 1997-03-12 | 2003-03-25 | Matsushita Electric Industrial Co., Ltd. | MPEG decoder providing multiple standard output signals |
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 | 株式会社日立製作所 | 動きベクトルの生成方法および装置 |
WO1999022525A1 (en) | 1997-10-23 | 1999-05-06 | Mitsubishi Denki Kabushiki Kaisha | Image encoding method, image encoder, image decoding method, and image decoder |
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 |
US6438275B1 (en) * | 1999-04-21 | 2002-08-20 | Intel Corporation | Method for motion compensated frame rate upsampling based on piecewise affine warping |
US6618439B1 (en) * | 1999-07-06 | 2003-09-09 | Industrial Technology Research Institute | Fast motion-compensated video frame interpolator |
US6625333B1 (en) * | 1999-08-06 | 2003-09-23 | Her Majesty The Queen In Right Of Canada As Represented By The Minister Of Industry Through Communications Research Centre | 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 |
EP1142343A1 (en) * | 1999-10-29 | 2001-10-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 |
JP2003533800A (ja) | 2000-05-18 | 2003-11-11 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | Mcアップコンバージョンにおけるハローを低減する動き推定器 |
WO2002001883A1 (en) * | 2000-06-28 | 2002-01-03 | Mitsubishi Denki Kabushiki Kaisha | 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 |
CN1396769A (zh) * | 2001-07-17 | 2003-02-12 | 时代新技术产业有限公司 | 运动图像信息的压缩方法及其系统 |
AU2002351389A1 (en) * | 2001-12-17 | 2003-06-30 | Microsoft Corporation | Skip macroblock coding |
CN1157059C (zh) * | 2002-01-29 | 2004-07-07 | 北京工业大学 | 一种结合运动特征的视频质量评价方法 |
WO2003073757A1 (en) | 2002-02-28 | 2003-09-04 | Koninklijke Philips Electronics N.V. | Method and apparatus for field rate up-conversion |
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 | ソニー株式会社 | 画像処理装置および方法、記録媒体、並びにプログラム |
AU2003237279A1 (en) * | 2002-05-29 | 2003-12-19 | Pixonics, Inc. | Classifying image areas of a video signal |
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 |
EP1540964A1 (en) | 2002-09-11 | 2005-06-15 | Koninklijke Philips Electronics N.V. | Video coding method and device |
JP3910510B2 (ja) | 2002-09-17 | 2007-04-25 | 株式会社東芝 | フレーム補間システム及びフレーム補間方法 |
JP4007594B2 (ja) | 2002-09-26 | 2007-11-14 | 株式会社東芝 | 動画像符号化装置及び方法、動画像符号化方式変換装置及び方法 |
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 |
US7577200B2 (en) * | 2003-09-07 | 2009-08-18 | Microsoft Corporation | Extended range variable length coding/decoding of differential motion vector information |
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 | 株式会社東芝 | 補間画像生成方法および装置 |
US20050201471A1 (en) | 2004-02-13 | 2005-09-15 | Nokia Corporation | Picture decoding method |
EP1747678B1 (en) * | 2004-05-04 | 2015-01-07 | Qualcomm, Incorporated | Method and apparatus for motion compensated frame rate up conversion |
RU2370909C2 (ru) | 2004-07-01 | 2009-10-20 | Квэлкомм Инкорпорейтед | Способ и устройство для использования способов преобразования кадров с повышением частоты кадров при кодировании масштабируемого видео |
US8374238B2 (en) | 2004-07-13 | 2013-02-12 | Microsoft Corporation | Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video |
TW200625964A (en) | 2004-07-20 | 2006-07-16 | Qualcomm Inc | Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression |
US8553776B2 (en) * | 2004-07-21 | 2013-10-08 | QUALCOMM Inorporated | Method and apparatus for motion vector assignment |
US8649436B2 (en) | 2004-08-20 | 2014-02-11 | Sigma Designs Inc. | Methods for efficient implementation of skip/direct modes in digital video compression algorithms |
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 |
US8861585B2 (en) | 2006-01-20 | 2014-10-14 | Qualcomm Incorporated | Method and apparatus for error resilience algorithms in wireless video communication |
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 |
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 |
-
2005
- 2005-07-20 TW TW094124564A patent/TW200625964A/zh unknown
- 2005-07-20 BR BRPI0513527-3A patent/BRPI0513527A/pt not_active IP Right Cessation
- 2005-07-20 EP EP05774848A patent/EP1772017A2/en not_active Ceased
- 2005-07-20 CN CN2005800310755A patent/CN101189882B/zh not_active Expired - Fee Related
- 2005-07-20 CA CA002574297A patent/CA2574297A1/en not_active Abandoned
- 2005-07-20 KR KR1020087025619A patent/KR101016168B1/ko not_active IP Right Cessation
- 2005-07-20 US US11/186,454 patent/US8374246B2/en not_active Expired - Fee Related
- 2005-07-20 RU RU2007106081/09A patent/RU2377737C2/ru not_active IP Right Cessation
- 2005-07-20 MX MX2007000810A patent/MX2007000810A/es not_active Application Discontinuation
- 2005-07-20 EP EP10156066A patent/EP2194720A1/en not_active Withdrawn
- 2005-07-20 JP JP2007522725A patent/JP2008507915A/ja active Pending
- 2005-07-20 KR KR1020077003766A patent/KR20070044455A/ko not_active Application Discontinuation
- 2005-07-20 AU AU2005267171A patent/AU2005267171A1/en not_active Abandoned
- 2005-07-20 EP EP09162976A patent/EP2096873A3/en not_active Withdrawn
- 2005-07-20 WO PCT/US2005/025813 patent/WO2006012384A2/en active Search and Examination
-
2007
- 2007-01-17 IL IL180767A patent/IL180767A0/en unknown
-
2013
- 2013-02-06 US US13/760,991 patent/US9521411B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2008507915A (ja) | 2008-03-13 |
IL180767A0 (en) | 2007-06-03 |
EP2096873A3 (en) | 2009-10-14 |
CA2574297A1 (en) | 2006-02-02 |
WO2006012384A2 (en) | 2006-02-02 |
RU2007106081A (ru) | 2008-08-27 |
BRPI0513527A (pt) | 2008-05-06 |
CN101189882B (zh) | 2012-08-01 |
CN101189882A (zh) | 2008-05-28 |
WO2006012384A3 (en) | 2006-05-04 |
AU2005267171A1 (en) | 2006-02-02 |
US9521411B2 (en) | 2016-12-13 |
US20060165176A1 (en) | 2006-07-27 |
EP2194720A1 (en) | 2010-06-09 |
KR101016168B1 (ko) | 2011-02-17 |
EP1772017A2 (en) | 2007-04-11 |
KR20070044455A (ko) | 2007-04-27 |
EP2096873A2 (en) | 2009-09-02 |
US8374246B2 (en) | 2013-02-12 |
US20130188742A1 (en) | 2013-07-25 |
KR20080104071A (ko) | 2008-11-28 |
RU2377737C2 (ru) | 2009-12-27 |
TW200625964A (en) | 2006-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9521411B2 (en) | Method and apparatus for encoder assisted-frame rate up conversion (EA-FRUC) for video compression | |
JP5479504B2 (ja) | デコーダ側の関心領域ビデオ処理 | |
KR100957322B1 (ko) | 다양한 모션 모델들을 사용하는 인코더 보조 프레임 레이트상향 변환 | |
JP5677992B2 (ja) | 時間領域境界とのデータアライメントに関する方法及び装置 | |
US20220058775A1 (en) | Video denoising method and apparatus, and storage medium | |
AU2006223416A1 (en) | Content adaptive multimedia processing | |
US20060078053A1 (en) | Method for encoding and decoding video signals | |
CN107409211A (zh) | 一种视频编解码方法及装置 | |
Alfaqheri | Error control strategies in H. 265| HEVC video transmission | |
KR20060043120A (ko) | 영상 신호의 인코딩 및 디코딩 방법 | |
CN117676266A (zh) | 视频流的处理方法及装置、存储介质、电子设备 | |
EP2888875A1 (en) | Method and apparatus for estimating motion homogeneity for video quality assessment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FA | Abandonment or withdrawal |