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 PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/164—Feedback from the receiver or from the transmission channel
- H04N19/166—Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/188—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a video data packet, e.g. a network abstraction layer [NAL] unit
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5603—Access 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.
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)
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)
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 | 武蔵エンジニアリング株式会社 | 位置補正機能を有する作業装置および作業方法 |
-
2004
- 2004-12-30 US US11/027,294 patent/US8634413B2/en active Active
-
2005
- 2005-11-24 KR KR1020050112878A patent/KR101114129B1/ko active IP Right Grant
- 2005-11-30 AT AT05026119T patent/ATE473599T1/de not_active IP Right Cessation
- 2005-11-30 EP EP10168516A patent/EP2247111A1/en not_active Ceased
- 2005-11-30 EP EP05026119A patent/EP1677547B1/en active Active
- 2005-11-30 CN CN2011101203762A patent/CN102158713B/zh active Active
- 2005-11-30 ES ES05026119T patent/ES2348730T3/es active Active
- 2005-11-30 DE DE602005022158T patent/DE602005022158D1/de active Active
- 2005-11-30 CN CN2005101287508A patent/CN1816150B/zh active Active
- 2005-12-27 JP JP2005375508A patent/JP5047497B2/ja active Active
-
2011
- 2011-05-18 KR KR1020110047061A patent/KR101213906B1/ko active IP Right Grant
- 2011-12-16 HK HK11113627.1A patent/HK1159386A1/xx unknown
- 2011-12-27 JP JP2011285905A patent/JP5687183B2/ja active Active
-
2012
- 2012-07-19 KR KR1020120078971A patent/KR101344207B1/ko active IP Right Grant
- 2012-09-13 US US13/614,453 patent/US9313501B2/en not_active Expired - Fee Related
- 2012-09-26 JP JP2012212607A patent/JP5620448B2/ja active Active
-
2014
- 2014-01-17 US US14/158,720 patent/US9866871B2/en active Active
-
2016
- 2016-04-11 US US15/096,076 patent/US10341688B2/en active Active
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 |