ES2309183T3 - Sistema para acceso aleatorio a contenido. - Google Patents

Sistema para acceso aleatorio a contenido. Download PDF

Info

Publication number
ES2309183T3
ES2309183T3 ES02745762T ES02745762T ES2309183T3 ES 2309183 T3 ES2309183 T3 ES 2309183T3 ES 02745762 T ES02745762 T ES 02745762T ES 02745762 T ES02745762 T ES 02745762T ES 2309183 T3 ES2309183 T3 ES 2309183T3
Authority
ES
Spain
Prior art keywords
flow
time
point
access point
presentation
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
ES02745762T
Other languages
English (en)
Inventor
Ezra Darshan
Colin John Davies
Ian Bastable
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.)
Synamedia Ltd
Original Assignee
NDS Ltd
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 NDS Ltd filed Critical NDS Ltd
Application granted granted Critical
Publication of ES2309183T3 publication Critical patent/ES2309183T3/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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/11Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • 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/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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • 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/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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • 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
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • 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
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/60Solid state media
    • G11B2220/65Solid state media wherein solid state memory is used for storing indexing information or metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Nitrogen And Oxygen Or Sulfur-Condensed Heterocyclic Ring Systems (AREA)
  • Liquid Crystal Substances (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Hardware Redundancy (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

Un procedimiento para acceder a un punto de acceso deseado en datos sincronizados en el tiempo dentro de un flujo, estando asociado el flujo con información de tiempo, comprendiendo el procedimiento: proporcionar un tiempo de presentación deseado expresado como un sello de tiempo de presentación asociado con un punto deseado dentro de un flujo de datos sincronizados en el tiempo; encontrar un punto de acceso a flujo, que incluye: encontrar un límite inferior expresado como una referencia de reloj de programa después del cual es probable que se encuentre el punto deseado basándose, al menos en parte, en el tiempo de presentación deseado; y asignar el punto de acceso a flujo para que sea un primer punto en o después del límite inferior en el que está disponible la descodificación del flujo; examinar información de tiempo asociada con el flujo, comenzando en el punto de acceso a flujo; y continuar examinando la información de tiempo asociada con el flujo, en al menos un punto de acceso a flujo adicional, hasta que se encuentra un punto de acceso deseado, que comprende un último punto de acceso en el que la información de tiempo asociada corresponde a un tiempo menor que o igual al tiempo de presentación deseado.

Description

Sistema para acceso aleatorio a contenido.
Campo de la invención
La presente invención se refiere a aparatos y procedimientos para proporcionar acceso aleatorio a contenido en un flujo de datos sincronizados en el tiempo, en particular, aunque no exclusivamente, a un flujo de datos sincronizados en el tiempo almacenado.
Antecedentes de la invención
Los sistemas para codificación, transporte, descodificación, y procesamiento relacionado de flujos de datos son ampliamente conocidos en la técnica. Un ejemplo particular de un sistema de este tipo es el sistema MPEG-2 ampliamente conocido; aspectos destacados del sistema MPEG-2 se describen en los siguientes documentos:
Norma internacional ISO/IEC 13818-1: MPEG-2 Parte 1 (Sistemas); y
Norma internacional ISO/IEC 13818-6: MPEG-2 Parte 6 (DSM-CC), secciones 8 y 9.
El término "codificado" se utiliza a lo largo de la presente memoria descriptiva y reivindicaciones, en todas sus formas gramaticales, para referirse a cualquier tipo de codificación de flujo de datos incluyendo, por ejemplo y sin limitar el alcance de la definición, tipos ampliamente conocidos de codificación tales como codificación MPEG-2. Se aprecia que un flujo de datos codificado es generalmente más difícil de leer, en el sentido de que requieren más procesamien-
to y normalmente más tiempo para leer un flujo de datos codificado que un flujo de datos que no está codificado.
Los términos "aleatorizado" y "encriptado", en todas sus formas gramaticales, se utilizan de manera intercambiable a lo largo de la presente memoria descriptiva y reivindicaciones para referirse a cualquier procedimiento de aleatorización y/o encriptación apropiado para aleatorizar y/o encriptar un flujo de datos, y/ o a cualquier otro procedimiento apropiado para hacer un flujo de datos ininteligible excepto para un destinatario previsto del mismo.
En la técnica se conocen sistemas para ayudar a proporcionar acceso aleatorio a contenido en un flujo de datos, en particular en un flujo de datos almacenado. Como apreciarán los expertos en la técnica, tales sistemas son de uso particular con flujos de datos codificados y/o encriptados.
La solicitud de patente PCT publicada WO 99/62251 de Koninklijke Philips Electronics NV describe un sistema en el que se almacena un flujo de datos y, en el momento del almacenamiento, se forma un índice para el flujo de datos.
La solicitud de patente PCT publicada WO 01/35669 de NDS Limited y las solicitudes nacionales correspondientes, incluyendo la solicitud de patente estadounidense 09/574.096 de Darshan et al, describe un procedimiento para procesar un flujo de datos en el que se forma y almacena un índice de puntos de acceso candidatos al flujo de datos, normalmente cuando el flujo de datos se recibe y almacena. Como se expone en el documento WO 01/35669, para el caso del sistema MPEG-2, los inventores "determinaron que el tiempo de presentación de un bit y el tiempo de llegada de un bit generalmente difieren en no más de un corto tiempo tal como, por ejemplo, aproximadamente 0,5 segundos". Los expertos en la técnica apreciarán que la característica de los sistemas MPEG-2 determinada por los inventores del documento WO 01/35669 sería de utilidad para encontrar un bit que tenga un tiempo de presentación deseado con tal de que el tiempo de presentación de un bit previo, tal como el primer bit en un flujo que comprende los bits, y los tiempos de llegada de bits pertinentes sean conocidos.
Un sistema de televisión avanzado que incluye almacenamiento se describe en la solicitud de patente PCT publicada WO 00/01149 de NDS Limited y la solicitud de patente estadounidense correspondiente 09/515.118 de Wachtfogel et al.
La presente solicitud reivindica la prioridad de la solicitud de patente británica 0117926.6, presentada el 23 de julio de 2001, y la correspondiente solicitud de patente provisional estadounidense 60/308.076, presentada el 26 de julio de 2001.
Sumario de la invención
La presente invención busca proporcionar aparatos y procedimientos mejorados para proporcionar acceso aleatorio a contenido en un flujo de datos sincronizados en el tiempo, en particular un flujo de datos sincronizados en el tiempo almacenado.
Parar proporcionar acceso aleatorio a contenido en un flujo de datos sincronizados en el tiempo, sería deseable poder encontrar un punto en el flujo asociado con un tiempo de presentación dado. El término "tiempo de presentación" se utiliza a lo largo de la presente memoria descriptiva y reivindicaciones para referirse a un tiempo en el que se supone que se presentan un bit o bits particulares en un flujo de datos a un usuario.
Los sistemas MPEG-2, que son ampliamente conocidos en la técnica, se utilizan a lo largo de la presente memoria descriptiva sólo a modo de ejemplo y sin limitar la generalidad de la presente invención.
El tiempo de presentación, en el contexto de MPEG-2, corresponde a sello de tiempo de presentación (PTS), lo que es ampliamente conocido en la técnica y que se describe en la norma internacional ISO/IEC 13818, a la que se hizo referencia anteriormente. En el contexto de MPEG-2, el reloj de tiempo de sistema (STC) es un reloj de bajo nivel utilizado para la sincronización. Como se conoce ampliamente en la técnica, PTS representa un tiempo de presentación con respecto al reloj representado por STC. STC y PTS son tiempos "no relativos" en el sentido de que no se refieren a un desfase desde el comienzo de, por ejemplo, un vídeo particular.
En el contexto de un vídeo particular u otro elemento de contenido, por ejemplo, el concepto de tiempo de reproducción normal (NPT), según se define en la norma DSM-CC, ISO/IEC 13818 parte 6, a la que se hizo referencia anteriormente, en particular las secciones 8 y 9, corresponde al tiempo de presentación. NPT es el tiempo de reproducción desde el comienzo de un vídeo particular u otro elemento de contenido.
Aunque se utilizan ejemplos relacionados con contenido de vídeo y/o audio a lo largo de la presente memoria descriptiva, los expertos en la técnica apreciarán que la presente invención se aplica a cualquier contenido apropiado, no limitado a contenido de vídeo y/o audio. Sin limitar la generalidad de lo anterior, la presente invención puede utilizarse, por ejemplo, con contenido de televisión interactiva.
En realizaciones preferentes de la presente invención, una solicitud de usuario, expresada interna para el sistema en términos de NPT, se mapea con un PTS correspondiente y se encuentra un punto en un flujo de datos, tal como un flujo de vídeo, correspondiente al PTS. Normalmente, se encuentra una trama particular o un punto de acceso conveniente que está cerca de una trama particular; preferentemente, la utilización del flujo de datos comienza en el punto de acceso. Puede utilizarse preferentemente un índice tal como el producido por el sistema descrito en la solicitud de patente PCT WO01/35669, a la que se hizo referencia anteriormente, para facilitar el acceso a un punto de acceso conveniente.
El término "utilización", como se utiliza a lo largo de la presente memoria descriptiva y reivindicaciones, incluye cualquier tipo apropiado de utilización tal como, por ejemplo, uno cualquiera o una combinación apropiada de lo siguiente: descodificación; visualización; hacer sensible a al menos un sentido humano; utilización para empalme; utilización para almacenamiento; y cualquier otro tipo apropiado de utilización.
Aunque el sistema descrito en la solicitud de patente PCT WO 01/35669, a la que se hizo referencia anteriormente, proporciona aparatos y procedimientos útiles que pueden ser prácticos para conseguir acceso aleatorio a un flujo de datos sincronizados en el tiempo, el sistema de WO01/35669 proporciona en general la capacidad de determinar un tiempo de presentación relativo de un bit en términos de otro bit, en lugar de un tiempo de presentación no relativo.
La presente invención, en realizaciones preferentes de la misma, busca mejorar la técnica anterior, y en particular el sistema del documento WO 01/35669, proporcionando acceso basado en un tiempo de presentación no relativo. Para hacer esto, la presente invención, en realizaciones preferentes de la misma, hace uso preferentemente, entre otros, de información de sincronismo de sistema adicional cuya disponibilidad no se describe o se hace uso de ella en el sistema del documento WO01/35669.
La invención proporciona un procedimiento para acceder a un punto de acceso deseado en datos sincronizados en el tiempo dentro de un flujo, estando asociado el flujo con información de tiempo, comprendiendo el procedimiento: proporcionar un tiempo de presentación deseado expresado como un sello de tiempo de presentación asociado con un punto deseado dentro de un flujo de datos sincronizados en el tiempo; encontrar un punto de acceso a flujo, que incluye: encontrar un límite inferior expresado como una referencia de reloj de programa después del cual es probable que se encuentre el punto deseado basándose, al menos en parte, en el tiempo de presentación deseado; y asignar el punto de acceso a flujo para que sea un primer punto en o después del límite inferior en el que está disponible la descodificación del flujo; examinar información de tiempo asociada con el flujo, comenzando en el punto de acceso a flujo; y continuar examinando la información de tiempo asociada con el flujo, en al menos un punto de acceso a flujo adicional, hasta que se encuentra un punto de acceso deseado, que comprende un último punto de acceso en el que la información de tiempo asociada corresponde a un tiempo menor que o igual al tiempo de presentación deseado.
Además según una realización preferente de la presente invención el flujo de datos sincronizados en el tiempo incluye un flujo de datos sincronizados en el tiempo almacenado.
Todavía además según una realización preferente de la presente invención el procedimiento también incluye, después de la descodificación, continuar descodificando el flujo hasta un tiempo en el que la información de tiempo de presentación asociada con el flujo corresponde a un tiempo de presentación mayor que o igual al tiempo de presentación deseado, en el que el tiempo asociado con el punto de acceso a flujo incluye el tiempo en el que la información de tiempo de presentación asociada con el flujo corresponde a un tiempo de presentación mayor que o igual al tiempo de presentación deseado.
Adicionalmente según una realización preferente de la presente invención el punto deseado incluye una trama deseada.
Además según una realización preferente de la presente invención el procedimiento incluye también utilizar el flujo que comienza en el tiempo de utilización.
Además según una realización preferente de la presente invención la utilización incluye hacer el flujo sensible a al menos un sentido humano.
Todavía además según una realización preferente de la presente invención la utilización incluye visualizar el flujo.
Adicionalmente según una realización preferente de la presente invención la utilización incluye utilizar el flujo de otra manera que haciendo el flujo sensible a al menos un sentido humano.
Además según una realización preferente de la presente invención la utilización incluye realizar un proceso de empalme.
Además según una realización preferente de la presente invención la utilización incluye realizar un proceso de almacenamiento.
Todavía además según una realización preferente de la presente invención la determinación de un punto de acceso a flujo incluye determinar un límite inferior después del cual es probable que se encuentre el punto deseado, y asignar el punto de acceso a flujo para que sea un primer punto en o después del límite inferior en el que está disponible la descodificación del flujo.
Adicionalmente según una realización preferente de la presente invención la determinación de un punto de acceso a flujo incluye determinar un límite inferior después del cual es probable que se encuentre el punto deseado, y asignar el punto de acceso a flujo para que sea el punto más cercano al límite inferior en el que está disponible la descodificación del flujo.
Además según una realización preferente de la presente invención el punto en el que está disponible la descodificación del flujo incluye un punto en el que está disponible la descodificación eficaz del flujo.
Además según una realización preferente de la presente invención el punto en el que está disponible la descodificación eficaz del flujo incluye una trama clave.
Todavía además según una realización preferente de la presente invención el flujo incluye un flujo MPEG-2 y la trama clave incluye una trama-1.
Adicionalmente según una realización preferente de la presente invención el límite inferior se determina, al menos en parte, según un tiempo de presentación de una trama deseada.
Además según una realización preferente de la presente invención el flujo incluye un flujo MPEG-2 y el límite inferior está dentro de 1 segundo más la duración GOP del valor PTS MPEG-2 de la trama deseada.
Además según una realización preferente de la presente invención el límite inferior está entre aproximadamente 0,7 segundos y aproximadamente 1,2 segundos antes del tiempo de presentación deseado.
Adicionalmente según una realización preferente de la presente invención el tiempo de presentación deseado incluye una indicación de tiempo de reproducción normal.
Además según una realización preferente de la presente invención la determinación de un punto de acceso a flujo incluye mapear la indicación de tiempo de reproducción normal con un sello de tiempo de presentación correspondiente.
Además según una realización preferente de la presente invención el tiempo de utilización incluye un sello de tiempo de presentación.
Todavía además según una realización preferente de la presente invención el flujo incluye un flujo MPEG-2 y el sello de tiempo de presentación incluye PTS MPEG-2.
Adicionalmente según una realización preferente de la presente invención la determinación de un punto de acceso a flujo incluye utilizar un índice de punto de acceso.
Además según una realización preferente de la presente invención el índice de punto de acceso incluye un índice heurístico.
Además según una realización preferente de la presente invención el índice de punto de acceso incluye un índice RASP.
Todavía además según una realización preferente de la presente invención el flujo incluye un flujo MPEG-2.
Adicionalmente según una realización preferente de la presente invención el flujo incluye un flujo encriptado, y el procedimiento incluye también el flujo encriptado.
Además según una realización preferente de la presente invención los datos sincronizados en el tiempo incluyen datos de audio y/o vídeo.
Además según una realización preferente de la presente invención los datos sincronizados en el tiempo incluyen datos de televisión interactiva.
La invención proporciona además un elemento de acceso a flujo de datos para acceder a un punto de acceso deseado en datos sincronizados en el tiempo dentro de un flujo, estando asociado el flujo con información de tiempo, comprendiendo el elemento de acceso a flujo de datos: un buscador de punto de acceso a flujo que recibe un tiempo de presentación deseado expresado como un sello de tiempo de presentación asociado con un punto deseado dentro de un flujo de datos sincronizados en el tiempo y que encuentra un punto de acceso a flujo mediante al menos: encontrar un límite inferior expresado como una referencia de reloj de programa después del cual es probable que se encuentre el punto deseado basándose, al menos en parte, en el tiempo de presentación deseado; y asignar el punto de acceso a flujo para que sea un primer punto en o después del límite inferior en el que está disponible la descodificación del flujo; y un examinador de tiempo operativo para examinar información de tiempo asociada con el flujo, comenzando en el punto de acceso a flujo; y continuar examinando la información de tiempo asociada con el flujo, en al menos un punto de acceso a flujo adicional, hasta que se encuentra un punto de acceso deseado, que comprende un último punto de acceso en el que la información de tiempo asociada corresponde a un tiempo menor que o igual al tiempo de presentación deseado.
\vskip1.000000\baselineskip
Breve descripción de los dibujos
La presente invención se entenderá y se apreciará más completamente a partir de la siguiente descripción detallada, tomada conjuntamente con los dibujos, en los que:
la figura 1 es una ilustración de diagrama de bloques parcialmente, pictórica parcialmente simplificada de un sistema para proporcionar acceso aleatorio a contenido en un flujo de datos sincronizados en el tiempo, construyéndose y estando operativo el sistema según una realización preferente de la presente invención;
las figuras 2A y 2B, tomadas juntas, comprenden una ilustración de diagrama de bloques simplificado de una implementación preferente de una parte del sistema de la figura 1;
la figura 3 es una ilustración de diagrama de flujo simplificado de un procedimiento de funcionamiento preferente del aparato de la figura 2;
la figura 4 es una ilustración de diagrama de flujo simplificado de una implementación preferente de una parte del procedimiento de la figura 3;
la figura 5 es una ilustración de diagrama de flujo simplificado de un procedimiento de funcionamiento preferente alternativo del aparato de la figura 2;
la figura 6 es una ilustración de diagrama de bloques simplificado de una implementación preferente de una parte del sistema de la figura 1; y
la figura 7 es una ilustración gráfica de un ejemplo de mapeo de tiempo, útil para entender el aparato de la figura 6.
\vskip1.000000\baselineskip
Descripción detallada de una realización preferente
A continuación se hace referencia a la figura 1, que es una ilustración de diagrama de bloques parcialmente, pictórica parcialmente simplificada de un sistema para proporcionar acceso aleatorio a contenido en un flujo de datos sincronizados en el tiempo, construyéndose y estando operativo el sistema según una realización preferente de la presente invención.
El sistema de la figura 1 comprende preferentemente una fuente de contenido tal como, por ejemplo, una cabecera 110. La cabecera 110 distribuye preferentemente un flujo de datos sincronizados en el tiempo, tal como un flujo 120 de contenido. El ejemplo del flujo 120 de contenido no pretende ser limitante; puede utilizarse como alternativa cualquier flujo de datos sincronizados en el tiempo apropiado. Generalmente, el término "flujo de datos sincronizados en el tiempo" se utiliza, en todas su formas gramaticales, a lo largo de la presente memoria descriptiva y reivindicaciones, para referirse a un flujo de datos en el que los datos en el flujo están sincronizados o asociados de otro modo con puntos particulares en el tiempo. Como es ampliamente conocido en la técnica y como se describe con más detalle posteriormente, el flujo 120 de contenido puede incluir tanto contenido como metadatos (no mostrados), comprendiendo los metadatos datos que describen el contenido.
La cabecera 110 puede distribuir el flujo 120 de contenido a través de cualquier procedimiento de distribución apropiado. Procedimientos de distribución apropiados pueden incluir, por ejemplo, uno cualquiera o una combinación de lo siguiente: emisión, que incluye emisión por satélite, emisión digital terrestre, o cualquier otro tipo apropiado de emisión; distribución a través de cable; distribución a través de un sistema telefónico, tal como una red telefónica pública conmutada (PSTN) o una red telefónica privada; distribución a través de una red informática, tal como una red de área local, una red de área amplia, o una red de interconexión tal como Internet; o cualquier otro procedimiento de distribución apropiado, como se conoce ampliamente en la técnica.
El flujo 120 de contenido se recibe mediante uno o más dispositivos de recepción, que comprenden normalmente pero no necesariamente una multiplicidad de dispositivos de recepción. Cada dispositivo de recepción puede comprender, por ejemplo: un ordenador programado adecuadamente, tal como un ordenador personal programado adecuadamente equipado con hardware adecuado para recibir el flujo 120 de contenido cuando se distribuye utilizando cualquier procedimiento de distribución se usa por la cabecera 110; un módulo de conexión (set top box) equipado adecuadamente asociado normalmente con una televisión utilizada como un dispositivo de visualización; o cualquier otro dispositivo de recepción apropiado. Para mayor simplicidad de la descripción y sin limitar la generalidad de lo anterior, se muestran un único módulo 130 de conexión y televisión 140 asociada en la figura 1 a modo de ejemplo.
La cabecera 110 también distribuye preferentemente información adicional, mostrada en la figura 1 como mapeo 125 de tiempo, que puede ser útil, como se describe con más detalle posteriormente, al proporcionar acceso aleatorio a contenido específico dentro del flujo 120 de contenido.
El módulo 130 de conexión comprende preferentemente, además de componentes de módulo de conexión estándar como se conoce ampliamente en la técnica, una unidad 150 de acceso aleatorio. La unidad 150 de acceso aleatorio está operativa preferentemente, como se describe con más detalle posteriormente, en particular con referencia a las figuras 2A y 2B, para controlar el acceso aleatorio al flujo 120 de contenido.
Expertos en la técnica apreciarán que la unidad 150 de acceso aleatorio puede, como alternativa, situarse externa al módulo 130 de conexión y estar asociada de manera operativa apropiadamente con la misma, aunque se cree que es preferente para la unidad 150 de acceso aleatorio estar comprendida en el módulo 130 de conexión como se muestra.
Preferentemente, el sistema de la figura 1 comprende también medios o aparatos apropiados para permitir a un usuario controlar el funcionamiento del módulo 130 de conexión y la televisión 140 tal como, por ejemplo, una unidad 160 de control remoto, como se conoce ampliamente en la técnica.
Se aprecia que diversas subcombinaciones del sistema de la figura 1 también pueden comprender una realización preferente de la presente invención. En particular, cada uno de lo siguiente son ejemplos no limitantes de tales subcombinaciones:
1. el módulo 130 de conexión, la televisión 140, y la unidad 160 de control remoto;
2. el módulo 130 de conexión y la televisión 140;
3. el módulo 130 de conexión; y
4. la unidad 150 de acceso aleatorio.
\vskip1.000000\baselineskip
El funcionamiento del sistema de la figura 1 se describe brevemente a continuación.
La cabecera 110 transmite el flujo 120 de contenido; el flujo 120 de contenido se recibe por el módulo 130 de conexión y se almacena normalmente en el mismo en una memoria adecuada u otro almacenamiento (no mostrado en la figura 1), como se conoce ampliamente en la técnica. Un ejemplo no limitante particular de un sistema de televisión adecuado que incluye almacenamiento se describe en la solicitud de patente PCT publicada WO 00/01149 de NDS Limited y la solicitud de patente estadounidense correspondiente 09/515.118 de Wachtfogel et al.
Se aprecia que el flujo 120 de contenido puede incluir, como se conoce ampliamente en la técnica, al menos: contenido previsto para la visualización u otra presentación para hacer el contenido sensible a uno o más sentidos humanos; y datos que describen el contenido, conociéndose en la técnica dichos datos como "metadatos". Los metadatos pueden incluir, en particular y como se describe con más detalle en la solicitud de patente PCT publicada WO 00/01149 de NDS Limited y la solicitud de patente estadounidense correspondiente 09/515.118 de Wachtfogel et al, a la que se hizo referencia anteriormente, las denominadas "etiquetas" que indican ciertas partes de contenido que se considera que son "interesantes". Por ejemplo y sin limitar la generalidad de lo anterior, un flujo de contenido podría incluir un programa de noticias. Podrían proporcionarse etiquetas dispuestas jerárquicamente para indicar el tiempo de presentación de inicio, desde el comienzo del programa de noticias, de:
1) (etiqueta 1) Noticias nacionales, y dentro de noticias nacionales:
a)
(etiqueta 2) una primera historia de noticias nacionales;
b)
(etiqueta 3) una segunda historia de noticias nacionales, y dentro de la segunda historia de noticias nacionales:
i) (etiqueta 4) un primer vídeoclip; y
ii) (etiqueta 5) un segundo vídeoclip; y
c)
(etiqueta 6) una tercera historia de noticias nacionales.
\vskip1.000000\baselineskip
2) (etiqueta 7) Noticias locales, y dentro de noticias locales:
a)
(etiqueta 8) una primera historia de noticias locales; y
b)
(etiqueta 9) una segunda historia de noticias locales.
\vskip1.000000\baselineskip
3) (etiqueta 10) El tiempo.
\vskip1.000000\baselineskip
Preferentemente se proporciona una interfaz de usuario adecuada mediante el módulo 130 de conexión y la televisión 140 de modo que un usuario puede utilizar el mando 160 a distancia para solicitar un punto deseado particular dentro del programa de noticias que el usuario desea ver. Para continuar el ejemplo anterior, si el usuario solicita, por ejemplo, la primera historia de noticias locales, entonces la unidad 150 de acceso aleatorio utiliza preferentemente metadatos incluidos o asociados con la etiqueta 8, junto con el mapeo 125 de tiempo y otra información, para determinar el tiempo de presentación deseado, dentro del programa de noticias, de la primera historia de noticias locales.
Para presentar el punto deseado al usuario, la unidad 150 de acceso aleatorio determina entonces, a partir del tiempo de presentación deseado, un punto dentro del flujo 120 de contenido desde el que debería comenzar la visualización.
A continuación se hace referencia a las figuras 2A y 2B, que, tomadas juntas, comprenden una ilustración de diagrama de bloques simplificado de una implementación preferente de una parte del sistema de la figura 1, que comprende el módulo 130 de conexión, que incluye la unidad 150 de acceso aleatorio. Para mayor simplicidad de descripción, se han omitido de las figuras 2A y 2B componentes de módulo de conexión convencionales ampliamente conocidos en la técnica, incluyendo componentes utilizados para sintonización de señal; expertos en la técnica apreciarán cómo incluir dichos componentes convencionales.
En la descripción de las figuras 2A y 2B en particular, y en general en la presente memoria descriptiva, se utiliza el ejemplo específico de un sistema MPEG-2; el ejemplo no pretende ser limitante. En general, la presente invención puede aplicarse a otros esquemas de compresión de medios apropiados. Además, como se explicó anteriormente, se utiliza el ejemplo específico de vídeo; el ejemplo no pretende ser limitante. En general, la presente invención puede aplicarse a cualquier contenido apropiado, no limitado a contenido de vídeo y/o audio; sin limitar la generalidad de lo anterior, la presente invención puede utilizarse, por ejemplo, con contenido de televisión interactiva.
El módulo 130 de conexión comprende preferentemente, además de la unidad 150 de acceso aleatorio, un almacenamiento 210 de flujo y un almacenamiento 220 de metadatos, cada uno de los cuales comprende cualquier dispositivo de almacenamiento masivo con capacidades de lectura/escritura (no mostrado) tal como, por ejemplo una unidad de disco de alta capacidad o dispositivo similar, en asociación con un procesador programado apropiadamente. Cada procesador (no mostrado) comprendido en el almacenamiento 210 de flujo y el almacenamiento 220 de metadatos está operativo preferentemente, como se describe con más detalle posteriormente, para recibir solicitudes formateadas apropiadamente y para responder a esas solicitudes, comprendiendo normalmente dicha respuesta información almacenada en el respectivo dispositivo de almacenamiento masivo (no mostrado) o una indicación de que la solicitud no puede cumplirse.
Preferentemente, la capacidad del almacenamiento 210 de flujo debería ser de al menos aproximadamente 20 gigabytes, mientras que la capacidad del almacenamiento 220 de metadatos debería ser de al menos aproximadamente 50 megabytes.
Se aprecia que el almacenamiento 210 de flujo y el almacenamiento 220 de metadatos pueden implementarse por separado o en una única unidad.
El almacenamiento 210 de flujo está operativo preferentemente, tras la solicitud, para almacenar y recuperar al menos un flujo de datos sincronizados en el tiempo tal como la parte de contenido del flujo 120 de contenido de la figura 1; normalmente, el almacenamiento 210 de flujo está operativo para almacenar una pluralidad de flujos de datos sincronizados en el tiempo. El almacenamiento 220 de metadatos está operativo preferentemente, tras la solicitud, para almacenar y recuperar metadatos, tales como los metadatos descritos anteriormente con referencia a la figura 1, asociados con el flujo de datos sincronizados en el tiempo almacenado en el almacenamiento 210 de flujo.
Se aprecia que los metadatos y el flujo normalmente están ambos comprendidos en el flujo 120 de contenido de la figura 1 y normalmente ambos llegan al módulo 130 de conexión simultáneamente; preferentemente, como parte del proceso de almacenar en el almacenamiento 210 de flujo y en el almacenamiento 220 de metadatos, el módulo 130 de conexión almacena información que define la asociación entre el flujo de datos sincronizados en el tiempo y los metadatos asociados con el mismo.
La unidad 150 de acceso aleatorio se implementa preferentemente en cualquier combinación adecuada de hardware y software, como se conoce ampliamente en la técnica. Un ejemplo no limitante particular de una realización preferente de la unidad 150 de acceso aleatorio se encuentra en la solicitud de patente PCT publicada WO 01/35669 de NDS Limited y las solicitudes nacionales correspondientes, incluyendo la solicitud de patente estadounidense 09/574.096 de Darshan et al, a la que se hizo referencia anteriormente.
La unidad 150 de acceso aleatorio comprende preferentemente un mapeador 222 de solicitud con tiempo de reproducción normal (solicitud con NPT). El mapeador 222 de solicitud con NPT está operativo preferentemente para recibir una solicitud 225 de usuario, tal como una solicitud para ver una parte particular de un programa en el flujo 120 de contenido almacenado en el almacenamiento 210 de flujo. El mapeador de solicitud con NPT está operativo preferentemente para producir como salida una indicación de tiempo de reproducción tal como, en el ejemplo de MPEG-2, una indicación 230 NPT de un tiempo de reproducción dentro del flujo almacenado que está asociado con un punto en el flujo 120 de contenido en el que debería producirse el acceso aleatorio para cumplir la solicitud 225 de usuario.
Preferentemente, el mapeador 222 de solicitud con NPT está operativo para producir la indicación 230 NPT enviando la solicitud 225 de usuario al almacenamiento 220 de metadatos y recibiendo del mismo metadatos 235 asociados con un punto deseado en el flujo 120 de contenido en el que debería tener lugar el acceso aleatorio para cumplir la solicitud 225 de usuario. Los metadatos 235 incluyen preferentemente una indicación de un NPT asociado con el punto deseado. Por tanto, el mapeador 222 de solicitud con NPT produce la indicación 230 NPT a partir de la solicitud 225 de usuario.
La unidad 150 de acceso aleatorio comprende también preferentemente un mapeador 236 de NPT con PTS. Como se describió anteriormente y en la norma ISO/IEC 13818-6, a la que se hizo referencia anteriormente, y como apreciarán los expertos en la técnica, el NPT comprende una indicación de tiempo de presentación expresada en términos del tiempo de reproducción desde el comiendo de un vídeo particular. El mapeador 236 de NPT con PTS recibe como entrada el NPT 230 producido por el mapeador 222 de solicitud con NPT y produce como salida un PTS 237 correspondiente; preferentemente, el mapeador 236 de NPT con PTS hace uso del mapeo 125 de tiempo de la figura 1 para producir el PTS 237 a partir del NPT 230. Un procedimiento preferente de producir el mapeo 125 de tiempo en la cabecera 110 de la figura 1 se describe con más detalles posteriormente con referencia a la figura 6.
Como se describió anteriormente y como apreciarán los expertos en la técnica, el PTS comprende una indicación de tiempo de presentación expresada en términos de reloj de tiempo de sistema (STC), un reloj de bajo nivel utilizado para la sincronización; por tanto el PTS es un tiempo no relativo, que no está relacionado con el tiempo de reproducción desde el comienzo de un vídeo particular.
La unidad 150 de acceso aleatorio comprende también preferentemente a) mapeador 240 de tiempo de presentación/reloj de tiempo. El mapeador 240 de tiempo de presentación/reloj de tiempo recibe preferentemente el PTS 237 del mapeador 236 de NPT con PTS. Los expertos en la técnica apreciarán que para esquemas de compresión de medios tales como, por ejemplo, MPEG-2, que hacen uso de almacenamientos intermedios de descodificación significativos, no hay una relación directa entre el PTS de un evento y la posición de los datos comprimidos para el evento en el flujo almacenado. El mapeador 240 de tiempo de presentación/reloj de tiempo está operativo preferentemente para determinar una ventana de tiempo en tiempo no relativo, mostrándose la ventana de tiempo en la figura 2B como una indicación 245 STC, que indica el STC del comienzo de una ventana en el flujo almacenado dentro de la cual es probable que se encuentre el punto deseado solicitado por el usuario en la solicitud 225 de usuario. El comienzo de la ventana de tiempo también se denomina en el presente documento "límite inferior".
A continuación se describe brevemente un modo de funcionamiento preferente del mapeador 240 de tiempo de presentación/reloj de tiempo.
Para determinar una ventana de tiempo apropiada en la que pueda encontrarse una trama deseada, los inventores de la presente invención han analizado el comportamiento teórico y real de sistemas MPEG-2 como un ejemplo de un sistema típico con el que puede utilizarse la presente invención.
Considérese el inicio de los datos comprimidos para una trama, f, que entra en un descodificador. Sea el STC en ese momento STC-fe. La trama f abandona el almacenamiento intermedio de descodificador en su sello de tiempo de descodificación (DTS), denotado como DTS-f.
Según la capa de sistemas MPEG-2, como se describe en la norma ISO/IEC 13818-12.4.2.6:
(1)0 < DTS-f - STC-fe <= 1 seg
Después de retirarse del almacenamiento intermedio de descodificador, se supone que la trama se descodifica en el tiempo cero. Se presenta en su PTS, PTS-f. Se puede decir lo siguiente acerca de PTS-f y DTS-f:
(2a)PTS-f - DTS-f <= duración GOP si f es una trama-I o trama-P
(2b)PTS-f - DTS-f = 0 si f es una trama-B
Preferentemente, para descodificar la trama f, se encuentra primero un punto de acceso asociado con la trama f, siendo el punto de acceso la ubicación de la trama-I de la que depende la trama f.
Sea el STC en el momento en que la trama-I entra en el descodificador STC-ie. Entonces se cumple lo siguiente para STC-fe y STC-ie:
(3a)STC-fe - STC-ie = 0 si f es una trama-I
(3b)STC-fe - STC-ie \sim= duración
GOP si f es la última trama-B en el GOP (un poco más si f es una trama-B temprana en un GOP abierto).
Si f es una trama-P, entonces los inventores de la presente invención creen que el valor de PTS-f - DTS-f se encuentra en algún lugar entre los dos límites 3a y 3b.
Considérese cómo expresar STC-ie en términos de PTS-f. Los intervalos de incertidumbre se cancelan en los casos de tramas-I y tramas-B; se supone que esto se cumple también para las tramas-P. Combinando lo anterior se llega a:
(4)PTS-f > STC-ie > (PTS-f - 1 segundo- \sim GOP)
Como se define en la norma ISO/IEC 13818-1, STC se muestrea por PCR.
La expresión "índice RASP", en todas sus formas gramaticales, se utiliza a lo largo de la presente memoria descriptiva y reivindicaciones para referirse a un índice del tipo que puede construirse utilizando el sistema descrito en la solicitud de patente PCT WO 01/35669 y solicitudes nacionales correspondientes.
El índice RASP comprende un índice de PCR frente a la posición de punto de acceso. Por lo tanto, la desigualdad (4) también define una ventana de valores PCR y por tanto posiciones de flujo que contienen el punto de acceso deseado. El valor PCR/STC en el flujo en la ubicación del punto de acceso deseado está generalmente dentro de 1 segundo más la duración GOP del valor PTS de la trama deseada.
Por tanto, los límites en los que se esperaría encontrar el punto de acceso requerido para descodificar la trama f pueden calcularse, dado el PTS de la trama f. Puesto que este intervalo puede contener más de un punto de acceso, lo que queda es determinar cuál de los candidatos es el correcto.
El intervalo de posibles STC-ie para un PTS-f dado como se muestra en la ecuación (4) anterior, 1 segundo más la duración GOP, es bastante grande; por lo tanto, para fines prácticos, sería preferente limitar el intervalo. En particular, cualquier flujo individual es probable que tenga un intervalo menor de valores STC-ie, puesto que es improbable que la ocupación del almacenamiento intermedio de descodificador varíe a lo largo del intervalo completo dado en la ecuación (1) anterior.
Los inventores de la presente invención creen que el intervalo no puede limitarse adicionalmente basándose puramente en la teoría; por lo tanto, los inventores de la presente invención han adoptado un enfoque práctico de investigación de flujos reales. Los inventores han descubierto que la distribución de valores STC-ie con respecto a PTS-f es modal. Ignorando los atípicos en cualquier extremo de la distribución, se puede limitar la ventana de valores (PTS-f - STC-ie) mientras se captura el 95% por ciento de los casos.
El análisis de resultados de una variedad de flujos diferentes proporciona las siguientes observaciones:
En todos los flujos analizados, para el 95% de las tramas la ventana de desfases de la posición de punto de acceso desde PTS-f es de aproximadamente 0,5 - 0,7 segundos de ancho.
El desfase de esta ventada desde PTS-f no es el mismo en cada flujo, y varía en el intervalo de 0,2 a 0,5 segundos. Los inventores de la presente invención creen que este desfase depende de la configuración de codificador, y puede determinarse y señalizarse mediante la cabecera 110 de la figura 1, como parte del proceso de generar el mapeo 125 de tiempo de la figura 1. La cabecera 110 de la figura 1 determina preferentemente el desfase constante de PTS-f, en un codificador (no mostrado) comprendido en la cabecera 110 de la figura 1, desde el valor instantáneo de STC en el flujo para construir el mapeo de NPT con STC.
La unidad 150 de acceso aleatorio comprende además preferentemente un procesador 250 de acceso aleatorio a flujo. El procesador 250 de acceso aleatorio a flujo está operativo preferentemente parar recibir la indicación 245 STC desde el mapeador 240 de tiempo de presentación/reloj de tiempo y para ubicar un punto en el flujo 120 de contenido almacenado que esté cerca del tiempo de la indicación 245 STC; un procedimiento preferente para realizar esta operación se describe con más detalle posteriormente.
Brevemente, en una primera implementación preferente, el procesador 250 de acceso aleatorio a flujo envía una solicitud 255 que comprende la indicación 245 STC al almacenamiento 210 de flujo, recibiendo de vuelta desde el almacenamiento 210 de flujo un flujo 260, que comprende normalmente un flujo codificado. El procesador 250 de acceso aleatorio a flujo emite entonces preferentemente el flujo 260 a un descodificador 290, ordenando al descodificador 290 comenzar la utilización del flujo 260 en un punto en el que se encuentra un PTS en el flujo 260 que es mayor que o igual a la indicación 237 PTS, que indica el punto en PTS correspondiente a la solicitud 225 de usuario.
Los expertos en la técnica apreciarán fácilmente cómo modificar un descodificador estándar para funcionar como el descodificador 290, apreciándose que los descodificadores estándar están operativos para visualizar una trama en un STC dado; por lo tanto, la funcionalidad adicional requerida por la presente invención sería un pequeño cambio dentro de la capacidad de expertos en la técnica.
En una segunda implementación preferente, el flujo 260 se examina hasta que se encuentra un punto en el que un PTS en el flujo 260 que es mayor que o igual a la indicación 245 STC. El procesador 250 de acceso aleatorio a flujo emite entonces preferentemente el flujo empezando en el punto solicitado para la utilización apropiada.
En ambas implementaciones preferentes, el almacenamiento 210 de flujo está operativo preferentemente para utilizar un índice de punto de acceso para proporcionar el flujo 260 comenzando en un punto de acceso conveniente que tiene un valor STC cercano a y preferentemente antes de la indicación 245 STC. El índice de punto de acceso puede comprender un índice heurístico, preferentemente un denominado "índice RASP", como se definió anteriormente. Se hace referencia ahora a la figura 3, que es una ilustración de diagrama de flujo simplificado de un procedimiento de funcionamiento preferente del aparato de la figura 2. El procedimiento de la figura 3 comprende preferentemente las siguientes etapas:
se proporciona un tiempo de presentación deseado; el tiempo de presentación deseado se asocia con un punto deseado dentro de un flujo (etapa 310). Como se describió anteriormente con referencia a la figura 2, el tiempo de presentación deseado se basa preferentemente en una solicitud de usuario y se deriva preferentemente a partir de la solicitud de usuario basándose en información de metadatos que describe el flujo. Sin embargo, se aprecia que la presente invención no se limita al caso particular descrito con referencia a la figura 2; en particular, el procedimiento de la figura 3 puede aplicarse en general tanto si el tiempo de presentación deseado se basa en una solicitud de usuario como si no.
Se determina un punto de acceso a flujo (etapa 320). Preferentemente, un punto de acceso a flujo comprende un punto en el que está disponible la descodificación eficaz del flujo; en el caso particular de un sistema MPEG-2, un punto de acceso a flujo comprende preferentemente un punto en el que se encuentra una trama-I. Un procedimiento de implementación preferente de la etapa 320 se describe con más detalle posteriormente con referencia a la figura 4.
El flujo se descodifica comenzando en el punto de acceso a flujo (etapa 330); la descodificación continúa preferente pero opcionalmente hasta un punto en el flujo en el que la información de tiempo de presentación asociada con el flujo corresponde a un tiempo de presentación mayor que o igual al tiempo de presentación deseado; la información de tiempo de presentación en ese punto en el flujo se denomina en el presente documento un "tiempo de utilización" (etapa 340).
Una vez que se ha encontrado el tiempo de utilización, el flujo puede utilizarse según se desee; sin limitar la generalidad de lo anterior, el flujo puede utilizarse descodificando el flujo y haciendo el flujo sensible a al menos un sentido humano; adicionalmente sin limitar la generalidad de lo anterior, normalmente se visualiza el flujo.
Se aprecia que, en un caso en el que el flujo está encriptado, el procedimiento de la figura 3, preferentemente en la etapa 330, también puede incluir desencriptar el flujo. Como alternativa, en un caso, por ejemplo, de empalmar un flujo encriptado para producir flujo encriptado empalmado, el procedimiento de la figura 3 puede no incluir desencriptar el flujo, y preferentemente no lo hace.
Ahora se hace referencia a la figura 4, que es una ilustración de diagrama de flujo simplificado de una implementación preferente de la etapa 320 del procedimiento de la figura 3. El procedimiento de la figura 4 incluye preferentemente las siguientes etapas:
se determina una ventana en la que es probable que se encuentre el punto deseado (etapa 410). Como se describió anteriormente con referencia a la figura 2, el tamaño de la ventana puede variar pero está normalmente entre aproximadamente 0,5 segundos y 0,7 segundos; el desfase de la ventada es como se describió anteriormente.
El punto de acceso a pantalla se asigna como un punto, cerca del comienzo de la ventana determinada en la etapa 410, en el que está disponible la descodificación del flujo (etapa 420). En este contexto, "cerca" se refiere a uno o más de lo siguiente: un punto en o después del comienzo de la ventana determinada en la etapa 410; o el punto más cercano al comienzo de la ventana, antes o bien después del comienzo de la ventana.
Sin limitar la generalidad de lo anterior, en realizaciones preferentes de la presente invención puede utilizarse un índice, tal como un índice heurístico y en particular un índice RASP, para ayudar a encontrar y asignar un punto de acceso a flujo apropiado en el procedimiento de la figura 4.
Los expertos en la técnica apreciarán que la descodificación del flujo puede no estar disponible en todos los puntos; es decir, dependiendo de la manera en la que se codifica el flujo, la descodificación del flujo puede estar disponible sólo en ciertas ubicaciones de bits dentro del flujo. En el caso de un flujo MPEG-2, por ejemplo, la descodificación del flujo está disponible normalmente sólo en el comienzo de una trama.
Además, en algunos flujos, algunos puntos en los que está disponible la descodificación del flujo ofrecen una descodificación más eficaz que otros puntos de este tipo. En un caso en el que existen puntos en los que está disponible la descodificación eficaz del flujo, el punto de acceso a pantalla se asigna preferentemente para ser un punto de este tipo. Para continuar el ejemplo de un flujo MPEG-2, un punto en el que está disponible la descodificación eficaz del flujo comprende preferentemente el comienzo de una trama-I o de una secuencia de vídeo.
Ahora se hace referencia a la figura 5, que es una ilustración de diagrama de flujo simplificado de un procedimiento de funcionamiento preferente alternativo del aparato de la figura 2. El procedimiento de la figura 5 comprende preferentemente las siguientes etapas:
se proporciona un tiempo de presentación deseado; el tiempo de presentación deseado se asocia con un punto deseado dentro de un flujo (etapa 510). Se determina un punto de acceso a flujo (etapa 520). Las etapas 510 y 520 son preferentemente similares a las etapas 310 y 320 de la figura 3, descritas anteriormente, incluyendo la implementación preferente de la etapa 320 descrita anteriormente con referencia a la figura 4.
Comenzando en el punto de acceso a flujo, se examina la información de tiempo asociada con el flujo (etapa 530). El examen de la información de tiempo asociada con el flujo continúa en al menos un punto de acceso a flujo adicional, hasta que se encuentra un punto de acceso deseado; el punto de acceso deseado comprende preferentemente un último punto de acceso en el que la información de tiempo asociada es menor que o igual al tiempo de acceso deseado (etapa 540). Se aprecia que, para llevar a cabo la etapa 540, puede ser necesario examinar un punto de acceso cuya información de tiempo sea mayor que el tiempo de acceso deseado, y entonces "moverse de vuelta" al punto de acceso deseado.
Ahora se hace referencia a la figura 6, que es una ilustración de diagrama de bloques simplificado de una implementación preferente de una parte del sistema de la figura 1, que comprende una implementación preferente de una parte de la cabecera 110 de la figura 1. Para mayor simplicidad de descripción, no se muestran los componentes convencionales de la cabecera 110; los expertos en la técnica apreciarán cómo incluir dichos componentes convencionales.
El aparato de la figura 6 comprende preferentemente un generador 610 de tiempo de reproducción (PTG), que comprende preferentemente una unidad 620 de extracción PCR (PXT) y un mapeador 630 NPT. El PTG 610 se implementa preferentemente en una combinación apropiada de hardware y software, como también se describe con más detalle posteriormente.
El PTG 610 está operativo preferentemente para producir el mapeo 125 de tiempo, que se encapsula para su inclusión en el flujo 120 de contenido mediante un generador 660 de datos (DG) (comprendiendo el DG 660 preferente pero no necesariamente el mapeador 630 NPT) y se multiplexa mediante un multiplexor 640 (MUX) junto con contenido para producir un flujo 120 de contenido de salida. El MUX 640 puede comprender cualquier multiplexor apropiado como se conoce ampliamente en la técnica.
Preferentemente, la PXT 620 y el mapeador 630 NPT están sincronizados a un reloj común que utiliza cualquier técnica apropiada tal como, por ejemplo, protocolo de tiempo de red, que es ampliamente conocido en la técnica. Además preferentemente, el mapeador 630 NPT recibe disparos de reproducción en tiempo real a través del DG 660, indicando los disparos de reproducción en tiempo real el inicio de NPT para un evento dado.
Los expertos en la técnica apreciarán que, para un funcionamiento más robusto, puede proporcionarse preferentemente una versión redundante del aparato de la figura 6.
Ahora se describe brevemente el funcionamiento del aparato de la figura 6.
Ahora se hace referencia adicionalmente a la figura 7, que es una ilustración gráfica de un ejemplo de mapeo de tiempo, útil para entender el aparato de la figura 6. La ilustración gráfica de la figura 7 ilustra el problema debido al cual es útil el mapeo 125 de tiempo, como se describió anteriormente con referencia a las figuras 1 y 2, en realizaciones preferentes de la presente invención.
La figura 7 ilustra un ejemplo de tiempo de reproducción normal (NPT) frente a reloj de tiempo de sistema (STC) para una pieza de contenido de ejemplo, tal como, por ejemplo, un documental ficticio. Se aprecia que el ejemplo particular se elige para simplicidad y claridad de descripción, y que un ejemplo real podría ser considerablemente más complejo.
El ejemplo de un mapeo entre el STC y el NPT para un evento particular dado en la figura 7 se utiliza para ilustrar los problemas que van a resolverse mediante el PTG 610. El ejemplo presentado consiste en una única pieza de contenido que se pausa dos veces y está sometida a una discontinuidad STC.
El ejemplo de la figura 7 representa un único programa que dura un periodo de tiempo dado tal como, por ejemplo, una hora. Además, se decide que se insertará material intersticial tal como anuncios a los 20 minutos y a los 40 minutos en el programa. Cuando empieza a emitirse el programa el reloj STC toma el valor T1; por convención, el NPT está en 0. Durante los siguientes 20 minutos el evento continúa emitiéndose hasta que el reloj STC alcanza T2. Ahora se pausa el programa mientras se emiten los anuncios hasta el tiempo cuando el STC alcanza T3.
Desde los valores de STC T3 a T4 el programa se emite normalmente pero en T4 hay una discontinuidad PCR el valor de STC cambia por lo tanto bruscamente desde T4 hasta T5; obsérvese que es posible que T5 sea menor que T4, aunque en la figura 7 se muestra el caso de T5 mayor que T4 para fines de simplicidad de la representación. El espectador no debería percibir la discontinuidad en el reloj de sistema, pero el sistema, en particular el STB 130 de la figura 1, necesita conocer esta discontinuidad para manejar apropiadamente la relación NPT y STC, como se describió anteriormente con referencia a las figuras 1 y 2. De hecho, la discontinuidad PCR puede parecer similar a una pausa de programa; esto es porque, cuando hay una pausa, el NPT permanece constante mientras avanza el STC, similar a la situación en una discontinuidad PCR.
Después de la discontinuidad en T5 el programa continúa normalmente alcanzándose en segundo corte intersticial en T6. En T6 el programa se pausa hasta que el STC alcanza T7, punto en el que continúa emitiéndose el programa hasta que se alcanza el final del programa en T8.
Se aprecia que no se supone que el ejemplo presentado en la figura 7 represente un programa típico sino que se utiliza para ilustrar el fin del PTG, producir el mapeo 125 de tiempo para su uso mediante el STB 130 de las figuras 1 y 2.
Haciendo referencia de nuevo a la figura 6, la PXT 620 incluye preferentemente una interfaz (no mostrada) a un componente de monitorización de flujo de contenido (no mostrado) en la cabecera 110, teniendo el componente de monitorización de flujo de contenido acceso directo al flujo 120 de contenido que se produce en la cabecera 110.
La siguiente descripción particularmente detallada de un procedimiento de funcionamiento preferente de la PXT 620 se proporciona sólo a modo de ejemplo, para su uso con flujos de transporte MPEG-2 según se define en la norma ISO/IEC 13818-1, y no pretende ser limitante. En la siguiente descripción particularmente detallada, las diversas marcas a las que se hace referencia son las marcas MPEG-2 definidas en la norma ISO/IEC 13S18-1, excepto que se especifique de otro modo.
En referencia al siguiente análisis, se aprecia que la PXT 620 preferentemente sólo envía un mensaje EntradaTiempo-STC nuevo al mapeador 630 NPT cuando la PXT 620 observa que hay una diferencia importante entre el valor STC esperado en el siguiente PCR y el valor real recibido.
El procedimiento de funcionamiento preferente comprende preferentemente las siguientes etapas:
1. Se ordena al componente de monitorización de flujo de contenido monitorizar el flujo 120 de contenido. De hecho esto significa que el componente de monitorización de flujo de contenido proporciona almacenamientos intermedios, que contienen preferentemente un número fijo de paquetes, de forma regular.
2. La PXT 620 ajusta preferentemente el tamaño del almacenamiento intermedio para que corresponda al tiempo que llevará capturar aproximadamente 100 milisegundos (ms) de paquetes del flujo 120 de contenido; esto está previsto para minimizar los retardos en los que se incurre sin sobrecargar el componente de monitorización de flujo de contenido.
3. Se supone una tasa de transmisión de bits constante para el flujo 120 de contenido de modo que después de que se toma una muestra inicial de STC puede estimarse el valor de cualquier muestra posterior de STC basándose en el tiempo de llegada de la primera muestra y el tiempo transcurrido desde la primera muestra; el tiempo transcurrido es conocido porque la tasa de transmisión de bits es constante y el número de paquetes recibidos desde la muestra inicial puede contarse. El tiempo de llegada de la primera muestra se mide por una base de tiempo "no relativo", tal como, por ejemplo, tiempo real; el ejemplo de tiempo real no pretende ser limitante.
4. Reajustar una marca distinta de MPEG-2, que va a conocerse como Discontinuidad_PCR_Detectada, utilizada internamente por el procedimiento, a FALSO.
\newpage
\global\parskip0.900000\baselineskip
5. El almacenamiento intermedio suministrado por el componente de monitorización de flujo de contenido contendrá un conjunto de paquetes e incluirá el tiempo de llegada de un paquete conocido en el almacenamiento intermedio. Después de la solicitud inicial el componente de monitorización de flujo de contenido continuará enviando almacenamientos intermedios de paquetes capturado cada vez que se ha recibido el número de paquetes solicitado hasta que se ordene parar. En algunas implementaciones preferentes de la presente invención, cada almacenamiento intermedio tiene normalmente un tamaño de aproximadamente 5 megabits.
6. Esperar la entrega de un almacenamiento intermedio completo del número de paquetes solicitado.
7. Examinar el primer paquete en el almacenamiento intermedio.
8. Si el paquete coincide con el PID de interés entonces comprobar el paquete para detectar un campo de adaptación. Si no se encuentra campo de adaptación o los paquetes no son del PID de interés, entonces ir a la etapa 19.
9. En el campo de adaptación la marca PCR se comprueba para determinar si se ha ajustado, indicando la presencia de una PCR. Si la marca PCR no se ha ajustado entonces ir a la etapa 19.
10. Comprobar si el indicador_discontinuidad se ha ajustado. Si no se ha ajustado ir a la etapa 16.
11. Si la marca Discontinuidad_PCR_Detectada es FALSO entonces ajustar el parámetro Tiempo_Entrada_STC al tiempo de llegada estimado de este paquete y ajustar la Discontinuidad_PCR_Detectada a VERDADERO.
12. Comprobar el presente paquete para detectar un campo PCR y si no está presente ir a la etapa 19.
13. Extraer el valor STC llevado en el campo PCR de este paquete y estimar el tiempo de llegada de este paquete según se describió en la etapa 3 anterior.
14. Utilizando la información de la etapa 13 estimar el valor STC_Entrada_STC en el momento Tiempo_Entrada_
STC y generar un mensaje EntradaTiempoSTC para el par de valores STC_Entrada_STC y Tiempo_Entrada_STC.
15. Reajustar la marca de algoritmo Discontinuidad_PCR_Detectada a FALSO e ir a la etapa 19.
16. Extraer el STC del paquete y estimar el tiempo de llegada de este paquete según se describió en la etapa 3 anterior.
17. Calcular el valor esperado para el STC basándose en el valor de la última muestra enviada al mapeador 630 NPT, el tiempo que ha transcurrido desde esa muestra y el hecho de que el STC aumenta 90.000 tics por segundo, en la resolución utilizada en este procedimiento preferente. (Los expertos en la técnica apreciarán que MPEG-2, en la norma ISO/IEC 13818-1, a la que se hizo referencia anteriormente, especifica STC como un reloj de 27 MHz y PCR como una muestra de STC con 2 componentes: una componente que tiene una precisión de 90 kHz, y una segunda componente que tiene una precisión de 27 MHz. Preferentemente, en este procedimiento preferente se utiliza la componente de 90 kHz).
18. Si el valor esperado difiere del valor extraído del paquete en más de un valor umbral tal como, por ejemplo, 558 tics (es decir, ¼ de trama o 6,2 milisegundos), entonces generar un nuevo menaje EntradaTiempoSTC utilizando los valores asociados con este paquete.
19. Si hay otro paquete en el almacenamiento intermedio examinar entonces el siguiente paquete e ir a la etapa 8.
20. Como no hay más paquetes en este almacenamiento intermedio, ir a la etapa 6.
Se aprecia que es posible que la marca discontinuidad_PCR pueda ajustarse en un paquete que no contiene un campo PCR. Puede haber una serie de paquetes que tengan la marca ajustada antes de que se reciba el siguiente PCR; véase la norma ISO/IEC 13818-1.
La siguiente descripción particularmente detallada de un procedimiento de funcionamiento preferente del mapeador 630 NPT se proporciona sólo a modo de ejemplo y no pretende ser limitante.
El mapeador 630 NPT genera preferentemente el mapeo 125 de tiempo, a lo que también se hace referencia en el presente documento como "tabla de mapeo", basándose en la información que el mapeador 630 NPT recibe desde la PXT 620 y desde el DG 660. El DG 660 recibe preferentemente una notificación del tiempo de inicio real del material al que está accediéndose en términos de la misma base de tiempo "no relativo" que se utiliza para registrar tiempos de llegada de paquetes mediante la PXT 620 en la etapa 3 anterior.
Se realizan preferentemente las siguientes suposiciones acerca de las tablas de mapeo producidas por el mapeador 630 NPT:
1. Cada tabla de mapeo cubre una única pieza de material al que está accediéndose y que se está indexando, a la que se hace referencia en lo sucesivo en el presente documento como un "evento".
\global\parskip1.000000\baselineskip
2. Cada tabla de mapeo no permite que un elemento de contenido se extienda más allá del fin del evento.
El DG 660 dice al mapeador 630 NPT qué eventos requieren que se genere una tabla de mapeo. Si se requiere una tabla de mapeo el DG 660 envía al mapeador 630 NPT un id de mapeo y el tiempo de inicio que se ha asignado al evento. El mapeador 630 NPT utiliza el id de mapeo al crear la tabla de mapeo, como se describe posteriormente.
Cuando avanza el evento elementos específicos de contenido podrían empezar a ejecutarse, pararse y empezar de nuevo, como se describió anteriormente. El DG 660 informa preferentemente al mapeador 630 NPT cada vez que un elemento de contenido empieza o para, puesto que el mapeador 630 NPT genera una nueva entrada en la tabla de mapeo en cada caso. El mapeador 630 NPT supone que no hay elementos de contenido que requieren mapearse a menos que
el DG 660 informe explícitamente al mapeador 630 NPT acerca de un elemento de contenido que debe mapearse.
Después de que el DG 660 ha informado al mapeador 630 NPT de que un elemento de contenido empieza en un tiempo especificado, el mapeador 630 NPT mapea ese elemento de contenido para la duración de lo restante del evento. Se realiza una entrada para el elemento de contenido específico en la tabla de mapeo cada vez que la PXT 620 envía un nuevo mensaje EntradaTiempoSTC, como se describió anteriormente, y también cuando el contenido empieza o se para durante el evento.
En ciertas realizaciones preferentes de la presente invención, toda la tabla de mapeo se envía preferentemente de manera repetida tal como, por ejemplo, una vez cada 10 s. Además, las entradas en la tabla de mapeo se ordenan preferentemente en el orden en el que se producen.
En ciertas realizaciones preferentes de la presente invención, cuando va a generase una entrada en la tabla de mapeo hay preferentemente seis campos registrados para cada entrada; se aprecia que la presente invención no se limita a la presencia o ausencia de los seis campos.
El primer campo, tiempo UTC, corresponde al tiempo real verdadero de la entrada, expresado en tiempo UTC, siendo el tiempo UTC ampliamente conocido en la técnica.
El segundo campo es un valor STC extraído directamente del mensaje EntradaTiempoSTC recibido desde la PXT 620. El valor STC corresponde a un valor NPT particular que se calcula basándose en el valor de STC y el tiempo de llegada en el mensaje EntradaTiempoSTC.
El valor STC recibido desde la PXT 620 se ajusta preferentemente sumando el "retardo_vídeo", la cantidad de tiempo que una trama de vídeo se retarda en los procesos de codificación y mutiplexación. Este ajuste garantiza que el valor STC en cada entrada en la tabla de mapeo corresponde al tiempo de presentación de la trama de vídeo que se produce en el valor correspondiente.
El tercer campo es el id de contenido; este campo se rellena basándose en la información que el DG 660 suministra al mapeador 630 NPT, y se utiliza para distinguir entre diferentes líneas de tiempo NPT en el mismo evento según se define en la norma ISO/IEC 13815-6. El DG 660 informa preferentemente al mapeador 630 NPT cuando empieza un elemento de contenido e incluye el id de contenido que se ha asignado a este elemento de contenido. El mapeador 630 NPT utiliza el valor id de contenido para identificar el elemento de contenido a la que se aplica la presente entrada.
El cuarto campo es el campo NPT; el campo NPT se utiliza para indicar la cantidad de tiempo que ha estado ejecutándose un elemento de contenido.
Para que el STB 130 de las figuras 1 y 2 sepa cuando un elemento de contenido empieza o se para se incluye preferentemente un quinto campo, el campo de "estado de ejecución de contenido", para cada entrada. Este campo de estado de ejecución de contenido se utiliza para indicar si el elemento de contenido particular continúa ejecutándose desde este punto hacia delante o si se para; es posible que un elemento de contenido pueda empezar y pararse un número de veces durante el evento por lo que ajustar esta marca es importante. Aunque el campo de estado de ejecución de contenido podría parecer superfluo porque podría argumentarse que se requiere sólo una nueva entrada en la tabla si un elemento de contenido se para o empieza, se aprecia que esas entradas podrían ser deseables o requeridas sin que el contenido se pare o empiece; tales entradas se utilizan, por ejemplo, cuando hay una discontinuidad PCR y cuando la PXT 620 nota una imprecisión en el mapeo que requiere generar una nueva entrada.
El sexto y último campo es el campo de discontinuidad PCR, que se incluye preferentemente para señalizar casos de discontinuidad PCR al STB 130 de las figuras 1 y 2. Una discontinuidad PCR se señaliza en el mensaje EntradaTiempoSTC desde la PXT 620; para cada entrada en la tabla de mapeo que corresponde a una EntradaTiempoSTC el estado de la marca de discontinuidad PCR debe registrarse como el último campo de la entrada en la tabla de mapeo.
La tabla de mapeo (mapeo 125 de tiempo) se entrega preferentemente lo más pronto posible al STB 130 de las figuras 1 y 2; por lo tanto, se transmite preferentemente una nueva versión del mapeo 125 de tiempo cada vez que se añade un nuevo conjunto de entradas a la tabla. Preferentemente se genera un nuevo conjunto de entradas cuando se recibe un nuevo mensaje EntradaTiempoSTC desde la PXT 620; o bien cuando un elemento de contenido empieza o bien se para. Cuando el evento finaliza una versión completa de la tabla de mapeo para el evento SI puede almacenarse y utilizarse cuando se reproduce el evento.
Como puede haber diferentes tablas de mapeo de diferentes eventos es preferente proporcionar medios para diferenciar entre cada tabla de mapeo; esta diferenciación se lleva a cabo preferentemente a través de id de mapeo.
En algunas realizaciones preferentes de la presente invención la tabla de mapeo para cada evento se lleva a cabo en una extensión_id_tabla separada. El valor id de mapeo se utiliza para ajustar el valor extensión_id_tabla de una sección privada MPEG-2 que se utilizará para esta tabla de mapeo particular. Tales realizaciones preferentes pueden utilizarse, por ejemplo, en un caso en el que el STB 130 de las figuras 1 y 2 está previsto para su uso con el sistema de núcleo NDS, disponible comercialmente de NDS Limited, One London Road, Staines, Middlesex TW18 4EX, Gran Bretaña.
En otras realizaciones preferentes de la presente invención, particularmente aquéllas en las que el STB 130 de las figuras 1 y 2 está previsto para su uso con el sistema OpenTV disponible comercialmente (disponible comercialmente de OpenTV; véase www.opentv.com), el id de mapeo se utilizará para ajustar el id de aplicación que se utilizará para los módulos que se producen. De hecho, en estas realizaciones preferentes, el STB 130 de las figuras 1 y 2 buscará la misma tabla pero en un carrusel diferente para cada evento.
La tabla de mapeo transporta también preferentemente un valor constante denominado retardo_vídeo para el evento. El retardo_vídeo es un valor que describe el retardo total entre una trama de vídeo que entra en el codificador y que aparece en la salida del multiplexor final. Se supone que el retardo_vídeo es independiente del contenido utilizado y que sólo depende de la ruta que la señal toma a través del equipo. Si, por ejemplo, se produce una conmutación de redundancia y la señal se encamina a través de un equipo diferente el valor de retardo_vídeo para el contenido puede cambiar.
Se aprecia que diversas características de la invención que se describen, para mayor claridad, en los contextos de realizaciones separadas también pueden proporcionarse en combinación en una única realización. Por el contrario, diversas características de la invención que se describen, para mayor brevedad, en el contexto de una única realización también pueden proporcionarse por separado o en cualquier subcombinación adecuada.
Los expertos en la técnica apreciarán que la presente invención no se limita a lo que se ha mostrado y descrito de manera particular anteriormente en el presente documento. En su lugar el alcance de la invención se define sólo mediante las reivindicaciones a continuación.

