ES2234729T3 - Metodo y dispositivo para decodificar un flujo de datos de video en modos especiales de reproduccion. - Google Patents

Metodo y dispositivo para decodificar un flujo de datos de video en modos especiales de reproduccion.

Info

Publication number
ES2234729T3
ES2234729T3 ES01110699T ES01110699T ES2234729T3 ES 2234729 T3 ES2234729 T3 ES 2234729T3 ES 01110699 T ES01110699 T ES 01110699T ES 01110699 T ES01110699 T ES 01110699T ES 2234729 T3 ES2234729 T3 ES 2234729T3
Authority
ES
Spain
Prior art keywords
image
images
decoding
reconstruction
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES01110699T
Other languages
English (en)
Inventor
Franck Abelard
Alain Verdier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vantiva SA
Original Assignee
Thomson Multimedia SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Multimedia SA filed Critical Thomson Multimedia SA
Application granted granted Critical
Publication of ES2234729T3 publication Critical patent/ES2234729T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/92Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • H04N9/8045Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

Método para decodificar imágenes de vídeo comprimidas en un dispositivo de decodificación de vídeo que incluye una fuente de acceso aleatorio de imágenes de vídeo codificadas, un decodificador de vídeo y una pluralidad de memorias intermedias de reconstrucción para almacenar las imágenes codificadas, caracterizado por las etapas de: establecer un orden de decodificación de imágenes; ordenar a dicho decodificador de vídeo que decodifique una imagen cuando esté disponible una memoria intermedia de reconstrucción.

Description

