BR112018003106B1 - METHOD, SYSTEM, AND MACHINE-LEADABLE NON-TRANSITORY STORAGE MEDIA TO ALLOW A USER TO MANAGE ONE CONTENT ACCESS PLAN USING MULTIPLE CONTENT SERVICES - Google Patents

METHOD, SYSTEM, AND MACHINE-LEADABLE NON-TRANSITORY STORAGE MEDIA TO ALLOW A USER TO MANAGE ONE CONTENT ACCESS PLAN USING MULTIPLE CONTENT SERVICES Download PDF

Info

Publication number
BR112018003106B1
BR112018003106B1 BR112018003106-2A BR112018003106A BR112018003106B1 BR 112018003106 B1 BR112018003106 B1 BR 112018003106B1 BR 112018003106 A BR112018003106 A BR 112018003106A BR 112018003106 B1 BR112018003106 B1 BR 112018003106B1
Authority
BR
Brazil
Prior art keywords
digital media
content items
content
user
media service
Prior art date
Application number
BR112018003106-2A
Other languages
Portuguese (pt)
Other versions
BR112018003106A2 (en
Inventor
Nandini Iyer
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
Priority claimed from US14/840,785 external-priority patent/US9883245B2/en
Application filed by Opentv, Inc filed Critical Opentv, Inc
Publication of BR112018003106A2 publication Critical patent/BR112018003106A2/en
Publication of BR112018003106B1 publication Critical patent/BR112018003106B1/en

Links

Abstract

SISTEMAS E MÉTODOS PARA PERMITIR QUE UM USUÁRIO GERE UM PLANO DE ACESSO A CONTEÚDO USANDO MÚLTIPLOS SERVIÇOS DE CONTEÚDO. Um sistema para facilitar o acesso a itens de conteúdo apresenta recomendações a um usuário. Os itens de conteúdo podem incluir filmes e programas de televisão. As recomendações podem incluir planos de acesso que especificam uma pluralidade de serviços de mídia digital, em que cada serviço de mídia digital especificado fornece disponibilidade a itens de conteúdo incluídos em um conjunto definido por usuário. Além disso, as recomendações podem ser baseadas em uma ou mais restrições definidas por usuário. As restrições definidas por usuário podem incluir um orçamento de usuário para acessar itens de conteúdo durante um períodos de tempo específico.SYSTEMS AND METHODS TO ALLOW A USER TO MANAGE A CONTENT ACCESS PLAN USING MULTIPLE CONTENT SERVICES. A system for facilitating access to content items presents recommendations to a user. Content items can include movies and television shows. Recommendations may include access plans that specify a plurality of digital media services, where each specified digital media service provides availability to content items included in a user-defined set. Additionally, recommendations can be based on one or more user-defined constraints. User-defined restrictions can include a user budget to access content items during a specific time period.

Description

CAMPO DA TÉCNICAFIELD OF TECHNIQUE

[001]A presente revelação refere-se ao campo de televisão interativa e interfaces gráficas de usuário.[001]The present disclosure relates to the field of interactive television and graphical user interfaces.

ANTECEDENTESBACKGROUND

[002]As capacidades de reprodução de mídia digital podem ser incorporadas em uma ampla gama de dispositivos, incluindo televisões digitais, incluindo as denominadas televisões “inteligentes”, decodificadores de sinais, computadores laptop ou de mesa, computadores tablet, leitores de e-books, dispositivos de gravação digital, reprodutores de mídia digital, dispositivos de videogame, câmeras digitais, telefones celulares, incluindo os denominados telefones “inteligentes” e streaming de vídeo dedicado. O conteúdo de mídia digital pode se originar de uma pluralidade de fontes, incluindo, por exemplo, provedores de televisão pelo ar, provedores de televisão por satélite, provedores de televisão a cabo e serviços de compartilhamento de mídia online, incluindo serviços de streaming e transferência de mídia online. Além disso, os dispositivos com capacidades de reprodução de mídia digital podem proporcionar a um usuário interfaces, incluindo interfaces gráficas de usuário (GUIs), que permitem que o usuário selecione um item de conteúdo.[002] Digital media playback capabilities can be incorporated into a wide range of devices, including digital televisions, including so-called "smart" televisions, set-top boxes, laptop or desktop computers, tablet computers, e-book readers , digital recording devices, digital media players, video game devices, digital cameras, cell phones, including so-called “smart” phones, and dedicated video streaming. Digital media content can originate from a variety of sources, including, for example, over-the-air television providers, satellite television providers, cable television providers and online media sharing services, including streaming and download services. of online media. In addition, devices with digital media playback capabilities may provide a user with interfaces, including graphical user interfaces (GUIs), that allow the user to select an item of content.

[003]Devido à ampla gama de conteúdo os usuários que podem acessar dispositivos com capacidades de reprodução de mídia digital, as interfaces e técnicas tradicionais atuais para organizar, classificar e exibir itens de conteúdo disponíveis podem ser inferiores às ideais. As interfaces tradicionais e as técnicas atuais podem ser inferiores às ideais quando um usuário deseja acessar um item de conteúdo de mídia digital específico a partir de uma dentre uma pluralidade de fontes potenciais.[003]Due to the wide range of content users can access devices with digital media playback capabilities, current traditional interfaces and techniques for organizing, sorting, and displaying available content items may be less than ideal. Traditional interfaces and current techniques may be less than ideal when a user wants to access a specific digital media content item from one of a multitude of potential sources.

SUMÁRIOSUMMARY

[004]O breve sumário a seguir não se destina a incluir todas as características e aspectos da presente invenção, nem implica que a invenção deve incluir todas as características e aspectos discutidos neste sumário. A presente revelação refere-se a técnicas para permitir que os usuários acessem conteúdo de mídia digital e, mais especificamente, descreve técnicas e ferramentas para permitir que um usuário acesse itens de conteúdo com eficiência. Deve ser observado que, como usado no presente documento, o termo item de conteúdo pode pelo menos incluir itens individuais de conteúdo digital (por exemplo, arquivos de vídeo, arquivos de música, imagens digitais, etc.) e coleções de itens individuais de conteúdo digital (por exemplo, uma série de televisão, um álbum de arquivos de música, um álbum de imagens digitais, etc.). Em alguns exemplos, as técnicas descritas no presente documento podem ser implementadas em um dispositivo com capacidades de reprodução de mídia digital, incluindo, por exemplo, decodificadores de sinais, televisões, computadores laptop ou de mesa, consoles de jogos, dispositivos de streaming dedicados e/ou um dispositivo complementar associado, incluindo, por exemplo, controladores remotos, computadores tablet e telefones inteligentes. Deve ser observado que, em alguns casos, as técnicas descritas no presente documento podem ser geralmente aplicáveis a dispositivos capazes de exibir interfaces gráficas de usuário e renderizar conteúdo digital.[004] The following brief summary is not intended to include all features and aspects of the present invention, nor does it imply that the invention should include all features and aspects discussed in this summary. The present disclosure relates to techniques for enabling users to access digital media content and, more specifically, describes techniques and tools for efficiently enabling a user to access items of content. It should be noted that, as used herein, the term content item can at least include individual items of digital content (eg video files, music files, digital images, etc.) and collections of individual items of content digital (for example, a television series, an album of music files, a digital picture album, etc.). In some instances, the techniques described in this document may be implemented on a device with digital media playback capabilities, including, for example, set-top boxes, televisions, laptop or desktop computers, game consoles, dedicated streaming devices, and and/or an associated companion device, including, for example, remote controllers, tablet computers and smart phones. It should be noted that, in some cases, the techniques described in this document may be generally applicable to devices capable of displaying graphical user interfaces and rendering digital content.

[005]De acordo com um exemplo da revelação, um método para facilitar o acesso a itens de conteúdo compreende apresentar uma interface gráfica de usuário que permita que um usuário estabeleça restrições em relação ao acesso a itens de conteúdo, proporcionar uma interface gráfica de usuário que permita que um usuário defina um conjunto de itens de conteúdo a partir de um conjunto de itens de conteúdo, receber um ou mais planos de acesso com base pelo menos em parte nas restrições e no conjunto de itens de conteúdo, e apresentar uma interface de usuário gráfica que permita que o usuário aceite um ou mais planos de acesso.[005]According to an example of the disclosure, a method of facilitating access to content items comprises providing a graphical user interface that allows a user to establish restrictions regarding access to content items, providing a graphical user interface that allows a user to define a set of content items from a set of content items, receive one or more access plans based at least in part on the restrictions and set of content items, and present a user interface graphical user that allows the user to accept one or more access plans.

[006]De acordo com outro exemplo da revelação, um dispositivo para facilitar o acesso a itens de conteúdo compreende um ou mais processadores configurados para apresentar uma interface gráfica de usuário que permita que um usuário estabeleça restrições em relação ao acesso a itens de conteúdo, proporcionar uma interface gráfica de usuário que permita que um usuário defina um conjunto de itens de conteúdo a partir de um conjunto de itens de conteúdo, receber um ou mais planos de acesso com base pelo menos em parte nas restrições e no conjunto de itens de conteúdo, e apresentar uma interface de usuário gráfica que permita que o usuário aceite um ou mais planos de acesso.[006]According to another example of the disclosure, a device for facilitating access to content items comprises one or more processors configured to present a graphical user interface that allows a user to establish restrictions regarding access to content items, provide a graphical user interface that allows a user to define a set of content items from a set of content items, receive one or more access plans based at least in part on restrictions and the set of content items , and present a graphical user interface that allows the user to accept one or more access plans.

[007]De acordo com outro exemplo da revelação, um aparelho para facilitar o acesso a itens de conteúdo compreende meios para apresentar uma interface gráfica de usuário que permita que um usuário estabeleça restrições em relação ao acesso a itens de conteúdo, meios para proporcionar uma interface gráfica de usuário que permita que um usuário defina um conjunto de itens de conteúdo a partir de um conjunto de itens de conteúdo, meios para receber um ou mais planos de acesso com base pelo menos em parte nas restrições e no conjunto de itens de conteúdo, e meios para apresentar uma interface de usuário gráfica que permita que o usuário aceite um ou mais planos de acesso.[007]According to another example of the disclosure, an apparatus for facilitating access to content items comprises means for presenting a graphical user interface that allows a user to establish restrictions regarding access to content items, means for providing a graphical user interface that allows a user to define a set of content items from a set of content items, means to receive one or more access plans based at least in part on restrictions and the set of content items , and means for presenting a graphical user interface that allows the user to accept one or more access plans.

[008]De acordo com outro exemplo da revelação, um meio de armazenamento legível por computador não temporário tem instruções armazenadas no mesmo que mediante execução fazem com que um ou mais processadores de um dispositivo apresentem uma interface gráfica de usuário que permita que um usuário estabeleça restrições em relação ao acesso a itens de conteúdo, proporcionem uma interface gráfica de usuário que permita que um usuário defina um conjunto de itens de conte-údo a partir de um conjunto de itens de conteúdo, receber um ou mais planos de acesso com base pelo menos em parte nas restrições e no conjunto de itens de conteúdo, e apresentem uma interface de usuário gráfica que permita que o usuário aceite um ou mais planos de acesso.[008]According to another example of the disclosure, a non-temporary computer-readable storage medium has instructions stored therein that upon execution cause one or more processors of a device to present a graphical user interface that allows a user to establish restrictions on access to content items, provide a graphical user interface that allows a user to define a set of content items from a set of content items, receive one or more access plans based on least in part on the restrictions and set of content items, and present a graphical user interface that allows the user to accept one or more access plans.

[009]Os detalhes de um ou mais exemplos são apresentados nos desenhos em anexo e na descrição a seguir. Outros recursos, objetivos e vantagens se tornarão evidentes a partir da descrição e desenhos, e a partir das reivindicações.[009] Details of one or more examples are shown in the attached drawings and in the following description. Other features, purposes, and advantages will become apparent from the description and drawings, and from the claims.

BREVE DESCRIÇÃO DOS DESENHOSBRIEF DESCRIPTION OF THE DRAWINGS

[010]A Figura 1 é um diagrama de blocos que ilustra um exemplo de um sistema que pode implementar uma ou mais técnicas desta revelação.[010] Figure 1 is a block diagram illustrating an example of a system that can implement one or more techniques of this disclosure.

[011]A Figura 2A é um diagrama de blocos que ilustra um exemplo de um dispositivo de computação que pode implementar uma ou mais técnicas desta revelação.[011] Figure 2A is a block diagram illustrating an example of a computing device that can implement one or more techniques of this disclosure.

[012]A Figura 2B é um diagrama conceitual que ilustra um exemplo de um dispositivo de entrada/saída que pode implementar uma ou mais técnicas desta revelação.[012] Figure 2B is a conceptual diagram illustrating an example of an input/output device that can implement one or more techniques of this disclosure.

[013]A Figura 3 é um diagrama de fluxo de comunicação conceitual que ilustra um método exemplificativo para permitir que um usuário acesse itens de conteúdo de acordo com uma ou mais técnicas desta revelação.[013] Figure 3 is a conceptual communication flow diagram illustrating an exemplary method for allowing a user to access content items in accordance with one or more techniques of this disclosure.

[014]A Figura 4 é um diagrama conceitual que ilustra uma interface gráfica de usuário exemplificativa que pode implementar uma ou mais técnicas desta revelação.[014] Figure 4 is a conceptual diagram illustrating an exemplary graphical user interface that can implement one or more techniques of this disclosure.

[015]As Figuras 5A a 5B são diagramas conceituais que ilustram uma interface gráfica de usuário exemplificativa que pode implementar uma ou mais técnicas desta revelação.[015] Figures 5A to 5B are conceptual diagrams illustrating an exemplary graphical user interface that can implement one or more techniques of this disclosure.

[016] A Figura 6A a 6B são diagramas conceituais que ilustram uma interface gráfica de usuário exemplificativa que pode implementar uma ou mais técnicas desta revelação.[016] Figure 6A to 6B are concept diagrams illustrating an exemplary graphical user interface that can implement one or more techniques of this disclosure.

[017]A Figura 7 é um diagrama conceitual que ilustra uma interface gráfica de usuário exemplificativa que pode implementar uma ou mais técnicas desta revelação.[017] Figure 7 is a conceptual diagram illustrating an exemplary graphical user interface that can implement one or more techniques of this disclosure.

[018]A Figura 8 é um diagrama conceitual que ilustra uma interface gráfica de usuário exemplificativa que pode implementar uma ou mais técnicas desta revelação.[018] Figure 8 is a conceptual diagram illustrating an exemplary graphical user interface that can implement one or more techniques of this disclosure.

DESCRIÇÃO DETALHADADETAILED DESCRIPTION

[019]Sistemas e métodos para permitir que um usuário acesse itens de conteúdo são descritos no presente documento. Algumas modalidades se estendem a um meio legível por máquina que incorpora instruções que, quando executadas por uma máquina, fazem com que a máquina execute uma ou mais das metodologias descritas no presente documento. Outros recursos se tornarão evidentes nos desenhos em anexo e a partir da descrição detalhada a seguir. Exemplos meramente tipificam possíveis variações. Exceto onde explicitamente indicado em contrário, os componentes e 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 descrição a seguir, para propósitos de explicação, vários detalhes específicos são apresentados para fornecer um entendimento completo das modalidades exemplificativas. Entretanto, será evidente para um versado na técnica que o presente assunto pode ser praticado sem esses detalhes específicos.[019]Systems and methods for allowing a user to access content items are described in this document. Some embodiments extend to a machine-readable medium that embodies instructions that, when executed by a machine, cause the machine to execute one or more of the methodologies described herein. Other features will become evident from the attached drawings and from the detailed description that follows. Examples merely typify possible variations. Except where explicitly stated otherwise, components and functions are optional and may be combined or subdivided, and operations may vary in sequence or may be combined or subdivided. In the following description, for purposes of explanation, several specific details are presented to provide a complete understanding of the exemplary embodiments. However, it will be apparent to one skilled in the art that the present subject can be practiced without these specific details.

[020]Dispositivos com capacidades de reprodução de mídia digital podem permitir que um usuário acesse itens de conteúdo de diversas fontes. Por exemplo, dispositivos com capacidades de reprodução de mídia digital, incluindo, por exemplo, televisões, decodificadores de sinais, computadores laptop ou de mesa, computadores tablet, dispositivos de videogames, telefones inteligentes e dispositivos de strea-ming de vídeo dedicados podem permitir que um usuário acesse conteúdo de mídia digital através de um ou mais serviços de conteúdo de mídia digital. Exemplos de serviços de conteúdo de mídia digital incluem serviços de streaming, serviços de televisão e combinações dos mesmos. Exemplos comerciais atuais de serviços de streaming incluem serviços de streaming disponíveis junto à Amazon.com®, Inc., Crackle®, Inc., Hulu®, LLC, Netflix®, Inc. e VUDU®, Inc. Exemplos de combinações de serviços de televisão e streaming comerciais atuais incluem serviços disponíveis junto à Comcast® Corporation, DirecTV®, LLC e Home Box Office®, Inc. Deve ser observado que, como usado no presente documento, o termo serviços de conteúdo de mídia digital pode incluir serviços gratuitos disponíveis (por exemplo, um serviço de suporte publicitário), serviços disponíveis em troca de uma taxa recorrente (por exemplo, uma taxa de assinatura mensal), serviços disponíveis em uma base de pagamento por utilização (por exemplo, uma taxa para acessar um item de conteúdo específico) e/ou combinações dos mesmos. Além disso, como usado no presente documento, os serviços de mídia digital podem se referir a qualquer serviço que forneça aos usuários acesso a conteúdo de mídia digital, independentemente de um mecanismo de distribuição específico.[020] Devices with digital media playback capabilities may allow a user to access content items from multiple sources. For example, devices with digital media playback capabilities, including, for example, televisions, set-top boxes, laptop or desktop computers, tablet computers, video game devices, smart phones and dedicated video streaming devices may allow a user accesses digital media content through one or more digital media content services. Examples of digital media content services include streaming services, television services and combinations thereof. Current commercial examples of streaming services include streaming services available from Amazon.com®, Inc., Crackle®, Inc., Hulu®, LLC, Netflix®, Inc. and VUDU®, Inc. Examples of current commercial television and streaming service combinations include services available from Comcast® Corporation, DirecTV®, LLC and Home Box Office®, Inc. It should be noted that, as used herein, the term digital media content services can include services available free of charge (e.g. an advertising support service), services available for a recurring fee (e.g. a monthly subscription), services available on a pay-as-you-go basis (eg, a fee to access a specific content item), and/or combinations thereof. Additionally, as used herein, digital media services can refer to any service that provides users with access to digital media content, regardless of a specific delivery mechanism.

[021]A disponibilidade de itens de conteúdo específicos e o custo para acessar itens de conteúdo específicos variam para os respectivos serviços de mídia digital. Por exemplo, um provedor de televisão a cabo pode fornecer um acesso de usuário a um filme (por exemplo, através de uma rede de provedores de televisão e/ou a Internet) durante um período de 24 horas por um custo de $ 5,99, um serviço de streaming pode fornecer um acesso de usuário ao mesmo filme durante um período de 24 horas por um custo de $ 3,99, esses exemplos podem ser chamados de acessibilidade de pagamento por utilização. Além disso, um serviço de streaming baseado em assinatura pode proporcionar a um usuário acesso ilimitado ao mesmo filme como parte de uma taxa de assinatura mensal (por exemplo, $ 9,99), um serviço de streaming com suporte publicitário pode proporcionar a um usuário acesso ilimitado a uma versão de qualidade mais baixa do mesmo filme, incluindo interrupções comerciais gratuitas e/ou outro serviço pode não proporcionar a um usuário acesso ao filme. Deve ser observado que em alguns exemplos, um provedor de serviços pode proporcionar a um usuário serviços de streaming em uma base à la carte. Ou seja, por exemplo, um provedor de serviços pode permitir que um usuário se inscreva em um ou mais serviços de streaming afiliados a uma rede de televisão (ou seja, “canal").[021]The availability of specific content items and the cost to access specific content items vary for respective digital media services. For example, a cable television provider may provide a user access to a movie (eg, through a network of television providers and/or the Internet) over a 24-hour period for a cost of $5.99. , a streaming service can provide a user access to the same movie over a 24 hour period for a cost of $3.99, these examples can be called pay-per-use accessibility. In addition, a subscription-based streaming service may provide a user with unlimited access to the same movie as part of a monthly subscription fee (e.g., $9.99), an advertising-supported streaming service may provide a user with unlimited access to a lower quality version of the same film, including free commercial interruptions, and/or another service may not provide a user with access to the film. It should be noted that in some instances, a service provider may provide a user with streaming services on an à la carte basis. That is, for example, a service provider may allow a user to subscribe to one or more streaming services affiliated with a television network (i.e., "channel").

[022]Os serviços de mídia digital podem incluir os respectivos mecanismos de pesquisa. Ou seja, por exemplo, os serviços de mídia digital podem incluir um site da web que permite que um usuário busque itens de conteúdo disponíveis através daquele serviço específico. Para que um usuário determine a disponibilidade e a acessibilidade de um item de conteúdo específico através de múltiplos serviços, um usuário pode realizar pesquisas sobre o item de conteúdo específico usando os respectivos mecanismos de pesquisa disponíveis em sites da web mantidos por provedores de serviços. A realização de múltiplas pesquisas, dessa maneira, pode ser demorada e inconveniente para um usuário. Além disso, a disponibilidade de itens de conteúdo específicos varia em uma base frequente. Ou seja, por exemplo, um item de conteúdo pode estar disponível através de um serviço durante um período de tempo limitado. Dessa forma, em alguns casos, para que um usuário determine precisamente a disponibilidade e acessibilidade de um item de conteúdo específico através de múltiplos serviços, um usuário pode precisar realizar múltiplas pesquisas usando um navegador da web em uma base mensal ou diária.[022]Digital media services may include the respective search engines. That is, for example, digital media services may include a website that allows a user to search for content items available through that specific service. In order for a user to determine the availability and accessibility of a specific content item across multiple services, a user may perform searches on the specific content item using the respective search engines available on web sites maintained by service providers. Performing multiple searches in this way can be time consuming and inconvenient for a user. Additionally, the availability of specific content items varies on a frequent basis. That is, for example, a content item may be available through a service for a limited period of time. Thus, in some cases, in order for a user to accurately determine the availability and accessibility of a specific content item across multiple services, a user may need to perform multiple searches using a web browser on a monthly or daily basis.

[023]Deve ser observado que alguns sites da web podem proporcionar resultados da pesquisa agregados para múltiplos serviços de mídia digital. Ou seja, os sites podem apresentar resultados de pesquisa combinados de múltiplos mecanismos de pesquisa de serviços em resposta a uma consulta de um item de conteúdo. Um exemplo comercial de um site da web, incluindo resultados de pesquisa agregados, inclui o site da web FlixsterTM mantido pela Flixster, Inc. Embora esses sites da web possam economizar o tempo de usuário permitindo que um usuário evite inserir um termo de pesquisa em múltiplos sites da web, os sites da web atuais que agregam resultados de pesquisa são inferiores ao ideal. Por exemplo, em alguns casos, dispositivos com capacidades de reprodução de mídia digital podem permitir que um usuário acesse serviços usando os respectivos aplicativos dedicados e podem não suportar capacidades de navegação na web completa. Ou seja, um site com capacidades de pesquisa agregados pode não ser totalmente acessível em um dispositivo que tem capacidades de reprodução de mídia digital. Além disso, devido às mudanças frequentes na disponibilidade de conteúdo, conforme descrito acima, para que um usuário determine precisamente a disponibilidade e acessibilidade de um item de conteúdo específico em múltiplos serviços, um usuário ainda pode precisar fazer pesquisas em uma base frequente.[023] It should be noted that some websites may provide aggregated search results for multiple digital media services. That is, sites may display combined search results from multiple search engine services in response to a query for a content item. A commercial example of a website, including aggregated search results, includes the FlixsterTM website maintained by Flixster, Inc. While these websites can save the user time by allowing a user to avoid entering a search term across multiple websites, today's websites that aggregate search results are less than ideal. For example, in some cases, devices with digital media playback capabilities may allow a user to access services using their dedicated applications and may not support full web browsing capabilities. That is, a site with added search capabilities may not be fully accessible on a device that has digital media playback capabilities. Additionally, due to frequent changes in content availability as described above, in order for a user to accurately determine the availability and accessibility of a specific content item across multiple services, a user may still need to perform searches on a frequent basis.

[024]Pode ser desejável que um usuário de um dispositivo que tem capacidades de reprodução de mídia digital programe e/ou planeje como acessar itens de conteúdo específicos durante um determinado período de tempo. Por exemplo, todas as noites de sexta-feira durante um mês, um usuário pode desejar assistir a um filme selecionado a partir de um conjunto de filmes que interessam a um usuário (por exemplo, novos lançamentos, ação/aventura, diretor preferido, indicados ao Oscar, etc.). Por exemplo, um usuário pode desejar assistir a quatro dos 17 Indicados ao Oscar de Melhor Fotografia de 2014 e 2015 durante um mês (por exemplo, um, toda sexta-feira à noite). Conforme descrito acima, pode ser difícil e demorado para um usuário determinar com precisão a disponibilidade e acessibilidade de um item de conteúdo espe-cífico em vários serviços usando técnicas atuais. Além disso, pode ser ainda mais difícil e demorado para um usuário determinar a disponibilidade e acessibilidade de itens de conteúdo específicos dentro de um conjunto definido de itens de conteúdo através de vários serviços usando técnicas atuais.[024] It may be desirable for a user of a device that has digital media playback capabilities to schedule and/or plan how to access specific content items during a certain period of time. For example, every Friday night for a month, a user might want to watch a movie selected from a pool of movies that a user is interested in (e.g., new releases, action/adventure, preferred director, nominees to the Oscars, etc.). For example, a user might want to watch four of the 17 Best Cinematography Oscar Nominees from 2014 and 2015 during a month (for example, one every Friday night). As described above, it can be difficult and time-consuming for a user to accurately determine the availability and accessibility of a specific content item across multiple services using current techniques. Furthermore, it can be even more difficult and time consuming for a user to determine the availability and accessibility of specific content items within a defined set of content items across multiple services using current techniques.

[025]Além disso, um usuário pode ter uma ou mais restrições em relação ao acesso a itens de conteúdo específicos dentro de um conjunto definido de itens de conteúdo. Por exemplo, um usuário pode ter um orçamento limitado para acessar itens de conteúdo (por exemplo, $ 9,99 por mês), um usuário pode ter preferências de programação (por exemplo, deseja assistir vários filmes durante um feriado prolongado) e/ou um usuário pode priorizar determinados itens de conteúdo dentro do conjunto definido de itens de conteúdo superiores a outros (por exemplo, tem preferência pelos Indicados ao Oscar de Melhor Fotografia mais recentes). Os sistemas e técnicas descritos no presente documento podem permitir que um usuário defina um conjunto de itens de conteúdo, estabeleça restrições em relação ao acesso a itens de conteúdo e receba um ou mais planos de acesso ao conteúdo. Os sistemas e técnicas descritos no presente documento podem aprimorar as técnicas implementadas por computador atuais para acessar itens de conteúdo apresentando informações de modo mais eficiente a um usuário e/ou mais permitindo de modo mais eficiente que um usuário forneça informações a um sistema de computação.[025]In addition, a user may have one or more restrictions regarding access to specific content items within a defined set of content items. For example, a user may have a limited budget to access content items (eg, $9.99 per month), a user may have programming preferences (eg, wants to watch multiple movies over a long holiday), and/or a user may prioritize certain content items within the defined set of content items over others (eg, have a preference for the most recent Best Picture Oscar Nominees). The systems and techniques described in this document may allow a user to define a set of content items, set restrictions on access to content items, and receive one or more content access plans. The systems and techniques described herein can improve on current computer-implemented techniques for accessing content items by more efficiently presenting information to a user and/or more efficiently allowing a user to provide information to a computing system.

[026]A Figura 1 é um diagrama de blocos que ilustra um exemplo de um sistema que pode implementar uma ou mais técnicas descritas nesta revelação. O sistema 100 pode ser configurado para permitir que um usuário acesso itens de conteúdo de acordo com as técnicas descritas no presente documento. No exemplo ilustrado na Figura 1, o sistema 100 inclui um ou mais dispositivos de computação 102A a 102N, rede de comunicação 104, site de provedor de serviços de televisão 110, um ou mais sites de provedor de serviços de mídia 118A a 118N, site de distribuição de conteúdo de página da web 120, site de distribuição de aplicativos 122, agregador de pesquisa 124, e mecanismo assistente de conteúdo 126. 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 por um processador. Os servidores podem incluir um ou mais processadores e uma pluralidade de dispositivos de memória internos e/ou externos. Exemplos de dispositivos de memória incluem servidores de arquivos, servidores de protocolo de transferência de arquivos (FTP), dispositivos de armazenamento conectado à rede (NAS), unidades de disco locais, ou qualquer outro tipo de dispositivo ou meio de armazenamento capaz de armazenar dados. Os meios de armazenamento podem incluir discos Blu-ray, DVDs, CD-ROM, memória flash ou qualquer outro meio de armazenamento digital adequado. Quando as técnicas descritas no presente documento forem parcialmente implementadas no software, um dispositivo pode armazenar instruções para o software em um meio legível por computador não temporário adequado e executar as instruções em hardware usando um ou mais processadores.[026] Figure 1 is a block diagram illustrating an example of a system that can implement one or more techniques described in this disclosure. System 100 may be configured to allow a user to access content items in accordance with techniques described herein. In the example illustrated in Figure 1, system 100 includes one or more computing devices 102A to 102N, communication network 104, television service provider site 110, one or more media service provider site 118A to 118N, site web page content delivery engine 120, application delivery site 122, search aggregator 124, and content assist engine 126. The system 100 may include software modules that operate on one or more servers. Software modules can be stored in memory and executed by a processor. Servers can include one or more processors and a plurality of internal and/or external memory devices. Examples of memory devices include file servers, file transfer protocol (FTP) servers, network attached storage (NAS) devices, local disk drives, or any other type of device or storage medium capable of storing data. . Storage media may include Blu-ray discs, DVDs, CD-ROM, flash memory or any other suitable digital storage medium. When the techniques described herein are partially implemented in software, a device may store instructions for the software on a suitable non-temporary computer-readable medium and execute the instructions in hardware using one or more processors.

[027]O Sistema 100 representa um exemplo de um sistema que pode ser configurado para permitir que conteúdo digital, como, por exemplo, música, vídeos, imagens, páginas da web, mensagens, comunicação de voz e aplicativos, seja distribuído e acessado por uma pluralidade de dispositivos da computação, como dispositivos de computação 102A a 102N. No exemplo ilustrado na Figura 1, os dispositivos de computação 102A a 102N podem incluir qualquer dispositivo configurado para transmitir dados e/ou receber dados de rede de comunicação 104. Por exemplo, os dispositivos de computação 102A a 102N podem ser equipados para comunicação com fio e/ou sem fio e podem incluir decodificadores de sinais, registros de vídeo digital, televisões, computadores desktop, laptop, ou tablet, consoles de jogo, dispositivos móveis, incluindo, por exemplo, telefones “inteligentes”, telefones celulares e dispositivos de jogos pessoais. Deve ser observado que, embora o exemplo do sistema 100 seja ilustrado como tendo sites distintos, tal ilustração serve para propósitos descritivos e não limita o sistema 100 a uma arquitetura física específica. As funções do sistema 100 e sites incluídos no mesmo podem ser executados usando qualquer combinação de implementações de hardware, firmware e/ou software.[027] System 100 represents an example of a system that can be configured to allow digital content, such as music, videos, images, web pages, messages, voice communication and applications, to be distributed and accessed by a plurality of computing devices such as computing devices 102A to 102N. In the example illustrated in Figure 1, computing devices 102A to 102N can include any device configured to transmit data and/or receive data from communication network 104. For example, computing devices 102A to 102N can be equipped for wired communication and/or wireless and may include set-top boxes, digital video recordings, televisions, desktop, laptop, or tablet computers, game consoles, mobile devices, including, for example, “smart” phones, cell phones, and gaming devices personal. It should be noted that although the example system 100 is illustrated as having distinct sites, such illustration is for descriptive purposes and does not limit system 100 to a specific physical architecture. System 100 functions and sites included therein may be executed using any combination of hardware, firmware and/or software implementations.

[028]A rede de comunicação 104 pode compreender qualquer combinação de meio de comunicação sem fio e/ou com fio. A rede de comunicação 104 pode incluir cabos coaxiais, cabos de fibra óptica, cabos de par trançado, transmissores e receptores sem fio, roteadores, chaves, repetidores, estações de base ou qualquer outro equipamento que possa ser útil para facilitar a comunicação entre vários dispositivos e sites. A rede de comunicação 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ções padronizados. Exemplos de protocolos de telecomunicação padronizados incluem padrões de Difusão de Vídeo Digital (DVB), padrões do Comitê de Sistemas de Televisão Avançados (ATSC), padrões de Difusão Digital de Serviços Integrados (ISDB), padrões de Especificação de Interface de Serviço de Dados a Cabo (DOCSIS), padrões de Comunicação Móvel de Sistema Global (GSM), padrões de acesso múltiplo por divisão de código (CDMA), padrões de Projeto de Parceria de 3a Geração (3GPP), padrões do Instituto Europeu de Normas de Telecomunicações (ETSI), padrões de Protocolo de Internet (IP), padrões de Protocolo de Aplicativo Sem Fio (WAP) e padrões IEEE, como , por exemplo, um ou mais padrões incluídos na família de padrões IEEE 802.[028] The communication network 104 may comprise any combination of wireless and/or wired communication means. Communication network 104 may include coaxial cables, fiber optic cables, twisted pair cables, wireless transmitters and receivers, routers, switches, repeaters, base stations, or any other equipment that may be useful in facilitating communication between various devices. and websites. Communication network 104 may operate under a combination of one or more telecommunication protocols. Telecommunications protocols may include proprietary aspects and/or may include standardized telecommunications protocols. Examples of standardized telecommunication protocols include Digital Video Broadcasting (DVB) standards, Advanced Television Systems Committee (ATSC) standards, Integrated Services Digital Broadcasting (ISDB) standards, Data Service Interface Specification Cable (DOCSIS), Global System Mobile Communications (GSM) standards, Code Division Multiple Access (CDMA) standards, 3rd Generation Partnership Project (3GPP) standards, European Telecommunications Standards Institute (ETSI) standards ), Internet Protocol (IP) standards, Wireless Application Protocol (WAP) standards, and IEEE standards, such as one or more standards included in the IEEE 802 family of standards.

[029]Conforme ilustrado na Figura 1, redes de tipos diferentes podem ser definidas dentro da rede de comunicação 104. As redes podem ser definidas de acordo com aspectos físicos e/ou lógicos. Por exemplo, as redes que compartilham a mesma infraestrutura física (por exemplo, cabos coaxiais) podem ser distinguidos com base em um tipo de serviço primário (por exemplo, acesso à página da web ou serviço de televisão) ou protocolos de comunicação (por exemplo, IP/TCP ou MPEG-TS). No exemplo ilustrado na Figura 1, a rede de comunicação 104 inclui rede de provedores de televisão 106 e rede pública 108. Deve ser observado que, embora a rede de provedores 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 aspectos físicos e/ou lógicos.[029] As illustrated in Figure 1, networks of different types can be defined within the communication network 104. The networks can be defined according to physical and/or logical aspects. For example, networks that share the same physical infrastructure (e.g. coaxial cables) can be distinguished on the basis of a primary service type (e.g. web page access or television service) or communication protocols (e.g. , IP/TCP or MPEG-TS). In the example illustrated in Figure 1, the communication network 104 includes the television provider network 106 and the public network 108. It should be noted that although the television provider network 106 and the public network 108 are illustrated as distinct, the television provider 106 and public network 108 may share physical and/or logical aspects.

[030]A rede de provedores de televisão 106 é um exemplo de uma rede configurada para proporcionar a um usuário serviços de televisão. Por exemplo, a rede de provedores de televisão 106 podem incluir redes públicas de televisão pelo ar, redes de provedores de serviços de televisão por satélite públicos ou baseados em assinatura, e redes de provedores de televisão a cabo públicas ou baseadas em assinatura. Deve ser observado que, embora em alguns exemplos, a rede de provedores de televisão 106 pode ser principalmente usada para fornecer serviços de televisão, a rede de provedores de televisão 106 também pode fornecer outros tipos de dados e serviços de acordo com qualquer combinação dos protocolos de telecomunicações descritos no presente documento.[030] The television provider network 106 is an example of a network configured to provide a user with television services. For example, television provider network 106 may include public over-the-air television networks, public or subscription-based satellite television service provider networks, and public or subscription-based cable television provider networks. It should be noted that, although in some examples, the television provider network 106 may be used primarily to provide television services, the television provider network 106 may also provide other types of data and services according to any combination of the protocols. telecommunications described in this document.

[031]A rede pública 108 é um exemplo de uma rede baseada em pacote, como uma rede local, uma rede de longa distância, ou uma rede global, como a Internet, configurada para proporcionar a um usuário serviços baseados em World Wide Web. A rede pública 108 pode ser configurada para operar de acordo com padrões de Protocolo de Internet (IP). Deve ser observado que, embora em alguns exemplos, a rede pública 108 possa ser principalmente usada para proporcionar acesso a páginas da web de hipertexto, a rede pública 108 também pode fornecer outros tipos de conteúdo de mídia de acordo com qualquer combinação do protocolo de telecomunicações descrito no presente documento.[031] Public network 108 is an example of a packet-based network, such as a local area network, a wide area network, or a global network, such as the Internet, configured to provide a user with World Wide Web-based services. Public network 108 may be configured to operate in accordance with Internet Protocol (IP) standards. It should be noted that while in some instances public network 108 may be primarily used to provide access to hypertext web pages, public network 108 may also provide other types of media content in accordance with any combination of telecommunications protocol. described in this document.

[032]Com referência novamente à Figura 1, o site de provedor de serviço de televisão 110 pode ser configurado para fornecer dispositivos de computação 102A a 102N com serviço de televisão. Por exemplo, o site de 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 por satélite e pode ser configurado para fornecer serviços de televisão a televisões analógicas e/ou digitais e decodificadores de sinais. No exemplo ilustrado na Figura 1, o site de provedor de serviço de televisão 110 inclui um mecanismo de distribuição no ar 112 e mecanismo sob demanda 114. O mecanismo de distribuição no ar 112 pode ser configurado para receber uma pluralidade de feeds no ar e distribuir os feeds para os dispositivos de computação 102A a 102N através da rede de provedores de televisão 106. Por exemplo, o mecanismo de distribuição no ar 112 pode ser configurado para receber uma ou mais difusões de televisão pelo ar através de um enlace ascendente/enlace descendente e distribuir as difusões de televisão pelo ar para um ou mais usuários de um serviço de televisão a cabo baseado em assinatura.[032] Referring again to Figure 1, the television service provider site 110 may be configured to provide computing devices 102A to 102N with television service. For example, television service provider site 110 may include a public broadcast station, a cable television provider, or a satellite television provider and may be configured to provide television services to analog and/or digital televisions. and signal decoders. In the example illustrated in Figure 1, the television service provider site 110 includes an on-air distribution mechanism 112 and an on-demand mechanism 114. The on-air distribution mechanism 112 may be configured to receive a plurality of on-air feeds and distribute feeds to computing devices 102A to 102N via television provider network 106. For example, on-air distribution mechanism 112 may be configured to receive one or more over-the-air television broadcasts via an uplink/downlink and distributing over-the-air television broadcasts to one or more users of a subscription-based cable television service.

[033]O mecanismo sob demanda 114 pode ser configurado para acessar uma biblioteca de conteúdo multimídia e distribuir conteúdo multimídia para um ou mais dispositivos de computação 102A a 102N através da rede de provedores de televisão 106. Por exemplo, o mecanismo sob demanda 114 pode acessar conteúdo multimídia (por exemplo, música, filmes e programas de TV) armazenado em um banco de dados multimídia 116A e proporcionar a um assinante de um serviço de televisão a cabo filmes em uma base Pay Per View (PPV). Por exemplo, um usuário pode adquirir acesso a um item de conteúdo durante um período limitado (por exemplo, acesso durante 24 a um filme por $4,99). O banco de dados multimídia 116A pode incluir dispositivos de armazenamento configurados para armazenar conteúdo multimídia. Deve ser observado que o conteúdo multimídia acessado através do mecanismo sob demanda 114 também pode estar situado em vários locais dentro do sistema 100 (por exemplo, distribuição ponto a ponto).[033] The on-demand mechanism 114 can be configured to access a library of multimedia content and distribute multimedia content to one or more computing devices 102A to 102N through the network of television providers 106. For example, the on-demand mechanism 114 can accessing multimedia content (e.g., music, movies and TV shows) stored in a multimedia database 116A and providing a subscriber to a cable television service with movies on a Pay Per View (PPV) basis. For example, a user may purchase access to an item of content for a limited period of time (for example, 24-hour access to a movie for $4.99). Multimedia database 116A may include storage devices configured to store multimedia content. It should be noted that multimedia content accessed through the on-demand mechanism 114 may also be located at various locations within the system 100 (eg, peer-to-peer distribution).

[034]Os sites provedores de serviços de mídia 118A a 118N representam exemplos de provedores de serviços multimídia. Os sites de provedores de serviços de mídia 118A a 118N podem ser configurados para acessar uma biblioteca de conteúdo multimídia e distribuir conteúdo multimídia para um ou mais dispositivos de computação 102A a 102N através da rede pública 108. Por exemplo, os sites de provedores de serviços de mídia 118A a 118N podem acessar multimídia (por exemplo, música, filmes e programas de TV) armazenada em bancos de dados multimídia 116B a 116N e fornecer multimídia a um usuário de um serviço de mídia. Os bancos de dados multimídia 116A a 116N podem incluir dispositivos de armazenamento configurados para armazenar conteúdo multimídia. Em um exemplo, um site de provedores de serviços de mídia pode ser configurado para fornecer conteúdo a um ou mais dispositivos de computação 102A a 102N usando o pacote de protocolo de Internet. Em alguns exemplos, um serviços de mídia pode ser chamado de um serviço de streaming. Exemplos comerciais de serviços de streaming são descritos acima e também podem incluir serviços de streaming baseados em rede de televisão (por exemplo, filmes disponíveis a partir de um site da web Tuner através de uma assinatura de televisão a cabo). Conforme descrito acima, a rede de provedores de televisão 106 e a rede pública 108 podem compartilhar aspectos físicos e lógicos. Dessa forma, o conteúdo acessado por um ou mais dispositivos de computação 102A a 102N através de um site de provedores de serviços de mídia 118A a 118N pode ser transmitido através de componentes físico de rede de provedores de televisão 106. Por exemplo, um usuário de um dos dispositivos de computação 102A a 102N pode acessar a Internet e conteúdo multimídia fornecido por um serviço de mídia através de um modem a cabo conectado a uma rede coaxial mantida por um provedor de televisão a cabo. Ademais, conforme descrito acima, um serviço de mídia pode estar associado a um mecanismo de pesquisa. Dessa forma, em um exemplo, os sites de provedores de serviços de mídia 118A a 118N podem incluir os respectivos mecanismos de pesquisa permitindo que um usuário pesquisa itens de conteúdo disponíveis em bancos de dados de multimídia 116B a 116N.[034] Media service provider sites 118A to 118N represent examples of multimedia service providers. Media service provider sites 118A to 118N may be configured to access a library of multimedia content and distribute multimedia content to one or more computing devices 102A to 102N over public network 108. For example, service provider sites media 118A to 118N can access multimedia (eg, music, movies and TV shows) stored in multimedia databases 116B to 116N and provide multimedia to a user of a media service. Multimedia databases 116A to 116N may include storage devices configured to store multimedia content. In one example, a media service provider site may be configured to deliver content to one or more computing devices 102A to 102N using Packet Internet Protocol. In some examples, a media service might be called a streaming service. Commercial examples of streaming services are described above and may also include television network-based streaming services (eg, movies available from a Tuner website through a cable television subscription). As described above, the television provider network 106 and the public network 108 may share physical and logical aspects. In this way, content accessed by one or more computing devices 102A to 102N through a media service provider site 118A to 118N can be transmitted through physical network components of television provider 106. For example, a user of one of the computing devices 102A to 102N can access the Internet and multimedia content provided by a media service through a cable modem connected to a coaxial network maintained by a cable television provider. Furthermore, as described above, a media service can be associated with a search engine. Thus, in one example, media service provider websites 118A to 118N may include respective search engines allowing a user to search for available content items in multimedia databases 116B to 116N.

[035]O site de distribuição de conteúdo de página da web 120 representa um exemplo de um provedor de serviços de página da web. O site de distribuição de conteúdo de página da web 120 pode ser configurado para fornecer conteúdo baseado em hipertexto a um ou mais dispositivos de computação 102A a 102N através da rede pública 108. Deve ser observado que o conteúdo baseado em hipertexto pode incluir conteúdo de áudio e vídeo. O conteúdo de hipertexto pode ser definido de acordo com linguagens de programação, como, por exemplo, Linguagem de Marcação de Hipertexto (HTML), HTML Dinâmica e Linguagem de Marcação Extensível (XML). Exemplos de sites de distribuição de conteúdo de página da web incluem o site da web do Escritório de Patentes e Marcas dos Estados Unidos. Conforme descrito acima, os serviços de mídia digital podem estar associados a um site da web que permite que um usuário busque itens de conteúdo acessíveis através daquele serviço específico. O site de distribuição de conteúdo de página da web 120 pode incluir um site da web que inclui um mecanismo de pesquisa associado a um serviço de conteúdo de mídia digital.[035] The web page content delivery site 120 represents an example of a web page service provider. The web page content delivery site 120 may be configured to deliver hypertext-based content to one or more computing devices 102A to 102N over the public network 108. It should be noted that the hypertext-based content may include audio content and video. Hypertext content can be defined according to programming languages such as Hypertext Markup Language (HTML), Dynamic HTML, and Extensible Markup Language (XML). Examples of web page content syndication sites include the US Patent and Trademark Office website. As described above, digital media services may be associated with a website that allows a user to search for content items accessible through that specific service. Web page content delivery site 120 may include a web site that includes a search engine associated with a digital media content service.

[036]O site de distribuição de aplicativo 122 representa um exemplo de um serviço de distribuição de aplicativo. O site de distribuição de aplicativo 122 pode ser configurado para distribuir aplicativos de software desenvolvidos para um ou mais dispositivos de computação 102A a 102N. Em um exemplo, os aplicativos de software podem incluir jogos e programas operáveis em dispositivos de computação. Em outros exemplos, os aplicativos de software podem ser configurados para permitir que um dispositivo de computação acesse conteúdo fornecido por um site de distribuição de conteúdo de página da web de maneira específica para o dispositivo de computação. Por exemplo, os aplicativos de software podem ser configurados para fornecer funcionalidade aumentada ou reduzida de uma página da web a um dispositivo móvel ou um decodificador de sinais. Em um exemplo, um aplicativo de software pode permitir que um usuário acesse um serviços de mídia em um dispositivo específico. Em um exemplo, um aplicativo de software pode permitir que um usuário acesse um serviços de streaming usando um console de jogo.[036] Application distribution site 122 represents an example of an application distribution service. Application distribution site 122 may be configured to distribute developed software applications to one or more computing devices 102A to 102N. In one example, software applications can include games and programs operable on computing devices. In other examples, software applications may be configured to allow a computing device to access content provided by a web page content delivery site in a manner specific to the computing device. For example, software applications can be configured to provide augmented or reduced functionality of a web page to a mobile device or set-top box. In one example, a software application might allow a user to access media services on a specific device. In one example, a software application might allow a user to access streaming services using a game console.

[037]Os aplicativos de software podem ser desenvolvidos usando uma linguagem de programação. Exemplos de linguagens de programação incluem, JavaTM, Ji- niTM, C, C++, Perl, UNIX Shell®, Visual Basic® e Visual Basic® Script. Em alguns exemplos, os desenvolvedores podem gravar aplicativos de software usando um kit de desenvolvimento de software (SDK) fornecido por um fabricante de dispositivo ou um provedor de serviços. No exemplo em que um ou mais dispositivos de computação 102A a 102N são dispositivos móveis, o site de distribuição de aplicativos 122 pode ser mantido por um fabricante de dispositivo móvel, um provedor de serviços e/ou um provedor de sistema operacional de dispositivo móvel. No exemplo em que um ou mais dispositivos de computação 102A a 102N são decodificadores de sinais, o site de distribuição de aplicativos 122 pode ser mantido por um fabricante de decodificador de sinais, um provedor de serviços e/ou um provedor de sistema operacional. Em alguns exemplos, um site de distribuição de aplicativos pode ser chamado de uma loja de aplicativos. Exemplos de sites de distribuição de aplicativos comercialmente disponíveis incluem sites mantidos por Google®, Inc., Apple®, Inc., BlackBerry®, Inc., Microsoft®, Inc., e Amazon.com®, Inc.[037] Software applications can be developed using a programming language. Examples of programming languages include, JavaTM, JiniTM, C, C++, Perl, UNIX Shell®, Visual Basic® and Visual Basic® Script. In some examples, developers can write software applications using a software development kit (SDK) provided by a device manufacturer or service provider. In the example where one or more computing devices 102A to 102N are mobile devices, application distribution site 122 may be maintained by a mobile device manufacturer, a service provider, and/or a mobile device operating system provider. In the example where one or more computing devices 102A to 102N are set-top boxes, application distribution site 122 may be maintained by a set-top box manufacturer, a service provider, and/or an operating system provider. In some examples, an app distribution site might be called an app store. Examples of commercially available application distribution sites include sites maintained by Google®, Inc., Apple®, Inc., BlackBerry®, Inc., Microsoft®, Inc., and Amazon.com®, Inc.

[038]Com referência novamente à Figura 1, o agregador de pesquisa 124 representa um exemplo de um sistema configurado para realizar várias consultas e gerar resultados agregados. O mecanismo de assistente de conteúdo 126 representa um exemplo de um sistema configurado para receber restrições de usuários, receber um conjunto de itens de conteúdo e gerar planos de acesso. Conforme descrito acima, as funções do sistema 100 e sites incluídos no mesmo podem ser executados usando qualquer combinação de implementações de hardware, firmware e/ou software. Dessa forma, os elementos das técnicas descritas no presente documento podem ser distribuídos ao longo do sistema 100. Por exemplo, uma ou mais funções respectivamente descritas como sendo realizadas pelo agregador de pesquisa 124 e o mecanismo de assistente de conteúdo 126 podem ser realizadas usando hardware, firmware, e/ou software incluído como parte de um dispositivo de computação 102A a 102N e/ou podem ser realizadas usando hardware, firmware e/ou software incluído como parte de um site distinto. A distribuição de elementos das técnicas descritas no presente documento podem ser baseadas nas capacidades de um dispositivo de computação. Por exemplo, um dispositivo de computação com capacidades de processamento relativamente limitadas pode executar menos elementos de uma técnica do que um dispositivo de computação com capacidades de processamento relativamente limitadas.[038] With reference again to Figure 1, the search aggregator 124 represents an example of a system configured to perform multiple queries and generate aggregated results. Content assist engine 126 represents an example of a system configured to receive user restrictions, receive a set of content items, and generate access plans. As described above, the functions of the system 100 and sites included therein may be performed using any combination of hardware, firmware and/or software implementations. In this way, elements of the techniques described herein can be distributed throughout system 100. For example, one or more functions respectively described as being performed by search aggregator 124 and content assist engine 126 can be performed using hardware , firmware, and/or software included as part of a computing device 102A to 102N and/or may be accomplished using hardware, firmware, and/or software included as part of a separate site. The deployment of elements of the techniques described in this document can be based on the capabilities of a computing device. For example, a computing device with relatively limited processing capabilities may perform fewer elements of a technique than a computing device with relatively limited processing capabilities.

[039]A Figura 2A é um diagrama de blocos que ilustra um exemplo de um dispositivo de computação que pode implementar uma ou mais técnicas desta revelação. O dispositivo de computação 200 é um exemplo de um dispositivo de computação que pode ser configurado para transmitir dados e receber dados de uma rede de comunicação, permitir que um usuário acesse conteúdo multimídia, e executar um ou mais aplicativos. O dispositivo de computação 200 pode incluir ou fazer parte de um dispositivo de computação estacionário (por exemplo, um computador desktop, uma televisão, um decodificador de sinais, um console de jogos, um dispositivo de streaming multimídia dedicado, ou um gravador de vídeo digital), um dispositivo de computação portátil (por exemplo, um telefone celular, um laptop, um assistente de dados pessoais (PDA), ou um dispositivo tablet) ou outro tipo de dispositivo de computação. No exemplo ilustrado na Figura 2A, o dispositivo de computação 200 é configurado para enviar e receber dados através de uma rede de televisão, como, por exemplo, a rede de televisão 106 descrita acima e enviar e receber dados através de uma rede pública, como, por exemplo, a rede pública 108. Deve ser observado que em outros exemplos, o dispositivo de computação 200 pode ser configurado para enviar e receber dados através de uma rede de televisão 106 ou uma rede pública 108. As técnicas descritas no presente documento podem ser usadas por dispositivos configurados para comunicação usando quaisquer e todas as combinações de redes de comunicação.[039] Figure 2A is a block diagram illustrating an example of a computing device that can implement one or more techniques of this disclosure. Computing device 200 is an example of a computing device that can be configured to transmit data to and receive data from a communication network, allow a user to access multimedia content, and run one or more applications. Computing device 200 may include or form part of a stationary computing device (e.g., a desktop computer, a television, a set-top box, a game console, a dedicated multimedia streaming device, or a digital video recorder). ), a portable computing device (for example, a mobile phone, laptop, personal data assistant (PDA), or tablet device), or other type of computing device. In the example illustrated in Figure 2A, computing device 200 is configured to send and receive data over a television network, such as, for example, television network 106 described above, and to send and receive data over a public network, such as , for example, the public network 108. It should be noted that in other examples, the computing device 200 may be configured to send and receive data over a television network 106 or a public network 108. The techniques described herein may be used by devices configured to communicate using any and all combinations of communication networks.

