ES2399625T3 - Procedure and device for creating and viewing custom multimedia segments - Google Patents

Procedure and device for creating and viewing custom multimedia segments 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
Spanish (es)
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/en
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

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.A procedure carried out by a multimedia device, the procedure comprising: receiving a stream (700A) of content in the multimedia device, in which the stream (700A) of content comprises a video stream, an audio stream and a stream of intraband data; while a video stream is presented to a user, in response to receiving a user indication deselecting a location (704, 706) within the content stream (700A), identify a sequence of a plurality of values (701) of calculated key generated from a portion of the intra-band data flow that precedes the selected location (704, 706), determine, for each calculated key value of the sequence, one or more hourly values that reflect a time in which it was generated the calculated key value, and storing, in a storage device, the sequence of key values (701) calculated in association with the determined hourly values and metadata that specify an action to be performed after recognition of the sequence of values (701) of key calculated in an intra-band data stream of a content stream (700A).

Description

Procedimiento y dispositivo para crear y visualizar segmentos multimedia personalizados. Procedure and device to create and display personalized multimedia segments.

CAMPO DE LA INVENCiÓN FIELD OF THE INVENTION

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. The present invention relates to the recognition of intra-band data in a multimedia content stream and the location of points within the multimedia content stream in a multimedia device.

ANTECEDENTES BACKGROUND

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. The approaches described in this section are approaches that could be followed, but not necessarily approaches that have been previously conceived or followed. Therefore, unless otherwise indicated, it should not be assumed that none of the approaches described in this section entitle to its classification as a prior art merely thanks to its inclusion in this section.

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. Viewers can record TV programs broadcast using a cassette recorder (VCR). Therefore, a user of a VCR can record a particular TV program at the time it is broadcast and play the same recorded TV program at a later time. To achieve this, a VCR transforms the electrical signals that represent a TV program into magnetic signals and stores the magnetic signals on a magnetic tape. The magnetic tape is usually in the form of a cassette tape inserted into the VCR by the VCR user. When a VCR user decides to play the TV program, the process is reversed, and the VCR transforms the magnetic signals stored on the cassette tape into electrical signals and sends the electrical signals to a television.

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. With the development of digital technology, VCRs are being replaced by digital video recorders (DVRs). A DVR records TV programs broadcast for later playback by transforming electrical signals from the TV program into digital information and storing the digital information on a hard disk. When a user plays the recorded TV program, the DVR converts the digital information back into analog signals and sends the signals to the TV, which presents the TV program to the viewer. In addition, with the advent of digital televisions, the DVR can receive digital and analog signals and send digital signals directly to a digital television, which presents the TV program in digital format. Many content providers now use digital cable and satellite technology to broadcast digital programming. Digital programming is received by cable television receivers and / or satellite transceivers that are used to present digital programming to a user on a display screen. Thus, DVRs have the ability to receive digital programming signals from cable television receivers or satellite transceivers to record and present, as well as being incorporated into such devices.

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. DVRs have become increasingly popular and are widely used to record TV shows. More importantly, the use of DVRs to record TV programs has made content providers look for different means of presenting content to DRV users and enriching the experience of video programs. Personalized broadcast content has been absent in the content provider and DVR communities. US Patent No. 7,889,964, owned by the Applicant, describes a procedure for identifying the content of a broadcast using the area of subtitles for the deaf. US Patent No. 6,233,389, owned by the Applicant, also describes a procedure for recognizing specific words in the subtitle data for the deaf.

Es deseable una técnica para reconocer eventos diferenciados dentro de un programa no modificado de vídeo. A technique to recognize differentiated events within an unmodified video program is desirable.

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. US 2005/0226601 A 1 discloses a technique for synchronizing an effect with a multimedia presentation. A "value obtained + time stamp" table includes pairs of values in which a value obtained, such as a CRC value, is associated for one or more segments of a recording, with a time stamp for such segment of the recording. An effect creator, programmer, content provider or other user creates a table of "effect signals + time point" that associates effects with locations in a content stream. During the multimedia presentation of the recording, at least one processor determines a time stamp input for a segment of the multimedia presentation, consults the time stamp input in the "effect signals + time point" table and triggers the effect which is associated with a time point when an interpolated time signal is sufficiently equal to the trigger time of the specified effect.

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 US 2004/0040042 A 1 discloses a technique for synchronizing the improvement of content with a video program using the subtitles for the deaf. An analyzer analyzes a sequence of subtitle execution for the deaf to identify a set of unique key phrases. A producer associates complementary data with the key phrases in the sequence of execution of the subtitles for the deaf that correspond to the desired program points. A design computer could calculate key values calculated from the key phrases in a data file to reduce the size of the data file. when the program is played, a viewer calculation unit monitors the sequence of subtitle execution for the deaf to

detectar las frases clave. Tras la detección de una frase clave particular, la unidad de cálculo del espectador Detect the key phrases. Upon detection of a particular key phrase, the viewer's calculation unit

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. retrieves the complementary data associated with the particular key phrase. The present invention is defined by the independent claims. The dependent claims are they deal with optional features of some embodiments of the present invention.

BREVE DESCRIPCiÓN DE LOS DIBUJOS BRIEF DESCRIPTION OF THE DRAWINGS

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 The present invention is illustrated by way of example, and not limitation, in the figures of the attached drawings, in the that similar reference numbers refer to similar elements and in which: FIG. 1 is a block diagram illustrating a system for data recognition and synchronization

intrabanda; intraband;

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 FIG. 2 is a block diagram illustrating a general overview of components of a device for the recognition and synchronization of intra-band data; FIG. 3A is a flow chart that represents a procedure for generating sequence data of values of

clave calculada; calculated key;

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 FIG. 3B is a block diagram illustrating the procedure for generating sequence data of values of calculated key; FIG. 3C is a block diagram illustrating the procedure for generating sequence data of values of

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 key calculated using various subtitle schemes for the deaf; FIG. 3D is a block diagram that illustrates an icon that appears on a display screen; FIG. 4 is a flow chart representing a procedure for the recognition and synchronization of

subtítulos para sordos en un dispositivo multimedia; subtitles for the deaf on a multimedia device;

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 FIG. 5A is a block diagram that illustrates a state machine to find pattern matches intraband data; FIG. 5B is a block diagram illustrating sequence data of calculated key values; FIG. 6 is a block diagram illustrating a procedure for synchronization with intraband data; FIG. 7 is a block diagram illustrating a procedure for creating and viewing multimedia segments within

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: a video program according to an embodiment; and FIG. 8 is a block diagram of a system in which embodiments of the invention can be implemented. DETAILED DESCRIPTION In the following description, numerous specific details are set forth for explanatory purposes to provide a thorough understanding of the present invention. However, it will be apparent that the present invention can be practiced without these specific details. In other cases, well-known structures and devices are shown in block diagram to avoid unnecessarily obscuring the present invention. Examples are described in this document according to the following scheme:

1.0 1.0
Visión general de conjunto Overview

2.0 2.0
Visión estructural de conjunto Structural overview

3.0 3.0
Enfoque para reconocer datos intrabanda y sincronizar con los mismos Approach to recognize intra-band data and synchronize with it

3.1 Datos de subtítulos para sordos 3.1 Subtitle data for the deaf

3.1.1. Generación de datos de secuencia de valores de clave calculada 3.1.1. Generation of sequence data of calculated key values

3.1.2. Metadatos de secuencia de claves calculadas 3.1.2. Key sequence metadata calculated

3.1.3. Reconocimiento de secuencias de claves calculadas en un dispositivo multimedia 3.1.3. Recognition of key sequences calculated on a multimedia device

3.1.4. Sincronización con datos de subtítulos para sordos 3.1.4. Synchronization with subtitle data for the deaf

3.2. 3.2.
Datos de señalización de Televisión Mejorada Enhanced Television signaling data

4.0. 4.0.
Enfoque para crear y ver segmentos multimedia personalizados Focus to create and view custom multimedia segments

4.1. Selección de segmentos de programas multimedia por parte del usuario 4.1. Selection of multimedia program segments by the user

4.2. Creación de datos de identificación de eventos iniciada por el usuario para programas multimedia 4.2. Creation of user-initiated event identification data for multimedia programs

4.3 Creación de un contenido identificado de programas multimedia 4.3 Creating an identified content of multimedia programs

4.4. 4.4.
Compartición de datos de identificación de eventos para programas multimedia Sharing of event identification data for multimedia programs

5.0. 5.0.
Mecanismos de implementación Implementation Mechanisms

1.0 VISiÓN GENERAL DE CONJUNTO 1.0 SET OVERVIEW

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. The needs identified in the foregoing Background, and other needs and other objects that will become apparent from the following description, are satisfied in the present invention, which comprises, in one aspect, an intraband data recognition and synchronization system.

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. As mentioned above, the use of DVRs to record TV programs has caused content providers to seek different means of presenting content to DVR users and enriching the experience of video programs. For example, content providers who wish to present additional marketing or promotional content within video programs may cause particular icons, messages or interactive elements to be presented to the user in particular parts of the video program.

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. As described in US Patent No. 7,934,170, entitled "Method and Apparatus for Displaying Branded Video Tags", owned by the Applicant, a DVR may present portions of video program with commercial content presenting icons or related content during the issuance of the video program Thus, if the content provider wishes to promote a video program of early appearance, an interactive icon may be presented during the presentation of an advertisement detailing a video program of early appearance. While watching the ad, viewers can interact with the icon using a remote control to make the DVR automatically record the video program of early appearance that is being promoted.

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. For many of these additional features to work, a DVR must be synchronized with the flow of multimedia content to present additional content data in due course. Normally, the additional content is directly embedded in the multimedia content stream before the content is broadcast. In this way, the DVR processes the additional content along with the audio and video data within the multimedia content stream. By directly embedding the content in the multimedia content stream, the content provider is guaranteed that the additional data is presented to the user precisely at the place where the content provider requested it to be submitted. In addition, the multimedia content stream may be embedded with additional information not visible to the user to assist the DVR in synchronization. The above features are described in additional detail in US Patent No. 7,889,964, entitled "ClosedCaption Tagging System" and in US Patent No. 6,215,526, entitled "Analog Video Tagging and Encoding System", each of which is owned From applicant.

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. An example allows DVRs and other multimedia devices to synchronize with intra-band data within multimedia content streams. Intraband data is used to signal additional data on the same channel or "band" as used to send data, in this case audio and video data. An advantage of using intraband data for synchronization is that intraband data is normally intact within the content streams. Hence, since they are normally intact and unaltered, intraband data is a reliable source for synchronization with a multimedia content stream.

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. Examples of intra-band data include subtitle data for the deaf and Enhanced Television (ETV) signaling data. Subtitle streams for the deaf contain subtitle data for the deaf (usually, instructional data and subtitle text for the deaf) associated with video programs such as commercials, television shows, feature films and other multimedia content to present to a viewer. ETV signaling data defines instruction and control signals for interactive applications that are synchronized with ETV video programs.

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 When a multimedia device receives a stream of multimedia content that contains intra-band video and data programs, the device processes the intra-band data. The multimedia content stream may be broadcast on the air by a content provider or previously recorded by the multimedia device. During recording or playback of video programs, the multimedia device attempts to recognize intraband data patterns. Intraband data patterns can be provided from another device or other service provider as event identification data. Event identification data identify 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. intra-band data patterns that are associated with particular events in the flow of multimedia content. The event identification data can be stored in a storage device and can be accessed when intraband data is processed.

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. The multimedia device attempts to recognize intra-band data patterns using a correlation algorithm. According to one example, the correlation algorithm is implemented in a finite state machine. While listening for intra-band data within a multimedia content stream, the multimedia device uses the state machine to determine if the intra-band data matches a particular pattern of the intra-band data.

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. According to one example, event identification data, which is stored locally on the multimedia device, also includes metadata. Metadata identifies one or more actions to take in response to the pattern identification by listening to intra-band data from a multimedia content stream. If a match occurs, the multimedia device processes the metadata associated with the pattern and takes the appropriate action specified in the metadata. For example, the multimedia device may present an icon to a user on a display screen. Metadata can instruct the multimedia device regarding any necessary response if a user reacts to the icon. In addition, in response to the recognition of an intra-band data pattern, the multimedia device may store video segments associated with the pattern in a storage device. The multimedia device may also use the metadata associated with the recognized pattern to determine where a video segment begins or ends, or where a particular event occurs within the video program. In this way, a procedure for recognition and synchronization with intraband data is enabled.

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 In another aspect, a procedure for creating and viewing custom multimedia segments is provided. Users are provided on multimedia devices with a procedure by which they can select events

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. or portions within a video program for storage or playback. In a first multimedia device, a user selects one or more locations within a video program using a control interface such as a remote control. A multimedia device receives signals from the control interface and determines which locations were selected in the video program. The multimedia device then calculates an intra-band data pattern relative to the selected location (s) and stores the intra-band data pattern as event identification data in the same manner as described above.

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. Event identification data relating to the selected location (s) can be provided to another multimedia device. Using the event identification data, the other multimedia device attempts to identify intra-band data patterns associated with the video program to recognize the location (s) within the video program.

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. According to one example, the selected video program location (s) represent an event or a video segment. In addition, according to another embodiment, when the video segment is recognized, video identifications can be placed in the appropriate places within the multimedia content stream so that a user can jump directly to the site during video program playback.

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. In addition, in another example, once video identifiers representing the selected locations of the video program have been generated, subtitle data for the deaf can be extracted from the content stream and the content stream can be provided to a portable device. The portable device uses video identifiers to indicate the location or particular segments within the video program. Alternatively, instead of putting video identifiers in the multimedia content stream, an unedited version of the content stream may be provided to the multimedia device along with data representing the selected location (s). Data representing the selected location (s) may be provided separately from the multimedia content stream. A portable device can use the data to identify interesting locations within a video program and present the locations to a user. Alternatively, the portable device may use the data representing the selected location (s) in any appropriate manner.

