Histórico da Invenção
Dispositivos de display ou televisões digitais convencionais podem receber, processar, e mostrar um conteúdo a partir de uma fonte de vídeo, tal como, por exemplo, um canal de televisão comercial, um canal de televisão por cabo, um canal de televisão via satélite, etc. Em razão de avanços obtidos com respeito à largura de banda e capacidade de processamento de dispositivos de display, dispositivos de display, que possam integrar diversas entradas de vídeo a partir de múltiplas fontes, podem ser úteis, especialmente quando combinam informações ou conteúdos relacionados para prover uma experiência mais avançada a usuários.
Descrição Resumida dos Desenhos
As figuras 1 e 2 mostram uma ilustração esquemática de uma arquitetura de sistema display, de acordo com uma configuração;
A figura 2 mostra uma ilustração esquemática de um ambiente de entretenimento digital;
A figura 3 é um fluxograma ilustrando operações em um método para sincronizar e prover janela (windowing) para um conteúdo externo em um sistema display digital, de acordo com algumas configurações;
A figura 4 é uma ilustração esquemática de um arranjo para sincronizar um primeiro fluxo de vídeo com um segundo fluxo de vídeo, de acordo com as configurações. Descrição Detalhada
Na descrição que se segue, numerosos detalhes específicos serão detalhados para prover àqueles habilitados na técnica um entendimento pleno de várias configurações. No entanto, várias configurações da presente invenção poderão ser praticadas sem tais detalhes específicos. Em outros casos, métodos, procedimentos, componentes, e circuitos bem conhecidos não foram descritos para não complicar desnecessariamente configurações particulares da presente invenção.
Algumas das configurações discutidas na presente invenção podem prover técnicas para sincronizar e prover janela para um conteúdo externo em sistemas de display digital. Tais técnicas podem permitir um dispositivo de display digital, tal como, por exemplo, televisão digital, integrar entradas de múltiplas fontes de vídeo, tal como, por exemplo, tocador (player) de disco de vídeo (DVD) microcomputador, servidor de armazenamento doméstico, e uma fonte de entrada externa, tal como, por exemplo, um__portal de vídeo remoto, de modo que as entradas integradas sejam apresentadas de modo imperceptível (seamless) em um dispositivo de display.
Em algumas configurações, um sistema para sincronizar e prover janela para um conteúdo externo em sistemas display digital pode ser implementado, tal como televisão digital, sistema de computador, ou outro sinal de renderização digital. A figura 1 é uma ilustração esquemática de um sistema display 100, de acordo com uma configuração da invenção. Referindo-se à figura 1, o sistema 100 inclui pelo menos uma porta de entrada 110 (na prática, pode ser uma pluralidade), através da qual o dispositivo de display 100 pode ser acoplado a múltiplos dispositivos fonte, tal como, por exemplo, antenas, discos de vídeo digital (DVD), computadores de mesa, servidores de armazenamento doméstico, etc. através de uma conexão de comunicação, tal como conexão de interface de multimídia de alta-definição, conexão RF (cabo coaxial), conexão de vídeo composto, conexão
S-vídeo, conexão VGA, etc. Em algumas configurações, a entrada pode se tratar de um sinal de televisão com protocolo Internet IP (IPTV).
O sistema adicionalmente compreende um processador de imagem “front-end” 115 que provê o processamento inicial da entrada de fonte da porta de entrada 110 e módulo de prover janela 120, que amplia a entrada de vídeo para um tamanho apropriado, para ajustá-lo a uma tela 190 acoplada ao sistema 100. Em adição, o sistema 100 pode compreender um módulo de melhora de imagem 125, que aplica uma ou mais técnicas de melhora de imagem ao fluxo de imagem, tais como, melhora de cor, equilíbrio de branco, melhora de definição, etc.
O sistema 100 adicionalmente compreende processador de dados 140. Em algumas configurações, o processador de dados 140 pode ser um processador de computador convencional, processador configurável, tal como, por exemplo, arranjo de porta programável (FPGA), ou processador específico para sistema de distribuição 110, tal como, por exemplo, um circuito integrado de aplicação específica (ASIC). Ademais, o processador pode incluir ou ser acoplado a um processador de vídeo.
O processador de dados 140 é acoplado a uma interface de rede 150, que provê conexão com a rede 155. Em algumas configurações, a rede 155 pode ser configurada na forma de uma rede pública - a Internet. Em configurações alternativas, a rede 155 pode ser implementada na forma de rede privada, tal como, rede de cabo ou similar. A rede 155 provê acesso a um guia de programação eletrônico EPG, que mantém um banco de dados de portal 160 de conteúdo, que pode ser apresentado na tela 190 pelo sistema 110. Por exemplo, o banco de dados de portal 160 pode compreender conteúdo de publicidade, conteúdo de imagem, conteúdo de informação, conteúdo interativo, etc. O sistema 100 adicionalmente compreende módulo de display gráfico 165 acoplado a um processador de dados 140. A saída do módulo de display gráfico 165 é direcionada para um módulo de prover janela 170, que amplia a entrada de vídeo para um tamanho apropriado, de modo a ajustá-la à tela 170 acoplada ao sistema 100.
O sistema 100 adicionalmente compreende um módulo de memória 142 que pode compreender uma memória ativa, tal como RAM, e uma ou mais mídias de armazenamento persistente, por exemplo, um ou mais dispositivos de disco rígido, drives ópticos, memórias flash, etc. Na configuração da figura 1, o módulo de memória compreende o banco local de dados 145. Em algumas configurações, o banco local de dados 145 pode ser usado para armazenar preferências de usuário. Por exemplo, um usuário pode preferir dispor um segundo conjunto de informações apenas no topo da tela. Ademais, o banco local de dados 145 pode ser usado para reduzir a quantidade de download requerida na rede.
O sistema 100 adicionalmente compreende um misturador, tal como, por exemplo, um módulo misturador alfa 130 que se sobrepõe à saída do módulo de prover janela 170 na saída do módulo de melhora de imagem 125, de modo que a saída do módulo 170 seja representada simultaneamente com a saída do módulo de melhora de imagem 125 na tela. A saída do módulo misturador alfa 130 é a entrada para uma máquina display que, gera uma saída para tela no módulo de tela 190.
Em algumas configurações, um sistema para sincronizar e prover janela para conteúdo externo em sistemas display digital pode ser implementado em forma de uma caixa de aparelho de mídia digital (DMA), que pode ser acoplada a um sistema display, tal como, por exemplo, televisão digital. A figura 2 é uma ilustração esquemática do sistema 200, de acordo com uma configuração.
Referindo-se agora à figura 2, o sistema compreende pelo menos uma porta de entrada 210 (na prática, uma pluralidade de portas), através da qual o dispositivo de display 200 pode ser acoplado a múltiplos dispositivos fonte, tal como, antenas, tocadores de disco de vídeo digital (DVD), microcomputadores, ou servidores de armazenamento doméstico, etc. por meio de uma conexão de comunicação, tal como, conexão de interface multimídia de alta definição (HDMI), conexão RF, cabo coaxial, conexão de televisão composta, conexão S-vídeo, conexão VGA, etc. Em algumas configurações, a entrada pode ser um sinal de televisão com protocolo Internet IP (IPTV).
O dispositivo de display 200 adicionalmente compreende um processador de imagem 215 que provê processamento inicial da entrada de fonte a partir da porta de entrada 110 e módulo de prover janela 220 que amplia a entrada de vídeo para o tamanho apropriado, para ajustá-la à tela acoplada ao dispositivo de display 200. Em adição, o dispositivo de display 200 pode compreender um módulo de melhora de imagem 225, que aplica uma ou mais técnicas de melhora de imagem ao fluxo de vídeo, tal como, por exemplo, melhora de cor, equilíbrio de branco, definição de imagem, etc.
O sistema 100 adicionalmente compreende um processador de sinal de TV 140. Em algumas configurações, o processador de dados 140 pode ser um processador convencional de computador, processador configurável, tal como, por exemplo, arranjo de porta de campo programável (FPGA), processador especifico para dispositivo de display 200, por exemplo, um circuito integrado de aplicação específica (ASIC). O processador 240 pode incluir ou ser acoplado a um processador de vídeo.
O processador de TV 140 é acoplado a uma caixa de aparelho de mídia digital (DMA) 250 e a um processador DMA 2564 na caixa DMA 250. A caixa DMA 250 adicionalmente compreende uma interface de rede 252 que provê acesso à rede 255. Em algumas configurações, a rede 255 pode ser configurada na forma de rede de pública, tal como, por exemplo, Internet. Em configurações alternativas, a rede 255 pode ser implementada na forma de rede privada, tal como, por exemplo, uma rede de cabo, etc. A rede 255 provê acesso a um guia de programação eletrônico EPG que mantém um banco de dados de portal de conteúdo 260 que pode ser representado pelo dispositivo de display 200 na tela 290. Por exemplo, o banco de dados de portal 260 pode compreender conteúdo de publicidade, conteúdo de imagem, conteúdo de informação, ou conteúdo interativo.
A caixa DMA 250 adicionalmente compreende um banco local de dados 256, que pode ser armazenado na memória ativa, tal como RAM, ou em uma ou mais mídias de armazenamento persistente, por exemplo, um ou mais discos rígidos, drives ópticos, drives de fita, etc.
A caixa DMA 250 adicionalmente compreende um módulo de tela gráfica 258 acoplado ao processador DMA 254.
Em uma configuração, a saída do módulo de tela gráfica 256 é direcionada para um módulo de processamento de imagem “front-end” 215’ no dispositivo de display 200. A saída do módulo de processamento de imagem “front-end” 215’ é a entrada no módulo de prover janela 220’ que amplia o tamanho da entrada de vídeo para ajustá-la à tela 190 acoplada ao sistema 100. A saída do módulo de prover janela 220’ é a entrada para um módulo de melhora de imagem 225’, que aplica uma ou mais técnicas de melhora de imagem ao fluxo de imagem, tal como, por exemplo, melhora de imagem, equilíbrio de branco, melhora de definição de imagem, etc.
O dispositivo de display 200 adicionalmente compreende um misturador, tal como, por exemplo, módulo misturador alfa 230 que se sobrepõe à saída do módulo de melhora de imagem 225’, de modo que a saída do módulo de melhora de imagem 225’ seja representada simultaneamente com a saída do módulo de melhora de imagem 125 em uma tela. A saída do módulo misturador alfa é a entrada para máquina display que gera uma saída para a tela 290.
A figura 3 é um fluxograma ilustrando operações em um método para sincronizar e prover janela de conteúdo externo em um sistema display digital, de acordo com algumas configurações. Na configuração da figura 1, as operações da coluna direita da figura 3 podem ser implementadas por uma fonte de vídeo remota, tal como, banco de dados de portal 160. Na figura 2, as operações da coluna esquerda da figura 3 são implementadas pela caixa DMA 250 e dispositivo de display 200 e as operações na coluna direita da figura 3 implementadas por uma fonte de vídeo remota, como o banco de dados de portal 160.
Referindo-se agora à figura 3, na operação 310, um primeiro sinal de vídeo é recebido a partir de uma primeira fonte de vídeo. Por exemplo, o primeiro sinal de vídeo pode ser uma entrada de sinal IPTV de uma antena, entrada HDMI, ou entrada de componente. Em algumas configurações, o sinal IPTV compreende um metadado que identifica, de modo único, o fluxo de sinal de vídeo. Por exemplo, o metadado pode compreender um identificador que identifique, de modo único, o conteúdo de vídeo do fluxo de vídeo, tal como um programa específico, vídeo de música, etc. Em adição, o metadado pode compreender identificar cenas específicas em um programa, músicas associadas ao programa, ou atores ou locais das cenas nos programas.
Na operação 315, o metadado é extraído do fluxo de dados de vídeo IPTV. Por exemplo, na configuração da figura 1, o processador de imagem “front-end” 115 extrai o metadado da entrada de fonte a partir das portas de entrada 110, e encaminha o metadado ao processador 140. Similarmente, na configuração da figura 2, o processador de imagem “front-end” 215 extrai o metadado da entrada de fonte das portas de entrada 210 e o encaminha ao processador de dados 240.
Na operação 320, faz-se uma busca do guia de programação eletrônico (EPG) com pelo menos uma parte do metadado extraído do fluxo de vídeo na operação 315. Por exemplo, na configuração da figura 1, o processador 140 abre uma pesquisa para EPG/Portal DB 160 através da interface de rede 155 e rede de comunicação 155. Similarmente, na configuração da figura 2, o processador de TV 240 passa o metadado para o processador DMA 254, que abre uma pesquisa para o EPG/ Portal DB 260 através da interface de rede 255 e rede de comunicação 255.
Na operação 325, a segunda fonte de vídeo, i.e. EPG, recebe o resultado da busca compreendendo o metadado, e, na operação 340, o EPG usa o metadado para recuperar um segundo sinal de vídeo a partir do portal DB 260, usando pelo menos uma porção do metadado - como chave - para acessar o portal DB. Por exemplo, o portal DB 260 pode incluir um conteúdo suplementar, tal como, conteúdo de publicidade, imagens, etc. em conjunto com o primeiro fluxo de vídeo. Na operação 335, a segunda fonte de vídeo retorna o segundo sinal de vídeo para a entidade requisitante.
Na operação 340, o segundo sinal de vídeo é recebido pela entidade requisitante. Por exemplo, na configuração da figura 1, o segundo sinal de vídeo é recebido no processador de dados 140 pela interface de rede 150. Na configuração da figura 2, o segundo sinal de vídeo é recebido no processador DMA 254 pela interface 252.
Na operação 345, um segundo sinal de vídeo é encaminhado para um módulo de prover janela para ser ajustado à tela. Por exemplo, na configuração da figura 1, o processador de dados 140 passa o segundo sinal de vídeo ao processador gráfico 165 que, por sua vez, encaminha o segundo sinal de vídeo ao módulo de prover janela 170. Na configuração da figura 2, o processador DMA 254 passa o segundo sinal de vídeo para o processador gráfico 258, que, por sua vez, encaminha o segundo sinal de vídeo para um processador de imagem “front-end” 215’ e módulo de prover janela 220’.
Na operação 350, o segundo sinal de vídeo é sincronizado com o primeiro sinal de vídeo. Uma configuração de um processo de sincronização será discutida em conexão com a figura 4. Na operação 355, o primeiro fluxo de vídeo e o segundo fluxo de vídeo são misturados. Por exemplo, na configuração da figura 1, o primeiro fluxo de vídeo e o segundo fluxo de vídeo são misturados pelo misturador alfa 130. Na configuração da figura 2, o primeiro fluxo de vídeo e segundo fluxo de vídeo são misturados pelo misturador alfa 230.
Na operação 360, o primeiro sinal de vídeo e o segundo sinal de vídeo combinados são apresentados em tela. Por exemplo, na configuração da figura 1, o primeiro fluxo de vídeo e o segundo fluxo de vídeo são misturados pelo misturador alfa 130. Na configuração da figura 2, o primeiro fluxo de vídeo e o segundo fluxo de vídeo são misturados pelo misturador alfa 230.
Em algumas configurações, as operações da figura 3 podem ser implementadas com múltiplas fontes de vídeo remotas. Por exemplo, o metadado pode ser usado para extrair um segundo sinal de vídeo de uma segunda fonte, um terceiro sinal de vídeo de uma terceira fonte, e assim por diante. Em algumas configurações, o primeiro sinal de vídeo e segundo sinal de vídeo podem apresentar taxas de quadro (frame rates) diferentes. Por exemplo, muitos filmes são gravados com formato progressivo de 24 Hz, e a programação de televisão gravada com formato progressivo de 60 Hz. Em contraste, a saída dos controladores gráficos 165, 258 comumente é 120 Hz. Assim, o primeiro sinal de vídeo e o segundo sinal de vídeo precisam estar sincronizados antes de serem apresentados em tela.
A figura 4 é uma ilustração esquemática de um arranjo para sincronizar o primeiro fluxo de vídeo com o segundo fluxo de vídeo, de acordo com as configurações. Referindo-se à figura 4, o fluxo de processamento para primeira fonte de vídeo é ilustrado nos blocos superiores da figura 4. Em operação, o segundo fluxo de vídeo constitui a entrada para o processador gráfico 460, que gera uma saída em formato progressivo 120 Hz. A saída é aplicada a um módulo de prover janela 465 e filtro anti-serrilhado (anti-aliasing) 470 antes de ser submetida ao módulo misturador alfa 440.
O primeiro sinal de vídeo é processado por um processador de imagem “front-end” 410, módulo de prover janela 415, e módulo de melhora de imagem 420, cujas operações são descritas com referência às figuras 1 e 2. A taxa de quadro do primeiro sinal de vídeo pode ser mantida durante o processamento pelo processador de imagem “front-end” 410, módulo de prover janela 415, e módulo de melhora de imagem 420. Por exemplo, se o primeiro sinal de vídeo se constitui a entrada em formato progressivo 60, a taxa de quadro pode permanecer em formato progressivo 60 nestes módulos.
A saída do módulo de melhora de imagem é inserida em uma máquina de previsão de movimento 425 e interpolador de compensação de movimento 430, que ajusta a taxa de quadro à taxa de quadro de 120 Hz do segundo sinal de vídeo. Por exemplo, se o primeiro sinal de vídeo for inserido em formato progressivo de 60 Hz, então a taxa de quadro pode ser duplicada, para se ajustar ao formato progressivo de 120 Hz do segundo sinal. A saída é aplicada ao módulo de prover janela 465 e filtro anti-serrilhado 435, antes de ser submetida ao módulo misturador alfa 440.
O módulo misturador alfa 440 mistura o primeiro sinal de vídeo com o segundo sinal de vídeo e apresenta o sinal combinado para a máquina de display 445, que apresenta o sinal combinado em tela 450.
Assim, nesta especificação, foram descritos sistemas e métodos exemplares para sincronizar e prover janela de conteúdo externo em sistemas display digital. Os métodos descritos podem ser configurados como instruções lógicas em um meio legível por computador. Ao serem executadas em um processador, as instruções lógicas fazem que um computador de uso geral seja programado como uma máquina de uso específico, que implementa os métodos descritos. O processador configurado pelas instruções lógicas para executar os métodos descritos nesta especificação constitui uma estrutura para realizar os métodos descritos.
Ademais, algumas configurações podem ser providas como sendo um produto de programa de computador, incluindo um meio legível por computador ou máquina, incluindo instruções armazenadas, que são usadas para programar um computador (ou outros dispositivos ou equipamentos eletrônicos) para executar o processo discutido aqui. O meio legível por máquina pode incluir, mas não se limitando a, disquetes flexíveis, discos rígidos, discos ópticos CD-ROMs, e discos magneto-ópticos, ROMs, RAMs, ROMs programáveis apagáveis (EPROMs), EPROMs programáveis e apagáveis eletricamente (EEPROMs), cartões magnéticos ou ópticos, memória flash, ou outros tipos de mídia ou mídia legível por computador, adequados para armazenar instruções e/ou dados. Ademais, sos dados discutidos aqui podem ser armazenados em um único banco de dados, em múltiplos bancos de dados, ou de outras formas (tal como em tabelas).
Ademais, na descrição e nas reivindicações, o termo “Acoplado” e “Conectado” e derivativos pode ser usado. Em_algumas configurações, o termo “Conectado” pode ser usado para indicar que dois ou mais elementos se contatam física ou eletricamente. No entanto, o termo “Acoplado” também pode dar entender que embora dois ou mais elementos não se contatem diretamente, ainda assim cooperam ou interagem.
A referência a uma configuração (ou a própria configuração) pode indicar que um componente, estrutura, ou característica particular está incluído em pelo menos uma implementação. Quando surge o termo “Em Uma Configuração” em vários lugares ao longo da especificação, este termo não se refere necessariamente à mesma configuração.