Claims (25)

1. Un procedimiento para acceder a un punto de acceso deseado en datos sincronizados en el tiempo dentro de un flujo, estando asociado el flujo con información de tiempo, comprendiendo el procedimiento:
proporcionar un tiempo de presentación deseado expresado como un sello de tiempo de presentación asociado con un punto deseado dentro de un flujo de datos sincronizados en el tiempo;
encontrar un punto de acceso a flujo, que incluye:
encontrar un límite inferior expresado como una referencia de reloj de programa después del cual es probable que se encuentre el punto deseado basándose, al menos en parte, en el tiempo de presentación deseado; y
asignar el punto de acceso a flujo para que sea un primer punto en o después del límite inferior en el que está disponible la descodificación del flujo;
examinar información de tiempo asociada con el flujo, comenzando en el punto de acceso a flujo; y
continuar examinando la información de tiempo asociada con el flujo, en al menos un punto de acceso a flujo adicional, hasta que se encuentra un punto de acceso deseado, que comprende un último punto de acceso en el que la información de tiempo asociada corresponde a un tiempo menor que o igual al tiempo de presentación deseado.
2. El procedimiento según la reivindicación 1, y en el que el flujo de datos sincronizados en el tiempo comprende un flujo de datos sincronizados en el tiempo almacenado.
3. El procedimiento según la reivindicación 1 o la reivindicación 2, y en el que el punto deseado comprende una trama deseada.
4. El procedimiento según cualquiera de las reivindicaciones 1 a 3, y que comprende también:
utilizar el flujo que comienza en el punto deseado.
5. El procedimiento según la reivindicación 4, y en el que la utilización comprende hacer el flujo sensible a al menos un sentido humano.
6. El procedimiento según la reivindicación 4 o la reivindicación 5, y en el que la utilización comprende visualizar el flujo.
7. El procedimiento según la reivindicación 4, y en el que la utilización comprende utilizar el flujo de otra manera que haciendo el flujo sensible a al menos un sentido humano.
8. El procedimiento según la reivindicación 4, y en el que la utilización comprende realizar un proceso de empalme.
9. El procedimiento según la reivindicación 4, y en el que la utilización comprende realizar un proceso de almacenamiento.
10. El procedimiento según cualquiera de las reivindicaciones 1 a 9, y en el que dicha asignación del punto de acceso a flujo comprende asignar el punto de acceso a flujo para que sea el punto más cercano al límite inferior en el que está disponible la descodificación del flujo.
11. El procedimiento según cualquiera de las reivindicaciones 1 a 10, y en el que dicho punto en el que está disponible la descodificación del flujo comprende un punto en el que está disponible la descodificación eficaz del flujo.
12. El procedimiento según la reivindicación 11, y en el que el punto en el que está disponible la descodificación eficaz del flujo comprende una trama clave.
13. El procedimiento según la reivindicación 12, y en el que el flujo comprende un flujo MPEG-2 y la trama clave comprende una trama-1.
14. El procedimiento según la reivindicación 1, y en el que el flujo comprende un flujo MPEG-2 y el límite inferior está dentro de 1 segundo más la duración GOP del valor de sello de tiempo de presentación MPEG-2 de la trama deseada.
15. El procedimiento según cualquiera de las reivindicaciones 1 a 14, y en el que el límite inferior está entre aproximadamente 0,7 y aproximadamente 1,2 segundos antes del tiempo de presentación deseado.
16. El procedimiento según cualquiera de las reivindicaciones 1 a 15, y en el que proporcionar un tiempo de presentación deseado comprende:
recibir una indicación de tiempo de reproducción normal; y
mapear la indicación de tiempo de reproducción normal con un sello de tiempo de presentación correspondiente,
proporcionando de ese modo el tiempo de presentación deseado expresado como un sello de tiempo de presentación.
17. El procedimiento según cualquiera de las reivindicaciones 1 a 16, y en el que encontrar un punto de acceso a flujo comprende utilizar un índice de punto de acceso.
18. El procedimiento según la reivindicación 17, y en el que el índice de punto de acceso comprende un índice heurístico.
19. El procedimiento según la reivindicación 17 o la reivindicación 18, y en el que el índice de punto de acceso comprende un índice RASP.
20. El procedimiento según cualquiera de las reivindicaciones 1 a 19, y en el que el flujo comprende un flujo MPEG-2.
21. El procedimiento según la reivindicación 20, y en el que el sello de tiempo de presentación comprende un sello de tiempo de presentación MPEG-2.
22. El procedimiento según cualquiera de las reivindicaciones 1 a 21, y en el que el flujo comprende un flujo encriptado, y el procedimiento también comprende desencriptar el flujo encriptado.
23. El procedimiento según cualquiera de las reivindicaciones 1 a 22, y en el que los datos sincronizados en el tiempo comprenden datos de audio y/o de vídeo.
24. El procedimiento según cualquiera de las reivindicaciones 1 a 23, y en el que los datos sincronizados en el tiempo comprenden datos de televisión interactiva.
25. Un elemento de acceso a flujo de datos para acceder a un punto de acceso deseado en datos sincronizados en el tiempo dentro de un flujo, estando asociado el flujo con información de tiempo, comprendiendo el elemento de acceso a flujo de datos:
un buscador de punto de acceso a flujo que recibe un tiempo de presentación deseado expresado como un sello de tiempo de presentación asociado con un punto deseado dentro de un flujo de datos sincronizados en el tiempo y que encuentra un punto de acceso a flujo mediante al menos:
encontrar un límite inferior expresado como una referencia de reloj de programa después del cual es probable que se encuentre el punto deseado basándose, al menos en parte, en el tiempo de presentación deseado; y
asignar el punto de acceso a flujo para que sea un primer punto en o después del límite inferior en el que está disponible la descodificación del flujo; y
un examinador de tiempo operativo para examinar información de tiempo asociada con el flujo, comenzando en el punto de acceso a flujo; y continuar examinando la información de tiempo asociada con el flujo, en al menos un punto de acceso a flujo adicional, hasta que se encuentra un punto de acceso deseado, que comprende un último punto de acceso en el que la información de tiempo asociada corresponde a un tiempo menor que o igual al tiempo de presentación deseado.
ES02745762T 2001-07-23 2002-06-30 Sistema para acceso aleatorio a contenido. Expired - Lifetime ES2309183T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GBGB0117926.6A GB0117926D0 (en) 2001-07-23 2001-07-23 Method for random access to encrypted content
GB0117926 2001-07-23
US30807601P 2001-07-26 2001-07-26
US308076P 2001-07-26

