PT2036343E - Sincronização de conteúdo multimédia com eventos baseados no reconhecimento de sequências de valores hash - Google Patents

Sincronização de conteúdo multimédia com eventos baseados no reconhecimento de sequências de valores hash Download PDF

Info

Publication number
PT2036343E
PT2036343E PT06773937T PT06773937T PT2036343E PT 2036343 E PT2036343 E PT 2036343E PT 06773937 T PT06773937 T PT 06773937T PT 06773937 T PT06773937 T PT 06773937T PT 2036343 E PT2036343 E PT 2036343E
Authority
PT
Portugal
Prior art keywords
data
stream
dvr
multimedia content
multimedia
Prior art date
Application number
PT06773937T
Other languages
English (en)
Inventor
Kevin P Smith
Paul Stevens
Adam Feder
James Barton
Original Assignee
Tivo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=38833884&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=PT2036343(E) "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
Publication of PT2036343E publication Critical patent/PT2036343E/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • H04N21/41265The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/28Arrangements for simultaneous broadcast of plural pieces of information
    • H04H20/30Arrangements for simultaneous broadcast of plural pieces of information by a single channel
    • H04H20/31Arrangements for simultaneous broadcast of plural pieces of information by a single channel using in-band signals, e.g. subsonic or cue signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/68Systems specially adapted for using specific information, e.g. geographical or meteorological information
    • H04H60/73Systems specially adapted for using specific information, e.g. geographical or meteorological information using meta-information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4135Peripherals receiving signals from specially adapted client devices external recorder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4314Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for fitting data in a restricted space on the screen, e.g. EPG data in a rectangular grid
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47214End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for content reservation or setting reminders; for requesting event notification, e.g. of sport results or stock market
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/09Arrangements for device control with a direct linkage to broadcast information or to broadcast space-time; Arrangements for control of broadcast-related services
    • H04H60/13Arrangements for device control affected by the broadcast information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/27Arrangements for recording or accumulating broadcast information or broadcast-related information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal

Landscapes

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

Description