En otros aspectos, la invención abarca un aparato y un medio legible por ordenador. In other aspects, the invention encompasses an apparatus and a computer-readable medium.

2.0 VISiÓN ESTRUCTURAL DE CONJUNTO 2.0 STRUCTURAL VISION OF ASSEMBLY

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. Throughout this description, several terms will be used to refer to particular concepts whose definitions are provided herein. Specifically, "intraband data" is signaling data sent by the same channel or the same "band" that is used to send audio and / or video data. Collectively, intraband data is contained in an "intraband data flow". According to one embodiment, the intra-band data stream may include subtitle data for the deaf or Enhanced Television (ETV) signaling data in a multimedia content stream. "Intraband data patterns" includes any intraband data that appears in a particular segment of the intraband data flow. An intra-band data pattern identifies a sequence of intra-band data selected from a portion of the intra-band data flow. For example, the intra-band data pattern may be a collection of subtitle data for the deaf or ETV signaling data that encompass a particular segment of the intra-band data flow. "Event identification data" is data that identifies one or more intraband data patterns. In addition, event identification data may also include additional data such as metadata describing events within the multimedia content stream, as well as instructional data for taking action in response to the recognition of intra-band data patterns. Event identification data can be provided to multimedia devices, which use the event identification data to recognize intra-band data in a multimedia content stream and locate points within the multimedia content stream.

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. With reference to FIG. 1, according to an example, a system for recognition and synchronization with intraband data is shown. The system contains the DVR 102 and 104, each of which is coupled in communication with the network 105 through any appropriate communications interface, such as an Ethernet or wireless communication port. In addition, the system includes server 106A, content provider 1068, personal computer101A and portable device 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. The personal computer 101A can be a personal calculating device, such as a desktop or portable computer, and is also coupled to the network 105 through any appropriate interface. The personal computer 101A is also connected to the portable device 1018. The portable device 1018 is a handheld calculation device, a mobile phone, a portable media player or any other portable device capable of displaying multimedia content. Through the network 105, the DVRs 102 and 104, the personal computer 101A and the portable device 1018 each communicate with the server 106A and the content provider 1068.

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. The network 105 can be implemented by any means or mechanism that allows the exchange of data between devices in the communications system. Examples of network 105 include, without limitation, a network such as a local area network (LAN), a wide area network 0f'JAN), Ethernet or Internet, or one or more terrestrial, satellite or wireless links. Alternatively, or in addition, any number of devices connected to the network 105 can also be connected directly to each other via a communications link.

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. In one example, DVR 102 and 104 communicate with server 106A, which provides program guide data, graphic resources (such as fonts, images, etc.), service information, software, advertisements, event identification data. and other forms of data that allow DVR 102 and 104 to operate independently of server 106A to meet the interests of viewers.

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 The content provider 1068 can also provide multimedia program content directly to DVRs 102 and 104 through air broadcasts, satellite transmissions or coaxial cable. The multimedia program content includes content such as feature films, television shows, variety shows, talk shows, advertisements, etc., for presentation to DVR users. In addition, content provider 1068 also provides additional data to server 106A, including promotional data, icons, electronic page data and other information for the server 106A to interpret and provide to 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. 104. According to another example, a content provider 1068 also provides multimedia program content to server 106A for processing. Server 106A processes multimedia program content, creates event identification data and provides event identification data to DVRs and other devices.

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. Multimedia devices use event identification data to recognize and synchronize with multimedia content streams. With reference now to FIG. 2, a block diagram illustrating the components of a device for recognition and synchronization with intraband data according to an example is shown. In particular, FIG. 2 represents the components of a DVR 200. Note that, for example, reference will be made to a DVR throughout the description. However, the invention is not limited in that regard, and the process of recognition and synchronization with intra-band data can be implemented in any type of multimedia device or computer system.

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. The DVR 200 generally comprises a plurality of components, signified by the input module 202A, for receiving a multimedia program content from a content provider 1068 or a server 106A. According to one example, the broadcast signals representing a multimedia content stream are sent to the DVR 200 from the content provider 1068. The DVR 200 receives the broadcast signals that represent a flow of multimedia content from an antenna, a cable TV system, a satellite receiver or any other transmission system via the input module 202A. The input module 202A may comprise a plurality of tuning modules that allow a plurality of signals to be received and recorded simultaneously. In addition, the 202A input module takes TV input streams in a multitude of forms, for example a broadcast on the National Television Standards Committee (NTSC) or PAL system, and digital forms such as the Digital Satellite System (DSS) ), Digital Broadcasting Services (D8S) or the Advanced Television Standards Committee (ATSC). D8S, DSS and ATSC are based on standards called Group 2 of Experts in Motion Pictures (MPEG2) and Transport of MPEG 2 Transport. MPEG 2 Transport is a standard for formatting the digital data stream from a TV source transmitter so that the TV receiver can disassemble the input stream to find programs in the multiplexed signal.

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. The DVR 200 also includes a recorder module 204, which is functional for recording one or more portions of a multimedia content stream received from the input module 202A and storing the multimedia content stream as a digital data stream in the device 214 of storage. The recording module 204 records the incoming stream of multimedia content by storing the digital data stream in at least one storage component, such as the storage device 214, which is designed to retain segments of the digital data stream. According to one embodiment, the storage device 214 may be a hard disk drive located in the DVR 200. Alternatively, the storage device 214 may be any type of volatile and / or non-volatile storage medium, such as flash memory, and It can also consist of removable storage media, such as a DVD-ROM disc. Note that the DVR 200 may contain multiple storage devices, storage media or removable storage media of the type described above in any combination thereof.

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. During playback, the digital data stream is converted into an analog signal and then modulated into an RF carrier by means of the output module 2028 through which the signal is delivered to a standard television. The 2028 output module can alternatively deliver a digital signal to a television or video monitor. For example, the DVR 200 can use a Digital Visual Interface (DVI) port to send digital signals to a TV via a DVI cable. Alternatively, the 2028 output module can deliver analog and / or digital signals internally to a TV without the use of any cables. For example, the DVR 200 may be part of a television, so that communication between the DVR 200 and the display screen is done internally through a system bus located on the television.

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. To record and store multimedia content streams, as well as other types of data, the DVR 200 includes a storage device 214. The storage device 214 can be a hard disk, a memory or any other form of storage located in the DVR 200. The storage device 214 can be used to store not only program material or multimedia content streams, but also additional data for the use by the DVR 200. For example, event identification data may be stored in the storage device 214 for future recovery. Although the storage device 214 appears as a module within the DVR 200, the storage device 214 may alternatively be located outside the DVR 200, and the DVR 200 can communicate with the storage using an interface such as the communications interface 206.

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 The DVR 200 also includes a communications interface 206, through which the DVR 200 communicates with the network 105 via Ethernet, wireless network, modem or other communications standards. In other examples, the communication interface 206 may be any type of communications port, such as a coaxial cable, infrared, fiber optic or serial port. According to one example, data is communicated from the server 106A over the network 105 to the DVR 200 using an Ethernet cable connected to the communication interface 206. Using the communications interface 206, the DVR 200 can communicate with a PC 101A or the portable device 1018 through a

LAN. 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. The 202A input module receives multimedia content streams for recording and playback for DVR users. When multimedia content streams are received in the input module 202A, they are recorded by the recorder module 204 and processed for presentation to the user via the output module 2028. Processing of the multimedia content stream for viewing includes sending the multimedia content stream to the storage device 214 and then to the output module 2028 for viewing. In fact, the DVR records portions of the multimedia content streams during live playback, allowing a user to pause and rewind a live broadcast without recording the entire video program. The processing of the flow of multimedia content is further described in more detail in US Patent No. 6,233,389, entitled "Multimedia Time Warping System", owned by the Applicant.

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. During operation of the DVR 200, the analysis module 210 listens for intra-band data, such as subtitle data for the deaf or ETV signaling data. While the multimedia content stream is analyzed, the analysis module 210 monitors the portion of the intraband data stream. Alternatively, the analysis module 210 can monitor intraband data at any other time, such as in the reproduction of the multimedia content stream.

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. According to one example, the multimedia content stream is an MPEG transport stream and the intraband data is interspersed with video audio data as a private data event. Since intraband data is a discrete event within the content stream, it is easily recognizable by a multimedia device such as the DVR 200. In addition, in the case where the original broadcast is in an analog format, the DVR 200 contains a plurality of components necessary to digitize multimedia content streams in the input module 202A, so that the multimedia content stream is in the form of an MPEG transport stream when processed by the analysis module 210. Intraband data is extracted while video and audio are placed in a packaged elementary stream (PES), as further described in patent 6,233,389. The intraband data is then combined with the audio and video for processing by the analysis module 210 and for presentation by means of the output module 2028.

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. To synchronize with multimedia content streams, the DVR 200 also contains a pattern recognition state machine 212. In one example, the pattern recognition state machine 212 represents an algorithm for the recognition of intra-band data patterns within the multimedia content stream. the pattern recognition state machine 212 processes the event identification data, which includes known intra-band data patterns, in an attempt to identify the intra-band data with known intra-band data patterns.

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. According to one example, the pattern recognition state machine 212 is a state-based algorithm that attempts to identify intra-band data from the analysis module 210 with intra-band data patterns in the event identification data stored in the storage device 214 . If a match occurs, the pattern recognition state machine 212 reports the match to the DVR 200, which inspects the metadata associated with the recognized intra-band data pattern. Based on the metadata, the DVR 200 can take any number of actions in synchronization with the flow of multimedia content.

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. Note that although the components of the DVR 200 have been described in relation to a DVR, the above modules may be integrated into a TV system, so that the modules are housed in a television capable of performing the functions of each module of the DVR 200. In addition, in other examples, the modules described above may be located among any number of devices capable of performing the described functions. Thus, through the operation of the described components, the DVR 200 can recognize intra-band data and synchronize actions and events with the intra-band data.

3.0 ENFOQUE PARA RECONOCER DATOS INTRABANDA Y SINCRONIZAR CON LOS MISMOS 3.0 APPROACH TO RECOGNIZE INTRABAND DATA AND SYNCHRONIZE WITH THE SAME

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. As mentioned above, intraband data can take many forms. Two such forms include subtitle data for the deaf and ETV signaling data. Note, however, that the invention is not limited to subtitle data for the deaf or ETV signaling, and that it can be applied to other types of intra-band data.

3.1 Datos de subtítulos para sordos 3.1 Subtitle data for the deaf

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. One type of intra-band data within a multimedia content stream is subtitle data for the deaf. Subtitle data for the deaf are data that represent subtitle text for the deaf for presentation to a user, as well as subtitle control for the deaf in conjunction with video programming. Multimedia devices can recognize subtitle data for the deaf and synchronize actions and events with the subtitle data for the deaf in various ways using the processes as described herein.

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. A multimedia device can use subtitle data patterns for the deaf to recognize and synchronize with multimedia content streams. The types of data patterns available in subtitle data for the deaf are numerous. For example, there may be differentiated data patterns within the subtitle text for the deaf itself, the control data for the subtitles for the deaf, as well as any other event defined by the subtitle data for the deaf. By recognizing differentiated patterns within subtitle data for the deaf, a DVR can identify events within the multimedia content stream.

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. One way to recognize patterns within the subtitle data for the deaf is by calculating calculated key values that represent the text of the subtitles for the deaf and identifying patterns of the sequences of calculated key values. Thus, according to an example, in a multimedia device, such as a DVR or a server, the subtitle data for the deaf is analyzed and calculated key values corresponding to the subtitle data for the deaf are generated. The calculated key values are then compiled into sequences of calculated key values with particular video programs or segments, and are also combined with metadata that defines instruction and control information for processing in multimedia devices.

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. These calculated key sequences and these metadata are provided to multimedia devices such as DVR in the form of sequence data of calculated key values. Multimedia devices use the sequence data of calculated key values to recognize and synchronize with subtitle data for the deaf. The multimedia device uses an identification algorithm to sequentially compare the generated calculated key values from the subtitle data for the deaf with multiple calculated key sequences that the multimedia device has stored locally. According to one example, the identification algorithm is implemented by means of a state machine that processes the generated values of the calculated key and informs whether or not a match has occurred in a sequence of calculated keys identified by the sequence data of key values. calculated

