ES2399625T3 - Procedimiento y dispositivo para crear y visualizar segmentos multimedia personalizados - Google Patents

Procedimiento y dispositivo para crear y visualizar segmentos multimedia personalizados Download PDF

Info

Publication number
ES2399625T3
ES2399625T3 ES06785534T ES06785534T ES2399625T3 ES 2399625 T3 ES2399625 T3 ES 2399625T3 ES 06785534 T ES06785534 T ES 06785534T ES 06785534 T ES06785534 T ES 06785534T ES 2399625 T3 ES2399625 T3 ES 2399625T3
Authority
ES
Spain
Prior art keywords
data
calculated
sequence
dvr
stream
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
ES06785534T
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.)
Tivo 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=38833883&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2399625(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 ES2399625T3 publication Critical patent/ES2399625T3/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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8545Content authoring for generating interactive applications
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • 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/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/37Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying segments of broadcast information, e.g. scenes or extracting programme ID
    • 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
    • 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
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • 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/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • 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/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
    • H04N21/4348Demultiplexing of additional data and video streams
    • 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/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/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/47217End-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 controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • 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/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles
    • 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/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • H04N7/087Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only
    • H04N7/088Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital
    • H04N7/0884Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital for the transmission of additional display-information, e.g. menu for programme or channel selection
    • H04N7/0885Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital for the transmission of additional display-information, e.g. menu for programme or channel selection for the transmission of subtitles
    • 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

Abstract

Un procedimiento llevado a cabo por un dispositivo multimedia, comprendiendo el procedimiento: recibir un flujo (700A) de contenidos en el dispositivo multimedia, en el que el flujo (700A) de contenidos comprendeun flujo de vídeo, un flujo de audio y un flujo de datos intrabanda; mientras se presenta a un usuario el flujo de vídeo, en respuesta a la recepción de una indicación del usuario deselección de una ubicación (704, 706) dentro del flujo (700A) de contenidos, identificar una secuencia de una pluralidad de valores (701) de clave calculada generados a partir de una porción delflujo de datos intrabanda que preceden a la ubicación seleccionada (704, 706), determinar, para cada valor de clave calculada de la secuencia, uno o más valores horarios que reflejen una hora enla que se generó el valor de clave calculada, y almacenar, en un dispositivo de almacenamiento, la secuencia de valores (701) de clave calculada en asociacióncon los valores horarios determinados y los metadatos que especifican una acción que debe llevarse a cabo tras elreconocimiento de la secuencia de valores (701) de clave calculada en un flujo de datos intrabanda de un flujo(700A) de contenidos.

Description

Procedimiento y dispositivo para crear y visualizar segmentos multimedia personalizados.
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 podrian 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 dé derecho a su clasificación como técnica anterior meramente gracias a su inclusión en esta sección.
Los telespectadores 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 trasforma 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 las 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 DVR graba programa 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 contenidos 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 perso'1alizada viene estando ausente en las comunidades de proveedores de contenidos y DVR. La patente estadounidense nO 7.889.964, 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 nO 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 A 1 da a conocer una técnica para sincronizar un efecto con una presentación multimedia. Una tabla de "valor obtenido+sello de tiempo" incluye pares de valores en los que se asocia un valor obtenido, tal como un valor de CRC, para uno o más segmentos de una grabación, con un sello de tiempo para tal segmento de la grabación. Un creador de efectos, un programador, un proveedor de contenidos u otro usuario crea una tabla de "señales de efecto+punto temporal" que asocia efectos con ubicaciones en un flujo de contenidos. Durante la presentación multimedia de la grabación, al menos un procesador determina una entrada de sello de tiempos para un segmento de la presentación multimedia, consulta la entrada de sello de tiempo en la tabla de "señales de efecto+punto temporal" y desencadena el efecto que está asociado con un punto temporal cuando una señal horaria interpolada es lo suficientemente igual a la hora de desencadenamiento del efecto especificado.
El documento US 2004/0040042 A 1 da a conocer una técnica para sincronizar la mejora del contenido con un programa de vídeo usando los subtítulos para sordos. Un analizador analiza una secuencia de ejecución de subtítulos para sordos para identificar un conjunto de frases clave únicas. Un productor asocia datos complementarios con las frases clave en la secuencia de ejecución de los subtítulos para sordos que correspondan a los puntos deseados del programa. Un ordenador de diseño podría calcular valores de clave calculada de las frases clave en un fichero de datos para reducir el tamaño del fichero de datos. cuando se reproduce el programa, una unidad de cálculo del espectador monitoriza la secuencia de ejecución de los subtítulos para sordos para
detectar las frases clave. Tras la detección de una frase clave particular, la unidad de cálculo del espectador
recupera los datos complementarios asociados con la frase clave particular. 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, en 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;
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; la FIG. 3A es un diagrama de flujo que representa un procedimiento para generar datos de secuencia de valores de
clave calculada;
la FIG. 3B es un diagrama de bloques que ilustra el procedimiento para generar datos de secuencia de valores de clave calculada; 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; la FIG. 3D es un diagrama de bloques que ilustra un icono que aparece en una pantalla de visualización; la FIG. 4 es un diagrama de flujo que representa un procedimiento para el reconocimiento y la sincronización de
subtítulos para sordos en un dispositivo multimedia;
la FIG. 5A es un diagrama de bloques que ilustra una máquina de estado para encontrar coincidencias en patrones de datos intrabanda; la FIG. 5B es un diagrama de bloques que ilustra datos de secuencia de valores de clave calculada; la FIG. 6 es un diagrama de bloques que ilustra un procedimiento para la sincronización con datos intrabanda; 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, se muestran en forma de diagrama de bloques estructuras y dispositivos bien conocidos para evitar oscurecer innecesariamente la presente invención. En el presente documento se describen ejemplos 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
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 patente estadounidense nO 7.934.170, titulada "Method and Apparatus for Displaying Branded Video Tags", propiedad del Solicitante, 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í, si 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. Normalmente, 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 patente estadounidense nO 7.889.964, titulada "ClosedCaption Tagging System" y en la patente estadounidense nO 6.215.526, titulada "Analog Video Tagging and Encoding System", cada una de las cuales es propiedad del Solicitante.
Un ejemplo 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 (normalmente, 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 4
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 un ejemplo 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 si los datos intrabanda coinciden con un patrón particular de los datos intrabanda.
Según un ejemplo, 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 inteñaz de control tal como un control remoto. Un dispositivo multimedia recibe sefiales desde la inteñaz de control y determina qué 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 un ejemplo, 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 otro ejemplo, 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.
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 sefializació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 sefializació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 sefializació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 un ejemplo, 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 1068 de contenidos, el ordenador personal101A y el dispositivo portátil 1018.
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 1018. El dispositivo portátil 1018 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 1018 se comunican cada uno con el servidor 106A Y el proveedor 1068 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 0f'JAN), 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 un ejemplo, los DVR 102 Y 104 se comunican con el servidor 106A, que proporciona datos de guía 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 1068 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 largometrajes, telecomedias, programas de variedades, programas de entrevistas, anuncios, etc., para su presentaciones a usuarios de DVR. Además, el proveedor 1068 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 otro ejemplo, un proveedor 1068 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 un ejemplo. 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 1068 de contenidos o de un servidor 106A. Según un ejemplo, las señales emitidas que representan un flujo de contenido multimedia son enviadas al DVR 200 desde el proveedor 1068 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 (D8S) o el Comité de Estándares Avanzados de Televisión (ATSC). D8S, 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 2028 de salida a través del cual la sei'lal es entregada a un televisor estándar. El moduló 2028 de salida puede entregar alternativamente una sei'lal 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 medio de un cable DVI. Alternativamente, el moduló 2028 de salida puede entregar sei'lales 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 otros ejemplos, 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 1018 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 2028 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 2028 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 nO 6.233.389, titulada "Multimedia Time Warping System", propiedad del Solicitante.
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 un ejemplo, 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 flujos 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 6.233.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 2028 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 un ejemplo, 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 un ejemplo, 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 otros ejemplos, los módulos descritos en lo que antecede pueden estar situados entre cualquier número de dispositivos capaces de realizar la funciones descritas. Así, medíante la operación de los componentes descritos, el DVR 200 puede reconocer datos intrabanda y sincronizar acciones y eventos con los datos intrabanda.
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.
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 documento.
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 un ejemplo, 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 con múltiples secuencias de claves calculadas que el dispositivo multimedia tiene almacenadas localmente. Según un ejemplo, 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.
3.1.1 Generación de datos de secuencia de valores de clave calculada
Según un ejemplo, 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 un ejemplo, pueden estar contenido 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 (V81) 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 (NA8TS) 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 si 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 nO de serie 09/665.921, titulada "Closed-Caption Tagging System", propiedad del Solicitante.
En otro ejemplo, 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 los 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 un ejemplo, 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 1068 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 puede 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 un ejemplo. En la etapa 302, el servidor 106A recibe datos que representan uno o más programas de video procedentes del proveedor 1068 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 1068 de contenidos también suministra al servidor 106A datos de subtítulos para sordos asociados con el programa de vídeo. En un ejemplo, 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 1068 de contenidos. Además, el proveedor 1068 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 serían 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 1068 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 un ejemplo, el servidor 106A puede 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 un ejemplo, 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 un ejemplo, 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 "retomo de carro". Puede usarse una instrucción de "retomo 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 "retomo 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 un ejemplo, 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 un ejemplo, 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. 38, se muestra un diagrama de bloques que ilustra el procedimiento para generar datos de secuencias de valores de clave calculada según un ejemplo. 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 un ejemplo, 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 3108 ocurre a la hora =1:05. De aquí que, suponiendo una velocidad de tramas de treinta tramas por segundo, la trama 3108 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 un ejemplo, 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 8, por ejemplo, puede mostrarse en múltiples tramas que precedan a la trama 3108. Sin embargo, la trama 3108 es la posición dentro del flujo de contenido multimedia en la que se genera un valor de clave calculada para el texto 8.
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 3108 está mostrando el texto 8 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 otro ejemplo, 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 un ejemplo, 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 cah;ulada, una columna de Hora y una columna de Desfase horario. La columna Valor de la clave calculada representa los valores de 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. Mielntras 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 documento que el valor de clave calculada "3059" no tiene ningún valor de desfase horario. En este caso, se determina que el valor de clave calculada "3059" 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 "3059". 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 1068 de contenidos suministrase un programa particular de vídeo para su análisis al servidor 106A, el proveedor 1068 de contenidos también puede indicar que, durante una porción particular del programa de vídeo que durante de cinco a diez segundo, 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 un ejemplo. 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 1068 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 un ejemplo. 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.
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 periodo 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 3508 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 3508 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 3508 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 3508 una vez que han sido procesadas una instrucción de volcado o una instrucción de borrado de la memoria intermedia visualizada.
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 3508. Mientras monitoriza la memoria intermedia posterior 3508, el analizador 312 sigue actualizando un valor de clave calculada correspondiente a al valor total de cualquier texto acumulado en la memoria intermedia posterior 3508. Inicialmente, la memoria intermedia posterior 3508 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 3508 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 3508 es volcada a la memoria intermedia anterior 350A. Así, mientras se está compilando texto en la memoria intermedia posterior 3508, 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 un ejemplo, 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. 38, por ejemplo, el analizador 312 determine 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 "3059".
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 un ejemplo, 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 un ejemplo, 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 borraría 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 un ejemplo, 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 un ejemplo, 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. 38, por ejemplo, el analizador 312 determine que una línea de texto correspondiente al texto 8 está completa después de detectar una instrucción de "retorno de carro" en la trama 3108 Ycalcula un valor de clave calculada de "2Z55" a la hora =1 :05.
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 3500 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 un ejemplo, 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.
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 un ejemplo, 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. 38, la tabla 330 incluye columnas que representan secuencias de claves calculadas y metadatos asociados con las secuencias de claves calculadas. Según un ejemplo, la secuencia de claves calculadas 3059, 2Z55, 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 nO de serie 09/665.921, titulada "Closed Caption Tagging System", propiedad del Solicitante.
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 un ejemplo, 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, si 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 otro ejemplo, 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 otros ejemplos, 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.
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. 38 procedentes del servidor 106A. En un ejemplo, 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 un ejemplo, 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 1068 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 1068 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. 38. 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 un ejemplo, 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.
Oe 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, si 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 OVR 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 un ejemplo, 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 un ejemplo, 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 un ejemplo, 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. Oespué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 "3059", puede contener dos ramas diferenciadas que representan diferentes secuencias de valores de clave calculada: (1) 3059, 2Z55, A6E3 y 9Y95, o
(2) 3059, 2Z55, E4E9 y 9F4U.
Según un ejemplo, la máquina 500 de estado es un componente ligero del OVR 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 OVR 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. Oe aquí que los usuarios del OVR 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 un ejemplo, 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 un ejemplo, el primer valor de clave calculada generado por el módulo 210 de análisis es "3059", correspondiente al texto A en la trama 310A de la FIG. 38. En consecuencia, la máquina 500 de estado es iniciada, comprobará el primer nudo 504 que representa el valor de clave calculada "3059" y encontrará una coincidencia, dando una salida positiva según este ejemplo, 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 otros ejemplos, 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 informaría 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 un ejemplo, 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, intentaría 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 "3059" y "2Z55", respectivamente.
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 otro ejemplo, 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 3059, 2Z55, A6E3 y 9Y95 después de recibir los valores de clave calculada respectivos generados por el analizador 312 en la FIG. 38.
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 otros ejemplos, 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 otro ejemplo, 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 81C1" se generaron a partir de un flujo de contenido multimedia. Supongamos también que existen dos patrones conocidos, "X6Y6, A4Z4" y "A4Z4, 81C1". Si en el DVR 200 estuviese ejecutándose una sola máquina de estado, solo 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, 81C1" a partir de los valores de clave calculada de "X6Y6, A4Z4 y 81C1". Por lo tanto, en otros ejemplos, 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. 58, se muestra una secuencia de valores de clave calculada según un ejemplo. Los datos de secuencias de valores de clave calculada contienen los datos 520A de secuencia y los metadatos 5208. 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 un ejemplo, la máquina 212 de estado de reconocimiento de patrones determina que la secuencia de los valores de clave calculada 3059, 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.
3.1.4 Sincronización con datos de subtítulos para sordos 16
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 5208 para determinar la acción que se emprenderá. Los metadatos 5208 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 5208 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 otros ejemplos, 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 un ejemplo. 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 nO de serie 6.850.691 y en la solicitud estadounidense con nO de serie 10/915.990, tituladas ambas "Multimedia Progress Indication System" y propiedad del Solicitante. 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 un ejemplo, 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 : 1 O. 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 segundo, 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. Si 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 un ejemplo, el DVR 102 puede recibir la instrucción de que muestre un icono a un usuario durante el EVENTO 2. En otro ejemplo, 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 Y2. Según un ejemplo, 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 nO de serie 09/665.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 101 B.
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 un ejemplo, 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 un ejemplo, 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.
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 video usando una inteñaz 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 nO de serie 10/220.558, titulada "System and Method for Internet Access to a Personal Television Service" y en la solicitud estadounidense con nO de serie 10/741.596, titulada "Secure 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 puntos 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 inteñaz de control para indicarlo. La inteñaz 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 inteñaz de control y calcular un patrón de datos intrabanda que lleve hasta ese punto.
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 los 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 gustaría tomar nota, el usuario hace que el DVR 102 marque el segmento seleccionado una ubicación dentro del programa de vídeo. Según una realización, se presenta una inteñaz gráfica de usuario en una pantalla de visualización que incluye una barra 7008 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 inteñaz 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 opcíones 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 la 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" Ygraba la hora en que se generó cada valor de clave calculada. De aquí que, en este ejemplo particular, el valor de clave calculada "Z1 B1" 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 "Z1 B1, E5Y5 YA2R2" 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 700B 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 los 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.
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 identificadores 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 101 B. 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 101 B 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 nO 09/665.921, titulada "Closed Caption Tagging System", propiedad del Solicitante.
En otra realización, un dispositivo multimedia, tal como el DVR 102 o el PC 101, puede simplemente proporcionar al dispositivo portátil 101 B 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 101 B puede identificar eventos dentro de un programa de video 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átil101B. 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 101 B 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 101 B.
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 101 B. Cuando el dispositivo multimedia reconoce un patrón de datos intrabanda, examina los 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átil101B, que puede usar la lista para identificar las ubicaciones dentro del programa de vídeo.
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 lo 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.
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 invención. El sistema 800 de ordenado 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, acoplada 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ético 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 puede 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 puede 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.
Normalmente, 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 830 podría transmitir un código solicitado para un programa de aplicación a través de Intemet 828, el ISP 826, la red local 822 y la interfaz 818 de comunicaciones.
El código recibido puede ser ejecutado por el procesador 804 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 (17)

  1. REIVINDICACIONES
    1. Un procedimiento llevado a cabo por un dispositivo multimedia, comprendiendo el procedimiento:
    recibir un flujo (700A) de contenidos en el dispositivo multimedia, en el que el flujo (700A) de contenidos comprende un flujo de vídeo, un flujo de audio y un flujo de datos intrabanda;
    mientras se presenta a un usuario el flujo de vídeo, en respuesta a la recepción de una indicación del usuario de selección de una ubicación (704, 706) dentro del flujo (700A) de contenidos,
    identificar una secuencia de una pluralidad de valores (701) de clave calculada generados a partir de una porción del flujo de datos intrabanda que preceden a la ubicación seleccionada (704, 706),
    determinar, para cada valor de clave calculada de la secuencia, uno o más valores horarios que reflejen una hora en la que se generó el valor de clave calculada, y
    almacenar, en un dispositivo de almacenamiento, la secuencia de valores (701) de clave calculada en asociación con los valores horarios determinados y los metadatos que especifican una acción que debe llevarse a cabo tras el reconocimiento de la secuencia de valores (701) de clave calculada en un flujo de datos intrabanda de un flujo (700A) de contenidos.
  2. 2.
    El procedimiento de la Reivindicación 1 en el que el flujo de datos intrabanda recibido en el dispositivo multimedia comprende datos (702) de subtítulos para sordos (SS).
  3. 3.
    El procedimiento de la Reivindicación 1 que, además, comprende:
    mientras se presenta a un usuario el flujo de vídeo,
    antes de la recepción de la indicación, mostrar en una pantalla de visualización acoplada operativamente al dispositivo multimedia una interfaz gráfica de usuario que comprende una barra (7008) de memoria intermedia de programa y un control deslizante (708), indicando el control deslizante (708) una ubicación de reproducción actual del flujo (700A) de contenidos, y
    en respuesta a la recepción de la indicación, presentar un menú en la pantalla de visualización mediante el cual el usuario pueda especificar la acción.
  4. 4.
    El procedimiento de la Reivindicación 1 en el que el flujo de datos intrabanda recibido en el dispositivo multimedia comprende datos de señalización de Televisión Mejorada (ETV).
  5. 5.
    El procedimiento de la Reivindicación 1 en el que la determinación incluye determinar dos valores horarios para cada valor de clave calculada de la secuencia, reflejando uno de los dos valores horarios un desfase horario a partir de un valor horario determinado para un primer valor de clave calculada de la secuencia.
  6. 6.
    El procedimiento de la Reivindicación 1 que, además, comprende:
    mientras se presenta a un usuario el flujo de vídeo,
    en respuesta a la recepción de una segunda indicación del usuario de selección de una segunda ubicación (704, 706) dentro del flujo (700A) de contenidos,
    identificar una segunda secuencia de una pluralidad de valores (701) de clave calculada generados a partir de una segunda porción del flujo de datos intrabanda que preceden a la segunda ubicación seleccionada (704, 706), Y
    almacenar, en el dispositivo de almacenamiento, la segunda secuencia de valores (701) de clave calculada en asociación con los metadatos.
  7. 7.
    El procedimiento de la Reivindicación 6 en el que los metadatos indican que debería saltarse un segmento de programa de un flujo (700A) de contenidos reconocido con base en la secuencia de valores (701) de clave calculada y la segunda secuencia de valores (701) de clave calculada.
  8. 8.
    El procedimiento de la Reivindicación 6 en el que los metadatos indican que debería almacenarse un segmento de programa de un flujo (700A) de contenidos reconocido con base en la secuencia de valores (701) de clave calculada y la segunda secuencia de valores (701) de clave calculada.
  9. 9.
    El procedimiento de la Reivindicación 6 que, además, comprende:
    determinar, para cada valor de clave calculada de la segunda secuencia, uno o más valores horarios que reflejen una hora en la que se generó el correspondiente valor de clave calculada en la segunda secuencia, y 24
    almacenar, en el dispositivo de almacenamiento, la segunda secuencia de valores (701) de clave calculada en asociación con los segundos valores horarios determinados.
  10. 10.
    El procedimiento de la Reivindicación 1 en el que el flujo (700A) de contenidos es un flujo de transporte MPEG-2.
  11. 11.
    El procedimiento de la Reivindicación 1 que, además, comprende:
    5 copiar la secuencia de valores (701) de clave calculada y los metadatos por una red de datos a otro dispositivo multimedia.
  12. 12.
    El procedimiento de la Reivindicación 1 que, además, comprende: cargar la secuencia de valores (701) de clave calculada y los metadatos por una red de datos en un servidor.
  13. 13.
    El procedimiento de la Reivindicación 1 en el que los metadatos indican texto y/o un icono que deben
    10 presentarse tras el reconocimiento de la secuencia de valores (701) de clave calculada en un flujo de datos intrabanda de un flujo (700A) de contenidos.
  14. 14. El procedimiento de la Reivindicación 1 en el que la indicación es proporcionada por el usuario por medio de un dispositivo de control remoto.
  15. 15. El procedimiento de la Reivindicación 1 en el que los metadatos indican una hora después de la cual se 15 reconoce la secuencia de valores (701) de clave calculada para llevar a cabo la acción.
  16. 16.
    Un aparato para crear y visualizar flujos multimedia personalizados, estando adaptado el aparato para llevar a cabo el procedimiento de una cualquiera de las Reivindicaciones 1-15.
  17. 17.
    Un medio de almacenamiento legible por ordenador que contiene una o más secuencias de instrucciones para crear y visualizar flujos multimedia personalizados, instrucciones que, cuando son ejecutadas por uno o más
    20 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-15.
    FIG.l
    .t.om
    106A
    SERVIDOR
    PROVEEDOR DE
    1\)
    O>
    101A ORDENADOR PERSONAL (PC)
    .llUEl DISPOSITIVO PORTÁTil
    1M..DVR
    ~DVR
    202AMÓDULO DE ENTRADA
    202B MÓDULO DE SALIDA
    FIG.2
    204 MÓDULO GRABADOR
    ~
    MODULO DE ANÁLISIS
    209 MÓDULO TEMPORIZADOR 206 INTERFAZ DE COMUNICACIONES
    214 ALMACENAMIENTO
    212 MÁQUINAS DE ESTADO DE RECONOCIMIENTO DE PATRONES
    FIG.3A
    302 RECIBIR PROGRAMA DE VíDEO DEL PROVEEDOR DE CONTENIDOS
    304 CONVERTIR LOS DATOS DE SUBTíTULOS PARA SORDOS ASOCIADOS CON EL PROGRAMA DE VíDEO EN VALORES DE CLAVE CALCULADA
    ~
    306 GENERAR SECUENCIAS DE CLAVE CALCULADA ASOCIADAS CON EL PROGRAMA DE VíDEO
    ,
    308 ENVIAR ALOS DISPOSITIVOS LOS DATOS DE LA SECUENCIA DE LA CLAVE CALCULADA
    TRAMA 1 Hora =1:00 Texto A
    FIG.3B
    31O.B..TRAMA 151 Hora =1:05 Texto B
    TRAMA 301 Hora =1:10 Texto C
    TRAMA 361 Hora =1:12 Texto D
    Tabla .a.2lf
    Tabla ~
    ~alorclave calculada
    Hora Desfase horario
    3059
    tOO -
    2Z55
    1:05 :05
    ASE3
    1:10 :05
    9Y95
    1:12 :02
    Secuencia de clave calculada
    Metadatos
    3D59,2Z55, A6E3.9Y95
    EVENTO 1
    A6E3,9Y95. E4E9,9F4U
    ACCiÓN 1
    FIG.3C
    Dispositivo de visualización
    APARICiÓN SÚBITA
    APARICiÓN ASCENDENTE Dispositivo de visualización
    Datos entrantes de SS
    Trama X Línea 2 de texto Línea 3 de texto Línea 1de textoLínea 4 de texto
    ---
    _._---..........•.•......_-------_..----......-......-_ .....---_...-.....-...---_..-......-....----
    Línea 3 de texto Línea 4 de texto
    4 APARICiÓN SOBRE SEGUNDO PLANO
    Dispositivo de visualización
    Datos entrantes de SS
    .3.5!lQ
    +++++ xto Línea 3 de texto Línea 2 de te.....
    Línea 4 de texto
    FIG.3D
    400 404A
    ú)
    N
    FIG.4
    402 RECIBIR LOS DATOS DE LA SECUENCIA DE LA CLAVE CALCULADA
    1404 RECIBIR LA CORRIENTE DE CONTENln
    406 ANALIZAR LA CORRIENTE DE SS DENTRO DE LA CORRIENTE DE CONTENIDO YGENERAR VALORES DE CLAVE CALCULADA
    408 COMPARAR LOS VALORES DE CLAVE CALCULADA EN LA CORRIENTE DE SS CON LOS DATOS RECIBIDOS DE LA SECUENCIA DE CLAVE CALCULADA
    ID
    ~INSPECCIONAR LOS METADATOS DE SECUENCIA DE CLAVE CALCULADA
    FIG.5A
    MÁQUINA DE ESTADO 500
    íNDICE 501 •
    w
    w
    ._ ..,__ ., ·
    ~ .
    :•
    ......... "......
    .•
    '------,.,---_......
    FIG.5B
    52M
    520B
    DATOS
    METADATOS
    DE SECUENCIA
    f
    ~
    VAlOR ClAVE rJLCWDA
    HORA DESFASE HORARlq
    3059
    :00 INICIO
    2Z55
    :05 +:05
    A6E3
    :10 +:05
    9r95
    :12 +:02
    FIG.6
    16OI_~ 13059 2Z55 A6E3 9Y95
    ·c.·~·~~___ "·"·1 I I
    1 x ~I
    2:00
    1:12
    (¡J
    C11 6028 Hora de programal :0 :05 :tu :12 :40 ~.••-p---. ---.--.--.-.-._.---'--" -•.••--.·_···1
    606 608
    ~
    ~
    DESDE ÚLTIMA I
    EVENTO
    HORA
    CLAVE CALCULADA
    -
    :02
    :10
    EVENTO 1
    +:28
    :40
    EVENTO 2
    FIG.7
    ~ 10UA
    ¡ 702 DAT~SDE SS ¡
    { 1 !; .
    .\............ "1
    do!cJu
    r-~~ :00 'iD : :20
    • t
    •,
    t
    t
    [ 70 I Vakxes dave cabidal
    X51A YF11 W5W4
    ~
    C·;~ÜB··_·
    r--;;;--1
    :00
    ::06 :08
    A
    ..
    ••I
    --
    _ ..~ .._---_.---~--_.
    ~LAVE CALCUlAD~ HORA
    DESFASE HORARIO
    :0
    :06
    .W5W4
    :02
    :08
    M5M5
    ..
    MARCA
    :10
    :0
    :12
    ZIB!
    :14
    :02
    E5Y5
    :18
    :04
    A2R2
    ..
    :20
    MARCA
    -------------
    _1...-..
    FIG.8
    DISPOSITIVO . DE VISUALIZACiÓN 1/
    DISPOSITIVO
    DE ENTRADA
    w
    .....
    .a1.4
    CONTROL DEL CURSOR
    lil6
    1""
    V'
    '\¡
    /.1"1
    -----------------------,
    PROCESADOR .6M
    I INTERFAZ DE COMUNICACIONES
    L-____1llB._ 1ill.C!:
    ORDENADOR CENTRAL
    .82!
ES06785534T 2006-06-22 2006-06-23 Procedimiento y dispositivo para crear y visualizar segmentos multimedia personalizados Active ES2399625T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/473,990 US7873982B2 (en) 2006-06-22 2006-06-22 Method and apparatus for creating and viewing customized multimedia segments
US473990 2006-06-22
PCT/US2006/024686 WO2007149099A2 (en) 2006-06-22 2006-06-23 Method and apparatus for creating and viewing customized multimedia segments

Publications (1)

Publication Number Publication Date
ES2399625T3 true ES2399625T3 (es) 2013-04-02

Family

ID=38833883

Family Applications (2)

Application Number Title Priority Date Filing Date
ES12188696.4T Active ES2523135T3 (es) 2006-06-22 2006-06-23 Procedimiento y dispositivo para visualizar segmentos multimedia personalizados
ES06785534T Active ES2399625T3 (es) 2006-06-22 2006-06-23 Procedimiento y dispositivo para crear y visualizar segmentos multimedia personalizados

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES12188696.4T Active ES2523135T3 (es) 2006-06-22 2006-06-23 Procedimiento y dispositivo para visualizar segmentos multimedia personalizados

Country Status (10)

Country Link
US (3) US7873982B2 (es)
EP (2) EP2036344B1 (es)
JP (2) JP5001362B2 (es)
CN (2) CN103209339B (es)
AU (1) AU2006344734C1 (es)
CA (1) CA2653308C (es)
ES (2) ES2523135T3 (es)
HK (1) HK1129019A1 (es)
PT (2) PT2549771E (es)
WO (1) WO2007149099A2 (es)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001022729A1 (en) 1999-09-20 2001-03-29 Tivo, Inc. Closed caption tagging system
US8079046B2 (en) * 1999-12-21 2011-12-13 Tivo Inc. Intelligent system and methods of recommending media content items based on user preferences
US8281155B1 (en) * 2000-11-02 2012-10-02 Intel Corporation Content protection using block reordering
US9967534B1 (en) 2004-11-19 2018-05-08 Tivo Solutions Inc. Digital video recorder video editing system
US20100138561A1 (en) * 2006-01-27 2010-06-03 Michael Wayne Church Simulcast internet media distribution system and method
US7661121B2 (en) * 2006-06-22 2010-02-09 Tivo, Inc. In-band data recognition and synchronization system
US8340795B2 (en) 2007-03-26 2012-12-25 Google Inc. Small removable audio player that attaches to a host media player
TW200910959A (en) * 2007-05-30 2009-03-01 Sony Corp Content download system, content download method, content supplying apparatus, content supplying method, content receiving apparatus, content receiving method, and program
US8126262B2 (en) * 2007-06-18 2012-02-28 International Business Machines Corporation Annotating video segments using feature rhythm models
US8407750B2 (en) * 2007-07-11 2013-03-26 Hewlett-Packard Development Company, L.P. Enabling users of peer to peer clients to socially interact while viewing videos
US20090094659A1 (en) * 2007-10-05 2009-04-09 Sony Corporation Identification of Streaming Content and Estimation of Playback Location Based on Closed Captioning
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
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
US8645993B2 (en) * 2008-05-07 2014-02-04 Qualcomm Incorporated Methods and apparatuses for directing recipients of video content items to interesting video content items
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
US8788841B2 (en) * 2008-10-23 2014-07-22 Samsung Electronics Co., Ltd. Representation and verification of data for safe computing environments and systems
US8330864B2 (en) * 2008-11-02 2012-12-11 Xorbit, Inc. Multi-lingual transmission and delay of closed caption content through a delivery system
EP2200316A1 (en) * 2008-12-12 2010-06-23 Nagravision S.A. A method for selecting and displaying widgets on a multimedia unit
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
US20100175082A1 (en) * 2009-01-02 2010-07-08 Xorbit, Inc. System and method for inserting sponsor information into closed caption content of a video signal
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
US9069585B2 (en) * 2009-03-02 2015-06-30 Microsoft Corporation Application tune manifests and tune state recovery
US8438596B2 (en) 2009-04-08 2013-05-07 Tivo Inc. Automatic contact information transmission system
US8660409B2 (en) * 2009-05-01 2014-02-25 International Business Machines Corporation Predictive personal video recorder operation
US8437617B2 (en) * 2009-06-17 2013-05-07 Echostar Technologies L.L.C. Method and apparatus for modifying the presentation of content
US8214862B1 (en) * 2009-07-13 2012-07-03 Sprint Communications Company L.P. Conserving bandwidth by restricting videos communicated in a wireless telecommunications network
JP2011022727A (ja) * 2009-07-14 2011-02-03 Sony Corp 画像処理装置および画像処理方法
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
CN102123252B (zh) * 2010-01-07 2016-05-04 新奥特(北京)视频技术有限公司 一种图文包装应用中随动关联播出的实现方法和装置
US8934758B2 (en) * 2010-02-09 2015-01-13 Echostar Global B.V. Methods and apparatus for presenting supplemental content in association with recorded content
US8352990B2 (en) 2010-05-10 2013-01-08 Encore Interactive Inc. Realtime broadcast stream and control data conversion system and method
US8468453B2 (en) 2010-08-12 2013-06-18 Echostar Technologies L.L.C. User-selected media content blocking
US9071871B2 (en) * 2010-12-08 2015-06-30 Microsoft Technology Licensing, Llc Granular tagging of content
US20120173577A1 (en) * 2010-12-30 2012-07-05 Pelco Inc. Searching recorded video
US20130334300A1 (en) * 2011-01-03 2013-12-19 Curt Evans Text-synchronized media utilization and manipulation based on an embedded barcode
US8644673B2 (en) * 2011-03-22 2014-02-04 Fmr Llc Augmented reality system for re-casting a seminar with private calculations
US20120271823A1 (en) * 2011-04-25 2012-10-25 Rovi Technologies Corporation Automated discovery of content and metadata
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
US9357159B2 (en) 2011-08-23 2016-05-31 Echostar Technologies L.L.C. Grouping and presenting content
US8447170B2 (en) * 2011-08-23 2013-05-21 Echostar Technologies L.L.C. Automatically recording supplemental content
US9185331B2 (en) 2011-08-23 2015-11-10 Echostar Technologies L.L.C. Storing multiple instances of content
WO2013040355A1 (en) * 2011-09-14 2013-03-21 Greg Green Mass customization of media and statistical projection from mass customized media
US9794641B2 (en) * 2011-09-23 2017-10-17 Google Inc. Video segment presentation tracking
US8984549B2 (en) * 2011-09-28 2015-03-17 Google Technology Holdings LLC Method for tag insertion and notification for DVR addressable advertisement
US10769913B2 (en) 2011-12-22 2020-09-08 Pelco, Inc. Cloud-based video surveillance management system
US9489981B2 (en) 2012-03-15 2016-11-08 Echostar Technologies L.L.C. Successive initialization of television channel recording
TWI475412B (zh) * 2012-04-02 2015-03-01 Ind Tech Res Inst 數位內容次序調整方法和數位內容匯流器
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
CN103594104A (zh) * 2012-08-15 2014-02-19 腾讯科技(深圳)有限公司 获取多媒体的兴趣点的方法和系统、多媒体播放方法和装置
US8750675B2 (en) 2012-09-21 2014-06-10 International Business Machines Corporation Accessing and storing original broadcast content
US8793724B2 (en) 2012-11-08 2014-07-29 Eldon Technology Limited Image domain compliance
US9191422B2 (en) 2013-03-15 2015-11-17 Arris Technology, Inc. Processing of social media for selected time-shifted multimedia content
EP2811416A1 (en) * 2013-06-06 2014-12-10 Vestel Elektronik Sanayi ve Ticaret A.S. An identification method
CN104244111B (zh) * 2013-06-20 2017-08-11 深圳市快播科技有限公司 标记视频的媒介属性的方法和装置
US10623821B2 (en) 2013-09-10 2020-04-14 Tivo Solutions Inc. Method and apparatus for creating and sharing customized multimedia segments
CN103491450A (zh) * 2013-09-25 2014-01-01 深圳市金立通信设备有限公司 一种媒体流回放片段的设置方法及终端
US10275395B2 (en) 2014-05-06 2019-04-30 Tivo Solutions Inc. Cloud-based media content management
US9600487B1 (en) * 2014-06-30 2017-03-21 EMC IP Holding Company LLC Self healing and restartable multi-steam data backup
CA2957626C (en) * 2014-08-13 2021-05-04 Julio FERRER System and method for real-time customization and synchronization of media content
US11051075B2 (en) 2014-10-03 2021-06-29 Dish Network L.L.C. Systems and methods for providing bookmarking data
CN105744303A (zh) * 2014-12-12 2016-07-06 中兴通讯股份有限公司 产品包的输出方法及装置
WO2016151412A1 (en) * 2015-01-30 2016-09-29 Onetastic S.R.L. Method for reproducing informative contents in a radio-television program, and kit and radio-television communication system thereof
CN104780456A (zh) * 2015-04-29 2015-07-15 无锡天脉聚源传媒科技有限公司 一种视频打点及播放方法及装置
AU2016329200B2 (en) 2015-09-30 2021-03-04 Tivo Solutions Inc. Synchronizing media content tag data
US20170127150A1 (en) * 2015-11-04 2017-05-04 Ubitus Inc. Interactive applications implemented in video streams
KR101743228B1 (ko) * 2016-01-22 2017-06-05 네이버 주식회사 스트리밍 장치 및 그 방법, 이를 이용한 스트리밍 서비스 시스템 및 컴퓨터로 판독 가능한 기록매체
WO2017161383A2 (en) 2016-01-26 2017-09-21 Ferrer Julio System and method for real-time synchronization of media content via multiple devices and speaker systems
CN105979350B (zh) * 2016-05-05 2019-03-08 联发科技(新加坡)私人有限公司 一种搜索播放文件的播放位置的方法及相应装置
EP3465478A1 (en) * 2016-06-02 2019-04-10 Kodak Alaris Inc. Method for providing one or more customized media centric products
US10291678B2 (en) * 2016-10-01 2019-05-14 Facebook, Inc. Architecture for augmenting video data obtained by a client device with one or more effects during rendering
US20180146021A1 (en) * 2016-11-21 2018-05-24 Arris Enterprises Llc Media Stream Bookmarking
EP3410728A1 (en) * 2017-05-30 2018-12-05 Vestel Elektronik Sanayi ve Ticaret A.S. Methods and apparatus for streaming data
CN108063914B (zh) * 2017-11-22 2020-10-16 国政通科技股份有限公司 监控视频文件生成、播放方法、装置及终端设备
US10740306B1 (en) * 2017-12-04 2020-08-11 Amazon Technologies, Inc. Large object partitioning system
CN108230791A (zh) * 2017-12-26 2018-06-29 长沙市慧而乐科技有限公司 一种互动教学中的智能标记方法
US10489496B1 (en) * 2018-09-04 2019-11-26 Rovi Guides, Inc. Systems and methods for advertising within a subtitle of a media asset
US11469881B2 (en) * 2018-12-26 2022-10-11 Korea Institute Of Science And Technology Apparatus and method for forgery prevention of digital information
US11392541B2 (en) * 2019-03-22 2022-07-19 Hewlett Packard Enterprise Development Lp Data transfer using snapshot differencing from edge system to core system
CN111212320B (zh) * 2020-01-08 2023-07-14 腾讯科技(深圳)有限公司 一种资源合成方法、装置、设备及存储介质
US11172269B2 (en) 2020-03-04 2021-11-09 Dish Network L.L.C. Automated commercial content shifting in a video streaming system
US11818406B2 (en) * 2020-07-23 2023-11-14 Western Digital Technologies, Inc. Data storage server with on-demand media subtitles
CN111866550A (zh) * 2020-07-24 2020-10-30 上海盛付通电子支付服务有限公司 视频片段的屏蔽方法和装置
US11693821B2 (en) * 2021-07-07 2023-07-04 Collibra Belgium Bv Systems and methods for performant data matching
US11934845B1 (en) * 2021-11-30 2024-03-19 United Services Automobile Association (Usaa) Systems and methods for a state machine configuration engine

Family Cites Families (134)

* 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
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
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
EP0300562B1 (en) 1987-07-20 1997-11-05 Philips Electronics Uk Limited Television transmission system
US4930160A (en) 1987-09-02 1990-05-29 Vogel Peter S Automatic censorship of video programs
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
JPH0822688B2 (ja) 1989-07-05 1996-03-06 ニッカ電測株式会社 粒状物搬送および検査装置
JPH03106285A (ja) 1989-09-20 1991-05-02 Nippon Telegr & Teleph Corp <Ntt> テレビジョン放送方式、テレビジョン受像機及びビデオ録画装置
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
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
FR2702086B1 (fr) * 1992-10-15 1995-03-31 General Electric Cgr Anode tournante pour tube à rayonnement X composite.
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
US5696866A (en) 1993-01-08 1997-12-09 Srt, Inc. 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
US5386232A (en) 1993-06-16 1995-01-31 Intel Corporation Method and apparatus for encoding images using a specified data format
US5438423C1 (en) 1993-06-25 2002-08-27 Grass Valley Us Inc Time warping for video viewing
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
US5481294A (en) * 1993-10-27 1996-01-02 A. C. Nielsen Company Audience measurement system utilizing ancillary codes and passive signatures
US5569089A (en) * 1993-10-28 1996-10-29 Signorelli; Richard L. Universal joint construction
US5519780A (en) 1993-12-03 1996-05-21 Scientific-Atlanta, Inc. System and method for providing compressed digital teletext services and teletext support services
JP3277473B2 (ja) 1994-01-25 2002-04-22 ソニー株式会社 放送受信装置
US5537151A (en) * 1994-02-16 1996-07-16 Ati Technologies Inc. Close caption support with timewarp
US5537141A (en) 1994-04-15 1996-07-16 Actv, Inc. Distance learning system providing individual television participation, audio responses and memory for every student
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
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
US5778135A (en) 1994-12-30 1998-07-07 International Business Machines Corporation Real-time edit control for video program material
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
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
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
US5878141A (en) * 1995-08-25 1999-03-02 Microsoft Corporation Computerized purchasing system and method for mediating purchase transactions over an interactive network
US5708845A (en) 1995-09-29 1998-01-13 Wistendahl; Douglass A. System for mapping hot spots in media content for interactive digital media program
JPH09162821A (ja) 1995-12-13 1997-06-20 Toshiba Corp 多重放送システムとこのシステムで使用される放送送信装置および放送受信装置
JP2000505616A (ja) 1996-02-26 2000-05-09 イー グイド インコーポレイテッド 対話式テレビシステムのためのコードレスフォンのバックリンク
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
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
EP0810789B1 (en) 1996-05-30 2004-07-14 Matsushita Electric Industrial Co., Ltd. Data transmitting apparatus, data receiving apparatus and method and communication system
EP0827340A3 (en) 1996-08-30 1999-10-06 Matsushita Electric Industrial Co., Ltd. Terminal apparatus and method for achieving interactive operations
US5856973A (en) 1996-09-10 1999-01-05 Thompson; Kenneth M. Data multiplexing in MPEG server to decoder systems
US7055166B1 (en) 1996-10-03 2006-05-30 Gotuit Media Corp. Apparatus and methods for broadcast monitoring
US20030093790A1 (en) * 2000-03-28 2003-05-15 Logan James D. Audio and video program recording, editing and playback systems using metadata
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
CA2267890C (en) 1996-10-16 2005-12-13 Gemstar Development Corporation Access to internet data through a television system
US5977962A (en) 1996-10-18 1999-11-02 Cablesoft Corporation Television browsing system with transmitted and received keys and associated information
JPH10174082A (ja) 1996-12-13 1998-06-26 Toshiba Corp 双方向tv放送システムおよびそのシステムに適用されるファイルアクセス方法
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
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
JPH10243361A (ja) 1997-02-28 1998-09-11 Toshiba Corp テレビジョン受信機
US6211919B1 (en) 1997-03-28 2001-04-03 Tektronix, Inc. Transparent embedment of data in a video signal
JP3540328B2 (ja) 1997-04-21 2004-07-07 ジェムスター ディベロプメント コーポレイション テキスト−エンハンスドテレビジョンプログラムのビデオ及びテキストをタイムシフトする方法及び装置
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
IL125141A0 (en) 1998-06-29 1999-01-26 Nds Ltd Advanced television system
FR2768586B1 (fr) 1997-09-12 1999-12-03 Nortel Matra Cellular Estimation previsionnelle du rapport signal a interferences dans un reseau cellulaire de radiocommunications
US6094228A (en) 1997-10-28 2000-07-25 Ciardullo; Daniel Andrew Method for transmitting data on viewable portion of a video signal
US6075550A (en) * 1997-12-23 2000-06-13 Lapierre; Diane Censoring assembly adapted for use with closed caption television
EP0926892B1 (en) * 1997-12-26 2004-09-29 Matsushita Electric Industrial Co., Ltd. Video clip identification system unusable for commercial cutting
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
JP3701199B2 (ja) 1998-01-23 2005-09-28 インデックス システムズ インコーポレイテッド 家庭用娯楽システム及びその操作方法
US20010042246A1 (en) 1999-08-04 2001-11-15 Henry C. Yuen Home entertainment system and method of its operation
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
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
US6233389B1 (en) 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US6215526B1 (en) 1998-11-06 2001-04-10 Tivo, Inc. Analog video tagging and encoding system
AU4186000A (en) * 1999-03-30 2000-11-14 Tivo, Inc. Television viewer interface system
AU4185900A (en) 1999-03-30 2000-11-14 Tivo, Inc. System for automatic playback position correction after fast forward or reverse
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
US6415438B1 (en) * 1999-10-05 2002-07-02 Webtv Networks, Inc. Trigger having a time attribute
US6349410B1 (en) 1999-08-04 2002-02-19 Intel Corporation Integrating broadcast television pause and web browsing
ES2273460T3 (es) 1999-08-26 2007-05-01 Sony Service Centre (Europe) N.V. Dispositivo de presentacion de television y metodo para operar un sistema de television.
WO2001022729A1 (en) 1999-09-20 2001-03-29 Tivo, Inc. Closed caption tagging system
US6351596B1 (en) 2000-01-07 2002-02-26 Time Warner Entertainment Co, Lp Content control of broadcast programs
US7028327B1 (en) * 2000-02-02 2006-04-11 Wink Communication Using the electronic program guide to synchronize interactivity with broadcast programs
JP2003522482A (ja) 2000-02-04 2003-07-22 インテル コーポレイション リモートコントロールユニット上への拡張されたコンテンツ情報の表示
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
US7120924B1 (en) 2000-02-29 2006-10-10 Goldpocket Interactive, Inc. Method and apparatus for receiving a hyperlinked television broadcast
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
DE10027388A1 (de) * 2000-06-02 2001-12-06 Rohde & Schwarz Verfahren zur Bestimmung der durchschnittlichen Langzeit-Leistung eines digital modulierten Signals
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
US20020013950A1 (en) 2000-07-25 2002-01-31 Tomsen Mai-Lan Method and system to save context for deferred transaction via interactive television
US7103908B2 (en) 2000-07-25 2006-09-05 Diego, Inc. Method and system to save context for deferred transaction via interactive television
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
AU2002329214A1 (en) * 2001-02-07 2002-12-23 Infosphere Incorporated Method and apparatus for providing interactive media presentation
US7143353B2 (en) * 2001-03-30 2006-11-28 Koninklijke Philips Electronics, N.V. Streaming video bookmarks
US20030229893A1 (en) 2001-04-26 2003-12-11 Vito Sgaraglino Multiple response means for interactive advertising and information systems
US20050005308A1 (en) * 2002-01-29 2005-01-06 Gotuit Video, Inc. Methods and apparatus for recording and replaying sports broadcasts
US20030122966A1 (en) * 2001-12-06 2003-07-03 Digeo, Inc. System and method for meta data distribution to customize media content playback
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
JP2005517211A (ja) * 2002-02-05 2005-06-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 指紋の効率的格納
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
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
AU2003249319A1 (en) * 2003-06-20 2005-01-28 Nielsen Media Research, Inc Signature-based program identification apparatus and methods for use with digital broadcast systems
US20050044561A1 (en) 2003-08-20 2005-02-24 Gotuit Audio, Inc. Methods and apparatus for identifying program segments by detecting duplicate signal patterns
JP2007504495A (ja) * 2003-08-26 2007-03-01 クリアプレイ,インク. 音響信号の演奏を制御する方法と装置
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
JP4257269B2 (ja) * 2004-07-13 2009-04-22 日本電気株式会社 メタデータ送信装置及びメタデータ受信装置
JP4576936B2 (ja) * 2004-09-02 2010-11-10 ソニー株式会社 情報処理装置、情報記録媒体、コンテンツ管理システム、およびデータ処理方法、並びにコンピュータ・プログラム
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
US9967534B1 (en) 2004-11-19 2018-05-08 Tivo Solutions Inc. Digital video recorder video editing system
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
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
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
US20080104199A1 (en) 2006-10-31 2008-05-01 Yahoo! Inc. Identity and preference management via universal identifier
CN101523911B (zh) 2006-10-31 2013-08-28 Tivo有限公司 用于将辅助节目数据下载到dvr的方法和装置
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

Also Published As

Publication number Publication date
US9106949B2 (en) 2015-08-11
JP2009542088A (ja) 2009-11-26
HK1129019A1 (en) 2009-11-13
CN101473649A (zh) 2009-07-01
AU2006344734A1 (en) 2007-12-27
US20070300250A1 (en) 2007-12-27
CA2653308C (en) 2013-12-31
JP2012135023A (ja) 2012-07-12
US7873982B2 (en) 2011-01-18
CN103209339B (zh) 2016-12-28
EP2036344A4 (en) 2010-11-24
ES2523135T3 (es) 2014-11-21
US20110110646A1 (en) 2011-05-12
JP5715078B2 (ja) 2015-05-07
EP2036344B1 (en) 2012-11-28
PT2036344E (pt) 2013-03-11
PT2549771E (pt) 2014-11-24
JP5001362B2 (ja) 2012-08-15
WO2007149099A3 (en) 2008-12-24
EP2549771B1 (en) 2014-08-20
WO2007149099A2 (en) 2007-12-27
CN101473649B (zh) 2013-05-01
AU2006344734C1 (en) 2014-10-02
CN103209339A (zh) 2013-07-17
EP2549771A1 (en) 2013-01-23
CA2653308A1 (en) 2007-12-27
AU2006344734B2 (en) 2011-03-24
EP2036344A2 (en) 2009-03-18
US20160007099A1 (en) 2016-01-07

Similar Documents

Publication Publication Date Title
ES2399625T3 (es) Procedimiento y dispositivo para crear y visualizar segmentos multimedia personalizados
ES2381760T3 (es) Sincronización de contenido multimedia con eventos basados en el reconocimiento de secuencias de valores de clave calculada.