ES2381760T3 - Sincronización de contenido multimedia con eventos basados en el reconocimiento de secuencias de valores de clave calculada. - Google Patents

Sincronización de contenido multimedia con eventos basados en el reconocimiento de secuencias de valores de clave calculada. Download PDF

Info

Publication number
ES2381760T3
ES2381760T3 ES06773937T ES06773937T ES2381760T3 ES 2381760 T3 ES2381760 T3 ES 2381760T3 ES 06773937 T ES06773937 T ES 06773937T ES 06773937 T ES06773937 T ES 06773937T ES 2381760 T3 ES2381760 T3 ES 2381760T3
Authority
ES
Spain
Prior art keywords
data
calculated
multimedia
dvr
content
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.)
Active
Application number
ES06773937T
Other languages
English (en)
Inventor
Kevin P. Smith
Paul Stevens
Adam Feder
James Barton
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.)
Adeia Media Solutions Inc
Original Assignee
Tivo Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=38833884&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2381760(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Tivo Inc filed Critical Tivo Inc
Application granted granted Critical
Publication of ES2381760T3 publication Critical patent/ES2381760T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • H04N21/41265The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
    • 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/005Reproducing at a different information rate from the information rate of recording
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/28Arrangements for simultaneous broadcast of plural pieces of information
    • H04H20/30Arrangements for simultaneous broadcast of plural pieces of information by a single channel
    • H04H20/31Arrangements for simultaneous broadcast of plural pieces of information by a single channel using in-band signals, e.g. subsonic or cue signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/68Systems specially adapted for using specific information, e.g. geographical or meteorological information
    • H04H60/73Systems specially adapted for using specific information, e.g. geographical or meteorological information using meta-information
    • 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
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary 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/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4135Peripherals receiving signals from specially adapted client devices external recorder
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • 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
    • 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/4314Generation 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 fitting data in a restricted space on the screen, e.g. EPG data in a rectangular grid
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary 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/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/44008Processing 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 operations for analysing video streams, e.g. detecting features or characteristics in 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47214End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • 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/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/09Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
    • H04H60/13Arrangements for device control affected by the broadcast information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/27Arrangements for recording or accumulating broadcast information or broadcast-related information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • 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/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Library & Information Science (AREA)
  • Finance (AREA)
  • Human Computer Interaction (AREA)
  • Strategic Management (AREA)
  • Business, Economics & Management (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)
  • Communication Control (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Television Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

Un procedimiento para procesar datos intrabanda en un dispositivo multimedia que comprende: recibir un flujo (600, 700A, 700B) de contenido multimedia, en el que el flujo (600, 700A, 700B) de contenido multimedia contiene datos intrabanda; procesar los datos intrabanda, incluyendo el cálculo de al menos dos valores (314A-314D) de clave calculada a partir de los datos intrabanda y un período de tiempo entre la generación de los al menos dos valores calculados (314A-314D) de clave calculada; determinar que los al menos dos valores calculados (314A-314D) de clave calculada y el período de tiempo entre la generación de los al menos dos valores calculados (314A-314D) de clave calculada coinciden con un patrón particular asociado con uno o más eventos, donde el período de tiempo coincide dentro de un margen de error; e identificar los uno o más eventos en respuesta a la determinación de que el patrón particular coincida dentro del margen de error.

Description

Sincronización de contenido multimedia con eventos basados en el reconocimiento de secuencias de valores de clave calculada.
Campo de la invención
La presente invención versa acerca del reconocimiento de datos intrabanda en un flujo de contenido multimedia y de la ubicación de puntos dentro del flujo de contenido multimedia en un dispositivo multimedia.
Antecedentes
Los enfoques descritos en esta sección son enfoques que podrían ser seguidos, pero no necesariamente enfoques que hayan sido concebidos o seguidos previamente. Por lo tanto, a no ser que se indique otra cosa, no debería suponerse que ninguno de los enfoques descritos en esta sección de derecho a su clasificación como técnica anterior meramente gracias a su inclusión en esta sección.
Los espectadores pueden grabar programas de TV emitidos usando un grabador de videocasetes (VCR). Por ello, un usuario de un VCR puede grabar un programa particular de TV en el momento en que es emitido y reproducir el mismo programa grabado de TV en un momento posterior. Para lograr esto, un VCR transforma las señales eléctricas que representan un programa de TV en señales magnéticas y almacena las señales magnéticas en una cinta magnética. La cinta magnética habitualmente tiene la forma de una cinta de videocasete insertada en el VCR por el usuario del VCR. Cuando un usuario del VCR decide reproducir el programa de TV, el proceso se invierte, y el VCR transforma (as señales magnéticas almacenadas en la cinta de videocasete en señales eléctricas y envía las señales eléctricas a un televisor.
Con el desarrollo de la tecnología digital, los VCR están siendo sustituidos por grabadores de vídeo digital (DVR). Un OVR graba programas de TV emitidos para su reproducción posterior transformando señales eléctricas del programa de TV en información digital y almacenando la información digital en un disco duro. Cuando un usuario reproduce el programa grabado de TV, el DVR vuelve a convertir la información digital en señales analógicas y envía las señales al televisor, que presenta el programa de TV al espectador. Además, con el advenimiento de los televisores digitales, el DVR puede recibir señales digitales y analógicas y enviar señales digitales directamente a un televisor digital, que presenta el programa de TV en formato digital. Muchos proveedores de contenidos usan ahora tecnología digital de cable y satélite para emitir programación digital. La programación digital es recibida por receptores de televisión por cable y/o transceptores de satélite que se usan para presentar la programación digital a un usuario en una pantalla de visualización. Así, los DVR tienen la capacidad de recibir señales de programación digital de receptores de televisión por cable o transceptores de satélite para grabar y presentar, así como de estar incorporados en tales dispositivos.
Los DVR se han vuelto cada vez más populares y se usan de forma generalizada para grabar programas de TV. Más importante es que el uso de los DVR para grabar programas de TV ha hecho que los proveedores de contenido busquen medios diferentes de presentación de contenido a los usuarios de DRV y de enriquecer la experiencia de los programas de vídeo. El contenido de emisión personalizada viene estando ausente en las comunidades de proveedores de contenidos y DVR. La solicitud de patente estadounidense con nº de serie 09/665.921, propiedad del Solicitante, describe un procedimiento para identificar el contenido de una emisión usando el área de subtítulos para sordos. La patente estadounidense nº 6.233.389, propiedad del Solicitante, también describe un procedimiento para reconocer palabras específicas en los datos de subtítulos para sordos.
Es deseable una técnica para reconocer eventos diferenciados dentro de un programa no modificado de vídeo.
El documento US 2005/0226601 A1 da a conocer una técnica para sincronizar un efecto con una presentación multimedia. Un procesador obtiene un valor de CRC para una porción de una o más pistas o líneas de subtítulos para sordos en una grabación. Los valores obtenidos se cargan en una tabla, de modo que los valores obtenidos se asocien con una entrada con una hora de registro en la tabla que coincide con el momento en que aparece en la grabación la línea del subtítulo para sordos.
La presente invención está definida por las reivindicaciones independientes. Las reivindicaciones dependientes se ocupan de características opcionales de algunas realizaciones de la presente invención.
Breve descripción de los dibujos
La presente invención se ilustra a título de ejemplo, y no de limitación, en las figuras de los dibujos adjuntos y eh las que los números de referencia similares se refieren a elementos similares y en las cuales:
la Fig. 1 es un diagrama de bloques que ilustra un sistema para el reconocimiento y la sincronización de datos intrabanda según una realización;
la Fig. 2 es un diagrama de bloques que ilustra una visión de conjunto general de componentes de un dispositivo para el reconocimiento y la sincronización de datos intrabanda según una realización;
la Fig. 3A es un diagrama de flujo que representa un procedimiento para generar datos de secuencia de valores de clave calculada según una realización;
la Fig. 3B es un diagrama de bloques que ilustra el procedimiento para generar datos de secuencia de valores de clave calculada según una realización;
la Fig. 3C es un diagrama de bloques que ilustra el procedimiento para generar datos de secuencia de valores de clave calculada usando diversos esquemas de subtítulos para sordos según una realización;
la Fig. 3D es un diagrama de bloques que ilustra un icono que aparece en una pantalla de visualización según una realización;
la Fig. 4 es un diagrama de flujo que representa un procedimiento para el reconocimiento y ta sincronización de subtítulos para sordos en un dispositivo multimedia según una realización;
la Fig. 5A es un diagrama de bloques que ilustra una máquina de estado para encontrar coincidencias en patrones de datos intrabanda según una realización;
la Fig. 5B es un diagrama de bloques que ilustra datos de secuencia de valores de clave calculada según una realización;
la Fig. 6 es un diagrama de bloques que ilustra un procedimiento para la sincronización con datos intrabanda según una realización;
la Fig. 7 es un diagrama de bloques que ilustra un procedimiento para crear y ver segmentos multimedia dentro de un programa de vídeo según una realización; y
la Fig. 8 es un diagrama de bloques de un sistema en el que pueden implementarse realizaciones de la invención.
Descripción detallada
En la descripción siguiente, se exponen con fines explicativos numerosos detalles específicos para proporcionar una comprensión cabal de la presente invención. Sin embargo, será evidente que la presente invención puede ser puesta en práctica sin estos detalles específicos. En otros casos, estructuras y dispositivos bien conocidos son mostrados en forma de diagrama de bloques para evitar oscurecer innecesariamente la presente invención.
En el presente documento se describen realizaciones según el esquema siguiente:
1.0
Visión general de conjunto.
2.0
Visión estructural de conjunto.
3.0
Enfoque para reconocer datos intrabanda y sincronizar con los mismos.
3.1
Datos de subtítulos para sordos.
3.1.1
Generación de datos de secuencia de valores de clave calculada.
3.1.2
Metadatos de secuencia de claves calculadas.
3.1.3
Reconocimiento de secuencias de claves calculadas en un dispositivo multimedia.
3.1.4
Sincronización con datos de subtítulos para sordos.
3.2
Datos de señalización de Televisión Mejorada.
4.0
Enfoque para crear y ver segmentos multimedia personalizados.
4.1
Selección de segmentos de programas multimedia por parte del usuario.
4.2
Creación de datos de identificación de eventos iniciada por el usuario para programas multimedia.
4.3
Creación de un contenido identificado de programas multimedia.
4.4
Compartición de datos de identificación de eventos para programas multimedia.
5.0
Mecanismos de implementación.
\vskip1.000000\baselineskip
1.0 Visión general de conjunto
Las necesidades identificadas en los anteriores Antecedentes, y otras necesidades y otros objetos que se harán evidentes a partir de la siguiente descripción, se satisfacen en la presente invención, que comprende, en un aspecto, un sistema de reconocimiento y sincronización de datos intrabanda.
Tal como se ha mencionado en lo que antecede, el uso de los DVR para grabar programas de TV ha hecho que los proveedores de contenidos busquen diferentes medios de presentar un contenido a usuarios de DVR y de enriquecer la experiencia de los programas de vídeo. Por ejemplo, los proveedores de contenidos que deseen presentar un contenido adicional de mercadotecnia o promocional dentro de los programas de vídeo pueden hacer que se presenten iconos particulares, mensajes o elementos interactivos al usuario en partes particulares del programa de vídeo.
Tal como se describe en la solicitud de patente estadounidense con nº de serie 11/284.487, titulada "Method and Apparatus for Displaying Branded Video Tags", un DVR puede presentar porciones de programa de vídeo con contenido comercial presentando iconos o contenido relacionado durante la emisión del programa de vídeo. Así, sí el proveedor de contenidos quisiera promocionar un programa de vídeo de pronta aparición, puede presentarse un icono interactivo durante la presentación de un anuncio que detalle un programa de vídeo de pronta aparición. Mientras ven el anuncio, los espectadores pueden interactuar con el icono usando un control remoto para hacer que el DVR grabe automáticamente el programa de vídeo de pronta aparición que está siendo promocionado.
Para que muchas de estas características adicionales funcionen, un DVR debe estar sincronizado con el flujo de contenido multimedia para presentar los datos de contenido adicional en el debido momento. Típicamente, el contenido adicional está directamente embebido en el flujo de contenido multimedia antes de que el contenido se emita. De esta manera, el DVR procesa el contenido adicional junto con los datos de audio y vídeo dentro del flujo de contenido multimedia. Embebiendo directamente el contenido en el flujo de contenido multimedia, el proveedor de contenidos tiene la garantía de que los datos adicionales son presentados al usuario precisamente en el lugar en el que el proveedor de contenidos solicitó que se presentaran. Además, el flujo de contenido multimedia puede estar embebido con información adicional no visible al usuario para ayudar al DVR en la sincronización. Las anteriores características están descritas con detalle adicional en la solicitud estadounidense nº 09/665.921, titulada "Closed-Caption Tagging System" y en la patente estadounidense nº 6.215.526, titulada "Analog Video Tagging and Encoding System".
Una realización de la invención permite que los DVR y otros dispositivos multimedia se sincronicen con datos intrabanda dentro de flujos de contenido multimedia. Los datos intrabanda se usan para señalizar datos adicionales por el mismo canal o "banda" que el usado para enviar datos, en este caso los datos de audio y vídeo. Una ventaja de usar datos intrabanda para la sincronización es que los datos intrabanda quedan normalmente intactos dentro de los flujos de contenido. De aquí que, dado que normalmente quedan intactos e inalterados, los datos intrabanda son una fuente fiable para la sincronización con un flujo de contenido multimedia.
Ejemplos de datos intrabanda incluyen datos de subtítulos para sordos y datos de señalización de Televisión Mejorada (ETV). Los flujos de subtítulos para sordos contienen datos de subtítulos para sordos (típicamente, datos de instrucciones y texto de subtítulos para sordos) asociados con programas de vídeo como anuncios, telecomedias, largometrajes y otro contenido multimedia para presentar a un espectador. Los datos de señalización de ETV definen señales de instrucciones y control para aplicaciones interactivas que están sincronizadas con programas de vídeo de ETV.
Cuando un dispositivo multimedia recibe un flujo de contenido multimedia que contiene programas de vídeo y datos intrabanda, el dispositivo procesa los datos intrabanda. El flujo de contenido multimedia puede ser emitido por el aire por un proveedor de contenidos o haber sido grabado previamente por el dispositivo multimedia, Durante la grabación o la reproducción de los programas de vídeo, el dispositivo multimedia intenta reconocer patrones de datos intrabanda. Los patrones de datos intrabanda pueden ser proporcionados desde otro dispositivo u otro proveedor de servicio como datos de identificación de eventos. Los datos de identificación de eventos identifican patrones de datos intrabanda que están asociados con eventos particulares en el flujo de contenido multimedia. Los datos de identificación de eventos pueden estar almacenados en un dispositivo de almacenamiento y ser objeto de acceso cuando se procesan datos intrabanda.
El dispositivo multimedia intenta reconocer patrones de datos intrabanda utilizando un algoritmo de correlación. Según una realización el algoritmo de correlación está implementado en una máquina de estado finito. Mientras escucha en busca de datos intrabanda dentro de un flujo de contenido multimedia, el dispositivo multimedia utiliza la máquina de estado para determinar sí los datos intrabanda coinciden con un patrón particular de los datos intrabanda.
Según una realización, los datos de identificación de eventos, que se almacenan localmente en el dispositivo multimedia, también incluyen metadatos. Los metadatos identifican una o más acciones para adoptar en respuesta a la identificación del patrón escuchando los datos intrabanda de un flujo de contenido multimedia. Si ocurre una coincidencia, el dispositivo multimedia procesa los metadatos asociados con el patrón y emprende la acción apropiada especificada en los metadatos. Por ejemplo, el dispositivo multimedia puede presentar un icono a un usuario en una pantalla de visualización. Los metadatos pueden dar instrucciones al dispositivo multimedia en cuanto a cualquier respuesta necesaria si un usuario reacciona ante el icono. Además, en respuesta al reconocimiento de un patrón de datos intrabanda, el dispositivo multimedia puede almacenar segmentos de vídeo asociados con el patrón en un dispositivo de almacenamiento. El dispositivo multimedia también puede usar los metadatos asociados con el patrón reconocido para determinar el lugar en el que empieza o termina un segmento de vídeo, o en el lugar en el que se produce un evento particular dentro del programa de vídeo. De esta manera, se habilita un procedimiento para el reconocimiento y la sincronización con datos intrabanda.
En otro aspecto, se proporciona un procedimiento para crear y ver segmentos multimedia personalizados. Se proporciona a los usuarios en dispositivos multimedia un procedimiento mediante el cual pueden seleccionar eventos o porciones dentro de un programa de vídeo para su almacenamiento o reproducción. En un primer dispositivo multimedia, un usuario selecciona una o más ubicaciones dentro de un programa de vídeo usando una interfaz de control tal como un control remoto. Un dispositivo multimedia recibe señales desde la interfaz de control y determina que ubicaciones se seleccionaron en el programa de vídeo. El dispositivo multimedia calcula entonces un patrón de datos intrabanda relativo a la o las ubicaciones seleccionadas y almacena el patrón de datos intrabanda como datos de identificación de eventos de la misma manera que se ha descrito en lo que antecede.
Los datos de identificación de eventos relativos a la o las ubicaciones seleccionadas pueden ser proporcionados a otro dispositivo multimedia. Usando los datos de identificación de eventos, el otro dispositivo multimedia intenta identificar patrones de datos intrabanda asociados con el programa de vídeo para reconocer la o las ubicaciones dentro del programa de vídeo.
Según una realización, la o las ubicaciones seleccionadas del programa de vídeo representan un evento o un segmento de vídeo. Además, según otra realización, cuando se reconoce el segmento de vídeo, pueden colocarse identificaciones de vídeo en los lugares apropiados dentro del flujo de contenido multimedia para que un usuario pueda saltar directamente al emplazamiento durante la reproducción del programa de vídeo.
Además, en otras realizaciones, una vez que se han generado identificadores de vídeo que representan las ubicaciones seleccionadas del programa de vídeo, pueden extraerse del flujo de contenido los datos de subtítulos para sordos y puede proporcionarse el flujo de contenido a un dispositivo portátil. El dispositivo portátil usa los identificadores de vídeo para indicar la ubicación o los segmentos particulares dentro del programa de vídeo. Alternativamente, en lugar de poner identificadores de vídeo en el flujo de contenido multimedia, puede proporcionarse al dispositivo multimedia una versión no editada del flujo de contenido junto con datos que representan la o las ubicaciones seleccionadas. Los datos que representan la o las ubicaciones seleccionadas pueden ser proporcionados por separado del flujo de contenido multimedia. Un dispositivo portátil puede usar los datos para identificar ubicaciones interesantes dentro de un programa de vídeo y presentar las ubicaciones a un usuario. Alternativamente, el dispositivo portátil puede usar los datos que representan la o las ubicaciones seleccionadas de cualquier manera apropiada.
En otros aspectos, la invención abarca un aparato y un medio legible por ordenador.
\vskip1.000000\baselineskip
2.0 Visión estructural de conjunto
En toda la presente descripción, se usarán varios términos para referirse a conceptos particulares cuyas definiciones se proporcionan en el presente documento. Específicamente, "datos intrabanda" son datos de señalización enviados por el mismo canal o la misma "banda" que se usa para enviar datos de audio y/o vídeo. Colectivamente, los datos intrabanda se contienen en un "flujo de datos intrabanda". Según una realización, el flujo de datos intrabanda puede incluir datos de subtítulos para sordos o datos de señalización de Televisión Mejorada (ETV) en un flujo de contenido multimedia. "Patrones de datos intrabanda" incluye cualesquiera datos intrabanda que aparezcan en un segmento particular del flujo de datos intrabanda. Un patrón de datos intrabanda identifica una secuencia de datos intrabanda seleccionados de una porción del flujo de datos intrabanda. Por ejemplo, el patrón de datos intrabanda puede ser una colección de datos de subtítulos para sordos o datos de señalización de ETV que abarcan un segmento particular del flujo de datos intrabanda. "Datos de identificación de eventos" son datos que identifican uno o más patrones de datos intrabanda. Además, los datos de identificación de eventos pueden también incluir datos adicionales tales como metadatos que describen eventos dentro del flujo de contenido multimedia, así como datos de instrucciones para emprender acciones en respuesta al reconocimiento de patrones de datos intrabanda. Los datos de identificación de eventos pueden ser proporcionados a dispositivos multimedia, que usan la los datos de identificación de eventos para reconocer datos intrabanda en un flujo de contenido multimedia y localizan puntos dentro del flujo de contenido multimedia.
Con referencia a la Fig. 1, según una realización, se muestra un sistema para el reconocimiento y la sincronización con datos intrabanda. El sistema contiene los DVR 102 y 104, cada uno de los cuales está acoplado en comunicación con la red 105 a través de cualquier interfaz apropiada de comunicaciones, tal como un puerto de comunicaciones Ethernet o inalámbrico. Además, el sistema incluye el servidor 106A, el proveedor 106B de contenidos, el ordenador personal 101A y el dispositivo portátil 101B.
El ordenador personal 101A puede ser un dispositivo personal de cálculo, tal como un ordenador de sobremesa o portátil, y está acoplado también a la red 105 a través de cualquier interfaz apropiada. El ordenador personal 101A también está conectado con el dispositivo portátil 101B. El dispositivo portátil 101B es un dispositivo de cálculo de mano, un teléfono móvil, un reproductor multimedia portátil o cualquier otro dispositivo portátil capaz de mostrar contenido multimedia. A través de la red 105, los DVR 102 y 104, el ordenador personal 101A y el dispositivo portátil 101B se comunican cada uno con el servidor 106A y el proveedor 106B de contenidos.
La red 105 puede ser implementada por cualquier medio o mecanismo que permita el intercambio de datos entre dispositivos en el sistema de comunicaciones. Ejemplos de red 105 incluyen, sin limitación, una red tal como una red de área local (LAN), una red de área amplia (WAN), Ethernet o Internet, o uno o más enlaces terrestres, de satélite o inalámbricos. Alternativamente, o además, también pueden conectarse directamente entre sí a través de un enlace de comunicaciones un número cualquiera de dispositivos conectados a la red 105.
En una realización, los DVR 102 y 104 se comunican con el servidor 106A, que proporciona datos de gula de programas, recursos gráficos (como tipografías, imágenes, etc.), información de servicios, soporte lógico, anuncios, datos de identificación de eventos y otras formas de datos que permiten a los DVR 102 y 104 operar independientemente del servidor 106A para satisfacer los intereses de los espectadores.
El proveedor 106B de contenidos también puede proporcionar contenido de programa multimedia directamente a los DVR 102 y 104 por medio de emisiones por el aire, transmisiones por satélite o cable coaxial. El contenido de programa multimedia incluye contenido tal como largo metrajes, telecomedias, programas de variedades, programas de entrevistas, anuncios, etc., para sus presentaciones a usuarios de DVR. Además, el proveedor 106B de contenidos también proporciona datos adicionales al servidor 106A, incluyendo datos promocionales, iconos, datos de páginas electrónicas y otra información para que el servidor 106A la interprete y la proporcione a los DVR 102 y 104. Según otra realización, un proveedor 10?B de contenidos también proporciona contenido de programas multimedia al servidor 106A para su procesamiento. El servidor 106A procesa el contenido de programas multimedia, crea los datos de identificación de eventos y proporciona los datos de identificación de eventos a los DVR y a otros dispositivos.
Los dispositivos multimedia usan los datos de identificación de eventos para reconocer y sincronizarse con flujos de contenido multimedia. Con referencia ahora a la Fig. 2, se muestra un diagrama de bloques que ilustra los componentes de un dispositivo para el reconocimiento y la sincronización con datos intrabanda según una realización. En particular, la Fig. 2 representa los componentes de un DVR 200. Obsérvese que, con fines de ejemplo, se hará referencia a un DVR en toda la descripción. Sin embargo, la invención no está limitada en ese sentido, y el proceso de reconocimiento y sincronización con datos intrabanda puede ser implementado en cualquier tipo de dispositivo multimedia o sistema de ordenador.
El DVR 200 comprende generalmente una pluralidad de componentes, significados por el módulo 202A de entrada, para recibir un contenido de programa multimedia de un proveedor 106B de contenidos o de un servidor 106A. Según una realización, las señales emitidas que representan un flujo de contenido multimedia son enviadas al DVR 200 desde el proveedor 106B de contenidos. El DVR 200 recibe las señales emitidas que representan un flujo de contenido multimedia desde una antena, un sistema de TV por cable, un receptor de satélite o cualquier otro sistema de transmisión por medio del módulo 202A de entrada, El módulo 202A de entrada puede comprender una pluralidad de módulos de sintonización que permiten que una pluralidad de señales sea recibida y grabada simultáneamente. Además, el módulo 202A de entrada toma flujos de entrada de TV en una multitud de formas, por ejemplo una emisión en sistema del Comité Nacional de Estándares de Televisión (NTSC) o PAL, y formas digitales tales como el Sistema de Satélite Digital (DSS), los Servicios de Emisión Digital (DBS) o el Comité de Estándares Avanzados de Televisión (ATSC). DBS, DSS y ATSC se basan en estándares denominados Grupo 2 de Expertos en Imágenes en Movimiento (MPEG2) y Transporte de MPEG 2 Transport. El Transporte de MPEG 2 es un estándar para dar formato al flujo de datos digitales procedente de un transmisor fuente de TV para que el receptor de TV pueda desensamblar el flujo de entrada para encontrar programas en la señal multiplexada.
El DVR 200 también incluye un módulo grabador 204, que es funcional para grabar una o más porciones de un flujo de contenido multimedia recibido desde el módulo 202A de entrada y almacenar el flujo de contenido multimedia como un flujo de datos digitales en el dispositivo 214 de almacenamiento. El módulo 204 de grabación graba el flujo entrante de contenido multimedia almacenando el flujo de datos digitales en al menos un componente de almacenamiento, tal como el dispositivo 214 de almacenamiento, que está diseñado para retener segmentos del flujo de datos digitales. Según una realización, el dispositivo 214 de almacenamiento puede ser una unidad de disco duro situada en el DVR 200. Alternativamente, el dispositivo 214 de almacenamiento puede ser cualquier tipo de medio de almacenamiento volátil y/o no volátil, tal como memoria flash, y puede también consistir en medios de almacenamiento extraíbles, tales como un disco de DVD-ROM. Obsérvese que el DVR 200 puede contener múltiples dispositivos de almacenamiento, medios de almacenamiento o medios de almacenamiento extraíble del tipo descrito en lo que antecede en cualquier combinación de los mismos.
Durante la reproducción, el flujo de datos digitales se convierte en una señal analógica y luego se modula en una portadora de RF por medio del módulo 202 B de salida a través del cual la señal es entregada a un televisor estándar. El módulo 202B de salida puede entregar alternativamente una señal digital a un televisor o un monitor de vídeo. Por ejemplo, el DVR 200 puede utilizar un puerto de Interfaz Visual Digital (DVI) para enviar señales digitales a un TV por medra de un cable DVI. Alternativamente, el módulo 202B de salida puede entregar señales analógicas y/o digitales internamente a un televisor sin el uso de ningún cable. Por ejemplo, el DVR 200 puede ser parte de un televisor, de modo que la comunicación entre el DVR 200 y la pantalla de visualización se realiza internamente a través de un bus de sistema situado en el televisor.
Para grabar y almacenar flujos de contenido multimedia, así como otros tipos de datos, el DVR 200 incluye un dispositivo 214 de almacenamiento. El dispositivo 214 de almacenamiento puede ser un disco duro, una memoria o cualquier otra forma de almacenamiento situada en el DVR 200. El dispositivo 214 de almacenamiento puede usarse para almacenar no solo material de programas o flujos de contenido multimedia, sino también datos adicionales para el uso por parte del DVR 200. Por ejemplo, puede almacenarse datos de identificación de eventos en el dispositivo 214 de almacenamiento para su recuperación futura. Aunque el dispositivo 214 de almacenamiento aparece como un módulo dentro del DVR 200, el dispositivo 214 de almacenamiento puede estar situado alternativamente fuera del DVR 200, y el DVR 200 puede comunicarse con el almacenamiento usando una interfaz tal como la interfaz 206 de comunicaciones.
El DVR 200 también incluye una interfaz 206 de comunicaciones, a través de la cual el DVR 200 se comunica con la red 105 a través de Ethernet, red inalámbrica, módem u otros estándares de comunicaciones. En otras realizaciones, la interfaz 206 de comunicaciones puede ser cualquier tipo de puerto de comunicaciones, tal como un cable coaxial, infrarrojos, fibra óptica o puerto serie. Según un ejemplo, se comunican datos desde el servidor 106A por la red 105 hasta el DVR 200 usando un cable Ethernet conectado a la interfaz 206 de comunicaciones. Usando la interfaz 206 de comunicaciones, el DVR 200 puede comunicarse con un PC 101A o el dispositivo portátil 101B a través de una
LAN.
El módulo 202A de entrada recibe flujos de contenido multimedia para su grabación y reproducción para los usuarios del DVR. Cuando se reciben flujos de contenido multimedia en el módulo 202A de entrada, son grabados por el módulo grabador 204 y procesados para su presentación al usuario por medio del módulo 202B de salida. El procesamiento del flujo de contenido multimedia para su visualización incluye el envío del flujo de contenido multimedia al dispositivo 214 de almacenamiento y, después, al módulo 202B de salida para su visualización. De hecho, el DVR graba porciones de los flujos de contenido multimedia durante la reproducción en directo, permitiendo que un usuario pause y rebobine una emisión en directo sin grabar todo el programa de vídeo. El procesamiento del flujo de contenido multimedia se describe adicionalmente con más detalle en la patente estadounidense nº 6.233.389, titulada "Multimedia Time Warping System" - (de aquí en adelante patente '389).
Durante la operación del DVR 200, el módulo 210 de análisis escucha en busca de datos intrabanda, tales como datos de subtítulos para sordos o datos de señalización de ETV. Mientras se analiza el flujo de contenido multimedia, el módulo 210 de análisis monitoriza la porción del flujo de datos intrabanda. Alternativamente, el módulo 210 de análisis puede monitorizar los datos intrabanda durante cualquier otro momento, tal como en la reproducción del flujo de contenido multimedia.
Según una realización, el flujo de contenido multimedia es un flujo de transporte MPEG y los datos intrabanda están intercalados con datos de audio de vídeo como un evento de datos privados. Dado que los datos intrabanda son un evento discreto dentro del flujo de contenido, son fácilmente reconocibles por un dispositivo multimedia tal como el DVR 200. Además, en el caso en el que la emisión original está en un formato analógico, el DVR 200 contiene una pluralidad de componentes necesarios para digitalizar flojos de contenido multimedia en el módulo 202A de entrada, de modo que el flujo de contenido multimedia tenga la forma de un flujo de transporte MPEG cuando sea procesado por el módulo 210 de análisis. Los datos intrabanda son extraídos mientras se colocan vídeo y audio en un flujo elemental empaquetado (PES), como describe adicionalmente en la patente '389. Los datos intrabanda se combinan entonces con el audio y el vídeo para su procesamiento por el módulo 210 de análisis y para su presentación por medio del módulo 202B de salida.
Para sincronizar con flujos de contenido multimedia, el DVR 200 también contiene una máquina 212 de estado de reconocimiento de patrones. En una realización, la máquina 212 de estado de reconocimiento de patrones representa un algoritmo para el reconocimiento de patrones de datos intrabanda dentro del flujo de contenido multimedia, la máquina 212 de estado de reconocimiento de patrones procesa los datos de identificación de eventos, que incluye patrones conocidos de datos intrabanda, en un intento por identificar los datos intrabanda con patrones conocidos de datos intrabanda.
Según una realización, la máquina 212 de estado de reconocimiento de patrones es un algoritmo basado en el estado que intenta identificar datos intrabanda procedentes del módulo 210 de análisis con patrones de datos intrabanda en los datos de identificación de eventos almacenados en el dispositivo 214 de almacenamiento. Si ocurre una coincidencia, la máquina 212 de estado de reconocimiento de patrones informa de la coincidencia al DVR 200, que inspecciona los metadatos asociados con el patrón reconocido de datos intrabanda. En base a los metadatos, el DVR 200 puede emprender cualquier número de acciones en sincronización con el flujo de contenido multimedia.
Obsérvese que aunque los componentes del DVR 200 han sido descritos en relación con un DVR, los anteriores módulos pueden estar integrados en un sistema de TV, de tal modo que los módulos estén alojados en un televisor capaz de llevar a cabo las funciones de cada módulo del DVR 200. Además, en otras realizaciones, los módulos descritos en lo que antecede pueden estar situados entre cualquier número de dispositivos capaces de realizar las funciones descritas. Así, mediante la operación de los componentes descritos, el DVR 200 puede reconocer datos intrabanda y sincronizar acciones y eventos con los datos intrabanda.
\vskip1.000000\baselineskip
3.0 Enfoque para reconocer datos intrabanda y sincronizar con los mismos
Tal como se ha mencionado en lo que antecede, los datos intrabanda pueden adoptar muchas formas. Dos formas tales incluyen datos de subtítulos para sordos y datos de señalización de ETV. Obsérvese, sin embargo, que la invención no está limitada a datos de subtítulos para sordos ni de señalización de ETV, y que puede ser aplicada a otros tipos de datos intrabanda.
\vskip1.000000\baselineskip
3.1 Datos de subtítulos para sordos
Un tipo de datos intrabanda dentro de un flujo de contenido multimedia son los datos de subtítulos para sordos. Los datos de subtítulos para sordos son datos que representan texto de subtítulos para sordos para su presentación a un usuario, así como control de subtítulos para sordos en conjunción con programación de vídeo. Los dispositivos multimedia pueden reconocer los datos de subtítulos para sordos y sincronizar acciones y eventos con los datos de subtítulos para sordos de diversas maneras usando los procesos según se describe en el presente docu-
mento.
Un dispositivo multimedia puede usar patrones de datos de subtítulos para sordos para reconocer y sincronizarse con flujos de contenido multimedia. Los tipos de patrones de datos disponibles en los datos de subtítulos para sordos son numerosos. Por ejemplo, pueden existir patrones de datos diferenciados dentro del texto de subtítulos para sordos propiamente dicho, los datos de control de los subtítulos para sordos, así como cualquier otro evento definido por los datos de subtítulos para sordos. Reconociendo patrones diferenciados dentro de los datos de subtítulos para sordos, un DVR puede identificar eventos dentro del flujo de contenido multimedia.
Una manera de reconocer patrones dentro de los datos de subtítulos para sordos es calculando valores de clave calculada que representen el texto de los subtítulos para sordos e identificando patrones de las secuencias de valores de claves calculadas. Así, según una realización, en un dispositivo multimedia, tal como un DVR o un servidor, se analizan los datos de subtítulos para sordos y se generan valores de clave calculada correspondientes a los datos de subtítulos para sordos. Los valores de clave calculada se compilan entonces en secuencias de valores de clave calculada con programas o segmentos de vídeo particular, y se combinan además con metadatos que definen información de instrucciones y control para su procesamiento en dispositivos multimedia.
Estas secuencias de claves calculadas y estos metadatos son proporcionados a dispositivos multimedia tales como DVR en forma de datos de secuencias de valores de clave calculada. Los dispositivos multimedia usan los datos de secuencias de valores de clave calculada para reconocer y sincronizarse con los datos de subtítulos para sordos. El dispositivo multimedia usa un algoritmo de identificación para comparar secuencialmente los valores generados de clave calculada procedentes de los datos de subtítulos para sordos cor» múltiples secuencias de claves calculadas que el dispositivo multimedia tiene almacenadas localmente. Según una realización, el algoritmo de identificación se implementa por medio de una máquina de estado que procesa los valores generados de clave calculada e informa si ha ocurrido o no una coincidencia en una secuencia de claves calculadas identificada por los datos de secuencias de valores de clave calculada.
\vskip1.000000\baselineskip
3.1.1 Generación de datos de secuencia de valores de clave calculada
Según una realización, para reconocer datos de subtítulos para sordos y sincronizar acciones y eventos con los datos de subtítulos para sordos en un sistema de ordenador, los datos de secuencias de valores de clave calculada son generados y proporcionados a dispositivos como los DVR 102 y 104, Cada DVR 102 y 104 también recibe uno o más flujos de contenido multimedia que contienen programas de vídeo para su presentación a un usuario. Tal como se define en el presente documento, un programa de vídeo puede ser un largometraje, un programa de variedades, un programa de entrevistas, un vídeo musical, un programa de telecomedia, anuncios, una emisión de televisión en directo o cualquier otro contenido multimedia reproducido para un usuario de un DVR.
Los datos de subtítulos para sordos, según una realización, pueden estar contenidos en un flujo separado de datos asociado con el flujo de contenido multimedia. Por ejemplo, si un programa está en forma digital, los datos de subtítulos para sordos son comunicados dentro del flujo MPEG2 como parte de un canal privado de datos. Sin embargo, cuando se comunican en un formato analógico, los datos de subtítulos para sordos están modulados, en cambio, en el Intervalo de Supresión Vertical (VBI) de la señal analógica de TV de varias maneras estándar por ejemplo, puede usarse el Estándar Norteamericano de Emisión de Teletexto (NABTS) para modular información en las líneas 10 a 20 de una señal NTSC, mientras que la FCC ordena el uso de la línea 21 para los subtítulos para sordos (SS) y los Servicios de Datos Extendidos (EDS). Sin embargo, las señales analógicas de subtítulos para sordos son decodificadas por el módulo de entrada del DVR y son pasadas a los otros componentes del DVR como sí fuesen distribuidas por medio de un canal privado de datos MPEG2. Por lo tanto, tal como se ha descrito en lo que antecede, el módulo 210 de análisis del DVR 200 puede procesar los datos de subtítulos para sordos que en origen se transmitieron en formato analógico o digital. Puede encontrarse más información sobre la ubicación de datos de subtítulos para sordos en flujos de contenido multimedia en la solicitud estadounidense con nº de serie 09/665.921, titulada "Closed-Caption Tagging System".
En otras realizaciones, los datos de subtítulos para sordos pueden estar contenidos en cualquier forma detectable dentro del flujo de contenido multimedia. El servidor 106A y el DVR 200 pueden leer y analizar (os datos de subtítulos para sordos.
Como parte del proceso de reconocimiento de datos de subtítulos para sordos y de sincronización de acciones y eventos con los datos de subtítulos para sordos en un flujo de contenido multimedia, cada DVR 102 y 104 recibe también datos de identificación de eventos. Según una realización, los datos de identificación de eventos son datos de secuencias de valores de clave calculada. Los datos de secuencias de valores de clave calculada pueden provenir de varias fuentes tales como el servidor 106A. Por ejemplo, el servidor 106A puede procesar de antemano un contenido de programa calculando valores de clave calculada y determinando secuencias de claves calculadas para su uso por dispositivos multimedia. El contenido de programa puede ser proporcionado por el proveedor 106B de contenido al servidor 106A antes de que se emita por vez primera a dispositivos multimedia. El servidor 106A puede proporcionar secuencias de claves calculadas a los dispositivos multimedia antes de que los dispositivos multimedia reciban el contenido del programa asociado. Alternativamente, los datos de la secuencia pueden provenir de otro dispositivo de cálculo, tal como otro DVR.
Por lo tanto, con referencia ahora a la Fig. 3A, se muestra un diagrama de flujo que representa un procedimiento para generar datos de una secuencia de valores de clave calculada según una realización. En la etapa 302, el servidor 106A recibe datos que representan uno o más programas de vídeo procedentes del proveedor 106B de contenidos. Los datos pueden estar en forma de flujo de contenido multimedia o pueden ser datos individuales de programas de vídeo separados del flujo de contenido multimedia. Junto con los datos de programas de vídeo, el proveedor 106B de contenidos también suministra al servidor 106A datos de subtítulos para sordos asociados con el programa de vídeo. En una realización, los datos de subtítulos para sordos pueden estar embebidos dentro de un flujo de contenido multimedia que contenga el programa de vídeo suministrado por el proveedor 106B de contenidos. Además, el proveedor 106B de contenidos puede proporcionar metadatos que contengan información de eventos asociados con programas de vídeo.
El servidor 106A define información que especifica eventos o acciones sobre los que opera el dispositivo multimedia mientras presenta un programa de vídeo a un usuario. Esta información puede incluir referencias a iconos gráficos o contenido adicional para mostrar al usuario. El contenido o los iconos estarían presentes en el dispositivo multimedia o serian obtenibles por el dispositivo a través de Internet, de la red u otro DVR. Además, la información puede presentar datos que representan ciertos eventos dentro del programa de vídeo. Por ejemplo, si una emisión deportiva se dividiese en tiempos separados y un descanso, el proveedor 106B de contenidos podría proporcionar información del evento al servidor 106A que indicase en qué lugar del flujo de contenido multimedia ocurre el descanso. Usando esta información, el servidor 106A puede generar datos de secuencia de valores de clave calculada para permitir que un DVR identifique automáticamente el comienzo y el final del descanso dentro del programa de vídeo. Dado que el descanso ha sido identificado, un usuario del DVR puede solicitar del DVR que se salte automáticamente el descanso cuando vea la emisión grabada.
Además, según una realización, el servidor 106A pueda obtener datos de subtítulos para sordos para programas de vídeo procedentes de cualquier dispositivo multimedia, tal como un DVR. Por ejemplo, el DVR 102 puede haber grabado previamente un programa de vídeo que contuviera datos de subtítulos para sordos. El DVR 102 puede enviar el programa de vídeo grabado al servidor 106A por la red 105, incluyendo los datos de subtítulos para sordos asociados con el programa de vídeo para su procesamiento por el servidor 106A.
En la etapa 304, el servidor 106A analiza los datos de subtítulos para sordos del programa de vídeo convirtiéndolos en valores de clave calculada, que son usados para crear datos de secuencias de valores de clave calculada. El servidor 106A puede usar varios procedimientos diferentes para crear valores de clave calculada. El procedimiento usado para crear valores de clave calculada para datos de subtítulos para sordos puede variar según el procedimiento usado por el flujo de subtítulos para sordos para mostrar el texto de subtítulos para sordos a un espectador del programa de vídeo. Así, el servidor 106A realiza un seguimiento de qué modo de subtítulo para sordos se está usando para mostrar los datos de subtítulos para sordos. Por ejemplo, según una realización, el texto de subtítulo para sordos puede ser procesado y mostrado a un usuario usando el modo de aparición súbita, el modo de aparición ascendente o el modo de aparición sobre segundo plano, tal como se describe adicionalmente en el presente documento. Dependiendo del modo usado, un valor de clave calculada representa el resultado de aplicar una función de clave calculada a varios caracteres en una línea de texto. Una función H de clave calculada es una transformación que toma una entrada m de tamaño variable y devuelve una cadena de tamaño fijo, que se denomina valor de clave calculada h; es decir, h = H(m). La entrada de tamaño variable para datos de subtítulos para sordos dependerá del procedimiento de subtítulo para sordos que se use, tal como se describirá adicionalmente en el presente documento. Además, según una realización, la cantidad de caracteres que pueden ponerse en una línea de datos de subtítulos para sordos es
limitada.
Sin embargo, el analizador 312 puede ser configurado para aceptar cualquier número de caracteres en una línea de texto para acomodar diferentes sistemas. Así, tal como se describe en lo que sigue, el analizador 312 determina cuándo generar valores de clave calculada en respuesta a la detección de eventos diferenciados dentro de los datos de subtítulos para sordos. Los eventos diferenciados dentro de los datos de subtítulos para sordos pueden ser instrucciones tales como una instrucción de "retorno de carro". Puede usarse una instrucción de "retorno de carro" para definir el final o el comienzo de una línea de texto. Así, por ejemplo, cuando se ha completado una línea de texto, un "retorno de carro" hará que la posición del cursor se ponga en la línea siguiente.
La función de clave calculada es útil para crear un valor estandarizado de clave calculada de tamaños variables de texto. Según una realización, los caracteres pueden representar números hexadecimales similares a los definidos por el Código Estadounidense Normalizado para el Intercambio de Información (ASCII). Además, algunas implementaciones de subtítulos para sordos pueden utilizar un estándar ASCII modificado para la presentación de símbolos alternativos, tales como notas musicales durante el audio en un programa de vídeo.
Según una realización, el módulo 210 de análisis aplica el algoritmo de clave calculada a las representaciones hexadecimales de los datos de subtítulos para sordos para producir valores de clave calculada. Además, el módulo 210 de análisis ajusta el procedimiento para el cálculo de valores de clave calculada dependiendo del procedimiento de subtítulos para sordos que se esté usando.
Con referencia a la Fig. 3B, se muestra un diagrama de bloques que ilustra el procedimiento para generar datos de secuencias de valores de clave calculada según una realización. Las tramas 310A-310D representan tramas de un programa de vídeo dentro de un flujo de contenido multimedia recibido en el servidor 106A. Según una realización, los programas de vídeo se reproducen a una velocidad de treinta tramas por segundo. Cada trama 310A-310D es reproducida en un instante particular según la velocidad de las tramas. Por ejemplo, la trama 310A ocurre a la hora = 1:00 y la trama 310B ocurre a la hora = 1:05. De aquí que, suponiendo una velocidad de tramas de treinta tramas por segundo, la trama 3106 ocurre en el número de trama 151, o 150 tramas después de la trama 310A.
Obsérvese que las tramas 310A-310D son solo cuatro tramas diferenciadas entre muchas tramas dentro del flujo de contenido multimedia, y pueden existir muchas tramas entre cada una de las tramas 310A y 310D. En las tramas 310A-310D, se generan valores de clave calculada para el texto A-D, respectivamente. El texto A-D es texto contenido dentro de un flujo de subtítulos para sordos, y las tramas 310A-310D representan el instante en el que se generan los valores de clave calculada para el texto. Obsérvese, sin embargo, que el texto de subtítulos para sordos normalmente se presenta un tiempo mayor que una trama cada vez. Según una realización, la tasa de transmisión para datos de subtítulos para sordos es de dos bytes por trama de vídeo, y la transmisión o la recepción de una línea completa de texto lleva varias tramas. El texto B, por ejemplo, puede mostrarse en múltiples tramas que precedan a la trama 310B. Sin embargo, la trama 310B es la posición dentro del flujo de contenido multimedia en la que se genera un valor de clave calculada para el texto B.
Además, dado que cada trama 310A-310D es mostrada en un momento particular, pueden crearse metadatos que contengan datos de tiempo relativo que representen un instante dentro del programa de vídeo o del flujo de contenido multimedia en que se está mostrando la trama, así, la trama 310A está mostrando el texto A a la hora 1:00, mientras que la trama 310B está mostrando el texto B a la hora 1:05. El analizador 312 lee el texto A-D de cada trama 310A-310D para generar los valores 314A-314D de clave calculada y los metadatos asociados con esos valores de clave calculada, respectivamente, Sin embargo, obsérvese que no es preciso crear metadatos cada vez que se genere un valor de clave calculada.
En otras realizaciones, el analizador 312 puede analizar tramas adicionales que no muestren ningún texto. Sin embargo, dado que esas tramas no contienen ningún texto de subtítulos para sordos, no se desencadenará la generación de un valor de clave calculada. Más bien, tal como se describe con detalle adicional en el presente documento, el analizador 312 no genera un valor de clave calculada hasta que haya ocurrido un evento desencadenante. Dependiendo del procedimiento de subtítulos para sordos que se estén usando, el evento desencadenante variará de un caso a otro. Por ejemplo, según una realización, el evento desencadenante es la identificación de una instrucción de "retorno de carro" dentro de los datos de subtítulos para sordos. Cuando se detecta la instrucción de "retorno de carro" dentro de los datos de subtítulos para sordos, el analizador 312 genera un valor de clave calculada que representa las una o más líneas de texto de subtítulos para sordos que abarcan varios segundos dentro del programa de vídeo.
La tabla 320 representa una enumeración de valores de clave calculada generados por el analizador 312 del programa de vídeo representado por las tramas 310A-310D. La tabla 320 incluye una columna de Valor de la clave calculada, una columna de Hora y una columna de Desfase horario. La columna Valor de la clave calculada representa los valores do clave calculada generados por el analizador 312 para las tramas 310A-310D. La columna Hora representa el tiempo relativo en que se generó cada valor de clave calculada según el debido procedimiento de subtítulos para sordos. El valor horario puede ser relativo a todo el flujo de contenido multimedia, a las tramas particulares 310A-310D que contienen el programa de vídeo o a la hora del reloj del mundo real del DVR.
Cuando el analizador 312 genera un valor de clave calculada para cualquier trama, el analizador 312 interroga a un módulo temporizador 209 del DVR 200 para determinar el instante en el que se generó el valor de clave calculada. Mientras el analizador 312 use la misma unidad temporal relativa para generar la hora en la columna Hora, el DVR 200 podrá seguir con precisión cualquier variación horaria entre los valores generados de clave calculada y los datos de la secuencia de valores de clave calculada. La columna Desfase horario indica la diferencia entre los datos horarios asociados con un valor de clave calculada y los datos horarios asociados con un valor subsiguiente de clave calculada. Por ejemplo, se documenta que el valor de clave calculada "3D59" no tiene ningún valor de desfase horario. En este caso, se determina que el valor de clave calculada "3D59" es el comienzo de una secuencia de claves calculadas, por lo que no se precisa ningún valor de desfase horario. Sin embargo, para el valor de clave calculada "2Z55", se documenta un valor de desfase horario de :05 segundos, lo que indica que el valor de clave calculada "2Z55" se genera aproximadamente :05 segundos después de que se haya generado el valor de clave calculada "3D59". Esta información puede ser usada para localizar el comienzo de un programa de vídeo o, alternativamente, cualquier evento o ubicación particulares dentro del programa de vídeo en un DVR. El proceso de uso de la información de desfase horario para sincronizar un sistema de ordenador con un programa de vídeo se expone con mayor detalle más abajo en la sección 3.3.
Así, el analizador 312 analiza los datos de subtítulos para sordos dentro del programa de vídeo. Con referencia otra vez a la Fig. 3A, una vez que el analizador 312 ha analizado los datos de subtítulos para sordos de un programa de vídeo convirtiéndolos en valores de clave calculada, el servidor 106A pasa a generar secuencias de claves calculadas asociadas con el programa de vídeo en la etapa 306. Cuando el analizador 312 ha completado la generación de un número particular de valores de clave calculada para un programa de vídeo o un segmento de un programa de vídeo, el analizador 312 crea datos de secuencias de valores de clave calculada a partir de los valores de clave calculada generados.
El número de valores de clave calculada en una secuencia de claves calculadas, así como la cantidad de tiempo representada por los valores de clave calculada pueden ser fijados de forma arbitraria por el analizador 312, el servidor 106A o por cualquier otro dispositivo o usuario que deseen controlar la creación de datos de secuencias de valores de clave calculada. Por ejemplo, si el proveedor 106B de contenidos suministrase un programa particular de vídeo para su análisis al servidor 106A, el proveedor 106B de contenidos también puede indicar que, durante una porción particular del programa de vídeo que durante de cinco a diez segundos, aparezca un icono en pantalla que solicite la intervención del usuario. La Fig. 3D es un diagrama que ilustra la aparición de tal icono en una pantalla de visualización según una realización. Según la Fig. 3D, la pantalla 400 de visualización muestra un icono 404. El icono 404 contiene un diálogo que solicita la intervención 404A del usuario. En este ejemplo, el proveedor 106B de contenidos solicita al servidor 106A que el icono 404 aparezca en la pantalla 400 de visualización durante una porción particular de un programa de vídeo. Aquí, el analizador 312 puede ser configurado para generar valores de clave calculada que abarquen al menos 10 segundos de la porción seleccionada del programa de vídeo. Esto garantiza que se generen valores de clave calculada para al menos la porción seleccionada del programa de vídeo, dando a un sistema de ordenador suficiente tiempo para reconocer la secuencia completa de valores de clave calculada y para identificar positivamente el programa o la porción de vídeo. Además, para compensar cualquier demora o margen de error, el analizador 312 puede ser configurado para generar valores de clave calculada que abarquen más de la porción seleccionada del programa de vídeo.
Alternativamente, puede determinarse la longitud de cualesquiera datos de secuencias de valores de clave calculada por lo único que es cada valor de clave calculada generado dentro de la secuencia de claves calculadas. Por ejemplo, en algunas situaciones, los mismos datos de subtítulos para sordos pueden dar como resultado el mismo valor de clave calculada. Si dos programas de vídeo contienen datos muy similares de subtítulos para sordos, tales como dos anuncios con muy poco texto de subtítulos para sordos, pueden empezar generando los mismos valores de clave calculada para la primera porción del programa. Sin embargo, cuando más tiempo genere el analizador 312 valores de clave calculada para un programa de vídeo particular, más probable es que la secuencia de clave calculada sea única. Por lo tanto, el analizador 312 puede ser configurado para que seleccione cualquier número de valores de clave calculada para incluirlos en una secuencia de claves calculadas para controlar la precisión de la coincidencia de los datos de secuencias de valores de clave calculada con los programas de vídeo. Además, cuando el analizador 312 genera los valores de clave calculada, el servidor 106A puede asociar metadatos con los datos de secuencias de valores de clave calculada. Los metadatos asociados pueden indicar que se muestre un icono 400 solicitando la intervención del usuario, tal como se ha expuesto en el ejemplo que antecede.
Cuando se generan valores de clave calculada, el analizador 312 incluye datos horarios asociados con el instante en que se generó cada valor de clave calculada. Sin embargo, los mismos datos de subtítulos para sordos o incluso el mismo valor de clave calculada pueden ser generados en momentos diferentes según el procedimiento de subtítulos para sordos usado.
Así, con referencia a la Fig. 3C, se muestran diferentes procedimiento de subtítulos para sordos según una realización. Respectivamente, se muestran a un usuario datos de subtítulos para sordos en modo 340 de aparición súbita, en modo 342 de aparición ascendente o en modo 346 de aparición sobre segundo plano. La Fig. 3C muestra un área de datos entrantes de SS de un flujo de subtítulos para sordos y un área de visualización que representa la salida o la visualización propiamente dicha del texto de subtítulos para sordos para un usuario.
\vskip1.000000\baselineskip
3.1.1.1 Modo de aparición súbita
En el modo 340 de aparición súbita, según una realización, entre una y cuatro líneas de texto aparecen en pantalla todas a la vez, se quedan ahí durante un período de tiempo y luego son sustituidas por las siguientes líneas de texto de subtítulos para sordos.
En el modo 340 de aparición súbita, los datos entrantes de subtítulos para sordos se colocan en la memoria intermedia posterior 350B y se muestran con una sola instrucción de "volcar memorias intermedias" una vez que el texto completo para una trama particular o una serie de tramas está listo para ser visualizado. En este modo, se genera un valor de clave calculada para el texto que se está visualizando cuando se emite la instrucción de "volcar memorias intermedias". Cuando se emite la instrucción de "volcar memorias intermedias", el texto en la memoria intermedia posterior 350B es transferido a la memoria intermedia anterior 350A, que representa el texto que se está visualizando en el dispositivo 360 de visualización.
En el modo de aparición súbita, hay solo dos eventos bien definidos que cambian el texto visible en el dispositivo 360 de visualización para el usuario. Estos eventos incluyen (1) el volcado de las memorias intermedias, de tal forma que el contenido de la memoria intermedia posterior 350B se ponga en la memoria intermedia anterior 350A, y (2) el borrado del texto mostrado en la pantalla 360 de visualización. Generar valores de clave calculada en el modo de aparición súbita es meramente cuestión de mantener un seguimiento del texto compuesto en la memoria intermedia posterior y de crear un valor de clave calculada para el texto en la memoria intermedia posterior 350B una vez que han sido procesadas una instrucción de volcado o una instrucción de borrado de la memoria intermedia visuali-
zada.
Así, en el modo de aparición súbita, el analizador 312 mantendrá un seguimiento del texto que se está componiendo en la memoria intermedia posterior 350B. Mientras monitoriza la memoria intermedia posterior 350B, el analizador 312 sigue actualizando un valor de clave calculada correspondiente a al valor total de cualquier texto acumulado en la memoria intermedia posterior 350B. Inicialmente, la memoria intermedia posterior 350B está vacía. Mientras se está componiendo el texto introduciéndolo en cada línea, el analizador 312 aguarda hasta que se emita una instrucción de "colocación del cursor". Puede usarse una instrucción de colocación del cursor para colocar el cursor de texto en una nueva línea. En base a la instrucción de colocación del cursor, el analizador 312 puede determinar que una línea está completa y calcula un valor de clave calculada para la línea particular.
Al final, se vacía la memoria intermedia anterior 350A y se vuelca la memoria intermedia posterior 350B a la anterior mediante la emisión de una instrucción de volcado de las memorias intermedias. Obsérvese que la memoria intermedia posterior 3508 puede contener múltiples líneas de texto. Para generar un solo valor de clave calculada para las múltiples líneas de texto, se genera un valor acumulativo de clave calculada para todas las líneas de texto que aparecen en la memoria intermedia anterior 350A. El valor acumulativo de clave calculada es creado una vez que la memoria intermedia posterior 350B es volcada a la memoria intermedia anterior 350A. Así, mientras se está compilando texto en la memoria intermedia posterior 350B, el analizador 312 realiza un seguimiento de los valores individuales de clave calculada para cada línea de texto según se ha descrito en lo que antecede. Cuando se vuelca a la memoria intermedia anterior 350A, se combinan entre sí los valores de clave calculada para cada línea para crear el valor acumulativo de clave calculada.
Según una realización, cuando el analizador 312 genera el valor de clave calculada, el analizador 312 también recupera los datos horarios asociados con el flujo de contenido multimedia procedentes del módulo temporizador 209. El módulo temporizador 209 puede indicar la temporización del flujo de contenido relativo de forma relativa al comienzo del flujo de contenido multimedia, una hora de reloj de calendario, el tiempo desde el último valor de clave calculada o el tiempo relativo al comienzo de un programa de vídeo dentro del flujo de contenido multimedia. De aquí que, con referencia de nuevo a la Fig. 3B, por ejemplo, el analizador 312 determina que el texto A de la trama 310A ha sido volcado a la memoria intermedia anterior 350A a la hora = 1:00 y que tiene un valor correspondiente de clave calculada de "3D59".
\vskip1.000000\baselineskip
3.1.1.2 Modo de aparición ascendente
Otro modo de presentar texto de subtítulos para sordos es el modo 342 de aparición ascendente. En el modo 342 de aparición ascendente, que es más común en las emisiones en directo, como las noticias o los programas de entrevistas, se mecanografía texto a medida que se enuncia y aparece en el televisor tan pronto como se recibe. Una vez que se recibe una instrucción de "retorno de carro", el texto sube. Una instrucción de retorno de carro es una instrucción que hace que el cursor vuelva al comienzo de la línea. Dado que el cursor ha vuelto al comienzo de una nueva línea, puede usarse un retorno de carro para indicar que se está componiendo una nueva línea. Según una realización, inicialmente puede componerse texto en el dispositivo 360 de visualización de tal forma que la trama X incluya así la línea 1 de texto, mientras que los datos entrantes 350C de SS contiene texto que es compuesto subsiguientemente, tal como las líneas 2-4 de texto. Cuando la línea 2 de texto está lista para ser mostrada, la línea 2 de texto "asciende" hasta la pantalla, haciendo que la línea 1 de texto se desplace hacia arriba en la trama Y del dispositivo 360 de visualización. En una realización, la trama Y solo permite que se presenten dos líneas de texto en un momento dado. Así, en cualquier trama subsiguiente, cuando la línea 3 de texto está lista para ser mostrada, se borrarla la línea 1 de texto y la línea 2 de texto se movería hacia arriba, ocupando la segunda fila de texto en el dispositivo 360 de visualización. Alternativamente, puede aprovisionarse cualquier número de líneas para subtítulos para sordos en el modo de aparición ascendente.
Según una realización, para generar valores de clave calculada en el modo de aparición ascendente, el analizador 312 monitoriza las líneas de texto y queda a la escucha en busca de una instrucción de retorno de carro. Una vez que el analizador 312 determina que ha ocurrido tal evento, el analizador 312 genera un valor de clave calculada para el texto correspondiente. Así, se genera un valor de clave calculada cuando se completa una línea de texto, y los datos de subtítulos para sordos contienen un evento diferenciado visible para el usuario que marca el fin de la línea. En vez de crear un valor acumulativo de clave calculada para todas las líneas de texto mostradas en la pantalla, el modo de aparición ascendente genera y documenta un valor de clave calculada para cada línea de texto visible a medida que aparece en pantalla.
Por ejemplo, según una realización, el analizador 312 puede determinar que una línea de texto está completa cuando el texto asciende una línea; por ejemplo, la línea 1 de texto en la trama Y. El analizador 312 puede detectar que una línea de texto está completa cuando detecta una instrucción de "retorno de carro" dentro de los datos entrantes 350 de SS. De aquí que, con referencia de nuevo a la Fig. 3B, por ejemplo, el analizador 312 determine que una línea de texto correspondiente al texto B está completa después de detectar una instrucción de "retorno de carro" en la trama 310B y calcula un valor de clave calculada de "2Z55" a la hora = 1:05.
\vskip1.000000\baselineskip
3.1.1.3 Modo de aparición sobre segundo plano
Otro modo de subtítulos para sordos es el modo 344 de aparición sobre segundo plano. El modo 344 de aparición sobre segundo plano es similar al modo 340 de aparición súbita, salvo en que los datos entrantes 350D de SS se componen directamente en una memoria intermedia anterior y. dado que el contenido de la memoria intermedia anterior es alimentado directamente al dispositivo de visualización, un espectador puede ver el texto a medida que se compone. En una realización, para generar valores de clave calculada, el analizador 312 aguarda hasta que ocurre el primer evento visible al usuario después de que se completa una línea entera de texto. Así, en el modo 344 de aparición sobre segundo plano, un procedimiento de generación de valores de clave calculada incluye la acumulación de una línea de texto a medida que se está mostrando y aguardando el primer evento visible para el usuario después de que la línea está completa para generar el valor de clave calculada para esa línea. El primer evento visible para el usuario podría ser el inicio de otra línea, el borrado de la pantalla o una instrucción de "volcar memorias intermedias" para mostrar el nuevo texto en el modo de aparición súbita.
\vskip1.000000\baselineskip
3.1.2 Metadatos de secuencia de claves calculadas
Con independencia del tipo del modo de subtítulos para sordos que se esté usando, una vez que el analizador 312 genera los valores de clave calculada asociados con un programa de vídeo, los valores de clave calculada se colocan en la tabla 320 junto con cualesquiera datos adicionales, tales como la hora y los datos del desfase horario para cada valor de clave calculada. Los datos acumulativos en la tabla 320 representan así datos de secuencias de valores generados por un dispositivo tal como el servidor 106A.
Una vez que se han generado los datos de la secuencia de valores de clave calculada, pueden asociarse metadatos adicionales con la secuencia de claves calculadas. Según una realización, los metadatos adicionales pueden incluir datos de instrucción y datos de control para emprender alguna acción tras el reconocimiento de la secuencia de claves calculadas.
Así, con referencia de nuevo a la Fig. 3B, la tabla 330 incluye columnas que representan secuencias de claves calculadas y metadatos asociados con las secuencias de claves calculadas. Según una realización, la secuencia de claves calculadas 3D59, 2255, A6E3 y 9Y95 incluye metadatos que describen un evento EVENTO 1. El EVENTO 1 puede ser un evento dentro del flujo de contenido multimedia que ocurre en un momento particular. Por ejemplo, el EVENTO 1 puede definir una ubicación particular dentro de un programa de vídeo, tal como un descanso durante un evento deportivo. Los metadatos que definen el EVENTO 1 pueden también incluir información adicional, tal como una descripción del programa de vídeo y acciones subsiguientes que adoptar después de reconocer el evento. Por ejemplo, el EVENTO 1 puede incluir información de identificación para insertar una identificación en el flujo de programa a la hora del EVENTO 1. El identificador es operativo para permitir que un usuario vaya directamente al EVENTO 1 o, alternativamente, que se salte el EVENTO 1 durante la reproducción. La funcionalidad de las identificaciones en el flujo de contenido multimedia se describe con mayor detalle en lo que sigue, y se describe también en la solicitud estadounidense con nº de serie 09/665.921, titulada "Closed Caption Tagging System".
Con referencia aún a la tabla 330, los metadatos pueden también especificar acciones particulares, tales como la ACCIÓN 1, asociada con la secuencia de claves calculadas A6E3, 9Y95, E4E9 y 9F4U. Según una realización, la ACCIÓN 1 puede describir una acción particular que debe adoptar el DVR después de reconocer la secuencia de claves calculadas. Por ejemplo, la ACCIÓN 1 puede incluir la presentación de un icono a un usuario del DVR. Los metadatos que definen la ACCIÓN 1 pueden incluir información horaria relativa a la duración de la acción, así como información relativa a la colocación de gráficos e iconos en el dispositivo de visualización conectado al DVR. Obsérvese que la acción especificada por los metadatos puede tener lugar en un momento diferente del momento de reconocimiento de la secuencia de claves calculadas. Por ejemplo, los metadatos pueden indicar que la acción debería tener lugar en un momento que preceda el reconocimiento de la secuencia de claves calculadas. De esta manera, sí el programa es reproducido partiendo de la copia grabada, el DVR va explorando por delante, llevando a cabo las comparaciones de claves calculadas, y sabe realizar la acción en el momento debido.
En otra realización, la ACCIÓN 1 puede incluir datos de instrucciones para que los procese el DVR. Los datos de instrucciones pueden hacer que el DVR grabe y almacene una o más porciones del flujo de contenido multimedia. Por ejemplo, durante una emisión en directo de un programa de vídeo particular, si el DVR reconoce la secuencia de claves calculadas de C, D, E, F y procesa los datos de instrucciones asociados con la secuencia de claves calculadas, los datos de instrucciones harán que el DVR empiece a grabar el programa de inmediato. En otras realizaciones, los datos de instrucciones pueden hacer que el DVR empiece a grabar la emisión en directo en cualquier momento después del reconocimiento de la secuencia de claves calculadas.
Además, los metadatos asociados con cualquier secuencia de claves calculadas no están limitados a los eventos o las acciones especificados, sino que pueden ser datos cualesquiera que puedan ser entendidos y procesados por un DVR o un dispositivo que reciba los metadatos.
\vskip1.000000\baselineskip
3.1.3 Reconocimiento de secuencias de claves calculadas en un dispositivo multimedia
Cuando el servidor 106A ha acumulado datos de secuencias de valores de clave calculada, el servidor 106A envía los datos de secuencias de valores de clave calculada a un DVR u otro dispositivo que usa los datos de secuencias de valores de clave calculada para reconocer datos de subtítulos para sordos y para sincronizarse con programas de vídeo usando los datos de subtítulos para sordos. Con referencia ahora a la Fig. 4, se muestra un diagrama de flujo que esquematiza el proceso de reconocimiento de datos de subtítulos para sordos y de sincronización de acciones y eventos con los datos de subtítulos para sordos. En la etapa 402, el DVR 102 recibe los datos de secuencias de valores de clave calculada representados por la tabla 330 en la Fig. 3B procedentes del servidor 106A. En una realización, en lo que se conoce como transacción "pull", el DVR 102 recibe los datos de secuencias de valores de clave calculada después de iniciar una solicitud de los datos de secuencias de valores de clave calculada al servidor 106A. Alternativamente, en lo que se conoce como transacción "push", el servidor 106A puede enviar automáticamente los datos de secuencias de valores de clave calculada al DVR 102 sin solicitud alguna del DVR 102. Cuando el DVR 102 recibe los datos de secuencias de valores de clave calculada, almacena los datos de secuencias de valores de clave calculada en el dispositivo 214 de almacenamiento.
En la etapa 404, el DVR 102 recibe un flujo de contenido multimedia para su presentación a un usuario. Según una realización, el flujo de contenido multimedia puede ser recibido procedente del módulo 202A de entrada y representar contenido multimedia que está siendo emitido en ese momento por el proveedor 106B de contenidos. Alternativamente, el flujo de contenido multimedia puede ser reproducido partiendo del dispositivo 214 de almacenamiento del DVR 102. Además, en otras realizaciones, el DVR 102 puede recibir un flujo de contenido multimedia mediante emisión o por Internet sin presentar el flujo de contenido multimedia al usuario. De aquí que el DVR 102 pueda recibir contenido del proveedor 106B de contenidos y almacenar el contenido en el dispositivo 214 de almacenamiento. Mientras el flujo de contenido multimedia está siendo grabado o reproducido, en la etapa 406, el DVR 102 empieza a analizar los datos de subtítulos para sordos asociados con el flujo de contenido multimedia.
El módulo 210 de análisis analiza los datos de subtítulos para sordos de la misma manera descrita en lo que antecede con referencia al servidor 106A en la Fig. 3B. Así, el módulo 210 de análisis analiza los datos de subtítulos para sordos transformándolos en múltiples valores de clave calculada según el procedimiento usado de subtítulos para sordos (es decir, de aparición súbita, de aparición ascendente o de aparición sobre segundo plano). Mientras genera los valores de clave calculada, el módulo 210 de análisis envía los valores de clave calculada y los sellos de tiempo asociados con cada valor de clave calculada a una máquina 212 de estado de reconocimiento de patrones, que se usa para comparar e identificar los valores de clave calculada con cualquiera de los datos de secuencias de valores de clave calculada descargados, almacenados o recibidos por el DVR 102 desde el servidor 106A o cualquier otra
fuente.
En la etapa 408, se usa la máquina 212 de estado de reconocimiento de patrones para monitorizar los valores de clave calculada generados por el módulo 210 de análisis y comparar los valores de clave calculada con los datos de secuencias de valores de clave calculada recibidos en la etapa 402. Según una realización, la máquina 212 de estado de reconocimiento de patrones es una máquina de estado construida según los datos de secuencias de valores de clave calculada que se recibieron en la etapa 402.
De cara a un ejemplo, supongamos que la máquina 212 de estado de reconocimiento de patrones adopta la estructura de un árbol que contiene nudos y ramas. Cada nudo del árbol puede representar un valor de clave calculada particular en una secuencia de valores de clave calculada, y cada "rama" del árbol representa la secuencia completa de claves calculadas identificada por los datos de secuencias de valores de clave calculada. Esta estructura es objeto de referencia adicional en la Fig. 5A, expuesta más abajo, la máquina 212 de estado de reconocimiento de patrones intenta casar los valores de clave calculada generados cruzando los nudos del árbol. En cualquier nudo dado, sí ocurre una coincidencia, la máquina 212 de estado de reconocimiento de patrones prosigue al nudo siguiente. Si el nudo anterior representa el final de una secuencia de valores de clave calculada, ha ocurrido una coincidencia, y la máquina 212 de estado de reconocimiento de patrones puede indicar que se ha identificado una secuencia de valores de clave calculada, lo que, a su vez, hace que el DVR 200 lleve a cabo la acción apropiada, según se describe con mayor detalle en el presente documento.
En consecuencia, en la etapa 510, la máquina 212 de estado de reconocimiento de patrones determina si algún valor de clave calculada generado por el módulo 210 de análisis coincide con los valores de clave calculada contenidos dentro de los datos de secuencias de valores de clave calculada. Mientras los valores de clave calculada coincidan y la diferencia horaria entre los eventos de valores de clave calculada estén dentro de un umbral de la secuencia de clave calculada esperada, se informará de una coincidencia positiva.
Con referencia ahora a la Fig. 5A, según una realización, se muestran datos de una secuencia de valores de clave calculada en la forma de una máquina de estado de reconocimiento de patrones. Los datos de secuencias de valores de clave calculada están representados por la máquina 510 de estado, que contiene nudos que representan valores individuales de clave calculada dentro de las secuencias de valores de clave calculada. Según una realización, la máquina 510 de estado contiene un nudo 502 de INICIO que representa el estado inicial de la máquina de estado.
Según una realización, los nudos de la máquina 510 de estado están indexados según el primer valor de clave calculada de cualquier secuencia de claves calculadas identificada en los datos de secuencias de valores de clave calculada. Después de que la máquina 510 de estado se inicializa, puede determinar en primer lugar si ese valor de clave calculado del primer nudo 504 coincide con un valor de clave calculada generado por el módulo 210 de análisis. Si no ocurre coincidencia alguna, la máquina 510 de estado sigue cruzando el índice 501, comprobando subsiguientemente el nudo siguiente 520. Obsérvese que, aunque es raro, diferentes secuencias de valores de clave calculada pueden comenzar con el mismo valor de clave calculada. Por lo tanto, el nudo 504, que representa secuencias de claves calculadas que comienzan con el valor de clave calculada "3D59", puede contener dos ramas diferenciadas que representan diferentes secuencias de valores de clave calculada: (1) 3D59, 2Z55, A6E3 y 9Y95, o (2) 3D59, 2Z55, E4E9 y 9F4U.
Según una realización, la máquina 500 de estado es un componente ligero del DVR 200, lo que significa que la máquina 500 de estado está diseñada para ocupar mínimos recursos del sistema durante la operación del DVR 200. Por lo tanto, aun en el caso de que la máquina 500 de estado deba cruzar decenas de miles de nudos para determinar si se ha reconocido una secuencia de valores de clave calculada, se precisan pocos recursos del sistema para operar la máquina 500 de estado. De aquí que los usuarios del DVR no aprecien ninguna demora ni degradación en la reproducción de contenido multimedia durante la operación de la máquina 500 de estado.
Según una realización, la eficacia de la máquina 500 de estado aumenta adicionalmente mediante el uso del índice 501. Indexando el primer valor de clave calculada dentro de cada secuencia de claves calculadas en un índice 501, la máquina 500 de estado puede descartar rápidamente una gran cantidad de secuencias de claves calculadas para una comparación sin ocupar muchos recursos del sistema.
Para iniciar el procesamiento de valores de clave calculada generados desde el módulo 210 de análisis, la máquina 500 de estado es inicializada y comienza la comprobación de los nudos situados en el índice 501. Según una realización, el primer valor de clave calculada generado por el módulo 210 de análisis es "3D59", correspondiente al texto A en la trama 310A de la Fig. 3B. En consecuencia, la máquina 500 de estado es iniciada, comprobará el primer nudo 504 que representa el valor de clave calculada "3D59" y encontrará una coincidencia, dando una salida positiva según esta realización, cualquier coincidencia hace que la máquina de estado prosiga a la derecha, mientras que cualquier error hace que la máquina de estado cruce a un nivel inferior. Sin embargo, en otras realizaciones, la máquina 500 de estado puede ser estructurada de cualquier manera adecuada para comprobar valores de clave calculada.
Sin embargo, supongamos que el módulo 210 de análisis informó inicialmente de un valor de clave calculada de "2Z55". En lugar de encontrar una coincidencia en el primer nudo 504, la máquina 510 de estado informarla de una salida negativa y proseguiría hacia abajo, hasta el siguiente nudo 520 en el índice 501, que representa el valor de clave calculada "2Z55". Alternativamente, si no se encuentra coincidencia alguna en un nudo particular, la máquina 510 de estado puede también proseguir al nudo 515 de ERROR, que hace que la máquina de estado se reinicie y vuelva a comenzar en el nudo 502 de INICIO.
Por lo tanto, suponiendo que ocurrió una coincidencia en el primer nudo del Índice 501. la máquina 212 de estado aguarda entonces el siguiente valor generado de clave calculada procedente del módulo 210 de análisis. En una realización, el siguiente valor generado de clave calculada es "2Z55". En consecuencia, la máquina 510 de estado compara "2Z55" con el valor en el siguiente nudo 506. Dado que el valor en el siguiente nudo también es "2Z55", la máquina 510 de estado encontrará una coincidencia y proseguirá al nudo 508. Sin embargo, obsérvese que si no se encontrara coincidencia alguna en el nudo 506, la máquina 500 de estado no proseguiría al estado de ERROR, sino que, en cambio, intentarla encontrar una coincidencia para el valor de clave calculada en el nudo 507, que representa "E4E9". De esta manera, el nudo 506 representa una bifurcación en la máquina 500 de estado, de modo que dos secuencias de valores de clave calculada puedan empezar con los valores de clave calculada de "3D59" y "2Z55", respectiva-
mente.
En respuesta a la recepción de valores de clave calculada generados por el módulo 210 de análisis, la máquina 500 de estado atraviesa secuencialmente cada nudo representado en la Fig. 5 hasta que no ocurra coincidencia alguna o hasta que se ha identificado el final de una secuencia de claves calculadas. Además, mientras busca coincidencias de valores de clave calculada con cada valor de clave calculada en la secuencia de valores de clave calculada, la máquina 500 de estado puede también comparar el desfase horario entre el valor de clave calculada generado por el módulo 210 de análisis y el valor de clave calculada dentro de la secuencia de claves calculadas. Si ambos valores de clave calculada coinciden y coinciden los valores de desfase horario de ambos valores de clave calculada, la máquina 500 de estado puede determinar que ha ocurrido una coincidencia positiva. En otra realización, la máquina 500 de estado puede determinar que un valor de clave calculada particular ha coincidido con el desfase horario de un valor de clave calculada dentro de una secuencia de claves calculadas permitiendo una "compensación" o margen de error. Según este ejemplo específico, la máquina 500 de estado determina que ha ocurrido una coincidencia para la secuencia de claves calculadas de 3D59, 2Z55, A6E3 y 9Y95 después de recibir los valores de clave calculada respectivos generados por el analizador 312 en la Fig. 3B.
Cuando no se encuentra coincidencia alguna, la máquina 500 de estado se reinicia al nudo 502 de INICIO y reinicializa el proceso de búsqueda de coincidencias cuando se recibe el siguiente valor de clave calculada procedente del módulo 210 de análisis.
Obsérvese que en toda la operación del DVR 200, la máquina 500 de estado está continuamente intentando encontrar una coincidencia de los valores de clave calculada con las secuencias de claves calculadas. Cuando se encuentra una coincidencia positiva para una secuencia completa de claves calculadas, en la etapa 412, la máquina 500 de estado informa de una coincidencia plena, haciendo que el DVR 200 inspeccione los metadatos asociados con los datos de secuencias de valores de clave calculada.
En otras realizaciones, la máquina 500 de estado utiliza una tabla de claves calculadas para intentar encontrar coincidencias de valores de clave calculada con datos de secuencias de valores de clave calculada. Una tabla de claves calculadas es una estructura de datos compuesta de una matriz (o una tabla en la que se almacenan los datos que han de ser objeto de búsqueda) y una función de correspondencia. Se usa comúnmente una tabla de valores calculados en algoritmos de búsqueda y es una estructura de datos que es bien conocida en la técnica.
Además, en otra realización, el DVR 200 contiene una pluralidad de máquinas de estado. Al tener más de una máquina de estado que funcionan a la vez, pueden identificarse múltiples patrones dentro de la misma secuencia de valores de clave calculada. Por ejemplo, supongamos que los valores de clave calculada de "X6Y6, A4Z4 y B1C1" se generaron a partir de un flujo de contenido multimedia. Supongamos también que existen dos patrones conocidos, "X6Y6, A4Z4" y "A4Z4, B1C1". Si en el DVR 200 estuviese ejecutándose una sola máquina de estado, soto uno de esos patrones sería reconocido. Sin embargo, dado que el DVR 200 puede ejecutar concurrentemente más de una máquina de estado, el DVR 200 puede reconocer ambos patrones "X6Y6, A4Z4" y "A4Z4, B1C1" a partir de los valores de clave calculada de "X6Y6, A4Z4 y B1C1". Por lo tanto, en otras realizaciones, el DVR 200 puede contener una pluralidad de máquinas de estado, y cada máquina de estado puede representar diferentes patrones de datos intrabanda.
Con referencia a la Fig. 5B, se muestra una secuencia de valores de clave calculada según una realización. Los datos de secuencias de valores de clave calculada contienen los datos 520A de secuencia y los metadatos 520B. Los datos 520A de secuencia corresponden a los datos que representan la secuencia de valores de clave calculada, así como la diferencia horaria aproximada entre las incidencias de los valores de clave calculada. Así, tal como se describe en lo que antecede, la máquina 500 de estado cruza los nudos, según se representa en la Fig. 5A, hasta que no se encuentra coincidencia alguna en un nivel particular o si se ha encontrado el fin de una secuencia de claves calculadas. Según una realización, la máquina 212 de estado de reconocimiento de patrones determina que la secuencia de los valores de clave calculada 3D59, 2Z55, A6E3 y 9Y95 ha coincidido con la generación de los mismos valores de clave calculada procedentes del módulo 210 de análisis en base a la diferencia horaria entre cada valor de clave calculada generado.
\vskip1.000000\baselineskip
3.1.4 Sincronización con datos de subtítulos para sordos
Cuando un DVR determina que ha ocurrido una coincidencia de patrones, usa los metadatos descritos en lo que antecede para sincronizarse con el flujo de contenido multimedia. En particular, el DVR usa los metadatos para determinar la ubicación relativa de eventos o de programas de vídeo dentro del flujo de contenido multimedia. Así, cuando el DVR 102 determina que se ha generado una secuencia particular de valores de clave calculada, el DVR 200 consultará los metadatos 520B para determinar la acción que se emprenderá. Los metadatos 520B pueden contener información tal como información de instrucciones y control, temporización de programas, información de contenido, instrucciones de visualización e información gráfica. Además, los metadatos 520B pueden contener también datos 522 de instrucciones.
Una vez que las máquinas 212 de estado de reconocimiento de patrones han determinado que los valores de clave calculada procedentes del flujo de contenido multimedia coinciden con una secuencia particular de claves calculadas, entonces, en la etapa 412, el DVR inspecciona los metadatos de la secuencia de claves calculadas asociada con la secuencia de claves calculadas y responde en consecuencia. Dependiendo del contenido de los metadatos, un DVR como el DVR 102 puede responder de muchas maneras diferentes al reconocimiento de una secuencia de valores de clave calculada. Por ejemplo, los metadatos pueden contener información que permita que el DVR reconozca eventos dentro de un programa de vídeo, que se sincronice con el programa de vídeo o con todo el flujo de contenido multimedia, que presente información a un usuario o que haga que se grabe un programa futuro. Además, en otras realizaciones, los metadatos pueden contener información que permita que un DVR realice cualquier acción relativa al flujo de contenido multimedia, al programa de vídeo o a la operación del DVR, por ejemplo saltarse los anuncios y otro contenido.
Así, con referencia ahora a la Fig. 6, se muestra un diagrama de bloques que ilustra un procedimiento para la sincronización de acciones y eventos con datos intrabanda según una realización. La tabla 606 representa datos de secuencias de valores de clave calculada, mientras que la tabla 608 representa metadatos asociados con la secuencia particular de claves calculadas. En este ejemplo particular, la tabla 606 contiene la secuencia de claves calculadas 3D59, 2Z55, A6E3 y 9Y95, así como los valores de hora y desfase horario para cada valor de clave calculada. Tal como se ha descrito en lo que antecede, esta información es recibida del servidor 106A o de cualquier otra fuente, y se encuentra en el DVR 102 en forma de máquinas 212 de estado de reconocimiento de patrones. El contenido 600 representa un flujo de contenido multimedia que contiene uno o más programas de vídeo. Mientras reproduce o graba el flujo 600 de contenido multimedia, el DVR indica su ubicación de reproducción dentro del flujo 600 de contenido usando el cursor 604, que se mueve sobre una barra de memoria intermedia de programa que representa el material de programa, según se describe en la patente estadounidense con nº de serie 6.850.691 y en la solicitud estadounidense con nº de serie 10/915.990, tituladas ambas "Multimedia Progress Indication System". En este ejemplo particular, el cursor 604 se encuentra en ese momento en la hora 1:12 del flujo de contenido multimedia o del programa de vídeo. Mientras reproduce el flujo 600 de contenido usando un módulo de análisis, el DVR genera el valor de clave calculada "3D59" en el instante :00, el valor de clave calculada "2Z55" en el instante :05, el valor de clave calculada "A6E3" en el instante :10 y el valor de clave calculada "9Y95" en el instante :12, que está en ese momento en la ubicación indicada por el cursor 604.
Una vez generados los valores de clave calculada y los correspondientes datos horarios, el DVR determina que los valores de clave calculada coincidencia con los datos de secuencias de valores de clave calculada encontrados en la tabla 606. Según una realización, el DVR puede casar positivamente los valores de clave calculada con los datos de secuencias de valores de clave calculada comparando no solo los valores de clave calculada propiamente dichos, sino también los desfases horarios para cada valor de clave calculada.
Después de determinar una coincidencia, el DVR conoce ahora el lugar en el que está situado dentro del programa. Específicamente, el DVR determina que el cursor 604 está situado 12 segundos después del inicio del comienzo especificado del programa según los datos de secuencias de valores de clave calculada. Acto seguido, el DVR examina la información de metadatos encontrada en la tabla 608 para determinar la acción apropiada que debe adoptarse en respuesta a la coincidencia con los datos de secuencias de valores de clave calculada. Según una realización, la tabla 608 indica que el EVENTO 1 tiene lugar en el instante :10. Examinando la ubicación actual del cursor 604, el DVR 102 puede calcular que el EVENTO 1 tiene lugar :02 segundos antes de la ubicación actual del cursor. Si el EVENTO 1 estuviera definido para estar mostrando un icono al usuario durante 10 segundos, el DVR 102 puede mostrar de inmediato el icono durante ocho segundos, dado que conoce que ya ha superado el comienzo del EVENTO 1 en dos segundos. Sí el programa que se está reproduciendo es una grabación o el usuario está reproduciendo una emisión en directo pero su ubicación de reproducción va a la zaga de la emisión propiamente dicha, el DVR 102 puede ir explorando por delante de la ubicación actual de reproducción y calcular valores de clave calculada por delante de la ubicación actual de reproducción. Esto permite que el DVR 102 sea más preciso en la realización de cualquier acción asociada con un evento.
Además, después de inspeccionar la tabla 608, el DVR 102 puede determinar que el EVENTO 2 tendrá lugar en el instante :40 del programa de vídeo. Después de examinar la ubicación actual dentro del programa de vídeo, el DVR 102 determina que el EVENTO 2 tiene lugar :28 segundos después de la última clave calculada. Dado que el DVR 102 puede determinar la ubicación precisa de los EVENTOS 1 y 2 dentro del flujo de contenido multimedia, el DVR 102 puede ser programado para reaccionar ante esos eventos de cualquier manera, Por ejemplo, según una realización, el DVR 102 puede recibir la instrucción de que muestre un icono a un usuario durante el EVENTO 2. En otra realización, el DVR 102 puede ser programado para empezar a grabar el flujo de contenido multimedia en el EVENTO 2. De esta manera, la información que identifica a cualquier EVENTO 1 o 2 puede ser usada para identificar un evento diferenciado dentro del programa 600 de vídeo. Además, en otras realizaciones, la tabla 608 puede definir otros eventos u otras acciones que deba adoptar un DVR tras el reconocimiento de una secuencia de claves calculadas. Por ejemplo, después de reconocer la secuencia de claves calculadas 3D59, 2Z55, A6E3 y 9Y95, la tabla 608 puede indicar que el DVR debe mostrar inmediatamente al usuario un icono interactivo en un dispositivo de visualización.
Además, una vez que el DVR 102 reconoce los EVENTOS 1 y 2 dentro del programa de vídeo, el DVR 102 puede insertar identificadores de vídeo en el flujo de contenido multimedia en las ubicaciones del EVENTO 1 y 2. Según una realización, los identificadores de vídeo son objetos de datos intercalados en un flujo de contenido multimedia que contiene datos de vídeo y de audio, tal como un flujo MPEG-2. Después de que se colocan identificadores de vídeo en el flujo de contenido multimedia, el flujo de contenido multimedia es almacenado para ser reproducido posteriormente. Cuando se reproduce, el DVR 102 procesa el flujo de contenido multimedia y se encuentra con los identificadores de vídeo en la ubicación exacta de los EVENTOS 1 y 2. De esta manera, una vez que se han colocado identificadores de vídeo en el flujo de contenido multimedia, el DVR ya no necesita reconocer los datos de subtítulos para sordos para sincronizarse con el flujo de contenido multimedia, porque los eventos o las acciones han sido definidos por identificadores de vídeo, que son procesados automáticamente junto con los datos de vídeo y de audio durante la reproducción. Los identificadores de vídeo son expuestos con mayor detalle en la solicitud estadounidense con nº de serie 09/666.921, titulada "Closed-Caption Tagging System".
Aunque el proceso anterior ha sido descrito en relación con el DVR 102, el procedimiento puede ser realizado por cualquier otro dispositivo capaz de llevar a cabo tales etapas, tal como el DVR 104, el PC 101A o el dispositivo portátil 101B.
\vskip1.000000\baselineskip
3.2 Datos de señalización de Televisión Mejorada
Otro tipo de datos intrabanda que puede ser usado para reconocer patrones de datos intrabanda son los datos de señalización de Televisión Mejorada (ETV). La ETV permite el uso de aplicaciones interactivas que son distribuidas "intrabanda" con otros servicios de vídeo en un flujo de contenido multimedia. Para sincronizar las aplicaciones intrabanda con programas de vídeo, la ETV utiliza señales de instrucciones coordinadas con la temporización de los programas de vídeo. Hay disponible más información relativa a las prestaciones de señalización para la transmisión intrabanda de datos en la especificación OpenCable Enhanced TV Application Messaging (ETV-AM-102), que especifica las prestaciones de señalización para la transmisión intrabanda de datos sincronizados con la línea horaria de un servicio de vídeo.
Según una realización, los dispositivos multimedia con prestaciones ETV incluyen un agente de ETV para recibir y procesar señales de instrucciones de ETV. Las señales de instrucciones de ETV hacen que los dispositivos multimedia descubran, descarguen, lancen y terminen aplicaciones de ETV en momentos particulares. Así, según una realización, un dispositivo multimedia puede reconocer patrones de datos de señalización de ETV que definen el inicio o la terminación de aplicaciones dentro de un flujo de contenido multimedia de ETV. Esto puede ser implementado usando el módulo 210 de análisis para identificar y extraer los datos de señalización de ETV del flujo de contenido multimedia. Además, las señales de instrucciones de ETV pueden incluir información adicional, tal como información que describa el contenido o la programación de ETV. Además, las señales de instrucciones de ETV están asociadas con datos horarios para procesar la aplicación de ETV en el debido momento. Usando estos datos horarios, un dispositivo multimedia puede identificar una posición relativa dentro de un flujo de contenido multimedia. Por lo tanto, un dispositivo multimedia puede interpretar datos de señalización de ETV para determinar que (a) está ocurriendo un evento de ETV y (b) que el evento de ETV está sincronizado con una porción o un segmento particulares del programa de vídeo.
Así, de forma similar al reconocimiento de secuencias de valores de clave calculada en los datos de subtítulos para sordos, puede usarse la máquina 212 de estado de reconocimiento de patrones para reconocer patrones de señales de instrucciones de ETV e información horaria. Dado que las aplicaciones de ETV ya están sincronizadas con el programa de vídeo acompañante, un dispositivo multimedia puede sincronizarse con un flujo de contenido multimedia reconociendo patrones de datos de señalización de ETV. Como con los datos de subtítulos para sordos, una vez que el dispositivo multimedia reconoce un patrón, el dispositivo multimedia puede emprender acciones similares a las descritas más arriba con respecto a la sincronización de acciones y eventos con los datos de subtítulos para sordos.
\vskip1.000000\baselineskip
4.0 Enfoque para crear y ver segmentos multimedia personalizados 4.1 Selección de segmentos de programas multimedia por parte del usuario
Según una realización, los programas de vídeo en un flujo de contenido multimedia son mostrados a un usuario del DVR en un dispositivo de visualización tal como una pantalla de televisión o un monitor de ordenador. En otras realizaciones, los programas de vídeo pueden ser presentados en un dispositivo de visualización tal como un dispositivo portátil de visionado multimedia. Un usuario del DVR puede controlar la reproducción del programa de vídeo usando una interfaz de control tal como un control remoto.
Un usuario puede marcar secciones de un programa multimedia o colocar puntos de interés relativos al contenido dentro del programa multimedia. Por ejemplo, un usuario puede querer marcar las mejores jugadas de una grabación de un partido de fútbol. Una vez que el usuario marca las jugadas, puede enviar las secuencias resultantes de claves calculadas al DVR de un amigo. En la solicitud estadounidense con nº de serie 10/220.558, titulada "System and Method for Internet Access lo a Personal Television Service" y en la solicitud estadounidense con nº de serie 10/741.596, titulada "Secura Multimedia Transfer System" se describe un procedimiento de transferencia de datos entre varios DVR. El DVR del amigo puede entonces presentar los puntos de interés del usuario al amigo cuando el amigo reproduce su copia grabada del partido. El DVR del amigo presenta los puntos de interés junto con la barra de memoria intermedia de programa, mostrada, por ejemplo, en su dispositivo de visualización.
El DVR del amigo procesa de antemano el partido grabado antes de empezar a reproducir el partido calculando valores de clave calculada del partido grabado y comparando los valores de clave calculada con las secuencias recibidas de clave calculada. Esto permite que el DVR localice los puntos de interés en el partido grabado y que presente los puntos de interés al amigo. El amigo puede entonces saltar a los puntos de interés usando su control remoto.
Los usuarios de DVR pueden distribuir sus propios conjuntos de puntos de interés de programas a otros usuarios. Los usuarios pueden, además, adjuntar metadatos a cada punto de interés que puedan hacer que el DVR presente texto al espectador; por ejemplo, "¿No es esta una gran escena de acción?". El usuario también puede adjuntar metadatos a un punto de interés que le diga al DVR que se salte x segundos en el programa desde ese punto de interés o que presente x segundos del programa antes de saltar al siguiente punto de interés. Esto permite que los usuarios creen sus propias versiones condensadas de un programa que pueden distribuir a sus amigos, familiares, compañeros de clase, a estudiantes, a un grupo de interés, etc.
Además, pueden darse instrucciones a un DVR para que vuelva a ordenar segmentos de un programa multimedia o de un flujo completo de contenido. Un propósito para hacerlo es cuando el emisor ha codificado segmentos del flujo de contenido multimedia. En consecuencia, los espectadores no autorizados no podrán ver con claridad el flujo de contenido multimedia. Sin embargo, para los espectadores autorizados, el DVR pone los segmentos en el orden correcto. Además, los usuarios pueden desear volver a ordenar segmentos del flujo de contenido multimedia para crear sus propios programas multimedia personalizados. Los usuarios pueden entonces almacenar programas multimedia personalizados o distribuir programas multimedia personalizados a sus amigos y a otros usuarios de DVR. Los programas multimedia personalizados pueden incluir una compilación de segmentos recuperados de diferentes flujos de contenido multimedia, o de segmentos que han sido almacenados previamente en el dispositivo de almacenamiento del DVR.
Usando el procedimiento para reconocer y sincronizar un sistema de ordenador con datos intrabanda, tal como se describe en lo que antecede, el DVR puede llevar a cabo estas funciones con facilidad.
Por ejemplo, cuando un usuario desea guardar o indicar la ubicación de un contenido particular dentro del programa de vídeo, el usuario del DVR puede pulsar un botón en la interfaz de control para indicarlo. La interfaz de control envía una señal al DVR, que interpreta la señal como una selección de usuario. El DVR puede determinar entonces el instante dentro del programa en que el usuario envió la señal desde la interfaz de control y calcular un patrón de datos intrabanda que lleve hasta ese punto.
\vskip1.000000\baselineskip
4.2 Creación de datos de identificación de eventos iniciada por el usuario para programas multimedia
Con referencia a la Fig. 7, se muestra un diagrama de bloques que ilustra un procedimiento para crear y ver segmentos multimedia dentro de un programa de vídeo según una realización. Cuando un flujo 700A de contenido multimedia que contiene datos intrabanda tales como los datos 702 de subtítulos para sordos (SS) se está grabando o reproduciendo en un DVR u otro dispositivo, se asocia información horaria en forma de sellos de tiempo asociada con los datos intrabanda. Específicamente, tal como se describe en lo que antecede, el flujo de contenido multimedia, incluyendo tos datos intrabanda, se empaquetan en tramas diferenciadas de audio, vídeo y datos. Cuando está empaquetada, se le da a cada trama un sello de tiempo relativo. Estos sellos de tiempo pueden ser usados para hacer un seguimiento de la hora de los datos intrabanda dentro del flujo de contenido multimedia o del programa de vídeo.
Cuando un usuario ve un segmento de un programa de vídeo que le gustaría guardar o del que le gustarla tomar nota, el usuario hace que el DVR 102 marque el segmento seleccionando una ubicación dentro del programa de vídeo. Según una realización, se presenta una interfaz gráfica de usuario en una pantalla de visualización que incluye una barra 700B de memoria intermedia de programa y un cursor 708. El cursor indica la ubicación de reproducción actual del programa. Cuando un usuario quisiese seleccionar una ubicación dentro del programa de vídeo, el usuario aguarda hasta que el cursor haya alcanzado la ubicación deseada y. usando una interfaz de control tal como un control remoto, selecciona la ubicación deseada. Cuando el usuario pulsa un botón en el control remoto, se envía una señal desde el control remoto al DVR, haciendo que el DVR presente al usuario un menú desplegable. El menú desplegable puede contener opciones para que el usuario las seleccione en relación con la ubicación deseada en el programa de vídeo. Según una realización, las opciones disponibles al usuario incluyen la inclusión en favoritos, saltarse la ubicación, adjuntar una nota o cualquier otra acción que pueda ser llevada a cabo en relación con un programa de vídeo.
Según una realización, mientras se está reproduciendo el programa de vídeo, un usuario del DVR selecciona la ubicación 704 usando la interfaz de control. Cuando el DVR recibe la señal de la interfaz de control, reconoce que ha ocurrido una selección del usuario y registra la ubicación de la selección, lo que ocurre en el instante :10. En este punto, el DVR crea datos de identificación del evento. Tal como se ha descrito en lo que antecede, los datos de identificación de eventos pueden contener patrones o secuencias de datos intrabanda, así como metadatos para identificar acciones o eventos dentro del flujo de contenido multimedia.
Una vez más, un tipo de datos intrabanda son los datos de subtítulos para sordos. Según una realización, para crear datos de identificación de eventos, el DVR busca suficientes datos de subtítulos para sordos antes de la ubicación 704 para crear una secuencia única de valores de clave calculada. La tabla 710 representa datos de secuencias de valores de clave calculada del segmento 700 de vídeo. Los datos de secuencias de valores de clave calculada pueden indicar el valor de clave calculada, la hora del valor de clave calculada y un desfase horario para cada valor de clave calculada. Según una realización, el desfase horario indica la diferencia entre tiempo entre la generación del valor de clave calculada y el valor anterior de clave calculada en el programa de vídeo.
Así, la tabla 710 identifica los valores de clave calculada "W5W4" y "M5M5" que preceden a la ubicación 704. El DVR graba la hora a ta que cada valor de clave calculada fue generado según el procedimiento particular de subtítulos para sordos usado para mostrar el texto de subtítulos para sordos y el desfase horario de los valores de clave calculada. Aquí, el valor de clave calculada "W5W4" ocurre en el instante :06 desde el inicio del programa y es la primera clave calculada de la secuencia con un desfase horario de cero. El valor de clave calculada "M5M5" ocurre en el instante :08 desde el inicio del programa y está dos segundos después del valor de clave calculada "W5W4". Cuando un DVR reconoce la secuencia de claves calculadas "W5W4, M5M5", el DVR puede identificar que se requiere una acción antes de la reproducción propiamente dicha de la ubicación 704 y llevar a cabo la acción apropiada, tal como la presentación de un icono. Los metadatos pueden indicar que se muestre el icono dos segundos después del reconocimiento de la secuencia de claves calculadas "W5W4, M5M5".
Además, el usuario puede seleccionar también una segunda ubicación 706 que represente el fin de una porción deseada de un segmento de vídeo que ocurra en el instante :20. Según una realización, el DVR analiza los datos de SS entre los instantes :10 y :20, genera tres valores de clave calculada "Z1B1, E5Y5 y A2R2" y graba la hora en que se generó cada valor de clave calculada. De aquí que, en este ejemplo particular, el valor de clave calculada "Z1B1" ocurra primero (aquí, en el instante :12), que el valor de clave calculada "E5Y5" ocurra dos segundos después y que el valor de clave calculada "A2R2" ocurra cuatro segundos después que "E5Y5". Colectivamente, los valores de clave calculada "Z1B1, E5Y5 y A2R2" representan la secuencia de claves calculadas para la segunda ubicación 706. Los metadatos asociados con el programa indicarán esto.
Así, en la tabla 710, el valor de clave calculada "Z1B1" ocurre en el instante cero, dado que es la primera clave calculada en la secuencia, la clave calculada "E5Y5" ocurre dos segundos después del valor de clave calculada "Z1B1" y el valor de clave calculada "A2R2" ocurre cuatro segundos después del valor de clave calculada "E5Y5". Alternativamente, el desfase horario puede ser relativo a cualquier porción del programa de vídeo, del flujo de contenido multimedia, de la ubicación en el programa o flujo de vídeo o del segmento de vídeo.
Cuando un DVR reproduce el flujo 7008 de contenido multimedia usando la tabla 710 como datos de secuencias de valores de clave calculada para su máquina de estado, analiza los datos 702 de SS y genera valores de clave calculada. Una vez que el DVR reconoce el valor de clave calculada "A2R2" según el procedimiento descrito en lo que antecede para reconocer secuencias de claves calculadas, el DVR puede de inmediato llevar a cabo una acción, tal como provocar la presentación de un icono en una pantalla de visualización conectada al DVR. En este caso, cuando el DVR reconoce las secuencias de claves calculadas encontradas en la tabla 710, el DVR puede determinar tas instantes exactos de inicio y fin del segmento de vídeo entre las ubicaciones 704 y 706. Dada esta información, los metadatos asociados con los datos de secuencias de valores de clave calculada pueden dar instrucciones al DVR para que salte el segmento de programa entre las ubicaciones 704 y 706 o pueden dar instrucciones al DVR, por ejemplo, para que almacene el segmento de programa entre la ubicación 704 y 706.
El DVR puede reconocer segmentos de vídeo relativos a cualquier flujo de contenido multimedia usando los sellos de tiempo en los datos de secuencias de valores de clave calculada. De aquí que, aunque un programa de vídeo se emitiera o reprodujera a dos horas distintas en ubicaciones diferentes, los mismos segmentos de vídeo podrían ser reconocidos usando los sellos de tiempo asociados con los valores de clave calculada. Más específicamente, los sellos de tiempo son relativos a la generación de valores de clave calculada y no a una hora local del DVR ni a una hora de emisión. Por lo tanto, suponiendo que la mayor parte de la programación sea idéntica cuando se reproduzca en diferentes ubicaciones o a horas diferentes, los segmentos de vídeo pueden ser reconocidos con gran precisión usando los sellos de tiempo de los valores de clave calculada. Obsérvese que aunque la anterior exposición se centra en datos de subtítulos para sordos, la invención no está limitada a tal realización y que un DVR puede crear datos de identificación de eventos usando cualquier tipo de datos intrabanda, tal como datos de señalización de
ETV.
\vskip1.000000\baselineskip
4.3 Creación de un contenido identificado de programas multimedia
Después de reconocer eventos o segmentos dentro de un programa de vídeo, el DVR 102 puede generar identifica do res para corresponderse al segmento o a los eventos e insertar esos identificadores en el flujo de contenido multimedia en las ubicaciones apropiadas. Cada identificador puede contener información de instrucciones y control que un dispositivo que procese el identificador traduzca y con la cual actúe. Por ejemplo, según una realización, si un usuario desea saltarse todo el contenido entre las ubicaciones 704 y 706, tras reconocer la secuencia de claves calculadas asociada con el segmento de vídeo, el DVR puede simplemente crear un identificador en la ubicación 704, haciendo que el DVR salte automáticamente 10 segundos a la ubicación 706, saltándose con ello el segmento de vídeo. Además, los datos del identificador son procesados como parte del flujo de contenido multimedia y, por lo tanto, son sincronizados automáticamente con la reproducción del programa de vídeo. Con los datos del identificador, un dispositivo que reciba el flujo de contenido multimedia puede saltar automáticamente hasta la ubicación seleccionada. Alternativamente, el identificador puede incluir información que identifique el contenido relativo a la ubicación dentro del programa de vídeo. Por ejemplo, un identificador correspondiente a la ubicación 704 en el flujo 700A de contenido multimedia puede incluir información que identifique la ubicación como un descanso dentro de un programa deportivo. Además, la ubicación 706 puede ser el final de la transmisión. Así, un DVR puede presentar una interfaz de usuario para que un usuario indique que el descanso dentro del programa deportivo tiene lugar en la ubicación 704 o en el instante :10 y que termine en la ubicación 706 o en el instante :20. Usando esta información, el usuario puede hacer que el DVR salte detrás de la ubicación 704 o prosiga directamente a la ubicación 706.
Además, mientras se insertan identificadores en el flujo de contenido multimedia para corresponderse a eventos o segmentos particulares, el DVR 102 puede eliminar datos intrabanda del flujo de contenido multimedia. Por ejemplo, según una realización, el flujo de contenido multimedia es un flujo de transporte MPEG2 que incluye entradas separadas de audio, vídeo y datos. Los datos intrabanda originales está situados en la porción de datos del flujo de contenido multimedia. Cuando se genera un identificador, el identificador es insertado en la porción de datos del flujo multimedia. Además, una vez que se han eliminado los datos intrabanda, el PC 101. por ejemplo, puede transferir el flujo de contenido multimedia al dispositivo portátil 101B. Dado que se colocado identificadores en el flujo de contenido multimedia y que se ha eliminado el flujo de subtítulos para sordos, no es preciso que el dispositivo portátil 101B muestre datos de subtítulos para sordos. En vez de ello, los identificadores dentro del flujo de contenido multimedia son procesados automáticamente en sincronización con el flujo de contenido multimedia mientras el flujo de contenido multimedia está siendo mostrado a un usuario. Se presentan detalles adicionales sobre la generación e inserción de identificadores en un flujo de contenido multimedia en la solicitud estadounidense nº 09/665.921, titulada "Closed Caption Tagging System".
En otra realización, un dispositivo multimedia, tal como el DVR 102 o el PC 101. puede simplemente proporcionar al dispositivo portátil 101B una lista de ubicaciones de interés. Así, en vez de insertar identificadores en el flujo de contenido multimedia, el flujo de contenido queda sin tocar y el dispositivo portátil 101B puede identificar eventos dentro de un programa de vídeo usando la lista de ubicaciones de interés. La lista de ubicaciones de interés puede ser proporcionada por separado del flujo de contenido multimedia al dispositivo portátil 101B, Según una realización, la lista de ubicaciones de interés incluye datos horarios que identifican la hora relativa a la que ocurre un evento. Además, la lista de ubicaciones de interés puede también incluir datos adicionales, tales como datos que describan cada evento. El dispositivo portátil 101B puede decidir usar los datos de la lista de ubicaciones de interés de cualquier manera apropiada.
Según una realización, la lista de ubicaciones de interés es generada por un dispositivo multimedia en respuesta a la intervención del usuario. Por ejemplo, un usuario puede seleccionar una o más ubicaciones dentro de un programa de vídeo usando una interfaz de control. El dispositivo multimedia recibe señales de la interfaz de control y determina los lugares en los que están las ubicaciones seleccionadas dentro del programa de vídeo. El dispositivo multimedia puede realizar tal determinación examinando los datos horarios asociados con el flujo de contenido multimedia. El dispositivo multimedia almacena entonces los datos que identifican cada ubicación seleccionada con sus datos horarios asociados en la lista de ubicaciones de interés y proporciona la lista al dispositivo portátil 101B.
Además, en otra realización, un dispositivo multimedia puede generar una lista de ubicaciones de interés después de reconocer eventos o segmentos dentro de un programa de vídeo usando patrones de datos intrabanda. Por ejemplo, un dispositivo multimedia puede procesar un flujo completo de contenido multimedia antes de proporcionárselo a un dispositivo portátil 101B. Cuando el dispositivo multimedia reconoce un patrón de datos intrabanda, examina tos metadatos asociados con el patrón de datos intrabanda e identifica eventos dentro de un programa de vídeo, incluyendo los datos horarios asociados con cada evento. Usando los datos horarios, el dispositivo multimedia genera una lista de ubicaciones de interés que enumera cada evento y la hora a la que el evento tiene lugar con respecto al programa de vídeo o al flujo de contenido multimedia. La lista de ubicaciones de interés es proporcionada entonces al dispositivo portátil 101B, que puede usar la lista para identificar las ubicaciones dentro del programa de vídeo.
\vskip1.000000\baselineskip
4.4 Compartición de datos de identificación de eventos para programas multimedia
Tal como se ha hecho notar más arriba, los usuarios de un DVR pueden transferir datos de identificación de eventos de su DVR a otros DVR. Esto puede lograrse por medio de una transferencia directa por medio de una red o Internet a otro DVR. Una vez que un DVR recibe datos de identificación de eventos, puede notificarse al usuario del DVR que se ha recibido un índice personalizado de programa y también se le puede notificar del programa con el que está relacionado. El usuario puede entonces escoger reproducir el programa usando el índice.
Además, un servicio de DVR puede actuar como punto de distribución para datos de identificación de eventos. Los datos de identificación de eventos asociados con un programa pueden ser subidos al servidor 106A desde el DVR. Cuando el servidor 106A recibe del DVR los datos de identificación de eventos, almacena los datos de identificación de eventos en un dispositivo o base de datos local de almacenamiento. El servidor 106A puede proporcionar datos de identificación de eventos creados en múltiples DVR para su descarga por medio de la red 105. Cuando otro DVR 104 quiere recuperar datos de identificación de eventos asociados con un programa particular, el servidor 106A envía los datos de identificación de eventos al DVR 104 por medio de la red 105. Por ello, se habilita un sistema para crear y ver segmentos personalizados de vídeo.
\vskip1.000000\baselineskip
5.0 Mecanismos de implementación
La Figura 8 es un diagrama de bloques que ilustra un sistema 800 de ordenador en el que puede ser implementada una realización de la presente invención. El sistema 800 de ordenador incluye un bus 802 u otro mecanismo de comunicaciones para comunicar información, y un procesador 804 acoplado con el bus 802 para el procesamiento de la información. El sistema 800 también incluye una memoria principal 806, tal como una memoria de acceso aleatorio (RAM) u otro dispositivo de almacenamiento dinámico, acopiada al bus 802 para almacenar información e instrucciones que ha de ejecutar el procesador 804. La memoria principal 806 también puede ser usada para almacenar variables temporales u otra información intermedia durante la ejecución de instrucciones que ha de ejecutar el procesador 804. El sistema 800 de ordenador incluye además una memoria 808 de solo lectura (ROM) u otro dispositivo de almacenamiento estático acoplados al bus 802 para almacenar información estática e instrucciones para el procesador 804. Un dispositivo 810 de almacenamiento, tal como un disco magnética o un disco óptico, es proporcionado y está acoplado al bus 802 para almacenar información e instrucciones.
El sistema 800 de ordenador puede estar acoplado, a través del bus 802, a un dispositivo 812 de visualización, tal como un tubo de rayos catódicos (CRT), para mostrar información a un usuario del ordenador. Un dispositivo 814 de entrada, que incluye teclas alfanuméricas y de otro tipo, está acoplado al bus 802 para comunicar información y selecciones de instrucciones al procesador 804. Otro tipo de dispositivo de entrada de usuario es el control 816 del cursor, tal como un ratón, una bola de mando o teclas de dirección del cursor para comunicar información de dirección y selecciones de instrucciones al procesador 804 y para controlar el movimiento del cursor en el dispositivo 812 de visualización, Típicamente, este dispositivo de entrada tiene dos grados de libertad en dos ejes, un primer eje (por ejemplo, x) y un segundo eje (por ejemplo, y), lo que permite que el dispositivo especifique posiciones en un
plano.
La invención versa acerca del uso de un sistema 800 de ordenador para implementar las técnicas descritas en el presente documento, Según una realización de la invención, esas técnicas son realizadas por el sistema 800 de ordenador en respuesta a que el procesador 804 ejecute una o más secuencias de una o más instrucciones contenidas en la memoria principal 806. Tales instrucciones pueden ser leídas a la memoria principal 806 desde otro medio legible por máquina, tal como el dispositivo 810 de almacenamiento. La ejecución de secuencias de instrucciones contenidas en la memoria principal 806 hace que el procesador 804 lleve a cabo las etapas de procedimiento descritas en el presente documento. En realizaciones alternativas, puede usarse una circuitería cableada en vez de o en combinación con instrucciones de soporte lógico para implementar la invención. Así, las realizaciones de la invención no están limitadas a ninguna combinación específica de circuitería de soporte físico y soporte lógico.
Tal como se usa en el presente documento, la expresión "medio legible por máquina" se refiere a cualquier medio que participe en proporcionar datos que hagan que una máquina opere de una manera específica. En una realización implementada usando el sistema 800 de ordenador, hay implicados diversos medios legibles por máquina, por ejemplo para proporcionar instrucciones al procesador 804 para su ejecución. Tal medio puede adoptar muchas formas, incluyendo, sin limitación, medios no volátiles, medios volátiles y medios de transmisión. Los medios no volátiles incluyen, por ejemplo, discos ópticos o magnéticos, tales como el dispositivo 810 de almacenamiento. Los medios volátiles incluyen la memoria dinámica, tal como la memoria principal 806. Los medios de transmisión incluyen cables coaxiales, hilo de cobre y fibra óptica, incluyendo los hilos que comprenden el bus 802. Los medios de transmisión también pueden adoptar la forma de ondas acústicas o lumínicas, tales como las generadas durante las comunicaciones de datos por ondas de radio o infrarrojos. Todos los medios de esos tipos deben ser tangibles para permitir que las instrucciones portadas por los medios sean detectadas por un mecanismo físico que lea las instrucciones introduciéndolas en una máquina.
Formas comunes de medios legibles por máquina incluyen, por ejemplo, un disquete, un disco flexible, un disco duro, una cinta magnética o cualquier otro medio magnético, un CD-ROM, cualquier otro medio óptico, tarjetas perforadas, cinta de papel, cualquier otro medio físico con patrones de agujeros, una RAM, una PROM, una EPROM, una FLASH-EPROM, cualquier otro chip o cartucho de memoria, una onda portadora, como se describirá posteriormente en el presente documento, o cualquier otro medio del que pueda leer un ordenador.
Diversas formas de medios legibles por máquina pueden estar implicadas en portar una o más secuencias de una o más instrucciones al procesador 804 para su ejecución. Por ejemplo, las instrucciones pueden estar portadas inicialmente en un disco magnético de un ordenador remoto. El ordenador remoto puede cargar las instrucciones en su memoria dinámica y enviar las instrucciones por una línea telefónica usando un módem. Un módem local de un sistema 800 de ordenador puede recibir los datos por la línea telefónica y usar un transmisor infrarrojo para convertir los datos en una señal infrarroja. Un detector infrarrojo puede recibir los datos portados en la señal infrarroja y una circuitería apropiada puede poner los datos en el bus 802. El bus 802 lleva los datos a la memoria principal 806, de la que el procesador 804 los recupera y ejecuta las instrucciones. Las instrucciones recibidas por la memoria principal 806 pueden opcionalmente ser almacenadas en el dispositivo 810 de almacenamiento, ya sea antes o después de su ejecución por el procesador 804.
El sistema 800 de ordenador también incluye una interfaz 818 de comunicaciones acoplada al bus 802. La interfaz 818 de comunicaciones proporciona un acoplamiento de comunicaciones bidireccionales de datos a un enlace 820 de red que está conectado a una red local 822. Por ejemplo, la interfaz 818 de comunicaciones puede ser una tarjeta de red digital de servicios integrados (RDSI) o un módem para proporcionar una conexión de comunicaciones de datos con un tipo correspondiente de línea telefónica. Como ejemplo adicional, la interfaz 818 de comunicaciones puede ser una tarjeta de red de área local (LAN) para proporcionar una conexión de comunicaciones de datos con una LAN compatible. También pueden implementarse enlaces inalámbricos. En cualquier implementación tal, la interfaz 818 de comunicaciones envía y recibe señales eléctricas, electromagnéticas u ópticas que portan flujos de datos digitales que representan diversos tipos de información.
Típicamente, el enlace 820 de red proporciona una comunicación de datos, a través de una o más redes, con otros dispositivos de datos. Por ejemplo, el enlace 820 de red puede proporcionar una conexión a través de la red local 822 con un ordenador central 820 o con equipos de datos operados por un proveedor 826 de servicios de Internet (ISP). A su vez, el ISP 826 proporciona servicios de comunicaciones de datos a través de la red mundial de comunicaciones de paquetes de datos ahora denominada comúnmente "Internet" 828. La red local 822 e Internet 828 usan ambas señales eléctricas, electromagnéticas u ópticas que portan flujos digitales de datos. Las señales a través de las diversas redes y las señales en el enlace 820 de red y a través de la interfaz 818 de comunicaciones, que portan los datos digitales hasta el sistema 800 de ordenador y procedentes del mismo, son formas ejemplares de ondas portadoras que transportan la información.
El sistema 800 de ordenador puede enviar mensajes y recibir datos, incluyendo código de programas, a través de la o las redes, del enlace 820 de red y de la interfaz 818 de comunicaciones. En el ejemplo de Internet, un servidor 820 podría transmitir un código solicitado para un programa de aplicación a través de Internet 828, el ISP 826, la red local 822 y la interfaz 818 de comunicaciones.
El código recibido puede ser ejecutado por el procesador 840 cuando se recibe, y/o almacenado en el dispositivo 810 de almacenamiento u otro almacenamiento no volátil para su ejecución posterior. De esta manera, el sistema 800 de ordenador puede obtener código de aplicación en forma de una onda portadora.
En la memoria anterior, se han descrito realizaciones de la presente invención con referencia a numerosos detalles específicos que pueden variar de una implementación a otra. Así, el único y exclusivo indicador de lo que es la invención, y de lo que el solicitante pretende que sea la invención, es el conjunto de reivindicaciones que esta solicitud da a conocer, en la forma específica en la que tales reivindicaciones son dadas a conocer, incluyendo cualquier corrección subsiguiente. Cualquier definición formulada expresamente en el presente documento de términos contenidos en tales reivindicaciones gobernarán el significado de tales términos tal como son usados en las reivindicaciones. Por ello, ninguna limitación, ningún elemento, propiedad, característica, ventaja o atributo que no sean enumerados expresamente en una reivindicación deberían limitar el alcance de tal reivindicación en modo alguno. La memoria y los dibujos han de ser considerados, en consecuencia, en un sentido ilustrativo, no restrictivo.

Claims (16)

1. Un procedimiento para procesar datos intrabanda en un dispositivo multimedia que comprende:
recibir un flujo (600, 700A, 700B) de contenido multimedia, en el que el flujo (600, 700A, 700B) de contenido multimedia contiene datos intrabanda;
procesar los datos intrabanda, incluyendo el cálculo de al menos dos valores (314A-314D) de clave calculada a partir de los datos intrabanda y un período de tiempo entre la generación de los al menos dos valores calculados (314A-314D) de clave calculada;
determinar que los al menos dos valores calculados (314A-314D) de clave calculada y el período de tiempo entre la generación de los al menos dos valores calculados (314A-314D) de clave calculada coinciden con un patrón particular asociado con uno o más eventos, donde el período de tiempo coincide dentro de un margen de error; e
identificar los uno o más eventos en respuesta a la determinación de que el patrón particular coincida dentro del margen de error.
\vskip1.000000\baselineskip
2. El procedimiento de la Reivindicación 1 en el que los datos intrabanda son datos (702) con subtítulos para sordos y/o datos de señalización de Televisión Mejorada (ETV).
3. El procedimiento de la Reivindicación 1 que, además, comprende las etapas de:
en respuesta a la identificación de uno o más eventos en el flujo (600, 700A, 700B) de contenido multimedia:
presentar un icono a un usuario en una pantalla de visualización mientras se presenta a un usuario el flujo (600, 700A, 700B) de contenido multimedia; y/o
almacenar uno o más segmentos del flujo (600. 700A, 700B) de contenido multimedia en el dispositivo multimedia que están relacionados con los uno o más eventos identificados.
\vskip1.000000\baselineskip
4. El procedimiento de la Reivindicación 1 en el que el flujo (600, 700A, 700B) de contenido multimedia comprende, además, uno o más programas de vídeo y en el que la etapa de identificación identifica uno o más eventos en los uno o más programas de vídeo.
5. El procedimiento de la Reivindicación 1 en el que la etapa de determinación comprende, además:
procesar metadatos asociados con el patrón particular coincidente.
\vskip1.000000\baselineskip
6. El procedimiento de la Reivindicación 5 en el que los metadatos dan instrucciones al dispositivo multimedia para:
llevar a cabo una acción; y/o
saltar un segmento del flujo (600, 700A, 700B) de contenido multimedia; y/o
reordenar dos o más segmentos del flujo (600, 700A, 700B) de contenido multimedia.
\vskip1.000000\baselineskip
7. El procedimiento de la Reivindicación 6 que, además, comprende:
crear, en el dispositivo multimedia, un flujo personalizado (600, 700A, 700B) de contenido multimedia que contiene los dos o más segmentos reordenados; y
presentar el flujo personalizado (600, 700A, 700B) de contenido multimedia a un usuario.
\vskip1.000000\baselineskip
8. El procedimiento de la Reivindicación 5 en el que los metadatos asociados con la ubicación identificada dan instrucciones al dispositivo multimedia para almacenar uno o más segmentos del flujo (600, 700A, 700B) de contenido en un dispositivo (214) de almacenamiento, y en el que el dispositivo (214) de almacenamiento contiene uno más segmentos extraídos de uno o más flujos diferentes (600, 700A, 700B) de contenido.
\newpage
9. El procedimiento de la Reivindicación 8 que, además, comprende:
crear, en el dispositivo multimedia, un flujo personalizado de contenido multimedia que contiene cualesquiera combinaciones de segmentos almacenadas en el dispositivo (214) de almacenamiento; y
presentar el flujo personalizado de contenido a un usuario.
\vskip1.000000\baselineskip
10. El procedimiento de la Reivindicación 1 que, además, comprende:
durante la reproducción del contenido multimedia, saltar a una ubicación en el contenido multimedia asociada con un evento identificado.
\vskip1.000000\baselineskip
11. El procedimiento de la Reivindicación 1 que, además, comprende:
recibir datos de identificación de eventos que asocian uno o más patrones de datos intrabanda con uno o más eventos; y
almacenar los datos recibidos de identificación de eventos en el dispositivo (214) de almacenamiento como parte de la pluralidad de patrones.
\vskip1.000000\baselineskip
12. El procedimiento de la Reivindicación 11 en el que el dispositivo (214) de almacenamiento es:
una unidad de disco duro; y/o
un medio de almacenamiento extraíble; y/o
un medio de almacenamiento volátil; y/o
un medio de almacenamiento no volátil.
\vskip1.000000\baselineskip
13. El procedimiento de la Reivindicación 1 en el que el flujo (600, 700A, 700B) de contenido multimedia es un flujo de emisión de televisión.
14. El procedimiento de la Reivindicación 1 que, además, comprende llevar a cabo una acción en respuesta a la identificación de los uno o más eventos 3.
15. Un aparato para procesar datos intrabanda en un dispositivo multimedia, estando adaptado el aparato para llevar a cabo el procedimiento de una cualquiera de las Reivindicaciones 1-14.
16. Un medio de almacenamiento legible por ordenador que contiene una o más secuencias de instrucciones para procesar datos intrabanda en un dispositivo multimedia, instrucciones que, cuando son ejecutadas por uno o más procesadores (804), hacen que los uno o más procesadores (804) lleven a cabo las etapas del procedimiento de una cualquiera de las Reivindicaciones 1-14.
ES06773937T 2006-06-22 2006-06-23 Sincronización de contenido multimedia con eventos basados en el reconocimiento de secuencias de valores de clave calculada. Active ES2381760T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/473,543 US7661121B2 (en) 2006-06-22 2006-06-22 In-band data recognition and synchronization system
US473543 2006-06-22
PCT/US2006/024688 WO2007149100A2 (en) 2006-06-22 2006-06-23 In-band data recognition and synchronization system

Publications (1)

Publication Number Publication Date
ES2381760T3 true ES2381760T3 (es) 2012-05-31

Family

ID=38833884

Family Applications (1)

Application Number Title Priority Date Filing Date
ES06773937T Active ES2381760T3 (es) 2006-06-22 2006-06-23 Sincronización de contenido multimedia con eventos basados en el reconocimiento de secuencias de valores de clave calculada.

Country Status (10)

Country Link
US (8) US7661121B2 (es)
EP (3) EP2506595B1 (es)
JP (3) JP5060552B2 (es)
CN (2) CN101473648B (es)
AT (1) ATE546014T1 (es)
AU (2) AU2006344735C1 (es)
CA (1) CA2653558C (es)
ES (1) ES2381760T3 (es)
PT (1) PT2036343E (es)
WO (1) WO2007149100A2 (es)

Families Citing this family (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233389B1 (en) 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US7558472B2 (en) 2000-08-22 2009-07-07 Tivo Inc. Multimedia signal processing system
JP2003521851A (ja) 1999-09-20 2003-07-15 ティヴォ インク クローズド・キャプション・タグ付けシステム
WO2001047257A1 (en) * 1999-12-21 2001-06-28 Tivo, Inc. Intelligent system and methods of recommending media content items based on user preferences
US7917932B2 (en) 2005-06-07 2011-03-29 Sling Media, Inc. Personal video recorder functionality for placeshifting systems
US9998802B2 (en) 2004-06-07 2018-06-12 Sling Media LLC Systems and methods for creating variable length clips from a media stream
US8346605B2 (en) 2004-06-07 2013-01-01 Sling Media, Inc. Management of shared media content
BRPI0511858B1 (pt) 2004-06-07 2020-12-22 Sling Media, Inc. transmissor de mídia pessoal e respectivo sistema de transmissão, métodos de provimento de acesso a fonte áudio/visual em localização remota da fonte áudio/visual e de fluxo (streaming) de sinal de mídia para local de assinante remoto
US7769756B2 (en) 2004-06-07 2010-08-03 Sling Media, Inc. Selection and presentation of context-relevant supplemental content and advertising
US7975062B2 (en) 2004-06-07 2011-07-05 Sling Media, Inc. Capturing and sharing media content
WO2006055920A2 (en) 2004-11-19 2006-05-26 Tivo Inc. Method and apparatus for secure transfer of previously broadcasted content
US8069461B2 (en) 2006-03-30 2011-11-29 Verizon Services Corp. On-screen program guide with interactive programming recommendations
US7661121B2 (en) * 2006-06-22 2010-02-09 Tivo, Inc. In-band data recognition and synchronization system
US7873982B2 (en) * 2006-06-22 2011-01-18 Tivo Inc. Method and apparatus for creating and viewing customized multimedia segments
US8418217B2 (en) 2006-09-06 2013-04-09 Verizon Patent And Licensing Inc. Systems and methods for accessing media content
US8464295B2 (en) 2006-10-03 2013-06-11 Verizon Patent And Licensing Inc. Interactive search graphical user interface systems and methods
US8566874B2 (en) 2006-10-03 2013-10-22 Verizon Patent And Licensing Inc. Control tools for media content access systems and methods
US8595760B1 (en) * 2006-11-22 2013-11-26 Amdocs Software Systems Limited System, method and computer program product for presenting an advertisement within content
WO2008064469A1 (en) * 2006-11-28 2008-06-05 Innovative Chemical Technologies Canada Ltd. Recycling of oil-based drilling muds
US8510780B2 (en) 2006-12-21 2013-08-13 Verizon Patent And Licensing Inc. Program guide navigation tools for media content access systems and methods
US8015581B2 (en) 2007-01-05 2011-09-06 Verizon Patent And Licensing Inc. Resource data configuration for media content access systems and methods
US8126262B2 (en) * 2007-06-18 2012-02-28 International Business Machines Corporation Annotating video segments using feature rhythm models
US8103965B2 (en) 2007-06-28 2012-01-24 Verizon Patent And Licensing Inc. Media content recording and healing statuses
US8136140B2 (en) 2007-11-20 2012-03-13 Dish Network L.L.C. Methods and apparatus for generating metadata utilized to filter content from a video stream using text data
US8165450B2 (en) 2007-11-19 2012-04-24 Echostar Technologies L.L.C. Methods and apparatus for filtering content in a video stream using text data
US8165451B2 (en) * 2007-11-20 2012-04-24 Echostar Technologies L.L.C. Methods and apparatus for displaying information regarding interstitials of a video stream
US8051447B2 (en) 2007-12-19 2011-11-01 Verizon Patent And Licensing Inc. Condensed program guide for media content access systems and methods
US11227315B2 (en) 2008-01-30 2022-01-18 Aibuy, Inc. Interactive product placement system and method therefor
US8312486B1 (en) 2008-01-30 2012-11-13 Cinsay, Inc. Interactive product placement system and method therefor
US20110191809A1 (en) 2008-01-30 2011-08-04 Cinsay, Llc Viral Syndicated Interactive Product System and Method Therefor
US8606085B2 (en) * 2008-03-20 2013-12-10 Dish Network L.L.C. Method and apparatus for replacement of audio data in recorded audio/video stream
US9113214B2 (en) 2008-05-03 2015-08-18 Cinsay, Inc. Method and system for generation and playback of supplemented videos
US9183885B2 (en) 2008-05-30 2015-11-10 Echostar Technologies L.L.C. User-initiated control of an audio/video stream to skip interstitial content between program segments
US8156520B2 (en) 2008-05-30 2012-04-10 EchoStar Technologies, L.L.C. Methods and apparatus for presenting substitute content in an audio/video stream using text data
US20090307741A1 (en) * 2008-06-09 2009-12-10 Echostar Technologies L.L.C. Methods and apparatus for dividing an audio/video stream into multiple segments using text data
CN101350826B (zh) * 2008-08-22 2012-09-05 中兴通讯股份有限公司 用于通信系统的图片或多媒体视频图片的监控方法
US8515338B2 (en) * 2008-12-12 2013-08-20 At&T Intellectual Property I, L.P. Systems and methods for synchronized playout of music on several personal digital music players
US8407735B2 (en) * 2008-12-24 2013-03-26 Echostar Technologies L.L.C. Methods and apparatus for identifying segments of content in a presentation stream using signature data
US8588579B2 (en) * 2008-12-24 2013-11-19 Echostar Technologies L.L.C. Methods and apparatus for filtering and inserting content into a presentation stream using signature data
US8510771B2 (en) * 2008-12-24 2013-08-13 Echostar Technologies L.L.C. Methods and apparatus for filtering content from a presentation stream using signature data
US8326127B2 (en) * 2009-01-30 2012-12-04 Echostar Technologies L.L.C. Methods and apparatus for identifying portions of a video stream based on characteristics of the video stream
US20100228736A1 (en) * 2009-02-20 2010-09-09 All Media Guide, Llc Recognizing a disc
US20100228704A1 (en) * 2009-02-20 2010-09-09 All Media Guide, Llc Recognizing a disc
US8438596B2 (en) 2009-04-08 2013-05-07 Tivo Inc. Automatic contact information transmission system
US20100269147A1 (en) * 2009-04-15 2010-10-21 Echostar Technologies Llc Video stream index generation at a video content transmitter
US8620967B2 (en) 2009-06-11 2013-12-31 Rovi Technologies Corporation Managing metadata for occurrences of a recording
US8437617B2 (en) * 2009-06-17 2013-05-07 Echostar Technologies L.L.C. Method and apparatus for modifying the presentation of content
US8325276B2 (en) * 2009-08-26 2012-12-04 Samsung Electronics Co., Ltd. System and method for real-time video content sharing with synchronization via closed-caption metadata
US8621099B2 (en) 2009-09-21 2013-12-31 Sling Media, Inc. Systems and methods for formatting media content for distribution
EP2520084A4 (en) * 2009-12-29 2013-11-13 Tv Interactive Systems Inc METHOD FOR IDENTIFYING VIDEO SEGMENTS AND DISPLAYING A CONTEXTUALLY TARGETED CONTENT ON A CONNECTED TELEVISION
US8670648B2 (en) 2010-01-29 2014-03-11 Xos Technologies, Inc. Video processing methods and systems
US20110197224A1 (en) * 2010-02-09 2011-08-11 Echostar Global B.V. Methods and Apparatus For Selecting Advertisements For Output By A Television Receiver Based on Social Network Profile Data
US8934758B2 (en) 2010-02-09 2015-01-13 Echostar Global B.V. Methods and apparatus for presenting supplemental content in association with recorded content
US8930849B2 (en) 2010-03-31 2015-01-06 Verizon Patent And Licensing Inc. Enhanced media content tagging systems and methods
CA2740111C (en) 2010-05-10 2019-01-15 Encore Interactive Inc. Realtime broadcast stream and control data conversion system and method
US8983952B1 (en) * 2010-07-29 2015-03-17 Symantec Corporation System and method for partitioning backup data streams in a deduplication based storage system
US8468453B2 (en) 2010-08-12 2013-06-18 Echostar Technologies L.L.C. User-selected media content blocking
KR101737325B1 (ko) * 2010-08-19 2017-05-22 삼성전자주식회사 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
US11227330B2 (en) 2010-09-03 2022-01-18 Lee Martin Stewart Determining a part having an anomaly in equipment and initiating an electronic transaction for replacing the part using a three-dimensional (3D) model of the equipment
US8935300B1 (en) 2011-01-03 2015-01-13 Intellectual Ventures Fund 79 Llc Methods, devices, and mediums associated with content-searchable media
US8745683B1 (en) * 2011-01-03 2014-06-03 Intellectual Ventures Fund 79 Llc Methods, devices, and mediums associated with supplementary audio information
US9383928B2 (en) * 2011-06-13 2016-07-05 Emc Corporation Replication techniques with content addressable storage
US9219945B1 (en) * 2011-06-16 2015-12-22 Amazon Technologies, Inc. Embedding content of personal media in a portion of a frame of streaming media indicated by a frame identifier
US9535450B2 (en) * 2011-07-17 2017-01-03 International Business Machines Corporation Synchronization of data streams with associated metadata streams using smallest sum of absolute differences between time indices of data events and metadata events
US8437622B2 (en) 2011-08-23 2013-05-07 Echostar Technologies L.L.C. Altering presentation of received content based on use of closed captioning elements as reference locations
EP3499446A1 (en) 2011-08-29 2019-06-19 AiBuy, Inc. Containerized software for virally copying from one endpoint to another
EP2826251B1 (en) * 2012-03-13 2018-08-08 TiVo Solutions Inc. Automatic commercial playback system
US8918311B1 (en) 2012-03-21 2014-12-23 3Play Media, Inc. Intelligent caption systems and methods
TWI519167B (zh) * 2012-04-23 2016-01-21 廣達電腦股份有限公司 運用後設資料來進行目標辨識與事件重現之系統
WO2013173805A1 (en) 2012-05-17 2013-11-21 Google Inc. Systems and methods re-ranking ranked search results
WO2013173806A2 (en) * 2012-05-17 2013-11-21 Google Inc. Systems and methods for determining a likelihood that an entity is an author of original content
US9607330B2 (en) 2012-06-21 2017-03-28 Cinsay, Inc. Peer-assisted shopping
US10789631B2 (en) 2012-06-21 2020-09-29 Aibuy, Inc. Apparatus and method for peer-assisted e-commerce shopping
US8819759B2 (en) * 2012-06-27 2014-08-26 Google Technology Holdings LLC Determining the location of a point of interest in a media stream that includes caption data
US20150245092A1 (en) * 2012-09-26 2015-08-27 ALi Europe SarI Digital converter
US9379932B1 (en) 2013-03-07 2016-06-28 Google Inc. Personal video recorder with limited attached local storage
US9173004B2 (en) 2013-04-03 2015-10-27 Sony Corporation Reproducing device, reproducing method, program, and transmitting device
FR3004881B1 (fr) 2013-04-19 2015-04-17 Kolor Procede de generation d'un flux video de sortie a partir d'un flux video large champ
JP6546924B2 (ja) 2013-09-11 2019-07-17 アイバイ,インコーポレイテッド コンテンツトランザクションアイテムの動的バインド
KR20160064093A (ko) 2013-09-27 2016-06-07 신세이, 인크. 보조 콘텐츠의 n 레벨 복제
AU2014324843A1 (en) 2013-09-27 2016-03-10 Aibuy, Inc. Apparatus and method for supporting relationships associated with content provisioning
US9456170B1 (en) 2013-10-08 2016-09-27 3Play Media, Inc. Automated caption positioning systems and methods
CN103701909B (zh) * 2013-12-26 2018-06-26 乐视致新电子科技(天津)有限公司 视频应用的快速生成方法及系统
US9668020B2 (en) 2014-04-07 2017-05-30 The Nielsen Company (Us), Llc Signature retrieval and matching for media monitoring
US20150332730A1 (en) * 2014-05-16 2015-11-19 Sumit Bohra System and method for removing commercial advertisement from recorded tv programs
US9575680B1 (en) 2014-08-22 2017-02-21 Veritas Technologies Llc Deduplication rehydration
US11051075B2 (en) 2014-10-03 2021-06-29 Dish Network L.L.C. Systems and methods for providing bookmarking data
GB2533913A (en) * 2014-11-07 2016-07-13 Fast Web Media Ltd A video signal caption system and method for advertising
US10303666B2 (en) 2015-03-09 2019-05-28 International Business Machines Corporation File transfer system using file backup times
US10015541B2 (en) 2015-03-25 2018-07-03 Cisco Technology, Inc. Storing and retrieval heuristics
US9578394B2 (en) 2015-03-25 2017-02-21 Cisco Technology, Inc. Video signature creation and matching
US9900636B2 (en) * 2015-08-14 2018-02-20 The Nielsen Company (Us), Llc Reducing signature matching uncertainty in media monitoring systems
US10303887B2 (en) 2015-09-14 2019-05-28 T0.Com, Inc. Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree
US10200546B2 (en) 2015-09-25 2019-02-05 The Nielsen Company (Us), Llc Methods and apparatus to identify media using hybrid hash keys
EP3357250A4 (en) 2015-09-30 2019-02-27 TiVo Solutions Inc. SYNCHRONIZING TAG DATA FOR MEDIA CONTENT
US10033928B1 (en) 2015-10-29 2018-07-24 Gopro, Inc. Apparatus and methods for rolling shutter compensation for multi-camera systems
US9973696B1 (en) 2015-11-23 2018-05-15 Gopro, Inc. Apparatus and methods for image alignment
US9792709B1 (en) 2015-11-23 2017-10-17 Gopro, Inc. Apparatus and methods for image alignment
US9848132B2 (en) * 2015-11-24 2017-12-19 Gopro, Inc. Multi-camera time synchronization
US9973746B2 (en) 2016-02-17 2018-05-15 Gopro, Inc. System and method for presenting and viewing a spherical video segment
US9602795B1 (en) 2016-02-22 2017-03-21 Gopro, Inc. System and method for presenting and viewing a spherical video segment
GB2556612B (en) 2016-04-18 2022-03-09 Grass Valley Ltd Monitoring audio-visual content with captions
US10387631B2 (en) * 2016-05-06 2019-08-20 Enterpriseweb Llc Systems and methods for domain-driven design and execution of modular and dynamic services, applications and processes
US10432855B1 (en) 2016-05-20 2019-10-01 Gopro, Inc. Systems and methods for determining key frame moments to construct spherical images
GB2552349B (en) * 2016-07-20 2019-05-22 Law Malcolm Sample synchronisation
US9934758B1 (en) 2016-09-21 2018-04-03 Gopro, Inc. Systems and methods for simulating adaptation of eyes to changes in lighting conditions
US10268896B1 (en) 2016-10-05 2019-04-23 Gopro, Inc. Systems and methods for determining video highlight based on conveyance positions of video content capture
US10194101B1 (en) 2017-02-22 2019-01-29 Gopro, Inc. Systems and methods for rolling shutter compensation using iterative process
US10937083B2 (en) 2017-07-03 2021-03-02 Medici Ventures, Inc. Decentralized trading system for fair ordering and matching of trades received at multiple network nodes and matched by multiple network nodes within decentralized trading system
US11418858B2 (en) 2017-09-01 2022-08-16 Roku, Inc. Interactive content when the secondary content is server stitched
CN108259965B (zh) * 2018-03-31 2020-05-12 湖南广播电视台广播传媒中心 一种视频剪辑方法和剪辑系统
CN108600773B (zh) * 2018-04-25 2021-08-10 腾讯科技(深圳)有限公司 字幕数据推送方法、字幕展示方法、装置、设备及介质
US11469881B2 (en) * 2018-12-26 2022-10-11 Korea Institute Of Science And Technology Apparatus and method for forgery prevention of digital information
US11483496B2 (en) * 2019-04-21 2022-10-25 Oran Gilad System and method for synchronizing auxiliary content to a video stream
US11233840B2 (en) * 2019-09-13 2022-01-25 Roku, Inc. Use of in-band metadata as basis to access reference fingerprints to facilitate content-related action
US11172269B2 (en) 2020-03-04 2021-11-09 Dish Network L.L.C. Automated commercial content shifting in a video streaming system
US11252460B2 (en) 2020-03-27 2022-02-15 The Nielsen Company (Us), Llc Signature matching with meter data aggregation for media identification
CN111597885A (zh) * 2020-04-07 2020-08-28 上海推乐信息技术服务有限公司 一种视频附加内容检测方法和系统
US11490167B2 (en) * 2020-12-07 2022-11-01 Rovi Guides, Inc. Systems and methods for dynamically syncing from time-shifted frame to live stream of content
US11490153B2 (en) 2020-12-07 2022-11-01 Rovi Guides, Inc. Systems and methods for dynamically syncing from time-shifted frame to live stream of content
US11770588B2 (en) * 2020-12-07 2023-09-26 Rovi Guides, Inc. Systems and methods for dynamically syncing from time-shifted frame to live stream of content
US11735186B2 (en) 2021-09-07 2023-08-22 3Play Media, Inc. Hybrid live captioning systems and methods
KR20230112424A (ko) * 2022-01-20 2023-07-27 삼성전자주식회사 디스플레이 장치 및 ir led를 이용하여 수신한 ir 신호에 기초하여 그 장치를 제어하는 방법

Family Cites Families (265)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2062424B (en) 1979-10-31 1983-04-07 British Broadcasting Corp Bradcast teletext system
DE3071063D1 (en) * 1979-12-21 1985-10-10 Pelikan Ag Method for manufacturing large numbers of ball-point pen refills
DE3036552C2 (de) 1980-09-27 1985-04-25 Blaupunkt-Werke Gmbh, 3200 Hildesheim Fernsehempfangsanlage
US4387406A (en) 1980-10-31 1983-06-07 Texas Instruments Incorporated Encoding and decoding digital data in a video format
US4805020A (en) 1983-03-21 1989-02-14 Greenberg Burton L Television program transmission verification method and apparatus
JPS6059864A (ja) * 1983-09-13 1985-04-06 Dainippon Screen Mfg Co Ltd 画像走査記録装置
US4697209A (en) * 1984-04-26 1987-09-29 A. C. Nielsen Company Methods and apparatus for automatically identifying programs viewed or recorded
US4677466A (en) * 1985-07-29 1987-06-30 A. C. Nielsen Company Broadcast program identification method and apparatus
US4739398A (en) * 1986-05-02 1988-04-19 Control Data Corporation Method, apparatus and system for recognizing broadcast segments
US4843562A (en) * 1987-06-24 1989-06-27 Broadcast Data Systems Limited Partnership Broadcast information classification system and method
DE3856057T2 (de) 1987-07-20 1998-10-29 Philips Electronics Nv Fernseh-Übertragungssystem
DE3727756A1 (de) 1987-08-20 1989-03-02 Philips Patentverwaltung Verfahren zum aufbereiten von kennsignalen
US4930158A (en) * 1987-09-02 1990-05-29 Vogel Peter S Selective video playing system
US4807031A (en) 1987-10-20 1989-02-21 Interactive Systems, Incorporated Interactive video method and apparatus
US5121476A (en) 1988-02-22 1992-06-09 Yee Keen Y TV data capture device
US4945412A (en) 1988-06-14 1990-07-31 Kramer Robert A Method of and system for identification and verification of broadcasting television and radio program segments
US4931865A (en) 1988-08-24 1990-06-05 Sebastiano Scarampi Apparatus and methods for monitoring television viewers
JPH0271633A (ja) 1988-09-07 1990-03-12 Hitachi Ltd 放送番組収録方法および収録装置および放送装置
US5767913A (en) 1988-10-17 1998-06-16 Kassatly; Lord Samuel Anthony Mapping system for producing event identifying codes
US4857999A (en) * 1988-12-20 1989-08-15 Peac Media Research, Inc. Video monitoring system
US5307173A (en) 1988-12-23 1994-04-26 Gemstar Development Corporation Apparatus and method using compressed codes for television program record scheduling
KR900010504A (ko) 1988-12-31 1990-07-07 안시환 비디오 테이프 레코오더를 이용한 가정자동화 방법 및 장치
US5014125A (en) 1989-05-05 1991-05-07 Cableshare, Inc. Television system for the interactive distribution of selectable video presentations
US5469207A (en) 1989-12-06 1995-11-21 British Broadcasting Corporation Method of labelling a broadcast signal including transmitting a sequence of program labels
CA2036205C (en) * 1990-06-01 1996-11-19 Russell J. Welsh Program monitoring unit
US5233423A (en) 1990-11-26 1993-08-03 North American Philips Corporation Embedded commericals within a television receiver using an integrated electronic billboard
WO1992022983A2 (en) 1991-06-11 1992-12-23 Browne H Lee Large capacity, random access, multi-source recorder player
US5387941A (en) 1991-06-14 1995-02-07 Wavephore, Inc. Data with video transmitter
US5210611A (en) 1991-08-12 1993-05-11 Keen Y. Yee Automatic tuning radio/TV using filtered seek
JPH05114194A (ja) 1991-10-22 1993-05-07 Sumitomo Electric Ind Ltd 番組予約システム
JPH05182294A (ja) 1991-12-27 1993-07-23 Sony Corp 記録装置及び再生装置
JP3299771B2 (ja) 1992-02-18 2002-07-08 パイオニア株式会社 文字放送受信機
US5659368A (en) 1992-04-28 1997-08-19 Thomson Consumer Electronics, Inc. Auxiliary video information system including extended data services
US5363481A (en) 1992-06-22 1994-11-08 Tektronix, Inc. Auto selecting scrolling device
ATE164280T1 (de) 1992-06-29 1998-04-15 Koninkl Philips Electronics Nv Fernsehempfänger mit videotextdekoder
US5440345A (en) 1992-07-17 1995-08-08 Kabushiki Kaisha Toshiba High efficient encoding/decoding system
US5721788A (en) 1992-07-31 1998-02-24 Corbis Corporation Method and system for digital image signatures
GB2270791B (en) 1992-09-21 1996-07-17 Grass Valley Group Disk-based digital video recorder
US5371551A (en) 1992-10-29 1994-12-06 Logan; James Time delayed digital video system using concurrent recording and playback
US5400401A (en) 1992-10-30 1995-03-21 Scientific Atlanta, Inc. System and method for transmitting a plurality of digital services
US5282247A (en) 1992-11-12 1994-01-25 Maxtor Corporation Apparatus and method for providing data security in a computer system having removable memory
DE69331715T2 (de) 1992-12-09 2002-10-24 Discovery Communications, Inc. Fernbedienung für Kabelfernsehverteilsysteme
US5999688A (en) 1993-01-08 1999-12-07 Srt, Inc. Method and apparatus for controlling a video player to automatically locate a segment of a recorded program
US5696866A (en) 1993-01-08 1997-12-09 Srt, Inc. Method and apparatus for eliminating television commercial messages
US5987210A (en) 1993-01-08 1999-11-16 Srt, Inc. Method and apparatus for eliminating television commercial messages
US7110658B1 (en) * 1993-01-08 2006-09-19 Televentions, Llc Method and apparatus for eliminating television commercial messages
US5428400A (en) 1993-01-29 1995-06-27 Thomson Consumer Electronics, Inc. Enabling a display of closed captioning status upon detecting a code of a proper subset of closed-caption data codes
US5375160A (en) 1993-05-28 1994-12-20 Ledler Corporation Interface apparatus for effecting captioning and communications between a telephone line and a television
US5386232A (en) 1993-06-16 1995-01-31 Intel Corporation Method and apparatus for encoding images using a specified data format
JP3371158B2 (ja) 1993-07-23 2003-01-27 ソニー株式会社 放送受信装置
US5481296A (en) 1993-08-06 1996-01-02 International Business Machines Corporation Apparatus and method for selectively viewing video information
DE69424611T2 (de) 1993-09-22 2001-01-25 Sony Corp., Tokio/Tokyo Fernsehgerät
US5481294A (en) 1993-10-27 1996-01-02 A. C. Nielsen Company Audience measurement system utilizing ancillary codes and passive signatures
US5519780A (en) 1993-12-03 1996-05-21 Scientific-Atlanta, Inc. System and method for providing compressed digital teletext services and teletext support services
US5559653A (en) 1993-12-10 1996-09-24 Yamaha Corporation Thin film magnetic head having a multilayer upper core
JP3277473B2 (ja) 1994-01-25 2002-04-22 ソニー株式会社 放送受信装置
US5537151A (en) 1994-02-16 1996-07-16 Ati Technologies Inc. Close caption support with timewarp
US5624265A (en) 1994-07-01 1997-04-29 Tv Interactive Data Corporation Printed publication remote contol for accessing interactive media
EP0692909B1 (en) 1994-07-12 2001-11-28 Deutsche Thomson-Brandt Gmbh Method to provide a subtitle in a teletext system
US5555441A (en) 1994-08-02 1996-09-10 Interim Design Inc. Interactive audiovisual distribution system
US5600775A (en) 1994-08-26 1997-02-04 Emotion, Inc. Method and apparatus for annotating full motion video and other indexed data structures
JPH0879685A (ja) 1994-08-31 1996-03-22 Sony Corp ニア・ビデオ・オン・デマンドシステムにおけるプログラム再生装置
DE4434034A1 (de) 1994-09-23 1996-03-28 Thomson Brandt Gmbh Verfahren zur Markierung und/oder zur Auswertung von Markierungen von auf einem Speicherträger aufgezeichneten Informationen für Steuerungszwecke
US5614940A (en) 1994-10-21 1997-03-25 Intel Corporation Method and apparatus for providing broadcast information with indexing
US5566089A (en) 1994-10-26 1996-10-15 General Instrument Corporation Of Delaware Syntax parser for a video decompression processor
DE69529836T2 (de) 1994-10-27 2004-03-04 Index Systems, Inc. System und methode zur fernladung von recorderprogrammierungsdaten in einem videosignal
US5867205A (en) 1994-11-14 1999-02-02 Intel Corporation Method and apparatus for controlling video/audio and channel selection for a communication signal based on textual information indicative of channel contents of a signal
JP3248380B2 (ja) 1994-12-15 2002-01-21 ソニー株式会社 データ復号化装置およびデータ復号化方法
US5872983A (en) 1994-12-22 1999-02-16 Texas Instruments Incorporated Power management interface system for use with an electronic wiring board article of manufacture
US6198977B1 (en) 1995-01-09 2001-03-06 Qwest Communication International Inc. Electronic classified advertising interface method and instructions with ad replay options
US6115057A (en) 1995-02-14 2000-09-05 Index Systems, Inc. Apparatus and method for allowing rating level control of the viewing of a program
GB9504376D0 (en) 1995-03-04 1995-04-26 Televitesse Systems Inc Automatic broadcast monitoring system
US5526054A (en) 1995-03-27 1996-06-11 International Business Machines Corporation Apparatus for header generation
US5517257A (en) 1995-03-28 1996-05-14 Microsoft Corporation Video control user interface for interactive television systems and method for controlling display of a video movie
EP0735754B1 (en) 1995-03-30 2008-05-07 THOMSON Licensing Method and apparatus for the classification of television signals
US5719634A (en) 1995-04-19 1998-02-17 Sony Corportion Methods of and apparatus for encoding and decoding digital data for representation in a video frame
US5805763A (en) 1995-05-05 1998-09-08 Microsoft Corporation System and method for automatically recording programs in an interactive viewing system
FI98591C (fi) 1995-05-23 1997-07-10 Nokia Technology Gmbh Videokuvan tekstitysmenetelmä
US5708787A (en) 1995-05-29 1998-01-13 Matsushita Electric Industrial Menu display device
US5930493A (en) 1995-06-07 1999-07-27 International Business Machines Corporation Multimedia server system and method for communicating multimedia information
US6829368B2 (en) * 2000-01-26 2004-12-07 Digimarc Corporation Establishing and interacting with on-line media collections using identifiers in media signals
JPH09102940A (ja) 1995-08-02 1997-04-15 Sony Corp 動画像信号の符号化方法、符号化装置、復号化装置、記録媒体及び伝送方法
JPH0965267A (ja) 1995-08-22 1997-03-07 Toshiba Corp テレビジョンシステムおよび磁気記録再生装置
US5878141A (en) 1995-08-25 1999-03-02 Microsoft Corporation Computerized purchasing system and method for mediating purchase transactions over an interactive network
US6496981B1 (en) 1997-09-19 2002-12-17 Douglass A. Wistendahl System for converting media content for interactive TV use
JP3330797B2 (ja) 1995-10-02 2002-09-30 富士通株式会社 動画像データ格納方式および動画像データ復号方式
JP3671476B2 (ja) 1995-11-07 2005-07-13 ソニー株式会社 受信装置
US6157413A (en) 1995-11-20 2000-12-05 United Video Properties, Inc. Interactive special events video signal navigation system
TW303437B (en) 1996-01-11 1997-04-21 Ibm Entertainment system for portable computer
US6061056A (en) 1996-03-04 2000-05-09 Telexis Corporation Television monitoring system with automatic selection of program material of interest and subsequent display under user control
JP3332756B2 (ja) 1996-03-14 2002-10-07 三洋電機株式会社 テレビジョン放送信号の記録再生装置
US6240555B1 (en) 1996-03-29 2001-05-29 Microsoft Corporation Interactive entertainment system for presenting supplemental interactive content together with continuous video programs
US6058430A (en) 1996-04-19 2000-05-02 Kaplan; Kenneth B. Vertical blanking interval encoding of internet addresses for integrated television/internet devices
US5929849A (en) 1996-05-02 1999-07-27 Phoenix Technologies, Ltd. Integration of dynamic universal resource locators with television presentations
KR100212134B1 (ko) * 1996-05-03 1999-08-02 윤종용 시청자 선택형 자막표시의 소프트 스크롤 방법
CN1192602C (zh) 1996-05-03 2005-03-09 三星电子株式会社 适于音节文字的观众选择型字幕播放和接收方法及其装置
US6018775A (en) 1996-07-02 2000-01-25 Gateway 2000, Inc. System with a remote wireless mass storage which provides identification of a particular mass storage stored in a cradle to the system
US5742768A (en) 1996-07-16 1998-04-21 Silicon Graphics, Inc. System and method for providing and displaying a web page having an embedded menu
US7225142B1 (en) 1996-08-01 2007-05-29 At&T Corp. Interactive multimedia advertising and electronic commerce on a hypertext network
US7155451B1 (en) 1996-09-03 2006-12-26 Torres Damon C Automated browsing system for publishers and users on networks serving internet and remote devices
US5856973A (en) 1996-09-10 1999-01-05 Thompson; Kenneth M. Data multiplexing in MPEG server to decoder systems
CN100347671C (zh) 1996-09-11 2007-11-07 松下电器产业株式会社 程序接收执行装置及用于它的程序发送装置
US5892536A (en) * 1996-10-03 1999-04-06 Personal Audio Systems and methods for computer enhanced broadcast monitoring
US20020120925A1 (en) 2000-03-28 2002-08-29 Logan James D. Audio and video program recording, editing and playback systems using metadata
US20030093790A1 (en) * 2000-03-28 2003-05-15 Logan James D. Audio and video program recording, editing and playback systems using metadata
US7055166B1 (en) 1996-10-03 2006-05-30 Gotuit Media Corp. Apparatus and methods for broadcast monitoring
JPH10174007A (ja) 1996-10-11 1998-06-26 Toshiba Corp マルチ機能テレビジョン装置
ES2531195T3 (es) 1996-10-16 2015-03-11 Gemstar Dev Corp Aparato de grabación de programas y método de gestión de planificación de grabación
US20030005463A1 (en) 1999-09-30 2003-01-02 Douglas B Macrae Access to internet data through a television system
US5774666A (en) 1996-10-18 1998-06-30 Silicon Graphics, Inc. System and method for displaying uniform network resource locators embedded in time-based medium
US7269330B1 (en) 1996-11-01 2007-09-11 Televentions, Llc Method and apparatus for controlling a video recorder/player to selectively alter a video signal
US5999689A (en) 1996-11-01 1999-12-07 Iggulden; Jerry Method and apparatus for controlling a videotape recorder in real-time to automatically identify and selectively skip segments of a television broadcast signal during recording of the television signal
JPH10164521A (ja) 1996-11-29 1998-06-19 Canon Inc 画像処理装置
JP3575205B2 (ja) 1996-12-13 2004-10-13 ソニー株式会社 リモートコマンダ及びネットワーク接続システム
US6177931B1 (en) 1996-12-19 2001-01-23 Index Systems, Inc. Systems and methods for displaying and recording control interface with television programs, video, advertising information and program scheduling information
US6473903B2 (en) 1996-12-30 2002-10-29 Koninklijke Philips Electronics N.V. Method and system for implementing interactive broadcast programs and commercials
US6163316A (en) 1997-01-03 2000-12-19 Texas Instruments Incorporated Electronic programming system and method
US6637032B1 (en) * 1997-01-06 2003-10-21 Microsoft Corporation System and method for synchronizing enhancing content with a video program using closed captioning
JP3837808B2 (ja) 1997-01-22 2006-10-25 ヤマハ株式会社 記録再生装置
US6211919B1 (en) 1997-03-28 2001-04-03 Tektronix, Inc. Transparent embedment of data in a video signal
AU7684198A (en) 1997-04-21 1998-11-13 Gemstar Development Corporation Method and apparatus for time-shifting video and text in a text-enhanced television program
US6239843B1 (en) 1997-05-05 2001-05-29 Wavo Corporation Method and system for decoding data in a signal
US6094677A (en) 1997-05-30 2000-07-25 International Business Machines Corporation Methods, systems and computer program products for providing insertions during delays in interactive systems
JPH117751A (ja) 1997-06-18 1999-01-12 Oputoromu:Kk ドライブ一体型ディスク
US6172605B1 (en) 1997-07-02 2001-01-09 Matsushita Electric Industrial Co., Ltd. Remote monitoring system and method
IL125141A0 (en) * 1998-06-29 1999-01-26 Nds Ltd Advanced television system
JPH1145157A (ja) 1997-07-24 1999-02-16 Internatl Business Mach Corp <Ibm> データ転送装置、ディスク装置及びデータ転送方法
JPH11103452A (ja) 1997-09-26 1999-04-13 Hitachi Ltd インタラクティブ番組における対話及び画面制御方法
US6600496B1 (en) 1997-09-26 2003-07-29 Sun Microsystems, Inc. Interactive graphical user interface for television set-top box
EP1013089B1 (en) 1997-10-06 2005-06-22 Silicon Image, Inc. Digital video system and methods for providing same
US6412111B1 (en) 1997-10-09 2002-06-25 International Business Machines Corporation Data processing system and method for implementing programmable distribution of information by a video server
US6094228A (en) 1997-10-28 2000-07-25 Ciardullo; Daniel Andrew Method for transmitting data on viewable portion of a video signal
JPH11187324A (ja) 1997-12-19 1999-07-09 Matsushita Electric Ind Co Ltd 番組情報作成装置および方法と受信装置
CA2254695A1 (en) 1997-12-19 1999-06-19 John M. Todd Anti-theft alarm for portable electrically operated devices
US6075550A (en) 1997-12-23 2000-06-13 Lapierre; Diane Censoring assembly adapted for use with closed caption television
EP1389014A1 (en) 1997-12-26 2004-02-11 Matsushita Electric Industrial Co., Ltd. Video clip identification system unusable for commercial cutting
US6097441A (en) * 1997-12-31 2000-08-01 Eremote, Inc. System for dual-display interaction with integrated television and internet content
US6008802A (en) * 1998-01-05 1999-12-28 Intel Corporation Method and apparatus for automatically performing a function based on the reception of information corresponding to broadcast data
US6064748A (en) 1998-01-16 2000-05-16 Hewlett-Packard Company Method and apparatus for embedding and retrieving additional data in an encoded data stream
AU2337699A (en) 1998-01-23 1999-08-09 Index Systems, Inc. Home entertainment system and method of its operation
US20010042246A1 (en) 1999-08-04 2001-11-15 Henry C. Yuen Home entertainment system and method of its operation
US6557171B1 (en) 1998-02-02 2003-04-29 Matsushita Electric Industrial Co., Ltd. Digital tv broadcast sending apparatus, digital tv broadcast receiving apparatus, and digital tv broadcast sending / receiving system which facilitate preselection of tv programs, and computer readable recording medium storing a program for achieving a function of the digital tv broadcast receiving apparatus
JP3672432B2 (ja) 1998-03-20 2005-07-20 パイオニア株式会社 情報再生装置及び情報再生方法
US6433835B1 (en) 1998-04-17 2002-08-13 Encamera Sciences Corporation Expanded information capacity for existing communication transmission systems
US6788882B1 (en) 1998-04-17 2004-09-07 Timesurf, L.L.C. Systems and methods for storing a plurality of video streams on re-writable random-access media and time-and channel- based retrieval thereof
US6590588B2 (en) 1998-05-29 2003-07-08 Palm, Inc. Wireless, radio-frequency communications using a handheld computer
US6286061B1 (en) 1998-06-02 2001-09-04 Philips Electronics North America Corporation System for applying a tag to a frame based on certain characteristics of the frame and transferring the frame as a function of the tag
US6229532B1 (en) 1998-06-11 2001-05-08 Sony Corporation Method and apparatus for building a uniform resource locator menu in an Internet television system
US6698020B1 (en) 1998-06-15 2004-02-24 Webtv Networks, Inc. Techniques for intelligent video ad insertion
JP3907839B2 (ja) 1998-06-17 2007-04-18 松下電器産業株式会社 放送システム
US6400407B1 (en) 1998-06-17 2002-06-04 Webtv Networks, Inc. Communicating logical addresses of resources in a data service channel of a video signal
US6100941A (en) 1998-07-28 2000-08-08 U.S. Philips Corporation Apparatus and method for locating a commercial disposed within a video data stream
JP3951464B2 (ja) 1998-07-28 2007-08-01 株式会社日立製作所 ディジタル信号処理装置
US8577205B2 (en) 1998-07-30 2013-11-05 Tivo Inc. Digital video recording system
US8380041B2 (en) 1998-07-30 2013-02-19 Tivo Inc. Transportable digital video recorder system
US6233389B1 (en) 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US20020057893A1 (en) 1998-08-11 2002-05-16 Anthony Wood Digital recording and playback
US6215526B1 (en) 1998-11-06 2001-04-10 Tivo, Inc. Analog video tagging and encoding system
US6473778B1 (en) * 1998-12-24 2002-10-29 At&T Corporation Generating hypermedia documents from transcriptions of television programs using parallel text alignment
US6480353B1 (en) 1999-02-22 2002-11-12 Seagate Technology Llc Fixed disc drive cartridge and playback device
US6895166B1 (en) 1999-03-15 2005-05-17 Computer Prompting And Captioning Co. Method and apparatus for encoding control data in a video data system
US6320621B1 (en) 1999-03-27 2001-11-20 Sharp Laboratories Of America, Inc. Method of selecting a digital closed captioning service
US6850691B1 (en) 1999-03-30 2005-02-01 Tivo, Inc. Automatic playback overshoot correction system
AU4057100A (en) 1999-03-30 2000-10-16 Tivo, Inc. Multimedia schedule presentation system
US6694200B1 (en) 1999-04-13 2004-02-17 Digital5, Inc. Hard disk based portable device
US6266094B1 (en) 1999-06-14 2001-07-24 Medialink Worldwide Incorporated Method and apparatus for the aggregation and selective retrieval of television closed caption word content originating from multiple geographic locations
US20010003184A1 (en) 1999-07-16 2001-06-07 Ching Jamison K. Methods and articles of manufacture for interfacing, advertising and navigating with internet television
US6349410B1 (en) 1999-08-04 2002-02-19 Intel Corporation Integrating broadcast television pause and web browsing
EP1534004B1 (en) 1999-08-26 2016-05-25 Sony Europe Limited Television display device and method of operating a television system
JP2003521851A (ja) 1999-09-20 2003-07-15 ティヴォ インク クローズド・キャプション・タグ付けシステム
JP3659090B2 (ja) 1999-10-29 2005-06-15 日本電信電話株式会社 電子情報流通システム及び電子情報流通プログラムを格納した記憶媒体及び電子情報流通方法
US7159232B1 (en) 1999-11-16 2007-01-02 Microsoft Corporation Scheduling the recording of television programs
US6351596B1 (en) 2000-01-07 2002-02-26 Time Warner Entertainment Co, Lp Content control of broadcast programs
US7028071B1 (en) 2000-01-28 2006-04-11 Bycast Inc. Content distribution system for generating content streams to suit different users and facilitating e-commerce transactions using broadcast content metadata
US7028327B1 (en) 2000-02-02 2006-04-11 Wink Communication Using the electronic program guide to synchronize interactivity with broadcast programs
WO2001058121A1 (en) 2000-02-04 2001-08-09 Homerelay Communications, Inc. Method and apparatus for conducting long distance telephone calls in association with an advertisement system
WO2001058151A2 (en) 2000-02-04 2001-08-09 Intel Corporation Displaying enhanced content information on a remote control unit
AU2001239780A1 (en) 2000-02-17 2001-08-27 Minds@Work Video content distribution system including an interactive kiosk, a portable content storage device, and a set-top box
US7120924B1 (en) 2000-02-29 2006-10-10 Goldpocket Interactive, Inc. Method and apparatus for receiving a hyperlinked television broadcast
DE10195884T1 (de) 2000-03-08 2003-03-27 Gen Instrument Corp Persönlicher Datenrecorder und Inbetriebnahme und Nutzung desselben
US7395546B1 (en) 2000-03-09 2008-07-01 Sedna Patent Services, Llc Set top terminal having a program pause feature
JP2001268494A (ja) 2000-03-15 2001-09-28 Sony Corp ハードディスク装置
US20030174549A1 (en) 2000-03-31 2003-09-18 Yoshitaka Yaguchi Recording format, recording device and reproducing device
US8296792B2 (en) 2000-04-24 2012-10-23 Tvworks, Llc Method and system to provide interactivity using an interactive channel bug
US7877766B1 (en) 2000-05-04 2011-01-25 Enreach Technology, Inc. Method and system of providing a non-skippable sub-advertisement stream
JP2001338242A (ja) 2000-05-29 2001-12-07 Nippon Telegr & Teleph Corp <Ntt> 電子情報流通方法及びシステム及び電子情報流通プログラムを格納した記憶媒体
US6832388B1 (en) 2000-05-30 2004-12-14 Jordan Du Val Personal computer used in conjunction with television to display information related to television programming
US6442328B1 (en) 2000-05-31 2002-08-27 Keen Personal Media, Inc. Digital video recorder connectable to an auxiliary interface of a set-top box that provides video data stream to a display device based on selection between recorded video signal received from the dig
US7140033B1 (en) 2000-06-21 2006-11-21 Bellsouth Intellectual Property Corporation Methods and systems for controlling consumer electronics external devices via data delivered to a device
US6757675B2 (en) * 2000-07-24 2004-06-29 The Regents Of The University Of California Method and apparatus for indexing document content and content comparison with World Wide Web search service
US20020054091A1 (en) 2000-07-25 2002-05-09 Tomsen Mai-Lan Method and system to defer transactions conducted via interactive television
US7313802B1 (en) 2000-07-25 2007-12-25 Digeo, Inc. Method and system to provide deals and promotions via an interactive video casting system
US7103908B2 (en) 2000-07-25 2006-09-05 Diego, Inc. Method and system to save context for deferred transaction via interactive television
US20020013950A1 (en) 2000-07-25 2002-01-31 Tomsen Mai-Lan Method and system to save context for deferred transaction via interactive television
US20060015904A1 (en) * 2000-09-08 2006-01-19 Dwight Marcus Method and apparatus for creation, distribution, assembly and verification of media
US8122236B2 (en) 2001-10-24 2012-02-21 Aol Inc. Method of disseminating advertisements using an embedded media player page
US6973256B1 (en) * 2000-10-30 2005-12-06 Koninklijke Philips Electronics N.V. System and method for detecting highlights in a video program using audio properties
WO2002039739A1 (en) 2000-11-08 2002-05-16 Koninklijke Philips Electronics N.V. Method and device for communicating a command
US6909837B1 (en) 2000-11-13 2005-06-21 Sony Corporation Method and system for providing alternative, less-intrusive advertising that appears during fast forward playback of a recorded video program
US20030182414A1 (en) * 2003-05-13 2003-09-25 O'neill Patrick J. System and method for updating and distributing information
US7870592B2 (en) 2000-12-14 2011-01-11 Intertainer, Inc. Method for interactive video content programming
MXPA03007075A (es) 2001-02-07 2004-01-29 Infosphere Inc Metodo y aparato para proporcionar una presentacion de los medios interactivos.
JP3738968B2 (ja) 2001-02-20 2006-01-25 インターナショナル・ビジネス・マシーンズ・コーポレーション 広告配信システム、広告配信管理システム、及び付加情報配信方法
US20020124250A1 (en) 2001-03-02 2002-09-05 Proehl Andrew M. Hybrid advertising broadcast method
US7143353B2 (en) 2001-03-30 2006-11-28 Koninklijke Philips Electronics, N.V. Streaming video bookmarks
WO2002082699A1 (en) 2001-04-05 2002-10-17 Matsushita Electric Industrial Co., Ltd. Data broadcast program ts (transport stream) transmission apparatus and method, data broadcast program transmission program, recording medium, delivery apparatus, and delivery system
US20030229893A1 (en) 2001-04-26 2003-12-11 Vito Sgaraglino Multiple response means for interactive advertising and information systems
US20020194608A1 (en) * 2001-04-26 2002-12-19 Goldhor Richard S. Method and apparatus for a playback enhancement system implementing a "Say Again" feature
US6996717B2 (en) 2001-05-24 2006-02-07 Matsushita Electric Industrial Co., Ltd. Semi-fragile watermarking system for MPEG video authentication
US20050005308A1 (en) 2002-01-29 2005-01-06 Gotuit Video, Inc. Methods and apparatus for recording and replaying sports broadcasts
US7266832B2 (en) * 2001-06-14 2007-09-04 Digeo, Inc. Advertisement swapping using an aggregator for an interactive television system
JP2003015993A (ja) 2001-06-28 2003-01-17 Sony Corp 情報処理装置および情報処理方法、記録媒体、並びにプログラム
US6980594B2 (en) 2001-09-11 2005-12-27 Emc Corporation Generation of MPEG slow motion playout
US6957396B2 (en) 2001-10-18 2005-10-18 Sony Corporation Graphic user interface for digital networks
US20030079224A1 (en) 2001-10-22 2003-04-24 Anton Komar System and method to provide additional information associated with selectable display areas
JP2003152707A (ja) * 2001-11-08 2003-05-23 Nippon Hoso Kyokai <Nhk> コンテンツ作成装置,コンテンツ再生装置,コンテンツ提供方法
US20030122966A1 (en) 2001-12-06 2003-07-03 Digeo, Inc. System and method for meta data distribution to customize media content playback
US7373651B2 (en) 2001-12-17 2008-05-13 Sedna Patent Services, Llc Metadata structure for providing access to EPG features from within broadcast advertisements
CA2365731C (en) * 2001-12-20 2008-09-23 Ibm Canada Limited-Ibm Canada Limitee Support for concurrent active sql statements having shared sql context information
US8086491B1 (en) * 2001-12-31 2011-12-27 At&T Intellectual Property I, L. P. Method and system for targeted content distribution using tagged data streams
CN1628302A (zh) 2002-02-05 2005-06-15 皇家飞利浦电子股份有限公司 指纹的有效存储器
WO2003073758A1 (en) 2002-02-27 2003-09-04 Gemstar Development Corporation Video clipping system and method
US7818764B2 (en) * 2002-06-20 2010-10-19 At&T Intellectual Property I, L.P. System and method for monitoring blocked content
US7818763B2 (en) 2002-06-25 2010-10-19 Starz Entertainment, Llc Video advertising
JP3743635B2 (ja) 2002-07-30 2006-02-08 ソニー株式会社 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
GB0226648D0 (en) 2002-11-15 2002-12-24 Koninkl Philips Electronics Nv Usage data harvesting
US20040122746A1 (en) 2002-12-23 2004-06-24 Charlier Michael L. Method and system for direct purchase in response to a multi-media display
GB0303176D0 (en) 2003-02-12 2003-03-19 Video Networks Ltd A system for capture and selective playback of broadcast programmes
US7694318B2 (en) * 2003-03-07 2010-04-06 Technology, Patents & Licensing, Inc. Video detection and insertion
US7814523B2 (en) 2003-03-19 2010-10-12 International Business Machines Corporation Apparatus and method for television viewer interest expression in advertiser goods and services
US20040261128A1 (en) 2003-06-17 2004-12-23 Pioneer Digital Technologies, Inc. Method and apparatus for placement of auxiliary content in a stream of information
WO2005006768A1 (en) 2003-06-20 2005-01-20 Nielsen Media Research, Inc Signature-based program identification apparatus and methods for use with digital broadcast systems
JP2006528859A (ja) 2003-07-25 2006-12-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ オーディオとビデオを同期させるための指紋生成及び検出の方法及び装置
US20050044561A1 (en) * 2003-08-20 2005-02-24 Gotuit Audio, Inc. Methods and apparatus for identifying program segments by detecting duplicate signal patterns
US20050086705A1 (en) 2003-08-26 2005-04-21 Jarman Matthew T. Method and apparatus for controlling play of an audio signal
US7886337B2 (en) 2003-10-22 2011-02-08 Nvidia Corporation Method and apparatus for content protection
TW200516574A (en) * 2003-11-06 2005-05-16 Liteon It Corp The method of recording and displaying the video and audio stream
KR100531622B1 (ko) * 2003-12-05 2005-11-28 한국전자통신연구원 고속 패턴 저장 및 매칭 방법
US7986913B2 (en) * 2004-02-19 2011-07-26 Landmark Digital Services, Llc Method and apparatus for identificaton of broadcast source
US20050226601A1 (en) * 2004-04-08 2005-10-13 Alon Cohen Device, system and method for synchronizing an effect to a media presentation
US7681141B2 (en) 2004-05-11 2010-03-16 Sony Computer Entertainment America Inc. Fast scrolling in a graphical user interface
US20060013556A1 (en) 2004-07-01 2006-01-19 Thomas Poslinski Commercial information and guide
JP4257269B2 (ja) 2004-07-13 2009-04-22 日本電気株式会社 メタデータ送信装置及びメタデータ受信装置
US8566879B2 (en) * 2004-09-28 2013-10-22 Sony Corporation Method and apparatus for navigating video content
US20060089843A1 (en) 2004-10-26 2006-04-27 David Flather Programmable, interactive task oriented hotspot, image map, or layer hyperlinks within a multimedia program and interactive product, purchase or information page within a media player, with capabilities to purchase products right out of media programs and/ or media players
WO2006055920A2 (en) 2004-11-19 2006-05-26 Tivo Inc. Method and apparatus for secure transfer of previously broadcasted content
US8768146B2 (en) * 2005-10-24 2014-07-01 Microsoft Corporation Strategies for controlling presentation of media information based on a sampling of customer playback behavior
JP4843449B2 (ja) 2005-12-02 2011-12-21 ソニー株式会社 コンテンツ送受再生方法および受信再生端末
US8161412B2 (en) 2006-01-13 2012-04-17 At&T Intellectual Property I, L.P. Systems, methods, and computer program products for providing interactive content
MX2007015979A (es) * 2006-03-31 2009-04-07 Nielsen Media Res Inc Metodos, sistemas y aparato para medicion de multiples fines.
US20080010130A1 (en) 2006-06-15 2008-01-10 Nokia Corporation Auctions for widget space
US7661121B2 (en) 2006-06-22 2010-02-09 Tivo, Inc. In-band data recognition and synchronization system
US7873982B2 (en) 2006-06-22 2011-01-18 Tivo Inc. Method and apparatus for creating and viewing customized multimedia segments
US8261300B2 (en) 2006-06-23 2012-09-04 Tivo Inc. Method and apparatus for advertisement placement in a user dialog on a set-top box
US7703120B2 (en) 2006-09-13 2010-04-20 Cisco Technology, Inc. Set-top box initiated contact center interaction
JP2008098960A (ja) 2006-10-12 2008-04-24 Funai Electric Co Ltd 情報記録再生装置
CN101523911B (zh) 2006-10-31 2013-08-28 Tivo有限公司 用于将辅助节目数据下载到dvr的方法和装置
US20080104199A1 (en) 2006-10-31 2008-05-01 Yahoo! Inc. Identity and preference management via universal identifier
US8046803B1 (en) 2006-12-28 2011-10-25 Sprint Communications Company L.P. Contextual multimedia metatagging
US20090052870A1 (en) 2007-08-22 2009-02-26 Time Warner Cable Inc. Apparatus And Method For Remote Control Of Digital Video Recorders And The Like
US20090241158A1 (en) 2008-03-18 2009-09-24 Avaya Technology Llc Open cable application platform set-top box (stb) personal profiles and communications applications
TW201002069A (en) 2008-06-18 2010-01-01 Chung Hsin Elec & Mach Mfg System of using set-top-box to obtain advertisement information
US8438596B2 (en) 2009-04-08 2013-05-07 Tivo Inc. Automatic contact information transmission system
US20100280876A1 (en) 2009-04-30 2010-11-04 Microsoft Corporation Implicit rating of advertisements
US8929718B2 (en) 2011-09-14 2015-01-06 Viacom International Inc. Systems and methods for providing online advertisements

Also Published As

Publication number Publication date
EP2434756A1 (en) 2012-03-28
JP2009542089A (ja) 2009-11-26
CA2653558A1 (en) 2007-12-27
US20100027976A1 (en) 2010-02-04
CN101473648A (zh) 2009-07-01
WO2007149100A3 (en) 2008-12-04
US8146130B2 (en) 2012-03-27
EP2506595B1 (en) 2016-03-30
EP2434756B1 (en) 2014-04-23
PT2036343E (pt) 2012-05-28
HK1155873A1 (en) 2012-05-25
US20150340065A1 (en) 2015-11-26
EP2506595A1 (en) 2012-10-03
JP5060552B2 (ja) 2012-10-31
CN102098478A (zh) 2011-06-15
JP5250129B2 (ja) 2013-07-31
US10153000B2 (en) 2018-12-11
US20240276050A1 (en) 2024-08-15
AU2006344735A1 (en) 2007-12-27
JP5250128B2 (ja) 2013-07-31
US8572669B2 (en) 2013-10-29
JP2012157050A (ja) 2012-08-16
CN102098478B (zh) 2014-01-29
CA2653558C (en) 2013-01-08
EP2036343B1 (en) 2012-02-15
WO2007149100A2 (en) 2007-12-27
ATE546014T1 (de) 2012-03-15
EP2036343A4 (en) 2010-12-08
AU2006344735B2 (en) 2010-09-30
US9100670B2 (en) 2015-08-04
US10991394B2 (en) 2021-04-27
JP2012157049A (ja) 2012-08-16
US20100033624A1 (en) 2010-02-11
HK1131707A1 (en) 2010-01-29
AU2011200011B2 (en) 2013-09-26
US11825144B2 (en) 2023-11-21
WO2007149100A4 (en) 2009-01-22
CN101473648B (zh) 2011-04-06
US7661121B2 (en) 2010-02-09
US20140059593A1 (en) 2014-02-27
AU2011200011A1 (en) 2011-01-27
AU2006344735C1 (en) 2014-07-10
US20210217442A1 (en) 2021-07-15
US20190172492A1 (en) 2019-06-06
US20070300249A1 (en) 2007-12-27
EP2036343A2 (en) 2009-03-18

Similar Documents

Publication Publication Date Title
ES2381760T3 (es) Sincronización de contenido multimedia con eventos basados en el reconocimiento de secuencias de valores de clave calculada.
ES2523135T3 (es) Procedimiento y dispositivo para visualizar segmentos multimedia personalizados
HK1155873B (en) A method and an apparatus for processing in-band data at a multimedia device