MXPA02011201A - Codificacion de video. - Google Patents
Codificacion de video.Info
- Publication number
- MXPA02011201A MXPA02011201A MXPA02011201A MXPA02011201A MXPA02011201A MX PA02011201 A MXPA02011201 A MX PA02011201A MX PA02011201 A MXPA02011201 A MX PA02011201A MX PA02011201 A MXPA02011201 A MX PA02011201A MX PA02011201 A MXPA02011201 A MX PA02011201A
- Authority
- MX
- Mexico
- Prior art keywords
- image
- reference image
- default
- current
- decoder
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/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
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- 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/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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
-
- 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/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
-
- 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
- H04N19/895—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 in combination with error concealment
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Systems (AREA)
- Error Detection And Correction (AREA)
- Analogue/Digital Conversion (AREA)
- Color Television Systems (AREA)
- Glass Compositions (AREA)
Abstract
Un metodo de codificacion de una senal de video que representa una secuencia de imagenes, el metodo consiste en recibir una imagen actual para codificacion, formar una prediccion temporal de la imagen actual a partir de una imagen de referencia por omision para la imagen actual, comparar la imagen de referencia por omision con por lo menos una imagen de referencia adicional, calcular una medicion de la similitud entre la imagen de referencia por omision y cada imagen de referencia adicional y, si la medicion de similitud satisface un criterio predeterminado, enviar un indicador que identifica la imagen de referencia adicional.
Description
CODIFICACIÓN DE VIDEO
DESCRIPCIÓN DE LA INVENCIÓN
Esta invención se refiere a codificación de video. Una secuencia de video consiste de una serie de imágenes fijas o cuadros. Los métodos de compresión de video se basan en la reducción de las partes redundantes y de modo perceptivo irrelevantes de las secuencias de video. La redundancia en las secuencias de video se puede clasificar en redundancia espectral, espacial y temporal. La redundancia espectral se refiere a la similitud entre los componentes de diferente color de la misma imagen. La redundancia espacial resulta de la similitud entre pixeles vecinos en una imagen. La redundancia temporal existe porgue los objetos que aparecen en una imagen previa probablemente también aparecen en la imagen actual . La compresión se puede lograr al aprovechar esta redundancia temporal y predecir la imagen actual a partir de otra imagen, denominada una imagen de anclaje o de referencia. La compresión adicional se logra al generar datos de compensación de movimiento que describe el movimiento entre la imagen actual y la imagen previa. Sin embargo, por lo general no se puede lograr compresión suficiente si únicamente se reduce la redundancia inherente de la secuencia. De esta manera, los codificadores Ref.143339
de video también intentan reducir la calidad de aquellas partes de la secuencia de video que son subjetivamente menos importantes. Además, la redundancia del flujo de bits codificado se reduce por medio de la codificación sin pérdida eficiente de parámetros y coeficientes de compresión. La principal técnica es usar códigos de longitud variable. Los métodos de compresión de video típicamente diferencian entre imágenes que utilizan reducción de redundancia temporal de aquellos que no la utilizan. Las imágenes comprimidas que no utilizan métodos de reducción de redundancia temporal por lo general se denominan imágenes INTRA o cuadros I o imágenes I . Las imágenes temporalmente predichas por lo general se predicen a partir de una imagen que se presenta antes de la imagen actual y se denominan cuadros ÍNTER o Cuadros P. En el caso del cuadro ÍNTER, la imagen compensada en cuanto a movimiento predicha rara vez es suficientemente precisa y por lo tanto un marco de error de predicción espacialmente comprimido está asociado con cada cuadro ÍNTER. Las imágenes ÍNTER pueden contener áreas INTRA-codificadas. Muchos esquemas de compresión de video también utilizan cuadros temporalmente predichos bi-direccionales, que comúnmente se conocen como imágenes B o cuadros B. Las imágenes B se insertan entre los pares de imágenes de anclaje de cuadros I o cuadros P y se predicen a partir ya sea de una
o ambas de estas imágenes de anclaje. Las imágenes B normalmente producen compresión incrementada en comparación con imágenes predichas directas. Las Imágenes B no se usan como imágenes de anclaje, es decir, otras imágenes no se predicen a partir de ellas. Por lo tanto, pueden ser descartadas (en forma intencional o no intencional) sin que impacte la calidad de la imagen de imágenes futuras. Aunque las imágenes B pueden mejorar el rendimiento de compresión en comparación con las imágenes P, su generación requiere mayor complejidad computacional y uso de memoria, e introducen demoras adicionales. Esto no será un problema para las aplicaciones de tiempo no real tales como en envío en paquetes de video, pero ocasionarán problemas en aplicaciones de tiempo real tales como videoconferencias . " Un video clip comprimido típicamente consiste de una secuencia de imágenes, que pueden ser aproximadamente clasificadas en imágenes INTRA independientemente temporales e imágenes ÍNTER temporalmente codificadas en forma diferencial. Puesto que la eficiencia de compresión en imágenes INTRA es normalmente menor que en las imágenes ÍNTER, las imágenes INTRA se usan escasamente, en especial en aplicaciones de velocidad de bits baja. Una secuencia de video puede consistir de un número de escenas o tomas. El contenido de la imagen puede ser remarcablemente diferente de una escena a otra, y por lo
tanto la primera imagen de una escena es típicamente INTRA-codificada. Existen cambios de escena frecuentes en televisión y material cinematográfico, mientras que los cortes de escena son relativamente raros en videoconferencias . Además, las imágenes INTRA son típicamente insertadas para detener la preparación temporal de errores de transmisión en una señal de video reconstruida y para proveer puntos de acceso aleatorios a un flujo de bits de video. El video comprimido es fácilmente corrompido por errores de transmisión, principalmente por dos razones . Primero, debido a la utilización de codificación diferencial pronosticadora temporal (cuadros ÍNTER) , un error se propaga tanto espacialmente como temporalmente. En la práctica, esto significa que, una vez que ocurre un error, es fácilmente visible al ojo humano durante un tiempo relativamente largo. Especialmente susceptibles son las transmisiones a bajos regímenes de bits en donde hay únicamente unos cuantos cuadros INTRA-codificados, por lo que la propagación de error temporal no se detiene por cierto tiempo. Segundo, el uso de códigos de longitud variable incrementa la susceptibilidad a errores. Cuando un error de bits altera la palabra código el decodificador perderá sincronización de palabra código y también decodificará palabras código libres de errores subsecuentes (que comprenden varios bits) de manera incorrecta hasta el siguiente código de sincronización (o
inicio) . Un código de sincronización es un patrón de bits que no puede ser generado a partir de cualquier combinación legal de otras palabras código y dichos códigos se añaden al flujo de bits a intervalos para permitir la re-sincronización. Además, los errores ocurren cuando los datos se pierden durante la transmisión. Por ejemplo, en aplicaciones de video que utilizan el protocolo de transporte de UDP no confiable en redes de IP, los elementos de red pueden descartar partes del flujo de bits de video codificado. Existen muchas formas para que el receptor resuelva la corrupción introducida en la trayectoria de transmisión. En general, al recibir una señal, primero se detectan errores de transmisión y después se corrigen o son ocultados por el receptor. La corrección de error se refiere al proceso de recuperar los datos erróneos perfectamente como si no se hubieran introducido errores en el primer lugar. El ocultamiento de error se refiere al proceso de ocultar los efectos de errores de transmisión de modo que sean difícilmente visibles en la secuencia de video reconstruida. Típicamente, cierta cantidad de redundancia es añadida por la fuente o codificación de transporte a fin de ayudar a la detección, corrección y ocultamiento de errores. Existen numerosos algoritmos de ocultamiento, una revisión de los cuales se da en Y. Wang and A.-F. Zhu in "Error Control and Concealment for Video Communication: A
Review", Proceedings of the IEEE, Vol. 86, No. 5, Mayo de 1998, pp. 974-997 y un artículo P. Salama, N. B. Shroff, y E. J. Delp, "Error Concealment in Encoded Video", presentado a IEEE Journal on Selected reas in Communications. Los estándares de codificación de video actuales definen una sintaxis para el flujo de bits de video autosuficiente . Los estándares más comunes al momento de redactar son la recomendación H.263 de ITU-T, "Video coding for low bit rate communication", febrero de 1998; ISO/IEC 14496-2, "Generic Coding of Audio-Visual Objects, Part 2: Visual", 1999 (conocida como MPEG-4) ; y la recomendación H.262 de ITU-T (ISO/IEC 13818-2) (conocida como MPEG-2) . Estos estándares definen una jerarquía para el flujo de bits y en forma correspondiente para secuencias de imagen e imágenes . En H.263, la jerarquía tiene cuatro estratos: imagen, segmento de imagen, macrobloque y estrato de bloque. Los datos de estratos de imagen contienen parámetros que afectan toda el área de imagen y la decodificación de los datos de imagen. La mayoría de estos datos están dispuestos en una denominada cabecera de imagen. El estrato de segmento de imagen puede ser ya sea un estrato de grupo de bloques o un estrato de rebanada. Por omisión, cada imagen se divide en grupos de bloques. Un grupo de bloques (GOB) típicamente comprende 16 lineas de pixeles
sucesivos. Los datos para GOB consisten de una cabecera de GOB opcional seguida por datos de macrobloques. Si se usa el modo estructurado en rebanada opcional, cada imagen se divide de rebanadas en lugar de GOBs . Una rebanada contiene un número de macrobloques sucesivos en orden de escudriñamiento. Los datos para cada rebanada consisten de una cabecera de rebanada seguida por datos para los macrobloques . Cada GOB o rebanada se divide en macrobloques. Un macrobloque se refiere a 16 x 16 pixeles (o 2 x 2 bloques) de luminancia y los 8 x 8 pixeles espacialmente correspondientes (o bloque) de componentes de crominancia. Un bloque se refiere a 8 x 8 pixeles de luminancia o crominancia. Los datos del estrato de bloque consisten en el coeficiente de transformación de coseno discretos uniformemente cuantificados que son escudriñados en orden de zigzag, procesados con ' un codificador de longitud de operación y codificados con códigos de longitud variable. Las jerarquías de estrato de MPEG-2 y MPEG-4 se asemejan a la de H.263. Por omisión, estos estándares utilizan la imagen de anclaje (I, El, P, o EP) temporalmente previa como una referencia para una predicción temporal . Esta pieza de información no es transmitida, es decir, el flujo de bits no contiene información relacionada con la identidad de la imagen de referencia. Como consecuencia, los decodificadores
no tienen medios para detectar si una imagen de referencia se pierde. Muchos codificadores de transporte envían por paquetes los datos de video de tal forma que se asocian a un número de secuencia con los paquetes. Sin embargo, estos tipos de números de secuencia no están relacionados con el flujo de bits de video. Por ejemplo, una sección de un flujo de bits de video puede contener los datos para imagen P, Pl, imagen B, B2, imagen P, P3 , e imagen P, P4, capturados (y por ser desplegados) en este orden. Sin embargo, esta sección del flujo de bits de video sería comprimida, transmitida y decodificada en el siguiente orden: Pl, P3 , B2 , P4 ya que B2 requiere que tanto Pl como P3 anteriores puedan ser codificados y decodificados. Supóngase que hay un paquete por una imagen y cada paquete contiene un número de secuencia. Supóngase además que el paquete que porta B2 se pierde . El receptor puede detectar esta pérdida a partir de los números de secuencia de paquetes. Sin embargo, el receptor no tiene medios para detectar si ha perdido una imagen de referencia de compensación de movimiento para P4 o si ha perdido una imagen B, en cuyo caso continuaría decodificando en forma normal . Por consiguiente, el codificador- generalmente envía una solicitud INTRA en el transmisor y congela la imagen en la pantalla. Sin embargo, el transmisor no puede responder a esta solicitud. Por ejemplo, en una aplicación de envío por
paquetes de video en tiempo no real, el transmisor no puede responder a una solicitud INTRA de un decodificador. Por lo tanto, el decodificador congela la imagen hasta que se recibe el siguiente cuadro INTRA. En una aplicación de- tiempo real tal como video conferencia, el transmisor puede no ser capaz de responder. Por ejemplo, en una conferencia de partes múltiples, el codificador puede no ser capaz de responder a solicitudes individuales. Nuevamente, el decodificador congela la imagen hasta que un cuadro INTRA es introducido por el transmisor. De acuerdo con un primer aspecto de la invención, se provee un método de codificación de una señal de video que representa una secuencia de imágenes, el método consiste en recibir una imagen actual para codificación, formar una predicción temporal de la imagen actual a partir de una imagen de referencia por omisión para la imagen actual, comparar la imagen de referencia por omisión con por lo menos una imagen de referencia adicional, calcular una medición de la similitud entre la imagen de referencia por omisión y cada imagen de referencia adicional y, si la medición de similitud satisface un criterio predeterminado, enviar un indicador que identifica la imagen de referencia adicional y asocia al indicador con la predicción temporal del cuadro actual . Los codificadores pueden usar este indicador para instruir a los decodificadores cuyas imágenes se asemejan a
la imagen de referencia de compensación de movimiento actual tan bien que una de ellas se puede usar como una imagen de referencia de reserva si la imagen de referencia real se pierde durante la transmisión. Si un decodificador carece de una imagen de referencia real pero puede tener acceso a una imagen de referencia de reserva, preferiblemente el decodificador no debe enviar una solicitud para una actualización de imagen INTRA . El indicador puede ser denominado un número de imagen de referencia de reserva ya que el indicador indica a un decodificador qué imagen (es) de referencia se asemejan a la imagen de referencia por omisión. Esta imagen de referencia "de reserva" puede ser usada por un decodificador para decodificar el cuadro actual si la imagen de referencia por omisión se pierde por alguna razón. ' El número de imagen de referencia de reserva puede ser con respecto a la imagen completa o parte de una imagen. En el primer caso, típicamente el número de imagen de referencia de reserva se incluye en una cabecera de imagen. En el último caso, el número de imagen de referencia de reserva se incluye en las cabeceras de segmento de imagen o cabeceras de macrobloque de la imagen. En la aplicación preferida de la invención, la señal de video es codificada de acuerdo con el estándar de H.263 y el indicador es incluido en la información de mejoramiento complementario. Preferiblemente, el método también consiste en
formar una predicción temporal de la imagen actual a partir de una primera imagen de referencia por omisión y una segunda imagen de referencia por omisión para la imagen actual, la primera imagen de referencia por omisión ocurre temporalmente antes de que la imagen actual y la segunda imagen de referencia por omisión ocurran temporalmente después de la imagen actual , comparar la primera imagen de referencia por omisión con por lo menos una imagen de referencia adicional que Ocurre temporalmente antes de la imagen actual, calcular una medición de la similitud entre la primera imagen de referencia por omisión y cada imagen de referencia adicional y, si la medición de similitud satisface un criterio predeterminado, enviar un indicador que identifica la imagen de referencia adicional . ' Por lo tanto se provee un indicador para cuadros predichos en dirección hacia adelante pero no para cuadros predichos en dirección hacia atrás. De preferencia, la imagen por omisión se compara con una pluralidad de imágenes de referencia adicionales y se envía un indicador para cada imagen de referencia adicional que satisface el criterio predeterminado. Ventajosamente, las imágenes de referencia adicionales que satisfacen los criterios predeterminados se clasifican en orden de similitud y el indicador se asocia con la predicción temporal del cuadro actual en orden de categoría, la imagen de referencia
adicional que tiene la similitud más cercana a la imagen de referencia por omisión es colocada primero. La comparación se puede llevar a cabo para porciones de una imagen en un tiempo, por ejemplo, bloques u otras áreas no rectangulares de las imágenes. De acuerdo con un segundo aspecto de la invención, se provee un método para codificar una señal de video que representa una secuencia de imágenes, el método consiste en recibir una imagen actual para codificar, formar una predicción de por lo menos una parte que la imagen actual a partir de una imagen de referencia por omisión para la imagen actual, comparar la parte de la imagen de referencia por omisión o la imagen actual con una parte correspondiente de por lo menos una imagen adicional de la secuencia para formar una' medida de similitud y, si la medición de similitud satisface un criterio predeterminado, enviar un indicador con respecto a la parte del cuadro actual que identifica la imagen adicional de la secuencia. De acuerdo con un tercer aspecto de la invención, se provee un método para decodificar una señal de video codificada que representa una secuencia de imagen, la señal codificada incluye imágenes que han sido codificadas al formar una predicción temporal de una imagen actual a partir de una imagen de referencia por omisión para la imagen actual, el método consiste en recibir una señal de video
codificada que representa una imagen actual y decodificar por lo menos la cabecera de imagen de la imagen actual en donde, cuando el decodificador es incapaz de decodificar la imagen de referencia por omisión de la imagen actual, examinar un indicador que identifica una imagen de referencia adicional y decodificar la imagen actual con referencia a la imagen de referencia adicional si un indicador está asociado con la imagen actual . De acuerdo con un cuarto aspecto de la invención, se provee un codificador de video que comprende una entrada para recibir una señal de video que representa una secuencia de imágenes, una entrada para recibir una imagen actual para codificar, un codificador pronosticador para formar una predicción temporal de la imagen actual a partir de una imagen de referencia por omisión para la imagen actual, un comparador para comparar la imagen de referencia por omisión o la imagen actual con por lo menos una imagen de referencia adicional y calcular una medición de la similitud y, cuando la medición de similitud satisface un criterio predeterminado, enviar un indicador que identifica la imagen de referencia adicional . De acuerdo con un quinto aspecto de la invención, se provee un decodificador de video que comprende una entrada para recibir una señal de video codificada que representa una secuencia de imágenes, la señal codificada incluye imágenes
que han sido codificadas al formar una predicción temporal de una imagen actual a partir de una imagen de referencia por omisión para la imagen actual, el decodificador comprende una entrada para recibir una señal de video codificada que representa una imagen actual y un procesador para decodificar por lo menos la cabecera de imagen de la imagen actual en donde, cuando el decodificador es incapaz de decodificar la imagen de referencia por omisión de la imagen actual, el decodificador está dispuesto para examinar un indicador que identifica una imagen de referencia adicional y para decodificar la imagen actual con referencia a la imagen de referencia adicional si un indicador está asociado a la imagen actual . La invención también se refiere a un dispositivo de radíotelecomunicaciones e incluye un codificador y/o un decodificador como se describe. La invención se describirá ahora, a manera de ejemplo únicamente, con referencia a los dibujos anexos, en los cuales : La figura 1 muestra un sistema de comunicaciones móvil de multimedia; La figura 2 muestra un ejemplo de los componentes de multimedia de una terminal de multimedia; La figura 3 muestra un ejemplo de un codificador-decodificador de video;
La figura 3a muestra una vista más detallada de un codificador de video de conformidad con la invención; La figura 4 ilustra la operación de una primera modalidad de un codificador de video de conformidad con la invención; La figura 5 ilustra la operación de una segunda aplicación de un codificador de video de conformidad con la invención; . La figura 6 muestra la sintaxis de un flujo de bits como se muestra de conformidad con H.263; La figura 7 muestra un primer ejemplo de un flujo de bits producido por un codificador de conformidad con la invención; La figura 8 muestra un segundo ejemplo de un flujo de bits producido por un codificador de conformidad con la invención; La figura 9 muestra un tercer ejemplo de un flujo de bits producido por un codificador de conformidad con la invención; La figura 10 ilustra estratos de mejoramiento usados en la codificación de video para escalabilidad de SNR; y La figura 11 ilustra estratos de mejoramiento usados en la codificación de video para escalabilidad espacial .
La figura 1 muestra un sistema de comunicaciones móvil de multimedia típico. Una primera terminal móvil de multimedia 1 se comunica con una segunda terminal móvil de multimedia 2 a través de un enlace de radio 3 a una red de comunicaciones móvil 4. Los datos de control son enviados entre las dos terminales 1,2 así como los datos de multimedia. La figura 2 muestra los componentes de multimedia típicos de una terminal 1. La terminal comprende un codificador-decodificador de video 10, un codificador-decodificador de audio 20, un administrador de protocolo de datos 30, un administrador de control 40, un multiplexor/desmultiplexor 50 y un módem 60 (si se requiere) . El codificador-decodificador de video 10 recibe señales para codificar desde un dispositivo de captura de video de la terminal (no mostrada) (por ejemplo, una cámara) y recibe señales para decodificar desde una terminal remota 2 para ser desplegadas por la terminal 1 en la pantalla 70. El codificador-decodificador de audio 20 recibe señales para codificar desde el micrófono (no mostrado) de la terminal 1 y recibe señales para decodificar desde una terminal remota 2 para reproducción por una bocina (no mostrada) de la terminal 1. La terminal puede ser un dispositivo de comunicaciones de radio portátil, tal como, un radioteléfono. El administrador de control 40 controla la
operación del codificador-decodificador de video 10, el codificador-decodificador de audio 20 y el administrador de protocolos de datos 30. Sin embargo, puesto que la invención se refiere a la operación del codificador-decodificador de video 10, no se proveerá una discusión adicional del codificador-decodificador de audio 20 y el administrador de protocolo de datos 30. La figura 3 muestra un ejemplo de un codificador-decodificador de video 10 de conformidad con la invención. El codificador-decodificador de video comprende una parte codificadora 100 y una parte decodificadora 200. La parte codificadora 100 comprende una entrada 101 para recibir una señal de video desde una cámara o una fuente de video (no mostrada) de la terminal 1. Un interruptor 102 conmuta el codificador entre un modo INTRA de codificación y un modo ÍNTER. La parte codificadora 100 del codificador-decodificador 10 comprende un transformador de DCT 103, un cuantificador 104, un cuantificador inverso 108, un transformador de DCT inverso 109, un adicionador 110, una pluralidad de almacenamiento de imágenes 107 (véase la figura 3 a para más detalles) , un substractor 106 para formar un error de predicción, un interruptor 113 y un administrador de control de codificación 105. La parte decodificadora 200 del codificador-decodificador de video 10 comprende un codificador inverso
120, un transformador de DCT inverso 121, un compensador de movimiento 122, una pluralidad de almacenamientos de imágenes 123 y un controlador 12 . El controlador 124 recibe señales de control del codificador-decodificador de video desmultiplexadas desde el envío en paquetes de multimedia codificado por el desmultiplexor 50. En la práctica, el controlador 105 del codificador y el controlador 124 del decodificador puede ser el mismo procesador. Ahora se describirá la operación de un codificador de conformidad con la invención. El codificador-decodificador de video 10 recibe una señal de video que ha de ser codificada. El codificador 100 del codificador de video codifica la señal de video realizando transformación del DCT, cuantificación y compensación de movimiento. Los datos de video codificados son después enviados al multiplexor 50. El multiplexor 50 mul iplexa los datos de video del codificador-decodificador de video 10 y los datos de control del administrador de control 40 (así como otras señales según sea apropiado) en una señal de multimedia. La terminal 1 envía esta señal de multimedia a la terminal receptora 2 a través del modem 60 (si se requiere) . En el modo INTRA, la señal de video de la entrada 101 es transformada a coeficientes de DCT por el transformador DCT 103. Los coeficientes de DCT se hacen pasar después al cuantificador 104 que cuantifica los coeficientes.
Tanto el interruptor 102 como el cuantificador 104 son controlados por el administrador de control de codificación 105 del codificador-decodificador de video, que también puede recibir control de retroalimentación desde la terminal de receptor 2 por medio del administrador de control 40. Una imagen decodificada se forma después al pasar los datos enviados por el cuantificador a través del cuantificador inverso 108 y aplicar un transformador de DCT 109 a los datos cuantificados por el cuantificador inverso. Los datos resultantes son después introducidos en el adicionador 110. En el modo INTRA, el interruptor 113 se fija de modo que la entrada al adicionador 110 desde el interruptor 113 es fijada a cero. Las dos entradas al adicionador 110 se suman entre sí y los datos resultantes son introducidos al almacenamiento de imágenes 107. En el modo ÍNTER, el interruptor 102 es operado para aceptar desde el substractor 106 la diferencia entre la señal desde la entrada 101 y una imagen de referencia que es almacenada en un almacenamiento de imágenes 107. Los datos de diferencia enviados desde el substractor 106 representan el error de predicción entre la imagen actual y la imagen de referencia almacenada en el almacenamiento de imágenes 107. Un estimador de movimiento 111 puede generar datos de compensación de movimiento con referencia a los datos en el almacenamiento de imágenes 107 de una manera convencional.
El administrador de control de codificación 105 decide sí aplica codificación INTRA o ÍNTER o si codifica el cuadro en absoluto sobre la base ya sea de la salida del substractor 106 o en respuesta a datos de control de retroalimentación desde un decodificador receptor. El administrador de control de codificación puede decidir no codificar un cuadro recibido en absoluto cuando la similitud entre el cuadro actual y el cuadro de referencia es tan alta o no hay tiempo para codificar el cuadro. El administrador de control de codificación opera el interruptor 102 de acuerdo con el mismo. Cuando no hay respuesta a los datos de control de retroalimentación, el codificador típicamente codifica un cuadro como un cuadro INTRA ya sea solo al inicio de la codificación (todos los demás cuadros son Cuadros P) , o en períodos regulares, por ejemplo cada 5 segundos, o cuando la salida del substractor excede un umbral, es decir, cuando la imagen actual y aquella almacenada en el almacenamiento de imágenes 107 se considera que son demasiado diferentes. El codificador también se puede programar para codificar cuadros en una secuencia regular particular, por ejemplo I B B P B B P B B P B B P B B I B B P, etc. El codificador-decodificador de video envía los coeficientes de DCT cuantificados 112a, el índice de cuantificación 112b, (es decir, los detalles de la
cuantificación usada) , una bandera de INTRA/INTER 112c para indicar el modo de codificación realizado (I o P/B) , una bandera de transmisión 112d para indicar el número del cuadro que es codificado y (en modo ÍNTER) los vectores de movimiento 112e para la imagen que es codificada. Estos son multiplexados junto con otras señales de multimedia por el multiplexor 50. El codificador 100 se describirá además con referencia a la figura 3a, que muestra una vista simplificada del codificador 100 del codificador-decodificador de video. El codificador 100 comprende una pluralidad de almacenamiento de imagen 107a-107g. Aunque en este ejemplo se muestran siete almacenamientos de imagen, el número de almacenamiento de imagen puede ser de dos o más . Cabe considerar un codificador que está dispuesto para codificar una señal de entrada con el formato I B B P B B P B B P B B P B B P B B P B B I etc. Para fines de simplicidad, se supondrá que el codificador codificará cada cuadro de la señal de entrada, es decir, no se saltarán cuadros. Esto se ilustra en la figura 4. Como se mencionó antes, los cuadros son recibidos desde un dispositivo de captura de video en el orden 0, 1, 2, 3, 4, 5, 6 etc., y son desplegados en este orden, es decir, los cuadros decodificados son desplegados en el orden 10, Bl, B2 , P3 , B4 , B5 , P6, etc. Sin embargo, el flujo de bits de
video es comprimido, transmitido y decodificado en el siguiente orden. 10, P3, Bl, B2 , P6, B4 , B5, etc. Esto se debe a que cada B-cuadro requiere cuadros de referencia precedentes y sucesores antes de que sea codificado/decodificado es decir, el cuadro Bl requiere que el cuadro 10 y P3 sea codificado/decodificado antes de ser codificado/decodificado . Cuando el primer cuadro es recibido, todos los almacenamientos de imágenes 107 están vacíos y el interruptor 102 es colocado en el modo INTRA bajo control del controlador de codificación 105 de modo que la señal de entrada es codificada en el formato ITNRA. La señal de entrada es transformada y cuantificada por DCT. Esto se hace en un macrobloque por bases de macrobloques. La señal resultante es después decodificada por el cuantificador inverso 108 y el DCT inverso 109. Puesto que el cuadro es INTRA-codificado, el interruptor 113 se abre. La salida del adicionador 110 es introducida al primer almacenamiento de imágenes 107a. Para este propósito, el interruptor 114a está cerrado mientras que los interruptores 114b-g están abiertos. El almacenamiento del cuadro 107a mantiene una versión decodificada de la imagen de referencia 10. La siguiente imagen que ha de ser codificada es el cuadro 3, que ha de ser predicho hacia delante a partir de 10. Por lo tanto, el cuadro 3 es introducido en 101, el
interruptor 102 se cambia al modo ÍNTER, el interruptor de salida 115 de almacenamiento de imágenes de referencia más reciente (es decir, interruptor 115a) está cerrado y el contenido compensado de movimiento del almacenamiento de imagen 107a es sustraído de la señal de entrada, los datos de compensación de movimiento han sido calculados de la manera convencional. Este error de predicción es después codificado por DCT 103 y el cuantificador 104 y decodificado por el cuantificador inverso 108 e IDCT 109. El conmutador 113 es después cerrado, el interruptor 115a cerrado y el interruptor 114b cerrado (los otros interruptores 114 y 115 están abiertos) . Este adicionador 110 suma la imagen decodificada a la imagen como se almacenó en el almacenamiento de imágenes 107a y almacena el resultado en el almacenamiento de imágenes 107b. El siguiente cuadro que ha de ser codificado es el cuadro 2, que ha de ser codificado como cuadro B. De esta manera, el contenido de los almacenamientos de cuadro 107a y 107b queda disponible para el substractor 106 de una manera convencional. Puesto que los Cuadros B no forman una imagen de referencia para ningún otro cuadro, el cuadro B codificado no es decodificado y almacenado en un almacenamiento de imágenes de referencia. Así, en el caso anteriormente descrito, después de 19 cuadros, los almacenamientos de cuadro 107a al07g
contienen versiones decodificadas de los cuadros 10, P3 , P6, P9, P12, P15 y P18 respectivamente. En la invención, cuando el codificador codifica un cuadro de una manera pronosticadora, el administrador de control de codificación 105 se puede asociar con el cuadro un número de imagen de referencia de reserva (SRPN) . Por ejemplo, un SRPN se puede asociar con los cuadros P y B de una señal de video pero no con los cuadros I . Los codificadores pueden usar este mensaje para instruir a los decodificadores que la imagen o imágenes de referencia se asemejan a la imagen de referencia actual, por lo que uno de ellos se puede usar como una imagen de referencia de reserva si la imagen de referencia real se pierde durante la transmisión. ' Cuando el cuadro 3 es codificado con referencia al cuadro 0 , no se almacenan cuadros de referencia en los almacenamientos de imagen de referencia 107a-g. Por lo tanto, no hay un SRPN asociado con el cuadro 3. De manera similar, cuando los cuadros 1 y 2 son bidireccionalmente codificados 4 con referencia a los cuadros 0 y 3 , no hay otros cuadros mantenidos en los almacenamientos de imágenes de referencia 107a-g. Por lo tanto, no hay SRPN asociado con algunos de estos cuadros . Sin embargo, cuando el cuadro 6 es predicho en dirección hacia delante desde el cuadro 3 (cuya versión
decodificada es almacenada en el almacenamiento de imágenes 107b) también hay una copia decodificada del cuadro 10 en el almacenamiento de imágenes 107a. El codificador calcula la similitud entre la imagen de referencia por omisión del cuadro actual (es decir, el cuadro 3 para el cuadro 6) y el contenido de los otros almacenamientos de imágenes poblados, es decir, el almacenamiento de imágenes 107a. Si dos imágenes de referencia son suficientemente similares (por ejemplo, la correlación entre el contenido del almacenamiento de imágenes 107a y 107b está por arriba de un umbral) , el codificador asocia un SRPN con los datos para el cuadro 6. El SRPN identifica al cuadro 0 como una imagen de referencia de reserva. Sin embargo, si la similitud no es suficiente, no hay un SRPN asociado con el cuadro 6. ' La manera en la cual la medición de la similitud es generada no es el tema de la invención y se puede usar cualquier medición de similitud adecuada. Por ejemplo, se puede usar una suma de diferencias absolutas (SAD) como una medición de similitud. De preferencia, un valor de SAD se calcula tomando la diferencia en valor entre pixeles espacialmente correspondientes en la imagen de referencia por omisión para el cuadro actual y otro cuadro de referencia "potencial", es decir, un cuadro almacenado en uno de los almacenamientos de imágenes 107. El valor absoluto de cada diferencia se obtiene y los valores de diferencia absolutos
se acumulan para formar la SAD. De esta manera, la SAD es representativa de la similitud entre el cuadro de referencia por omisión y el otro cuadro de referencia potencial. Claramente, dos imágenes pueden considerarse suficientemente similares cuando la SAD entre ellas está por abajo de un umbral. En forma alternativa, la similitud del cuadro de referencia por omisión y otro cuadro de referencia potencial para la imagen actual puede ser evaluada usando histogramas de imágenes . Un histograma de imagen es una medición del número de ocurrencias de valores de pixeles dentro de una imagen dada y dos imágenes pueden considerarse similares si sus histogramas corresponden a un grado significativo. En una modalidad alternativa de la invención, en lugar de determinar la similitud entre el cuadro de referencia por omisión para el cuadro actual y otro cuadro de referencia potencial, el codificador examina la similitud entre otro cuadro de referencia potencial disponible en uno de los almacenamientos de imágenes 107 y el cuadro actual mismo. En esta modalidad alternativa de la invención, se fija un umbral que define la diferencia máxima permisible entre el cuadro actual y el cuadro de referencia potencial . De esta manera, cualquier cuadro almacenado que presente una similitud suficientemente alta (pequeña diferencia) con el cuadro actual se puede usar como una imagen de referencia de reserva para la imagen actual. Nuevamente, una suma de
diferencias absolutas (SAD) , histograma de imagen o cualquier otro método apropiado se puede usar para evaluar el grado de similitud/diferencia entre el cuadro actual y el otro cuadro (s) de referencia potencial. Como se apreciará, cuando el cuadro 15 ha de ser codificado (como un cuadro P) , las versiones decodificadas de los cuadros 0, 3, 6, 9 y 12 se mantienen en los almacenamientos de imágenes 114a-e respectivamente. Por omisión, el cuadro 15 es codificado con referencia al cuadro 12 como si estuviera almacenado en el almacenamiento de imágenes 107e. El codificador también realiza un cálculo de la correlación entre los datos en el almacenamiento de imágenes 107e y los datos almacenados en los otros almacenamientos de imágenes poblados 107a-d. El codificador identifica el almacenamiento de imagen (y de esta manera la imagen de referencia) que tiene la correlación más cercana con el contenido del almacenamiento de imagen 107e, es decir, con la imagen de referencia por omisión para el cuadro actual que es codificado. El codificador entonces añade un SRPN a los datos codificados que indica la imagen de referencia identificada. Este SRPN puede ser igual a la referencia temporal de la imagen de referencia como se describirá más adelante . Más de un SRPN se puede asociar con un cuadro. En este caso, los SRPN son ordenados dentro de la cabecera de
imagen en orden de similitud, la imagen de referencia más parecida (distinta a aquella por omisión) es mencionada primero . El administrador de control de codificación 105 envía esta palabra código de SRPN a la salida 112f que indica el número de imagen de referencia asociado con el cuadro codificado. Este es multiplexado en el flujo de bits de video por un multiplexor. La figura 4 ilustra la operación de una primera modalidad del codificador. La primera línea de la figura 4 representa los cuadros de datos recibidos de un dispositivo de entrada de captura y los introduce al codificador de video en la entrada 101. La segunda línea de la figura 4 representa aquellos cuadros de la señal de entrada que el codificador decide codificar y el modo de codificación usado para codificar cada cµadro. Como se mencionó antes, en este ejemplo, el codificador está dispuesto para codificar cada cuadro y para usar el formato de codificación de IBBP. El cuadro 0 es codificado en modo INTRA; el cuadro 1 es codificado como un cuadro B con referencia al cuadro 0 y/o 3; el cuadro 2 es codificado como un cuadro B con referencia al cuadro 0 y/o 3; el cuadro 3 es codificado como un cuadro P con referencia al cuadro 0 ,- el cuadro 4 es codificado como un cuadro B con referencia al cuadro 3 y/o 6; el cuadro 5 es codificado como un cuadro B con referencia al
cuadro 3 y/o 6; el cuadro 6 es codificado como un cuadro P con referencia al cuadro 3 ; etc . La tercera línea de la figura 4 muestra un campo de SRPN asociado con los cuadros de la señal codificada. En esta modalidad, un SRPN es asociado con los cuadros P y los cuadros B, como se muestra en la tercera línea de la figura 4. Los cuadros P y los cuadros B de los cuadros codificados son temporalmente codificados en forma pronosticadora y los cuadros I no lo son. La cuarta línea de la figura 4 muestra la referencia temporal (TR) de cuadro codificado. Este es un campo incluido en H.263 y el valor de TR se forma al incrementar su valor en la cabecera de imagen de referencia temporalmente previa por uno más del número de imágenes saltadas o de no referencia desde la imagen de referencia previamente transmitida. De esta manera, en el ejemplo mostrado en la figura 4, la TR mostrada para cada cuadro es la misma que el orden temporal original de los cuadros en la señal original introducida a 101. Se muestran ejemplos de posibles valores de SRPN.
Estos valores indican la TR del cuadro de referencia de reserva según es identificada por el codificador como se describió antes. Aunque este ejemplo muestra sólo un SRPN para cada imagen de manera pronosticada codificada, más de uno se puede asociar con cada imagen de manera pronosticada
codificada, como se describió antes. La figura 5 ilustra la operación de una segunda modalidad de un codificador de conformidad con la invención. En esta modalidad, el codificador está dispuesto para codificar los cuadros de conformidad con la secuencia regular I B B P B B P B B P B B I B B P B B P. Sin embargo, en la modalidad, un SRPN es asociado con cuadros predichos en relación hacia adelante (es decir, cuadros P) únicamente. La primera línea de la figura 5 muestra los cuadros de entrada y la segunda línea muestra los cuadros codificados y su modo de codificación, I, P o B. La tercera línea de la figura 5 muestra el SRPN asociado con los cuadros P. Estos pueden ser generados como se describió antes con referencia a la figura 3a. " La cuarta línea de la figura 5 muestra la referencia temporal (TR) del cuadro codificado. Igual que en el ejemplo mostrado en la figura 4, la TR mostrada para cada cuadro es la misma que el orden temporal original de los cuadros en la señal original introducida a 101. Al considerar la terminal 1 como aquella que recibe datos de video codificados de la terminal 2, la operación del codificador-decodificador de video 10 se describirá ahora con referencia a la función de decodificación. La terminal 1 recibe una señal de multimedia desde la terminal de transmisión 2. El desmultiplexor 50 desmultiplexa la señal de
multimedia y pasa los datos del video al codificador-decodificador de video 10 y los datos de control al administrador de control 40. El decodificador 200 del codificador-decodificador de video decodifica los datos de video codificados mediante cuantificación inversa, transformación por DCT inversa y compensación de movimiento de los datos. El controlador 124 del decodificador verifica la integridad de los datos recibidos y, si se detecta un error, intenta ocultar el error de una manera como se describirá más adelante. Los datos del video decodificados, corregidos y ocultos son después almacenados en uno de los almacenamientos de imágenes 123 y enviados para reproducción a una pantalla 70 de la terminal receptora 1. Los errores en los datos de video pueden ocurrir al nivel de imagen, al nivel de GOB o al nivel de macrobloque. La verificación de error se puede llevar a cabo en cualquiera de cada uno de estos niveles . Al considerar primero la señal como se muestra en la figura 4, cuando un decodificador de conformidad con la invención recibe la señal, cada cuadro de la señal es codificado de una manera convencional y después desplegado en un medio de pantalla. El cuadro decodificado puede ser un error corregido y un error codificado de una manera convencional. Cada vez que un cuadro es deccdificado, el decodificador examina el campo de TR para determinar cuándo
ha de ser desplegado el cuadro. En el caso mostrado en la figura 4, el decodificador recibe el cuadro 0 y determina a partir de su cabecera de imagen que el cuadro es INTRA-codificado. El decodificador decodifica el cuadro 0 sin referencia a ninguna otra imagen y lo almacena en el almacenamiento de imágenes 123a. El decodificador entonces recibe el cuadro 3 y determina a partir de su cabecera de imagen que el cuadro es I TER-codificado como un cuadro P. El decodificador por lo tanto decodifica el cuadro 3 con referencia al cuadro de referencia precedente 0 y lo almacena en el siguiente almacenamiento de imágenes 123b. El decodificador después decodifica los cuadros 1 y 2 con referencia a los cuadros 0 y 3 y así sucesivamente. Esos cuadros no son almacenados en los almacenamientos de imágenes 123 ya que, como cuadros B, no se usan como un cuadro de referencia para algún otro cuadro . Se supondrá ahora que el decodificador es incapaz de decodificar (y por lo tanto reconstruir) el cuadro 9 (esto podría deberse a que los datos para el cuadro 9 son corrompidos en gran medida o se pierden todos juntos) . El siguiente cuadro recibido por el decodificador es el cuadro 7, con TR=7, y SRPN=0. Puesto que el cuadro 9 (una de las imágenes de referencia por omisión para el cuadro 7) no fue decodificado por el decodificador, el decodificador busca SRPN en la cabecera del cuadro recibido para la predicción
hacia atrás. Sin embargo, el cuadro 7 no incluye un SRPN en la dirección hacia atrás. Por lo tanto, el decodificador es incapaz de decodificar el cuadro 7. Este también es el caso para el cuadro 8. El siguiente cuadro que ha de ser recibido es el cuadro 12, que fue codificado con referencia a la imagen 9 y tiene un SRPN=6. Puesto que el cuadro 9 no fue decodificado, el decodificador usa el cuadro de referencia indicado por SRPN (es decir, el cuadro 6 almacenado en el almacenamiento de imagen 123c) para decodificar el cuadro 12. El decodificador entonces recibe el cuadro 10, que fue codificado con referencia a los cuadros 9 y 12. El cuadro 9 no fue decodificado por decodificador. Sin embargo, el cuadro 10 tiene un SRPN=6. Por lo tanto, el decodificador usa el cuadro de referencia decodificado 6, almacenado en el almacenamiento de imagen 123c, para decodificar el cuadro 10 en la dirección hacia adelante, en vez del cuadro 7. Esto también es cierto para el cuadro 11. El decodificador puede detectar la omisión de un cuadro de referencia en un número de formas, por ejemplo información relacionada con el orden temporal de cada cuadro codificado puede ser examinada. En forma alternativa, a los cuadros de referencia de una señal codificada se les puede asignar un número en un orden secuencial como se describe en la solicitud de patente británica presentada por el
solicitante en la misma fecha. Si el decodificador tiene el recurso para enviar datos de retroalimentación de control al codificador de video de transmisión, el decodificador puede enviar una solicitud al codificador de video de transmisión para codificar un cuadro como un cuadro INTRA y de esta manera detener la propagación de error temporal que resultaría de los cuadros 10 y 11 que son codificados con referencia al cuadro 6. El decodificador continúa decodificando la señal de una manera convencional . Cuando el decodificador recibe el cuadro 21, que es un cuadro INTRA, el decodificador decodifica el cuadro 21 sin referencia a ningún otro cuadro y almacena el cuadro decodificado en el almacenamiento de imagen 123. El decódificador entonces decodifica los cuadros 19 y 20 con referencia a los cuadros 18 y 21. Aun cuando puede haberse introducido algún error al cuadro 18 por el cuadro de decodificación 12 con referencia al cuadro 6 en lugar del cuadro 9, la imagen restante sería aceptable y la imagen desplegada no se mantendría congelada hasta que se recibiera una imagen INTRA. Esto puede ser más aceptable para una persona que ve la imagen. Al considerar ahora la señal como se muestra en la figura 5, cuando un decodificador de conformidad con la invención recibe esta señal cada cuadro de la señal es
decodificado de una manera convencional y después desplegado en un medio de despliegue. El cuadro decodificado puede tener corregido el error y puede tener oculto el error de una manera convencional. Cada vez que un cuadro es decodificado, el decodificador examina el campo de TR para determinar cuándo ha de ser desplegado el cuadro. El decodificador recibe el cuadro 0, que es un cuadro INTRA y lo decodifica de acuerdo con el mismo y lo almacena en el almacenamiento de imagen 123a. Se supondrá ahora que el codificador es incapaz de reconstruir el cuadro 3 (esto podría deberse a que los datos son corrompidos en gran medida o se pierden todos juntos) y el siguiente cuadro recibido y decodificado por el decodificador es el cuadro 1. El cuadro 1 es un cuadro bidireccional codificado con referencia al cuadro 0 y 3. Puesto que el cuadro 3 se pierde, el decodificador es incapaz de reconstruir el cuadro 1 y de manera similar el cuadro 2. El hecho de que los cuadros B 1 y 2 se hayan perdido no tiene consecuencia para el decodificador ya que el cuadro B no forma una imagen de referencia para ningún otro cuadro y por lo tanto su pérdida no ' introducirá ninguna propagación de error temporal . El decodificador continúa decodificando la señal de una manera convencional . El siguiente cuadro recibido y decodificado por el decodificador es el cuadro 6. El decodificador se percata de
que la imagen de referencia precedente P3 se ha perdido (debido a que no podría decodificar el cuadro 1 ó 2) . El decodificador por lo tanto examina la cabecera del cuadro recibido para un SRPN. El decodificador determina que el cuadro 6 tiene un SRPN=0 y de esta manera usa el cuadro 0 en el almacenamiento de imagen 123a para decodificar el cuadro 6. Si el decodificador tiene recurso para enviar los datos de retroalimentación de control al codificador de video de transmisión, el decodificador puede enviar una solicitud al codificador de video de transmisión para codificar un cuadro como un cuadro INTRA y de esta manera detener la propagación de error temporal que resultaría de cuadros subsecuentes que son decodificados con referencia al cuadro 6 que ' fue decodificado con referencia al cuadro 0 en vez del cuadro por omisión 3. Sin embargo, el decodificador puede continuar decodificando y no congela la imagen en la pantalla mientras espera un cuadro INTRA-codificado. La forma en que el número de imagen de referencia de reserva se puede incluir en la señal codificada se resolverá ahora con referencia al estándar de codificación de video H.263. La figura 6 muestra la sintaxis de un flujo de bits como se conoce de conformidad con H.263. Las siguientes instrumentaciones describen el formato de GOB pero estará
claro para un experto en la técnica que la invención también puede ser instrumentada en el formato de rebanadas . Como ya se mencionó, el flujo de bits tiene cuatro estratos: el estrato de imagen, el estrato de segmento de imagen, el estrato de macrobloque y el estrato de bloque. El estrato de imagen comprende una cabecera de imagen seguida por datos para el grupo de bloques, finalmente seguido por un código de terminación de secuencia opcional y bits de relleno. El flujo de bits H.263 de la técnica anterior se formatea como se muestra en la figura 6. Un descriptor para cada parte se da a continuación: PSC El código de inicio de imagen (PSC) indica el inicio de la imagen ' TR La referencia temporal (TR) se forma al incrementar su valor en la cabecera de imagen de referencia temporalmente previa por uno más el número de imágenes saltadas o no referenciadas desde aquella previamente transmitida PTYPE Entre otras cosas, PTYPE incluye detalles del tipo de codificación de imagen, es decir, INTRA o ÍNTER PQUANT Una palabra código que indica el cuanti icador que ha de ser usado para la imagen hasta ser actualizada por alguna información del cuantificador subsecuente
CPM Una palabra código que indica el uso de modo de puntos múltiples y multiplex de video de presencia continua (CPM) opcional PSBI Indicador de flujo de sub-bits de imagen -sólo presente si se fija CPM TRB Presente si el cuadro es un cuadro bidireccionalmente predicho (conocido como un cuadro PB) DBQUANT Presente si hay un cuadro bidireccional PEÍ Este se refiere a información de inserción adicional y se fija a "1" para indicar la presencia de los siguientes campos de datos opcionales PSUPP y PIE. PSUPP y PEÍ se conocen en conjunto como información de mejoramiento complementario, que se define además en Anexo L de H263. GOBS son los datos para el grupo de bloques para la imagen actual ESTF Una palabra código de relleno provista para lograr alineación de bytes antes de EOS EOS Una palabra código que indica el final de la secuencia de datos para la imagen . PSTUF Una palabra código de relleno para permitir la alineación de bytes del siguiente código de inicio de imagen PSC La estructura como se muestra en la figura 6 no incluye el campo de datos PLUSTYPE opcional . PSBI sólo está presente si es indicado por CPM. TRB y DBQUANT sólo están
presentes si PTYPE indica el uso de un denominado modo de cuadro PB (a menos que el campo PLUSTYPE esté presente y el uso de DBQUANT se indique en el mismo) . Estos puntos son resueltos con más detalle en la especificación de H.263. Los siguientes párrafos delinean posibles aplicaciones del flujo de bits enviado por un codificador de conformidad con el primer aspecto de la invención. El número de imagen de referencia de reserva se puede incorporar en un flujo de bits H.263 como sigue. La figura 7 muestra un ejemplo de un flujo de bits enviado por un codificador de conformidad con la primera aplicación de la invención. Como se muestra en la figura 7, el flujo de bits incluye una palabra código adicional SRP? que es una palabra código que indica el número de imagen de referencia de reserva. Este es insertado por un codificador de conformidad con la invención, como se describió anteriormente. Alternativamente, el SRP? se puede incluir en la información de mejoramiento complementario PSUPP (véase anexo L de H.263 y figura 4) . La información complementaria puede estar presente en el flujo de bits aun cuando el decodificador pueda no ser capaz de proveer la capacidad incrementada para usarlo, o incluso interpretarlo en forma apropiada. Simplemente el descartar la información complementaria es permisible por los decodificadores a menos que un requerimiento para provee la capacidad solicitada haya
sido negociado por medios externos . Si PEÍ se fija a "1", entonces siguen 9 bits que consisten de 8 bits de datos (PSUPP) y después otro bit de PEÍ para indicar si 9 bits adicionales siguen y así sucesivamente. Los datos de PSUPP consisten de una indicación de tipo de función de 4 bits FTYPE, seguido por una especificación de tamaño de datos de parámetro de 4 bits DSIZE seguido por octetos de DSIZE de datos de parámetro de función, opcionalmente seguido por otro FTYPE, y así sucesivamente. Se conoce el uso de esta palabra código de PSUPP para indicar varias situaciones tales como: indicar una solicitud de congelamiento o liberación de congelamiento de imagen completa o imagen parcial con o sin redimensionamiento; para etiquetar imágenes o secuencias de imágenes particulares dentro del envío en paquete de video para uso externo; o para transportar información clave cromática para composición de video. Para poner en práctica la invención usando la información de mejoramiento complementario, un FTYPE adicional se define como número de imagen de referencia de reserva. La figura 8 ilustra el ejemplo en donde un parámetro SRPN se incluye en el SEl de la cabecera de imagen. El FTYPE se define como SRPN. El DSIZE especifica el tamaño
del parámetro y el siguiente octeto es los datos de parámetro, es decir, el valor de SRPN. A partir de este valor, un decodificador receptor puede determinar si se define una imagen de referencia de reserva, que se puede usar si la imagen de referencia principal se ha perdido o se ha corrompido. En forma alternativa, la información puede estar contenida en la información de mejoramiento complementario como se especifica en "Draft of new Annex W: Additional Supplementary Enhacement Information Specification" P. Ning y S. Wenger, ITU-T Grupo de estudio 16, Pregunta 15, Documento Q15-I-58, noviembre de 1999. En esta propuesta de bosquejo para Anexo W, FTYPE 14 se define como "mensaje de imagen". Cuando este FTYPE se fija, la función de mensaje de imagen indica la presencia de uno o más octetos que representan datos de mensaje. El primer octeto de los datos de mensaje es una cabecera de mensaje con la estructura mostrada en la figura 9, es decir, CONT, EBIT y MTYPE. DSIZE es igual al número de octetos en los datos de mensaje correspondientes a una función de mensaje de imagen, que incluye la primera cabecera de mensaje de octeto. El campo de continuación CONT, si es igual a 1, indica que los datos de mensaje asociados con el mensaje de imagen es parte del mismo mensaje lógico que los datos de mensaje asociados con la siguiente función de mensaje de
imagen. El campo de posición de bits final EBIT especifica el número de menos bits significativos que serán ignorados en el último octeto de mensaje. Detalles adicionales de estos campos se pueden encontrar en el anexo W. El campo MTYPE indica el tipo de mensaje. Varios tipos de mensaje se sugieren en el bosquejo del anexo W. De conformidad con la invención, un tipo, por ejemplo MTYPE 13 se define como imágenes de referencia de reserva. El valor de MTYPE 13 se define en el octeto al seguir la cabecera del mensaje. Los bytes de datos de mensaje que contienen los números de imagen de las imágenes de referencia de reserva en orden de preferencia (el más preferido aparece primero) . Los números de imagen se refieren a los valores que son transmitidos de acuerdo con el anexo U o el anexo W, sección W.6 3.12. El formato de mensaje de conformidad con el anexo W se puede usar para los tipos de imagen P, B, PB, PB mejorado y EP. Sin embargo, si el anexo N o el anexo U está en uso y si la imagen está asociada con imágenes de referencia múltiples, el formato de mensaje de conformidad con el anexo W preferiblemente no deberá usarse. Para imágenes EP, el mensaje preferiblemente se usará sólo para predicción hacia adelante, mientras que la predicción hacia arriba siempre se puede hacer a partir de la imagen de estrato de referencia temporalmente correspondiente. Para los tipos de imagen B, PB y PB mejorada, el mensaje especifica una imagen para usarse
como una referencia de predicción de movimiento hacia adelante. Este mensaje no deberá usarse si la imagen es una imagen I o El . En un ejemplo específico en donde una imagen de referencia de reserva se indica y el SRPN está representado con 10 bits, este mensaje contiene un byte de datos, es decir DSIZE es 3, CONT es 0 y EBIT es 6. Se deberá apreciar que los valores de DSIZE, CONT y EBIT variarán de acuerdo con el número de imágenes de referencia de reserva indicadas y la precisión (número de bits) con la cual se representan los números de imagen de referencia de reserva. Si se indica más de un número de imagen de referencia de reserva, entonces preferiblemente los bytes de datos de mensaje contienen el número (s) de imagen de referencia de reserva de las imágenes de referencia de reserva en orden de preferencia (el más preferido aparece primero) . La descripción anterior ha hecho referencia a envíos en paquetes de video codificados en las cuales se codifican imágenes bidireccionalmente predichas (imágenes B) . Como se mencionó en un principio, las imágenes B nunca se usan como imágenes de referencia. Puesto que pueden ser descartadas sin tener impacto sobre la calidad de la imagen de imágenes futuras, proveen escalabilidad temporal. La escalabilidad permite la decodificación de una secuencia de video comprimido en más de un nivel de calidad. En otras
palabras, un clip de multimedia escalable se puede comprimir de manera que pueda ser enviado en paquetes en canales con diferentes velocidades de datos y sin ' embargo ser decodificado y reproducido en tiempo real . De esta manera, el envío en paquetes de video puede ser decodificado en diferentes formas por decodificadores diferibles. Por ejemplo, un decodificador puede decidir solamente decodificar las imágenes I y P de una señal, si esta es la velocidad máxima de decodificación que puede lograr el decodificador. Sin embargo, si un decodificador tiene la capacidad, también puede decodificar las imágenes B y por lo tanto incrementar la velocidad de despliegue de la imagen. Por lo tanto, la calidad de imagen percibida de la imagen desplegada se incrementará en un decodificador que sólo decodifica las imágenes I y P. La multimedia escalable es típicamente ordenada de manera que hay estratos jerárquicos de datos. Un estrato de base contiene una representación básica del clip de multimedia mientras que los estratos de mejoramiento contienen datos de refinamiento por arriba de los estratos subyacentes. Como consecuencia, los estratos de mejoramiento mejoran la calidad del clip. La escalabilidad es una propiedad deseable para ambientes heterogéneos y sujetos a errores. Esta propiedad es deseable a fin de contrarrestar limitaciones tales como
restricciones sobre la velocidad de bits, resolución de despliegue, rendimiento de la red y complejidad del decodificador. -La escalabilidad se puede usar para mejorar la flexibilidad de errores en un sistema de transporte en donde la codificación estratificada se combina con la realización por prioridades del transporte. El término realización por prioridades del transporte aquí se refiere a varios mecanismos para proveer diferentes calidades de servicio en transporte, que incluyen protección de error desigual, para proveer diferentes canales que tienen diferentes velocidades de error/pérdida . De acuerdo con su naturaleza, los datos se asignan de manera diferente. Por ejemplo, el estrato basal se puede suministrar a través de un canal con un alto grado de protección contra error, y los estratos de mejoramiento se pueden transmitir a través de canales más sujetos a errores. En general, la codificación de multimedia escalable adolece de una deficiencia de compresión peor que la codificación no escalable. En otras palabras, un clip de multimedia codificado como un clip de multimedia escalable con estrato de mejoramiento requiere mayor ancho de banda que si se hubiera codificado como un clip de un solo estrato no escalable con calidad igual. Sin embargo, existen extensiones a esta regla general, por ejemplo los cuadros B temporalmente escalables en la compresión de video.
La invención se puede aplicar a otros sistemas de compresión de video escalables. Por ejemplo, en el anexo 0 de
H.263, otras dos formas de escalabilidad se definen: escalabilidad de señal a ruido (SNR) y escalabilidad espacial . La escalabilidad espacial y la escalabilidad de SNR están estrechamente relacionadas, la única diferencia es la resolución espacial incrementada provista por la escalabilidad espacial. Un ejemplo de imágenes escalables de SNR se muestra en la figura 10. La escalabilidad de SNR implica la creación de flujos de bits de velocidad múltiple. Permite la recuperación de errores de codificación o diferencias entre una imagen original y su reconstrucción. Esto se logra usando un cuantificador más fino para codificar la imagen de diferencia en un estrato de mejoramiento. Esta información adicional incrementa la SNR de la imagen reproducida global . La escalabilidad espacial permite la creación de flujos de bits de resolución múltiple para satisfacer requerimientos y/o restricciones de despliegue variables. Una estructura espacialmente escalable se ilustra en la figura 11. Es esencialmente la misma que en la escalabilidad de SNR excepto que un estrato de mejoramiento espacial intenta recuperar la pérdida de codificación entre una versión ascendentemente muestreada de la imagen del estrato de
referencia reconstruida y una versión de resolución más alta de la imagen original. Por ejemplo, el estrato de referencia tiene una resolución de formato intermedio común de un cuarto (QCIF) , y el estrato de mejoramiento tiene una resolución de formato intermedio común (CIF) , la imagen del estrato de referencia debe ser escalado de acuerdo con el mismo de tal manera que la imagen del estrato de mejoramiento se pueda producir a partir del mismo. El estándar de QCIF permite que la resolución sea incrementada por un factor de dos en la dirección vertical únicamente, la dirección horizontal únicamente o tanto la dirección vertical como horizontal para un estrato de mejoramiento individual. Puede haber múltiples estratos de mejoramiento, cada uno de los cuales incrementa la resolución de imagen con respecto al del estrato anterior. Los' filtros de interpolación usados para muestreo ascendente de la imagen de capa de referencia se definen explícitamente en el estándar H.263. Aparte del procedimiento de muestreo ascendente de la referencia al estrato de mejoramiento, el procesamiento y sintaxis de una imagen espacialmente escalada son idénticos a los de la imagen escalada de SNR. Ya sea en la escalabilidad de SNR o espacial, las imágenes de estrato de mejoramiento se refieren como imágenes de El- o EP- . Si la imagen del estrato de mejoramiento es ascendentemente predicha a partir de una imagen en el estrato de referencia, entonces la imagen del estrato de mejoramiento
se refiere como imagen de mejoramiento-I (El) . En este tipo de escalabilidad, el estrato de referencia significa el estrato "por abajo" del estrato de mejoramiento actual. En algunos casos, cuando las imágenes del estrato de referencia son deficientemente predichas, puede ocurrir sobre codificación de partes estáticas de la imagen en el estrato de mejoramiento, causando una velocidad de bits innecesariamente excesiva. Para evitar este problema, se permite la predicción hacia delante en el estrato de mejoramiento. Una imagen que se puede predecir en la dirección hacia adelante a partir de una imagen de estrato de mejoramiento previa o, alternativamente, ascendentemente predicha a partir de la imagen de estrato de referencia se refiere como imagen de mejoramiento-P (EP) . Nótese que el cálculo del promedio de las imágenes ascendentemente y hacia adelante predichas puede proveer una predicción bidireccional para imágenes de EP. Tanto para imágenes de El como de EP, la predicción ascendente a partir de la imagen del estrato de referencia implica que no se requieren vectores de movimiento. En el caso de predicción hacia adelante para imágenes de EP, se requieren vectores de movimiento. El campo de SRPN se puede asociar con las imágenes de P, PB, PB mejorada, y estrato de mejoramiento (EP) . Las características de los cuadros de PB y PB mejorados se describen en le anexo G y anexo M de H.263 respectivamente.
Sin embargo, si el anexo N o el anexo U está en uso y si la imagen está asociada con imágenes de referencia múltiples, no se usa el SRPN. Para imágenes de PB y PB mejorada, el mensaje típicamente se refiere sólo a la parte P. Para imágenes de EP, el mensaje se usa para predicción hacia adelante, mientras que la predicción ascendente se hace a partir de la imagen de capa de referencia temporalmente correspondiente. Este mensaje preferiblemente no se usa si la imagen es una imagen I, El o B. Si el codificador es capaz de codificar estratos múltiples (por ejemplo como se describe en el anexo O de H.263) cada estrato tiene números de imagen de referencia consecutivos. Estos se pueden asociar con el número de estrato de mejoramiento (ELNUM) de la imagen actual. El número de imagen de referencia de reserva se incrementa por uno a partir del número correspondiente de la imagen de referencia codificada previa en el mismo estrato de mejoramiento. Sin embargo, si imágenes adyacentes en el mismo estrato de mejoramiento tienen la misma referencia temporal y si el anexo N o el anexo U de H.263 está en uso, el decodificador preferiblemente se refiere a éste como una indicación de que copias redundantes han sido enviadas de aproximadamente el mismo contenido de escena en imagen, y todas esas imágenes entonces comparten el mismo número de imagen.
Cabe señalar que _de conformidad con una modalidad de la invención, es posible indicar un SRPN para un área rectangular especificada de la imagen actual. Puede haber múltiples mensajes para Una imagen que especifique cada una SRPNs para áreas rectangulares no traslapables de la imagen actual. Si los mensajes no especifican un SRPN para algunas áreas de la imagen, un decodificador puede usar ocultamiento de error para ocultar errores en aquellas áreas si el cuadro de referencia correspondiente (o área del mismo) a partir del cual se predicen no pueden ser decodificado. En esta situación, el decodificador preferiblemente utiliza un método de ocultamiento que corresponde al tipo de imagen, es decir, para imagen INTRA se usa un método de ocultamiento de error I TRA y para una imagen ÍNTER se usa un método de ocultamiento de error ÍNTER. Un ejemplo específico de la situación anterior, en la cual se proveen valores de SRPN para diferentes áreas de una imagen actual, se darán ahora, cada mensaje de SRPN comprende un SRPN y cuatro octetos de PSUPP que contienen la ubicación horizontal y vertical de la esquina izquierda superior del área rectangular especificada de la imagen, y la anchura y altura del área rectangular, respectivamente, mediante el uso de ocho bits cada una y expresadas en unidades de 16 pixeles (de imagen de luminancia) . Por ejemplo, mediante el uso de esta convención, una imagen de
QCIF completa es especificada por los cuatro parámetros (0, 0, 11, 9) . Para formatos de imagen que tienen anchura y altura que no es divisible por 16, el área especificada puede extenderse al siguiente tamaño más grande que sería divisible por 16. Por ejemplo, una imagen completa que tiene un tamaño de 160 x 120 pixeles es especificada por los cuatro parámetros (0, 0, 10, 8) . Preferiblemente, el área especificada no cruza límites de imagen ni se traslapa con otras áreas de ocultamiento de error especificadas de la misma imagen. La invención se puede poner en práctica en otros protocolos de codificación de video. Por ejemplo, MPEG-4 define los llamados datos de usuario, que pueden contener cualesquiera datos binarios y no es necesario asociarlos con una imagen. El campo adicional se puede añadir a estos campos . No se pretende limitar la invención a los protocolos de codificación de video anteriormente descritos: se pretende que estos sean simplemente ilustrativos. La invención es aplicable a cualquier protocolo de codificación de video que use predicción temporal. La adición de la información como se describió antes permite que un decodificador receptor determine la mejor causa de acción si se pierde una imagen.
Se hace constar que con relación a esta fecha, el mejor método conocido por la solicitante para llevar a la práctica la citada invención, es el que resulta claro de la presente descripción de la invención.
Claims (11)
- REIVINDICACIONES
- Habiéndose descrito la invención como antecede, se reclama como propiedad lo contenido en las siguientes reivindicaciones . 1. Un método de codificación de una señal de video que representa una secuencia de imágenes, el método está caracterizado porque comprende en recibir una imagen actual para codificación, formar una predicción temporal de la imagen actual a partir de una imagen de referencia por omisión para la imagen actual, comparar la imagen de referencia por omisión con por lo menos una imagen de referencia adicional, calcular una medición de la similitud entre la imagen de referencia por omisión y cada imagen de referencia adicional y, si la medición de similitud satisface un criterio predeterminado, enviar un indicador que identifica la imagen de referencia adicional . 2. Un método de conformidad con la reivindicación 1, caracterizado porque comprende formar una predicción temporal de la imagen actual a partir de una primera imagen de referencia por omisión y una segunda imagen de referencia por omisión para la imagen actual, la primera imagen de referencia por omisión ocurre temporalmente antes de que la imagen actual y la segunda imagen de referencia por omisión ocurran temporalmente después de la imagen actual, comparar la primera imagen de referencia por omisión con por lo menos una imagen de referencia adicional que ocurre temporalmente antes de la imagen actual, calcular una medición de la similitud entre la primera imagen de referencia por omisión y cada imagen de referencia adicional y, si la medición de similitud satisface un criterio predeterminado, enviar un indicador que identifica la imagen de referencia adicional.
- 3. Un método de conformidad con la reivindicación 1 ó 2, caracterizado porque comprende comparar la imagen de referencia por omisión con una pluralidad de imágenes de referencia adicionales y enviar un indicador para cada imagen de referencia adicional que satisface el criterio predeterminado .
- 4. Un método de conformidad con la reivindicación 3, caracterizado porque comprende categorizar las imágenes de referencia adicionales que satisfacen el criterio predeterminado y asociar el indicador con la predicción temporal del cuadro actual en orden de categoría, la imagen de referencia adicional tiene la similitud más cercana a la imagen de referencia por omisión que es colocada primero.
- 5. Un método de conformidad con cualquiera de las reivindicaciones anteriores, caracterizado porque el indicador se incluye en una cabecera de imagen.
- 6. Un método de conformidad con cualquiera de las reivindicaciones anteriores, caracterizado porque la señal de video se codifica de acuerdo con el estándar de compresión de video H.263 y el indicador se incluye en la información de mejoramiento complementaria.
- 7. Un método de conformidad con cualquiera de las reivindicaciones anteriores, caracterizado porque la comparación se lleva a cabo para porciones de una imagen al mismo tiempo.
- 8. Un método para codificar una señal de video que representa una secuencia de imágenes, el método está caracterizado porque comprende en recibir una imagen actual para codificar, formar una predicción de por lo menos una parte que la imagen actual a partir de una imagen de referencia por omisión para la imagen actual, comparar la parte de la imagen de referencia por omisión o la imagen actual con una parte correspondiente de por lo menos una imagen adicional de la secuencia para formar una medida de similitud y, si la medición de similitud satisface un criterio predeterminado, enviar un indicador con respecto a la parte del cuadro actual que identifica la imagen adicional de la secuencia.
- 9. Un método para decodificar una señal de video codificada que representa una secuencia de imagen, la señal codificada incluye imágenes que han sido codificadas al formar una predicción temporal de una imagen actual a partir de una imagen de referencia por omisión para la imagen actual, el método está caracterizado porque comprende recibir una señal de video codificada que representa una imagen actual y decodificar por lo menos la cabecera de imagen de la imagen actual en donde, cuando el decodificador es incapaz de decodificar la imagen de referencia por omisión de la imagen actual, examinar un indicador que identifica una imagen de referencia adicional y decodificar la imagen actual con referencia a la imagen de referencia adicional si un indicador está asociado con la imagen actual .
- 10. Un codificador de video caracterizado porque comprende una entrada para recibir una señal de video que representa una secuencia de imágenes, una entrada para recibir una imagen actual para codificar, un codificador pronosticador para formar una predicción temporal de la imagen actual a partir de una imagen de referencia por omisión para la imagen actual, un comparador para comparar la imagen de referencia por omisión o la imagen actual con por lo menos una imagen de referencia adicional y calcular una medición de la similitud y, cuando la medición de similitud satisface un criterio predeterminado, enviar un indicador que identifica la imagen de referencia adicional . 11. Un decodificador de video caracterizado porque comprende una entrada para recibir una señal de video codificada que representa una* secuencia de imágenes, la señal codificada incluye imágenes que han sido codificadas al formar una predicción temporal de una imagen actual a partir de una imagen de referencia por omisión para la imagen actual, el decodificador comprende una entrada para recibir una señal de video codificada que representa una imagen actual y un procesador para decodificar por lo menos la cabecera de imagen de la imagen actual en donde, cuando el decodificador es incapaz de decodificar la imagen de referencia por omisión de la imagen actual, el decodificador está dispuesto para examinar un indicador que identifica una imagen de referencia adicional y para decodificar la imagen actual con referencia a la imagen de referencia adicional si un indicador está asociado a la imagen actual . 12. Un dispositivo de radiotelecomunicaciones caracterizado porque incluye un codificador de conformidad con 'la reivindicación 10 y/o un decodificador de conformidad con la reivindicación
- 11.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0011606A GB2362532B (en) | 2000-05-15 | 2000-05-15 | Video coding |
PCT/EP2001/005453 WO2001089223A2 (en) | 2000-05-15 | 2001-05-14 | Video coding |
Publications (1)
Publication Number | Publication Date |
---|---|
MXPA02011201A true MXPA02011201A (es) | 2003-03-10 |
Family
ID=9891561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
MXPA02011201A MXPA02011201A (es) | 2000-05-15 | 2001-05-14 | Codificacion de video. |
Country Status (16)
Country | Link |
---|---|
US (1) | US7711052B2 (es) |
EP (2) | EP1287699B1 (es) |
JP (1) | JP4362259B2 (es) |
KR (2) | KR100929558B1 (es) |
CN (2) | CN100394802C (es) |
AT (1) | ATE522086T1 (es) |
AU (1) | AU2001272409A1 (es) |
BR (1) | BRPI0110770B1 (es) |
CA (1) | CA2409027C (es) |
EE (1) | EE05652B1 (es) |
GB (1) | GB2362532B (es) |
HK (1) | HK1079938A1 (es) |
HU (1) | HU230597B1 (es) |
MX (1) | MXPA02011201A (es) |
WO (1) | WO2001089223A2 (es) |
ZA (1) | ZA200208744B (es) |
Families Citing this family (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004515163A (ja) | 2000-11-29 | 2004-05-20 | ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | リアルタイムデータの送信および受信 |
US20030219232A1 (en) * | 2001-10-01 | 2003-11-27 | Shu Lin | System and method for identifying data on a storage medium |
US7610358B2 (en) * | 2001-11-26 | 2009-10-27 | Time Warner Cable | System and method for effectively presenting multimedia information materials |
FR2834852B1 (fr) * | 2002-01-16 | 2004-06-18 | Canon Kk | Procede et dispositif de segmentation temporelle d'une sequence video |
FI114527B (fi) * | 2002-01-23 | 2004-10-29 | Nokia Corp | Kuvakehysten ryhmittely videokoodauksessa |
MXPA04007020A (es) * | 2002-01-23 | 2004-10-11 | Nokia Corp | Agrupamiento de cuadros de imagen para codificacion de video. |
JP4150951B2 (ja) * | 2002-02-19 | 2008-09-17 | ソニー株式会社 | 動画配信システム、動画配信装置および方法、並びにプログラム |
JP2004088722A (ja) | 2002-03-04 | 2004-03-18 | Matsushita Electric Ind Co Ltd | 動画像符号化方法および動画像復号化方法 |
EP1488645B1 (en) * | 2002-03-27 | 2010-12-01 | BRITISH TELECOMMUNICATIONS public limited company | Video coding and transmission |
EP1359722A1 (en) | 2002-03-27 | 2003-11-05 | BRITISH TELECOMMUNICATIONS public limited company | Data streaming system and method |
KR101031423B1 (ko) * | 2002-04-19 | 2011-04-26 | 파나소닉 주식회사 | 움직임 벡터 계산방법 |
KR100931750B1 (ko) | 2002-04-19 | 2009-12-14 | 파나소닉 주식회사 | 움직임 벡터 계산방법 |
KR20040011903A (ko) * | 2002-07-31 | 2004-02-11 | 최두현 | 대본 혹은 영상의 유사성과 사람의 인지 능력을 고려한동영상 파일 인코딩 방법 |
KR20040035005A (ko) * | 2002-10-18 | 2004-04-29 | (주) 임펙링크제너레이션 | 비디오 압축을 위한 결정선택방법을 이용한모션정보예측보간 |
EP2309758B1 (en) | 2002-11-20 | 2014-07-30 | Panasonic Intellectual Property Corporation of America | Moving image predicting method, moving image encoding method and device, and moving image decoding method and device |
GB0306296D0 (en) | 2003-03-19 | 2003-04-23 | British Telecomm | Data transmission |
JP2004350263A (ja) * | 2003-04-28 | 2004-12-09 | Canon Inc | 画像処理装置及び画像処理方法 |
US8472792B2 (en) | 2003-12-08 | 2013-06-25 | Divx, Llc | Multimedia distribution system |
US7519274B2 (en) | 2003-12-08 | 2009-04-14 | Divx, Inc. | File format for multiple track digital data |
US9560367B2 (en) * | 2004-09-03 | 2017-01-31 | Nokia Technologies Oy | Parameter set and picture header in video coding |
US20060083298A1 (en) * | 2004-10-14 | 2006-04-20 | Nokia Corporation | Reference picture management in video coding |
DE102004059993B4 (de) * | 2004-10-15 | 2006-08-31 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Erzeugen einer codierten Videosequenz unter Verwendung einer Zwischen-Schicht-Bewegungsdaten-Prädiktion sowie Computerprogramm und computerlesbares Medium |
US7417632B2 (en) * | 2004-12-02 | 2008-08-26 | Sap Ag | Automatic testing of graphics programs |
US9049449B2 (en) * | 2005-04-13 | 2015-06-02 | Nokia Corporation | Coding of frame number in scalable video coding |
US7817180B2 (en) * | 2005-04-28 | 2010-10-19 | Apple Inc. | Video processing in a multi-participant video conference |
KR100878811B1 (ko) * | 2005-05-26 | 2009-01-14 | 엘지전자 주식회사 | 비디오 신호의 디코딩 방법 및 이의 장치 |
EP1793581A1 (en) * | 2005-12-05 | 2007-06-06 | Microsoft Corporation | Automatic selection of images for transfer depending on connection characteristics |
WO2007106844A2 (en) | 2006-03-14 | 2007-09-20 | Divx, Inc. | Federated digital rights management scheme including trusted systems |
US8253752B2 (en) * | 2006-07-20 | 2012-08-28 | Qualcomm Incorporated | Method and apparatus for encoder assisted pre-processing |
EP4184341A1 (en) | 2007-01-05 | 2023-05-24 | DivX, LLC | Video distribution system including progressive playback |
EP1944978A1 (en) * | 2007-01-12 | 2008-07-16 | Koninklijke Philips Electronics N.V. | Method and system for encoding a video signal. encoded video signal, method and system for decoding a video signal |
US8494049B2 (en) * | 2007-04-09 | 2013-07-23 | Cisco Technology, Inc. | Long term reference frame management with error video feedback for compressed video communication |
KR20100106327A (ko) | 2007-11-16 | 2010-10-01 | 디브이엑스, 인크. | 멀티미디어 파일을 위한 계층적 및 감소된 인덱스 구조 |
US8638844B2 (en) * | 2008-07-01 | 2014-01-28 | Mediatek Inc. | Method and apparatus for storing decoded moving pictures with a reduced memory requirement |
FR2934453B1 (fr) * | 2008-07-22 | 2010-10-15 | Canon Kk | Procede et dispositif de masquage d'erreurs |
KR101631270B1 (ko) | 2009-06-19 | 2016-06-16 | 삼성전자주식회사 | 의사 난수 필터를 이용한 영상 필터링 방법 및 장치 |
CA2782825C (en) | 2009-12-04 | 2016-04-26 | Divx, Llc | Elementary bitstream cryptographic material transport systems and methods |
KR101681589B1 (ko) | 2010-07-27 | 2016-12-01 | 엘지전자 주식회사 | 영상 처리 장치 및 그 방법 |
US9532059B2 (en) | 2010-10-05 | 2016-12-27 | Google Technology Holdings LLC | Method and apparatus for spatial scalability for video coding |
US8914534B2 (en) | 2011-01-05 | 2014-12-16 | Sonic Ip, Inc. | Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol |
US8989256B2 (en) * | 2011-05-25 | 2015-03-24 | Google Inc. | Method and apparatus for using segmentation-based coding of prediction information |
US8812662B2 (en) | 2011-06-29 | 2014-08-19 | Sonic Ip, Inc. | Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content |
US9635374B2 (en) * | 2011-08-01 | 2017-04-25 | Apple Inc. | Systems and methods for coding video data using switchable encoders and decoders |
CN108989847B (zh) | 2011-08-30 | 2021-03-09 | 帝威视有限公司 | 用于编码和流处理视频的系统和方法 |
US9467708B2 (en) | 2011-08-30 | 2016-10-11 | Sonic Ip, Inc. | Selection of resolutions for seamless resolution switching of multimedia content |
US8787570B2 (en) | 2011-08-31 | 2014-07-22 | Sonic Ip, Inc. | Systems and methods for automatically genenrating top level index files |
US8799647B2 (en) | 2011-08-31 | 2014-08-05 | Sonic Ip, Inc. | Systems and methods for application identification |
US8964977B2 (en) | 2011-09-01 | 2015-02-24 | Sonic Ip, Inc. | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US8909922B2 (en) | 2011-09-01 | 2014-12-09 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
JP5698644B2 (ja) * | 2011-10-18 | 2015-04-08 | 株式会社Nttドコモ | 動画像予測符号化方法、動画像予測符号化装置、動画像予測符号化プログラム、動画像予測復号方法、動画像予測復号装置及び動画像予測復号プログラム |
US9247257B1 (en) | 2011-11-30 | 2016-01-26 | Google Inc. | Segmentation based entropy encoding and decoding |
US20130179199A1 (en) | 2012-01-06 | 2013-07-11 | Rovi Corp. | Systems and methods for granting access to digital content using electronic tickets and ticket tokens |
US20130208992A1 (en) * | 2012-02-13 | 2013-08-15 | Shu Lin | System and method for difference frame threshold encoding and decoding |
US9094681B1 (en) | 2012-02-28 | 2015-07-28 | Google Inc. | Adaptive segmentation |
US20130287109A1 (en) * | 2012-04-29 | 2013-10-31 | Qualcomm Incorporated | Inter-layer prediction through texture segmentation for video coding |
US9332276B1 (en) | 2012-08-09 | 2016-05-03 | Google Inc. | Variable-sized super block based direct prediction mode |
US9380298B1 (en) | 2012-08-10 | 2016-06-28 | Google Inc. | Object-based intra-prediction |
US9936267B2 (en) | 2012-08-31 | 2018-04-03 | Divx Cf Holdings Llc | System and method for decreasing an initial buffering period of an adaptive streaming system |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
US9313510B2 (en) | 2012-12-31 | 2016-04-12 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US10397292B2 (en) | 2013-03-15 | 2019-08-27 | Divx, Llc | Systems, methods, and media for delivery of content |
US9906785B2 (en) | 2013-03-15 | 2018-02-27 | Sonic Ip, Inc. | Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata |
US9094737B2 (en) | 2013-05-30 | 2015-07-28 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
US9380099B2 (en) | 2013-05-31 | 2016-06-28 | Sonic Ip, Inc. | Synchronizing multiple over the top streaming clients |
US9100687B2 (en) | 2013-05-31 | 2015-08-04 | Sonic Ip, Inc. | Playback synchronization across playback devices |
KR101502145B1 (ko) * | 2013-06-21 | 2015-03-12 | 주식회사 에스원 | 영상 부호화/복호화 방법 및 장치 |
US9386067B2 (en) | 2013-12-30 | 2016-07-05 | Sonic Ip, Inc. | Systems and methods for playing adaptive bitrate streaming content by multicast |
US9866878B2 (en) | 2014-04-05 | 2018-01-09 | Sonic Ip, Inc. | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
SG11201609457UA (en) | 2014-08-07 | 2016-12-29 | Sonic Ip Inc | Systems and methods for protecting elementary bitstreams incorporating independently encoded tiles |
US20160127728A1 (en) * | 2014-10-30 | 2016-05-05 | Kabushiki Kaisha Toshiba | Video compression apparatus, video playback apparatus and video delivery system |
WO2016112112A1 (en) | 2015-01-06 | 2016-07-14 | Sonic Ip, Inc. | Systems and methods for encoding and sharing content between devices |
WO2016138493A1 (en) | 2015-02-27 | 2016-09-01 | Sonic Ip, Inc. | Systems and methods for frame duplication and frame extension in live video encoding and streaming |
EP3200456A1 (en) * | 2016-01-28 | 2017-08-02 | Axis AB | Video encoding method and video encoder system for temporal noise reduction |
US10075292B2 (en) | 2016-03-30 | 2018-09-11 | Divx, Llc | Systems and methods for quick start-up of playback |
US10129574B2 (en) | 2016-05-24 | 2018-11-13 | Divx, Llc | Systems and methods for providing variable speeds in a trick-play mode |
US10231001B2 (en) | 2016-05-24 | 2019-03-12 | Divx, Llc | Systems and methods for providing audio content during trick-play playback |
US10148989B2 (en) | 2016-06-15 | 2018-12-04 | Divx, Llc | Systems and methods for encoding video content |
US10498795B2 (en) | 2017-02-17 | 2019-12-03 | Divx, Llc | Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming |
EP3759924A1 (en) | 2018-04-03 | 2021-01-06 | Huawei Technologies Co., Ltd. | Bitstream signaling of error mitigation in sub-picture bitstream based viewport dependent video coding |
EP4398582A3 (en) | 2019-03-21 | 2024-08-07 | DivX, LLC | Systems and methods for multimedia swarms |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4972261A (en) * | 1987-08-28 | 1990-11-20 | The General Electric Company, P.L.C. | Motion compensation image signal encoding system |
US5150210A (en) * | 1988-12-26 | 1992-09-22 | Canon Kabushiki Kaisha | Image signal restoring apparatus |
US5455629A (en) * | 1991-02-27 | 1995-10-03 | Rca Thomson Licensing Corporation | Apparatus for concealing errors in a digital video processing system |
US5198901A (en) * | 1991-09-23 | 1993-03-30 | Matsushita Electric Corporation Of America | Derivation and use of motion vectors in a differential pulse code modulation system |
FR2696026B1 (fr) * | 1992-09-18 | 1994-12-30 | Sgs Thomson Microelectronics | Procédé de masquage d'erreurs de transmission d'image compressée en MPEG. |
US5515388A (en) * | 1993-03-19 | 1996-05-07 | Sony Corporation | Apparatus and method for preventing repetitive random errors in transform coefficients representing a motion picture signal |
CA2114052A1 (en) | 1993-07-29 | 1995-01-30 | Monica Medina-Puri | Method of detecting scene cuts |
GB2293293B (en) * | 1994-09-15 | 1998-10-21 | Northern Telecom Ltd | Interactive video system |
JPH08154247A (ja) * | 1994-09-29 | 1996-06-11 | Sanyo Electric Co Ltd | 圧縮画像データ処理装置及び方法 |
US5751377A (en) * | 1994-11-04 | 1998-05-12 | Matsushita Electric Industrial Co., Ltd. | Picture coding apparatus and decoding apparatus |
DE69619002T2 (de) * | 1995-03-10 | 2002-11-21 | Kabushiki Kaisha Toshiba, Kawasaki | Bildkodierungs-/-dekodierungsvorrichtung |
JP3068002B2 (ja) * | 1995-09-18 | 2000-07-24 | 沖電気工業株式会社 | 画像符号化装置、画像復号化装置及び画像伝送システム |
JP3788823B2 (ja) * | 1995-10-27 | 2006-06-21 | 株式会社東芝 | 動画像符号化装置および動画像復号化装置 |
JP3347954B2 (ja) * | 1995-11-02 | 2002-11-20 | 三菱電機株式会社 | 動画像符号化装置及び動画像復号化装置 |
TW351903B (en) * | 1996-07-03 | 1999-02-01 | Matsushita Electric Ind Co Ltd | Encoding method, encoding apparatus, decoding and compositing method, decoding and composition appratus, and record medium recorded with the aforesaid methods for multiple images |
JPH10191356A (ja) * | 1996-12-27 | 1998-07-21 | Oki Electric Ind Co Ltd | 画像符号化装置 |
US5880688A (en) * | 1997-04-09 | 1999-03-09 | Hewlett-Packard Company | Arithmetic coding context model that adapts to the amount of data |
US6438165B2 (en) * | 1998-03-09 | 2002-08-20 | Lg Electronics | Method and apparatus for advanced encoder system |
US6188728B1 (en) * | 1998-09-29 | 2001-02-13 | Sarnoff Corporation | Block motion video coding and decoding |
JP3606306B2 (ja) * | 1998-10-08 | 2005-01-05 | 沖電気工業株式会社 | 画像符号化装置、画像復号化装置及び画像伝送システム |
US6700933B1 (en) * | 2000-02-15 | 2004-03-02 | Microsoft Corporation | System and method with advance predicted bit-plane coding for progressive fine-granularity scalable (PFGS) video coding |
-
2000
- 2000-05-15 GB GB0011606A patent/GB2362532B/en not_active Expired - Lifetime
-
2001
- 2001-05-14 EP EP01951502A patent/EP1287699B1/en not_active Expired - Lifetime
- 2001-05-14 EE EEP200200642A patent/EE05652B1/xx unknown
- 2001-05-14 AU AU2001272409A patent/AU2001272409A1/en not_active Abandoned
- 2001-05-14 BR BRPI0110770A patent/BRPI0110770B1/pt active IP Right Grant
- 2001-05-14 AT AT01951502T patent/ATE522086T1/de not_active IP Right Cessation
- 2001-05-14 MX MXPA02011201A patent/MXPA02011201A/es active IP Right Grant
- 2001-05-14 CN CNB2005100041642A patent/CN100394802C/zh not_active Expired - Lifetime
- 2001-05-14 WO PCT/EP2001/005453 patent/WO2001089223A2/en active Application Filing
- 2001-05-14 CA CA2409027A patent/CA2409027C/en not_active Expired - Lifetime
- 2001-05-14 HU HU0302055A patent/HU230597B1/hu unknown
- 2001-05-14 EP EP09013205A patent/EP2148513B1/en not_active Expired - Lifetime
- 2001-05-14 CN CNB018124801A patent/CN1193622C/zh not_active Expired - Lifetime
- 2001-05-14 JP JP2001585519A patent/JP4362259B2/ja not_active Expired - Lifetime
- 2001-05-14 KR KR1020087018587A patent/KR100929558B1/ko active IP Right Grant
- 2001-05-14 KR KR1020027015356A patent/KR100892119B1/ko active IP Right Grant
- 2001-05-15 US US09/854,461 patent/US7711052B2/en not_active Expired - Lifetime
-
2002
- 2002-10-29 ZA ZA200208744A patent/ZA200208744B/en unknown
-
2005
- 2005-12-21 HK HK05111815A patent/HK1079938A1/xx unknown
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7711052B2 (en) | Video coding | |
US8144764B2 (en) | Video coding | |
US7751473B2 (en) | Video coding | |
JP5007012B2 (ja) | ビデオ符号化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FG | Grant or registration |