BR112020004566A2 - preservação de taxa de bits e encadeamento para apresentação de conteúdo - Google Patents

preservação de taxa de bits e encadeamento para apresentação de conteúdo Download PDF

Info

Publication number
BR112020004566A2
BR112020004566A2 BR112020004566-7A BR112020004566A BR112020004566A2 BR 112020004566 A2 BR112020004566 A2 BR 112020004566A2 BR 112020004566 A BR112020004566 A BR 112020004566A BR 112020004566 A2 BR112020004566 A2 BR 112020004566A2
Authority
BR
Brazil
Prior art keywords
content element
content
new
codec information
reproduction
Prior art date
Application number
BR112020004566-7A
Other languages
English (en)
Inventor
Amarendra N. Gogoi
Sanjay Kumar Gupta
Ravikant Swami
Original Assignee
Opentv, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Opentv, Inc. filed Critical Opentv, Inc.
Publication of BR112020004566A2 publication Critical patent/BR112020004566A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

São proporcionados sistemas e métodos para otimizar um processo de mudança de conteúdo. Em modalidades ilustrativas, um receptor digital causa a reprodução de um primeiro elemento de conteúdo. O receptor digital recebe uma seleção de um novo elemento de conteúdo para reprodução durante a reprodução do primeiro elemento de conteúdo. Em resposta ao recebimento da seleção, o receptor digital mantém uma taxa de bits usada para reprodução do primeiro elemento de conteúdo para iniciar a reprodução do novo elemento de conteúdo.

Description

