ES2353007T3 - Método para grabación de datos, método para recuperar conjuntos de datos, archivo de datos, estructura de datos y soporte de grabación. - Google Patents

Método para grabación de datos, método para recuperar conjuntos de datos, archivo de datos, estructura de datos y soporte de grabación. Download PDF

Info

Publication number
ES2353007T3
ES2353007T3 ES03796040T ES03796040T ES2353007T3 ES 2353007 T3 ES2353007 T3 ES 2353007T3 ES 03796040 T ES03796040 T ES 03796040T ES 03796040 T ES03796040 T ES 03796040T ES 2353007 T3 ES2353007 T3 ES 2353007T3
Authority
ES
Spain
Prior art keywords
length
klv
data
pointer
retro
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
ES03796040T
Other languages
English (en)
Inventor
Robert C. Edge
Nicolaas Johannes Damstra
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Licensing SAS filed Critical Thomson Licensing SAS
Application granted granted Critical
Publication of ES2353007T3 publication Critical patent/ES2353007T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

Método para grabar datos encapsulados (Ve,Vm) que pueden ser recuperados en orden opuesto al de grabación, incluyendo dicho método las etapas sucesivas de: a) grabar, como contenedor de datos, un elemento codificado en KLV que comprende - una primera clave (Ke, Km) que indica un tipo de datos encapsulados; - un primer indicador de longitud (Le, Lm) sobre la longitud de los datos encapsulados; - los datos encapsulados (Ve,Vm); caracterizado por: b) Grabar, después del elemento codificado en KLV, como un puntero relativo al comienzo del contenedor de datos precedente, un elemento codificado en KLV de retro-puntero que tiene una longitud de retro-puntero y que comprende: - una segunda clave (Kbp) que indica otros datos encapsulados que son de tipo retro-puntero; - un segundo indicador de longitud (Lbp) sobre la longitud de los otros datos encapsulados; - como los otros datos encapsulados (Vbp) un valor de longitud (Ie) del elemento codificado en KLV o un valor de longitud acumulada (It, Im) de la mencionada longitud del elemento codificado en KLV y la longitud de retro-puntero; y - repetir las etapas a) y b).

Description