3.1.1 Generación de datos de secuencia de valores de clave calculada 3.1.1 Generation of sequence data of calculated key values

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. According to one example, to recognize subtitle data for the deaf and synchronize actions and events with the subtitle data for the deaf in a computer system, the calculated key value sequence data is generated and provided to devices such as DVR 102 and 104 Each DVR 102 and 104 also receives one or more multimedia content streams that contain video programs for presentation to a user. As defined herein, a video program may be a feature film, a variety show, an interview program, a music video, a telecomedy program, commercials, a live television broadcast or any other multimedia content. reproduced for a user of a 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. Subtitle data for the deaf, according to one example, may be contained in a separate stream of data associated with the stream of multimedia content. For example, if a program is in digital form, subtitle data for the deaf are communicated within the MPEG2 stream as part of a private data channel. However, when communicating in an analog format, subtitle data for the deaf are modulated, instead, in the Vertical Suppression Interval (V81) of the analog TV signal in several standard ways; for example, the North American Teletext Broadcast Standard (NA8TS) can be used to modulate information on lines 10 to 20 of an NTSC signal, while the FCC orders the use of line 21 for subtitles for the deaf (SS) and Extended Data Services (EDS). However, analog subtitle signals for the deaf are decoded by the DVR input module and are passed to the other components of the DVR as if they were distributed through a private MPEG2 data channel. Therefore, as described above, the analysis module 210 of the DVR 200 can process the subtitle data for the deaf that were originally transmitted in analog or digital format. More information on the location of subtitle data for the deaf in multimedia content streams can be found in the US application with serial number 09 / 665.921, entitled "Closed-Caption Tagging System", owned by the Applicant.

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. In another example, subtitle data for the deaf can be contained in any detectable form within the multimedia content stream. Server 106A and DVR 200 can read and analyze subtitle data for the deaf.

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. As part of the process of recognizing subtitle data for the deaf and synchronizing actions and events with the subtitle data for the deaf in a multimedia content stream, each DVR 102 and 104 also receives event identification data. According to one example, the event identification data is sequence data of calculated key values. Sequence data of calculated key values may come from various sources such as server 106A. For example, server 106A can process a program content in advance by calculating calculated key values and determining calculated key sequences for use by multimedia devices. Program content may be provided by content provider 1068 to server 106A before it is first broadcast to multimedia devices. The server 106A can provide calculated key sequences to the multimedia devices before the multimedia devices receive the content of the associated program. Alternatively, the sequence data may come from another computing device, such as another 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. Therefore, with reference now to FIG. 3A, a flowchart depicting a procedure for generating data from a sequence of key values calculated according to an example is shown. In step 302, server 106A receives data representing one or more video programs from content provider 1068. The data may be in the form of multimedia content stream or may be individual data from video programs separate from the multimedia content stream. Together with the video program data, the content provider 1068 also supplies the server 106A with subtitle data for the deaf associated with the video program. In one example, the subtitle data for the deaf may be embedded within a multimedia content stream containing the video program provided by the content provider 1068. In addition, the content provider 1068 may provide metadata containing event information associated with video programs.

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 Server 106A defines information that specifies events or actions on which the multimedia device operates while presenting a video program to a user. This information may include references to graphic icons or additional content to show the user. The content or icons would be present on the multimedia device

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. or they would be obtainable by the device through the Internet, the network or another DVR. In addition, the information may present data representing certain events within the video program. For example, if a sports broadcast were divided into separate times and a break, the content provider 1068 could provide event information to the server 106A indicating where the break occurs in the flow of multimedia content. Using this information, server 106A can generate sequence data of calculated key values to allow a DVR to automatically identify the beginning and end of the break within the video program. Since the rest has been identified, a DVR user can request the DVR to automatically skip the rest when viewing the recorded broadcast.

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. In addition, according to an example, the server 106A can obtain subtitle data for the deaf for video programs from any multimedia device, such as a DVR. For example, DVR 102 may have previously recorded a video program containing subtitle data for the deaf. The DVR 102 can send the recorded video program to server 106A over network 105, including subtitle data for deaf people associated with the video program for processing by server 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. In step 304, the server 106A analyzes the subtitle data for the deaf of the video program by converting it into calculated key values, which are used to create sequence data of calculated key values. Server 106A can use several different procedures to create calculated key values. The procedure used to create calculated key values for subtitle data for the deaf may vary according to the procedure used by the subtitle stream for the deaf to display the subtitle text for the deaf to a viewer of the video program.

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. Thus, server 106A tracks which subtitle mode for the deaf is being used to display the subtitle data for the deaf. For example, according to one example, the subtitle text for the deaf can be processed and displayed to a user using the sudden appearance mode, the ascending appearance mode or the background appearance mode, as further described herein. document. Depending on the mode used, a calculated key value represents the result of applying a calculated key function to several characters in a line of text. A calculated key function H is a transformation that takes an input m of variable size and returns a fixed-size string, which is called the calculated key value h; that is, h = H (m). The variable size input for subtitle data for the deaf will depend on the subtitle procedure for the deaf that is used, as will be further described herein. In addition, according to one example, the number of characters that can be put on a subtitle data line for the deaf is limited.

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. However, the analyzer 312 can be configured to accept any number of characters in a line of text to accommodate different systems. Thus, as described in the following, the analyzer 312 determines when to generate calculated key values in response to the detection of differentiated events within the subtitle data for the deaf. Differentiated events within the subtitle data for the deaf can be instructions such as a "car return" instruction. A "car return" instruction can be used to define the end or beginning of a line of text. Thus, for example, when a line of text has been completed, a "car return" will cause the cursor position to be placed on the next line.

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. The calculated key function is useful for creating a standardized value of calculated key of varying text sizes. According to one example, the characters may represent hexadecimal numbers similar to those defined by the US Standard Code for Information Exchange (ASCII). In addition, some subtitle implementations for the deaf may use a modified ASCII standard for the presentation of alternative symbols, such as musical notes during audio in a video program.

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. According to one example, the analysis module 210 applies the calculated key algorithm to the hexadecimal representations of the subtitle data for the deaf to produce calculated key values. In addition, the analysis module 210 adjusts the procedure for calculating key values calculated depending on the subtitle procedure for the deaf being used.

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 = With reference to FIG. 38, a block diagram illustrating the procedure for generating sequence data of key values calculated according to an example is shown. Frames 310A-310D represent frames of a video program within a stream of multimedia content received on server 106A. According to one example, video programs are played at a rate of thirty frames per second. Each frame 310A-310D is reproduced at a particular time according to the speed of the frames. For example, frame 310A occurs at the time =

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. 1:00 and plot 3108 occurs at the time = 1: 05. Hence, assuming a frame rate of thirty frames per second, frame 3108 occurs at frame number 151, or 150 frames after frame 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. Note that frames 310A-310D are only four different frames between many frames within the multimedia content stream, and many frames may exist between each of frames 310A and 310D. In frames 310A-310D, calculated key values are generated for the A-D text, respectively. The A-D text is text contained within a subtitle stream for the deaf, and frames 310A-310D represent the moment at which the calculated key values for the text are generated. Note, however, that the text of subtitles for the deaf usually appears longer than one frame at a time. According to one example, the transmission rate for subtitle data for the deaf is two bytes per video frame, and the transmission or reception of a full line of text takes several frames. Text 8, for example, can be displayed in multiple frames that precede frame 3108. However, frame 3108 is the position within the flow of multimedia content in which a calculated key value is generated for text 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. In addition, since each frame 310A-310D is displayed at a particular time, metadata can be created that contain relative time data that represents an instant within the video program or the multimedia content stream in which the frame is being displayed. thus, frame 310A is displaying text A at 1: 00, while frame 3108 is displaying text 8 at 1: 05. Analyzer 312 reads the A-D text of each frame 310A-310D to generate the calculated key values 314A-314D and the metadata associated with those calculated key values, respectively. However, note that it is not necessary to create metadata every time a calculated key value is generated.

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. In another example, parser 312 can analyze additional frames that do not display any text. However, since these frames do not contain any subtitle text for the deaf, the generation of a calculated key value will not be triggered. Rather, as described in further detail herein, the analyzer 312 does not generate a calculated key value until a trigger event has occurred. Depending on the subtitle procedure for the deaf being used, the trigger event will vary from case to case. For example, according to one example, the trigger event is the identification of a "carriage return" instruction within the subtitle data for the deaf. When the "carriage return" instruction within the subtitle data for the deaf is detected, the analyzer 312 generates a calculated key value representing the one or more lines of subtitle text for the deaf that span several seconds within the program of video.

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. Table 320 represents an enumeration of calculated key values generated by the video program analyzer 312 represented by frames 310A-310D. Table 320 includes a Value column of the key cah; ulada, a Time column and a Time Offset column. The Value of the calculated key column represents the calculated key values generated by the analyzer 312 for frames 310A-310D. The Time column represents the relative time at which each key value calculated according to the due process of subtitles for the deaf was generated. The hourly value may be relative to the entire multimedia content stream, to the particular 310A-310D frames that contain the video program or to the real-time clock of the 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. When the analyzer 312 generates a calculated key value for any frame, the analyzer 312 interrogates a timer module 209 of the DVR 200 to determine the moment at which the calculated key value was generated. While the 312 analyzer uses the same relative time unit to generate the time in the Time column, the DVR 200 can accurately track any time variation between the generated values of the calculated key and the data of the sequence of calculated key values. The Time Offset column indicates the difference between the hourly data associated with a calculated key value and the hourly data associated with a subsequent calculated key value. For example, it was documented that the calculated key value "3059" has no time offset value. In this case, it is determined that the calculated key value "3059" is the beginning of a sequence of calculated keys, so no time offset value is required. However, for the calculated key value "2Z55", a time offset value of: 05 seconds is documented, indicating that the calculated key value "2Z55" is generated approximately: 05 seconds after the generated calculated key value "3059". This information can be used to locate the beginning of a video program or, alternatively, any particular event or location within the video program on a DVR. The process of using the time offset information to synchronize a computer system with a video program is discussed in more detail below in section 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. Thus, the analyzer 312 analyzes the subtitle data for the deaf within the video program. With reference again to FIG. 3A, once the analyzer 312 has analyzed the subtitle data for the deaf of a video program by converting it into calculated key values, the server 106A goes on to generate calculated key sequences associated with the video program in step 306. When the analyzer 312 has completed the generation of a particular number of key values calculated for a video program or a segment of a video program, the analyzer 312 creates sequence data of key values calculated from the calculated key values generated.

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. The number of key values calculated in a sequence of calculated keys, as well as the amount of time represented by the calculated key values can be arbitrarily set by the analyzer 312, the server 106A or by any other device or user that wish control the creation of sequence data of calculated key values. For example, if the content provider 1068 provided a particular video program for analysis to the server 106A, the content provider 1068 may also indicate that, during a particular portion of the video program that for five to ten seconds, a on-screen icon requesting user intervention. FIG. 3D is a diagram illustrating the appearance of such an icon on a display screen according to an example. According to FIG. 3D, the display screen 400 shows an icon 404. The icon 404 contains a dialog requesting the intervention 404A of the user. In this example, the content provider 1068 asks the server 106A for the 404 icon to appear on the display screen 400 during a particular portion of a video program. Here, the analyzer 312 can be configured to generate calculated key values that span at least 10 seconds of the selected portion of the video program. This ensures that calculated key values are generated for at least the selected portion of the video program, giving a computer system sufficient time to recognize the complete sequence of calculated key values and to positively identify the program or the video portion. In addition, to compensate for any delay or margin of error, the analyzer 312 can be configured to generate calculated key values that cover more than the selected portion of the video program.

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. Alternatively, the length of any sequence data of key values calculated can be determined by the uniqueness of each calculated key value generated within the sequence of calculated keys. For example, in some situations, the same subtitle data for the deaf can result in the same calculated key value. If two video programs contain very similar subtitle data for the deaf, such as two ads with very little subtitle text for the deaf, they can start by generating the same key values calculated for the first portion of the program. However, the longer the analyzer generates 312 calculated key values for a particular video program, the more likely the calculated key sequence is unique. Therefore, the analyzer 312 can be configured to select any number of calculated key values to include them in a calculated key sequence to control the accuracy of the coincidence of sequence data of key values calculated with the video programs. . In addition, when the analyzer 312 generates the calculated key values, the server 106A can associate metadata with the sequence data of calculated key values. Associated metadata may indicate that an icon 400 is displayed requesting user intervention, as set forth in the preceding example.

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. When calculated key values are generated, the analyzer 312 includes hourly data associated with the time at which each calculated key value was generated. However, the same subtitle data for the deaf or even the same calculated key value can be generated at different times according to the subtitle procedure for the deaf used.

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. Thus, with reference to FIG. 3C, different subtitles procedure for the deaf are shown according to an example. Respectively, a user is shown subtitle data for deaf people in 340 mode of sudden appearance, in 342 mode of ascending appearance or in 346 mode of appearance in the background. FIG. 3C shows an area of incoming SS data of a subtitle stream for the deaf and a display area that represents the actual output or display of the subtitle text for the deaf for a user.