Método y dispositivo para decodificar un flujo de datos de vídeo en modos especiales de reproducción.
En un sistema en el que se almacena un flujo de datos de vídeo MPEG en un dispositivo de almacenamiento (por ejemplo un disco duro HDD integrado en un equipo decodificador de vídeo digital doméstico) que puede reproducirse y presentarse mediante la utilización de un decodificador MPEG, el usuario espera naturalmente la posibilidad de disfrutar de modalidades de reproducción especial, como reproducción inversa a distintas velocidades.
La presentación en dirección inversa de una secuencia de vídeo codificada mediante MPEG resulta un problema de difícil solución, teniendo en cuenta que en una estructura de flujo de datos MPEG, una unidad de acceso a vídeo que corresponda a datos que representan una imagen codificada, puede depender de las imágenes transmitidas anteriormente. De hecho, las unidades de acceso a vídeo se envían en un orden que facilita su decodificación para ser presentadas en la dirección de avance correcta. De este modo, basta con tres memorias intermedias de reconstrucción para decodificar el flujo de datos en esta dirección.
Cuando se precisa la reproducción en dirección inversa, tanto a velocidad normal como a velocidad acelerada, una solución consiste en decodificar todas las imágenes correspondientes a un grupo de imágenes (por lo general 12 imágenes) antes de presentar ninguna imagen perteneciente a este grupo de imágenes. La última imagen (por orden de presentación en la dirección de avance de dicho grupo) puede muy bien depender de la primera imagen del grupo, que es una imagen intra-tipo. Tan sólo podrán presentarse algunas de estas imágenes decodificadas, dependiendo de la velocidad de reproducción.
Los decodificadores de vídeo habituales llevan a cabo una decodificación de imagen por cada período de presentación (por ejemplo, 40 ms). Esto no puede adaptarse a un modo de reproducción especial.
El documento EP-A2-0725399 revela un método y un aparato para la reproducción inversa a velocidades normal, lenta y fotograma a fotograma, utilizando tres memorias de fotogramas para almacenar y decodificar fotogramas de vídeo en un orden fijo.
El objeto de la invención consiste en un método para decodificar imágenes de vídeo comprimidas en un dispositivo de decodificación de vídeo que incluye una fuente de acceso aleatorio de imágenes de vídeo codificadas, un decodificador de vídeo y una pluralidad de memorias intermedias de reconstrucción para el almacenamiento de las imágenes decodificadas, caracterizado por las siguientes fases:
-
establecer un orden de decodificación de imágenes en función del modo de presentación;
-
ordenar a dicho decodificador de vídeo de forma asíncrona para que decodifique una imagen, sujeto a la disponibilidad de una memoria intermedia de reconstrucción. Tan pronto como está disponible una memoria intermedia de reconstrucción, se decodifica la siguiente imagen de la cola. El decodificador no decodifica una imagen por cada período de presentación, sino que anticipa la decodificación de imágenes en un orden predefinido. Este es un factor importante, sobre todo en el caso de la reproducción inversa en modo especial, ya que en algunos casos una imagen dada puede depender de cuatro o más imágenes que deben ser todas ellas decodificadas previamente.
De acuerdo con la realización, el método también incluye las siguientes fases:
-
bloquear el acceso a una memoria intermedia de reconstrucción que contiene una imagen a presentar hasta que se haya presentado dicha imagen;
-
ordenar la decodificación de una imagen adicional tan pronto como se disponga de una memoria intermedia de reconstrucción no bloqueada.
De este modo, la decodificación está controlada por el proceso de presentación: este proceso es el que desbloquea el acceso a memorias intermedias de reconstrucción y controla cuándo se va a decodificar la siguiente imagen.
De acuerdo con una realización, la fase de establecimiento de un orden de decodificación de imágenes comprende las siguientes fases:
-
determinación de la lista de imágenes a presentar de entre las imágenes incluidas en dicho flujo de datos;
-
determinación recursiva de las cadenas de indicadores correspondientes a dichas imágenes a presentar, e inserción de dichos indicadores en dicha lista de imágenes a presentar en el orden requerido para dichos indicadores de decodificación antes de las imágenes que dependan de dichos indicadores.
De acuerdo con una realización, el flujo de datos de vídeo comprimidos incluye imágenes por orden de decodificación, y el método incluye también las fases de determinación, para una imagen bidireccional, de indicadores próximo y lejano, siendo dicho indicador próximo la imagen que aparece en el flujo de datos más cerca de dicha imagen bidireccional, y decodificándose dicho indicador lejano con anterioridad a dicho indicador próximo.
De acuerdo con una realización, la fase de determinación de un orden para la decodificación de las imágenes incluye las fases de:
-
cargar una información predeterminada que describe los contenidos del flujo de datos de vídeo; y
-
obtener dicho orden de decodificación de las imágenes a partir de dicha información en función del modo de presentación seleccionado.
De acuerdo con una realización, el método incluye asimismo la fase de selección de una memoria intermedia de reconstrucción de entre memorias intermedias de reconstrucción disponibles para el almacenamiento de una imagen decodificada, llevándose a cabo dicha selección a fin de seleccionar la memoria intermedia de reconstrucción disponible en la cual no se ha almacenado desde hace más tiempo imagen decodificada alguna a presentarse.
De acuerdo con una realización, el método también incluye las fases de asignar un contador a cada memoria intermedia de reconstrucción, de incrementar cada contador cada vez que se presenta una imagen, de poner a cero un contador cuando se ha presentado una imagen de su memoria intermedia asociada y de asignar la memoria intermedia con el valor del contador más elevado a una imagen a codificar.
De acuerdo con la realización preferida, el método se lleva a cabo utilizando tan sólo tres memorias intermedias de reconstrucción, pero no está necesariamente limitado a dicho número.
De acuerdo con una realización, el método también incluye las fases de verificación, con anterioridad a la decodificación de una imagen, de sí dicha imagen ya se encuentra presente en una de las memorias intermedias de reconstrucción y de impedir una segunda decodificación de dicha imagen en este caso.
Otro objeto de la invención es un dispositivo de decodificación de vídeo caracterizado por:
-
una fuente de flujos de datos de vídeo comprimidos de acceso aleatorio que incluye imágenes codificadas;
-
medios de selección de las imágenes a codificar;
-
una pluralidad de memorias intermedias de reconstrucción para almacenar las imágenes decodificadas;
-
un decodificador de vídeo para decodificar las imágenes codificadas;
-
unos medios de comprobación de la disponibilidad para acceso de escritura a memorias intermedias de reconstrucción y de control de dicho decodificador de vídeo para decodificar una imagen seleccionada tan pronto como se disponga de una memoria intermedia de reconstrucción, en las que la disponibilidad de una memoria intermedia de reconstrucción viene determinada por el status de presentación de una imagen contenida en a codificar intermedia de reconstrucción.
La fuente de acceso aleatorio puede ser también un área de almacenamiento intermedio conectada a una fuente secuencial.
El método inventivo y el dispositivo permiten la reproducción, en dirección inversa y a diferentes velocidades, de un flujo de datos de vídeo grabado utilizando solamente tres memorias intermedias de reconstrucción.
Para decodificar una imagen seleccionada, el método de la invención determina y decodifica las imágenes indicadoras de la imagen a presentar, utilizando un proceso recursivo.
Ventajosamente, se utiliza una información predeterminada sobre modos de reproducción especial que describe el flujo de datos grabado a fin de determinar las imágenes indicadoras. Esta información sobre modos de reproducción especial puede adoptar la forma de una lista enlazada de descriptores de imágenes que describen su tipo y la situación de los datos relevantes en el flujo de datos grabado.
Se utiliza un mecanismo específico de asignación de memorias intermedias para determinar qué memoria intermedia de reconstrucción debe utilizarse para cada imagen.
El acceso de escritura a una memoria intermedia que contenga una imagen que vaya a presentarse queda desactivado hasta tanto se haya presentado dicha imagen.
En la descripción de una realización no limitativa de la invención se apreciarán otras características y ventajas de la invención. La realización queda ilustrada mediante las siguientes figuras:
La figura 1 es un diagrama de bloques de un receptor/decodificador de televisión digital.
La figura 2 es un diagrama del modelo de software de la parte de software del receptor de la figura 1 que corresponde al funcionamiento en el modo de reproducción especial.
La figura 3 es un organigrama del proceso global de decodificación y presentación de vídeo.
La figura 4 es un diagrama del efecto del comando "decodificar imagen".
La figura 5 es un organigrama que describe el proceso de decodificación de una imagen en función de su tipo (I, P o B).
La figura 6 es un organigrama del proceso de selección de la memoria intermedia vacía de acuerdo con la realización.
La figura 7 es una tabla que indica la ocupación de la memoria intermedia y la actividad de decodificación y de presentación para una ejemplo de reproducción inversa.
1. Resumen completo del sistema
El receptor/decodificador de televisión digital 1 de la figura 1 incluye un circuito de corrección de errores adelantado 2 alimentado por un sintonizador y un convertidor analógico/digital (no mostrado). La señal digital corregida se suministra a un demultiplexor de flujo de datos de transporte y a un filtro 4. Este demultiplexor y filtro 4 están conectados al bus central de comunicaciones 11 del receptor 1. Su función consiste en seleccionar determinados paquetes del flujo de datos de transporte (TS) existentes en el flujo de datos recibido y enviarlos a diferentes aplicaciones del receptor. Con dicha finalidad, se incluyen unos filtros programados por un microprocesador 10.
A los efectos de grabación de flujos de datos MPEG, el receptor incluye un disco duro 12 conectado al bus 11 a través de un interfaz 13, por ejemplo un interfaz EIDE. Una memoria 5 incluye diferentes memorias intermedias y áreas utilizadas para almacenar y recuperar información procedente del disco duro.
La memoria 5 incluye memorias intermedias circulares 15 a 23. Se utiliza un sistema FIFO de escritura 15 para almacenar por orden de llegada desde el demultiplexor y filtro 4 los paquetes TS para su grabación en el disco duro 12. Se utiliza un sistema FIFO de lectura para almacenar los paquetes TS leídos en el disco duro. Los sistemas FIFO 15 y 16 se utilizan para grabar o leer un sub-flujo del flujo de datos recibido independientemente de la naturaleza del contenido de los paquetes TS. Para la grabación, todos los paquete TS que se corresponden con los criterios programados se filtran y se escriben en la FIFO de escritura 15 antes de su transferencia al disco duro 12. Este modo, se denomina modo de grabación de nivel de flujo de datos de transporte, y será el modo utilizado en el resto de esta descripción.
Para mayor información, cabe señalar que la grabación también puede conseguirse a nivel de flujos de datos elementales por paquetes (PES). Para este fin se utilizan las FIFOS 18 a 23. La memoria 5 también tiene una memoria intermedia para modo de reproducción especial 17. Esta memoria intermedia es utilizada por el analizador de flujos de datos 3 y por el microprocesador durante la grabación para generar información en el modo de reproducción especial que a su vez se graba en el disco duro. Esta memoria intermedia también se utiliza durante la reproducción para almacenar la información del modo de reproducción especial leída desde el disco duro.
Pueden encontrarse más detalles de estos dos modos en la ya mencionada solicitud de patente europea.
Para decodificar un flujo de datos, el receptor 1, también incluye los respectivos decodificadores de audio y vídeo 8 y 9 conectados a la memoria intermedia 11 bien a través de un demultiplexor de flujo de datos de transporte y un analizador PES 6, o directamente a través del analizador PES 6. Dependiendo del modo de grabación, la capa TS puede haber sido previamente eliminada o no. La referencia 14 indica los circuitos de procesamiento de vídeo requerida para generar señales de vídeo analógicas susceptibles de ser presentadas.
Los datos comprimidos destinados al decodificador de vídeo 9 se almacenan en una memoria intermedia de bit de entrada 25 a partir de la cual el decodificador 9 los lee en la medida adecuada. Las imágenes reconstruidas se almacenan en una memoria de reconstrucción 26 a la que accede el decodificador tanto para lectura como para escritura. La memoria de reconstrucción de acuerdo con la invención cuenta con tres memorias intermedias (A, B, C) correspondiéndose cada una de ellas con una imagen decodificada.
El receptor 1 también incluye una memoria no volátil re-programable 24, que contiene el sistema operativo del receptor, los controladores de dispositivos y otros módulos de software. El microprocesador ejecuta el software del receptor.
A los efectos de la presente descripción, la información del modo de reproducción especial contiene para cada unidad de acceso de vídeo almacenada en el disco y por el orden de grabación el tipo de imagen (I, P o B) y el emplazamiento de la correspondiente imagen, grupo de imágenes e información de secuencia en el disco duro necesarios para decodificar una imagen. La información del modo de reproducción especial está segmentada en tres diferentes tipos de tablas: una tabla de índice temporal, una tabla de descripción de unidades de vídeo y diversas unidades de descripción de vídeo (VDUs), describiendo cada VDU el contenido de un número determinado de grupos sucesivos de imágenes.
Un ejemplo de dicha información en modo de reproducción especial se describe en la solicitud de patente europea titulada "Método y dispositivo para decodificar un flujo de video digital en un sistema de video digital mediante utilización de inserción de cabecera ficticia" presentada a nombre de THOMSON multimedia el 5 de abril de 2000.
La figura 2 muestra un diagrama del modelo del software del receptor 1 de acuerdo con la presente realización. Este incluye los siguientes elementos:
(a) Control General del modo de reproducción especial
Este módulo de software está a cargo del control global del proceso de decodificación. En función del modo de reproducción especial (hacia atrás / hacia delante, lento / rápido), este módulo especifica qué imagen debe transmitirse, decodificarse o presentarse. Por ejemplo, si el modo de reproducción especial seleccionado consiste en la reproducción hacia atrás a X veces la velocidad normal, este módulo determina, utilizando la tabla de índice temporal y las VDUs, qué imagen debe presentarse, el tipo de esta imagen (I, B, P) y, en el caso de una imagen de los tipos P o B, el resto de imágenes (indicadores) a decodificar de antemano. Este proceso se ejecuta de manera recursiva ya que la decodificación de indicadores puede requerir a su vez otros indicadores.
El control global del modo de reproducción especial solicita la información del modo de reproducción especial al gestor de acceso a la información del modo de reproducción especial (véase más adelante).
En función del algoritmo de decodificación recursiva, el control global del modo de reproducción especial ordena al gestor de acceso a los flujos de datos (véase más adelante) que transfiera a la memoria intermedia de entrada del decodificador de vídeo MPEG unidades de acceso a vídeo específicas.
El módulo de control global del modo de reproducción especial mantiene una imagen virtual de la ocupación de la memoria intermedia de reproducción en cualquier etapa.
Para decodificar una imagen en una determinada de las tres memorias intermedias de reproducción, ejecuta el proceso de selección de la memoria intermedia de reproducción descrito anteriormente en relación con los organigramas de las figuras 5 y 6 y envía una notificación al gestor de decodificación antes de transferir la imagen comprimida.
(b) Gestor de acceso a la información del modo de reproducción especial
El módulo de control global del modo de reproducción especial necesita información sobre el modo de reproducción especial relativa al flujo de datos grabado. Dicha información se almacena en la unidad de disco duro. El gestor de acceso a la información del modo de reproducción especial está a cargo de recopilar la información del disco duro y suministrarla al control global del modo de reproducción especial.
(c) Gestor de acceso a flujos de datos
Cada imagen individual a decodificar (tanto para su posterior presentación o no) debe transmitirse al decodificador de vídeo 9. Toda la información necesaria para acceder al contenido comprimido se suministra en las tablas de información del modo de reproducción especial. El gestor de acceso al flujo de datos se encarga de la transferencia de los datos de la imagen identificados por el control global del modo de reproducción especial desde la memoria 5 al decodificador de vídeo, transfiriendo sólo la información relevante de toda la leída en el disco duro por el controlador de transferencia de datos. El gestor de acceso al flujo de datos enviará una notificación al control global del modo de reproducción especial por cada imagen que deba decodificarse.
(d) Controlador de transferencia de datos
El controlador de transferencia de datos se encarga de clasificar los contenidos de vídeo que han de suministrarse a la memoria 5 para su procesamiento por parte del gestor de acceso al flujo de datos. Normalmente, el controlador de transferencia de datos cargará uno o varios bloques desde el disco duro que contengan los datos relevantes y otros datos. En el caso en el que se inserta la información relativa al modo de reproducción especial junto con el flujo de datos, el controlador de transferencia de datos también se encarga de extraer la información sobre el modo de reproducción especial y de almacenarla en una memoria intermedia 17.
(e) Gestor de decodificación de vídeo
El decodificador de vídeo notifica al gestor de decodificación de vídeo cada vez que recibe e identifica una nueva unidad de acceso al vídeo. El gestor de decodificación de vídeo ha recibido previamente a través de una cola desde el control general un comando completo ordenando y especificando la decodificación y/o la presentación de dicha imagen específica. En función de este comando, el gestor de decodificación de vídeo programa la decodificación de la imagen recién detectada y sí la imagen debe presentarse notifica al gestor de presentación a través de una cola que dicha imagen debe presentarse y la forma en que debe presentarse (campo superior o inferior primero, hacia delante o hacia atrás).
Un descriptor de software de cada memoria intermedia de reconstrucción refleja el estado de cada memoria intermedia. Estos descriptores están compartidos por el gestor de decodificación de vídeo y por el gestor de presentación. Antes de programar una decodificación, el gestor de decodificación de vídeo comprueba si se encuentra disponible la memoria intermedia de reconstrucción que debe recibir esta imagen. De lo contrario, el gestor de decodificación de vídeo espera a que el gestor de presentación libere la memoria intermedia. A continuación, podrá programarse la decodificación en esta memoria intermedia y podrá bloquearse nuevamente el acceso a la memoria intermedia.
(f) Gestor de presentación
Sí debe presentarse una imagen una vez decodificada, el gestor de decodificación de vídeo lo notificará al gestor de presentación. El gestor de presentación también desbloqueará memorias intermedias de reconstrucción bloqueadas, liberándolas para la decodificación de imágenes adicionales una vez que ya no son necesarias para presentar ninguna más.
El decodificador de vídeo 9 puede suministrar un API (interfaz programable de aplicaciones) que permite ciertos tipos de controles y operaciones relativas a la decodificación y eventual presentación de imágenes individuales. Especialmente puede ordenarse al decodificador que decodifique una imagen individual y que, posteriormente, la presente en un momento dado y para un número determinado de intervalos de fotograma o que no la presente en absoluto.
La presentación de la imagen es un proceso síncrono. Para un sistema de 50 Hz, el gestor de presentación comprueba cada 40 ms qué imagen debe presentarse. Dicho de otro modo, identifica la memoria intermedia de reconstrucción que contiene la imagen a presentar.
Si la cola de notificación del gestor de presentación, llenada por el gestor de decodificación de vídeo está vacía, no habrá ninguna imagen disponible para su presentación. Se repetirá la última imagen presentada hasta que deba presentarse una nueva imagen.
Normalmente, el proceso de presentación es el proceso más lento de la cadena. El resto de los procesos seguirán el ritmo impuesto por el de presentación.
Dado que el proceso de decodificación es asíncrono y puede ser muy rápido, cuando se decodifica una imagen a presentar se bloquea su memoria intermedia de reconstrucción para evitar que sea sobrescrita por imágenes posteriores antes de haberla presentado realmente. Solamente el gestor de presentación está autorizado a desbloquear una memoria intermedia cuando se presenta la imagen y cuando se puede iniciar en la misma memoria intermedia la reconstrucción de una nueva imagen. El gestor de decodificación de vídeo espera a que el gestor de presentación visualice las imágenes y libere memorias intermedias para decodificar nuevas imágenes a solicitud del control global del modo de reproducción especial.
La generación de solicitudes de decodificación por parte del control global del modo de reproducción especial y su suministro al decodificador por parte del gestor de acceso a flujos de datos también suelen ser más rápidos que el proceso de decodificación.
Dado que no sirve de nada ordenar la decodificación de nuevas imágenes si la memoria intermedia de bits del decodificador de vídeo está llena y no se le pueden suministrar más datos comprimidos, el control global del modo de reproducción especial y el suministro de imágenes codificadas por parte del gestor de acceso a flujos de datos están sincronizados. El control global del modo de reproducción especial solicita la transmisión de una nueva imagen cuando es necesario y espera a que se complete la transmisión antes de efectuar otra solicitud. El gestor de acceso a flujos de datos notifica que se ha completado la transmisión al proceso de control global del modo de reproducción especial.
El gestor de acceso a flujos de datos y el control global esperan a que el decodificador de vídeo recupere datos de la memoria intermedia de bits y el decodificador de vídeo, bajo el control del gestor de decodificación de vídeo, espera a que el gestor de presentación libere memorias intermedias. Finalmente, todo el sistema seguirá el ritmo de presentación.
Para poder presentar en la pantalla, una imagen MPEG debe haber sido previamente decodificada. El proceso de vídeo puede dividirse en una serie de operaciones sucesivas. La figura 3 muestra un resumen del proceso general de vídeo para una imagen dada. Varios de estos procesos pueden ejecutarse en paralelo en diferentes fases de ejecución. Una primera operación consiste en la identificación de la siguiente imagen a presentar. Por supuesto, esto depende del tipo de modo de reproducción especial. Una vez que se ha determinado dicha imagen, deberá decodificarse. Esta operación puede implicar la decodificación recursiva de otras imágenes. También depende de la disponibilidad de una o más memorias intermedias de reconstrucción libres. La última operación consiste en la presentación de la imagen decodificada.
La información del modo de reproducción especial, de acuerdo con la presente realización, es una estructura de datos que incluye elementos vinculados. Está compuesta por descriptores de imagen vinculados entre sí de acuerdo con su orden en el flujo de datos. Se recuerda al lector que el flujo, tal como se recibe (y en este caso tal como se graba), contiene imágenes por orden de decodificación, no por orden de presentación. Cada descriptor de imagen facilita detalles acerca de una imagen del flujo de datos codificados MPEG, así como suficiente información para localizar el material comprimido de la imagen en la unidad de almacenamiento. Cada imagen del flujo de datos se identifica mediante una ID de imagen específica. En las figuras 3 y 4, dicha ID de imagen es "N" y una función "Next(N)" devuelve una ID de imagen. El procesamiento de la función Next(N) se basa en un análisis de la información del modo de reproducción especial, teniendo en cuenta el tipo de modo de reproducción especial a presentar.
En el modo de reproducción normal, Next(N) devuelve la ID de la siguiente imagen a presentar de acuerdo con el orden normal de presentación (es decir, en relación con la referencia temporal). En el modo de reproducción inversa, Next(N) devuelve la ID de la imagen anterior de acuerdo con el orden normal de presentación.
Para el funcionamiento a velocidad alta (reproducción normal o inversa) deben saltarse imágenes, por lo que Next(N) devuelve IDs de imágenes no consecutivas.
La función Next(N) es realizada por el módulo de control global del modo de reproducción especial que, conociendo el valor de N, utiliza las tablas del modo de reproducción especial definidas en la solicitud de patente ya mencionada para acceder a todos los datos necesarios para la decodificación de una imagen.
Los modos especiales de reproducción a cámara lenta (reproducción normal o inversa) están bajo el control del gestor de presentación, ya que este modo de reproducción especial simplemente implica una frecuencia de presentación inferior a una imagen cada 40 ms.
La figura 4 muestra el principio del comando DecodePicture (Decodificar imagen). El estado actual de memorias intermedias de reconstrucción se representa a la izquierda del diagrama. Cada una de memorias intermedias contiene ciertas imágenes (X, Y, Z). El proceso DecodePicture garantiza que, sí se aplica a una imagen N, uno de memorias intermedias contendrá finalmente esta imagen solicitada, independientemente del contenido de las otras dos memorias intermedias.
Como ya se ha indicado, una imagen MPEG puede depender de otras imágenes y su decodificación puede exigir la disponibilidad de imágenes ya reconstruidas. Una cadena de datos codificados MPEG siempre contiene un número de puntos de entrada en forma de intra-imágenes. Ninguna de las imágenes posteriores a dicho punto de entrada puede depender de imágenes anteriores al punto de entrada. La norma DVB especifica que estos puntos de entrada deben tener lugar al menos cada 0,5 s. Los grupos abiertos de imágenes constituyen un caso particular.
El comando DecodePicture se lleva a cabo de forma recursiva como se muestra en el organigrama de la figura 5. Si la decodificación de una imagen requiere la presencia de una o dos imágenes previamente decodificadas, estas últimas imágenes se decodificarán en primer lugar.
Si la imagen objetivo (PicID) no se encuentra aún en memorias intermedias de reconstrucción necesitará ser decodificada. Si la imagen identificada por PicID es del tipo "P" o "B", su decodificación puede exigir la presencia de indicadores anteriores y posteriores. Esta información está disponible en las tablas de modos de reproducción espe-
cial.
La regla que facilita los indicadores de los cuales depende la imagen a decodificar es muy sencilla: desplazarse por la cadena de datos hacia atrás (es decir, hacia las unidades de acceso a vídeo previamente grabadas); la primera imagen de los tipos "P" o "I" encontrada es el indicador correspondiente a la imagen actual. Esta imagen puede encontrarse utilizando la información del modo de reproducción especial. Este indicador se denomina "NearestID (ID más proximo)" en la figura 5.
Si la imagen identificada por PicID es una imagen del tipo "P", NearestID es un indicador posterior en el sentido de que la imagen NearestID se encuentra situada, en la escala temporal y en el orden de presentación, con anterioridad a la imagen identificada por PicID.
Si la imagen identificada por PicID es una imagen del tipo "B", NearestID será un indicador anterior. De este modo el indicador posterior se encuentra buscando más hacia atrás la siguiente imagen de los tipos "I" o "P". Este indicador posterior se denomina "FarthestID (ID más lejano)" en la figura 5.
Para decodificar una imagen, si los indicadores reconstruidos no existen en memorias intermedias de reconstrucción, deberán construirse. En este caso el comando DecodePicture se repite de manera recursiva para estas imá-
genes.
Antes de reconstruir una imagen B, puede ser necesario decodificar hasta dos indicadores, a menos que ya se hubiesen decodificado y se encontrasen presentes en la memoria intermedia de reconstrucción. Como puede verse en la figura 5, FarthestID se decodifica en primer lugar, seguido por NearestID. Dado que NearestID puede también depender de FarthestID, esta última se decodifica en primer lugar: de este modo se utiliza el proceso y se evita la doble decodificación de la imagen correspondiente a FarthestID. Por ejemplo, si se ha indicado una imagen B a partir de dos imágenes P, la segunda imagen P en términos temporales dependerá de la primera imagen P.
Una vez se ha construido FarthestID en una memoria intermedia de reconstrucción, la memoria intermedia se bloquea para impedir que el proceso de reconstrucción de NearestID sobre-escriba FarthestID, que se conserva como un resultado provisional.
Independientemente del modo de reproducción seleccionado, sólo se utilizan tres memorias intermedias de reconstrucción, como se explicará a continuación.
La decodificación de una intra-imagen sólo requiere una memoria intermedia libre, ya que no es necesario ningún indicador. La decodificación de una imagen predictiva requiere un indicador: pueden utilizarse una o dos memorias intermedias, en función de sí el indicador decodificado de la imagen predictiva ya se encuentra presente en otra memoria intermedia o no, es decir sí debe llevarse a cabo o no una decodificación recursiva.
De las tres memorias intermedias, una de ellas contiene la imagen que se está presentando actualmente. De este modo, están disponibles dos memorias intermedias para decodificar nuevas imágenes - suponiendo que no contengan una imagen que vaya a presentarse con posterioridad a la imagen actual - y de este modo podrá decodificarse cualquier imagen I o P sin afectar negativamente a la presentación de la imagen actual.
Las imágenes B, por otra parte, requieren dos indicadores. En grupos cerrados de imágenes, uno de los dos indicadores (Indicador Más Próximo) dependerá del otro (Indicador Más Lejano). Al decodificar en primer lugar el indicador más lejano, seguido del indicador más próximo, sólo son necesarias dos memorias intermedias para decodificar ambos indicadores. En grupos abiertos de imágenes, ambos indicadores pueden ser independientes, pero teniendo en cuenta que estos indicadores incluyen una imagen I procedente del grupo actual de imágenes y una imagen P (o I) procedente del grupo de imágenes anterior, sólo serán necesarios dos memorias intermedias siempre que la imagen P o I del grupo de imágenes anterior se haya decodificado en primer lugar.
Cuando la imagen actualmente presentada no es uno de los indicadores de la siguiente imagen a presentar, asumiendo que dicha siguiente imagen sea del tipo B, deberá reconstruirse en la memoria intermedia que contiene la imagen actualmente presentada. En los decodificadores actualmente disponibles, suele ser posible comenzar a sobre-escribir una imagen presentada antes de que se haya presentado en su totalidad. La sobre-escritura podría comenzar, por ejemplo, 20 ms después del inicio de la presentación. Si una imagen se presenta durante varios períodos de fotograma, la sobre-escritura por supuesto podrá efectuarse durante el período del último fotograma.
De este modo se demuestra que cuando se selecciona adecuadamente el orden de decodificación, sólo son necesarios tres memorias intermedias de reconstrucción.
Cuando se han decodificado todos los indicadores necesarios, debe seleccionarse una memoria intermedia de reconstrucción disponible para recibir la nueva imagen a decodificar y presentarse. En algunos casos puede no haber opciones como en el caso de la decodificación de una imagen B: deben utilizarse las tres memorias intermedias, una para el indicador posterior, una para el indicador anterior y una para la propia imagen B.
En el resto de los casos, debe seleccionarse una memoria intermedia de las dos o tres disponibles.
La asignación de las tres memorias intermedias de reconstrucción entre la presentación y la decodificación es fundamental para el rendimiento del sistema en general. De hecho, cuando no se selecciona la memoria intermedia adecuada, puede introducirse un retardo adicional para decodificar una imagen dada. Dependiendo de la potencia de procesamiento del decodificador de vídeo, puede suceder que una imagen no se decodifique por completo antes de presentarse.
Los inventores han determinado que a fin de evitar demoras en la decodificación, la memoria intermedia que debe seleccionarse para la imagen que se va a presentar es la memoria intermedia libre que ha sido liberada por el proceso de presentación hace más tiempo.
Para llevar a cabo este método de asignación, se asocia un contador a cada elemento modelo de memoria intermedia. Cuando se reconstruye en una memoria intermedia una imagen que se va a presentar, el contador de esta memoria intermedia se pone a cero y se incrementan los contadores de las otras memorias intermedias. De acuerdo con la presente realización, la memoria intermedia asignada a una nueva imagen es la memoria intermedia con el mayor valor de contador.
La figura 6 es un organigrama del proceso de asignación de memorias intermedias. Consiste en un recorrido cíclico a través de todas las memorias intermedias, descartando aquellas que estén bloqueadas porque contienen un indicador, y seleccionando entre las desbloqueadas (en su caso) aquella cuyo valor de contador es mayor.
Como se ha descrito anteriormente, el problema de reordenación de la imagen y de asignación de memoria intermedia se resuelve utilizando un modelo virtual como las siguientes estructuras de datos, una para cada una de las tres memorias intermedias de reconstrucción:
\vskip1.000000\baselineskip
1
\vskip1.000000\baselineskip
A continuación se describirá un ejemplo del proceso de decodificación en modo de reproducción inversa, haciendo referencia a la figura 7. Este ejemplo se refiere al caso de los grupos de imágenes abiertos. Consideremos que el flujo de datos de vídeo tiene la siguiente estructura:
...P'11-B'9-B'10-I2-B0-B1-P5-B3-B4-P8-B6-B7-P11-B9-B10-I''2-B''00-B''1...
donde I, P y B, respectivamente, designan intra-imágenes, imágenes predictivas e imágenes bidireccionales, designando el número asociado a cada letra el orden normal de presentación en el grupo de imágenes. El eje de tiempos discurre de izquierda a derecha, es decir que el grupo "principal" de imágenes se presenta normalmente el
primero.
En la tabla 1 se muestran los indicadores de cada imagen.
TABLA 1
2
\vskip1.000000\baselineskip
La figura 7 indica el contenido de cada uno de memorias intermedias A, B y C. La columna "Período de Fotograma" cuenta los períodos de presentación de 40 ms (independientemente de su grosor en la figura). El período "0" se corresponde con el período de presentación de P11. La columna "Imagen Presentada" indica qué imagen se ha presentado durante el período de fotograma asociado. La "decodificación por período de fotograma" indica el número de imágenes decodificadas a lo largo de un período de 40 ms determinado. Las zonas grises indican cuándo se presenta el contenido de una memoria intermedia determinada.
En aras de la simplicidad, los períodos de fotograma, los períodos de decodificación y los períodos de ocupación de la memoria intermedia están alineados. Esto no es necesariamente así en realidad. En primer lugar, el tiempo necesario para decodificar una imagen depende de la imagen. En segundo lugar, una imagen puede comenzar a presentarse antes de estar completamente decodificada. Por ejemplo, si se indica que una imagen B''1 está decodificada cuando está presentándose al mismo tiempo, esto quiere decir que la presentación se inicia, como pronto, 20 ms después de la decodificación de la imagen.
Supongamos que las imágenes P11 a B0 deben presentarse por ese orden.
La figura 7 muestra todas las imágenes por orden de decodificación (sí han de presentarse o no) lo cual se determina mediante el proceso recursivo descrito anteriormente.
P11 depende de P8, que a su vez depende de P5, que a su vez depende de I2. En consecuencia, I2 se decodifica en la memoria intermedia A durante el período -4, P5 durante el período -3, P8 también durante el período -3. Durante el período -4, se presenta la imagen B''3, mientras que durante el período -3 se presenta la imagen I''2. Como puede verse, la decodificación de una imagen está limitada por la disponibilidad de memorias intermedias no bloqueadas, y las imágenes se decodifican lo antes posible, en el orden en que se necesitan.
Dado que en este ejemplo utilizamos grupos de imágenes abiertos, P11 no se decodifica para ser presentado en este punto, sino para servir como indicador de las imágenes B''1 y B''0. El otro indicador de estas dos imágenes es I''2 que en ese momento ya se encuentra presente en la memoria intermedia C. B''1 y B''0 pueden de este modo decodificarse y presentarse inmediatamente (es decir, 20 ms después del inicio de la decodificación).
A continuación se presenta P11. Dado que ya se encuentra presente en la memoria intermedia B, no debe llevarse a cabo una nueva decodificación de esta imagen, por lo que puede presentarse de inmediato.
Al término del período -1, la memoria intermedia C pasa a estar disponible porque B''0 se ha decodificado y sus indicadores, almacenados en memorias intermedias B y C, carecen de utilidad. De este modo, se decodifica I2, como primer paso para la decodificación de B10, dependiendo de I2, P5, P8 y P11. La decodificación del resto de imágenes sigue un patrón similar.

