ES2374998T3 - Sistema de acceso aleatorio a un contenido. - Google Patents

Sistema de acceso aleatorio a un contenido. Download PDF

Info

Publication number
ES2374998T3
ES2374998T3 ES08010956T ES08010956T ES2374998T3 ES 2374998 T3 ES2374998 T3 ES 2374998T3 ES 08010956 T ES08010956 T ES 08010956T ES 08010956 T ES08010956 T ES 08010956T ES 2374998 T3 ES2374998 T3 ES 2374998T3
Authority
ES
Spain
Prior art keywords
flow
time
point
presentation
access point
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
ES08010956T
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 ES2374998T3 publication Critical patent/ES2374998T3/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)
  • Liquid Crystal Substances (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Hardware Redundancy (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Nitrogen And Oxygen Or Sulfur-Condensed Heterocyclic Ring Systems (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 (120) a información temporal, comprendiendo el procedimiento: proporcionar un momento de presentación deseado asociado a un punto deseado dentro de un flujo (120) de datos sincronizados en el tiempo; determinar un punto de acceso al flujo descodificar el flujo (120) a partir del punto de acceso al flujo y seguir descodificando el flujo (120) hasta un momento en el cual la información del momento de presentación asociada al flujo (120) corresponda a un momento de presentación mayor o igual que el momento de presentación deseado; y asignar un momento asociado al punto de acceso al flujo como un momento de utilización, en el cual, el momento asociado al punto de acceso al flujo comprende el momento en el cual la información del momento de presentación asociado al flujo (120) corresponde a un momento de presentación mayor o igual que el momento de presentación deseado, y en el cual la determinación de un punto de acceso al flujo comprende: determinar un límite inferior después del cual es probable que se halle el punto deseado; y bien: i) asignar el punto de acceso al flujo para que sea un primer punto en, o después de, el límite inferior en el cual está disponible la descodificación del flujo; o bien ii) asignar el punto de acceso al flujo para que sea el punto más cercano al límite inferior en el cual está disponible la descodificación del flujo.

Description

Sistema de acceso aleatorio a un contenido
Campo de la invención
La presente invención se refiere a aparatos y procedimientos para proporcionar acceso aleatorio a un contenido en un flujo de datos sincronizados en el tiempo; en particular, aunque no exclusivamente, a un flujo almacenado de datos sincronizados en el tiempo.
Antecedentes de la invención
Los sistemas para codificación, transporte, descodificación y procesamiento afín 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 sus 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 la 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 se requieren más procesamiento 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 “cifrado”, en todas sus formas gramaticales, se utilizan de manera intercambiable a lo largo de la presente memoria descriptiva y sus reivindicaciones para referirse a cualquier procedimiento de aleatorización y / o cifrado apropiado para aleatorizar y/o cifrar 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 al 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 cifrados.
La solicitud de patente PCT publicada WO 99/62251 de Koniuklijke 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 según se recibe y almacena el flujo de datos. Como se expone en el documento WO 01/35669, para el caso del sistema MPEG-2, los inventores “determinaron que el momento de presentación de un bit y el momento 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 MPEG2 determinada por los inventores del documento WO 01/35669 sería de utilidad para encontrar un bit que tenga un momento de presentación deseado con tal de que el momento de presentación de un bit previo, tal como el primer bit en un flujo que comprende los bits, y los momentos 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 correspondiente solicitud de patente estadounidense 09/515.118 de Wachtfogel et al.
La presente solicitud reivindica la prioridad sobre la solicitud de patente británica 0117926.6, presentada el 23 de julio de 2001, y la solicitud de patente provisional estadounidense 60/308.076, presentada el 26 de julio de 2001.
El documento EP-A-1089565 revela la reproducción aleatoria del acceso que se realiza en la respuesta solicitada a comandos de usuario. Un bloque analizador de flujo analiza secuencialmente los flujos de transporte ingresados para obtener datos de puntos de entrada. Los datos de puntos de discontinuidad se obtienen en correspondencia a un indicador de ocurrencia de discontinuidad ingresado desde un bloque PLL. Los paquetes de transporte ingresados secuencialmente se analizan para obtener datos de puntos de marca. Un bloque de creación de bases de datos de flujo crea una base de datos de flujo mediante el uso de los datos de puntos de discontinuidad y los datos de puntos de marca. La base de datos de flujo se registra en un medio de registro.
El documento WO-A-99/46922 revela un sistema, y un procedimiento del mismo, para realizar una búsqueda de datos almacenados en una red de dispositivos electrónicos conectados por un bus de red, en el cual al menos uno de los dispositivos electrónicos es un dispositivo de destino que contiene los datos almacenados, y otro de los dispositivos electrónicos es un dispositivo controlador. En una realización, los dispositivos electrónicos cumplen el
protocolo de control audio visual (AV/C) y la red es conforme al estándar IEEE 1394. Según esta solicitud, los criterios de búsqueda se especifican en una estructura de comandos transmitida desde el dispositivo controlador al dispositivo de destino. El dispositivo de destino reconoce el comando como una solicitud para realizar la búsqueda de los datos almacenados y ejecuta el comando, causando por ello que se lleve a cabo la búsqueda. Como resultado de una búsqueda exitosa, se identifican los datos en el dispositivo de destino que satisfacen el criterio de búsqueda y también se especifica un identificador que localiza esos datos. El dispositivo de destino transmite una respuesta que contiene el identificador del dispositivo controlador. El identificador proporciona información suficiente para localizar los datos descubiertos, de modo que puedan ser posteriormente objeto de acceso y recuperación por parte del dispositivo controlador. Así, esta solicitud realiza la búsqueda en el dispositivo de destino que contiene los datos almacenados y sólo una cantidad relativamente pequeña de los datos se transmite por el bus de red, consumiendo así sólo una pequeña parte de la capacidad disponible de ancho de banda del bus, y mejorando las prestaciones globales de la red.
Resumen de la invención
La presente invención busca proporcionar aparatos y procedimientos mejorados para proporcionar acceso aleatorio a un contenido en un flujo de datos sincronizados en el tiempo, en particular, un flujo almacenado de datos sincronizados en el tiempo.
Para proporcionar acceso aleatorio a un contenido en un flujo de datos sincronizados en el tiempo, sería deseable poder encontrar un punto en el flujo asociado con un momento de presentación dado. El término “momento de presentación” se utiliza a lo largo de la presente memoria descriptiva y sus reivindicaciones para referirse a un momento 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 momento de presentación, en el contexto de MPEG-2, corresponde al sello de hora de presentación (PTS), 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 hora de sistema (STC) es un reloj de bajo nivel utilizado para la sincronización. Como se conoce ampliamente en la técnica, el PTS representa un momento de presentación con respecto al reloj representado por el STC. El STC y el PTS son horas “no relativas” en el sentido de que no se refieren a un desfase desde el comienzo de, por ejemplo, un vídeo específico.
En el contexto de un vídeo específico u otro elemento de contenido, por ejemplo, el concepto de hora 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 momento de presentación. NPT es la hora de reproducción desde el comienzo de un vídeo específico 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 adecuado, no limitado al 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 como interna para el sistema en términos de NPT, se asocia a 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 específica o un punto de acceso conveniente que esté cerca de una trama específica; 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”, tal como se utiliza a lo largo de la presente memoria descriptiva y sus reivindicaciones, incluye cualquier tipo adecuado de utilización tal como, por ejemplo, uno cualquiera o cualquier combinación adecuada de lo siguiente: descodificación; visualización; sensibilización para al menos un sentido humano; utilización para empalme; utilización para almacenamiento; y cualquier otro tipo adecuado de utilización.
Si bien 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 del documento WO01/35669 proporciona en general la capacidad de determinar un momento de presentación relativo de un bit en términos de otro bit, en lugar de un momento 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 momento 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 adicional de temporización de sistema cuya disponibilidad no se describe ni se utiliza en el sistema del documento WO01/35669.
La invención proporciona un procedimiento según la reivindicación 1 y un elemento de acceso a un flujo de datos, según la reivindicación 21.
Además, según una realización preferente de la presente invención, el flujo de datos sincronizados en el tiempo incluye un flujo almacenado de datos sincronizados en el tiempo.
Y 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 momento en el que la información de momento de presentación asociada al flujo corresponda a un momento de presentación mayor que o igual al momento de presentación deseado, en donde el momento asociado al punto de acceso al flujo incluye el momento en el que la información del momento de presentación asociada al flujo corresponde a un momento de presentación mayor que o igual al momento 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 momento 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.
Y además, según una realización preferente de la presente invención, la utilización incluye exhibir 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.
Y además, según una realización preferente de la presente invención, la determinación de un punto de acceso al 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 al 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 al 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 al 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.
Y 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 momento 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 MOPEG3-2 y el límite inferior está dentro de 1 segundo más la duración GOP del valor del PTS de MPEG-2 de la trama deseada.
Y 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 momento de presentación deseado.
Adicionalmente, según una realización preferente de la presente invención, el momento 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 al flujo incluye asociar la indicación del tiempo de reproducción normal a un sello de momento 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 momento de presentación.
Y además, según una realización preferente de la presente invención, el flujo incluye un flujo MPEG-2 y el sello de momento de presentación incluye un PTS del MPEG-2.
Adicionalmente, según una realización preferente de la presente invención, la determinación de un punto de acceso al 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.
Y además, según una realización preferente de la presente invención, el índice de punto de acceso incluye un índice RASP.
Y además, según una realización preferente de la presente invención, el flujo incluye un flujo de MPEG-2.
Adicionalmente, según una realización preferente de la presente invención, el flujo incluye un flujo cifrado, y el procedimiento incluye también el flujo cifrado.
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.
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, considerada conjuntamente con los dibujos, en los que:
la Fig. 1 es una ilustración simplificada, parcialmente de diagrama en bloques, y parcialmente pictórica, de un sistema para proporcionar acceso aleatorio al contenido en un flujo de datos sincronizados en el tiempo, estando el sistema construido y operativo según una realización preferente de la presente invención;
las Figs. 2A y 2B, consideradas conjuntamente, comprenden una ilustración de diagrama en bloques simplificado de una implementación preferente de una parte del sistema de la Fig. 1;
la Fig. 3 es una ilustración de diagrama de flujo simplificado de un procedimiento de funcionamiento preferente del aparato de la Fig. 2;
la Fig. 4 es una ilustración de diagrama de flujo simplificado de una implementación preferente de una parte del procedimiento de la Fig. 3;
la Fig. 5 es una ilustración de diagrama de flujo simplificado de un procedimiento preferente de funcionamiento alternativo del aparato de la Fig. 2;
la Fig. 6 es una ilustración de diagrama en bloques simplificado de una implementación preferente de una parte del sistema de la Fig. 1; y
la Fig. 7 es una ilustración gráfica de un ejemplo de asociación temporal, útil para entender el aparato de la Fig. 6.
Descripción detallada de una realización preferente
A continuación se hace referencia a la Fig. 1, que es una ilustración simplificada, parcialmente de diagrama en bloques, y parcialmente pictórica, de un sistema para proporcionar acceso aleatorio al contenido en un flujo de datos sincronizados en el tiempo, estando el sistema construido y operativo según una realización preferente de la presente invención.
El sistema de la Fig. 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 adecuado de datos sincronizados en el tiempo. Generalmente, el término “flujo de datos sincronizados en el tiempo” se utiliza, en todas sus formas gramaticales, a lo largo de la presente memoria descriptiva y sus 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 adecuado. Los procedimientos adecuados de distribución 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 adecuado de emisión; distribución por 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 interconexión de redes tal como Internet; o cualquier otro procedimiento de distribución adecuado, como se conoce ampliamente en la técnica.
El flujo 120 de contenido es recibido por 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 usado por la cabecera 110; un equipo de sobremesa equipado adecuadamente asociado normalmente a un televisor utilizado como un dispositivo de visualización; o cualquier otro dispositivo de recepción adecuado. Para mayor simplicidad de la descripción y sin limitar la generalidad de lo anterior, se muestran un único equipo 130 de sobremesa y el televisor 140 asociado en la Fig. 1 a modo de ejemplo.
La cabecera 110 también distribuye preferentemente información adicional, mostrada en la Fig. 1 como la asociación temporal 125, que puede ser útil, como se describe con más detalle posteriormente, para proporcionar acceso aleatorio a un contenido específico dentro del flujo 120 de contenido.
El equipo 130 de sobremesa comprende preferentemente, además de componentes estándar de equipos de sobremesa, como se conocen bien 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 Figs. 2A y 2B, para controlar el acceso aleatorio al flujo 120 de contenido.
Los expertos en la técnica apreciarán que la unidad 150 de acceso aleatorio puede, como alternativa, situarse externa al equipo 130 de sobremesa y estar asociada al mismo de manera adecuadamente operativa, aunque se cree que es preferible que la unidad 150 de acceso aleatorio esté comprendida en el equipo 130 de sobremesa como se muestra.
Preferentemente, el sistema de la Fig. 1 comprende también medios o aparatos adecuados para permitir a un usuario controlar el funcionamiento del equipo 130 de sobremesa y el televisor 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 Fig. 1 también pueden comprender una realización preferente de la presente invención. En particular, cada uno de los siguientes son ejemplos no limitantes de tales subcombinaciones:
1.
El equipo 130 de sobremesa, el televisor 140, y la unidad 160 de control remoto;
2.
El equipo 130 de sobremesa y el televisor 140;
3.
El equipo 130 de sobremesa; y
4.
La unidad 150 de acceso aleatorio.
El funcionamiento del sistema de la Fig. 1 se describe brevemente a continuación.
La cabecera 110 transmite el flujo 120 de contenido; el flujo 120 de contenido es recibido por el equipo 130 de sobremesa y se almacena normalmente en el mismo en una memoria adecuada u otro almacenamiento (no mostrado en la Fig. 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 correspondiente solicitud de patente estadounidense 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 correspondiente solicitud de patente estadounidense 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 consideran “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 momento 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.
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.
3) (etiqueta 10) El tiempo.
Preferentemente se proporciona una interfaz de usuario adecuada mediante el equipo 130 de sobremesa y la televisión 140 de modo que un usuario pueda utilizar el mando 160 a distancia para solicitar un punto deseado específico 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 a la etiqueta 8, junto con la asociación 125 temporal y otra información, para determinar el momento 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 momento 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 Figs. 2A y 2B, que, consideradas conjuntamente, comprenden una ilustración de diagrama en bloques simplificado de una implementación preferente de una parte del sistema de la Fig. 1, que comprende el equipo 130 de sobremesa, que incluye la unidad 150 de acceso aleatorio. Para mayor simplicidad de descripción, se han omitido de las Figs. 2A y 2B componentes de equipos de sobremesa convencionales, ampliamente conocidos en la técnica, incluyendo componentes utilizados para sintonización de señal; los expertos en la técnica apreciarán cómo incluir dichos componentes convencionales.
En la descripción de las Figs. 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 adecuados de compresión de medios. Además, como se explicó anteriormente, se utiliza el ejemplo específico del vídeo; el ejemplo no pretende ser limitante. En general, la presente invención puede aplicarse a cualquier contenido adecuado, 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 contenidos de televisión interactiva.
El equipo 130 de sobremesa comprende preferentemente, además de la unidad 150 de acceso aleatorio, un almacén 210 de flujo y un almacén 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 adecuadamente. Cada procesador (no mostrado) comprendido en el almacén 210 de flujos y el almacén 220 de metadatos está operativo preferentemente, como se describe con más detalle posteriormente, para recibir solicitudes adecuadamente conformadas 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 almacén 210 de flujo debería ser de al menos aproximadamente 20 gigaoctetos, mientras que la capacidad del almacén 220 de metadatos debería ser de al menos aproximadamente 50 megaoctetos.
Se aprecia que el almacén 210 de flujo y el almacén 220 de metadatos pueden implementarse por separado o en una única unidad.
El almacén 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 Fig. 1; normalmente, el almacén 210 de flujo está operativo para almacenar una pluralidad de flujos de datos sincronizados en el tiempo. El almacén 220 de metadatos está operativo preferentemente, a pedido, para almacenar y recuperar metadatos, tales como los metadatos descritos anteriormente con referencia a la Fig. 1, asociados al flujo de datos sincronizados en el tiempo almacenado en el almacén 210 de flujo.
Se aprecia que tanto los metadatos como el flujo normalmente están comprendidos en el flujo 120 de contenido de la Fig. 1 y normalmente ambos llegan al equipo 130 de sobremesa simultáneamente; preferentemente, como parte del proceso de almacenamiento en el almacén 210 de flujo y en el almacén 220 de metadatos, el equipo 130 de sobremesa almacena información que define la asociación entre el flujo de datos sincronizados en el tiempo y los metadatos asociados al 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.
La unidad 150 de acceso aleatorio comprende preferentemente un asociador 222 de solicitud con tiempo de reproducción normal (solicitud con NPT). El asociador 222 de solicitud con NPT está operativo preferentemente para recibir una solicitud 225 de usuario, tal como una solicitud para ver una parte específica de un programa en el flujo 120 de contenido almacenado en el almacén 210 de flujo. El asociador 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 a 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 asociador 222 de solicitud con NPT está operativo para producir la indicación 230 de NPT enviando la solicitud 225 de usuario al almacén 220 de metadatos y recibiendo del mismo metadatos 235 asociados a 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 al punto deseado. Por tanto, el asociador 222 de solicitud con NPT produce la indicación 230 de NPT a partir de la solicitud 225 de usuario.
La unidad 150 de acceso aleatorio comprende también preferentemente un asociador 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 momento de presentación expresada en términos del tiempo de reproducción desde el comienzo de un vídeo específico. El asociador 236 de NPT con PTS recibe como entrada el NPT 230 producido por el asociador 222 de solicitud con NPT y produce como salida un PTS 237 correspondiente; preferentemente, el asociador 236 de NPT con PTS hace uso de la asociación 125 temporal de la Fig. 1 para producir el PTS 237 a partir del NPT 230. Un procedimiento preferente para producir la asociación 125 temporal en la cabecera 110 de la Fig. 1 se describe en más detalle posteriormente con referencia a la Fig. 6.
Como se describió anteriormente y como apreciarán los expertos en la técnica, el PTS comprende una indicación de momento de presentación expresada en términos de reloj de hora 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 específico.
La unidad 150 de acceso aleatorio comprende también preferentemente un asociador 240 de momento de presentación y reloj de hora. El asociador 240 de momento de presentación y reloj de hora recibe preferentemente el PTS 237 del asociador 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 significativos almacenamientos intermedios de descodificación, no hay una relación directa entre el PTS de un suceso y la posición de los datos comprimidos para el suceso en el flujo almacenado. El asociador 240 de momento de presentación y reloj de hora está operativo preferentemente para determinar una ventana de tiempo en tiempo no relativo, mostrándose la ventana de tiempo en la Fig. 2B como una indicación 245 del 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 una modalidad de funcionamiento preferente del asociador 240 de momento de presentación y reloj de hora.
Para determinar una ventana de tiempo adecuada 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 almacén intermedio de descodificador en su sello temporal de descodificación (DTS), indicado como DTS-f.
Según la capa de sistemas del MPEG-2, como se describe en la norma ISO / IEC 13818-1 2.4.2.6:
Después de retirarse del almacén intermedio del descodificador, se supone que la trama se descodifica en el momento cero. Se presenta en su PTS, PTS-f. Se puede decir lo siguiente acerca de PTS-f y DTS-f:
Preferentemente, para descodificar la trama f, se encuentra primero un punto de acceso asociado a la trama f, siendo el punto de acceso la ubicación de la trama-I de la que depende la trama f.
Sea STC-ie el STC en el momento en que la trama-I entra en el descodificador. Entonces se cumple lo siguiente para STC-fe y STC-ie:
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:
Como se define en la norma ISO / IEC 13818-1, el 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 sus 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 las solicitudes nacionales correspondientes.
El índice RASP comprende un índice de PCR con respecto a la posición del punto de acceso. Por lo tanto, la desigualdad (4) también define una ventana de valores de 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 del 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.
La gama de los 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, es probable que cualquier flujo individual tenga una gama menor de valores de STC-ie, puesto que es improbable que la ocupación del almacén intermedio del descodificador varíe a lo largo de la gama completa dada en la ecuación (1) anterior.
Los inventores de la presente invención creen que la gama 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 de 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 de (PTS-f - STC-ie) mientras se captura el 95% por ciento de los casos.
El análisis de resultados de una gran 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 del Punto de Acceso desde PTS-f tiene aproximadamente entre 0,5 y 0,7 segundos de ancho.
El desfase de esta ventana desde PTS-f no es el mismo en cada flujo, y varía en el intervalo entre 0,2 y 0,5 segundos. Los inventores de la presente invención creen que este desfase depende de la configuración de codificador, y que podría determinarse y señalizarse mediante la cabecera 110 de la Fig. 1, como parte del proceso de generación de la asociación 125 temporal de la Fig. 1. La cabecera 110 de la Fig. 1 determina preferentemente el desfase constante de PTS-f, en un codificador (no mostrado) comprendido en la cabecera 110 de la Fig. 1, desde el
valor instantáneo del STC en el flujo para construir la asociación de NPT con el 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 del STC desde el asociador 240 de momento de presentación y reloj de hora, y para ubicar un punto en el flujo 120 de contenido almacenado que esté cerca del momento de la indicación 245 del 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 del STC al almacén 210 de flujo, recibiendo de vuelta desde el almacén 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 o igual que la indicación 237 del PTS, que indica el punto en el PTS correspondiente a la solicitud 225 de usuario.
Los expertos en la técnica apreciarán inmediatamente 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 los 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 es mayor o igual que la indicación 245 del STC. El procesador 250 de acceso aleatorio a flujo emite entonces preferentemente el flujo empezando en el punto solicitado para su utilización adecuada.
En ambas implementaciones preferentes, el almacén 210 de flujo está operativo preferentemente para utilizar un índice de punto de acceso a fin de proporcionar el flujo 260 comenzando en un punto de acceso conveniente que tiene un valor de STC cercano a, y preferentemente antes de, la indicación 245 del 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 Fig. 3, que es una ilustración de diagrama de flujo simplificado de un procedimiento de funcionamiento preferente del aparato de la Fig. 2. El procedimiento de la Fig. 3 comprende preferentemente las siguientes etapas:
se proporciona un momento de presentación deseado; el momento de presentación deseado se asocia a un punto deseado dentro de un flujo (etapa 310). Como se describió anteriormente con referencia a la Fig. 2, el momento de presentación deseado se basa preferentemente en una solicitud de usuario y se obtiene 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 Fig. 2; en particular, el procedimiento de la Fig. 3 puede aplicarse en general tanto si el momento de presentación deseado se basa o no en una solicitud de usuario.
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 Fig. 4.
El flujo se descodifica comenzando en el punto de acceso a flujo (etapa 330); la descodificación continúa, preferente pero optativamente, hasta un punto en el flujo en el que la información de momento de presentación asociada al flujo corresponde a un momento de presentación mayor o igual que el momento de presentación deseado; la información de momento de presentación en ese punto en el flujo se denomina en el presente documento un “momento de utilización” (etapa 340).
Una vez que se ha encontrado el momento 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á cifrado, el procedimiento de la Fig. 3, preferentemente en la etapa 330, también puede incluir descifrar el flujo. Como alternativa, en un caso, por ejemplo, de empalmar un flujo cifrado para producir un flujo cifrado empalmado, el procedimiento de la Fig. 3 puede no incluir descifrar el flujo, y preferentemente no lo hace.
Ahora se hace referencia a la Fig. 4, que es una ilustración de diagrama de flujo simplificado de una implementación preferente de la etapa 320 del procedimiento de la Fig. 3. El procedimiento de la Fig. 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 Fig. 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 ventana 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 los siguientes: 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 adecuado en el procedimiento de la Fig. 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, según 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 de 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 que sea 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 Fig. 5, que es una ilustración de diagrama de flujo simplificado de un procedimiento de funcionamiento preferente alternativo del aparato de la Fig. 2. El procedimiento de la Fig. 5 comprende preferentemente las siguientes etapas:
se proporciona un momento de presentación deseado; el momento de presentación deseado se asocia a 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 Fig. 3, descritas anteriormente, incluyendo la implementación preferente de la etapa 320 descrita anteriormente con referencia a la Fig. 4.
Comenzando en el punto de acceso a flujo, se examina la información temporal asociada al flujo (etapa 530). El examen de la información temporal asociada al flujo continúa en al menos un punto adicional de acceso a flujo, hasta que se encuentre un punto de acceso deseado; el punto de acceso deseado comprende preferentemente un último punto de acceso en el que la información temporal asociada es menor o igual que el 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 temporal sea mayor que el tiempo de acceso deseado, y entonces “retroceder” al punto de acceso deseado.
Ahora se hace referencia a la Fig. 6, que es una ilustración de diagrama en bloques simplificado de una implementación preferente de una parte del sistema de la Fig. 1, que comprende una implementación preferente de una parte de la cabecera 110 de la Fig. 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 Fig. 6 comprende preferentemente un generador 610 de tiempo de reproducción (PTG), que comprende preferentemente una unidad 620 de extracción de PCR (PXT) y un asociador 630 de NPT. El PTG 610 se implementa preferentemente en una combinación adecuada de hardware y software, como también se describe con más detalle posteriormente.
El PTG 610 está operativo preferentemente para producir la asociación 125 temporal, 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 asociador 630 de 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 adecuado, como se conoce ampliamente en la técnica.
Preferentemente, la PXT 620 y el asociador 630 de NPT están sincronizados con un reloj común, utilizando cualquier técnica adecuada, tal como, por ejemplo, el protocolo de hora de red, que es ampliamente conocido en la técnica. Además, preferentemente, el asociador 630 de NPT recibe activaciones de reproducción en tiempo real a través del DG 660, indicando las activaciones de reproducción en tiempo real el inicio de NPT para un suceso 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 Fig. 6.
Ahora se describe brevemente el funcionamiento del aparato de la Fig. 6.
Ahora se hace referencia adicionalmente a la Fig. 7, que es una ilustración gráfica de un ejemplo de asociación temporal, útil para entender el aparato de la Fig. 6. La ilustración gráfica de la Fig. 7 ilustra el problema debido al cual es útil la asociación 125 temporal, como se describió anteriormente con referencia a las Figs. 1 y 2, en
realizaciones preferentes de la presente invención.
La Fig. 7 ilustra un ejemplo de tiempo de reproducción normal (NPT) con respecto al reloj de hora del sistema (STC) para una pieza de contenido ejemplar, tal como, por ejemplo, un documental ficticio. Se aprecia que el ejemplo específico se elige por simplicidad y claridad de descripción, y que un ejemplo real podría ser considerablemente más complejo.
El ejemplo de una asociación entre el STC y el NPT para un suceso específico dado en la Fig. 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 que está sometida a una discontinuidad del STC.
El ejemplo de la Fig. 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 suceso continúa emitiéndose hasta que el reloj STC alcanza T2. Ahora se pausa el programa mientras se emiten los anuncios hasta el momento en que el STC alcanza T3.
Desde los valores de STC T3 a T4, el programa se emite normalmente, pero en T4 hay una discontinuidad de PCR y el valor del STC cambia por lo tanto bruscamente desde T4 hasta T5; obsérvese que es posible que T5 sea menor que T4, aunque en la Fig. 7 se muestra el caso de T5 mayor que T4 con fines de simplicidad de la representación. El espectador no debería percibir la discontinuidad en el reloj del sistema, pero el sistema, en particular el STB 130 de la Fig. 1, necesita conocer esta discontinuidad para abordar adecuadamente la relación entre el NPT y el STC, como se describió anteriormente con referencia a las Figs. 1 y 2. De hecho, la discontinuidad de PCR puede parecer similar a una pausa de programa; esto es porque, cuando hay una pausa, el NPT permanece constante mientras avanza el STC, de manera similar a la situación en una discontinuidad de 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 Fig. 7 represente un programa típico, sino que se utiliza para ilustrar el fin del PTG, producir la asociación 125 temporal para su uso mediante el STB 130 de las figuras 1 y 2.
Haciendo referencia de nuevo a la Fig. 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 de 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 del MPEG-2 definidas en la norma ISO / IEC 13S18-1, excepto que se especifique lo contrario.
Con referencia al siguiente análisis, se aprecia que la PXT 620 preferentemente sólo envía un mensaje EntradaHoraSTC nuevo al asociador 630 de NPT cuando la PXT 620 observa que hay una diferencia importante entre el valor del 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 almacenes intermedios, que contienen preferentemente un número fijo de paquetes, de forma regular.
2.
La PXT 620 ajusta preferentemente el tamaño del almacén 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 del STC, puede estimarse el valor de cualquier muestra posterior del 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 momento de llegada de la primera muestra se mide por una base temporal “no relativa”, tal como, por ejemplo, el tiempo real; el ejemplo del tiempo real no pretende ser limitante.
4.
Reiniciar una marca no de MPEG-2, conocida como Discontinuidad_PCR_Detectada, utilizada internamente por el procedimiento, con el valor FALSO.
5.
El almacén intermedio proporcionado por el componente de monitorización de flujo de contenido contendrá un conjunto de paquetes e incluirá el momento de llegada de un paquete conocido al almacén intermedio. Después de la solicitud inicial, el componente de monitorización de flujo de contenido continuará enviando almacenes intermedios de paquetes capturado cada vez que se ha recibido el número de paquetes solicitado, hasta que se le ordene parar. En algunas implementaciones preferentes de la presente invención, cada almacén intermedio tiene normalmente un tamaño de aproximadamente 5 megabits.
6.
Esperar la entrega de un almacén intermedio completo del número de paquetes solicitado.
7.
Examinar el primer paquete en el almacén 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 ningún 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 fijado, 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_de_discontinuidad se ha fijado. Si no se ha fijado, ir a la etapa 16.
11.
Si la marca Discontinuidad_PCR_Detectada es FALSA, entonces fijar el parámetro Tiempo_Entrada_STC con el momento de llegada estimado de este paquete y fijar la Discontinuidad_PCR_Detectada en el valor 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 del STC llevado en el campo PCR de este paquete y estimar el momento 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 de STC_Entrada_STC en el momento Momento_Entrada_STC y generar un mensaje EntradaMomentoSTC para el par de valores STC_Entrada_STC y Momento_Entrada_STC.
15.
Reajustar la marca del algoritmo Discontinuidad_PCR_Detectada al valor FALSO e ir a la etapa 19.
16.
Extraer el STC del paquete y estimar el momento 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 asociador 630 de NPT, el tiempo que ha transcurrido desde esa muestra y el hecho de que el STC aumenta en 90.000 latidos por segundo, en la resolución utilizada en este procedimiento preferente. (Los expertos en la técnica apreciarán que el MPEG-2, en la norma ISO / IEC 13818-1, a la que se hizo referencia anteriormente, especifica el STC como un reloj de 27 MHz y PCR como una muestra del STC con 2 componentes: un componente que tiene una precisión de 90 kHz, y un segunda componente que tiene una precisión de 27 MHz. Preferentemente, en este procedimiento preferente se utiliza el 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 latidos (es decir, ¼ de trama o 6,2 milisegundos), entonces generar un nuevo menaje EntradaTiempoSTC utilizando los valores asociados a este paquete.
19.
Si hay otro paquete en el almacén intermedio, examinar entonces el siguiente paquete e ir a la etapa 8.
20.
Como no hay más paquetes en este almacén intermedio, ir a la etapa 6.
Se aprecia que es posible que la marca discontinuidad_PCR pueda fijarse en un paquete que no contiene un campo de PCR. Puede haber una serie de paquetes que tengan la marca fijada 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 asociador 630 de NPT se proporciona sólo a modo de ejemplo y no pretende ser limitante.
El asociador 630 NPT genera preferentemente la asociación 125 temporal, también denominada en el presente documento “tabla de asociación”, en base a la información que el asociador 630 de NPT recibe desde la PXT 620 y desde el DG 660. El DG 660 recibe preferentemente una notificación del momento de inicio real del material al que está accediéndose en términos de la misma base temporal “no relativa” que se utiliza para registrar momentos de llegada de paquetes mediante la PXT 620 en la etapa 3 anterior.
Se realizan preferentemente las siguientes suposiciones acerca de las tablas de asociación producidas por el asociador 630 de NPT:
1. Cada tabla de asociación cubre una única pieza de material al que está accediéndose y que se está indizando, a
la que se hace referencia en lo sucesivo en el presente documento como un “suceso”.
2. Cada tabla de asociación no permite que un elemento de contenido se extienda más allá del fin del suceso.
El DG 660 dice al asociador 630 de NPT qué sucesos requieren que se genere una tabla de asociación. Si se requiere una tabla de asociación, el DG 660 envía al asociador 630 NPT un identificador de asociación y el momento de inicio que se ha asignado al Suceso. El asociador 630 de NPT utiliza el identificador de asociación al crear la tabla de asociación, como se describe posteriormente.
Cuando avanza el suceso, 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 asociador 630 de NPT cada vez que un elemento de contenido empieza o para, puesto que el asociador 630 de NPT genera una nueva entrada en la tabla de asociación en cada caso. El asociador 630 de NPT supone que no hay elementos de contenido que requieran ser asociados, a menos que el DG 660 informe explícitamente al asociador 630 de NPT acerca de un elemento de contenido que debe ser asociado.
Después de que el DG 660 ha informado al asociador 630 de NPT de que un elemento de contenido empieza en un momento especificado, el asociador 630 NPT asocia ese elemento de contenido durante el resto del suceso. Se realiza una entrada para el elemento de contenido específico en la tabla de asociación cada vez que la PXT 620 envía un nuevo mensaje EntradaMomentoSTC, como se describió anteriormente, y también cuando el contenido empieza o se para durante el Suceso.
En ciertas realizaciones preferentes de la presente invención, toda la tabla de asociación se envía preferentemente de manera repetida tal como, por ejemplo, una vez cada 10 s. Además, las entradas en la tabla de asociación se ordenan preferentemente en el orden en el que se producen.
En ciertas realizaciones preferentes de la presente invención, cuando va a generarse una entrada en la tabla de asociación, 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 de UTC, corresponde al tiempo real verdadero de la entrada, expresado en tiempo de UTC, siendo el tiempo de UTC ampliamente conocido en la técnica.
El segundo campo es un valor del STC extraído directamente del mensaje EntradaMomentoSTC recibido desde la PXT 620. El valor de STC corresponderá a un valor de NPT específico que se calcula basándose en el valor del STC y el momento de llegada en el mensaje EntradaMomentoSTC.
El valor del 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 del STC en cada entrada en la tabla de asociación corresponde al momento de presentación de la trama de vídeo que se produce en el valor correspondiente de NPT.
El tercer campo es el identificador de contenido; este campo se rellena basándose en la información que el DG 660 suministra al asociador 630 de NPT, y se utiliza para distinguir entre diferentes líneas de tiempo del NPT en el mismo Suceso, según se define en la norma ISO /IEC 13815-6. El DG 660 informa preferentemente al asociador 630 de NPT cuando empieza un elemento de contenido e incluye el identificador de contenido que se ha asignado a este elemento de contenido. El asociador 630 de NPT utiliza el valor del identificador de contenido para identificar el elemento de contenido al 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 Figs. 1 y 2 sepa cuándo 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 específico de contenido 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 cierto número de veces durante el Suceso, por lo que es importante fijar esta marca. Aunque el campo de Estado de Ejecución de Contenido podría parecer superfluo, porque podría argumentarse que se requiere una nueva entrada en la tabla sólo 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 la asociación que requiere generar una nueva entrada.
El sexto y último campo es el campo de discontinuidad PCR, que se incluye preferentemente a fin de señalizar casos de discontinuidad de PCR al STB 130 de las Figs. 1 y 2. Una discontinuidad de PCR se señaliza en el mensaje EntradaMomentoSTC desde la PXT 620; para cada entrada en la tabla de asociación que corresponde a una EntradaMomentoSTC, el estado de la marca de discontinuidad de PCR debe registrarse como el último campo de la entrada en la tabla de asociación.
La tabla de asociación (asociación 125 temporal) se entrega preferentemente lo más pronto posible al STB 130 de las Figs. 1 y 2; por lo tanto, se transmite preferentemente una nueva versión de la asociación 125 temporal 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 EntradaMomentoSTC desde la PXT 620; o bien cuando un elemento de contenido empieza o bien se para. Cuando el Suceso finaliza, una versión completa de la tabla de asociación para el suceso SI puede almacenarse y utilizarse cuando se reproduce el Suceso.
Como puede haber diferentes tablas de asociación de diferentes sucesos, es preferible proporcionar un medio para diferenciar entre cada tabla de asociación; esta diferenciación se lleva a cabo preferentemente a través de identificador de asociación.
En algunas realizaciones preferentes de la presente invención, la tabla de asociación para cada Suceso se lleva en una extensión_id_tabla individual. El valor del identificador de asociación se utiliza para fijar el valor extensión_id_tabla de una sección privada del MPEG-2 que se utilizará para esta tabla de asociación específica. Tales realizaciones preferentes pueden utilizarse, por ejemplo, en un caso en el que el STB 130 de las Figs. 1 y 2 está concebido para usarse con el sistema Central NDS, disponible comercialmente en NDS Limited, One London Road, Staines, Middlesex TW18 4EX, Reino Unido.
En otras realizaciones preferentes de la presente invención, en particular, aquellas en las que el STB 130 de las Figs. 1 y 2 está concebido para usarse con el sistema OpenTV disponible comercialmente (disponible comercialmente en OpenTV; véase www.opentv.com), el identificador de asociación se utilizará para fijar el identificador de aplicación que se utilizará para los módulos que se producen. De hecho, en estas realizaciones preferentes, el STB 130 de las Figs. 1 y 2 buscará la misma tabla pero en un carrusel diferente para cada Suceso.
La tabla de asociación transporta también preferentemente un valor constante denominado retardo_vídeo para el Suceso. 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 tomó 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 cambio, el alcance de la invención se define sólo mediante las reivindicaciones dadas a continuación.

Claims (21)

  1. REIVINDICACIONES
    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 (120) a información temporal, comprendiendo el procedimiento:
    proporcionar un momento de presentación deseado asociado a un punto deseado dentro de un flujo (120) de datos sincronizados en el tiempo;
    determinar un punto de acceso al flujo
    descodificar el flujo (120) a partir del punto de acceso al flujo y seguir descodificando el flujo (120) hasta un momento en el cual la información del momento de presentación asociada al flujo (120) corresponda a un momento de presentación mayor o igual que el momento de presentación deseado; y
    asignar un momento asociado al punto de acceso al flujo como un momento de utilización,
    en el cual, el momento asociado al punto de acceso al flujo comprende el momento en el cual la información del momento de presentación asociado al flujo (120) corresponde a un momento de presentación mayor o igual que el momento de presentación deseado, y en el cual la determinación de un punto de acceso al flujo comprende:
    determinar un límite inferior después del cual es probable que se halle el punto deseado; y bien:
    i) asignar el punto de acceso al flujo para que sea un primer punto en, o después de, el límite inferior en el cual está disponible la descodificación del flujo; o bien
    ii) asignar el punto de acceso al flujo para que sea el punto más cercano al límite inferior en el cual está disponible la descodificación del flujo.
  2. 2.
    El procedimiento según la reivindicación 1, y que también comprende: utilizar el flujo (120) que comienza en el momento de utilización.
  3. 3.
    El procedimiento según la reivindicación 2, y en el cual la utilización comprende hacer que el flujo (120) sea sensible a al menos un sentido humano.
  4. 4.
    El procedimiento según la reivindicación 2 o 3, y en el cual la utilización comprende exhibir el flujo (120).
  5. 5.
    El procedimiento según la reivindicación 2, y en el cual la utilización comprende utilizar el flujo (120) de otra manera distinta a hacer que el flujo (120) sea sensible a al menos un sentido humano.
  6. 6.
    El procedimiento según la reivindicación 2, y en el cual la utilización comprende realizar uno de los siguientes: un proceso de troceo; y un proceso de almacenamiento.
  7. 7.
    El procedimiento según una cualquiera reivindicación precedente, en el cual dicho punto en el cual está disponible la descodificación del flujo (120) comprende un punto en el cual está disponible la descodificación eficaz del flujo (120).
  8. 8.
    El procedimiento según la reivindicación 7, y en el cual el punto en el cual está disponible la descodificación eficaz del flujo (120) comprende una trama clave.
  9. 9.
    El procedimiento según la reivindicación 8, y en el cual el flujo (120) comprende un flujo (120) del MPEG-2, y la trama clave comprende una trama-I.
  10. 10.
    El procedimiento según una cualquiera reivindicación precedente, en el cual el límite inferior está determinado, al menos en parte, según un momento de presentación de una trama deseada.
  11. 11.
    El procedimiento según la reivindicación 10, y en el cual el flujo (120) comprende un flujo (120) del MPEG-2, y el límite inferior está dentro de 1 segundo, más la duración del GOP, del valor del PTS del MPEG-2 de la trama deseada.
  12. 12.
    El procedimiento según una cualquiera reivindicación precedente, en el cual el límite inferior está entre aproximadamente 0,7 y aproximadamente 1,2 segundos antes del momento de presentación deseado.
  13. 13.
    El procedimiento según cualquiera de las reivindicaciones anteriores, y en el cual el momento de utilización comprende un sello del momento de presentación.
  14. 14.
    El procedimiento según la reivindicación 13, y en el cual el flujo (120) comprende un flujo del MPEG-2 y el sello del momento de presentación comprende el PTS del MPEG-2.
  15. 15.
    El procedimiento según una cualquiera reivindicación precedente, en el cual la determinación de un punto de
    acceso al flujo comprende utilizar un índice de puntos de acceso.
  16. 16.
    El procedimiento según la reivindicación 15, y en el cual el índice de puntos de acceso comprende un índice heurístico.
  17. 17.
    El procedimiento según cualquiera de las reivindicaciones precedentes, y en el cual el flujo (120) comprende un flujo del PEG-2.
  18. 18.
    El procedimiento según cualquiera de las reivindicaciones precedentes, y en el cual el flujo (120) comprende un flujo cifrado, y el procedimiento también comprende: descifrar el flujo cifrado.
  19. 19.
    El procedimiento según cualquiera de las reivindicaciones precedentes, y en el cual los datos sincronizados en el tiempo comprenden datos de audio y / o vídeo.
  20. 20.
    El procedimiento según cualquiera de las reivindicaciones precedentes, y en el cual los datos sincronizados en el tiempo comprenden datos de televisión interactiva.
  21. 21.
    Un elemento de acceso a flujos de datos para acceder a un punto deseado en datos sincronizados en el tiempo dentro de un flujo, estando el flujo (120) asociado a información temporal, comprendiendo el elemento (150) de acceso al flujo de datos:
    un determinador (250) de puntos de acceso al flujo que recibe un momento de presentación deseado asociado a un punto deseado dentro de un flujo (120) de datos sincronizados en el tiempo, y determina un punto de acceso al flujo;
    un descodificador (290) de flujos que descodifica el flujo (120) a partir del punto de acceso al flujo, y continúa descodificando el flujo (120) hasta un momento en el cual la información de momento de presentación asociada al flujo (120) corresponde a un momento de presentación mayor o igual al momento de presentación deseado; y
    un asignador temporal que asigna (240) un momento asociado al punto de acceso al flujo como un momento de utilización,
    en donde el momento asociado al punto de acceso al flujo comprende el momento en el cual la información del momento de presentación asociada al flujo (120) corresponde a un momento de presentación mayor o igual que el momento de presentación deseado, y en donde el determinador del punto de acceso al flujo está dispuesto para determinar el punto de acceso al flujo:
    determinando un límite inferior después del cual es probable que se halle el punto deseado; y bien:
    i) asignando el punto de acceso al flujo para que sea un primer punto en, o después de, el límite inferior en el cual está disponible la descodificación del flujo, o bien
    ii) asignando el punto de acceso al flujo para que sea el punto más cercano al límite inferior en el cual está disponible la descodificación del flujo.