[0001] La solicitud de patente europea EP 0794667 A2 se refiere a un método de procesamiento de video digital que comprende disponer un paquete de entrada en el que están grabadas posiciones de paquetes previos. [0002] La invención tiene como objetivo a una estructura de datos de fácil acceso a datos encapsulados (sean estos video, audio y/o metadatos) tanto en dirección hacia delante o como hacia atrás. [0003] Con este fin, la invención propone un método para grabar de datos encapsulados que pueden ser recuperados en un orden opuesto al orden de grabación, con sucesivas etapas de:
-grabar un elemento KLV que comprende:
-una primera clave indicando el tipo de datos encapsulados;
-un primer indicador de longitud sobre la longitud de los datos encapsulados y
-los datos encapsulados; comprendiendo además dicho método:
-grabar, inmediatamente después del elemento KLV, como un puntero relativo al comienzo del contenedor de datos precedente, un elemento KLV de retro-puntero que tiene una longitud de retro-puntero y que comprende:
-una segunda clave indicando otros datos encapsulados de tipo de retro-puntero;
-un segundo indicador de longitud sobre la longitud de los otros datos encapsulados;
-como los otros datos encapsulados, un valor de longitud de dicho elemento KLV o la longitud acumulada del valor de longitud de dicho elemento KLV y la longitud del elemento de retro-puntero;
-repetir las etapas de grabación de un elemento KLV y grabación de un elemento KLV de retro-puntero. [0004] Preferiblemente, el método también tiene una o ambas de las etapas siguientes:
-grabación del segundo indicador de longitud;
-grabación de la segunda clave que indica otros datos encapsulados de tipo de retro-puntero. [0005] Este método de grabación permite leer fácilmente hacia atrás, los conjuntos de datos con el siguiente método concurrentemente propuesto por la invención: un método para recuperar un elemento KLV que tiene en un soporte una longitud de elemento KLV en un orden contrario al orden de grabación a partir de un elemento KLV accedido actualmente, que comprende etapas de:
-
acceder a un elemento retro-puntero que tiene una longitud de retro-puntero y que precede al mencionado elemento KLV accedido;
-
acceder a una clave que indica que los datos encapsulados son de tipo retro-puntero;
-lectura, como datos encapsulados, de un valor que puede ser bien la longitud de elemento KLV o la longitud acumulada de la longitud del elemento KLV y la longitud del elemento retro-puntero;
-acceder al mencionado elemento KLV usando dicho valor. [0006] De manera preferida, el método además comprende la lectura de un indicador de longitud sobre la longitud de los datos encapsulados antes de leer los datos encapsulados. [0007] La invención por tanto propone un archivo de datos que comprende bloques consecutivos, comprendiendo sucesivamente cada bloque:
-
un contenedor de datos que tiene una longitud de contenedor;
-una clave que indica el tipo de datos encapsulados;
-
un indicador de longitud sobre la longitud de los datos encapsulados y
-los datos encapsulados;
-
un elemento KLV retro-puntero que tiene una longitud de retro-puntero y que comprende
-una clave de retro-puntero;
-un indicador de longitud;
-como los otros datos encapsulados, un valor que puede ser o la longitud del elemento KLV o la longitud acumulada de dicha longitud del elemento KLV, y la mencionada longitud del retro-puntero; y
-un soporte portador, como un archivo de datos.
La invención además proporciona una estructura de datos que tiene sucesivamente:
-
un elemento KLV con una longitud de elemento KLV (le; lm) dada y comprendiendo:
-una clave que indica el tipo de datos encapsulados;
-
un indicador de longitud sobre la longitud de los datos encapsulados y
-los datos encapsulados; y
-
un elemento KLV retro-puntero con una longitud de retro-puntero que comprende;
-una clave del retro-puntero;
-un indicador de longitud;
-como otros datos encapsulados un valor que es la longitud de elemento KLV o la longitud acumulada de la longitud de elemento KLV y la longitud de retro-puntero.
Preferiblemente, la estructura de datos tiene uno o ambos de los siguientes campos:
-los otros indicadores de longitud;
-la clave de retro-puntero. [0008] Gracias al elemento KLV retro-puntero situado inmediatamente después del elemento KLV e indicativo de su
longitud, el salto desde el final del elemento KLV (por ejemplo, el comienzo del siguiente elemento KLV) al comienzo del elemento KLV es rápido y sencillo, lo cual facilita la lectura hacia atrás del archivo. [0009] La invención también propone codificaciones KLVL y KLVLK. [0010] Otras características de la invención aparecerán a la luz de la siguiente descripción de las realizaciones preferentes de la invención hecha con referencia a las figuras detalladas donde:
-
La figura 1 representa una primera realización de la estructura de datos de acuerdo a la invención;
-
La figura 2 representa una segunda realización de la estructura de datos de acuerdo a la invención;
-
La figura 3 representa un ejemplo de la novedosamente propuesta codificación KLVL;
-
La figura 4 representa un ejemplo de la novedosamente propuesta codificación KLVLK. [0011] La figura 1 muestra una estructura de datos que puede ser usada particularmente para grabar de datos de extracto donde el número de octetos por contenedor puede variar. Por ejemplo, el extracto es un conjunto de tramas de datos de video comprimido con longitud desigual. En esta aplicación particular la estructura de datos de la figura 1, es utilizada por una grabadora de video cuando graba una secuencia de video. Esta estructura de datos es utilizada de una manera similar por un reproductor de video que reproduce la secuencia de video. [0012] Cada trama de la secuencia de video está codificada en KLV; esto es por tanto descrito por un campo clave Ke indicando que esos datos son datos de video, por ejemplo, datos de video codificados en MPEG, un campo longitud Le,
indica la longitud de esos datos de video y un campo valor Ve contiene los datos de video (extracto). [0013] Después de cada trama del conjunto, un elemento KLV retro-puntero es insertado. Este elemento KLV retro-puntero es un puntero relativo al comienzo de las tramas precedentes (esto es, al contenedor de datos precedente). Su función es indicada con su clave Kbp y su valor Vbp indica la longitud de la trama de video precedente (o hablando de una forma más genérica del contenedor de datos precedentes). Por ejemplo, su valor es la longitud Ie del elemento codificado en KLV representando la trama (Vbp=Ie). Como posible variación, la longitud total (acumulada) It del elemento KLV de extracto y el elemento KLV retro-puntero podrían ser utilizados en su lugar. [0014] Habitualmente, el campo longitud Lbp representa la longitud del campo valor Vbp. Una solución práctica es tener una longitud Lbp fija para el elemento retro-puntero, pero una longitud variable también es posible como se explica más adelante. [0015] Cuando se graban 3 tramas F1, F2 y F3, un registrador de video que utiliza la estructura de datos de la figura 1 grabará así la siguiente secuencia: KeL1F1KbpLbpI1KeL2F2KbpLbpI2KeL3F3KbpLbpI3, donde Li es la longitud de los datos codificados Fi e Ii es la longitud del elemento KLV (Ke Li Fi) que contiene los datos codificados Fi. [0016] Estos conjuntos de datos pueden ser fácilmente recuperados por un reproductor de video en direcciones hacia delante y hacia atrás como se explica más adelante. [0017] Cuando el reproductor de video lee los conjuntos en dirección hacia delante (esto es en la misma dirección en la que los conjuntos fueron grabados), la estructura KLV del archivo facilita saltar elementos. Particularmente, los
elementos KLV retro-punteros pueden ser saltados fácilmente usando su campo longitud Lbp. [0018] El reproductor de video puede también leer fácilmente los conjuntos en dirección hacia atrás. Asumiendo que el elemento KLV actualmente accedido es el que representa la trama F3, el acceso al elemento KLV retro-puntero precedente KbpLbpI2 es inmediato cuando la longitud Lbp es fija. Mediante la lectura del valor I2 del elemento KLV retro-puntero, el reproductor de video puede entonces acceder inmediatamente al elemento KLV precedente representativo de la trama F2 saltando I2 octetos hacia atrás. [0019] El reproductor de video puede o leer el contenido del elemento KLV KeL2F2 para decodificar la trama F2 o saltar inmediatamente hacia atrás a la trama F1 con un utilización similar del elemento retro- untero KbpLbpI1. [0020] Gracias a la utilización de los elementos retropunteros, el salto rápido de trama a trama hacia atrás es posible, con la opción cada vez de decodificar o no la trama. Los elementos retro-punteros son por tanto particularmente útiles para permitir un modo rápido hacia atrás que muestre sólo alguna de las imágenes encontradas. [0021] Debe tenerse en cuenta que los elementos retropunteros proporcionan esta ventaja incluso cuando su longitud Lbp no es fija. En este caso, el elemento KLV retro-puntero precedente puede ser accedido a través de búsquedas hacia atrás de la clave Kbp. Esto es, por supuesto, mucho más rápido que buscar hacia atrás la clave extracto precedente Ke cuando el elemento KLV retro-puntero es mucho más corto que el elemento KLV trama (extracto). [0022] Es también posible codificar el retro-puntero con codificación KLVL o codificación KLVLK como se describe más adelante. Como explicábamos, estos tipos de codificación
permiten leer el elemento en dirección hacia delante o hacia atrás. [0023] En el ejemplo antes mencionado, la utilización del elemento retro-puntero ha sido descrito en asociación con los datos de extracto. Por supuesto, tal elemento retro-puntero puede ser usado de modo similar con metadatos o cualquier otro tipo de datos. [0024] La figura 2 muestra un ejemplo de utilización de un elemento retro-puntero asociado con metadatos. [0025] Un conjunto de K metadatos V1,….., Vk son codificados en KLV y combinados como el campo valor Vm del elemento KLV generalmente denominado “elemento KLV conjunto de metadatos”. El elemento conjunto de metadatos tiene un campo clave específico Km y un campo longitud que indica la longitud del campo valor Vm. [0026] Un elemento KLV retro-puntero KbpLbpVbp sigue inmediatamente al elemento KLV conjunto de metadatos KmLmVm. La clave Kbp indica que el presente elemento KLV es un puntero relativo al comienzo del elemento KLV precedente (o contenedor de datos), en este caso el comienzo del conjunto de metadatos. El campo longitud Lbp indica la longitud del campo valor Vbp la cual es igualmente indicativa de la longitud Im del elemento KLV precedente, en este caso el conjunto de metadatos. [0027] Cuando los datos son grabados por un registrador como se representa de izquierda a derecha (dirección hacia delante) en la figura 2, estos pueden ser fácilmente accesibles (y posiblemente leídos) por un reproductor en ambas direcciones hacia delante y hacia atrás como se explica ahora. [0028] En la dirección hacia delante, Km es el primero accedido, informando el reproductor que el conjunto de datos accedido es un conjunto de metadatos. El reproductor puede o
utilizar el siguiente campo longitud Lm para saltar el conjunto de metadatos, o leer el campo valor Vm para realmente acceder a uno o varios metadatos. [0029] Si el conjunto de metadatos se salta, el reproductor encuentra el elemento KLV retro-puntero, identifica éste como
tal
gracias a su clave Kbp y lo salta gracias al campo
longitud Lbp.
[0030]
Por otro lado, si el campo valor Vm es realmente
leído, el reproductor puede acceder fácilmente a los metadatos V1,…, Vk, uno a uno en dirección hacia delante gracias a su estructura KLV. Entonces, el reproductor accede al elemento KLV retro-puntero y salta éste como se describió anteriormente. [0031] En dirección hacia atrás, el reproductor tiene que identificar que datos componen el elemento retro-puntero. Como se describió anteriormente, una solución práctica es decidir de antemano que los elementos retro-punteros tengan una longitud fija. El reproductor puede en este caso llevar esta longitud fija en la dirección hacia atrás y así acceder a la clave Kbp. [0032] Incluso en casos donde la longitud del elemento retropuntero puede variar, el reproductor puede fácilmente acceder a la clave Kbp buscándola hacia atrás. Es por supuesto más rápido, más fácil y mucho más fiable buscar hacia atrás una clave dada (Kbp) que intentar leer el conjunto de metadatos hacia atrás (lo cual consistiría en buscar cualquier posible clave entre una gran cantidad de datos, sabiendo que nuevos metadatos con sus correspondientes nuevas claves pueden ser introducidos). [0033] Como se ha explicado previamente, el retro-puntero puede ser también codificado en KLVL o en KLVLK. [0034] Cuando el elemento retro-puntero es identificado, el campo valor Vbp es leido con el valor Im y el reproductor
consecuentemente salta Lm octetos hacia atrás accediendo por lo tanto inmediatamente al elemento KLV conjunto de metadatos KmLmVm. [0035] El reproductor puede entonces o leer el elemento conjunto de metadatos bien adquiriendo algunos de los metadatos (en dirección hacia delante, como se explicó anteriormente) o ignorar el conjunto de metadatos y continuar la lectura hacia atrás accediendo al nuevo elemento KLV retro-puntero como KbpLbpI3 en la figura 1. [0036] Como una posible alternativa a la figura 2, el elemento retro-puntero KbpLbpVbp podrían ser considerado como parte del conjunto de metadatos kmLmVm. Los principios de funcionamiento continuarían siendo los mismos, tanto en dirección hacia delante como hacia atrás. En este caso, sin embargo, si el campo valor Vbp aún representa la longitud de los elementos de todos los conjuntos de metadatos, el reproductor tiene que deducir por si mismo la longitud del elemento retro-puntero desde el valor Vbp antes de saltar hacia atrás. Otras variaciones son factibles mientras el campo valor Vbp sea indicativo de la longitud en octetos entre el comienzo del contenedor de datos (aquí clave Km) y el elemento retro-puntero (clave Kbp). [0037] El elemento retro-puntero ha sido diseñado en el ejemplo previo para saltar hacia atrás sobre el conjunto total de metadatos pero naturalmente es posible proveer elementos retro-punteros para saltar hacia atrás sobre subconjuntos de metadatos dentro del conjunto de metadatos. [0038] La figura 1 y la figura 2 proponen el uso del elemento retro-puntero para simplificar enormemente la lectura hacia atrás del conjunto de datos, particularmente datos codificados en KLV en un archivo MXF. [0039] Ventajosamente, el encabezamiento de este archivo tiene una bandera (por ejemplo un bit) que indica donde o no
son usados los elementos retro-punteros en el archivo. Otra información, como por ejemplo la utilización de codificaciones KLVL o KLVLK o la longitud fija del elemento retro-puntero (si existe) podría incluirse en el encabezamiento de archivo. El encabezamiento puede adjuntarse al archivo como metadatos. [0040] Lo siguiente es una descripción de codificaciones KLVK y KLVKL que son propuestas por la invención. Aunque éstas son preferiblemente aplicadas sólo a los elementos retro-punteros como se describió en la descripción anterior, se pueden aplicar a cualquier clase de datos. [0041] La figura 3 representa una codificación KLVL de varios elementos metadatos dando un ejemplo de codificación KLVL. Cada elemento representa una información dada (o parámetro) teniendo un valor Vi. Para ser transportado y recuperado, cada conjunto de datos es encapsulado como se describe más adelante. [0042] Una clave Ki (por ejemplo codificada en 16 octetos) es determinada para indicar que clase de información es representada por cada elemento. La longitud (por ejemplo en octetos) de los datos representativos de la información o valor Vi, se determina también como indicador de longitud Li (por ejemplo codificado en 4 octetos). [0043] Al grabar los metadatos, el registrador escribe para cada elemento la siguiente secuencia (en el orden indicado): Ki Li Vi Li. Con el ejemplo de longitud-octeto de antes, la secuencia Ki Li Vi Li es (24 + Li) octetos de longitud. [0044] En el ejemplo representado en la figura 3, las 3 siguientes piezas (elementos) de información de metadatos son consideradas:
-título de la grabación (clave K1) codificado en 256 octetos (L1 significa 256) definido en datos V1;
-técnica de compresión de video (clave K2) codificado en 2 octetos (L2 significa 2) definido en datos V2;
-duración en segundos de la grabación (clave K3) codificada en 4 octetos (L3 significa 4) definido en datos V3. [0045] El registrador de video grabará estos metadatos de acuerdo a la siguiente secuencia: K1 L1 V1 L1 K2 L2 V2 L2 K3 L3 V3 L3 como se ilustra en la figura 3. [0046] Los metadatos son por supuesto escritos incluidos en una estructura mayor como la provista por el formato de intercambio de material, por ejemplo como se describe en la solicitud de patente WO 02/21845. Sin embargo, la codificación KLV se sustituye por codificación KLVL al menos para algunos de los elementos. [0047] Cuando otra máquina lee el archivo, los metadatos pueden ser accedidos. [0048] Si el archivo de video-audio se lee en dirección hacia delante (esto es en la misma dirección en la que fue grabado), la clave K1 es la primera leída, luego se lee la longitud L1, permitiendo determinar la longitud en octetos de los datos V1 y así leer el valor V1. Los 4 octetos (L1) siguientes a V1 son ignorados y puede accederse a K2. Las demás recuperaciones de metadatos pueden hacerse de manera similar. [0049] Si el archivo de video-audio se lee en dirección hacia atrás, la longitud L3 es la primera a la que se accede. Esta da inmediatamente la longitud de octetos a leer como valor V3. Una vez el valor V3 es leído, los siguientes 4 octetos en dirección hacia atrás (también representados como L3) son ignorados y entonces se accede a K3. V3 y K3 son así inmediatamente determinados cuando se lee hacia atrás sin necesidad de una tabla de índice.
[0050] Por supuesto, las demás recuperaciones de metadatos en dirección hacia atrás son llevadas a cabo con la misma simple combinación: L2 es leído, dando de este modo la posibilidad de leer V2; la aparición de L2 entre V2 y K2 es ignorada y se lee K2. Finalmente, L1 es leída, dando de ese modo inmediatamente acceso al valor L1 y saltando los 4 octetos de L1 a la clave K1. [0051] Como se muestra con este ejemplo, la codificación KLVL permite la fácil recuperación de datos encapsulados (v) cuando la secuencia KLVL es leída o en dirección hacia delante o en dirección hacia atrás. [0052] Como una posible variación, cuando se lee por segunda vez el campo indicador de longitud L (o en dirección hacia
delante
o hacia atrás), ésta puede ser comparada con la
primera
lectura del indicador de longitud (en lugar de
simplemente
ignorar la segunda lectura del indicador de
longitud como se describió anteriormente). Esto permite comprobar si el archivo tiene el formato esperado y sin errores, y por lo tanto si el algoritmo propuesto de salto hacia atrás de los datos, está todavía sincronizado con la codificación KLVL del archivo. [0053] De manera equiparable, la codificación KLVLK se obtiene con la grabación de un elemento Vi de acuerdo a la siguiente secuencia: Ki Li Vi Li Ki. [0054] La figura 4 representa la codificación KLVLK de varios elementos metadatos dados, como un ejemplo de codificación KLVLK. Cada elemento representa una información dada (o parámetro) que tiene un valor Vi. Para ser transportado y recuperado, cada conjunto de datos es encapsulado como se describe a continuación. [0055] Una clave Ki (por ejemplo codificada en 16 octetos) se determina para indicar que clase de información es representada por el elemento. La longitud (por ejemplo en
octetos) de datos representativa de la información o el valor Vi también es determinada como indicador de longitud Li (por ejemplo codificado en 4 octetos). [0056] Al grabar los metadatos, el registrador escribe para cada elemento la siguiente secuencia (en el orden indicado): Ki Li Vi Li Ki. Con el ejemplo de longitud en octetos anterior, la secuencia Ki Li Vi Li, es (40 + Li) octetos de largo. [0057] En el ejemplo descrito en la figura 4, las dos siguientes piezas (elementos) de información de metadatos son consideradas:
-título de la grabación (clave K1) codificado en 256 octetos (L1 significa 256) definido en datos V1;
-técnica de compresión de video (clave K2) codificado en 2 octetos (L2 significa 2) definido en datos V2. [0058] El registrador de video grabará estos metadatos de acuerdo a la siguiente secuencia: K1 L1 V1 L1 K1 K2 L2 V2 L2 K2 como se ilustra en la figura 4. [0059] Cuando otra máquina lee el archivo, puede accederse a los metadatos. [0060] Si el archivo de video-audio se lee en la dirección hacia delante (esto es en la misma dirección en la que fue grabado), la clave K1 es la primera leída, luego se lee la longitud L1 permitiendo determinar la longitud en octetos de los datos V1 y así leer el valor V2. Los 20 octetos (L1K1) siguientes a V1 son ignorados y K2 puede ser accesible. Las demás recuperaciones de metadatos pueden hacerse de manera similar. [0061] Si el archivo de video-audio se lee en dirección hacia atrás, la clave K2 es la primera accesible entonces la longitud L2 es leída permitiendo la longitud en octetos de los datos V2 y por tanto leer el valor V2. Los restantes 20 octetos (L2K2) pueden ser ignorados.
[0062] Las demás recuperaciones de metadatos en dirección hacia atrás son llevadas a cabo con la misma combinación. De hecho, como la grabación es simétrica con la codificación KLVLK, la lectura hacia atrás utiliza el mismo algoritmo que
5 la lectura hacia delante y es por tanto tan simple como aquella. [0063] Como una posible variación, cuando se lee por segunda vez los campos indicador de longitud L y de clave K (tanto en dirección hacia delante como hacia atrás), ésta puede ser
10 comparada con los primeros indicadores de longitud y clave leídos (en lugar de simplemente ignorarlos como se describió anteriormente). Esto permite comprobar si el archivo tiene el formato esperado y sin errores, y por tanto si el algoritmo propuesto está todavía sincronizado con la codificación KLVL
15 del archivo. [0064] La invención no está limitada a las realizaciones arriba descritas. Se pueden hacer variaciones a estas realizaciones sin alejarse del ámbito de la invención.
REFERENCIAS CITADAS EN LA DESCRIPCIÓN
La lista de referencias citada por el solicitante lo es solamente para utilidad del lector, no formando parte de los documentos de patente europeos. Aún cuando las referencias han sido cuidadosamente recopiladas, no pueden excluirse errores u omisiones y la OEP rechaza toda responsabilidad a este respecto.
Documentos de patente citados en la descripción
• EP 0794667 A2 [0001] • WO 0221845 A [0046]