Descrição
SINCRONIZAÇÃO DE CONTEÚDO MULTIMEDIA COM EVENTOS BASEADOS NO RECONHECIMENTO DE SEQUÊNCIAS DE VALORES HASH
CAMPO DA INVENÇÃO A presente invenção relaciona-se com o reconhecimento de dados em banda num fluxo de conteúdo multimédia e localização de pontos dentro do fluxo de conteúdo multimédia num dispositivo multimédia.
ANTECEDENTES
As abordagens descritas nesta secção são abordagens que podem ser realizadas, mas não necessariamente abordagens que foram previamente concebidas ou realizadas. Por isso, excepto se de outro modo indicado, não deve ser assumido que nenhuma das abordagens descritas nesta secção se qualifica como técnica anterior apenas por virtude da sua inclusão nesta secção.
Os telespectadores podem gravar programas de TV emitidos usando um gravador de cassetes de vídeo (VCR). Como tal, um utilizador de VCR pode gravar um programa de TV em particular no momento em que é emitido e voltar a reproduzir o programa de TV gravado mais tarde. No sentido de o conseguir, um VCR altera os sinais eléctricos que representam um programa de TV em sinais magnéticos e armazena os sinais magnéticos numa cassete magnética. A cassete magnética é normalmente na forma de uma cassete de vídeo inserida num VCR pelo utilizador do VCR. Quando um utilizador de VCR decide reproduzir novamente o programa de TV, o processo é invertido, e o VCR altera os sinais magnéticos armazenados na cassete de vídeo em sinais eléctricos e envia os sinais eléctricos para uma TV. 1/66
Com o desenvolvimento da tecnologia digital, os VCR têm sido substituídos pelos gravadores de vídeo digitais (DVR). Um DVR grava programas de TV emitidos para reprodução posterior ao alterar os sinais eléctricos do programa de TV numa informação digital e armazenando a informação digital num disco rígido. Quando um utilizador reproduz o programa de TV gravado, o DVR converte a informação digital novamente para sinais analógicos e envia os sinais para a TV que reproduz o programa de TV para o telespectador. Também, com a invenção das TV digitais, o DVR pode receber sinais digitais e analógicos, e envia sinais digitais directamente para uma TV digital que reproduz o programa de TV na forma digital. Muitos fornecedores de conteúdo usam agora cabo digital e tecnologia de satélite para emitir programação digital. A programação digital é recebida por receptores e/ou transmissores-receptores satélite que são usados para reproduzir a programação digital a um utilizador num ecrã. Deste modo, os DVR têm a capacidade de receber sinais de programação digital de receptores ou transmissores-receptores satélite para gravar e reproduzir ao mesmo tempo, assim como estão incorporados em tais dispositivos.
Os DVR tornaram-se cada vez mais populares e amplamente usados para gravar programas de TV. Mais importante, o uso de DVR para gravar programas de TV levou os fornecedores de conteúdo a procurar formas diferentes de apresentar o conteúdo para os utilizadores de DVR e enriquecer a experiência de programas de vídeo. 0 conteúdo de emissão customizado não tem existido nas comunidades de fornecedores de conteúdo e DVR. 0 Pedido de Patente americana N°. 09/665,921, detida pelo Requerente, descreve um método para marcar conteúdo de emissão, usando uma área de legenda oculta. A Patente Americana N° . 6,233,389, detida pelo Requerente, também descreve um método de 2/66 reconhecimento específico de palavras nos dados de legenda oculta. A técnica para reconhecer eventos distintos dentro de um programa de vídeo não modificado, é desejada. 0 documento US 2005/0226601 Al descreve uma técnica para sincronizar um efeito numa apresentação multimédia. Um processador deriva um valor CRC para uma porção de uma ou mais faixas de legenda oculta ou linhas numa gravação. Os valores derivados são carregados numa tabela, tal que os valores derivados são associados a uma entrada de marca temporal na tabela que corresponde ao tempo quando a linha de legenda oculta aparece na gravação. A presente invenção é definida pelas reivindicações independentes. As reivindicações em anexo dizem respeito aos aspectos opcionais de algumas formas de realização da invenção.
BREVE DESCRIÇÃO DOS DESENHOS A presente invenção é ilustrada através de exemplo e não através de limitação, nas figuras dos desenhos em anexo e nas quais os números de referência semelhantes referem-se a elementos semelhantes, e nos quais: A FIG. 1 é um diagrama de blocos que ilustra um sistema de reconhecimento e sincronização de dados em banda de acordo com uma forma de realização; A FIG. 2 é um diagrama de blocos que ilustra uma visão geral dos componentes de um dispositivo de reconhecimento e sincronização de dados em banda de acordo com uma forma de realização; 3/66 A FIG. 3A é um fluxograma que representa um método para gerar dados de sequência de valor hash de acordo com uma forma de realização; A FIG. 3B é um diagrama de blocos que ilustra o método para gerar dados de sequência de valor hash de acordo com uma forma de realização; A FIG. 3C é um diagrama de blocos que ilustra o método para gerar dados de sequência de valor hash usando vários esquemas de legenda oculta de acordo com uma forma de realização; A FIG. 3D é um diagrama de blocos que ilustra um ícone que aparece num ecrã de acordo com uma forma de realização; A FIG. 4 é um fluxograma que representa um método para reconhecimento e sincronização de legenda oculta num dispositivo multimédia de acordo com uma forma de realização; A FIG. 5A é um diagrama de blocos que ilustra uma máquina de estado para corresponder a padrões de dados em banda de acordo com uma forma de realização; A FIG. 5B é um diagrama de blocos que ilustra dados de sequência de valor hash de acordo com uma forma de realização; A FIG. 6 é um diagrama de blocos que ilustra um método para sincronizar com dados em banda de acordo com uma forma de realização; A FIG. 7 é um diagrama de blocos que ilustra um método para criar e visualizar segmentos de multimédia num programa de vídeo de acordo com uma forma de realização; e 4/66 A FIG. 8 é um diagrama de blocos de um sistema, no qual podem ser implementadas as formas de realização da invenção.
DESCRIÇÃO DETALHADA
Na seguinte descrição, para efeitos de explicação, vários detalhes específicos são definidos de modo a fornecer uma compreensão minuciosa da presente invenção. Contudo, tornar-se-á aparente que a presente invenção pode ser praticada sem estes detalhes específicos. Em outros casos, estruturas e dispositivos bem conhecidos são mostrados na forma de diagrama de blocos no sentido de evitar, desnecessariamente, complicar a presente invenção. São aqui descritas formas de realização de acordo com a seguinte estrutura: 1.0 Visão Geral 2.0 Visão Geral Estrutural 3.0 Abordagem para Reconhecer e Sincronizar com Dados Em banda 3.1 Dados de Legenda oculta 3.1.1 Gerar Dados de Sequência de Valor Hash 3.1.2 Metadados de Sequência Hash 3.1.3 Reconhecer Sequências Hash num Dispositivo
Multimédia 3.1.4 Sincronização com Dados de Legenda oculta 3.2 Aumentar Dados de Sinalização de Televisão 4.0 Abordagem para Criar e Visualizar Segmentos Multimédia Personalizados 5/66 4.1 Selecção de Segmentos de Programas Multimédia por Parte do Utilizador 4.2 Criar Dados de Identificação de Eventos Iniciados pelo Utilizador para Programas Multimédia 4.3 Criar Conteúdo Marcado de Programa Multimédia 4.4 Partilhar Dados de Identificação de Evento para Programas Multimédia
5.0 Mecanismos de Implementação 1.0 VISÃO GERAL
As necessidades identificadas nos antecedentes, e outras necessidades e objectos que se tornarão aparentes na seguinte descrição, são conseguidas na presente invenção, que compreende, num aspecto, um sistema de reconhecimento e sincronização de dados em banda.
Como acima mencionado, o uso de DVR para gravar programas de TV levou os fornecedores de conteúdo a procurar formas diferentes de apresentar conteúdo aos utilizadores de DVR e enriquecer a experiência dos programas de video. Por exemplo, os fornecedores de conteúdo que pretendem apresentar conteúdo de marketing e promocional adicional nos programas de vídeo originais podem ter ícones, mensagens ou elementos interactivos particulares que podem ser mostrados ao utilizador em partes particulares do programa de vídeo.
Como descrito no Pedido de Patente americana N°. 11/284,487 com o título "Method and Apparatus for Displaying Branded Video Tags", um DVR pode exibir partes com marcas dos programas de vídeo ao exibir ícones ou conteúdo relacionados durante a emissão do programa de vídeo. Deste modo, se um fornecedor de conteúdo pretender promover um programa de vídeo futuro, um 6/66 ícone interactivo pode ser exibido durante a emissão de um anúncio, mencionando um programa de vídeo futuro. Durante a visualização do anúncio, os telespectadores podem interagir com o ícone usando um controlo remoto para levar o DVR a gravar automaticamente o programa de vídeo futuro publicitado.
No sentido de muitas destas características adicionais funcionarem, um DVR deve sincronizar com o fluxo de conteúdo multimédia no sentido de exibir os dados de conteúdo adicionais na altura certa. Normalmente, o conteúdo adicional é incorporado directamente no fluxo de conteúdo multimédia antes de o conteúdo ser emitido. Desta forma, o DVR processa o conteúdo adicional juntamente com os dados de áudio e vídeo no fluxo de conteúdo multimédia. Ao incorporar directamente o conteúdo no fluxo de conteúdo multimédia, o fornecedor de conteúdo tem a certeza de que os dados adicionais são apresentados ao utilizador precisamente onde o fornecedor de conteúdo solicitou que fosse exibido. Além disso, o fluxo de conteúdo multimédia pode ser incorporado com informação adicional não visível para o utilizador para ajudar o DVR na sincronização. As características acima são descritas com mais pormenor no Pedido de Patente americana N° . 09/665, 921 com o titulo "Closed-Caption Tagging System," e Patente americana N°. 6,215,526 com o título "Analog Video Tagging and Encoding System ".
Uma forma de realização da invenção permite ao DVR e outros dispositivos multimédia sincronizarem com os dados em banda nos fluxos de conteúdo multimédia. Os dados em banda são usados para assinalar dados adicionais no mesmo canal ou "banda", como aquele usado para enviar dados, neste caso, os dados áudio e vídeo. Uma vantagem em usar dados em banda para sincronização é que os dados em banda são normalmente mantidos intactos nos fluxos de conteúdo. Assim, porque são normalmente mantidos 7/66 intactos e inalterados, os dados em banda são uma fonte fiável para sincronizar com um fluxo de conteúdo multimédia.
Exemplos de dados em banda incluem dados de legenda oculta e dados de sinalização de televisão melhorada (Enhanced Television-ETV). Os fluxos de legenda oculta contêm dados de legenda oculta (normalmente dados e texto de comando de legenda oculta), associados aos programas de vídeo tais como anúncios, programas de sitcom, longas-metragens e outros conteúdos multimédia para mostrar a um espectador. Os dados de sinalização ETV definem sinais de comando e controlo para aplicações interactivas gue são sincronizadas com programas de vídeo ETV.
Quando o dispositivo multimédia recebe um fluxo de conteúdo multimédia que contém programas de vídeo e dados em banda, o dispositivo processa os dados em banda. 0 fluxo de conteúdo multimédia pode ser emitido pelo ar, por um fornecedor de conteúdo, ou ser previamente gravado pelo dispositivo multimédia. Durante a gravação ou reprodução dos programas de vídeo, o dispositivo multimédia tenta reconhecer padrões de dados em banda. Os padrões de dados em banda podem ser providos de outro dispositivo ou fornecedor de serviços como dados de identificação de evento. Os dados de identificação de evento identificam padrões de dados em banda que são associados a eventos particulares no fluxo de conteúdo multimédia. Os dados de identificação de evento podem ser armazenados num dispositivo de armazenamento e acedidos ao processar dados em banda. 0 dispositivo multimédia tenta reconhecer padrões de dados em banda ao utilizar um algoritmo correspondente. De acordo com uma forma de realização, o algoritmo correspondente é gerado numa máquina de estado finito. Ao procurar dados em banda no fluxo de conteúdo multimédia, o dispositivo multimédia utiliza 8/66 a máquina de estado para determinar se os dados em banda correspondem a um padrão particular de dados em banda.
De acordo com uma forma de realização, os dados de identificação de evento, que estão armazenados localmente no dispositivo multimédia, também incluem metadados. Os metadados especificam uma ou mais acções a tomar em resposta à identificação do padrão ao pesquisar os dados em banda de um fluxo de conteúdo multimédia. Se ocorrer uma correspondência, o dispositivo multimédia processa os metadados associados ao padrão e desempenha a acção adequada, como especificado nos metadados. Por exemplo, o dispositivo multimédia pode exibir um ícone a um utilizador, num ecrã. Os metadados podem instruir o dispositivo multimédia relativamente a qualquer resposta necessária se um utilizador reagir ao ícone. Além disso, em resposta ao reconhecimento de um padrão de dados em banda, o dispositivo multimédia pode armazenar segmentos de vídeo associados ao padrão no dispositivo de armazenamento. 0 dispositivo multimédia pode também usar os metadados associados ao padrão, reconhecidos para determinar onde um segmento de vídeo começa, termina, ou onde um evento particular ocorre no programa de vídeo. Desta forma, um método para reconhecer e sincronizar os dados em banda é activado.
Noutro aspecto, o que é provido é um método para criar e visualizar segmentos multimédia customizados. Os utilizadores dos dispositivos multimédia são providos com um método pelo qual podem seleccionar eventos ou porções num programa de vídeo para armazenamento ou reprodução. Num primeiro dispositivo multimédia, um utilizador selecciona uma ou mais localizações num programa de vídeo usando uma interface de controlo, tal como um controlo remoto. Um dispositivo multimédia recebe sinais da interface de controlo e determina quais as localizações no programa de vídeo que foram seleccionadas. 0 9/66 dispositivo multimédia calcula então um padrão de dados em banda relativamente à(s) localização (ões) seleccionada(s) e armazena o padrão de dados em banda como dados de identificação de evento na mesma forma como acima descrito.
Os dados de identificação de evento relativamente à(s) localização(ões) seleccionada(s) podem ser providos a outro dispositivo multimédia. Usando os dados de identificação de evento, o outro dispositivo multimédia tenta corresponder os padrões de dados em banda, associados ao programa de video, para reconhecer a(s) localização(ões) no programa de video.
De acordo com uma forma de realização, a(s) localização(ões) seleccionada(s) do programa de video representa(m) um evento ou segmento de video. Além disso, de acordo com outra forma de realização, quando o segmento de video é reconhecido, podem ser colocadas marcações de vídeo nos locais adequados no fluxo de conteúdo multimédia, de modo que um utilizador possa avançar directamente para a localização durante a reprodução do programa de vídeo.
Além disso, em outras formas de realização, uma vez que as marcações de vídeo que representam as localizações seleccionadas do programa de video foram geradas, os dados de legenda oculta podem ser removidos do fluxo de conteúdo, e o fluxo de conteúdo pode ser provido para um dispositivo portátil. 0 dispositivo portátil usa as marcações de video para indicar a localização particular ou segmentos dentro do programa de video. Alternativamente, em vez de colocar marcações de vídeo no fluxo de conteúdo multimédia, uma versão não editada do fluxo de conteúdo pode ser provida ao dispositivo multimédia, juntamente com dados que representam a(s) localização(ões) seleccionada(s). Os dados que representam a(s) localização(ões) seleccionada(s) podem ser providos separadamente do fluxo de conteúdo multimédia. Um 10/66 dispositivo portátil pode usar os dados para identificar localizações interessantes dentro de um programa de vídeo e exibir as localizações para o utilizador. Alternativamente, o dispositivo portátil pode usar os dados que representam a(s) localização(ões) seleccionada(s) de qualquer forma adequada.
Em outros aspectos, a invenção abrange um aparelho e um meio legível por computador.
2.0 VISÃO GERAL ESTRUTURAL
Em toda a presente descrição, um número de termos vão ser usados para referir conceitos em particular, as definições dos quais são aqui providos. Especificamente, "dados em banda" são dados de sinalização enviados para o mesmo canal ou "banda", como aquela usada para enviar dados áudio e/ou vídeo. Colectivamente, os dados em banda estão contidos num "fluxo de dados em banda". De acordo com uma forma de realização, o fluxo de dados em banda pode incluir dados de sinalização de legenda oculta ou Enhanced Television (ETV) num fluxo de conteúdo multimédia. Os "padrões de dados em banda" incluem quaisquer dados em banda que ocorrem num segmento particular do fluxo de dados em banda. Um padrão de dados em banda identifica uma sequência de dados em banda seleccionada de uma porção do fluxo de dados em banda. Por exemplo, o padrão de dados em banda pode ser uma recolha de dados de sinalização de legenda oculta ou dados de sinalização de ETV, num segmento particular do fluxo de dados em banda. Os "dados de identificação de evento" sãos os dados que identificam um ou mais padrões de dados em banda. Além disso, os dados de identificação de evento podem também incluir dados adicionais, tais como metadados que descrevem eventos no fluxo de conteúdo multimédia, assim como dados de comando para realizar acções em resposta aos padrões de dados em banda. 11/66
Os dados de identificação de evento podem ser providos a dispositivos multimédia, que usam os dados de identificação de evento para reconhecer dados em banda num fluxo de conteúdo de multimédia, e localizar pontos dentro do fluxo de conteúdo multimédia.
Fazendo referência à FIG. 1, de acordo com uma forma de realização, um sistema para reconhecimento e sincronização de dados em banda é mostrado. 0 sistema contém DVR 102 e 104, que estão cada um deles comunicativamente acoplados à Rede 105 através de qualquer interface de comunicação adequada, tal como Ethernet ou porta de comunicações sem fios. Além disso, o sistema inclui um Servidor 106A, Fornecedor de Conteúdo 106B, Computador Pessoal 101A e Dispositivo Portátil 101B. O Computador Pessoal 101A pode ser um dispositivo informático pessoal, tal como um computador portátil ou de secretária, e também é acoplado à Rede 105 através de qualquer interface adequada. O Computador Pessoal 101A está também ligado ao Dispositivo Portátil 101B. O Dispositivo Portátil 101B é um dispositivo informático portátil, telemóvel, leitor de multimédia portátil, ou qualquer outro dispositivo portátil capaz de reproduzir conteúdo multimédia. Através da Rede 105, os DVR 102 e 104, Computador Pessoal 101A e Dispositivo Portátil 101B podem cada um comunicar com um Servidor 106A e Fornecedor de Conteúdo 106B. A Rede 105 pode ser implementada por qualquer meio ou mecanismo que providencie a troca de dados entre dispositivos no sistema de comunicação. Exemplos de Rede 105 incluem, sem limitação, uma rede, tal como uma Rede de Área Local (LAN), Rede de Área Ampla (WAN), Ethernet ou Internet, ou uma ou mais ligações terrestres, por satélite ou sem fios. Alternativamente ou adicionalmente, quaisquer dispositivos ligados à Rede 105 12/66 podem também ser directamente ligados entre si através de uma ligação de comunicações.
Numa forma de realização, os DVR 102 e 104 comunicam com o Servidor 106A, que providencia dados de guia de programa, recursos gráficos (tais como fontes de letras, figuras, etc.), informação de serviço, software, publicidade, dados de identificação de evento, e outras formas de dados que permitem que os DVR 102 e 104 funcionem de forma independente do Servidor 106A para satisfazer os interesses do espectador. O Fornecedor de Conteúdo 106B pode também providenciar, directamente, conteúdo de programa multimédia aos DVR 103 e 104 através de emissões por ar, transmissões por satélite ou cabo coaxial. O conteúdo de programa multimédia inclui tal conteúdo como filmes de longas-metragens, sitcoms, espectáculos de variedades, talk shows, anúncios, etc., para exibir aos utilizadores de DVR. Além disso, o Fornecedor de Conteúdo 106B também fornece dados adicionais ao Servidor 106A, incluindo dados promocionais, ícones, dados web, e outra informação para o Servidor 106A, para interpretar e fornecer aos DVR 102 e 104. De acordo com outra forma de realização, um Fornecedor de Conteúdo 106B também fornece um conteúdo de programa multimédia ao Servidor 106A para processamento. O Servidor 106A processa o conteúdo de programa multimédia, cria os dados de identificação de evento e fornece dados de identificação de evento aos DVR e outros dispositivos.
Os dispositivos multimédia usam os dados de identificação de evento para reconhecer e sincronizar com os fluxos de conteúdo multimédia. Fazendo agora referência à FIG. 2, um diagrama de blocos, que ilustra os componentes de um dispositivo para reconhecimento e sincronização dos dados em banda, é mostrado de acordo com uma forma de realização. Em particular, a FIG. 2 mostra os componentes de um DVR 200 . Note-se que para efeitos 13/66 de exemplo, a referência será feita a um DVR em toda a descrição. Contudo, a invenção não é tão limitada, e o processo de reconhecimento e sincronização com dados em banda pode ser implementado em qualquer tipo de dispositivo de multimédia ou sistema informático. 0 DVR 200 compreende qeralmente uma pluralidade de componentes, referidos como o Módulo de Entrada 202A, para receber um conteúdo de programa multimédia do Fornecedor de Conteúdo 106B ou Servidor 106A. De acordo com uma forma de realização, os sinais de emissão, que representam um fluxo de conteúdo multimédia, são enviados para o DVR 200 a partir do Fornecedor de Conteúdo 106B. 0 DVR 200 recebe os sinais de emissão que representam um fluxo de conteúdo multimédia de uma antena, um sistema de TV por cabo, receptor de satélite ou qualquer outro sistema de transmissão via Módulo de Entrada 202A. 0 Módulo de Entrada 202A pode compreender uma pluralidade de módulos de sintonização que permite que vários sinais sejam recebidos e regravados em simultâneo. Além disso, o Módulo de Entrada 202A recebe fluxos de entrada de TV de várias formas, por exemplo, Comité Nacional de Sistemas De Televisão (National Television Standards Committee -NTSC) ou emissão PAL, e formas digitais tais como Sistema de Satélite Digital (Digital Satellite System -DSS), Serviços de Emissão Digital (Digital Broadcast Services -DBS), ou Comité para Padrões de Televisão Avançados (Advanced Television Standards Committee - ATSC). DBS, DSS e ATSC são baseados em normas chamadas Moving Pictures Experts Group 2 (MPEG2) e MPEG 2 Transport. A MPEG2 Transport é uma norma para formatar o fluxo de dados digitais do transmissor de fonte de TV para que um receptor de TV possa descodificar o fluxo de entrada para encontrar programas no sinal multiplexados. O DVR 200 também inclui um Módulo de Gravação 204, que é funcional para gravar uma ou mais porções de um conteúdo 14/66 multimédia recebido do Módulo de Entrada 202A, e que armazena o fluxo de conteúdo multimédia como um fluxo de dados digitais no Dispositivo de Armazenamento 214. 0 Módulo de Gravação 204 grava o fluxo de conteúdo multimédia que entra ao armazenar o fluxo de dados digitais em, pelo menos, uma instalação de armazenamento tal como o Dispositivo de Armazenamento 214, que foi concebido para reter segmentos do fluxo de dados digitais. De acordo com uma forma de realização, o Dispositivo de Armazenamento 214 pode ser um disco rígido localizado no DVR 200 . Alternativamente, o Dispositivo de Armazenamento 214 pode ser qualquer tipo de meio de armazenamento volátil e/ou não volátil, tal como memória flash, e pode também consistir de um meio de armazenamento amovível, tal como um disco DVD-ROM. Note-se que o DVR 200 pode conter múltiplos dispositivos de armazenamento, meios de armazenamento ou meios de armazenamento amovíveis do tipo descrito acima em qualquer combinação do mesmo.
Durante a reprodução, o fluxo de dados digitais é convertido num sinal analógico, e depois modulado para uma portadora RF, via um Módulo de Saída 202B, através do qual o sinal é emitido a um aparelho de TV padrão. O Módulo de Saída 202B pode alternativamente emitir um sinal digital a um aparelho de TV ou monitor vídeo. Por exemplo, o DVR 200 pode utilizar uma porta Interface Visual Digital (Digital Visual Interface -DVI) para enviar sinais digitais a uma TV através de um cabo DVI. Alternativamente, o Módulo de Saída 202B pode emitir sinais analógicos e/ou digitais internamente para um aparelho de TV sem o uso de quaisquer cabos. Por exemplo, o DVR 200 pode fazer parte de um aparelho de TV, tal que a comunicação entre o DVR 200 e o ecrã é feita internamente via um sistema de barramento localizado no aparelho de TV.
No sentido de gravar e armazenar um fluxo de conteúdo multimédia, assim como outros tipos de dados, o DVR 200 inclui 15/66 um Dispositivo de Armazenamento 214. 0 Dispositivo de Armazenamento 214 pode ser um disco rígido, memória ou qualquer outra forma de armazenamento localizada no DVR 200. O Dispositivo de Armazenamento 214 pode ser usado para armazenar não apenas material de programa ou fluxo de conteúdo multimédia, mas também dados adicionais para serem usados pelo DVR 200. Por exemplo, os dados de identificação de evento podem ser armazenados no Dispositivo de Armazenamento 214 para um futuro acesso. Apesar de o Dispositivo de Armazenamento 214 surgir como um módulo no DVR 200, o Dispositivo de Armazenamento 214 pode alternativamente estar localizado fora do DVR 200, e o DVR 200 pode comunicar com o armazenamento usando uma interface tal como a Interface de Comunicação 206. O DVR 200 pode incluir também uma Interface de Comunicação 206, através da qual o DVR 200 comunica com a Rede 105 através da Ethernet, rede sem fios, modem ou outras normas de comunicação. Em outras formas de realização, a Interface de Comunicação 206 pode ser qualquer tipo de porta de comunicações, tais como um cabo coaxial, infravermelhos, fibra óptica ou porta de série. De acordo com um exemplo, os dados são comunicados do Servidor 106A, através de uma Rede 105, para o DVR 200 usando um cabo de Ethernet ligado à Interface de Comunicação 206. Usando a Interface de Comunicação 206, o DVR 200 pode comunicar com um PC 101A ou Dispositivo Portátil 101B através de LAN. O Módulo de Entrada 202A recebe fluxos de conteúdo multimédia para gravar e reproduzir para utilizadores de DVR. Quando os fluxos de conteúdo multimédia são recebidos no Módulo de Entrada 202A, estes são gravados pelo Módulo de Gravação 204 e processados para reproduzir para o utilizador através do Módulo de Saída 202B. O processamento do fluxo de conteúdo multimédia para exibição inclui enviar o fluxo de conteúdo multimédia para o Dispositivo de Armazenamento 214 e, subsequentemente, para o Módulo de Saída 202B para reprodução. 16/66
Com efeito, o DVR grava porções dos fluxos de conteúdo multimédia durante uma reprodução ao vivo, permitindo a um utilizador fazer uma pausa e retroceder uma emissão ao vivo sem gravar todo o programa de vídeo. 0 processamento do fluxo de conteúdo multimédia é ainda descrito com mais detalhe na Patente americana N° . 6,233,389 com o título "Multimedia Time Warping System" (doravante, a patente '389).
Durante a operação do DVR 200, o Módulo de Análise Sintáctica 210 procura os dados em banda, tais como dados de legenda oculta ou dados de sinalização ETV. Enquanto o fluxo de conteúdo multimédia está a ser gravado, o Módulo de Análise Sintáctica 210 monitoriza a porção de dados em banda do fluxo. Alternativamente, o Módulo de Análise Sintáctica 210 pode monitorizar os dados em banda durante qualquer altura, tal como a reprodução do fluxo de conteúdo multimédia.
De acordo com uma forma de realização, o fluxo de conteúdo multimédia é um fluxo de transporte MPEG, e os dados em banda são intervalados com dados de áudio e vídeo como um evento de dados privado. Porque os dados em banda são um evento discreto dentro do fluxo de conteúdo, é facilmente reconhecível por um dispositivo multimédia, tal como um DVR 200. Além disso, no caso onde a emissão original está no formato analógico, o DVR 200 contém uma pluralidade de componentes necessários para digitalizar os fluxos de conteúdo multimédia no Módulo de Entrada 202A, de tal modo que o fluxo de conteúdo multimédia será na forma de um fluxo de transporte MPEG quando processado pelo Módulo De Análise Sintáctica 210. Os dados em banda são extraídos à medida que o vídeo e áudio são colocados num fluxo elementar em pacotes (PES) como descrito ainda na patente '389. Os dados em banda são então mais tarde combinados com áudio e vídeo para processamento pelo Módulo De Análise Sintáctica 210 e para exibição pelo Módulo de Saída 202B. 17/66
No sentido de sincronizar com os fluxos de conteúdo multimédia, o DVR 200 também contém uma Máquina de Estado de Reconhecimento de Padrão 212. Numa forma de realização, a Máquina de Estado de Reconhecimento de Padrão 212 representa um algoritmo para reconhecer padrões de dados em banda dentro do fluxo de conteúdo multimédia. A Máquina de Estado de Reconhecimento de Padrão 212 processa os dados de identificação de dados, os quais incluem padrões de dados em banda conhecidos, numa tentativa de corresponder os dados em banda com os padrões de dados em banda já conhecidos.
De acordo com uma forma de realização, a Máquina de Estado de Reconhecimento de Padrão 212 é um algoritmo com base no estado que tenta corresponder dados em banda do Módulo de Análise Sintáctica 210 com padrões de dados em banda nos dados de identificação de evento, armazenados no Dispositivo de Armazenamento 214. Se ocorrer uma correspondência, a Máquina de Estado de Reconhecimento de Padrão 212 informa a correspondência ao DVR 200, o que inspecciona os metadados associados com o padrão de dados em banda reconhecidos. Com base nos metadados, o DVR 200 pode executar qualquer número de acções na sincronização com o fluxo de conteúdo multimédia.
Note-se que apesar de os componentes de DVR 200 terem sido descritos com relação ao DVR, os módulos acima podem ser integrados no sistema de TV de tal modo que os módulos são alojados num aparelho de TV capaz de executar as funções de cada módulo do DVR 200. Além disso, em outras formas de realização, os módulos descritos acima podem estar localizados entre qualquer número de dispositivos capazes de executar as funções descritas. Deste modo, através da operação dos componentes descritos, o DVR 200 pode reconhecer dados em banda e sincronizar acções e eventos para os dados em banda.
3.0 ABORDAGEM PARA RECONHECER E SINCRONIZAR COM DADOS EM BANDA 18/66
Como acima mencionado, os dados em banda podem ter várias formas. Duas tais formas incluem dados de legenda oculta e dados que assinalam ETV. Contudo, note-se que a invenção não está limitada à legenda oculta e dados que assinalam ETV, e pode ser aplicada a outros tipos de dados em banda. 3.1 Dados de Legenda Oculta
Um tipo de dados em banda, dentro de um fluxo de conteúdo multimédia, são os dados de legenda oculta. Os dados de legenda oculta são dados que representam texto de legenda oculta para exibir a um utilizador, assim como o controlo de legenda oculta em conjunto com programação de vídeo. Os dispositivos de multimédia podem reconhecer dados de legenda oculta e sincronizar acções e eventos para os dados de legenda oculta em várias formas, usando os processos como aqui descritos.
Um dispositivo multimédia pode usar padrões de dados de legenda oculta para reconhecer os fluxos de conteúdo multimédia. Os tipos de padrões de dados disponíveis em dados de legenda oculta são vários. Por exemplo, os padrões de dados distintos podem existir no texto de legenda oculta actual, os dados de controlo de legenda oculta, assim como qualquer outro evento definido pelos dados de legenda oculta. Ao reconhecer os padrões distintos nos dados de legenda oculta, um DVR pode identificar eventos no fluxo de conteúdo multimédia.
Uma forma de reconhecer padrões nos dados de legenda oculta é ao calcular valores hash que representam texto de legenda oculta e identificam padrões de sequência de valores hash. Deste modo, de acordo com uma forma de realização, num dispositivo multimédia, tal como um DVR ou servidor, os dados de legenda oculta são analisados e os valores hash são gerados, correspondentes aos dados de legenda oculta. Os valores hash 19/66 são então compilados em sequências de valores hash associadas a programas de video ou segmentos de vídeo, e ainda combinados com metadados definindo informação de comando e controlo para processar em dispositivos multimédia.
Estas sequências hash e metadados são providos para dispositivos multimédia, tais como DVR, na forma de dados de sequência de valor hash. Os dispositivos multimédia usam os dados de sequência de valores hash para reconhecer e sincronizar com dados de legenda oculta. Um algoritmo correspondente é usado pelo dispositivo multimédia para comparar sequencialmente valores hash gerados a partir dos dados de legenda oculta com múltiplas sequências hash que o dispositivo multimédia armazenou localmente. De acordo com uma forma de realização, o algoritmo correspondente é implementado através de uma máquina de estado que processa os valores hash gerados e informa se ocorreu ou não uma correspondência com uma sequência hash identificada pelos dados de sequência de valor hash. 3.1.1. Gerar Dados de Sequência de Valor Hash
De acordo com uma forma de realização, no sentido de reconhecer dados de legenda oculta, e sincronizar acções e eventos para os dados de legenda oculta num sistema informático, os dados de sequência de valores hash são gerados e providos a dispositivos, tais como DVR 102 e 104. Cada DVR 102 e 104 também recebem um ou mais fluxos de conteúdo multimédia que contêm programas de vídeo para exibição para um utilizador. Como aqui definido, um programa de vídeo pode ser um filme de longa-metragem, um espectáculo de variedades, um talk show, clip de vídeo, sitcom, anúncios, uma emissão de televisão ao vivo ou qualquer outro conteúdo multimédia exibido para um utilizador de um DVR. 20/66
Os dados de legenda oculta, de acordo com uma forma de realização, podem ser contidos num fluxo separado de dados associados ao fluxo de conteúdo multimédia. Por exemplo, se um programa estiver num formato digital, os dados de legenda oculta são comunicados no fluxo MPEG2 como parte de um canal de dados privados. Contudo, quando comunicados num formato analógico, os dados de legenda oculta são em vez disso modulados num Intervalo de Supressão Vertical (Vertical Blanking Interval - VBI) do sinal de TV analógico num número de formas padrão; por exemplo, a North American Broadcast Teletext Specification (NABTS) pode ser usada para modular informação nas linhas 10 até 20 de um sinal NTSC, enquanto a FCC obriga ao uso da linha 21 para Legenda Oculta (CC) e Serviços de Dados Estendidos (Extended Data Services - EDS) . Contudo, os sinais de legenda oculta analógicos são descodificados pelo módulo de entrada do DVR e passados para os outros componentes do DVR como se fossem entregues via um canal de dados privados MPEG2. Por isso, como acima descrito, o Módulo De Análise Sintáctica 210 do DVR 200 pode processar dados de legenda oculta que originalmente eram emitidos num formato analógico ou digital. Pode ser encontrada mais informação relativa à localização dos dados de legenda oculta nos fluxos de conteúdo multimédia no Pedido de Patente americana N° 09/665,921, com o titulo "Closed-Caption Tagging System".
Noutras formas de realização, os dados de legenda oculta podem ser contidos em muitas formas detectáveis no fluxo de conteúdo multimédia. O servidor 106A e DVR 200 podem ler e analisar os dados de legenda oculta.
Como parte do processo de reconhecimento de dados de legenda oculta e sincronização de acções e eventos para os dados de legenda oculta num fluxo de conteúdo multimédia, cada DVR 102 e 104 também recebem dados de identificação de evento. De 21/66 acordo com uma forma de realização, os dados de identificação de evento são dados de sequência de valores hash. Os dados de sequência de valores hash podem ser provenientes de várias fontes, tais como o Servidor 106A. Por exemplo, o Servidor 106A pode reprocessar o conteúdo de programa ao calcular os valores hash e determinando as sequências hash para serem usadas por dispositivos multimédia. 0 conteúdo do programa pode ser providenciado pelo Fornecedor de Conteúdo para o Servidor 106A antes de ser mesmo emitido para os dispositivos multimédia. Desta forma, o Servidor 106A pode providenciar sequências hash para dispositivos multimédia antes de os dispositivos multimédia receberem o conteúdo de programa associado. Alternativamente, os dados de sequência podem ser provenientes de outro dispositivo de computação, tal como outro DVR.
Por isso, fazendo agora referência à FIG. 3A, um fluxograma que representa um método para gerar dados de sequência de valor hash de acordo com uma forma de realização é mostrado. No passo 302, o Servidor 106A recebe os dados que representam um ou mais programas de vídeo do Fornecedor de Conteúdo 106B. Os dados podem ser na forma de um fluxo de conteúdo multimédia ou podem ser dados de programa de vídeo individual, separados do fluxo de conteúdo multimédia. Juntamente com os dados de programa de vídeo, o Fornecedor de Conteúdo 106B também providencia dados de legenda oculta associados ao programa de vídeo, ao Servidor 106A. Numa forma de realização, os dados de legenda oculta podem ser incorporados no fluxo de conteúdo multimédia que contém o programa de vídeo fornecido pelo Fornecedor de Conteúdo 106B. Adicionalmente, o Fornecedor de Conteúdo 106B pode providenciar metadados que contêm informação de evento associada aos programas de vídeo. O Servidor 106A define a informação que especifica os eventos ou acções que são operadas pelo dispositivo multimédia enquanto exibe um programa de vídeo para um utilizador. Esta informação pode incluir referências aos ícones gráficos ou 22/66 conteúdo adicional para exibir ao utilizador. 0 conteúdo ou ícones estariam presentes no dispositivo multimédia ou seriam obtidos pelo dispositivo via Internet, rede, ou outros DVR. Além disso, a informação pode apresentar dados que representam certos eventos no programa de vídeo. Por exemplo, se uma emissão de desporto for separada em períodos separados e intervalos, o Fornecedor de Conteúdo 106B pode providenciar informação de evento para o Servidor 106A, indicando onde no fluxo de conteúdo multimédia ocorre o intervalo. Usando esta informação, um Servidor 106A gera dados de sequência de valor hash para permitir que um DVR identifique automaticamente o início e fim do intervalo no programa de vídeo. Porque o intervalo foi identificado, um utilizador de DVR pode solicitar ao DVR para saltar automaticamente o intervalo aquando da visualização da emissão gravada.
Além disso, de acordo com uma forma de realização, o Servidor 106A pode obter dados de legenda oculta para programas de vídeo de qualquer dispositivo multimédia. Por exemplo, o DVR 102 pode ter previamente gravado um programa de vídeo que contém dados de legenda oculta. O DVR 102 pode enviar o programa de vídeo gravado para o Servidor 106A na Rede 105, incluindo os dados de legenda oculta associados ao programa de vídeo, para processamento pelo Servidor 106A.
No passo 304, o Servidor 106A analisa os dados de legenda oculta do programa de vídeo em valores hash, que são usados para criar dados de sequência de valor hash. O Servidor 106A pode usar um número de métodos diferentes para criar valores hash. O método usado para criar valores hash para dados de legenda oculta pode variar de acordo com o método usado pelo fluxo de legenda oculta, para exibir texto de legenda oculta a um visualizador do programa de vídeo. 23/66
Deste modo, o Servidor 106A acompanha qual o modo de legenda oculta que está a ser usado para exibir os dados de legenda oculta. Por exemplo, de acordo com uma forma de realização, o texto de legenda oculta pode ser processado e mostrado ao utilizador usando um modo Pop-Up, modo Roll-UP ou modo Paint-On como ainda aqui descrito. Dependendo do modo usado, um valor hash representa o resultado da aplicação de uma função hash para um número de caracteres numa linha de texto. Uma função hash H é uma transformação que necessita de uma entrada de dimensão variável m e regressa para uma cadeia de dimensão fixa, que é chamada o valor hash h, que é h=H(m). A entrada de dimensão variável para dados de legenda oculta vai depender do método de legenda oculta a ser usado, como ainda aqui descrito. Adicionalmente, de acordo com uma forma de realização, a quantidade de caracteres que podem ser colocados numa linha de dados de legenda oculta é limitada.
Contudo, o Analisador Sintáctico 312 pode ser configurado para aceitar qualquer número de caracteres numa linha de texto para acomodar sistemas diferentes. Assim, como descrito em baixo, o Analisador Sintáctico 312 determina quando gerar os valores hash em resposta à detecção de eventos discretos nos dados de legenda oculta. Os eventos discretos nos dados de legenda oculta podem ser comandos tais como um comando "símbolo de retorno". Um comando "símbolo de retorno" pode ser utilizado para definir o fim ou início de uma linha de texto. Assim, por exemplo, quando uma linha de texto foi completada, um "símbolo de retorno" vai levar a posição do cursor a fazer reset na próxima linha. A função hash é útil para criar um valor hash padronizado de dimensões variáveis de texto. De acordo com uma forma de realização, os caracteres podem representar números hexadecimais similares àqueles definidos pelo Código Padrão Americano para Intercâmbio de Informação (ASCII). 24/66
Adicionalmente, algumas implementações podem utilizar uma norma ASCII para mostrar simbolos alternativos, tais como notas musicais durante o áudio num programa de vídeo.
De acordo com uma forma de realização, o Módulo De Análise Sintáctica 210 aplica o algoritmo hashing às representações hexadecimais dos dados de legenda oculta no sentido de produzir valores hash. Adicionalmente, o Módulo de Análise Sintáctica 210 ajusta o método para calcular valores hash, dependendo do método de legenda oculta a ser usado.
Fazendo agora referência à FIG. 3B, um diagrama de blocos que ilustra o método para gerar dados de sequência de valor hash, de acordo com uma forma de realização, é mostrado. Os frames 310A-310D representam frames de um programa de vídeo no fluxo de conteúdo multimédia recebidos no Servidor 106A. De acordo com uma forma de realização, os programas de vídeo são repetidos a uma taxa de trinta frames por segundo. Cada frame 310A-310D é mostrado num tempo particular de acordo com a taxa de frame. Por exemplo, o frame 310A ocorre no tempo =1: 00 e o frame 310B ocorre no tempo =1:05. Assim, assumindo uma taxa de frame de trinta frames por segundo, o frame 310B ocorrer no frame número 151, ou 150 frames após o frame 310A.
Note-se que os frames 310A-310D são apenas quatro frames discretos entre muitos frames dentro do fluxo de conteúdo multimédia, e muitos frames podem existir entre cada um dos frames 310A e 310D. Nos frames 310A-310D, são gerados valores hash para Texto A-D-, respectivamente. O Texto A-D é o texto contido no fluxo de legenda oculta, e os frames 310A-310D representam o tempo no qual os valores hash são gerados para o texto. Contudo, note-se que o texto de legenda oculta mostra normalmente mais do que um frame de uma só vez. De acordo com uma forma de realização, a taxa de transmissão para os dados de legenda oculta são dois bites por frame de vídeo, e a 25/66 transmissão ou recepção de uma linha inteira de texto demora vários trames. 0 Texto B, por exemplo, pode mostrar múltiplos trames que antecedem o trame 310B. Contudo, o trame 310B é a posição dentro do fluxo de conteúdo multimédia no qual um valor hash é qerado para o Texto B.
Adicionalmente, porque cada trame 310A-310D é mostrado num tempo em particular, os metadados podem ser criados, os quais contêm dados de tempo relativo que representam a hora no programa de vídeo ou fluxo de conteúdo multimédia do que o trame que está a ser mostrado. Deste modo, o trame 310A exibe o texto A no tempo 1:00 enquanto o frame 310B exibe o texto B no tempo 1:05. O Analisador Sintáctico 312 lê o texto A-D de cada frame 310A-310D no sentido de gerar valores hash 314A-314D e os metadados associados àqueles valores hash, respectivamente. Contudo, note-se que os metadados não precisam de ser criados de cada vez que um valor hash é gerado.
Em outras formas de realização, os trames adicionais que não exibem nenhum texto podem ser analisado sintacticamente pelo Analisador Sintáctico 312. Contudo, porque aqueles frames não contêm texto de legenda oculta, a geração de um valor hash não será accionada. Em vez disso, como descrito aqui com mais detalhes, o Analisador Sintáctico não gera um valor hash até ocorrer um evento de accionamento. Dependendo do método de legenda oculta a ser usado, o evento de accionamento vai variar de caso para caso. Por exemplo, de acordo com uma forma de realização, o evento de accionamento é a identificação de um comando “símbolo de retorno" dentro dos dados de legenda oculta. Quando o comando "símbolo de retorno" é detectado nos dados de legenda oculta, o Analisador Sintáctico 312 gera um valor hash que representa uma ou mais linhas de texto de legenda oculta que abrange um número de segundos no programa de vídeo. 26/66 A tabela 320 representa uma listagem de valores hash gerada pelo Analisador Sintáctico 312 do programa de vídeo representado pelos frames 310A-310D. A tabela 320 inclui uma coluna Valor hash, uma coluna Tempo e uma coluna Offset de Tempo. A coluna Valor hash representa os valores hash gerados pelo Analisador Sintáctico 312 para os frames 310A-310D. A coluna Tempo representa o tempo relativo que cada valor hash gerou de acordo com o método de legenda oculta. O valor do tempo pode ser relativo para todo o fluxo de conteúdo multimédia, o programa de vídeo particular que contém frames 310A-310D ou o tempo real do DVR.
Quando o Analisador Sintáctico 312 gera um valor hash para qualquer frame, o Analisador Sintáctico 312 questiona um Módulo de Temporização 209 do DVR 200 para determinar a hora na qual o valor hash foi gerado. Desde que o Analisador Sintáctico 312 use a mesma unidade de tempo relativo para gerar as horas na coluna Tempo, o DVR 200 pode seguir com precisão quaisquer variâncias de tempo entre os valores hash gerados e os dados de sequência de valor hash. A coluna Offset de Tempo indica a diferença entre os dados de tempo associados a um valor hash e os dados de tempo associados a um valor hash subsequente. Por exemplo, o valor hash "3D59" é tido como não tendo um valor offset de tempo. Neste caso, é determinado que o valor hash "3D59" é o inicio de uma sequência hash, não sendo assim preciso um valor offset de tempo. Contudo, para o valor hash "2Z55", é apresentado um valor offset de tempo de :05 segundos, o que indica que o valor hash "2Z55" é gerado aproximadamente :05 segundos após o valor hash "3D59" ter sido gerado. Esta informação pode ser utilizada para localizar o inicio de um programa de vídeo, ou em alternativa, qualquer evento específico ou localização dentro do programa de vídeo num DVR. O processo de utilização da informação do offset de tempo, para sincronizar um sistema informático a um programa de vídeo, é debatido mais detalhadamente em baixo na secção 3.3. 27/66
Assim, o Analisador Sintáctico 312 analisa os dados de legenda oculta dentro do programa de vídeo. Remetendo para a Figura 3A, uma vez que o Analisador Sintáctico 312 tenha analisado os dados de legenda oculta de um programa de vídeo em valores hash, o Servidor 106A procede à geração de sequências hash associadas ao programa de vídeo no passo 306. Quando o Analisador Sintáctico 312 tenha terminado de gerar um número específico de valores hash para um programa de vídeo ou um segmento de um programa de vídeo, o Analisador Sintáctico 312 cria dados de uma sequência de valor hash a partir dos valores hash gerados. O número de valores hash numa sequência hash, bem como o período de tempo representado pelos valores hash, pode ser arbitrariamente definido pelo Analisador Sintáctico 312, Servidor 106A, ou qualquer outro aparelho ou utilizador que deseje controlar a criação dos dados de sequência de valor hash. Por exemplo, se o Fornecedor de Conteúdos 106B fornecer um programa de vídeo específico para analisar sintacticamente o Servidor 106A, o Fornecedor de Conteúdos 106B pode também indicar que durante uma parte específica do programa de vídeo que dura entre cinco a dez segundos, um ícone deve aparecer no ecrã solicitando a acção do utilizador. A Figura 3D é um diagrama que ilustra tal ícone que aparece num ecrã de acordo com uma forma de realização. De acordo com a Figura 3D, o ecrã 400 mostra um ícone 404. O ícone 404 contém um diálogo que solicita a acção do utilizador 404A. Neste exemplo, o Fornecedor de Conteúdos solicita ao Servidor 106A que o ícone 404 deva aparecer no ecrã 400 durante uma parte específica de um programa de vídeo. Aqui, o Analisador Sintáctico 312 pode ser configurado para gerar valores hash abrangendo, pelo menos, 10 segundos da parte seleccionada do programa de vídeo. Isto assegura que os valores hash são gerados por, pelo menos, a parte seleccionada do programa de vídeo, dando a um sistema 28/66 informático tempo suficiente para reconhecer a sequência completa de valores hash e para identificar, positivamente, o programa de video ou parte. Posteriormente, para compensar qualquer atraso ou margem de erro, o Analisador Sintáctico 312 pode ser configurado para gerar valores hash abrangendo mais do que a parte seleccionada do programa de video.
Em alternativa, o comprimento de quaisquer dados de sequência de valor hash pode ser determinado pelo quão único é o valor hash gerado dentro da sequência hash. Por exemplo, em algumas situações, os mesmos dados de legenda oculta podem resultar no mesmo valor hash. Se dois programas de video contêm dados de legenda oculta bastante similares, tal como dois anúncios com muito pouco texto de legenda oculta, eles podem gerar, inicialmente, os mesmos valores hash para a primeira parte do programa. Contudo, quanto mais o Analisador Sintáctico 312 gera valores hash para um programa de video especifico, maior a possibilidade da sequência hash ser única. Portanto, o Analisador 312 pode ser configurado para seleccionar qualquer número de valores hash para incluir numa sequência hash, de modo a controlar a precisão dos dados de sequência de valor hash correspondentes para programas de video. Posteriormente, quando o Analisador Sintáctico 312 gera os valores hash, o Servidor 106A pode associar metadados a dados de sequência de valor hash. Os metadados associados podem indicar que um ícone 400 seja exibido, solicitando acção por parte do utilizador, como debatido no exemplo acima.
Quando os valores hash são gerados, o Analisador Sintáctico 312 inclui dados em tempo real com o tempo que cada valor hash foi gerado. Contudo, os mesmos dados de legenda oculta, ou mesmo o mesmo valor hash, pode ser gerado em tempos diferentes, de acordo com o método de legenda oculta utilizado. 29/66
Fazendo agora referência à Figura 3C, diferentes métodos de legenda oculta são mostrados de acordo com uma forma de realização. Os dados de legenda oculta são exibidos a um utilizador num Modo Pop-Up 340, Modo Roll-Up 342, ou Modo Paint-On 346, respectivamente. A Figura 3C mostra uma área de entrada de dados CC de um fluxo de legenda oculta e uma área de exibição que representa o resultado ou a exibição actual de texto de legenda oculta a um utilizador. 3.1.1.1 Modo Pop-Up
No Modo Pop-Up 340, de acordo com uma forma de realização, aparecem no ecrã entre uma e quatro linhas de texto, de uma só vez, permanecem por um período de tempo e são então substituídas pelas próximas linhas de texto de legenda oculta.
No Modo Pop-Up 340, uma entrada de dados de legenda oculta é colocada no Back Buffer 350B e exibida com um único comando "inversão de buffers", uma vez que o texto completo para um frame específico, ou séries de frames, esteja pronto para ser exibido. Neste modo, um valor hash é gerado para que o texto seja exibido quando o comando "inversão de buffers" seja emitido. Quando o comando "inversão de buffers" é emitido, o texto no Back Buffer 350B é transferido para o Front Buffer 350A, que representa o texto exibido no Ecrã 360.
No modo Pop Up, existem apenas dois eventos bem definidos que alteram o texto visível no Ecrã 360 para o utilizador. Estes eventos incluem (1) a rotação dos buffers, tal que os conteúdos do Back Buffer 350B sejam colocados no Front Buffer 350A, e (2) apagando o texto exibido no ecrã 360. Ao gerar valores hash em modo Pop-Up é apenas uma questão de acompanhar o texto composto no Back Buffer e criar um valor hash para o texto no 30/66
Back Buffer 350B, uma vez que seja processado um comando de inversão ou um comando de eliminação de memória exibida.
Assim, no modo Pop-Up, o Analisador Sintáctico 312 irá acompanhar o texto a ser composto no Back Buffer 350B. Enquanto monitoriza o Back Buffer 350B, o Analisador Sintáctico 312 continua a actualizar um valor hash correspondente ao valor completo de qualquer texto acumulado no Back Buffer 350B. Inicialmente, o Back Buffer 350B está vazio. Enquanto o texto está a ser composto em cada linha, o Analisador Sintáctico 312 aguarda até que um comando de "posicionamento de cursor" seja emitido. Um comando de posicionamento de cursor pode ser usado para colocar o cursor de texto numa nova linha. Baseado no comando de posicionamento de cursor, o Analisador Sintáctico 312 pode determinar que uma linha esteja completa e calcula um valor hash para uma linha especifica.
Eventualmente, o Front Buffer 350A é limpo e o Back Buffer 350B é girado para a frente pela emissão de um comando de inversão de buffers. Notar que o Back Buffer 350B pode conter múltiplas linhas de texto. De modo a gerar um valor hash único para as múltiplas linhas de texto, um valor hash cumulativo é gerado para todas as linhas de texto que aparecem no Front Buffer 350A. 0 valor hash cumulativo é criado uma vez que o Back Buffer 350B é girado para o Front Buffer 350A. Assim, enquanto o texto está a ser compilado no Back Buffer 350B, o Analisador Sintáctico 312 acompanha o valor hash individual para cada linha de texto como acima descrito. Quando girado para o Front Buffer 350A, os valores hash para cada linha são combinados juntamente para criar um valor hash cumulativo.
De acordo com uma forma de realização, quando o Analisador Sintáctico 312 gera um valor hash, o Analisador Sintáctico 312 também recupera dados relativos ao tempo associados ao fluxo 31/66 de conteúdo multimédia do Módulo de Temporização 209 . O Módulo de Temporização 209 pode indicar a cronometragem do fluxo de conteúdo multimédia, a agendar períodos de tempo, tempo desde o último valor hash, ou o tempo relativo ao início do programa de vídeo dentro do fluxo de conteúdo multimédia. Assim, fazendo referência à Figura 3B, por exemplo, o Analisador Sintáctico 312 determina que o Texto A do Frame 310A tenha sido girado para o Front Buffer 350A no tempo = 1:00 e tenha um valor hash correspondente de "3D59". 3.1.1.2 Modo Roll-Up
Outro modo para exibir texto de legenda oculta é o modo Roll-Up 342. No modo Roll-Up 342, que é mais comum em emissões em directo, como notícias ou talk shows, o texto é digitado enquanto é falado e aparece na televisão assim que é recebido. Assim que um comando "símbolo de retorno" é recebido, o texto desloca-se para cima. Um comando símbolo de retorno é um comando que leva a que o cursor retorne ao início da linha. Devido ao facto de o cursor ter retornado ao início de uma nova linha, um símbolo de retorno pode ser usado para indicar que uma nova linha está a ser composta. De acordo com uma forma de realização, o texto pode ser inicialmente composto no Ecrã 360 de modo que o frame X assim inclua a Linha de Texto 1, enquanto a entrada de dados CC 350 contém texto que é subsequentemente composto tal como as Linhas de Texto 2-4. Quando a Linha de Texto 2 está pronta a ser exibida, a Linha de Texto 2 "desloca-se para cima" para o ecrã, fazendo a Linha de Texto 1 mudar para cima no frame Y do Ecrã 360. Numa forma de realização, o frame Y permite que apenas sejam exibidas duas linhas de texto de cada vez. Assim, em quaisquer frames subsequentes, quando a Linha de Texto 3 está pronta a ser exibida, a Linha de Texto 1 seria apagada e a Linha de Texto 2 iria subir, ocupando a segunda linha de texto no Ecrã 360. 3 2/66
Em alternativa, qualquer número de linhas pode ser provido para legendagem oculta em modo roll-up.
De acordo com uma forma de realização, de modo a gerar valores hash em Modo Roll-Up, o Analisador Sintáctico 312 monitoriza as linhas de texto e procura um comando símbolo de retorno. Assim que o Analisador Sintáctico 312 determine que tal evento tenha ocorrido, o Analisador Sintáctico 312 gera um valor hash para o texto correspondente. Assim, um valor hash é gerado quando uma linha de texto é completa, e os dados da legendagem oculta contêm um evento visível de utilizador discreto que marca o fim da linha. Em vez de criar um valor hash cumulativo para todas as linhas de texto exibidas no ecrã, o Modo Roll-Up gera e reporta um valor hash para cada linha de texto visível conforme vai aparecendo no ecrã.
Por exemplo, de acordo com uma forma de realização, o Analisador Sintáctico 312 pode determinar que uma linha de texto está completa quando o texto é deslocado para cima por uma linha, por exemplo, a Linha de Texto 1 no frame Y. 0 Analisador Sintáctico 312 pode detectar que uma linha de texto está completa quando detecta um comando "símbolo de retorno" nos dados CC 350 que chegam. Assim, fazendo referência à Figura 3B, por exemplo, o Analisador Sintáctico 312 determina que uma linha de texto correspondente ao Texto B está completa após detectar um comando "símbolo de retorno" no frame 310B e calcula um valor hash de "2Z55" no Tempo = 1:05. 3.1.1.3 Modo Paint-On
Outro Modo de legendagem oculta é o Modo Paint-On 344. O Modo Paint-On 344 é similar ao Modo Pop-Up 340 excepto que os dados CC 350D que chegam são directamente compostos num front buffer, e que uma vez que os conteúdos do Front Buffer são directamente 33/66 inseridos no ecrã, um telespectador pode ver o texto conforme está a ser composto. Numa forma de realização, de modo a gerar valores hash, o Analisador Sintáctico 312 espera até que o primeiro evento visível ao utilizador ocorra após uma linha completa de texto esteja concluída. Assim, em Modo Paint-On 344, um método para gerar valores hash inclui acumular uma linha de texto conforme está a ser exibida, e esperar pelo primeiro evento visível ao utilizador após a linha estar completa para gerar um valor hash para essa mesma linha. 0 primeiro evento visível ao utilizador pode ser o início de uma outra linha, limpeza do écran, ou um comando "inversão de buffers" para exibir novo texto em Modo Pop-Up. 3.1.2 Metadados de Sequência Hash
Independentemente do tipo de modo de legendagem oculta a ser usado, assim que o Analisador Sintáctico 312 gere os valores hash associados a um programa de vídeo, os valores hash são colocados numa Tabela 320 juntamente com quaisquer dados adicionais, tal como o tempo e os dados de offset de tempo para cada valor hash. Os dados cumulativos na Tabela 320 representam assim os dados de sequência de valor hash gerados por um aparelho, tal como o Servidor 106A.
Assim que os dados de sequência de valor hash tenham sido gerados, os Metadados adicionais podem ser associados à sequência hash. De acordo com uma forma de realização, os Metadados adicionais podem incluir dados de comando e controlo para desempenhar alguma acção aquando do reconhecimento da sequência hash.
Assim, fazendo referência à FIGURA 3B, a Tabela 330 inclui colunas que representam as sequências hash e Metadados associados às sequências hash. De acordo com uma forma de realização, as sequências hash 3D59, 2Z55, A6E3 e 9Y95 incluem 34/66 metadados que descrevem um evento EVENTO 1. 0 EVENTO 1 pode ser um evento dentro do fluxo de conteúdos multimédia que ocorre num momento específico. Por exemplo, o EVENTO 1 pode definir um local em particular dentro de um programa de vídeo, tal como um intervalo durante um evento desportivo. Os metadados que definem o EVENTO 1 podem também incluir informação adicional tal como uma descrição do programa de vídeo e acções subsequentes tomadas após o reconhecimento do evento. Por exemplo, o EVENTO 1 pode incluir informação de marcadores para inserir um marcador no fluxo do programa aquando o momento do EVENTO 1. 0 marcador está operacional para permitir que um utilizador consulte directamente o EVENTO 1, ou alternativamente, passar à frente do EVENTO 1 durante a sua reprodução. A funcionalidade dos marcadores no fluxo de conteúdo multimédia é detalhadamente descrita em baixo, e é também descrita na Patente americana N°. 09/665,921, com o título "Closed Caption Tagging System".
Ainda com referência à Tabela 330, os Metadados podem também especificar acções particulares, tais como a ACÇÃO 1 associada à sequência hash A6E3, 9Y95, E4E9 e 9F4U. De acordo com uma forma de realização, a ACÇÃO 1 pode descrever uma acção particular para o DVR efectuar após reconhecer a sequência hash. Por exemplo, a ACÇÃO 1 pode incluir a exibição de um ícone para um utilizador do DVR. Os metadados que definem a ACÇÃO 1 podem incluir informação de tempo relacionada com a duração da acção, bem como a informação relacionada com a aplicação de gráficos e do ícone no aparelho de exibição conectado ao DVR. Note-se que a acção especificada pelos metadados pode ocorrer num momento diferente do tempo de reconhecimento da sequência hash. Por exemplo, os Metadados podem indicar que a acção deve ocorrer num momento precedente ao reconhecimento da sequência hash. Desta forma, se o programa for reproduzido a partir do armazenamento, o DVR procura adiante, 35/66 desempenhando as comparações de hash, e sabe quando desempenhar a acção na altura correcta.
Noutra forma de realização, a ACÇÃO 1 pode incluir dados do comando para o DVR processar. Os dados de comando podem fazer com que o DVR grave e armazene uma ou mais porções do fluxo de conteúdo multimédia. Por exemplo, durante a transmissão em directo de um programa de vídeo específico, se o DVR reconhecer a sequência de hash de C, D, E, F, e processar os dados de comando associados à sequência hash, os dados de comando irão fazer com que o DVR comece imediatamente a gravação do programa. Noutras formas de realização, os dados do comando podem fazer com que o DVR comece a gravação da transmissão em directo em qualquer altura após o reconhecimento da sequência hash.
Além disso, os metadados associados a qualquer sequência hash não estão limitados aos eventos ou acções especificadas, mas pode ser qualquer informação que possa ser compreendida e processada por um DVR ou aparelho de recepção de metadados. 3.1.3 Reconhecer Sequências Hash num Dispositivo Multimédia
Quando o Servidor 106A acumulou dados de sequência de valores hash, o Servidor 106A envia os dados de sequência de valores hash para um DVR ou outro dispositivo, que usa os dados de sequência de valores hash para reconhecer dados de legenda oculta e para sincronizar programas de vídeo que usem dados de legenda oculta. Fazendo referência à Figura 4, é exibido um fluxograma que define o processo de reconhecimento de dados de legenda oculta e sincroniza acções e eventos para os dados de legenda oculta. No passo 402, o DVR 102 recebe os dados de sequência de valores hash representados pela Tabela 330 na Figura 3B do Servidor 106A. Numa forma de realização, no que 36/66 é conhecido como uma transacção "pull", o DVR 102 recebe os dados de sequência de valores hash após iniciar um pedido para os dados de sequência de valores hash ao Servidor 106A. Em alternativa, no que é conhecido como uma transacção "push", o Servidor 106A pode enviar automaticamente os dados de sequência dos valores hash ao DVR 102 sem qualquer pedido feito pelo DVR 102. Quando o DVR 102 recebe os dados de sequência de valores hash, armazena os dados de sequência de valores hash no Dispositivo de Armazenamento 214.
No passo 404, o DVR 102 recebe um fluxo de conteúdo multimédia para exibir a um utilizador. De acordo com uma forma de realização, o fluxo de conteúdo multimédia pode ser recebido pelo Módulo de Entrada 202A e representar o conteúdo multimédia a ser presentemente transmitido pelo Fornecedor de Conteúdo 106B. Em alternativa, o fluxo de conteúdo multimédia pode ser reproduzido pelo Dispositivo de Armazenamento 214 do DVR 102. Além disso, noutras formas de realização, o DVR 102 pode receber um fluxo de conteúdo multimédia via transmissão ou Internet sem exibir o conteúdo multimédia ao utilizador. Assim, o DVR 102 pode receber conteúdo pelo Fornecedor de Conteúdo 106B e armazenar o conteúdo no Dispositivo de Armazenamento 214.
Enquanto o fluxo de conteúdo multimédia está a ser gravado ou reproduzido, no passo 406, o DVR 102 começa a analisar os dados de legenda oculta associados ao fluxo de conteúdo multimédia. O Módulo de Análise Sintáctica 210 analisa os dados de legenda oculta da mesma forma descrita acima com referência ao Servidor 106A na Figura 3B. Assim, o Módulo de Análise Sintáctica 210 analisa os dados de legenda oculta em múltiplos valores hash de acordo com o método de legendagem oculta usado (por exemplo, Pop-Up, Roll-Up ou Paint-On). Enquanto gera valores hash, o Módulo de Análise Sintáctica 210 envia os valores hash e 37/66 marcações temporais associados a cada valor hash para a Máquina de Estados de Reconhecimento de Padrões 212, que é usada para comparar e corresponder os valores hash a quaisquer dados de sequência de valores hash descarregados, armazenados, ou recebidos pelo DVR 102 do Servidor 106a, ou qualquer outra fonte.
No passo 408, a Máquina de Estados de Reconhecimento de Padrões 212 é utilizada para monitorizar os valores hash gerados pelo Módulo de Análise Sintáctica 210 e compara os valores hash com os dados da sequência de valores hash recebidos no passo 402. De acordo com uma forma de realização, a Máquina de Estados de Reconhecimento de Padrões 212 é uma máquina de estados construída de acordo com os dados da sequência de valores hash que foram recebidos no passo 402.
Para efeitos de exemplo, assumir que a Máquina de Estados de Reconhecimento de Padrões 212 tem a estrutura de uma árvore contendo nós e ramos. Cada nó na árvore pode representar um valor hash específico numa sequência de valores hash, e cada "ramo" da árvore representa uma sequência hash completa identificada pelos dados da sequência de valores hash. Esta estrutura é posteriormente referenciada na Figura 5A, debatida em baixo. A Máquina de Estados de Reconhecimento de Padrões 212 tenta corresponder os valores hash gerados ao atravessar os nós da árvore. Em qualquer nó, se existir uma correspondência, a Máquina de Estados de Reconhecimento de Padrões 212 avança para o próximo nó. Se o nó anterior representar o fim de uma sequência de valores hash, ocorreu uma correspondência, e a Máquina de Estados de Reconhecimento de Padrões 212 pode indicar que uma sequência de valores hash tenha sido identificada, levando a que o DVR 200 desempenhe a acção apropriada como aqui descrito detalhadamente. 38/66
Deste modo, no passo 510, a Máquina de Estados de Reconhecimento de Padrões 212 determina se algum dos valores hash gerados pelo Módulo de Análise Sintáctica 210 corresponde a valores hash contidos dentro dos dados da sequência de valores hash. Enquanto os valores hash corresponderem e a diferença no tempo entre os eventos de valor hash estiver dentro de um limite da sequência hash prevista, será comunicada uma correspondência positiva.
Fazendo referência à Figura 5A, de acordo com uma forma de realização, são mostrados os dados da sequência de valores hash na forma de máquina de estados de reconhecimento de padrões. Os dados da sequência de valores hash são representados pela Máquina de Estados 510, que contém nós que representam valores hash individuais dentro das sequências de valores hash. De acordo com uma forma de realização, a Máquina de Estados 510 contem um nó START 502, que representa o estado de inicio da Máquina de Estados.
De acordo com uma forma de realização, os nós da Máquina de Estados 510 são indexados de acordo com o primeiro valor hash de qualquer sequência hash identificada nos dados da sequência de valores hash. Após a Máquina de Estados 510 iniciar, pode determinar primeiro se o valor hash do primeiro nó 504 corresponde ao valor hash gerado pelo Módulo de Análise Sintáctica 210. Se não existir correspondência, a Máquina de Estados 510 continua a atravessar o índice 501, subsequentemente testando o próximo nó 520. Note-se que embora raro, diferentes sequências de valores hash podem começar com o mesmo valor hash. Portanto, o nó 504, que representa sequências hash que começam com o valor hash "3D59", pode conter duas vertentes distintas que representam diferentes sequências de valores hash (1) 3D59, 2Z55, A6E3 e 9Y95, ou (2) 3D59, 2Z55, E4E9 ou 9F4U. 39/66
De acordo com uma forma de realização, a Máquina de Estados 500 é um componente leve no DVR 200, significando que a Máquina de Estados 500 é concebida para ocupar o mínimo de recursos de sistema durante a operação do DVR 200. Portanto, mesmo no caso de uma Máquina de Estados 500 ter de atravessar dezenas de milhares de nós para determinar se uma sequência de valores hash foi reconhecida, poucos recursos de sistema serão necessários para operar a Máquina de Estados 500. Assim, os utilizadores do DVR não irão notar qualquer atraso ou degradação na reprodução do conteúdo multimédia durante a operação da Máquina de Estados 500.
De acordo com uma forma de realização, a eficiência da Máquina de Estados 500 é posteriormente melhorada com o uso do índice 501. Pela indexação do primeiro valor hash dentro de qualquer sequência hash num índice 501, a Máquina de Estados 500 pode rapidamente excluir uma grande quantia de sequências hash para comparação, sem ocupar demasiados recursos do sistema.
De modo a começar o processamento de valores hash gerados pelo Módulo de Análise Sintáctica 210, a Máquina de Estados 500 é iniciada e começa a testar os nós presentes no índice 501. De acordo com uma forma de realização, o primeiro valor hash gerado pelo Módulo de Análise Sintáctica 210 é "3D59", correspondendo ao Texto A no frame 310A da Figura 3B. Deste modo, a Máquina de Estados 500 é iniciada, e irá testar o primeiro nó 504 representando um valor hash "3D59" e encontrar uma correspondência, terminando num resultado positivo. De acordo com esta forma de realização, qualquer correspondência leva a que a máquina de estados avance para a direita enquanto qualquer falha leva a que a máquina de estados atravesse para um nível inferior. Contudo, noutras formas de realização, a 40/66 Máquina de Estados 500 pode ser estruturada de uma forma adequada para testar valores hash.
Contudo, assume-se que um valor hash de "2Z55" tenha sido reportado inicialmente pelo Módulo de Análise Sintáctica 210. Em vez de encontrar uma correspondência no primeiro nó 504, a Máquina de Estados 510 iria reportar um resultado negativo e avançar para o próximo nó 520 no índice 501, representando um valor hash "2Z55". Alternativamente, se nenhuma correspondência for encontrada num nó especifico, a Máquina de Estados 510 pode também avançar para o nó FAIL 515, que faz com que a Máquina de Estados reinicie e inicie no nó START 502 mais uma vez.
Portanto, assumindo que uma correspondência tenha ocorrido no primeiro nó no índice 501, a Máquina de Estados 212 aguarda então pelo próximo valor hash gerado pelo Módulo de Análise Sintáctica 210. Numa forma de realização, o próximo valor hash gerado é "2Z55". Deste modo, a Máquina de Estados 510 compara ο "2Z55" com o valor no nó 506 seguinte. Devido ao facto de o valor no nó seguinte ser também "2Z55", a Máquina de Estados 510 encontrará uma correspondência e avançará para o nó 508. Note-se, contudo, que se nenhuma correspondência for encontrada no nó 506, a Máquina de Estados 500 não avançar para o estado FAIL, em vez disso tentaria corresponder o valor hash no nó 507, representando "E4E9". Desta forma, o nó 506 representa uma bifurcação na Máquina de Estados 500, tal que duas sequências de valores hash podem começar com os valores hash de "3D59" e "2Z55", respectivamente.
Em resposta à recepção de valores hash gerados pelo Módulo de Análise Sintáctica 210, a Máquina de Estados 500 atravessa sequencialmente cada nó representado na Figura 5 até que não tenha sido identificada nenhuma correspondência, ou até ao fim 41/66 de uma sequência hash. Além disso, enquanto corresponde valores hash a cada valor hash na sequência de valores hash, a Máquina de Estados 500 pode também comparar o offset de tempo entre o valor hash gerado pelo Módulo de Análise Sintáctica 210 e o valor hash dentro da sequência hash. Se ambos os valores hash corresponderem e os valores de offset de tempo de ambos os valores hash corresponderem, a Máquina de Estados 500 pode determinar que ocorreu uma correspondência positiva. Noutra forma de realização, a Máquina de Estados 500 pode determinar que um valor hash especifico tenha correspondido com o offset de tempo de um valor hash dentro da sequência hash, permitindo um "buffer" ou uma margem de erro. De acordo com este exemplo especifico, a Máquina de Estados 500 determina que uma correspondência tenha ocorrido para a sequência hash de 3D59, 2Z55, A6E3 e 9Y95, após receber os respectivos valores hash gerados pelo Analisador Sintáctico 312 na Figura 3B.
Quando não existe correspondência, a Máquina de Estados 500 reinicia para o nó START 502 e recomeça o processo de correspondência quando o próximo valor hash for recebido pelo Módulo de Análise Sintáctica 210.
Note-se que através do funcionamento do DVR 200, a Máquina de Estados 500 tenta continuamente corresponder valores hash com sequências de valores hash. Quando uma correspondência positiva é efectuada para uma sequência hash completa, no passo 412, a Máquina de Estados 500 reporta uma correspondência bem-sucedida, fazendo com que o DVR 200 inspeccione os metadados associados com os dados da sequência de valores hash.
Noutras formas de realização, a Máquina de Estados 500 utiliza uma tabela hash para tentar corresponder valores hash com dados da sequência de valores hash. Uma tabela hash é uma estrutura de dados composta por uma matriz (ou tabela onde os dados a 42/66 serem procurados são armazenados) e uma função de mapeamento. Uma tabela hash é usada frequentemente na pesquisa de algoritmos e é uma estrutura de dados que é bem conhecida no meio.
Além disso, noutra forma de realização, o DVR 200 contém uma pluralidade de máquinas de estados. Por ter mais que uma máquina de estados a funcionar de cada vez, padrões múltiplos dentro da mesma sequência de valores hash podem ser identificados. Por exemplo, assumindo que os valores hash de "X6Y6, A4Z4 e B1C1" foram gerados a partir de um fluxo de conteúdo multimédia. Além disso, assumindo que existem dois padrões conhecidos, "ΧβΥβ, A4Z4" e "A4Z4, B1C1." Se apenas uma máquina de estados estivesse a funcionar no DVR 200, apenas um desses padrões seria reconhecido. Contudo, devido ao DVR 200 poder correr simultaneamente mais do que uma máquina de estados, o DVR 200 pode reconhecer ambos os padrões "ΧβΥβ, A4Z4" e "A4Z4, B1C1" dos valores hash "ΧβΥβ, A4Z4 e B1C1". Portanto, noutras formas de realização, o DVR 200 pode conter uma pluralidade de máquinas de estados, e cada máquina de estados pode representar diferentes padrões de dados em banda.
Fazendo referência à Figura 5B, os dados da sequência de valores hash são mostrados de acordo com uma forma de realização. Os dados da sequência de valores hash contêm Dados de Sequência 520A e Metadados 520B. A Dados de Sequência 520A corresponde aos dados representados na sequência de valores hash, bem como a diferença de tempo aproximada entre as ocorrências dos valores hash. Assim, como descrito acima, a Máquina de Estados 500 atravessa os nós como descreve a Figura 5A até que nenhuma correspondência seja encontrada num nivel particular, ou se o fim de uma sequência hash tenha sido encontrado. De acordo com uma forma de realização, a Máquina de Estados de Reconhecimento de Padrões 212 determina que a 43/66 sequência de valores hash 3D59, 2Z55, A6E3 e 9Y95, tenha sido correspondida com a geração dos mesmos valores hash do Módulo de Análise Sintáctica 210, baseados na diferença de tempo entre cada valor hash gerado. 3.1.4 Sincronização para Dados de Legenda Oculta
Quando um DVR determina que uma correspondência de padrão tenha ocorrido, utiliza os metadados descritos acima para se sincronizar ao fluxo de conteúdo multimédia. Em particular, o DVR utiliza os metadados para determinar a localização relativa de eventos ou programas de video dentro do fluxo de conteúdo multimédia. Assim, quando o DVR 102 determina que uma particular sequência de valores hash tenha sido gerada, o DVR 200 irá consultar os Metadados 520B para determinar a acção a tomar. Os Metadados 520B podem conter informação tal como informações de comandos e controlos, temporização do programa, informação do conteúdo, instruções de exibição e informações gráficas. Ainda assim, os Metadados 520B podem também conter Dados de Comando 522.
Uma vez que as Máquinas de Estado de Reconhecimento de Padrões 212 tenham determinado que os valores hash do fluxo de conteúdo multimédia correspondam a uma sequência hash especifica, então no passo 412, o DVR inspecciona os metadados da sequência hash associados com a sequência hash e responde de acordo. Dependendo do conteúdo dos metadados, um DVR tal como o DVR 102 pode responder de diversas formas para reconhecer uma sequência de valores hash. Por exemplo, os metadados podem conter informação que permita ao DVR reconhecer eventos dentro de um programa de video, sincronizar o programa de video ou o fluxo de conteúdo multimédia inteiro, exibir informação a um utilizador ou permitir que um programa futuro seja gravado. Ainda assim, noutras formas de realização, os metadados podem 44/66 conter informação que permite que o DVR desempenhe qualquer acção relativa ao fluxo de conteúdo multimédia, programa de vídeo ou operação do DVR, por exemplo, saltar anúncios ou outro conteúdo.
Assim, fazendo agora referência à Figura 6, um diagrama de blocos que ilustra um método para sincronizar acções e eventos a dados em banda é mostrado de acordo com uma forma de realização. A Tabela 606 representa dados da sequência de valores hash enquanto a Tabela 608 representa os metadados associados com a particular sequência hash. Neste exemplo em específico, a Tabela 606 contém a sequência hash de 3D59, 2Z55, A6E3 e 9Y95, bem como o tempo e valores de offset de tempo para cada valor hash. Como descrito acima, a informação é recebida pelo Servidor 106A ou qualquer outra fonte, e localizada no DVR 102 na forma de Máquinas de Estado de Reconhecimento de Padrões 212. O Conteúdo 600 representa um fluxo de conteúdo multimédia que contém um ou mais programas de vídeo. Enquanto reproduz ou grava o fluxo de conteúdo multimédia 600, o DVR indica a localização da sua reprodução dentro do Fluxo de Conteúdo 600 utilizando o cursor 604 que se move através de uma barra cache do programa que representa o material do programa como descrito na Patente americana n°. 6,850,691 e na Patente americana n°. 10/915,990, ambas denominadas "Multimedia Progress Indication System". Neste exemplo em específico, o cursor 604 está presentemente no tempo 1:12 do fluxo de conteúdo multimédia ou programa de vídeo. Enquanto reproduz através do Fluxo de Conteúdo 600, utilizando um módulo de Análise Sintáctica, o DVR gera um valor hash "3D59" no tempo :00, um valor hash "2Z55" no tempo :05, um valor hash "A6E3" no tempo :10 e um valor hash "9Y95" no tempo :12, que está presentemente na localização indicada pelo cursor 604. 45/66
Com os valores hash e os correspondentes dados de tempo gerados, o DVR determina que os valores hash correspondem aos dados da sequência de valores hash localizados na Tabela 606. De acordo com uma forma de realização, o DVR pode corresponder, positivamente, os valores hash com os dados da sequência dos valores hash comparando não só os valores hash actuais mas também os offsets de tempo para cada valor hash.
Depois de determinar uma correspondência, o DVR sabe agora onde está localizado no programa. Especificamente, o DVR determina que o cursor 604 está localizado 12 segundos após o inicio do começo especifico do programa, tendo em conta os dados da sequência do valor hash. A seguir, o DVR examina os metadados localizados na Tabela 608 para determinar a acção apropriada a tomar, de modo a corresponder aos dados de sequência do valor hash. De acordo com uma forma de realização, a Tabela 608 indica que o EVENTO 1 tem inicio no tempo :10. Ao examinar a localização actual do cursor 604, o DVR 102 pode calcular que o EVENTO 1 tem inicio aos :02 segundos antes da localização actual do cursor. Se o EVENTO 1 foi definido para apresentar um icone ao utilizador por 10 segundos, o DVR 102 pode apresentar o icone imediatamente por 8 segundos, uma vez que este sabe que já passaram 2 segundos após o inicio do EVENTO 1. Se o programa a ser reproduzido for uma gravação ou se o utilizador estiver a reproduzir uma transmissão em directo mas a sua localização de reprodução estiver a ter atrasos em relação à transmissão actual, o DVR 102 pode pesquisar à frente da presente localização de produção e calcular os valores hash à frente da presente localização de produção. Isto permite que o DVR 102 seja mais preciso na actuação de quaisquer acções associadas a um evento.
Posteriormente, após a inspecção da Tabela 608, o DVR pode determinar que o EVENTO 2 tenha inicio no tempo :40 do programa 46/66 de vídeo. Após a examinação da localização actual dentro do programa de vídeo, o DVR 102 determina que o EVENTO 2 tem início aos :28 segundos depois da última hash. Como o DVR 102 pode determinar a localização precisa dos EVENTOS 1 e 2 dentro do fluxo de conteúdo multimédia, o DVR 102 pode ser programado para reagir a esses eventos de qualquer forma. Por exemplo, de acordo com uma forma de realização, pode ser dada uma ordem ao DVR 102 para apresentar um ícone ao utilizador durante o EVENTO 2. Noutra forma de realização, o DVR 102 pode ser programado para começar a gravar o fluxo de conteúdo multimédia no EVENTO 2. Desta forma, a informação que identifica qualquer EVENTO 1 ou 2 pode ser utilizada para identificar um evento distinto dentro do programa de vídeo 600. Posteriormente, noutras formas de realização, a Tabela 608 pode definir outros eventos ou acções para um DVR assumir o reconhecimento da sequência hash. Por exemplo, após o reconhecimento da sequência hash 3D59, 2Z55, A6E3 e 9Y95, a tabela 608 poderá indicar que o DVR apresentará de imediato um ícone interactivo num dispositivo de visualização ao utilizador.
Posteriormente, uma vez que o DVR 102 reconheça os EVENTOS 1 e 2 dentro do programa de vídeo, o DVR 102 pode inserir marcadores de vídeo no fluxo de conteúdo multimédia nas localizações do EVENTO 1 e 2. De acordo com uma forma de realização, os marcadores de vídeo são objectos de dados intercalados no fluxo de conteúdo multimédia que contêm informações de vídeo e de áudio, tal como um fluxo de MPEG-2. Após os marcadores de vídeo terem sido aplicados ao fluxo de conteúdo multimédia, o fluxo de conteúdo multimédia é guardado para ser reproduzido mais tarde. Quando reproduzido, o DVR 102 processa o fluxo de conteúdo multimédia e encontra os marcadores de vídeo nas localizações exactas dos EVENTOS 1 e 2. Deste modo, uma vez que os marcadores de vídeo tenham sido colocados no fluxo de conteúdo multimédia, o DVR já não precisa 47/66 de reconhecer os dados de legenda oculta de modo a sincronizar o fluxo de conteúdo multimédia porque os eventos ou acções foram definidas pelos marcadores de vídeo, que são automaticamente processados em conjunto com as informações de vídeo e de áudio durante a reprodução. Os marcadores de vídeo são abordados com maior detalhe na Patente americana n°. 09/665,921, com o título "Closed-Caption Tagging System".
Embora o processo acima tenha sido descrito em relação ao DVR 102, o método pode ser realizado por qualquer outro dispositivo capaz de realizar tais passos, tal como o DVR 104, o PC 101A ou Dispositivo Portátil 101B. 3.2. Dados de Sinalização de Televisão Avançados
Outro tipo de dados dentro da banda, que podem ser utilizados para reconhecer padrões de dados dentro da banda são os Dados de Sinalização de Televisão Melhorada (ETV) . A ETV possibilita a utilização de aplicações interactivas a serem entregues "dentro da banda" com outros serviços de vídeo num fluxo de conteúdo multimédia. De modo a sincronizar as aplicações dentro da banda com os programas de vídeo, a ETV utiliza sinais de comando coordenados contra a cronometragem dos programas de vídeo. Estão disponíveis mais informações sobre as capacidades de sinalização para transmissão de dados dentro da banda na OpenCable Enhanced TV Application Messaging Specification (ETV-AM-102) que especifica as capacidades de sinalização para transmissão de dados em banda sincronizados com a linha de tempo de um serviço de vídeo.
De acordo com uma forma de realização, os dispositivos multimédia que suportam a ETV incluem um agente ETV para receber e processar os sinais de comando ETV. Os sinais de comando ETV fazem com que os dispositivos multimédia 48/66 descubram, descarreguem, lancem e encerrem as aplicações ETV em tempos específicos. Deste modo, de acordo com uma forma de realização, um dispositivo multimédia reconhece padrões de dados de sinalização ETV, que definem o início ou fim das aplicações com um fluxo de conteúdo multimédia ETV. Este pode ser implementado mediante a utilização de um Módulo de Análise Sintáctica 210 para identificar e extrair os dados de sinalização ETV do fluxo de conteúdo multimédia. Posteriormente, os sinais de comando ETV podem incluir informação adicional, tal como informação que descreva o conteúdo ETV ou programação. Adicionalmente, os sinais de comando ETV estão associados aos dados de tempo para processar a aplicação ETV no tempo certo. Ao utilizar estes dados de tempo, um dispositivo multimédia pode identificar uma posição relativa dentro de um fluxo de conteúdo multimédia. Deste modo, um dispositivo multimédia pode interpretar dados de sinalização ETV para determinar se um (a) evento ETV está a ocorrer e se o (b) evento ETV está sincronizado com uma parte particular ou segmento do programa de vídeo.
Assim, semelhante ao reconhecimento de sequências de valor hash em dados de legenda oculta, a Máquina de Estados de Reconhecimento de Padrões 212 pode ser utilizada para reconhecer padrões de sinais de comando ETV e informação de temporização. Como as aplicações ETV já se encontram sincronizadas com o programa de vídeo em anexo, um dispositivo multimédia pode sincronizar-se com um fluxo de conteúdo multimédia ao reconhecer padrões de dados de sinalização ETV. Tal como acontece com os dados de legenda oculta, uma vez que o dispositivo multimédia reconheça um padrão, o dispositivo multimédia poderá tomar acções similares às descritas acima, em relação às acções e eventos de sincronização para dados de legenda oculta. 49/66
4.0 ABORDAGEM PARA CRIAR E VISUALIZAR SEGMENTOS MULTIMEDIA PERSONALIZADOS 4.1. Selecção de Segmentos de Programas Multimédia por Parte do Utilizador
De acordo com uma forma de realização, os programas de vídeo num fluxo de conteúdo multimédia são apresentados a um utilizador de DVR num dispositivo de exibição de multimédia, tal como um écran de televisão ou um monitor de computador. Noutras formas de realização, os programas de vídeo podem ser apresentados num dispositivo de visualização, tal como um dispositivo portátil de visualização de multimédia. Um utilizador DVR pode controlar a reprodução do programa de vídeo utilizando uma interface de controlo, tal como um comando de controlo remoto.
Um utilizador pode assinalar secções de um programa multimédia ou colocar pontos de interesse que digam respeito ao conteúdo dentro do programa multimédia. Por exemplo, um utilizador poderá desejar assinalar os melhores momentos de uma gravação de um jogo de futebol. Uma vez que o utilizador assinale os momentos, este pode enviar as sequências de hash resultantes para um DVR de um amigo. Um método para transferir informação entre DVR é descrito na Patente americana n°. 10/220,558, com o título "System and 30 Method for Internet Access to a Personal Television Service" e na Patente americana n° . 10/741,596, com o título "Secure Multimedia Transfer System". O DVR do amigo poderá então reproduzir os pontos de interesse do utilizador para o amigo quando o amigo reproduz a sua cópia gravada do jogo. 0 DVR do amigo reproduz os pontos de interesse juntamente com a barra cache do programa, por exemplo exibidos no seu dispositivo de exibição. 50/66 0 DVR do amigo pré-processa o jogo gravado antes que o DVR comece a reproduzir o jogo, calculando os valores hash do jogo gravado e comparando os valores hash com as sequências hash recebidas. Isto permite que o DVR localize os pontos de interesse de um jogo gravado e exiba os pontos de interesse ao amigo. 0 amigo pode então avançar para os pontos de interesse utilizando o seu comando de controlo remoto.
Os utilizadores do DVR podem distribuir os seus próprios conjuntos de pontos de interesse para programas para outros utilizadores. Os utilizadores podem, posteriormente, adicionar metadados a cada ponto de interesse, o que fará com que o DVR exiba um texto ao espectador, por exemplo "Não é uma grande cena de acção?" 0 utilizador também pode adicionar metadados a um ponto de interesse que diz ao DVR para avançar x segundos no programa a partir daquele ponto de interesse ou exibir x segundos do programa antes de avançar para o próximo ponto de interesse. Isto permite que os utilizadores criem as suas próprias versões condensadas de um programa que eles possam distribuir pelos seus amigos, família, colegas de turma, estudantes, grupo de interesse, etc.
Adicionalmente, Também pode ser dada uma ordem ao DVR para reorganizar segmentos de um programa multimédia de um fluxo de conteúdo por inteiro. Um motivo para o fazer será quando o emissor tenha codificado os segmentos de um fluxo de conteúdo multimédia. Como resultado, os espectadores não autorizados não poderão visualizar claramente o fluxo de conteúdo multimédia. Contudo, o DVR organiza os segmentos na origem correcta para os espectadores autorizados. Posteriormente, os utilizadores poderão desejar reorganizar os segmentos do fluxo de conteúdo multimédia para criar os seus próprios programas multimédia personalizados. Os utilizadores poderão então arquivar os programas multimédia personalizados ou distribuir 51/66 os programas multimédia personalizados pelos seus amigos ou outros utilizadores DVR. Os programas multimédia personalizados podem incluir uma compilação de segmentos recuperados de fluxos de conteúdo multimédia diferentes, ou segmentos que tenham sido previamente arquivados no dispositivo de armazenamento do DVR.
Utilizando o método para reconhecer e sincronizar um sistema de computador aos dados dentro da banda como descrito acima, o DVR poderá facilmente desempenhar estas funções.
Por exemplo, quando um utilizador deseja guardar ou indicar a localização de um conteúdo em particular dentro do programa de video, o utilizador do DVR pode pressionar um botão na interface de controlo para o indicar. A interface de controlo envia um sinal ao DVR, o qual interpreta o sinal como uma selecção do utilizador. 0 DVR poderá então determinar o tempo dentro do programa que o utilizador tenha enviado a partir da interface de controlo e calcular um padrão de dados dentro da banda que é levado a esse ponto. 4.2 Criar Dados de Identificação de Eventos Iniciados pelo Utilizador para Programas Multimédia
Com referência à FIGURA 7, um diagrama de blocos, que ilustra um método para criar e visualizar segmentos multimédia dentro de um programa de video, é mostrado de acordo com uma forma de realização. Quando um fluxo de conteúdo multimédia 700A contém dados dentro da banda tais como Dados de legenda oculta (CC) 702 a serem gravados ou reproduzidos num DVR ou outro dispositivo, a informação de tempo, na forma de marcações temporais, é associada aos dados dentro da banda. Especificamente, como descrito acima, o fluxo de conteúdo multimédia que inclua os dados dentro da banda é compactado 52/66 em frames discretos de áudio, vídeo e dados. Quando compactados, é atribuído uma marcação temporal a cada frame. Estas marcações temporais podem ser utilizadas para seguir o tempo dos dados dentro da banda com o fluxo de conteúdo multimédia ou programa de vídeo.
Quando um utilizador visualiza um segmento de um programa de vídeo que pretenda guardar ou tomar nota dele, o utilizador pode fazer com que o DVR 102 marque o segmento ao seleccionar uma localização dentro do programa de vídeo. De acordo com uma forma de realização, uma interface gráfica do utilizador é apresentada num écran de visualização que incluí um programa de barras cache 700B e um cursor 708. O cursor indica a localização actual da reprodução do programa. Quando um utilizador desejar seleccionar uma localização dentro do programa de vídeo, o utilizador aguarda até que o cursor tenha atingido a localização desejada e, utilizando uma interface de controlo, tal como um comando de controlo remoto, selecciona a localização desejada. Quando o utilizador pressiona um botão no comando de controlo remoto, é enviado um sinal do comando de controlo remoto para o DVR, fazendo com que o DVR exiba um menu suspenso ao utilizador. O menu suspenso pode conter opções para o utilizador seleccionar em relação à localização desejada no programa de vídeo. De acordo com uma forma de realização, as opções disponíveis para o utilizador incluem marcadores de livros, avançar a localização, anexar uma nota, ou qualquer outra acção que possa ser executada em relação a um programa de vídeo.
De acordo com uma forma de realização, enquanto o programa de vídeo está em reprodução, um utilizador de DVR selecciona a localização 704 utilizando a interface de controlo. Quando o DVR recebe o sinal da interface de controlo, este reconhece que ocorreu uma selecção do utilizador e grava a localização 53/66 da selecção, o que ocorre no tempo :10. Neste momento, o DVR cria dados de identificação de eventos. Como descrito acima, os dados de identificação de eventos podem conter padrões ou sequências de dados dentro da banda, bem como metadados para identificar acções ou eventos dentro do fluxo de conteúdo multimédia.
Novamente, um tipo de dados dentro da banda são os dados de legenda oculta. De acordo com uma forma de realização, de modo a criar dados de identificação de eventos, o DVR procura por dados de legenda oculta suficientemente anteriores à localização 704 para criar uma sequência de valores hash única. A tabela 710 representa os dados de sequência de valor hash do segmento de vídeo 700. Os dados de sequência de valor hash podem indicar o valor hash, o tempo do valor hash e um offset de tempo para cada valor hash. De acordo com uma forma de realização, o offset de tempo indica a diferença no tempo entre a geração do valor hash e o valor hash anterior no programa de video.
Assim, a tabela 710 identifica valores hash "W5W4" e "M5M5", os quais precedem a localização 704. O DVR grava o tempo em que cada valor hash foi gerado de acordo com o método de legenda oculta, em particular, utilizado para exibir o texto de legenda oculta e o offset de tempo dos valores hash. Aqui, o valor hash "W5W4" ocorre no tempo :06 desde o inicio do programa e é o primeiro hash na sequência com um offset de tempo zero. O valor hash "M5M5" ocorre no tempo :08 desde o início do programa e está dois segundos após o valor hash "W5W4". Quando um DVR reconhece a sequência hash "W5W4, M5M5", o DVR pode identificar que uma acção é necessária imediatamente antes da reprodução actual na localização 704 e realizar a acção apropriada, tal como a exibição de um ícone. Os metadados podem indicar que 54/66 dois segundos após o reconhecimento da sequência hash "W5W4, M5M5", o ícone deve ser exibido.
Posteriormente, o utilizador pode também seleccionar uma segunda localização 706, que representa o fim de uma parte desejada de um segmento de vídeo que ocorre ao tempo :20. De acordo com uma forma de realização, o DVR analisa os dados CC entre os tempos :10 e :20, gera três valores hash "Z1B1, E5Y5 e A2R2", e grava o tempo em que cada valor hash foi gerado. Daí o valor hash "Z1B1" ocorrer primeiro (aqui, ao tempo : 12) , o valor hash "E5Y5" ocorrer dois segundos depois e o valor hash "A2R2" ocorrer quatro segundos depois do "E5Y5", neste exemplo em particular. Em conjunto, os valores iiasii "Z1B1, E5Y5eA2R2" representam a sequência hash para a segunda localização 706. Os metadados associados ao programa irão indicá-lo.
Assim, na tabela 710, o valor hash "ZlBl" ocorre no tempo zero uma vez que é o primeiro hash na sequência, o valor hash "E5Y5" ocorre dois segundos depois do valor hash "ZlBl", e o valor hash "A2R2" ocorre quatro segundos após o valor hash "E5Y5". Alternativamente, o offset de tempo pode ser relativo a qualquer parte do programa de vídeo, fluxo de conteúdo multimédia, localização no programa de vídeo ou fluxo, ou segmento de vídeo.
Quando um DVR reproduz o fluxo de conteúdo multimédia 700B utilizando a tabela 710 como dados de sequência de valor hash para a sua máquina de estados, este analisa os dados CC 702 e gera valores hash. Uma vez que o DVR tenha reconhecido o valor hash "A2R2", de acordo com o método descrito acima para o reconhecimento de sequências hash, o DVR pode executar uma acção de imediato, tal como exibir um ícone num écran de visualização ligado ao DVR. Neste caso, quando o DVR reconhece as sequências hash localizadas na Tabela 710, o DVR pode determinar o tempo exacto de início e fim do segmento de vídeo 55/66 entre as localizações 704 e 706 . Dada esta informação, os metadados associados aos dados de sequência de valor hash podem dar uma ordem ao DVR para avançar o segmento do programa entre as localizações 704 e 706, ou dar uma ordem ao DVR para arquivar o segmento de programa entre as localizações 704 e 706, por exemplo. O DVR pode reconhecer segmentos de vídeo relativos a qualquer fluxo de conteúdo multimédia utilizando as marcações temporais nos dados de sequência do valor hash. Assim, mesmo que um programa de vídeo tenha sido transmitido ou reproduzido em dois momentos diferentes e em localizações diferentes, os mesmos segmentos de vídeo podem ser reconhecidos utilizando as marcações temporais associadas aos valores hash. Mais especificamente, as marcações temporais são relativas à geração de valores hash, e não a um tempo local do DVR ou tempo de transmissão. Assim, assumindo que a maioria da programação será idêntica quando reproduzida em localizações diferentes ou em tempos diferentes, os segmentos de vídeo podem ser reconhecidos com uma grande precisão utilizando as marcações temporais dos valores hash. Note-se que embora a reflexão acima se foque nos dados de legenda oculta, a invenção não é limitada a tal forma de realização, e um DVR pode criar dados de identificação de eventos utilizando qualquer tipo de dados dentro da banda, tais como os dados de sinalização ETV. 4.3 Criar Conteúdo Marcado de Programa Multimédia
Após o reconhecimento dos eventos ou segmentos dentro de um programa de vídeo, o DVR 102 pode gerar marcadores que correspondem ao segmento ou eventos e inserir esses marcadores no fluxo de conteúdo multimédia nas localizações apropriadas. Cada marcador pode conter comandos e informações de controlo para que um dispositivo processe, traduza e aja de acordo com o marcador. Por exemplo, de acordo com uma forma de realização, 56/66 se um utilizador desejar avançar todo o conteúdo entre as localizações 704 e 706, depois de reconhecer a sequência hash associada ao segmento de vídeo, o DVR poderá simplesmente criar um marcador na localização 704, fazendo com que o DVR salte automaticamente 10 segundos para a localização 706, avançando assim o segmento de vídeo.
Posteriormente, os dados de marcadores são processados como fazendo parte do fluxo de conteúdo multimédia e é, portanto, automaticamente sincronizado com a reprodução do programa de vídeo. Com os dados de marcadores, um dispositivo que receba o fluxo de conteúdo multimédia pode automaticamente avançar para a localização seleccionada. Alternativamente, o marcador pode incluir informação que identifique o conteúdo relativo à localização dentro do programa de vídeo. Por exemplo, um marcador que corresponda à localização 704 no fluxo de conteúdo multimédia 700A pode incluir informação que identifique a localização como um intervalo num programa desportivo. Posteriormente, a localização 706 poderá ser o fim do intervalo. Assim, um DVR pode apresentar uma interface de utilizador a um utilizador, indicando que o intervalo do programa desportivo ocorre na localização 704 ou no tempo :10 e termina na localização 706 ou no tempo :20. Ao utilizar esta informação, o utilizador pode fazer com que o DVR avance a localização 704 anterior e avance directamente para a localização 706.
Enquanto inserindo os marcadores no fluxo de conteúdo multimédia para corresponder a eventos ou segmentos específicos, o DVR 102 pode remover os dados em banda do fluxo de conteúdo multimédia. Por exemplo, de acordo com uma forma de realização, o fluxo de conteúdo multimédia é um fluxo transportador de MPEG 2 que inclui alimentação de dados, vídeo e áudio separados. Os dados em banda originais estão 57/66 localizados na porção de dados do fluxo de conteúdo multimédia. Quando é criado um marcador, o marcador é inserido na porção de dados do fluxo multimédia. Além disso, quando os dados em banda são removidos, por exemplo, o PC 101 pode transferir o fluxo de conteúdo multimédia para um Dispositivo Portátil 101B. Devido aos marcadores terem sido colocados no fluxo de conteúdo multimédia e o fluxo de legendagem oculta tenha sido removido, o Dispositivo Portátil 101B não necessita de apresentar dados de legenda oculta. Em vez disso, os marcadores dentro do fluxo de conteúdo multimédia são processados automaticamente em sincronização com o fluxo de conteúdo multimédia enquanto o fluxo de conteúdo multimédia está a ser exibido a um utilizador. Mais detalhes sobre criar e inserir marcadores no fluxo de conteúdo multimédia são enunciado na Patente americana n°. 09/665,921 com o titulo "Closed Caption Tagging System".
Noutra forma de realização, um dispositivo de multimédia, tal como o DVR 102 ou o PC 101, podem simplesmente fornecer uma lista de localizações interessantes ao Dispositivo Portátil 101B. Assim, em vez de inserir marcadores no fluxo de conteúdo multimédia, o fluxo de conteúdo não é alterado, e o Dispositivo Portátil 101B pode identificar eventos dentro de um programa de vídeo usando a lista de localizações interessantes. A lista de localizações interessantes pode ser fornecida separadamente do fluxo de conteúdo multimédia a um Dispositivo Portátil 101B. De acordo com uma forma de realização, a lista de localizações interessantes inclui dados de tempo que identificam o tempo relativo a que um evento ocorre. Além disso, a lista de localizações interessantes pode também incluir dados adicionais, tais como os dados que descrevem cada evento. O Dispositivo Portátil 101B pode decidir utilizar os dados na lista de localizações interessantes de qualquer forma apropriada. 58/66
De acordo com uma forma de realização, a lista de localizações interessantes é gerada por um dispositivo de multimédia em resposta a uma entrada do utilizador. Por exemplo, um utilizador pode seleccionar uma ou mais localizações dentro de um programa de vídeo usando uma interface de controlo. Um dispositivo de multimédia recebe sinais da interface de controlo e determina quais as localizações no programa de vídeo foram seleccionadas. 0 dispositivo de multimédia pode fazer tal determinação através da examinação dos dados de tempo associados ao fluxo de conteúdo multimédia. 0 dispositivo de multimédia armazena então os dados que identificam cada localização seleccionada com os seus dados de tempo associados à lista de localizações interessantes e fornece a lista ao Dispositivo Portátil 101B.
Além disso, noutra forma de realização, um dispositivo de multimédia pode gerar uma lista de localizações interessantes após reconhecer eventos ou segmentos dentro de um programa de vídeo usando padrões de dados em banda. Por exemplo, um dispositivo de multimédia pode processar um fluxo de conteúdo multimédia inteiro antes de o fornecer a um Dispositivo Portátil 101B. Quando o dispositivo de multimédia reconhece um padrão de dados em banda, examina os metadados associados ao padrão de dados em banda e identifica eventos no programa de vídeo, incluindo os dados de tempo associados a cada evento. Usando os dados de tempo, o dispositivo multimédia gera uma lista de localizações interessantes que listam cada evento e o tempo a que ocorre o evento, relativo ao programa de vídeo ou fluxo de conteúdo multimédia. A lista de localizações interessantes é então fornecida ao Dispositivo Portátil 101B, que pode utilizar a lista para identificar as localizações no programa de vídeo. 59/66 4.4 Partilhar Dados de Identificação de Evento para Programas Multimédia
Como acima indicado, os utilizadores de DVR podem transferir dados de identificação de evento do seu DVR para outros DVR. Isto pode ser efectuado via transferência directa através de uma rede, ou por Internet, para outro DVR. Uma vez que o DVR receba os dados de identificação do evento, o utilizador do DVR pode ser notificado que um índice de programa personalizado foi recebido e também ser notificado sobre a que programa está relacionado. 0 utilizador pode então escolher reproduzir o programa usando o índice.
Além disso, um serviço do DVR pode actuar como um ponto de distribuição para dados de identificação do evento. Os dados de identificação do evento associados a um programa podem ser carregados para o Servidor 106A a partir do DVR. Quando o Servidor 106A recebe os dados de identificação do evento a partir do DVR, armazena os dados de identificação do evento num dispositivo de armazenamento local ou numa base de dados. 0 Servidor 106A pode fornecer dados de identificação do evento criados em múltiplos DVR para descarregar via Rede 105. Quando outro DVR 104 pretenda obter dados de identificação do evento associados a um programa específico, o Servidor 106A envia os dados de identificação do evento para o DVR 104 através da Rede 105. Assim, é activado um sistema para criar e visualizar segmentos de vídeo personalizados. 5.0 Mecanismos de Implementação A Figura 8 é um diagrama de blocos que ilustra um sistema informático 800 no qual pode ser implementada uma forma de realização da invenção. O sistema informático 800 inclui um barramento 802 ou outro mecanismo de comunicação para 6 0/66 comunicar informação, e um processador 804 juntamente com o barramento 802 para processar informação. O sistema informático 800 inclui também uma memória principal 806, tal como uma memória de acesso aleatória (RAM) ou outro dispositivo de armazenamento dinâmico, juntamente com o barramento 802 para armazenar informação e instruções a serem executadas pelo processador 804. A memória principal 806 pode também ser utilizada para armazenar variáveis temporárias ou outra informação intermediária durante a execução de instruções a serem executadas pelo processador 804. O sistema informático 800 ainda inclui uma memória só de leitura (ROM) 808 ou outro dispositivo de armazenamento estático juntamente com o barramento 802 para armazenar informação estática e instruções para o processador 804. Um dispositivo de armazenamento 810, tal como um disco magnético ou disco óptico, é fornecido e juntamente com o barramento 802 para armazenar informação e instruções. O sistema informático 800 pode ser acoplado via barramento 802 a um ecrã 812, tal como um tubo de raios catódicos (CRT) , para apresentar a informação a um utilizador do computador. Um dispositivo de entrada 814, incluindo teclas alfanuméricas e outras, está acoplado a um barramento 802 para comunicar informação e comandar selecções ao processador 804. Outro tipo de dispositivo de entrada é o controlo de cursor 816, tal como um rato, um trackball, ou teclas de direcção de cursor para comunicar a direcção da informação e comandar selecções ao processador 804, e para controlar o movimento do cursor num ecrã 812. Este dispositivo de entrada tem normalmente dois graus de liberdade em dois eixos, um primeiro eixo (por exemplo, x) e um segundo eixo (por exemplo, y), que permitem ao dispositivo especificar posições num plano. 61/66 A invenção está relacionada com o uso de um sistema informático 800 para implementar as técnicas aqui descritas. De acordo com uma forma de realização da invenção, essas técnicas são desempenhadas por um sistema informático 800 em resposta ao processador 804, executando uma ou mais sequências de uma ou mais instruções contidas na memória principal 806. Tais instruções podem ser lidas na memória principal 806 através de outro suporte de armazenamento legível por máquina, tal como o dispositivo de armazenamento 810. A execução das sequências de instruções contidas na memória principal 806 faz com que o processador 804 desempenhe os passos de processamento aqui descritos. Em formas de realização alternativas, circuitos com fios podem ser utilizados em vez de, ou em combinação com, instruções de software para implementar a invenção. Assim, as formas de realização da invenção não estão limitadas a qualquer combinação especifica de circuitos de hardware e software. O termo "meio legível por máquina" como aqui usado refere-se a qualquer meio que participe no fornecimento de dados que faz com que a máquina funcione de forma específica. Numa forma de realização implementada usando o sistema informático 800, vários suportes de armazenamento legível por máquina estão envolvidos, por exemplo, no fornecimento de instruções para o processador 804 executar. Tal suporte pode ter diversas formas, incluindo mas não limitado a, suporte não volátil, suporte volátil e suporte de transmissão. Suporte não volátil inclui, por exemplo, discos magnéticos ou ópticos, tal como o dispositivo de armazenamento 810. O suporte volátil inclui memória dinâmica, tal como a memória principal 806. O suporte de transmissão inclui cabos coaxiais, fios de cobre e fibra óptica, incluindo os fios que compreendem o barramento 802. O suporte de transmissão pode também ter a forma de ondas de luz ou acústicas, tais como as que são criadas durante as comunicações de dados por infravermelho e radiofrequência. 62/66
Tais suportes devem ser tangíveis para permitir que as instruções transportadas pelo suporte sejam detectadas por um mecanismo físico que leia as instruções a uma máquina.
As formas comuns de suportes legíveis por máquina incluem, por exemplo, uma disquete, uma disquete flexível, um disco rígido, uma fita magnética, ou qualquer outro tipo de meio magnético, um CD-ROM, qualquer outro meio óptico, cartões perfurados, fita perfurada, qualquer outro meio físico com padrões de orifícios, uma RAM, uma PROM e EPROM, uma FLASH-EPROM, qualquer outro chip ou cartucho de memória, uma onda portadora como descrita doravante, ou qualquer outro meio a partir do qual um computador possa ler. Várias formas de suportes de armazenamento legível por máquina podem ser envolvidos no transporte de uma ou mais sequências de uma ou mais instruções para o processador 804 executar. Por exemplo, as instruções podem ser transportadas inicialmente num disco magnético de um computador remoto. O computador remoto pode carregar as instruções para a sua memória dinâmica e enviar as instruções por uma linha telefónica utilizando um modem. Um modem de um sistema informático 800 pode receber os dados na linha telefónica e usar um transmissor infravermelho para converter os dados num sinal infravermelho. Um detector de infravermelhos pode receber os dados transportados no sinal infravermelho e circuitos apropriados podem colocar os dados no barramento 802. O barramento 802 transporta os dados para a memória principal 806, da qual o processador 804 recolhe e executa as instruções. As instruções recebidas pela memória principal 806 podem ser opcionalmente armazenadas no dispositivo de armazenamento 810, quer antes ou após a execução feita pelo processador 804. 6 3/66 0 sistema informático 800 inclui também uma interface de comunicação 818 acoplada ao barramento 802. A interface de comunicação 818 fornece uma comunicação de dados de duas vias, acoplando a uma ligação de rede 820 que está conectada a uma rede local 822. Por exemplo, a interface de comunicação 818 pode ser uma placa de Rede Digital com Integração de Serviços (ISDN) ou um modem para fornecer uma conexão de comunicação de dados a um tipo correspondente de linha telefónica. Como outro exemplo, a interface de comunicação 818 pode ser uma placa de rede local (LAN) para fornecer uma conexão de comunicação de dados a uma LAN compatível. Ligações Sem fios também podem ser implementadas. Em qualquer implementação, a interface de comunicação 818 envia e recebe sinais eléctricos, electromagnéticos ou ópticos que transportam fluxos de dados digitais representando vários tipos de informação. A ligação de rede 820 fornece, normalmente, comunicação de dados através de uma ou mais redes a outros dispositivos de dados. Por exemplo, a ligação de rede 820 pode fornecer uma conexão através da rede local 822 para um computador 824 ou para um equipamento de dados operado por um Prestador de Serviços de Internet (ISP) 826. O ISP 826, à vez, fornece serviços de comunicação de dados através da rede de comunicação de dados world wide packet, agora conhecido como "Internet" 828. A rede local 822 e a Internet 828 usam ambas sinais eléctricos, electromagnéticos ou ópticos que transportam fluxos de dados digitais. Os sinais através de várias redes e os sinais na ligação de rede 820 e através da interface de comunicação 818, que transporta os dados digitais para e do computador 800, são formas exemplares de ondas portadoras que transportam a informação. O computador 800 pode enviar mensagens e receber dados, incluindo o código do programa, através das redes, ligações 64/66 de rede 820 e interface de comunicação 818. No exemplo da Internet, um servidor 830 pode transmitir um código solicitado para um programa de aplicação através da Internet 828, ISP 826, rede local 822 e interface de comunicação 818. O código recebido pode ser executado pelo processador 804 assim que é recebido e/ou armazenado no dispositivo de armazenamento 810, ou outro armazenamento não volátil para uma posterior execução. Desta forma, o sistema informático 800 pode obter um código de aplicação na forma de uma onda portadora.
Na seguinte especificação, formas de realização da invenção têm sido descritas com referência a numerosos detalhes específicos que podem variar de implementação para implementação. Assim, o único e exclusivo indicador do que é a invenção, e é pretendido pelo Requerente ser a invenção, é um conjunto de reivindicações emitidas a partir deste pedido, na forma específica em que tais reivindicações são emitidas, incluindo qualquer correcção subsequente. Quaisquer definições expressamente aqui enunciadas para termos contidos em tais reivindicações devem reger o significado de tais termos usados nas reivindicações. Assim, nenhuma limitação, elemento, propriedade, característica, vantagem ou atributo, que não seja recitado expressamente numa reivindicação, deve limitar, de modo algum, o âmbito de tal reivindicação. Assim, a especificação e os desenhos devem ser considerados de forma ilustrativa e não de forma restritiva.
Lisboa, 14 de Maio de 2012 65/66
REFERÊNCIAS CITADAS NA DESCRIÇÃO
Esta lista de referências citadas pelo Titular tem como único objectivo ajudar o leitor e não forma parte do documento de patente europeia. Ainda que na sua elaboração se tenha tido o máximo cuidado, não se podem excluir erros ou omissões e o EPO não assume qualquer responsabilidade a este respeito.
Documentos de Pedidos de Patente citados na descrição
.US 09665921 B
.US 6233389 B
.US 20050226601 AI
.US 11284487 B
.US 665921 A
.US 6215526 B .US 6850691 B .US 915990 A . US 220558 A .US 741596 A 6 6/66

Claims (11)

  1. Reivindicações 1. Um método para processar dados em banda num dispositivo multimédia, que inclui: receber um fluxo de conteúdo multimédia (600, 700A, 700B), onde o fluxo de conteúdo multimédia (600, 700A, 700B) contém dados em banda; processar os dados em banda, incluindo o cálculo de, pelo menos dois valores hash (314A-314D) dos dados em banda e um período de tempo entre a geração de, pelo menos dois valores hash calculados (314A-314D); determinar que, pelo menos dois valores hash calculados (314A-314D) e o período de tempo entre a geração dos, pelo menos dois valores hash calculados (314A-314D), correspondem a um padrão particular associado a um ou mais eventos, onde o período de tempo corresponde dentro de uma margem de erro; e identificar o, ou mais eventos com capacidade de resposta para determinar que o padrão específico corresponde dentro da margem de erro.
  2. 2. O método da reivindicação 1, onde os dados em banda são dados de legenda oculta (702) e/ou dados de sinalização de Televisão Melhorada (ETV). 3.0 método da reivindicação 1, compreende ainda o passo de: em resposta à identificação de um ou mais eventos no fluxo de conteúdo multimédia (600, 700A, 700B): apresentar um ícone a um utilizador num ecrã enquanto o fluxo de conteúdo multimédia (600, 700A, 700B) é exibido a um utilizador; e/ou 1/4 armazenar um ou mais segmentos do fluxo de conteúdo multimédia (600, 700A, 700B) no dispositivo multimédia que está relacionado com o, ou mais eventos identificados.
  3. 4. O método da Reivindicação 1, em que o fluxo de conteúdo multimédia (600, 700A, 700B) compreende ainda um ou mais programas de vídeo, e onde o passo de identificação identifica um ou mais eventos em um ou mais programas de vídeo.
  4. 5. O método da Reivindicação 1, em que o passo determinante compreende ainda: processar os metadados associados ao padrão específico correspondido.
  5. 6. O método da Reivindicação 5, em que os metadados encarregam o dispositivo multimédia de: desempenhar uma acção; e/ou saltar sobre um segmento do fluxo de conteúdo multimédia (600, 700A, 700B); e/ou reorganizar dois ou mais segmentos do fluxo de conteúdo multimédia (600, 700A, 700B). 7.0 método da Reivindicação 6 compreende ainda: criar, no dispositivo multimédia, um fluxo de conteúdo multimédia (600, 700A, 700B) personalizado, contendo os dois ou mais segmentos reorganizados; e apresentar o fluxo de conteúdo multimédia (600, 700A, 700B) personalizado a um utilizador. 2/4 8. 0 método da Reivindicação 5, em que os metadados associados à localização identificada encarregam o dispositivo de multimédia de armazenar um ou mais segmentos do fluxo de conteúdo (600, 700A, 700B) no dispositivo de armazenamento (214), e em que o dispositivo de armazenamento (214) contém um ou mais segmentos extraídos de um ou mais diferentes fluxos de conteúdo (600, 700A, 700B). 9.0 método da Reivindicação 8 compreende ainda: criar, no dispositivo de multimédia, um fluxo de conteúdo multimédia personalizado, contendo quaisquer combinações de segmentos armazenados no dispositivo de armazenamento (214), e apresentar o fluxo de conteúdo personalizado a um utilizador.
  6. 10. O método da Reivindicação 1 compreende ainda: durante a reprodução do conteúdo multimédia, saltar para uma localização, no conteúdo multimédia, associado a um evento identificado.
  7. 11. O método da Reivindicação 1 compreende ainda: receber dados de identificação do evento associando um ou mais padrões de dados em banda a um ou mais eventos; e armazenar os dados de identificação do evento num dispositivo de armazenamento (214), como parte da pluralidade de padrões.
  8. 12. O método da Reivindicação 11, em que o dispositivo de armazenamento (214) é: 3/4 um disco rígido; e/ou dispositivo de armazenamento amovível; e/ou um suporte de armazenamento volátil; e/ou um suporte de armazenamento não volátil. 13. 0 método da Reivindicação 1, em que o fluxo de conteúdo multimédia (600, 700A, 700B) é um fluxo de um programa televisivo.
  9. 14. O método da Reivindicação 1 compreende ainda desempenhar uma acção em resposta à identificação de um ou mais eventos.
  10. 15. Um aparelho para processar os dados em banda num dispositivo de multimédia, o aparelho sendo adaptado para desempenhar o método de qualquer uma das Reivindicações 1 à 14.
  11. 16. Um meio de armazenamento legível por computador com uma ou mais sequências de instruções para processar dados em banda num dispositivo multimédia, cujas instruções, quando executadas por um ou mais processadores (804), fazem com que o um ou mais processadores (804) realizem as acções do método de qualquer uma das reivindicações. Lisboa, 14 de Maio de 2012 4/4
PT06773937T 2006-06-22 2006-06-23 Sincronização de conteúdo multimédia com eventos baseados no reconhecimento de sequências de valores hash PT2036343E (pt)

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
PT2036343E true PT2036343E (pt) 2012-05-28

Family

ID=38833884

Family Applications (1)

Application Number Title Priority Date Filing Date
PT06773937T PT2036343E (pt) 2006-06-22 2006-06-23 Sincronização de conteúdo multimédia com eventos baseados no reconhecimento de sequências de valores hash

Country Status (11)

Country Link
US (7) US7661121B2 (pt)
EP (3) EP2434756B1 (pt)
JP (3) JP5060552B2 (pt)
CN (2) CN102098478B (pt)
AT (1) ATE546014T1 (pt)
AU (2) AU2006344735C1 (pt)
CA (1) CA2653558C (pt)
ES (1) ES2381760T3 (pt)
HK (2) HK1131707A1 (pt)
PT (1) PT2036343E (pt)
WO (1) WO2007149100A2 (pt)

Families Citing this family (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7558472B2 (en) 2000-08-22 2009-07-07 Tivo Inc. Multimedia signal processing system
US6233389B1 (en) 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
EP1885128A3 (en) * 1999-09-20 2008-03-12 Tivo, Inc. Closed caption tagging system
WO2001047273A1 (en) * 1999-12-21 2001-06-28 Tivo, Inc. Intelligent system and methods of recommending media content items based on user preferences
US8346605B2 (en) 2004-06-07 2013-01-01 Sling Media, Inc. Management of shared media content
US9998802B2 (en) 2004-06-07 2018-06-12 Sling Media LLC Systems and methods for creating variable length clips from a media stream
US7917932B2 (en) 2005-06-07 2011-03-29 Sling Media, Inc. Personal video recorder functionality for placeshifting systems
JP2008504793A (ja) 2004-06-07 2008-02-14 スリング メディア,インク. パーソナルメディア放送システム
US7975062B2 (en) 2004-06-07 2011-07-05 Sling Media, Inc. Capturing and sharing media content
US7769756B2 (en) 2004-06-07 2010-08-03 Sling Media, Inc. Selection and presentation of context-relevant supplemental content and advertising
CN102665112B (zh) 2004-11-19 2015-08-19 Tivo股份有限公司 用于多媒体内容的安全传输和回放的方法和设备
US8069461B2 (en) 2006-03-30 2011-11-29 Verizon Services Corp. On-screen program guide with interactive programming recommendations
US7873982B2 (en) * 2006-06-22 2011-01-18 Tivo Inc. Method and apparatus for creating and viewing customized multimedia segments
US7661121B2 (en) * 2006-06-22 2010-02-09 Tivo, Inc. In-band data recognition and synchronization system
US8418217B2 (en) 2006-09-06 2013-04-09 Verizon Patent And Licensing Inc. Systems and methods for accessing media content
US8464295B2 (en) 2006-10-03 2013-06-11 Verizon Patent And Licensing Inc. Interactive search graphical user interface systems and methods
US8566874B2 (en) 2006-10-03 2013-10-22 Verizon Patent And Licensing Inc. Control tools for media content access systems and methods
US8595760B1 (en) * 2006-11-22 2013-11-26 Amdocs Software Systems Limited System, method and computer program product for presenting an advertisement within content
CA2612348C (en) * 2006-11-28 2013-04-30 Innovative Chemical Technologies Canada Ltd. Recycling of oil-based drilling muds
US8510780B2 (en) 2006-12-21 2013-08-13 Verizon Patent And Licensing Inc. Program guide navigation tools for media content access systems and methods
US8015581B2 (en) 2007-01-05 2011-09-06 Verizon Patent And Licensing Inc. Resource data configuration for media content access systems and methods
US8126262B2 (en) * 2007-06-18 2012-02-28 International Business Machines Corporation Annotating video segments using feature rhythm models
US8103965B2 (en) 2007-06-28 2012-01-24 Verizon Patent And Licensing Inc. Media content recording and healing statuses
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
US8136140B2 (en) 2007-11-20 2012-03-13 Dish Network L.L.C. Methods and apparatus for generating metadata utilized to filter content from a video stream using text data
US8051447B2 (en) 2007-12-19 2011-11-01 Verizon Patent And Licensing Inc. Condensed program guide for media content access systems and methods
US20110191809A1 (en) 2008-01-30 2011-08-04 Cinsay, Llc Viral Syndicated Interactive Product System and Method Therefor
US8312486B1 (en) 2008-01-30 2012-11-13 Cinsay, Inc. Interactive product placement system and method therefor
US11227315B2 (en) 2008-01-30 2022-01-18 Aibuy, Inc. Interactive product placement system and method therefor
US8606085B2 (en) * 2008-03-20 2013-12-10 Dish Network L.L.C. Method and apparatus for replacement of audio data in recorded audio/video stream
US9113214B2 (en) 2008-05-03 2015-08-18 Cinsay, Inc. Method and system for generation and playback of supplemented videos
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
US9183885B2 (en) 2008-05-30 2015-11-10 Echostar Technologies L.L.C. User-initiated control of an audio/video stream to skip interstitial content between program segments
US20090307741A1 (en) * 2008-06-09 2009-12-10 Echostar Technologies L.L.C. Methods and apparatus for dividing an audio/video stream into multiple segments using text data
CN101350826B (zh) * 2008-08-22 2012-09-05 中兴通讯股份有限公司 用于通信系统的图片或多媒体视频图片的监控方法
US8515338B2 (en) * 2008-12-12 2013-08-20 At&T Intellectual Property I, L.P. Systems and methods for synchronized playout of music on several personal digital music players
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
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
US8510771B2 (en) * 2008-12-24 2013-08-13 Echostar Technologies L.L.C. Methods and apparatus for filtering content from a presentation stream using signature data
US8326127B2 (en) * 2009-01-30 2012-12-04 Echostar Technologies L.L.C. Methods and apparatus for identifying portions of a video stream based on characteristics of the video stream
US20100228736A1 (en) * 2009-02-20 2010-09-09 All Media Guide, Llc Recognizing a disc
US20100228704A1 (en) * 2009-02-20 2010-09-09 All Media Guide, Llc Recognizing a disc
US8438596B2 (en) 2009-04-08 2013-05-07 Tivo Inc. Automatic contact information transmission system
US20100269147A1 (en) 2009-04-15 2010-10-21 Echostar Technologies Llc Video stream index generation at a video content transmitter
US8620967B2 (en) 2009-06-11 2013-12-31 Rovi Technologies Corporation Managing metadata for occurrences of a recording
US8437617B2 (en) * 2009-06-17 2013-05-07 Echostar Technologies L.L.C. Method and apparatus for modifying the presentation of content
US8325276B2 (en) * 2009-08-26 2012-12-04 Samsung Electronics Co., Ltd. System and method for real-time video content sharing with synchronization via closed-caption metadata
US8621099B2 (en) 2009-09-21 2013-12-31 Sling Media, Inc. Systems and methods for formatting media content for distribution
EP2520084A4 (en) * 2009-12-29 2013-11-13 Tv Interactive Systems Inc METHOD FOR IDENTIFYING VIDEO SEGMENTS AND DISPLAYING A CONTEXTUALLY TARGETED CONTENT ON A CONNECTED TELEVISION
US8670648B2 (en) 2010-01-29 2014-03-11 Xos Technologies, Inc. Video processing methods and systems
US20110197224A1 (en) * 2010-02-09 2011-08-11 Echostar Global B.V. Methods and Apparatus For Selecting Advertisements For Output By A Television Receiver Based on Social Network Profile Data
US8934758B2 (en) 2010-02-09 2015-01-13 Echostar Global B.V. Methods and apparatus for presenting supplemental content in association with recorded content
US8930849B2 (en) 2010-03-31 2015-01-06 Verizon Patent And Licensing Inc. Enhanced media content tagging systems and methods
US8352990B2 (en) 2010-05-10 2013-01-08 Encore Interactive Inc. Realtime broadcast stream and control data conversion system and method
US8983952B1 (en) * 2010-07-29 2015-03-17 Symantec Corporation System and method for partitioning backup data streams in a deduplication based storage system
US8468453B2 (en) 2010-08-12 2013-06-18 Echostar Technologies L.L.C. User-selected media content blocking
KR101737325B1 (ko) * 2010-08-19 2017-05-22 삼성전자주식회사 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
US11227330B2 (en) 2010-09-03 2022-01-18 Lee Martin Stewart Determining a part having an anomaly in equipment and initiating an electronic transaction for replacing the part using a three-dimensional (3D) model of the equipment
US8745683B1 (en) * 2011-01-03 2014-06-03 Intellectual Ventures Fund 79 Llc Methods, devices, and mediums associated with supplementary audio information
US8935300B1 (en) 2011-01-03 2015-01-13 Intellectual Ventures Fund 79 Llc Methods, devices, and mediums associated with content-searchable media
US9383928B2 (en) * 2011-06-13 2016-07-05 Emc Corporation Replication techniques with content addressable storage
US9219945B1 (en) * 2011-06-16 2015-12-22 Amazon Technologies, Inc. Embedding content of personal media in a portion of a frame of streaming media indicated by a frame identifier
US9535450B2 (en) * 2011-07-17 2017-01-03 International Business Machines Corporation Synchronization of data streams with associated metadata streams using smallest sum of absolute differences between time indices of data events and metadata events
US8437622B2 (en) 2011-08-23 2013-05-07 Echostar Technologies L.L.C. Altering presentation of received content based on use of closed captioning elements as reference locations
WO2013033239A1 (en) 2011-08-29 2013-03-07 Cinsay, Inc. Containerized software for virally copying from one endpoint to another
EP4250749A3 (en) 2012-03-13 2023-11-29 TiVo Solutions Inc. Automatic commercial playback system
US8918311B1 (en) 2012-03-21 2014-12-23 3Play Media, Inc. Intelligent caption systems and methods
TWI519167B (zh) * 2012-04-23 2016-01-21 廣達電腦股份有限公司 運用後設資料來進行目標辨識與事件重現之系統
WO2013173806A2 (en) * 2012-05-17 2013-11-21 Google Inc. Systems and methods for determining a likelihood that an entity is an author of original content
WO2013173805A1 (en) 2012-05-17 2013-11-21 Google Inc. Systems and methods re-ranking ranked search results
US10789631B2 (en) 2012-06-21 2020-09-29 Aibuy, Inc. Apparatus and method for peer-assisted e-commerce shopping
US9607330B2 (en) 2012-06-21 2017-03-28 Cinsay, Inc. Peer-assisted shopping
US8819759B2 (en) 2012-06-27 2014-08-26 Google Technology Holdings LLC Determining the location of a point of interest in a media stream that includes caption data
EP2901585A1 (en) * 2012-09-26 2015-08-05 ALi Europe Sàrl Digital converter
US9379932B1 (en) 2013-03-07 2016-06-28 Google Inc. Personal video recorder with limited attached local storage
US9173004B2 (en) 2013-04-03 2015-10-27 Sony Corporation Reproducing device, reproducing method, program, and transmitting device
FR3004881B1 (fr) 2013-04-19 2015-04-17 Kolor Procede de generation d'un flux video de sortie a partir d'un flux video large champ
JP6653256B2 (ja) 2013-09-11 2020-02-26 アイバイ,インコーポレイテッド ライブビデオコンテンツの動的バインド
CN105580042B (zh) 2013-09-27 2022-03-11 艾拜公司 用于支持与内容供应相关联的关系的装置和方法
CA2922016A1 (en) 2013-09-27 2015-04-02 Cinsay, Inc. N-level replication of supplemental content
US9456170B1 (en) 2013-10-08 2016-09-27 3Play Media, Inc. Automated caption positioning systems and methods
CN103701909B (zh) * 2013-12-26 2018-06-26 乐视致新电子科技(天津)有限公司 视频应用的快速生成方法及系统
US20150332730A1 (en) * 2014-05-16 2015-11-19 Sumit Bohra System and method for removing commercial advertisement from recorded tv programs
US9575680B1 (en) 2014-08-22 2017-02-21 Veritas Technologies Llc Deduplication rehydration
US11051075B2 (en) 2014-10-03 2021-06-29 Dish Network L.L.C. Systems and methods for providing bookmarking data
GB2534087A (en) * 2014-11-07 2016-07-13 Fast Web Media Ltd A video signal caption system and method for advertising
US10303666B2 (en) 2015-03-09 2019-05-28 International Business Machines Corporation File transfer system using file backup times
US10015541B2 (en) 2015-03-25 2018-07-03 Cisco Technology, Inc. Storing and retrieval heuristics
US9578394B2 (en) 2015-03-25 2017-02-21 Cisco Technology, Inc. Video signature creation and matching
US10303887B2 (en) 2015-09-14 2019-05-28 T0.Com, Inc. Data verification methods and systems using a hash tree, such as a time-centric merkle hash tree
WO2017059384A1 (en) * 2015-09-30 2017-04-06 Tivo Inc. Synchronizing media content tag data
US10033928B1 (en) 2015-10-29 2018-07-24 Gopro, Inc. Apparatus and methods for rolling shutter compensation for multi-camera systems
US9973696B1 (en) 2015-11-23 2018-05-15 Gopro, Inc. Apparatus and methods for image alignment
US9792709B1 (en) 2015-11-23 2017-10-17 Gopro, Inc. Apparatus and methods for image alignment
US9848132B2 (en) * 2015-11-24 2017-12-19 Gopro, Inc. Multi-camera time synchronization
US9602795B1 (en) 2016-02-22 2017-03-21 Gopro, Inc. System and method for presenting and viewing a spherical video segment
US9973746B2 (en) 2016-02-17 2018-05-15 Gopro, Inc. System and method for presenting and viewing a spherical video segment
GB2556612B (en) * 2016-04-18 2022-03-09 Grass Valley Ltd Monitoring audio-visual content with captions
US10387631B2 (en) * 2016-05-06 2019-08-20 Enterpriseweb Llc Systems and methods for domain-driven design and execution of modular and dynamic services, applications and processes
US10432855B1 (en) 2016-05-20 2019-10-01 Gopro, Inc. Systems and methods for determining key frame moments to construct spherical images
GB2552349B (en) * 2016-07-20 2019-05-22 Law Malcolm Sample synchronisation
US9934758B1 (en) 2016-09-21 2018-04-03 Gopro, Inc. Systems and methods for simulating adaptation of eyes to changes in lighting conditions
US10268896B1 (en) 2016-10-05 2019-04-23 Gopro, Inc. Systems and methods for determining video highlight based on conveyance positions of video content capture
US10194101B1 (en) 2017-02-22 2019-01-29 Gopro, Inc. Systems and methods for rolling shutter compensation using iterative process
WO2019010228A1 (en) 2017-07-03 2019-01-10 Medici Ventures, Inc. DECENTRALIZED NEGOTIATION SYSTEM FOR FAIR ORDERING AND MATCHING OF TRANSACTIONS RECEIVED AT MULTIPLE NETWORK NODE AND CORRELATED BY MULTIPLE NETWORK NODES IN A DECENTRALIZED NEGOTIATION SYSTEM
US11418858B2 (en) 2017-09-01 2022-08-16 Roku, Inc. Interactive content when the secondary content is server stitched
CN108259965B (zh) * 2018-03-31 2020-05-12 湖南广播电视台广播传媒中心 一种视频剪辑方法和剪辑系统
CN108600773B (zh) * 2018-04-25 2021-08-10 腾讯科技(深圳)有限公司 字幕数据推送方法、字幕展示方法、装置、设备及介质
US11469881B2 (en) * 2018-12-26 2022-10-11 Korea Institute Of Science And Technology Apparatus and method for forgery prevention of digital information
US11483496B2 (en) * 2019-04-21 2022-10-25 Oran Gilad System and method for synchronizing auxiliary content to a video stream
US11172269B2 (en) 2020-03-04 2021-11-09 Dish Network L.L.C. Automated commercial content shifting in a video streaming system
US11252460B2 (en) 2020-03-27 2022-02-15 The Nielsen Company (Us), Llc Signature matching with meter data aggregation for media identification
CN111597885A (zh) * 2020-04-07 2020-08-28 上海推乐信息技术服务有限公司 一种视频附加内容检测方法和系统
US11770588B2 (en) * 2020-12-07 2023-09-26 Rovi Guides, Inc. Systems and methods for dynamically syncing from time-shifted frame to live stream of content
US11490167B2 (en) * 2020-12-07 2022-11-01 Rovi Guides, Inc. Systems and methods for dynamically syncing from time-shifted frame to live stream of content
US11490153B2 (en) 2020-12-07 2022-11-01 Rovi Guides, Inc. Systems and methods for dynamically syncing from time-shifted frame to live stream of content
US11735186B2 (en) 2021-09-07 2023-08-22 3Play Media, Inc. Hybrid live captioning systems and methods

Family Cites Families (264)

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

Also Published As

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

Similar Documents

Publication Publication Date Title
US11825144B2 (en) In-band data recognition and synchronization system
CA2653308C (en) Method and apparatus for creating and viewing customized multimedia segments