ES2348730T3 - Uso de almacenamiento en cache de trama para mejorar la recuperacion de perdidas de paquetes. - Google Patents

Uso de almacenamiento en cache de trama para mejorar la recuperacion de perdidas de paquetes. Download PDF

Info

Publication number
ES2348730T3
ES2348730T3 ES05026119T ES05026119T ES2348730T3 ES 2348730 T3 ES2348730 T3 ES 2348730T3 ES 05026119 T ES05026119 T ES 05026119T ES 05026119 T ES05026119 T ES 05026119T ES 2348730 T3 ES2348730 T3 ES 2348730T3
Authority
ES
Spain
Prior art keywords
frame
encoder
decoder
frames
cache
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES05026119T
Other languages
English (en)
Inventor
Thomas W. Holcomb
Chih-Lung Lin
Pohsiang Hsu
Minghui Xia
Shankar Regunathan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Application granted granted Critical
Publication of ES2348730T3 publication Critical patent/ES2348730T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/188Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

Un método para transmitir una señal sobre una red, que comprende las etapas de: Un codificador que codifica (404) y una secuencia de cuadros de la señal en una secuencia de cuadros codificada que comprende cuadros clave y cuadros predichos, al menos algunos de los cuadros codificados tienen un código de tipo de cuadro que define tales cuadros para ser almacenados en cuadros para ser almacenados en caché cuadros que correspondan en el almacenamiento de caché de cuadros de referencia (406) en el codificador, que transmita (408) la secuencia de cuadros codificados sobre la red a un decodificador; Recibir, en el decodificador, la secuencia de cuadros codificados; Luego de recibir un cuadro codificado definido por ser un cuadro almacenado en cache, almacenar en caché (410) dicho cuadro codificado como un cuadro de referencia en el decodificador; En el decodificador que detecta la pérdida de paquetes en un cuadro subsecuente; Si se detecta la pérdida de paquetes, el decodificador envía una señal de detección de pérdida de paquetes al codificador; En respuesta a recibir la señal de detección de pérdida de paquete, generar un cuadro en el codificador utilizando un cuadro de referencia almacenado de caché en el codificador; El decodificador interpreta (412) el cuadro generado transmitido desde el codificador utilizando dicho cuadro de referencia almacenado en caché en el decodificador; El decodificador produce un cuadro no comprimido con base en dicha interpretación (412) del cuadro generado.

Description