3.1.1.1 Modo de aparición súbita 3.1.1.1 Sudden appearance mode

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. In the 340 mode of sudden appearance, according to one embodiment, between one and four lines of text appear on the screen all at once, they remain there for a period of time and then are replaced by the following subtitle text lines for the deaf.

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. In sudden appearance mode 340, incoming subtitle data for the deaf are placed in the subsequent buffer 3508 and displayed with a single "dump buffers" instruction once the full text for a particular frame or series of frames are ready to be displayed. In this mode, a calculated key value is generated for the text that is being displayed when the "dump buffers" instruction is issued. When the "dump buffers" instruction is issued, the text in the subsequent buffer 3508 is transferred to the previous buffer 350A, which represents the text being displayed on the display device 360.

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. In the sudden appearance mode, there are only two well-defined events that change the visible text on the display device 360 for the user. These events include (1) the dump of the buffers, so that the content of the subsequent buffer 3508 is placed in the previous buffer 350A, and (2) the deletion of the text shown on the display screen 360. Generating calculated key values in the sudden appearance mode is merely a matter of keeping track of the composite text in the subsequent buffer and creating a calculated key value for the text in the subsequent buffer 3508 once they have been processed. dump instruction or an erased instruction from the displayed buffer.

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. Thus, in the sudden appearance mode, the analyzer 312 will keep track of the text that is being composed in the subsequent buffer 3508. While monitoring the subsequent buffer 3508, the analyzer 312 continues to update a calculated key value corresponding to the value total of any text accumulated in the back buffer 3508. Initially, the back buffer 3508 is empty. While the text is being composed by entering it on each line, the analyzer 312 waits until a "cursor placement" instruction is issued. A cursor placement instruction can be used to place the text cursor on a new line. Based on the cursor placement instruction, the analyzer 312 can determine that a line is complete and calculates a key value calculated for the particular line.

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. At the end, the previous buffer 350A is emptied and the subsequent buffer 3508 is turned over to the previous one by issuing a dump instruction of the buffers. Note that the rear buffer 3508 can contain multiple lines of text. To generate a single key value calculated for multiple lines of text, a cumulative key value calculated for all lines of text that appears in the previous buffer 350A is generated. The calculated cumulative key value is created once the subsequent buffer 3508 is dumped to the previous buffer 350A. Thus, while text is being compiled in the subsequent buffer 3508, the analyzer 312 tracks the individual key values calculated for each line of text as described above. When the previous buffer 350A is turned over, the calculated key values for each line are combined with each other to create the calculated cumulative key value.

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 According to one example, when the analyzer 312 generates the calculated key value, the analyzer 312 also retrieves the hourly data associated with the multimedia content stream from the timer module 209. The timer module 209 can indicate the timing of the relative content stream of form relative to the beginning of the flow of multimedia content, one hour of calendar clock, the time since the last key value calculated

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". or the time relative to the beginning of a video program within the multimedia content stream. Hence, with reference again to FIG. 38, for example, the analyzer 312 determines that the text A of the frame 310A has been dumped to the previous buffer 350A at the time = 1: 00 and that it has a corresponding calculated key value of "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. 3.1.1.2 Ascending appearance mode Another way of presenting subtitle text for the deaf is the ascending appearance mode 342. In 342 mode of ascending appearance, which is more common in live broadcasts, such as news or talk shows, text is typed as it is posted and appears on the TV as soon as it is received. Once a "carriage return" instruction is received, the text goes up. A carriage return instruction is an instruction that causes the cursor to return to the beginning of the line. Since the cursor has returned to the beginning of a new line, a carriage return can be used to indicate that a new line is being composed. According to one example, text can initially be composed in the display device 360 such that the frame X thus includes line 1 of text, while the incoming data 350C of SS contains text that is subsequently composed, such as lines 2- 4 of text. When line 2 of text is ready to be displayed, line 2 of text "ascends" to the screen, causing line 1 of text to move up in frame Y of display device 360. In one example, the Y plot only allows two lines of text to be presented at a given time. Thus, in any subsequent frame, when line 3 of text is ready to be displayed, line 1 of text would be deleted and line 2 of text would move up, occupying the second row of text on display device 360. Alternatively, any number of subtitle lines for the deaf can be provisioned in ascending appearance mode.

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. According to one example, to generate key values calculated in the ascending appearance mode, the analyzer 312 monitors the text lines and listens for a carriage return instruction. Once the analyzer 312 determines that such an event has occurred, the analyzer 312 generates a key value calculated for the corresponding text. Thus, a calculated key value is generated when a line of text is completed, and subtitle data for the deaf contain a distinct event visible to the user that marks the end of the line. Instead of creating a cumulative key value calculated for all lines of text displayed on the screen, the ascending appearance mode generates and documents a key value calculated for each line of visible text as it appears on the screen.

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. For example, according to one example, parser 312 can determine that a line of text is complete when the text ascends a line; for example, line 1 of text in frame Y. Analyzer 312 can detect that a line of text is complete when it detects a "carriage return" instruction within incoming data 350 of SS. Hence, with reference again to FIG. 38, for example, analyzer 312 determines that a line of text corresponding to text 8 is complete after detecting a "carriage return" instruction in frame 3108 and calculates a calculated key value of "2Z55" at the time = 1 : 05.

3.1.1.3 Modo de aparición sobre segundo plano 3.1.1.3 Background appearance mode

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. Another subtitle mode for the deaf is 344 mode of background appearance. The background 344 mode of appearance in the background is similar to the sudden appearance mode 340, except that the incoming SS data 3500 is composed directly in a previous buffer and, since the content of the previous buffer is fed directly to the device Viewing, a viewer can see the text as it is composed. In one example, to generate calculated key values, the analyzer 312 waits until the first event visible to the user occurs after an entire line of text is completed. Thus, in background mode 344, a procedure for generating calculated key values includes the accumulation of a line of text as it is being displayed and waiting for the first event visible to the user after the line is complete to generate the calculated key value for that line. The first event visible to the user could be the start of another line, the deletion of the screen or an instruction to "dump buffers" to show the new text in the sudden appearance mode.

3.1.2 Metadatos de secuencia de claves calculadas 3.1.2 Calculated key sequence metadata

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. Regardless of the type of subtitle mode for the deaf being used, once the analyzer 312 generates the calculated key values associated with a video program, the calculated key values are placed in table 320 along with any additional data , such as the time and time offset data for each key value calculated. The cumulative data in table 320 thus represents sequence data of values generated by a device such as server 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. Once the data of the calculated key value sequence has been generated, additional metadata can be associated with the calculated key sequence. According to one example, additional metadata may include instructional data and control data to take some action upon recognition of the sequence of calculated keys.

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. Thus, with reference again to FIG. 38, table 330 includes columns representing calculated key sequences and metadata associated with the calculated key sequences. According to one example, the sequence of calculated keys 3059, 2Z55, A6E3 and 9Y95 includes metadata describing an EVENT 1 event. EVENT 1 can be an event within the multimedia content flow that occurs at a particular time. For example, EVENT 1 can define a particular location within a video program, such as a break during a sporting event. The metadata that defines EVENT 1 may also include additional information, such as a description of the video program and subsequent actions to take after recognizing the event. For example, EVENT 1 may include identification information to insert an identification into the program flow at the time of EVENT 1. The identifier is operative to allow a user to go directly to EVENT 1 or, alternatively, to skip the EVENT 1 during playback. The functionality of the identifications in the multimedia content stream is described in greater detail in the following, and is also described in the US application with serial number 09 / 665.921, entitled "Closed Caption Tagging System", owned by the Applicant.

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. With reference still to table 330, metadata can also specify particular actions, such as ACCESSION 1, associated with the sequence of calculated keys A6E3, 9Y95, E4E9, and 9F4U. According to one example, ACCESSION 1 can describe a particular action that the DVR must take after recognizing the sequence of calculated keys. For example, ACCESS 1 may include presenting an icon to a user of the DVR. The metadata that defines ACCESS 1 can include time information related to the duration of the action, as well as information related to the placement of graphics and icons on the display device connected to the DVR. Note that the action specified by the metadata can take place at a different time from the moment of recognition of the sequence of calculated keys. For example, metadata may indicate that the action should take place at a time that precedes the recognition of the sequence of calculated keys. In this way, if the program is reproduced from the recorded copy, the DVR will scan ahead, carrying out the calculated key comparisons, and know how to perform the action in due time.

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. In another example, ACCESSION 1 may include instructional data for the DVR to process. Instruction data can cause the DVR to record and store one or more portions of the multimedia content stream. For example, during a live broadcast of a particular video program, if the DVR recognizes the calculated key sequence of C, D, E, FY processes the instruction data associated with the calculated key sequence, the instruction data will make The DVR starts recording the program immediately. In other examples, instructional data may cause the DVR to start recording the live broadcast at any time after recognition of the sequence of calculated keys.

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. In addition, the metadata associated with any sequence of calculated keys is not limited to the specified events or actions, but may be any data that can be understood and processed by a DVR or a device that receives the metadata.

3.1.3 Reconocimiento de secuencias de claves calculadas en un dispositivo multimedia 3.1.3 Recognition of key sequences calculated on a multimedia device

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 When the server 106A has accumulated sequence data of calculated key values, server 106A sends the sequence data of calculated key values to a DVR or other device that uses the sequence data of calculated key values to recognize data from. subtitles for the deaf and to synchronize with video programs using the data of subtitles for the deaf. With reference now to FIG. 4, a flowchart is shown that schematizes the process of recognizing subtitle data for the deaf and synchronizing actions and events with the subtitle data for the deaf. In step 402, the DVR 102 receives the sequence data of calculated key values represented by table 330 in FIG. 38 from server 106A. In one example, in what is known as a "pull" transaction, the DVR 102 receives the calculated key value sequence data after initiating a request for the calculated key value sequence data to the server 106A. Alternatively, in what is known as a "push" transaction, the server 106A can automatically send the calculated key value sequence data to the DVR 102 without any request from the 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. 102. When the DVR 102 receives the calculated key value sequence data, it stores the calculated key value sequence data in the storage device 214.

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. In step 404, DVR 102 receives a stream of multimedia content for presentation to a user. According to an example, the multimedia content stream may be received from the input module 202A and represent multimedia content that is currently being broadcast by the content provider 1068. Alternatively, the multimedia content stream may be reproduced from the storage device 214 of the DVR 102. In addition, in other embodiments, the DVR 102 may receive a stream of multimedia content via broadcast or over the Internet without presenting the stream of multimedia content to the user. . Hence the DVR 102 can receive content from the content provider 1068 and store the content on the storage device 214.

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. While the multimedia content stream is being recorded or played back, in step 406, the DVR 102 begins analyzing the subtitle data for deaf people associated with the multimedia content stream.

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. The analysis module 210 analyzes the subtitle data for the deaf in the same manner described above with reference to the server 106A in FIG. 38. Thus, the analysis module 210 analyzes the subtitle data for the deaf by transforming them into multiple key values calculated according to the procedure used for the subtitles for the deaf (ie, sudden onset, ascending onset or background appearance). While generating the calculated key values, the analysis module 210 sends the calculated key values and the time stamps associated with each calculated key value to a pattern recognition state machine 212, which is used to compare and identify the calculated key values with any of the calculated key value sequence data downloaded, stored or received by the DVR 102 from the server 106A or any other source.

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. In step 408, the pattern recognition state machine 212 is used to monitor the calculated key values generated by the analysis module 210 and compare the calculated key values with the sequence data of calculated key values received in the step 402. According to one example, the pattern recognition state machine 212 is a state machine constructed according to the calculated key value sequence data that was received in step 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. Looking at an example, suppose the pattern recognition state machine 212 adopts the structure of a tree that contains knots and branches. Each node of the tree can represent a particular calculated key value in a sequence of calculated key values, and each "branch" of the tree represents the complete sequence of calculated keys identified by the sequence data of calculated key values. This structure is an additional reference object in FIG. 5A, set forth below. the pattern recognition state machine 212 attempts to match the calculated key values generated by crossing the tree nodes. At any given node, if a match occurs, the pattern recognition state machine 212 continues to the next node. If the previous node represents the end of a sequence of calculated key values, a match has occurred, and the pattern recognition state machine 212 may indicate that a sequence of calculated key values has been identified, which, in turn instead, it causes the OVR 200 to take the appropriate action, as described in greater detail herein.

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. Accordingly, in step 510, the pattern recognition state machine 212 determines whether any calculated key value generated by the analysis module 210 matches the calculated key values contained within the sequence data of calculated key values . As long as the calculated key values match and the time difference between the calculated key value events is within a threshold of the expected calculated key sequence, a positive match will be reported.

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. Referring now to Fig. 5A, according to an example, data of a sequence of key values calculated in the form of a pattern recognition state machine is shown. The sequence data of calculated key values are represented by the state machine 510, which contains nodes representing individual calculated key values within the calculated key value sequences. According to one example, the state machine 510 contains a START 502 node representing the initial state of the state machine.

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 According to an example, the nodes of the state machine 510 are indexed according to the first calculated key value of any calculated key sequence identified in the sequence data of calculated key values. Or after the state machine 510 is initialized, it can first determine whether that calculated key value of the first node 504 matches a calculated key value generated by the analysis module 210. If no match occurs, the state machine 510 continues to cross the index 501, subsequently checking the next node 520. Note that, although it is rare, different sequences of calculated key values can start with the same calculated key value. Therefore, node 504, which represents calculated key sequences that begin with the calculated key value "3059", may contain two distinct branches representing different sequences of calculated key values: (1) 3059, 2Z55, A6E3 and 9Y95, or