Claims (10)

1. Método para decodificar imágenes de vídeo comprimidas en un dispositivo de decodificación de vídeo que incluye una fuente de acceso aleatorio de imágenes de vídeo codificadas, un decodificador de vídeo y una pluralidad de memorias intermedias de reconstrucción para almacenar las imágenes codificadas, caracterizado por las etapas de:
establecer un orden de decodificación de imágenes;
ordenar a dicho decodificador de vídeo que decodifique una imagen cuando esté disponible una memoria intermedia de reconstrucción.
2. Método de acuerdo con la reivindicación 1, que incluye las etapas de:
bloquear el acceso a una memoria intermedia de reconstrucción que contenga una imagen a presentar hasta la presentación de esta imagen;
ordenar la decodificación de una imagen nueva cuando se disponga de una memoria intermedia de reconstrucción no bloqueada.
3. Método de acuerdo con una de las reivindicaciones 1 a 2, en el que dicha fase de establecimiento de un orden para la decodificación de las imágenes incluye las fases de:
determinar una relación de las imágenes a presentar de entre las imágenes de dicho flujo de datos;
determinar de manera recursiva cadenas de indicadores para dichas imágenes a presentar, e insertar dichos indicadores en dicha relación de imágenes a presentar en el orden necesario para la decodificación de los indicadores antes de las imágenes, dependiendo de dichos indicadores.
4. Método de acuerdo con una de las reivindicaciones 1 a 3, en el que dicho flujo de datos de vídeo comprimido incluye imágenes por orden de decodificación, y que adicionalmente incluye las fases de determinación para una imagen bidireccional de un indicador más próximo y un indicador más lejano, donde dicho indicador más próximo es la imagen que aparece en el flujo de datos más cercana a dicha imagen bidireccional, decodificándose dicho indicador más lejano antes de dicho indicador más próximo.
5. Método de acuerdo con una de las reivindicaciones 1 a 4, en el que dicha fase de determinación del orden de decodificación de las imágenes incluye las fases de:
cargar información predeterminada descriptiva del contenido del flujo de datos de vídeo; y
obtener de dicho orden de codificación de imágenes a partir de dicha información en función de un modo de presentación seleccionado.
6. Método de acuerdo con una de las reivindicaciones 1 a 5 que adicionalmente incluye la fase de selección de una memoria intermedia de reconstrucción de entre memorias intermedias de reconstrucción disponibles para el almacenamiento de una imagen decodificada, llevándose a cabo dicha selección para seleccionar la memoria intermedia de reconstrucción disponible en la cual no se ha almacenado desde hace más tiempo imagen decodificada alguna para su presentación.
7. Método de acuerdo con la reivindicación 6, que incluye adicionalmente la fase de asignar un contador a cada memoria intermedia de reconstrucción, de incrementar cada contador cada vez que se presenta una imagen, de poner a cero el contador cuando se presenta la imagen de su memoria intermedia asociada y de asignar la memoria intermedia con el valor del contador mayor a una imagen a decodificar.
8. Método de acuerdo con una de las reivindicaciones 1 a 7, llevado a cabo utilizando solamente tres memorias intermedias de reconstrucción.
9. Método de acuerdo con una de las reivindicaciones 1 a 8, que también incluye las fases de verificación, con anterioridad a la decodificación de una imagen, de sí dicha imagen ya se encuentra presente en una de las memorias intermedias de reconstrucción y, en ese caso, evitar una segunda decodificación de dicha imagen.
10. Dispositivo de decodificación de vídeo caracterizado por
una fuente de acceso aleatorio (12, 13) de un flujo de datos de vídeo comprimidos que incluye imágenes codificadas;
unos medios (10) para la selección de las imágenes a decodificar;
una pluralidad de memorias intermedias de reconstrucción (A, B, C) para almacenar las imágenes decodificadas;
un decodificador de vídeo (9) para decodificar las imágenes codificadas;
unos medios (10) para supervisar la disponibilidad de acceso de escritura a memorias intermedias de reconstrucción y para controlar dicho decodificador de vídeo a fin de decodificar una imagen seleccionada cuando se dispone de una memoria intermedia de reconstrucción, en los que la disponibilidad de una memoria intermedia de reconstrucción viene determinada por el status de la presentación de la imagen contenida en a codificar intermedia de reconstrucción.
ES01110699T 2000-05-19 2001-05-02 Metodo y dispositivo para decodificar un flujo de datos de video en modos especiales de reproduccion. Expired - Lifetime ES2234729T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP00401381A EP1156674A1 (en) 2000-05-19 2000-05-19 Method and device for decoding a video data stream in special reproduction modes
EP00401381 2000-05-19