[040]Conforme ilustrado na Figura 2A, o dispositivo de computação 200 inclui unidade(s) de processamento central 202, memória de sistema 204, interface de sistema 210, modem 212, módulo de transporte 214, demultiplexador AV 216, interface de rede 218, dispositivos de armazenamento 220, dispositivos I/O 222, decodificador de áudio 224, processador de áudio 226, decodificador de vídeo 228, unidade de pro-cessamento gráfico 230 e processador de exibição 232. Conforme ilustrado na Figura 2A, a memória de sistema 204 inclui o sistema operacional 206 e aplicativos 208. Cada processador(es) 202, memória de sistema 204, interface de sistema 210, modem 212, módulo de transporte 214, demultiplexador AV 216, interface de rede 218, dispositivos de armazenamento 220, dispositivos I/O 222, decodificador de áudio 224, processador de áudio 226, decodificador de vídeo 228, unidade de processamento gráfico 230 e processador de exibição 232 podem estar interconectados (de forma física, comunicativa e/ou operacional) para comunicação entre componentes e podem ser implementados como qualquer um dentre uma variedade de conjunto de circuitos adequados, como um ou mais microprocessadores , processadores de sinais digitais (DSPs), circuitos integrados para aplicação específica (ASICs), matrizes de portas programáveis em campo (FPGAs), lógica discreta, software, hardware, firmware ou qualquer combinação dos mesmos. Deve ser observado que, embora o dispositivo de computação 200 seja ilustrado como tendo blocos funcionais distintos, tal ilustração serve para propósitos descritivos e não limita o dispositivo de computa-ção 200 a uma arquitetura de hardware específica. As funções de dispositivo de computação 200 podem ser executadas usando qualquer combinação de implementações de hardware, firmware e/ou software.[040] As illustrated in Figure 2A, the computing device 200 includes central processing unit(s) 202, system memory 204, system interface 210, modem 212, transport module 214, AV demultiplexer 216, network interface 218 , storage devices 220, I/O devices 222, audio decoder 224, audio processor 226, video decoder 228, graphics processing unit 230, and display processor 232. As illustrated in Figure 2A, system memory 204 includes operating system 206 and applications 208. Each processor(s) 202, system memory 204, system interface 210, modem 212, transport module 214, AV demultiplexer 216, network interface 218, storage devices 220, devices I/O 222, audio decoder 224, audio processor 226, video decoder 228, graphics processing unit 230 and display processor 232 may be interconnected (physically, communicatively and/or operationally) for communication between components and may be implemented as any of a variety of suitable circuitry, such as one or more microprocessors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), discrete logic, software, hardware, firmware or any combination thereof. It should be noted that although computing device 200 is illustrated as having distinct functional blocks, such illustration is for descriptive purposes and does not limit computing device 200 to a specific hardware architecture. Computing device functions 200 can be performed using any combination of hardware, firmware and/or software implementations.