“PRESERVAÇÃO DE TAXA DE BITS E ENCADEAMENTO PARA APRESENTAÇÃO DE CONTEÚDO” REIVINDICAÇÃO DE PRIORIDADE
[001]O presente pedido reivindica prioridade ao Pedido Indiano de No 201741031917, depositado em 8 de setembro de 2017, o qual é incorporado no pre- sente para fins de referência em sua totalidade.
CAMPO DA INVENÇÃO
[002]A presente revelação refere-se, de maneira geral, a máquinas configu- radas para o campo técnico de máquinas de finalidade especial que otimizam um processo de mudança de conteúdo (por exemplo, troca de canal), incluindo variantes computadorizadas de tais máquinas de finalidade especial e aperfeiçoamentos a tais variantes, e às tecnologias pelas quais tais máquinas de finalidade especial se tor- nam aperfeiçoadas se comparado a outras máquinas de finalidade especial que faci- litam a otimização de mudanças de conteúdo. Mais especificamente, a presente re- velação trata de sistemas e métodos para preservar uma taxa de bits de download e um encadeamento de reprodução de conteúdo durante um processo de mudança de conteúdo.
ANTECEDENTES DA INVENÇÃO
[003]Convencionalmente, durante uma troca no conteúdo (por exemplo, causada por uma mudança de canal ou um elemento de conteúdo diferente), ocorre um retardo à medida que certas informações são obtidas antes de o novo elemento de conteúdo (por exemplo, programa, filme, show) ser renderizado e exibido. Adicio- nalmente, para o conteúdo de transmissão em fluxo (streaming) com taxa de bits adaptativa, o conteúdo geralmente começa a ser transmitido em fluxo ou baixado a uma taxa de bits baixa (ou mais baixa) antes de aumentar lentamente a taxa de bits até que seja atingida uma taxa de bits ideal. Isto resulta no vídeo ou imagens iniciais tendo um aspecto granulado. Ademais, o retardo pode ser aumentado pela necessi-
dade de se construir um encadeamento de reprodução de conteúdo toda vez que ocorrer uma mudança no conteúdo.
BREVE DESCRIÇÃO DOS DESENHOS
[004]Vários dos desenhos anexos meramente ilustram modalidades ilustrati- vas da presente invenção e não podem ser considerados como limitações a seu es- copo.
[005]A FIG. 1 é um diagrama ilustrando um exemplo de ambiente para otimi- zar alterações de conteúdo;
[006]A FIG. 2 é um diagrama de blocos ilustrando um exemplo de modalida- de dos componentes dentro de um receptor digital de acordo com uma modalidade ilustrativa.
[007]A FIG. 3 é um fluxograma de um método para otimizar um processo de mudança de conteúdo de acordo com modalidades ilustrativas.
[008]A FIG. 4 é um fluxograma de um método para preservar um encadea- mento de distribuição de conteúdo de acordo com modalidades ilustrativas.
[009]A FIG. 5 é uma representação diagramática de uma máquina em uma forma ilustrativa de um sistema de computação dentro do qual um conjunto de ins- truções pode ser executado para fazer a máquina executar qualquer uma ou várias das metodologias aqui discutidas, de acordo com uma modalidade ilustrativa.
DESCRIÇÃO DETALHADA
[010]A descrição que se segue inclui sistemas, métodos, técnicas, sequên- cias de instruções e produtos de programa de computador que incorporam modali- dades ilustrativas da presente matéria inventiva. Na descrição seguinte, para fins de explicação, numerosos detalhes específicos são apresentados a fim de propiciar uma compreensão das várias modalidades da matéria inventiva. No entanto, será evidente aos versados na técnica que as modalidades da matéria inventiva podem ser praticadas sem esses detalhes específicos ou outros. Em geral, instâncias de instruções, protocolos, estruturas e técnicas bem-conhecidos não foram ilustrados em detalhes. Os exemplos meramente tipificam variações possíveis. Salvo indicação explícita em contrário, as estruturas (por exemplo, componentes estruturais, tais co- mo módulos) são opcionais e podem ser combinadas ou subdivididas e operações (por exemplo, em um procedimento, algoritmo ou outra função) podem variar de se- quência ou serem combinadas ou subdividas.
[011]As modalidades ilustrativas descritas aqui proporcionam sistemas e mé- todos para otimizar mudanças de conteúdo ou trocas no conteúdo sendo visualiza- do, tal como através de uma mudança de canal ou seleção de um elemento de con- teúdo diferente a partir de uma lista de visualização. Em algumas modalidades, o sistema utiliza o contexto de navegação (por exemplo, a maneira que um usuário está interagindo com um aplicativo) para identificar conteúdo de (possível) interesse a um espectador. O sistema então busca antecipadamente metadados para o con- teúdo de interesse a partir de um provedor de serviços e armazena os metadados na memória cache local. Os metadados compreendem pré-condições para renderização e exibição de um elemento de conteúdo que inclui um conjunto mínimo de dados que um sistema pode obter sem precisar descriptografar o conteúdo. Os metadados buscados antecipadamente podem ser usados, em modalidades ilustrativas, para determinar se irá preservar pelo menos uma parte de um encadeamento de reprodu- ção de conteúdo (também designado aqui por “encadeamento de distribuição de conteúdo” ou simplesmente de “encadeamento”).
[012]Convencionalmente, um mesmo elemento de conteúdo é decomposto em segmentos (por exemplo, segmentos de 10 segundos), e cada segmento encon- tra-se disponível em diversas taxas de bits. Uma taxa de bits baixa pode ter um as- pecto granulado, ao passo que uma taxa de bits alta terá normalmente uma qualida- de de imagem melhor. Tipicamente, quando a reprodução de um novo elemento de conteúdo começa, o sistema não sabe a qualidade da largura de banda de rede.
Como resultado, de modo a iniciar a reprodução o mais rápido possível, o sistema convencional inicia com a menor taxa de bits. Dessa forma, toda vez que um usuário trocar de um conteúdo para o próximo conteúdo, a reprodução irá iniciar com a me- nor taxa de bits e aumentar ou melhorar lentamente de acordo com a capacidade da rede. Em contrapartida, as modalidades ilustrativas preservam uma taxa de bits an- terior ao trocar para um novo elemento de conteúdo. Ou seja, quando um usuário seleciona um novo elemento de conteúdo para reproduzir (por exemplo, trocando de um elemento de conteúdo anterior para o novo elemento de conteúdo), as modali- dades ilustrativas mantêm ou preservam uma taxa de bits (determinada heuristica- mente) usada para transmitir em fluxo contínuo ou baixar o elemento de conteúdo anterior ao iniciar a reprodução do novo elemento de conteúdo. Isto permite iniciar a reprodução o mais rápido possível, ao mesmo tempo em que também oferece me- lhor qualidade de imagem desde o início.
[013]Adicionalmente, nos sistemas convencionais, uma troca ou transição no conteúdo geralmente faz com que um encadeamento de distribuição de conteúdo anterior seja desconstruído (por exemplo, os recursos obtidos anteriormente são li- berados). Subsequentemente, um novo encadeamento é criado para o novo elemen- to de conteúdo (por exemplo, novos recursos são obtidos). Em contrapartida, as mo- dalidades ilustrativas podem manter ou preservar uma parte de (ou todo) um enca- deamento de distribuição de conteúdo (por exemplo, compreendendo um elemento de origem, um demultiplexador (“demux”), um decodificador de vídeo e um decodifi- cador de áudio) usado para obter o elemento de conteúdo anterior em vez de re- construir um encadeamento (por exemplo, destruindo o encadeamento de distribui- ção de conteúdo e construindo um novo encadeamento de distribuição de conteú- do). A preservação do encadeamento também permite a reprodução do novo conte- údo o mais rápido possível.
[014] Como resultado, uma ou mais das metodologias descritas aqui facili-
tam a resolução do problema técnico de otimizar a mudança de conteúdo (por exemplo, reduzir o tempo para uma mudança no canal ou carregamento de novo conteúdo), independentemente do canal de distribuição – seja o conteúdo transmiti- do por difusão (por exemplo, IPTV e multidifusão) ou difusão “no topo” (“over-the- top” – OTT). As metodologias incluem gerar a reprodução, por um receptor digital, de um primeiro elemento de conteúdo, e receber uma seleção de um novo elemento de conteúdo para reprodução durante a reprodução do primeiro elemento de conteúdo.
Em resposta ao recebimento da seleção, o receptor digital mantém uma taxa de bits usada para reprodução do primeiro elemento de conteúdo para iniciar a reprodução do novo elemento de conteúdo. As metodologias adicionalmente incluem determinar se irá preservar pelo menos uma parte de um encadeamento de reprodução ao tro- car para a reprodução do novo elemento de conteúdo. Em algumas modalidades, a preservação de pelo menos uma parte do encadeamento de reprodução compreen- de determinar se irá retreinar um decodificador de áudio e um decodificador de vídeo do encadeamento ao trocar para a reprodução do novo elemento de conteúdo. Por conseguinte, uma ou mais das metodologias discutidas aqui aprimoram a latência durante as mudanças de conteúdo, mantendo ainda a qualidade de imagem. Obser- va-se que as mudanças de conteúdo incluem uma seleção de um elemento de con- teúdo para visualização (por exemplo, a partir de uma página de acesso a conteúdo, tal como uma lista de favoritos ou através de uma guia de programação), bem como mudanças de canal (por exemplo, mudanças de canais lineares).
[015]Com referência à FIG. 1, uma modalidade de um ambiente 100 ilustrati- vo que possibilita a otimização de mudanças de conteúdo (por exemplo, reduzindo a latência durante mudanças de canal ou a seleção de um elemento de conteúdo para visualização) é ilustrada. Nas modalidades ilustrativas, um receptor digital 102 de um usuário fornece acesso a conteúdo digital e gerencia operações de mudança de con- teúdo. Em uma modalidade, o receptor digital 102 é um decodificador de sinais. O receptor digital 102 é acoplado a um dispositivo de visualização 104 (por exemplo, uma televisão ou monitor) no qual o usuário pode visualizar o conteúdo digital. Em algumas modalidades, o receptor digital 102 (por exemplo, operações do receptor digital 102) pode ser combinado com o dispositivo de visualização 104 (por exemplo, uma televisão inteligente (smart), um tablet, um smartphone). Os componentes do receptor digital 102 usados para executar as operações das modalidades ilustrativas serão discutidos em maiores detalhes em conjunto com a FIG. 2 adiante.
[016]Em algumas modalidades, o receptor digital 102 acessa (por exemplo, solicita, recebe, recupera) conteúdo por meio de uma rede 106 a partir de um servi- dor de rede de distribuição de conteúdo (CDN) 108. O servidor CDN 108 pode obter o conteúdo a partir de um ou mais provedores de conteúdo 110 (por exemplo, servi- dores dos provedores de conteúdo 110). Em modalidades ilustrativas, o servidor CDN 108 pode ser associado a um serviço de terceiros (por exemplo, Netflix, Hulu, YouTube, Amazon), que armazena e fornece conteúdo, tal como, por exemplo, mas sem se limitar a conteúdo “no topo” (over-the-top – OTT), conteúdo de vídeo sob demanda (VOD), conteúdo de Internet, ou conteúdo de difusão ao receptor digital 102 por meio da rede 106. O conteúdo compreende conteúdo de texto, imagens, áudio e/ou vídeo (por exemplo, filmes, programas de televisão, vídeos), e, em algu- mas modalidades, compreende conteúdo ao vivo (por exemplo, em tempo real). Em algumas modalidades, os provedores de conteúdo 110 fornecem conteúdo, através da rede 106 diretamente ao receptor digital 102 para exibição no dispositivo de visu- alização 104.
[017]Uma ou mais partes da rede 106 podem ser uma rede ad hoc, uma in- tranet, uma extranet, uma rede virtual privada (VPN), uma rede de área local (LAN), uma rede sem fio (WLAN), uma rede de longa distância (WAN), uma WAN sem fio (WWAN), uma rede de área metropolitana (MAN), uma parte da Internet, uma parte da Rede Comutada de Telefonia Pública (PSTN), uma rede de telefone celular, uma rede sem fio, uma rede Wi-Fi, uma rede WiMax, uma rede via satélite, uma rede a cabo, uma rede de difusão, outro tipo de rede, ou uma combinação de duas ou mais de tais redes. Qualquer uma ou várias partes da rede 106 podem comunicar infor- mação através de um meio de transmissão ou sinal. Como usado aqui, “meio de transmissão” se refere a qualquer meio intangível (por exemplo, temporário) que seja capaz de comunicar (por exemplo, transmitir) instruções para execução por uma máquina (por exemplo, por um ou mais processadores de tal máquina), e inclui si- nais de comunicação digitais ou analógicos ou outros meios intangíveis para facilitar a comunicação de tal software.
[018]Observa-se que o ambiente 100 ilustrado na FIG. 1 é meramente um exemplo. Por exemplo, qualquer número de servidores CDN 108 e provedores de conteúdo 110 pode ser incorporado dentro do ambiente 100. Adicionalmente, alguns componentes do ambiente 100 podem ser combinados. Por exemplo, as funções do receptor digital 102 podem ser incorporadas dentro do dispositivo de visualização 104 para formar um único dispositivo, tal como uma televisão inteligente, tablet, smartphone, ou qualquer outro dispositivo que seja capaz de obter, renderizar e exi- bir conteúdo. Ademais, as funções descritas aqui para qualquer sistema ou máquina individual podem ser subdivididas entre múltiplos sistemas ou máquinas.
[019]Qualquer um dos sistemas ou máquinas (por exemplo, bancos de da- dos, dispositivos, servidores) ilustrados na FIG. 1, ou associados a ela, pode ser, incluir ou de alguma outra forma ser implementado em um computador de finalidade específica (por exemplo, especializado ou de alguma outra forma não-genérico) que tenha sido modificado (por exemplo, configurado ou programado por software, tal como um ou mais módulos de software de um aplicativo, sistema operacional, fir- mware, middleware ou outro programa) para desempenhar uma ou mais das fun- ções descritas aqui para esse sistema ou máquina. Por exemplo, um sistema de computador de finalidade específica capaz de implementar qualquer uma ou várias das metodologias descritas aqui é discutido a seguir com respeito à FIG. 5, e tal computador de finalidade específica pode consequentemente ser um meio para rea- lizar qualquer uma ou várias das metodologias discutidas aqui. Dentro do campo técnico de tais computadores de finalidade específica, um computador de finalidade específica que foi modificado pelas estruturas discutidas aqui para desempenhar as funções discutidas aqui é aprimorado do ponto de vista técnico se comparado aos outros computadores de finalidade específica que carecem das estruturas descritas aqui ou que, por alguma outra razão, não são capazes de realizar as funções discu- tidas aqui. Por conseguinte, uma máquina de finalidade específica configurada de acordo com os sistemas e métodos discutidos aqui constitui um aperfeiçoamento à tecnologia das máquinas de finalidade específicas similares.
[020]A FIG. 2 é um diagrama de blocos ilustrando um exemplo de modalida- de dos componentes dentro do receptor digital 102 de acordo com uma modalidade ilustrativa. As modalidades ilustrativas, o receptor digital 102 gerencia o acesso ao conteúdo transmitido em fluxo contínuo através da rede 106. Mais especificamente, o receptor digital 102 busca antecipadamente metadados, preserva uma taxa de bits usada para reprodução (por exemplo, transmissão em fluxo contínuo ou download) de um elemento de conteúdo anterior ao iniciar a reprodução de um novo elemento de conteúdo, e preserva pelo menos uma parte de um encadeamento de distribuição de conteúdo. Para permitir essas operações, o receptor digital 102 compreende um reprodutor 202, um encadeamento de distribuição de conteúdo 204 (também cha- mado de “encadeamento”), um gerenciador de memória cache 206, e uma memória cache 208, todos os quais podem ser configurados para se comunicarem uns com os outros (por exemplo, através de um barramento, memória compartilhada ou de uma chave). O receptor digital 102 compreende outros componentes (não ilustrados) que não são pertinentes às operações das modalidades ilustrativas.
[021]O reprodutor 202 é configurado para gerenciar o encadeamento 204.
Em modalidades ilustrativas, o reprodutor 204 instancia (por exemplo, constrói) o encadeamento 204 quando um primeiro elemento de conteúdo é selecionado para exibição. Um encadeamento diferente pode ser construído para cada tipo de conte- údo. Por exemplo, o reprodutor 202 constrói um encadeamento de Transmissão em Fluxo Contínuo em Tempo Real HTTP (HLS) para conteúdo HLS e constrói uma Transmissão em Fluxo Contínuo Adaptativa Dinâmica através do encadeamento HTTP (DASH) para conteúdo DASH. O reprodutor 204 também decide se irá manter pelo menos uma parte do encadeamento 204 ou constrói um novo encadeamento quando ocorre uma troca no conteúdo (por exemplo, mudança de canal ou seleção de novo conteúdo para visualização). Um método ilustrativo para gerenciar a preser- vação do encadeamento é discutido em maiores detalhes em conexão com a FIG. 4 abaixo.
[022]O encadeamento 204 é construído pelo reprodutor 202 mediante ob- tenção de recursos apropriados para obter e processar dados de conteúdo de modo a reproduzir o conteúdo selecionado. Os recursos do encadeamento 204 compreen- dem um elemento de origem 212, um demultiplexador (“demux”) 214, um decodifica- dor de áudio 216 e um decodificador de vídeo 218. O elemento de origem 212 ge- rencia a transferência dos dados de conteúdo para o elemento de conteúdo selecio- nado. O elemento de origem 212 também gerencia a adaptação de taxa de bits no receptor digital 102. Especificamente, o elemento de origem 212 se lembra de uma última taxa de bits que é usada para reprodução de um elemento de conteúdo atual / anterior, e continua a usar essa taxa de bits para reprodução do novo conteúdo.
Como tal, se a última taxa de bits for alta, o elemento de origem 212 irá iniciar com a mesma taxa de bits alta para o novo conteúdo. Se o novo conteúdo não puder ser reproduzido nesta taxa de bits, então o elemento de origem 212 irá diminuir a taxa de bits. Por exemplo, se a transferência do conteúdo levar menos tempo que o pre- visto, há largura de banda extra e a taxa de bits pode ser aumentada. Inversamente,
se a transferência estiver levando mais tempo que o previsto, então a taxa de bits é diminuída. Como tal, as modalidades ilustrativas irão iniciar a reprodução do novo conteúdo na última taxa de bits / taxa de bits anterior em vez de iniciar em uma taxa de bits inferior ou a mais baixa (e aumentar lentamente).
[023]O demultiplexador demultiplexa os dados de conteúdo obtidos a partir do servidor CDN 108 ou do provedor de conteúdo 110 para obter um sinal de áudio e um sinal de vídeo. O sinal de áudio é transmitido ao decodificador de áudio 216 para processamento, enquanto o sinal de vídeo é transmitido ao decodificador de vídeo 218 para processamento. Os resultados dos decodificadores de áudio e vídeo 216 e 218 são enviados (por exemplo, transmitidos) aos dispositivos de visualização 104 para apresentação ao usuário.
[024]O gerenciador de memória cache 206 gerencia a busca antecipada dos metadados para conteúdo que pode ser possivelmente selecionado para reprodu- ção. Em algumas modalidades, o gerenciador de memória cache 206 prevê o conte- údo que o usuário pode estar interessado em visualizar. Por exemplo, um usuário pode estar navegando por uma lista linear de canais ou programas (por exemplo, uma guia eletrônica de programação; “EPG”) em uma direção específica (por exem- plo, para cima ou para baixo). Nesta modalidade, o gerenciador de memória cache 206 prevê um próximo conjunto de conteúdo com base na direção de navegação na lista linear. Em outro exemplo, o usuário pode estar visualizando um catálogo de ví- deo sob demanda (VoD) ou uma lista de visualização de um usuário. Se o usuário solicitar informação ou pairar sobre uma seleção para um elemento de conteúdo, o gerenciador de memória cache 206 utiliza isto como uma predição de que o elemen- to de conteúdo é de interesse para o usuário. Como alternativa, o gerenciador de memória cache pode considerar todos (ou alguns) elementos de conteúdo na parte visualizável do catálogo ou lista de visualização como conteúdo de interesse. Em qualquer um desses casos, o gerenciador de memória cache 206 busca antecipa-
damente os metadados para o conteúdo de interesse, e armazena os dados busca- dos antecipadamente na memória cache 208. Os metadados podem compreender, por exemplo, um ou mais localizadores de recursos uniformes (URLs) onde os blo- cos de conteúdo estão disponíveis, URLs para taxas de bits diferentes, dados de licença (por exemplo, de onde obter uma licença), e informações de codec. As in- formações de codec serão usadas pelo reprodutor 202 para determinar se irá pre- servar pelo menos uma parte do encadeamento 204, como será discutido em mais detalhes abaixo. Se o usuário subsequentemente selecionar conteúdo para o qual os metadados já foram buscados antecipadamente, então os metadados podem ser acessados a partir da memória cache 208 em vez de precisarem ser recuperados através da rede 106 a partir do servidor CDN 108 ou do provedor de conteúdo 110 após a seleção. Isto irá auxiliar na redução da latência na reprodução.
[025]Qualquer um ou vários dos componentes (por exemplo, módulos, deco- dificadores, recursos) descritos aqui podem ser implementados usando somente hardware (por exemplo, um ou mais processadores de uma máquina) ou uma com- binação de hardware e software. Por exemplo, qualquer um dos componentes des- critos aqui pode incluir fisicamente um arranjo de um ou mais dos processadores ou configurar um processador (por exemplo, dentre um ou mais processadores de uma máquina) configurados para realizar as operações descritas aqui para esse módulo.
Por conseguinte, diferentes componentes descritos aqui podem incluir e configurar diferentes arranjos dos processadores em diferentes pontos no tempo ou um único arranjo dos processadores em diferentes pontos no tempo. Cada componente des- crito aqui é um exemplo de um meio para realizar as operações descritas aqui para esse componente. Ademais, quaisquer dois ou mais desses componentes podem ser combinados em um único componente, e as funções descritas aqui para um úni- co componente podem ser subdivididas entre múltiplos componentes. Além do mais, de acordo com várias modalidades ilustrativas, os componentes descritos aqui como sendo implementados dentro de uma única máquina, base de dados ou dispositivo podem ser distribuídos entre múltiplas máquinas, bases de dados ou dispositivos.
[026]A FIG. 3 é um fluxograma de um método 300 ilustrativo para otimizar a mudança de conteúdo de acordo com modalidades ilustrativas. Em modalidades ilustrativas, o método 300 é realizado, total ou parcialmente, pelos componentes do receptor digital 102. Por conseguinte, o método 300 é descrito a título de exemplo com referência ao receptor digital 102. No entanto, deverá ser apreciado que pelo menos algumas das operações do método 300 podem ser implementadas em várias outras configurações de hardware ou ser realizadas por componentes similares resi- dindo em qualquer outro lugar no ambiente 100. Portanto, o método 300 não preten- de se limitar ao receptor digital 102.
[027]Na operação 302, um primeiro elemento de conteúdo é levado a ser re- produzido pelo dispositivo de visualização 104. Nas modalidades ilustrativa, o repro- dutor 202 constrói o encadeamento 204 para obter e processar os dados de conteú- do para o primeiro elemento de conteúdo. Mais especificamente, o reprodutor 202 obtém o elemento de origem 212, o demultiplexador 214, o decodificador de áudio 216, e o decodificador de vídeo 218 para formar o encadeamento 204. O conteúdo de dados é processado pelo encadeamento 204 e apresentado no dispositivo de visualização 104.
[028]Na operação 304, metadados para um conjunto de um ou mais conteú- dos de interesse são buscados antecipadamente. Nas modalidades ilustrativas, o gerenciador de memória cache 206 prediz o conteúdo de interesse de um usuário e busca antecipadamente os metadados para o conteúdo de interesse. Os dados bus- cados antecipadamente são então armazenados na memória cache 208. Os meta- dados podem compreender, mas não se limitam a um ou mais localizadores de re- cursos uniformes (URLs) onde os blocos de conteúdo estão disponíveis, um ou mais URLs para taxas de bits diferentes, dados de licença (por exemplo, de onde obter uma licença), e informações de codec.
[029]Na operação 306, o reprodutor 202 recebe uma indicação para trocar para um novo elemento de conteúdo para reprodução. A indicação pode ser recebi- da a partir de um dispositivo de controle do usuário (por exemplo, um controlador remoto). Em algumas modalidades, o usuário pode rolar por uma EPG ou estar visu- alizando um catálogo ou lista de visualização, e seleciona um novo elemento de con- teúdo para visualização.
[030]Na operação 308, o receptor digital 102 mantém a taxa de bits quando trocando a reprodução para o novo elemento de conteúdo. Nas modalidades ilustra- tivas, ao realizar a transição da reprodução a partir de uma operação de reprodução em andamento para uma nova operação de reprodução, o elemento de origem 212 usa uma taxa de bits heurística derivada para reprodução do primeiro elemento de conteúdo para reprodução do novo elemento de conteúdo. Assim, o elemento de origem 212 tenta manter ou preservar a taxa de bits para reprodução em vez de ini- ciar uma nova reprodução a partir da taxa menor taxa de bits possível. Se o novo elemento conteúdo não puder ser distribuído a esta taxa de bits, então o elemento de origem 212 irá diminuir a taxa de bits. Como tal, as modalidades ilustrativas irão começar a baixar o novo conteúdo na última taxa de bits / taxa de bits anterior em vez de iniciar em uma taxa de bits inferior ou a mais baixa (e aumentar lentamente).
Isto permite a reprodução do novo conteúdo a uma taxa de bits mais ideal instanta- neamente, em vez de recalcular heuristicamente a taxa de bits ideal iniciando a partir da menor taxa de bits possível. Convencionalmente, a derivação da taxa de bits ide- al geralmente requer a transferência de vários segmentos ou blocos de dados de conteúdo, resultando em um aprimoramento gradual da qualidade de imagem. No entanto, as modalidades ilustrativas que usam a taxa de bits heurística derivada an- terior mantêm o mesmo nível de qualidade de imagem que o da reprodução anterior logo no começo da reprodução para o novo conteúdo.
[031]Na operação 310, um processo de preservação de encadeamento é re- alizado para determinar se irá manter pelo menos uma parte do encadeamento usa- da para reproduzir o primeiro elemento de conteúdo para uso com a reprodução do novo elemento de conteúdo. Adicionalmente, se o encadeamento precisar mantido ou preservado, é feita uma determinação quanto a se todos os recursos do encade- amento deverão ser preservados ou se somente uma parte do encadeamento deve- rá ser preservada (por exemplo, somente alguns dos recursos são mantidos e outros liberados). O processo de preservação de encadeamento será discutido em mais detalhes em conexão com a FIG. 4.
[032]A FIG. 4 é um fluxograma de um método 400 ilustrativo para preservar um encadeamento de distribuição de conteúdo de acordo com modalidades ilustrati- vas. Em modalidades ilustrativas, o método 400 é executado, em parte ou totalmen- te, pelo reprodutor 202 com respeito aos recursos do encadeamento 204. Por con- seguinte, o método 400 é descrito a título de exemplo com referência ao reprodutor 202 e ao encadeamento 204. No entanto, deverá ser apreciado que pelo menos al- gumas das operações do método 400 podem ser implementadas em várias outras configurações de hardware ou ser realizadas por componentes similares residindo em qualquer outro lugar no ambiente 100. Portanto, o método 400 não pretende se limitar ao reprodutor 202 e ao encadeamento 204.
[033]Na operação 402, em resposta ao recebimento da indicação para trocar a reprodução para o novo conteúdo, o gerenciador de memória cache 206 acessa os metadados buscados antecipadamente armazenados na memória cache 208 em busca do novo conteúdo. Os metadados buscados antecipadamente para o novo conteúdo podem compreender um ou mais URLs onde o novo conteúdo está dispo- nível, um ou mais URLs para diferentes taxas de bits associadas ao novo conteúdo, dados de licença para o novo conteúdo, e informações de codec para o novo conte- údo. Os metadados buscados antecipadamente também podem indicar se o novo conteúdo é de um mesmo tipo que o primeiro elemento de conteúdo. Por exemplo, tanto o primeiro elemento de conteúdo quanto o novo conteúdo podem estar em um formato de Transmissão em Fluxo em Tempo Real HTTP (HLS) ou em um formato de Transmissão em Fluxo Contínuo Adaptativa Dinâmica via HTTP (DASH).
[034]Na operação 404, o reprodutor 202 determina se o primeiro elemento de conteúdo e o novo conteúdo são do mesmo tipo de conteúdo. Se o primeiro ele- mento de conteúdo e o novo conteúdo não forem do mesmo tipo (por exemplo, o primeiro elemento de conteúdo está no formato HLS e o novo conteúdo está no for- mato DASH), então os recursos do encadeamento 204 (por exemplo, o elemento de origem 212, o demultiplexador 214, o decodificador de áudio 216, e o decodificador de vídeo 218) são liberados na operação 406. Liberar todos os recursos do encade- amento 204 essencialmente desconstrói o encadeamento 204. O reprodutor 202 en- tão cria um novo encadeamento mediante obtenção de outros recursos que são aplicáveis ao tipo de conteúdo do novo conteúdo.
[035]Se, na operação 404, o reprodutor 202 determinar que o primeiro ele- mento de conteúdo e o novo conteúdo são do mesmo tipo de conteúdo (por exem- plo, ambos são no formato HLS), então, na operação 408, as informações de codec são detectadas para o novo conteúdo. Em modalidades ilustrativas, o reprodutor 202 examina os metadados buscados antecipadamente para o novo conteúdo para as informações de codec. As informações de codec indicam os tipos de decodificadores necessários para o novo conteúdo.
[036]Na operação 410, é feita uma determinação, pelo reprodutor 202, quan- to a se os tipos de decodificadores necessários para o novo conteúdo são os mes- mos que os dos decodificadores atualmente no encadeamento 204 para o primeiro elemento de conteúdo. Se os tipos de decodificadores necessários forem os mes- mos, então, na operação 412, todo o encadeamento 204 é preservado. Em outras palavras, os recursos do encadeamento 204 são mantidos e continuados a serem usados para reproduzir o novo conteúdo.
[037]No entanto, se, na operação 410, o reprodutor 202 determinar que o novo conteúdo necessita de decodificadores diferentes, então, na operação 414, os decodificadores (por exemplo, o decodificador de áudio 216 e o decodificador de vídeo 208) são liberados. Subsequentemente, na operação 416, uma parte restante do encadeamento 204 (por exemplo, o elemento de origem 212 e o demultiplexador 214) são preservados ou mantidos. Nestas modalidades, o reprodutor 202 obtém um novo conjunto de decodificadores (por exemplo, um novo decodificador de áudio e um novo decodificador de vídeo) aplicável ao novo conteúdo, e adiciona o novo con- junto de decodificadores à parte preservada do encadeamento 204.
[038]Embora as modalidades ilustrativas sejam discutidas com respeito à preservação do encadeamento e taxa de bits aplicável tanto ao DASH quanto ao HLS, as modalidades ilustrativas para preservação da taxa de bits e do encadea- mento são aplicáveis a qualquer tipo de conteúdo que seja de natureza adaptativa (por exemplo, quando a taxa de bits de conteúdo pode mudar com base na largura de banda).
[039]A FIG. 5 é um diagrama de blocos ilustrando componentes de uma má- quina 500, de acordo com algumas concretizações ilustrativas, capaz de ler instru- ções 824 a partir de um meio de armazenamento em máquina 524 (por exemplo, um meio não-temporário de armazenamento em máquina, um meio de armazenamento legível por máquina, um meio de armazenamento legível por computador, ou qual- quer combinação adequada dos mesmos) e realizar qualquer uma ou várias das me- todologias aqui discutidas, integralmente ou em parte. Especificamente, a FIG. 5 ilustra a máquina 500 na forma ilustrativa de um dispositivo de computação (por exemplo, um computador) dentro do qual podem ser executadas instruções 524 (por exemplo, software, um programa, um aplicativo, um miniaplicativo, um app, ou outro código executável) para fazer com que máquina 800 realize qualquer uma ou várias das metodologias aqui discutidas, integralmente ou em parte.
[040]Por exemplo, as instruções 524 podem fazer com que a máquina 500 execute os fluxogramas das FIGs. 3 e 4. As instruções 524 podem transformar a máquina geral não-programada 500 em uma máquina específica (por exemplo, má- quina especialmente configurada) programada para executar as funções descritas e ilustradas da maneira descrita.
[041]Em modalidades alternativas, a máquina 500 opera como um dispositi- vo autônomo ou pode ser conectada (por exemplo, em rede) a outras máquinas. A máquina 500 pode ser um computador servidor, um computador cliente, um compu- tador pessoal (PC), um computador tablet, um computador laptop, um netbook, um decodificador de sinais (por exemplo, STB), um assistente pessoal digital (PDA), um telefone celular, um smartphone, um aplicativo de rede, um roteador de rede, um comutador de rede, uma ponte de rede, um adaptador de energia, ou qualquer má- quina 500 capaz de executar as instruções 524, sequencialmente ou de alguma ou- tra maneira, que especifique ações a serem realizadas por essa máquina 500. Além disso, embora apenas uma única máquina 500 seja ilustrada, o termo “máquina” também deverá ser considerado como incluindo um conjunto de máquinas que exe- cutam, de maneira individual ou conjunta, as instruções 524 para realizar uma ou mais das metodologias aqui discutidas.
[042]A máquina 500 inclui um processador 502 (por exemplo, uma unidade central de processamento (CPU), uma unidade de processamento de gráficos (GPU), um processador de sinais digitais (DSP), um circuito integrado de aplicação específica (ASIC), um circuito integrado de radiofrequência (RFIC) ou qualquer com- binação adequada dos mesmos), uma memória principal 504, e uma memória estáti- ca 506, que são configurados para se comunicarem por meio de um barramento
508. O processador 502 pode conter microcircuitos que são configuráveis, de forma temporária ou permanente, por algumas ou todas as instruções 524 de modo que o processador 502 seja configurável para realizar qualquer uma ou várias das metodo- logias aqui descritas, integralmente ou em parte. Por exemplo, um conjunto de um ou mais microcircuitos do processador 502 pode ser configurável para executar um ou mais módulos (por exemplo, módulos de software) descritos aqui.
[043]A máquina 500 pode adicionalmente incluir um meio de exibição de grá- ficos 510 (por exemplo, um painel de exibição de plasma (PDP), um meio de exibi- ção de diodo emissor de luz (LED), uma tela de cristal líquido (LCD), um projetor, um tubo de raios catódicos (CRT), ou qualquer outro meio de exibição capaz de exibir gráficos ou vídeo). A máquina 500 também pode incluir um dispositivo de entrada alfanumérico 512 (por exemplo, um teclado ou teclado numérico), um dispositivo de controle de cursor 514 (por exemplo, um mouse, um teclado sensível ao toque, um trackball, um joystick, um sensor de movimento, um dispositivo de acompanhamento visual ou outro instrumento de apontamento), uma unidade de armazenamento 516, um dispositivo de geração de sinal 518 (por exemplo, uma placa de som, um amplifi- cador, um alto-falante, uma entrada de fone de ouvido, ou qualquer combinação adequada dos mesmos) e um dispositivo de interface de rede 520.
[044]A unidade de armazenamento 516 inclui o meio de armazenamento em máquina 522 (por exemplo, um meio de armazenamento legível por máquina tangí- vel) no qual são armazenadas as instruções 524 incorporando qualquer uma ou vá- rias das metodologias ou funções descritas aqui. As instruções 524 também podem incluir, completa ou pelo menos parcialmente, dentro da memória principal 504, den- tro do processador 502 (por exemplo, dentro da memória cache do processador), ou ambos, antes ou durante a execução das mesmas pela máquina 500. Por conse- guinte, a memória principal 504 e o processador 502 podem ser considerados meios de armazenamento em máquina 522 (por exemplo, meios de armazenamento em máquina tangíveis e não-temporários).
[045]Em algumas modalidades ilustrativas, a máquina 500 pode ser um dis-
positivo de computação portátil e possuir um ou mais componentes de entrada adici- onais (por exemplo, sensores ou medidores). Exemplos de tais componentes de en- trada incluem um componente de entrada de imagem (por exemplo, uma ou mais câmeras), um componente de entrada de áudio (por exemplo, um microfone), um componente de entrada de direção (por exemplo, um compasso), um componente de entrada de localização (por exemplo, um receptor do sistema de posicionamento global (GPS)), um componente de orientação (por exemplo, um giroscópio), um componente de detecção de movimento (por exemplo, um ou mais acelerômetros), um componente de detecção de altitude (por exemplo, um altímetro) e um compo- nente de detecção de gás (por exemplo, um sensor de gás). As entradas obtidas por qualquer um ou vários desses componentes de entrada podem ser acessíveis e dis- poníveis para uso por qualquer um dos módulos aqui descritos.
INSTRUÇÕES EXECUTÁVEIS E MEIO DE ARMAZENAMENTO EM MÁQUINA
[046]As várias memórias (isto é, 504, 506 e/ou a memória do(s) processa- dor(es) 502) e/ou a unidade de armazenamento 516 podem armazenar um ou mais conjuntos de instruções e estruturas de dados (por exemplo, software) 524 incorpo- rando ou utilizadas por qualquer uma ou várias das metodologias ou funções descri- tas aqui. Essas instruções, quando executadas pelo(s) processador(es) 502, fazem com que várias operações implementem as modalidades reveladas.
[047]Como utilizados aqui, os termos “meio de armazenamento em máqui- na”, “meio de armazenamento em dispositivo”, “meio de armazenamento em compu- tador” (designados coletivamente por “meio de armazenamento em máquina 522”) se referem à mesma coisa, e podem ser usados de forma intercambiável na presen- te revelação. Os termos se referem a um único ou múltiplos dispositivos e/ou meios de armazenamento (por exemplo, um banco de dados centralizado ou distribuído e/ou memórias cache e servidores associados) que armazenam instruções executá-
veis e/ou dados, bem como sistemas de armazenamento baseados em nuvem ou redes de armazenamento que incluem múltiplos aparelhos ou dispositivos de arma- zenamento. Os termos deverão consequentemente ser considerados como incluin- do, sem a isto se limitar, memórias de estado sólido, e meios ópticos e magnéticos, inclusive memória interna ou externa aos processadores. Exemplos específicos de meios de armazenamento em máquina, meios de armazenamento em computador e/ou meio de armazenamento em dispositivo 522 incluem memória não-volátil, inclu- indo, a título de exemplo, dispositivos de memória semicondutora, por exemplo, memória somente para leitura programável apagável (EPROM), memória somente para leitura programável eletricamente apagável (EEPROM), FPGA e dispositivos de memória flash; discos magnéticos, tais como discos rígidos internos e discos remo- víveis, discos óptico-magnéticos; e discos CD-ROM e DVD-ROM. Os termos meios de armazenamento em máquina, meios de armazenamento em computador e meios de armazenamento em dispositivo 522, especificamente, excluem ondas portadoras, sinais de dados modulados, e outros tais meios, pelo menos alguns dos quais são abrangidos pelo termo “meio de sinal” discutido a seguir.
MEIO DE SINAL
[048]O termo “meio de sinal” ou “meio de transmissão” deverá ser conside- rado como incluindo qualquer forma de sinal de dados modulado, onda portadora, e assim por diante. O termo “sinal de dados modulado” refere-se a um sinal que uma ou mais de suas características ajustadas ou alteradas de tal maneira a codificar as informações no sinal.
MEIO LEGÍVEL POR COMPUTADOR
[049]Os termos “meio legível por máquina”, “meio legível por computador” e “meio legível por dispositivo” significam a mesma coisa e podem ser usados de for- ma intecambiável na presente revelação. Os termos são definidos para incluir tanto meios de armazenamento em máquina quanto meios de sinal. Dessa forma, os ter-
mos incluem tanto dispositivos/meios de armazenamento quanto ondas portado- ras/sinais de dados modulados.
[050]As instruções 524 podem ser adicionalmente transmitidas ou recebidas por meio de uma rede de comunicações 526 usando um meio de transmissão por meio do dispositivo de interface 520 e utilizando qualquer um dentre uma série de protocolos de transferência bem-conhecidos (por exemplo, HTTP). Exemplos de re- des de comunicação 526 incluem uma rede de área local (LAN), uma rede de longa distância (WAN), a Internet, redes de telefone celular, redes de serviço telefônico básico (POTS), e redes de dados sem fio (por exemplo, redes WiFi e WiMax). O termo “meio de transmissão” deverá ser considerado como incluindo qualquer meio intangível que seja capaz de armazenar, codificar ou portar instruções 524 para exe- cução pela máquina 500, e inclui sinais de comunicação digitais ou analógicos ou outros meios intangíveis para facilitar a comunicação de tal software.
[051]Ao longo de todo este relatório descrito, várias instâncias podem im- plementar componentes, operações ou estruturas descritas como uma única instân- cia. Embora as operações individuais de um ou mais métodos sejam ilustradas e descritas como operações separadas, uma ou mais das operações individuais po- dem ser realizadas simultaneamente, e não há a exigência de que as operações se- jam realizadas na ordem ilustrada. As estruturas e funcionalidade apresentadas co- mo componentes separados nas configurações ilustrativas podem ser implementa- das como uma estrutura ou componente combinado. De modo similar, as estruturas e funcionalidades apresentadas como um único componente podem ser implemen- tadas como componentes separados. Essas e outras variações, modificações, adi- ções e aperfeiçoamentos caem dentro do âmbito da presente matéria aqui revelada.
[052]Certas modalidades são descritas aqui como incluindo lógica ou uma série de componentes, módulos ou mecanismos. Os módulos podem constituir mó- dulos de software (por exemplo, código incorporado em um meio de armazenamento em máquina 522 ou em um sinal de transmissão) ou módulos de hardware. Um “módulo de hardware” é uma unidade tangível capaz de realizar certas operações e pode ser configurado ou disposto em uma certa forma física. Nas várias modalida- des ilustrativas, um ou mais sistemas de computador (por exemplo, um sistema de computador autônomo, um sistema de computador cliente ou um sistema de compu- tador servidor) ou um ou mais módulos de hardware de um sistema de computador (por exemplo, um processador 502 ou um grupo de processadores 502) podem ser configurados por software (por exemplo, um aplicativo ou parte de aplicativo) como um módulo de hardware que opera para realizar certas operações como descrito aqui.
[053]Em algumas modalidades, um módulo de hardware pode ser implemen- tado mecanicamente, eletronicamente, ou qualquer combinação adequada dos mesmos. Por exemplo, um módulo de hardware pode incluir um sistema de circuitos ou lógica dedicado que é permanentemente configurado para realizar certas opera- ções. Por exemplo, um módulo de hardware pode ser um processador de finalidade especial, tal como uma matriz de portas programáveis em campo (FPGA) ou um ASIC. Um módulo de hardware também pode incluir lógica programável ou um sis- tema de circuitos que é temporariamente configurado por software para realizar cer- tas operações. Por exemplo, um módulo de hardware pode incluir software incluído dentro de um processador de uso geral ou outro processador programável. Será apreciado que a decisão de implementar um módulo de hardware mecanicamente, em um sistema de circuitos dedicado e permanentemente configurado, ou em um sistema de circuitos configurado temporariamente (por exemplo, configurado por sof- tware), pode ser norteada por considerações de custo e tempo.
[054]Logo, a expressão “módulo de hardware” deve ser compreendida como incluindo uma entidade tangível, uma entidade que é construída fisicamente, perma- nentemente configurada (por exemplo, conectada por fio) ou configurada temporari-
amente (por exemplo, programada) para operar de certa maneira ou para realizar certas operações descritas aqui. Como usado aqui, o termo “módulo implementado por hardware” refere-se a um módulo de hardware. Considerando as modalidades em que os módulos de hardware são configurados temporariamente (por exemplo, programados), cada um dos módulos de hardware não precisa ser configurado ou instanciado em qualquer instância no tempo. Por exemplo, quando um módulo de hardware compreende um processador de propósito geral configurado por software para se tornar um processador de propósito especial, o processador de propósito geral pode ser configurado como processadores de propósito especial respectiva- mente diferentes (por exemplo, compreendendo diferentes módulos de hardware) em momentos diferentes. O software pode, por conseguinte, configurar um proces- sador, por exemplo, para constituir um módulo de hardware particular em uma ins- tância de tempo e constituir um módulo de hardware diferente em uma instância de tempo diferente.
[055]As várias operações dos métodos ilustrativos aqui descritos podem ser realizadas, pelo menos parcialmente, por um ou mais processadores que são confi- gurados temporariamente (por exemplo, por software) ou permanentemente configu- rados para realizar as operações relevantes. Quer configurados temporariamente ou permanentemente, tais processadores podem constituir módulos implementados por processador que operam para realizar uma ou mais operações ou funções aqui des- critas. Como usado aqui, o termo “módulo implementado por processador” refere-se a um módulo de hardware implementado usando um ou mais processadores.
[056]De modo similar, os métodos aqui descritos podem ser pelo menos parcialmente implementados por processador, um processador sendo um exemplo de hardware. Por exemplo, pelo menos algumas das operações de um método po- dem ser realizadas por um ou mais processadores ou módulos implementados por processador.
EXEMPLOS
[057]O exemplo 1 é um método para otimizar um processo de mudança de conteúdo. O método compreende gerar a reprodução, por um receptor digital, de um primeiro elemento de conteúdo; receber, pelo receptor digital, uma seleção de um novo elemento de conteúdo para reprodução durante a reprodução do primeiro ele- mento de conteúdo; e, em resposta ao recebimento da seleção, manter, por um pro- cessador do receptor digital, uma taxa de bits usada para reprodução do primeiro elemento de conteúdo para iniciar a reprodução do novo elemento de conteúdo.
[058]No exemplo 2, a matéria do exemplo 1 pode opcionalmente incluir de- terminar se o novo elemento de conteúdo é de um mesmo tipo que o primeiro ele- mento de conteúdo; e, com base no novo elemento de conteúdo sendo do mesmo tipo que o primeiro elemento de conteúdo, determinar se irá preservar pelo menos uma parte de um encadeamento de reprodução.
[059]No exemplo 3, a matéria dos exemplos 1 a 2 pode opcionalmente incluir em que a determinação de se irá preservar compreende detectar informações de codec para o novo elemento de conteúdo, as informações de codec indicando tipos de decodificadores necessários para o novo conteúdo; e determinar se um decodifi- cador de áudio e um decodificador de vídeo no encadeamento são dos tipos indica- dos pelas informações de codec.
[060]No exemplo 4, a matéria dos exemplos 1 a 3 pode opcionalmente incluir preservar todo o encadeamento em resposta ao decodificador de áudio e ao decodi- ficador de vídeo no encadeamento sendo dos tipos indicados pelas informações de codec.
[061]No exemplo 5, a matéria dos exemplos 1 a 4 pode opcionalmente incluir liberar o decodificador de áudio e o decodificador de vídeo no encadeamento em resposta ao decodificador de áudio e ao decodificador de vídeo no encadeamento sendo diferentes dos tipos indicados pelas informações de codec; e obter um novo decodificador de áudio e um novo decodificador de vídeo com base nas informações de codec.
[062]O exemplo 6 é um sistema otimizando um processo de mudança de conteúdo. O sistema inclui um ou mais processadores de hardware e um dispositivo de armazenamento armazenando instruções que configuram o um ou mais proces- sadores de hardware para realizar operações compreendendo gerar a reprodução de um primeiro elemento de conteúdo; receber uma seleção de um novo elemento de conteúdo para reprodução durante a reprodução do primeiro elemento de conte- údo; e, em resposta ao recebimento da seleção, manter uma taxa de bits usada para reprodução do primeiro elemento de conteúdo para iniciar a reprodução do novo elemento de conteúdo.
[063]No exemplo 7, a matéria do exemplo 6 pode opcionalmente incluir de- terminar se o novo elemento de conteúdo é de um mesmo tipo que o primeiro ele- mento de conteúdo; e, com base no novo elemento de conteúdo sendo do mesmo tipo que o primeiro elemento de conteúdo, determinar se irá preservar pelo menos uma parte de um encadeamento de reprodução.
[064]No exemplo 8, a matéria dos exemplos 6 a 7 pode opcionalmente incluir em que a determinação de se irá preservar compreende detectar informações de codec para o novo elemento de conteúdo, as informações de codec indicando tipos de decodificadores necessários para o novo conteúdo; e determinar se um decodifi- cador de áudio e um decodificador de vídeo no encadeamento são dos tipos indica- dos pelas informações de codec.
[065]No exemplo 9, a matéria dos exemplos 6 a 8 pode opcionalmente incluir preservar todo o encadeamento em resposta ao decodificador de áudio e ao decodi- ficador de vídeo no encadeamento sendo dos tipos indicados pelas informações de codec.
[066]No exemplo 10, a matéria dos exemplos 6 a 9 pode opcionalmente in-
cluir liberar o decodificador de áudio e o decodificador de vídeo no encadeamento em resposta ao decodificador de áudio e ao decodificador de vídeo no encadeamen- to sendo diferentes dos tipos indicados pelas informações de codec; e obter um no- vo decodificador de áudio e um novo decodificador de vídeo com base nas informa- ções de codec.
[067] O exemplo 11 é um meio legível por máquina armazenando instruções que, quando executadas por um ou mais processadores de hardware de uma má- quina, levam a máquina a realizar operações compreendendo gerar a reprodução de um primeiro elemento de conteúdo; receber uma seleção de um novo elemento de conteúdo para reprodução durante a reprodução do primeiro elemento de conteúdo; e, em resposta ao recebimento da seleção, manter uma taxa de bits usada para re- produção do primeiro elemento de conteúdo para iniciar a reprodução do novo ele- mento de conteúdo.
[068]No exemplo 12, a matéria do exemplo 11 pode opcionalmente incluir determinar se o novo elemento de conteúdo é de um mesmo tipo que o primeiro elemento de conteúdo; e, com base no novo elemento de conteúdo sendo do mes- mo tipo que o primeiro elemento de conteúdo, determinar se irá preservar pelo me- nos uma parte de um encadeamento de reprodução.
[069]No exemplo 13, a matéria dos exemplos 11 a 12 pode opcionalmente incluir em que a determinação de se irá preservar compreende detectar informações de codec para o novo elemento de conteúdo, as informações de codec indicando tipos de decodificadores necessários para o novo conteúdo; e determinar se um de- codificador de áudio e um decodificador de vídeo no encadeamento são dos tipos indicados pelas informações de codec.
[070]No exemplo 14, a matéria dos exemplos 11 a 13 pode opcionalmente incluir preservar todo o encadeamento em resposta ao decodificador de áudio e ao decodificador de vídeo no encadeamento sendo dos tipos indicados pelas informa-
ções de codec.
[071]No exemplo 15, a matéria dos exemplos 11 a 14 pode opcionalmente incluir liberar o decodificador de áudio e o decodificador de vídeo no encadeamento em resposta ao decodificador de áudio e ao decodificador de vídeo no encadeamen- to sendo diferentes dos tipos indicados pelas informações de codec; e obter um no- vo decodificador de áudio e um novo decodificador de vídeo com base nas informa- ções de codec.
[072] Algumas partes da presente matéria aqui discutida podem ser apresen- tadas em termos de algoritmos ou representações simbólicas das operações nos dados armazenados como bits ou sinais digitais binários dentro de uma memória de máquina (por exemplo, uma memória de computador). Tais algoritmos ou represen- tações simbólicas são exemplos de técnicas usadas pelos versados na técnica con- vencional de processamento de dados para transmitir a essência de seu trabalho para outros versados na técnica. Como usado aqui, um “algoritmo” é uma sequência consistente de operações ou processamento similar levando a um resultado deseja- do. Neste contexto, os algoritmos e operações envolvem a manipulação física de quantidades físicas. Tipicamente, mas não necessariamente, tais quantidades po- dem assumir a forma de sinais elétricos, magnéticos ou ópticos capazes de serem armazenados, acessados, transferidos, combinados, comparados ou de alguma ou- tra forma manipulados por uma máquina. Às vezes, é conveniente, principalmente por razões de uso comum, referir-se a tais sinais usando palavras tais como "dados", conteúdo", “bits", “valores”, “elementos”, “símbolos”, “caracteres”, “termos”, “núme- ros”, “numerais”, ou similares. Essas palavras, entretanto, são meros rótulos conve- nientes e deverão ser associados a quantidades físicas apropriadas.
[073]Salvo indicação em contrário, as discussões aqui apresentadas usando palavras tal como “processamento", “computação”, “cálculo", "determinação", "apre- sentação", "exibição", ou similares, podem se referir a ações ou processos de uma máquina (por exemplo, um computador) que manipula ou transforma dados repre- sentados como quantidades físicas (por exemplo, eletrônica, magnéticas ou ópticas) dentro de uma ou mais memórias (por exemplo, memória volátil, memória não- volátil, ou qualquer combinação adequada dos mesmos), registros, ou outros com- ponentes de máquina que recebem, armazenam, transmitem ou exibem informa- ções. Além do mais, salvo indicação específica em contrário, os termos “um” ou “uma” são utilizados aqui, como é de praxe nos documentos de patente, de forma a incluir uma ou mais de uma instância. Finalmente, como usada aqui, a conjunção “ou” refere-se a um “ou” não-exclusivo, salvo indicação específica em contrário.
[074]Embora uma visão geral da matéria inventiva tenha sido descrita com referência a modalidades ilustrativas específicas, várias modificações e alterações podem ser feitas nessas modalidades sem divergir do escopo mais amplo das moda- lidades da presente invenção. Por exemplo, várias modalidades ou aspectos da mesma podem ser misturados e correlacionados ou se tornarem opcionais por um indivíduo minimamente capacitado na técnica. Modalidades da matéria inventiva po- dem ser denominadas aqui, individual ou coletivamente, pelo termo “invenção” me- ramente por conveniência e sem a intenção de limitar voluntariamente o âmbito do presente pedido a qualquer invenção individual ou conceito inventivo caso mais de um seja, de fato, revelado.
[075]Acredita-se que as modalidades aqui ilustradas sejam descritas em de- talhes suficientes para permitir que os versados na técnica pratiquem os ensinamen- tos revelados. Outras modalidades podem ser usadas e derivadas a partir das mes- mas, de modo que substituições e alterações estruturais e lógicas possam ser feitas sem divergir do âmbito desta revelação. Portanto, a Descrição Detalhada não deve ser interpretada em sentido limitante, e o âmbito das várias modalidades se define apenas pelas reivindicações anexas, junto com toda a gama de equivalentes aos quais tais reivindicações são designadas.
[076]Além do mais, várias instâncias podem ser proporcionadas para recur-
sos, operações ou estruturas descritas aqui como uma única instância.
Além disso,
os limites entre vários recursos, operações, módulos, mecanismos e armazenamen-
tos de dados são um tanto arbitrários, e as operações particulares são ilustradas em um contexto de configurações ilustrativas específicas.
Outras alocações de funciona-
lidade são consideradas e podem se enquadrar dentro do escopo das várias modali-
dades da presente invenção.
Em geral, as estruturas e funcionalidade apresentadas como recursos separados nas configurações ilustrativas podem ser implementadas como uma estrutura ou recurso combinado.
De modo similar, as estruturas e funcio-
nalidades apresentadas como um único recurso podem ser implementadas como recursos separados.
Estas e outras variações, modificações e aperfeiçoamentos se enquadram dentro do escopo das modalidades da presente invenção conforme re-
presentada pelas reivindicações anexas.
O relatório descritivo e os desenhos, por conseguinte, devem ser considerados sob uma ótica ilustrativa e não restritiva.