Publications (1)

Publication Number Publication Date
ES2309183T3 true ES2309183T3 (es) 2008-12-16

Family

ID=26246343

Family Applications (2)

Application Number Title Priority Date Filing Date
ES02745762T Expired - Lifetime ES2309183T3 (es) 2001-07-23 2002-06-30 Sistema para acceso aleatorio a contenido.
ES08010956T Expired - Lifetime ES2374998T3 (es) 2001-07-23 2002-06-30 Sistema de acceso aleatorio a un contenido.

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES08010956T Expired - Lifetime ES2374998T3 (es) 2001-07-23 2002-06-30 Sistema de acceso aleatorio a un contenido.

Country Status (9)

Country Link
US (2) US7756201B2 (es)
EP (2) EP1978521B9 (es)
AT (2) ATE405100T1 (es)
DE (1) DE60228264D1 (es)
ES (2) ES2309183T3 (es)
GB (1) GB0117926D0 (es)
IL (1) IL158956A0 (es)
TW (1) TWI231143B (es)
WO (1) WO2003010970A2 (es)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7944953B2 (en) * 2002-04-03 2011-05-17 Tvworks, Llc Method and apparatus for transmitting data in a data stream
US7707303B2 (en) * 2002-09-06 2010-04-27 Telefonaktiebolaget L M Ericsson (Publ) Method and devices for controlling retransmissions in data streaming
KR101018320B1 (ko) 2003-02-11 2011-03-04 엔디에스 리미티드 방송망내의 대화형 애플리케이션을 처리하는 장치 및 방법
EP1629672B1 (en) 2003-06-05 2015-11-11 NDS Limited System for transmitting information from a streamed program to external devices and media
EP1487214A1 (en) * 2003-06-11 2004-12-15 Digital Multimedia Technologies S.P.A. A method and a system for synchronizing MHP applications in a data packet stream
US6980650B2 (en) 2003-10-27 2005-12-27 Nds Limited System for providing keys
WO2006018827A2 (en) 2004-08-16 2006-02-23 Nds Limited System for providing access to operation information
GB0418279D0 (en) 2004-08-16 2004-09-15 Nds Ltd System for providing access to operation information
FR2883692A1 (fr) 2005-03-25 2006-09-29 Thomson Licensing Sa Procede d'envoi de commande a un serveur de flux de donnees numeriques et appareil implementant le procede
US7995904B2 (en) 2005-04-07 2011-08-09 Nds Limited Trick mode system
WO2007020621A2 (en) 2005-08-15 2007-02-22 Nds Limited Video trick mode system
KR100765787B1 (ko) * 2006-06-15 2007-10-12 삼성전자주식회사 압축 부호화된 영상 데이터 스트림의 재생 방법 및 그 장치
WO2008020171A2 (en) * 2006-08-14 2008-02-21 Nds Limited Controlled metadata revelation
GB2441365B (en) * 2006-09-04 2009-10-07 Nds Ltd Displaying video data
US7975225B2 (en) 2007-05-02 2011-07-05 Microsoft Corporation Iteratively locating a position corresponding to a desired seek time
US8554051B2 (en) 2009-01-07 2013-10-08 Cisco Technology, Inc. Data stream storage system
GB2462732B (en) 2009-09-02 2010-11-17 Nds Ltd Method and system for simultaneous recording of multiple programs on a dvr
CN101819807B (zh) * 2010-05-13 2014-06-11 中兴通讯股份有限公司 在多媒体文件控制过程中实现快速响应的方法及播放装置
GB2481573A (en) 2010-06-15 2012-01-04 Nds Ltd Splicng of encoded media content
KR101180540B1 (ko) * 2010-10-20 2012-09-06 연세대학교 산학협력단 스트리밍 서비스 송/수신 장치 및 방법
US9930379B2 (en) 2012-01-31 2018-03-27 Comcast Cable Communications, Llc System and method for data stream fragmentation
CN104718746B (zh) * 2012-10-10 2019-03-12 中兴通讯股份有限公司 用于媒体传输和存储的随机访问信息封装的方法和仪器
US20150281724A1 (en) * 2012-10-10 2015-10-01 Zte Corporation Method and apparatus for encapsulation of random access information for media transport and storage
US9888047B2 (en) 2014-04-03 2018-02-06 Cisco Technology, Inc. Efficient on-demand generation of ABR manifests

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60253026A (ja) 1984-05-29 1985-12-13 Matsushita Electric Ind Co Ltd コンパクトディスクプレーヤのインデックス検出方法
US5237593A (en) 1989-05-04 1993-08-17 Stc, Plc Sequence synchronisation
JPH0820956B2 (ja) 1989-07-26 1996-03-04 富士通株式会社 階層化データの格納装置及び読み出し方式
JP2712656B2 (ja) * 1989-10-25 1998-02-16 日本電気ホームエレクトロニクス株式会社 Cd―rom記録方法
US5282249A (en) * 1989-11-14 1994-01-25 Michael Cohen System for controlling access to broadcast transmissions
US5237693A (en) * 1990-04-04 1993-08-17 Sharp Kabushiki Kaisha System for accessing peripheral devices connected in network
JPH0487074A (ja) 1990-07-31 1992-03-19 Sony Corp ディスク及びその再生装置
JPH04101244A (ja) 1990-08-20 1992-04-02 Nec Software Ltd 小型計算機における多区分データ管理方式
JP2774691B2 (ja) 1990-10-23 1998-07-09 財団法人 医療情報システム開発センター ファイルシステム
US5450250A (en) 1992-02-28 1995-09-12 E-Systems, Inc. Method for transparently marking the location of data files on recording media
JPH0660120A (ja) 1992-08-06 1994-03-04 Sharp Corp 可変長データの格納方法及び検索装置
JP2785220B2 (ja) * 1992-09-22 1998-08-13 ソニー株式会社 データ符号化装置および方法、並びにデータ復号化装置および方法
US5414455A (en) * 1993-07-07 1995-05-09 Digital Equipment Corporation Segmented video on demand system
US5596564A (en) * 1993-10-08 1997-01-21 Matsushita Electric Industrial Co., Ltd. Information recording medium and apparatus and method for recording and reproducing information
JP3097437B2 (ja) 1994-03-14 2000-10-10 松下電器産業株式会社 圧縮動画像の記録方法と再生装置
US5970205A (en) * 1994-04-06 1999-10-19 Sony Corporation Method and apparatus for performing variable speed reproduction of compressed video data
FR2718594B1 (fr) * 1994-04-06 1996-04-26 France Telecom Procédé de diffusion de programmes à accès conditionnel progressif et à séparation du flux d'information.
JP3603364B2 (ja) 1994-11-14 2004-12-22 ソニー株式会社 ディジタルデータ記録/再生装置及び方法
EP0718980A1 (en) 1994-12-20 1996-06-26 International Business Machines Corporation Data compression method of individual sequences of strings of a data stream based on a dictionary and device for performing the same
JP3270983B2 (ja) * 1994-12-21 2002-04-02 ソニー株式会社 画像データ符号化方法及び装置、画像データ復号化方法及び装置
US5550643A (en) * 1994-12-22 1996-08-27 Kabushiki Kaisha Toshiba Trick-play VCR for digitally coded video
US6026232A (en) * 1995-07-13 2000-02-15 Kabushiki Kaisha Toshiba Method and system to replace sections of an encoded video bitstream
JP3154921B2 (ja) 1995-06-09 2001-04-09 富士通株式会社 ビデオ・オン・デマンドシステムにおける映像再生位置割り出し方式
US5659539A (en) * 1995-07-14 1997-08-19 Oracle Corporation Method and apparatus for frame accurate access of digital audio-visual information
TW305043B (es) * 1995-09-29 1997-05-11 Matsushita Electric Ind Co Ltd
US5751280A (en) * 1995-12-11 1998-05-12 Silicon Graphics, Inc. System and method for media stream synchronization with a base atom index file and an auxiliary atom index file
US5715176A (en) 1996-01-23 1998-02-03 International Business Machines Corporation Method and system for locating a frame position in an MPEG data stream
US5630005A (en) * 1996-03-22 1997-05-13 Cirrus Logic, Inc Method for seeking to a requested location within variable data rate recorded information
JPH09330257A (ja) 1996-06-10 1997-12-22 Nec Corp 外部記憶媒体読出装置
JPH10145773A (ja) * 1996-11-14 1998-05-29 Toshiba Corp 動画像データの暗号化方法およびその方法が適用されるコンピュータシステム並びに動画像データ符号化/復号化装置
US6178242B1 (en) * 1997-02-07 2001-01-23 Nds Limited Digital recording protection system
IL125141A0 (en) 1998-06-29 1999-01-26 Nds Ltd Advanced television system
US6177928B1 (en) * 1997-08-22 2001-01-23 At&T Corp. Flexible synchronization framework for multimedia streams having inserted time stamp
US6023453A (en) * 1997-09-11 2000-02-08 Nokia Telecommunications, Oy System and method employing last occurrence and sliding window technique for determining minimum and maximum values
WO1999018720A1 (en) * 1997-10-03 1999-04-15 Sony Corporation Encoded stream splicing device and method, and an encoded stream generating device and method
US6154496A (en) * 1997-11-25 2000-11-28 Philips Electronics N.A. Corp. Video buffer for seamless splicing of MPEG streams
GB9802094D0 (en) 1998-01-30 1998-03-25 Sgs Thomson Microelectronics Flexible filtering
US6460030B1 (en) * 1998-03-09 2002-10-01 Sony Corporation Method and system for searching through descriptive data in the AV/C protocol
AU758253B2 (en) * 1998-05-08 2003-03-20 Koninklijke Philips Electronics N.V. Method for storing compressed digital audio and video
KR100653561B1 (ko) * 1998-07-15 2006-12-05 소니 가부시끼 가이샤 정보 수신 장치, 다운로드 방법, 다운로드 진행 상황 표시 방법, 및 기기 선택 방법
US6233389B1 (en) * 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
KR100345353B1 (ko) 1998-11-08 2005-07-29 엘지전자 주식회사 디지털데이터스트림의관리정보생성기록방법과그장치
EP1043724B1 (en) * 1999-03-10 2001-09-05 Matsushita Electric Industrial Co., Ltd. Optical disc, optical disc recording and reproducing apparatus, and optical disc recording and reproducing method
US7024100B1 (en) * 1999-03-26 2006-04-04 Matsushita Electric Industrial Co., Ltd. Video storage and retrieval apparatus
JP3762224B2 (ja) * 1999-04-07 2006-04-05 株式会社東芝 音声情報を含むデジタル情報の記憶媒体、この媒体を用いる記録方法と再生方法、およびこの媒体を用いる記録装置と再生装置
JP4389365B2 (ja) * 1999-09-29 2009-12-24 ソニー株式会社 トランスポートストリーム記録装置および方法、トランスポートストリーム再生装置および方法、並びにプログラム記録媒体
US6538656B1 (en) * 1999-11-09 2003-03-25 Broadcom Corporation Video and graphics system with a data transport processor
IL132859A (en) 1999-11-10 2008-07-08 Nds Ltd Data stream processing system
JP4599740B2 (ja) * 2000-04-21 2010-12-15 ソニー株式会社 情報処理装置および方法、記録媒体、プログラム、並びに記録媒体
US6453115B1 (en) * 2000-08-31 2002-09-17 Keen Personal Media, Inc. Digital video recording system which generates an index data structure for displaying a video stream in trickplay mode
EP2892226B1 (en) * 2004-07-01 2017-01-11 Mitsubishi Electric Corporation Randomly accessible visual information recording medium and recording method, and reproducing device and reproducing method
US7433946B2 (en) * 2004-08-12 2008-10-07 Microsoft Corporation Mechanism for transmitting elementary streams in a broadcast environment