[041]A(s) CPU(s) 202 pode(m) ser configurada(s) para implementar a funcionalidade e/ou processar instruções para execução no dispositivo de computação 200. A(s) CPU(s) 202 pode(m) ser capaz(es) de recuperar e processar instruções, código e/ou estruturas de dados para implementa uma ou mais técnicas descritas no presente documento. As instruções podem ser armazenadas em um meio legível por computador, como memória de sistema 204 ou dispositivos de armazenamento 220. A(s) CPU(s) 202 pode(m) incluir unidades de processamento central de múltiplos núcleos.[041] The CPU(s) 202 can be configured to implement functionality and/or process instructions for execution on the computing device 200. The CPU(s) 202 can ) be able to retrieve and process instructions, code and/or data structures to implement one or more techniques described in this document. The instructions may be stored on a computer-readable medium, such as system memory 204 or storage devices 220. The CPU(s) 202 may include multi-core central processing units.

[042]A memória de sistema 204 pode ser descrita como um meio de armazenamento legível por computador não temporário ou tangível. Em alguns exemplos, a memória de sistema 204 pode proporcionar armazenamento temporário e/ou a longo prazo. Em alguns exemplos, a memória de sistema 204 ou porções da mesma podem ser descritas como memória não-volátil e em outros exemplo, as porções de memória de sistema 204 podem ser descritas como memória volátil. Exemplos de memórias voláteis incluem memórias de acesso aleatório (RAM), memórias de acesso aleatório dinâmica (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, disquetes, memórias flash, ou formas de memórias eletricamente programáveis (EPROM) ou memórias eletricamente apagáveis e programáveis (EEPROM).[042] System memory 204 can be described as a non-temporary or tangible computer-readable storage medium. In some examples, system memory 204 may provide temporary and/or long-term storage. In some examples, system memory 204 or portions thereof may be described as non-volatile memory and in other examples, system memory portions 204 may be described as volatile memory. Examples of volatile memories include random access memories (RAM), dynamic random access memories (DRAM), and static random access memories (SRAM). Examples of non-volatile memories include magnetic hard disks, optical disks, floppy disks, flash memories, or forms of electrically programmable memory (EPROM) or electrically erasable and programmable memory (EEPROM).

[043]O sistema de memória 204 pode ser configurado para armazenar informações que podem ser usadas pelo dispositivo de computação 200 durante a operação. A memória de sistema 204 pode ser usada para armazenar instruções de programa para execução por CPU(s) 202 e pode ser usada por software ou aplicativos executados no dispositivo de computação 200 para armazenar temporariamente informações durante a execução do programa. Por exemplo, a memória de sistema 204 pode armazenar instruções associadas ao sistema operacional 206 e aplicativos 208. Os aplicativos 208 podem incluir aplicativos implementados dentro ou executados por dispositivo de computação 200 e podem ser implementados ou contidos dentro, operáveis por, executados por, e/ou podem ser acoplados de forma operacional/comuni- cativa a componentes de dispositivo de computação 200. Os aplicativos 208 podem incluir instruções que podem fazer com que a(s) CPU(s) 202 de dispositivo de computação 200 realize(m) funções específicas. Os aplicativos 208 podem incluir algoritmos que são expressos em instruções de programação de computador, como, for- loops, while-loops, if-statements, do-loops, etc. Os aplicativos 208 podem ser distribuídos para o dispositivo de computação 200 através de um site de distribuição de aplicativos, por exemplo, site de distribuição de aplicativos 122. Em um exemplo, os aplicativos 208 podem fazer com que o dispositivo de computação 200 realize funções associadas às técnicas exemplificativas descritas no presente documento que permitem que um usuário acesse itens de conteúdo. Os aplicativos 208 podem fazer com que uma ou mais interfaces gráficas de usuário que permitem que um usuário forneça dados para uso por um aplicativo. Em um exemplo, os aplicativos 208 podem incluir um ou mais aplicativos dedicados que permitem que um usuário acesse um serviço de mídia digital. Além disso, os aplicativos 208 podem realizar funções associadas a qualquer componente de um agregador de pesquisa e/ou qualquer componente de um mecanismo de assistente de conteúdo. Em um exemplo, os aplicativos 208 podem incluir um aplicativo de assistente de conteúdo.[043] The memory system 204 can be configured to store information that can be used by the computing device 200 during operation. System memory 204 may be used to store program instructions for execution by CPU(s) 202 and may be used by software or applications running on computing device 200 to temporarily store information during program execution. For example, system memory 204 can store instructions associated with operating system 206 and applications 208. Applications 208 can include applications implemented within or executed by computing device 200 and can be implemented or contained within, operable by, executed by, and /or may be operationally/communicatively coupled to components of computing device 200. Applications 208 may include instructions that can cause the CPU(s) 202 of computing device 200 to perform functions specific. Applications 208 may include algorithms that are expressed in computer programming instructions, such as for-loops, while-loops, if-statements, do-loops, and the like. Applications 208 may be distributed to computing device 200 via an application distribution site, for example, application distribution site 122. In one example, applications 208 may cause computing device 200 to perform associated functions to the exemplary techniques described herein that allow a user to access content items. Applications 208 may provide one or more graphical user interfaces that allow a user to provide data for use by an application. In one example, applications 208 may include one or more dedicated applications that allow a user to access a digital media service. Furthermore, applications 208 may perform functions associated with any component of a search aggregator and/or any component of a content assist engine. In one example, applications 208 may include a content assist application.

[044]Conforme adicionalmente ilustrado na Figura 2A, os aplicativos 208 podem operar em conjunto com o sistema operacional 206. Ou seja, o sistema operacional 206 pode ser configurado para facilitar a interação de aplicativos 208 com CPUs(s) 202, e outros componentes de hardware de dispositivo de computação 200. Deve ser observado que em alguns exemplos, os componentes de sistema operacional 206 e componentes que atuam em conjunto com o sistema operacional 206 podem ser chamados de middleware. As técnicas descritas no presente documento podem ser usadas por dispositivos configurados para comunicação usando quaisquer e todas as combinações de arquiteturas de software. O sistema operacional 206 pode ser um sistema operacional projetado para ser instalado em laptops, desktops, smartphones, tablets, decodificadores de sinais, gravadores de vídeo digital, televisões e/ou dispo-sitivos de jogos. Em um exemplo, o sistema operacional 206 pode incluir um ou mais sistemas operacionais ou componentes de middleware desenvolvidos por sistemas operacionais OpenTV®, Windows®, sistemas operacionais Linux, Mac OS®, sistemas operacionais Android®, e quaisquer e todas as combinações dos mesmos.[044] As further illustrated in Figure 2A, the applications 208 can operate in conjunction with the operating system 206. That is, the operating system 206 can be configured to facilitate the interaction of applications 208 with CPUs (s) 202, and other components of computing device hardware 200. It should be noted that in some examples, operating system components 206 and components that work in conjunction with operating system 206 may be called middleware. The techniques described in this document can be used by devices configured to communicate using any and all combinations of software architectures. Operating system 206 may be an operating system designed to be installed on laptops, desktops, smartphones, tablets, set-top boxes, digital video recorders, televisions and/or gaming devices. In one example, operating system 206 may include one or more operating systems or middleware components developed by OpenTV® operating systems, Windows®, Linux operating systems, Mac OS®, Android® operating systems, and any and all combinations thereof. .

[045]A interface de sistema 210 pode ser configurada para permitir comunicação entre componentes de dispositivo de computação 200. Em um exemplo, a interface de sistema 210 compreende estruturas que permitem a transferência de dados a partir de um dispositivo par para outro dispositivo par ou para um meio de armazenamento. Por exemplo, a interface de sistema 210 pode incluir um chipset que suporta protocolos baseados em Portas Gráficas Aceleradas (AGP), protocolos baseados em barramento de Interconexão de Componentes Periféricos (PCI), como, por exemplo, a especificação de barramento PCI ExpressTM (PCIe), que é mantido pelo Grupo de Interesses Especiais de Interconexão Periférica ou qualquer outra forma de estrutura que pode ser usada para interconectar dispositivos pares.[045] The system interface 210 can be configured to allow communication between computing device components 200. In one example, the system interface 210 comprises structures that allow the transfer of data from a peer device to another peer device or to a storage medium. For example, system interface 210 may include a chipset that supports Accelerated Graphics Port (AGP) based protocols, Peripheral Component Interconnect (PCI) bus based protocols, such as the PCI ExpressTM bus specification (PCIe ), which is maintained by the Peripheral Interconnection Special Interest Group or any other form of structure that may be used to interconnect peer devices.

[046]Os dispositivos de armazenamento 220 representam a memória de dispositivo de computação 200 que pode ser configurado para armazenar quantidades de informações relativamente maiores durante períodos de tempo relativamente mais longos que a memória de sistema 204. Por exemplo, no exemplo em que o dispositivo de computação 200 está incluído como parte de um gravador de vídeo digital, os dispositivos de armazenamento 220 podem ser configurados para armazenar vários arquivos de vídeo. Similar à memória de sistema 204, o(s) dispositivo(s) de armazenamento 220 também pode(m) incluir um ou mais meios de armazenamento legíveis por computador não temporários ou tangíveis. O(s) dispositivo(s) de armazenamento 220 pode(m) incluir dispositivos de memória internos e/ou externos e, em alguns exemplos, podem incluir elementos de armazenamento voláteis e não voláteis.[046] Storage devices 220 represent computing device memory 200 that can be configured to store relatively larger amounts of information for relatively longer periods of time than system memory 204. For example, in the example where the device Computing device 200 is included as part of a digital video recorder, storage devices 220 can be configured to store multiple video files. Similar to system memory 204, storage device(s) 220 may also include one or more non-temporary or tangible computer-readable storage media. Storage device(s) 220 may include internal and/or external memory devices and, in some examples, may include both volatile and non-volatile storage elements.

[047]Os dispositivos I/O 222 podem ser configurados para receber entrada e fornecer saída durante a operação de dispositivo de computação 200. A entrada pode ser gerada a partir de um dispositivo de entrada, como, por exemplo, um controle remoto com botão de pressão, um controle remoto baseado em movimento, um dispositivo que inclui uma tela sensível ao toque, um dispositivo que inclui um editor de faixas, um mouse, um teclado, um microfone, uma câmera de vídeo, um sensor de movimento ou qualquer outro tipo de dispositivo configurado para receber a entrada do usuário. Em um exemplo, um dispositivo de entrada pode incluir um dispositivo de entrada de usuário avançado, como um smartphone ou um dispositivo de computação tablet. Por exemplo, um dispositivo de entrada pode ser um dispositivo de computação secundário e pode ser configurado para receber a entrada do usuário através de gestos de toque, botões no dispositivo de computação secundário e/ou controle de voz. Além disso, em alguns exemplos, um dispositivo de entrada pode incluir uma tela que é configurada para exibir as interfaces gráficas de usuário descritas no presente documento. Por exemplo, no caso em que o dispositivo de computação 200 inclui uma televisão, um dispositivo de entrada pode incluir um smartphone em comunicação com a televisão. Neste exemplo, um usuário pode fornecer comandos para uma televisão ativando porções de uma interface gráfica de usuário exibida em um smartphone. A interface gráfica de usuário exibida no smartphone pode ser uma réplica ou uma ex-tensão de uma interface gráfica de usuário exibida na televisão. A saída pode ser fornecida a dispositivos de saída, como, por exemplo, alto-falantes internos, um disposi-tivo de exibição integrado e/ou componentes externos, como um dispositivo de computação secundário. Em alguns exemplos, o(s) dispositivo(s) I/O 222 podem ser acoplados de modo operacional ao dispositivo de computação 200 usando um protocolo de comunicação padronizado, como, por exemplo, protocolo de Barramento Serial Universal Bus (USB), Bluetooth, ZigBee ou um protocolo de comunicação proprietário, como, por exemplo, um protocolo de comunicação de infravermelho proprietário.[047] I/O devices 222 can be configured to receive input and provide output during operation of computing device 200. Input can be generated from an input device, such as a button remote control pressure switch, a motion-based remote control, a device including a touch screen, a device including a track editor, a mouse, a keyboard, a microphone, a video camera, a motion sensor, or any other type of device configured to receive user input. In one example, an input device may include a power user input device such as a smartphone or tablet computing device. For example, an input device can be a secondary computing device and can be configured to receive user input through touch gestures, buttons on the secondary computing device, and/or voice control. Additionally, in some examples, an input device may include a screen that is configured to display the graphical user interfaces described herein. For example, in the case where the computing device 200 includes a television, an input device may include a smartphone in communication with the television. In this example, a user can provide commands to a television by activating portions of a graphical user interface displayed on a smartphone. The graphical user interface displayed on the smartphone can be a replica or an extension of a graphical user interface displayed on the television. Output can be provided to output devices such as internal speakers, an integrated display device, and/or external components such as a secondary computing device. In some examples, I/O device(s) 222 may be operatively coupled to computing device 200 using a standardized communication protocol, such as, for example, Universal Serial Bus (USB) protocol, Bluetooth , ZigBee, or a proprietary communication protocol, such as a proprietary infrared communication protocol.

[048]A Figura 2B é um diagrama conceitual que ilustra um exemplo de um dispositivo de entrada/saída que pode implementar uma ou mais técnicas desta revelação. No exemplo ilustrado na Figura 2B, o dispositivo I/O 222 é ilustrado como um controle remoto com botão de pressão. Deve ser observado que o dispositivo I/O 222 é ilustrado como um controle remoto com botão de pressão no exemplo ilustrado na Figura 2B, em outros exemplos, a funcionalidade do dispositivo I/O 222 pode ser implementada usando outros tipos de dispositivos I/O, como, por exemplo, um dispositivo de computação secundário em comunicação com um dispositivo de computação primário. Além disso, em outros exemplos, as funções obtidas pela ativação de botões do dispositivo I/O 222 podem ser obtidas através de outros tipos de entradas de usuários. Por exemplo, no caso em que um dispositivo I/O inclui uma tela sensível ao toque, reconhecimento de gesto, e/ou reconhecimento de voz, botões virtuais podem ser apresentados na tela sensível ao toque e as funções realizadas pela ativação de botões no dispositivo I/O 222 podem ser realizadas através de quaisquer e todas as combinações de ativação de botão virtual, gestões de movimento e/ou comandos de voz. Em um exemplo, um dispositivo I/ O pode ter capacidades de reconhecimento de voz e uma função realizada pela ativação do botão de assistente de conteúdo 290 pode ser realizada por um usuário que diz “Ajuda” ou uma frase similar.[048] Figure 2B is a conceptual diagram illustrating an example of an input/output device that can implement one or more techniques of this disclosure. In the example illustrated in Figure 2B, the I/O device 222 is illustrated as a push-button remote control. It should be noted that I/O device 222 is illustrated as a push-button remote control in the example illustrated in Figure 2B, in other examples the functionality of I/O device 222 may be implemented using other types of I/O devices. , such as a secondary computing device communicating with a primary computing device. Furthermore, in other examples, the functions obtained by activating buttons on the I/O device 222 can be obtained through other types of user inputs. For example, in the case where an I/O device includes a touchscreen, gesture recognition, and/or voice recognition, virtual buttons can be presented on the touchscreen and functions performed by activating buttons on the device. I/O 222 can be performed through any and all combinations of virtual button activation, motion gestures and/or voice commands. In one example, an I/O device may have voice recognition capabilities and a function performed by activating content assist button 290 may be performed by a user saying "Help" or a similar phrase.

[049]No exemplo ilustrado na Figura 2B, o dispositivo I/O 222 inclui controles de televisão básicos 260, controles de reprodução 270, controles de navegação 280, e botão de assistente de conteúdo 290. Os controles básicos de televisão 260 podem ser configurados para permitir que um usuário execute funções básicas de sintonização e controle de volume associadas à visualização de programação de televisão. Conforme ilustrado na Figura 2B, os controles básicos de televisão 260 incluem teclado numérico 261, botão de entrada 262, o botão do canal anterior 263, os botões de mudança de canal 264 e os botões de controle de volume 265. O teclado numérico 261, botão de entrada 262, o botão de canal anterior 263 e os botões de mudança de canal 264 podem ser configurados para permitir que um usuário sintonize um canal analógico e/ou digital específico. Quando um usuário entra uma sequência de números usando o teclado numérico 261 e, opcionalmente, ativando adicionalmente a tecla “enter” 262, um sintonizador pode sintonizar um canal especificado. Mediante a ativação do botão de canal anterior 263, um sintonizador pode sintonizar um canal anteriormente sintonizado. A ativação dos botões de canal “+” e “-” 264 pode, respectivamente, fazer com que um sintonizador sintonize o respectivo próximo canal em uma sequência de canais. A ativação de botões de controle de volume “+” e “-” 265 pode, respectivamente, fazer com que saída de um sistema de áudio seja aumentada ou reduzida. Deve ser observado que embora os controles de televisão básicos 260 possam ser configurados para permitir que um usuário execute funções básicas de sintonização e controle de volume associadas a uma televisão, em alguns exemplos, os controles básicos de televisão 260 podem ser usados para executar outras funções associadas a um dispositivo de computação.[049] In the example illustrated in Figure 2B, the I/O device 222 includes basic television controls 260, playback controls 270, navigation controls 280, and content assistant button 290. Basic television controls 260 can be configured to allow a user to perform basic tuning and volume control functions associated with viewing television programming. As illustrated in Figure 2B, the basic television controls 260 include the numeric keypad 261, the input button 262, the previous channel button 263, the channel change buttons 264, and the volume control buttons 265. The numeric keypad 261, input button 262, channel previous button 263 and channel change buttons 264 can be configured to allow a user to tune to a specific analogue and/or digital channel. When a user enters a sequence of numbers using the numeric keypad 261 and, optionally, further activating the "enter" key 262, a tuner can tune to a specified channel. Upon activation of previous channel button 263, a tuner can tune to a previously tuned channel. Activation of the channel “+” and “-” buttons 264 can respectively cause a tuner to tune to the respective next channel in a channel sequence. Activation of the “+” and “-” volume control buttons 265 can respectively cause the output of an audio system to be turned up or down. It should be noted that although basic television controls 260 can be configured to allow a user to perform basic tuning and volume control functions associated with a television, in some instances basic television controls 260 can be used to perform other functions. associated with a computing device.

[050]Os controles de reprodução 270 podem ser configurados para permitir que um usuário controle a reprodução e/ou registre o conteúdo multimídia. Por exemplo, os controles de reprodução 270 podem permitir que um usuário controle a reprodução de um vídeo proveniente de um site de provedores de serviços de mídia, um mecanismo sob demanda e/ou um gravador de vídeo pessoal (PVR). Conforme ilustrado na Figura 2B, os controles de reprodução 270 incluem o botão de reprodução inversa 271, o botão de reprodução normal 272, o botão de reprodução de avanço 273, botão de reprodução de parada 274, botão de reprodução de pausa 275 e o botão de gravação 276. O botão de reprodução inversa 271 pode permitir que um usuário navegue até um ponto anterior em uma sequência multimídia. Após a ativação, o botão de reprodução normal 272 pode fazer com que a reprodução normal de um item de conteúdo multimídia seja iniciada ou retomada. O botão de reprodução avançar 273 pode permitir que um usuário navegue até um ponto futuro em uma sequência multimídia. Após a ativação, o botão de reprodução parar 274 pode fazer com que a reprodução de um item de conteúdo multimídia seja parada. Após a ativação, o botão de reprodução pausar 275 pode fazer com que a reprodução de um item de conteúdo multimídia seja pausada. O botão gravar 276 pode permitir 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 gravação 276 pode permitir que um usuário grave conteúdo em um dispositivo de armazenamento. Deve ser observado que embora os controles de reprodução 270 possam ser configurados para permitir que um usuário controle a reprodução e/ou grave conteúdo multimídia, em alguns exemplos, os controles de reprodução 270 podem ser usados para executar outras funções associadas a um dispositivo de computação.[050]Playback controls 270 can be configured to allow a user to control playback and/or record multimedia content. For example, playback controls 270 may allow a user to control playback of a video sourced from a media service provider website, an on-demand engine, and/or a personal video recorder (PVR). As illustrated in Figure 2B, the playback controls 270 include the playback reverse button 271, the normal playback button 272, the forward playback button 273, the stop playback button 274, the pause playback button 275 and the of recording 276. The reverse playback button 271 may allow a user to navigate to a previous point in a multimedia sequence. Upon activation, the normal play button 272 can cause normal playback of a multimedia content item to start or resume. Play forward button 273 may allow a user to navigate to a future point in a multimedia sequence. Upon activation, the play stop button 274 may cause the playback of a multimedia content item to stop. Upon activation, the playback pause button 275 may cause the playback of a multimedia content item to be paused. Record button 276 may allow a user to cause an item of multimedia content to be stored on a storage device. In one example, record button 276 may allow a user to record content to a storage device. It should be noted that although playback controls 270 can be configured to allow a user to control playback and/or record multimedia content, in some instances, playback controls 270 can be used to perform other functions associated with a computing device. .

[051]Conforme descrito acima, os dispositivos com capacidades de reprodução de mídia digital, incluindo, por exemplo, televisões, decodificadores de sinais, e dispositivos móveis, podem ser configurados para fornecer aos usuários interfaces gráficas de usuário que permitem a seleção de conteúdo. Os controles de navegação 280 podem ser configurados para permitir que um usuário navegue por interfaces gráficas de usuário e selecione conteúdo usando uma interface gráfica de usuário. Em um exemplo, os controles de navegação 280 podem ser configurados para permitir que um usuário navegue por interfaces gráficas de usuário e acesse itens de conteúdo de acordo com as técnicas descritas no presente documento.[051] As described above, devices with digital media playback capabilities, including, for example, televisions, signal decoders, and mobile devices, can be configured to provide users with graphical user interfaces that allow content selection. Navigation controls 280 can be configured to allow a user to navigate graphical user interfaces and select content using a graphical user interface. In one example, navigation controls 280 can be configured to allow a user to navigate graphical user interfaces and access items of content in accordance with techniques described herein.

[052]No exemplo ilustrado na Figura 2B, os controles de navegação 280 incluem botões de seta de navegação 281, botão de seleção 282, botão de informações 283, botão de menu 284, botão de guia 285, botão de retorno 286 e botão de saída 287. Os botões de seta de navegação 281 podem ser configurados para mover a posição de um cursor associado a uma interface gráfica de usuário e/ou mudar a seleção de um item incluído em uma interface gráfica de usuário. O botão de seleção 282 pode, ainda, permitir que um usuário selecione um ícone. Em um exemplo, ativações consecutivas de botão de seleção 282 podem fazer com que ocorram respectivos níveis de seleção. O botão de informações 283 pode ser configurado para fazer com que informações adicionais associadas a um item de conteúdo sejam exibidas. Por exemplo, quando um ícone que representa um item de conteúdo for inicialmente selecionado, a ativação de botão de dar informações 283 pode fazer com que informa-ções associadas ao conteúdo (por exemplo, informações do elenco e equipe) sejam exibidas.[052] In the example illustrated in Figure 2B, the navigation controls 280 include navigation arrow buttons 281, selection button 282, information button 283, menu button 284, guide button 285, return button 286 and return button output 287. The navigation arrow buttons 281 can be configured to move the position of a cursor associated with a graphical user interface and/or change the selection of an item included in a graphical user interface. Selection button 282 may further allow a user to select an icon. In one example, consecutive selection button activations 282 may cause respective selection levels to occur. Information button 283 can be configured to cause additional information associated with a content item to be displayed. For example, when an icon representing an item of content is initially selected, activating the give info button 283 may cause information associated with the content (for example, cast and crew information) to be displayed.

[053]O botão de menu 284, o botão de guia 285, o botão de retorno 286 e o botão de saída 287 podem ser configurados para permitir que um usuário faça com que interfaces gráficas de usuário sejam apresentadas. Após a ativação, o botão de menu 284 pode fazer com que uma interface de usuário gráfica incluindo um menu de alto nível seja exibida. Em um exemplo, um menu de alto nível pode incluir um menu que permite que um usuário altere as configurações associadas à operação de um dispositivo de computação. Em um exemplo, um menu de alto nível pode incluir um menu que permite que um usuário selecione um perfil de usuário (por exemplo, um registro de interface gráfica de usuário). Após a ativação, o botão de guia 285 pode ser configurado para fornecer uma interface gráfica de usuário que permite que um usuário selecione o conteúdo. Em um exemplo, após a ativação de botão de guia 285, uma interface gráfica de usuário incluindo um guia de grade pode ser apresentada a um usuário. O botão de retorno 286 pode ser configurado para permitir que um usuário volte a uma interface gráfica de usuário anterior. O botão de saída 287 pode ser configurado para permitir que um usuário volte ao modo de visualização em tela cheia. Por exemplo, quando uma interface gráfica do usuário for exibida, após a ativação do botão de saída 287, a interface gráfica do usuário pode “desaparecer” e o modo de visualização de conteúdo em tela cheia pode ser apresentado a um usuário.[053] The menu button 284, the guide button 285, the return button 286 and the exit button 287 can be configured to allow a user to cause graphical user interfaces to be presented. Upon activation, menu button 284 can cause a graphical user interface including a high-level menu to be displayed. In one example, a top-level menu might include a menu that allows a user to change settings associated with operating a computing device. In one example, a top-level menu might include a menu that allows a user to select a user profile (for example, a graphical user interface record). Upon activation, tab button 285 can be configured to provide a graphical user interface that allows a user to select content. In one example, upon activation of guide button 285, a graphical user interface including a grid guide may be presented to a user. Back button 286 can be configured to allow a user to return to a previous graphical user interface. Exit button 287 can be configured to allow a user to return to full screen view mode. For example, when a graphical user interface is displayed, after activating exit button 287, the graphical user interface may “disappear” and a user may be presented with a full screen content view mode.

[054]Conforme descrito acima, os aplicativos 208 podem fazer com que o dispositivo de computação 200 realize funções associadas às técnicas exemplificativas descritas no presente documento que permitem que um usuário acesse itens de con-teúdo. O botão de assistente de conteúdo 290 pode fazer com que o dispositivo de computação 200 inicie a execução de um aplicativo que faz com que o dispositivo de computação 200 realize funções associadas às técnicas exemplificativas descritas no presente documento. Ou seja, o botão de assistente de conteúdo 290 pode iniciar um aplicativo de assistente de conteúdo. Conforme descrito em detalhes abaixo, um aplicativo de assistente de conteúdo pode fazer com que uma ou mais interfaces gráficas de usuário sejam apresentadas. Exemplos de interfaces gráficas de usuário são descritos em detalhe abaixo em relação às Figuras 4-6C.[054] As described above, applications 208 can cause the computing device 200 to perform functions associated with the exemplary techniques described in this document that allow a user to access content items. Content assist button 290 can cause computing device 200 to launch an application that causes computing device 200 to perform functions associated with the exemplary techniques described herein. That is, content assist button 290 can launch a content assist application. As described in detail below, a content assist application can cause one or more graphical user interfaces to be presented. Examples of graphical user interfaces are described in detail below in relation to Figures 4-6C.

[055]Com referência novamente à Figura 2A, o dispositivo de computação 200 é configurado para enviar e receber dados através de uma rede de televisão, como, por exemplo, a rede de televisão 106 descrita acima e enviar e receber dados através de uma rede pública, como, por exemplo, a rede pública 108. Uma rede de comunicação pode ser descrita com base em um modelo que inclui camadas que definem propriedades de comunicação, como, por exemplo, sinalização física, endereçamento, controle de acesso a canais, propriedades de pacote, e processamento de dados em um sistema de comunicação. No exemplo ilustrado na Figura 2A, o modem 212, o módulo de transporte 214, e demultiplexador 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.[055] With reference again to Figure 2A, the computing device 200 is configured to send and receive data through a television network, such as, for example, the television network 106 described above and to send and receive data through a network public, such as, for example, public network 108. A communication network can be described based on a model that includes layers that define communication properties, such as, for example, physical signaling, addressing, channel access control, properties packet, and data processing in a communication system. In the example illustrated in Figure 2A, modem 212, transport module 214, and AV demultiplexer 216 can be configured to perform lower layer processing associated with television network 106 and network interface 218 can be configured to perform lower layer processing. lower layer associated with the public network 108.

[056] Em um exemplo, o modem 212 pode ser configurado para realizar a sinalização física, endereçamento, e controle de acesso a canal de acordo com as camadas físicas e MAC usadas em uma rede de provedores de televisão, como, por exemplo, rede de provedores de televisão 106. Em um exemplo, o modem 212 pode ser configurado para receber sinais de um cabo coaxial e/ou um sinal pelo 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 de transporte de sinais recebidos de um cabo coaxial. Em um exemplo, um fluxo de transporte pode ser baseado em um fluxo de transporte definido pelo Grupo de Especialistas em Imagens com Movimento MPEG (MPEG). Em um exemplo, um fluxo de transporte pode incluir uma pluralidade de fluxos de programas, em que, cada fluxo de programa corresponde, respectivamente, a um programa disponível a partir de uma rede de televisão. Além disso, um fluxo de transporte pode incluir uma pluralidade de fluxos de dados (por exemplo, Tabela de Mapa de Programas e dados EPG).[056] In an example, the modem 212 can be configured to perform physical signaling, addressing, and channel access control according to the physical and MAC layers used in a network of television providers, such as, for example, network from television providers 106. In one example, modem 212 may be configured to receive signals from a coaxial cable and/or an over-the-air signal and perform low-level signal processing (e.g., demodulation). In one example, modem 212 can be configured to extract transport streams of signals received from a coaxial cable. In one example, a transport stream can be based on a transport stream defined by the MPEG Moving Picture (MPEG) Expert Group. In one example, a transport stream may include a plurality of program streams, where each program stream corresponds, respectively, to a program available from a television network. Furthermore, a transport stream may include a plurality of data streams (e.g., Program Map Table and EPG data).

[057]O módulo de transporte 214 pode ser configurado para receber os dados do modem 212 e processar os dados recebidos. Por exemplo, o modelo de transporte 214 pode ser configurado para receber um fluxo de transporte incluindo uma pluralidade de fluxos de programa e extrair fluxos de programa individuais de um fluxo de transporte recebido. Em um exemplo, um fluxo de programa pode incluir um fluxo de vídeo, um fluxo de áudio e um fluxo de dados. O demultiplexador 216 pode ser configurado para receber os dados de módulo de transporte 214 e processar os dados recebidos. Por exemplo, o demultiplexador AV 216 pode ser configurado para receber um fluxo de programa de módulo de transporte 214 e extrair pacotes de áudio, pacotes de vídeo e pacotes de dados. Ou seja, o demultiplexador AV 216 pode aplicar técnicas de demultiplexação para separar fluxos de vídeo, fluxos de áudio e fluxos de dados de um fluxo de programa. Em um exemplo, o demultiplexador AV 216 pode ser configurado para desencapsular fluxos de vídeo e áudio elementares em pacotes de um fluxo de transporte definido de acordo com MPEG-2 Parte 1. Deve ser observado que embora o modem 212, o módulo de transporte 214 e o demultiplexador AV 216 sejam ilustrados como blocos funcionais distintos, as funções realizadas pelo modem 212, o módulo de transporte 214 e o demultiplexador AV 216 podem ser altamente integrados e realizados usando qualquer combinação de implementações de hardware, firmware e/ou software.[057] The transport module 214 can be configured to receive data from the modem 212 and process the received data. For example, transport template 214 can be configured to receive a transport stream including a plurality of program streams and extract individual program streams from a received transport stream. In one example, a program stream might include a video stream, an audio stream, and a data stream. Demultiplexer 216 may be configured to receive data from transport module 214 and process the received data. For example, AV demultiplexer 216 can be configured to receive a program stream from transport module 214 and extract audio packets, video packets and data packets. That is, AV demultiplexer 216 can apply demultiplexing techniques to separate video streams, audio streams and data streams of a program stream. In one example, the AV demultiplexer 216 may be configured to de-encapsulate elementary video and audio streams into packets from a transport stream defined in accordance with MPEG-2 Part 1. It should be noted that although the modem 212, the transport module 214 and AV demultiplexer 216 are illustrated as distinct functional blocks, the functions performed by modem 212, transport module 214 and AV demultiplexer 216 can be highly integrated and realized using any combination of hardware, firmware and/or software implementations.

[058]A interface de rede 218 pode ser configurada para permitir que o dispositivo de computação 200 envie e receba dados através de uma rede pública. Conforme descrito acima, os dados enviados ou recebidos através de uma rede pública podem incluir conteúdo digital associado a dados, como, por exemplo, música, vídeos, imagens, páginas da web, mensagens, comunicação de voz e aplicativos. A interface de rede 218 pode incluir uma placa de interface de rede, como uma placa Ethernet, um transceptor óptico, um transceptor de frequência de rádio ou qualquer outro tipo de dispositivo configurado para enviar e receber informações. A interface de rede 218 pode ser configurada para realizar a sinalização física, endereçamento, e controle de acesso a canal de acordo com as camadas físicas e MAC usadas em uma rede pública, como, por exemplo, a rede pública 108. Ademais, de modo similar àquele descrito acima em relação ao módulo de transporte 214 e ao demultiplexador AV 216, a interface de rede 218 pode ser configurada para extrair pacotes de áudio, pacotes de vídeo e pacote de dados de um fluxo de dados. Por exemplo, a interface de rede 218 pode ser configurada para extrair pacotes de vídeo, pacotes de áudio e pacotes de dados de acordo com um ou mais dentre protocolo de Internet (IP), protocolo de controle de transporte (TCP), protocolo de streaming em tempo real (RTSP), protocolo de datagrama de usuário (UDP), protocolo em tempo real (RTP), protocolos de fluxo de transporte MPEG e protocolos IPTV. Deve ser observado que as técnicas descritas no presente documento são geralmente aplicáveis a quaisquer e todos os métodos de distribuição de conteúdo digital e não se limitam a implementações específicas de rede de comunicação. Por exemplo, as técnicas descritas no presente documento po-dem ser aplicáveis a conteúdo digital originados de uma ou mais dentre uma difusão, um multicast, um unicast, uma fonte de conteúdo over-the-top, um gravador de vídeo pessoal (PVR) e um ponto a fonte de conteúdo de ponto-a-ponto.[058] The network interface 218 can be configured to allow the computing device 200 to send and receive data over a public network. As described above, data sent or received over a public network may include digital content associated with data, such as music, videos, images, web pages, messages, voice communication and applications. Network interface 218 may include a network interface card, such as an Ethernet card, an optical transceiver, a radio frequency transceiver, or any other type of device configured to send and receive information. Network interface 218 may be configured to perform physical signaling, addressing, and channel access control in accordance with the physical and MAC layers used in a public network, such as, for example, public network 108. Similar to that described above with respect to transport module 214 and AV demultiplexer 216, network interface 218 can be configured to extract audio packets, video packets, and data packets from a data stream. For example, network interface 218 can be configured to extract video packets, audio packets and data packets according to one or more of Internet protocol (IP), transport control protocol (TCP), streaming protocol real-time protocol (RTSP), user datagram protocol (UDP), real-time protocol (RTP), MPEG transport stream protocols, and IPTV protocols. It should be noted that the techniques described in this document are generally applicable to any and all methods of distributing digital content and are not limited to specific communication network implementations. For example, the techniques described in this document may be applicable to digital content originating from one or more of a broadcast, a multicast, a unicast, an over-the-top content source, a personal video recorder (PVR) and a point to point source of point-to-point content.

[059]Com referência novamente à Figura 2A, os dados associados a conteúdo digital, como, por exemplo, música, vídeos, imagens, páginas da web, mensagens, comunicação de voz e aplicativos podem ser armazenados em um meio legível por computador, como, por exemplo, memória do sistema 204 e dispositivos de armazenamento 220. Os dados armazenados em um dispositivo de memória podem ser recuperados e processados por CPU(s) 202, decodificador de áudio 224, processador de áudio 226, decodificador de vídeo 228, unidade gráfica de usuário 230 e processador de exibição 232. Conforme descrito acima, a(s) CPU(s) 202 pode(m) ser capaz(es) de recuperar e processar instruções, código e/ou estruturas de dados para implementa uma ou mais técnicas descritas no presente documento. Cada um dentre o decodificador de áudio 224, processador de áudio 226, decodificador de vídeo 228, unidade de processamento gráfico 230 e 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 descritas no presente documento.[059] With reference again to Figure 2A, data associated with digital content, such as, for example, music, videos, images, web pages, messages, voice communication and applications can be stored in a computer-readable medium, such as , for example, system memory 204 and storage devices 220. Data stored on a memory device may be retrieved and processed by CPU(s) 202, audio decoder 224, audio processor 226, video decoder 228, drive user graphics 230 and display processor 232. As described above, CPU(s) 202 may be capable of retrieving and processing instructions, code, and/or data structures to implement one or more techniques described in this document. Each of the 224 audio decoder, 226 audio processor, 228 video decoder, 230 graphics processing unit, and 232 display processor may also be capable of retrieving and processing instructions, code, and/or data structures to implement one or more more of the techniques described in this document.

[060]O decodificador de áudio 224 pode ser configurado para recuperar e processar dados de áudio codificados. Por exemplo, o decodificador de áudio 224 pode ser uma combinação de hardware e software usada para implementar aspectos de codec de áudio. Os dados de áudio podem ser codificados usando formatos de múltiplos canais, como os desenvolvidos por Dolby e Digital Theatre Systems. Os dados de áudio podem ser codificados usando um formato compactado ou descompactado. Exemplos de formatos de áudio compactados incluem MPEG-1, 2 Camadas de Áudio II e III, AC-3, AAC, e Ogg Vorbis. Um exemplo de um formato de áudio descompactado inclui formato de áudio de modulação de código de pulso (PCM). O processador de áudio 226 pode ser configurado para recuperar amostras de áudio capturadas e pode processar dados de áudio para saída para um sistema de áudio (não mostrado). Em alguns exemplos, o processador de áudio 226 pode incluir um conversor analógico- digital. Um sistema de áudio pode compreender qualquer um dentre uma variedade de dispositivos de saída de áudio, como fones de ouvido, sistema de alto-falante único, sistema de alto-falante múltiplo ou sistema surround.[060] The 224 audio decoder can be configured to retrieve and process encoded audio data. For example, audio decoder 224 may be a combination of hardware and software used to implement audio codec aspects. Audio data can be encoded using multi-channel formats such as those developed by Dolby and Digital Theater Systems. Audio data can be encoded using either a compressed or uncompressed format. Examples of compressed audio formats include MPEG-1, Audio Layer 2 II and III, AC-3, AAC, and Ogg Vorbis. An example of an uncompressed audio format includes pulse code modulation (PCM) audio format. Audio processor 226 can be configured to retrieve captured audio samples and can process audio data for output to an audio system (not shown). In some examples, audio processor 226 may include an analog-to-digital converter. An audio system can comprise any one of a variety of audio output devices, such as headphones, a single speaker system, a multi-speaker system, or a surround system.

[061]O decodificador de vídeo 228 pode ser configurado para recuperar e processar dados de vídeo codificados. Por exemplo, o decodificador de vídeo 228 pode ser uma combinação de hardware e software usada para implementar aspectos de codec de vídeo. Em um exemplo, o decodificador de vídeo 228 pode ser configurado para decodifcar dados de vídeo codificados de acordo com qualquer número de padrões de compactação de vídeo, 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, e Codificação d Vídeo de Alta Eficiência (HEVC).[061] The video decoder 228 can be configured to retrieve and process encoded video data. For example, video decoder 228 may be a combination of hardware and software used to implement video codec aspects. In one example, video decoder 228 can be configured to decode video data encoded in accordance with any number of video compression standards, such as ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 or ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual, ITU-T H.264 (also known as ISO/IEC MPEG-4 AVC), VP8, and Encoding d High Efficiency Video (HEVC).

[062]Conforme descrito acima, um dispositivo com capacidades de reprodução de mídia pode fornecer uma interface gráfica de usuário que permite que um usuário acesse itens de conteúdo. Uma interface gráfica de usuário pode incluir imagens e gráficos exibidos em conjunto com o conteúdo de vídeo (por exemplo, ícones de reprodução sobrepostos em um vídeo). A unidade de processamento gráfico 230 é um exemplo de uma unidade de processamento dedicada que pode ser configurada para gerar interfaces gráficas de usuário, incluindo as interfaces gráficas de usuário descritas no presente documento. Ou seja, a unidade de processamento gráfico 230 pode ser configurada para receber comandos e dados de conteúdo e dados de pixels de saída. A unidade de processamento gráfico 230 pode operar de acordo com um pro-cesso de pipeline de gráficos (por exemplo, agrupador de entradas, sombreador de vértice, sombreador de geometria, rasterizador, sombreador de pixels e fusão de saída). A unidade de processamento gráfico 230 pode incluir múltiplos núcleos de processamento e pode ser configurada para operar de acordo com o OpenGL (Open Graphic Library, gerenciado pelo grupo Khronos) e/ou Direct3D (gerenciado por Microsoft, Inc.).[062]As described above, a device with media playback capabilities can provide a graphical user interface that allows a user to access content items. A graphical user interface can include images and graphics displayed alongside video content (for example, play icons overlaid on a video). Graphics processing unit 230 is an example of a dedicated processing unit that can be configured to generate graphical user interfaces, including the graphical user interfaces described herein. That is, the graphics processing unit 230 can be configured to receive commands and content data and output pixel data. The graphics processing unit 230 may operate in accordance with a graphics pipeline process (eg, input collation, vertex shader, geometry shader, rasterizer, pixel shader, and output merger). The graphics processing unit 230 can include multiple processing cores and can be configured to operate in accordance with OpenGL (Open Graphic Library, operated by the Khronos group) and/or Direct3D (managed by Microsoft, Inc.).

[063]O processador de exibição 232 pode ser configurado para recuperar e processar dados de pixel para exibição. Por exemplo, o processador de exibição 232 pode receber dados de pixel de decodificador de vídeo 228 e/ou unidade de proces-samento gráfico 230 e dados de saída para exibição. O processador de exibição 232 pode ser acoplado a uma tela, como a tela 250 (não mostrada na Figura 2A) usando um protocolo de comunicação padronizado (por exemplo, HDMI, DVI, DisplayPort, vídeo de componente, vídeo composto, e/ou VGA). A tela 250 pode compreender um dentre vários dispositivos de exibição, como uma tela de cristal líquido (LCD), uma tela de plasma, uma tela de diodo emissor de luz orgânica (OLED) ou outro tipo de dispositivo de exibição capaz de apresentar dados de vídeo para um usuário. A tela 250 pode incluir uma televisão de definição padrão, uma televisão de alta definição ou uma tela de ultrarresolução conforme descrito acima. Além disso, a tela 250 pode incluir uma tela integrada de um dispositivo de computação portátil (por exemplo, um telefone celular, um laptop, um assistente de dados pessoais (PDA) ou um dispositivo tablet). Conforme descrito acima, em alguns exemplos, um dispositivo de computação portátil pode operar como um dispositivo I/O para um dispositivo de computação estacionário.[063] The display processor 232 can be configured to retrieve and process pixel data for display. For example, display processor 232 may receive pixel data from video decoder 228 and/or graphics processing unit 230 and output data for display. Display processor 232 can be coupled to a screen, such as screen 250 (not shown in Figure 2A) using a standardized communication protocol (e.g., HDMI, DVI, DisplayPort, component video, composite video, and/or VGA). ). The screen 250 may comprise one of a number of display devices, such as a liquid crystal display (LCD), a plasma display, an organic light emitting diode (OLED) display, or another type of display device capable of displaying data. video for a user. Screen 250 may include a standard definition television, a high definition television, or an ultra-resolution screen as described above. In addition, screen 250 may include an integrated screen of a portable computing device (eg, a cell phone, laptop, personal data assistant (PDA) or tablet device). As described above, in some examples, a portable computing device can operate as an I/O device for a stationary computing device.