Publications (1)

Publication Number Publication Date
ES2234729T3 true ES2234729T3 (es) 2005-07-01

Family

ID=8173691

Family Applications (1)

Application Number Title Priority Date Filing Date
ES01110699T Expired - Lifetime ES2234729T3 (es) 2000-05-19 2001-05-02 Metodo y dispositivo para decodificar un flujo de datos de video en modos especiales de reproduccion.

Country Status (16)

Country Link
US (1) US7130526B2 (es)
EP (2) EP1156674A1 (es)
JP (1) JP5106722B2 (es)
KR (1) KR100788869B1 (es)
CN (1) CN1226873C (es)
AT (1) ATE286643T1 (es)
AU (1) AU777957B2 (es)
BR (1) BR0102043A (es)
DE (1) DE60108199T2 (es)
ES (1) ES2234729T3 (es)
HK (1) HK1038861B (es)
HU (1) HUP0101843A3 (es)
MX (1) MXPA01004843A (es)
MY (1) MY127087A (es)
TW (1) TW530494B (es)
ZA (1) ZA200103672B (es)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8559797B2 (en) 2000-10-10 2013-10-15 Broadcom Corporation System and method for personal video recording
US7177522B2 (en) * 2000-10-10 2007-02-13 Broadcom Corporation System and method for personal video recording
US6771274B2 (en) 2002-03-27 2004-08-03 Sony Corporation Graphics and video integration with alpha and video blending
US6847780B2 (en) 2002-03-28 2005-01-25 Sony Corporation Trick-mode stream creation for personal video recording functions
DK2278816T3 (da) 2002-07-11 2013-05-21 Panasonic Corp Post-afkoder-buffer-styring til en H.264-SVC MPEG-bitstrøm
AU2003256624A1 (en) * 2002-07-26 2004-02-16 Prediwave Corporation On-the-fly mpeg trick mode processing
US7577204B2 (en) * 2002-11-15 2009-08-18 Broadcom Corporation Hits stream rewind
US20040258160A1 (en) * 2003-06-20 2004-12-23 Sandeep Bhatia System, method, and apparatus for decoupling video decoder and display engine
JP2005017896A (ja) * 2003-06-27 2005-01-20 Canon Inc 光走査装置及びそれを用いた画像形成装置
US8077778B2 (en) * 2003-10-31 2011-12-13 Broadcom Corporation Video display and decode utilizing off-chip processor and DRAM
KR100716970B1 (ko) * 2003-12-08 2007-05-10 삼성전자주식회사 디지털 저장 미디어의 트릭 재생 방법 및 그에 적합한디지털 저장 미디어 구동기
US20050169376A1 (en) * 2004-01-30 2005-08-04 Pai Ramadas L. Motion vector address computer error detection
JP3919115B2 (ja) * 2004-08-18 2007-05-23 ソニー株式会社 復号化装置、復号化方法、復号化プログラム及び復号化プログラムが記録された記録媒体、並びにリバース再生装置、リバース再生方法、リバース再生プログラム及びリバース再生プログラムが記録された記録媒体
JP4780617B2 (ja) * 2004-09-01 2011-09-28 パナソニック株式会社 画像再生方法及び画像再生装置
EP1633128A1 (en) * 2004-09-02 2006-03-08 Deutsche Thomson-Brandt Gmbh Method and apparatus for decoding encoded groups of pictures of a video sequence and presenting said video sequence and said groups of pictures in temporally backward direction
TW200611256A (en) * 2004-09-29 2006-04-01 Quanta Storage Inc Disk device with multimedia video interface
US7885338B1 (en) * 2005-04-25 2011-02-08 Apple Inc. Decoding interdependent frames of a video for display
KR100765787B1 (ko) * 2006-06-15 2007-10-12 삼성전자주식회사 압축 부호화된 영상 데이터 스트림의 재생 방법 및 그 장치
KR100841317B1 (ko) * 2006-07-14 2008-06-26 엘지전자 주식회사 텔레비젼의 시스템 구동과 관련된 소프트웨어를 송수신하는 방법 및 그 장치
JP4902854B2 (ja) * 2006-09-12 2012-03-21 パナソニック株式会社 動画像復号化装置、動画像復号化方法、動画像復号化プログラム、動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像符号化復号化装置
US8411734B2 (en) * 2007-02-06 2013-04-02 Microsoft Corporation Scalable multi-thread video decoding
US8265144B2 (en) * 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
US9648325B2 (en) 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US8885729B2 (en) 2010-12-13 2014-11-11 Microsoft Corporation Low-latency video decoding
CN102572295B (zh) * 2010-12-21 2014-04-02 新奥特(北京)视频技术有限公司 一种特效图调度方法
US9706214B2 (en) 2010-12-24 2017-07-11 Microsoft Technology Licensing, Llc Image and video decoding implementations
TWI606722B (zh) 2011-06-30 2017-11-21 微軟技術授權有限責任公司 用於減少視訊編碼及解碼中之延遲的方法、系統及電腦可讀取媒體
US8731067B2 (en) 2011-08-31 2014-05-20 Microsoft Corporation Memory management for video decoding
US9819949B2 (en) 2011-12-16 2017-11-14 Microsoft Technology Licensing, Llc Hardware-accelerated decoding of scalable video bitstreams
EP2635025B1 (en) * 2012-02-29 2015-04-08 Advanced Digital Broadcast S.A. Video processing method and video appliance implementing the method

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0795536A (ja) * 1993-05-31 1995-04-07 Toshiba Corp 動画像逆再生装置及び方法
JP3128393B2 (ja) * 1993-05-31 2001-01-29 三洋電機株式会社 圧縮動画像再生装置
US5892882A (en) * 1994-03-23 1999-04-06 Pioneer Electronic Corporation Moving picture decoding device having a compressed picture data memory
JP3607315B2 (ja) * 1994-03-23 2005-01-05 パイオニア株式会社 動画像復号化装置
JP3250588B2 (ja) * 1994-07-12 2002-01-28 ソニー株式会社 データ再生装置
US6009231A (en) * 1994-09-05 1999-12-28 Sony Corporation Reproduction of information using a ring buffer with read and write pointers separated from each other by substantially half of the total ring buffer capacity
JPH08130715A (ja) * 1994-10-31 1996-05-21 Sony Corp 画像再生装置
JPH08214265A (ja) * 1995-01-31 1996-08-20 Sony Corp 符号化データの再生方法および再生装置
JP3491365B2 (ja) * 1995-01-31 2004-01-26 ソニー株式会社 符号化データ復号方法および復号装置
JP3484834B2 (ja) * 1995-07-28 2004-01-06 ソニー株式会社 データ符号化/復号化方法および装置
GB9703470D0 (en) * 1997-02-19 1997-04-09 Thomson Consumer Electronics Trick play reproduction of MPEG encoded signals
US6453114B2 (en) * 1997-02-18 2002-09-17 Thomson Licensing Sa Random picture decoding
JP3860319B2 (ja) * 1998-01-09 2006-12-20 株式会社東芝 画像再生方法及び装置
JP3132479B2 (ja) * 1998-08-28 2001-02-05 日本電気株式会社 圧縮ストリーム復号化方法および圧縮ストリーム復号化装置
JP3130876B2 (ja) * 1998-09-08 2001-01-31 日本電気アイシーマイコンシステム株式会社 画像再生装置及び画像再生方法
US6751400B1 (en) * 1998-09-17 2004-06-15 Sony Corporation Reproducing method and apparatus

