BR112018013301B1 - Método e dispositivo para facilitar acesso a itens de conteúdo, e meio de armazenamento legível por computador - Google Patents

Método e dispositivo para facilitar acesso a itens de conteúdo, e meio de armazenamento legível por computador Download PDF

Info

Publication number
BR112018013301B1
BR112018013301B1 BR112018013301-9A BR112018013301A BR112018013301B1 BR 112018013301 B1 BR112018013301 B1 BR 112018013301B1 BR 112018013301 A BR112018013301 A BR 112018013301A BR 112018013301 B1 BR112018013301 B1 BR 112018013301B1
Authority
BR
Brazil
Prior art keywords
user
content item
computing device
user interface
display
Prior art date
Application number
BR112018013301-9A
Other languages
English (en)
Other versions
BR112018013301A2 (pt
Inventor
Alex Fishman
Crx Chai
Dan Shocknesse
Laurent Demesmaeker
Original Assignee
Opentv, 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
Application filed by Opentv, Inc filed Critical Opentv, Inc
Publication of BR112018013301A2 publication Critical patent/BR112018013301A2/pt
Publication of BR112018013301B1 publication Critical patent/BR112018013301B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

um dispositivo de computação para facilitar o acesso a itens de conteúdo inclui é configurado para permitir comunicação com um dispositivo acompanhante. um dispositivo acompanhante inclui uma interface de usuário que inclui um painel de toque. o dispositivo de computação é configurado para determinar se dados de evento de toque recebidos de um dispositivo acompanhante correspondem a um gesto particular. um dispositivo de computação causa uma transição do item selecionado de conteúdo para um item adjacente de conteúdo dentro de uma série ordenada de itens de conteúdo, ao determinar que os dados de evento de toque correspondem à iniciação de um gesto de deslizar e determinar se deve alterar o item de conteúdo selecionado para o item de conteúdo adjacente com base no fato de o gesto de deslizamento horizontal exceder um limite.

Description

CAMPO TÉCNICO
[001] A presente descrição refere-se ao campo de mídia digital interativa e interfaces gráficas de usuário.
FUNDAMENTOS DA INVENÇÃO
[002] As capacidades de reprodução de mídia digital podem ser incorporadas em uma ampla faixa de dispositivos, incluindo televisões digitais, incluindo assim denominadas televisões “inteligentes”, codificadores/decodificadores integrados, laptop ou computadores de mesa, computadores tipo tablet, leitores de e-book, dispositivos de gravação digital, reprodutores de mídia digital, dispositivos de jogos em vídeo, câmeras digitais, telefone celulares, incluindo assim denominado telefones “inteligentes”, e dispositivos de transmissão contínua de vídeo dedicada. O conteúdo de mídia digital pode originar a partir de uma pluralidade de fontes, incluindo, por exemplo, dispositivos de armazenamento locais, provedores de televisão sobre o ar, provedores de televisão via satélite, provedores de televisão a cabo, e serviços de mídia online, incluindo, serviços de transmissão contínua e de transferência de mídia online. Adicionalmente, os dispositivos com capacidades de reprodução de mídia digital podem prover para um usuário interfaces, incluindo interfaces gráficas de usuário (GUIs), que habilitam que o usuário selecione um item de conteúdo a acessar.
[003] Devido à ampla faixa de conteúdo que os usuários podem acessar nos dispositivos com capacidades de reprodução de mídia digital, as interfaces e as técnicas tradicionais para organizar, classificar e exibir os itens de conteúdo disponíveis podem ser menos do que ideais.
SUMÁRIO
[004] Não pretende-se que o seguinte sumário resumido inclua todos os recursos e aspectos da presente invenção, nem que ele implique que a invenção deve incluir todos os recursos e aspectos discutidos neste sumário. A presente descrição refere-se a técnicas para habilitar que os usuários acessem o conteúdo de mídia digital e, mais especificamente, descreve técnicas e ferramentas para habilitar que um usuário acesse eficientemente os itens de conteúdo. Deve-se notar que, da forma aqui usada, o termo item de conteúdo pode incluir pelo menos itens individuais de conteúdo digital (por exemplo, arquivos de vídeo, arquivos de música e imagens digitais), e coletâneas de itens individuais de conteúdo digital (por exemplo, uma coletânea de arquivos de vídeo, incluindo, por exemplo, uma série de televisão, um álbum que inclui arquivos de música e um álbum de imagens digitais). Adicionalmente, em alguns exemplos, os itens de conteúdo podem se referir a aplicações que, mediante execução, habilitam que um usuário acesse o conteúdo digital através da execução da aplicação. Em alguns exemplos, as técnicas aqui descritas podem ser implementadas em um dispositivo com capacidades de reprodução de mídia digital, incluindo, por exemplo, codificadores/decodificadores integrados, televisões, laptop ou computadores de mesa, consoles de jogos, dispositivos de transmissão contínua dedicada e/ou um dispositivo acompanhante associado, incluindo, por exemplo, os controles remotos, computadores tipo tablet e telefones inteligentes. Deve-se notar que, em alguns casos, as técnicas aqui descritas podem, no geral, ser aplicáveis a dispositivos capazes de exibir as interfaces gráficas de usuário e fazer com que o conteúdo digital seja renderizado em um dispositivo tipo visor.
[005] De acordo com um exemplo da descrição, um método para facilitar o acesso a itens de conteúdo compreende fazer com que uma apresentação de vídeo para um item de conteúdo selecionado seja renderizada em um visor, determinar se os dados de evento de toque correspondem a uma iniciação de um gesto de deslizamento horizontal, causar uma transição do item de conteúdo selecionado para um item de conteúdo adjacente dentro de uma série ordenada de itens de conteúdo, ao determinar que os dados de evento de toque correspondem à iniciação de um gesto de deslizamento horizontal, e determinar se deve alterar o item de conteúdo selecionado para o item de conteúdo adjacente com base no fato de o gesto de deslizamento horizontal exceder um limite.
[006] De acordo com um outro exemplo da descrição, um dispositivo para facilitar o acesso a itens de conteúdo compreende um ou mais processadores configurados para fazer com que uma apresentação de vídeo para um item de conteúdo selecionado seja renderizada em um visor, determinar se os dados de evento de toque correspondem a uma iniciação de um gesto de deslizamento horizontal, causar uma transição do item de conteúdo selecionado para um item de conteúdo adjacente dentro de uma série ordenada de itens de conteúdo, ao determinar que os dados de evento de toque correspondem à iniciação de um gesto de deslizamento horizontal, e determinar se deve alterar o item de conteúdo selecionado para o item de conteúdo adjacente com base no fato de o gesto de deslizamento horizontal exceder um limite.
[007] De acordo com um outro exemplo da descrição, um aparelho para facilitar o acesso a itens de conteúdo compreende meio para fazer com que uma apresentação de vídeo para um item de conteúdo selecionado seja renderizada em um visor, determinar se os dados de evento de toque correspondem a uma iniciação de um gesto de deslizamento horizontal, causar uma transição do item de conteúdo selecionado para um item de conteúdo adjacente dentro de uma série ordenada de itens de conteúdo, ao determinar que os dados de evento de toque correspondem à iniciação de um gesto de deslizamento horizontal, e determinar se deve alterar o item de conteúdo selecionado para o item de conteúdo adjacente com base no fato de o gesto de deslizamento horizontal exceder um limite.
[008] De acordo com um outro exemplo da descrição, uma mídia de armazenamento legível por computador não transitória tem instruções armazenadas na mesma que, mediante execução, fazem com que um ou mais processadores de um dispositivo façam com que uma apresentação de vídeo para um item de conteúdo selecionado seja renderizada em um visor, determinem se os dados de evento de toque correspondem a uma iniciação de um gesto de deslizamento horizontal, causem uma transição do item de conteúdo selecionado para um item de conteúdo adjacente dentro de uma série ordenada de itens de conteúdo, ao determinar que os dados de evento de toque correspondem à iniciação de um gesto de deslizamento horizontal, e determinem se deve alterar o item de conteúdo selecionado para o item de conteúdo adjacente com base no fato de o gesto de deslizamento horizontal exceder um limite.
[009] Os detalhes de um ou mais exemplos são apresentados a seguir nos desenhos anexos e na descrição. Ainda outros recursos, objetivos e vantagens ficarão aparentes a partir da descrição e dos desenhos, e das reivindicações.
BREVE DESCRIÇÃO DOS DESENHOS
[0010] A figura 1 é diagrama de blocos que ilustra um exemplo de um sistema que pode implementar uma ou mais técnicas desta descrição.
[0011] A figura 2 é um diagrama de blocos que ilustra um exemplo de um dispositivo de computação que pode implementar uma ou mais técnicas desta descrição.
[0012] A figura 3 é um diagrama de blocos que ilustra um exemplo de um dispositivo acompanhante que pode implementar uma ou mais técnicas desta descrição.
[0013] A figura 4 é um diagrama de blocos que ilustra um exemplo de um dispositivo acompanhante que pode implementar uma ou mais técnicas desta descrição.
[0014] A figura 5 é um diagrama conceitual que ilustra um exemplo de uma interface de usuário que pode implementar uma ou mais técnicas desta descrição.
[0015] A figura 6 é um diagrama conceitual que ilustra um exemplo de uma interface de usuário que pode implementar uma ou mais técnicas desta descrição.
[0016] A figura 7A é um diagrama conceitual que ilustra um exemplo de uma interface de usuário que pode implementar uma ou mais técnicas desta descrição.
[0017] As figuras 7B-7C são diagramas conceituais que ilustram vistas explodidas de um conjunto mecânico de um dispositivo acompanhante que pode incluir a interface de usuário de exemplo ilustrada na figura 7A.
[0018] As figuras 8A-8D são diagramas conceituais que ilustram entradas de usuário de exemplo que podem ser recebidas pela interface de usuário de exemplo ilustrada na figura 7A de acordo com uma ou mais técnicas desta descrição.
[0019] As figuras 9A-9D são diagramas conceituais que ilustram uma interface gráfica de usuário de exemplo que pode implementar uma ou mais técnicas desta descrição.
[0020] A figura 10 é um diagrama conceitual que ilustra um exemplo de uma transição em um dispositivo tipo visor em resposta à entrada de usuário que pode ser recebida por uma interface de usuário de exemplo de acordo com uma ou mais técnicas desta descrição.
[0021] A figura 11 é um diagrama conceitual que ilustra um exemplo de uma transição em um dispositivo tipo visor em resposta à entrada de usuário que pode ser recebida por uma interface de usuário de exemplo de acordo com uma ou mais técnicas desta descrição.
[0022] A figura 12 é um diagrama conceitual que ilustra uma interface gráfica de usuário de exemplo que pode implementar uma ou mais técnicas desta descrição.
[0023] A figura 13 é um diagrama conceitual que ilustra um exemplo de gestos multiníveis de acordo com uma ou mais técnicas desta descrição.
[0024] As figuras 14A-14C são diagramas conceituais que ilustram uma interface gráfica de usuário de exemplo que pode implementar uma ou mais técnicas desta descrição.
[0025] A figura 15 é um diagrama conceitual que ilustra um exemplo de transições em um dispositivo tipo visor em resposta à entrada de usuário que pode ser recebida por uma interface de usuário de exemplo de acordo com uma ou mais técnicas desta descrição.
[0026] As figuras 16A-16F são diagramas conceituais que ilustram uma interface gráfica de usuário de exemplo que pode implementar uma ou mais técnicas desta descrição.
[0027] As figuras 17A-17B são diagramas conceituais que ilustram um exemplo de uma transição em um dispositivo tipo visor em resposta à entrada de usuário que pode ser recebida por uma interface de usuário de exemplo de acordo com uma ou mais técnicas desta descrição.
[0028] As figuras 18A-18B são diagramas conceituais que ilustram uma interface gráfica de usuário de exemplo que pode implementar uma ou mais técnicas desta descrição.
[0029] As figuras 19A-19E é um fluxograma que ilustra um exemplo de método de seleção de itens de conteúdo de acordo com uma ou mais técnicas desta descrição.
[0030] A figura 20 é um fluxograma que ilustra um exemplo de um processo em plano de fundo de acordo com uma ou mais técnicas desta descrição.
DESCRIÇÃO DETALHADA
[0031] São aqui descritos sistemas e métodos para habilitar que um usuário acesse os itens de conteúdo. Algumas modalidades se estendem para uma mídia legível por máquina que incorpora as instruções que, quando executadas por uma máquina, fazem com que a máquina realize qualquer uma ou mais das metodologias aqui descritas. Outros recursos ficarão aparentes a partir dos desenhos anexos e da descrição detalhada que segue. Os exemplos meramente tipificam variações possíveis. A menos que explicitamente declarado de outra forma, os componentes e as funções são opcionais e podem ser combinados ou subdivididos, e as operações podem variar em sequência ou podem ser combinadas ou subdivididas. Na seguinte descrição, com propósitos de explicação, inúmeros detalhes específicos são apresentados para prover um criterioso entendimento das modalidades de exemplo. Será evidente para versados na técnica, entretanto, que o presente assunto em questão pode ser praticado sem estes detalhes específicos.
[0032] Os dispositivos com capacidades de reprodução de mídia digital podem habilitar que um usuário acesse os itens de conteúdo a partir de diversas fontes. Por exemplo, os dispositivos com capacidades de reprodução de mídia digital, incluindo, por exemplo, televisões, codificadores/decodificadores integrados, laptop ou computadores de mesa, computadores tipo tablet, dispositivos de jogos em vídeo, telefones inteligentes e dispositivos de transmissão contínua de vídeo dedicada, podem habilitar um usuário dos mesmos a acessar o conteúdo de mídia digital através de um ou mais serviços de conteúdo de mídia digital. Os exemplos de serviços de conteúdo de mídia digital incluem os serviços de transmissão contínua, os serviços de televisão e combinações dos mesmos. Atuais exemplos comerciais de serviços de transmissão contínua incluem os serviços de transmissão contínua disponíveis por Hulu®, LLC e Netflix®, Inc. Atuais exemplos comerciais de combinações de serviços de televisão e transmissão contínua incluem serviços disponíveis por Comcast® Corporation, DirecTV®, LLC e Home Box Office®, Inc.
[0033] Os dispositivos com capacidades de reprodução de mídia digital, incluindo, por exemplo, televisões, codificadores/decodificadores integrados, e dispositivos de transmissão contínua de vídeo dedicada, podem incluir um controle remoto com botão de pressionamento. Os controles remotos com botão de pressionamento habilitam que um usuário selecione um item de conteúdo pela ativação de uma sequência de botões, por exemplo, teclando um número associado a um canal de televisão. Adicionalmente, os dispositivos com capacidades de reprodução de mídia digital podem ser configurados para prover aos usuários dos mesmos as interfaces gráficas de usuário que habilitam a seleção de conteúdo. Por exemplo, um codificador/decodificador integrado pode ser configurado para prover para um usuário um guia eletrônico de programação (EPG), em que a guia eletrônico de programação exibe os itens de conteúdo em uma grade. Isto é, um EPG pode exibir os itens de conteúdo em uma grade de acordo com as redes de televisão e os intervalos de tempo. Um controle remoto com botão de pressionamento pode habilitar um usuário a selecionar um item de conteúdo em particular a partir de uma grade para visualização. Adicionalmente, alguns dispositivos com capacidades de reprodução de mídia digital podem habilitar um usuário a selecionar os itens de conteúdo usando um dispositivo de computação secundário (por exemplo, um telefone inteligente, tablet, etc.) em comunicação com o dispositivo. Da forma aqui usada, um dispositivo acompanhante pode se referir a qualquer dispositivo configurado para comunicar com um dispositivo de computação e pode incluir, em alguns exemplos, um dispositivo que inclui uma interface de usuário (por exemplo, botões de pressionamento, uma tela sensível ao toque, etc.) em comunicação com um dispositivo com capacidades de apresentação de mídia digital.
[0034] Os dispositivos com capacidades de reprodução de mídia digital podem habilitar que um usuário acesse os itens de conteúdo a partir de diversas fontes. Por exemplo, um único dispositivo com capacidades de mídia digital pode habilitar que um usuário acesse mídia digital a partir de um serviço de televisão, através de um sintonizador, bem como a partir de um serviço de mídia online de transmissão contínua, através de uma interface de rede, desse modo, aumentando os tipos e o número de itens de conteúdo disponíveis para um usuário. As interfaces de usuário convencionais, incluindo as interfaces gráficas de usuário tradicionais e/ou os controles remotos com botão de pressionamento tradicionais, podem ser menos do que ideais.
[0035] A figura 1 é um diagrama de blocos que ilustra um exemplo de um sistema que pode implementar uma ou mais técnicas descritas nesta descrição. O sistema 100 pode ser configurado para permitir que um usuário acesse os itens de conteúdo de acordo com as técnicas aqui descritas. No exemplo ilustrado na figura 1, o sistema 100 inclui um ou mais dispositivos de computação 102A-102N, rede de comunicações 104, página da Internet do provedor de serviço de televisão 110, um ou mais páginas da Internet do provedor do serviço de mídia 118A-118N, página da Internet de distribuição de conteúdo para página da Internet 120, página da Internet de distribuição de aplicação 122 e dispositivo(s) acompanhante(s) 130. O sistema 100 pode incluir módulos de software que operam em um ou mais servidores. Os módulos de software podem ser armazenados em uma memória e executados em um processador. Os servidores podem incluir um ou mais processadores e uma pluralidade de dispositivos de memória internos e/ou externos. Os exemplos de dispositivos de memória incluem servidores de arquivo, servidores do protocolo de transferência de arquivo (FTP), dispositivos de armazenamento anexado em rede (NAS), unidades de disco locais ou qualquer outro tipo de dispositivo ou mídia de armazenamento capazes de armazenar dados. A mídia de armazenamento pode incluir discos ópticos, incluindo, por exemplo, discos Blu-ray, DVDs, e CD-ROMs, a memória flash, ou qualquer outra mídia de armazenamento digital adequada. Quando as técnicas aqui descritas forem implementadas parcialmente em software, um dispositivo pode armazenar as instruções para o software em uma mídia legível por computador não transitória adequada, e executar as instruções em hardware usando um ou mais processadores.
[0036] O sistema 100 representa um exemplo de um sistema que pode ser configurado para permitir que conteúdo digital, tais como, por exemplo, música, vídeos, incluindo filmes e programação de televisão, imagens, páginas da Internet, mensagens, comunicações por voz e aplicações, seja distribuído para e acessado por uma pluralidade de dispositivos de computação, tais como os dispositivos de computação 102A-102N. No exemplo ilustrado na figura 1, os dispositivos de computação 102A-102N podem incluir qualquer dispositivo configurado para transmitir dados para e/ou receber os dados a partir da rede de comunicação 104. Por exemplo, os dispositivos de computação 102A-102N podem ser equipados para comunicações com fios e/ou sem fio e podem incluir codificadores/decodificadores integrados, gravadores de vídeo digital, televisões, desktop, laptop, ou computadores tipo tablet, consoles de jogos, dispositivos móveis, incluindo, por exemplo, telefones “inteligentes”, telefones celulares e dispositivos de jogos pessoais. Deve-se notar que, embora o exemplo de sistema 100 seja ilustrado como tendo páginas da Internet distintas, uma ilustração como esta é com propósitos descritivos e não limita o sistema 100 a uma arquitetura física em particular. As funções do sistema 100 e das páginas da Internet incluídas no mesmo podem ser realizadas usando qualquer combinação de implementações em hardware, software embarcado e/ou software.
[0037] A rede de comunicações 104 pode compreender qualquer combinação de mídia de comunicação sem fio e/ou com fios. A rede de comunicações 104 pode incluir cabos coaxiais, cabos de fibra óptica, cabos de par trançado, transmissores e receptores sem fio, roteadores, comutadores, repetidores, estações bases ou qualquer outro equipamento que pode ser usado para facilitar as comunicações entre vários dispositivos e páginas da Internet. A rede de comunicações 104 pode operar de acordo com uma combinação de um ou mais protocolos de telecomunicação. Os protocolos de telecomunicações podem incluir aspectos proprietários e/ou podem incluir protocolos de telecomunicação padronizados. Os exemplos de protocolos de telecomunicações padronizados incluem os padrões de Difusão por Vídeo Digital (DVB), os padrões do Comitê de Sistemas de Televisão Avançados (ATSC), que incluem o assim denominado pacote de padrões ATSC 3.0 atualmente em desenvolvimento, padrões de Difusão Digital por Serviços Integrados (ISDB), Difusão Multimídia Terrestre Digital (DTMB), Difusão Multimídia Digital (DMB), padrões da Especificação da Interface de Serviço de Dados Sobre Cabo (DOCSIS), padrões de Comunicações no Sistema Móvel Global (GSM), padrões do Acesso Múltiplo por Divisão de Código (CDMA), padrões do Projeto de Parceria da 3a Geração (3GPP), padrões do Instituto Europeu de Padrões de Telecomunicações (ETSI), padrões do Protocolo da Internet (IP), padrões do Protocolo de Aplicação Sem Fio (WAP) e padrões IEEE, tais como, por exemplo, um ou mais dos padrões incluídos na família de padrões IEEE 802.
[0038] Da forma ilustrada na figura 1, as redes de diferentes tipos podem ser definidas na rede de comunicações 104. As redes podem ser definidas de acordo com os aspectos físicos e/ou lógicos. Por exemplo, as redes que compartilham a mesma infraestrutura física (por exemplo, cabos coaxiais) podem ser distinguidas com base em um tipo de serviço primário (por exemplo, acesso à página da Internet ou serviço de televisão) ou nos protocolos de comunicações (por exemplo, IP/TCP ou MPEG-TS). No exemplo ilustrado na figura 1, a rede de comunicações 104 inclui a rede de provedor de televisão 106 e a rede pública 108. Deve-se notar que, embora a rede de provedor de televisão 106 e a rede pública 108 sejam ilustradas como distintas, a rede de provedor de televisão 106 e a rede pública 108 podem compartilhar os aspectos físicos e/ou lógicos.
[0039] A rede de provedor de televisão 106 é um exemplo de uma rede configurada para prover para um usuário serviços de televisão. Por exemplo, a rede de provedor de televisão 106 pode incluir redes de televisão públicas sobre o ar, redes de provedor de serviço de televisão via satélite pública ou com base em assinatura, e redes de provedor de televisão a cabo pública ou com base em assinatura. Deve-se notar que, embora em alguns exemplos, a rede de provedor de televisão 106 possa ser primariamente usada para prover os serviços de televisão, a rede de provedor de televisão 106 também pode prover outros tipos de dados e serviços de acordo com qualquer combinação dos protocolos de telecomunicação aqui descritos.
[0040] A rede pública 108 é um exemplo de uma rede com base em pacote, tais como, uma rede de área local, uma rede de área ampla, ou uma rede global, tal como a Internet, configurada para prover para um usuário serviços com base na Rede Mundial de Computadores. A rede pública 108 pode ser configurada para operar de acordo com os padrões do Protocolo da Internet (IP). Deve-se notar que, embora em alguns exemplos, a rede pública 108 possa ser primariamente usada para prover acesso a páginas da Internet em hipertexto, a rede pública 108 também pode prover outros tipos de conteúdo de mídia de acordo com qualquer combinação do protocolo de telecomunicação aqui descrito.
[0041] Novamente em relação à figura 1, a página da Internet do provedor de serviço de televisão 110 pode ser configurada para prover para os dispositivos de computação 102A-102N o serviço de televisão. Por exemplo, a página da Internet do provedor de serviço de televisão 110 pode incluir uma estação de difusão pública, um provedor de televisão a cabo ou um provedor de televisão via satélite, e pode ser configurada para prover os serviços de televisão para televisões analógicas e/ou digitais e codificadores/decodificadores integrados. No exemplo ilustrado na figura 1, a página da Internet do provedor de serviço de televisão 110 inclui motor de distribuição no ar 112 e motor sob demanda 114. O motor de distribuição no ar 112 pode ser configurado para receber uma pluralidade de alimentações no ar e distribuir as alimentações para os dispositivos de computação 102A-102N através da rede de provedor de televisão 106. Por exemplo, o motor de distribuição no ar 112 pode ser configurado para receber um ou mais eventos de televisão sobre o ar por meio de uma ligação ascendente/ligação descendente via satélite e distribuir os eventos de televisão sobre o ar para um ou mais usuários de um serviço de televisão a cabo com base em assinatura.
[0042] O motor sob demanda 114 pode ser configurado para acessar uma biblioteca de conteúdo multimídia e distribuir o conteúdo multimídia para um ou mais dos dispositivos de computação 102A-102N através da rede de provedor de televisão 106. Por exemplo, o motor sob demanda 114 pode acessar o conteúdo multimídia (por exemplo, música, filmes e espetáculos de TV) armazenado na base de dados multimídia 116A e prover para um assinante de um serviço de televisão a cabo filmes com base em pagamento por visualização (PPV). Por exemplo, um usuário pode adquirir acesso a um item de conteúdo por um período limitado (por exemplo, acesso de 24 horas a um filme por $ 4,99). A base de dados multimídia 116A pode incluir os dispositivos de armazenamento configurados para armazenar o conteúdo multimídia. Deve-se notar que o conteúdo multimídia acessado através do motor sob demanda 114 também pode estar localizado em várias páginas da Internet no sistema 100 (por exemplo, distribuição ponto a ponto pode ser suportada).
[0043] As páginas da Internet do provedor do serviço de mídia 118A- 118N representam os exemplos de provedores do serviço multimídia. As páginas da Internet do provedor do serviço de mídia 118A-118N podem ser configuradas para acessar uma biblioteca de conteúdo multimídia e distribuir o conteúdo multimídia para um ou mais dos dispositivos de computação 102A-102N através da rede pública 108. Por exemplo, as páginas da Internet do provedor do serviço de mídia 118A-118N podem acessar o conteúdo multimídia (por exemplo, música, filmes e espetáculos de TV) armazenado nas bases de dados de conteúdo multimídia 116B-116N e prover um usuário de um serviço de mídia com multimídia. As bases de dados de conteúdo multimídia 116B-116N podem incluir os dispositivos de armazenamento configurados para armazenar o conteúdo multimídia. Em um exemplo, a página da Internet de um provedor do serviço de mídia pode ser configurada para prover conteúdo para um ou mais dos dispositivos de computação 102A- 102N usando o pacote de Protocolo da Internet. Em alguns exemplos, um serviço de mídia pode ser referido como um serviço de transmissão contínua. Os exemplos comerciais dos serviços de transmissão contínua estão acima descritos. Como exposto, a rede de provedor de televisão 106 e a rede pública 108 podem compartilhar aspectos físicos e lógicos. Assim, o conteúdo acessado por um ou mais dos dispositivos de computação 102A-102N a partir da página da Internet de um provedor do serviço de mídia 118A-118N pode ser transmitido através dos componentes físicos da rede de provedor de televisão 106. Por exemplo, um usuário de um dos dispositivos de computação 102A-102N pode acessar a Internet e o conteúdo multimídia provido por um serviço de mídia através de um modem a cabo conectado em uma rede coaxial mantida por um provedor de televisão a cabo.
[0044] A página da Internet de distribuição de conteúdo para página da Internet 120 representa um exemplo de um provedor de serviço de página da Internet. A página da Internet de distribuição de conteúdo para página da Internet 120 pode ser configurada para prover conteúdo com base em hipertexto para um ou mais dos dispositivos de computação 102A-102N através da rede pública 108. Deve-se notar que o conteúdo com base em hipertexto pode incluir conteúdo em áudio e em vídeo. O conteúdo em hipertexto pode ser definido de acordo com linguagens de programação, tais como, por exemplo, Linguagem de Marcação em Hipertexto (HTML), HTML Dinâmica e Linguagem de Marcação Extensível (XML). Os exemplos de páginas da Internet de distribuição de conteúdo para página da Internet incluem a página da Internet do Escritório de Patentes e Marcas dos Estados Unidos. Em alguns exemplos, os serviços da mídia digital podem ser associados a uma página da Internet que habilita que um usuário busque itens de conteúdo acessíveis através deste serviço em particular. Adicionalmente, em alguns exemplos, as páginas da Internet podem prover informação em relação a itens de conteúdo (por exemplo, resumos de enredo, revisões de usuário, etc.).
[0045] A página da Internet de distribuição de aplicação 122 representa um exemplo de um serviço de distribuição de aplicação. A página da Internet de distribuição de aplicação 122 pode ser configurada para distribuir aplicações de software desenvolvidas para um ou mais dos dispositivos de computação 102A-102N. Em um exemplo, as aplicações de software podem incluir jogos e programas operáveis em dispositivos de computação. Em outros exemplos, as aplicações de software podem ser configuradas para permitir que um dispositivo de computação acesse o conteúdo provido por uma página da Internet de distribuição de conteúdo para página da Internet de maneira específica para o dispositivo de computação. Por exemplo, as aplicações de software podem ser configuradas para prover funcionalidade aprimorada ou reduzida de uma página da Internet para um dispositivo móvel ou um codificador/decodificador integrado. Em um exemplo, uma aplicação de software pode habilitar que um usuário acesse um serviço de mídia em um dispositivo em particular. Por exemplo, uma aplicação de software pode habilitar que um usuário acesse um serviço de transmissão contínua usando um console de jogos. Adicionalmente, as aplicações de software podem ser providas para um dispositivo de computação para permitir que o dispositivo de computação realize uma ou mais das técnicas aqui descritas.
[0046] As aplicações de software podem ser desenvolvidas usando uma linguagem de programação. Os exemplos das linguagens de programação incluem, JavaTM, JiniTM, C, C++, Perl, UNIX Shell, Visual Basic e Visual Basic Script. Em alguns exemplos, os desenvolvedores podem escrever aplicações de software usando um kit de desenvolvimento de software (SDK) provido por um fabricante de dispositivo ou um provedor de serviço. No exemplo em que um ou mais dos dispositivos de computação 102A-102N forem dispositivos móveis, a página da Internet de distribuição de aplicação 122 pode ser mantida por um fabricante do dispositivo móvel, um provedor de serviço e/ou um provedor de sistema operacional de dispositivo móvel. No exemplo em que um ou mais dos dispositivos de computação 102A-102N são codificadores/decodificadores integrados, a página da Internet de distribuição de aplicação 122 pode ser mantida por um fabricante de codificador/decodificador integrado, um provedor de serviço e/ou um provedor de sistema operacional. Em alguns exemplos, uma página da Internet de distribuição de aplicação pode ser referida como uma loja de app. Os exemplos de atuais páginas da Internet de distribuição de aplicação comercial incluem as páginas da Internet mantidas por Google®, Inc. e Apple®, Inc.
[0047] Novamente em relação à figura 1, além de ser configurados para receber conteúdo de mídia digital a partir da rede de comunicações 104, os dispositivos de computação 102A-102N podem ser configurados para comunicar com o(s) dispositivo(s) acompanhante(s) 130 tanto diretamente quanto através da rede de comunicações 104. Da forma aqui usada, um dispositivo acompanhante pode se referir a qualquer dispositivo configurado para comunicar com um dispositivo de computação. O(s) dispositivo(s) acompanhante(s) 130 pode(m) ser equipado(s) para comunicações com fios e/ou sem fio e pode(m) incluir, por exemplo, um desktop, um laptop, ou um computador tipo tablet, um telefone inteligente, o dispositivo de jogos pessoal, os controles remotos, etc. No exemplo ilustrado na figura 1, o(s) dispositivo(s) acompanhante(s) 130 pode(m) ser configurado(s) para comunicar diretamente com os dispositivos de computação 102A-102N (por exemplo, usando um protocolo de comunicação de curto alcance ou de campo próximo), comunicar com dispositivos de computação 102A-102N por meio de uma rede de área local (por exemplo, através de um roteador Wi-Fi) e/ou comunicar com uma rede de área ampla (por exemplo, uma rede celular). Adicionalmente, em alguns exemplos, o(s) dispositivo(s) acompanhante(s) 130 pode(m) agir como um dispositivo cliente para um dos dispositivos de computação 102A-102N. Por exemplo, o(s) dispositivo(s) acompanhante(s) 130 pode(m) ser configurado(s) para agir como um cliente Plug and Play Universal (UPnP) ou um cliente de Sistema de Nome de Domínio em difusão seletiva (mDNS). Em um exemplo, o(s) dispositivo(s) acompanhante(s) 130 pode(m) ser registrado(s) com um (ou mais) dos dispositivos de computação 102A-102N usando seu endereço de controle de acesso à mídia (MAC) ou um identificador de dispositivo exclusivo e/ou um identificador de assinante do usuário. Em um exemplo, o(s) dispositivo(s) acompanhante(s) 130 pode(m) executar as aplicações em conjunto com os dispositivos de computação 102A- 102N. Da forma descrita com detalhes a seguir, o(s) dispositivo(s) acompanhante(s) 130 pode(m) ser configurado(s) para prover interfaces de usuário que habilitam usuários a prover entrada. Por exemplo, mediante a seleção através de uma interface de usuário de um dispositivo acompanhante, um item de conteúdo pode ser apresentado em um dos dispositivos de computação 102A-102N. Deve-se notar que, embora um único dispositivo acompanhante seja ilustrado no exemplo da figura 1, cada dispositivo de computação 102A-102N pode ser associado a um ou mais dispositivo(s) acompanhante(s) 130. Por exemplo, cada elemento de uma residência pode ter um dispositivo acompanhante (por exemplo, um telefone inteligente) associado a um dispositivo de computação (por exemplo, um codificador/decodificador integrado).
[0048] A figura 2 é um diagrama de blocos que ilustra um exemplo de um dispositivo de computação que pode implementar uma ou mais técnicas desta descrição. O dispositivo de computação 200 é um exemplo de um dispositivo de computação que pode ser configurado para transmitir dados para e receber os dados a partir de uma rede de comunicações, permitir que um usuário acesse o conteúdo multimídia e execute uma ou mais aplicações. O dispositivo de computação 200 pode incluir ou ser parte de um dispositivo de computação estacionário (por exemplo, um computador de mesa, uma televisão, um codificador/decodificador integrado, um console de jogos, um dispositivo de transmissão contínua multimídia dedicado, um gravador de vídeo digital, etc.), um dispositivo de computação portátil (por exemplo, um telefone celular, um laptop, um assistente de dados pessoal (PDA), um dispositivo tipo tablet, um dispositivo de jogos portátil, etc.) ou um outro tipo de dispositivo de computação. No exemplo ilustrado na figura 2, o dispositivo de computação 200 é configurado para enviar e receber os dados por meio de uma rede de televisão, tal como, por exemplo, a rede de televisão 106 acima descrita, e enviar e receber os dados por meio de uma rede pública, tal como, por exemplo, a rede pública 108. Deve-se notar que, em outros exemplos, o dispositivo de computação 200 pode ser configurado para enviar e receber os dados através de uma de uma rede de televisão 106 ou uma rede pública 108. As técnicas aqui descritas podem ser utilizadas por dispositivos configurados para comunicar usando toda e qualquer combinação de redes de comunicações.
[0049] Da forma ilustrada na figura 2, o dispositivo de computação 200 inclui unidade(s) de processamento central 202, a memória de sistema 204, interface de sistema 210, modem 212, módulo de transporte 214, demultiplexador de áudio - vídeo (demux AV) 216, interface de rede 218, o(s) dispositivo(s) de armazenamento 220, interface(s) de usuário 222, decodificador de áudio 224, processador de áudio 226, decodificador de vídeo 228, unidade de processamento de elementos gráficos 230 e processador de exibição 232. Da forma ilustrada na figura 2, a memória de sistema 204 inclui o sistema operacional 206, as aplicações 208 e a aplicação de seleção de conteúdo 209. Cada um das unidades de processamento central 202, da memória de sistema 204, da interface de sistema 210, do modem 212, do módulo de transporte 214, do demux AV 216, da interface de rede 218, do(s) dispositivo(s) de armazenamento 220, da(s) interface(s) de usuário 222, do decodificador de áudio 224, do processador de áudio 226, do decodificador de vídeo 228, da unidade de processamento de elementos gráficos 230 e do processador de exibição 232 pode ser interconectado (fisicamente, comunicativamente e/ou operativamente) para comunicações intercomponente e pode ser implementado como qualquer um de uma variedade de sistema de circuitos adequado, tais como um ou mais microprocessadores, processadores de sinal digital (DSPs), circuitos integrados específicos de aplicação (ASICs), arranjos de porta programáveis no campo (FPGAs), lógica discreta, software, hardware, software embarcado ou quaisquer combinações dos mesmos. Deve-se notar que, embora o exemplo de dispositivo de computação 200 seja ilustrado como tendo blocos funcionais distintos, uma ilustração como esta é com propósitos descritivos e não limita o dispositivo de computação 200 a uma arquitetura de hardware em particular. As funções do dispositivo de computação 200 podem ser realizadas usando qualquer combinação de implementações em hardware, em software embarcado e/ou em software. Em alguns exemplos, a funcionalidade do dispositivo de computação 200 pode ser implementada usando um ou mais assim denominados sistemas em um chip (SOC). Por exemplo, o dispositivo de computação 200 pode incluir um codificador/decodificador integrado que inclui um SOC. Um exemplo de um SOC comercialmente disponível que pode ser incluído em um codificador/decodificador integrado é o Broadcom® BCM7252 Ultra HD SoC.
[0050] A(s) unidade(s) de processamento central 202 pode(m) ser configurada(s) para implementar a funcionalidade e/ou as instruções de processo para execução no dispositivo de computação 200. A(s) unidade(s) de processamento central 202 pode(m) ser capaz(es) de recuperar e processar instruções, código e/ou estruturas de dados para implementar uma ou mais das técnicas aqui descritas. As instruções podem ser armazenadas em uma mídia legível por computador, tais como a memória de sistema 204 ou o(s) dispositivo(s) de armazenamento 220. A(s) unidade(s) de processamento central 202 pode(m) incluir unidades de processamento central multinúcleos. Da forma descrita com detalhes a seguir, as técnicas aqui descritas podem ser usadas para otimizar o uso da CPU uso. Por exemplo, uma ou mais técnicas de processamento em segundo plano podem ser usadas para reduzir o atraso (ou retardo) experimentado por um usuário que interage com uma das interfaces gráficas de usuário descritas a seguir.
[0051] A memória de sistema 204 pode ser descrita como uma mídia de armazenamento legível por computador não transitória ou tangível. Em alguns exemplos, a memória de sistema 204 pode prover armazenamento temporário e/ou de longo prazo. Em alguns exemplos, a memória de sistema 204 ou partes da mesma podem ser descritos como memória não volátil e, em outros exemplos, partes de memória de sistema 204 podem ser descritas como memória volátil. Os exemplos de memórias voláteis incluem memórias de acesso aleatório (RAM), memórias de acesso aleatório dinâmicas (DRAM), e memórias de acesso aleatório estáticas (SRAM). Exemplos de memórias não voláteis incluem discos rígidos magnéticos, discos ópticos, discos flexíveis, memórias flash, ou formas de memórias eletricamente programáveis (EPROM) ou memórias eletricamente apagáveis e programáveis (EEPROM).
[0052] A memória de sistema 204 pode ser configurada para armazenar a informação que pode ser usada pelo dispositivo de computação 200 durante a operação. A memória de sistema 204 pode ser usada para armazenar as instruções de programa para execução pela(s) unidade(s) de processamento central 202 e pode ser usada por software ou aplicações em execução no dispositivo de computação 200 para armazenar temporariamente a informação durante a execução do programa. Por exemplo, a memória de sistema 204 pode armazenar as instruções associadas ao sistema operacional 206, as aplicações 208 e a aplicação de seleção de conteúdo 209. A memória de sistema 204 pode incluir um ou mais dispositivos de memória distintos, em que cada dispositivo de memória pode incluir um tipo distinto de interface de memória. Por exemplo, a memória de sistema 204 pode incluir um disco rígido interno ou uma unidade em estado sólido, um módulo de memória de acesso aleatório, um dispositivo de memória tipo MultiMediaCard embutido (eMMC) e/ou um ou mais caches (por exemplo, caches de CPU e/ou caches de GPU). Da forma descrita com detalhes a seguir, as imagens associadas a uma interface gráfica de usuário podem ser carregadas a partir de uma parte de memória de sistema 204 em uma outra parte de memória de sistema 204 a fim de reduzir o tempo exigido para renderizar as imagens em um visor com base em entradas de usuário recebidas. Por exemplo, um subconjunto de imagens associadas a uma interface gráfica de usuário pode ser carregado em um cache com base em comportamento de usuário. Deve-se notar que as técnicas aqui descritas podem ser, no geral, aplicáveis a qualquer arquitetura de memória.
[0053] As aplicações 208 e a aplicação de seleção de conteúdo 209 podem incluir as aplicações implementadas no ou executadas pelo dispositivo de computação 200 e podem ser implementadas ou contidas em, operáveis por, executadas por e/ou ser operativamente/comunicativamente acopladas em componentes do dispositivo de computação 200. As aplicações 208 e a aplicação de seleção de conteúdo 209 podem incluir as instruções que podem fazer com que a(s) unidade(s) de processamento central 202 do dispositivo de computação 200 realize(m) funções em particular. As aplicações 208 e a aplicação de seleção de conteúdo 209 podem incluir algoritmos que são expressados em declarações de programação de computador, tais como, laços para, laços enquanto, declarações se, laços faça, etc. As aplicações 208 e a aplicação de seleção de conteúdo 209 podem ser distribuídas para o dispositivo de computação 200 através de uma página da Internet de distribuição de aplicação, por exemplo, a página da Internet de distribuição de aplicação 122. Em um exemplo, as aplicações 208 e a aplicação de seleção de conteúdo 209 podem fazer com que o dispositivo de computação 200 realize as funções associadas às técnicas de exemplo aqui descritas que habilitam que um usuário acesse os itens de conteúdo. As aplicações 208 e a aplicação de seleção de conteúdo 209 pode fazer com que sejam apresentadas uma ou mais interfaces gráficas de usuário que habilitam que um usuário proveja os dados para uso por uma aplicação. Em um exemplo, as aplicações 208 podem incluir uma ou mais aplicações dedicadas que habilitam que um usuário acesse um serviço da mídia digital. Deve-se notar que, da forma aqui usada, uma aplicação dedicada que habilita que um usuário acesse um serviço da mídia digital pode ser altamente integrada com uma aplicação ou um sistema operacional de um dispositivo de computação. Por exemplo, um codificador/decodificador integrado suportado por um provedor de televisão a cabo pode habilitar que um usuário acesse os itens de conteúdo provenientes de um serviço de televisão, um serviço de mídia sob demanda mantido pelo provedor de serviço de televisão a cabo e/ou um serviço de transmissão contínua de mídia de terceiros. Em alguns casos, cada interface gráfica de usuário distinta que habilita que um usuário selecione os itens de conteúdo a acessar pode ser referida como uma aplicação dedicada, uma fonte e/ou um portal. Em um exemplo, a aplicação de seleção de conteúdo 209 pode ser provida para um dispositivo de computação e fazer com que um dispositivo de computação permita que um usuário selecione os itens de conteúdo de acordo com uma ou mais das técnicas aqui descritas. Da forma descrita com detalhes a seguir, a aplicação de seleção de conteúdo 209 pode operar em conjunto com uma aplicação em execução em um dispositivo acompanhante.
[0054] Da forma adicionalmente ilustrada na figura 2, as aplicações 208 e a aplicação de seleção de conteúdo 209 podem executar em conjunto com o sistema operacional 206. Isto é, o sistema operacional 206 pode ser configurado para facilitar a interação das aplicações 208 e da aplicação de seleção de conteúdo 209 com a(s) unidade(s) de processamento central 202, e outros componentes de hardware do dispositivo de computação 200. Deve-se notar que, em alguns exemplos, os componentes de sistema operacional 206 e os componentes que agem em conjunto com o sistema operacional 206 podem ser referidos como middleware. Adicionalmente, em alguns exemplos, a aplicação de seleção de conteúdo 209 pode incluir uma interface de programação de aplicação (API). As técnicas aqui descritas podem ser utilizadas por dispositivos configurados para operar usando toda e qualquer combinação de arquiteturas de software. O sistema operacional 206 pode ser um sistema operacional desenhado para ser instalado em laptops, desktops, telefones inteligentes, tablets, codificadores/decodificadores integrados, gravadores de vídeo digital, televisões e/ou dispositivos de jogos. Em um exemplo, o sistema operacional 206 pode incluir um ou mais de sistemas operacionais ou componentes de middleware desenvolvidos por OpenTV®, sistemas operacionais Windows®, sistemas operacionais Linux, sistemas operacionais Mac OS®, Android®, e toda e qualquer combinação dos mesmos.
[0055] A interface de sistema 210 pode ser configurada para permitir as comunicações entre os componentes do dispositivo de computação 200. Em um exemplo, a interface de sistema 210 compreende as estruturas que habilitam que dados sejam transferidos a partir de um dispositivo par para um outro dispositivo par ou para uma mídia de armazenamento. Por exemplo, a interface de sistema 210 pode incluir um conjunto de chips que suporta protocolos com base em Porta de Elementos Gráficos Acelerados (AGP), protocolos com base em barramento de Interconexão de Componente Periférico (PCI), tais como, por exemplo, a especificação de barramento PCI ExpressTM (PCIe), que é mantida pelo Grupo de Interesse Especial da Interconexão de Componente Periférico, ou qualquer outra forma de estrutura que pode ser usada para interconectar os dispositivos pares.
[0056] O(s) dispositivo(s) de armazenamento 220 representa(m) a memória do dispositivo de computação 200 que pode ser configurada para armazenar as quantidades de informação relativamente maiores for períodos de tempo relativamente mais longos do que a memória de sistema 204. Por exemplo, no exemplo em que o dispositivo de computação 200 é incluído como parte de um gravador de vídeo digital, o(s) dispositivo(s) de armazenamento 220 pode(m) incluir uma unidade de disco rígido configurada para armazenar inúmeros arquivos de vídeo. Similar à memória de sistema 204, o(s) dispositivo(s) de armazenamento 220 também pode(m) incluir uma ou mais mídias de armazenamento legíveis por computador não transitórias ou tangíveis. O(s) dispositivo(s) de armazenamento 220 pode(m) incluir os dispositivos de memória internos e/ou externos e, em alguns exemplos, pode(m) incluir os elementos de armazenamento voláteis e não voláteis.
[0057] A(s) interface(s) de usuário 222 pode(m) incluir os dispositivos configurados para receber a entrada a partir de um usuário durante a operação do dispositivo de computação 200. Por exemplo, a(s) interface(s) de usuário 222 pode(m) incluir botões e comutadores, sensores de movimento (por exemplo, acelerômetros), sensores sensíveis ao toque, um painel sensível ao toque, um mouse, um teclado, um microfone, uma câmera de vídeo, ou qualquer outro tipo de dispositivo configurado para receber entrada de usuário. A(s) interface(s) de usuário 222 pode(m) ser integrada(s) no dispositivo de computação 200. Por exemplo, no caso em que o dispositivo de computação 200 incluir uma televisão, a(s) interface(s) de usuário 222 pode(m) incluir os botões de pressionamento localizados na televisão. Adicionalmente, a(s) interface(s) de usuário 222 pode(m) ser integrada(s) em dispositivos externos ao dispositivo de computação 200. Por exemplo, a(s) interface(s) de usuário 222 pode(m) ser integrada(s) em um dispositivo acompanhante, tal como, por exemplo, o dispositivo acompanhante 300 e o dispositivo acompanhante 400 descritos com detalhes a seguir. Em alguns exemplos, um dispositivo externo que inclui a(s) interface(s) de usuário 222 pode ser operativamente acoplado no dispositivo de computação 200 usando um protocolo de comunicação padronizado, tais como, por exemplo, protocolo do Barramento Serial Universal (USB), Bluetooth, ZigBee ou um protocolo de comunicações proprietário, tal como, por exemplo, um protocolo de comunicações por infravermelho proprietário. Deve-se notar que as técnicas aqui descritas podem ser, no geral, aplicáveis independente do tipo de dispositivo que inclui uma interface de usuário e independente da maneira na qual o dispositivo comunica com o dispositivo de computação 200. Da forma descrita com detalhes a seguir, a(s) interface(s) de usuário 222 pode(m) incluir um visor configurado para exibir as interfaces gráficas de usuários aqui descritas. Por exemplo, no caso em que o dispositivo de computação 200 incluir uma televisão, um dispositivo acompanhante (por exemplo, um telefone inteligente ou um controle remoto dedicado) em comunicação com uma televisão pode incluir uma interface de usuário que inclui um visor sensível ao toque que apresenta uma interface gráfica de usuário aqui descrita. Adicionalmente, da forma descrita com detalhes a seguir, um usuário pode prover comandos para o dispositivo de computação 200 pela ativação de partes de um visor sensível ao toque.
[0058] Novamente em relação à figura 2, o dispositivo de computação 200 é configurado para enviar e receber os dados por meio de uma rede de televisão, tal como, por exemplo, a rede de televisão 106 acima descrita, e enviar e receber os dados por meio de uma rede pública, tal como, por exemplo, a rede pública 108. Uma rede de comunicações pode ser descrita com base em um modelo que inclui as camadas que definem as propriedades de comunicação, tais como, por exemplo, sinalização física, endereçamento, controle de acesso a canal, propriedades de pacote e processamento de dados em um sistema de comunicações. No exemplo ilustrado na figura 2, o modem 212, o módulo de transporte 214 e o demux AV 216 podem ser configurados para realizar o processamento de camada inferior associado à rede de televisão 106 e a interface de rede 218 pode ser configurada para realizar o processamento de camada inferior associado à rede pública 108.
[0059] Em um exemplo, o modem 212 pode ser configurado para realizar a sinalização física, o endereçamento e o controle de acesso a canal de acordo com as camadas física e MAC utilizadas em uma rede de provedor de televisão, tal como, por exemplo, a rede de provedor de televisão 106. Em um exemplo, o modem 212 pode ser configurado para receber sinais a partir de um cabo coaxial e/ou um sinal sobre o ar e realizar processamento de sinal de baixo nível (por exemplo, demodulação). Em um exemplo, o modem 212 pode ser configurado para extrair fluxos contínuos de transporte a partir dos sinais recebidos a partir de um cabo coaxial. Em um exemplo, um fluxo contínuo de transporte pode ser com base em um fluxo contínuo de transporte definido pelo Grupo de Especialistas em Imagem em Movimento (MPEG). Em um exemplo, um fluxo contínuo de transporte pode incluir uma pluralidade de fluxos contínuos de programa em que cada fluxo contínuo de programa, respectivamente, corresponde a um programa disponível por uma rede de televisão. Adicionalmente, um fluxo contínuo de transporte pode incluir uma pluralidade de fluxos contínuos de dados (por exemplo, Tabela de Mapa de Programa e dados EPG).
[0060] O módulo de transporte 214 pode ser configurado para receber os dados a partir do modem 212 e processar os dados recebidos. Por exemplo, o módulo de transporte 214 pode ser configurado para receber um fluxo contínuo de transporte que inclui uma pluralidade de fluxos contínuos de programa e extrair fluxos contínuos de programa individuais a partir de um fluxo contínuo de transporte recebido. Em um exemplo, um fluxo contínuo de programa pode incluir um fluxo contínuo de vídeo, um fluxo contínuo de áudio e um fluxo contínuo de dados. O demux AV 216 pode ser configurado para receber os dados a partir do módulo de transporte 214 e processar os dados recebidos. Por exemplo, o demux AV 216 pode ser configurado para receber um fluxo contínuo de programa a partir do módulo de transporte 214 e extrair os pacotes de áudio, pacotes de vídeo e pacotes de dados. Isto é, o demux AV 216 pode aplicar as técnicas de demultiplexação para extrair os fluxos contínuos de vídeo, fluxos contínuos de áudio e os fluxos contínuos de dados a partir de um fluxo contínuo de programa. Em um exemplo, o demux AV 216 pode ser configurado para desencapsular fluxos contínuos de vídeo e de áudio elementares empacotados a partir de um fluxo contínuo de transporte definido de acordo com MPEG-2 Parte 1. Deve-se notar que, embora o modem 212, o módulo de transporte 214 e o demux AV 216 sejam ilustrados como blocos funcionais distintos, as funções realizadas pelo modem 212, pelo módulo de transporte 214 e pelo demux AV 216 podem ser altamente integradas e realizadas usando qualquer combinação de implementações de hardware, de software embarcado e/ou de software. Adicionalmente, deve-se notar que o exemplo de processamento de camada inferior descrito em relação ao modem 212, ao módulo de transporte 214 e ao demux AV 216 não deve ser construído para limitar o tipo de serviços de televisão que o dispositivo de computação 200 pode ser configurado para receber. Isto é, o dispositivo de computação 200 pode ser configurado para receber os serviços de televisão de acordo com qualquer número de protocolos de comunicação (por exemplo, ATSC, DVB, ISDB, etc.), incluindo aqueles atualmente em desenvolvimento (por exemplo, o pacote de padrões ATSC 3.0).
[0061] A interface de rede 218 pode ser configurada para permitir que o dispositivo de computação 200 envie e receba os dados por meio de uma rede pública. Como exposto, os dados enviados ou recebidos por meio de uma rede pública podem incluir os dados associados a conteúdo digital, tais como, por exemplo, música, vídeos, imagens, páginas da Internet, mensagens, comunicações por voz e aplicações. A interface de rede 218 pode incluir um cartão de interface de rede, tais como um cartão Ethernet, um transceptor óptico, um transceptor de radiofrequência ou qualquer outro tipo de dispositivo configurado para enviar e receber a informação. A interface de rede 218 pode ser configurada para realizar sinalização física, endereçamento e controle de acesso a canal de acordo com as camadas física e MAC utilizadas em uma rede pública, tal como, por exemplo, a rede pública 108. Adicionalmente, de uma maneira similar àquela acima descrita em relação ao módulo de transporte 214 e ao demux AV 216, a interface de rede 218 pode ser configurada para extrair os pacotes de áudio, os pacotes de vídeo e os pacotes de dados a partir de um fluxo contínuo de dados, ou fragmentos similares a partir de uma estrutura de dados similar. Por exemplo, a interface de rede 218 pode ser configurada para extrair os pacotes de vídeo, os pacotes de áudio e os pacotes de dados de acordo com um ou mais protocolos de transmissão contínua, incluindo o protocolo da Internet (IP), o protocolo de controle de transporte (TCP), o protocolo de transmissão contínua em tempo real (RTSP), o protocolo de datagrama de usuário (UDP), o protocolo de tempo real (RTP), os protocolos de transmissão contínua de transporte MPEG, os protocolos IPTV, e o assim denominado Protocolo do Fluxo contínuo Ao Vivo HTTP (HLS) desenvolvido por Apple, Inc. Deve ser notado que as técnicas aqui descritas são, no geral, aplicáveis a todo e qualquer método de distribuição de conteúdo digital e não são limitados a implementações de rede de comunicações em particular. Por exemplo, as técnicas aqui descritas podem ser aplicáveis ao conteúdo digital que origina a partir de um ou mais de uma difusão, uma difusão seletiva, uma difusão ponto a ponto, uma fonte de conteúdo over the top, um gravador de vídeo pessoal (PVR) e uma fonte de conteúdo ponto a ponto.
[0062] Em alguns casos, os protocolos de transmissão contínua podem utilizar os segmentos de mídia e arquivos de índice (ou manifesto). Isto é, um evento (por exemplo, um fluxo contínuo correspondente a uma difusão de televisão sobre o ar ou semelhantes) pode ser segmentado em uma pluralidade de arquivos de mídia, que podem ser referidos como segmentos ou fragmentos. Um arquivo de índice pode prover um local (por exemplo, um localizador de recurso universal (URL) ou identificador de recurso universal (URI)) para cada segmento incluído em um evento e informação de sincronismo associada a cada segmento (por exemplo, o comprimento de cada segmento em segundos e a ordem de reprodução de cada segmento). Tipicamente, para iniciar uma sessão de transmissão contínua, um dispositivo de computação irá transferir um arquivo de índice, analisar sintaticamente o arquivo de índice, começar a transferência de um primeiro segmento de mídia em uma sequência de segmentos e, mediante uma parte suficiente do primeiro segmento de mídia ser transferida, começar a reprodução de um do primeiro segmento de mídia. Os subsequentes segmentos de mídia incluídos em um evento podem ser transferidos depois que um segmento de mídia prévio tiver sido transferido. Tipicamente, para um evento, os segmentos de mídia têm, aproximadamente, 5-10 segundos de comprimento. Deve-se notar que, em alguns casos típicos, um atraso em relação à transferência de um segmento de mídia em particular pode se propagar por toda a apresentação em um evento em um dispositivo de computação. Isto é, a submissão a buffer associada a um segmento pode se propagar por toda a apresentação do evento. Desta maneira, a reprodução de um evento em um dispositivo de computação em particular pode ser atrasada em relação ao tempo do sistema (isto é, a data e a hora do dia atuais).
[0063] Novamente em relação à figura 2, os dados associados a conteúdo digital, tais como, por exemplo, música, vídeos, imagens, páginas da Internet, mensagens, comunicações por voz e aplicações, podem ser armazenados em uma mídia legível por computador, tais como, por exemplo, a memória de sistema 204 e o(s) dispositivo(s) de armazenamento 220. Os dados armazenados em um dispositivo de memória podem ser recuperados e processados pela(s) unidade(s) de processamento central 202, pelo decodificador de áudio 224, pelo processador de áudio 226, pelo decodificador de vídeo 228, pela unidade de processamento de elementos gráficos 230 e pelo processador de exibição 232. Como exposto, a(s) unidade(s) de processamento central 202 pode(m) ser capaz(es) de recuperar e processar instruções, código e/ou estruturas de dados para implementar uma ou mais das técnicas aqui descritas. Cada um do decodificador de áudio 224, do processador de áudio 226, do decodificador de vídeo 228, da unidade de processamento de elementos gráficos 230 e do processador de exibição 232 também pode ser capaz de recuperar e processar instruções, código e/ou estruturas de dados para implementar uma ou mais das técnicas aqui descritas.
[0064] O decodificador de áudio 224 pode ser configurado para recuperar e processar os dados de áudio codificados. Por exemplo, o decodificador de áudio 224 pode ser uma combinação de hardware e software usados para implementar os aspectos de codec de áudio. Os dados de áudio podem ser codificados usando formatos multicanais, tais como aqueles desenvolvidos por Dolby e Digital Theater Systems. Os dados de áudio podem ser codificados usando um formato comprimido ou não comprimido. Os exemplos de formatos de áudio comprimidos incluem MPEG-1, Camadas de Áudio 2 II e III, AC-3, AAC, e Ogg Vorbis. Um exemplo de um formato de áudio não comprimido inclui formato de áudio com modulação por código de pulso (PCM). O processador de áudio 226 pode ser configurado para recuperar as amostras de áudio capturadas e pode processar os dados de áudio para transmissão para um sistema de áudio (não mostrado). Em alguns exemplos, o processador de áudio 226 pode incluir um conversor digital para analógico. Um sistema de áudio pode compreender qualquer um de uma variedade de dispositivos de saída de áudio, tais como fones de ouvido, um sistema de alto-falante individual, um sistema de múltiplos alto-falantes sistema ou um sistema de som surround. O decodificador de vídeo 228 pode ser configurado para recuperar e processar os dados de vídeo codificados. Por exemplo, o decodificador de vídeo 228 pode ser uma combinação de hardware e software usados para implementar os aspectos do codec de vídeo. Em um exemplo, o decodificador de vídeo 228 pode ser configurado para decodificar os dados de vídeo codificados de acordo com qualquer número de padrões de compressão de vídeo, tais como ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 ou ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual, ITU-T H.264 (também conhecido como ISO/IEC MPEG-4 AVC), VP8, VP9, e Codificação de Vídeo em Alta Eficiência (HEVC).
[0065] Da forma acima descrita, um dispositivo com capacidades de reprodução de mídia pode prover uma interface gráfica de usuário que habilita que um usuário acesse os itens de conteúdo. Uma interface gráfica de usuário pode incluir imagens e elementos gráficos exibidos em conjunto com conteúdo de vídeo (por exemplo, ícones de reprodução sobrepostos em uma apresentação de vídeo). A unidade de processamento de elementos gráficos 230 é um exemplo de uma unidade de processamento dedicada que pode ser configurada para gerar as interfaces gráficas de usuário, incluindo as interfaces gráficas de usuário aqui descritas. Isto é, a unidade de processamento de elementos gráficos 230 pode ser configurada para receber dados de comandos e de conteúdo e transmitir dados de pixel. A unidade de processamento de elementos gráficos 230 pode operar de acordo com um processo de canalização de elementos gráficos (por exemplo, montador de entrada, sombreador de vértice, sombreador de geometria, rasterizador, sombreador de pixel, e fusão de saída). A unidade de processamento de elementos gráficos 230 pode incluir múltiplos núcleos de processamento e pode ser configurada para operar de acordo com OpenGL (Biblioteca de Elementos Gráficos Aberta, gerenciada pelo grupo Khronos), Direct3D (gerenciado pela Microsoft, Inc.) ou semelhantes.
[0066] O processador de exibição 232 pode ser configurado para recuperar e processar os dados de pixel para exibição. Por exemplo, o processador de exibição 232 pode receber os dados de pixel a partir do decodificador de vídeo 228 e/ou da unidade de processamento de elementos gráficos 230 e transmitir dados para exibição. O processador de exibição 232 pode ser acoplado em um visor, tal como o visor 250 (não mostrado na figura 2) usando um protocolo de comunicação padronizado (por exemplo, Interface Multimídia de Alta Definição (HDMI), Interface Visual Digital (DVI), DisplayPort, vídeo componente, vídeo composto e/ou o Arranjo de Elementos Gráficos de Vídeo (VGA)). O visor 250 pode compreender um de uma variedade de dispositivos de exibição, tais como uma tela de cristal líquido (LCD), um visor de plasma, um visor de diodo orgânico emissor de luz (OLED) ou um outro tipo de dispositivo visor capaz de apresentar dados de vídeo para um usuário. O visor 250 pode incluir uma televisão de definição padrão, uma televisão de alta definição, ou um visor de ultra resolução, como exposto. Adicionalmente, o visor 250 pode incluir um visor integrado de um dispositivo de computação portátil (por exemplo, um telefone celular, um laptop, um assistente de dados pessoal (PDA) ou um dispositivo tipo tablet). Como exposto, em alguns exemplos, um dispositivo de computação portátil pode operar como um dispositivo acompanhante para um dispositivo de computação estacionário.
[0067] Da forma acima descrita, o dispositivo de computação 200 pode ser configurado para enviar dados para e receber dados a partir de um dispositivo acompanhante. A figura 3 é um diagrama de blocos que ilustra um exemplo de um dispositivo acompanhante que pode implementar uma ou mais técnicas desta descrição. O dispositivo acompanhante 300 pode ser incluído como parte de um dispositivo de computação portátil. Da forma ilustrada na figura 3, o dispositivo acompanhante 300 inclui unidade(s) de processamento central 302, a memória de sistema 304, interface de sistema 310, dispositivo(s) de armazenamento 312, interface(s) de usuário 314 e interface de rede 316. Da forma ilustrada na figura 3, a memória de sistema 304 inclui sistema operacional 306, aplicações 308 e aplicação de seleção de conteúdo 309. Deve-se notar que, embora o exemplo de dispositivo acompanhante 300 seja ilustrado como tendo blocos funcionais distintos, uma ilustração como esta é para propósitos descritivos e não limita o dispositivo acompanhante 300 a uma arquitetura de hardware ou de software em particular. Por exemplo, em alguns casos, o dispositivo acompanhante 300 pode incluir uma combinação de ASICs e sistemas de circuitos básicos para implementar as funções aqui descritas. Adicionalmente, em alguns exemplos, o dispositivo acompanhante 300 pode não incluir uma unidade de processamento central dedicada e um sistema operacional. As funções do dispositivo acompanhante 300 podem ser realizadas usando qualquer combinação de implementações em hardware, software embarcado e/ou software.
[0068] Novamente em relação à figura 3, cada uma da(s) unidade(s) de processamento central 302, da memória de sistema 304 e da interface de sistema 310 pode ser similar à(s) unidade(s) de processamento central 202, à memória de sistema 204 e à interface de sistema 210 acima descritas. O(s) dispositivo(s) de armazenamento 312 representa(m) a memória do dispositivo acompanhante 300 que pode ser configurada para armazenar quantidades de dados maiores do que a memória de sistema 304. O(s) dispositivo(s) de armazenamento 312 pode(m) ser memória interna ou externa e, em alguns exemplos, pode(m) incluir elementos de armazenamento não voláteis. Por exemplo, o(s) dispositivo(s) de armazenamento 312 pode(m) incluir cartões de memória (por exemplo, um cartão de memória Digital Seguro (SD)) e/ou uma unidade em estado sólido interna. A(s) interface(s) de usuário 314 pode(m) incluir dispositivos configurados para receber entrada a partir de um usuário. Por exemplo, a(s) interface(s) de usuário 314 pode(m) ser similar(es) à(s) interface(s) de usuário 222 acima descrita(s), e pode(m) incluir botões e comutadores, sensores de movimento, sensores sensíveis ao toque, um painel sensível ao toque, um mouse, um teclado, um microfone, uma câmera de vídeo, ou qualquer outro tipo de dispositivo configurado para receber entrada de usuário. Em um exemplo, a(s) interface(s) de usuário 314 pode(m) incluir um visor com tela sensível ao toque configurado para exibir uma ou mais das interfaces gráficas de usuário aqui descritas. Da forma acima descrita e descrita com detalhes adicionais a seguir, um usuário pode prover comandos para um dispositivo de computação (por exemplo, uma televisão ou um codificador/decodificador integrado) pela ativação de partes de uma interface gráfica de usuário exibida em um dispositivo acompanhante 300.
[0069] A interface de rede 316 pode ser configurada para permitir que o dispositivo acompanhante 300 comunique com dispositivos de computação externos, tal como dispositivo de computação 200, e ainda outros dispositivos ou servidores. Adicionalmente, no exemplo em que o dispositivo acompanhante 300 incluir um telefone inteligente ou semelhantes, a interface de rede 316 pode ser configurada para permitir que o dispositivo acompanhante 300 comunique com uma rede celular. A interface de rede 316 pode incluir um cartão de interface de rede, tal como um cartão Ethernet, um transceptor óptico, um transceptor de radiofrequência ou qualquer outro tipo de dispositivo que pode enviar e receber informação. A interface de rede 316 pode ser configurada para operar de acordo com um ou mais protocolos de comunicação tais como, por exemplo, um padrão de Comunicações no Sistema Móvel Global (GSM), um padrão de Acesso Múltiplo por Divisão de Código (CDMA), um padrão do Projeto de Parceria da 3a Geração (3GPP), um padrão do Protocolo da Internet (IP), um padrão do Protocolo de Aplicação Sem Fio (WAP), um padrão Bluetooth, ZigBee e/ou IEEE padrão, tais como um ou mais dos padrões 802.11, bem como várias combinações dos mesmos.
[0070] Da forma ilustrada na figura 3, a memória de sistema 304 inclui sistema operacional 306, aplicações 308 e aplicação de seleção de conteúdo 309 armazenados na mesma. O sistema operacional 306 pode ser configurado para facilitar a interação das aplicações 308 e da aplicação de seleção de conteúdo 309 com a(s) unidade(s) de processamento central 302 e ainda outros componentes de hardware do dispositivo acompanhante 300. O sistema operacional 306 pode incluir qualquer versão de qualquer um dos exemplos de sistemas operacionais acima descritos, ou qualquer sistema operacional similar. Deve-se notar que as técnicas aqui descritas não são limitadas a um sistema operacional em particular. As aplicações 308 e aplicação de seleção de conteúdo 309 podem ser quaisquer aplicações implementadas no ou executadas pelo dispositivo acompanhante 300 e podem ser implementadas ou contidas em, operáveis por, executadas por e/ou ser operativamente/comunicativamente acopladas nos componentes do dispositivo acompanhante 300. As aplicações 308 e a aplicação de seleção de conteúdo 309 podem incluir as instruções que podem fazer com que a(s) unidade(s) de processamento central 302 do dispositivo acompanhante 300 realize(m) as funções em particular. As aplicações 308 podem incluir os algoritmos que são expressados em declarações de programação de computador, tais como, loops para, laços enquanto, declarações se, laços faça, etc. Em um exemplo, as aplicações 308 podem incluir uma ou mais aplicações dedicadas que habilitam que um usuário acesse um serviço da mídia digital. Em um exemplo, uma página da Internet de distribuição de aplicação (por exemplo, a página da Internet de distribuição de aplicação 122) pode prover a aplicação de seleção de conteúdo 309 para o dispositivo acompanhante 300.
[0071] Da forma acima descrita, a aplicação de conteúdo 209 pode operar em conjunto com uma aplicação em execução em um dispositivo acompanhante. Em um exemplo, a aplicação de seleção de conteúdo 309 pode ser configurada para receber os dados a partir de um dispositivo de computação e analisar sintaticamente os dados a fim de determinar um contexto e/ou um subcontexto. Um contexto pode identificar uma aplicação atualmente em execução em um dispositivo de computação e um subcontexto pode identificar um aspecto em particular de uma aplicação em execução em um dispositivo de computação, por exemplo, uma interface gráfica de usuário atualmente exibida. A aplicação de seleção de conteúdo 309 pode ser configurada para prover funcionalidade com base em um contexto e/ou em um subcontexto. Por exemplo, da forma descrita com detalhes a seguir, um dispositivo acompanhante pode incluir uma interface de usuário que exibe botões em software com base em uma aplicação atualmente em execução em um dispositivo de computação e um dispositivo acompanhante habilita que um usuário faça com que funcionalidade diferente ocorra com base em uma aplicação atualmente em execução em um dispositivo de computação.
[0072] Da forma acima descrita, em alguns exemplos, um dispositivo acompanhante pode não incluir uma unidade de processamento central dedicada e um sistema operacional. A figura 4 é um diagrama de blocos que ilustra um exemplo de um dispositivo acompanhante que pode implementar uma ou mais técnicas desta descrição. Em um exemplo, o dispositivo acompanhante 400 pode ser incluído como parte de um dispositivo de controle remoto dedicado. Da forma ilustrada na figura 4, o dispositivo acompanhante 400 inclui microprocessador 402, transmissor/receptor 404 e interface(s) de usuário 406. O microprocessador 402 pode incluir um microprocessador programado para executar uma ou mais das técnicas aqui descritas. Em um exemplo, o microprocessador 402 pode habilitar funcionalidades similares àquela acima descrita em relação à aplicação de seleção de conteúdo 309. O transmissor/receptor 404 pode incluir qualquer combinação de dispositivo transmissor e dispositivo receptor configurados para permitir comunicações com um dispositivo de computação. A(s) interface(s) de usuário 406 pode(m) incluir qualquer uma das interfaces de usuário de exemplo aqui descritas. Em um exemplo, a(s) interface(s) de usuário 406 pode(m) incluir botões de pressionamento.
[0073] Da forma acima descrita, cada um do dispositivo de computação 200, do dispositivo acompanhante 300 e do dispositivo acompanhante 400 pode incluir as interfaces de usuário. As figuras 5-7A são diagramas conceituais que ilustram os respectivos exemplos de interfaces de usuário que podem implementar uma ou mais técnicas desta descrição. Deve- se notar que as técnicas aqui descritas são, no geral, aplicáveis independente das implementações em particular de hardware e software de um dispositivo que inclui uma interface de usuário de exemplo aqui descrita. Por exemplo, quando uma interface de usuário aqui descrita for implementada como parte de um dispositivo de controle remoto dedicado, as funções podem ser implementadas usando circuitos integrados específicos de aplicação (ASICs) ou semelhantes. Adicionalmente, quando uma interface de usuário aqui descrita for implementada como parte de um dispositivo de computação móvel, as funções podem ser implementadas usando aplicações disponíveis por uma página da Internet de distribuição de aplicação, por exemplo, a página da Internet de distribuição de aplicação 122. Adicionalmente, deve-se notar que a funcionalidade descrita a seguir em relação a uma interface de usuário de um dispositivo acompanhante pode ser distribuída entre um dispositivo acompanhante e um dispositivo de computação em comunicação com o dispositivo acompanhante. Por exemplo, um dispositivo acompanhante pode gerar sinais elétricos correspondentes a uma entrada de usuário recebida. Em alguns casos, um dispositivo acompanhante pode simplesmente comunicar os sinais elétricos para um dispositivo de computação e o dispositivo de computação pode interpretar os sinais elétricos a fim de associar os sinais elétricos com um comando em particular. Em alguns casos, um dispositivo acompanhante pode interpretar os sinais elétricos e comunicar um comando em particular para um dispositivo de computação. Adicionalmente, no caso em que múltiplos níveis de interpretação forem exigidos (por exemplo, a interpretação de entrada de toque em relação a um evento de movimento e a interpretação de eventos de movimento em relação a um gesto), as interpretações podem ser distribuídas entre um dispositivo acompanhante e um dispositivo de computação. Isto é, as técnicas aqui descritas podem ser, no geral, aplicáveis independente de como o processamento é distribuído entre um dispositivo de computação e um dispositivo acompanhante.
[0074] A figura 5 é um diagrama conceitual que ilustra um exemplo de uma interface de usuário que pode implementar uma ou mais técnicas desta descrição. A interface de usuário 500 pode, no geral, corresponder a uma interface de usuário de controle remoto com botão de pressionamento. A interface de usuário 500 pode ser incluída em um dispositivo acompanhante que inclui um dispositivo de controle remoto dedicado. Da forma descrita com detalhes adicionais a seguir, a funcionalidade da interface de usuário 500 pode ser implementada usando outros tipos de interfaces de usuário. Por exemplo, as funções alcançadas pela ativação dos botões de interface de usuário em particular podem ser alcançadas através de outros tipos de entradas de usuário. Por exemplo, no caso em que uma interface de usuário incluir uma tela sensível ao toque, reconhecimento de gesto e/ou reconhecimento de voz, os botões virtuais podem ser apresentados na tela sensível ao toque e as funções alcançadas pela ativação de botões na interface de usuário 500 podem ser alcançadas através de toda e qualquer combinação de ativação de botão virtual, gestos de movimento e/ou comandos de voz.
[0075] A interface de usuário 500 inclui controles de televisão básicos 510, os controles de reprodução 520 e controles navegacionais 530. Os controles de televisão básicos 510 podem ser configurados para permitir que um usuário realize funções de sintonia e de controle de volume básicas tipicamente associadas à visualização de programação de televisão. Da forma ilustrada na figura 5, os controles de televisão básicos 510 incluem teclado numérico 511, o botão enter 512, o botão de canal anterior 513, botões de alteração de canal 514 e botões de controle de volume 515. O teclado numérico 511, o botão enter 512, o botão de canal anterior 513 e os botões de alteração de canal 514 podem ser configurados para permitir que um usuário acesse um serviço em particular, por exemplo, sintonizar em um canal analógico e/ou digital em particular. No caso em que um usuário sintonizar em um canal em particular, mediante um usuário inserir uma sequência de números usando o teclado numérico 511 e, opcionalmente, ativando adicionalmente a tecla enter 512, um sintonizador pode sintonizar em um canal especificado. Mediante ativação do botão de canal anterior 513, um sintonizador pode sintonizar em um canal previamente sintonizado. Ativação dos botões de canal “+” e “-” 514 pode, respectivamente, fazer com que um sintonizador sintonize no respectivo próximo canal em uma sequência de canais. A ativação dos botões de controle de volume “+” e “-” 515 pode, respectivamente, fazer com que a saída de um sistema de áudio aumente ou diminua. Deve-se notar que, embora os controles de televisão básicos 510 possam ser configurados para permitir que um usuário realize as funções de sintonia e de controle de volume básicas associadas a uma televisão, em alguns exemplos, os controles de televisão básicos 510 podem ser usados para realizar outras funções associadas a um dispositivo de computação.
[0076] Os controles de reprodução 520 podem ser configurados para permitir que um usuário controle a reprodução de e/ou a gravação de conteúdo multimídia. Por exemplo, os controles de reprodução 520 podem habilitar que um usuário controle a reprodução de um vídeo originado a partir da página da Internet de um provedor do serviço de mídia, um motor sob demanda e/ou um gravador de vídeo pessoal (PVR). Da forma ilustrada na figura 5, os controles de reprodução 520 incluem um botão de reprodução reversa 521, um botão de reprodução normal 522, um botão de avanço rápido 523, um botão de parar reprodução 524, um botão de pausar reprodução 525 e um botão de gravar 526. O botão de reprodução reversa 521 pode habilitar que um usuário navegue para um ponto anterior em uma sequência multimídia. Mediante ativação, o botão de reprodução normal 522 pode fazer com que a reprodução normal de um item de conteúdo multimídia comece ou reinicie. O botão de avanço rápido 523 pode habilitar que um usuário navegue para um ponto futuro em uma sequência multimídia. Mediante ativação, o botão de parar reprodução 524 pode fazer com que a reprodução de um item de conteúdo multimídia cesse. Mediante ativação, o botão de pausar reprodução 525 pode fazer com que a reprodução de um item de conteúdo multimídia pause. O botão de gravar 526 pode habilitar que um usuário faça com que um item de conteúdo multimídia seja armazenado em um dispositivo de armazenamento. Em um exemplo, o botão de gravar 526 pode habilitar que um usuário grave conteúdo em um dispositivo de armazenamento. Deve-se notar que, embora os controles de reprodução 520 possam ser configurados para permitir que um usuário controle a reprodução de e/ou a gravação de conteúdo multimídia, em alguns exemplos, os controles de reprodução 520 podem ser usados para realizar outras funções associadas a um dispositivo de computação.
[0077] Da forma acima descrita, os dispositivos com capacidades de reprodução de mídia digital, incluindo, por exemplo, televisões, receptores/decodificadores integrados e dispositivos móveis, podem ser configurados para prover para os usuários dos mesmos as interfaces gráficas de usuário que habilitam a seleção de conteúdo. Os controles navegacionais 530 podem ser configurados para permitir que um usuário navegue as interfaces gráficas de usuário e selecione o conteúdo usando uma interface gráfica de usuário. Em um exemplo, os controles navegacionais 530 podem ser configurados para permitir que um usuário navegue as interfaces gráficas de usuário e acesse os itens de conteúdo de acordo com as técnicas aqui descritas.
[0078] No exemplo ilustrado na figura 5, os controles navegacionais 530 incluem botões de seta navegacional 531, o botão de seleção 532, o botão de informação 533, o botão menu 534, o botão guia 535, o botão voltar 536 e botão sair 537. Os botões de seta navegacional 531 podem ser configurados para mover a posição de um cursor associado a uma interface gráfica de usuário e/ou alterar a seleção de um item incluído em uma interface gráfica de usuário. O botão de seleção 532 pode habilitar que um usuário selecione adicionalmente um ícone. Em um exemplo, ativações consecutivas do botão de seleção 532 podem fazer com que respectivos níveis de seleção ocorram. O botão de informação 533 pode ser configurado para fazer com que informação adicional associada a um item de conteúdo seja exibida. Por exemplo, quando um ícone que representa um item de conteúdo for inicialmente selecionado, a ativação do botão de informação 533 pode fazer com que a informação associada ao conteúdo (por exemplo, elenco e equipe informação) seja exibida.
[0079] O botão menu 534, o botão guia 535, o botão voltar 536 e o botão sair 537 podem ser configurados para permitir que um usuário faça com que diferentes interfaces gráficas de usuário sejam apresentadas. Mediante ativação, o botão menu 534 pode fazer com que uma interface gráfica de usuário que inclui um menu de alto nível seja exibida. Em um exemplo, um menu de alto nível pode incluir um menu que habilita que um usuário altere as definições associadas à operação de um dispositivo de computação. Em um exemplo, um menu de alto nível pode incluir um menu que habilita que um usuário selecione um perfil de usuário (por exemplo, uma interface gráfica de usuário de log-in). Mediante ativação, o botão guia 535 pode ser configurado para prover uma interface gráfica de usuário que habilita que um usuário selecione conteúdo. Em um exemplo, mediante ativação do botão guia 535, uma interface gráfica de usuário que inclui uma guia grade pode ser apresentada para um usuário. O botão voltar 536 pode ser configurado para permitir que um usuário retorne para uma interface gráfica de usuário anterior. O botão sair 537 pode ser configurado para permitir que um usuário retorne para um modo de visualização em tela cheia. Por exemplo, quando uma interface gráfica de usuário for exibida, mediante ativação do botão sair 537, a interface gráfica de usuário pode “desaparecer” e um modo de visualização de conteúdo em tela cheia pode ser apresentado para um usuário.
[0080] A figura 6 é um diagrama conceitual que ilustra um exemplo de uma interface de usuário que pode implementar uma ou mais técnicas desta descrição. A interface de usuário 600 pode, no geral, corresponder a uma interface de usuário do dispositivo de computação móvel (por exemplo, um telefone inteligente ou um dispositivo de computação tipo tablet). No exemplo ilustrado na figura 6, o dispositivo de interface de usuário 600 inclui um visor com tela sensível ao toque 602 e um botão 604. Deve-se notar que, em alguns exemplos, a interface de usuário 600 pode incluir um microfone e/ou sensores de movimento e pode ser configurada para receber entradas de voz e de movimento. Em alguns exemplos, o botão 604 pode ser referido como um botão inicial. O visor com tela sensível ao toque 602 pode incluir qualquer dispositivo de exibição configurado para exibir elementos gráficos e receber uma entrada de toque de usuário. Por exemplo, o visor com tela sensível ao toque 602 pode incluir um visor de LCD, um visor de OLED ou qualquer outro tipo de dispositivo de exibição capaz de apresentar dados visuais para um usuário, e um dispositivo sensor de toque capacitivo, um dispositivo sensor de toque resistivo ou qualquer outro tipo de dispositivo capaz de receber eventos de toque de usuário. Adicionalmente, deve-se notar que a tela sensível ao toque 602 pode ser configurada para receber eventos de toque de usuário diretamente ou indiretamente (por exemplo, usando uma caneta stylus). O visor com tela sensível ao toque 602 pode ser configurado para exibir ícones que representam os itens de conteúdo. Da forma adicionalmente descrita com detalhes a seguir, o visor com tela sensível ao toque 602 pode ser configurado para permitir que um usuário realize múltiplos tipos de ativações em relação a uma região do visor com tela sensível ao toque 602, em que uma região pode corresponder a um elemento gráfico exibido (por exemplo, um ícone). Isto é, o visor com tela sensível ao toque 602 pode ser configurado para receber uma ou mais das seguintes entradas de toque de usuário: um único toque suave, um toque suave duplo, um pressionamento de uma duração especificada (por exemplo, um longo pressionamento), uma entrada de toque em múltiplos pontos (por exemplo, um gesto de pinça), e gestos de toque complexos (por exemplo, gesto de arrastar e soltar, gestos de escrita de caracteres e gestos de passar o dedo). Adicionalmente, em alguns exemplos, o visor com tela sensível ao toque 602 pode ser sensível a pressão e fazer com que diferentes tipos de ativações ocorram com base na quantidade de pressão que um usuário aplica no visor com tela sensível ao toque 602 (isto é, quão “duro” um usuário pressiona). O botão 604 pode fazer com que diferentes interfaces gráficas de usuário sejam exibidas no visor com tela sensível ao toque 602. No exemplo ilustrado na figura 6, uma ou mais ativações de botão 604 podem fazer com que o visor do usuário com tela sensível ao toque 602 exiba uma tela inicial. Adicionalmente, o botão 604 pode ter funcionalidade diferente com base em uma interface gráfica de usuário exibida no visor com tela sensível ao toque 602.
[0081] No exemplo ilustrado na figura 6, o visor com tela sensível ao toque 602 exibe os botões virtuais 606 e uma interface gráfica de usuário 608 em respectivas regiões. Os botões virtuais 606 podem replicar os botões de pressionamento, incluindo, por exemplo, um ou mais dos botões acima descritos em relação à figura 5. Um usuário pode ativar um botão virtual pela ativação de uma área correspondente no visor com tela sensível ao toque 602. Deve-se notar que, em alguns casos, os botões virtuais podem ser referidos como teclas em software. No exemplo ilustrado na figura 6, os botões virtuais 606 replicam um teclado numérico, um botão enter, um botão de canal anterior e botões de controle de volume. A interface gráfica de usuário 608 pode incluir um ou mais componentes de uma interface gráfica de usuário aqui descrita. Por exemplo, a interface gráfica de usuário 608 pode incluir ícones que representam um item de conteúdo, da forma descrita com detalhes a seguir. No exemplo ilustrado na figura 6, a interface gráfica de usuário 608 inclui uma interface gráfica de usuário de busca ativada por voz. Por exemplo, mediante um usuário dizer o nome de uma atriz, a interface gráfica de usuário 608 pode exibir uma lista de filmes associados à atriz.
[0082] A figura 7A é um diagrama conceitual que ilustra um exemplo de uma interface de usuário que pode implementar uma ou mais técnicas desta descrição. No exemplo ilustrado na figura 7A, a interface de usuário 700 inclui um botão de repouso 702, botões de controle de volume 704 e interface de toque 706. Em um exemplo, a interface de usuário 700 pode ser implementada como parte do dispositivo acompanhante 790 ilustrado nas figuras 7B-7C. O dispositivo acompanhante 790 pode, em alguns exemplos, ser referido como um controle remoto dinâmico. O botão de repouso 702 pode ser configurado de maneira tal que, mediante ativação, os componentes de um dispositivo acompanhante que inclui a interface de usuário 700 sejam energizados e/ou desenergizados. Adicionalmente, mediante a ativação do botão de repouso 702, os componentes de um dispositivo de computação podem ser energizados e/ou desenergizados. Os botões de controle de volume 704, mediante ativação, podem fazer com que, respectivamente, a saída de um sistema de áudio aumente ou diminua. A interface de toque 706 pode incluir quaisquer dispositivo e/ou combinação de dispositivos configurados para exibir dinamicamente ícones e semelhantes, e receber entrada de toque.
[0083] Da forma ilustrada nas figuras 7B-7C, o dispositivo acompanhante 790 inclui o conjunto de cobertura de topo 760 e o conjunto de cobertura de base 770. No exemplo ilustrado nas figuras 7B-7C, a bateria 782, as molas 784a-784b, o microfone 785 e a cobertura de comutador 786 ficam dispostos entre o conjunto de cobertura de topo 760 e o conjunto de cobertura de base 770 quando dispositivo acompanhante 790 for montado. O dispositivo acompanhante 790 é montado de maneira tal que o conjunto de cobertura de topo 760 seja articulado em relação ao conjunto de cobertura de base 770, de maneira tal que as molas 784a-784b possam ser comprimidas. Isto é, um usuário que segura o dispositivo acompanhante 790 pode pressionar o conjunto de cobertura de topo 760 e fazer com que as molas 784a-784b fiquem comprimidas. Por exemplo, um usuário pode segurar o conjunto de cobertura de base 770 em uma palma e pressionar no conjunto de cobertura de topo 760 para fazer com que as molas 784a-784b fiquem comprimidas. A cobertura de comutador 786 cobre o comutador 787, incluído no conjunto de cobertura de topo 760, da forma ilustrada na figura 7C, de maneira tal que a compressão das molas 784a-784b possa fazer com que o comutador 787 seja ativado pelo conjunto de cobertura de base 770. Assim, um usuário pode ativar o comutador 787 pelo pressionamento do conjunto de cobertura de topo 760. Uma ativação como esta pode ser referida como uma ativação por clique e pode ser acompanhada por um som de clique mecânico. Deve-se notar que a cobertura de comutador 786 pode ser configurada para prover um som de “clique” audível de alta qualidade (por exemplo, alto e distinto).
[0084] Em relação à figura 7A, a interface de toque 706 exibe dinamicamente ícones e semelhantes. Os ícones dinamicamente exibidos podem ser referidos como botões ou teclas virtuais ou em software. A interface de toque 706 ou as regiões da mesma podem incluir um visor com tela sensível ao toque, como exposto, por exemplo, um visor LCD, um visor OLED, etc. Um usuário pode ativar um botão de ícone exibido pela ativação de uma área correspondente na interface de toque 706. No exemplo em que a interface de usuário 700 é implementada como parte do dispositivo de computação 790, a interface de toque 706 pode ser implementada como parte do conjunto de cobertura de topo 760. Em relação à figura 7C, o conjunto de cobertura de topo 760 inclui a cobertura de topo 762, o painel sensível ao toque 764, o visor 766, a estrutura superior 768 e a placa de circuito 769. A cobertura de topo 762 pode incluir um material translúcido sólido (por exemplo, um plástico claro, vidro, incluindo vidro Gorilla®, desenvolvido por Corning, Inc. ou semelhantes) tendo zero ou mais projeções (por exemplo, projeções 728, 743, e 744). Da forma descrita com detalhes adicionais a seguir, as projeções podem ser arranjadas na superfície da cobertura de topo 762 para prover realimentação tátil (por exemplo, habilitar que um usuário localize a posição de um ícone). O painel sensível ao toque 764 pode ser qualquer dispositivo configurado para detectar os eventos de toque e para gerar os sinais elétricos de acordo com os eventos de toque detectados. O painel sensível ao toque 764 pode incluir um dispositivo sensor de toque capacitivo, um dispositivo sensor de toque resistivo ou qualquer outro tipo de dispositivo capaz de receber eventos de toque de usuário. Em um exemplo, os eventos de toque podem incluir um evento de ação para baixo (por exemplo, um usuário tocando no painel sensível ao toque 764) e um evento de ação para cima (por exemplo, um usuário erguendo um dedo) e cada evento de ação para baixo e evento de ação para cima pode ser associado a um conjunto de coordenadas que indica uma posição no painel sensível ao toque 764. O visor 766 pode incluir qualquer dispositivo de exibição configurado para exibir os elementos gráficos. Em um exemplo, o visor 766 pode incluir um dispositivo de exibição flexível. Em um exemplo, o visor 766 pode incluir um dispositivo de exibição eletroforética (EPD), que pode ser referido como um visor de papel eletrônico ou um dispositivo de tinta eletrônica. O visor 766 pode incluir um visor colorido ou um visor monocromático.
[0085] A estrutura superior 768 pode suportar a cobertura de topo 762, o painel sensível ao toque 764, o visor 766 e a placa de circuito 769. Isto é, a cobertura de topo 762, o painel sensível ao toque 764, o visor 766 e a placa de circuito 769 podem ser montados na estrutura superior 768. Adicionalmente, a estrutura superior 768 inclui uma estrutura de articulação que habilita que o conjunto de cobertura de topo 760 e o conjunto de cobertura de base 770 sejam articulados, como exposto. A placa de circuito 769 pode incluir os componentes eletrônicos do dispositivo acompanhante 790. Os componentes eletrônicos podem incluir qualquer combinação de componentes lógicos, por exemplo, os componentes acima descritos em relação à figura 3 e à figura 4, configurados para permitir a funcionalidade aqui descrita.
[0086] Em relação à figura 7C, o conjunto de cobertura de base 770 inclui a estrutura do meio 772, a estrutura do alto-falante 774 e a cobertura de base 776. A cobertura de base 776 e a cobertura de topo 762 confinam os componentes do dispositivo acompanhante 790. A cobertura de base 776 pode ser composta de plástico, metal ou qualquer outro material adequado. A estrutura do meio 772 suporta as molas 784a-784b, o microfone 785, a bateria 782 e a estrutura do alto-falante 774. O microfone 785 pode ser configurado para receber entrada de áudio (por exemplo, comandos de voz do usuário). Em um exemplo, a interface de usuário 700 pode ser configurada para receber entrada de áudio através do microfone 785 mediante o comutador 787 ser pressionado. Isto é, um usuário pode pressionar e manter o conjunto de cobertura de topo 760 a fim de prover um comando verbal (por exemplo, “Buscar por Walking Dead”). A bateria 782 pode energizar o dispositivo acompanhante 790 e, em um exemplo, pode incluir uma bateria recarregável (por exemplo, íon de lítio, níquel-cádmio, etc.). A estrutura do alto-falante 774 inclui um ou mais alto-falantes operativamente conectados na placa de circuito. Assim, o dispositivo acompanhante 790 pode ser configurado para transmitir áudio através de um ou mais alto-falantes montados na estrutura do alto-falante 774. Deve-se notar que, em alguns exemplos, o dispositivo acompanhante 790 pode incluir adicionalmente os sensores de movimento (por exemplo, os acelerômetros) e pode ser configurado para receber entrada de movimento, além da entrada de áudio.
[0087] No exemplo ilustrado na figura 7A, a interface de toque 706 inclui a área de estado 710, a área do botão dinâmico 720, a área de navegação 740 e a área de ícone de atalho 750. A área de estado 710 pode ser configurada para exibir a informação de estado associada a um dispositivo acompanhante e/ou um dispositivo de computação. Adicionalmente, a área de estado 710 pode ser configurada para permitir que um usuário altere um estado e/ou as definições associadas a um dispositivo acompanhante e/ou um dispositivo de computação. No exemplo ilustrado na figura 7A, a área de estado 710 inclui o ícone de definições 712, o identificador de usuário 714 e o ícone do indicador de energia 716. O ícone de definições 712 pode ser configurado para permitir que um usuário altere uma definição associada a um dispositivo acompanhante ou um dispositivo de computação. Em um exemplo, mediante ativação, o ícone de definições 712 pode fazer com que uma interface gráfica de usuário seja apresentada em um visor associado ao dispositivo de computação que habilita que um usuário altere as definições associadas a um dispositivo de computação (por exemplo, as definições relacionadas a uma zona de horário, uma linguagem, etc.). Adicionalmente, em um exemplo, mediante ativação, o ícone de definições 712 pode fazer com que uma interface gráfica de usuário seja apresentada em um visor associado ao dispositivo de computação ou na interface de toque 706 que habilita que um usuário altere uma definição associada a um dispositivo acompanhante (por exemplo, definições relacionadas à sensibilidade da interface de toque 706, etc.).
[0088] O identificador de usuário 714 pode ser configurado para exibir um usuário atualmente associado a um dispositivo de computação e/ou um dispositivo acompanhante. Por exemplo, se um dispositivo de computação estiver executando uma aplicação associada a um serviço de transmissão contínua de mídia, o identificador de usuário 714 pode exibir um identificador associado a um usuário atualmente conectado na aplicação. Adicionalmente, em um exemplo, o identificador de usuário 714 pode exibir um identificador associado a um usuário que atualmente opera um dispositivo de computação através de um dispositivo acompanhante que inclui a interface de usuário 700. Por exemplo, um dispositivo de computação e/ou um dispositivo acompanhante podem suportar múltiplos usuários e podem incluir perfis que incluem a informação associada a cada respectivo usuário. Em alguns exemplos, a informação incluída em um perfil pode incluir um ou mais serviços de mídia favoritos do usuário (por exemplo, canais de televisão, serviços de transmissão contínua, etc.), uma indicação se um usuário é destro dominante ou canhoto dominante, e ainda outras definições customizáveis pelo usuário. Adicionalmente, em alguns exemplos, um perfil pode incluir informação de consumo e de comportamento. Em um exemplo, o consumo pode incluir o conteúdo que um usuário acessou ou está acessando. Em um exemplo, o comportamento pode incluir a informação de uso do usuário, tal como, por exemplo, quão rápido o usuário altera os canais, quão frequentemente o usuário ignora comerciais, quão frequentemente um usuário acessa o conteúdo através de um dispositivo de computação, quão frequentemente um usuário acessa uma interface gráfica de usuário em particular, etc.
[0089] Em alguns exemplos, a informação incluída em um perfil pode habilitar a funcionalidade dinâmica da interface de usuário 700. Por exemplo, da forma descrita com detalhes a seguir, os ícones exibidos na área do ícone de atalho 750 pode ser com base nos serviços de mídia preferidos do usuário. Adicionalmente, da forma descrita com detalhes a seguir, os gestos de entrada de usuário em relação à área de navegação 740 podem ser com base em se um usuário é destro dominante ou canhoto dominante. Em um exemplo, mediante ativação, o identificador de usuário 714 pode fazer com que uma interface gráfica de usuário seja apresentada em um visor associado a um dispositivo de computação e/ou em um visor associado a um dispositivo acompanhante que habilita que um usuário altere um correspondente identificador de usuário (por exemplo, log-in em uma aplicação, um dispositivo de computação e/ou um dispositivo acompanhante como um outro usuário). O ícone do indicador de energia 716 pode ser configurado para exibir a energia restante das baterias que energizam um dispositivo acompanhante (por exemplo, a bateria 782). Em um exemplo, o ícone do indicador de energia 716 pode prover um aviso visual quando a energia restante estiver em um baixo nível (por exemplo, piscar, flash, etc.). Deve-se notar que, em um exemplo, os ícones incluídos na área de estado 710 podem permanecer estáticos, independente da aplicação em execução em um dispositivo de computação.
[0090] A área do botão dinâmico 720 pode ser configurada para permitir que um usuário faça com que a funcionalidade associada a um dispositivo de computação ocorra e/ou faça com que as funções associadas a uma aplicação atualmente em execução em um dispositivo de computação sejam realizadas. Adicionalmente, no exemplo ilustrado na figura 7A, a área do botão dinâmico 720 inclui respectivas projeções 728 posicionadas de maneira tal que cada projeção possa corresponder ao local de um botão virtual. Os botões virtuais podem habilitar qualquer número de funções associadas à operação de um dispositivo de computação e às aplicações em execução no mesmo. Por exemplo, no caso em que um dispositivo de computação incluir um codificador/decodificador integrado ou um dispositivo de transmissão contínua de mídia dedicado capaz de executar uma pluralidade de aplicações dedicadas e/ou acessar itens de conteúdo através de uma pluralidade de serviços de mídia dedicados, a área do botão dinâmico 720 pode exibir os botões virtuais associados a um menu de dispositivo de alto nível a fim de habilitar a seleção de aplicação. Adicionalmente, os botões virtuais exibidos na área do botão dinâmico 720 podem ser específicos de aplicação e podem alterar com base em uma aplicação atualmente em execução em um dispositivo de computação. Adicionalmente, deve-se notar que a apresentação de um botão virtual em particular exibido na área do botão dinâmico 720 pode alterar com base no estado operacional de uma aplicação em execução em um dispositivo de computação. Por exemplo, a aparência de um botão virtual que habilita que uma função seja alternada (reproduzir/pausar, mudo/não mudo, etc.) pode alterar com base na atual definição de uma função. Desta maneira, os botões virtuais exibidos na área do botão dinâmico 720 podem alterar com base em um contexto e/ou em um subcontexto.
[0091] No exemplo ilustrado na figura 7A, a área do botão designado 720 inclui os botões virtuais associados às funções de alto nível do dispositivo de computação, ícone de busca 722, ícone de salvar 724 e ícone de menu 726 e botões virtuais 730 associados a uma aplicação em execução em particular em um dispositivo de computação (uma aplicação de reprodução de mídia no exemplo ilustrado na figura 7A). O ícone de busca 722 pode ser configurado para permitir que um usuário realize uma busca de alto nível associada a um dispositivo de computação. Em um exemplo, mediante ativação, o ícone de busca 722 pode fazer com que seja exibida uma interface gráfica de usuário que habilita que um usuário busque a disponibilidade e a acessibilidade de itens de conteúdo em particular através de múltiplas páginas da Internet do provedor do serviço ou serviços de mídia. Por exemplo, pode ser apresentada uma interface gráfica de usuário que habilita que um usuário busque itens de conteúdo disponíveis associados a um ator em particular e pode prover resultados de busca agregados provenientes de múltiplas páginas da Internet do provedor do serviço ou serviços de mídia (por exemplo, serviço de televisão, serviço sob demanda, serviços de transmissão contínua, etc.). Em um exemplo, mediante ativação, o ícone de busca 722 pode fazer com que seja exibida uma interface gráfica de usuário que habilita que um usuário busque por aplicações disponíveis através de uma página da Internet de distribuição de aplicação. A interface gráfica de usuário 608 acima descrita em relação à figura 6 ilustra um exemplo de uma interface gráfica de usuário que habilita que um usuário busque a disponibilidade e a acessibilidade de itens de conteúdo em particular através de múltiplas páginas da Internet do provedor do serviço ou serviços de mídia.
[0092] O ícone de salvar 724 pode ser configurado para permitir que um usuário faça com que um item de conteúdo seja acessado através de uma interface gráfica de usuário em particular em um ponto futuro no tempo. Por exemplo, mediante ativação, o ícone de salvar 724 pode ser configurado para adicionar os itens de conteúdo em uma assim denominada biblioteca de mídia de usuário. Por exemplo, um usuário pode fazer com que um subconjunto de itens de conteúdo disponíveis fique acessível através de uma interface gráfica de usuário associada a um menu PVR ou semelhantes. A interface gráfica de usuário pode ser referida como um menu “Minha TV” ou “Minhas Gravações”. Em um exemplo, mediante ativação, o ícone de salvar 724 pode fazer com que seja exibida uma interface gráfica de usuário que habilita que um usuário transfira itens de conteúdo em particular para armazenamento em um dispositivo de armazenamento local (por exemplo, salvo em uma unidade de disco rígido de um PVR). Adicionalmente, em um exemplo, mediante ativação, o ícone de salvar 724 pode armazenar um apontador para um servidor, ou semelhantes, para permitir que um usuário acesse um item de conteúdo a partir de um servidor. Por exemplo, se um mosaico correspondente a um item de conteúdo de vídeo sob demanda estiver ativo em uma interface gráfica de usuário quando o ícone de salvar 724 for ativado, um apontador para o item de conteúdo em um servidor de mídia pode ser salvo. Deve-se notar que, em alguns exemplos, se um item de conteúdo é armazenado localmente ou se um apontador é armazenado pode ser transparente para o usuário. Em alguns casos, os segmentos de um item de conteúdo (por exemplo, os primeiros 10 minutos de um filme) podem ser armazenados localmente e os segmentos do item de conteúdo (por exemplo, a parte subsequente do filme) podem ser recuperados a partir de um servidor. O ícone de menu 726 pode ser configurado para fazer com que uma interface gráfica de usuário que inclui um menu de alto nível seja exibida. Em um exemplo, mediante ativação, o ícone de menu 726 pode ser configurado para fazer com que a interface gráfica de usuário 1000 descrita a seguir em relação à figura 12 seja exibida. Deve-se notar que, em alguns exemplos, o ícone de menu 726 pode ter funcionalidade similar ao botão voltar 536.
[0093] No exemplo ilustrado na figura 7A, os botões virtuais 730 são associados às funções dos controles de reprodução de mídia e incluem um botão mudo (isto é, mediante ativação, faz com que o volume fique mudo/não mudo), um botão de ativação de legenda explicativa (isto é, mediante ativação, faz com que texto de legenda explicativa seja exibido/não exibido), um botão de janela de apresentação (isto é, mediante ativação, faz com que uma janela de apresentação de vídeo seja exibida em um modo de tela cheia ou restaurado para uma menor janela de apresentação), botões de reprodução reversa e avanço rápido (isto é, mediante ativação, fazem com que uma apresentação de vídeo seja revertida ou avançada), e botão de reproduzir ou pausar (isto é, mediante ativação, faz com que uma apresentação de vídeo pause ou retome). Deve-se notar que, embora os botões virtuais 730 sejam descritos em relação a uma aplicação de reprodução de vídeo no exemplo ilustrado na figura 7A, os botões virtuais 730 podem incluir os botões associados a qualquer tipo de aplicação. Por exemplo, no caso em que uma aplicação incluir uma aplicação que habilita que chamadas de voz e/ou de vídeo ocorram, os botões virtuais podem incluir um botão que habilita que um usuário faça com que o vídeo seja exibido (por exemplo, um ícone de câmera de vídeo), um botão que habilita que um usuário termine uma chamada (por exemplo, um ícone de aparelho de telefone) e semelhantes. Em outros exemplos, outros tipos de botões podem ser exibidos com base no tipo de aplicação.
[0094] A área de navegação 740 pode ser configurada para receber entradas de toque de usuário que incluem gestos. A funcionalidade associada a um dispositivo de computação e/ou uma aplicação pode ocorrer com base nas entradas de toque de usuário recebidas. Como exposto, as entradas de toque de usuário podem incluir um único toque suave, um toque suave duplo, um pressionamento de uma duração especificada, uma entrada de toque em múltiplos pontos e gestos de toque complexos. Da forma adicionalmente acima descrita, o painel sensível ao toque 764 pode ser configurado para detectar os eventos de toque (por exemplo, os eventos de ação para baixo e os eventos de ação para cima) e gerar um conjunto de coordenadas que indica uma posição no painel sensível ao toque 764 correspondente a uma ação. Isto é, um painel sensível ao toque 764 pode amostrar sinais elétricos que proveem a informação em relação ao local de um dedo do usuário no painel sensível ao toque 764 (isto é, onde o painel sensível ao toque 764 é ativado). Um tratador de evento de toque pode ser configurado para receber um ou mais eventos de toque durante um período de tempo e determinar se o um ou mais eventos de toque correspondem a uma entrada de toque de usuário em particular. Em um exemplo, um tratador de evento de toque pode receber uma pluralidade de eventos de ação para baixo durante um período de tempo e determinar que um evento de movimento com uma velocidade em particular ocorreu e/ou determinar que o evento de movimento corresponde a um gesto em particular. Deve-se notar que a interpretação se os eventos de toque correspondem a um evento de movimento e se os eventos de movimento correspondem a um gesto pode ser determinada por um dispositivo acompanhante e/ou por um dispositivo de computação. Por exemplo, um dispositivo acompanhante pode enviar qualquer combinação dos eventos de toque (por exemplo, uma ação, um conjunto de coordenadas e um tempo), dos eventos de movimento e/ou de uma indicação de um gesto (por exemplo, um toque suave duplo) para um dispositivo de computação. Como exposto, as técnicas aqui descritas podem ser, no geral, aplicáveis independente de como o processamento (por exemplo, tratamento do evento de toque) é distribuído entre um dispositivo de computação e um dispositivo acompanhante.
[0095] Adicionalmente, como exposto, o dispositivo acompanhante 790 é configurado para receber uma ativação por clique, que pode incluir uma única ou múltiplas ativações por clique. No exemplo ilustrado na figura 7A, a área de navegação 740 inclui realimentação visual e tátil que pode auxiliar um usuário na provisão de gestos. No exemplo ilustrado na figura 7A, a área de navegação 740 inclui o botão OK exibido 742 e correspondentes projeção 743 e projeções 744. Em um exemplo, o botão OK 742 pode, mediante ativação, prover funcionalidade similar para selecionar o botão 532 acima descrito em relação à figura 5. Em um exemplo, o botão OK 742 pode ser ativado mediante um usuário dar um toque suave em uma região da área de navegação 740 associada ao botão OK 742 e/ou um usuário realizar uma ativação por clique durante a ativação da interface de toque 706 na região correspondente ao botão OK 742. Da forma descrita com detalhes a seguir, em alguns exemplos, a ativação do botão OK 742 com base em um toque suave e a ativação do botão OK 742 com base em um clique podem fazer com que diferentes respectivas funcionalidades ocorram. As projeções 744 podem ser configuradas para prover realimentação tátil para um usuário da interface de usuário 700. Isto é, um usuário pode ser capaz de sentir as projeções 744 para determinar a posição do dedo do usuário em relação à área de navegação 740. A posição de um dedo do usuário (por exemplo, quando um usuário iniciar ou terminar um gesto) pode habilitar um tipo em particular de gesto para fazer com que funções distintas ocorram em relação a um dispositivo de computação e/ou uma aplicação em execução em um dispositivo de computação. Deve-se notar que, embora as projeções sejam ilustradas como pontos ou linhas no exemplo da figura 7A, em alguns exemplos, as projeções podem incluir caracteres e semelhantes. Por exemplo, as projeções correspondentes ao botão OK 742 podem incluir um O e um K elevados. Adicionalmente, deve-se notar que, em alguns exemplos, a interface de toque 706 pode incluir endentações, além das, ou como uma alternativa às, projeções. Adicionalmente, deve-se notar que, em alguns exemplos, a interface de toque 706 pode incluir menos, incluindo nenhuma, das projeções ilustradas no exemplo ilustrado na figura 7A.
[0096] As figuras 8A-8D são diagramas conceituais que ilustram os exemplos de entradas de usuário que podem ser recebidas pela interface de usuário de exemplo ilustrada na figura 7A de acordo com uma ou mais técnicas desta descrição. Nos exemplos ilustrados na figura 8A e na figura 8B, e ainda outros exemplos descritos a seguir, o “X” indica um local inicial em que um usuário ativa a área de navegação 740 (por exemplo, quando um usuário inicialmente pressionar com um dedo ou uma caneta stylus) e as setas direcionais indicam o movimento enquanto a área de navegação 740 está ativa (por exemplo, um usuário deslizando um dedo através da superfície). Deve-se notar que, em alguns exemplos, o “X” ilustrado em relação à área de navegação 740 pode indicar um local de toque inicial que não inclui uma correspondente ativação por clique. Ao contrário, o “[X]” ilustrado na figura 8C e na figura 8D pode indicar um local de toque e uma correspondente ativação por clique, isto é, um usuário pressionando a área de navegação 740 e fazendo com que o comutador 787 seja ativado.
[0097] Da forma acima descrita, um conjunto de eventos de toque pode corresponder a um ou mais eventos de movimento e um ou mais eventos de movimento podem corresponder a um gesto. A Tabela 1 provê um exemplo de um conjunto de eventos de toque que corresponde ao exemplo de entrada de usuário ilustrado na figura 8A. No exemplo ilustrado na Tabela 1, a coordenada x e a coordenada y têm uma faixa de 0 até 100 e a origem (0, 0) fica localizada no canto superior esquerdo.TABELA 1
[0098] No exemplo ilustrado na Tabela 1, um usuário toca a área de navegação 740 com um dedo em um local de toque inicial (75, 50), desliza o dedo para a esquerda, ao mesmo tempo em que mantém o contato com a área de navegação 740, e ergue um dedo em um local de toque final (25, 50). Os dados na Tabela 1 podem ser interpretados como um evento de movimento (isto é, um evento de movimento para a esquerda) tendo uma distância (isto é, 50), e tendo uma velocidade (isto é, 50/t3). Deve-se notar que os dados da Tabela 1 podem, em alguns casos, ser interpretados como dois ou mais eventos de movimento. Adicionalmente, os dados da Tabela 1 podem ser interpretados como um gesto. Por exemplo, um gesto em particular pode exigir uma distância mínima e uma velocidade mínima. Como exposto, a interpretação se os eventos de toque correspondem a um evento de movimento e se os eventos de movimento correspondem a um gesto pode ser determinada por um dispositivo acompanhante e/ou um dispositivo de computação. Em um exemplo, um dispositivo acompanhante pode receber os eventos de toque em uma taxa de amostragem, filtrar os eventos de toque (por exemplo, valores médios de coordenada de múltiplas amostras), e enviar um conjunto reduzido de eventos de toque para um dispositivo de computação. Assim, em relação ao exemplo ilustrado na Tabela 1, um dispositivo acompanhante pode enviar os dados na Tabela 1 para um dispositivo de computação, e um dispositivo de computação pode interpretar os eventos de movimento e os gestos. Em alguns exemplos, o nível de filtragem dos dados de evento de toque que um dispositivo acompanhante realiza antes de enviar os dados de evento de toque para um dispositivo de computação pode ser com base em uma aplicação atualmente em execução em um dispositivo computador e/ou em uma interface gráfica de usuário atualmente exibida em um dispositivo de computação. Isto é, algumas aplicações podem ser mais sensíveis à entrada de toque do que outros e, como tal, podem exigir mais dados de evento de toque. Outras aplicações em execução em um dispositivo de computação podem exigir menos do que todos os dados de evento de toque que podem ser gerados por um dispositivo acompanhante.
[0099] Em alguns exemplos, as entradas ilustradas na figura 8A e na figura 8B podem ser referidas como uma passada de dedo ou um gesto de deslizar. No exemplo ilustrado na figura 8A, o local de toque inicial é na área confinada pelas projeções 744. Como tal, em alguns exemplos, o gesto ilustrado na figura 8A pode ser referido como um gesto de deslizamento para dentro. No exemplo ilustrado na figura 8B, o local de toque inicial é fora da área confinada pelas projeções 744. Como tal, em alguns exemplos, o gesto ilustrado na figura 8B pode ser referido como um gesto de deslizamento para fora. Da forma descrita com detalhes adicionais a seguir, com base em se um gesto de deslizamento para dentro ou um gesto de deslizamento para fora ocorre, funcionalidade diferente pode ocorrer. Deve-se notar que, embora a figura 8A e a figura 8B ilustrem passadas de dedo horizontais se movendo para a esquerda, passadas de dedo para dentro e para fora podem ser definidas para qualquer direção de movimento (por exemplo, vertical, diagonal, etc.). Adicionalmente, em alguns exemplos, distinções de gestos para dentro e para fora podem ser definidas para gestos que incluem entradas de toque em múltiplos pontos (por exemplo, gestos de pinça para dentro e para fora podem ser definidos). Adicionalmente, em alguns exemplos, distinções para dentro e para fora de pontos de toque podem ser definidas para o eixo geométrico tanto vertical quanto horizontal (por exemplo, pontos de toque no canto, etc.). Em alguns exemplos, os gestos ilustrados na figura 8A e na figura 8B podem, mais especificamente, ser referidos como passadas de dedo horizontais (para dentro ou para fora) ou como passadas de dedo horizontais para a esquerda (para dentro ou para fora). Desta maneira, o dispositivo de computação 200 e um dispositivo acompanhante que incluem a interface de usuário 700 são configurados para suportar ativações ou gestos de usuário em múltiplos níveis. Deve-se notar que, em alguns exemplos, a interface de usuário 600 pode ser configurada para suportar ativações em múltiplos níveis.
[00100] Da forma acima descrita, o botão OK 742 pode ser ativado mediante um usuário realizar uma ativação por clique durante a ativação da interface de toque 706 na região correspondente ao botão OK 742. A figura 8C ilustra um exemplo de um usuário que realiza uma ativação por clique durante a ativação da interface de toque 706 na região correspondente ao botão OK 742. Como exposto, uma ativação como esta pode prover funcionalidade similar para selecionar o botão 532. Em um exemplo, a ativação ilustrada na figura 8C pode ser referida como uma ativação por clique OK. Deve-se notar que as ativações por clique OK podem incluir múltiplas ativações por clique (por exemplo, as ativações por clique duplo). Adicionalmente, um usuário que faz com que o comutador 787 seja ativado durante a ativação da área de navegação 740 próxima de uma projeção superior, inferior, esquerda ou direita das projeções 744 pode prover funcionalidade similar às setas navegacionais 531. Em um exemplo, estas ativações podem ser referidas como ativações por clique direcionais. A figura 8D ilustra um exemplo em que um usuário realiza uma ativação por clique direcional para a direita pela ativação da área de navegação 740 próxima da projeção mais à direita e faz com que o comutador 787 seja ativado. Desta maneira, a interface de usuário 700 e a área de navegação 740 podem ser configuradas para habilitar a navegação direcional (por exemplo, navegação com base em seta direcional) e a navegação com base em gesto.
[00101] Novamente em relação à figura 7A, a área de ícone de atalho 750 pode ser configurada para facilitar a funcionalidade em relação a uma aplicação em particular atualmente em execução em um dispositivo de computação e/ou um usuário em particular que opera atualmente um dispositivo de computação. No exemplo ilustrado na figura 7A, a área de ícone de atalho 750 inclui os ícones específicos de aplicação 752. Deve-se notar que, no exemplo ilustrado na figura 7A, ao contrário da área do botão dinâmico 720, a área de ícone de atalho 750 não inclui projeções. Desta maneira, a área de ícone de atalho 750 pode prover maior flexibilidade em relação aos tipos de ícones que podem ser exibidos. Por exemplo, a área de ícone de atalho 750 pode exibir um ícone grande que, mediante ativação, faz com que um anúncio seja apresentado. Como exposto, em um exemplo, uma aplicação de seleção de conteúdo em execução em um dispositivo acompanhante pode ser configurada para receber os dados a partir de um dispositivo de computação e analisar sintaticamente os dados a fim de determinar um contexto e/ou um subcontexto. Um contexto pode identificar uma aplicação atualmente em execução em um dispositivo de computação e um subcontexto pode identificar um aspecto em particular de uma aplicação em execução em um dispositivo de computação. Os ícones específicos de aplicação 752 podem ser com base em um contexto e/ou em um subcontexto.
[00102] No exemplo ilustrado na figura 7A, os ícones específicos de aplicação 752 correspondem aos ícones associados a uma aplicação de serviço de televisão. No exemplo ilustrado na figura 7A, os ícones específicos de aplicação 752 representam os canais de televisão que, mediante ativação, podem fazer com que um sintonizador de um dispositivo de computação sintonize no canal de televisão em particular (ou fazer com que um dispositivo de computação acesse um fluxo contínuo de mídia em particular). Deve-se notar que, em alguns exemplos, os ícones específicos de aplicação 752 podem ser ativados mediante um usuário prover uma ativação por toque suave e, em alguns exemplos, os ícones específicos de aplicação 752 podem ser ativados mediante um usuário prover uma ativação por clique. No caso em que os ícones específicos de aplicação 752 representarem os canais de televisão, os canais de televisão podem corresponder a canais recentemente visualizados e/ou um conjunto de canais determinados pela informação incluída no perfil de um usuário. Adicionalmente, em um exemplo, os canais de televisão representados pelos ícones específicos de aplicação 752 podem espelhar os canais exibidos em uma interface gráfica de usuário. Por exemplo, em relação à figura 14A, os canais AMC, FOX, NBC, CBS, BBC, Showtime e HBO são exibidos no visor 250 de um dispositivo de computação 200 como parte de uma interface gráfica de usuário. Neste caso, os ícones específicos de aplicação 752 podem incluir os ícones que representam AMC, FOX, NBC,CBS, BBC, Showtime e HBO. De uma maneira similar, quando uma interface gráfica de usuário associada a uma aplicação de conteúdo sob demanda for apresentada em um visor, ícones específicos 752 podem representar ícones correspondentes a itens de conteúdo. Por exemplo, os ícones específicos de aplicação 752 podem representar os filmes ilustrados no exemplo da figura 18B, quando a interface gráfica de usuário 1100 for apresentada em um visor.
[00103] Desta maneira, a interface de usuário 700 é configurada para apresentar dinamicamente os ícones que podem ser ativados por um usuário e receber a entrada de usuário, incluindo as ativações em múltiplos níveis. Com base em entradas de usuário recebidas providas para um dispositivo acompanhante, um dispositivo de computação pode fazer com que alterações ocorram em relação a um item de conteúdo e/ou a interfaces gráficas de usuário apresentadas em um visor. Deve-se notar que, embora a interface de usuário 700 seja descrita nos exemplos expostos como exibindo ícones, estes exemplos não devem ser interpretados como limitando a funcionalidade da interface de usuário 700. Em outros exemplos, a interface de usuário 700 pode exibir elementos gráficos com base em movimento, animações, vídeo e semelhantes e pode habilitar complexas interações de usuário (por exemplo, assim denominadas segundas aplicações de tela). Por exemplo, a interface de usuário 700 pode habilitar que um usuário jogue um jogo (por exemplo, um jogo de trivia ou um jogo em vídeo) exibido na área de ícone de atalho 750. Adicionalmente, a interface de usuário 700 pode exibir a informação associada a um item de conteúdo renderizado em um visor associado a um dispositivo de computação (por exemplo, uma sinopse de enredo de um filme).
[00104] Da forma acima descrita, a área de navegação 740 pode ser configurada para receber entradas de toque de usuário, incluindo gestos, e a funcionalidade associada a um dispositivo de computação e/ou uma aplicação pode ocorrer com base nas entradas de toque de usuário recebidas. A funcionalidade associada a um dispositivo de computação e/ou uma aplicação pode incluir funcionalidade provida em conjunto com uma interface gráfica de usuário. As figuras 9A-9D, a figura 12, a figura 14A-14C, a figura 16A- 16F e a figura 18A-18B são diagramas conceituais que ilustram os exemplos das interfaces gráficas de usuário que podem implementar uma ou mais técnicas desta descrição. Da forma descrita com detalhes adicionais a seguir, a área de navegação 740 pode ser configurada para receber entradas de toque de usuário, incluindo gestos, toques suaves e ativações por clique, e o dispositivo de computação 200 pode fazer com que a funcionalidade associada às interfaces gráficas de usuário ilustradas nas figuras 9A-9D, na figura 12, na figura 14A-14C, na figura 16A-16F e na figura 18A-18B ocorra, incluindo a transição das respectivas interfaces gráficas de usuário. Deve-se notar que, embora as interfaces gráficas de usuário de exemplo ilustradas nas figuras 9A-9D, na figura 12, na figura 14A-14C, na figura 16A-16F e na figura 18A- 18B sejam descritas em relação à interface de usuário 700 e ao dispositivo acompanhante 790, as interfaces gráficas de usuário podem ser, no geral, aplicáveis a outras interfaces de usuário e dispositivos acompanhantes. As figuras 19A-19E compreendem um fluxograma que ilustra um exemplo de habilitação que um usuário selecione um item de conteúdo usando as interfaces gráficas de usuário de exemplo ilustradas nas figuras 9A-9D, na figura 12, na figura 14A-14C, na figura 16A-16F e na figura 18A-18B.
[00105] As figuras 9A-9D ilustram um exemplo em que um dispositivo acompanhante pode alterar um item de conteúdo apresentado em um visor com base na entrada recebida através de uma interface de usuário. Em alguns exemplos, a interface gráfica de usuário de exemplo ilustrada nas figuras 9A- 9D pode corresponder a uma aplicação de visualização de televisão e, em alguns casos, a transição ilustrada nas figuras 9A-9D pode, no geral, ser referida como uma transição de alteração de canal. A figura 10 é um diagrama conceitual que ilustra adicionalmente a transição ilustrada nas figuras 9A-9D e um correspondente exemplo de entrada de usuário recebida por uma interface de usuário de exemplo. Deve-se notar que, embora o exemplo de transição ilustrado nas figuras 9A-9D seja descrito em relação à interface de usuário 700, em outros exemplos, a entrada recebida através de outro exemplo de interfaces de usuários (por exemplo, a interface de usuário 500 e a interface de usuário 600) pode fazer com que a transição ocorra.
[00106] Da forma ilustrada nas figuras 9A-9D, a interface gráfica de usuário 900 inclui a janela 902, a janela 904, o identificador de origem 906, o identificador de item de conteúdo 908 e a barra de progresso 910. A janela 902 inclui uma área de apresentação associada a um item de conteúdo atualmente selecionado (por exemplo, um canal de televisão no qual um sintonizador de um dispositivo de computação está atualmente sintonizado). A janela 904 inclui uma área de apresentação associada a um potencial item de conteúdo subsequentemente selecionado (por exemplo, um canal de televisão adjacente em uma listagem de canal de televisão). Em relação à figura 9A, a interface gráfica de usuário 900 exibe uma apresentação de vídeo em tela cheia para um item de conteúdo atualmente selecionado associado à janela 902. Em relação à figura 9D, a interface gráfica de usuário 900 exibe uma apresentação em tela cheia para um subsequente item de conteúdo selecionado associado à janela 904. As figuras 9B e 9C ilustram uma transição entre a interface gráfica de usuário 900, da forma ilustrada na figura 9A e na figura 9D.
[00107] Da forma ilustrada na figura 9B e na figura 9C, a interface gráfica de usuário 900 exibe a janela 904 de uma maneira tal que ela apareça sobreposta na janela 902. Da forma descrita a seguir em relação à figura 10, a maneira na qual a janela 904 sobrepõe a janela 902 pode ser com base na entrada de usuário recebida através de uma interface de usuário. Em relação ao exemplo em que a interface gráfica de usuário 900 corresponde a uma aplicação de visualização de televisão, quando um usuário desejar alterar uma apresentação de vídeo em tela cheia de um item de conteúdo associado à janela 902 para um item de conteúdo associado à janela 904, uma apresentação de vídeo para um item de conteúdo associado à janela 904 pode não estar imediatamente disponível. Isto é, por exemplo, para uma origem sobre o ar ou em televisão a cabo, pode haver um atraso em relação a um sintonizador (por exemplo, um sintonizador ATSC ou DVB) que adquire um canal. Adicionalmente, no exemplo em que um serviço de televisão incluir um assim denominado serviço de televisão em transmissão contínua ou over the top (OTT) (por exemplo, Transmissão Contínua Ao Vivo HTTP), um atraso pode ocorrer com base no tempo que leva para que um dispositivo de computação estabeleça uma sessão com um servidor hospedeiro e/ou transfira os arquivos de segmento de mídia. O exemplo ilustrado nas figuras 9A-9D pode ilustrar um exemplo em que uma apresentação de vídeo para um item de conteúdo associado à janela 904 não está imediatamente disponível. Adicionalmente, o exemplo ilustrado nas figuras 9A-9D pode ilustrar um exemplo em que um dispositivo de computação sintoniza ou tenta acessar um fluxo contínuo mediante um usuário completar uma parte suficiente de um gesto.
[00108] Em relação ao exemplo ilustrado nas figuras 9B-9D, a janela 904 exibe uma imagem associada a um item de conteúdo (isto é, uma imagem estática associada a The Walking Dead) ou um vídeo (por exemplo, um vídeo de um evento em progresso) com base na disponibilidade do vídeo e/ou dos recursos de computação e da informação que habilita que um usuário identifique um item de conteúdo associado à janela. O identificador de origem 906 identifica uma origem associada a um item de conteúdo (por exemplo, um logotipo que identifica uma rede de televisão). Um identificador de item de conteúdo 908 inclui texto que identifica um item de conteúdo. A barra de progresso 910 ilustra o progresso da apresentação de um item de conteúdo (por exemplo, o atual ponto de reprodução de um programa de televisão). Em um exemplo, uma imagem associada a um item de conteúdo pode ser referida como uma placa de imagem e o identificador de origem 906, o identificador de item de conteúdo 908 e a barra de progresso 910 podem ser referidos como um grupo de informação. Uma placa de imagem e um grupo de informação podem ser coletivamente referidos como elementos gráficos associados a um item de conteúdo.
[00109] Da forma ilustrada na figura 9B e na figura 9C, a janela 904 é dimensionada de maneira tal que ela abarque a altura do visor 250 e cada um do identificador de origem 906, do identificador de item de conteúdo 908 e da barra de progresso 910 é proporcional em tamanho à área da janela 904 no visor 250. Isto é, cada um do identificador de origem 906, do identificador de item de conteúdo 908 e da barra de progresso 910 aumenta em tamanho à medida que a janela 904 cobre mais da janela 902. Adicionalmente, da forma ilustrada na figura 9D, cada um do identificador de origem 906, do identificador de item de conteúdo 908 e da barra de progresso 910 aumenta até um tamanho máximo e para no centro do visor enquanto que a imagem associada ao item de conteúdo pode cobrir toda a área do visor 250. Uma transição como esta pode ter apelo visual para um usuário de um dispositivo de computação. Da forma descrita com detalhes a seguir, uma unidade de processamento gráfica (por exemplo, a unidade de processamento de elementos gráficos 230) pode ser configurada para permitir que tais transições ocorram com base na entrada de usuário recebida através de uma interface de usuário. Da forma adicionalmente descrita com detalhes a seguir, os elementos gráficos associados aos itens de conteúdo podem ser submetidos a cache com base na probabilidade de que um usuário tente acessar um item de conteúdo em particular durante um período de tempo.
[00110] A figura 10 ilustra um exemplo em que um usuário realiza um gesto de deslizamento horizontal para dentro, da forma acima descrita em relação à figura 8A, a fim de fazer com que a transição ilustrada nas figuras 9A-9D ocorra. No exemplo ilustrado na figura 10, para cada subsequente ponto no tempo, Tempo0, Tempo1, e Tempo2, a interface gráfica de usuário 900 exibida no visor 250 e um gesto de usuário recebido por área de navegação 740 são ilustrados. Em Tempo0, a interface gráfica de usuário 900 exibe uma apresentação de vídeo em tela cheia do item de conteúdo associado à janela 902 e um usuário inicia um gesto de deslizamento para dentro pela ativação da área de navegação 740 na área definida pelas projeções 744. Em Tempo1 e Tempo2, à medida que o usuário desliza um dedo para a esquerda na área de navegação 740, a janela 904 que exibe a placa de imagem “desliza” sobre a janela 902 e o identificador de origem 906 aumenta de tamanho. O movimento da janela 904 no visor 250 pode ser sincronizado com o movimento de um dedo do usuário na área de navegação 740. Isto é, um relacionamento entre o movimento de um dedo do usuário na área de navegação 740 (isto é, dados de evento de toque) e a posição da janela 904 e/ou o tamanho do identificador de origem 906 é definido de maneira tal que a janela pareça se mover no visor em conjunto com o gesto de deslizamento.
[00111] Novamente em relação à figura 10, o gesto pode ser interpretado por um dispositivo acompanhante e/ou um dispositivo de computação com base em um ponto inicial, distância da transição e um limite. Como exposto, o ponto inicial pode ser usado para distinguir entre um gesto de deslizamento para dentro e um gesto de deslizamento para fora. A distância da transição pode corresponder a uma distância em que o movimento do dedo de um usuário faz com que uma transição visual ocorra. Deve-se notar que uma distância da transição pode incluir uma distância mínima exigida para iniciar uma transição. As distâncias mínimas podem ser usadas para distinguir gestos de eventos de toque involuntários. Por exemplo, pode-se exigir que o dedo de um usuário desloque uma distância de 15% da largura da área de navegação 740 antes da janela 904 aparecer no visor 250. No exemplo ilustrado na figura 10, o limite pode ser usado para determinar se, mediante um usuário desativar a área de navegação 740 (por exemplo, erguendo um dedo para fora da área de navegação 740), a interface gráfica de usuário 900 exibe uma apresentação em tela cheia da janela 902 ou uma apresentação em tela cheia da janela 904. Isto é, um usuário pode fazer com que uma parte da janela 904 seja exibida a fim de identificar e/ou pré- visualizar um item de conteúdo associado à janela 904 (por exemplo, quando vídeo estiver disponível) e, se um usuário não desejar acessar o item de conteúdo associado à janela 904, o usuário pode erguer o dedo da área de navegação 740 para fazer com que o visor retorne para o modo de visualização em tela cheia do item de conteúdo atualmente selecionado. Da forma descrita a seguir, o limite pode ser com base em equações que definem o movimento da janela. Em um exemplo, a janela 904 pode incluir uma mensagem que indica que o canal está atualmente em um intervalo comercial. Por exemplo, o dispositivo de computação 200 pode receber os dados ou indicadores que indicam que o canal está em um intervalo comercial. Em alguns casos, fazer com que uma parte da janela 904 seja exibida pode ser referido como uma visualização de espiada. Em alguns exemplos, mediante o usuário não exceder o limite e erguer um dedo da área de navegação 740, a janela 904 pode rapidamente se mover para a direita (isto é, “volta rápida”).
[00112] Em alguns exemplos, mediante o usuário exceder o limite e erguer um dedo, a janela 904 pode se mover para a esquerda para fazer com que a interface gráfica de usuário 900, da forma ilustrada na figura 9D, seja exibida. Neste caso, em um exemplo, a interface gráfica de usuário 900, da forma ilustrada na figura 9D, irá transicionar para uma apresentação de vídeo em tela cheia (por exemplo, desvanecimento de uma imagem para uma apresentação de vídeo) uma vez o vídeo associado quando o item de conteúdo estiver disponível (por exemplo, depois que a sintonia ocorrer ou depois que um segmento de mídia for transferido). Deve-se notar que, em alguns exemplos, a fim de conservar ou otimizar os recursos de um dispositivo de computação, pode ser desejável iniciar a sintonia com base no movimento do dedo de um usuário na área de navegação 740. Isto é, em um exemplo, os recursos de um dispositivo de computação podem ser otimizados pelo início da sintonia mediante um dedo do usuário passar ou ficar em uma distância pré-determinada de um limite. Adicionalmente, deve-se notar que um limite pode ser definido em relação a um ponto absoluto na área de navegação 740 (por exemplo, o centro de área de navegação 740), uma distância absoluta deslocada por uma entrada de usuário (por exemplo, um centímetro a partir de um ponto inicial), uma distância relativa (por exemplo, 50% da distância entre um ponto inicial e uma borda da área de navegação 740) e/ou a velocidade do movimento da entrada de usuário. Em um exemplo, a interface de usuário 700 pode ser configurada de maneira tal que um usuário possa iniciar uma transição de alteração de canal pela ativação da área de navegação 740 em qualquer ponto nas projeções 744 e pelo movimento de um dedo em uma distância de aproximadamente 10%-20% (por exemplo, 15%) da largura da área de navegação 740 (isto é, a distância mínima). Neste exemplo, a janela 904 pode ser exibida com base no movimento contínuo do dedo do usuário. Adicionalmente, neste exemplo, o limite pode ser uma distância de aproximadamente 35%-60% (por exemplo, 50%) da largura da área de navegação 740.
[00113] Da forma acima descrita, um relacionamento entre o movimento do dedo de um usuário na área de navegação 740 e a posição da janela 904 e/ou o tamanho do identificador de origem 906 é definido. Da forma adicionalmente acima descrita em relação à Tabela 1, um conjunto de eventos de toque pode ser interpretado como um evento de movimento tendo uma direção, uma distância e uma velocidade. Em um exemplo, um dispositivo acompanhante que inclui a interface 700 pode enviar uma indicação para o dispositivo de computação 200 que um usuário iniciou uma transição de alteração de canal (por exemplo, área de navegação ativada 740 em qualquer ponto nas projeções 744 e movimento de um dedo na distância mínima). O dispositivo acompanhante pode enviar subsequentemente os dados de evento de toque para o dispositivo de computação 200. O dispositivo de computação 200 e/ou a unidade de processamento gráfica 230 podem ser configurados para mover a janela 904 no visor 250 e mover e escalar o tamanho de um grupo de informação com base nos dados de evento de toque recebidos. Em um exemplo, o movimento da janela 904 no visor 250 (por exemplo, quão distante a janela 904 se move para a esquerda no exemplo da figura 10) pode ser com base na seguinte equação: Movimento da janela = (a * distanceME) X (b * speedME), em que Movimento da janela corresponde a uma distância no visor (por exemplo, um número de pixels); distanceME corresponde a uma distância de um evento de movimento; speedME corresponde a uma velocidade de um evento de movimento; e a e b são fatores de escalonamento.
[00114] Desta maneira, o movimento de uma janela no visor é em relação à distância e à velocidade de um gesto de deslizamento. Deve-se notar que, com base nesta equação, para uma dada distância de deslizamento, a distância que a janela 904 parece se mover no visor 250 é com base na velocidade de um deslizamento. Isto é, em relação à figura 10, a janela 904 irá se mover adicionalmente para a esquerda, se um usuário realizar um deslizamento relativamente mais rápido. Como exposto, um limite pode ser definido com base no movimento da janela. Isto é, por exemplo, se um usuário prover uma entrada que faz com que a janela 904 se mova pela metade através do visor 250, com base na distância e na velocidade de um deslizamento, uma transição de alteração de canal pode ocorrer.
[00115] Em alguns exemplos, o dispositivo de computação 200 e um dispositivo acompanhante que inclui a interface de usuário 700 podem ser configurados de maneira tal que um usuário possa ser capaz de definir a sensibilidade em relação a uma transição de alteração de canal. Isto é, usuários em particular podem desejar a capacidade de pré-visualizar os itens de conteúdo e/ou fazer com que alterações de canal ocorram mais rapidamente. Em um exemplo, o dispositivo de computação 200 pode ser configurado de maneira tal que um usuário possa definir uma definição de sensibilidade em um de: alta, média ou baixa, em que cada definição provê um limite que deve ser excedido a fim de que uma transição de alteração de canal ocorra. Em um exemplo, cada definição pode ser associada aos respectivos valores dos fatores de escalonamento, a e b, acima descritos (por exemplo, uma alta sensibilidade provê os mais altos valores de a e b). Adicionalmente, em um exemplo, um usuário pode ser capaz de definir explicitamente os valores associados à sensibilidade de uma transição de alteração de canal. No exemplo ilustrado na figura 10, o movimento do dedo do usuário para a esquerda faz com que a janela 904 apareça na borda direita do visor 250 e se mova para a esquerda. Em alguns exemplos, o dispositivo de computação 200 e um dispositivo acompanhante que inclui a interface de usuário 700 podem ser configurados de maneira tal que um usuário possa ser capaz de definir como o movimento da janela 904 corresponde ao movimento do dedo do usuário. Por exemplo, um usuário pode desejar inverter o movimento da janela 904 em relação ao movimento do dedo do usuário. Isto é, o movimento do dedo do usuário para a esquerda pode fazer com que a janela 904 apareça na borda esquerda do visor 250 e se mova para a direita.
[00116] Da forma acima descrita, o exemplo ilustrado nas figuras 9A- 9D ilustra um exemplo em que o vídeo correspondente a um item de conteúdo associado à janela 904 não está imediatamente disponível. Em alguns exemplos, os atrasos no acesso ao conteúdo de vídeo podem ser mitigados usando assim denominadas técnicas de pré-sintonia. Isto é, por exemplo, uma televisão ou um codificador/decodificador integrado que acessa uma origem sobre o ar ou em televisão a cabo podem incluir múltiplos sintonizadores, em que um primeiro sintonizador é sintonizado em um canal atual e sintonizadores adicionais são sintonizados em canais em que é provável que um usuário sintonize (por exemplo, canais adjacentes em uma listagem de canais). Adicionalmente, no exemplo em que um serviço de televisão inclui um serviço de televisão em transmissão contínua ou OTT, um dispositivo de computação pode acessar múltiplos fluxos contínuos de mídia simultaneamente (por exemplo, fluxos contínuos associados a diferentes redes de televisão). Deve ser notado, entretanto, que, em alguns casos, a disponibilidade de recursos de um dispositivo de computação pode limitar a efetividade de técnicas de pré-sintonia. Por exemplo, um dispositivo de computação pode ter um número limitado de sintonizadores e/ou recursos de processamento disponíveis. Adicionalmente, no caso de um serviço de televisão OTT, a quantidade de largura de banda disponível pode ser limitada de maneira tal que fluxos contínuos de mídia adicionais não possam ser acessados sem impactar adversamente a qualidade de um fluxo contínuo de mídia primário. Adicionalmente, as limitações em relação à disponibilidade dos recursos do dispositivo de computação podem ficar aparentes no caso em que um usuário desejar alterar o conteúdo de uma maneira rápida (isto é, rápida "navegação" de canais).
[00117] Da forma acima descrita em relação à figura 2, a submissão a buffer associada a um segmento de mídia pode se propagar por toda a apresentação do evento. Embora a submissão a buffer possa ser aceitável quando um evento for apresentado para um usuário, quando um segmento for associado a um fluxo contínuo de mídia pré-sintonizado, a submissão a buffer pode fazer com que um fluxo contínuo de mídia pré-sintonizado fique fora de sincronismo com um evento. Em um exemplo, o dispositivo de computação 200 pode ser configurado para simular a reprodução de um item de conteúdo que é provável que um usuário acesse a fim de manter o sincronismo com um evento. Em alguns exemplos, este tipo de sincronismo pode ser referido como sincronismo de tempo do sistema. Como exposto, um arquivo de índice pode prover a informação de sincronismo associada a cada segmento de mídia incluído em um evento. Em um exemplo, o dispositivo de computação 200 pode recuperar um arquivo de índice para um item de conteúdo que é provável que um usuário acesse e simular a reprodução de segmentos de mídia listados no arquivo de índice. Isto é, o dispositivo de computação 200 pode recuperar um arquivo de índice e determinar qual segmento de mídia deve ser acessado mediante uma alteração de canal com base em um relógio e uma taxa de bits estimada. Isto é, em vez de transferir os segmentos de mídia associados a um evento e potencialmente introduzir atraso, o dispositivo de computação 200 pode recuperar um segmento de mídia mais atual, em relação ao tempo do sistema, mediante um usuário iniciar, parcialmente completando (por exemplo, ficando em um limite) e/ou completando uma transição de alteração de canal pela estimativa de qual segmento de mídia deve ser reproduzido em um tempo do sistema em particular. Em um exemplo, mediante um usuário iniciar, parcialmente completando e/ou completando uma transição de alteração de canal, o dispositivo de computação 200 pode transferir um segmento de arquivo de mídia correspondente ao segmento de mídia que deve ser reproduzido no tempo do sistema atual. Em um exemplo, mediante um usuário iniciar, parcialmente completando e/ou completando uma transição de alteração de canal, o dispositivo de computação 200 pode transferir um subsequente segmento de arquivo de mídia (isto é, o próximo segmento de mídia depois do segmento de mídia que deve ser reproduzido no tempo do sistema atual).
[00118] Em um exemplo, um item de conteúdo que é provável que um usuário acesse pode incluir canais de televisão adjacentes em uma listagem de canal de televisão. Por exemplo, se um canal atualmente sintonizado for o número de canal 100, o dispositivo de computação 200 pode ser configurado para recuperar os arquivos de índice para os canais 98, 99, 101, e 102 e simular a reprodução para um ou mais destes canais. Adicionalmente, como exposto, um perfil de usuário pode incluir a informação do comportamento de usuário e/ou a informação em relação a se um usuário é canhoto dominante ou destro dominante. A informação de comportamento pode incluir a informação em relação a como um usuário previamente fez com que alterações de canal ocorressem. Por exemplo, o dispositivo de computação 200 pode determinar que um usuário em particular usualmente passa o dedo para a esquerda. Neste caso, os canais associados a passadas de dedo para a esquerda podem ser os canais de numeração mais alta e o dispositivo de computação 200 pode priorizar os canais de numeração mais alta adjacentes em relação a canais de numeração mais baixa adjacentes. Por exemplo, em vez de recuperar os arquivos de índice para os canais 98, 99, 101, e 102, o dispositivo de computação 200 pode recuperar os arquivos de índice para os canais 101, 102, 103, e 104 com base no comportamento de usuário determinado. De uma maneira similar, os canais de numeração mais alta ou os canais de numeração mais baixa podem ser priorizados com base em se um usuário é canhoto dominante ou destro dominante. Por exemplo, pode ser mais provável que os usuários canhotos dominantes realizem as passadas de dedo para a esquerda e pode ser mais provável que os usuários destros dominantes realizem as passadas de dedo para a direita. Da forma descrita com detalhes adicionais a seguir, as imagens e os elementos gráficos associados a um item de conteúdo podem ser priorizados com base na informação incluída em um perfil de usuário. Deve-se notar que, embora o exemplo ilustrado nas figuras 9A-9B seja descrito em relação aos canais adjacentes em uma listagem, as técnicas descritas em relação às figuras 9A-9D podem ser, no geral, aplicáveis a qualquer tipo de conjuntos ordenados de itens de conteúdo (por exemplo, comutação de filmes em um conjunto de filmes alfabeticamente ordenados, etc.).
[00119] Novamente em relação à figura 9A, em um exemplo, além da provisão de um gesto de deslizamento para dentro quando a janela 902 for exibida em um modo de visualização em tela cheia no visor 250, um usuário pode prover outros gestos que fazem com que outra funcionalidade ocorra. A figura 11 ilustra um exemplo em que um usuário realiza um gesto de deslizamento para fora, da forma acima descrita em relação à figura 8B, quando a interface gráfica de usuário 900, da forma ilustrada na figura 9A, for apresentada no visor 250. No exemplo ilustrado na figura 11, mediante um usuário completar um gesto de deslizamento para fora, a interface gráfica de usuário 1100, da forma ilustrada na figura 18A, é apresentada no visor 250. Deve-se notar que a interface gráfica de usuário 900 e a interface gráfica de usuário 1100 são associadas a tipos distintos de serviços de mídia e representam diferentes aplicações, origens e/ou portais. Isto é, a interface gráfica de usuário 900 pode corresponder a um usuário que acessa os itens de conteúdo através de um serviço de televisão (por exemplo, um serviço de televisão OTT) e a interface gráfica de usuário 1100 pode corresponder a um usuário que acessa o item de conteúdo através de um serviço sob demanda. Assim, o dispositivo de computação 200 pode ser configurado para comutar de uma aplicação de serviço de mídia para uma outra aplicação de serviço de mídia (ou outro tipo de aplicação, por exemplo, aplicação de teleconferência), mediante um usuário realizar um gesto de deslizamento para fora. Desta maneira, um gesto de deslizamento para fora pode corresponder à comutação de aplicação e um gesto de deslizamento para dentro pode corresponder à comutação de itens de conteúdo selecionados em uma aplicação (por exemplo, alteração de canal). Como tal, o dispositivo de computação 200 pode ser configurado para permitir que um usuário realize os gestos de deslizamento multiníveis.
[00120] A figura 11 ilustra um exemplo de transição de uma aplicação para uma outra aplicação com base em um usuário realizar um gesto de deslizamento para fora. No exemplo ilustrado na figura 11, para cada subsequente ponto no tempo, Tempo0, Tempo1 e Tempo2, a interface gráfica de usuário 900 e/ou a interface gráfica de usuário 1000 exibidas no visor 250 e um gesto de usuário recebido pela área de navegação 740 são ilustrados. Em Tempo0, a interface gráfica de usuário 900 exibe uma apresentação de vídeo em tela cheia do item de conteúdo associado à janela 902 e um usuário inicia um gesto de deslizamento para fora pela ativação da área de navegação 740 fora da área definida pelas projeções 744. Em Tempo1 e Tempo2, à medida que o usuário desliza um dedo para a esquerda na área de navegação 740, o visor 250 parece se afastar do centro da janela 902, de maneira tal que a janela 902 seja exibida como uma janela na interface gráfica de usuário 1000 e, desse modo, revele aplicações de serviço de mídia adicionais. De uma maneira similar àquela acima descrita em relação à figura 10, o afastamento da interface gráfica de usuário 900 para revelar a interface gráfica de usuário 1000 pode ser sincronizado com o movimento do dedo de um usuário na área de navegação 740. Em um exemplo, o tamanho da janela 902 no visor 250 (por exemplo, o nível de aproximação) pode ser com base na seguinte equação:Nível de aproximação = 100 - ((c * distanceME) X (d * speedME)), em que Nível de aproximação corresponde ao percentual com um valor máximo de 100% correspondente a uma apresentação em tela cheia da janela 902 e um valor mínimo (por exemplo, 20 - 35%) correspondente a uma apresentação em tela cheia da interface gráfica de usuário 1000;distanceME corresponde a uma distância de um evento de movimento;speedME corresponde a uma velocidade de um evento de movimento; e c e d são fatores de escalonamento.
[00121] Adicionalmente, de uma maneira similar àquela acima descrita em relação à figura 10, a interface gráfica de usuário 1100 pode ser apresentada no visor 250 com base em se um gesto excede um limite. Isto é, mediante o usuário não exceder o limite e erguer um dedo da área de navegação 740, a interface gráfica de usuário 900 pode ser exibida no visor 250 (isto é, uma rápida aproximação pode ocorrer) e mediante o usuário exceder o limite e erguer um dedo da área de navegação 740, a interface gráfica de usuário 1100 pode ser exibida no visor 250. Adicionalmente, de uma maneira similar à iniciação da sintonia com base no movimento do dedo de um usuário na área de navegação 740, da forma acima descrita, a fim de conservar ou otimizar os recursos de um dispositivo de computação, o carregamento de uma aplicação pode ser com base no movimento do dedo de um usuário na área de navegação 740. Isto é, em um exemplo, os recursos do dispositivo de computação podem ser otimizados pelo início do carregamento de uma aplicação mediante um usuário exceder um limite.
[00122] A figura 12 ilustra a interface gráfica de usuário 1000 com detalhes. Da forma ilustrada na figura 12, além de incluir a janela 902, a interface gráfica de usuário 1000 inclui as janelas 1002a-1002d, em que cada uma das janelas 1002a-1002d pode corresponder a uma respectiva aplicação de serviço de mídia, outro tipo de aplicação ou portal. Cada uma das janelas 1002a-1002d inclui uma imagem ou vídeo associados a uma aplicação que habilita que um usuário identifique uma aplicação ou portal correspondente a cada janela. No exemplo ilustrado na figura 12, a janela 1002a corresponde a um portal de serviço de mídia personalizado, a janela 1002b corresponde a um portal de busca, a janela 1002c corresponde a um portal sob demanda e a janela 1002d corresponde a uma aplicação de serviço de transmissão contínua de mídia (por exemplo, Netflix). Deve-se notar que, em alguns exemplos, aplicações ou portais adicionais podem ser disponíveis para um usuário. Um exemplo de um portal de serviço de mídia personalizado é descrito no Pedido de Patente norte americano comumente atribuído atualmente pendente 14/465.043, depositado em 21 de agosto de 2014, que é incorporado pela referência em sua íntegra. Um exemplo de um portal sob demanda é ilustrado nas figuras 18A-18B. Da forma descrita com detalhes adicionais a seguir, uma aplicação e/ou uma imagem de fundo associada a uma aplicação podem ser carregadas em um cache para permitir uma suave transição (por exemplo, reduzir potencial retardo percebido pelo usuário) da interface gráfica de usuário 900 para a interface gráfica de usuário 1000. Por exemplo, quando uma apresentação de vídeo em tela cheia associada a uma aplicação de visualização de televisão for exibida, os processos associados a uma aplicação de transmissão contínua de mídia podem ocorrer em segundo plano, de maneira tal que a aplicação de transmissão contínua de mídia permaneça em um estado que reduz o tempo de carregamento, mediante um usuário comutar para a aplicação.
[00123] A figura 13 é um diagrama conceitual que, no geral, ilustra gestos multiníveis para dentro/para fora. No exemplo ilustrado na figura 13, um gesto é distinguido com base em se o ponto inicial (por exemplo, as coordenadas de um evento de ação para baixo) está dentro ou fora da área definida pelas projeções 744. No exemplo ilustrado na figura 13, se o ponto inicial estiver fora da área, o gesto corresponde à comutação de aplicação e, se o gesto estiver dentro da área, o gesto corresponde à comutação do item de conteúdo de itens associados a uma aplicação selecionada, em que uma comutação pode ocorrer mediante um gesto exceder um limite. Deve-se notar que, em outros exemplos, outros tipos de ativações em múltiplos níveis podem ser suportados. Por exemplo, em múltiplos níveis, passadas de dedo verticais, passadas de dedo diagonais, pinças para dentro/para fora e semelhantes podem ser suportados. Adicionalmente, da forma descrita com detalhes adicionais a seguir, os gestos multiníveis podem ser habilitados ou desabilitados com base em se uma interface gráfica de usuário em particular associada a uma aplicação é exibida. Isto é, por exemplo, no caso de uma aplicação de serviço de televisão, os gestos multiníveis podem ser habilitados quando uma apresentação de vídeo em tela cheia for exibida e podem ser desabilitados quando uma guia de programação ou outra interface gráfica de usuário forem exibidos. Desta maneira, um usuário pode ser capaz de navegar uma guia de programação ou uma outra interface gráfica de usuário sem comutar involuntariamente as aplicações. Adicionalmente, no caso de uma aplicação de conteúdo sob demanda, os gestos multiníveis podem ser desabilitados quando uma apresentação de vídeo em tela cheia for exibida e podem ser habilitados quando uma interface gráfica de usuário for exibida. Desta maneira, um usuário pode ser capaz de visualizar uma interface de apresentação de vídeo sob demanda em tela cheia sem comutar involuntariamente as aplicações.
[00124] Em um exemplo, além de habilitar um usuário a realizar gestos de deslizamento horizontal para dentro e gestos de deslizamento horizontal para fora quando a janela 902 for exibida em um modo de visualização em tela cheia no visor 250 para fazer com que a funcionalidade ocorra, o dispositivo de computação 200 pode ser configurado para permitir que um usuário realize outras ativações, incluindo prover gestos adicionais para a interface de toque 706, para fazer com que funcionalidade adicional ocorra. Em um exemplo, o dispositivo de computação 200 pode ser configurado para permitir que um usuário faça com que guias sejam exibidas pela realização de um ou mais tipos de gestos adicionais. As figuras 14A-14C são diagramas conceituais que ilustram exemplos em que a interface gráfica de usuário 900 exibe um ou mais guias com base em ativações de usuário em particular. A figura 15 é um diagrama conceitual que ilustra adicionalmente os guias ilustrados nas figuras 14A-14C e correspondentes entradas de exemplo recebidas por uma interface de usuário de exemplo. Da forma ilustrada nas figuras 14A-14C, a interface gráfica de usuário 900 inclui a janela 902, da forma acima descrita, guia dinâmica 912, guia passando agora 920 e guia grade 926. Cada um da guia dinâmica 912, da guia passando agora 920 e da guia grade 926 inclui mosaicos. Os mosaicos podem ser similares às janelas acima descritas e podem incluir indicadores visuais (por exemplo, um vídeo ou uma imagem) e informação textual associada a um item de conteúdo que pode habilitar um usuário a rapidamente identificar um item de conteúdo e/ou pré-visualizar um item de conteúdo. Adicionalmente, os mosaicos podem ser associados a dados associados a um item conteúdo (por exemplo, um mosaico pode ser associado a um membro da equipe em um filme ou um gênero de um filme). Da forma descrita com detalhes a seguir, o dispositivo de computação 200 pode ser configurado para permitir que um usuário faça com que uma função associada a um mosaico ocorra fazendo com que um título fique ativo (por exemplo, fazendo com que o mosaico seja selecionado) e realizando uma ativação em particular. Adicionalmente, deve-se notar que, em alguns exemplos, a área de ícone de atalho 750, da forma acima descrita, pode incluir os ícones específicos de aplicação correspondentes aos mosaicos exibidos no visor 250 e um usuário pode fazer com que uma função associada a um mosaico ocorra pela ativação de um correspondente ícone exibido na área de ícone de atalho 750.
[00125] Da forma ilustrada na figura 15, quando um item de conteúdo associado à janela 902 for exibido em um modo de visualização em tela cheia, um usuário pode realizar gestos de passar o dedo para baixo para fazer com que a guia dinâmica 912 seja exibido. Deve-se notar que, no exemplo ilustrado na figura 15, o ponto inicial dos gestos de passar o dedo para baixo é ilustrado como dentro da projeção superior na área de navegação 740, em outros exemplos, passadas de dedo para baixo tendo outros pontos iniciais podem fazer com que a guia dinâmica 912 seja apresentado. Em um exemplo, um deslizamento para baixo iniciado em qualquer lugar na área de navegação 740 tendo uma distância mínima pode fazer com que a guia dinâmica 912 seja exibido. Em um exemplo, de uma maneira similar àquela acima descrita em relação às figuras 9B-9C, a exibição da guia dinâmica 912 pode ser com base em um limite. Isto é, por exemplo, a guia dinâmica 912 pode ser parcialmente exibida e pode tanto voltar rapidamente quanto ser exibida da forma ilustrada na figura 14A com base em se a distância deslocada por um dedo do usuário excede um limite. Em um exemplo, um limite pode ser uma distância de aproximadamente 15 - 20% do comprimento da área de navegação 740. No exemplo ilustrado na figura 14A, o tamanho da janela 902 é reduzido, se comparado com o tamanho da janela 902 exibida na figura 9A e a guia dinâmica 912 é exibido de uma maneira não sobreposta em relação à janela 902. Deve-se notar que, em outros exemplos, a guia dinâmica 912 pode ser exibida sobrepondo uma apresentação em tela cheia da janela 902.
[00126] Da forma ilustrada na figura 14A, a guia dinâmica 912 inclui os mosaicos 914a-914e e os mosaicos 916a-916c. Adicionalmente, no exemplo da figura 14A, o mosaico 914e é ilustrado como um mosaico ativo 918. Os mosaicos 914a-914e são associados a itens de conteúdo que um usuário acessou recentemente (por exemplo, recentes canais previamente sintonizados). Deve-se notar que os itens de conteúdo recentemente acessados podem ser associados a um ou mais serviços distintos (por exemplo, vários tipos de serviço de mídia). Em um exemplo, os mosaicos 914a-914e podem ser cronologicamente ordenados da direita para a esquerda, (por exemplo, o item de conteúdo associado ao mosaico 914e é o item de conteúdo mais recentemente acessado, o item de conteúdo associado ao mosaico 914d é o segundo item de conteúdo mais recentemente acessado e semelhantes). No caso em que cada um dos itens de conteúdo associado a mosaicos 914a-914e incluir canais de televisão recentemente acessados, um mínimo tempo de acesso a canal (por exemplo, 5 segundos) pode ser usado a fim de adicionar um canal no grupo de canais recentes. Em um exemplo, a guia dinâmica 912 pode ser configurada para exibir um máximo número de mosaicos correspondentes aos itens de conteúdo recentemente acessados por um usuário. Por exemplo, a guia dinâmica 912 pode ser configurada para exibir até cinco mosaicos correspondentes aos itens de conteúdo previamente acessados por um usuário. Deve-se notar que, em alguns casos, um usuário pode ter recentemente acessado menos itens de conteúdo do que o máximo número de mosaicos correspondentes a itens de conteúdo recentemente acessados que podem ser exibidos. Por exemplo, os itens de conteúdo recentemente acessados podem ser definidos de acordo com uma sessão de visualização (por exemplo, os itens de conteúdo recentemente acessados podem ser redefinidos em eventos de energização/desenergização). Neste caso, a guia dinâmica 912 pode ser configurada para exibir mosaicos adicionais associados aos itens de conteúdo em alta.
[00127] No exemplo ilustrado na figura 14A, os mosaicos 916a-916c são associados aos itens de conteúdo em alta. Em um exemplo, os itens de conteúdo em alta podem incluir os itens de conteúdo atualmente disponíveis para um usuário que são populares com um ou mais usuários de um serviço de mídia, uma rede social, um serviço de busca ou semelhantes. Por exemplo, cada um dos respectivos itens de conteúdo associados a mosaicos 916a-916d pode ser associado a um valor de ranqueamento composto por um ou mais de: o número de usuários que atualmente acessam o item de conteúdo através de um serviço de mídia, o número de comentários em mídia social (por exemplo, tweets, postagens, etc.) que referenciam o item de conteúdo em um intervalo de tempo passado, e o número de consultas de busca relacionadas ao item de conteúdo em um intervalo de tempo passado. Em um exemplo, o valor de ranqueamento pode ser referido como um valor de zumbido. Um exemplo de um valor de zumbido é descrito no Pedido de Patente norte americano comumente atribuído atualmente pendente 14/260.677, depositado em 24 de abril de 2014, que é incorporado pela referência em sua íntegra. Adicionalmente, deve-se notar que os itens de conteúdo associados aos mosaicos 916a-916d podem incluir os itens de conteúdo disponíveis com base sob demanda.
[00128] No exemplo ilustrado na figura 14A, com base na disponibilidade de recursos de sintonia (por exemplo, número de sintonizadores e/ou número de fluxos contínuos de mídia que podem ser simultaneamente acessados), os mosaicos 914a-914e e os mosaicos 916a- 916c podem incluir uma placa de imagem associada a um item de conteúdo ou uma apresentação de vídeo associada a um item de conteúdo. Em um exemplo, o mosaico ativo 918 pode incluir uma apresentação de vídeo e os outros mosaicos podem incluir uma placa de imagem. Em um exemplo, um usuário pode fazer com que o mosaico ativo 918 altere pela realização de gestos de deslizamento horizontal. Em um exemplo, os gestos de deslizamento horizontal para dentro/para fora em múltiplos níveis podem ser habilitados quando a guia dinâmica 912 for exibida. Neste caso, um gesto de deslizamento horizontal para dentro pode corresponder à alteração do mosaico ativo 918 e um gesto de deslizamento horizontal para fora pode corresponder à comutação de aplicação, como exposto. Em um outro exemplo, os gestos de deslizamento horizontal para dentro/para fora em múltiplos níveis podem ser desabilitados quando a guia dinâmica 912 for exibido. Neste caso, tanto os gestos de deslizamento horizontal para dentro quanto os gestos de deslizamento horizontal para fora podem corresponder à alteração do mosaico ativo 918.
[00129] Da forma acima descrita, no exemplo em que a interface de usuário 700 é implementada usando o dispositivo de computação 790, além de um usuário prover entrada pela realização de gestos usando a área de navegação 740, um usuário pode realizar um único clique ou uma ativação por múltiplos cliques fazendo com que o comutador 787 seja ativado. Em um exemplo, o dispositivo de computação 200 pode ser configurado de maneira tal que um usuário que realiza as ativações por clique direcionais faça com que um mosaico se torne o mosaico ativo 918. Por exemplo, em relação à figura 14A, mediante um usuário realizar três subsequentes ativações por clique para a esquerda, o mosaico 914b pode se tornar o mosaico ativo 918. Adicionalmente, em um exemplo, o dispositivo de computação 200 pode ser configurado de maneira tal que, mediante um usuário realizar uma única ativação por clique OK, um item de conteúdo associado ao mosaico ativo 918 pode ficar associado à janela 902. Isto é, uma apresentação de vídeo associada a um item de conteúdo associado ao mosaico ativo 918 pode ser exibida na janela 902. Em um exemplo, a janela 902 pode permanecer do tamanho ilustrado na figura 14A, mediante uma única ativação por clique OK. Em um outro exemplo, a janela 902 pode ser apresentada em um modo de visualização em tela cheia, da forma ilustrada na figura 9A, mediante uma única ativação por clique OK. Desta maneira, no caso de um serviço de televisão, uma única ativação por clique OK, quando a guia dinâmica 912 for exibida, pode corresponder a uma função de alteração de canal. Adicionalmente, deve-se notar que o item de conteúdo associado à janela 902 antes da única ativação por clique OK pode ser adicionado em uma lista de itens de conteúdo recentemente acessados e apresentado como um mosaico em guia dinâmica 912.
[00130] Em um exemplo, além de uma única ativação por clique OK quando a guia dinâmica 912 for exibida fazendo com que um item de conteúdo associado ao mosaico ativo 918 fique associado à janela 902, o dispositivo de computação 200 pode ser configurado de maneira tal que uma ativação por clique duplo OK possa fazer com que uma interface gráfica de usuário que provê mais informação para um item de conteúdo associado ao mosaico ativo 918 seja exibida. Um exemplo de uma interface gráfica de usuário que provê mais informação para um item de conteúdo é ilustrado nas figuras 16A-16F e, em alguns exemplos, ele pode ser referido como uma interface gráfica de usuário do cartão de mídia. Deve-se notar que, em um exemplo, uma ativação por clique duplo OK pode fazer com que um item de conteúdo associado ao mosaico ativo 918 seja associado à janela 902 e uma única ativação por clique OK pode fazer com que um cartão de mídia seja exibido. Em um exemplo, um usuário pode ser capaz para alterar a respectiva funcionalidade associada a uma única ativação por clique OK e uma ativação por clique duplo OK (por exemplo, pela alteração de uma definição usando uma interface gráfica de usuário do menu). Adicionalmente, deve-se notar que, em alguns exemplos, além das, ou como uma alternativa às, ativações por clique, toques suaves na área de navegação 740, incluindo, por exemplo, toques suaves de botão OK 742, podem fazer com que as funções associadas a mosaico ativo 918 ocorram. Desta maneira, a interface gráfica de usuário 900, da forma ilustrada na figura 14A, e a interface de usuário 700 podem habilitar que um usuário selecione um item de conteúdo. Em um exemplo, quando a interface gráfica de usuário 900 exibida na figura 14A for apresentada, um usuário pode fazer com que a interface gráfica de usuário 900 exibida na figura 9A seja apresentada pela realização de um subsequente deslizamento para baixo, um deslizamento para cima e/ou uma outra ativação correspondente a uma função de saída (por exemplo, ativação de um correspondente botão virtual).
[00131] Novamente em relação ao exemplo ilustrado na figura 15, quando um item de conteúdo associado à janela 902 for exibido em um modo de visualização em tela cheia, um usuário pode realizar um movimento de passar o dedo para cima para fazer com que a guia passando agora 920 seja exibido. Da forma adicionalmente ilustrada na figura 15, um subsequente movimento de passar o dedo para cima quando a guia passando agora 920 for exibida pode fazer com que a guia grade 926 seja exibido. Cada um da guia passando agora 920 e da guia grade 926 pode corresponder a itens de conteúdo correspondentes a eventos. Isto é, a disponibilidade dos itens de conteúdo associados ao guia passando agora 920 e ao guia grade 926 pode ser com base em uma hora e data (por exemplo, os itens de conteúdo podem corresponder a uma difusão sobre o ar ou semelhantes). Deve-se notar que, em um exemplo, um único deslizamento para cima que excede um limite pode fazer com que a guia grade 926 seja exibido. Em um exemplo, um deslizamento para cima tendo uma distância de aproximadamente 15 - 20% do comprimento da área de navegação 740 pode fazer com que a guia passando agora 920 seja exibido e um deslizamento para cima tendo uma distância de aproximadamente 50% do comprimento da área de navegação 740 pode fazer com que a guia grade 926 seja exibido. Deve-se notar que, de uma maneira similar àquela acima descrita em relação ao guia dinâmica 912, a exibição da guia passando agora 920 e/ou da guia grade 926 pode ser com base em um limite. Isto é, por exemplo, a guia passando agora 920 pode ser parcialmente exibida e pode tanto volta rápida quanto ser exibida da forma ilustrada na figura 14B com base em se o movimento do dedo de um usuário excede um limite.
[00132] Da forma ilustrada na figura 14B, o guia passando agora 920 inclui os mosaicos 924a-924f, em que o mosaico 924c é um mosaico ativo 922. Adicionalmente, da forma ilustrada na figura 14C, quando o guia grade 926 for exibido, o guia passando agora 920 é incluído como uma linha da guia grade 926. Os mosaicos 924a-924f podem ser similares aos mosaicos 914a- 914e acima descritos. Adicionalmente, o mosaico ativo 922 pode ser similar ao mosaico ativo 918 acima descrito. Isto é, um usuário pode realizar os gestos de deslizamento horizontal e/ou ativações por clique direcionais para fazer com que o mosaico ativo 922 altere e pode realizar ativações adicionais, por exemplo, ativações por clique OK, como exposto, para fazer com que as funções associadas a mosaico ativo 922 ocorram. Adicionalmente, deve-se notar que, em um exemplo, um usuário pode realizar gestos de deslizamento vertical para fazer com que os itens de conteúdo diferentes dos itens de conteúdo associados a mosaicos na guia passando agora se tornem selecionados. Por exemplo, em relação à figura 14C, em um exemplo, um usuário pode realizar um gesto de deslizamento para cima para fazer com que os itens de conteúdo associados a 23:00 sejam associados aos mosaicos 924a- 924f. Isto é, um usuário pode rolar em relação à guia grade 926. Adicionalmente, em um exemplo, um usuário pode realizar passadas de dedo diagonais para rolar através de canais e horários simultaneamente.
[00133] Em um exemplo, os gestos de deslizamento horizontal quando a guia passando agora 920 for exibida podem ser distinguidos com base na velocidade na qual um usuário realiza um deslizamento, em que a velocidade pode ser determinada por eventos de movimento. Por exemplo, um deslizamento relativamente lento pode fazer com que a distância que o usuário move um dedo ao longo da área de navegação 740 corresponda a uma alteração linear no mosaico ativo 922 e um deslizamento relativamente rápido pode fazer com que a distância que o usuário move um dedo ao longo da área de navegação 740 corresponda a uma alteração exponencial no mosaico ativo 922. Por exemplo, um lento deslizamento horizontal para a esquerda pode fazer com que um dos mosaicos 924a-924b se torne o mosaico ativo 922 para um deslizamento tendo uma distância de 0% até 50% da largura da área de navegação 740 e um rápido deslizamento horizontal para a esquerda tendo uma distância de 0% até 50% da largura da área de navegação 740 pode corresponder a uma seleção de um de qualquer número de itens de conteúdos (por exemplo, 20 - 100 itens de conteúdo). Por exemplo, se o mosaico 924c for associado ao canal 120 em uma listagem de televisão, um rápido deslizamento horizontal para a esquerda pode habilitar que um usuário faça com que o canal 70 se torne o mosaico ativo. Da forma descrita com detalhes adicionais a seguir, as imagens associadas a itens de conteúdo podem ser submetidas a cache com base na probabilidade de que um usuário realize um gesto que irá fazer com que um mosaico seja exibido. Desta maneira, a interface gráfica de usuário 900, da forma ilustrada nas figuras 14B-14C, e a interface de usuário 700 podem habilitar que um usuário navegue pelo item de conteúdo tendo um tempo de apresentação. Deve-se notar que, em um exemplo, o mosaico ativo 922 pode permanecer em uma posição central, por exemplo, a posição ilustrada na figura 14C, à medida que um usuário realiza as passadas de dedo para navegar a guia grade 926.
[00134] Da forma acima descrita, em relação à guia dinâmica 912, mediante um usuário realizar as respectivas ativações por clique OK ou semelhantes, um item de conteúdo associado ao mosaico ativo 918 pode ser apresentado na janela 902 ou uma correspondente interface gráfica de usuário do cartão de mídia pode ser apresentada. As funções similares podem ser realizadas para um item de conteúdo associado ao mosaico ativo 922, mediante um usuário realizar as ativações por clique ou semelhantes. As figuras 17A-17B são diagramas conceituais que ilustram as interfaces gráficas de usuário ilustradas nas figuras 16A-16F e correspondentes entradas de exemplo recebidas por uma interface de usuário de exemplo. Da forma ilustrada nas figuras 16A-16F, além de incluir os mosaicos 924b-924d, a interface gráfica de usuário 950 inclui o mosaico ativo 952, a informação de descrição 960, a informação de crítica 962, o ícone assistir 964, o ícone gravar 966, o ícone mais 968, os mosaicos 970a-970e, os mosaicos 972a-972g, os mosaicos 974a-974g, os mosaicos 976a-976g, a informação de membro da equipe 980, o ícone adicionar como favorito 982 e o ícone gravar automaticamente 984. O exemplo ilustrado nas figuras 16A-16F representa um exemplo em que um usuário realiza um gesto de deslizamento contínuo para cima e/ou múltiplos subsequentes gestos de deslizamento para cima usando a área de navegação 740, desse modo, fazendo com que a interface gráfica de usuário 950 role verticalmente. Deve-se notar que, em outros exemplos, outros tipos de ativações de operação de rolar podem ser usados (por exemplo, a ativação dos botões de seta de navegação 531 ou as teclas de seta em software). Da forma ilustrada nas figuras 16A-16F, à medida que a interface gráfica de usuário 950 rola, os respectivos mosaicos ou ícones podem ficar ativos. Isto é, o mosaico 924c fica ativo na figura 16A, o ícone assistir 964 fica ativo na figura 16B, o mosaico 970c fica ativo na figura 16C, o mosaico 972d fica ativo na figura 16D, o mosaico 974d fica ativo na figura 16E, e o ícone adicionar como favorito 982 fica ativo na figura 16F. Mediante um usuário realizar uma única ativação por clique OK ou uma ativação por múltiplos cliques OK, como exposto, ou uma outra ativação (por exemplo, toques suaves do botão OK 742, ativações do botão de seleção 532, etc.), uma função correspondente a um ícone ativo pode ocorrer ou uma apresentação correspondente a um item de conteúdo associado a um mosaico ativo pode ocorrer. Adicionalmente, quando um ícone ou um mosaico em uma linha em particular fica ativo, um usuário pode fazer com que o mosaico ativo 952 altere pela realização de gestos de deslizamento horizontal. Em um exemplo, os gestos de deslizamento horizontal para dentro/para fora em múltiplos níveis podem ser habilitados quando a interface gráfica de usuário 950 for exibida. Em um outro exemplo, os gestos de deslizamento horizontal para dentro/para fora em múltiplos níveis podem ser desabilitados quando a interface gráfica de usuário 950 for exibida.
[00135] Da forma ilustrada nas figuras 16A-16F e na figura 17A, o tamanho dos mosaicos na interface gráfica de usuário 950 altera com base na posição dos mosaicos em relação ao centro vertical do visor 250. Em um exemplo, de uma maneira similar àquela acima descrita em relação à figura 10 e à figura 11, o movimento dos mosaicos e a alteração do tamanho dos mosaicos podem ser sincronizados com o movimento do dedo de um usuário na área de navegação 740. Adicionalmente, uma linha em particular dos mosaicos pode se mover rapidamente para o centro vertical do visor 250 com base no movimento do dedo do usuário exceder um limite. Desta maneira, um usuário pode pré-visualizar os itens de conteúdo associados a uma linha de mosaicos adjacente a uma linha de mosaicos atualmente selecionada antes de fazer com que a linha de mosaicos adjacente se mova para o centro vertical do visor 250.
[00136] Em relação à figura 16A, a informação de descrição 960 e a informação de crítica 962 correspondem ao item de conteúdo associado a mosaico 924c (isto é, Marvel’s Agents of the S.H.I.E.L.D.). A informação de descrição 960 provê a informação que habilita que um usuário determine se um item de conteúdo é de interesse. No exemplo ilustrado na figura 16A, a informação de descrição 960 inclui uma sinopse de enredo, informação de gênero, classificação de conteúdo, tempo de apresentação de conteúdo, informação de vídeo e áudio do conteúdo e informação do serviço de formação de legenda. A informação de crítica 962 inclui a informação em relação à qualidade subjetiva do item de conteúdo. No exemplo ilustrado na figura 16A, a informação de crítica 960 inclui um número de estrelas em uma escala de cinco estrelas, que pode ser com base na realimentação provida por usuários de um serviço de mídia, e críticas providas a partir de páginas da Internet de distribuição de conteúdo para página da Internet (por exemplo, da página da Internet Rotten Tomatoes e da página da Internet Flixster). Em outros exemplos, a informação de crítica 960 pode incluir a informação de crítica proveniente de outras origens. Em um exemplo, o dispositivo de computação 200 pode ser configurado para permitir que um usuário selecione as origens da informação de crítica que serão incluídas na interface gráfica de usuário 950 (por exemplo, pela alteração de uma definição que usa uma interface gráfica de usuário do menu). No exemplo ilustrado na figura 16A, o mosaico 924c é um mosaico ativo 952. Em um exemplo, o dispositivo de computação 200 pode ser configurado de maneira tal que, mediante um usuário realizar uma única ativação por clique OK, o item de conteúdo associado a mosaico 924c seja apresentado em um modo de visualização em tela cheia. De uma maneira similar àquela acima descrita em relação à figura 14C, um usuário pode realizar gestos de deslizamento horizontal rápidos ou lentos a fim de fazer com que um outro mosaico se torne o mosaico selecionado.
[00137] No exemplo ilustrado na figura 16B, o ícone assistir 964 fica ativo. Em um exemplo, quando o ícone assistir 964 ficar ativo, mediante um usuário realizar uma única ativação por clique OK, o item de conteúdo associado a mosaico 924c pode ser apresentado em um modo de visualização em tela cheia. Em um exemplo, um usuário pode realizar os gestos de deslizamento horizontal a fim de fazer com que o ícone gravar 966 ou o ícone mais 968 fiquem ativos. Adicionalmente, em um exemplo, um usuário pode realizar as ativações por clique direcionais a fim de fazer com que o ícone gravar 966 ou o ícone mais 968 fiquem ativos. O ícone gravar 966 pode ser configurado para permitir que um usuário faça com que um item de conteúdo associado a mosaico 924c seja armazenado em um dispositivo de armazenamento (por exemplo, uma unidade de disco de um PVR), mediante ativação. Em um exemplo, uma interface gráfica de usuário intermediária que habilita que um usuário altere e/ou confirme as definições de gravação pode ser apresentada. O ícone mais 968 pode ser configurado para fazer com que a informação adicional associada a um item de conteúdo associado ao mosaico 924c seja apresentada no visor 250, mediante ativação. Em um exemplo, a informação adicional pode incluir a informação disponível por uma página da Internet de distribuição de conteúdo para página da Internet. Por exemplo,uma página da Internet associada ao item de conteúdo associado a mosaico 924c pode ser recuperada e apresentada.
[00138] Em relação às figuras 16A-16D, os itens de conteúdo associados a mosaicos 970a-970e representam outros episódios de uma série de televisão associada ao mosaico 924c. Isto é, por exemplo, o mosaico 924c pode representar um episódio que está atualmente disponível através de uma transmissão sobre o ar e os mosaicos 970a-970e podem representar episódios que foram previamente ao ar ou que irão ao ar. No exemplo ilustrado na figura 16C, o mosaico 970c é um mosaico ativo 952. Em um exemplo, o dispositivo de computação 200 pode ser configurado de maneira tal que, mediante um usuário realizar uma única ativação por clique OK, ou semelhantes, o item de conteúdo associado a mosaico 970c pode ser apresentado em um modo de visualização em tela cheia. De uma maneira similar àquela acima descrita em relação à figura 16B, um usuário pode realizar um gesto de deslizamento horizontal a fim de fazer com que um outro dos mosaicos 970-970e se torne o mosaico selecionado 952. Deve-se notar que, no caso em que um episódio representar um episódio que irá ao ar em uma data futura (por exemplo, episódio da próxima semana), mediante um usuário realizar uma única ativação por clique OK, ou semelhantes, uma interface gráfica de usuário que inclui informação adicional sobre o episódio em particular pode ser exibida. Em relação às figuras 16C-16E, os mosaicos 972a-972g podem ser similares aos mosaicos 970a-970e. No exemplo ilustrado nas figuras 16C-16E, os mosaicos 972a-972g representam os itens de conteúdo que são relacionados ao item de conteúdo associado a mosaico 924. Por exemplo, os itens de conteúdo associados a mosaicos 972a-972g podem ser de um tipo de gênero similar ao item de conteúdo associado a mosaico 924. Um ou mais algoritmos podem ser usados para definir tipos similares de itens de conteúdo. Os mosaicos 972a-972g podem ser ativados de uma maneira similar à ativação dos mosaicos 970-970e acima descritos. Isto é, por exemplo, mediante um usuário realizar uma ativação por clique OK, ou semelhantes, o item de conteúdo associado a mosaico 972d pode ser apresentado em um modo de visualização em tela cheia ou uma interface gráfica de usuário que inclui informação adicional pode ser exibida.
[00139] Em relação às figuras 16D-16F, os mosaicos 974a-974g representam elenco e membros da equipe associados ao item de conteúdo associado a mosaico 924. Os mosaicos 974a-974g podem ser ativados de uma maneira similar à ativação dos mosaicos 970a-970e acima descritos. No exemplo ilustrado na figura 16E, o mosaico 974d é o mosaico selecionado 952. Em um exemplo, mediante um usuário realizar uma única ativação por clique OK, ou semelhantes, a informação adicional associada ao membro da equipe associado a mosaico 974d é apresentada no visor 250. Em um exemplo, a informação disponível por uma página da Internet de distribuição de conteúdo para página da Internet pode ser recuperada e apresentada, por exemplo, uma página da Internet associada ao membro da equipe pode ser recuperada e apresentada.
[00140] No exemplo ilustrado na figura 16F, o ícone adicionar como favorito 982 fica ativo. Em um exemplo, quando o ícone adicionar como favorito 982 ficar ativo, mediante um usuário realizar uma única ativação por clique OK, os itens de conteúdo associados ao membro da equipe associado a mosaico 974d podem ser apresentados para um usuário. Por exemplo, os itens de conteúdo associados a membros da equipe favoritos podem ser destacados na guia grade 926 ou podem ser apresentados para um usuário através de uma ou mais outras interfaces gráficas de usuário (por exemplo, notificações em pop-up, etc.). Adicionalmente, em um exemplo, os membros da equipe favoritos podem ser armazenados como parte de um perfil de usuário. Adicionalmente, um usuário pode realizar os gestos de deslizamento horizontal, ou as ativações por clique direcionais, em um exemplo, a fim de fazer com que o ícone gravar automaticamente 984 fique ativo. O ícone gravar automaticamente 984 pode ser configurado para permitir que um usuário faça com que os itens de conteúdo associados ao membro da equipe sejam armazenados em um dispositivo de armazenamento, mediante ativação. Da forma adicionalmente ilustrada na figura 16F, a informação de membro da equipe 980 pode ser exibida (por exemplo, informação biográfica). Desta maneira, a interface gráfica de usuário 950, da forma ilustrada nas figuras 16A-16F, e a interface de usuário 700 podem habilitar que um usuário visualize a informação adicional associada a um item de conteúdo em particular e pode habilitar que um usuário encontre itens de conteúdo adicionais associados ao item de conteúdo em particular.
[00141] Da forma acima descrita, a interface gráfica de usuário 950 pode ser exibida mediante um usuário fazer com que o guia passando agora 920 ou o guia grade 926 sejam apresentados quando um modo de visualização em tela cheia for exibido e realizar adicionalmente uma ativação de um mosaico ativo em uma guia. Em alguns casos, um usuário pode desejar retornar para o modo de visualização em tela cheia quando a interface gráfica de usuário 950 for exibida. A figura 17B ilustra um exemplo de um gesto específico que um usuário pode realizar a fim de fazer com que visor 250 retorne para um modo de visualização em tela cheia. Em alguns casos, o gesto ilustrado na figura 17B pode fazer com que a funcionalidade similar à funcionalidade associada à ativação do botão sair 537 ocorra e, como tal, em alguns casos, pode ser referida como um gesto de saída. No exemplo ilustrado na figura 17B, um gesto de deslizamento horizontal para a esquerda tendo um ponto inicial de fora da projeção superior e da projeção direita na área de navegação 740 é ilustrado. Em um exemplo, um gesto de deslizamento horizontal para a esquerda tendo um ponto inicial de fora da projeção superior e da projeção direita na área de navegação 740 tendo uma distância de aproximadamente 15 - 20% do comprimento de área de navegação 740 pode fazer com que um modo de visualização em tela cheia seja exibido. Deve-se notar que, em outros exemplos, outros pontos e direções iniciais (por exemplo, passadas de dedo diagonais) podem ser correspondentes a um gesto de saída.
[00142] Da forma acima descrita em relação à figura 11, quando a interface gráfica de usuário 900, da forma ilustrada na figura 9A for apresentada no visor 250, um usuário pode realizar um gesto de deslizamento para fora a fim de fazer com que uma aplicação comute de uma aplicação de visualização de televisão para um portal sob demanda. As figuras 18A-18B ilustram uma interface gráfica de usuário de exemplo associada a um portal sob demanda. No exemplo ilustrado nas figuras 18A-18B, a interface gráfica de usuário 1100 inclui os mosaicos 1102a-1102e, os mosaicos 1104a-1104e e a informação de classificação 1106. No exemplo ilustrado nas figuras 18A- 18B, os mosaicos 1102a-1102e são associados a categorias de itens de conteúdo, que podem incluir gêneros, e semelhantes, e os mosaicos 1104a- 1104e são associados a itens de conteúdo em uma categoria.
[00143] Em relação à figura 18A, o mosaico localizado no centro da interface gráfica de usuário 1100 é um mosaico ativo. De uma maneira similar àquela acima descrita em relação à interface gráfica de usuário 900 e à interface gráfica de usuário 950, um usuário pode fazer com que um dos mosaicos 1102a-1102e fique ativo pela realização de um gesto de deslizamento horizontal relativamente rápido ou um gesto de deslizamento horizontal relativamente lento. Deve-se notar que os mosaicos adicionais associados ao gênero podem ser exibidos no visor 250 em resposta a um gesto de deslizamento horizontal. Por exemplo, pode haver dúzias de gêneros disponíveis e a interface gráfica de usuário 1100 pode exibir cinco mosaicos associados a gênero de uma só vez. Adicionalmente, de uma maneira similar àquela acima descrita em relação às figuras 16A-16F, um usuário pode realizar os gestos de deslizamento para cima e os gestos de deslizamento para baixo a fim de fazer com que uma linha de mosaicos fique posicionada no centro vertical do visor 250. No exemplo ilustrado na figura 18A, mediante um usuário realizar um gesto de deslizamento para baixo, uma linha de mosaicos associada a itens de conteúdo populares pode ficar posicionada no centro vertical do visor. Em um exemplo, os itens de conteúdo populares podem ser com base em um valor de ranqueamento de uma maneira similar aos itens de conteúdo em alta que são associados a um valor de ranqueamento, como exposto. Adicionalmente, no exemplo ilustrado na figura 18A, mediante um usuário realizar um gesto de deslizamento para cima, uma linha de mosaicos associados às categorias de rede de televisão pode ser posicionada no centro vertical do visor. Desta maneira, a interface gráfica de usuário 1100 habilita que um usuário navegue as categorias de itens de conteúdo, bem como os itens de conteúdo, usando os gestos de deslizamento horizontal e os gestos de deslizamento vertical.
[00144] O dispositivo de computação 200 pode ser configurado de maneira tal que, mediante um usuário realizar uma ativação por clique OK, ou semelhantes, como exposto, quando um dos mosaicos 1102a-1102e ficar ativo, ou um outro mosaico associado a uma categoria ficar ativo, correspondentes mosaicos associados a itens de conteúdo em uma categoria de gênero são exibidos. A interface gráfica de usuário 1100 exibida na figura 18B representa um exemplo em que um usuário realiza uma ativação por clique OK, ou semelhantes, quando o mosaico 1102c ficar ativo. Isto é, os itens de conteúdo associados a mosaicos 1104a-1104e estão no gênero Ação & Aventura. Um usuário pode fazer com que um dos mosaicos 1104a-1104e (ou mosaicos não atualmente exibidos) fique ativo pela realização de gestos de deslizamento horizontal. Quando um mosaico ficar ativo, a informação de classificação 1106 correspondente ao item de conteúdo associado ao mosaico ativo é exibida. A informação de classificação 1106 pode ser similar à informação de classificação 962 acima descrita. Adicionalmente, os mosaicos 1104a-1104e podem ser ativados de uma maneira similar à ativação dos mosaicos 970a-970e acima descritos. Isto é, por exemplo, mediante um usuário realizar uma ativação por clique OK, ou semelhantes, o item de conteúdo associado a mosaico 1104c pode ser apresentado em um modo de visualização em tela cheia ou uma interface gráfica de usuário que inclui a informação adicional pode ser exibida. Em um exemplo, uma interface gráfica de usuário que habilita que um usuário adquira acesso a um item de conteúdo pode ser exibida.
[00145] Da forma ilustrada na figura 18B “Voltar para Gêneros” é exibido no topo da interface gráfica de usuário 1100 e “Navegar por Rede” é exibido na base da interface gráfica de usuário 1100. Desta maneira, em um exemplo, mediante um usuário realizar um gesto de deslizamento para baixo, a interface gráfica de usuário 1100, da forma ilustrada na figura 18A, pode ser exibida e, mediante um usuário realizar um gesto de deslizamento para cima, a interface gráfica de usuário 1100 pode exibir uma linha de mosaicos associados a redes de televisão na posição central vertical. Isto é, os gestos de deslizamento para cima e para baixo podem habilitar que um usuário retorne para a navegação de categoria. Desta maneira, a interface gráfica de usuário 1100 e a área de navegação 740 podem ser configuradas para permitir que um usuário navegue e selecione o item de conteúdo disponível com base sob demanda usando gestos de deslizamento e ativações por clique.
[00146] Da forma acima descrita, em relação às figuras 9A-18B, quando um item de conteúdo for exibido em um modo de visualização em tela cheia, um usuário pode realizar gestos de deslizamento horizontal para dentro, gestos de deslizamento horizontal para fora, gestos de deslizamento para baixo e gestos de deslizamento para cima usando a área de navegação 740 e um dispositivo de computação que recebe cada gesto em particular pode fazer com que diferentes interfaces gráficas de usuário sejam exibidas, habilitando que um usuário navegue e selecione os itens de conteúdo disponíveis através de um ou mais de diversas aplicações, origens e/ou portais usando as ativações por clique. Assim, o dispositivo de computação 200, a interface de usuário 700, e as interfaces gráficas de usuário descritos em relação às figuras 9A-18B são configurados para permitir que um usuário navegue e selecione os itens de conteúdo disponíveis através de uma ou mais diversas aplicações, origens e/ou portais usando os gestos e as ativações por clique.
[00147] Em relação às figuras 19A-19E, o fluxograma 1900 ilustra um exemplo de como as interfaces gráficas de usuário aqui descritas podem ser apresentadas em um visor. Deve-se notar que, embora o fluxograma 1900 seja descrito em relação ao dispositivo de computação 200 e à interface de usuário 700, as técnicas descritas em relação ao fluxograma 1900 podem ser realizadas usando toda e qualquer combinação de componentes de dispositivos de computação e interfaces de usuário. Adicionalmente, deve-se notar que o fluxograma 1900 ilustra um exemplo de como as interfaces gráficas de usuário aqui descritas podem ser apresentadas em um visor, e não inclui todas as possíveis entradas de usuário que podem ser providas em combinação com as interfaces gráficas de usuário e as interfaces de usuário aqui descritas e, como tal, o fluxograma 1900 não deve ser interpretado para limitar as técnicas aqui descritas. Adicionalmente, como exposto, a interpretação se os eventos de toque correspondem a um evento de movimento e se os eventos de movimento correspondem a um gesto pode ser determinada por um dispositivo de computação e/ou um dispositivo acompanhante. Assim, as técnicas descritas em relação às figuras 19A-19E podem ser, no geral, aplicáveis independente de como o processamento (por exemplo, o tratamento do evento de toque) é distribuído entre um dispositivo de computação e um dispositivo acompanhante.
[00148] Em relação à figura 19A, o dispositivo de computação 200 renderiza uma apresentação em tela cheia de um item de conteúdo selecionado (1902). Um exemplo de uma renderização de uma apresentação em tela cheia de um item de conteúdo é ilustrado na figura 9A. Além da renderização de uma apresentação em tela cheia, o dispositivo de computação 200 realiza processos em segundo plano (1904). Os processos em segundo plano podem incluir, pelo menos, qualquer processo usado para otimizar o uso da CPU e/ou da GPU e/ou reduzir qualquer atraso percebido por um usuário que interage com as interfaces gráficas de usuário. Por exemplo, como exposto, o dispositivo de computação 200 pode ser configurado para realizar as técnicas de pré-sintonia, incluindo a simulação da reprodução de um item de conteúdo que é provável que um usuário acesse, a fim de reduzir o tempo exigido para renderizar uma apresentação de vídeo em tela cheia para um item de conteúdo e/ou manter o sincronismo com um evento. Adicionalmente, como exposto, quando uma apresentação de vídeo em tela cheia associada a uma aplicação de visualização de televisão for exibida, os processos associados a outras aplicações, incluindo as aplicações de transmissão contínua de mídia, podem ocorrer, de maneira tal que a aplicação de transmissão contínua de mídia permaneça em um estado que reduz o tempo de carregamento, mediante um usuário comutar para a aplicação (por exemplo, um usuário realizar um gesto de deslizamento para fora). Adicionalmente, como exposto, as imagens associadas a itens de conteúdo podem ser carregadas a partir de uma parte da memória de sistema 204 em uma outra parte da memória de sistema 204 (por exemplo, a partir de uma unidade de disco rígido para um cache) com base no comportamento de usuário a fim de reduzir o tempo exigido para renderizar as imagens em um visor.
[00149] A figura 20 representa um exemplo de um de uma pluralidade de processos em segundo plano que podem ser realizados pelo dispositivo de computação 200. A figura 20 ilustra um exemplo de carregamento das imagens com base no comportamento de usuário. O fluxograma 2000 ilustra um exemplo de carregamento de imagens associadas a uma interface gráfica de usuário a partir de uma parte de memória de sistema 204 em um cache. O carregamento de imagens em um cache, em alguns exemplos, pode ser referido como pré-carregamento. Em relação à figura 20, o dispositivo de computação 200 carrega zero ou mais imagens associadas a uma ou mais interfaces gráficas de usuário com base em um perfil de usuário (2002). Isto é, por exemplo, o dispositivo de computação 200 pode carregar zero ou mais imagens associadas a uma ou mais de cada uma das interfaces gráficas de usuário acima descritas em relação às figuras 9A-18B com base na informação do perfil de usuário. Deve-se notar que, em alguns exemplos, o carregamento das imagens pode incluir formatar as imagens e/ou armazenar as imagens como um elemento oculto (por exemplo, um elemento <div> em HTML) de forma que elas possam ser clonadas ou anexadas em um outro elemento. A formatação das imagens e o armazenamento das imagens como elementos ocultos podem reduzir a quantidade de tempo exigida para renderizar uma imagem em um visor.
[00150] Em um exemplo, o dispositivo de computação 200 pode pré- carregar as imagens com base na probabilidade de um usuário realizar um de um gesto de deslizamento horizontal para dentro, um gesto de deslizamento horizontal para fora, um gesto de deslizamento para baixo ou um gesto de deslizamento para cima. A probabilidade de um usuário realizar um gesto em particular pode ser com base na informação de comportamento incluída em um perfil de usuário. Por exemplo, o dispositivo de computação 200 pode determinar que é mais provável que um usuário em particular realize transições de alteração de canal antes de acessar uma guia grade com base no comportamento passado do usuário. Deve-se notar que o carregamento de imagens com base em um perfil de usuário pode incluir o carregamento de um subconjunto de imagens disponíveis em um cache e, em alguns casos, a priorização do carregamento do subconjunto de imagens. Por exemplo, o dispositivo de computação 200 pode carregar as placas de imagem e os grupos de informação para dez canais adjacentes a um canal atualmente selecionado e as imagens associadas a mosaicos de uma guia dinâmica. Cada uma das imagens pode ser priorizada de maneira tal que elas sejam carregadas em uma ordem em particular. Por exemplo, as placas de imagem e os grupos de informação para cinco canais adjacentes ao canal atualmente selecionado (por exemplo, os cinco canais de numeração mais alta) podem ser priorizados sobre imagens associadas a uma guia dinâmica, e as imagens associadas a uma guia dinâmica podem ser priorizadas sobre placas de imagem e grupos de informação para os outros cinco canais adjacentes ao canal atualmente selecionado (por exemplo, os cinco canais de numeração mais baixa). Por exemplo, como exposto, pode ser mais provável que os usuários canhotos dominantes realizem as passadas de dedo para a esquerda e, assim, mais provável que sintonizem em canais de numeração mais alta.
[00151] Em relação à figura 20, o dispositivo de computação 200 recebe uma interação de usuário inicial (2004), por exemplo, um evento de toque, um evento de movimento ou um gesto. Mediante a recepção da interação de usuário inicial, o dispositivo de computação 200 interrompe o processo de carregamento (2006). Deve-se notar que uma interação de usuário inicial pode ser recebida antes de um processo de carregamento ser completado. Por exemplo, o dispositivo de computação 200 pode receber uma interação de usuário inicial antes de ser capaz de carregar todas as placas de imagem e os grupos de informação para dez canais adjacentes a um canal atualmente selecionado (por exemplo, 3 de 10 placas de imagem e grupos de informação podem ser carregados quando uma interação de usuário inicial for recebida). A interrupção do processo de carregamento, mediante a recepção de uma interação de usuário inicial, pode otimizar os recursos de computação do dispositivo de computação 200 e, em alguns casos, pode ser necessário alcançar um nível de desempenho aceitável. Por exemplo, no evento em que uma interação de usuário inicial corresponder à comutação de uma aplicação de visualização de televisão para uma aplicação de transmissão contínua de mídia sob demanda, pode ser mais eficiente alocar recursos da CPU para o carregamento e a renderização de elementos gráficos associados à aplicação de transmissão contínua de mídia sob demanda em vez de continuar a carregar as imagens associadas à aplicação de televisão em um cache. Desta maneira, a maneira na qual as imagens são priorizadas pode alterar com base nas interações de usuário.
[00152] Novamente em relação à figura 20, depois que uma última interação de usuário for recebida, o dispositivo de computação 200 espera uma quantidade de tempo especificada (2008) antes de retornar para o processo de carregamento de imagem. Por exemplo, o dispositivo de computação 200 pode esperar aproximadamente dois segundos antes do pré- carregamento de quaisquer imagens adicionais. Esperar uma quantidade de tempo especificada pode conservar os recursos de computação. Adicionalmente, em virtude de a maneira na qual as imagens são priorizadas poder alterar com base nas interações de usuário, pode ser mais eficiente esperar depois de uma interação de usuário em particular antes do carregamento das imagens. Isto é, o dispositivo de computação 200 pode esperar até um estado relativamente estável antes do carregamento das imagens. Por exemplo, no caso em que o pré-carregamento parar quando a interface gráfica de usuário 900, da forma ilustrada na figura 9A, for exibida e um usuário prover as interações que subsequentemente fazem com que a interface gráfica de usuário 950 seja exibida, pode ser eficiente retomar o pré- carregamento depois que for determinado que é provável que um usuário continue a navegar os itens de conteúdo enquanto a interface gráfica de usuário 950 é exibida. Desta maneira, o dispositivo de computação 200 pode ser configurado para pré-carregar dinamicamente as imagens com base no comportamento de usuário. Deve-se notar que o processo ilustrado na figura 20 pode ser realizado em paralelo com o processo ilustrado nas figuras 19A- 19E.
[00153] Novamente em relação à figura 19A, o dispositivo de computação 200 determina se um deslizamento horizontal para dentro é iniciado (1906). Um exemplo de um deslizamento horizontal para dentro é ilustrado na figura 8A. Em um exemplo, o dispositivo de computação 200 pode determinar que um deslizamento horizontal para dentro é iniciado com base nos dados de evento de toque recebidos a partir de um dispositivo acompanhante e se os dados de evento de toque indicam que o movimento do dedo de um usuário excede uma distância mínima. Um exemplo de um processo que pode ocorrer ao determinar que um deslizamento horizontal para dentro é iniciado é ilustrado na figura 19B. O dispositivo de computação 200 determina se um deslizamento horizontal para fora é iniciado (1908). Um exemplo de um deslizamento horizontal para dentro é ilustrado na figura 8B. Em um exemplo, o dispositivo de computação 200 pode determinar que um deslizamento horizontal para fora é iniciado com base nos dados de evento de toque recebidos a partir de um dispositivo acompanhante. Um exemplo de um processo que pode ocorrer ao determinar que um deslizamento horizontal para fora é iniciado é ilustrado na figura 19C. O dispositivo de computação 200 determina se um deslizamento para cima é iniciado (1910). Um exemplo de um processo que pode ocorrer ao determinar que o deslizamento para cima é iniciado é ilustrado na figura 19D. O dispositivo de computação 200 determina se um deslizamento para baixo é iniciado (1912). Um exemplo de um processo que pode ocorrer ao determinar que um deslizamento para baixo é iniciado é ilustrado na figura 19E. Desta maneira, da forma ilustrada na figura 19A, o dispositivo de computação 200 renderiza uma apresentação em tela cheia e realiza os processos em segundo plano ao mesmo tempo em que determina se uma entrada de usuário em particular foi recebida por uma interface de usuário. Com base em se entradas de usuário em particular são recebidas, a apresentação em tela cheia e os processos em segundo plano podem ser atualizados. O processo ilustrado na figura 19A pode continuar por toda uma sessão de visualização (por exemplo, enquanto um usuário estiver acessando a programação de televisão através de uma aplicação de televisão).
[00154] Da forma acima descrita, um deslizamento horizontal para dentro pode corresponder à transição de alteração de canal. Ao determinar que um deslizamento horizontal para dentro é iniciado, (isto é, uma transição de alteração de canal é iniciada no exemplo ilustrado na figura 19B), o dispositivo de computação 200 determina se o deslizamento é um deslizamento para a esquerda ou um deslizamento para a direita (1914). Ao determinar que um deslizamento para a esquerda ocorre, o dispositivo de computação 200 renderiza os elementos gráficos para um canal de televisão de numeração mais alta (1916). Por exemplo, em relação à figura 9B, o item de conteúdo associado à janela 902 pode corresponder ao número de canal N e o item de conteúdo associado à janela 904 pode corresponder ao número de canal N+1. Ao determinar que um deslizamento para a direita ocorre, o dispositivo de computação 200 renderiza os elementos gráficos para um canal de televisão de numeração mais baixa (1918). Para um deslizamento tanto para a esquerda quanto para a direita, o dispositivo de computação 200 determina se um usuário continua um gesto de deslizamento de maneira tal que o gesto fique em um limite (1920). Ao determinar que um gesto está em um limite, o dispositivo de computação 200 inicia o acesso a um item de conteúdo (1922). Os exemplos de início de acesso a um item de conteúdo com base em um gesto estar em um limite são acima descritos em relação à figura 10. O dispositivo de computação 200 determina adicionalmente se um limite é excedido (1924). Ao determinar que um limite é excedido, o dispositivo de computação 200 altera um item de conteúdo selecionado (1926). Os exemplos de alteração de um item de conteúdo selecionado com base em um gesto exceder um limite são acima descritos em relação à figura 10. O dispositivo de computação 250 determina se um evento de ação para cima ocorre (1928). Isto é, o dispositivo de computação 250 determina se um usuário completa um gesto de deslizamento. Mediante um evento de ação para cima ocorrer, o dispositivo de computação 200 renderiza uma apresentação em tela cheia de um item de conteúdo selecionado. O item de conteúdo selecionado pode incluir um novo item de conteúdo com base em se o gesto de deslizamento horizontal para dentro excedeu um limite.
[00155] Da forma acima descrita, um deslizamento horizontal para fora pode corresponder a uma transição de comutação de aplicação. Ao determinar que um deslizamento horizontal para fora é iniciado (isto é, uma transição de comutação de aplicação é iniciada no exemplo ilustrado na figura 19C), o dispositivo de computação 200 renderiza os elementos gráficos para uma visualização afastada da aplicação (1930). Um exemplo de elementos gráficos que podem ser renderizados para uma visualização afastada da aplicação é ilustrado na figura 12. O dispositivo de computação 200 determina se o deslizamento é um deslizamento para a esquerda ou um deslizamento para a direita (1932). Ao determinar que um deslizamento para a esquerda ocorre, o dispositivo de computação 200 inicia o carregamento de uma aplicação N+1 (1934). Ao determinar que um deslizamento para a direita ocorre, o dispositivo de computação 200 inicia o carregamento de uma aplicação N-1 (1936). Deve-se notar que N+1 e N-1 são números relativos em relação a uma aplicação N atualmente selecionada. Por exemplo, em relação à figura 12, a aplicação associada à janela 902 pode ser a aplicação N, a aplicação associada à janela 1002c pode ser a aplicação N+1 e a aplicação associada à janela 1002b pode ser a aplicação N-1. O dispositivo de computação 200 determina se um limite é excedido (1938). Ao determinar que um limite é excedido, o dispositivo de computação 200 altera uma aplicação selecionada (1940). Os exemplos de alteração de uma aplicação selecionada com base em um gesto exceder um limite são acima descritos em relação à figura 11. O dispositivo de computação determina se um evento de ação para cima ocorre (1942). Mediante um evento de ação para cima ocorrer, o dispositivo de computação 200 renderiza uma apresentação em tela cheia de um item de conteúdo selecionado. O item de conteúdo selecionado pode incluir uma nova aplicação com base em se o gesto de deslizamento horizontal para fora excedeu um limite.
[00156] Da forma acima descrita, um deslizamento para cima pode corresponder à apresentação de uma guia passando agora e/ou uma guia grade. Ao determinar que um deslizamento para cima é iniciado (isto é, a apresentação de uma guia passando agora e/ou de uma guia grade é iniciada no exemplo ilustrado na figura 19D), o dispositivo de computação 200 renderiza uma guia passando agora (1944). Um exemplo de uma guia passando agora é ilustrado na figura 14B. O dispositivo de computação 200 determina adicionalmente se o deslizamento para cima é um deslizamento para cima contínuo (1946). Ao determinar que o deslizamento para cima é um deslizamento para cima contínuo, o dispositivo de computação 200 renderiza uma guia grade (1948). Um exemplo de uma guia grade é ilustrado na figura 14C. Da forma acima descrita em relação à figura 14B e à figura 14C, as guias podem incluir um mosaico ativo, que pode ser alterado com base na entrada de usuário. O dispositivo de computação 200 altera um mosaico ativo com base na entrada de usuário recebida (1950). Da forma adicionalmente acima descrita em relação à figura 14B e à figura 14C, enquanto um mosaico está ativo, uma ou mais ativações de usuário podem ser recebidas. O dispositivo de computação 200 determina se uma ativação por toque suave OK ocorre (1952). Ao determinar que uma ativação por toque suave OK ocorre, o dispositivo de computação 200 apresenta uma interface gráfica de usuário do cartão de mídia (1954). Um exemplo de uma interface gráfica de usuário do cartão de mídia é ilustrado nas figuras 16A-16F. O dispositivo de computação 200 determina se uma ativação por clique OK ocorre (1956). Um exemplo de uma ativação por clique OK é acima descrito em relação à figura 8C. Ao determinar que uma ativação por clique OK ocorre, o dispositivo de computação 200 altera o item de conteúdo selecionado (1958). O dispositivo de computação 200 determina se uma entrada de saída é recebida (1960). Um exemplo de uma entrada de saída é acima descrito em relação à figura 17B. Da forma ilustrada na figura 19D, ao determinar que uma ativação por clique OK ocorre ou uma entrada de saída é recebida, o dispositivo de computação 200 renderiza uma apresentação em tela cheia de um item de conteúdo selecionado. O item de conteúdo selecionado pode incluir um novo item de conteúdo com base em se uma ativação por clique OK ocorreu.
[00157] Da forma acima descrita, um deslizamento para baixo pode corresponder à apresentação de uma guia dinâmica. Ao determinar que um deslizamento para baixo é iniciado (isto é, a apresentação uma guia dinâmica é iniciada no exemplo ilustrado na figura 19E), o dispositivo de computação 200 renderiza uma guia dinâmica (1962). Um exemplo de uma guia dinâmica é acima descrito em relação à figura 14A. Da forma acima descrita em relação à figura 14A, as guias dinâmicas podem incluir um mosaico ativo, que pode ser alterado com base na entrada de usuário. O dispositivo de computação 200 altera um mosaico ativo com base na entrada de usuário recebida (1964). O dispositivo de computação 200 determina se uma ativação por toque suave OK ocorre (1966). Ao determinar que uma ativação por toque suave OK ocorre, o dispositivo de computação 200 apresenta uma interface gráfica de usuário do cartão de mídia (1968). O dispositivo de computação 200 determina se uma ativação por clique OK ocorre (1970). Ao determinar que uma ativação por clique OK ocorre, o dispositivo de computação 200 altera o item de conteúdo selecionado (1972). O dispositivo de computação 200 determina se uma entrada de saída é recebida (1974). Da forma ilustrada na figura 19E, ao determinar que uma ativação por clique OK ocorre ou uma entrada de saída é recebida, o dispositivo de computação 200 renderiza uma apresentação em tela cheia de um item de conteúdo selecionado. O item de conteúdo selecionado pode incluir um novo item de conteúdo com base em se uma ativação por clique OK ocorreu. Desta maneira, o dispositivo de computação 200 representa um exemplo de um dispositivo de computação configurado para permitir as transições entre os itens de conteúdo.
[00158] Da forma aqui descrita, em um exemplo, um método para facilitar o acesso a itens de conteúdo compreende fazer com que uma apresentação de vídeo para um item de conteúdo selecionado seja renderizada em um visor, determinar se os dados de evento de toque correspondem a uma iniciação de um gesto de deslizamento horizontal, causar uma transição do item de conteúdo selecionado para um item de conteúdo adjacente dentro de uma série ordenada de itens de conteúdo, ao determinar que os dados de evento de toque correspondem à iniciação de um gesto de deslizamento horizontal, e determinar se deve alterar o item de conteúdo selecionado para o item de conteúdo adjacente com base no fato de o gesto de deslizamento horizontal exceder um limite. Em um exemplo, determinar se os dados de evento de toque correspondem a uma iniciação de um gesto de deslizamento horizontal inclui determinar se os dados de evento de toque correspondem a um evento de movimento que excede uma distância mínima. Em um exemplo, a distância mínima é de aproximadamente 10 - 20% da largura de uma área de navegação de um painel sensível ao toque. Em um exemplo, causar uma transição do item de conteúdo selecionado para um item de conteúdo adjacente inclui fazer com que uma janela associada ao item de conteúdo adjacente seja renderizada no visor, em que a janela é dimensionada de tal modo que estenda a altura do visor e se mova no visor em conjunto com o gesto de deslizamento horizontal. Em um exemplo, a janela inclui uma placa de imagem e mover a posição da janela no visor em conjunto com o gesto de deslizamento horizontal inclui mover a placa de imagem em relação a uma distância e uma velocidade do gesto de deslizamento horizontal. Em um exemplo, a janela inclui adicionalmente um grupo de informação tendo um tamanho com base na posição da janela. Em um exemplo, causar uma transição do item de conteúdo selecionado para um item de conteúdo adjacente inclui adicionalmente iniciar o acesso ao item de conteúdo adjacente, ao determinar que o gesto de deslizamento horizontal está dentro do limite. Em um exemplo, determinar se deve alterar o item de conteúdo selecionado para o item de conteúdo adjacente com base no fato de o gesto de deslizamento horizontal exceder um limite inclui não alterar o item de conteúdo selecionado se o gesto de deslizamento horizontal não exceder o limite. Em um exemplo, determinar se deve alterar o item de conteúdo selecionado para o item de conteúdo adjacente com base no fato de o gesto de deslizamento horizontal exceder um limite inclui alterar o item de conteúdo selecionado se o gesto de deslizamento horizontal exceder o limite e, ao determinar a alteração do item de conteúdo selecionado para o item adjacente, fazer com que uma apresentação de vídeo em tela cheia para o item de conteúdo adjacente seja renderizada no visor.
[00159] Da forma aqui descrita, em um exemplo, um dispositivo para facilitar o acesso a itens de conteúdo compreende uma interface configurada para permitir a comunicação com um dispositivo acompanhante, incluindo um painel sensível ao toque, e um ou mais processadores configurados para fazer com que uma apresentação de vídeo para um item de conteúdo selecionado seja renderizada em um visor determinam se os dados de evento de toque correspondem a uma iniciação de um gesto de deslizamento horizontal que causa uma transição do item de conteúdo selecionado para um item de conteúdo adjacente dentro de uma série ordenada de itens de conteúdo, ao determinar que os dados de evento de toque correspondem à iniciação de um gesto de deslizamento horizontal e determinar se deve alterar o item de conteúdo selecionado para o item de conteúdo adjacente com base no fato de o gesto de deslizamento horizontal exceder um limite. Em um exemplo, determinar se os dados de evento de toque correspondem a uma iniciação de um gesto de deslizamento horizontal inclui determinar se os dados de evento de toque correspondem a um evento de movimento que excede uma distância mínima. Em um exemplo, a distância mínima é de aproximadamente 10 - 20% da largura de uma área de navegação do painel sensível ao toque. Em um exemplo, causar uma transição do item de conteúdo selecionado para um item adjacente inclui fazer com que uma janela associada ao item de conteúdo adjacente seja renderizada no visor, em que a janela é dimensionada de tal modo que estenda a altura do visor e se mova no visor em conjunto com o gesto de deslizamento horizontal. Em um exemplo, a janela inclui uma placa de imagem e mover a posição da janela no visor em conjunto com o gesto de deslizamento horizontal inclui mover a placa de imagem em relação a uma distância e uma velocidade do gesto de deslizamento horizontal. Em um exemplo, a janela inclui adicionalmente um grupo de informação tendo um tamanho com base na posição da janela. Em um exemplo, causar uma transição do item de conteúdo selecionado para um item de conteúdo adjacente inclui adicionalmente iniciar o acesso ao item de conteúdo adjacente, ao determinar que o gesto de deslizamento horizontal está dentro do limite. Em um exemplo, determinar se deve alterar o item de conteúdo selecionado para o item de conteúdo adjacente com base no fato de o gesto de deslizamento horizontal exceder um limite inclui não alterar o item de conteúdo selecionado se o gesto de deslizamento horizontal não exceder o limite. Em um exemplo, determinar se deve alterar o item de conteúdo selecionado para o item de conteúdo adjacente com base no fato de o gesto de deslizamento horizontal exceder um limite inclui alterar o item de conteúdo selecionado se o gesto de deslizamento horizontal exceder o limite e, ao determinar a alteração do item de conteúdo selecionado para o item adjacente, fazer com que uma apresentação de vídeo em tela cheia para o item de conteúdo adjacente seja renderizada no visor. Em um exemplo, os um ou mais processadores são adicionalmente configurados para fazer com que uma guia seja apresentada no visor, ao determinar que os dados de evento de toque correspondem a um gesto de deslizamento vertical. Em um exemplo, fazer com que uma guia seja apresentada no visor inclui fazer com que um ou mais mosaicos sejam renderizados no visor, em que cada um dos um ou mais mosaicos inclui os indicadores visuais associados a respectivos itens de conteúdo, e em que um dos um ou mais mosaicos é um mosaico ativo.
[00160] As modalidades, os módulos e as operações funcionais descritos e ainda outros, neste documento, podem ser implementados em sistema de circuitos eletrônico digital, ou em software de computador, software embarcado ou hardware, incluindo as estruturas descritas neste documento e seus equivalentes estruturais, ou em combinações de um ou mais dos mesmos. As modalidades descritas e ainda outras podem ser implementadas como um ou mais produtos de programa de computador, isto é, um ou mais módulos de instruções de programa de computador codificados em uma mídia legível por computador para execução pelo, ou para controlar a operação do, aparelho de processamento de dados. A mídia legível por computador pode ser um dispositivo de armazenamento legível por máquina, um substrato de armazenamento legível por máquina, um dispositivo de memória, uma composição de matéria que efetua um sinal propagado legível por máquina, ou uma combinação de um ou mais dos mesmos. O termo “aparelho de processamento de dados” abrange todos os aparelhos, dispositivos e máquinas para processamento de dados, incluindo, a título de exemplo, um processador programável, um computador ou múltiplos processadores ou computadores. O aparelho pode incluir, além do hardware, código que cria um ambiente de execução para o programa de computador em questão, por exemplo, código que constitui o software embarcado do processador, uma pilha de protocolo, um sistema de gerenciamento de base de dados, um sistema operacional ou uma combinação de um ou mais dos mesmos. Um sinal propagado é um sinal artificialmente gerado, por exemplo, um sinal elétrico, óptico ou eletromagnético gerado por máquina, que é gerado para codificar a informação para transmissão para o aparelho receptor adequado.
[00161] Um programa de computador (também conhecido como um programa, software, aplicação de software, script ou código) pode ser gravado em qualquer forma de linguagem de programação, incluindo linguagens compiladas ou interpretadas, e pode ser implementado em qualquer forma, incluindo como um programa independente ou como um módulo, componente, sub-rotina ou outra unidade adequada para uso em um ambiente de computação. Um programa de computador não necessariamente corresponde a um arquivo em um sistema de arquivos. Um programa pode ser armazenado em uma parte de um arquivo que mantém outros programas ou dados (por exemplo, um ou mais scripts armazenados em um documento de linguagem de marcação), em um único arquivo dedicado ao programa em questão ou em múltiplos arquivos coordenados (por exemplo, arquivos que armazenam um ou mais módulos, subprogramas ou partes de código). Um programa de computador pode ser implementado para ser executado em um computador ou em múltiplos computadores que ficam localizados em uma página da Internet ou são distribuídos através de múltiplas páginas da Internet e interconectados por uma rede de comunicação.
[00162] Os processos e os fluxos lógicos descritos neste documento podem ser realizados por um ou mais processadores programáveis que executam um ou mais programas de computador para realizar as funções pela operação nos dados de entrada e geração de saída. Os processos e os fluxos lógicos também podem ser realizados pelo, e o aparelho também pode ser implementado como o, sistema de circuitos lógico de uso especial, por exemplo, um FPGA (arranjo de porta programável no campo) ou um ASIC (circuito integrado específico de aplicação).
[00163] Os processadores adequados para a execução de um programa de computador incluem, a título de exemplo, microprocessadores de uso tanto geral quanto especial, e qualquer um ou mais processadores de qualquer tipo de computador digital. No geral, um processador irá receber as instruções e os dados provenientes de uma memória de acesso aleatório ou uma memória de acesso aleatório ou ambas. Os elementos essenciais de um computador são um processador para realizar as instruções e um ou mais dispositivos de memória para armazenar as instruções e os dados. No geral, um computador também irá incluir, ou ser operativamente acoplado para, a recepção de dados a partir de ou a transferência de dados para, ou ambos, um ou mais dispositivos de armazenamento em massa para armazenamento dos dados, por exemplo, discos magnéticos, discos magneto-ópticos ou discos ópticos. Entretanto, um computador não precisa ter tais dispositivos. A mídia legível por computador adequada para armazenar as instruções de programa de computador e os dados inclui todas as formas de memória não volátil, dispositivos de mídia e de memória, incluindo, a título de exemplo, dispositivos de memória semicondutora, por exemplo, EPROM, EEPROM, e dispositivos de memória flash; discos magnéticos, por exemplo, discos rígidos internos ou discos removíveis; discos magneto-ópticos; e discos CD-ROM e DVD-ROM. O processador e a memória podem ser complementados pelo, ou incorporados no, sistema de circuitos lógico de uso especial.
[00164] Embora este documento de patente contenha muitas especificidades, estas não devem ser interpretadas como limitações no escopo de uma invenção que é reivindicada ou do que pode ser reivindicado, mas, em vez disto, como descrições dos recursos específicos das modalidades em particular. Certos recursos que são descritos neste documento no contexto de modalidades separadas também podem ser implementados em combinação em uma única modalidade. Inversamente, vários recursos que são descritos no contexto de uma única modalidade também podem ser implementados em múltiplas modalidades separadamente ou em qualquer subcombinação adequada. Além do mais, embora os recursos possam ser acima descritos como agindo em certas combinações e ainda inicialmente reivindicados como tal, um ou mais recursos provenientes de uma combinação reivindicada podem, em alguns casos, ser cortados da combinação, e a combinação reivindicada pode ser direcionada para uma subcombinação ou uma variação de uma subcombinação. Similarmente, embora as operações sejam representadas nos desenhos em uma ordem em particular, isto não deve ser entendido como exigindo que tais operações sejam realizadas na ordem em particular mostrada ou em ordem sequencial, ou que todas as operações ilustradas sejam realizadas, para alcançar os resultados desejáveis.
[00165] Apenas uns poucos exemplos e implementações são descritos. Variações, modificações e melhorias nos exemplos e nas implementações descritos e em outras implementações podem ser feitas com base no que é descrito.

Claims (10)

1. Método para facilitar acesso a itens de conteúdo, o método incluindo: fazer (1902) com que uma apresentação de vídeo para um item selecionado de conteúdo seja renderizada em um visor; determinar (1906) se os primeiros dados de evento de toque correspondem a uma iniciação de um gesto de deslizamento horizontal para dentro iniciando com um toque inicial dentro de uma área confinada por projeções (744) em um painel de toque; fazer (1914, 1916, 1918, 1920, 1922) uma transição a partir de um item selecionado de conteúdo para um item de conteúdo adjacente dentro de um conjunto ordenado de item de conteúdo, ao determinar que os dados de evento de toque correspondem à iniciação de gesto de deslizamento para dentro; determinar (1924, 1926) se muda o item de conteúdo selecionado para o item de conteúdo adjacente com base em se o gesto de deslizamento horizontal para dentro excede um limite; determinar (1908) se os segundos dados de evento de toque correspondem a uma iniciação de um gesto de deslizamento horizontal para fora iniciando com um toque inicial fora da área confinada por projeções (744) na tela de toque; fazer (1930) uma transição de um aplicativo atual para um aplicativo diferente, ao determinar que os dados de evento de toque correspondem à iniciação do gesto de deslizamento horizontal para fora, o método caracterizado pelo fato de que a etapa de fazer uma transição do item de conteúdo selecionado a um item de conteúdo adjacente inclui: iniciar o acesso ao item de conteúdo adjacente, ao determinar que o gesto de deslizamento horizontal para dentro está dentro do limite.
2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que determinar se os primeiros dados de evento de toque correspondem à uma iniciação de um gesto de deslizamento horizontal inclui determinar se os primeiros dados de evento de toque correspondem a um evento de movimento excedendo uma distância mínima.
3. Método de acordo com a reivindicação 2, caracterizado pelo fato de que a distância mínima é de 10 a 20 % de uma largura de uma área de navegação na tela de toque.
4. Método de acordo com a reivindicação 1, caracterizado pelo fato de que fazer uma transição do item de conteúdo selecionado a um item de conteúdo adjacente inclui fazer com que uma janela associada com o item de conteúdo adjacente seja renderizada no visor, em que a janela é dimensionada de maneira que varre a altura do visor e move sobre o visor em conjunção com o gesto de deslizamento horizontal.
5. Método de acordo com a reivindicação 4, caracterizado pelo fato de que a janela inclui uma imagem plana e mover a janela sobre o visor em conjunção com o gesto de deslizamento horizontal inclui mover a placa de imagem em relação à distância e à velocidade do gesto de deslizamento horizontal.
6. Método de acordo com a reivindicação 5, caracterizado pelo fato de que inclui um grupo de informação tem um tamanho com base na posição da janela.
7. Método de acordo com a reivindicação 6, caracterizado pelo fato de que determinar se muda o item de conteúdo selecionado para o item de conteúdo adjacente com base em se o gesto de deslizamento horizontal excede um limite inclui não mudar o item de conteúdo selecionado se o gesto de deslizamento horizontal não exceder o limite.
8. Método de acordo com a reivindicação 7, caracterizado pelo fato de que determinar se muda o item de conteúdo selecionado para o item de conteúdo adjacente com base em se o gesto de deslizamento horizontal excede o limite inclui mudar o item de conteúdo selecionado se o gesto de deslizamento horizontal exceder o limite e, ao determinar a mudança do item de conteúdo selecionado para o item de conteúdo adjacente, fazer com que uma apresentação de vídeo em tela cheia para o item de conteúdo adjacente seja renderizada no visor.
9. Dispositivo para facilitar acesso de itens de conteúdo caracterizado pelo fato de que compreende:uma interface configurada para permitir comunicação com um dispositivo acompanhante incluindo um painel de toque; e um ou mais processadores configurados para realizar o método como definido na reivindicação 1.
10. Meio de armazenamento legível por computador, caracterizado pelo fato de que contém em si instruções armazenadas que, quando executadas por um computador, fazem com que o computador realize o método como definido na reivindicação 1.
BR112018013301-9A 2015-12-31 2016-12-23 Método e dispositivo para facilitar acesso a itens de conteúdo, e meio de armazenamento legível por computador BR112018013301B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/986,459 2015-12-31
US14/986,459 US20170192642A1 (en) 2015-12-31 2015-12-31 Systems and methods for enabling transitions between items of content based on swipe gestures
PCT/US2016/068555 WO2017117061A1 (en) 2015-12-31 2016-12-23 Systems and methods for enabling transitions between items of content based on swipe gestures

Publications (2)

Publication Number Publication Date
BR112018013301A2 BR112018013301A2 (pt) 2018-12-11
BR112018013301B1 true BR112018013301B1 (pt) 2023-10-24

Family

ID=57758856

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112018013301-9A BR112018013301B1 (pt) 2015-12-31 2016-12-23 Método e dispositivo para facilitar acesso a itens de conteúdo, e meio de armazenamento legível por computador

Country Status (5)

Country Link
US (1) US20170192642A1 (pt)
EP (1) EP3380916A1 (pt)
CN (1) CN108475158A (pt)
BR (1) BR112018013301B1 (pt)
WO (1) WO2017117061A1 (pt)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9591339B1 (en) 2012-11-27 2017-03-07 Apple Inc. Agnostic media delivery system
US9774917B1 (en) 2012-12-10 2017-09-26 Apple Inc. Channel bar user interface
US10200761B1 (en) 2012-12-13 2019-02-05 Apple Inc. TV side bar user interface
US9532111B1 (en) 2012-12-18 2016-12-27 Apple Inc. Devices and method for providing remote control hints on a display
US10521188B1 (en) 2012-12-31 2019-12-31 Apple Inc. Multi-user TV user interface
AU2015280256A1 (en) 2014-06-24 2016-10-13 Apple Inc. Column interface for navigating in a user interface
EP3126952B1 (en) 2014-06-24 2023-07-12 Apple Inc. Input device and user interface interactions
US9405810B2 (en) 2014-11-24 2016-08-02 Asana, Inc. Server side system and method for search backed calendar user interface
DK201670582A1 (en) 2016-06-12 2018-01-02 Apple Inc Identifying applications on which content is available
DK201670581A1 (en) 2016-06-12 2018-01-08 Apple Inc Device-level authorization for viewing content
US11966560B2 (en) 2016-10-26 2024-04-23 Apple Inc. User interfaces for browsing content from multiple content applications on an electronic device
USD875749S1 (en) * 2016-11-02 2020-02-18 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
USD835149S1 (en) * 2016-11-28 2018-12-04 Saavn Llc Display screen or portion thereof with animated graphical user interface
US10977434B2 (en) 2017-07-11 2021-04-13 Asana, Inc. Database model which provides management of custom fields and methods and apparatus therfor
US10623359B1 (en) 2018-02-28 2020-04-14 Asana, Inc. Systems and methods for generating tasks based on chat sessions between users of a collaboration environment
CN115016692A (zh) * 2018-03-01 2022-09-06 华为技术有限公司 信息显示方法、图形用户接口及终端
US11138021B1 (en) 2018-04-02 2021-10-05 Asana, Inc. Systems and methods to facilitate task-specific workspaces for a collaboration work management platform
US10613735B1 (en) 2018-04-04 2020-04-07 Asana, Inc. Systems and methods for preloading an amount of content based on user scrolling
CN109753209B (zh) * 2018-06-21 2020-05-05 北京字节跳动网络技术有限公司 一种应用程序启动方法、装置及设备
SG11202011206UA (en) 2018-05-11 2020-12-30 Beijing Bytedance Network Technology Co Ltd Interaction method, device and equipment for operable object
DK201870354A1 (en) 2018-06-03 2019-12-20 Apple Inc. SETUP PROCEDURES FOR AN ELECTRONIC DEVICE
US10785046B1 (en) 2018-06-08 2020-09-22 Asana, Inc. Systems and methods for providing a collaboration work management platform that facilitates differentiation between users in an overarching group and one or more subsets of individual users
CN109326221B (zh) * 2018-09-25 2021-09-28 上海天马微电子有限公司 显示装置和显示装置的触觉反馈显示方法
US10616151B1 (en) 2018-10-17 2020-04-07 Asana, Inc. Systems and methods for generating and presenting graphical user interfaces
US10956845B1 (en) 2018-12-06 2021-03-23 Asana, Inc. Systems and methods for generating prioritization models and predicting workflow prioritizations
US11568366B1 (en) 2018-12-18 2023-01-31 Asana, Inc. Systems and methods for generating status requests for units of work
US11113667B1 (en) 2018-12-18 2021-09-07 Asana, Inc. Systems and methods for providing a dashboard for a collaboration work management platform
US11782737B2 (en) 2019-01-08 2023-10-10 Asana, Inc. Systems and methods for determining and presenting a graphical user interface including template metrics
US10684870B1 (en) 2019-01-08 2020-06-16 Asana, Inc. Systems and methods for determining and presenting a graphical user interface including template metrics
US11204683B1 (en) 2019-01-09 2021-12-21 Asana, Inc. Systems and methods for generating and tracking hardcoded communications in a collaboration management platform
US12008232B2 (en) * 2019-03-24 2024-06-11 Apple Inc. User interfaces for viewing and accessing content on an electronic device
US11683565B2 (en) 2019-03-24 2023-06-20 Apple Inc. User interfaces for interacting with channels that provide content that plays in a media browsing application
EP3928194A1 (en) 2019-03-24 2021-12-29 Apple Inc. User interfaces including selectable representations of content items
CN114297620A (zh) 2019-03-24 2022-04-08 苹果公司 用于媒体浏览应用程序的用户界面
CN113906380A (zh) 2019-05-31 2022-01-07 苹果公司 用于播客浏览和回放应用程序的用户界面
US11863837B2 (en) 2019-05-31 2024-01-02 Apple Inc. Notification of augmented reality content on an electronic device
CN114424578B (zh) * 2019-09-12 2024-05-28 海信视像科技股份有限公司 一种视频搜索方法、控制设备及电视
US11341445B1 (en) 2019-11-14 2022-05-24 Asana, Inc. Systems and methods to measure and visualize threshold of user workload
CN110996155B (zh) * 2019-12-12 2021-05-25 北京字节跳动网络技术有限公司 视频播放页面显示方法、装置、电子设备和计算机可读介质
US11783253B1 (en) 2020-02-11 2023-10-10 Asana, Inc. Systems and methods to effectuate sets of automated actions outside and/or within a collaboration environment based on trigger events occurring outside and/or within the collaboration environment
US11599855B1 (en) 2020-02-14 2023-03-07 Asana, Inc. Systems and methods to attribute automated actions within a collaboration environment
US11843838B2 (en) 2020-03-24 2023-12-12 Apple Inc. User interfaces for accessing episodes of a content series
US11513604B2 (en) 2020-06-17 2022-11-29 Motorola Mobility Llc Selectable response options displayed based-on device grip position
US11899895B2 (en) 2020-06-21 2024-02-13 Apple Inc. User interfaces for setting up an electronic device
US11455601B1 (en) 2020-06-29 2022-09-27 Asana, Inc. Systems and methods to measure and visualize workload for completing individual units of work
US11449836B1 (en) 2020-07-21 2022-09-20 Asana, Inc. Systems and methods to facilitate user engagement with units of work assigned within a collaboration environment
US11595511B2 (en) 2020-07-30 2023-02-28 Motorola Mobility Llc Adaptive grip suppression within curved display edges
US11568339B2 (en) 2020-08-18 2023-01-31 Asana, Inc. Systems and methods to characterize units of work based on business objectives
US11769115B1 (en) 2020-11-23 2023-09-26 Asana, Inc. Systems and methods to provide measures of user workload when generating units of work based on chat sessions between users of a collaboration environment
US11405435B1 (en) 2020-12-02 2022-08-02 Asana, Inc. Systems and methods to present views of records in chat sessions between users of a collaboration environment
US11720229B2 (en) 2020-12-07 2023-08-08 Apple Inc. User interfaces for browsing and presenting content
US11934640B2 (en) 2021-01-29 2024-03-19 Apple Inc. User interfaces for record labels
US11694162B1 (en) 2021-04-01 2023-07-04 Asana, Inc. Systems and methods to recommend templates for project-level graphical user interfaces within a collaboration environment
US11676107B1 (en) 2021-04-14 2023-06-13 Asana, Inc. Systems and methods to facilitate interaction with a collaboration environment based on assignment of project-level roles
US11553045B1 (en) 2021-04-29 2023-01-10 Asana, Inc. Systems and methods to automatically update status of projects within a collaboration environment
US11803814B1 (en) 2021-05-07 2023-10-31 Asana, Inc. Systems and methods to facilitate nesting of portfolios within a collaboration environment
US11792028B1 (en) 2021-05-13 2023-10-17 Asana, Inc. Systems and methods to link meetings with units of work of a collaboration environment
US11809222B1 (en) 2021-05-24 2023-11-07 Asana, Inc. Systems and methods to generate units of work within a collaboration environment based on selection of text
JP7318796B2 (ja) * 2021-05-28 2023-08-01 日産自動車株式会社 表示制御装置及び表示制御方法
CN113313927B (zh) * 2021-05-28 2022-11-01 深圳创维-Rgb电子有限公司 一种遥控方法、遥控设备、电器系统
US11756000B2 (en) 2021-09-08 2023-09-12 Asana, Inc. Systems and methods to effectuate sets of automated actions within a collaboration environment including embedded third-party content based on trigger events
US11635884B1 (en) 2021-10-11 2023-04-25 Asana, Inc. Systems and methods to provide personalized graphical user interfaces within a collaboration environment
US11740784B1 (en) 2021-11-15 2023-08-29 Meta Platforms, Inc. Extended pull-down gesture to cache content
CN116339596A (zh) * 2021-12-24 2023-06-27 北京字节跳动网络技术有限公司 一种视频切换方法、装置、电子设备及存储介质
US20230221838A1 (en) * 2022-01-13 2023-07-13 Motorola Mobility Llc Configuring An External Presentation Device Based On User Handedness
US11726734B2 (en) 2022-01-13 2023-08-15 Motorola Mobility Llc Configuring an external presentation device based on an impairment of a user
US11997425B1 (en) 2022-02-17 2024-05-28 Asana, Inc. Systems and methods to generate correspondences between portions of recorded audio content and records of a collaboration environment
US11836681B1 (en) 2022-02-17 2023-12-05 Asana, Inc. Systems and methods to generate records within a collaboration environment
US12051045B1 (en) 2022-04-28 2024-07-30 Asana, Inc. Systems and methods to characterize work unit records of a collaboration environment based on stages within a workflow
US11863601B1 (en) 2022-11-18 2024-01-02 Asana, Inc. Systems and methods to execute branching automation schemes in a collaboration environment

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2947645B1 (fr) * 2009-07-01 2011-06-10 Coactive Technologies Inc Dispositif de commande comportant un panneau superieur mobile et des bras d'actionnement d'un interrupteur de commutation
KR20120013727A (ko) * 2010-08-06 2012-02-15 삼성전자주식회사 디스플레이장치 및 그 제어방법
JP5581904B2 (ja) * 2010-08-31 2014-09-03 日本精機株式会社 入力装置
US9465440B2 (en) * 2011-01-06 2016-10-11 Blackberry Limited Electronic device and method of displaying information in response to a gesture
US9213421B2 (en) * 2011-02-28 2015-12-15 Blackberry Limited Electronic device and method of displaying information in response to detecting a gesture
DE102011086859A1 (de) * 2011-11-22 2013-05-23 Robert Bosch Gmbh Berührungsempfindlicher Bildschirm, Verfahren zur Herstellung
US9268424B2 (en) * 2012-07-18 2016-02-23 Sony Corporation Mobile client device, operation method, recording medium, and operation system
US8954878B2 (en) * 2012-09-04 2015-02-10 Google Inc. Information navigation on electronic devices
CN104781779B (zh) * 2012-11-06 2018-06-15 诺基亚技术有限公司 用于创建针对图像的运动效果的方法和装置
KR101521996B1 (ko) * 2012-11-19 2015-05-28 (주)아이티버스 터치패드 입력장치
KR102052960B1 (ko) * 2012-11-23 2019-12-06 삼성전자주식회사 입력장치, 디스플레이장치, 디스플레이시스템 및 그 제어 방법
JP2015191467A (ja) * 2014-03-28 2015-11-02 アズビル株式会社 入力機器

Also Published As

Publication number Publication date
EP3380916A1 (en) 2018-10-03
US20170192642A1 (en) 2017-07-06
BR112018013301A2 (pt) 2018-12-11
CN108475158A (zh) 2018-08-31
WO2017117061A1 (en) 2017-07-06

Similar Documents

Publication Publication Date Title
US20210051359A1 (en) Systems and methods for enabling transitions between items of content
BR112018013301B1 (pt) Método e dispositivo para facilitar acesso a itens de conteúdo, e meio de armazenamento legível por computador
US10992995B2 (en) Systems and methods of displaying content
AU2019268123B2 (en) Systems and methods for enabling selection of available content including multiple navigation techniques
US8837919B2 (en) Information processing apparatus, information processing method, and program
US20170195734A1 (en) Systems and methods for enabling transitions between items of content based on multi-level gestures
US8522280B2 (en) Display control apparatus, display control method and communication system

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 23/12/2016, OBSERVADAS AS CONDICOES LEGAIS