[064]Conforme descrito acima, com o uso de técnicas atuais, pode ser difícil para um usuário de um dispositivo tendo capacidades de reprodução de mídia digital determinar a disponibilidade e acessibilidade de item de conteúdos específico. Além disso, pode ser ainda mais difícil e demorado para um usuário determinar a disponibilidade e acessibilidade de itens de conteúdo específicos dentro de um conjunto definido de itens de conteúdo através de vários serviços usando técnicas atuais. O dispositivo de computação 200 representa um exemplo de um dispositivo que pode ser configurado para apresentar uma interface gráfica de usuário que permita que um usuário estabeleça restrições em relação ao acesso a itens de conteúdo, proporcionar uma interface gráfica de usuário que permita que um usuário defina um conjunto de itens de conteúdo a partir de um conjunto de itens de conteúdo, gerar um ou mais planos de acesso com base pelo menos em parte nas restrições e no conjunto de itens de conteúdo, e apresentar uma interface de usuário gráfica que permita que o usuário aceite um ou mais planos de acesso.[064]As described above, using current techniques, it may be difficult for a user of a device having digital media playback capabilities to determine the availability and accessibility of a specific content item. Furthermore, it can be even more difficult and time consuming for a user to determine the availability and accessibility of specific content items within a defined set of content items across multiple services using current techniques. Computing device 200 represents an example of a device that can be configured to present a graphical user interface that allows a user to set restrictions regarding access to content items, provide a graphical user interface that allows a user to define a set of content items from a set of content items, generate one or more access plans based at least in part on the constraints and the set of content items, and present a graphical user interface that allows the user accepts one or more access plans.