ES08010956T 2001-07-23 2002-06-30 Sistema de acceso aleatorio a un contenido. Expired - Lifetime ES2374998T3 (es)

Applications Claiming Priority (4)

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

Publications (1)

Publication Number Publication Date
ES2374998T3 true ES2374998T3 (es) 2012-02-23

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 Before (1)

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

Country Status (9)

Country Link
US (2) US7756201B2 (es)
EP (2) EP1978521B9 (es)
AT (2) ATE533157T1 (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
AU2002339523A1 (en) * 2002-09-06 2004-03-29 Telefonaktiebolaget Lm Ericsson (Publ) Method and devices for controlling retransmissions in data streaming
WO2004072935A2 (en) 2003-02-11 2004-08-26 Nds Limited Apparatus and methods for handling interactive applications in broadcast networks
US8010987B2 (en) 2003-06-05 2011-08-30 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
GB0418279D0 (en) 2004-08-16 2004-09-15 Nds Ltd System for providing access to operation information
EP2451155B1 (en) 2004-08-16 2016-08-10 NDS Limited System for providing access to information needed for performing trick mode operations on a video elementary stream
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
ES2383611T3 (es) 2005-08-15 2012-06-22 Nds Limited Sistema de modo de trucos de vídeo
KR100765787B1 (ko) * 2006-06-15 2007-10-12 삼성전자주식회사 압축 부호화된 영상 데이터 스트림의 재생 방법 및 그 장치
EP2052544B1 (en) * 2006-08-14 2014-07-02 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
EP2374128B1 (en) 2009-01-07 2014-07-02 Nds Limited 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 中兴通讯股份有限公司 用于媒体传输和存储的随机访问信息封装的方法和仪器
JP2015536589A (ja) * 2012-10-10 2015-12-21 ゼットティーイー コーポレーションZte Corporation メディア伝送及び記憶用のランダムアクセス情報をカプセル化する方法及び装置
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 松下電器産業株式会社 圧縮動画像の記録方法と再生装置
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.
US5970205A (en) * 1994-04-06 1999-10-19 Sony Corporation Method and apparatus for performing variable speed reproduction of compressed video data
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
KR100574186B1 (ko) * 1997-10-03 2006-04-27 소니 가부시끼 가이샤 부호화 스트림 스플라이싱 장치 및 방법과 부호화 스트림 생성 장치 및 방법과 편집 장치 및 방법 및 편집 시스템
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
IL139485A (en) 1998-05-08 2005-11-20 Koninkl Philips Electronics Nv 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
EP1039750A3 (en) 1999-03-26 2005-05-25 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
EP2348713B1 (en) * 2004-07-01 2015-07-29 Mitsubishi Electric Corporation Video information encoding method and apparatus
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
ES2309183T3 (es) 2008-12-16
EP1978521A2 (en) 2008-10-08
WO2003010970A2 (en) 2003-02-06
DE60228264D1 (de) 2008-09-25
WO2003010970A3 (en) 2004-02-26
US20100278229A1 (en) 2010-11-04
EP1417837B1 (en) 2008-08-13
EP1978521B9 (en) 2012-03-28
US7756201B2 (en) 2010-07-13
IL158956A0 (en) 2004-05-12
ATE405100T1 (de) 2008-08-15
TWI231143B (en) 2005-04-11
EP1978521B1 (en) 2011-11-09
EP1978521A3 (en) 2009-09-16
GB0117926D0 (en) 2001-09-12
US20040199658A1 (en) 2004-10-07
EP1417837A2 (en) 2004-05-12
TW200400761A (en) 2004-01-01
ATE533157T1 (de) 2011-11-15

Similar Documents

Publication Publication Date Title
ES2374998T3 (es) Sistema de acceso aleatorio a un contenido.
ES2204582T3 (es) Sistema para el proceso de fujos de datos.
US20170244990A1 (en) Fast start of streaming digital media playback with deferred license retrieval
RU2407214C2 (ru) Устройство и способ обработки потока данных, имеющего последовательность пакетов и информацию синхронизации, относящуюся к пакетам
KR101777908B1 (ko) 코딩된 비디오 프레임들의 시퀀스를 처리하는 방법
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
US8953930B2 (en) System and method for personal video recording
JP2008160748A (ja) 記録システム、および記録再生システム
KR20080005569A (ko) 암호 시스템에서 암호화된 데이터 스트림을 처리하는 장치및 방법
JPWO2002080541A1 (ja) Avデータ記録再生装置及び方法、当該avデータ記録再生装置又は方法で記録されたディスク
JP2007511948A (ja) トリックプレイ信号の再生
US7764863B1 (en) System and method for providing trick modes
WO2000027113A1 (fr) Appareil et procede d'enregistrement et de reproduction
WO2003107664A1 (en) Method and apparatus for processing a stream that contains encrypted information
JP6982829B2 (ja) 記録装置、記録方法および記録媒体
JP2010029511A (ja) 手術映像送信装置および同方法、手術映像再生装置ならびに手術映像送信再生システム
IL158956A (en) System for random access to content
JP2003023596A (ja) デジタル放送記録装置及びその方法
JP2004088321A (ja) デジタル放送受信蓄積再生装置および携帯受信機
US20060215996A1 (en) System, method, and apparatus for embedding personal video recording functions at picture level
WO2004112395A1 (en) Device and method in a multimedia broadcast system
JP2004104307A (ja) データストリーム記録装置、データストリーム記録方法及びプログラム
JP2011103687A (ja) デジタル信号記録再生装置および方法、デジタル信号再生装置および方法
JP2010028821A (ja) デジタル信号記録装置および方法、デジタル信号再生装置および方法