(2) 3059, 2Z55, E4E9 y 9F4U. (2) 3059, 2Z55, E4E9 and 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. According to one example, the state machine 500 is a lightweight component of the OVR 200, which means that the state machine 500 is designed to occupy minimal system resources during the operation of the OVR 200. Therefore, even in the case of that the state machine 500 must cross tens of thousands of nodes to determine whether a sequence of calculated key values has been recognized, few system resources are required to operate the state machine 500. Oe here that the users of the OVR do not appreciate any delay or degradation in the reproduction of multimedia content during the operation of the state machine 500.

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. According to one example, the efficiency of the state machine 500 is further increased by the use of index 501. By indexing the first key value calculated within each sequence of keys calculated at an index 501, the state machine 500 can quickly discard a large number of key sequences calculated for a comparison without taking up many system resources.

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. To initiate the processing of calculated key values generated from the analysis module 210, the state machine 500 is initialized and the checking of the nodes located at index 501 begins. According to an example, the first calculated key value generated by the Analysis module 210 is "3059", corresponding to text A in frame 310A of FIG. 38. Accordingly, the state machine 500 is started, it will check the first node 504 representing the calculated key value "3059" and find a match, giving a positive output according to this example, any match causes the state machine to proceed to the right, while any error causes the state machine to cross to a lower level. However, in other examples, the state machine 500 may be structured in any manner suitable for checking calculated key values.

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. However, suppose that the analysis module 210 initially reported a calculated key value of "2Z55". Instead of finding a match in the first node 504, the state machine 510 would report a negative output and continue down to the next node 520 in index 501, which represents the calculated key value "2Z55". Alternatively, if no match is found in a particular node, the state machine 510 may also proceed to the ERROR node 515, which causes the state machine to restart and start again at the node 502 of START.

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. Therefore, assuming that a match occurred in the first node of index 501, the state machine 212 then waits for the next generated key value calculated from the analysis module 210. In one example, the next generated key value calculated is "2Z55". Consequently, the state machine 510 compares "2Z55" with the value in the next node 506. Since the value in the next node is also "2Z55", the state machine 510 will find a match and proceed to node 508. Without However, note that if no match was found in node 506, the state machine 500 would not proceed to the ERROR state, but instead try to find a match for the key value calculated in node 507, which represents "E4E9". In this way, node 506 represents a fork in the state machine 500, so that two sequences of calculated key values can begin with the calculated key values of "3059" and "2Z55", respectively.

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 In response to the receipt of calculated key values generated by the analysis module 210, the state machine 500 sequentially traverses each node represented in FIG. 5 until no match occurs

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. or until the end of a sequence of calculated keys has been identified. In addition, while searching for calculated key value matches with each key value calculated in the sequence of calculated key values, the state machine 500 can also compare the time lag between the calculated key value generated by the analysis module 210 and the key value calculated within the sequence of calculated keys. If both calculated key values match and match the time offset values of both calculated key values, the status machine 500 can determine that a positive match has occurred. In another example, the state machine 500 may determine that a particular calculated key value has coincided with the time lag of a calculated key value within a sequence of calculated keys allowing "compensation" or margin of error. According to this specific example, the state machine 500 determines that a match has occurred for the sequence of calculated keys of 3059, 2Z55, A6E3 and 9Y95 after receiving the respective calculated key values generated by the analyzer 312 in 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. When no match is found, the status machine 500 is reset to the HOME node 502 and reset the match search process when the next calculated key value is received from the analysis module 210.

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. Note that throughout the operation of the DVR 200, the state machine 500 is continuously trying to find a match of the calculated key values with the calculated key sequences. When a positive match is found for a complete sequence of calculated keys, in step 412, the state machine 500 reports a full match, causing the DVR 200 to inspect the metadata associated with the sequence data of calculated key values.

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. In other examples, the state machine 500 uses a table of calculated keys to try to find matches of calculated key values with sequence data of calculated key values. A table of calculated keys is a data structure composed of an array (or a table in which the data to be searched) is stored and a correspondence function. A table of calculated values is commonly used in search algorithms and is a data structure that is well known in the art.

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. In addition, in another example, the DVR 200 contains a plurality of state machines. By having more than one state machine that work at the same time, multiple patterns can be identified within the same sequence of calculated key values. For example, suppose the calculated key values of "X6Y6, A4Z4 and 81C1" were generated from a multimedia content stream. Let's also assume that there are two known patterns, "X6Y6, A4Z4" and "A4Z4, 81C1". If a single state machine were running on the DVR 200, only one of those patterns would be recognized. However, since the DVR 200 can concurrently run more than one state machine, the DVR 200 can recognize both "X6Y6, A4Z4" and "A4Z4, 81C1" patterns from the calculated key values of "X6Y6, A4Z4 and 81C1 ". Therefore, in other examples, the DVR 200 may contain a plurality of state machines, and each state machine may represent different intra-band data patterns.

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. With reference to FIG. 58, a sequence of key values calculated according to an example is shown. The calculated key value sequence data contains the sequence data 520A and the 5208 metadata. The sequence data 520A corresponds to the data representing the calculated key value sequence, as well as the approximate time difference between the incidences of the calculated key values. Thus, as described above, the state machine 500 crosses the nodes, as depicted in FIG. 5A, until no match is found at a particular level or if the end of a sequence of calculated keys has been found. According to one example, the pattern recognition state machine 212 determines that the sequence of the calculated key values 3059, 2Z55, A6E3 and 9Y95 has coincided with the generation of the same calculated key values from the base analysis module 210 to the time difference between each calculated key value generated.

3.1.4 Sincronización con datos de subtítulos para sordos 16 3.1.4 Synchronization with subtitle data for the deaf 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. When a DVR determines that a pattern match has occurred, it uses the metadata described above to synchronize with the flow of multimedia content. In particular, the DVR uses metadata to determine the relative location of events or video programs within the multimedia content stream. Thus, when the DVR 102 determines that a particular sequence of calculated key values has been generated, the DVR 200 will consult the 5208 metadata to determine the action to be taken. Metadata 5208 may contain information such as instruction and control information, program timing, content information, display instructions and graphic information. In addition, metadata 5208 may also contain instruction data 522.

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. Once the pattern recognition state machines 212 have determined that the calculated key values from the multimedia content stream match a particular sequence of calculated keys, then, in step 412, the DVR inspects the sequence metadata of calculated keys associated with the sequence of calculated keys and responds accordingly. Depending on the content of the metadata, a DVR such as DVR 102 can respond in many different ways to the recognition of a sequence of calculated key values. For example, metadata may contain information that allows the DVR to recognize events within a video program, to synchronize with the video program or with the entire multimedia content stream, to present information to a user or to have it Record a future program. In addition, in other examples, the metadata may contain information that allows a DVR to perform any action related to the flow of multimedia content, the video program or the operation of the DVR, for example skipping advertisements and other content.

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. Thus, with reference now to FIG. 6, a block diagram is shown illustrating a procedure for synchronizing actions and events with intra-band data according to an example. Table 606 represents sequence data of calculated key values, while table 608 represents metadata associated with the particular sequence of calculated keys. In this particular example, table 606 contains the sequence of calculated keys 3D59, 2Z55, A6E3 and 9Y95, as well as the time and time offset values for each key value calculated. As described above, this information is received from server 106A or any other source, and is found in DVR 102 in the form of pattern recognition machines 212. Content 600 represents a stream of multimedia content that contains one or more video programs. While playing or recording media stream 600, the DVR indicates its playback location within content stream 600 using cursor 604, which moves over a program buffer bar representing the program material, as described in US Patent No. 6,850,691 and in US Application No. 10/915,990, both entitled "Multimedia Progress Indication System" and owned by the Applicant. In this particular example, the cursor 604 is currently at the 1: 12 hour of the multimedia content stream or the video program. While playing the content stream 600 using an analysis module, the DVR generates the calculated key value "3D59" at the instant: 00, the calculated key value "2Z55" at the instant: 05, the calculated key value " A6E3 "at the instant: 10 and the calculated key value" 9Y95 "at the instant: 12, which is at that time at the location indicated by 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. Once the calculated key values and the corresponding hourly data have been generated, the DVR determines that the calculated key values match the sequence data of calculated key values found in table 606. According to one example, the DVR can positively match the calculated key values with the sequence data of calculated key values comparing not only the calculated key values themselves, but also the time lags for each calculated key value.

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. After determining a match, the DVR now knows where it is located within the program. Specifically, the DVR determines that the cursor 604 is located 12 seconds after the start of the specified start of the program according to the sequence data of calculated key values. Next, the DVR examines the metadata information found in Table 608 to determine the appropriate action to be taken in response to the sequence data of calculated key values. According to one embodiment, table 608 indicates that EVENT 1 takes place at the instant: 1 O. By examining the current location of cursor 604, DVR 102 can calculate that EVENT 1 takes place: 02 seconds before the current cursor location . If EVENT 1 was defined to be showing an icon to the user for 10 seconds, DVR 102 can immediately display the icon for eight seconds, since it knows that it has already passed the beginning of EVENT 1 in two seconds. If the program being played is a recording or the user is playing a live broadcast but its playback location lags behind the broadcast itself, the DVR 102 can scan ahead of the current playback location and calculate Key values calculated ahead of the current playback location. This allows DVR 102 to be more precise in performing any action associated with an event.

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 In addition, after inspecting table 608, DVR 102 can determine that EVENT 2 will take place at the instant: 40 of the video program. After examining the current location within the video program, DVR 102 determines that EVENT 2 takes place: 28 seconds after the last key calculated. Since DVR 102 can determine the precise location of EVENTS 1 and 2 within the multimedia content stream, DVR 102 can be programmed to react to those events in any way. For example, according to one example, DVR 102 may be instructed to display an icon to a user during EVENT 2. In another example, DVR 102 may be programmed to start recording the flow of multimedia content in the EVENT

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. 2. In this way, the information that identifies any EVENT 1 or 2 can be used to identify a differentiated event within the video program 600. In addition, in other embodiments, table 608 may define other events or other actions that a DVR should take after recognition of a sequence of calculated keys. For example, after recognizing the sequence of calculated keys 3D59, 2Z55, A6E3 and 9Y95, table 608 may indicate that the DVR should immediately show the user an interactive icon on a display device.

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". In addition, once DVR 102 recognizes EVENTS 1 AND 2 within the video program, DVR 102 can insert video identifiers into the multimedia content stream at EVENT 1 Y2 locations. According to an example, video identifiers are data objects embedded in a multimedia content stream that contains video and audio data, such as an MPEG-2 stream. After video identifiers are placed in the multimedia content stream, the multimedia content stream is stored for later playback. When played back, the DVR 102 processes the multimedia content stream and encounters the video identifiers in the exact location of EVENTS 1 AND 2. Thus, once video identifiers have been placed in the content stream multimedia, the DVR no longer needs to recognize subtitle data for the deaf to synchronize with the flow of multimedia content, because events or actions have been defined by video identifiers, which are automatically processed along with the video and audio data during playback The video identifiers are presented in greater detail in the US application with serial number 09 / 665.921, entitled "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. Although the above process has been described in relation to DVR 102, the procedure can be performed by any other device capable of performing such steps, such as DVR 104, PC 101A or portable device 101 B.

3.2 Datos de señalización de televisión mejorada 3.2 Enhanced television signaling data

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. Another type of intra-band data that can be used to recognize intra-band data patterns is Enhanced Television (ETV) signaling data. ETV allows the use of interactive applications that are distributed "intra-band" with other video services in a multimedia content stream. To synchronize intra-band applications with video programs, ETV uses instructional signals coordinated with the timing of video programs. More information is available regarding signaling capabilities for intra-band data transmission in the OpenCable Enhanced TV Application Messaging (ETV-AM-102) specification, which specifies signaling capabilities for intra-band data transmission synchronized with the time line of A video service

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 According to one example, multimedia devices with ETV features include an ETV agent to receive and process signals from ETV instructions. ETV instruction signals make multimedia devices discover, download, launch and terminate ETV applications at particular times. Thus, according to one example, a multimedia device can recognize ETV signaling data patterns that define the start

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. or the termination of applications within a multimedia content stream of ETV. This can be implemented using the analysis module 210 to identify and extract the ETV signaling data from the multimedia content stream. In addition, ETV instruction signals may include additional information, such as information describing the content or programming of ETV. In addition, the ETV instruction signals are associated with time data to process the ETV application in due course. Using this time data, a multimedia device can identify a relative position within a multimedia content stream. Therefore, a multimedia device may interpret ETV signaling data to determine that (a) an ETV event is occurring and (b) that the ETV event is synchronized with a particular portion or segment of the video program.

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. Thus, similar to the sequence recognition of key values calculated in the subtitle data for the deaf, the pattern recognition state machine 212 can be used to recognize patterns of signals from ETV instructions and time information. Since ETV applications are already synchronized with the accompanying video program, a multimedia device can synchronize with a multimedia content stream recognizing ETV signaling data patterns. As with the subtitle data for the deaf, once the multimedia device recognizes a pattern, the multimedia device can take similar actions to those described above with respect to the synchronization of actions and events with the subtitle data for the deaf.

4.0 ENFOQUE PARA CREAR Y VER SEGMENTOS MULTIMEDIA PERSONALIZADOS 4.0 FOCUS TO CREATE AND SEE CUSTOM MULTIMEDIA SEGMENTS

4.1 Selección de segmentos de programas multimedia por parte del usuario 4.1 Selection of multimedia program segments by the user

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. According to one embodiment, the video programs in a multimedia content stream are displayed to a DVR user in a display device such as a television screen or a computer monitor. In other embodiments, the video programs may be presented on a display device such as a portable multimedia viewing device. A DVR user can control the playback of the video program using a control interface such as a remote control.

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. A user can mark sections of a multimedia program or place points of interest related to the content within the multimedia program. For example, a user may want to mark the best plays of a recording of a football match. Once the user marks the moves, he can send the resulting sequences of calculated keys to a friend's DVR. In the US application with serial number 10 / 220,558, entitled "System and Method for Internet Access to a Personal Television Service" and in the US application with serial number 10 / 741,596, entitled "Secure Multimedia Transfer System" a procedure is described Data transfer between several DVRs. The friend's DVR can then present the user's points of interest to the friend when the friend reproduces his recorded copy of the match. The friend's DVR presents the points of interest along with the program buffer bar, shown, for example, on your display device.

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. The friend's DVR processes the recorded match beforehand before starting to play the match by calculating calculated key values of the recorded match and comparing the calculated key values with the received sequences of calculated key. This allows the DVR to locate the points of interest in the recorded match and present the points of interest to the friend. The friend can then jump to points of interest using his remote control.

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. DVR users can distribute their own sets of program points of interest to other users. Users can also attach metadata to each point of interest that can make the DVR present text to the viewer; for example, "Isn't this a great action scene?" The user can also attach metadata to a point of interest that tells the DVR to skip x seconds in the program from that point of interest or to present x seconds of the program before jumping to the next point of interest. This allows users to create their own condensed versions of a program that they can distribute to their friends, family, classmates, students, an interest group, 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. In addition, you can instruct a DVR to reorder segments of a multimedia program or a complete stream of content. One purpose to do so is when the broadcaster has encoded segments of the multimedia content stream. Consequently, unauthorized viewers will not be able to clearly see the flow of multimedia content. However, for authorized viewers, the DVR puts the segments in the correct order. In addition, users may wish to reorder segments of the multimedia content stream to create their own customized multimedia programs. Users can then store personalized multimedia programs or distribute personalized multimedia programs to their friends and other DVR users. Custom multimedia programs may include a compilation of segments retrieved from different multimedia content streams, or from segments that have previously been stored in the DVR's storage device.

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. Using the procedure to recognize and synchronize a computer system with intra-band data, as described above, the DVR can perform these functions with ease.

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. For example, when a user wishes to save or indicate the location of a particular content within the video program, the DVR user can press a button on the control interface to indicate it. The control interface sends a signal to the DVR, which interprets the signal as a user selection. The DVR can then determine the time within the program in which the user sent the signal from the control inteñaz and calculate an intra-band data pattern leading to that point.