Claims (15)

REIVINDICAÇÕES
1. Método, CARACTERIZADO por compreender: causar a reprodução, por um receptor digital, de um primeiro elemento de conteúdo; receber, pelo receptor digital, uma seleção de um novo elemento de conteú- do para reprodução durante a reprodução do primeiro elemento de conteúdo; e em resposta ao recebimento da seleção, manter, por um processador do re- ceptor digital, uma taxa de bits usada para reprodução do primeiro elemento de con- teúdo para iniciar a reprodução do novo elemento de conteúdo.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO por adicio- nalmente compreender: determinar se o novo elemento de conteúdo é de um mesmo tipo que o pri- meiro elemento de conteúdo; e com base no novo elemento de conteúdo sendo do mesmo tipo que o pri- meiro elemento de conteúdo, determinar se irá preservar pelo menos uma parte de um encadeamento de reprodução.
3. Método, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que a determinação quanto a se deverá preservar compreende: detectar informações de codec para o novo elemento de conteúdo, as infor- mações de codec indicando tipos de decodificadores necessários para o novo con- teúdo; e determinar se um decodificador de áudio e um decodificador de vídeo no en- cadeamento são dos tipos indicados pelas informações de codec.
4. Método, de acordo com a reivindicação 3, CARACTERIZADO por adicio- nalmente compreender preservar todo o encadeamento em resposta ao decodifica- dor de áudio e ao decodificador de vídeo no encadeamento sendo dos tipos indica- dos pelas informações de codec.
5. Método, de acordo com a reivindicação 3, CARACTERIZADO por adicio- nalmente compreender: liberar o decodificador de áudio e o decodificador de vídeo no encadeamento em resposta ao decodificador de áudio e ao decodificador de vídeo no encadeamen- to sendo diferentes dos tipos indicados pelas informações de codec; e obter um novo decodificador de áudio e um novo decodificador de vídeo com base nas informações de codec.
6. Sistema, CARACTERIZADO por compreender: um ou mais processadores de hardware; e um dispositivo de armazenamento armazenando instruções que configuram o um ou mais processadores de hardware para realizar operações compreendendo: causar a reprodução, por um receptor digital, de um primeiro elemento de conteúdo; receber, pelo receptor digital, uma seleção de um novo elemento de conteú- do para reprodução durante a reprodução do primeiro elemento de conteúdo; e em resposta ao recebimento da seleção, manter uma taxa de bits usada pa- ra reprodução do primeiro elemento de conteúdo para iniciar a reprodução do novo elemento de conteúdo.
7. Sistema, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que as operações adicionalmente compreendem: determinar se o novo elemento de conteúdo é de um mesmo tipo que o pri- meiro elemento de conteúdo; e com base no novo elemento de conteúdo sendo do mesmo tipo que o pri- meiro elemento de conteúdo, determinar se irá preservar pelo menos uma parte de um encadeamento de reprodução.
8. Sistema, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que a determinação quanto a se deverá preservar compreende:
detectar informações de codec para o novo elemento de conteúdo, as infor- mações de codec indicando tipos de decodificadores necessários para o novo con- teúdo; e determinar se um decodificador de áudio e um decodificador de vídeo no en- cadeamento são dos tipos indicados pelas informações de codec.
9. Sistema, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que as operações adicionalmente compreendem preservar todo o encadeamento em resposta ao decodificador de áudio e ao decodificador de vídeo no encadeamen- to sendo dos tipos indicados pelas informações de codec.
10. Sistema, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que as operações adicionalmente compreendem: liberar o decodificador de áudio e o decodificador de vídeo no encadeamento em resposta ao decodificador de áudio e ao decodificador de vídeo no encadeamen- to sendo diferentes dos tipos indicados pelas informações de codec; e obter um novo decodificador de áudio e um novo decodificador de vídeo com base nas informações de codec.
11. Meio legível por máquina armazenando instruções que, quando executa- das por um ou mais processadores de hardware de uma máquina, fazem com que a máquina realize operações CARACTERIZADAS por compreender: causar a reprodução, por um receptor digital, de um primeiro elemento de conteúdo; receber, pelo receptor digital, uma seleção de um novo elemento de conteú- do para reprodução durante a reprodução do primeiro elemento de conteúdo; e em resposta ao recebimento da seleção, manter uma taxa de bits usada pa- ra reprodução do primeiro elemento de conteúdo para iniciar a reprodução do novo elemento de conteúdo.
12. Meio de armazenamento legível por máquina, de acordo com a reivindi-
cação 11, CARACTERIZADO pelo fato de que as operações adicionalmente com- preendem: determinar se o novo elemento de conteúdo é de um mesmo tipo que o pri- meiro elemento de conteúdo; e com base no novo elemento de conteúdo sendo do mesmo tipo que o pri- meiro elemento de conteúdo, determinar se irá preservar pelo menos uma parte de um encadeamento de reprodução.
13. Meio legível por máquina, de acordo com a reivindicação 12, CARACTERIZADO pelo fato de que a determinação quanto a se deverá preservar compreende: detectar informações de codec para o novo elemento de conteúdo, as infor- mações de codec indicando tipos de decodificadores necessários para o novo con- teúdo; e determinar se um decodificador de áudio e um decodificador de vídeo no en- cadeamento são dos tipos indicados pelas informações de codec.
14. Meio legível por máquina, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que as operações adicionalmente compreendem pre- servar todo o encadeamento em resposta ao decodificador de áudio e ao decodificador de vídeo no encadeamento sendo dos tipos indicados pelas informações de codec.
15. Meio de armazenamento legível por máquina, de acordo com a reivindi- cação 13, CARACTERIZADO pelo fato de que as operações adicionalmente com- preendem: liberar o decodificador de áudio e o decodificador de vídeo no encadeamento em resposta ao decodificador de áudio e ao decodificador de vídeo no encadeamen- to sendo diferentes dos tipos indicados pelas informações de codec; e obter um novo decodificador de áudio e um novo decodificador de vídeo com base nas informações de codec.
RECEPTOR DIGITAL
REPRODUTOR
ENCADEAMENTO
DECODIFICADOR
DE ÁUDIO
ELEMENTO DE
DEMULTIPLEXADOR
ORIGEM
DECODIFICADOR
DE VÍDEO
GERENCIADOR DE
CACHE
INÍCIO
REPRODUZ PRIMEIRO
CONTEÚDO
BUSCA ANTECIPADAMENTE
METADADOS
RECEBE INDICAÇÃO PARA
TROCAR CONTEÚDO
MANTÉM TAXA DE BITS
REALIZA PROCESSO DE
PRESERVAÇÃO DE
ENCADEAMENTO
FIM
INÍCIO
ACESSA METADADOS
NÃO LIBERA TODOS OS
MESMO TIPO DE CONTEÚDO RECURSOS DO
ENCADEAMENTO
SIM
DETECTA INFORMAÇÕES
DE CODEC
NÃO IGUAL? LIBERA DECODIFICADORES
SIM
PRESERVA TODO O PRESERVA ELEMENTO DE
ENCADEAMENTO ORIGEM E
DEMULTIPLEXADOR
PROCESSADOR
MONITOR DE
VÍDEO
INSTRUÇÕES
MEMÓRIA
PRINCIPAL DISPOSITIVO DE
ENTRADA
INSTRUÇÕES
BARRAMENTO
MEMÓRIA DISPOSITIVO DE
ESTÁTICA CONTROLE DE
CURSOR UNID. DE ARMAZ.
DISPOSITIVO DE MEIO DE
INTERFACE DE ARMAZENAMENTO
EM MÁQUINA
REDE
INSTRUÇÕES
DISPOSITIVO DE
REDE GERAÇÃO DE
SINAL
PROVEDORES DE
SERVIDOR CDN
CONTEÚDO
REDE
RECEPTOR DIGITAL
DISPOSITIVO DE
VISUALIZAÇÃO
BR112020004566-7A 2017-09-08 2018-08-14 preservação de taxa de bits e encadeamento para apresentação de conteúdo BR112020004566A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
IN201741031917 2017-09-08
IN201741031917 2017-09-08
PCT/US2018/046723 WO2019050660A1 (en) 2017-09-08 2018-08-14 MAINTAINING BIT RATE AND PIPELINE FOR CONTENT PRESENTATION

