MÉTODOS DE RECUPERAÇÃO DE ANOTAÇÕES, MÉTODO DE ARMAZENAMENTO DE ANOTAÇÕES, SISTEMA DE RECUPERAÇÃO DE ANOTAÇÕES E PRODUTO DE PROGRAMA DE COMPUTADOR. Relatório Descritivo
Campo Técnico
As modalidades reveladas relacionam-se em geral com a criação e apresentação de anotações para vídeo e ao compartilhamento e edição colaborativos de anotações através de uma rede. Antecedentes
As anotações proporcionam um mecanismo para suplementação de vídeo com informações úteis. As anotações podem conter, por exemplo, metadados que descrevem o conteúdo do vídeo, subtítulos ou trilhas de áudios adicionais. As anotações podem ser de vários tipos de dados, incluindo texto, áudio, imagem gráfica ou outras formas. Para 15 seu conteúdo significante, as anotações são tipicamente associadas a um vídeo particular ou a uma parte particular de um vídeo.
Um método pelo qual as informações úteis contidas em anotações podem ser trocadas é pela transferência de vídeo anotado através de uma rede. Todavia, transferir conteúdo de vídeo através de 20 uma rede introduz vários obstáculos. Primeiro, os arquivos de vídeo são geralmente bastante extensos e transferir vídeo exige quantidades substanciais de largura de banda, assim como computadores hospedeiros e recipientes que podem suportar as necessidades de largura de banda e de memória exigidas. Segundo, muitos arquivos de vídeo 25 provavelmente são protegidos por direitos autorais ou estão de outra forma proibidos de serem distribuídos sem o pagamento de uma taxa. A obediência às restrições de direitos autorais exige investimentos de software e de hardware adicionais para prevenir cópia não autorizada. Terceiro, como o recipiente de um vídeo anotado pode já ter uma có30 pia não anotada do vídeo, de uma perspectiva de eficiência de dados, a
Petição 870180141410, de 16/10/2018, pág. 4/13
2/32 transferência de uma cópia anotada do vídeo para tal recipiente não necessariamente consome ambas as largura de banda e memória.
Deste modo, trocar vídeo anotado pela transferência de uma cópia completa do vídeo é uma solução inadequada.
Sumário
As anotações associadas a um arquivo de mídia são transferidas entre os dispositivos independentemente do arquivo de mídia associado, enquanto se mantém a apropriada relação temporal ou espacial da anotação com qualquer segmento do arquivo de mídia. Uma anotação associada a um arquivo de mídia é indexada a uma primeira instância daquele arquivo de mídia. Um mapeamento é criado entre a primeira instância do arquivo de mídia e uma segunda instância do arquivo de mídia pela comparação das características das duas instâncias. A anotação pode ser indexada à segunda instância usando o mapeamento entre as primeira e segunda instâncias. A anotação pode ser exibida, armazenada ou modificada baseado na indexação à segunda instância.
Comparar as características das instâncias permite que as anotações sejam consistentemente indexadas a uma pluralidade de instâncias independentemente adquiridas de um arquivo de mídia. A indexação consistente de anotações suporta o compartilhamento de anotações e permite uma comunidade colaborativa de autores, editores e consumidores de anotação. As anotações podem incluir anúncios ou conteúdo premium (de melhor qualidade) a serem pagos. Os privilégios para submeter, editar ou visualizar as anotações podem ser oferecidos para a venda com base numa subscrição, isentos de cobrança, ou podem ser embutidos com a compra de arquivos de mídia.
De acordo com uma modalidade, um primeiro usuário submete a um servidor de anotação anotações que são indexadas à sua instância de um arquivo de mídia. O servidor de anotação mapeia a
3/32 instância do arquivo de mídia do primeiro usuário para uma instância canônica do arquivo de mídia e armazena a anotação submetida indexada à instância canônica do arquivo de mídia. Um segundo usuário requisita as anotações e o servidor de anotação mapeia a instância do arquivo de mídia do segundo usuário para a instância canônica do arquivo de mídia. O servidor de anotação envia a anotação para o segundo usuário indexada à instância do arquivo de mídia do segundo usuário.
As características e vantagens descritas neste sumário e a descrição detalhada seguinte não abrangem tudo. Muitas características e vantagens adicionais serão evidentes para uma pessoa com capacidade ordinária na técnica à vista dos desenhos, especificação e reivindicações daqui.
Breve Descrição dos Desenhos
A Figura 1 mostra uma rede que se conecta a uma comunidade de provedores de vídeo e consumidores.
A Figura 2 ilustra molduras de um vídeo e a indexação de anotações a uma ou mais molduras.
A Figura 3 ilustra molduras de duas instâncias de um vídeo.
A Figura 4(a) ilustra anotações indexadas a uma instância canônica de vídeo.
A Figura 4(b) ilustra o mapeamento de uma instância cliente de vídeo para uma instância canônica de vídeo.
A Figura 5 ilustra uma modalidade para armazenar vídeo e anotações.
A Figura 6 é um traço de evento da exibição e modificação de anotações associadas a um vídeo.
A Figura 7(a) ilustra uma interface com o usuário para vi4/32 sualizar, criar e editar anotações.
A Figura 7(b) ilustra uma interface com o usuário para criar uma nova anotação.
A Figura 8 ilustra um método para determinar quais anota5 ções a exibir.
As Figuras representam várias modalidades da presente invenção para propósitos de ilustração somente. Uma pessoa qualificada na técnica prontamente reconhecerá a partir da discussão seguinte que as modalidades alternativas das estruturas e métodos ilustrados aqui 10 podem ser empregadas sem se desviar dos princípios da invenção aqui descritos.
Descrição das Modalidades
A Figura 1 mostra uma rede que se conecta a uma comunidade de provedores de vídeo e consumidores. A Figura 1 ilustra uma 15 modalidade pela qual uma pluralidade de usuários pode trocar vídeos e anotações. O vídeo é usado aqui como um exemplo de um arquivo de mídia ao qual a anotação pode ser associada. Este exemplo é escolhido para os propósitos de ilustração e não é limitante. Outros tipos de arquivos de mídia aos quais as anotações podem ser associadas inclu20 em, mas, sem limitação, programas de áudio, Flash, filmes (em qualquer formato de codificação), apresentações de slide, coleções de fotografia, programas animados e outros documentos. Outros exemplos serão evidentes para uma pessoa com capacidade na técnica sem se - desviar do escopo da presente invenção.
Um usuário visualiza, cria e edita anotações usando um cliente 104. Uma anotação é qualquer dado que pode suplementar de forma útil um arquivo de mídia. Por exemplo, uma anotação pode ser um comentário de áudio ou de texto, tradução, anúncio ou sumário, avaliação numa escala predeterminada (1-5 estrelas), metadados ou um comando para como o arquivo de mídia deveria ser exibido. Uma
5/32 anotação também pode incluir conteúdo de vídeo. Os clientes 104 incluem software e hardware para exibição de vídeo. Por exemplo, um cliente 104 pode ser implementado como uma televisão, um computador pessoal, um gravador de vídeo digital (DVR), um assistente digital 5 pessoal (PDA), um telefone celular ou outro dispositivo que tenha ou que esteja conectado a um dispositivo de vídeo; o software inclui qualquer reprodutor de vídeo adaptado para decodificar arquivos de vídeo, como MPEG-2, MPEG-4, QuickTime, VCD ou qualquer outro formato de vídeo atual ou futuro. Outros exemplos de clientes serão 10 evidentes para uma pessoa com capacidade na técnica sem se desviar do escopo da presente invenção. Uma interface gráfica com o usuário usada pelo cliente 104 de acordo com uma modalidade é descrita aqui com referências às Figuras 7(a) e 7(b).
Os clientes 104 são conectados a uma rede 105. A rede 15 105 pode ser implementada como qualquer mídia eletrônica pelo qual o conteúdo de anotação pode ser transferido. Pela rede 105, os clientes 104 podem enviar e receber dados de outros clientes 104. A rede 105 pode ser uma rede global (por exemplo, a Internet), regional, de área larga ou de área local.
Um servidor de vídeo 106 armazena uma coleção de vídeos numa mídia eletrônica. Em resposta a uma solicitação de um cliente 104 de um vídeo particular (ou de um conjunto de vídeos que combinam certos critérios), o servidor de vídeo 106 transfere um vídeo através da rede 105 para o cliente 104. O servidor de vídeo 106 pode ser 25 configurado para cobrar uma taxa pelo serviço de proporcionar o vídeo para o cliente, ou ele pode proporcionar o vídeo livre de cobrança. O servidor de vídeo 106 pode ser implementado, por exemplo, como um serviço de conteúdo por demanda, uma loja online (conectada à internet) ou um servidor de vídeo streaming (que descarrega e visualiza em 30 tempo real). Outros exemplos de servidores de vídeo serão evidentes para uma pessoa com capacidade na técnica sem se desviar do escopo
6/32 da presente invenção.
Alguns dos clientes 104 também estão conectados a fontes de vídeo 102. Uma fonte de vídeo 102 é um dispositivo que proporciona vídeo para o cliente. Por exemplo, uma fonte de vídeo 102 poderia ser uma caixa de cabo, uma antena de televisão, um gravador de vídeo digital, um reprodutor de videocassete, uma câmera, um console de jogo, uma unidade de disco de vídeo digital (DVD) ou qualquer outro dispositivo capaz de produzir uma saída de vídeo num formato legível pelo cliente 104. Outros exemplos de fontes de vídeo 102 serão evidentes para uma pessoa com capacidade na técnica sem se desviar do escopo da presente invenção.
De acordo com uma modalidade da presente invenção, os clientes 104 podem enviar vídeo através da rede 105. Por exemplo, o cliente 104B pode receber vídeo da fonte de vídeo 102B e transferi-lo pela rede para outro cliente, como o cliente 104D. Os clientes 104 também podem enviar vídeo pela rede 105 para o servidor de vídeo 106. O vídeo enviado de um cliente 104 para o servidor de vídeo 106 é armazenado numa mídia eletrônica e está disponível para os outros clientes 104.
O servidor de anotação 110 é conectado à rede 105. O servidor de anotação 110 armazena anotações numa mídia eletrônica. Em resposta a uma solicitação de um cliente 104 de uma anotação associada a um arquivo de mídia particular, o servidor de anotação 110 envia uma ou mais anotações associadas ao arquivo de mídia para o cliente 104 pela rede 105. Em resposta a uma submissão pelo cliente 104 de uma ou mais anotações associadas a um arquivo de mídia, o servidor de anotação 110 armazena a única ou mais anotações em associação ao arquivo de mídia. O servidor de anotação 110 armazena anotações indexadas às instâncias de um ou mais arquivos de mídia ou de partes dos mesmos. Um método usado pelo servidor de anotação 110, de acordo com várias modalidades da presente invenção, é descrito aqui
7/32 com referência às Figuras 4-6.
Opcionalmente, um servidor de vídeo 108 é comunicativamente conectado ao servidor de anotação 110, tanto localmente como através da rede 105. O servidor de vídeo 108 pode ter muitas das mesmas capacidades que aqui foram descritas com referência ao servidor de vídeo 106. O servidor de vídeo 108 pode transferir vídeo para os clientes 104 através da rede 105. Numa modalidade, o servidor de anotação 110 e o servidor de vídeo 108 em combinação transferem o vídeo anotado para um cliente 104. Noutra modalidade, o servidor de vídeo 108 armazena uma instância canônica de um vídeo, como descrita aqui com referência à Figura 5.
Como mostrado na figura, qualquer dado cliente pode ter acesso a vídeo a partir de uma variedade de fontes. Por exemplo, o cliente 104 pode receber vídeo diretamente da fonte de vídeo 102A ou do servidor de vídeo 106 através da rede 105. Diferentes clientes às vezes têm acesso a diferentes fontes de vídeo. Por exemplo, assim como o cliente 104A, o cliente 104B pode receber vídeo do servidor de vídeo 106 através da rede 105, mas, em contraste com o cliente 104A, tem acesso direto à fonte de vídeo 102B em vez da fonte de vídeo 102A.
Embora um cliente possa obter vídeo de uma potencialmente grande variedade de fontes de vídeo, a presente invenção permite que as anotações enviadas do servidor de anotação 110 até o cliente sejam constantemente associadas a um arquivo de mídia particular e a parte do mesmo, não importando a fonte da qual a cópia do vídeo do cliente foi obtida. A associação consistente de anotações a arquivos de mídia facilita a troca de anotações entre os usuários que têm instâncias diferentes (ou cópias) de um dado arquivo de mídia. A presente invenção habilita o compartilhamento e a troca de anotações entre uma pluralidade de clientes por reindexação de anotações a várias instâncias de arquivos de mídia de cliente. Por exemplo, o servidor de anotação 110 envia anotações indexadas para a instância de um vídeo do cliente
8/32
104Α e envia anotações indexadas para a instância do vídeo do cliente 104B, apesar do fato de que os dois clientes possam ter adquirido suas cópias do vídeo de fontes diferentes. O servidor de anotação 110 vantajosamente proporciona anotações que não são só apropriadas para o vídeo exibido pelo cliente 104, mas para a instância particular do vídeo que o cliente 104 está exibindo, como descrito aqui com referência à Figura 4.
Referindo-se, agora, à Figura 2, estã mostrado um diagrama conceituai que ilustra como as anotações são associadas temporalmente e/ou espacialmente a um arquivo de vídeo e uma ou mais molduras do mesmo. A Figura 2 mostra uma série de molduras de vídeo, que executam da moldura 200 até a moldura 251. O cliente 104 exibe estas molduras e também pode pausar, retroceder, avançar, pular ou de outra forma ajustar a ordem ou a velocidade com que as molduras são exibidas.
Para os propósitos de ilustração, a discussão seguinte refere-se a um vídeo como sendo composto de molduras. O vídeo é às vezes armazenado ou transmitido como blocos de molduras, campos, macroblocos ou em seções de molduras incompletas. Quando aqui é feita referência a vídeo que é composto de molduras, deve ser entendido que durante etapas intermediárias o vídeo pode de fato ser armazenado como qualquer uma das várias outras formas. O termo “moldura” é usado aqui por causa de clareza e não é limitante a qualquer formato ou convenção particular para a memorização ou exibição de vídeo.
Algumas das molduras têm anotações associadas a elas como proporcionado por um usuário particular. No exemplo ilustrado, a moldura 201 é representada em maior detalhe para ilustrar algumas de suas anotações associadas. Como mostrado na figura, as anotações podem ser associadas a uma posição espacial particular de uma moldura ou elas podem ser associadas a uma moldura inteira. Por exemplo, a anotação 1 é associada a uma caixa retangular no canto
9/32 superior esquerdo da moldura 201. Em contraste, a anotação 4 é associada à moldura inteira.
As anotações também podem ser associadas a posições espaciais sobrepostas. Por exemplo, a anotação 1 é associada a uma caixa retangular sobreposta a uma caixa retangular diferente associada à anotação 2. Numa modalidade, as anotações podem ser associadas a uma posição espacial definida por qualquer formato de forma fechada. Por exemplo, como mostrado na Figura 2, a anotação 3 é associada a posições espaciais definidas por uma forma elíptica.
A lista de anotação 280 mantém associações entre a definição espacial de anotações e o conteúdo de anotações. A anotação 1, associada a uma caixa retangular na moldura 201, inclui o texto “VicePresidentd’. A anotação 1 é um exemplo de uma anotação útil para destacar ou adicionar informações suplementares para partes particulares de uma moldura. A anotação 4 é associada à moldura inteira 201 e contém o texto “Estado da União”. A anotação 4 é um exemplo de uma anotação usada para resumir o conteúdo de uma moldura. A anotação 5 é associada à moldura inteira 201 e contém algum áudio que, neste caso, é uma tradução de áudio em francês. A anotação 5 é um exemplo de uma anotação usada para proporcionar conteúdo de áudio suplementar.
As anotações também podem ter associações temporais a um arquivo de mídia ou a qualquer parte do mesmo. Por exemplo, uma anotação pode ser associada a uma moldura específica ou a uma faixa específica de molduras. Na Figura 2, por exemplo, a anotação 2 poderia ser associada à moldura 200 para moldura 251, enquanto a anotação 5 é associada só à moldura 201. A definição espacial associada a uma anotação também pode mudar com o passar do tempo. Por exemplo, a anotação 1 pode ser associada a uma primeira região na moldura 201 e a uma segunda região na moldura 202. As associações de anotação espacial e temporalmente dependentes são particularmente úteis para
10/32 proporcionar informações suplementares relativas a objetos em movimento e podem acomodar, como no exemplo mostrado na Figura, o movimento do Vice-Presidente dos Estados Unidos. As associações temporais podem ser definidas em termos de números de moldura, códigos de tempo ou qualquer outra base de indexação. A ilustração da lista de anotação 280 como uma tabela não é pretendida para limitar o formato de memória subjacente usado; qualquer formato ou organização das informações de anotação podem ser empregados incluindo formatos otimizados que reduzem requisitos de memória e/ou aumentem a velocidade de recuperação.
Durante a reprodução de um arquivo de mídia, o cliente 104 é adaptado para exibir as anotações associadas às molduras do arquivo. As anotações podem ser exibidas, por exemplo, como texto sobreposto na moldura de vídeo, como imagem gráfica mostrada ao lado da moldura ou como áudio reproduzido simultaneamente com vídeo; as anotações podem também aparecer numa janela ou moldura separada o mais próximo ao vídeo. As anotações também podem incluir comandos para como o arquivo de mídia ao qual elas são associadas deve ser exibido. Exibir anotações de comando pode incluir exibir vídeo como instruído pela anotação. Por exemplo, em resposta a uma anotação, o cliente 104 poderia saltar para um lugar diferente num vídeo, exibir uma parte do vídeo em câmera lenta ou pular para um vídeo diferente tudo em conjunto.
O cliente 104 é capaz de exibir um subconjunto das anotações disponíveis. Por exemplo, um usuário que assiste ao vídeo da Figura 2 pode selecionar quais anotações deveríam ser exibidas pelo cliente 104 por designação de vários critérios. O usuário pode escolher receber só certos tipos de anotações (por exemplo, comentário, texto, gráfico, áudio) ou apenas anotações que são definidas por uma região particular da tela. O usuário pode escolher receber só anotações em um idioma particular, que combinam com certo critério de busca (como
11/32 palavras-chaves) ou criadas por um usuário particular. Como outro exemplo, quando anotações são escritas e editadas numa comunidade colaborativa de usuários, um usuário pode escolher receber só anotações criadas por usuários com classificações acima de certo limite mínimo ou receber só anotações com avaliações acima de certo limite mínimo. Os usuários também podem buscar anotações e recuperar vídeo associado baseado nos resultados da busca de anotação.
Certas anotações podem receber uma prioridade que não permite que um usuário as impeça de serem exibidas. Por exemplo, as anotações podem incluir anúncios, que podem ser configurados de forma que nenhuma outra anotação seja exibida a menos que as anotações de anúncio também sejam exibidas. Essa configuração impediría que usuários visualizassem certas anotações enquanto evitam anotações de anúncio dado. Um método para determinar quais anotações a exibir é descrito aqui com referência à Figura 8.
Os usuários também podem editar anotações usando o cliente 104. Por exemplo, um usuário que visualiza as anotações mostradas na Figura 2 pode estar insatisfeito com a anotação 1. O usuário muda o texto da anotação “Vice-Presidente” para “Vice-Presidente dos Estados Unidos? usando um dispositivo de entrada conectado ao cliente 104. A exibição futura da anotação (para este usuário ou possivelmente outros usuários) incluiría o texto modificado “Vice-Presidente dos Estados Unidos?. Como outra opção, um usuário pode mudar a definição temporal ou espacial à qual as anotações são associadas. Por exemplo, o usuário astuto pode reconhecer que os documentos mostrados no lado direito da moldura são realmente trechos de 15 USC §§78dd-l e que a Constituição (apesar de ser quase completamente obscurecida pela posição do Presidente) é só muito pouco visível no lado esquerdo da moldura. O usuário pode mudar a definição temporal a qual a Anotação 3 é associada consequentemente, por exemplo, pelo arrastamento (por exemplo, numa interface com o usuário de manipu
12/32 lação direta que ilustra as molduras do vídeo) da definição espacial para uma posição diferente usando um dispositivo de entrada conectado ao cliente 104.
A lista de anotação 280 é mostrada na Figura 2 para os propósitos de ilustração como um exemplo de como um cliente pode organizar anotações e suas molduras associadas. A lista de anotação 280 é útil para administrar e exibir anotações associadas a uma moldura ou faixa de molduras, mas, vários clientes podem organizar anotações diferentemente sem se desviar do escopo da presente invento ção.
Como mostrado na Figura 1, um cliente às vezes tem acesso a instâncias múltiplas do mesmo vídeo e clientes diferentes frequentemente têm acesso a várias instâncias diferentes. A Figura 3 ilustra sequências das molduras que constituem duas instâncias do mesmo 15 vídeo. Por exemplo, a instância de vídeo 302 poderia ser uma cópia de um vídeo recebido de um canal a cabo, enquanto a instância de vídeo 304 é uma cópia do mesmo vídeo recebida de uma loja de vídeo online. Como outro exemplo, a instância de vídeo 302 poderia ser uma cópia de um vídeo gravado por um gravador de vídeo digital do primeiro usuário 20 que recebe um sinal de uma primeira estação de transmissão pública, enquanto a instância de vídeo 304 é uma cópia do mesmo vídeo gravado por um gravador de vídeo digital do segundo usuário que recebe um sinal de uma segunda estação de transmissão pública.
Como a instância de vídeo 302 é adquirida independente25 mente da instância de vídeo 304, é provável que as duas cópias não sejam sincronizadas no tempo e/ou sejam de durações diferentes. Por exemplo, a instância de vídeo 302 poderia ter sido gravada do The Zurich Channel, uma afiliada de televisão conhecida por sua pontualidade e bom gosto. A instância de vídeo 304, por outro lado, poderia ter 30 sido gravada da TV Tulsa, uma afiliada de televisão conhecida por sua programação desmazelada e pela contagem de tempo aleatória. Deste
13/32 modo, como mostrado na Figura 3, as molduras da primeira instância necessariamente não poderíam corresponder às molduras da segunda instância. Além disso, existem numerosos outros tipos de diferenças que podem surgir entre instâncias diferentes de um dado programa ou transmissão pública. Estas incluem, sem limitação, diferenças nos parâmetros de codificação (por exemplo, resolução, velocidade de molduras) e diferenças em formatos de arquivos.
No exemplo ilustrado, as molduras 306 da instância de vídeo 302 são deslocadas no tempo com respeito às molduras 308 da instância de vídeo 304. A primeira moldura das molduras 308 contém o mesmo conteúdo que a terceira moldura das molduras 306. Quando as anotações são associadas a molduras específicas de um vídeo por um usuário, é desejável que elas sejam exibidas com aquelas molduras quando mostradas para outro usuário, apesar da possibilidade de deslocamento no tempo entre várias instâncias do vídeo. Note também que a instância de vídeo 302 tem 6 molduras, enquanto a instância de vídeo 304 tem 4 molduras.
O servidor de anotação 110 responde por este deslocamento no tempo de molduras de forma que as anotações podem ser corretamente exibidas com várias instâncias do vídeo. Por exemplo, suponha que uma anotação descreve o acionador que introduz a terceira moldura das molduras 306. Se esta anotação é indexada com respeito às molduras 306, o servidor de anotação 110 traduz esta indexação para uma indexação com respeito às molduras 308 de forma que a anotação pode ser corretamente exibida com a instância de vídeo 304. O servidor de anotação 110 traduz as indexações de anotação por mapeamento de uma instância de vídeo para outra.
Referindo-se, agora, à Figura 4(a), as anotações 404 são indexadas a uma instância canônica do vídeo 406. Para os propósitos de ilustração, a instância de vídeo que tem anotações indexadas a ela é chamada de instância canônica e a instância de vídeo que será exibida
14/32 no cliente é chamada de instância de cliente. De acordo com uma modalidade, as anotações podem ser compartilhadas em direções múltiplas entre dois ou mais pares de cliente. Como tal, é possível que não exista instância definitivamente canônica de vídeo. Deve ficar 5 entendido que o termo “instância canônica” se refere a um papel que uma instância de vídeo desempenha num caso de troca de anotação, e não necessariamente ao status daquela cópia do vídeo no sistema de distribuição de vídeo ou no arcabouço de anotação como um todo.
O servidor de vídeo 108 pode armazenar conteúdo de vídeo em chunks (pedaços). Um sistema e método para armazenar vídeo em pedaços é revelado no Pedido de Patente US de n° de série 11/428.319, intitulado “Dynamic Media Serving Infrastructuré’ para Manish Gupta e colaboradores, Pasta de Advogado de n° 24207-11584, depositado em 30 de Junho de 2006, e no Pedido de Patente Provisória de n° de série
60/756.787, intitulado “Discontinuous Download of Media Articles” para
Michael Yu e colaboradores, Pasta de Advogado de n° 24207-11081, depositado em 6 de Janeiro de 2006, ambos os quais são aqui incorporados por referência na sua totalidade. A Figura 4(a) mostra uma instância canônica de vídeo 406 armazenada como pedaço 402A e 20 pedaço 402B. Um pedaço é um elemento de dados para armazenar vídeo. Armazenar vídeo em pedaços é benéfico para a indexação e transferência eficiente de vídeo e permite a manipulação como dados de vídeo de tamanho mais manejável.
Como descrito aqui com referência à Figura 2, uma anota25 ção pode ser associada a uma moldura específica num vídeo. A associação entre a anotação e a moldura específica é armazenada por indexação da anotação a uma moldura numa instância particular do vídeo. A anotação 404A, por exemplo, é indexada a uma moldura da instância canônica do vídeo 406, neste caso a uma moldura no pedaço 402A.
Como também descrito aqui com referência à Figura 2, uma anotação pode ser associada a uma faixa de molduras num vídeo. Um
15/32 conjunto de uma ou mais molduras de vídeo é às vezes chamado de um segmento de vídeo. A anotação 404D, por exemplo, é indexada a um segmento de vídeo da instância canônica de vídeo 406, neste caso o segmento incluindo uma ou mais molduras do pedaço 402B.
O cliente recebe um vídeo de uma fonte ou servidor de vídeo (como um daqueles descritos aqui com referência à Figura 1) e armazena uma cópia como a instância de cliente de vídeo 408. À medida que o cliente exibe o vídeo, o cliente periodicamente solicita, do servidor de anotação, anotações associadas a molduras de vídeo que estão prestes a ser exibidas. Para assegurar que as anotações sejam solicitadas, recuperadas, transmitidas e recebidas em tempo suficiente para exibição com suas molduras associadas, o cliente solicita anotações associadas a uma moldura algum tempo antes daquela moldura ser exibida.
Para eficiência aumentada, o cliente pode combinar solicitações de anotações associadas a molduras particulares numa solicitação de anotações associadas a um segmento de vídeo. Uma solicitação podia, por exemplo, buscar recuperar todas as anotações associadas a um dado vídeo. No exemplo mostrado, o cliente solicita anotações associadas ao segmento de vídeo 409. A solicitação de anotações retornará anotações associadas a molduras individuais do segmento, ou anotações associadas a um superconjunto ou subconjunto das molduras do segmento. Por exemplo, o cliente pode solicitar anotações associadas a exatamente o segmento de vídeo 409, associadas às molduras individuais do segmento de vídeo 409 ou associadas ao vídeo inteiro.
Referindo-se, agora, à Figura 4(b), o servidor de anotação 110 mapeia a instância de cliente de vídeo 408 para uma instância canônica de vídeo 406. O mapeamento 412 descreve a correspondência entre molduras da instância de cliente de vídeo 408 e molduras na instância canônica de vídeo 406. O servidor de anotação 110 pode
16/32 mapear a instância de cliente do vídeo 408 para a instância canônica de vídeo 406 usando uma variedade de técnicas. De acordo com uma modalidade da presente invenção, a solicitação de anotações do cliente inclui uma característica da instância de cliente de vídeo 408. Uma característica é uma representação sucinta do conteúdo de uma ou mais molduras de vídeo que são semelhantes. Por exemplo, o servidor de anotação 110 pode agrupar as molduras em unidades lógicas, como cenas ou fotos. O servidor de anotação 110 pode usar algoritmos de detecção de cena para agrupar as molduras automaticamente. Um algoritmo de detecção de cena é descrito em Naphade, M. R. e colaboradores, “A High-Performance Shot Boundary Detection Algorithm Using Multiple Cues”, 1998 Intemational Conference On Image Processing (4-7 de Outubro de 1998), vol. 1, pp. 884-887, que é aqui incorporado por referência.
Deste modo, o servidor de anotação 110 pode computar uma característica configurada para todas as molduras que pertencem à mesma cena. A característica pode ser, por exemplo, uma descrição de uma característica nos domínios do tempo, do espaço ou da frequência. Por exemplo, um cliente pode solicitar anotações associadas a uma moldura específica e pode descrever aquela moldura por suas características de domínio do tempo, da posição e da frequência. O cliente pode usar qualquer técnica para determinar as características de vídeo, como aquelas descritas em Zabih, R., Miller, J., e Mai, K., “FeatureBased Algorithms for Detecting and Classifying Scene Breaks”, Proc.
- 25 ACM Multimedia 95, São Francisco, CA (Novembro de 1993), pp. 189200; Arman, F., Hsu, A., e Chiu, M-Y., “Image Processing on Encoded Video Sequences”, Multimedia Systems (1994), vol. 1, No. 5, pp. 211219; Ford, R.M. e colaboradores, “Metricsfor Shot Boundary Detection in Digital Video Sequencif, Multimedia Systems (2000), vol. 8, pp. 37-46, todos os precedentes sendo aqui incorporados por referência. Uma pessoa com capacidade ordinária na técnica reconhecería várias
17/32 técnicas para determinar as características de vídeo.
Geralmente, uma função de distância é definida além do universo de características que captura a proximidade dos conjuntos subjacentes de molduras. Quando o servidor de anotação 110 recebe 5 uma solicitação de anotação para uma moldura, junto com seu conjunto de características, o servidor primeiro tenta mapear a moldura na solicitação para a moldura mais próxima na instância canônica de vídeo 406. O servidor de anotação 110 usa a posição temporal da moldura na instância de cliente de vídeo 408 (uma das características no conjunto 10 de características) para reduzir o conjunto de molduras no vídeo canônico 406 que pode potencialmente mapear para esta moldura, por exemplo, limitando-se o conjunto candidato para molduras dentro de uma quantidade fixa de tempo ou molduras antes e depois da moldura selecionada. Para todas as molduras no conjunto candidato, o servidor 15 de anotação 110 computa a distância entre o conjunto de características da moldura a partir do cliente 408 e o conjunto de características da moldura a partir do vídeo canônico 406. A moldura a partir do vídeo canônico 406 com a menor distância é chamada de moldura de comparação. A moldura de cliente é então mapeada para a moldura de 20 comparação. Se a distância para a moldura mais próxima é maior que certo limite inferior, indicando ausência de uma boa correlação, nenhuma anotação é retornada. Os componentes descritos por uma característica usada para criar o mapeamento podem residir no segmento de vídeo para o qual as anotações estão sendo solicitadas, mas - 25 não precisam ser. De modo semelhante, os componentes descritos por uma característica podem ou não podem residir no segmento de vídeo ao qual uma anotação é indexada.
As características podem ser representadas como strings (séries de caracteres), o que permite ao servidor de anotação 110 buscar 30 por características usando uma indexação invertida dos strings de característica para molduras, por exemplo. O servidor de anotação 110
18/32 pode também buscar por características pela definição de uma distância métrica além do conjunto de características e pela seleção da moldura candidata com a menor distância. Esse mapeamento poderia acontecer no momento em que o servidor 110 recebe a solicitação de cliente ou em que o servidor de anotação 110 pode pré-computar e manter as distâncias num processo desconectado.
Pelo uso do mapeamento 412, o servidor de anotação 110 determina um segmento de vídeo correspondente 414 na instância canônica de vídeo. O segmento de vídeo correspondente 414 tem conteúdo que quase coincide com o conteúdo do segmento de vídeo 409, como descrito acima. Sob condições ideais, o segmento de vídeo correspondente 414 contém instâncias das mesmas molduras que o segmento de vídeo 409. O servidor de anotação 110 associa cada moldura no vídeo de cliente 408 que mapeia para uma moldura na instância canônica de vídeo com um número de moldura e mantém uma lista de números de moldura para cada mapeamento de moldura. Num exemplo, o comprimento da lista de números de moldura é igual ao número de molduras na instância de cliente de vídeo 408, onde cada entrada mapeia a moldura correspondente para a moldura na instância canônica de vídeo 406.
O servidor de anotação determina as anotações que são indexadas ao segmento de vídeo correspondente 414 (ou a um superconjunto ou subconjunto do segmento de vídeo correspondente 414). Como o exemplo da Figura 4(b) ilustra, a anotação 404D é indexada a um segmento de vídeo que cai no segmento de vídeo correspondente 414. Em resposta à solicitação de anotações para o segmento 409, o servidor de anotação 110 transmite a anotação 404D para o cliente.
Opcionalmente, o servidor de anotação também pode transmitir informações que descrevem o segmento do vídeo ao qual a anotação é associada. Por exemplo, usando uma característica como um ponto de referência, o servidor de anotação pode descrever uma
19/32 moldura (ou faixa de molduras) com respeito àquele ponto de referência.
A Figura 5 ilustra a organização de vídeo e de anotações. A Figura 5 mostra como as anotações podem ser indexadas a uma instância canônica de vídeo num servidor de anotação.
De acordo com uma modalidade, as anotações são armazenadas num repositório de anotação. As instâncias canônicas de vídeo são armazenadas num repositório de vídeo. A anotação e os repositórios podem ser incluídos no mesmo servidor, ou eles podem ser incluídos em servidores diferentes. Por exemplo, as anotações podem ser 10 armazenadas no servidor de anotação 110 e o vídeo pode ser armazenado no servidor de vídeo 108.
Uma anotação inclui uma referência a um segmento de vídeo. Por exemplo, a anotação 404D inclui uma definição temporal 50ID. Uma definição temporal especifica uma ou mais molduras de 15 uma instância canônica de vídeo. No exemplo ilustrado, a definição temporal 501D refere-se a uma das molduras 504 da instância canônica de vídeo 406. Como outro exemplo, a anotação 404F inclui a definição temporal 510F. A definição temporal 510F refere-se a uma faixa das molduras da instância canônica de vídeo 406. Uma definição 20 temporal pode ser descrita usando uma variedade de medidas que incluem, mas não se limitam a, identificadores de documento, identificadores de moldura, códigos de tempo, duração em molduras, duração em milissegundos e várias outras combinações.
A definição temporal é um exemplo de como as anotações 25 podem ser associadas a segmentos de vídeo. Outros métodos para associar anotações a segmentos de vídeo será evidente para uma pessoa com capacidade na técnica sem se desviar do escopo da presente invenção.
Uma anotação também inclui o conteúdo de anotação 511. 30 O conteúdo de anotação pode incluir, por exemplo, áudio, texto, meta20/32 dados, comandos ou quaisquer outros dados úteis para serem associados a um arquivo de mídia. Uma anotação pode opcionalmente incluir uma definição espacial 509 que especifica a área da moldura (ou molduras) à qual aquela anotação é associada. O uso de uma definição 5 espacial 509 é um exemplo de um método para associar uma anotação a uma posição espacial específica numa moldura.
Como exemplo, suponha-se que o segmento de vídeo correspondente 414 inclui as molduras 504. O segmento de vídeo correspondente 414 pode ser definido como uma faixa de códigos de tempo. O 10 servidor de anotação recupera as anotações pela busca por anotações com referências a códigos de tempo que estão dentro ou que se sobrepõem à faixa de códigos de tempo que definem o segmento de vídeo correspondente 414. O servidor de anotação recupera a anotação 404D, incluindo o conteúdo de anotação 51 ID. O servidor de anotação 15 transmite o conteúdo de anotação 51 ID (ou a anotação 404D, que inclui o conteúdo de anotação 51 ID) para o cliente, que exibe o conteúdo de anotação 51 ID.
A Figura 6 é um traço de evento da exibição e modificação de anotações associadas a um vídeo, de acordo com uma modalidade da 20 presente invenção. O cliente 104 recebe um segmento de vídeo de um servidor de vídeo 106 ou de uma fonte de vídeo 102 e armazena uma cópia como a instância de cliente de vídeo. O cliente processa o segmento usando um algoritmo de detecção de característica e determina 602 uma característica baseada num primeiro segmento de vídeo. O 25 cliente envia uma solicitação de anotações associadas a um segundo segmento de vídeo, a solicitação incluindo a característica, para o servidor de anotação 110.
O primeiro segmento de vídeo pode conter algumas molduras em comum com o segundo segmento de vídeo, mas não precisa 30 disso. A característica incluída na solicitação de anotações associadas ao segundo segmento de vídeo pode adicionalmente incluir característi21/32 cas a partir de segmentos adjacentes até o segundo segmento de vídeo.
A solicitação também pode incluir metadados que descrevem o conteúdo ou o título do vídeo de forma que o servidor de anotação pode recuperar as anotações apropriadas. Por exemplo, o vídeo comprado de uma loja online pode ter um título de vídeo que pode ser usado para filtrar o conjunto de anotações disponíveis. Como outro exemplo, os metadados enviados para o servidor de anotação para vídeo adquirido de transmissão pública de televisão ou de cabo podem incluir uma descrição do tempo e do canal do qual o vídeo foi adquirido. O servidor de anotação pode usar estas informações de tempo e de canal para determinar o vídeo apropriado e para recuperar as anotações associadas àquele vídeo.
O servidor de anotação 110 recebe a solicitação de anotações. O servidor de anotação 110 busca 604 a característica incluída na solicitação numa instância canônica do vídeo e cria um mapeamento entre a instância de cliente do vídeo e a instância canônica do vídeo. Numa modalidade, a solicitação de anotações inclui metadados que indicam um vídeo particular para o qual recuperar anotações e o servidor de anotação 110 busca 604 numa instância canônica no vídeo indicado por estes metadados para a característica.
O servidor de anotação 110 busca 608 um repositório de anotação para anotações associadas ao vídeo e retorna uma anotação. Por exemplo, o servidor de anotação 110 pode buscar por anotações indexadas à instância canônica do vídeo. Usando o mapeamento entre as duas instâncias, o servidor de anotação 110 pode traduzir a indexação à instância canônica do vídeo para uma indexação à instância de cliente do vídeo.
O servidor de anotação 110 transmite uma anotação associada ao vídeo para o cliente. De acordo com uma modalidade, a anotação também inclui informações de indexação que definem o conjunto de uma ou mais molduras associadas à anotação. O servidor
22/32 de anotação 110 pode definir molduras associadas à anotação, por exemplo, por indexação da associação com respeito à característica.
O cliente 104 recebe e exibe 610 a anotação. O cliente 104 também pode processar informações de indexação à anotação de forma que a anotação é apropriadamente exibida junto com a instância de cliente do vídeo.
Opcionalmente, o cliente recebe 612 mudanças para a anotação a partir do usuário. Por exemplo, um usuário pode editar texto, re-gravar áudio, modificar metadados incluídos no conteúdo de anotação ou mudar um comando de anotação. O cliente 104 transmite a anotação modificada para o servidor de anotação 110 ou, alternativamente, transmite uma descrição das modificações para o servidor de anotação 110.
O servidor de anotação 110 recebe a anotação modificada. O servidor de anotação 110 armazena 614 a anotação modificada e indexa a anotação modificada à instância canônica do vídeo. O servidor de anotação 110 pode indexar a anotação modificada à instância canônica do vídeo usando uma variedade de métodos. Por exemplo, o servidor de anotação 110 pode traduzir uma indexação à instância de cliente do vídeo usando um mapeamento previamente estabelecido. Como outro exemplo, o cliente 104 pode incluir uma característica com a anotação modificada e o servidor de anotação 110 pode estabelecer um novo mapeamento entre a instância de cliente do vídeo e a instância canônica do vídeo.
Para os propósitos de ilustração, as características foram mostradas como fluindo do cliente 104 para o servidor de anotação 110. Todavia, com a finalidade de estabelecer um mapeamento entre a instância de cliente do vídeo e a instância canônica do vídeo, as características podem fluir numa ou noutra direção. O exemplo do servidor de anotação 110 que mantém este mapeamento com base nas características enviadas pelo cliente 104 é dado para os propósitos de ilustra
23/32 ção e não é limitante. Noutra modalidade, o cliente mantém o mapeamento entre a instância de cliente do vídeo e a instância canônica do vídeo, por exemplo, com base nas características da instância canônica do vídeo enviada pelo servidor de anotação 110 para o cliente 104. Em ainda outra modalidade, uma terceira parte mantém o mapeamento entre a instância de cliente do vídeo e a instância canônica do vídeo pela recepção das características de ambos o servidor de anotação 110 e o cliente 104.
O cliente 104 também pode ser usado para submeter uma nova anotação. Por exemplo, um usuário pode criar conteúdo de anotação e associá-lo a um vídeo. O usuário também pode especificar uma definição espacial para a nova anotação e escolher uma faixa de molduras da instância de cliente do vídeo à qual a anotação será indexada. O cliente 104 transmite a nova anotação para o servidor de anotação 110 para armazenamento.
Referindo-se, agora, à Figura 7(a), um usuário pode buscar, criar ou editar as anotações usando uma interface gráfica com o usuário. No exemplo ilustrado, a interface gráfica com o usuário para as anotações é integrada a uma interface gráfica com o usuário de reprodutor de vídeo 702. A interface gráfica com o usuário de reprodutor de vídeo 702 é um exemplo de uma interface que poderia ser mostrada no dispositivo de vídeo de um cliente 104. A interface gráfica com o usuário de reprodutor de vídeo 702 inclui uma área de exibição para apresentar o arquivo de mídia (no exemplo ilustrado, um vídeo), assim como botões de controle para selecionar, reproduzir, pausar, adiantar e retroceder o arquivo de mídia. A interface gráfica com o usuário de reprodutor de vídeo 702 pode também incluir anúncios, tais como o anúncio para o National Archives and Administration mostrado na Figura 7(a).
A interface gráfica com o usuário de reprodutor de vídeo 702 apresenta uma moldura de vídeo. Mostrada junto com a moldura
24/32 de vídeo está uma definição de anotação 704. A definição de anotação 704 ilustra graficamente a definição espacial e/ou a definição temporal de uma anotação. Por exemplo, a definição de anotação 704 mostrada na Figura 7(a) delineia um subconjunto da moldura com a qual uma anotação é associada. Como outro exemplo, uma definição de anotação 704 pode delinear uma faixa de molduras à qual uma anotação é associada. Enquanto uma definição de anotação única 704 é mostrada na Figura 7(a), a interface gráfica com o usuário de reprodutor de vídeo 702 pode incluir uma pluralidade de definições de anotação 704 sem se desviar do escopo da invenção.
A definição de anotação 704 pode ser exibida em resposta a uma seleção de usuário ou como parte da exibição de uma anotação existente. Por exemplo, o usuário pode usar um dispositivo de entrada para selecionar uma região da moldura à qual uma nova anotação será associada e em resposta àquela seleção a interface gráfica com o usuário de reprodutor de vídeo 702 exibe a definição de anotação 704 criada pelo usuário. Como outro exemplo, a interface gráfica com o usuário de reprodutor de vídeo 702 pode exibir vídeo e anotações associadas e pode exibir a definição de anotação 704 junto com a exibição de uma anotação associada.
A interface gráfica com o usuário de reprodutor de vídeo 702 também inclui botões de controle de anotação 706 que permitem ao usuário controlar o conteúdo e a exibição de anotações. Por exemplo, a interface gráfica com o usuário de reprodutor de vídeo 702 pode incluir um botão para buscar anotações. Em resposta à seleção do botão de anotações de busca, o cliente busca anotações associadas à definição de anotação 704 (ou uma definição semelhante), ou anotações associadas a um palavra-chave. Os resultados da busca podem então ser exibidos na interface gráfica com o usuário de reprodutor de vídeo 702. Como outro exemplo, a interface gráfica com o usuário de reprodutor de vídeo 702 pode incluir um botão para editar anotações. Em resposta à
25/32 seleção do botão de editar anotações, a interface gráfica com o usuário de reprodutor de vídeo 702 exibe uma ou mais anotações associadas à definição de anotação 704 e permite ao usuário modificar uma ou mais anotações. Ainda como outro exemplo, a interface gráfica com o 5 usuário de reprodutor de vídeo 702 pode incluir um botão para criar uma nova anotação. Em resposta à seleção do botão de criar nova anotação, a interface gráfica com o usuário de reprodutor de vídeo 702 exibe opções como aquelas mostradas na Figura 7(b).
Referindo-se, agora, à Figura 7(b), os botões de controle de 10 anotação 706 indicam que o botão de criar nova anotação foi selecionado. A interface gráfica com o usuário de reprodutor de vídeo 702 inclui uma área de exibição para receber a entrada de usuário do novo conteúdo de anotação. No exemplo ilustrado, o novo conteúdo de anotação inclui algum novo texto de anotação 708. Como mostrado na 15 Figura 7(b), à medida que o usuário introduz a descrição “General MacArthur}>, o novo texto de anotação 708 é exibido. Em resposta a uma nova seleção de usuário que indica que a criação do conteúdo de anotação está completa, a nova anotação é submetida, por exemplo, para o servidor de anotação 110 e exibida na interface gráfica com o 20 usuário de reprodutor de vídeo 702.
A introdução de novo texto de anotação 708 foi mostrada como um exemplo da criação de conteúdo de anotação. A interface gráfica com o usuário de reprodutor de vídeo 702 pode ser adaptada para receber outros tipos de conteúdo de anotação também. Por 25 exemplo, o conteúdo de anotação pode incluir áudio e a interface gráfica com o usuário de reprodutor de vídeo 702 pode incluir um botão para iniciar a gravação de áudio por meio de um microfone, ou para selecionar um arquivo de áudio de uma posição numa mídia de memória. Outros tipos de anotações e de métodos semelhantes para receber sua 30 submissão por um usuário serão evidentes para uma pessoa com capacidade na técnica sem se desviar do escopo da invenção.
26/32
A Figura 8 ilustra um método para determinar quais anotações a apresentar. Numa modalidade, o cliente 104 exibe só algumas das anotações recebidas. O cliente 104 desempenha um método como aquele ilustrado na Figura 8 para determinar quais anotações deveriam ser exibidas e quais não deveriam.
O cliente 104 recebe 802 uma anotação. O cliente determina 804 se a anotação é de alta prioridade. Uma anotação de alta prioridade é exibida não importando as configurações de usuário para a exibição de anotações. As anotações de alta prioridade podem incluir, por exemplo, anúncios, mensagens de transmissão pública de emergência ou outras comunicações que pela sua importância deveriam substituir as configurações locais de usuário.
Se o cliente 104 determina 804 que a anotação é de alta prioridade, o cliente exibe 812 a anotação. Se o cliente 104 determina 804 que a anotação não é de alta prioridade, o cliente determina 806 se as anotações estão habilitadas. As anotações podem estar habilitadas ou desabilitadas, por exemplo, por uma seleção de usuário de um modo de exibição de anotação. Se o usuário selecionou para desabilitar as anotações, o cliente 104 não exibe 810 a anotação. Se o usuário selecionou para habilitar as anotações, o cliente 104 determina 808 se a anotação corresponde aos critérios definidos pelo usuário.
Como aqui descrito, o cliente 104 permite que o usuário selecione anotações para exibição baseado em vários critérios. Numa modalidade, os critérios definidos pelo usuário podem ser descritos na solicitação de anotação, limitando as anotações enviadas pelo servidor de anotação 110. Noutra modalidade, os critérios definidos pelo usuário podem ser usados para limitar quais anotações a apresentar uma vez que as anotações tenham sido recebidas no cliente 104. Os critérios definidos pelo usuário podem especificar quais anotações a apresentar, por exemplo, com base no idioma, no conteúdo de anotação, nos autores particulares ou nos grupos de autores ou outras
27/32 propriedades de anotação.
Se o cliente 104 determina 808 que a anotação satisfaz os critérios definidos pelo usuário, o cliente 104 exibe 812 a anotação. Se o cliente 104 determina 808 que a anotação não satisfaz os critérios definidos pelo usuário, o cliente 104 não exibe 810 a anotação.
A Figura 8 ilustra um exemplo de como o cliente 104 pode determinar quais anotações a apresentar. Outros métodos para arbitrar as prioridades de anotação estabelecidas pelo provedor de anotação e pelo consumidor de anotação serão evidentes para uma pessoa com capacidade na técnica sem se desviar do escopo da presente invenção.
Voltando agora para a instância canônica de vídeo revelada aqui, a instância canônica de vídeo pode ser implementada numa variedade de modos de acordo com várias modalidades. Em alguns casos, o servidor de anotação 110 selecionou uma instância canônica do vídeo antes da submissão da nova anotação. O cliente 104 pode enviar uma característica para facilitar a indexação da nova anotação à instância canônica do vídeo. Em outros casos, por exemplo, quando a anotação é a primeira a ser associada a um vídeo particular, o servidor de anotação 110 pode não ter ainda identificado uma instância canônica do vídeo. O servidor de anotação 110 armazena a anotação indexada à instância de cliente do vídeo e estabelece a instância de cliente do vídeo como a instância canônica do vídeo para transações de anotação futuras.
De acordo com uma modalidade da presente invenção, as anotações são armazenadas indexadas às características da instância de vídeo usadas pelo cliente que submeteu aquela anotação. As anotações podem ser armazenadas e recuperadas sem qualquer instância canônica subjacente de vídeo. Por exemplo, cada anotação pode ser indexada à sua própria “instância canônica de vídeo”, que se refere à instância de vídeo do submissor. Essa abordagem é particularmente
28/32 benéfica para situações em que o servidor de anotação 110 não mantém ou tem acesso a cópias do próprio vídeo. Essencialmente, o servidor de anotação 110 pode servir como um intermediário cego de anotações, que passa anotações de autores para consumidores sem sua própria cópia do vídeo à qual as anotações são associadas.
Um servidor de anotação de conteúdo cego pode ser benéfico, por exemplo, quando o conteúdo de vídeo é protegido por direitos autorais, é privado ou é de outra forma confidencial. Por exemplo, uma mãe orgulhosa pode querer anotar um filme do primeiro banho do seu filho, mas poderia ser reticente quanto a submeter até mesmo uma instância de referência do vídeo para um servidor de anotação central. O servidor de anotação de conteúdo cego armazena anotações indexadas à instância de vídeo da mãe, sem acessar uma instância própria. Quando uma tia, tio ou outro usuário de confiança com uma instância do vídeo solicita as anotações, sua instância é mapeada para a instância da mãe por comparação de características de sua instância com as características da instância da mãe recebida com a submissão da anotação. As características podem ser determinadas de tal modo que não podem ser facilmente revertidas para encontrar o conteúdo de uma moldura, deste modo preservando a privacidade do vídeo.
O caso de um servidor de anotação e um cliente é apenas um exemplo em que a presente invenção pode ser empregada de forma útil para o compartilhamento e a distribuição de anotações para vídeo. Será evidente para uma pessoa com capacidade na técnica que os métodos descritos aqui para transmitir anotações sem a necessidade de transmitir vídeo associado terão uma variedade de outros usos sem se desviar do escopo da presente invenção. Por exemplo, as características descritas aqui poderíam ser usadas numa comunidade online em que os usuários podem criar, editar, revisar, publicar e visualizar anotações de forma colaborativa, sem os fardos de transferir ou hospedar vídeo diretamente. Tal comunidade permitiría a produção de estilo de origem
29/32 aberta de anotações sem infringir as proteções de direitos autorais do vídeo a que aquelas anotações são associadas.
Como uma característica adicionada, um usuário nesta comunidade poderia também acumular uma classificação, por exemplo, com base na análise crítica de outros usuários da qualidade da criação ou edição prévia daquele usuário. Um usuário que quer visualizar anotações poderia ter a opção de ignorar as anotações de usuários com classificações abaixo de certo limite mínimo ou de buscar por anotações de usuários com classificações de um calibre sumamente alto. Como outro exemplo, um usuário poderia selecionar visualizar anotações só de um usuário específico ou de um grupo específico de usuários.
Como descritas aqui, as anotações também podem incluir comandos que descrevem como o vídeo deveria ser exibido, por exemplo, comandos que instruem um dispositivo de vídeo para saltar adiante naquele vídeo ou para pular para outro vídeo completamente. Um usuário poderia criar uma string de anotações de comando de pular para, que efetivamente proporciona uma sugestão para a combinação de segmentos de vídeo num fragmento maior. Como exemplo, as anotações de comando podem ser usadas para criar um novo filme a partir de partes componentes de um ou mais outros filmes. O servidor de anotação proporciona as anotações para o cliente, que adquire os vários segmentos especificados pelas anotações e ajunta os fragmentos para exibição ao usuário.
A presente invenção tem aplicabilidade em qualquer de uma variedade de modelos hospedeiros, incluindo mas não limitado a par-apar, hospedagem distribuída, hospedagem de estilo wiki, serviço centralizado ou outros métodos conhecidos para compartilhar dados através de uma rede.
O arcabouço de anotação descrito aqui apresenta a oportunidade para uma pluralidade de modelos de renda. Como exemplo, o proprietário do servidor de anotação pode cobrar a taxa para incluir
30/32 anúncios em anotações. O servidor de anotação pode ter como objetivo anotações de anúncio para o usuário baseado numa variedade de fatores. Por exemplo, o servidor de anotação poderia selecionar anúncios para transmissão para o cliente baseado no título ou na categoria 5 do vídeo que o cliente está exibindo, nos fatos conhecidos sobre o usuário, nas solicitações de busca de anotação recentes (como buscas de palavra-chave),em outras anotações previamente submetidas para o vídeo, na posição geográfica do cliente ou em outros critérios úteis para efetivamente direcionar a publicidade.
O acesso a anotações poderia ser proporcionado com base numa subscrição, ou as anotações poderíam ser vendidas num pacote com o próprio conteúdo de vídeo. Por exemplo, um usuário que compra um vídeo de uma loja de vídeo online poderia receber permissão para visualizar, editar ou criar anotações, tanto associadas àquele vídeo como a outros vídeos. Uma loja de vídeo online poderia ter uma promoção, por exemplo, na qual a compra de um certo número de vídeos num mês dá ao usuário privilégios sobre um servidor de anotação para aquele mês.
Alternativamente, a compra de um vídeo de uma loja de ví20 deo online poderia ser acoplada a privilégios para criar, editar ou visualizar anotações associadas àquele vídeo. Se um servidor de anotação particular toma-se particularmente popular entre usuários, o acesso controlado ao servidor de anotação poderia ajudar com a proteção dos direitos autorais do vídeo. Por exemplo, um usuário ’ 25 poderia ter que provar que ele tem uma cópia certificada legitimamente adquirida de um vídeo antes de ter permissão para visualizar, editar ou criar anotações. Esta exigência poderia reduzir a utilidade ou a conveniência de cópias de vídeo adquiridas ilegalmente.
Estes exemplos de modelos de renda têm sido dados para 30 os propósitos de ilustração e não são limitantes. Outras aplicações e usos potencialmente lucrativos serão evidentes para uma pessoa com
31/32 capacidade na técnica sem se desviar do escopo da presente invenção.
A referência no Relatório Descritivo a “uma modalidade” significa que um recurso, estrutura ou característica particular descrito com relação às modalidades é incluído em pelo menos uma modalidade 5 da invenção. Os aparecimentos da frase “numa modalidade” em vários lugares no Relatório Descritivo não estão necessariamente referindo-se à mesma modalidade.
Deveria ser notado que as etapas e instruções do processo da presente invenção podem ser expressas em software, firmware ou 10 hardware e, quando expressas em software, podem ser baixadas para residirem e serem operadas de plataformas diferentes usadas por uma variedade de sistemas operacionais.
A presente invenção também se relaciona com um equipamento para desempenhar as operações contidas aqui. Este equipamen15 to pode ser especialmente construído para os propósitos exigidos ou ele pode compreender um computador de propósito geral seletivamente ativado ou configurado por um programa de computador armazenado no computador. Esse programa de computador pode ser armazenado numa mídia de memória legível por computador, como, mas não é 20 limitado a, qualquer tipo de disco que inclui disquetes, discos óticos, CDs-ROM, discos óticos magnéticos, memórias somente de leitura (ROMs), memórias de acesso aleatório (RAMs), EPROMs, EEPROMs, cartões magnéticos ou óticos, circuitos integrados de aplicação específica (ASICs) ou qualquer tipo de mídia apropriada para armazenar 25 instruções eletrônicas e cada uma acoplada a um barramento de sistema de computador. Além disso, os computadores que foram referidos no Relatório Descritivo podem incluir um processador único ou podem ser arquiteturas que empregam projetos de processador múltiplo para capacidade de computação aumentada.
Os algoritmos e imagens apresentados aqui não são inerentemente relacionados a nenhum computador particular nem a outro
32/32 equipamento. Os vários sistemas de propósito geral podem também ser usados com programas conforme os ensinamentos daqui ou isso pode se provar conveniente para construir equipamento mais especializado para desempenhar as etapas de método exigidas. A estrutura exigida para uma variedade destes sistemas aparecerá da descrição abaixo. Além disso, a presente invenção não é descrita com referência a qualquer linguagem de programação particular. Será observado que pode ser usada uma variedade de linguagens de programação para implementar os ensinamentos da presente invenção como aqui descritos e quaisquer referências abaixo para especificar linguagens são proporcionadas para a revelação da capacidade e do melhor modo da presente invenção.
Embora \a invenção tem sido particularmente mostrada e descrita com referência a uma modalidade preferida e a várias modalidades alternativas, será entendido por pessoas qualificadas na técnica relevante que várias mudanças em forma e detalhes podem ser feitas nelas sem se desviar do espírito e do escopo da invenção.
Finalmente, devia ser notado que a linguagem usada na especificação tem sido principalmente selecionada para propósitos de legibilidade e de instrução e pode não ter sido selecionada para delinear ou circunscrever a matéria do objeto inventivo. Consequentemente, pretende-se que a revelação da presente invenção seja ilustrativa, mas não limitativa, do escopo da invenção, que é exposto nas Reivindicações seguintes.