Also Published As

Publication number Publication date
KR100788869B1 (ko) 2007-12-27
CN1226873C (zh) 2005-11-09
MY127087A (en) 2006-11-30
ATE286643T1 (de) 2005-01-15
DE60108199T2 (de) 2006-01-26
TW530494B (en) 2003-05-01
HK1038861B (zh) 2006-01-20
DE60108199D1 (de) 2005-02-10
EP1156674A1 (en) 2001-11-21
BR0102043A (pt) 2001-12-18
JP5106722B2 (ja) 2012-12-26
EP1158796B1 (en) 2005-01-05
AU777957B2 (en) 2004-11-04
AU4388701A (en) 2001-11-22
US20020001458A1 (en) 2002-01-03
HUP0101843A2 (en) 2002-06-29
MXPA01004843A (es) 2004-10-29
KR20010106226A (ko) 2001-11-29
EP1158796A1 (en) 2001-11-28
ZA200103672B (en) 2001-11-15
HK1038861A1 (en) 2002-03-28
JP2002027409A (ja) 2002-01-25
US7130526B2 (en) 2006-10-31
HUP0101843A3 (en) 2003-08-28
CN1325234A (zh) 2001-12-05

Similar Documents

Publication Publication Date Title
ES2234729T3 (es) Metodo y dispositivo para decodificar un flujo de datos de video en modos especiales de reproduccion.
ES2240976T3 (es) Sistema de almacenamiento, recuperacion y distribucion de datos de multiples usuarios, que utiliza un almacenamiento distribuido de datos deun flujo continuo de datos.
US6526225B1 (en) Disk-based digital video recorder
JP4375305B2 (ja) 情報処理装置および情報処理方法、記録媒体、並びに、プログラム
ES2536681T3 (es) Aparato de reproducción, método de reproducción, medio de grabación, aparato de grabación, método de grabación para grabar un flujo de vídeo y gráficos con información sobre recorte de gráficos
ES2275596T3 (es) Aparato y metodos para grabar y reproducir datos de informacion.
KR20110098003A (ko) 관리형 비휘발성 메모리의 어드레스 매핑을 위한 아키텍처
TWI272588B (en) Method for writing streaming audiovisual data to a disk drive
US7747143B2 (en) Digital video recorder
US8230125B2 (en) Methods for reserving index memory space in AVI recording apparatus
ES2201815T3 (es) Procedimiento para registro y lectura simultaneos de un flujo de datos de audio y video digitales, y receptor para llevar a cabo dicho procedimiento.
EP0895167A2 (en) Method and apparatus for interfacing with ram
JP4325194B2 (ja) 記憶媒体へのアクセスを管理する装置及び方法
ES2281102T3 (es) Procedimiento de multiplexacion datos, multiplexor datos que utiliza el mismo, repetidor de datos multiples, procedimiento decodificacion datos multiples, dispositivo decodificacion datos multiples que utiliza el mismo, y medios de registro donde se registran los procedimientos.
ES2198978T3 (es) Procedimiento para almacenar un flujo de datos de audio y video digital, dispositivo de almacenamiento y receptor para llevar a cabo dicho procedimiento.
ES2616309T3 (es) Dispositivo de memoria virtual compartida auto-administrada para administrar al menos un flujo de datos multi-pista
ES2228645T3 (es) Utilizacionde una memoria sdram como memoria de almacenamiento temporal de correccion y de pista en circuitos integrados frontales de dispositivos de grabacion o reproduccion.
US20040250039A1 (en) System and method for using swappable storage for high data content multi-source data storage
US7451281B2 (en) System and method for using swappable storage for storing program data
JPH0546461A (ja) メモリカード装置
JP2000050210A (ja) バッファメモリ、バッファメモリ管理方法及び画像再生装置
US20050244130A1 (en) Device and method for delayed reading of digital video data
JPH0834481B2 (ja) パケット交換機
MXPA01006544A (es) Proceso para el almacenamiento de corrientes de datos digitales de audio y video, dispositivo de almacenamiento y receptor para implementar el proceso
MXPA00010944A (es) Metodo para almacenar audio y video digitales comprimidos