[065]A Figura 3 é um diagrama de fluxo de comunicação conceitual que ilustra um método exemplificativo para permitir que um usuário acesse itens de conteúdo de acordo com uma ou mais técnicas desta revelação. Deve ser observado que embora no exemplo ilustrado na Figura 3 as comunicações sejam ilustradas como ocorrendo entre locais distintos e as funções sejam ilustradas como ocorrendo em locais espe-cíficos, tal ilustração serve para propósitos descritivos e não limita as técnicas descritas no presente documento a uma arquitetura física específica. Por exemplo, o mecanismo de conteúdo 126 e/ou o agregador de pesquisa 124 podem ser implementados como uma combinação de hardware, firmware e/ou software incluído como parte no dispositivo de computação 200.[065] Figure 3 is a conceptual communication flow diagram illustrating an exemplary method for allowing a user to access content items in accordance with one or more techniques of this disclosure. It should be noted that although in the example illustrated in Figure 3 communications are illustrated as occurring between distinct locations and functions are illustrated as occurring at specific locations, such illustration is for descriptive purposes and does not limit the techniques described herein to a specific physical architecture. For example, content engine 126 and/or search aggregator 124 may be implemented as a combination of hardware, firmware and/or software included as part of computing device 200.

[066]Conforme descrito acima, o dispositivo de computação 200 pode fazer com que uma ou mais interfaces gráficas de usuário sejam apresentadas, por exemplo, através de um usuário que inicia um aplicativo de assistente de conteúdo. Com referência à Figura 3, o dispositivo de computação 200 pode ser configurado para receber informações de um usuário através de uma interface gráfica de usuário e fornecer as informações ao mecanismo de assistente de conteúdo 126. Ademais, o dispositivo de computação 200 pode ser configurado para receber informações de mecanismo de assistente de conteúdo 126 e fornecer as informações a um usuário através de uma interface gráfica de usuário. Conforme ilustrado na Figura 3, o dispositivo de computação 200 proporciona restrições de usuário ao mecanismo de assistente de conteúdo 126 (302). Em um exemplo, o dispositivo de computação 200 pode ser configurado para fornecer uma interface gráfica de usuário que permite que um usuário proporcione restrições de usuário. A Figura 4 ilustra um exemplo de uma interface gráfica de usuário que pode ser apresentada a um usuário que permite que um usuário forneça restrições de usuário.[066] As described above, the computing device 200 can cause one or more graphical user interfaces to be presented, for example, through a user launching a content assist application. Referring to Figure 3, computing device 200 can be configured to receive information from a user through a graphical user interface and provide the information to content assist engine 126. Furthermore, computing device 200 can be configured to receive information from content assist engine 126 and provide the information to a user through a graphical user interface. As illustrated in Figure 3, computing device 200 provides user restrictions to content assist engine 126 (302). In one example, computing device 200 can be configured to provide a graphical user interface that allows a user to provide user restrictions. Figure 4 illustrates an example of a graphical user interface that might be presented to a user that allows a user to provide user restrictions.

[067]Em um exemplo, a interface gráfica de usuário 400 pode ser apresentada a um usuário no início de um período de visualização, por exemplo, em uma base mensal ou outro período de assinatura. Como tal, os tipos de restrições incluídos na interface gráfica de usuário 400 podem corresponder a restrições que provavelmente mudarão em uma base mensal. Por exemplo, se um usuário planejar viajar em um determinado mês, o orçamento e/ou programação do usuário pode mudar. No exemplo ilustrado na Figura 4, a interface gráfica de usuário 400 inclui o painel de restrição de serviço 402, o painel de restrição de orçamento 404 e o painel de restrição de programação 406. Cada um dentre o painel de restrição de serviço 402, painel de restrição de orçamento 404 e painel de restrição de programação 406 pode ser selecionado por um usuário (por exemplo, usando o controle de navegação 280) e, após ser selecionado, um usuário pode especificar restrições específicas dentro do painel. No exemplo ilustrado na Figura 4, o painel de restrição de serviço 402 é selecionado e um usuário pode selecionar ícones que representam serviços potenciais e selecionar serviços aos quais um usuário deseja acessar itens de conteúdo. Isso pode incluir serviços que são suportados por um dispositivo e/ou serviços atualmente aos quais um usuário tem acesso ou assinatura. No exemplo ilustrado na Figura 4, todos os serviços exceto VUDU são selecionados. De maneira similar, um usuário pode selecionar um orçamento (por exemplo, $19,99) e um programa, por exemplo, um momento preferido para acessar itens de conteúdo (por exemplo, fins de semana). Em um exemplo, um usuário pode inicialmente fornecer informações de dispositivo (por exemplo, identificar informações para uma televisão digital), credenciais para assinaturas atuais (por exemplo, nomes e senhas de usuário) e/ou informações de cobrança (por exemplo, informações de cartão de crédito). Dessa forma, a interface gráfica de usuário 400 pode ser personalizada com base em informações fornecidas inicialmente por um usuário. Por exemplo, se o dispositivo de usuário não suportar um serviço específico, o serviço pode não estar incluído no painel de restrição de serviço 402.[067] In one example, the graphical user interface 400 may be presented to a user at the start of a viewing period, for example on a monthly basis or other subscription period. As such, the types of constraints included in graphical user interface 400 may correspond to constraints that are likely to change on a monthly basis. For example, if a user plans to travel in a certain month, the user's budget and/or schedule may change. In the example illustrated in Figure 4, the graphical user interface 400 includes the 402 service restriction panel, the 404 budget restriction panel, and the 406 schedule restriction panel. Budget Constraint 404 and Schedule Constraint Panel 406 may be selected by a user (e.g., using navigation control 280) and, after being selected, a user may specify specific restrictions within the panel. In the example illustrated in Figure 4, service restriction panel 402 is selected and a user can select icons representing potential services and select services to which a user wants access to content items. This may include services that are supported by a device and/or services that a user currently has access to or subscription to. In the example illustrated in Figure 4, all services except VUDU are selected. Similarly, a user can select a budget (eg $19.99) and schedule, ie a preferred time to access content items (eg weekends). In one example, a user may initially provide device information (for example, identifying information for a digital television), credentials for current subscriptions (for example, user names and passwords), and/or billing information (for example, credit card). In this way, the graphical user interface 400 can be customized based on information initially provided by a user. For example, if the user's device does not support a specific service, the service may not be included in the 402 service restriction panel.

[068]Deve ser observado que embora sejam ilustrados três tipos de painéis no exemplo da Figura 4, em outros exemplos, menos ou mais tipos de restrições podem ser fornecidos. Por exemplo, um usuário pode fornecer restrições em relação às classificações de item de conteúdo (por exemplo, especificando que o usuário deseja apenas acessar conteúdo para todas as idades). Além disso, interfaces gráficas de usuário adicionais que permitem que um usuário estabeleça restrições adicionais podem ser fornecidas pelo dispositivo de computação 200. A Figura 7 ilustra um exemplo de uma interface gráfica de usuário que pode ser apresentada a um usuário que permite que um usuário forneça restrições de usuário. No exemplo ilustrado na Figura 7, a interface gráfica de usuário 700 pode apresentar para um usuário tipos de restrição que provavelmente mudarão menos frequentemente do que os incluídos na Figura 4. Por exemplo, uma família com filhos provavelmente desejará limitar o acesso ao conteúdo adulto durante um longo período de tempo.[068] It should be noted that although three types of panels are illustrated in the example in Figure 4, in other examples, fewer or more types of restrictions can be provided. For example, a user can provide restrictions on content item ratings (for example, specifying that the user only wants access to content for all ages). Furthermore, additional graphical user interfaces that allow a user to set additional restrictions may be provided by computing device 200. Figure 7 illustrates an example of a graphical user interface that may be presented to a user that allows a user to provide user restrictions. In the example illustrated in Figure 7, the graphical user interface 700 may present a user with types of restrictions that are likely to change less frequently than those included in Figure 4. For example, a family with children will likely want to limit access to adult content during a long period of time.

[069]No exemplo ilustrado na Figura 7, a interface gráfica de usuário 700 inclui um controle deslizante de classificação de conteúdo máxima 702, número máximo de controle deslizante de plano recomendado 704 e número mínimo de filmes em um controle deslizante de plano recomendado 706. O controle deslizante de classificação máxima de conteúdo 702 permite que um usuário defina a classificação máxima de itens de conteúdo que estarão disponíveis em um plano recomendado. Conforme descrito em detalhes adicionais abaixo, isso pode fazer com que uma lista de itens de conteúdo disponíveis para a seleção seja filtrada. O número máximo de controles deslizantes de planos recomendados 704 pode permitir que um usuário defina o número de planos que são apresentados a um usuário (por exemplo, apresentado na interface gráfica do usuário 600). Por exemplo, pode haver dezenas (ou potencialmente mais) de planos que satisfazem os critérios do usuário e um usuário pode preferir analisar e selecionar um plano dentre um número limitado de planos, por exemplo, 2 a 6. Deve ser observado que o número de planos que satisfazem as restrições de um usuário aumenta à medida que as restrições de um usuário são atenuadas. Por exemplo, mais planos potenciais podem satisfazer as restrições de usuário, se o orçamento de usuário for ilimitado. Conforme descrito em mais detalhes abaixo, o mecanismo de assistente de conteúdo 126 pode classificar os planos de acordo com um ou mais critérios (por exemplo, número total de itens de conteúdo no plano, preferências de usuários por tipos de conteúdo, etc.). Dessa forma, quando vários planos satisfazem as restri-ções de um usuário, um número limitado de planos de classificação mais alta pode ser apresentado.[069] In the example illustrated in Figure 7, the graphical user interface 700 includes a maximum content rating slider 702, maximum number of recommended plane slider 704, and minimum number of movies in a recommended plane slider 706. The 702 maximum content rating slider allows a user to set the maximum rating of content items that will be available on a recommended plan. As described in further detail below, this can cause a list of content items available for selection to be filtered. The maximum number of recommended plane sliders 704 may allow a user to define the number of planes that are presented to a user (eg, presented in the graphical user interface 600). For example, there may be dozens (or potentially more) of plans that satisfy the user's criteria and a user may prefer to review and select a plan from a limited number of plans, for example 2 to 6. planes satisfying a user's constraints increases as a user's constraints are eased. For example, more potential plans can satisfy user restrictions if user budget is unlimited. As described in more detail below, content assist engine 126 can sort plans according to one or more criteria (eg, total number of content items in the plan, user preferences for content types, etc.). That way, when multiple plans satisfy a user's constraints, a limited number of the highest ranked plans can be presented.