Claims (9)

  1. REIVINDICACIONES
    1. Método para grabar datos encapsulados (Ve,Vm) que pueden ser recuperados en orden opuesto al de grabación, incluyendo dicho método las etapas sucesivas de:
    a) grabar, como contenedor de datos, un elemento codificado en KLV que comprende
    -una primera clave (Ke, Km) que indica un tipo de datos encapsulados;
    -un primer indicador de longitud (Le, Lm) sobre la longitud de los datos encapsulados;
    -los datos encapsulados (Ve,Vm);
    caracterizado por:
    b) Grabar, después del elemento codificado en KLV, como un puntero relativo al comienzo del contenedor de datos precedente, un elemento codificado en KLV de retro-puntero que tiene una longitud de retro-puntero y que comprende:
    -una segunda clave (Kbp) que indica otros datos encapsulados que son de tipo retro-puntero;
    -un segundo indicador de longitud (Lbp) sobre la longitud de los otros datos encapsulados;
    -como los otros datos encapsulados (Vbp) un valor de longitud (Ie) del elemento codificado en KLV o un valor de longitud acumulada (It, Im) de la mencionada longitud del elemento codificado en KLV y la longitud de retro-puntero; y
    -repetir las etapas a) y b).
  2. 2.
    Método de acuerdo a la reivindicación 1, donde después del elemento codificado en KLV de retro-puntero, se graba de nuevo el segundo indicador de longitud.
  3. 3.
    Método de acuerdo a la reivindicación 2, donde después del segundo indicador de longitud, se graba de nuevo la segunda clave.
  4. 4.
    Método para recuperar un elemento codificado en KLV (Ke,Le,Ve; Km,Lm,Vm) que ha sido grabado de acuerdo a la reivindicación 1, presentando en un soporte, una longitud de elemento KLV en orden opuesto al orden de grabación a partir de un elemento KLV actualmente accedido, incluyendo dicho método las etapas de:
    -acceder a la segunda clave (kbp) indicando que los datos encapsulados son de tipo retro-puntero y donde los datos encapsulados tienen una longitud fija;
    -lectura de los otros datos encapsulados (Vbp) que indican la longitud acumulada (It) del mencionado elemento KLV y de la mencionada longitud de retro-puntero;
    -acceder al elemento KLV saltando un cierto número de octetos más hacia atrás, donde el número de octetos es igual al mencionado valor de longitud acumulada (4).
  5. 5. Método para recuperar un elemento codificado en KLV (Ke,Le,Ve; Km,Lm,Vm) que ha sido grabado de acuerdo a la reivindicación 1, presentando en un soporte una longitud de elemento KLV, en orden opuesto al orden de grabación a partir de un elemento KLV actualmente accedido, incluyendo dicho método etapas de:
    -acceder a la segunda clave (kbp) indicando que los datos encapsulados son de tipo retro-puntero y donde los datos encapsulados tienen una longitud no fija;
    -
    lectura de un segundo indicador de longitud (Lbp) sobre la longitud de los datos encapsulados antes de leer el valor (Vbp);
    -
    lectura de los otros datos encapsulados (Vbp) que indican la longitud acumulada (It) del mencionado elemento KLV y de la mencionada longitud de retro-puntero;
    -acceder al elemento KLV saltando un cierto número de octetos más hacia atrás, donde el número de octetos es igual al mencionado valor de longitud acumulada (4).
  6. 6. Archivo de datos comprende bloques sucesivos, comprendiendo sucesivamente cada bloque:
    -un elemento codificado en KLV, como contenedor de datos, que comprende:
    -una primera clave (Ke, Km) que indica un tipo de datos encapsulados;
    -un primer indicador de longitud (Le, Lm) sobre la longitud de los datos encapsulados;
    -los datos encapsulados (Ve,Vm);
    caracterizado por:
    -después del elemento codificado en KLV, como puntero relativo al comienzo del contenedor de datos precedente, un elemento codificado en KLV de retro-puntero que tiene una longitud de retro-puntero y que comprende:
    -una segunda clave (Kbp) que indica otros datos encapsulados son de tipo retro-puntero;
    -un segundo indicador de longitud (Lbp) sobre la longitud de los otros datos encapsulados;
    -como los otros datos encapsulados (Vbp), un valor de longitud (Ie) del elemento codificado en KLV o un valor de longitud acumulada (It, Im) de la mencionada longitud del elemento codificado en KLV y de la longitud del retropuntero;
  7. 7.
    Archivo de datos de acuerdo a la reivindicación 6, donde al mencionado elemento codificado en KLV de retropuntero se adjunta el segundo indicador de longitud para representar un formato codificado en KLVL.
  8. 8.
    Archivo de datos de acuerdo a la reivindicación 6, donde al mencionado elemento codificado en KLV de retropuntero KLV, se adjuntan el segundo indicador de longitud y la segunda clave para representar un formato codificado en KLVLK.
  9. 9.
    Soporte que contiene un archivo de datos de acuerdo a una de las reivindicaciones de 6 a 8.