4.2 Creación de datos de identificación de eventos iniciada por el usuario para programas multimedia 4.2 Creation of user-initiated event identification data for multimedia programs

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 With reference to FIG. 7, a block diagram illustrating a procedure for creating and viewing multimedia segments within a video program according to an embodiment is shown. When a 700A stream of multimedia content containing intra-band data such as subtitle data 702 for the deaf (SS) is being recorded

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. or by playing on a DVR or other device, time information is associated in the form of time stamps associated with intraband data. Specifically, as described above, the flow of multimedia content, including intra-band data, is packaged in differentiated frames of audio, video and data. When packaged, each frame is given a relative time stamp. These timestamps can be used to track the time of intra-band data within the multimedia content stream or video program.

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. When a user views a segment of a video program that he would like to save or that he would like to take note of, the user has the DVR 102 mark the selected segment a location within the video program. According to one embodiment, a graphical user interface is displayed on a display screen that includes a bar 7008 of program buffer and a cursor 708. The cursor indicates the current playback location of the program. When a user wishes to select a location within the video program, the user waits until the cursor has reached the desired location and, using a control interface such as a remote control, selects the desired location. When the user presses a button on the remote control, a signal is sent from the remote control to the DVR, causing the DVR to present the user with a drop-down menu. The drop-down menu may contain options for the user to select in relation to the desired location in the video program. According to one embodiment, the options available to the user include inclusion in favorites, skipping the location, attaching a note or any other action that may be carried out in relation to a video program.

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. According to one embodiment, while the video program is playing, a DVR user selects location 704 using the control interface. When the DVR receives the signal from the control interface, it recognizes that a user selection has occurred and records the location of the selection, which occurs in the instant: 10. At this point, the DVR creates event identification data. As described above, event identification data may contain intra-band data patterns or sequences, as well as metadata to identify actions or events within the multimedia content stream.

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. Again, one type of intra-band data is subtitle data for the deaf. According to one embodiment, to create event identification data, the DVR searches for sufficient subtitle data for the deaf before location 704 to create a unique sequence of calculated key values. Table 710 represents sequence data of calculated key values of video segment 700. Sequence data of calculated key values may indicate the calculated key value, the time of the calculated key value and a time lag for each calculated key value. According to one embodiment, the time lag indicates the difference between time between the generation of the calculated key value and the previous key value calculated in the video program.

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". Thus, table 710 identifies the calculated key values "W5W4" and "M5M5" that precede location 704. The DVR records the time at which each calculated key value was generated according to the particular subtitle procedure for the deaf used for show the subtitle text for the deaf and the time lag of the calculated key values. Here, the calculated key value "W5W4" occurs in the instant: 06 from the start of the program and is the first key calculated in the sequence with a time offset of zero. The calculated key value "M5M5" occurs at the instant: 08 from the start of the program and is two seconds after the calculated key value "W5W4". When a DVR recognizes the sequence of calculated keys "W5W4, M5M5", the DVR can identify that an action is required prior to the actual reproduction of location 704 and carry out the appropriate action, such as the presentation of an icon. Metadata may indicate that the icon is displayed two seconds after recognition of the sequence of calculated keys "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. In addition, the user can also select a second location 706 that represents the end of a desired portion of a video segment that occurs instantly: 20. According to one embodiment, the DVR analyzes the SS data between the instants: 10 and: 20, generates three calculated key values "Z1B1, E5Y5 and A2R2" It records the time at which each calculated key value was generated. Hence, in this particular example, the calculated key value "Z1 B1" occurs first (here, at the instant: 12), that the calculated key value "E5Y5" occurs two seconds later and that the calculated key value "A2R2" occurs four seconds after "E5Y5". Collectively, the calculated key values "Z1 B1, E5Y5 YA2R2" represent the sequence of keys calculated for the second location 706. The metadata associated with the program will indicate this.

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. Thus, in table 710, the calculated key value "Z1B1" occurs at the instant zero, since it is the first key calculated in the sequence, the calculated key "E5Y5" occurs two seconds after the calculated key value "Z1B1" and the calculated key value "A2R2" occurs four seconds after the calculated key value "E5Y5". Alternatively, the time lag can be relative to any portion of the video program, of the multimedia content stream, of the location in the program or video stream or of the video segment.

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. When a DVR reproduces the 700B stream of multimedia content using table 710 as sequence data of calculated key values for its state machine, it analyzes the SS data 702 and generates calculated key values. Once the DVR recognizes the calculated key value "A2R2" according to the procedure described above to recognize calculated key sequences, the DVR can immediately carry out an action, such as causing the presentation of an icon in a display screen connected to the DVR. In this case, when the DVR recognizes the calculated key sequences found in Table 710, the DVR can determine the exact start and end times of the video segment between locations 704 and 706. Given this information, the metadata associated with the Sequence data of calculated key values can instruct the DVR to skip the program segment between locations 704 and 706 or can instruct the DVR, for example, to store the program segment between location 704 and 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. The DVR can recognize video segments relative to any multimedia content stream using the time stamps in the sequence data of calculated key values. Hence, even if a video program was broadcast or played at two different times in different locations, the same video segments could be recognized using the time stamps associated with the calculated key values. More specifically, time stamps are related to the generation of calculated key values and not to a local DVR time or a broadcast time. Therefore, assuming that most of the programming is identical when played in different locations or at different times, the video segments can be recognized with great precision using the timestamps of the calculated key values. Note that although the above discussion focuses on subtitle data for the deaf, the invention is not limited to such an embodiment and that a DVR can create event identification data using any type of intra-band data, such as ETV signaling data.

4.3 Creación de un contenido identificado de programas multimedia 4.3 Creating an identified content of multimedia programs

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. After recognizing events or segments within a video program, the DVR 102 can generate identifiers to correspond to the segment or events and insert those identifiers into the multimedia content stream in the appropriate locations. Each identifier may contain instruction and control information that a device that processes the identifier translates and with which it acts. For example, according to one embodiment, if a user wishes to skip all content between locations 704 and 706, after recognizing the sequence of calculated keys associated with the video segment, the DVR can simply create an identifier at location 704, causing the DVR automatically jumps 10 seconds to location 706, thereby skipping the video segment.

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. In addition, the identifier data is processed as part of the multimedia content stream and, therefore, is automatically synchronized with the video program playback. With the identifier data, a device that receives the flow of multimedia content can automatically jump to the selected location. Alternatively, the identifier may include information that identifies the content related to the location within the video program. For example, an identifier corresponding to the location 704 in the multimedia content stream 700A may include information that identifies the location as a break within a sports program. In addition, location 706 may be the end of the transmission. Thus, a DVR can present a user interface for a user to indicate that the rest within the sports program takes place at location 704 or at the instant: 10 and that it ends at location 706 or at the instant: 20. Using this information, the user can make the DVR jump behind location 704 or proceed directly to location 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. In addition, while identifiers are inserted into the multimedia content stream to correspond to particular events or segments, the DVR 102 can remove intra-band data from the multimedia content stream. For example, according to one embodiment, the multimedia content stream is an MPEG2 transport stream that includes separate audio, video and data inputs. The original intra-band data is located in the data portion of the multimedia content stream. When an identifier is generated, the identifier is inserted into the data portion of the multimedia stream. In addition, once the intraband data has been deleted, the PC 101, for example, can transfer the multimedia content stream to the portable device 101 B. Since identifiers are placed in the multimedia content stream and the stream has been removed of subtitles for the deaf, it is not necessary for the portable device 101 B to display subtitle data for the deaf. Instead, identifiers within the multimedia content stream are automatically processed in synchronization with the multimedia content stream while the multimedia content stream is being displayed to a user. Additional details on the generation and insertion of identifiers in a multimedia content stream are presented in US application No. 09 / 665,921, entitled "Closed Caption Tagging System", owned by the Applicant.

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. In another embodiment, a multimedia device, such as DVR 102 or PC 101, can simply provide the portable device 101 B with a list of locations of interest. Thus, instead of inserting identifiers in the multimedia content stream, the content stream remains untouched and the portable device 101 B can identify events within a video program using the list of locations of interest. The list of locations of interest can be provided separately from the flow of multimedia content to the portable device101B. According to one embodiment, the list of locations of interest includes hourly data that identifies the relative time at which an event occurs. In addition, the list of locations of interest may also include additional data, such as data describing each event. The portable device 101 B may decide to use the data from the list of locations of interest in any appropriate manner.

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. According to one embodiment, the list of locations of interest is generated by a multimedia device in response to user intervention. For example, a user can select one or more locations within a video program using a control interface. The multimedia device receives signals from the control interface and determines where the selected locations are within the video program. The multimedia device can make such determination by examining the time data associated with the flow of multimedia content. The multimedia device then stores the data that identifies each selected location with its associated time data in the list of locations of interest and provides the list to the portable device 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. In addition, in another embodiment, a multimedia device may generate a list of locations of interest after recognizing events or segments within a video program using intra-band data patterns. For example, a multimedia device may process a complete stream of multimedia content before providing it to a portable device 101 B. When the multimedia device recognizes an intra-band data pattern, it examines the metadata associated with the intra-band data pattern and identifies events within a video program, including the hourly data associated with each event. Using the time data, the multimedia device generates a list of locations of interest that lists each event and the time at which the event takes place with respect to the video program or the flow of multimedia content. The list of locations of interest is then provided to the portable device101B, which can use the list to identify the locations within the video program.

4.4 Compartición de datos de identificación de eventos para programas multimedia 4.4 Sharing of event identification data for multimedia programs

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. As noted above, users of a DVR can transfer event identification data from their DVR to other DVRs. This can be achieved through a direct transfer via a network or Internet to another DVR. Once a DVR receives event identification data, the DVR user can be notified that a custom program index has been received and can also be notified of the program with which it is related. The user can then choose to play the program using the index.

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. In addition, a DVR service can act as a distribution point for event identification data. Event identification data associated with a program can be uploaded to server 106A from the DVR. When the server 106A receives the event identification data from the DVR, it stores the event identification data on a local storage database device. The server 106A can provide event identification data created in multiple DVRs for download via the network 105. When another DVR 104 wants to retrieve event identification data associated with a particular program, the server 106A sends the identification data of events to DVR 104 via network 105. Therefore, a system is enabled to create and view custom video segments.

5.0 MECANISMOS DE IMPLEMENTACiÓN 5.0 IMPLEMENTATION MECHANISMS

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. Figure 8 is a block diagram illustrating a computer system 800 in which an embodiment of the invention can be implemented. The ordering system 800 includes an 802 bus or other communication mechanism for communicating information, and a processor 804 coupled with the 802 bus for information processing. System 800 also includes a main memory 806, such as a random access memory (RAM) or other dynamic storage device, coupled to the 802 bus to store information and instructions to be executed by the processor 804. The main memory 806 can also be used to store temporary variables or other intermediate information during the execution of instructions to be executed by the processor 804. The computer system 800 also includes a read-only memory 808 (ROM) or other static storage device coupled to the 802 bus for storing static information and instructions for the processor 804. A storage device 810, such as a magnetic disk or an optical disk, is provided and is coupled to the 802 bus to store information and instructions.

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. The computer system 800 may be coupled, via the 802 bus, to a display device 812, such as a cathode ray tube (CRT), to display information to a user of the computer. An input device 814, which includes alphanumeric and other keys, is coupled to the 802 bus to communicate information and instruction selections to the processor 804. Another type of user input device is the cursor control 816, such as a mouse. , a control ball or cursor direction keys for communicating address information and instruction selections to the processor 804 and for controlling the movement of the cursor on the display device 812. Typically, this input device has two degrees of freedom on two axes, a first axis (for example, x) and a second axis (for example, y), which allows the device to specify positions on a plane.

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. The invention relates to the use of a computer system 800 to implement the techniques described herein. According to an embodiment of the invention, these techniques are performed by the computer system 800 in response to the processor 804 executing one or more sequences of one or more instructions contained in the main memory 806. Such instructions can be read to the main memory 806 from another machine-readable medium, such as storage device 810. Execution of instruction sequences contained in main memory 806 causes processor 804 to carry out the process steps described herein. In alternative embodiments, a wired circuitry may be used instead of or in combination with software instructions to implement the invention. Thus, the embodiments of the invention are not limited to any specific combination of hardware and software circuitry.

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 As used herein, the term "machine-readable medium" refers to any medium that participates in providing data that causes a machine to operate in a specific manner. In an embodiment implemented using computer system 800, various machine-readable means are involved, for example to provide instructions to processor 804 for execution. Such a medium can take many forms, including, without limitation, non-volatile media, volatile media and transmission media. Non-volatile media includes, for example, optical or magnetic discs, such as the storage device 810. Volatile media includes dynamic memory, such as main memory 806. Transmission media includes coaxial cables, copper wire and optical fiber, including the wires that comprise the 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. 802. The transmission media may also take the form of acoustic or light waves, such as those generated during data communications by radio or infrared waves. All such media must be tangible to allow the instructions carried by the media to be detected by a physical mechanism that reads the instructions by entering them into a machine.

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. Common forms of machine-readable media include, for example, a floppy disk, a flexible disk, a hard disk, a magnetic tape or any other magnetic media, a CD-ROM, any other optical media, punch cards, paper tape, any other physical medium with hole patterns, a RAM, a PROM, an EPROM, a FLASH-EPROM, any other chip or memory cartridge, a carrier wave, as will be described later in this document, or any other means of which it may read a computer

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. Various forms of machine-readable media may be involved in carrying one or more sequences of one or more instructions to the processor 804 for execution. For example, the instructions may initially be ported on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions via a telephone line using a modem. A local modem of a computer system 800 can receive the data over the telephone line and use an infrared transmitter to convert the data into an infrared signal. An infrared detector can receive the data carried on the infrared signal and an appropriate circuitry can put the data on the 802 bus. The 802 bus carries the data to main memory 806, from which processor 804 retrieves it and executes the instructions. The instructions received by main memory 806 can optionally be stored in the storage device 810, either before or after execution by the processor 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. The computer system 800 also includes a communications interface 818 coupled to the 802 bus. The communications interface 818 provides a two-way data communications link to a network link 820 that is connected to a local network 822. For example, the interface 818 communications can be an integrated services digital network (ISDN) card or a modem to provide a data communications connection with a corresponding type of telephone line. As a further example, the communications interface 818 may be a local area network (LAN) card to provide a data communications connection with a compatible LAN. Wireless links can also be implemented. In any such implementation, the communications interface 818 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.

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. Normally, network link 820 provides data communication, through one or more networks, with other data devices. For example, the network link 820 may provide a connection through the local network 822 with a central computer 820 or with data equipment operated by an Internet service provider 826 (ISP). In turn, ISP 826 provides data communications services through the global data packet communications network now commonly referred to as "Internet" 828. Local network 822 and Internet 828 use both electrical, electromagnetic or optical signals that they carry digital data streams The signals through the various networks and the signals on the network link 820 and through the communications interface 818, which carry the digital data to and from the computer system 800, are exemplary forms of carrier waves that carry information.