[070]O número mínimo de itens de conteúdo em uma barra deslizante de plano recomendado 706 pode permitir que um usuário defina o número de itens de conteúdo necessários para ser incluído em um plano para que um plano esteja disponível para seleção (por exemplo, apresentado na interface gráfica do usuário 600). Por exemplo, um usuário pode desejar considerar planos com um número limiar de itens de conteúdo. Por exemplo, um usuário pode desejar se inscrever em um serviço se o serviço incluir pelo menos dois ou mais itens de conteúdo. Dessa forma, adicional ou alternativamente, a interface gráfica de usuário 700 pode incluir uma opção para definir um número mínimo de itens de conteúdo incluídos em um controle deslizante de serviço de assinatura. Desta forma, a interface gráfica de usuário 700 permite que um usuário estabeleça restrições em relação aos itens de conteúdo que podem estar incluídos em um plano, estabeleça restrições em relação ao número de planos potenciais que são apresentados ao usuário para seleção e/ou estabeleça restrições em relação aos critérios mínimos que são cumpridos para um plano que será apresentado para seleção potencial.[070]The minimum number of content items in a recommended plan slider 706 may allow a user to define the number of content items required to be included in a plan for a plan to be available for selection (e.g., featured in the graphical user interface 600). For example, a user might want to consider plans with a threshold number of content items. For example, a user might want to subscribe to a service if the service includes at least two or more content items. Accordingly, additionally or alternatively, graphical user interface 700 may include an option to define a minimum number of content items included in a subscription service slider. In this way, graphical user interface 700 allows a user to place restrictions on the content items that may be included in a plan, place restrictions on the number of potential plans that are presented to the user for selection, and/or set restrictions regarding the minimum criteria that are met for a plan to be submitted for potential selection.

[071]Com referência novamente à Figura 4, a interface gráfica de usuário 400 inclui um ícone de watchlist de compilação 408. Um usuário pode ativar o ícone de watchlist de compilação 408 após um usuário fornecer informações de restrição. Após a ativação, o ícone de watchlist de compilação 408 pode fazer com que a interface gráfica de usuário 500 ilustrada na Figura 5 seja apresentada. Ademais, novamente com referência à Figura 3, mediante a ativação por um usuário do ícone de watchlist de compilação 408 da lista de vigilância da compilação, o dispositivo de computação 200 pode proporcionar restrições de usuário ao mecanismo de assistente de conteúdo 126 (302). No exemplo ilustrado na Figura 3, após receber restrições de usuários, o mecanismo de assistente de conteúdo 126 fornece uma lista de itens de conteúdo disponíveis ao dispositivo de computação 200 (304). Uma lista de itens de conteúdo disponíveis pré-selecionados pode ser gerada com base em restrições de usuários recebidas. Por exemplo, o mecanismo do assistente de conteúdo 126 pode pré-visu- alizar uma lista completa de itens de conteúdo disponíveis em uma lista menor com base em serviços selecionados por um usuário, classificações de conteúdo máximas, ou similares. Deve ser observado que em outros exemplos, uma lista completa de itens de conteúdo disponíveis pode ser fornecida.[071] Referring back to Figure 4, the graphical user interface 400 includes a build watchlist icon 408. A user may activate the build watchlist icon 408 after a user provides restriction information. Upon activation, the build watchlist icon 408 may cause the graphical user interface 500 illustrated in Figure 5 to be displayed. Furthermore, referring again to Figure 3, upon activation by a user of the build watchlist icon 408 of the build watchlist, the computing device 200 can provide user restrictions to the content assist mechanism 126 (302). In the example illustrated in Figure 3, after receiving restrictions from users, content assist engine 126 provides a list of available content items to computing device 200 (304). A list of pre-selected available content items can be generated based on incoming user restrictions. For example, content assist engine 126 may preview a complete list of available content items into a smaller list based on services selected by a user, maximum content ratings, or the like. It should be noted that in other examples, a complete list of available content items may be provided.

[072]Conforme ilustrado na Figura 3, o dispositivo de computação 200 fornece um conjunto de itens de conteúdo ao mecanismo de assistente de conteúdo 126 (306). Em um exemplo, o dispositivo de computação 200 pode ser configurado para fornecer uma interface gráfica de usuário que permite que um usuário forneça um conjunto de itens de conteúdo. As Figuras 5A a 5B ilustram um exemplo de uma interface gráfica de usuário que pode ser apresentada para permitir que um usuário forneça um conjunto de itens de conteúdo. No exemplo ilustrado na Figura 5A, a interface gráfica de usuário 500 pode ser similar às interfaces gráficas de usuário descritas no Pedido de Patente norte-americano n° 14/336.758, atualmente pendente, atualmente pendente, comumente cedido à mesma cessionária, depositada em 21 de julho de 2014, que está incorporado no presente documento a título de referência em sua totalidade. Em outro exemplo, uma interface gráfica de usuário que pode ser apresentada a um usuário para permitir que um usuário forneça um conjunto de itens de conteúdo pode incluir uma interface gráfica de usuário similar às interfaces gráficas de usuário descritas no Pedido de patente norte-americano n° 14/577.269, atualmente pendente, co- mumente cedido à mesma cessionária depositado em 19 de dezembro de 2014. Deve ser observado que uma interface gráfica de usuário que permite que um usuário forneça um conjunto de itens de conteúdo pode ser otimizada para permitir que um usuário selecione eficientemente dezenas de itens de conteúdo de um conjunto a partir de centenas de itens de conteúdo e possa se diferir de uma interface gráfica de usuário projetada para permitir que um usuário selecione um único item de conteúdo para visualização a partir de um conjunto de dezenas de itens de conteúdo. Por exemplo, a interface gráfica de usuário 500 pode apresentar centenas de itens de conteúdo em uma única visualização.[072] As illustrated in Figure 3, the computing device 200 provides a set of content items to the content assist engine 126 (306). In one example, computing device 200 can be configured to provide a graphical user interface that allows a user to provide a set of content items. Figures 5A to 5B illustrate an example of a graphical user interface that can be presented to allow a user to provide a set of content items. In the example illustrated in Figure 5A, the graphical user interface 500 may be similar to the graphical user interfaces described in U.S. Patent Application No. 14/336,758, currently pending, currently pending, commonly assigned to the same assignee, filed at 21 July 2014, which is incorporated herein by reference in its entirety. In another example, a graphical user interface that may be presented to a user to allow a user to provide a set of content items may include a graphical user interface similar to the graphical user interfaces described in U.S. Patent Application No. 14/577,269, currently pending, commonly assigned to the same assignee filed on December 19, 2014. It should be noted that a graphical user interface that allows a user to provide a set of content items can be optimized to allow a user efficiently selects dozens of content items from a set of content items from hundreds of content items, and may differ from a graphical user interface designed to allow a user to select a single content item for viewing from a set of content items. dozens of content items. For example, graphical user interface 500 can present hundreds of content items in a single view.

[073]Conforme ilustrado na Figura 5A, a interface gráfica de usuário 500 inclui uma pluralidade de ícones que representa itens de conteúdo (por exemplo, cartazes de filmes) organizados em respectivas estruturas de pilha 502 e estruturas de pilha 504A a 504B. Cada estrutura de pilha pode representar subcategorias de conteúdo (por exemplo, filmes com títulos de A D, filmes com títulos de E a F e filmes com títulos de G a L). Conforme ilustrado na Figura 5A, um usuário pode rolar para a direita para visualizar estruturas de pilha adicionais que representam subcategorias de conteúdo adicionais. No exemplo ilustrado na Figura 5A, a estrutura de pilha 502 é selecionada e, como tal, pode estar disponível para níveis de seleção adicionais. Em um exemplo, um usuário pode ativar um ou mais controles em um dispositivo I/O (por exemplo, um único toque ou um duplo toque em uma tela sensível ao toque e/ou ativação do botão de seleção 282) para indicar uma seleção adicional de estrutura de pilha 502. A Figura 5B é um diagrama conceitual que ilustra um exemplo de uma interface gráfica de usuário que pode ser apresentada quando um usuário indica uma seleção adicional para a estrutura de pilha 502. Conforme ilustrado na Figura 5B, a interface gráfica de usuário 500 inclui uma pluralidade de ícones que representam filmes com títulos de E a F. Um usuário pode selecionar cada item de conteúdo incluído na interface gráfica de usuário ilustrada na Figura 5B (por exemplo, usando os controles de navegação 280) e indicar uma prioridade de visualização para um item de conteúdo selecionado (por exemplo, através de ativações sequenciais do botão de seleção 282, o que faz com que um número correspondente de estruturas de tópicos de estrela seja preenchido). Desta forma, a interface gráfica de usuário 500 pode permitir que um usuário indique uma prioridade de visualização para cada um dentre uma pluralidade de itens de conteúdo. No exemplo ilustrado na Figura 5B, as prioridades de visualização incluem alta, média, baixa, e nenhuma. Os itens de conteúdo incluindo pelo menos uma baixa prioridade de visualização podem estar incluídos em uma watchlist de usuário, ou seja, dentro de um conjunto de itens de conteúdo. Deve ser observado que, em alguns exemplos, o número de itens que podem ser incluídos em um conjunto pode ser limitado. Por exemplo, em um exemplo, um usuário pode limitar-se a selecionar 10 a 20 itens de conteúdo e uma mensagem pode ser fornecida ao usuário indicando que a watchlist está cheia (ou seja, um número máximo de itens de conteúdo foi selecionado).[073] As illustrated in Figure 5A, the graphical user interface 500 includes a plurality of icons representing content items (for example, movie posters) organized in respective stack structures 502 and stack structures 504A to 504B. Each stack structure can represent subcategories of content (for example, movies with titles A D, movies with titles E through F, and movies with titles G through L). As illustrated in Figure 5A, a user can scroll to the right to view additional stack structures that represent additional content subcategories. In the example illustrated in Figure 5A, stack structure 502 is selected and as such may be available for additional levels of selection. In one example, a user may activate one or more controls on an I/O device (e.g., single-tap or double-tap on a touchscreen and/or activation of select button 282) to indicate an additional selection. of stack structure 502. Figure 5B is a conceptual diagram illustrating an example of a graphical user interface that may be presented when a user indicates an additional selection for stack structure 502. As illustrated in Figure 5B, the graphical user interface User interface 500 includes a plurality of icons representing movies with titles E through F. A user can select each item of content included in the graphical user interface illustrated in Figure 5B (e.g., using navigation controls 280) and indicate a view priority for a selected content item (for example, through sequential activations of the 282 selection button, which causes a corresponding number of star outlines to be populated). In this way, graphical user interface 500 may allow a user to indicate a viewing priority for each of a plurality of content items. In the example illustrated in Figure 5B, the display priorities include high, medium, low, and none. Content items including at least a low view priority can be included in a user watchlist, that is, within a set of content items. It should be noted that, in some instances, the number of items that can be included in a set may be limited. For example, in one example, a user may be limited to selecting 10-20 content items and a message may be provided to the user indicating that the watchlist is full (ie, a maximum number of content items have been selected).

[074]Conforme descrito em detalhes abaixo, o mecanismo de assistente de conteúdo 126 pode usar valores de prioridade de visualização do usuário para gerar planos recomendados (por exemplo, classificar um plano com base na prioridade de visualização de cada item do conteúdo incluído no plano). Além disso, em alguns exemplos, o mecanismo de assistente de conteúdo 126 pode derivar preferências de usuário mais gerais a partir de informações de prioridade de visualização. Por exemplo, se a maioria dos itens de conteúdo incluídos como tendo uma alta prioridade de visualização for classificada como sendo do gênero Ação/Aventura, o mecanismo de assistente de conteúdo 126 pode determinar que um usuário geralmente prefere filmes de Ação. Além disso, em alguns exemplos, as interfaces gráficas de usuário podem ser apresentadas a um usuário que permite que um usuário forneça, de forma implícita e/ou explícita, informações de preferência. A Figura 8 é um diagrama concei- tual que ilustra uma interface gráfica de usuário exemplificativa que pode permitir que um usuário forneça informações de preferência.[074]As described in detail below, the content assist engine 126 can use user view priority values to generate recommended plans (for example, rank a plan based on the view priority of each item of content included in the plan ). Furthermore, in some examples, content assist engine 126 may derive more general user preferences from view priority information. For example, if most of the content items included as having a high viewing priority are classified as Action/Adventure genre, the content assist engine 126 may determine that a user generally prefers Action movies. Additionally, in some examples, graphical user interfaces may be presented to a user that allow a user to implicitly and/or explicitly provide preference information. Figure 8 is a conceptual diagram illustrating an example graphical user interface that might allow a user to enter preference information.

[075]No exemplo ilustrado na Figura 8, a interface gráfica de usuário 800 inclui controles deslizantes de comparação de categoria 802A a 802C. Deve ser observado que embora no exemplo ilustrado na Figura 8 as categorias de comparação correspondem a gênero, em outros exemplos, as categorias de comparação podem corresponder a outras informações que podem ser usadas para determinar as preferências de um usuário. Por exemplo, os controles deslizantes de comparação de categoria podem incluir qualquer combinação de atores, diretores, gêneros, e/ou data de lança-mento. No exemplo ilustrado na Figura 8, um usuário pode definir um valor de controle deslizante para um dentre Discordo totalmente (SD), Discordo (D), Sem preferência (N), Concordo (A), Concordo totalmente (SA). Além disso, em um exemplo, a interface gráfica de usuário pode incluir opções de preferência binária (isto é, Discordo ou Concordo). Em outro exemplo, um usuário pode fornecer preferências binárias por uma dentre duas imagens selecionadas, representando um item de conteúdo. Por exemplo, dois ícones de cartazes de filmes (ou ícones de ator, ícones de diretor ou similares) podem ser apresentados na tela 250 com uma mensagem “Qual você prefere?” e um usuário pode selecionar o ícone de acordo com sua preferência pessoal.[075] In the example illustrated in Figure 8, the graphical user interface 800 includes category comparison sliders 802A to 802C. It should be noted that although in the example illustrated in Figure 8 the comparison categories correspond to gender, in other examples the comparison categories may correspond to other information that can be used to determine a user's preferences. For example, category comparison sliders can include any combination of actors, directors, genres, and/or release date. In the example illustrated in Figure 8, a user can set a slider value to one of Strongly Disagree (SD), Disagree (D), No Preference (N), Agree (A), Strongly Agree (SA). Also, in one example, the graphical user interface may include binary preference options (ie, Disagree or Agree). In another example, a user might provide binary preferences for one of two selected images representing a content item. For example, two movie poster icons (or actor icons, director icons or the like) could be presented on screen 250 with a message “Which do you prefer?” and a user can select the icon according to their personal preference.

[076]Com referência novamente à Figura 3, o dispositivo de computação 200 fornece o conjunto de itens de conteúdo ao mecanismo de assistente de conteúdo 126 (306) e fornece informações de preferência de usuário ao mecanismo de assistente de conteúdo 126, que podem incluir prioridades de visualização e, opcionalmente, informações gerais de preferência de usuário. Mediante o recebimento de um conjunto de itens de conteúdo, o mecanismo de assistente de conteúdo 126 pode converter o conjunto de item de conteúdo em um conjunto de consultas (308). Ou seja, em um exemplo, o dispositivo de computação 200 pode fornecer um conjunto de itens de conteúdo ao mecanismo de assistente de conteúdo 126 de acordo com um formato de metadados e o mecanismo de assistente de conteúdo 126 pode converter o formato de metadados em outro formato de metadados com propósitos de pesquisa. Por exemplo, o mecanismo de assistente de conteúdo 126 pode receber uma lista de títulos para cada item de conteúdo no conjunto e pode converter cada título na lista em uma ou mais palavras-chave (por exemplo, um diretor e uma palavra-chave do título) que podem identificar mais exclusivamente cada item de conteúdo ou um identificador exclusivo com propósitos de realização de consultas. Deve ser observado que em alguns exemplos, uma conversão pode ser desnecessária. Ou seja, o dispositivo de computação 200 pode ser configurado para fornecer metadados em um formato que pode ser usado para consultas de pesquisa.[076] Referring again to Figure 3, the computing device 200 provides the set of content items to the content assist engine 126 (306) and provides user preference information to the content assist engine 126, which may include viewing priorities and, optionally, general user preference information. Upon receipt of a set of content items, the content assist engine 126 may convert the set of content items into a set of queries (308). That is, in one example, computing device 200 may provide a set of content items to content assist engine 126 in one metadata format, and content assist engine 126 may convert the metadata format to another. metadata format for research purposes. For example, the content assist engine 126 may receive a list of titles for each content item in the set and may convert each title in the list into one or more keywords (e.g., a director and a title keyword). ) that may more uniquely identify each item of content or a unique identifier for querying purposes. It should be noted that in some examples, a conversion may be unnecessary. That is, computing device 200 can be configured to provide metadata in a format that can be used for search queries.

[077]Conforme ilustrado na Figura 3, o mecanismo de assistente de conteúdo 126 fornece um conjunto de consultas ao agregador de pesquisas 124 (310). Conforme descrito acima, o agregador de pesquisa 124 pode ser configurado para realizar uma pluralidade de consultas e gerar resultados agregados. Mediante o recebimento de um conjunto de consultas, o agregador de pesquisa 124 consulta sites de serviços de mídia 118A a 118N para cada um dos itens A ao item N incluído em um conjunto de itens de conteúdo e sites de serviços de mídia 118A a 118N fornecem um resultado de pesquisa para cada item de conteúdo (312). Em um exemplo, um resultado pode incluir informações de disponibilidade associadas a um item de conteúdo (por exem-plo, uma indicação se o item de conteúdo está disponível através do serviço de mídia) e informações de acessibilidade associadas a um item de conteúdo (por exemplo, o preço para acessar o item de conteúdo). Deve ser observado que no exemplo ilustrado na Figura 3, embora o agregador de pesquisa seja ilustrado como consultando sequencialmente o site de serviço de mídia 118A para cada item de conteúdo e, então, consultando sequencialmente cada site de serviço de mídia subsequente para cada item de conteúdo, tal ilustração não limita o agregador de pesquisa 124 a uma metodologia de pesquisa específica. Ou seja, as técnicas descritas no presente documento podem ser geralmente aplicáveis, independentemente de algoritmos de pesquisa específicos. Além disso, deve ser observado que, em alguns exemplos, o agregador de pesquisa 124 pode manter um banco de dados indicando a disponibilidade e acessibilidade de itens de conteúdo e pode não precisar consultar cada site de serviço de mídia após receber um conjunto de consultas. Ou seja, os resultados de consulta recentes podem ser armazenados em um agregador de pesquisa 124.[077] As illustrated in Figure 3, the content assist engine 126 provides a set of queries to the search aggregator 124 (310). As described above, search aggregator 124 can be configured to perform a plurality of queries and generate aggregated results. Upon receipt of a set of queries, search aggregator 124 queries media service sites 118A to 118N for each of items A to item N included in a set of content items, and media service sites 118A to 118N provide a search result for each content item (312). In one example, a result might include availability information associated with a content item (for example, an indication whether the content item is available through the media service) and accessibility information associated with a content item (for example, example, the price to access the content item). It should be noted that in the example illustrated in Figure 3, although the search aggregator is illustrated as sequentially querying media service site 118A for each content item and then sequentially querying each subsequent media service site for each content item, content, such illustration does not limit search aggregator 124 to a specific search methodology. That is, the techniques described in this document may be generally applicable, regardless of specific search algorithms. Furthermore, it should be noted that, in some examples, search aggregator 124 may maintain a database indicating the availability and accessibility of content items and may not need to query each media service site after receiving a set of queries. That is, recent query results can be stored in a search aggregator 124.

[078]O agregador de pesquisa 124 agrega os resultados para cada consulta (314) e fornece os resultados da consulta agregados ao mecanismo de assistente de conteúdo (316). Mediante o recebimento dos resultados da consulta, o mecanismo de assistente de conteúdo 126 pode processar um conjunto de restrições de usuário, um conjunto definido por usuários de itens de conteúdo, as preferências de usuário (por exemplo, cada item de conteúdo no conjunto pode estar associado a uma prioridade de visualização e/ou preferências gerais podem ser processadas), disponibilidade e informações de acessibilidade associadas a itens de conteúdo dentro do conjunto (318). Em um exemplo, o mecanismo de assistente de conteúdo 126 pode gerar recomendações para acessar itens de conteúdo com base em um conjunto de restrições de usuários, um conjunto definido por usuário de itens de conteúdo, informações de disponibilidade e acessibilidade associadas a item de conteúdos e/ou informações de preferência do usuário. Em um exemplo, uma recomendação pode ser chamada de um plano de acesso. Um plano de acesso pode ser descrito como um ou mais serviços que permitem o acesso de um usuário aos itens de conteúdo dentro de um conjunto de itens de conteúdo, dadas as restrições e preferências do usuário.[078] The search aggregator 124 aggregates the results for each query (314) and provides the aggregated query results to the content assist engine (316). Upon receipt of query results, content assist engine 126 may process a set of user constraints, a user defined set of content items, user preferences (e.g., each content item in the set may be associated with a viewing priority and/or general preferences can be processed), availability and accessibility information associated with content items within the set (318). In one example, content assist engine 126 can generate recommendations for accessing content items based on a set of user restrictions, a user-defined set of content items, availability and accessibility information associated with the content item, and /or user preference information. In one example, a recommendation might be called an access plan. An access plan can be described as one or more services that allow a user access to content items within a set of content items, given the user's restrictions and preferences.

[079]Em um exemplo, o mecanismo de assistente de conteúdo 126 pode gerar planos de acesso com base em uma abordagem hierárquica. Por exemplo, o mecanismo de assistente de conteúdo 126 pode primeiro determinar quais serviços de transmissão baseados em assinatura (por exemplo, serviços que fornecem acesso ilimitado a itens de conteúdo por uma taxa mensal) estão dentro do orçamento de um usuário e/ou incluem um número mínimo de itens de conteúdo (por exemplo, conforme especificado de acordo com uma interface gráfica de usuário de configurações globais). Para cada serviço de transmissão baseado em assinatura dentro do orçamento de um usuário e/ou incluindo um número mínimo de itens de conteúdo, o mecanismo de assistente de conteúdo 126 pode classificar cada serviço com base no número de itens de conteúdo disponíveis através do serviço que está incluído em um conjunto de itens de conteúdo definido. Por exemplo, um serviço pode fornecer acesso a 6 dentre 20 itens de conteúdo e outro serviço pode fornecer acesso a 5 dentre 20 itens de conteúdo. Além disso, em um exemplo, o mecanismo de assistente de conteúdo 126 pode classificar cada serviço de transmissão baseado em assinatura pesando itens de conteúdo disponíveis com base em uma prioridade de visualização associada a cada item de conteúdo. Por exemplo, os itens de conteúdo podem receber os seguintes pesos com base na prioridade de visualização: 3 para alta, 2 para média e 1 para baixa. Neste exemplo, quatro itens de conteúdo de alta prioridade podem classificar mais de seis itens de conteúdo de baixa prioridade (ou seja, 12 vs. 6). Ademais, em um exemplo, cada item de conteúdo pode ter um peso adicional com base na possibilidade de o item de conteúdo corresponder a uma preferência de usuário geral. Por exemplo, no caso em que um usuário prefere filmes de ação, um valor de 1 pode ser adicionado a um peso de prioridade de visualização. Em um exemplo, o mecanismo de assistente de conteúdo 126 pode ainda classificar cada serviço de streaming baseado em assinatura com base na acessibilidade, por exemplo, no preço. Por exemplo, um serviço mensal de $7,99 pode ter um peso mais alto do que um serviço mensal de $9,99. Em um exemplo, o preço pode ser dividido pelo orçamento total e multiplicado pela soma ponderada de itens de conteúdo. A Equação 1 abaixo fornece um exemplo de como um serviço de assinatura pode ser classificado: Classificaçãos = (Orçamento/ Preço)*((Wvp+ WGP)I + ... + (WVP+ WGP)Π)(1)[079] In one example, the content assist engine 126 can generate access plans based on a hierarchical approach. For example, content assist engine 126 may first determine which subscription-based streaming services (e.g., services that provide unlimited access to content items for a monthly fee) are within a user's budget and/or include a minimum number of content items (for example, as specified according to a global settings graphical user interface). For each subscription-based streaming service within a user's budget and/or including a minimum number of content items, the content assist engine 126 may rank each service based on the number of content items available through the service that is included in a set of defined content items. For example, one service might provide access to 6 out of 20 content items, and another service might provide access to 5 out of 20 content items. Further, in one example, content assist engine 126 can rank each subscription-based streaming service by weighing available content items based on a viewing priority associated with each content item. For example, content items can be given the following weights based on viewing priority: 3 for high, 2 for medium, and 1 for low. In this example, four high priority content items can rank more than six low priority content items (ie 12 vs. 6). Also, in one example, each content item can be given additional weight based on whether the content item matches an overall user preference. For example, in the case where a user prefers action movies, a value of 1 can be added to a viewing priority weight. In one example, content assist engine 126 may further rank each subscription-based streaming service based on accessibility, e.g., price. For example, a $7.99 monthly service may carry a higher weight than a $9.99 monthly service. In one example, the price could be divided by the total budget and multiplied by the weighted sum of content items. Equation 1 below provides an example of how a subscription service might be rated: Ratings = (Budget/Price)*((Wvp+ WGP)I + ... + (WVP+ WGP)Π)(1)