Also Published As

Publication number Publication date
IL158956A0 (en) 2004-05-12
EP1978521A3 (en) 2009-09-16
US20100278229A1 (en) 2010-11-04
ATE533157T1 (de) 2011-11-15
EP1978521B1 (en) 2011-11-09
EP1417837B1 (en) 2008-08-13
WO2003010970A3 (en) 2004-02-26
DE60228264D1 (de) 2008-09-25
TWI231143B (en) 2005-04-11
EP1978521B9 (en) 2012-03-28
US20040199658A1 (en) 2004-10-07
EP1978521A2 (en) 2008-10-08
WO2003010970A2 (en) 2003-02-06
TW200400761A (en) 2004-01-01
GB0117926D0 (en) 2001-09-12
ES2374998T3 (es) 2012-02-23
US7756201B2 (en) 2010-07-13
EP1417837A2 (en) 2004-05-12
ATE405100T1 (de) 2008-08-15

Similar Documents

Publication Publication Date Title
ES2309183T3 (es) Sistema para acceso aleatorio a contenido.
ES2204582T3 (es) Sistema para el proceso de fujos de datos.
RU2407214C2 (ru) Устройство и способ обработки потока данных, имеющего последовательность пакетов и информацию синхронизации, относящуюся к пакетам
ES2347385T3 (es) Aparato de generacion de flujo de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de multiplexado de imagenes en movimiento y aparato de descodificacion de imagenes en movimiento.
JP6935552B2 (ja) 送信方法、受信方法、送信装置および受信装置
US20030095790A1 (en) Methods and apparatus for generating navigation information on the fly
BR112015032851B1 (pt) Dispositivos e métodos de transmissão e de recepção
US20140079368A1 (en) Display device and transmission device
BRPI0609564A2 (pt) dispositivo e método para processar um fluxo de dados criptografados, meio legìvel por computador, e, elemento de programa para processar um fluxo de dados criptografados
BRPI0103897B1 (pt) Métodos para gerar marcas de tempo de chegada de pacote de uma sequência de tempo real recebida de pacotes de sinal de informação, para reproduzir uma sequência de tempo real armazenada de pacotes de sinal de informação e para reproduzir duas sequências concatenadas de pacotes de sinal de informação em tempo real armazenados e aparelhos para gravar uma sequência de tempo real de pacotes de sinal de informação
TW201021028A (en) Recording medium, playback device, and integrated circuit
JP4485125B2 (ja) Avデータ記録再生装置及び方法、当該avデータ記録再生装置又は方法で記録されたディスク
EP2504991B1 (en) Splicing of content
US7764863B1 (en) System and method for providing trick modes
JP2007511948A (ja) トリックプレイ信号の再生
WO2000027113A1 (fr) Appareil et procede d&#39;enregistrement et de reproduction
JP2006319956A (ja) Mpeg符号化ストリーム復号装置
KR100537393B1 (ko) 기록 방법, 기록 매체 및 기록 장치
JP2002077818A (ja) 蓄積再生システム、トランスポートストリームの蓄積方法及びトランスポートストリームの再生方法
JP2004194215A (ja) コンテンツ受信装置とコンテンツ受信方法
JP4366038B2 (ja) テレビジョン放送処理装置及びテレビジョン放送処理装置の制御方法
JP2009004850A (ja) デジタル映像信号のダイジェスト再生装置
JP3897584B2 (ja) デジタル映像信号記録再生装置及び再生装置、並びに、デジタル映像信号記録再生方法及び再生方法
IL158956A (en) System for random access to content
JP2004088321A (ja) デジタル放送受信蓄積再生装置および携帯受信機