El sistema 800 de ordenador puede enviar mensajes y recibir datos, incluyendo código de programas, a través de la The computer system 800 can send messages and receive data, including program code, through the

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. or networks, network link 820 and communication interface 818. In the Internet example, a server 830 could transmit a requested code for an application program through Intemet 828, ISP 826, local network 822 and communications interface 818.

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. The received code can be executed by the processor 804 when it is received, and / or stored in the storage device 810 or other non-volatile storage for later execution. In this way, the computer system 800 can obtain application code in the form of a carrier wave.

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. In the foregoing specification, embodiments of the present invention have been described with reference to numerous specific details that may vary from one implementation to another. Thus, the only and exclusive indicator of what the invention is, and what the Applicant intends to be the invention, is the set of claims that this application discloses, in the specific way in which such claims are disclosed to know, including any subsequent correction. Any definition expressly formulated herein of terms contained in such claims will govern the meaning of such terms as used in the claims. Therefore, no limitation, any element, property, characteristic, advantage or attribute that is not expressly listed in a claim should limit the scope of such claim in any way. Memory and drawings must, therefore, be considered in an illustrative, non-restrictive sense.

Claims (17)

REIVINDICACIONES 1. Un procedimiento llevado a cabo por un dispositivo multimedia, comprendiendo el procedimiento: 1. A procedure carried out by a multimedia device, the procedure comprising: 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; receiving a stream (700A) of content in the multimedia device, in which the stream (700A) of content comprises a video stream, an audio stream and an intraband data stream; 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, while a video stream is presented to a user, in response to receiving a user indication of selecting a location (704, 706) within the content stream (700A), 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), identify a sequence of a plurality of calculated key values (701) generated from a portion of the intraband data flow that precede the selected location (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 determine, for each calculated key value of the sequence, one or more hourly values that reflect a time at which the calculated key value was generated, and 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. storing, in a storage device, the sequence of key values (701) calculated in association with the determined hourly values and metadata that specify an action to be carried out after recognition of the sequence of key values (701) calculated in an intra-band data stream of a content stream (700A).
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). The method of Claim 1 wherein the intraband data flow received in the multimedia device comprises data (702) of subtitles for the deaf (SS).
3. 3.
El procedimiento de la Reivindicación 1 que, además, comprende: The method of Claim 1, further comprising:
mientras se presenta a un usuario el flujo de vídeo, while a video stream is presented to a user, 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 before receiving the indication, display on a display screen operatively coupled to the multimedia device a graphical user interface comprising a bar (7008) of program buffer and a slider (708), indicating the slider (708 ) a current playback location of the content stream (700A), and 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. in response to the reception of the indication, present a menu on the display screen through which the user can specify the action.
4. Four.
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). The method of Claim 1 wherein the intraband data flow received in the multimedia device comprises Enhanced Television (ETV) signaling data.
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. The method of Claim 1 wherein the determination includes determining two hourly values for each key value calculated in the sequence, one of the two hourly values reflecting a time offset from a given hourly value for a first key value calculated. of the sequence.
6. 6.
El procedimiento de la Reivindicación 1 que, además, comprende: The method of Claim 1, further comprising:
mientras se presenta a un usuario el flujo de vídeo, while a video stream is presented to a user, 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, in response to receiving a second user indication of selecting a second location (704, 706) within the content stream (700A), 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 identify a second sequence of a plurality of calculated key values (701) generated from a second portion of the intraband data flow that precede the second selected location (704, 706), AND almacenar, en el dispositivo de almacenamiento, la segunda secuencia de valores (701) de clave calculada en asociación con los metadatos. storing, in the storage device, the second sequence of key values (701) calculated in association with the metadata.
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. The method of Claim 6 wherein the metadata indicates that a program segment of a recognized content stream (700A) should be skipped based on the sequence of calculated key values (701) and the second sequence of values (701) of calculated key.
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. The method of Claim 6 wherein the metadata indicates that a program segment of a recognized content stream (700A) should be stored based on the sequence of calculated key values (701) and the second sequence of values (701) of calculated key.
9. 9.
El procedimiento de la Reivindicación 6 que, además, comprende: The method of Claim 6, further comprising:
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 determine, for each key value calculated in the second sequence, one or more hourly values that reflect a time at which the corresponding key value calculated in the second sequence was generated, and 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. storing, in the storage device, the second sequence of key values (701) calculated in association with the second determined hourly values.
10. 10.
El procedimiento de la Reivindicación 1 en el que el flujo (700A) de contenidos es un flujo de transporte MPEG-2. The method of Claim 1 wherein the content stream (700A) is an MPEG-2 transport stream.
11. eleven.
El procedimiento de la Reivindicación 1 que, además, comprende: The method of Claim 1, further comprising:
5 copiar la secuencia de valores (701) de clave calculada y los metadatos por una red de datos a otro dispositivo multimedia. 5 copy the sequence of values (701) of the calculated key and the metadata through a data network to another multimedia device.
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. The method of Claim 1, further comprising: loading the sequence of calculated key values (701) and metadata through a data network on a server.
13. 13.
El procedimiento de la Reivindicación 1 en el que los metadatos indican texto y/o un icono que deben The method of Claim 1 wherein the metadata indicates text and / or an icon that must
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. 10 occur after recognition of the sequence of key values (701) calculated in an intra-band data stream of a content stream (700A).
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. 14. The method of Claim 1 wherein the indication is provided by the user by means of a remote control device. 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. 15. The method of Claim 1 wherein the metadata indicates one hour after which the sequence of key values (701) calculated to perform the action is recognized.
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. An apparatus for creating and displaying personalized multimedia streams, the apparatus being adapted to carry out the procedure of any one of Claims 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 A computer readable storage medium that contains one or more sequences of instructions for creating and displaying personalized multimedia streams, instructions that, when executed by one or more
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. 20 processors (804), make the one or more processors (804) carry out the process steps of any one of Claims 1-15. FIG.l FIG. L .t.om.t.om 106A 106A SERVIDOR SERVER PROVEEDOR DE PROVIDER 1\) one\) O> Or> 101A ORDENADOR PERSONAL (PC) 101A COMPUTER STAFF (PC) .llUEl DISPOSITIVO PORTÁTil.llUEl PORTABLE DEVICE 1M..DVR 1M..DVR ~DVR ~ DVR
202AMÓDULO DE ENTRADA 202 INPUT MODULE
202B MÓDULO DE SALIDA 202B OUTPUT MODULE
FIG.2 FIG. 2 204 MÓDULO GRABADOR 204 MODULE TAPE RECORDER ~ ~ MODULO DE ANÁLISIS ANALYSIS MODULE 209 MÓDULO TEMPORIZADOR 206 INTERFAZ DE COMUNICACIONES 209 TIMER MODULE 206 COMMUNICATIONS INTERFACE 214 ALMACENAMIENTO 214 STORAGE 212 MÁQUINAS DE ESTADO DE RECONOCIMIENTO DE PATRONES 212 PATTERN RECOGNITION STATE MACHINES FIG.3A FIG. 3A 302 RECIBIR PROGRAMA DE VíDEO DEL PROVEEDOR DE CONTENIDOS 302 RECEIVE VIDEO PROGRAM FROM THE CONTENT PROVIDER 304 CONVERTIR LOS DATOS DE SUBTíTULOS PARA SORDOS ASOCIADOS CON EL PROGRAMA DE VíDEO EN VALORES DE CLAVE CALCULADA 304 CONVERT SUBTITLE DATA FOR DEAFTS ASSOCIATED WITH THE VIDEO PROGRAM IN CALCULATED KEY VALUES ~ ~ 306 GENERAR SECUENCIAS DE CLAVE CALCULADA ASOCIADAS CON EL PROGRAMA DE VíDEO 306 GENERATE CALCULATED KEY SEQUENCES ASSOCIATED WITH THE VIDEO PROGRAM , , 308 ENVIAR ALOS DISPOSITIVOS LOS DATOS DE LA SECUENCIA DE LA CLAVE CALCULADA 308 SEND THE DEVICES OF THE CALCULATED KEY SEQUENCE TO THE DEVICES TRAMA 1 Hora =1:00 Texto A FRAME 1 Hour = 1: 00 Text A FIG.3B FIG.3B 31O.B..TRAMA 151 Hora =1:05 Texto B 31O.B..TRAMA 151 Time = 1: 05 Text B TRAMA 301 Hora =1:10 Texto C FRAME 301 Hour = 1: 10 Text C TRAMA 361 Hora =1:12 Texto D PLOT 361 Hour = 1: 12 Text D Tabla .a.2lf Table .a.2lf Tabla ~ Table ~
~alorclave calculada ~ calculated alorclave
Hora Desfase horario Hour Lag time
3059 3059
tOO - tOO -
2Z55 2Z55
1:05 :05 1:05 : 05
ASE3 ASE3
1:10 :05 1:10 : 05
9Y95 9Y95
1:12 :02 1:12 : 02
Secuencia de clave calculada Calculated Key Sequence
Metadatos Metadata
3D59,2Z55, A6E3.9Y95 3D59,2Z55, A6E3.9Y95
EVENTO 1 EVENT 1
A6E3,9Y95. E4E9,9F4U A6E3,9Y95. E4E9,9F4U
ACCiÓN 1 ACCESSION 1
FIG.3C FIG. 3C Dispositivo de visualizaciónDisplay device APARICiÓN SÚBITA Sudden Appearance APARICiÓN ASCENDENTE Dispositivo de visualización ASCENDING APPEARANCE Display device Datos entrantes de SS SS incoming data Trama X Línea 2 de texto Línea 3 de texto Línea 1de textoLínea 4 de texto Plot X Line 2 of text Line 3 of text Line 1 of text Line 4 of text
------
_._---..........•.•......_-------_..----......-......-_ .....---_...-.....-...---_..-......-....----_._ --- .......... •. • ......_ ------- _.. ---- ......-... ...-_ ..... --- _...-.....-... --- _..-......-....----
Línea 3 de texto Línea 4 de texto Line 3 of text Line 4 of text 4 APARICiÓN SOBRE SEGUNDO PLANO 4 APPEARANCE ON SECOND PLANE Dispositivo de visualización Display device Datos entrantes de SS SS incoming data .3.5!lQ .3.5! LQ +++++ xto Línea 3 de texto Línea 2 de te..... +++++ xto Line 3 of text Line 2 of te ..... Línea 4 de texto Line 4 of text FIG.3D FIG.3D 400 404A 400 404A ú) or) N N FIG.4 FIG. 4 402 RECIBIR LOS DATOS DE LA SECUENCIA DE LA CLAVE CALCULADA 402 RECEIVE SEQUENCE DATA OF THE CALCULATED KEY 1404 RECIBIR LA CORRIENTE DE CONTENln 1404 RECEIVE THE CONTAINER CURRENT 406 ANALIZAR LA CORRIENTE DE SS DENTRO DE LA CORRIENTE DE CONTENIDO YGENERAR VALORES DE CLAVE CALCULADA 406 ANALYZE THE SS CURRENT INSIDE OF THE CURRENT OF CONTENT AND GENERATE CALCULATED KEY VALUES 408 COMPARAR LOS VALORES DE CLAVE CALCULADA EN LA CORRIENTE DE SS CON LOS DATOS RECIBIDOS DE LA SECUENCIA DE CLAVE CALCULADA 408 COMPARE CALCULATED KEY VALUES IN THE CURRENT OF SS WITH DATA RECEIVED OF THE CALCULATED KEY SEQUENCE yes ID ID ~INSPECCIONAR LOS METADATOS DE SECUENCIA DE CLAVE CALCULADA ~ INSPECT THE CALCULATED KEY SEQUENCE METADATES FIG.5A FIG.5A MÁQUINA DE ESTADO 500 STATE MACHINE 500 íNDICE 501 • INDEX 501 • w w w w ._ ..,__ ., · ._ .., __., · ~ . ~. :• : • ......... "...... ......... "...... .• '------,.,---_...... '------,., ---_...... FIG.5B FIG.5B 52M 52M 520B520B DATOS DATA METADATOSMETADATA DE SECUENCIA SEQUENCE f F ~ ~
VAlOR ClAVE rJLCWDA KEY VALUE rJLCWDA
HORA DESFASE HORARlq HOUR TIME SCROLL
3059 3059
:00 INICIO : 00 START
2Z55 2Z55
:05 +:05 : 05 +: 05
A6E3 A6E3
:10 +:05 : 10 +: 05
9r95 9r95
:12 +:02 : 12 +: 02
FIG.6 FIG. 6 16OI_~ 13059 2Z55 A6E3 9Y95 16OI_ ~ 13059 2Z55 A6E3 9Y95 ·c.·~·~~___ "·"·1 I I· C. · ~ · ~~ ___ "·" · 1 I I 1 x ~I 1 x ~ I 2:002:00 1:12 1:12 (¡J (J C11 6028 Hora de programal :0 :05 :tu :12 :40 ~.••-p---. ---.--.--.-.-._.---'--" -•.••--.·_···1 C11 6028 Program time: 0: 05: tu: 12: 40 ~. •• -p ---. ---.--.--.-.-._.---'--" -•.••--.·_···one 606 608 606 608 ~ ~ ~ ~ DESDE ÚLTIMA IFROM LAST I EVENTO EVENT HORA HOUR CLAVE CALCULADA CALCULATED KEY
--
:02: 02
:10: 10 EVENTO 1 EVENT 1 +:28+: 28 :40: 40 EVENTO 2 EVENT 2 FIG.7 FIG. 7 ~ 10UA ~ 10UA ¡ 702 DAT~SDE SS ¡702 DAT ~ SDE SS! { 1 !; . { one !; . .\............ "1 .\............ "one do!cJu do! cJu r-~~ :00 'iD : :20r- ~~: 00 'iD:: 20 • t • t •, •, t t t t [ 70 I Vakxes dave cabidal [70 I Vakxes dave cabidal X51A YF11 W5W4 X51A YF11 W5W4 ~ ~ C·;~ÜB··_·C ·; ~ ÜB ·· _ · r--;;;--1 r - ;;; - 1 :00 : 00 ::06 :08 :: 06: 08 ATO .... ••I•• I
---
_ ..~ .._---_.---~--_._ .. ~ .._ --- _.--- ~ --_.
~LAVE CALCUlAD~ HORA ~ WASH CALCULATE ~ TIME DESFASE HORARIO OFFLINE :0: 0 :06: 06 .W5W4 .W5W4 :02: 02 :08: 08 M5M5 M5M5 .. .. MARCABRAND :10 : 10 :0: 0 :12: 12 ZIB! ZIB! :14 : 14 :02: 02 E5Y5 E5Y5 :18 : 18 :04: 04 A2R2 A2R2 .. .. :20 :twenty MARCA BRAND
--------------------------
_1...-.. _one...-..
FIG.8 FIG. 8 DISPOSITIVO . DE VISUALIZACiÓN 1/ DEVICE . DISPLAY 1 / DISPOSITIVO DEVICE DE ENTRADAINPUT w w ..... ..... .a1.4 .a1.4 CONTROL DEL CURSOR CURSOR CONTROL lil6 lil6 1"" one"" V'V ' '\¡ '\ ¡ /.1"1 /.1"1 -----------------------, -----------------------, PROCESADOR .6M .6M PROCESSOR I INTERFAZ DE COMUNICACIONES I COMMUNICATIONS INTERFACE L-____1llB._ 1ill.C!: L -____ 1llB._ 1ill.C !: ORDENADOR CENTRAL COMPUTER CENTRAL .82! .82!
ES06785534T 2006-06-22 2006-06-23 Procedure and device for creating and viewing custom multimedia segments Active ES2399625T3 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US473990 2006-06-22
US11/473,990 US7873982B2 (en) 2006-06-22 2006-06-22 Method and apparatus for creating and viewing customized multimedia segments
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 (en) 2013-04-02

Family

ID=38833883

Family Applications (2)

Application Number Title Priority Date Filing Date
ES12188696.4T Active ES2523135T3 (en) 2006-06-22 2006-06-23 Procedure and device for displaying personalized multimedia segments
ES06785534T Active ES2399625T3 (en) 2006-06-22 2006-06-23 Procedure and device for creating and viewing custom multimedia segments

Family Applications Before (1)

Application Number Title Priority Date Filing Date
ES12188696.4T Active ES2523135T3 (en) 2006-06-22 2006-06-23 Procedure and device for displaying personalized multimedia segments

Country Status (10)

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

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60045248D1 (en) 1999-09-20 2010-12-30 Tivo Inc CAPTION labeling
WO2001047273A1 (en) * 1999-12-21 2001-06-28 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
CN101077006A (en) 2004-11-19 2007-11-21 Tivo股份有限公司 Method and apparatus for secure transfer and playback of multimedia content
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
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
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
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 (en) * 2009-07-14 2011-02-03 Sony Corp Image processing apparatus and method
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 (en) * 2010-01-07 2016-05-04 新奥特(北京)视频技术有限公司 Servo-actuated associated implementation method and the device broadcasting in a kind of picture and text packaging applications
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
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
US9357159B2 (en) 2011-08-23 2016-05-31 Echostar Technologies L.L.C. Grouping and presenting 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 (en) * 2012-04-02 2015-03-01 Ind Tech Res Inst Digital content reordering method and digital content aggregator
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 (en) * 2012-08-15 2014-02-19 腾讯科技(深圳)有限公司 Method and system for acquiring multimedia interest point, method and device for multimedia playing
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 (en) * 2013-06-20 2017-08-11 深圳市快播科技有限公司 The method and apparatus of the media attributes of marking video
US10623821B2 (en) 2013-09-10 2020-04-14 Tivo Solutions Inc. Method and apparatus for creating and sharing customized multimedia segments
CN103491450A (en) * 2013-09-25 2014-01-01 深圳市金立通信设备有限公司 Setting method of playback fragment of media stream and terminal
CN106717012B (en) 2014-05-06 2022-07-12 TiVo解决方案有限公司 Cloud-based media content management method, computer-readable storage medium, and apparatus
US9600487B1 (en) * 2014-06-30 2017-03-21 EMC IP Holding Company LLC Self healing and restartable multi-steam data backup
US10616329B2 (en) * 2014-08-13 2020-04-07 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 (en) * 2014-12-12 2016-07-06 中兴通讯股份有限公司 Product packet output method and device
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 (en) * 2015-04-29 2015-07-15 无锡天脉聚源传媒科技有限公司 Video dotting and playing method and device
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 (en) * 2016-01-22 2017-06-05 네이버 주식회사 Streaming apparatus and method thereof, streaming service system using the streaming apparatus and computer readable recording medium
US10999620B2 (en) 2016-01-26 2021-05-04 Julio FERRER System and method for real-time synchronization of media content via multiple devices and speaker systems
CN105979350B (en) * 2016-05-05 2019-03-08 联发科技(新加坡)私人有限公司 A kind of method and related device of play position that searching for played file
CN109478192B (en) * 2016-06-02 2023-08-29 柯达阿拉里斯股份有限公司 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 (en) * 2017-11-22 2020-10-16 国政通科技股份有限公司 Method and device for generating and playing monitoring video file and terminal equipment
US10740306B1 (en) * 2017-12-04 2020-08-11 Amazon Technologies, Inc. Large object partitioning system
CN108230791A (en) * 2017-12-26 2018-06-29 长沙市慧而乐科技有限公司 A kind of smart tags method in interactive teaching
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
US12093316B2 (en) 2019-01-31 2024-09-17 Hewlett Packard Enterprise Development Lp Partial file system instances
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 (en) * 2020-01-08 2023-07-14 腾讯科技(深圳)有限公司 Resource synthesis method, device, equipment and storage medium
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 (en) * 2020-07-24 2020-10-30 上海盛付通电子支付服务有限公司 Method and device for shielding video clip
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
DE3856057T2 (en) * 1987-07-20 1998-10-29 Philips Electronics Nv Television transmission system
US4930158A (en) * 1987-09-02 1990-05-29 Vogel Peter S Selective video playing system
US4807031A (en) 1987-10-20 1989-02-21 Interactive Systems, Incorporated Interactive video method and apparatus
US5121476A (en) 1988-02-22 1992-06-09 Yee Keen Y TV data capture device
US4945412A (en) 1988-06-14 1990-07-31 Kramer Robert A Method of and system for identification and verification of broadcasting television and radio program segments
JPH0822688B2 (en) 1989-07-05 1996-03-06 ニッカ電測株式会社 Granular material transport and inspection equipment
JPH03106285A (en) 1989-09-20 1991-05-02 Nippon Telegr & Teleph Corp <Ntt> Television broadcasting system, television receiver and video recorder
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 (en) * 1992-10-15 1995-03-31 General Electric Cgr Rotating anode for composite X-ray tube.
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 (en) * 1993-07-23 2003-01-27 ソニー株式会社 Broadcast receiver
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 (en) 1994-01-25 2002-04-22 ソニー株式会社 Broadcast receiver
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 (en) 1995-12-13 1997-06-20 Toshiba Corp Multiplex broadcasting system and broadcasting transmission device/broadcasting reception device used in the same
CA2247395A1 (en) 1996-02-26 1997-08-28 E Guide, Inc. Cordless phone back link for interactive television system
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
DE69729826T2 (en) 1996-05-30 2004-11-25 Matsushita Electric Industrial Co., Ltd., Kadoma Device for transmitting data, method and device for receiving data 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
US20020120925A1 (en) * 2000-03-28 2002-08-29 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
US20030093790A1 (en) * 2000-03-28 2003-05-15 Logan James D. Audio and video program recording, editing and playback systems using metadata
US7055166B1 (en) 1996-10-03 2006-05-30 Gotuit Media Corp. Apparatus and methods for broadcast monitoring
AU726960B2 (en) 1996-10-16 2000-11-30 Rovi Guides, Inc. 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 (en) 1996-12-13 1998-06-26 Toshiba Corp Two-way tv broadcast system and file access method applied to the system
JP3575205B2 (en) 1996-12-13 2004-10-13 ソニー株式会社 Remote commander and network connection system
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 (en) 1997-02-28 1998-09-11 Toshiba Corp Television receiver
US6211919B1 (en) 1997-03-28 2001-04-03 Tektronix, Inc. Transparent embedment of data in a video signal
WO1998048566A2 (en) 1997-04-21 1998-10-29 Gemstar Development Corporation Tv vbi encoded url with video storage
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 (en) 1997-09-12 1999-12-03 Nortel Matra Cellular PROVISIONAL ESTIMATE OF THE INTERFERENCE SIGNAL RATIO IN A CELLULAR RADIOCOMMUNICATION NETWORK
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
EP1389013A1 (en) * 1997-12-26 2004-02-11 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
US20010042246A1 (en) * 1999-08-04 2001-11-15 Henry C. Yuen Home entertainment system and method of its operation
BR9907744A (en) 1998-01-23 2001-09-04 Index Systems Inc 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
US6850691B1 (en) 1999-03-30 2005-02-01 Tivo, Inc. Automatic playback overshoot correction system
WO2000062533A1 (en) * 1999-03-30 2000-10-19 Tivo, Inc. Television viewer interface system
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
EP1534004B1 (en) 1999-08-26 2016-05-25 Sony Europe Limited Television display device and method of operating a television system
DE60045248D1 (en) 1999-09-20 2010-12-30 Tivo Inc CAPTION labeling
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
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
KR20020067593A (en) * 2000-02-04 2002-08-22 인텔 코오퍼레이션 Displaying enhanced content information on a remote control unit
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 (en) * 2000-06-02 2001-12-06 Rohde & Schwarz Method for determining average long-time power of digitally modulated input signal, generates data sequence in input signal and reference signal by modulation with this data sequence at a preset level control in modulator
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
US7103908B2 (en) * 2000-07-25 2006-09-05 Diego, Inc. Method and system to save context for deferred transaction via interactive television
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
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
WO2002102052A2 (en) * 2001-02-07 2002-12-19 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
CN1628302A (en) * 2002-02-05 2005-06-15 皇家飞利浦电子股份有限公司 Efficient storage of fingerprints
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
WO2005006768A1 (en) * 2003-06-20 2005-01-20 Nielsen Media Research, Inc Signature-based program identification apparatus and methods for use with digital broadcast systems
US20050044561A1 (en) * 2003-08-20 2005-02-24 Gotuit Audio, Inc. Methods and apparatus for identifying program segments by detecting duplicate signal patterns
JP2007504495A (en) * 2003-08-26 2007-03-01 クリアプレイ,インク. Method and apparatus for controlling the performance of an acoustic signal
JP4933899B2 (en) 2004-02-19 2012-05-16 ランドマーク、ディジタル、サーヴィセズ、エルエルシー Method and apparatus for broadcast source identification
US20050226601A1 (en) 2004-04-08 2005-10-13 Alon Cohen Device, system and method for synchronizing an effect to a media presentation
JP4257269B2 (en) * 2004-07-13 2009-04-22 日本電気株式会社 Metadata transmission device and metadata reception device
JP4576936B2 (en) * 2004-09-02 2010-11-10 ソニー株式会社 Information processing apparatus, information recording medium, content management system, data processing method, and computer program
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
CN101077006A (en) 2004-11-19 2007-11-21 Tivo股份有限公司 Method and apparatus for secure transfer and playback of multimedia content
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 (en) 2006-10-31 2013-08-28 Tivo有限公司 Method and apparatus for downloading ancillary program data to 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
JP2009542088A (en) 2009-11-26
EP2549771B1 (en) 2014-08-20
US20160007099A1 (en) 2016-01-07
CA2653308A1 (en) 2007-12-27
US20110110646A1 (en) 2011-05-12
AU2006344734B2 (en) 2011-03-24
JP2012135023A (en) 2012-07-12
HK1129019A1 (en) 2009-11-13
ES2523135T3 (en) 2014-11-21
JP5715078B2 (en) 2015-05-07
EP2036344A2 (en) 2009-03-18
EP2036344A4 (en) 2010-11-24
CN101473649A (en) 2009-07-01
US7873982B2 (en) 2011-01-18
CN103209339B (en) 2016-12-28
US9106949B2 (en) 2015-08-11
AU2006344734C1 (en) 2014-10-02
PT2549771E (en) 2014-11-24
US20070300250A1 (en) 2007-12-27
EP2036344B1 (en) 2012-11-28
CN103209339A (en) 2013-07-17
WO2007149099A2 (en) 2007-12-27
JP5001362B2 (en) 2012-08-15
WO2007149099A3 (en) 2008-12-24
CN101473649B (en) 2013-05-01
EP2549771A1 (en) 2013-01-23
PT2036344E (en) 2013-03-11
AU2006344734A1 (en) 2007-12-27
CA2653308C (en) 2013-12-31

Similar Documents

Publication Publication Date Title
ES2399625T3 (en) Procedure and device for creating and viewing custom multimedia segments
ES2381760T3 (en) Synchronization of multimedia content with events based on the recognition of sequences of calculated key values.