[080]em que[080] in which

[081]Preço iπclui o preço para acessar o serviço de assiπatura;[081]Price includes the price to access the subscription service;

[082] Orçamento inclui o orçamento estabelecido pelo usuário. Deve ser observado que o Orçamento é definido para ilimitado ou em que o Preço é igual a zero (ou seja, livre acesso), o valor de (Preço/Orçamento) pode ser ajustado para igual a um valor máximo padrão;[082] Budget includes the budget set by the user. It should be noted that when Budget is set to unlimited or where Price equals zero (ie free access), the value of (Price/Budget) can be adjusted to equal a default maximum value;

[083] WVP inclui um peso de prioridade de visualização e WGP inclui um peso de preferência geral por cada um dos itens de conteúdo 1 a n disponíveis através do serviço de assinatura.[083] WVP includes a viewing priority weight and WGP includes a general preference weight for each of the content items 1 through n available through the subscription service.

[084]Em um exemplo, após classificar cada serviço de streaming baseado em assinatura, o mecanismo de assistente de conteúdo 126 pode selecionar um serviço de streaming baseado em assinatura para inclusão em um plano de acesso e continuar a otimizar o orçamento de um usuário classificando os itens de conteúdo acessíveis através de pagamento por uso. Por exemplo, o mecanismo de assistente de conteúdo 126 pode determinar o orçamento restante disponível após subtrair uma taxa de assinatura mensal de um serviço de streaming e otimizar qualquer orçamento restante classificando os itens de conteúdo com base no preço, prioridade de visualização e/ou preferências gerais. O motor de assistente de conteúdo 126 pode determinar cada item disponível de conteúdo que pode ser acessado com o orçamento restante e classificar cada item de conteúdo. A Equação 2 abaixo fornece um exemplo de como os itens de conteúdo individuais podem ser classificados: ClassificaçãoC = (Orçamento Restante/Preço)*(WVP + WGP)(2)[084] In one example, after ranking each subscription-based streaming service, the content assistant engine 126 can select a subscription-based streaming service for inclusion in an access plan and continue to optimize a user's budget by ranking content items accessible on a pay-as-you-go basis. For example, content assist engine 126 can determine the remaining budget available after subtracting a monthly subscription fee to a streaming service and optimize any remaining budget by ranking content items based on price, viewing priority and/or preferences. general. The content assist engine 126 can determine each available item of content that can be accessed with the remaining budget and rank each item of content. Equation 2 below provides an example of how individual content items can be ranked: RankC = (Budget Remaining/Price)*(WVP + WGP)(2)

[085]em que[085] in which

[086]Preço inclui o preço para acessar um item de conteúdo individual;[086]Price includes the price to access an individual content item;

[087] Orçamento Restante é igual ao orçamento estabelecido por um usuário menos o orçamento de um serviço de assinatura incluído em um plano de acesso, deve ser observado que, se o Orçamento for estabelecido como ilimitado ou em que o Preço é igual a zero, o valor de (Preço/Orçamento Restante) poderá ser definido igual a um valor máximo padrão;[087] Remaining Budget is equal to the budget established by a user minus the budget of a subscription service included in an access plan, it should be noted that, if the Budget is established as unlimited or where the Price is equal to zero, the value of (Price/Budget Remaining) can be set equal to a default maximum value;

[088] WVP inclui um peso de prioridade de visualização para o item de conteúdo e WGP inclui um peso de preferência geral para um item de conteúdo.[088] WVP includes a viewing priority weight for the content item and WGP includes a general preference weight for a content item.

[089]Um caso exemplificativo de classificação de itens de conteúdo pode incluir um caso em que, se um orçamento restante for $ 9,99, o mecanismo de conteúdo 126 pode incluir a opção de alugar dois filmes de alta prioridade de visualização por $4,99 cada ou alternativamente alugar três filmes de prioridade de visualização média por $ 2,99 cada com base em valores de prioridade de visualização e/ou valores de preferência gerais. Dessa forma, em um exemplo, a soma de Classificaçãos (ou um valor de classificação alternativo) para um serviço de streaming baseado em assina-tura e a ClassificaçãoC de cada item de conteúdo pode ser usada para classificar um plano de acesso.[089]An example case of ranking content items might include a case where, if a remaining budget is $9.99, content engine 126 might include the option to rent two high viewing priority movies for $4, 99 each or alternatively rent three medium viewing priority movies for $2.99 each based on viewing priority values and/or general preference values. So, in one example, the sum of Ratings (or an alternate rating value) for a subscription-based streaming service and the C-Rating of each content item can be used to rate an access plan.

[090]Conforme ilustrado na Figura 3, os planos de acesso podem ser fornecidos ao dispositivo de computação 200 (320). Mediante o recebimento de recomendações, o dispositivo de computação 200 pode ser configurado para gerar uma interface gráfica de usuário apresentando planos de acesso ao usuário e permitir que um usuário acesse itens de conteúdo através de serviços incluídos em um plano de acesso. Conforme descrito acima, o número de planos de acesso recomendados apresentados a um usuário pode ser limitado com base em uma configuração global. Por exemplo, um usuário pode apenas desejar selecionar entre dois planos de acesso. Nesse caso, os planos de acesso de classificação mais alta podem ser apresentados a um usuário. As Figuras 6A a 6C são diagramas conceituais que ilustram interfaces gráficas de usuário exemplificativas que podem permitir que um usuário acesse itens de conteúdo com base em recomendações fornecidas pelo mecanismo de assistente de conteúdo 126. Conforme ilustrado na Figura 6A, interface gráfica de usuário 600 inclui painéis de recomendações 602A a 602B. No exemplo ilustrado na Figura 6A, um usuário pode selecionar um painel de recomendações (por exemplo, usando setas de navegação 280). Conforme adicionalmente ilustrado na Figura 6A, um usuário pode rolar para a direita para visualizar e selecionar painéis de recomendação adicionais (se disponíveis). Dessa forma, qualquer número de recomendações pode ser apresentado a um usuário.[090] As illustrated in Figure 3, access plans can be provided to the computing device 200 (320). Upon receipt of recommendations, computing device 200 can be configured to generate a graphical user interface presenting access plans to the user and allowing a user to access content items through services included in an access plan. As described above, the number of recommended access plans presented to a user can be limited based on a global setting. For example, a user may just want to select between two access plans. In that case, the highest ranked access plans can be presented to a user. Figures 6A through 6C are concept diagrams illustrating exemplary graphical user interfaces that may allow a user to access content items based on recommendations provided by content assist engine 126. As illustrated in Figure 6A, graphical user interface 600 includes advisory panels 602A to 602B. In the example illustrated in Figure 6A, a user can select a panel of recommendations (eg using navigation arrows 280). As further illustrated in Figure 6A, a user can scroll to the right to view and select additional recommendation panels (if available). In this way, any number of recommendations can be presented to a user.