CAMPO TÉCNICO
La presente invención se relaciona de manera general con técnicas para codificar digitalmente, decodificar y procesar video, imágenes y otro contenido de medio digital. La presente invención se relaciona de manera particular con mejorar la recuperación de pérdida de paquetes mediante almacenamiento en caché de trama.
ANTECEDENTES
El video digital consume grandes cantidades de la capacidad de almacenamiento y transmisión. Una secuencia de video digital típico incluye 15 a 30 cuadros por segundo. Cada cuadro puede incluir 10 o cientos de miles de pixeles (también llamados pels). Cada píxel representa un pequeño elemento de la foto. En forma bruta, un computador comúnmente representa un píxel como un conjunto de tres muestras que totalizan 24 bits. Por ejemplo, un píxel puede comprender una muestra de iluminación de 8 bits, (también denominado una muestra luna) que define el componente de escala de grises del píxel y los dos valores de la muestra de prominencia de 8 bits (también llamados muestra croma) que define el componente del color del píxel. Así, el número de bits por segundo, o bitrato, de la secuencia de video digital bruta típica puede ser cinco millones de bits por segundo o más.
Muchas computadoras y redes de computadora les falta recursos para procesar video digital bruto. Por esta razón, los ingenieros utilizan la compresión (también denominada codificación) para reducir el bitrato del video digital. La compresión disminuye el costo de almacenamiento y transmisión de video al convertir el video en una forma de bitrato inferior. La descompresión (también denominada decodificación) reconstruye una versión del video original desde la forma comprimida. Un “códec” es un sistema decodificador/de codificador. La compresión puede ser sin pérdida, en la cual la calidad del video no sufre, pero la disminución en el bitrato se limita por la cantidad inherente de variabilidad (algunas veces denominada entropía) de los datos del video. O, la compresión puede tener pérdidas, en las cuales sufre la calidad del video, pero las disminuciones logrables en el bitrato son más dramáticas. La pérdida de compresión se utiliza a menudo en conjunto con las no pérdidas de compresión en un diseño de sistema en el cual la compresión pérdida establece una aproximación de la información y las técnicas de compresión sin pérdida se aplican para representar la aproximación.
En general, las técnicas de compresión de video, incluyen protección de “intrafotografía” y “interfotografía” donde una fotografía es, por ejemplo, un cuadro de video progresivamente explorado, un cuadro de video interenlazado que tiene líneas alternas para campos de video) o un campo de video interenlazado. Hablando de manera general, las secuencias de video contienen una cantidad significativa de redundancia dentro de un cuadro dado, y entre cuadros secuenciales. Por ejemplo, el ojo humano generalmente no nota ligeras diferencias en trasfondos de otras maneras similares en cuadros de video sucesivos. La compresión explota esas redundancias al mover una cierta porción del material redundante dentro de la corriente de bits que está siendo enviada, y luego agregarlas de regreso al extremo de recepción cuando la fotografía no está comprimida. Todas las redundancias comunes que son sustraídas por fuera de los cuadros de video son espaciales y temporales. Las redundancias espaciales ocurren entre pixeles vecinos dentro de un cuadro único. Los cuadros que son comprimidos utilizando redundancias espaciales, conocidas como intracuadros, o I-cuadros, contienen toda la información necesaria para reconstituir la imagen dentro del cuadro mismo – ellos están autocontenidos. Los cuadros que utilizan la redundancias temporales, tales como los P-cuadros y B-cuadros, requiere información de otros cuadros para ser decodificados, y se deben decodificar, utilizando información de los cuadros previos y/o Los cuadros B (cuadros predictivamente codificados bidireccionalmente) se codifican utilizando información de amos cuadros previos y subsecuentes I y P. La estimación de movimiento remueve la redundancia temporal en cuadros de video sucesivos (intercuadros) al codificar la única materia junto con una imagen predicha de movimiento creada desde una imagen previamente codificada conocida como un cuadro de referencia. Si se pierde el cuadro de referencia, entonces sus cuadros predictivos exitosos no se pueden descifrar los errores de transmisión se propagan a cuadros sucesivos.
Para los cuadros progresivos, las técnicas de compresión de intrafotografías comprime cuadros individuales (típicamente denominados cuadros, cuadros I o clave), y las técnicas de compresión de interfotografía comprime cuadros (típicamente denominada cuadros predichos Cuadros P, o cuadros B) con referencia a los cuadros precedentes y/o siguientes (típicamente denominados cuadros de referencia de de ancla). Los cuadros I (alto contenido) y los cuadros P (que generalmente se refieren a cuadros precedentes) pueden ser ellos mismos cuadros de referencia, mientras que los cuadros B, se refieren tanto a los cuadros precedentes como siguientes, nunca son utilizados típicamente como referencias en sí mismos.
Cuando los datos se descomprimen antes de que el video resultante se despliegue, un decodificador efectúa típicamente el inverso de las operaciones de compresión. Por ejemplo, un decodificador puede efectuar la decodificación de entropía, la cuantificación inversa, y la transformación inversa, mientras se descomprimen los datos. Cuando se utiliza la compensación de movimiento, el decodificador (y codificador) reconstruye un cuadro desde uno o más cuadros previamente reconstruidos (que so ahora utilizados como cuadros de referencia), y el cuadro recientemente reconstruido puede entonces ser utilizado como un cuadro de referencia para la compensación de movimiento para cuadros posteriores.
Los paquetes enviados a través de las redes son sometidos a pérdida – los paquetes se caen. Esta pérdida ocurre aleatoriamente y de manera impredecible. Adicionalmente, los datos de la corriente de compresión de video son altamente sensibles al retrazo; en la medida en que los paquetes necesitan ser reensamblados en el mismo orden que ellos fueron enviados. Demasiados paquetes retrazados dan origen a una señal con salto interrumpida. Los problemas de retrazo de transmisión también pueden ocurrir en el reenvío de un nuevo cuadro y; el nuevo cuadro es susceptible a todos los mismos problemas que corrompieron el cuadro de referencia perdido. Adicionalmente, en los esquemas de codificación perdidos, la compresión se diseña para cumplir con las tasas de bit blanco para almacenamiento y transmisión. La alta compresión se logra al disminuir la calidad de la imagen reconstituida. Por lo tanto, cualquier pérdida de esta originada por la caída de los paquetes retrazados puede degradar la imagen por debajo de una tasa aceptable.
La capacidad para manejar pérdida de paquetes es crucial para que el códec de video en tiempo real (RTC) efectúe bien en redes ruidosas –aquellas susceptibles a pérdidas. La mayoría de los códec de video existente copan con pérdidas de paquetes al solicitar un nuevo cuadro y cuando se pierde el cuadro y un cuadro de referencia. Otros utilizan codificación a base de sección que agregan a la sobrecarga de señalización. La Figura 1 ilustra la recuperación de pérdida de paquete tradicional al solicitar un nuevo cuadro I.
En este método de a técnica anterior, el cuadro I -104 es recibido del decodificador 102. Este luego es utilizado para interpretar – reconstruir un cuadro P dependiente subsecuente 106. El siguiente cuadro dependiente, cuadro P 108 es corrompido, como en la medida en que paquetes suficientes son recibidos por fuera del orden o perdidos. El cuadro P subsecuente 110 y cualquiera de los cuadros siguientes pueden ya no ser reconstruidos. En el nodo de destino (aquí representado mediante el decodificador 102) una solicitud de cuadro I es generada y enviada al nodo de fuente (aquí representado mediante el codificador 114). Cada cuadro P subsecuente o cada cuadro B no se puede reconstruir hasta que es recibido un nuevo cuadro I. Una vez que el nodo fuente 114 recibe la solicitud, este ensambla un nuevo cuadro I 112 y lo envía al nodo de destino 102 utilizando el canal de comunicaciones. Después de recibir un nuevo cuadro I 112 el canal de destino puede decodificar exitosamente los cuadros P subsecuentes. Sin embargo, esto da como resultado un retrazo 116 equivalente al tiempo necesario para enviar la solicitud inicial, más el tiempo para codificar el cuadro I, más el tiempo para enviar el cuadro I al nodo de destino 102. Más aún, un remitente y un receptor se pueden separar por una gran cantidad de distancia física, con un largo viaje creando un tiempo de rechazo notable con una degradación correspondiente en la cantidad del video.
En otro método de la técnica anterior, los cuadros I 104, 112 son enviados a intervalos regulares. Cuando un cuadro I 112 se pierde debido a la corrupción o retrazo, el decodificador espera hasta que es recibido el siguiente cuadro I, decodificando incorrectamente los subsecuentes cuadros B 110, 108, 106.
Por lo tanto, existe necesidad de métodos y sistemas para transmitir video comprimido sobre una red basada en paquetes perdidos.
La solicitud de patente Internacional WO01/84732 describe métodos y sistemas para efectuar recuperación de pérdidas de paquetes cuando se transmite video comprimido sobre una red basada en paquetes perdidos que incluye transmitir paquetes de video de datos de video comprimidos desde un remitente a un receptor. Sin respuesta a detectar la pérdida o a los paquetes recibidos erróneamente, el receptor transmite una solicitud de retransmisión
(NACK) al que lo envía. En respuesta a recibir la solicitud de transmisión el que envía cambia la distancia de dependencia temporal periódica del cuadro para ser transmitido de tal manera que el cuadro depende del cuadro asociado con los paquetes de transmisión. El receptor recibe los paquetes retransmitidos y restablece el cuadro que corresponde a los paquetes retransmitidos en un mismo buffer. El receptor utiliza el cuadro reestablecido para decodificar un cuadro transmitido después de los paquetes retransmitidos.
El artículo “TCP-friendly Internet Video Streaming Employing variable Frame-Rate Encoding and Interpolation” de Jongwon Kim at al., IEEE Transaction on circuits and Systems for Video Technology, Vol. 10 no. 7, Octubre 2000 páginas 1164-1177, describe un esquema de transmisión de video en Internet a base de retroalimentación con base en el ITU H.263+. El sistema propuesto es capas de acomodar continuamente su tamaño de corriente y manejar la recuperación de pérdida de paquetes en respuesta a los cambios de la condición de la red.
El artículo “Network adaptive Packet Scheduling for streaming Video over error-prone Networks” por Jong-Ok Kim et al. Describe un algoritmo programado de paquete adaptativo para corrientes de Video sobre redes propensas al error. Un marco máximo a posteriori (MAP) es incorporado para adaptar la tasa de pérdida de red que varía en el tiempo. Mediante la estimación de la red dinámica base de MAP el programador propuesto efectúa adaptativamente revisiones de paquetes de Video sobre las redes variantes en el tiempo. También, los programas de transmisión de paquete se determinan de manera óptima de una manera de destrucción optimizada.
“h.264/AVC en ambientes inalámbricos”. Transacciones IEEE CSVT, WIEGAND et al., Julio 2003 describe y se refiere al estado de la técnica para copiar con transmisión de video sobre redes de paquetes afectados por las pérdidas de paquete.
RESUMEN
Un códec de video descrito aquí incluye un caché de cuadro en el codificador y un caché de cuadro correspondiente en el decodificador. Cada uno de los cuales puede trabajar en sincronización. Un cuadro en el caché de decodificador se utiliza para ayudar a interpretar un cuadro en el decodificador. El cuadro que ha sido interpretado puede haber sido generado utilizando una copia de mismo cuadro almacenado en el caché codificador.
También se suministra la implementación de un sistema. Este comprende un codificador, que codifica los paquetes de datos en los cuadros, y un caché codificador, que puede almacenar un cuadro
o una porción de un cuadro. Este comprende además un decodificador, con un caché de decodificador, que también puede almacenar un cuadro a una porción de uno. El decodificador es operable para detectar la pérdida de paquetes. Cuando se detecta tal pérdida, en algunas realizaciones, el codificador codifica un cuadro utilizando el cuadro almacenado en el caché del codificador, que es luego decodificada en el codificador, utilizando el cuadro almacenado en el caché de decodificador.
El mecanismo de almacenamiento de caché suministra las siguientes características claves:
a) utilización más eficiente del ancho de banda durante la recuperación de pérdida de paquetes, y
b) eliminar la sobrecarga de señalización asociada con la codificación a base basada en sección.
La característica y ventajas adicionales de la invención serán evidentes de la siguiente descripción detallada de las realizaciones que proceden con referencia a los dibujos que la acompañan.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La Figura 1 es un diagrama de la técnica anterior de una recuperación de pérdida de paquete a nivel de cuadro.
La Figura 2 es un diagrama de bloque de un video que utiliza el almacenamiento en caché de cuadro descrito aquí.
La Figura 3 es un diagrama de bloque de un decodificador de video que utiliza el almacenamiento en caché de cuadro descrito aquí.
La Figura 4 es un diagrama de flujo de un método de ejemplo para recuperar la pérdida de paquete utilizando almacenamiento en caché de cuadro.
La Figura 5A es un diagrama a nivel de cuadro de un codificador que almacena un cuadro y un decodificador que almacena el mismo cuadro.
La Figura 5B es un diagrama a nivel de cuadro de un cuadro P corrupto que llega a un decodificador.
La Figura 5C es un diagrama a nivel de cuadro que describe el decodificador que utiliza el cuadro almacenado en caché para interpretar un cuadro P.
La Figura 5D es un diagrama de bloque de reportar la pérdida de paquete a través de un canal de retroalimentación.
La Figura 6 es un diagrama de flujo de un método adecuado para implementar el codificador/decodificador de video de almacenamiento en cache.
La Figura 7 es un diagrama de bloque en un ambiente de cómputo adecuado para el codificador/decodificador de video de las Figuras 2 y 3.
DESCRIPCIÓN DETALLADA
La siguiente descripción está dirigida a implementaciones de un caché de cuadro tanto en un
codificador de video como en un decodificador de video, que se designa para suministrar una combinación efectiva de recuperación de pérdida de paquete graciosa y la utilización eficiente del ancho de banda. Una aplicación de ejemplo del almacenamiento en caché del cuadro es un codificador
o decodificador de imagen o video. De acuerdo con esto, el almacenamiento en caché de cuadro se describe en el contexto de un codificador y decodificador de imagen generalizado como pero alternativamente, se puede incorporar en el codificador y decodificador de varios otros codecs de imagen y video y muchos varían en detalle de este aparato de ejemplo descrito adelante.
1. Codificador y Decodificador de Video Generalizado.
La Figura 2 es un diagrama de bloque de un codificador de video generalizado 200 y la Figura 3 es un diagrama de bloque de un decodificador de video generalizado 300, en el cual los caché de cuadro se pueden incorporar.
Las relaciones mostradas entre los módulos dentro del codificador y decodificador indican que el flujo principal de información de codificador y decodificador; otras relaciones no se muestran por motivos de simplicidad. En particular, las Figuras 2 y 3 usualmente no muestran la información lateral que indica las configuraciones del codificador, los modos, tabla, etc., utilizados para la secuencia de video, cuadro, macro bloque, bloque, etc., Tal información lateral se envía a una corriente de bits de salida típicamente después de la entropía que codifica la información lateral. El formato de la corriente de bits de salida puede ser un formato de video de Windows media u otro formato.
Dependiendo de la implementación del tipo de compresión deseado, los módulos del codificador 200 o del decodificador 300 se pueden agregar como omitir, dividir o múltiples módulos, combinados con otros módulos, y/o reemplazados con módulos similares. En las realizaciones alternativas, el codificador o decodificadores con diferentes módulos y/otras configuraciones de módulos se efectúan una o más de las técnicas descritas.
A. Codificador de Video
La Figura 2 es un diagrama de bloque de un sistema de codificador de video general 200. El sistema de codificador 200 recibe una secuencia de cuadros de video, que incluye un cuadro corriente 205, que produce información de video comprimida 295 como salida. Las realizaciones particulares de los codificadores de video típicamente utilizan una variación de la versión suplementada del codificador generalizado 200.
El sistema de codificador 200 comprende los cuadros predicho y los cuadro clave. Por motivos de presentación, la Figura 2 muestra una senda de los cuadros clave a través del sistema de codificador 200 y una senda para los cuadros predichos por adelantado. Muchos de los componentes del sistema codificador 200 son utilizados para comprimir tanto los cuadros clave como los cuadros predichos. Las operaciones exactas efectuadas por aquellos componentes pueden variar dependiendo del tipo de información que se comprime.
Un cuadro predicho [que podría ser un cuadro P o un cuadro B (predicción bi-direccional), o un cuadro intercodificado] está representado en términos de predicción (o diferencia) de uno o más de otros cuadros. Una predicción residual es la diferencia entre lo que se predijo en el cuadro original. En contraste, el cuadro clave (también denominado un cuadro I, o un cuadro intracodificado) se comprime sin referencia a otros cuadros.
Si e cuadro corriente 205 es un cuadro predicho por adelantado, un estimador de movimiento 210 estima el movimiento de los macrobloques u otros conjuntos de pixeles de un cuadro corriente 205 con respecto al cuadro de referencia 225, que es el cuadro previo construido guardado en el buffer en el almacén de cuadro 220. En realizaciones alternativas, el cuadro de referencia puede ser posteriormente el cuadro corriente puede ser bi-direccionalmente pre-dicho. El estimador de movimiento 210 sale como una información de movimiento de formación lateral 215, tal como los vectores de movimiento. Un compensador de movimiento 230 aplica la información de movimiento 215 al cuadro previo reconstruido 225 para formar un cuadro corriente compensado con movimiento
235. La prevención es raramente perfecta. Sin embargo, la diferencia entre el cuadro corriente compensado en movimiento 235 y el cuadro corriente original 205 es la predicción residual 245. Alternativamente, el estimador de movimiento 210 y el compensador de movimiento 230 aplican a otro tipo de estimación/compensación de movimiento.
Un transformador de frecuencia 260 convierte la información de video de dominio espacial en datos de dominio de frecuencia (es decir espectral). Para los cuadros de video basados en bloque, transformador de frecuencia 260 aplica una transformación descrita en las siguientes secciones que tienen propiedades similares a la transformación de coseno discreta [“DCT”]. En algunas realizaciones, el transformador de frecuencia 260 aplica una transformación de frecuencia para bloquear los residuales de predicción espacial para cuadros clave. El transformador de frecuencia 260 puede aplicar un 8x8, 8x4, 4x8, u otras transformaciones de frecuencia de tamaño.
Un cuantificador 270 cuantifica entonces los bloques de los coeficientes de datos espectrales. El cuantificador 270 aplica una cuantificación uniforme, escalar a los datos espectrales con un tamaño de escalón que varía sobre una base de cuadro por cuadro u otra base. Alternativamente, el cuantificador 270 aplica otro tipo de cuantificación a los coeficientes de datos espectrales, por ejemplo, un vector no uniforme, una cuantificación no adaptativa, o directamente cuantifica los datos de dominios espaciales en un sistema decodificador que no utiliza las transformaciones de secuencia. Además de la cuantificación adaptativa, el codificador 200 puede utilizar la caída de cuadro, el filtro adaptativo, u otras técnicas para el control de velocidad.
Cuando un cuadro corriente reconstruido es necesario para la estimación/compensación de movimiento subsecuente, un cuantificador inverso 276 efectúa la cuantificación inversa en los coeficientes de datos espectrales cuantificados. Un transformador de frecuencia inversa 266 que efectúa el inverso en las operaciones del transformador de frecuencia 260,
Que produce un residual de predicción reconstruido (para un cuadro predicho) o un cuadro clave reconstruido. Si el cuadro corriente 205fue un cuadro clave, el cuadro clave reconstruido se toma como un cuadro corriente reconstruido (no mostrado). Si el cuadro corriente 205 fue un cuadro pre-dicho, el residual de predicción reconstruido se agrega al cuadro corriente compensado de movimiento 265 para formar el cuadro corriente reconstruid. El almacén de cuadro 220 guarda en un buffer el cuadro corriente reconstruido para uso en la previsión del siguiente cuadro. En algunas realizaciones, el codificador 200 aplica un filtro desbloqueante al cuadro reconstruido para las discontinuidades adaptativamente suaves en los bloques del cuadro.
El codificador de entropía 280 comprime la salida del cuantificador 270, así como también cierta información lateral (por ejemplo información de movimiento 215, tamaño de tapa de cuantificación). Las técnicas de codificación de entropía típica incluyen codificación aritmética, codificación diferencial, codificación Huffman, codificación de longitud de corrida, codificación LZ, codificación de diccionario, y combinaciones de las anteriores. El codificador de entropía 280 típicamente utiliza técnicas de codificación diferentes para diferentes clases de información (por ejemplo coeficientes DC, coeficientes AC, etc.) y puede seleccionar de entre múltiples tablas de código dentro de una técnica de codificación particular.
El codificador de entropía 280 puede la información de video comprimida 295 en un buffer
290. Un indicador de nivel de buffer es retroalimentado a módulos adaptativos bitrato. La información de video comprimida 295 es vaciada del buffer 290 en un bitrato constante o relativamente constante y almacenada para la posterior corriente en ese bitrato. Alternativamente, el sistema codificador 200 hace una corriente de información de video comprimida 295 inmediatamente luego de la compresión.
Antes o después del buffer 290, la información dividida o comprimida 295 puede ser codificada en canal para transformación sobre la red. La codificación de canal puede aplicar la detención de error y los datos de corrección a la información de video comprimida 295.
B. Decodificador de Video
La Figura 3 es un diagrama de bloque de un sistema de codificador de video general 300. El sistema de codificador 300 recibe información 395 para una secuencia comprimida de cuadros de video y produce la salida, incluyendo un cuadro reconstruido 305. Las realizaciones particulares de los decodificadores de video típicamente utilizan una variación o versión suplementada del decodificador generalizado 300.
El sistema decodificador 300 descomprime los cuadros predichos y los cuadros clave. Por motivos de presentación, la Figura 3 muestra una senda para los cuadros clave a través del sistema de codificador 300 y una senda para los cuadros predichos por adelantado. Muchos de los componentes del sistema decodificador 300 se utilizan para la compresión tanto de los cuadros clave como de los cuadros pre-dichos. Las operaciones exactas efectuadas por aquellos componentes pueden variar dependiendo del tipo de información que se comprima.
Un buffer 390 recibe la información 395 para a secuencia de video comprimida y hace la información recibida disponible al decodificador de entropía 380. El buffer 390 recibe típicamente la información a una tasa que es aproximadamente constante durante el tiempo, e incluye un buffer de fluctuación de fase para suavizar las variaciones a corto plazo en ancho de banda o transmisión. El buffer 390 puede incluir un buffer de reproducción y otros buffer también. Alternativamente, el buffer 390 recibe información a una tasa variante. La información de video comprimida 395 se puede decodificar y procesar para la detención de error y corrección antes de que este alcance el buffer 390, después de que este deje el buffer 390, o ambos.
El decodificador de entropía 380 decodifica la entropía de los datos cuantificados codificados con entropía, así como también la información lateral codificada con entropía (por ejemplo información de movimiento, tamaño de paso de cuantificación), típicamente aplicando el inverso de la codificación de entropía efectuada en el codificador 200. Las técnicas de decodificación de entropía e incluyen decodificación aritmética, decodificación diferencial, decodificación Huffman, decodificación con longitud de corrida, decodificación LZ, decodificación de diccionario, y combinaciones de las anteriores. El codificador de entropía 380 utiliza frecuentemente diferentes técnicas de decodificación para diferentes clases de información (por ejemplo los coeficientes DC, los coeficientes AC diferentes clases de información lateral), y puede seleccionar dentro de múltiples tablas código dentro de una técnica de decodificación particular.
Si el cuadro 305 hacer reconstruido es un cuadro predicho por adelantado, un compensador de movimiento 330 aplica la información de movimiento 315 al cuadro de referencia 325 para formar una predicción 335 del cuadro 305 que es reconstruido. Por ejemplo, el compensador de movimiento 330 utiliza un vector de movimiento de macrobloque para encontrar un macrobloque en el cuadro de referencia 325. El buffer de cuadro 320 almacena los cuadros previos reconstruidos para uso como cuadros de referencia.
Alternativamente, un compensador de movimiento aplica otro tipo de compensación de movimiento. La predicción por el compensador de movimiento 330 es raramente perfecta, de tal manera que el decodificador 300 también reconstruye los residuales de proyección 345.
8 Cuando el decodificador 300 necesita un cuadro reconstruido para la compensación de movimiento subsecuente, el cuadro almacena 320 buffers el cuadro reconstruido 305 para uso en predecir el siguiente cuadro, En algunas realizaciones, el codificador 200 aplica un filtro de desbloqueo al cuadro reconstruido 305 para descontinuar adaptativamente suave en los boques del cuadro. Un cuantificador inverso 370 cuantifica de manera inversa los datos decodificados de entropía. En genera, el cuantificador inverso 370 aplica cuantificación inversa uniforme, escalar a los datos decodificados de entropía con un tamaño de paso que varia sobre una base de cuadro por cuadro u otra base. Alternativamente, el cuantificador inverso 360 aplica otro tipo de cuantificación inversa a los datos, por ejemplo, un vector no uniforme con una cuantificación no adaptativa, o cuantifica directamente inverso los datos de dominio espacial en un sistema de decodificador que no usa transformaciones de frecuencia inversa. Un transformador de frecuencia inversa 360 convierte los datos de dominio de frecuencia cuantificados en información de video de dominio espacial. Para los cuadros de video basados en bloque, el transformador de frecuencia inverso 360 aplica una transformaci`n inversa descrita en las siguientes secciones. En algunas realizaciones, el transformador de frecuencia inversa 360 aplica una transformación de frecuencia inversa a los boques de predicción espacial residuales para los cuadros clave. El transformador de frecuencia inversa 360 puede aplicar un 8x8, 8x4, 4x8, frecuencia inversa de tamaño se transforma.
C. Almacenamiento en caché de Cuadro
Las implementaciones que utilizan almacenamiento en caché de cuadro con una arquitectura códec de video descrita aquí, los cuadros de referencia son almacenados en caché preferiblemente tanto en el codificador como en el decodificador en secuencia. Cuando un cuadro o referencia se pierde, los cuadros dependientes subsecuentes se pueden decodificar utilizando un cuadro de referencia apropiado guardad en caché en el decodificador. Esto produce los siguientes beneficios:
A) Más eficiente utilización de ancho de banda: antes que los métodos de la técnica busquen un cuadro I para ser generado y enviado al codificador. Este método permite un tipo especial de cuadro; un cuadro SP, que se ha enviado al decodificador, y luego almacenado en caché hasta que sea necesario. Los cuadros SP pueden ser generalmente codificados con más pocos bits que los cuadros I de la misma calidad, y por lo tanto, utiliza menor ancho de banda que utilizar un cuadro I equivalente.
B) Recuperación de error más rápida: preferiblemente un cuadro SP ya es almacenado en caché en el decodificador cuando ocurren las pérdidas de paquete; esto le permite al siguiente cuadro P en la corriente ser interpretado con poco tiempo de demora.
2. Revisión de los Métodos de Ejemplo.
Las realizaciones descritas incluyen técnicas y herramientas para almacenar en caché cuadros en un decodificador, y luego utilizar los cuadros almacenados en caché para reconstruir los cuadros P y los cuadros B que dependen de los cuadros de referencia que se han corrompido o perdido. El caché se puede incorporar como parte de el decodificador de video 300 (Figura 3), como parte del decodificador de video 200 (Figura 2), o, preferiblemente, ambos. Cuando se detecta la pérdida de paquete por el decodificador, este envía un mensaje al codificador 300, que luego genera un nuevo cuadro de referencia con base en unas de los cuadros de caché compartidos. El cuadro de referencia generado es luego enviado al decodificador. El cuadro de caché se utiliza en el decodificador para decodificar el cuadro generado y los cuadros subsecuentes dependientes hasta que otro cuadro de referencia llega al decodificador. Los elementos en el diagrama de flujo descritos aquí son solo ejemplos, otros elementos del diagrama de flujo se pueden utilizar de acuerdo con las técnicas descritas. Adicionalmente, los elementos del diagrama de flujo pueden ocurrir en diferentes órdenes, o los bloques del proceso específico pueden ser omitidos de acuerdo con las técnicas y herramientas descritas.
Las técnicas y herramientas descritas se pueden utilizar en combinación con otra o con otras técnicas y herramientas, o se pueden utilizar independientemente.
En referencia a la Figura 4, el diagrama de flujo 400 muestra una breve revisión de los métodos descritos aquí. En el bloque de proceso 402, una porción de una señal de video que va a ser transmitida sobre una red se asignó a los paquetes. En el bloque de proceso 404, un codificador codifica al menos una porción de los paquetes en cuadros. Estos cuadros pueden consistir de cuadros de referencia 325, tal como los cuadros I y como los cuadros B, y también pueden consistir de cuadros B, que no se utilizan como referencias para cualquiera de los otros tipos de cuadro. Los tipos alternativos de cuadros, tales como los cuadros de omisión, también se pueden codificar en cuadros. En el bloque de proceso opcional 406, un cuadro, generalmente un cuadro de referencia, puede ser guardado en caché del decodificador. Si e cuadro es guardado en cache, a este se le asigna el tipo “cuadro en cache” (CF) en su encabezamiento de cuadro. El cuadro que es guardado en cache, con otros cuadros es luego transmitido al decodificador en el bloque de proceso 408. Una vez que el cuadro está en el decodificador, este es guardado en caché en un caché de decodificador en el bloque de proceso 410. Los tipos de cuadro guardados en caché típicos son los cuadros P y los cuadros I.
Si se pierde un cuadro de referencia posterior, entonces el cuadro guardado en caché se puede utilizar para descomprimir un cuadro dependiente siguiente, como se muestra en el bloque de proceso
412. El diagrama de flujo 400 muestra solamente una realización de ejemplo y no se debe considerar como limitante de ninguna manera. Por ejemplo, el caché asociado con el codificador en el bloque de decisión 406 es opcional. El método 400 se puede implementar en un códec de video como se muestra en las Figuras 2 y 3, que se puede implementar en el software, hardware, o combinaciones de ambos.
3. Método de Ejemplo para Almacenar en caché Cuadros.
La Figura 5A y 5D muestran un método de ejemplo de almacenamiento en caché de cuadros para posibilitar el desempeño óptimo de los códec de video en redes ruidosas. Con referencia a la Figura 5D, en una realización de ejemplo, los cuadros son transmitidos desde un codificador 502D a un decodificador 506D a través de un canal principal, tal como RTP (protocolo de transporte en tiempo real) 508D. La Internet a menudo pierde paquetes, o suministra paquetes por fuera de orden, Los paquetes también se pueden reemplazar por una cantidad aleatoria de tiempo, que también puede hacerlas inutilizables. Un evento de pérdida de paquete es detectado por el decodificador 506D y señalado a través de un canal de retroalimentación desde el decodificador al codificador 502D. Para reconstruir correctivamente un mensaje, en algunas realizaciones, el encabezado 508D RTP contiene información y un número de secuencia que le permite al receptor tanto reordenar los paquetes correctivamente como determinar el número de paquetes que se han perdido. El RTP 508D es aumentado por su protocolo de control (RTPC) 504D, utilizado para suministrar un canal de retroalimentación que se puede utilizar para monitorear el suministro de datos. Cada paquete de datos tiene un número de secuencia, típicamente incrementado por uno para cada paquete de datos subsecuente. En una realización de ejemplo, la pérdida de paquetes se detecta por el decodificador 506D cuando no se recibe un número de secuencia. Una vez que el decodificador 506D ha descubierto un paquete perdido, este envía un mensaje a través del canal de retroalimentación 504D informándole al codificador 502D que el paquete (o paquetes) se han perdido. En algunas realizaciones, solamente se suministra la información acerca de la pérdida del paquete inicial. En otras realizaciones, información adicional, tal como el número de paquetes caídos, a una lista de paquetes específicos
10 perdidos, también se suministra. La ubicación del paquete perdido es preferiblemente transmitida utilizando una estampilla de tiempo o una pérdida de paquete más temprana en la ventana de reporte. Esta información le posibilita al codificador 502D determinar cual referencia de almacenamiento de caché utilizar. 5 Con referencia a la Figura 5A, el codificador 502A periódicamente almacena en caché cuadros en un caché de cuadro 504A. Tales cuadros al almacenar en caché quitan a menudo debe ocurrir el almacenamiento en cache, y el número de cuadros que deben poder ser almacenados en caché en un momento único es una implementación altamente dependiente. Los cuadros almacenados en cache, de algunas realizaciones, son cuadros de referencia, esto es, cuadros P y cuadros I. Otros 10 tipos de cuadros también se pueden almacenar en cache. El cuadro que es almacenado en caché 506A (o una copia del mismo) también es enviado al decodificador 512A. Tal cuadro, que también es almacenado en el caché del codificador 504A, se define en su encabezado como un tipo de cuadro CF (cuadro almacenado en cache). En algunas realizaciones, este encabezado permite sincronización del codificador 502A y el decodificador 512A al permitirle al decodificador 512A saber que este cuadro 15 específico se debe almacenar en caché en el caché de codificador 510A para uso posterior. La Tabla 1, de adelante, muestra una realización de ejemplo de los códigos del tipo cuadro, que incluyen el tipo de cuadro almacenado en caché (CF). Tabla 1: Código de Tipo de Cuadro
Tipo e Cuadro
Palabra de Código
(Binario)
I
110
P
0
B
10
BI
1110
SKIP
11111
SP
111100
CF
11101
Cuando el cuadro del tipo CF 508A alcanza el decodificador 512A, este se almacena en el
20 caché del cuadro decodificador 510a. Almacenar cada cuadro del tipo CF en el decodificador 512A es un método de sincronizar los caché de cuadro del codificador y el decodificador 504A y 510A. Sin embargo, también se prevén otros métodos de sincronizar estos caches de cuadro.
Cuando se detecta la pérdida de paquetes 502D en el decodificador 504D, se le reporta de regreso al codificador 502A a utilizar el canal de retroalimentación 504B. Este reporte 25 preferiblemente, contiene una información de estampilla de tiempo que le permite al codificador 502A seleccionar el cuadro de caché correcto 504A a la referencia. En otras realizaciones, se utiliza el último cuadro de cache. Una vez que el cuadro almacenado de caché se ha seleccionado 504C, este se utiliza por el codificador 502C para codificar el siguiente cuadro 506C, preferiblemente un cuadro P, pero los cuadros I y otros tipos de cuadro también se pueden codificar. Este cuadro codificado que
30 utiliza el cuadro almacenado de caché 506C es conocido como un cuadro “súper P” (cuadro SP) y es señalado como tal en su encabezado. Una palabra de código tipo cuadro de ejemplo para el cuadro SP se muestra en la Tabla 1, anterior.
Cuando el decodificador 512C recibe el cuadro SP 508C este lo decodifica en un cuadro no comprimido (cuadro U) 514C utilizando el almacenamiento de caché de cuadro localmente 510C. 35 Utilizando este método, el tiempo de recuperación en el decodificador 512C es el intervalo entre el
evento de pérdida de paquete y la llegada del cuadro SP. Si este cuadro SP generado 508C se pierde durante la transmisión, el decodificador 512C continuará enviando reportes de pérdida de paquete hasta la llegada de un nuevo cuadro de referencia (generalmente del tipo P, SP, o I). El tiempo de recuperación actual de la pérdida de paquete es una función, principalmente, del intervalo que reporta la pérdida de paquete.
En algunas implementaciones el codificador 502A almacena en caché un cuadro 504A y envía una copia del cuadro almacenado en caché 506A al decodificador periódicamente. La longitud la duración del tiempo entre los cuadros de caché que son enviados es altamente dependiente de implementación, Algunas implementaciones pueden almacenar en caché los cuadros a intervalos iguales. Otras implementaciones pueden almacenar en caché los cuadros a intervalos que son ellos mismos dependientes de las variables del sistema tal como la velocidad de la red o la cantidad de pérdida que experimente la red.
4. Realización del sistema de Ejemplo,
La Figura 6 ilustra otra realización de ejemplo de un sistema de video 600 que se puede utilizar para implementar el almacenamiento del caché de cuadro con base en un decodificador y codificador. El sistema de video 600 no pretende sugerir ninguna limitación como el alcance del uso o la funcionalidad de la invención, tal como la presente invención se puede implementar en sistemas de video diversos generales o e propósito especial.
El sistema de video contiene al menos un codificador 602. Este codificador comprende además un caché codificador 604. En la realización ilustrada, el caché recibe dentro del codificador 602, pero en otras implementaciones puede recibir en cualquier otra parte dentro del sistema de video. El caché del codificador 604 se puede almacenar en una o más secciones de los cuadros de video 606. Por vía de sugerencia y no de limitación, selecciones de cuadros pueden consistir de un número de bloques, macrobloques, o un número de secciones, cuadros completos, grupos de cuadros, o cualquier otra división de cuadros que se pueda prever por un experto en la técnica. El caché codificador 604 puede almacenar en caché solamente una porción del cuadro, puede almacenar en caché dos porciones, o cualquier número de porciones que pudiera ser deseable para una implementación dada. El sistema de video 600 también comprende un decodificador 608. Similar al codificador 602, el decodificador 608 contiene un caché de codificador 610, que se utiliza para almacenar una o más funciones de los cuadros de video 612. Estas porciones de cuadros de video pueden comprender uno o más bloques, macrobloques, secciones, no puede comprender cuadros completos, grupos de cuadros, u otra división de cuadros que se pueda prever por un experto en la técnica. El caché de codificador 610 se puede configurar para almacenar una porción de cuadro, dos porciones de cuadro, o cualquier otro número de porciones de cuadro.
El sistema de video 600 también comprende un sincronizador 614, que se utiliza para asegurar que el caché del codificador 604 y el caché de decodificaos 610 contengan información sustancialmente similar. Como se discutió previamente, el sincronizador puede comprender un encabezado de cuadro único unido en ciertos cuadros o porciones de cuadros, aplicado por el codificador 602, que informa al codificador 608 que un cuadro o porción específica de un cuadro va ser almacenado en cache. Por ejemplo, se puede almacenar un cuadro en el caché de codificador 604 y también enviado al decodificador 608. Ese cuadro puede tener un encabezado CF distintivo (cuadro almacenado en cache) para indicar que existe una copia de este almacenada en el caché del codificador 604. Cuando el codificador 608 detecta pérdida de paquete u otra corrupción que hace la decodificación de un cuadro difícil o imposible. El cuadro posterior codificado por el codificador 602 desde el cuadro almacenado en el caché del codificador 604 se puede marcar para indicar que este cuadro se puede decodificar desde un cuadro en el caché del codificador 610. Algunas implementaciones pueden tener múltiples cuadros almacenados en el caché del decodificador 610; en tal caso, el encabezado también puede opcionalmente contener otra suficiente información para determinar que cuadro almacenado en caché se debe utilizar. También se prevén otros métodos de sincronización. Un transmisor 616 transmite los cuadros desde el codificador 602 al decodificador
608.
5. Ambiente de Cómputo
Las implementaciones anteriormente descritas de almacenamiento en caché de cuadro se pueden efectuar en cualquiera de una variedad de dispositivos en los cuales se efectúa el procesamiento de señal de imagen y video, incluyendo entre otros ejemplos, computadotas, grabación de imagen
y video, equipo de recepción y transmisión, video conferencias con reproductores de video portátil, aplicaciones de corrientes de video en red, etc.,. Las técnicas de codificación de imagen y video se pueden implementar en circuitos de equipo (por ejemplo en circuitos de un ASIC, FUGA, etc.), así como también en un software de procesamiento de imagen y video que se ejecuta dentro de una computadora u otro ambiente de cómputo (sea ejecutado por la unidad de procesamiento central (CPU), o un procesador de gráficos dedicado, tarjeta de video o similar) tal como se muestra en la Figura 7.
La Figura 7 ilustra un ejemplo generalizado de un ambiente de cómputo adecuado 700 en el cual se puede implementar el almacenamiento de caché de cuadro descrito. El ambiente de cómputo 700 no pretende sugerir ninguna limitación en cuanto al alcance de uso la funcionalidad de la invención, en razón a que la presente invención se puede implementar en diversos ambientes de cómputo de propósito general o especial.
El ambiente de cómputo 700 incluye al menos una unidad de procesamiento 710 y la memoria 720. La configuración más básica 730 se incluye dentro de una línea punteada. La unidad de procesamiento 710 ejecuta instrucciones ejecutables por computadora y puede ser un procesador real
o virtual. En un sistema multiprocesamiento, las unidades multiprocesamiento ejecutan instrucciones ejecutables por computadora para incrementar la energía de procesamiento. La memoria 720 puede ser una memoria volátil (por ejemplo registros, cache, RAM, etc.), memoria no volátil (por ejemplo ROM, EEPROM, memoria flash, etc.) o una combinación de las dos. La memoria 720 almacena software 780 que implementa el almacenamiento en caché del codificador/decodificador descrito.
Un ambiente de cómputo puede tener características adicionales. Por ejemplo, el ambiente de cómputo 700 incluye el almacenamiento 740, uno o más dispositivos de entrada 750, uno o más dispositivos de salida 760, y uno o más conexiones de comunicación 770. Un mecanismo de interconexión (no mostrado) tal como un bus, controlador, o red interconectan los componentes del ambiente de cómputo 700. Típicamente, el software del sistema operativo (no mostrado) suministra un ambiente operativo para otro software que se ejecuta en el ambiente de cómputo 700, y coordina actividades en los componentes del ambiente de computo 700.
El almacenamiento 740 puede ser removible o no removible, e incluye discos magnéticos, cintas magnéticas o casetes, CD-ROM, CD-RW, DVD, o cualquier otro medio que se pueda utilizar para almacenar información y se pueda acceder dentro del ambiente de cómputo 700. El almacenamiento 740 almacena instrucciones para el software 780 que implementa el esquema de almacenamiento en caché del codificador/decodificador.
El o los dispositivos de entrada 750 puede ser un dispositivo de entrada de toque tal como un teclado, ratón, pluma “trackball”, un dispositivo de entrada de voz, un dispositivo de exploración, otro dispositivo que suministre entrada al ambiente de cómputo 700. Para audio, los dispositivos de entrada 750 pueden ser una tarjeta de sonido o un dispositivo similar que acepte entrada de audio de forma análoga o digita, o un lector de CD-ROM que suministre muestras de audio al ambiente de cómputo 700. El o los dispositivos de salida 760 pueden ser una pantalla, impresora, parlante, escritora en CD, u otro dispositivo que suministre salida desde el ambiente desde cómputo 700.
En unas conexiones de comunicación 770 posibilitan la comunicación sobre un medo de comunicación a otra entidad de cómputo. El medio de comunicación lleva información, tal como instrucciones ejecutables por computadora, información de audio y video comprimido, otros datos en una señal de datos modulada. Una señal de datos modulada es una señal que tiene una o más de sus características establecidas cambiadas de tal manera que codifican la información en la señal. Por vía de ejemplo, y no de limitación, los medios de comunicación incluyen técnicas alambradas o inalámbricas implementadas con una portadora eléctrica, óptica, RF, infrarroja, acústica o otra.
Las técnicas de almacenamiento en caché de cuadro del codificador/decodificador presentes se pueden describir en el contexto general de un medio leíble por computadora. Los medios leíbles por computadora son cualquiera de los medios disponibles que se puedan acceder dentro de un ambiente de cómputo 700. Por vía de ejemplo y no de limitación, con el ambiente de cómputo 700, el medio leíble por computador incluye la memoria 720, el almacenamiento 740, el medio de comunicación, y las combinaciones de cualquiera de las anteriores.
El caché de cuadro codificador/decodificador presente se puede describir en el contexto general de instrucciones ejecutables por computador, tal como aquellas incluidas en los módulos del programa, que son ejecutadas en un ambiente de computadora sobre un procesador blanco real o virtual. En general, los módulos de programa incluyen rutina, programas, bibliotecas, objetos, clases, componentes, estructuras de datos, etc., que efectúan tareas particulares e implementan tipos de datos abstractos particulares. La funcionalidad de los módulos de programa se puede combinar o dividir entre los módulos de programa según se desee en varias realizaciones. Las instrucciones ejecutables por computadora para los módulos de programa se pueden ejecutar dentro de un ambiente de cómputo local o distribuido.
Por motivos de presentación, la descripción detallada utiliza términos como “determinar”, “transmitir”, “codificar”, “decodificar”, y “aplicar”, para describir operaciones de computadora en ambiente de cómputo. Estos términos son abstracciones de alto nivel para operaciones efectuadas por una computadora, y no se deben confundir con actos efectuados por un ser humano. Las operaciones de computadora actuales que corresponden a estos términos puede variar dependiendo de la implementación.
En vista de muchas posibles realizaciones a las cuales se pueden aplicar posprincipios de nuestra invención, se debe reconocer que las realizaciones detalladas son solo ilustrativas y no se deben tomar como limitantes de alcance de nuestra invención. Por el contrario, nosotros reivindicamos como nuestra invención todas las tales realizaciones que puedan estar dentro del alcance y espíritu de las siguientes reivindicaciones equivalentes a las mismas.

Claims (16)

1. Un método para transmitir una señal sobre una red, que comprende las etapas de: Un codificador que codifica (404) y una secuencia de cuadros de la señal en una secuencia de cuadros codificada que comprende cuadros clave y cuadros predichos, al menos algunos de los cuadros codificados tienen un código de tipo de cuadro que define tales cuadros para ser almacenados en cuadros para ser almacenados en caché cuadros que correspondan en el almacenamiento de caché de cuadros de referencia (406) en el codificador, que transmita (408) la secuencia de cuadros codificados sobre la red a un decodificador; Recibir, en el decodificador, la secuencia de cuadros codificados; Luego de recibir un cuadro codificado definido por ser un cuadro almacenado en cache, almacenar en caché (410) dicho cuadro codificado como un cuadro de referencia en el decodificador; En el decodificador que detecta la pérdida de paquetes en un cuadro subsecuente; Si se detecta la pérdida de paquetes, el decodificador envía una señal de detección de pérdida de paquetes al codificador; En respuesta a recibir la señal de detección de pérdida de paquete, generar un cuadro en el codificador utilizando un cuadro de referencia almacenado de caché en el codificador;
El decodificador interpreta (412) el cuadro generado transmitido desde el codificador utilizando dicho cuadro de referencia almacenado en caché en el decodificador; El decodificador produce un cuadro no comprimido con base en dicha interpretación
(412) del cuadro generado.
2.
El método de la reivindicación 1, en donde el almacenamiento de caché (406, 410) del cuadro de referencia en el codificador y en el decodificador es para la recuperación de pérdida de paquete.
3.
El método de la reivindicación 1, en donde el método además comprende almacenar en caché el cuadro de referencia en el codificador periódicamente.
4.
El método de la reivindicación 3, en donde el periodo entre los almacenamientos en caché puede ser un intervalo de conjunto o puede ser un intervalo de variable.
5.
El método de la reivindicación 1, en donde las copias del mismo cuadro de referencia son almacenadas en caché en el decodificador y en el codificador y el método además comprende almacenar en caché el cuadro de referencia en el codificador y en sincronización con el almacenamiento en caché del cuadro de referencia en el decodificador.
6.
El método de la reivindicación 1, en donde la señal de detección de la pérdida de paquetes se envía a través de un canal de retroalimentación al codificador.
7.
El método de la reivindicación 6, en donde la pérdida de paquetes tiene tiempo asociado con esta y en donde una inserción de marca temporal que representa el tiempo de pérdida de paquete envía al codificador.
8.
El método de la reivindicación 6, en donde el codificador recibe una señal de detección de pérdida de paquete, y luego del recibo de la señal construye un siguiente cuadro utilizando un cuadro de referencia almacenado en caché en el codificador.
9.
El método de la reivindicación 8, en donde el siguiente cuadro además comprende un encabezado de cuadro y en donde el siguiente cuadro es distintivamente nombrado en el encabezado de cuadro.
10.
El método de la reivindicación 1, en donde el codificador envía un cuadro almacenado en caché al decodificador periódicamente.
11.
El método de la reivindicación 1, en donde la señal es una señal de imagen, una señal de video, una señal de audio, o una señal de conferencia.
12.
Unas instrucciones ejecutables por computadora que se almacena en un medio leíble por computadora para hacer que un sistema de computadora efectué el método de una de las reivindicaciones precedentes.
13. Un sistema de corriente de video dentro de una red de pérdida que comprende Un codificador (502A) para codificar una secuencia de cuadros en una secuencia de cuadros codificados que comprenden cuadros clave y cuadros predicho, almenos algunos de los cuadros codificados (506A) tienen un código de tipo de cuadro que definen tales cuadros para ser almacenados en caché que corresponden al cuadro de referencia almacenado en caché en el codificador (502A); Un caché de cuadro (504A) en el codificador (502A) en el cual almacenar una copia de un cuadro de referencia (506A); Un caché de cuadro (510A) en el decodificador (512A) en el cual almacenar una copia del cuadro de referencia (508A); El decodificador (512A) que es operable para recibir la secuencia de cuadros codificados y luego recibir un cuadro codificado (508A) definido por ser un cuadro almacenado en caché para almacenar en caché dicho cuadro codificado (508A) como un cuadro de referencia en el caché de cuadro (510A) en el decodificador (512A); El decodificador (512A) es operable para decodificar los cuadros claves recibidos desde el codificador (502A); El decodificador (512A) es operable para decodificar los cuadros predichos recibidos desde el codificador (502A) con referencia a sus cuadros claves respectivos; El decodificador (512A) es operable para detectar la pérdida de paquetes aunque recibiendo un cuadro; y luego de tal detección, operable para señalizar dicha pérdida de paquetes al codificador (502A) y recibir de regreso desde el codificador (502A) un cuadro generado (508C) codificado utilizando el cuadro de referencia (506A) almacenado en el caché de cuadro (504A) en el codificador (502A);
Un transmisor para transmitir los cuadros desde el codificador (502A) al decodificador (512A); y luego de recibir el cuadro generado (508C) desde el codificador (502A), el decodificador (512A) es operable para decodificar el cuadro generado transmitido desde el codificador (502A) que utiliza el cuadro de referencia (508A) almacenado en el caché de cuadro (510A) en el decodificador (512A), y para reconstruir un cuadro no comprimido (514C) con base en dicha decodificación del cuadro generado (508C).
14.
El sistema de la reivindicación 13, en donde el cuadro además comprende un encabezado, y en donde el cuadro generado (508C) es distintivamente nombrado en el encabezado.
15.
El sistema de la reivindicación 13, que comprende además un sincronizador que sincroniza el cuadro de referencia (506A) almacenado en el caché de cuadro (504A) en el codificador (502A) con el cuadro de referencia (508A) almacenado en el caché de cuadro (510A) en el decodificador (512A).
16. Un video procesador, que comprende; Medios (602) para codificar una secuencia de cuadro en una secuencia de cuadros codificada que comprende cuadros clave y cuadros predichos, al menos algunos de los cuadros codificados tienen un código de tipo de cuadro que define tales cuadros para ser cuadros almacenados en el caché que corresponden a un cuadro de referencia almacenado en caché en un codificador; Medios (604) para almacenar en caché un cuadro de referencia en el codificador; Medios (616) para transmitir los cuadros codificados desde el codificador a un decodificador; Medios para recibir la secuencia de los cuadros codificados; Medios (608) para decodificar los cuadros claves recibidos y decodificar los cuadros predichos con referencia a los cuadros claves respectivos en el decodificador; Medios (610) para almacenar en caché una estructura codificada definida para ser un cuadro almacenado en caché como un cuadro de referencia en el decodificador luego de recibir dicho cuadro codificado; Medios (614) para sincronizar el cuadro de referencia almacenado en caché en el codificador en el cuadro de referencia almacenado en caché en el decodificador; Medios para detectar la pérdida de paquete en un cuadro subsecuente, y luego de tal superdetección, el decodificador que es operable para señalizar dicha pérdida de paquetes al codificador; Medios para utilizar el cuadro de referencia almacenado en caché en el codificador para generar un cuadro cuando la pérdida de paquete se detecta;
Si el cuadro subsecuente se pierde medios interpretar el cuadro generado en el decodificador utilizan el cuadro de referencia almacenado en caché en el decodificador y reconstruyen un cuadro no comprimido con base en dicha interpretación del cuadro generado.
ES05026119T 2004-12-30 2005-11-30 Uso de almacenamiento en cache de trama para mejorar la recuperacion de perdidas de paquetes. Active ES2348730T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US27294 2001-12-21
US11/027,294 US8634413B2 (en) 2004-12-30 2004-12-30 Use of frame caching to improve packet loss recovery

Publications (1)

Publication Number Publication Date
ES2348730T3 true ES2348730T3 (es) 2010-12-13

Family

ID=35789232

Family Applications (1)

Application Number Title Priority Date Filing Date
ES05026119T Active ES2348730T3 (es) 2004-12-30 2005-11-30 Uso de almacenamiento en cache de trama para mejorar la recuperacion de perdidas de paquetes.

Country Status (9)

Country Link
US (4) US8634413B2 (es)
EP (2) EP2247111A1 (es)
JP (3) JP5047497B2 (es)
KR (3) KR101114129B1 (es)
CN (2) CN102158713B (es)
AT (1) ATE473599T1 (es)
DE (1) DE602005022158D1 (es)
ES (1) ES2348730T3 (es)
HK (1) HK1159386A1 (es)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6499060B1 (en) 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
US20100166056A1 (en) * 2002-12-10 2010-07-01 Steve Perlman System and method for encoding video using a selected tile and tile rotation pattern
US9138644B2 (en) * 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
US10201760B2 (en) 2002-12-10 2019-02-12 Sony Interactive Entertainment America Llc System and method for compressing video based on detected intraframe motion
US9446305B2 (en) 2002-12-10 2016-09-20 Sony Interactive Entertainment America Llc System and method for improving the graphics performance of hosted applications
US20090118019A1 (en) 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
US9227139B2 (en) 2002-12-10 2016-01-05 Sony Computer Entertainment America Llc Virtualization system and method for hosting applications
US9192859B2 (en) 2002-12-10 2015-11-24 Sony Computer Entertainment America Llc System and method for compressing video based on latency measurements and other feedback
US8526490B2 (en) * 2002-12-10 2013-09-03 Ol2, Inc. System and method for video compression using feedback including data related to the successful receipt of video content
US8549574B2 (en) * 2002-12-10 2013-10-01 Ol2, Inc. Method of combining linear content and interactive content compressed together as streaming interactive video
US9314691B2 (en) * 2002-12-10 2016-04-19 Sony Computer Entertainment America Llc System and method for compressing video frames or portions thereof based on feedback information from a client device
US8964830B2 (en) * 2002-12-10 2015-02-24 Ol2, Inc. System and method for multi-stream video compression using multiple encoding formats
US8366552B2 (en) 2002-12-10 2013-02-05 Ol2, Inc. System and method for multi-stream video compression
US9108107B2 (en) 2002-12-10 2015-08-18 Sony Computer Entertainment America Llc Hosting and broadcasting virtual events using streaming interactive video
US9077991B2 (en) 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US9061207B2 (en) * 2002-12-10 2015-06-23 Sony Computer Entertainment America Llc Temporary decoder apparatus and method
US8711923B2 (en) 2002-12-10 2014-04-29 Ol2, Inc. System and method for selecting a video encoding format based on feedback data
US8979655B2 (en) 2002-12-10 2015-03-17 Ol2, Inc. System and method for securely hosting applications
US8634413B2 (en) 2004-12-30 2014-01-21 Microsoft Corporation Use of frame caching to improve packet loss recovery
CN100459717C (zh) * 2005-04-20 2009-02-04 华为技术有限公司 基于h.264的压缩视频传输误码消除方法
EP1941661A4 (en) * 2005-10-06 2009-03-11 Egc & C Co Ltd SYSTEM AND METHOD FOR MANAGING THE TRANSMISSION OF IMAGES LIVED ON A NETWORK
US20070107011A1 (en) * 2005-11-10 2007-05-10 Zhi Li System and method for differentiated service levels in an internet protocol television network
US7716551B2 (en) 2005-12-07 2010-05-11 Microsoft Corporation Feedback and frame synchronization between media encoders and decoders
CN101087438A (zh) * 2006-06-06 2007-12-12 安捷伦科技有限公司 计算无参考视频质量评估的分组丢失度量的系统和方法
US8578228B2 (en) 2006-08-17 2013-11-05 Telefonaktiebolaget Lm Ericcson Error recovery for rich media
EP2105019A2 (en) * 2006-09-29 2009-09-30 Avinity Systems B.V. Method for streaming parallel user sessions, system and computer software
US7957307B2 (en) * 2007-03-14 2011-06-07 Microsoft Corporation Reducing effects of packet loss in video transmissions
KR101487771B1 (ko) * 2007-08-10 2015-01-30 삼성전자주식회사 이동통신 시스템에서 영상 정보를 복구하기 위한 방법 및장치
US9168457B2 (en) 2010-09-14 2015-10-27 Sony Computer Entertainment America Llc System and method for retaining system state
US8406296B2 (en) * 2008-04-07 2013-03-26 Qualcomm Incorporated Video refresh adaptation algorithms responsive to error feedback
US8385404B2 (en) * 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
JP5574346B2 (ja) * 2009-05-22 2014-08-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、およびこれらの方法
US20110249729A1 (en) * 2010-04-07 2011-10-13 Apple Inc. Error resilient hierarchical long term reference frames
US8731152B2 (en) * 2010-06-18 2014-05-20 Microsoft Corporation Reducing use of periodic key frames in video conferencing
CN102223539A (zh) * 2011-06-24 2011-10-19 武汉长江通信产业集团股份有限公司 图像编码丢帧花屏的处理方法
GB2495469B (en) 2011-09-02 2017-12-13 Skype Video coding
GB2495467B (en) * 2011-09-02 2017-12-13 Skype Video coding
GB2495468B (en) 2011-09-02 2017-12-13 Skype Video coding
US9203755B1 (en) * 2011-09-27 2015-12-01 Cisco Technology, Inc. Error message monitoring in a network environment
US9160687B2 (en) * 2012-02-15 2015-10-13 Massachusetts Institute Of Technology Method and apparatus for performing finite memory network coding in an arbitrary network
US20130223524A1 (en) * 2012-02-29 2013-08-29 Microsoft Corporation Dynamic insertion of synchronization predicted video frames
CN102611894B (zh) * 2012-03-02 2015-01-07 华为技术有限公司 检测视频传输丢包的方法、装置和系统
KR101358886B1 (ko) * 2012-04-12 2014-02-06 고려대학교 산학협력단 송신장치 및 수신장치, 송신장치의 동작 방법
CN103389879B (zh) * 2012-05-10 2016-08-17 慧荣科技股份有限公司 电子装置以及由电子装置传送数据至显示设备的方法
US20140307808A1 (en) * 2012-12-14 2014-10-16 Boris Kudryashov Protection against packet loss during transmitting video information
CN103051434A (zh) * 2012-12-20 2013-04-17 中兴通讯股份有限公司 数据的解压缩、解压缩处理方法及装置
US9407923B2 (en) * 2013-05-20 2016-08-02 Gamefly Israel Ltd. Overconing lost IP packets in streaming video in IP networks
FR3024582A1 (fr) 2014-07-29 2016-02-05 Orange Gestion de la perte de trame dans un contexte de transition fd/lpd
US10462477B2 (en) 2015-02-25 2019-10-29 Cinova Media Partial evaluator system and method
US10313685B2 (en) 2015-09-08 2019-06-04 Microsoft Technology Licensing, Llc Video coding
US10595025B2 (en) 2015-09-08 2020-03-17 Microsoft Technology Licensing, Llc Video coding
US10460700B1 (en) 2015-10-12 2019-10-29 Cinova Media Method and apparatus for improving quality of experience and bandwidth in virtual reality streaming systems
US20170103577A1 (en) * 2015-10-12 2017-04-13 Cinova Media Method and apparatus for optimizing video streaming for virtual reality
US10516891B2 (en) * 2015-11-20 2019-12-24 Intel Corporation Method and system of reference frame caching for video coding
US10841621B2 (en) * 2017-03-01 2020-11-17 Wyse Technology L.L.C. Fault recovery of video bitstream in remote sessions
CN110574375B (zh) * 2017-04-28 2023-06-02 苹果公司 视频流水线
US10944971B1 (en) 2017-05-22 2021-03-09 Cinova Media Method and apparatus for frame accurate field of view switching for virtual reality
US10291936B2 (en) 2017-08-15 2019-05-14 Electronic Arts Inc. Overcoming lost or corrupted slices in video streaming
KR102392888B1 (ko) * 2017-10-26 2022-04-29 에스케이텔레콤 주식회사 패킷 손실 복구를 개선하기 위한 장치 및 방법
US10567781B2 (en) * 2018-05-01 2020-02-18 Agora Lab, Inc. Progressive I-slice reference for packet loss resilient video coding
CN112740631B (zh) * 2018-07-20 2024-09-20 诺基亚技术有限公司 通过接收算法中的参数的更新来在通信系统中学习
CN109714558A (zh) * 2018-11-28 2019-05-03 视联动力信息技术股份有限公司 一种基于视联网的通信连接检测方法及系统
CN109862400B (zh) * 2019-02-18 2021-08-31 苏州长风航空电子有限公司 一种流媒体传输方法、装置及其系统
CN110602507A (zh) * 2019-08-19 2019-12-20 西安万像电子科技有限公司 丢帧处理方法、设备及系统
CN110636333A (zh) * 2019-08-19 2019-12-31 西安万像电子科技有限公司 丢帧处理方法及装置
CN113132807B (zh) * 2019-12-30 2023-04-07 成都鼎桥通信技术有限公司 基于视频的关键帧请求方法、装置、设备及存储介质
CN118525539A (zh) * 2022-01-21 2024-08-20 高通股份有限公司 参考信号安全性
US12101458B2 (en) * 2022-02-17 2024-09-24 Agora Lab, Inc. System and method for determining video codec performance in real-time communication over internet
CN117295207B (zh) * 2023-11-24 2024-03-01 深圳市千岩科技有限公司 氛围灯设备及其指令传输、应用方法和相应的装置、介质

Family Cites Families (194)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5130595A (ja) 1974-09-10 1976-03-15 Mitsubishi Heavy Ind Ltd Ozonhatsuseisochi
JPS6030394A (ja) 1983-07-28 1985-02-15 Mitsubishi Chem Ind Ltd 感熱転写記録用チアジアゾ−ル系色素
JPS6078298A (ja) 1983-10-02 1985-05-02 小山 金一 矢羽根用鳥羽加工自動装置
US4838685A (en) 1987-04-03 1989-06-13 Massachusetts Institute Of Technology Methods and apparatus for motion estimation in motion picture processing
FR2624997B1 (fr) 1987-12-16 1990-06-01 France Etat Procede d'estimation multi predictif du mouvement des points d'une image electronique
JP2521145B2 (ja) 1989-02-20 1996-07-31 日本ビクター株式会社 動き補償予測符号化復号化方式
DE3943879B4 (de) 1989-04-17 2008-07-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Digitales Codierverfahren
GB9001468D0 (en) 1990-01-23 1990-03-21 Sarnoff David Res Center Computing multiple motions within an image region
JP2569219B2 (ja) 1990-01-31 1997-01-08 富士通株式会社 動画像予測方式
NL9000424A (nl) 1990-02-22 1991-09-16 Philips Nv Overdrachtsysteem voor gedigitaliseerde televisiebeelden.
US5150209A (en) 1990-05-11 1992-09-22 Picturetel Corporation Hierarchical entropy coded lattice threshold quantization encoding method and apparatus for image and video compression
CA2043670C (en) 1990-06-05 2002-01-08 Wiebe De Haan Method of transmitting a picture sequence of a full-motion video scene, and a medium for said transmission
US5093720A (en) 1990-08-20 1992-03-03 General Instrument Corporation Motion compensation for interlaced digital television signals
JP3173508B2 (ja) 1990-10-01 2001-06-04 株式会社日立製作所 動画像復号化方法、及び、動画像復号化装置
US5175618A (en) 1990-10-31 1992-12-29 Victor Company Of Japan, Ltd. Compression method for interlace moving image signals
USRE35093E (en) 1990-12-03 1995-11-21 The Trustees Of Columbia University In The City Of New York Systems and methods for coding even fields of interlaced video sequences
JP2924430B2 (ja) 1991-04-12 1999-07-26 三菱電機株式会社 動き補償予測符号化装置及び動き補償予測復号装置
AU657510B2 (en) 1991-05-24 1995-03-16 Apple Inc. Improved image encoding/decoding method and apparatus
GB2256341B (en) 1991-05-24 1995-02-15 British Broadcasting Corp Video image processing
US5467136A (en) 1991-05-31 1995-11-14 Kabushiki Kaisha Toshiba Video decoder for determining a motion vector from a scaled vector and a difference vector
US5986713A (en) 1991-05-31 1999-11-16 Kabushiki Kaisha Toshiba Video coding apparatus using inter-field prediction
US5317397A (en) 1991-05-31 1994-05-31 Kabushiki Kaisha Toshiba Predictive coding using spatial-temporal filtering and plural motion vectors
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
JP2699703B2 (ja) 1991-07-31 1998-01-19 松下電器産業株式会社 動き補償予測方法とそれを用いた画像信号符号化方法
JP3115651B2 (ja) 1991-08-29 2000-12-11 シャープ株式会社 画像符号化装置
JP2586260B2 (ja) 1991-10-22 1997-02-26 三菱電機株式会社 適応的ブロッキング画像符号化装置
US5227878A (en) 1991-11-15 1993-07-13 At&T Bell Laboratories Adaptive coding and decoding of frames and fields of video
US5255090A (en) 1991-11-19 1993-10-19 Scientific-Atlanta, Inc. Progressive transmission of vector quantized data
US7006881B1 (en) 1991-12-23 2006-02-28 Steven Hoffberg Media recording device with remote graphic user interface
US6400996B1 (en) 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
US5293229A (en) 1992-03-27 1994-03-08 Matsushita Electric Corporation Of America Apparatus and method for processing groups of fields in a video data compression system
GB2266023B (en) 1992-03-31 1995-09-06 Sony Broadcast & Communication Motion dependent video signal processing
JP2899478B2 (ja) 1992-06-25 1999-06-02 松下電器産業株式会社 画像符号化方法及び画像符号化装置
US6226327B1 (en) 1992-06-29 2001-05-01 Sony Corporation Video coding method and apparatus which select between frame-based and field-based predictive modes
US5412435A (en) 1992-07-03 1995-05-02 Kokusai Denshin Denwa Kabushiki Kaisha Interlaced video signal motion compensation prediction system
JP3201079B2 (ja) 1992-07-03 2001-08-20 ケイディーディーアイ株式会社 インターレース動画像信号の動き補償予測方法、符号化方法及び装置
GB9215102D0 (en) 1992-07-16 1992-08-26 Philips Electronics Uk Ltd Tracking moving objects
JP3358835B2 (ja) 1992-12-14 2002-12-24 ソニー株式会社 画像符号化方法及び装置
US5737022A (en) 1993-02-26 1998-04-07 Kabushiki Kaisha Toshiba Motion picture error concealment using simplified motion compensation
US5592228A (en) 1993-03-04 1997-01-07 Kabushiki Kaisha Toshiba Video encoder using global motion estimation and polygonal patch motion estimation
US5376968A (en) 1993-03-11 1994-12-27 General Instrument Corporation Adaptive compression of digital video data using different modes such as PCM and DPCM
JP3679426B2 (ja) 1993-03-15 2005-08-03 マサチューセッツ・インスティチュート・オブ・テクノロジー 画像データを符号化して夫々がコヒーレントな動きの領域を表わす複数の層とそれら層に付随する動きパラメータとにするシステム
ES2431289T3 (es) 1993-03-24 2013-11-25 Sony Corporation Método de decodificación de señal de imagen y aparato asociado
DE69416717T2 (de) 1993-05-21 1999-10-07 Nippon Telegraph And Telephone Corp., Tokio/Tokyo Bewegtbildkoder und -dekoder
US5477272A (en) 1993-07-22 1995-12-19 Gte Laboratories Incorporated Variable-block size multi-resolution motion estimation scheme for pyramid coding
US5493513A (en) 1993-11-24 1996-02-20 Intel Corporation Process, apparatus and system for encoding video signals using motion estimation
US5539663A (en) 1993-11-24 1996-07-23 Intel Corporation Process, apparatus and system for encoding and decoding video signals using temporal filtering
JPH07202820A (ja) 1993-12-28 1995-08-04 Matsushita Electric Ind Co Ltd ビットレート制御システム
KR970003799B1 (ko) 1993-12-29 1997-03-21 양승택 영상 프레임차를 이용한 영상신호 전송장치
US5592226A (en) 1994-01-26 1997-01-07 Btg Usa Inc. Method and apparatus for video data compression using temporally adaptive motion interpolation
US5541594A (en) 1994-03-28 1996-07-30 Utah State University Foundation Fixed quality source coder with fixed threshold
US5579183A (en) 1994-04-08 1996-11-26 U.S. Philips Corporation Recording and reproducing an MPEG information signal on/from a record carrier
US5594504A (en) 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
JP2970417B2 (ja) 1994-08-22 1999-11-02 日本電気株式会社 動画像符号化方式
KR100287211B1 (ko) 1994-08-30 2001-04-16 윤종용 양방향 움직임 추정방법 및 장치
JP3474005B2 (ja) 1994-10-13 2003-12-08 沖電気工業株式会社 動画像符号化方法及び動画像復号方法
JPH08223577A (ja) 1994-12-12 1996-08-30 Sony Corp 動画像符号化方法及び装置、並びに動画像復号方法及び装置
JP3534465B2 (ja) 1994-12-28 2004-06-07 パイオニア株式会社 サブバンド符号化方法
US5619281A (en) 1994-12-30 1997-04-08 Daewoo Electronics Co., Ltd Method and apparatus for detecting motion vectors in a frame decimating video encoder
JP3518700B2 (ja) 1995-01-25 2004-04-12 ソニー株式会社 デイジタル信号復号装置
US5731840A (en) 1995-03-10 1998-03-24 Kabushiki Kaisha Toshiba Video coding/decoding apparatus which transmits different accuracy prediction levels
US6104754A (en) 1995-03-15 2000-08-15 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems, and variable-length coding and/or decoding system
KR0171143B1 (ko) 1995-03-20 1999-03-20 배순훈 육각그리드에서의 삼각구조 형성 장치
KR0181027B1 (ko) 1995-03-20 1999-05-01 배순훈 화소 단위 움직임 추정을 이용하는 영상처리 시스템
KR0171118B1 (ko) 1995-03-20 1999-03-20 배순훈 비디오신호 부호화 장치
US5903313A (en) 1995-04-18 1999-05-11 Advanced Micro Devices, Inc. Method and apparatus for adaptively performing motion compensation in a video processing apparatus
US5621660A (en) 1995-04-18 1997-04-15 Sun Microsystems, Inc. Software-based encoder for a software-implemented end-to-end scalable video delivery system
KR0181063B1 (ko) 1995-04-29 1999-05-01 배순훈 특징점을 이용한 움직임 보상에서의 그리드 형성방법 및 장치
KR0171154B1 (ko) 1995-04-29 1999-03-20 배순훈 특징점 기반 움직임 추정을 이용하여 비디오 신호를 부호화하는 방법 및 장치
US5835149A (en) 1995-06-06 1998-11-10 Intel Corporation Bit allocation in a coded video sequence
US5731850A (en) 1995-06-07 1998-03-24 Maturi; Gregory V. Hybrid hierarchial/full-search MPEG encoder motion estimation
US5852664A (en) 1995-07-10 1998-12-22 Intel Corporation Decode access control for encoded multimedia signals
US7512698B1 (en) 1995-07-14 2009-03-31 Broadband Royalty Corporation Dynamic quality adjustment based on changing streaming constraints
JP2795223B2 (ja) 1995-07-18 1998-09-10 日本電気株式会社 画像信号の符号化方法
US5668608A (en) 1995-07-26 1997-09-16 Daewoo Electronics Co., Ltd. Motion vector estimation method and apparatus for use in an image signal encoding system
EP0783820B1 (en) 1995-08-02 2001-10-10 Koninklijke Philips Electronics N.V. Method and system for coding an image sequence
KR0178229B1 (ko) 1995-08-08 1999-05-01 배순훈 특징점에 근거한 화소단위 움직임 추정을 이용한 영상 처리 장치
JPH0974566A (ja) 1995-09-04 1997-03-18 Sony Corp 圧縮符号化装置及び圧縮符号化データの記録装置
JP3068002B2 (ja) * 1995-09-18 2000-07-24 沖電気工業株式会社 画像符号化装置、画像復号化装置及び画像伝送システム
SG80607A1 (en) 1995-09-29 2001-05-22 Matsushita Electric Ind Co Ltd Method and device for recording and reproducing interleaved bitstream on and from medium
US6026182A (en) 1995-10-05 2000-02-15 Microsoft Corporation Feature segmentation
JPH09107547A (ja) 1995-10-09 1997-04-22 Hitachi Ltd 既圧縮動画データ量削減装置および既圧縮動画データ量削減システムならびに既圧縮動画データ量削減方法
JP3788823B2 (ja) 1995-10-27 2006-06-21 株式会社東芝 動画像符号化装置および動画像復号化装置
GB2306831B (en) 1995-10-30 2000-05-24 Sony Uk Ltd Video data compression
US5748121A (en) 1995-12-06 1998-05-05 Intel Corporation Generation of huffman tables for signal encoding
US5861919A (en) 1995-12-18 1999-01-19 Divicom Dynamic rate optimization for an ensemble of video encoders
JPH09182083A (ja) 1995-12-27 1997-07-11 Matsushita Electric Ind Co Ltd ビデオ画像符号化方法及び復号化方法とその装置
US5692063A (en) 1996-01-19 1997-11-25 Microsoft Corporation Method and system for unrestricted motion estimation for video
US5982438A (en) 1996-03-22 1999-11-09 Microsoft Corporation Overlapped motion compensation for object coding
US6101276A (en) 1996-06-21 2000-08-08 Compaq Computer Corporation Method and apparatus for performing two pass quality video compression through pipelining and buffer management
US6011864A (en) 1996-07-03 2000-01-04 Apple Computer, Inc. Digital image coding system having self-adjusting selection criteria for selecting a transform function
JPH1079949A (ja) * 1996-09-04 1998-03-24 Oki Electric Ind Co Ltd 画像符号化装置、画像復号化装置及び画像伝送システム
US5867230A (en) 1996-09-06 1999-02-02 Motorola Inc. System, device, and method for streaming a multimedia file encoded at a variable bitrate
JP3263807B2 (ja) 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
US6614847B1 (en) 1996-10-25 2003-09-02 Texas Instruments Incorporated Content-based video compression
US5905542A (en) 1996-12-04 1999-05-18 C-Cube Microsystems, Inc. Simplified dual prime video motion estimation
CN1207921C (zh) 1996-12-10 2005-06-22 英国电讯有限公司 视频编码
US6535558B1 (en) 1997-01-24 2003-03-18 Sony Corporation Picture signal encoding method and apparatus, picture signal decoding method and apparatus and recording medium
EP0960532B1 (en) 1997-02-12 2007-01-31 MediaTek Inc. Apparatus and method for optimizing the rate control in a coding system
EP2173103A3 (en) 1997-02-13 2010-09-08 Mitsubishi Denki Kabushiki Kaisha Moving picture prediction system
WO1998036577A1 (en) 1997-02-14 1998-08-20 Nippon Telegraph And Telephone Corporation Predictive coding method and decoding method for dynamic image
US5910827A (en) * 1997-02-26 1999-06-08 Kwan; Katherine W. Video signal decoding arrangement and method for improved error concealment
US5991447A (en) 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
US6005980A (en) 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
US6304607B1 (en) 1997-03-18 2001-10-16 Texas Instruments Incorporated Error resilient video coding using reversible variable length codes (RVLCS)
US6212236B1 (en) 1997-03-26 2001-04-03 Matsushita Electric Industrial Co., Ltd. Image decoding apparatus
US6404813B1 (en) 1997-03-27 2002-06-11 At&T Corp. Bidirectionally predicted pictures or video object planes for efficient and flexible video coding
AU732452B2 (en) 1997-04-01 2001-04-26 Sony Corporation Image encoder, image encoding method, image decoder, image decoding method, and distribution media
SG65064A1 (en) 1997-04-09 1999-05-25 Matsushita Electric Ind Co Ltd Image predictive decoding method image predictive decoding apparatus image predictive coding method image predictive coding apparatus and data storage media
JPH10290391A (ja) 1997-04-14 1998-10-27 Sony Corp 画像処理装置および画像処理方法、並びに記録媒体
JP3604864B2 (ja) 1997-04-25 2004-12-22 シャープ株式会社 動画像符号化装置
US6057884A (en) 1997-06-05 2000-05-02 General Instrument Corporation Temporal and spatial scaleable coding for video object planes
US5880784A (en) 1997-06-17 1999-03-09 Intel Corporation Method and apparatus for adaptively switching on and off advanced prediction mode in an H.263 video coder
US5870148A (en) 1997-06-17 1999-02-09 Intel Corporation Method and apparatus for adaptively enabling and disabling PB frames in an H.263 video coder
JP3045108B2 (ja) * 1997-06-30 2000-05-29 日本電気株式会社 テレビ電話装置
US6359929B1 (en) 1997-07-04 2002-03-19 Matsushita Electric Industrial Co., Ltd. Image predictive decoding method, image predictive decoding apparatus, image predictive coding apparatus, and data storage medium
US6282240B1 (en) 1997-09-03 2001-08-28 Oki Electric Industry Co., Ltd. Picture coder, picture decoder, and transmission system
US6249318B1 (en) 1997-09-12 2001-06-19 8×8, Inc. Video coding/decoding arrangement and method therefor
US6807231B1 (en) 1997-09-12 2004-10-19 8×8, Inc. Multi-hypothesis motion-compensated video image predictor
US5933195A (en) 1997-09-26 1999-08-03 Sarnoff Corporation Method and apparatus memory requirements for storing reference frames in a video decoder
US6057832A (en) 1997-12-02 2000-05-02 V Soft Ltd. Method and apparatus for video-on-demand with fast play capability
US5946043A (en) 1997-12-31 1999-08-31 Microsoft Corporation Video coding using adaptive coding of block parameters for coded/uncoded blocks
JP3186685B2 (ja) 1998-01-12 2001-07-11 松下電器産業株式会社 動き補償予測方法
EP0935396A3 (en) 1998-02-09 2004-08-11 Matsushita Electric Industrial Co., Ltd. Video coding method and apparatus
JP3130512B2 (ja) * 1998-03-02 2001-01-31 日本電信電話株式会社 画像通信方法、画像通信システム、および、画像通信プログラムを記録した記録媒体
US7263127B1 (en) 1998-04-02 2007-08-28 Intel Corporation Method and apparatus for simplifying frame-based motion estimation
US5991464A (en) 1998-04-03 1999-11-23 Odyssey Technologies Method and system for adaptive video image resolution enhancement
US6122321A (en) 1998-05-12 2000-09-19 Hitachi America, Ltd. Methods and apparatus for reducing the complexity of inverse quantization operations
US6289054B1 (en) 1998-05-15 2001-09-11 North Carolina University Method and systems for dynamic hybrid packet loss recovery for video transmission over lossy packet-based network
US6104757A (en) 1998-05-15 2000-08-15 North Carolina State University System and method of error control for interactive low-bit rate video transmission
US6421387B1 (en) * 1998-05-15 2002-07-16 North Carolina State University Methods and systems for forward error correction based loss recovery for interactive video transmission
US6029126A (en) 1998-06-30 2000-02-22 Microsoft Corporation Scalable audio coder and decoder
JP3085289B2 (ja) 1998-09-03 2000-09-04 株式会社日立製作所 動画像符号化方法、及び、動画像符号化装置
US6415326B1 (en) 1998-09-15 2002-07-02 Microsoft Corporation Timeline correlation between multiple timeline-altered media streams
US6629318B1 (en) * 1998-11-18 2003-09-30 Koninklijke Philips Electronics N.V. Decoder buffer for streaming video receiver and method of operation
US7046910B2 (en) * 1998-11-20 2006-05-16 General Instrument Corporation Methods and apparatus for transcoding progressive I-slice refreshed MPEG data streams to enable trick play mode features on a television appliance
US6418166B1 (en) 1998-11-30 2002-07-09 Microsoft Corporation Motion estimation and block matching pattern
DE69938094T2 (de) * 1998-11-30 2009-02-05 Matsushita Electric Industries Co. Ltd., Kadoma Paketwiederübertragungskontrolle mit Prioritätsinformationen
US6563953B2 (en) 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
WO2000054512A1 (en) * 1999-03-05 2000-09-14 Kabushiki Kaisha Toshiba Method and apparatus for coding moving picture image
JP2001148853A (ja) 1999-03-12 2001-05-29 Toshiba Corp 動画像符号化装置および復号化装置
US6499060B1 (en) 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
US6625215B1 (en) 1999-06-07 2003-09-23 Lucent Technologies Inc. Methods and apparatus for context-based inter/intra coding mode selection
US6441754B1 (en) 1999-08-17 2002-08-27 General Instrument Corporation Apparatus and methods for transcoder-based adaptive quantization
KR100669896B1 (ko) 1999-11-10 2007-01-18 톰슨 라이센싱 Dvd 레코더를 위한 페이딩 특징
US6400990B1 (en) 2000-02-18 2002-06-04 Pacesetter, Inc. Patient activated telemetry control unit using bidirectional asymmetric dual-mode telemetry link to communicate with an implanted device
JP2002010265A (ja) 2000-06-20 2002-01-11 Sony Corp 送信装置およびその方法と受信装置およびその方法
JP3348080B1 (ja) * 2000-07-07 2002-11-20 松下電器産業株式会社 データ送信装置とデータ受信装置及びデータ送受信方法
JP2004515132A (ja) 2000-11-23 2004-05-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ符号化方法及び対応するエンコーダ
JP3917363B2 (ja) 2000-12-12 2007-05-23 株式会社東芝 画像復号化装置及び画像復号化方法
US6765963B2 (en) * 2001-01-03 2004-07-20 Nokia Corporation Video decoder architecture and method for using same
US6920175B2 (en) * 2001-01-03 2005-07-19 Nokia Corporation Video coding architecture and methods for using same
US6907460B2 (en) * 2001-01-18 2005-06-14 Koninklijke Philips Electronics N.V. Method for efficient retransmission timeout estimation in NACK-based protocols
US7230919B2 (en) * 2001-02-07 2007-06-12 Siemens Communications, Inc. Quality-of-service monitor for voice-over-Internet-protocol calls
US6700932B2 (en) 2001-03-06 2004-03-02 Sony Corporation MPEG video editing-cut and paste
US6996838B2 (en) 2001-06-12 2006-02-07 Scientific Atlanta, Inc. System and method for media processing with adaptive resource access priority assignment
US7012893B2 (en) * 2001-06-12 2006-03-14 Smartpackets, Inc. Adaptive control of data packet size in networks
JP2003032689A (ja) * 2001-07-18 2003-01-31 Sharp Corp 画像符号化装置、画像復号化装置及び動画像伝送システム
US7542482B2 (en) 2001-08-16 2009-06-02 Qualcomm Incorporated Method and apparatus for message segmentation in a wireless communication system
US7218635B2 (en) 2001-08-31 2007-05-15 Stmicroelectronics, Inc. Apparatus and method for indexing MPEG video data to perform special mode playback in a digital video recorder and indexed signal associated therewith
DE10218541A1 (de) 2001-09-14 2003-04-24 Siemens Ag Verfahren zur Videocodierung und Computerprogrammprodukt
JP2003152544A (ja) 2001-11-12 2003-05-23 Sony Corp データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
US6980596B2 (en) 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
JP3912091B2 (ja) * 2001-12-04 2007-05-09 ソニー株式会社 データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP3923898B2 (ja) 2002-01-18 2007-06-06 株式会社東芝 画像符号化方法及び装置
JP2004007379A (ja) 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
CN1288915C (zh) * 2002-01-23 2006-12-06 诺基亚有限公司 视频序列的编码和解码方法及相关的视频编码器和解码器
JP4081745B2 (ja) 2002-03-07 2008-04-30 ソニー株式会社 復号装置および復号方法、学習装置および学習方法、並びにプログラムおよび記録媒体
KR100434384B1 (ko) * 2002-03-21 2004-06-04 엘지전자 주식회사 선택적 흐름제어를 통한 데이터 신뢰성 보장장치 및 방법
JP3821740B2 (ja) * 2002-03-22 2006-09-13 Necインフロンティア株式会社 音声データ送受信装置
KR100508798B1 (ko) 2002-04-09 2005-08-19 엘지전자 주식회사 쌍방향 예측 블록 예측 방법
KR100865034B1 (ko) 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
KR100506864B1 (ko) 2002-10-04 2005-08-05 엘지전자 주식회사 모션벡터 결정방법
JP2004215201A (ja) * 2003-01-09 2004-07-29 Sony Corp 情報処理装置および情報処理方法、データ通信システム、記録媒体、並びにプログラム
JP2004254195A (ja) 2003-02-21 2004-09-09 Matsushita Electric Ind Co Ltd 動画像符号化装置及び動画像符号化方法並びに動画像伝送システム及び動画像符号化プログラム
US7827458B1 (en) * 2003-03-03 2010-11-02 Apple Inc. Packet loss error recovery
US8824553B2 (en) 2003-05-12 2014-09-02 Google Inc. Video compression method
US20080221080A1 (en) 2003-08-25 2008-09-11 James Douglas Griffin Method of Treating Mixed Lineage Leukemia Gene-Rearranged Acute Lymphoblastic Leukemias
US7924921B2 (en) 2003-09-07 2011-04-12 Microsoft Corporation Signaling coding and display options in entry point headers
US7577198B2 (en) 2003-09-07 2009-08-18 Microsoft Corporation Number of reference fields for an interlaced forward-predicted field
US7142537B2 (en) * 2003-12-18 2006-11-28 Motorola, Inc. Interface call signaling protocol
KR20050061762A (ko) 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치
US7889792B2 (en) 2003-12-24 2011-02-15 Apple Inc. Method and system for video encoding using a variable number of B frames
US7643480B2 (en) * 2004-01-22 2010-01-05 Hain-Ching Liu Method and system for reliably and efficiently transporting data over a network
US7746927B1 (en) * 2004-03-26 2010-06-29 Apple Inc. Robust single-pass variable bit rate encoding
US8085846B2 (en) 2004-08-24 2011-12-27 Thomson Licensing Method and apparatus for decoding hybrid intra-inter coded blocks
JP4405875B2 (ja) * 2004-08-25 2010-01-27 富士通株式会社 エラー訂正用データの生成方法及び生成装置並びに生成プログラム及び同プログラムを格納したコンピュータ読み取り可能な記録媒体
US7302159B2 (en) * 2004-11-12 2007-11-27 Pelco Apparatus and method of storing video data
US7609895B2 (en) 2004-11-16 2009-10-27 Pegasus Imaging Corporation Methods and apparatus for performing MQ-decoding operations
US8634413B2 (en) 2004-12-30 2014-01-21 Microsoft Corporation Use of frame caching to improve packet loss recovery
JP5130595B2 (ja) 2006-12-01 2013-01-30 ライオン株式会社 台所用液体洗浄剤組成物
JP6030394B2 (ja) 2012-09-26 2016-11-24 住友電工プリントサーキット株式会社 プリント配線板
JP6078298B2 (ja) 2012-11-01 2017-02-08 武蔵エンジニアリング株式会社 位置補正機能を有する作業装置および作業方法

Also Published As

Publication number Publication date
EP1677547A1 (en) 2006-07-05
DE602005022158D1 (de) 2010-08-19
JP5687183B2 (ja) 2015-03-18
EP1677547B1 (en) 2010-07-07
KR101213906B1 (ko) 2012-12-18
EP2247111A1 (en) 2010-11-03
KR101114129B1 (ko) 2012-02-20
US10341688B2 (en) 2019-07-02
US8634413B2 (en) 2014-01-21
CN102158713A (zh) 2011-08-17
JP2012090329A (ja) 2012-05-10
KR20060079085A (ko) 2006-07-05
US9866871B2 (en) 2018-01-09
JP5620448B2 (ja) 2014-11-05
US20060146830A1 (en) 2006-07-06
ATE473599T1 (de) 2010-07-15
KR20120100851A (ko) 2012-09-12
US20130010861A1 (en) 2013-01-10
US20160366445A1 (en) 2016-12-15
JP2012253831A (ja) 2012-12-20
JP5047497B2 (ja) 2012-10-10
HK1159386A1 (en) 2012-07-27
KR101344207B1 (ko) 2013-12-20
CN1816150B (zh) 2011-07-06
JP2006191599A (ja) 2006-07-20
US9313501B2 (en) 2016-04-12
CN102158713B (zh) 2013-09-04
CN1816150A (zh) 2006-08-09
KR20110079579A (ko) 2011-07-07
US20140133583A1 (en) 2014-05-15

Similar Documents

Publication Publication Date Title
ES2348730T3 (es) Uso de almacenamiento en cache de trama para mejorar la recuperacion de perdidas de paquetes.
Côté et al. Optimal intra coding of blocks for robust video communication over the Internet
KR100945548B1 (ko) 비디오 오류 회복
JP4537583B2 (ja) 映像信号のエラー隠蔽
US9300956B2 (en) Method and apparatus for redundant video encoding
US20060188025A1 (en) Error concealment
US9584832B2 (en) High quality seamless playback for video decoder clients
US8259802B2 (en) Reference pictures for inter-frame differential video coding
US20100177776A1 (en) Recovering from dropped frames in real-time transmission of video over ip networks
JP2001245305A (ja) ディジタル映像データ通信システムにおけるエラー伝播抑制のための送受信データの処理方法及びこのための記録媒体
US7802168B1 (en) Adapting encoded data to overcome loss of data
US6804299B2 (en) Methods and systems for reducing requantization-originated generational error in predictive video streams using motion compensation
JPH0993592A (ja) 画像符号化装置
US20040261111A1 (en) Interactive mulitmedia communications at low bit rates
US20240340329A1 (en) Loss-resilient real-time video streaming
KR100669621B1 (ko) 동영상 디코더의 참조 영상 변경 제어방법
KR100564967B1 (ko) 동영상 디코더 및 이를 이용한 디코딩 방법
US8358694B2 (en) Effective error concealment in real-world transmission environment