ES03796040T 2002-12-06 2003-11-21 Método para grabación de datos, método para recuperar conjuntos de datos, archivo de datos, estructura de datos y soporte de grabación. Expired - Lifetime ES2353007T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02293016 2002-12-06
EP02293016A EP1427213A1 (en) 2002-12-06 2002-12-06 Method for recording data , method for retrieving sets of data, data file, data structure and recording medium

Publications (1)

Publication Number Publication Date
ES2353007T3 true ES2353007T3 (es) 2011-02-24

Family

ID=32309496

Family Applications (1)

Application Number Title Priority Date Filing Date
ES03796040T Expired - Lifetime ES2353007T3 (es) 2002-12-06 2003-11-21 Método para grabación de datos, método para recuperar conjuntos de datos, archivo de datos, estructura de datos y soporte de grabación.

Country Status (9)

Country Link
US (1) US8526776B2 (es)
EP (2) EP1427213A1 (es)
JP (2) JP4565499B2 (es)
AT (1) ATE481821T1 (es)
AU (1) AU2003298308A1 (es)
CA (1) CA2505741C (es)
DE (1) DE60334242D1 (es)
ES (1) ES2353007T3 (es)
WO (1) WO2004054267A2 (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3891295B2 (ja) * 2003-07-09 2007-03-14 ソニー株式会社 情報処理装置および方法、プログラム記録媒体、並びにプログラム
EP1680784A1 (en) * 2003-10-24 2006-07-19 Koninklijke Philips Electronics N.V. Forward and backward reproduction of a signal from stream data
TWI312962B (en) * 2006-08-11 2009-08-01 Quanta Comp Inc Method and apparatus for estimating audio length of audio file
KR20080057972A (ko) * 2006-12-21 2008-06-25 삼성전자주식회사 프리뷰 기능을 갖는 멀티미디어 데이터 인코딩/디코딩 방법및 장치
US10037148B2 (en) * 2016-01-05 2018-07-31 Microsoft Technology Licensing, Llc Facilitating reverse reading of sequentially stored, variable-length data
US10191693B2 (en) 2016-10-14 2019-01-29 Microsoft Technology Licensing, Llc Performing updates on variable-length data sequentially stored and indexed to facilitate reverse reading

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4210961B1 (en) * 1971-10-08 1996-10-01 Syncsort Inc Sorting system
US4633391A (en) * 1983-10-21 1986-12-30 Storage Technology Partners Ii Extended index for digital information storage and retrieval device
EP0622002B1 (en) * 1992-09-22 1998-08-26 Sony Corporation Digital video signal processing apparatus and method
FR2754956B1 (fr) 1996-10-18 1998-11-20 Leroy Somer Moteurs Dispositif de regulation d'un alternateur synchrone sans balais
FR2777834B1 (fr) 1998-04-28 2000-06-23 Valeo Actionneur electromecanique pour boite de vitesse
EP1148728A1 (en) * 2000-04-05 2001-10-24 THOMSON multimedia Trick play signal generation for a digital video recorder
US6792433B2 (en) * 2000-04-07 2004-09-14 Avid Technology, Inc. Indexing interleaved media data
JP4273636B2 (ja) * 2000-06-30 2009-06-03 ソニー株式会社 情報記録装置及び方法、情報記録システム
GB2366926A (en) * 2000-09-06 2002-03-20 Sony Uk Ltd Combining material and data
US7149750B2 (en) * 2001-12-19 2006-12-12 International Business Machines Corporation Method, system and program product for extracting essence from a multimedia file received in a first format, creating a metadata file in a second file format and using a unique identifier assigned to the essence to access the essence and metadata file

Also Published As

Publication number Publication date
US20060153524A1 (en) 2006-07-13
EP1568231B1 (en) 2010-09-15
EP1427213A1 (en) 2004-06-09
EP1568231A2 (en) 2005-08-31
DE60334242D1 (de) 2010-10-28
WO2004054267A2 (en) 2004-06-24
JP2010283837A (ja) 2010-12-16
JP4565499B2 (ja) 2010-10-20
JP2006509433A (ja) 2006-03-16
AU2003298308A1 (en) 2004-06-30
US8526776B2 (en) 2013-09-03
WO2004054267A3 (en) 2005-02-17
ATE481821T1 (de) 2010-10-15
CA2505741A1 (en) 2004-06-24
CA2505741C (en) 2013-01-08
JP5164183B2 (ja) 2013-03-13
AU2003298308A8 (en) 2004-06-30

Similar Documents

Publication Publication Date Title
US9338390B2 (en) Method and apparatus for synchronizing data streams containing audio, video and/or other data
ES2895384T3 (es) Encabezado de fragmentos que incorpora indicadores binarios y campos de longitud variable correlacionados
CN100556110C (zh) 使用信息文件的快进特技模式和倒退特技模式
CN101673574B (zh) 记录介质,再现设备,程序
CN1965577B (zh) 数据记录设备、方法和数据再现设备、方法
ES2364755T3 (es) Aparato de generación de trenes de información , procedimiento de generación de trenes de información, aparato de codificación, procedimiento de codificación, medio de grabación y programa para los mismos.
CN101842840B (zh) 记录媒体、再现装置、记录装置、再现方法及记录方法
EP2574049B1 (en) Recording medium, reproducing apparatus, and reproducing method
CN1781149B (zh) 具有用于管理文本字幕数据重现的数据结构的记录媒体以及记录和重现的方法和装置
ES2290706T3 (es) Metodo para codificar la longitud de gama de repeticiones de un tren de datos de mapa de bits.
AR015089A1 (es) Metodo para grabar y reproducir uno o mas programas de video y/o audio digital
CN100531347C (zh) 在记录介质上记录静止图像的方法
RU2006137708A (ru) Носитель записи, способ и устройство для воспроизведения потоков текстовых субтитров
US9838757B2 (en) Method to transmit video data in a data stream and associated metadata
CN106231348A (zh) 一种gop数据的回放方法、装置和系统
ES2353007T3 (es) Método para grabación de datos, método para recuperar conjuntos de datos, archivo de datos, estructura de datos y soporte de grabación.
EP1039750A3 (en) Video storage and retrieval apparatus
US9436551B2 (en) Method for codec-based recovery of a video using a cluster search
KR20050012328A (ko) 고밀도 광디스크의 프레젠테이션 그래픽 데이터 관리 및재생방법과 그에 따른 고밀도 광디스크
EP1058265A1 (en) Method and apparatus for reverse playback of a digital data stream
JP5306415B2 (ja) ビデオサーバ、mxfファイル再生方法
RU2006116579A (ru) Способ формирования потока данных с возможностью произвольного доступа и соответствующий способ его декодирования
JP2005192008A5 (es)
WO2011089276A1 (es) Método y sistema de análisis de archivos multimedia
TH73315A (th) การเก็บข้อมูลแบบบีบอัด