[091]Conforme ilustrado na Figura 6A, um painel de recomendações inclui um resumo de um plano de acesso (por exemplo, “Plano Um: 8 filmes por $19,97") e um resumo de cada serviço incluído na recomendação (por exemplo, “Assine Netflix para assistir 5 de seus filmes por $ 9,99”, “Alugue 2 de seus filmes em VUDU por $ 9,98” e “Assista em 1 de seus filmes de Crackle de Graça“). Cada painel de recomendações inclui um link de aceitação 604 e link de detalhes 606. Após a ativação, o link de detalhes 606 pode fazer com que uma interface gráfica de usuário, incluindo informações mais detalhadas de um plano de acesso seja apresentada. A Figura 6B ilustra um exemplo de uma interface gráfica de usuário incluindo informações mais detalhadas de um plano de acesso.[091]As illustrated in Figure 6A, a recommendation panel includes a summary of an access plan (for example, “Plan One: 8 movies for $19.97”) and a summary of each service included in the recommendation (for example, “Subscribe to Netflix to watch 5 of their movies for $9.99”, “Rent 2 of their movies on VUDU for $9.98”, and “Watch 1 of their Crackle movies for Free”) Each recommendation panel includes an acceptance link 604 and details link 606. Upon activation, the details link 606 may cause a graphical user interface including more detailed information of an access plan to be displayed Figure 6B illustrates an example of a graphical user interface including more detailed information of an access plan.

[092]Conforme ilustrado na Figura 6B, o painel de recomendações 602A exibe títulos de itens de conteúdo, informações específicas de preço, e uma indicação de prioridade de visualização para cada item de conteúdo. Uma indicação de prioridade de visualização para cada item de conteúdo pode ser ilustrada usando uma ou mais técnicas (por exemplo, tipos de fonte, codificação de cores, etc.). Ademais, como ilustrado na Figura 6B, o painel de recomendações 602A inclui um link de aceitação 604. Após a ativação do link de aceitação 604, o dispositivo de computação 200 pode realizar ações que facilitam o acesso de itens de conteúdo por um usuário. Por exemplo, o dispositivo de computação 200 pode fazer com que um usuário se inscreva em serviços (por exemplo, usando informações de cobrança fornecidas pelo usuário), cancelar serviços existentes e/ou enfileirar os itens de conteúdo (por exemplo, adicionar itens de conteúdo a uma fila fornecida por um serviço). Deve ser observado que o nível de facilitação pode depender das informações fornecidas por um usuário, preferências fornecidas por um usuário e/ou o nível de facilitação suportado por um serviço. Por exemplo, mediante a aceitação de um plano de acesso recomendado, um usuário pode ou não desejar confirmar a compra de uma assinatura. Dessa forma, uma ou mais interfaces gráficas de usuário intermediárias podem ser apresentadas a um usuário, mediante a aceitação de uma recomendação por um usuário. A Figura 6C ilustra um exemplo de uma interface gráfica de usuário que pode ser apresentada mediante a aceitação de um usuário de um plano de acesso recomendado. Conforme ilustrado na Figura 6C, a interface gráfica de usuário 600 inclui um painel de recomendação aceita 608 que inclui ícones que mediante ativação, permitem que um usuário acesse itens de conteúdo através de um serviço específico. Dessa forma, o dispositivo de computação 200 representa um exemplo de um dispositivo de computação configurado para facilitar o acesso a itens de conteúdo.[092] As illustrated in Figure 6B, the recommendation panel 602A displays content item titles, specific pricing information, and an indication of viewing priority for each content item. A view priority indication for each content item can be illustrated using one or more techniques (eg font types, color coding, etc.). Furthermore, as illustrated in Figure 6B, the recommendations panel 602A includes an opt-in link 604. Upon activation of the opt-in link 604, the computing device 200 can perform actions that facilitate access to content items by a user. For example, computing device 200 can cause a user to subscribe to services (e.g., using user-supplied billing information), cancel existing services, and/or queue up content items (e.g., add content items to a queue provided by a service). It should be noted that the level of facilitation may depend on information provided by a user, preferences provided by a user and/or the level of facilitation supported by a service. For example, upon acceptance of a recommended access plan, a user may or may not wish to confirm the purchase of a subscription. In this way, one or more intermediate graphical user interfaces can be presented to a user upon acceptance of a recommendation by a user. Figure 6C illustrates an example of a graphical user interface that may be presented upon a user's acceptance of a recommended access plan. As illustrated in Figure 6C, the graphical user interface 600 includes an accepted recommendation panel 608 that includes icons that upon activation, allow a user to access content items through a specific service. Accordingly, computing device 200 represents an example of a computing device configured to facilitate access to content items.

[093]Em um exemplo, além de gerar os planos de acesso, o mecanismo de assistente de conteúdo 126 pode gerenciar serviços de assinatura em nome de um usuário. Por exemplo, o mecanismo de assistente de conteúdo 126 pode incluir um servidores que armazenam informações associadas a uma conta de um usuário. Em um exemplo, um usuário pode permitir adicionar um equivalente de crédito à sua conta. Em um exemplo, o mecanismo de assistente de conteúdo 126 pode se comunicar com provedores de serviços de mídia 118A a 118N para permitir que o dispositivo de computação 200 acesse os serviços. Além disso, o assistente de conteúdo 126 pode se comunicar com os provedores de serviços de mídia 118A a 118N para permitir que o dispositivo de computação 200 cancele e, por exemplo, não seja cobrado pelo acesso a um serviço. Desta forma, o mecanismo de assistente de conteúdo 126 pode atuar como agente para um usuário e resumir o gerenciamento de serviços. Além disso, em um exemplo, o mecanismo de assistente de conteúdo 126 pode fazer com que os itens de conteúdo incluídos em planos de acesso aceitos sejam enfileirados (por exemplo, adicionados a uma watchlist) para os respectivos serviços.[093] In one example, in addition to generating access plans, the content assistant engine 126 can manage subscription services on behalf of a user. For example, content assist engine 126 may include servers that store information associated with a user's account. In one example, a user might allow adding a credit match to their account. In one example, content assist engine 126 may communicate with media service providers 118A through 118N to allow computing device 200 to access services. Furthermore, content assist 126 can communicate with media service providers 118A to 118N to allow computing device 200 to opt out and, for example, not be charged for access to a service. In this way, the content assist mechanism 126 can act as an agent for a user and resume service management. Furthermore, in one example, the content assist mechanism 126 may cause content items included in accepted access plans to be queued (eg, added to a watchlist) for the respective services.

[094]Conforme descrito no presente documento, em um exemplo, um método para facilitar o acesso a itens de conteúdo compreende apresentar uma interface gráfica de usuário que permita que um usuário estabeleça restrições em relação ao acesso a itens de conteúdo, proporcionar uma interface gráfica de usuário que permita que um usuário defina um conjunto de itens de conteúdo a partir de um conjunto de itens de conteúdo, receber um ou mais planos de acesso com base pelo menos em parte nas restrições e no conjunto de itens de conteúdo, e apresentar uma interface de usuário gráfica que permita que o usuário aceite um ou mais planos de acesso. Em um exemplo, permitir que um usuário estabeleça restrições inclui permitir que um usuário estabeleça uma restrição orçamentária mensal. Em um exemplo permitir que um usuário estabeleça restrições inclui permitir que um usuário estabeleça uma avaliação de maturidade máxima de para itens de conteúdo. Em um exemplo, o conjunto de itens de conteúdo inclui um conjunto de itens de conteúdo pré-selecionado com base pelo menos em parte nas restrições. Em um exemplo, o método compreende adicionalmente permitir que um usuário associe uma prioridade de visualização para cada item de conteúdo no conjunto de itens de conteúdo, e gerar um ou mais planos de acesso se baseia adicionalmente pelo menos em parte em uma prioridade de visualização associada. Em um exemplo, um plano de acesso especifica um ou mais serviços de mídia digital que proporcionam disponibilidade a pelo menos um item de conteúdo incluído no conjunto de itens de conteúdo. Em um exemplo, um plano de acesso especifica pelo menos um serviço de mídia digital para fornecer acesso a pelo menos um item de conteúdo incluído no conjunto de itens de conteúdo acessível com base em uma taxa de assinatura mensal e pelo menos outro serviço de mídia digital para fornecer acesso a pelo menos um item de conteúdo incluído no conjunto de itens de conteúdo com base em uma taxa de pagamento por utilização. Em um exemplo, a apresentação da interface gráfica de usuário que permite que um usuário aceite um dentre o um ou mais planos de acesso apresenta vários planos de acesso recomendados com base em um uma restrição de usuário.[094] As described in this document, in an example, a method to facilitate access to content items comprises presenting a graphical user interface that allows a user to establish restrictions regarding access to content items, providing a graphical interface that allows a user to define a set of content items from a set of content items, receive one or more access plans based at least in part on the restrictions and set of content items, and submit a graphical user interface that allows the user to accept one or more access plans. In one example, allowing a user to set restrictions includes allowing a user to set a monthly budget restriction. In one example allowing a user to set restrictions includes allowing a user to set a maximum maturity rating of for content items. In one example, the set of content items includes a set of pre-selected content items based at least in part on constraints. In one example, the method further comprises allowing a user to associate a viewing priority for each content item in the set of content items, and generating one or more access plans further based at least in part on an associated viewing priority. . In one example, an access plan specifies one or more digital media services that provide availability for at least one content item included in the set of content items. In one example, an access plan specifies at least one digital media service to provide access to at least one content item included in the set of accessible content items based on a monthly subscription fee and at least one other digital media service to provide access to at least one content item included in the set of content items on a pay-per-use basis. In one example, the graphical user interface presentation that allows a user to accept one of one or more access plans presents several recommended access plans based on a user restriction.

[095]Conforme descrito no presente documento, um aparelho para facilitar o acesso a itens de conteúdo compreende meios para receber uma restrição orçamentária em relação ao acesso a itens de conteúdo, meios para receber um conjunto de itens de conteúdo, em que cada item de conteúdo dentro do conjunto está associado a uma prioridade de visualização, e meios para gerar um plano de acesso com base na restrição orçamentária, em que o plano de acesso especifica um ou mais serviços de mídia digital para fornecer acesso aos itens de conteúdo baseados em uma taxa associada ao acesso a cada item de conteúdo pelo um ou mais serviços de mídia digital, em que a taxa é uma taxa de assinatura ou taxa de pagamento por utilização. Em um exemplo, a restrição orçamentária inclui uma restrição orçamentária mensal, uma restrição orçamentária baseada em item, ou uma restrição orçamentária baseada em perfil. Em um exemplo, a geração do plano de acesso compreende adicionalmente classificar o um ou mais serviços de mídia digital com base pelo menos em parte em um número total de itens do conjunto de itens de conteúdo disponíveis através de cada serviço de mídia digital do um ou mais serviços de mídia digital. Em um exemplo, a classificação do um ou mais serviços de mídia digital inclui adicionalmente atribuir um valor de peso a cada item de conteúdo disponível através do serviço de mídia digital de conteúdo dentro do conjunto. Em um exemplo, o valor de peso se baseia pelo menos em parte no valor de prioridade de visualização, um valor de preferência geral, ou a restrição orçamentária.[095] As described in this document, an apparatus for facilitating access to content items comprises means for receiving a budget restriction regarding access to content items, means for receiving a set of content items, in which each item of content within the set is associated with a viewing priority, and means for generating an access plan based on the budget constraint, where the access plan specifies one or more digital media services to provide access to the content items based on a fee associated with accessing each item of content through the one or more digital media services, where the fee is a subscription fee or pay-as-you-go fee. In one example, the budget constraint includes a monthly budget constraint, an item-based budget constraint, or a profile-based budget constraint. In one example, access plan generation further comprises ranking the one or more digital media services based at least in part on a total number of items from the set of content items available through each of the one or more digital media services. more digital media services. In one example, ranking the one or more digital media services further includes assigning a weight value to each item of content available through the content digital media service within the set. In one example, the weight value is based at least in part on the view priority value, a general preference value, or the budget constraint.

[096]Conforme descrito no presente documento, em um exemplo, um sistema para facilitar o acesso a itens de conteúdo compreende um mecanismo de assistente de conteúdo que compreende um dispositivo de processamento configurado para receber uma ou mais restrições associadas ao acesso a itens de conteúdo, fornecer um conjunto pré-selecionado de itens de conteúdo disponíveis com base na restrição recebida, receber um conjunto de itens de conteúdo dentro do conjunto pré- selecionado, receber resultados de consulta especificando os itens de conteúdo dentro do conjunto de itens de conteúdo que estão disponíveis através de um ou mais serviços de mídia, e gerar um plano de acesso com base nas restrições recebidas e nos resultados de consulta recebidos. Em um exemplo, a restrição inclui uma avaliação de maturidade máxima para itens de conteúdo. Em um exemplo, o plano de acesso especifica um ou mais serviços de mídia digital para proporcionar pelo menos um item de conteúdo incluído no conjunto de itens de conteúdo. Em um exemplo, o plano de acesso especifica pelo menos um serviço de mídia digital para fornecer acesso a pelo menos um item de conteúdo incluído no conjunto de itens de conteúdo, o pelo menos um item de conteúdo é acessível com base em uma taxa de assinatura mensal e pelo menos um serviço de mídia digital é capaz de fornecer acesso a pelo menos um item de conteúdo adicional incluído no conjunto de itens de conteúdo, o pelo menos um item de conteúdo adicional é acessível com base em uma taxa de pagamento por utilização. Em um exemplo, gerar do plano de acesso inclui selecionar um serviço de mídia digital com base em um valor de classificação, em que o serviço de mídia digital selecionado fornece acesso a pelo menos um item de conteúdo incluído no conjunto de itens de conteúdo acessível para uma taxa de assinatura mensal. Em um exemplo, o valor de classificação se baseia pelo menos em parte em uma prioridade de visualização associada a itens de conteúdo. Em um exemplo, o valor de classificação é adicionalmente baseado pelo menos em parte em um preço da taxa de assinatura mensal.[096] As described in this document, in an example, a system for facilitating access to content items comprises a content assistant mechanism comprising a processing device configured to receive one or more restrictions associated with access to content items , provide a preselected set of available content items based on the given constraint, receive a set of content items within the preselected set, receive query results specifying the content items within the set of content items that are available through one or more media services, and generate an access plan based on the restrictions received and the query results received. In one example, the constraint includes a maximum maturity rating for content items. In one example, the access plan specifies one or more digital media services to provide at least one piece of content included in the set of content items. In one example, the access plan specifies at least one digital media service to provide access to at least one item of content included in the set of content items, the at least one item of content being accessible based on a subscription fee monthly and at least one digital media service is capable of providing access to at least one additional content item included in the set of content items, the at least one additional content item is accessible on a pay-per-use basis. In one example, access plan generation includes selecting a digital media service based on a rating value, where the selected digital media service provides access to at least one content item included in the set of content items accessible to a monthly subscription fee. In one example, the rank value is based at least in part on a view priority associated with content items. In one example, the rank value is additionally based at least in part on a monthly subscription fee price.

[097]As modalidades reveladas e outras, os módulos e as operações funcionais descritas neste documento podem ser implementados em um conjunto de circuitos eletrônicos digitais, ou em software, firmware ou hardware de computador, incluindo as estruturas reveladas neste documento e seus equivalentes estruturais, ou em combinações de um ou mais dos mesmos. As modalidades reveladas e outras podem ser implementadas como um ou mais produtos de programas de computador, ou seja, um ou mais módulos de instruções de programas de computador codificados em um meio legível por computador para execução por, ou para controlar a operação de um aparelho de processamento de dados. O meio 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 transmite 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 de hardware, o código que cria um ambiente de execução para o programa de computador em questão, por exemplo, código que constitui firmware de processador, uma pilha de protocolos, um sistema de gerenciamento de banco de dados, um sistema operacional ou uma combinação de um ou mais dos mesmos. Um sinal propagado é um sinal gerado artificialmente, por exemplo, um sinal elétrico, óptico ou eletromagnético gerado por máquina, que é gerado para codificar informações para transmissão para aparelhos receptores adequados.[097] The disclosed and other embodiments, modules and functional operations described in this document can be implemented in a set of digital electronic circuits, or in computer software, firmware or hardware, including the structures disclosed in this document and their structural equivalents, or in combinations of one or more thereof. The disclosed and other embodiments may be implemented as one or more computer program products, i.e., one or more computer program instruction modules encoded on a computer-readable medium for execution by, or to control the operation of, an apparatus. of data processing. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter that transmits a propagated machine-readable signal, or a combination of one or more thereof. The term “data processing apparatus” includes all apparatus, devices and machines for processing data, including, by way of example, a programmable processor, a computer or multiple processors or computers. The apparatus may include, in addition to hardware, code that creates an execution environment for the computer program in question, for example, code that constitutes processor firmware, a protocol stack, a database management system, a operating system or a combination of one or more of them. A propagated signal is an artificially generated signal, for example a machine generated electrical, optical or electromagnetic signal, which is generated to encode information for transmission to suitable receiving apparatus.

[098]Um programa de computador (também conhecido como um programa, software, aplicativo 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 implantado de 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 porção de um arquivo que conté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 porções de código). Um programa de computador pode ser implantado para ser executado em um computador ou em múltiplos computadores que estão localizados em um local ou distribuído em múltiplos locais e interconectado por uma rede de comunicação.[098] A computer program (also known as a program, software, software application, script, or code) may be written in any form of programming language, including compiled or interpreted languages, and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file on a file system. A program can be stored in a portion of a file that contains other programs or data (for example, one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files. (for example, files that store one or more modules, subprograms or pieces of code). A computer program can be deployed to run on one computer or on multiple computers that are located in one location or distributed in multiple locations and interconnected by a communication network.

[099]Os processos e fluxos lógicos descritos neste documento podem ser realizados por um ou mais processadores programáveis executando um ou mais programas de computador para realizar funções mediante a operação em dados de entrada e geração de saída. Os processos e fluxos lógicos também podem ser realizados, e o aparelho também pode ser implementado como, conjunto de circuitos lógicos de propósito especial, por exemplo, um FPGA (matriz de portas programáveis de campo) ou um ASIC (circuito integrado para aplicação específica).[099] The processes and logic flows described in this document can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. Logic processes and flows can also be realized, and the apparatus can also be implemented as special purpose logic circuitry, for example, an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). .

[0100]Os processadores adequados para a execução de um programa de computador incluem, a título de exemplo, microprocessadores para propósito geral e especial e qualquer um ou mais processadores de qualquer tipo de computador digital. Geralmente, um processador receberá instruções e dados de uma memória de leitura ou de uma memória de acesso aleatório ou ambas. Os elementos essenciais de um computador são um processador para executar instruções e um ou mais dispositivos de memória para armazenar instruções e dados. Geralmente, um computador também incluirá, ou será operacionalmente acoplado para receber dados ou transferir dados para, ou ambos, um ou mais dispositivos de armazenamento em massa para armazenar dados, por exemplo, discos magnéticos, magneto-ópticos ou discos ópticos. Entretanto, um computador não precisa ter tais dispositivos. Os meios legíveis por computador para armazenar instruções e dados de programa de computador incluem todas as formas de memória não-volátil, mídia e dispositivos de memória, incluindo a título de exemplo, dispositivos de memória semicondutores, 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 suplementados por, ou incorporados em um conjunto de circuitos lógicos de propósito especial.[0100] Processors suitable for running a computer program include, by way of example, general and special purpose microprocessors and any one or more processors of any type of digital computer. Generally, a processor will receive instructions and data from either read-only memory or random-access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, for example magnetic, magneto-optical or optical disks. However, a computer need not have such devices. Computer-readable media for storing computer program instructions and data include all forms of non-volatile memory, memory media, and memory devices, including by way of example, semiconductor memory devices, e.g., EPROM, EEPROM, and memory devices. flash memory; magnetic disks, for example, internal hard disks or removable disks; magneto-optical discs; and CD-ROM and DVD-ROM discs. The processor and memory may be supplemented by, or incorporated into, a set of special purpose logic circuits.

[0101]Embora este documento de patente contenha muitos detalhes, estes não devem ser interpretados como limitações no escopo de uma invenção que é reivindicada ou do que pode ser reivindicado, porém em vez disso, como descrições de características específicas de modalidades específicas. Determinadas características que são descritas neste documento no contexto de modalidades separadas também podem ser implementadas em combinação em uma única modalidade. Em contrapartida, várias características que são descritas no contexto de uma única modalidade também podem ser implementadas em várias modalidades separadamente ou em qualquer subcombinação adequada. Além disso, embora as características possam ser descritas acima como atuando em determinadas combinações e até mesmo reivindicado inicialmente como tal, uma ou mais características de uma combinação reivindicada podem, em alguns casos, ser excisadas da combinação e a combinação reivindicada pode ser direcionada para uma subcombinação ou uma variação de uma subcombinação. De modo similar, enquanto as operações são reveladas nos desenhos em uma ordem específica, isso não deve ser entendido como exigindo que tais operações sejam realizadas na ordem específica mostrada ou em ordem sequencial, ou que todas as operações ilustradas sejam realizadas, para obter resultados desejáveis.[0101] Although this patent document contains many details, these should not be construed as limitations on the scope of an invention that is claimed or what may be claimed, but rather as descriptions of specific features of specific embodiments. Certain features that are described in this document in the context of separate embodiments may also be implemented in combination within a single embodiment. In contrast, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable subcombination. Furthermore, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features of a claimed combination may, in some cases, be excised from the combination and the claimed combination may be directed towards a subcombination or a variation of a subcombination. Similarly, while operations are shown in the drawings in a specific order, this is not to be understood as requiring that such operations be performed in the specific order shown or in sequential order, or that all illustrated operations be performed, to obtain desirable results. .

[0102]Apenas alguns exemplos e implementações são revelados. Variações, modificações e aprimoramentos nos exemplos e implementações descritos e outras implementações podem ser feitos com base no que é revelado.[0102]Only some examples and implementations are revealed. Variations, modifications and enhancements to the described examples and implementations and other implementations may be made based on what is disclosed.

Claims (20)

1. Método, CARACTERIZADO pelo fato de que compreende: receber, de um dispositivo de computação, primeiros dados especificando um conjunto de itens de conteúdo selecionado por um usuário e segundos dados especificando uma prioridade para visualizar cada item de conteúdo no conjunto de itens de conteúdo; determinar, por um ou mais processadores de hardware, um número total de itens de conteúdo a partir do conjunto de itens de conteúdo que são acessíveis através de cada serviço de mídia digital de uma pluralidade de serviços de mídia digital, cada serviço de mídia digital proporcionado por um ou mais sistemas de serviço de mídia digital; determinar, pelo um ou mais processadores de hardware, uma classificação da pluralidade de serviços de mídia digital com base, pelo menos em parte, no número total de itens de conteúdo a partir do conjunto de itens de conteúdo que são acessíveis através de cada serviço de mídia digital da pluralidade de serviços de mídia digital e da prioridade para visualizar cada item de conteúdo no conjunto de itens de conteúdo; gerar, pelo um ou mais processadores de hardware, um plano incluindo pelo menos um serviço de mídia digital da pluralidade de serviços de mídia digital para proporcionar acesso a pelo menos uma parte do conjunto de itens de conteúdo com base na classificação; e configurar, pelo um ou mais processadores de hardware, acesso ao pelo menos um serviço de mídia digital com base no plano para proporcionar acesso a conteúdo específico com base no plano.1. Method, CHARACTERIZED in that it comprises: receiving, from a computing device, first data specifying a set of content items selected by a user and second data specifying a priority for viewing each content item in the set of content items ; determining, by one or more hardware processors, a total number of content items from the set of content items that are accessible through each digital media service of a plurality of digital media services, each digital media service provided by one or more digital media service systems; determine, by the one or more hardware processors, a ranking of the plurality of digital media services based, at least in part, on the total number of content items from the pool of content items that are accessible through each service digital media from the plurality of digital media services and the priority to view each content item in the set of content items; generating, by the one or more hardware processors, a plan including at least one digital media service of the plurality of digital media services to provide access to at least a portion of the set of content items based on rating; and configuring, by the one or more hardware processors, access to the at least one digital media service on a plan basis to provide access to specific content on a plan basis. 2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a identificação do número total de itens de conteúdo que são acessíveis através de cada serviço de mídia digital da pluralidade de serviços de mídia digital, compreende: gerar uma ou mais consultas com base no conjunto de itens de conteúdo; transmitir a uma ou mais consultas para o um ou mais sistemas de serviço de mídia digital; e agregar uma ou mais respostas recebidas a partir do um ou mais sistemas de serviço de mídia digital, cada uma das uma ou mais respostas correspondendo a uma consulta na uma ou mais consultas.2. Method, according to claim 1, CHARACTERIZED by the fact that identifying the total number of content items that are accessible through each digital media service of the plurality of digital media services, comprises: generating one or more queries based on the set of content items; transmit the one or more queries to the one or more digital media service systems; and aggregating one or more responses received from the one or more digital media service systems, each of the one or more responses corresponding to a query in the one or more queries. 3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a identificação do número total de itens de conteúdo que são acessíveis através de cada serviço de mídia digital da pluralidade de serviços de mídia digital, compreende: acessar um banco de dados que inclui informação indicando acessibilidade de itens de conteúdo proporcionados por um ou mais serviços de mídia digital da pluralidade de serviços de mídia.3. Method, according to claim 1, CHARACTERIZED by the fact that identifying the total number of content items that are accessible through each digital media service of the plurality of digital media services, comprises: accessing a database which includes information indicating accessibility of content items provided by one or more digital media services of the plurality of media services. 4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a determinação da classificação da pluralidade de serviços de mídia digital é ainda com base em uma ou mais restrições.4. Method, according to claim 1, CHARACTERIZED by the fact that the determination of the classification of the plurality of digital media services is still based on one or more restrictions. 5. Método, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que a uma ou mais restrições incluem uma ou mais dentre: uma restrição financeira ou uma classificação de conteúdo.5. Method, according to claim 4, CHARACTERIZED by the fact that the one or more restrictions include one or more of: a financial restriction or a content rating. 6. Método, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que a uma ou mais restrições compreendem pelo menos uma restrição especificada pelo usuário.6. Method, according to claim 4, CHARACTERIZED by the fact that the one or more restrictions comprise at least one restriction specified by the user. 7. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o pelo menos um serviço de mídia digital proporciona acesso a pelo menos um item de conteúdo a partir do conjunto de itens de conteúdo com base em uma taxa de assinatura mensal.7. Method, according to claim 1, CHARACTERIZED by the fact that the at least one digital media service provides access to at least one content item from the set of content items based on a monthly subscription fee. 8. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o pelo menos um serviço de mídia digital proporciona acesso a pelo menos um item de conteúdo incluído no conjunto de itens de conteúdo com base em uma taxa de pagamento por utilização.8. Method, according to claim 1, CHARACTERIZED by the fact that the at least one digital media service provides access to at least one content item included in the set of content items on a pay-per-use basis. 9. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a determinação da classificação da pluralidade de serviços de mídia digital inclui atribuir um valor de peso para cada item de conteúdo a partir do conjunto de itens de conteúdo que é acessível através de cada serviço de mídia digital na pluralidade de serviços de mídia com base em parte na prioridade para visualizar cada item de conteúdo.9. Method, according to claim 1, CHARACTERIZED by the fact that determining the classification of the plurality of digital media services includes assigning a weight value to each content item from the set of content items that is accessible through of each digital media service across the plurality of media services based in part on priority for viewing each content item. 10. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a prioridade para visualizar cada item de conteúdo inclui uma dentre: alta, média ou baixa.10. Method, according to claim 1, CHARACTERIZED by the fact that the priority for viewing each content item includes one of: high, medium or low. 11. Sistema, CARACTERIZADO pelo fato de que compreende: um ou mais processadores; e uma memória acessível ao um ou mais processadores, a memória armazenando instruções que, após execução pelo um ou mais processadores, faz com que o um ou mais processadores executem operações compreendendo: receber, a partir de um dispositivo de computação, primeiros dados especificando um conjunto de itens de conteúdo selecionado por um usuário e segundos dados especificando uma prioridade para visualizar cada item de conteúdo no conjunto de itens de conteúdo; determinar um número total de itens de conteúdo a partir do conjunto de itens de conteúdo que são acessíveis através de cada serviço de mídia digital de uma pluralidade de serviços de mídia digital, cada serviço de mídia digital proporcionado por um ou mais sistemas de serviço de mídia digital; determinar uma classificação da pluralidade de serviços de mídia digital com base em pelo menos em parte no número total de itens de conteúdo a partir do conjunto de itens de conteúdo que são acessíveis através de cada serviço de mídia digital da pluralidade de serviços de mídia digital e da prioridade para visualizar cada item de conteúdo no conjunto de itens de conteúdo; gerar um plano incluindo pelo menos um serviço de mídia digital da pluralidade de serviços de mídia digital para proporcionar acesso a pelo menos uma parte do conjunto de itens de conteúdo com base na classificação; e configurar acesso ao pelo menos um serviço de mídia digital com base no plano para proporcionar acesso a conteúdo específico com base no plano.11. System, CHARACTERIZED by the fact that it comprises: one or more processors; and memory accessible to the one or more processors, the memory storing instructions which, upon execution by the one or more processors, cause the one or more processors to perform operations comprising: receiving, from a computing device, first data specifying a set of content items selected by a user and second data specifying a priority for viewing each content item in the set of content items; determining a total number of content items from the set of content items that are accessible through each digital media service of a plurality of digital media services, each digital media service provided by one or more media service systems digital; determine a ranking of the plurality of digital media services based at least in part on the total number of content items from the set of content items that are accessible through each digital media service of the plurality of digital media services, and the priority to view each content item in the set of content items; generating a plan including at least one digital media service of the plurality of digital media services to provide access to at least a portion of the set of content items based on rating; and configuring access to at least one digital media service on a plan basis to provide access to specific content on a plan basis. 12. Sistema, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que a identificação do número total de itens de conteúdo que são acessíveis através de cada serviço de mídia digital da pluralidade de serviços de mídia digital, compreende: gerar uma ou mais consultas com base no conjunto de itens de conteúdo; transmitir a uma ou mais consultas para o um ou mais sistemas de serviço de mídia digital; e agregar uma ou mais respostas recebidas a partir do um ou mais sistemas de serviço de mídia digital, cada uma da uma ou mais respostas correspondendo a uma consulta na uma ou mais consultas.12. System, according to claim 11, CHARACTERIZED by the fact that identifying the total number of content items that are accessible through each digital media service of the plurality of digital media services, comprises: generating one or more queries based on the set of content items; transmit the one or more queries to the one or more digital media service systems; and aggregating one or more responses received from the one or more digital media service systems, each of the one or more responses corresponding to a query in the one or more queries. 13. Sistema, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que a identificação do número total de itens de conteúdo que são acessíveis através de cada serviço de mídia digital da pluralidade de serviços de mídia digital, compreende: acessar um banco de dados que inclui informação indicando acessibilidade de itens de conteúdo proporcionados por um ou mais serviços de mídia digital da pluralidade de serviços de mídia.13. System, according to claim 11, CHARACTERIZED by the fact that identifying the total number of content items that are accessible through each digital media service of the plurality of digital media services, comprises: accessing a database which includes information indicating accessibility of content items provided by one or more digital media services of the plurality of media services. 14. Sistema, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que determinação da classificação da pluralidade de serviços de mídia digital é ainda com base em uma ou mais restrições.14. System, according to claim 11, CHARACTERIZED by the fact that determination of the classification of the plurality of digital media services is still based on one or more restrictions. 15. Sistema, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que a uma ou mais restrições incluem uma ou mais dentre: uma restrição financeira ou uma classificação de conteúdo.15. System, according to claim 14, CHARACTERIZED by the fact that the one or more restrictions include one or more of: a financial restriction or a content rating. 16. Sistema, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que a uma ou mais restrições compreendem pelo menos uma restrição especificada pelo usuário.16. System, according to claim 14, CHARACTERIZED by the fact that the one or more restrictions comprise at least one restriction specified by the user. 17. Sistema, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que o plano especifica: um primeiro serviço de mídia digital para proporcionar acesso a um primeiro item de conteúdo a partir de um conjunto de itens de conteúdo com base em uma taxa de assinatura mensal; e um segundo serviço de mídia digital para proporcionar acesso a um segundo item de conteúdo incluído no conjunto de itens de conteúdo com base em uma taxa de pagamento por utilização.17. System, according to claim 11, CHARACTERIZED by the fact that the plan specifies: a first digital media service to provide access to a first content item from a set of content items based on a fee of monthly signature; and a second digital media service for providing access to a second content item included in the set of content items on a pay-per-use basis. 18. Sistema, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que a determinação da classificação da pluralidade de serviços de mídia digital inclui atribuir um valor de peso para cada item de conteúdo a partir do conjunto de itens de conteúdo que são acessíveis através de cada serviço de mídia digital na pluralidade de serviços de mídia com base em parte na prioridade para visualizar cada item de conteúdo.18. System, according to claim 11, CHARACTERIZED by the fact that determining the classification of the plurality of digital media services includes assigning a weight value to each content item from the set of content items that are accessible through of each digital media service across the plurality of media services based in part on priority for viewing each content item. 19. Sistema, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que a prioridade para visualizar cada item de conteúdo inclui uma dentre: alta, média ou baixa.19. System, according to claim 11, CHARACTERIZED by the fact that the priority for viewing each content item includes one of: high, medium or low. 20. Mídia de armazenamento não transitória legível por máquina que armazena instruções que, quando executadas por um ou mais processadores, faz com que o um ou mais processadores executem operações, CARACTERIZADA pelo fato de que as operações compreendem: receber, de um dispositivo de computação, primeiros dados especificando um conjunto de itens de conteúdo selecionados por um usuário e segundos dados especificando uma prioridade para visualizar cada item de conteúdo no conjunto de itens de conteúdo; determinar um número total de itens de conteúdo a partir do conjunto de itens de conteúdo que são acessíveis através de cada serviço de mídia digital de uma pluralidade de serviços de mídia digital, cada serviço de mídia digital proporcionado por um ou mais sistemas de serviço de mídia digital; determinar uma classificação da pluralidade de serviços de mídia digital com base, pelo menos em parte, no número total de itens de conteúdo a partir do conjunto de itens de conteúdo que são acessíveis através de cada serviço de mídia digital da pluralidade de serviços de mídia digital e da prioridade para visualizar cada item de conteúdo no conjunto de itens de conteúdo; gerar um plano incluindo pelo menos um serviço de mídia digital da pluralidade de serviços de mídia digital para proporcionar acesso a pelo menos uma parte do conjunto de itens de conteúdo com base na classificação; e configurar acesso ao pelo menos um serviço de mídia digital com base no plano para proporcionar acesso a conteúdo específico com base no plano.20. Machine-readable, non-transient storage media that stores instructions that, when executed by one or more processors, cause the one or more processors to perform operations, CHARACTERIZED by the fact that the operations comprise: receive, from a computing device , first data specifying a set of content items selected by a user and second data specifying a priority for viewing each content item in the set of content items; determining a total number of content items from the set of content items that are accessible through each digital media service of a plurality of digital media services, each digital media service provided by one or more media service systems digital; determine a ranking of the plurality of digital media services based, at least in part, on the total number of content items from the set of content items that are accessible through each digital media service of the plurality of digital media services and the priority to view each content item in the set of content items; generating a plan including at least one digital media service of the plurality of digital media services to provide access to at least a portion of the set of content items based on rating; and configuring access to at least one digital media service on a plan basis to provide access to specific content on a plan basis.
BR112018003106-2A 2015-08-31 2016-08-30 METHOD, SYSTEM, AND MACHINE-LEADABLE NON-TRANSITORY STORAGE MEDIA TO ALLOW A USER TO MANAGE ONE CONTENT ACCESS PLAN USING MULTIPLE CONTENT SERVICES BR112018003106B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/840,785 2015-08-31
US14/840,785 US9883245B2 (en) 2015-08-31 2015-08-31 Systems and methods for enabling a user to generate a plan to access content using multiple content services
PCT/US2016/049531 WO2017040549A1 (en) 2015-08-31 2016-08-30 Systems and methods for enabling a user to generate a plan to access content using multiple content services

Publications (2)

Publication Number Publication Date
BR112018003106A2 BR112018003106A2 (en) 2018-09-25
BR112018003106B1 true BR112018003106B1 (en) 2023-06-06

Family

ID=

Similar Documents

Publication Publication Date Title
JP6673990B2 (en) System, storage medium and method for displaying content and related social media data
US11825171B2 (en) Systems and methods of displaying content
AU2019268123B2 (en) Systems and methods for enabling selection of available content including multiple navigation techniques
US11343580B2 (en) System and method of displaying content based on locational activity
US11831958B2 (en) Systems and methods for enabling a user to generate a plan to access content using multiple content services
BR112018003106B1 (en) METHOD, SYSTEM, AND MACHINE-LEADABLE NON-TRANSITORY STORAGE MEDIA TO ALLOW A USER TO MANAGE ONE CONTENT ACCESS PLAN USING MULTIPLE CONTENT SERVICES