Publications (1)

Publication Number Publication Date
BR112020004566A2 true BR112020004566A2 (pt) 2020-09-08

Family

ID=65634196

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020004566-7A BR112020004566A2 (pt) 2017-09-08 2018-08-14 preservação de taxa de bits e encadeamento para apresentação de conteúdo

Country Status (8)

Country Link
US (3) US11184652B2 (pt)
EP (2) EP3965466B1 (pt)
CN (1) CN111194565B (pt)
BR (1) BR112020004566A2 (pt)
DK (1) DK3679738T3 (pt)
ES (1) ES2899920T3 (pt)
TW (1) TWI826387B (pt)
WO (1) WO2019050660A1 (pt)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160323351A1 (en) * 2015-04-29 2016-11-03 Box, Inc. Low latency and low defect media file transcoding using optimized storage, retrieval, partitioning, and delivery techniques
TWI826387B (zh) 2017-09-08 2023-12-21 美商開放電視股份有限公司 用於內容呈現之位元率及管線保留技術

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040111526A1 (en) * 2002-12-10 2004-06-10 Baldwin James Armand Compositing MPEG video streams for combined image display
US7818444B2 (en) * 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
WO2006047727A2 (en) * 2004-10-27 2006-05-04 Eg Technology, Inc. Optimal rate allocation for a group of channels
EP1775953A1 (en) * 2005-10-14 2007-04-18 Universiteit Gent Switching between digital video streams using buffering of second digital video stream
US9009234B2 (en) * 2007-02-06 2015-04-14 Software Ag Complex event processing system having multiple redundant event processing engines
US7991904B2 (en) * 2007-07-10 2011-08-02 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
US20100091888A1 (en) * 2008-10-13 2010-04-15 General Instrument Corporation Multi-Rate Encoder with GOP Alignment
US9106544B2 (en) * 2008-11-12 2015-08-11 Google Technology Holdings LLC Multi-rate statistical multiplexing
US9060187B2 (en) * 2008-12-22 2015-06-16 Netflix, Inc. Bit rate stream switching
AU2010247117B2 (en) * 2009-05-13 2013-08-15 Nds Limited Splicing system
US20100329354A1 (en) * 2009-06-29 2010-12-30 Broadcom Corporation Systems and methods for achieving optimal digital video channel change performance
US8386621B2 (en) * 2010-03-12 2013-02-26 Netflix, Inc. Parallel streaming
WO2011139305A1 (en) * 2010-05-04 2011-11-10 Azuki Systems, Inc. Method and apparatus for carrier controlled dynamic rate adaptation and client playout rate reduction
US9774923B2 (en) * 2010-05-28 2017-09-26 Verizon Patent And Licensing Inc. Bandwidth management and advertisement insertion in media content delivery systems and methods
US20110296047A1 (en) * 2010-06-01 2011-12-01 Sony Corporation Method and apparatus for seamless playback of media
CA2817367A1 (en) * 2010-11-18 2012-05-24 Aereo, Inc. System and method for providing network access to antenna feeds
US9021537B2 (en) * 2010-12-09 2015-04-28 Netflix, Inc. Pre-buffering audio streams
US8532171B1 (en) * 2010-12-23 2013-09-10 Juniper Networks, Inc. Multiple stream adaptive bit rate system
US9020039B2 (en) * 2011-01-06 2015-04-28 Sonic Ip, Inc. Systems and methods for encoding alternative streams of video for use in adaptive bitrate streaming
JP5617781B2 (ja) * 2011-07-13 2014-11-05 パナソニック株式会社 制御装置、制御システムおよび制御方法
EP3340575A1 (en) * 2011-12-06 2018-06-27 EchoStar Technologies L.L.C. Remote storage digital video recorder and related operating methods
US8887215B2 (en) * 2012-06-11 2014-11-11 Rgb Networks, Inc. Targeted high-value content in HTTP streaming video on demand
US9125073B2 (en) * 2012-08-03 2015-09-01 Intel Corporation Quality-aware adaptive streaming over hypertext transfer protocol using quality attributes in manifest file
US9244678B1 (en) * 2012-10-08 2016-01-26 Audible, Inc. Managing content versions
US9800634B2 (en) * 2013-05-28 2017-10-24 Cisco Technology, Inc. Pull-based media system
JP2016522621A (ja) * 2013-07-15 2016-07-28 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ダイナミックアダプティブストリーミング・オーバー・ハイパーテキストトランスファープロトコルにおけるリモート要素のジャストインタイムデリファレンス
US9386308B2 (en) * 2013-07-16 2016-07-05 Cisco Technology, Inc. Quality optimization with buffer and horizon constraints in adaptive streaming
US10097604B2 (en) * 2013-08-01 2018-10-09 Spotify Ab System and method for selecting a transition point for transitioning between media streams
NO2835982T3 (pt) * 2013-08-06 2018-05-19
US20150052236A1 (en) * 2013-08-14 2015-02-19 Cisco Technology, Inc. Load based target alteration in streaming environments
US9444856B2 (en) * 2013-09-25 2016-09-13 Ericsson Ab System and method for managing adjacent channels in an adaptive streaming environment
US20150089073A1 (en) * 2013-09-25 2015-03-26 Ericsson Television Inc System and method for effectuating fast channel change in an adpative streaming environment
US9699236B2 (en) * 2013-12-17 2017-07-04 At&T Intellectual Property I, L.P. System and method of adaptive bit-rate streaming
US9386067B2 (en) * 2013-12-30 2016-07-05 Sonic Ip, Inc. Systems and methods for playing adaptive bitrate streaming content by multicast
US20150281303A1 (en) * 2014-03-26 2015-10-01 Mohamed Yousef Adaptive media streaming
GB2524958A (en) * 2014-04-03 2015-10-14 Orbital Multi Media Holdings Corp Data flow control method
US20160112707A1 (en) * 2014-10-15 2016-04-21 Intel Corporation Policy-based image encoding
WO2016064728A1 (en) * 2014-10-22 2016-04-28 Arris Enterprises, Inc. Adaptive bitrate streaming latency reduction
KR102288087B1 (ko) * 2014-11-25 2021-08-10 엘지전자 주식회사 멀티미디어 디바이스 및 그 제어 방법
US9716917B2 (en) * 2014-12-12 2017-07-25 Samsung Electronics Co., Ltd. Method and apparatus for processing content recording in network
WO2016099356A1 (en) * 2014-12-18 2016-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Method and content management module for managing content in a content distribution network
US20160191594A1 (en) * 2014-12-24 2016-06-30 Intel Corporation Context aware streaming media technologies, devices, systems, and methods utilizing the same
US10218981B2 (en) * 2015-02-11 2019-02-26 Wowza Media Systems, LLC Clip generation based on multiple encodings of a media stream
US9774914B2 (en) * 2015-08-25 2017-09-26 Wowza Media Systems, LLC Scheduling video content from multiple sources for presentation via a streaming video channel
US9942290B2 (en) * 2015-09-09 2018-04-10 Ericsson Ab Fast channel change in a multicast adaptive bitrate (MABR) streaming network using HTTP download segment recovery in a shared progressive ABR download pipe
US10506006B2 (en) * 2015-09-09 2019-12-10 Vantrix Corporation Method and system for flow-rate regulation in a content-controlled streaming network
US9826261B2 (en) * 2015-09-09 2017-11-21 Ericsson Ab Fast channel change in a multicast adaptive bitrate (MABR) streaming network using multicast repeat segment bursts in a dedicated bandwidth pipe
US11108670B2 (en) * 2015-09-09 2021-08-31 Vantrix Corporation Streaming network adapted to content selection
US9826262B2 (en) * 2015-09-09 2017-11-21 Ericsson Ab Fast channel change in a multicast adaptive bitrate (MABR) streaming network using multicast repeat segment bursts in a shared progressive ABR download pipe
US9654815B2 (en) * 2015-09-18 2017-05-16 Arris Enterprises, Inc. Advertising detection in adaptive bitrate streaming
EP3371978B1 (en) * 2015-11-06 2021-06-30 Koninklijke KPN N.V. Contiguous streaming of media stream
WO2017117264A1 (en) * 2015-12-29 2017-07-06 Echostar Technologies L.L.C Remote storage digital video recorder streaming and related methods
US20170220283A1 (en) * 2016-01-29 2017-08-03 Microsoft Technology Licensing, Llc Reducing memory usage by a decoder during a format change
US9800819B2 (en) * 2016-02-19 2017-10-24 Sony Corporation Methodologies and apparatus for reducing delays when receiving, processing, or switching content
EP3507977A4 (en) * 2016-08-30 2020-06-24 Sonic IP, Inc. SYSTEMS AND METHODS FOR ENCODING AND PLAYING 360-DEGREE VIEW VIDEO CONTENT
WO2018086713A1 (en) * 2016-11-14 2018-05-17 Telefonaktiebolaget Lm Ericsson (Publ) Initial bitrate selection for a video delivery session
US10812559B2 (en) * 2017-01-18 2020-10-20 Amazon Technologies, Inc. Just-in-time variable adaptive encoding and delivery of media content
US10498795B2 (en) * 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
US11019126B2 (en) * 2017-06-23 2021-05-25 Nokia Solutions And Networks Oy Quality-of-experience for adaptive bitrate streaming
TWI826387B (zh) 2017-09-08 2023-12-21 美商開放電視股份有限公司 用於內容呈現之位元率及管線保留技術

Also Published As

Publication number Publication date
US11825139B2 (en) 2023-11-21
US20200267428A1 (en) 2020-08-20
US11184652B2 (en) 2021-11-23
EP3679738A4 (en) 2020-11-04
EP3965466A1 (en) 2022-03-09
EP3679738A1 (en) 2020-07-15
EP3679738B1 (en) 2021-10-27
CN111194565A (zh) 2020-05-22
TWI826387B (zh) 2023-12-21
US20240107090A1 (en) 2024-03-28
ES2899920T3 (es) 2022-03-15
WO2019050660A1 (en) 2019-03-14
TW202415077A (zh) 2024-04-01
EP3965466C0 (en) 2023-06-07
US20220070510A1 (en) 2022-03-03
TW201931861A (zh) 2019-08-01
DK3679738T3 (da) 2021-11-22
CN111194565B (zh) 2023-07-21
EP3965466B1 (en) 2023-06-07

Similar Documents

Publication Publication Date Title
US11962827B2 (en) Displaying non-time bound content in a time bound grid
ES2902387T3 (es) Sistemas, métodos y medios para la entrega de contenido
US9756389B2 (en) Systems and methods for digital media storage and playback
US20200099732A1 (en) Catching up to the live playhead in live streaming
US20240107090A1 (en) Bitrate and pipeline preservation for content presentation
US9705948B2 (en) Systems and methods for transmitting content using segment-based and non-segment-based streams
BR112016027656B1 (pt) Método executável por dispositivo cliente para processar programa de mídia recebido e dispositivo reprodutor de mídia
US20170353753A1 (en) Communication apparatus, communication control method, and communication system
US20180270447A1 (en) Orientation adjustment for casting videos
US20170093945A1 (en) Selecting bitrate to stream encoded media based on tagging of important media segments
BR112019018034A2 (pt) Feed de notícias para seleção de conteúdo de mídia
US10715776B2 (en) Packed I-frames
BR112019009356A2 (pt) ativador de exibição de conteúdo de final de programa
JP2021064943A (ja) セグメント流動性のためのトランスコーダ調整
US20180343479A1 (en) Universal optimized content change
BR112020011166A2 (pt) definição de audiência para programas de mídia em programação linear ao vivo
US10356159B1 (en) Enabling playback and request of partial media fragments
US20190028739A1 (en) Content rating system implementation using license rotation
US20130084054A1 (en) Electronic apparatus and playback control method
US11134236B2 (en) Image processing device and system
US10771522B2 (en) Crowdsourced prediction of CDN performance for zero buffer delivery of content
BR102013022957A2 (pt) jogar através de múltiplos fluxos de mídia em um ambiente de software de jogador único
US10063941B2 (en) Method and apparatus for writing images into memory

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]