BR112016006641B1 - Método operativo em um sistema de servidor de streaming e sistema de servidor de streaming - Google Patents

Método operativo em um sistema de servidor de streaming e sistema de servidor de streaming Download PDF

Info

Publication number
BR112016006641B1
BR112016006641B1 BR112016006641-3A BR112016006641A BR112016006641B1 BR 112016006641 B1 BR112016006641 B1 BR 112016006641B1 BR 112016006641 A BR112016006641 A BR 112016006641A BR 112016006641 B1 BR112016006641 B1 BR 112016006641B1
Authority
BR
Brazil
Prior art keywords
streaming
media content
client device
server system
processors
Prior art date
Application number
BR112016006641-3A
Other languages
English (en)
Other versions
BR112016006641A8 (pt
BR112016006641A2 (pt
Inventor
Chris Phillips
Charles Hammett Dasher
Mark Robertson
Robert Hammond Forsman
Jennifer Ann Reynolds
Original Assignee
Ericsson Ab
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 Ericsson Ab filed Critical Ericsson Ab
Publication of BR112016006641A2 publication Critical patent/BR112016006641A2/pt
Publication of BR112016006641A8 publication Critical patent/BR112016006641A8/pt
Publication of BR112016006641B1 publication Critical patent/BR112016006641B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4383Accessing a communication channel
    • H04N21/4384Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency
    • 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
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

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

Abstract

sistema e método para efetuar alteração de canal rápida em um ambiente de transmissão contínua adaptativo. trata-se de um sistema e método para efetuar alterações de canal rápidas em um ambiente de transmissão contínua adaptativo. quando uma nova transmissão contínua de conteúdo de mídia for iniciada, um dispositivo de cliente é adaptado para enviar uma solicitação pela transmissão de conteúdo de mídia codificado em uma taxa de bits selecionada. mediante o recebimento do conteúdo de mídia codificado, o dispositivo de cliente se encontra em modo operacional para decodificar e renderizar o conteúdo de mídia de forma imediata independentemente de um estado de armazenamento temporário associado ao armazenamento temporário de vídeo do dispositivo de cliente. o dispositivo de cliente está, adicionalmente, em modo operacional para enviar uma solicitação por conteúdo de mídia de transmissão contínua codificado em taxas de bits maiores mediante a expiração de um período de tempo específico.

Description

REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOS
[0001] Este pedido revela a matéria que está relacionada à matéria dos seguintes pedido(s) de patente: (i) “SYSTEM AND METHOD FOR MANAGING ADJACENT CHANNELS IN AN ADAPTIVE STREAMING ENVIRONMENT ” (Ericsson n° de Ref.: P40561-US1), Pedido n° U.S. 14/037.078, depositado em 25 de setembro de 2013, no(s) nomes(s) de Christopher Phillips, Charles Hammett Dasher, Robert Hammond Forsman e Jennifer Ann Reynolds, cada um dos quais está incorporado ao presente documento a título de referência em sua totalidade.
CAMPO DA REVELAÇÃO
[0002] A presente revelação refere-se, de modo geral, a redes de comunicação. Mais particularmente, e não a título de qualquer limitação, a presente revelação é direcionada a um sistema e método para gerenciar canais adjacentes em um ambiente de transmissão contínua (s“treaming ”) adaptativo.
FUNDAMENTOS
[0003] A transmissão contínua adaptativa é um meio popular de entrega não tradicional de vídeo. Embora existam diversas vantagens, mudar o conteúdo transmitido continuamente de modo adaptativo (por exemplo, de uma transmissão contínua ou canal para outra transmissão contínua ou canal) continua a ser um processo incômodo em implantações atuais. Como tal, técnicas de transmissão contínua adaptativas típicas não preveem uma experiência de “navegação por canal" realista ou de fácil utilização, o que, desse modo, impacta negativamente a qualidade de desfrute do usuário.
DESCRIÇÃO RESUMIDA
[0004] A presente revelação de patente é amplamente direcionada a sistemas, métodos, dispositivos, aparelhos e meios legíveis por computador associados para gerenciar e efetuar mudanças de canal rápidas (por exemplo, solicitações de “navegação por canal” iniciadas pelo usuário) em um ambiente de transmissão contínua adaptativo. Um ou mais canais adjacentes são definidos adaptativamente em relação a um canal de transmissão contínua atual ao qual um dispositivo de cliente esteja engatado. O dispositivo de cliente é configurado para pré-obter metadados e informações de inicialização para os canais adjacentes definidos com base em condições de largura de banda, condições de armazenamento temporário (“buffer”), etc. Quando um canal for mudado, o dispositivo de cliente é operativo para usar os dados pré-obtidos para obter rapidamente o conteúdo de mídia codificado para renderização.
[0005] Em um aspecto, uma modalidade de um método operativo em um dispositivo de cliente de transmissão contínua disposto em um ambiente de transmissão contínua adaptativo é revelado. A modalidade reivindicada compreende, inter alia, monitorar pelo menos uma condição de largura de banda em relação a uma conexão de rede ou um tubo de distribuição de conteúdo entre o dispositivo de cliente de transmissão contínua e uma rede de entrega de conteúdo e um sistema de servidor de transmissão contínua associado. Com base nas condições mencionadas, um ou mais canais adjacentes podem ser determinadas em relação a um canal de transmissão contínua atual do dispositivo de cliente de transmissão contínua. Em resposta à determinação dos um ou mais canais adjacentes, informações de metadados em relação aos um ou mais canais adjacentes são pré- buscadas. Em resposta às informações de metadados pré-buscadas, informações de inicialização para os um ou mais canais adjacentes são pré-buscadas e armazenadas localmente no dispositivo de cliente de transmissão contínua. Se o canal de transmissão contínua associado for mudado para um novo canal de transmissão contínua que pertence aos um ou mais canais adjacentes, as informações de inicialização pré-buscadas podem ser usadas para buscar conteúdo de mídia codificado que pertença ao novo canal de transmissão contínua. Em uma variação, o método reivindicado inclui adicionalmente monitorar pelo menos uma dentre as condições de armazenamento temporário de vídeo e condições de processamento do decodificador do dispositivo de cliente de transmissão contínua, assim como determinar a quantidade de decodificadores disponíveis. Em outra variação, as informações de metadados pré-buscadas dos canais adjacentes compreendem um ou mais arquivos de manifesto gerados na efetuação de transmissão contínua de taxa de bits adaptativa (ABR). Os canais adjacentes podem ser determinados de vários modos incluindo, mas não limitados a, uma quantidade configurável de canais consecutivos acima e/ou abaixo do canal atual, com base nas listas de favoritos dos usuários e similares. Ainda em uma variação adicional, a modalidade reivindicada pode compreender pré-buscar conteúdo de mídia e decodificar imediatamente o conteúdo de mídia pré-buscado. Se o canal de transmissão contínua atual for mudado para um novo canal de transmissão contínua que pertence a um dos canais adjacentes, o conteúdo de mídia decodificado do canal adjacente é renderizado prontamente para exibição.
[0006] Em outro aspecto, uma modalidade de um dispositivo de cliente é revelada que compreende um ou mais processadores, um monitor de largura de banda e um módulo de cliente de transmissão contínua acoplado aos um ou mais processadores. O módulo de cliente de transmissão contínua pode ser configurado para realizar uma modalidade de um método descrito acima no presente documento pelo menos para propósitos de gerenciamento de canais adjacentes em um ambiente de transmissão contínua adaptativo. Em aspectos ainda adicionais, uma modalidade de um meio legível por computador não transitório que contém instruções armazenadas em si é revelada para realizar uma ou mais modalidades dos métodos estabelecidos acima.
[0007] Em um aspecto adicional, uma modalidade de um método operativo e um sistema de servidor de transmissão contínua disposto em um ambiente de transmissão contínua adaptativo é revelada. A modalidade reivindicada compreende, inter alia, sempre começar a transmissão contínua do conteúdo de mídia solicitado em um limite de transmissão contínua de transmissão de mídia conhecida (por exemplo, um ponto de acesso de transmissão contínua ou SAP) quando uma nova transmissão contínua de conteúdo de mídia for solicitada por um dispositivo de cliente (por exemplo, devido ao fato de uma solicitação de mudança de canal). Em uma variação adicional ou alternativa, a modalidade reivindicada compreende desabilitar a correção de erro para a transmissão da nova transmissão contínua para o dispositivo de cliente por um período de tempo selecionado, e transmitir inicialmente o conteúdo de mídia solicitado criptado em uma taxa de bits selecionada (por exemplo, a taxa de bits mais baixa possível) e segmentado nos segmentos mais curtos possíveis pela operação do segmentador no sistema de servidor de transmissão contínua.
[0008] Em um aspecto relacionado, é revelado que uma modalidade de um sistema de servidor de transmissão contínua compreende, inter alia, um ou mais processadores e um criptador acoplados aos um ou mais processadores que são operacionais para criptar o conteúdo de mídia com o uso de múltiplas taxas de bits. Um segmentador acoplado aos um ou mais processadores é configurado para segmentar o conteúdo de mídia codificado em segmentos de tamanhos diferentes. Um componente é efetuado como parte do sistema de servidor de transmissão contínua reivindicado que é configurado para começar, sob o controle dos um ou mais processadores, transmitir continuamente o conteúdo de mídia em um SAP quando uma nova transmissão contínua de conteúdo de mídia for solicitada por um dispositivo de cliente disposto em um ambiente de transmissão contínua adaptativo. O sistema de servidor de transmissão contínua também compreende um mecanismo de correção de erro (por exemplo, um mecanismo de correção de erro com base em TCP) que é configurado para ser desabilitado de modo seletivo, sob o controle dos um ou mais processadores, por um período de tempo durante a transmissão inicial da nova transmissão contínua para o dispositivo de cliente. Um componente adicional é efetuado como parte do sistema de servidor de transmissão contínua reivindicado que é configurado para transmitir inicialmente, sob o controle dos um ou mais processadores, o conteúdo de mídia solicitado criptado em uma taxa de bits selecionada (por exemplo, a taxa de bits mais baixa possível) e segmentado em segmentos mais curtos possíveis pelo segmentador.
[0009] Em um aspecto relacionado adicional, uma modalidade de um método operativo em um dispositivo de cliente de transmissão contínua para efetuar mudanças de canal rápidas em um ambiente de transmissão contínua adaptativo é revelada. A modalidade reivindicada compreende, inter alia, enviar uma solicitação para transmissão de conteúdo de mídia criptado em uma taxa de bits selecionada (por exemplo, a taxa de bits mais baixa possível) quando uma nova transmissão contínua de conteúdo de mídia for solicitada, e decodificar e renderizar o conteúdo de mídia recebido imediatamente independentemente de um estado de armazenamento temporário associado ao armazenamento temporário de vídeo do dispositivo de cliente. O método reivindicado compreende adicionalmente enviar uma solicitação de conteúdo de mídia de transmissão contínua criptado em taxas de bits maiores durante um período de tempo de subida. Em uma variação adicional ou alternativa, o método reivindicado pode incluir enviar uma solicitação de conteúdo de mídia de transmissão contínua inicialmente segmentado em segmentos mais curtos (por exemplo, por um período de tempo específico). Em outro aspecto relacionado, é revelado que uma modalidade de um dispositivo de cliente compreende um ou mais processadores, um controlador de mudança de canal e um cliente de transmissão contínua, um módulo acoplado aos um ou mais processadores. O módulo de cliente de transmissão contínua pode ser configurado para realizar uma modalidade de um método descrito acima no presente documento pelo menos para propósitos de efetuar solicitações de mudança de canal rápida em um ambiente de transmissão contínua adaptativo. Em aspectos ainda adicionais, uma modalidade de um meio legível por computador não transitório que contém instruções armazenadas em si é revelada para realizar uma ou mais modalidades dos métodos estabelecidos acima.
[0010] As vantagens da presente invenção incluem, mas não se limitam a, facilitar uma experiência de navegação de fácil utilização em um ambiente de transmissão contínua adaptativo que é similar à que é normalmente encontrada em ambientes de difusão por TV existentes. Já que uma ou mais modalidades estabelecidas no presente documento permite a rápida mudança de canais de transmissão contínua adaptativos sem desperdício de largura de banda, condições de visualização insatisfatórias que possam resultar da mudança de canais de transmissão contínua são mitigadas. Adicionalmente, os recursos das várias modalidades são conforme reivindicado nas reivindicações dependentes. Os benefícios e vantagens adicionais das modalidades estarão evidentes em vista da descrição a seguir e das Figuras anexas.
BREVE DESCRIÇÃO DOS DESENHOS
[0011] As modalidades da presente revelação são ilustradas a título de exemplo, e não a título de limitação, nas Figuras dos desenhos anexos nos quais referências similares indicam elementos similares. Deve ser notado que diferentes referências a "uma" ou "uma (1)" modalidade nesta revelação não são necessariamente à mesma modalidade, e tais referências podem significar pelo menos uma. Ademais, quando um recurso, estrutura ou característica específico for descrito em conexão com uma modalidade, sugere-se que esteja dentro do conhecimento de um elemento versado na técnica executar tal recurso, estrutura ou característica em conexão com outras modalidades independentemente de serem ou não explicitamente descritas.
[0012] Os desenhos anexos estão incorporados e fazem parte do relatório descritivo para ilustrar uma ou mais modalidades exemplificativas da presente revelação. Várias vantagens e recursos da revelação serão entendidos a partir da Descrição Detalhada a seguir tomada em conexão com as reivindicações anexas e com referência às Figuras anexas, nas quais:
[0013] A Figura 1 retrata um ambiente de rede exemplificativo que inclui uma rede de entrega de conteúdo em que uma ou mais modalidades do presente pedido de patente podem ser praticadas;
[0014] A Figura 2 retrata um diagrama de estágios exemplificativos envolvidos em uma aquisição ilustrativa e que renderiza o processo para transmissão contínua de conteúdo de vídeo para os propósitos da presente revelação de patente;
[0015] As Figuras 3A a 3C retratam exemplos de diversos tipos de adjacências de canal de acordo com uma ou mais modalidades da presente revelação de patente;
[0016] A Figura 3D retrata um diagrama de blocos de um dispositivo de cliente de transmissão contínua exemplificativo de acordo com uma modalidade;
[0017] As Figuras 4 a 6 retratam fluxogramas com blocos em relação a diversas etapas e atos que podem acontecer em um dispositivo de cliente de acordo com uma ou mais modalidades do presente pedido de patente;
[0018] A Figura 7 retrata um fluxograma com blocos em relação a diversas etapas e atos que podem ocorrer em um sistema de servidor de transmissão contínua adaptativo de acordo com uma ou mais modalidades do presente pedido de patente;
[0019] As Figuras 8 a 10 retratam fluxogramas com blocos em relação a diversas etapas e atos que podem acontecer em um dispositivo de cliente de acordo com uma ou mais modalidades do presente pedido de patente; e
[0020] A Figura 11 retrata outra modalidade de um dispositivo de cliente de transmissão contínua exemplificativo para os propósitos do presente pedido de patente.
DESCRIÇÃO DETALHADA DOS DESENHOS
[0021] Na descrição a seguir, numerosos detalhes específicos são estabelecidos em relação a uma ou mais modalidades da presente revelação de patente. Entretanto, deve ser entendido que uma ou mais modalidades podem ser praticadas sem tais detalhes específicos. Em outras situações, circuitos, subsistemas, componentes, estruturas e técnicas bem conhecidos não foram mostrados em detalhes a fim de não obscurecer o entendimento das modalidades exemplificativas. Consequentemente, será verificado por uma pessoa versada na técnica que as modalidades da presente revelação podem ser praticadas sem tais detalhes com base em componentes específicos. Deve ser reconhecido adicionalmente que as pessoas de habilidade comum na técnica, com a ajuda da Descrição Detalhada estabelecida no presente documento e tomando-se referência aos desenhos anexos, terão a capacidade de produzir e usar uma ou mais modalidades sem experimentação indevida.
[0022] Adicionalmente, termos como “acoplado” e “conectado”, junto com seus derivados, podem ser usados na descrição, reivindicações a seguir, ou ambas. Deve ser entendido que esses termos não são necessariamente destinados a serem sinônimos entre si. “Acoplado” pode ser usado para indicar que dois ou mais elementos, que podem estar ou não em contato físico direto ou em contato elétrico entre si, cooperar ou interagir entre si. “Conectado” pode ser usado para indicar o estabelecimento de comunicação, isto é, uma relação comunicativa, entre dois ou mais elementos que são acoplados entre si. Adicionalmente, em uma ou mais modalidades exemplificativas estabelecidas no presente documento, falando de modo geral, um elemento, componente ou módulo pode ser configurado para realizar uma função se o elemento tiver a capacidade de realizar ou, de outro modo, dispor estruturalmente para realizar aquela função.
[0023] Conforme usado no presente documento, um elemento de rede pode ser composto de uma ou mais peças de equipamento de rede de serviço, incluindo hardware e software que interconecta comunicativamente outro equipamento em uma rede (por exemplo, outros elementos de rede, estações finais, etc.), e é adaptado para hospedar um ou mais aplicativos ou serviços em relação a uma pluralidade de assinantes. Alguns elementos de rede podem compreender “múltiplos elementos de rede de serviços” que fornecem suporte para múltiplas funções com base em rede (por exemplo, segmento de mídia de A/V, controle de sessão, reforço de política de QoS, gerenciamento de programação de largura de banda, gerenciamento de política e perfil de assinante/dispositivo, gerenciamento de política de prioridade de fornecedor de conteúdo, gerenciamento de política de transmissão contínua e similares), em adição ao fornecimento de suporte para múltiplos serviços de aplicação (por exemplo, aplicações de dados e multimídia). As estações finais de assinante ou dispositivos de cliente podem compreender qualquer dispositivo configurado para executar, inter alia, pelo menos um pedido de cliente de transmissão contínua (por exemplo, um pedido de cliente de transmissão contínua de ABR) para receber conteúdo proveniente de um servidor de transmissão contínua ou fornecer de conteúdo. Consequentemente, tais dispositivos de cliente podem incluir decodificadores de sinais, PVR/DVRs, estações de trabalho, computadores do tipo laptop, computadores do tipo netbook, palm tops, telefones móveis, telefones inteligentes, telefones de multimídia, telefones de Protocolo de Internet Por Voz (VOIP), equipamento de usuário móvel/sem fio, terminais de TV de alta definição, reprodutores de mídia portáteis, equipamentos de assinante que reconhecem localização, sistemas ou consoles de jogos eletrônicos (como o Wii, PlayStation 3, Xbox 360), etc., que podem acessar ou consumir conteúdo/serviços fornecidos por uma rede de entrega de conteúdo de acordo com uma ou mais modalidades estabelecidas no presente documento. Adicionalmente, os dispositivos-cliente também podem acessar ou consumir conteúdo/serviços fornecidos por redes de difusão (por exemplo, redes a cabo ou por satélite) assim como uma rede pública de área ampla comutada por pacote como a Internet por meio de redes de acesso de provedor de serviço adequadas. Ainda em uma variação adicional, os dispositivos- cliente ou estações finais de assinante também podem acessar ou consumir conteúdo/serviços fornecidos em redes privadas virtuais (VPNs) sobrepostas (por exemplo, encapsulada) na Internet.
[0024] Uma ou mais modalidades da presente revelação da patente podem ser implantadas com o uso de diferentes combinações de software, firmware e/ou hardware. Dessa forma, uma ou mais das técnicas mostradas nas Figuras (por exemplo, fluxogramas) podem ser implantadas com o uso de códigos e dados armazenados e executados em um ou mais dispositivos eletrônicos ou nós (por exemplo, um dispositivo de assinante ou estação final, um elemento de rede, etc.). Tais dispositivos eletrônicos podem armazenar e comunicar (internamente e/ou com outros dispositivos eletrônicos por uma rede) códigos e dados com o uso de mídias legíveis por computador, com mídias de armazenamento legíveis por computador não transitórias (por exemplo, discos magnéticos, discos ópticos, memória de acesso aleatório, memória somente leitura, dispositivos de memória flash, memória de mudança de fase, etc.), mídias de transmissão legíveis por computador transitórias (por exemplo, sinais elétricos, ópticos, acústicos ou outra forma de sinais propagados - como ondas portadoras, sinais infravermelhos, sinais digitais), etc. Adicionalmente, tais elementos de rede, podem incluir, tipicamente, um conjunto de um ou mais processadores acoplados a um ou mais dentre outros componentes, como um ou mais dispositivos de armazenamento (por exemplo, mídias de armazenamento legíveis por máquina não transitórias) assim como base(s) de dados de armazenamento, dispositivos de entrada/saída de usuário (por exemplo, um teclado, uma tela sensível ao toque, um dispositivo de apontamento e/ou um visor) e conexões de rede para efetuar a sinalização e/ou a transmissão de mídias portadoras. O acoplamento do conjunto de processadores e outros componentes pode ser tipicamente através de um ou mais barramentos e pontes (também referidos como controles de barramento), dispostos em quaisquer arquiteturas conhecidas (por exemplo, multiprocessamento simétrico/compartilhado) ou desconhecidos a partir de então desconhecidos. Dessa forma, o dispositivo de armazenamento ou componente de um dispositivo eletrônico ou elemento de rede dado pode ser configurado para armazenar códigos e/ou dados para a execução em um ou mais processadores daquele elemento, nó ou dispositivo eletrônico para os propósitos de implantação de uma ou mais técnicas da presente revelação.
[0025] Agora, em referência aos desenhos e mais particularmente à Figura 1, retratado na mesma está um ambiente de rede de transmissão contínua exemplificativo 100 incluindo uma rede de entrega de conteúdo ou rede de distribuição de conteúdo (CDN) 122 acoplada a um sistema de servidor de transmissão contínua adaptativo 102 em que uma ou mais modalidades do presente pedido de patente pode ser praticado. Para os propósitos do presente pedido de patente, a CDN 122 pode compreender uma rede sobreposta projetada para transmissão contínua de alto desempenho de uma variedade de ativos digitais ou ativos de programa assim como serviços (a partir desse ponto no presente documento referido como “conteúdo de mídia”) a assinantes com o uso de uma ou mais infraestruturas com base na Internet, infraestruturas privadas/dedicadas ou uma combinação dos mesmos. Em geral, os termos “conteúdo de mídia” ou “arquivo de conteúdo” (ou, simplesmente “conteúdo”) conforme usado em referência a pelo menos algumas modalidades da presente revelação de patente podem incluir ativos digitais e ativos de programa como qualquer tipo de conteúdo de áudio/vídeo ou segmento de programa, transmissão contínua ou estática (por exemplo, shows ou programas de televisão (TV) de rede gravados sem fio livre, programas de difusão por TV paga por meio de redes a cabo ou redes por satélite, shows de TV por satélite sem fio, programas de IPTV, etc.), shows ou programas de Topo do Arco (OTT) e de Vídeo Sob Demanda (VOD) ou Filme Sob Demanda (MOD), conteúdo TV comutada por tempo (TSTV), assim como outros ativos de conteúdo fornecidos pelos publicadores, detentores ou fornecedores de conteúdo, incluindo, mas não se limitando a, arquivos de software, código ou programas de computador executáveis, jogos eletrônicos online, shows/programas de rádio pela Internet, programas de entretenimento, programas educacionais, filmes, programas de vídeo musical, e similares, que possam ser entregues com o uso de quaisquer tecnologias de transmissão contínua conhecidas ou desconhecidas até o presente momento. Adicionalmente, diversos arquivos de programas ou conteúdo fornecidos por meio de transmissão contínua podem ser dispostos como uma coleção ou montagem de canais que são específicos a diferentes assinantes, em que diferentes canais podem compreender conteúdo de mídia proveniente de uma ou mais fontes ou originadores de conteúdo.
[0026] A título de ilustração, o conteúdo pode ser entregue por meio da CDN 122 com o uso de técnicas de transmissão contínua de taxa de bits adaptativa (ABR) e pode ser criptado para suportar Transmissão Contínua Suave por Microsoft® Silverlight®, transmissão contínua de HTTP (por exemplo, Transmissão Contínua Adaptativa Dinâmica por HTTP ou DASH, Transmissão Contínua Ao Vivo por HTTP ou HLS, HTTP Transmissão Contínua Dinâmica ou HDS, etc.), lcecast, e assim por diante. Em geral, a arquitetura de sobrecamada da CDN 122 pode incluir uma montagem interconectada em múltiplos níveis organizada hierarquicamente de servidores de rede para realizar trajetórias de mídia ou “tubos” a partir de um ou mais nós de distribuição centrais para um ou mais níveis de nós de distribuição regionais que são conectados a um ou mais servidores de borda locais configurados para servir uma pluralidade de usuários ou assinantes finais nas respectivas áreas de localização de serviço. Em adição a tais "servidores de distribuição" (às vezes também referidos como “alternativas”), a CDN 122 também pode incluir e/ou interoperar com diversos elementos de rede configurados para efetuar direção de solicitação ou mecanismos de rerroteamento assim como sistemas de função de apoio relacionados como sistemas de gerenciamento de assinante, sistemas de programação de largura de banda, sistemas de contabilidade/faturamento e similares, que podem ser instalados como parte de uma função de apoio de rede de transmissão contínua (não mostrado especificamente).
[0027] O ambiente de rede de transmissão contínua 100 inclui uma ou mais estações finais de assinante, conforme ilustrado por um dispositivo de cliente exemplificativo ou dispositivo de equipamento de usuário (UE) 124 associado a um assinante/cliente para consumir conteúdo entregue por meio da CDN 122 em qualquer tipo ou quantidade de tecnologias de acesso incluindo acesso de banda larga por meio de comunicações com fio e/ou sem fio (a rádio). Para os propósitos do presente pedido de patente, os termos “dispositivo de cliente de transmissão contínua” e “dispositivo de cliente” podem ser usados de modo sinônimo e podem compreender qualquer dispositivo ou utensílio de UE que, em uma implantação, não apenas recebe ativos de programa para visualização, reprodução e/ou decodificação do conteúdo ao vivo, mas também opera como um console ou terminal de comando que pode aceitar entradas, comandos ou solicitações de usuário para interagir com um cliente de rede disposto na CDN 122 e/ou os sistemas de servidor de transmissão contínua associados 102 para solicitar conteúdo que pode ser renderizado seletivamente em uma tela de exibição interna 126 e/ou um ou mais dispositivos de áudio/visual (A/V) externos (não mostrados especificamente). Como tal, o dispositivo de cliente exemplificativo 124 pode incluir um ou mais módulos de cliente de transmissão contínua 128 (por exemplo, um cliente de transmissão contínua de ABR) e funcionalidades de decodificação associadas 134 dependendo das tecnologias de transmissão contínua implantadas, sendo que cada um opera em associação com um módulo de processador 130 e memória de armazenamento temporário de vídeo 132 para efetuar aquisição, decodificação e renderização do conteúdo de mídia transmitido continuamente. Embora não mostrado especificamente, o dispositivo de cliente 124 também inclui interfaces de usuário apropriadas para visualizar um ou mais guias de programa eletrônico que listam, identificam ou, de outro modo, mostram os diversos canais de transmissão contínua que o assinante tem capacidade para receber. Tais entrelaces de usuário também podem ser configurados para permitir que o usuário role através de um guia de programa eletrônico (isto é, navegação por canal), selecione ou, de outro modo, mude um canal de transmissão contínua particular, e similares. Adicionalmente, conforme será descrito em detalhes adicionais abaixo no presente documento, o dispositivo de cliente 124 inclui estruturas e módulos apropriados para facilitar tais funcionalidades como navegação por canal e seleção de canal dentro de um ambiente de rede de transmissão contínua adaptativo.
[0028] Referindo-se ainda à Figura 1, o sistema de servidor de transmissão contínua adaptativo exemplificativo 102 pode ser configurado para aceitar o conteúdo de mídia proveniente de fontes ao vivo 104A e/ou fontes de arquivo estático 104B. Em operação geral, o sistema de servidor de transmissão contínua exemplificativo 102 pode ser configurado, sob o controle de um ou mais processadores 108 que executam o código de programa apropriado armazenado em um módulo de memória persistente 109, para efetuar a transmissão contínua adaptativa de conteúdo conforme a seguir. Inicialmente, o conteúdo de mídia de fonte é transcodificado ou, de outro modo, criptado com diferentes taxas de bits (por exemplo, transcodificação com múltiplas taxas) com o uso de criptador(es) aplicável(is) 106. Por exemplo, um conteúdo de programa particular pode ser transcodificado em cinco arquivos de vídeo com o uso de taxas de bits variáveis, que estão na faixa de baixas a altas taxas de bits (500 kbps para 10 Mbps, a título de ilustração). O conteúdo particular é, portanto, criptado como cinco “versões” ou “formatos” diferentes, em que cada taxa de bit é chamada de um perfil ou representação. O numeral de referência 110 se refere a uma coleção de correntes de mídia criptadas em diferentes taxas de bits pelo criptador 106. Um servidor de segmentação ou segmentador 112 é operativo para dividir cada versão do conteúdo de mídia codificado em segmentos ou partes de duração fixa, que têm tipicamente entre dois e dez segundos de duração, o que, desse modo, gera uma pluralidade de correntes de partes 114. Uma pessoa versada na técnica reconhecerá que segmentos mais curtos podem reduzir a eficácia de codificação enquanto segmentos maiores podem impactar a adaptabilidade a mudanças na taxa de transferência de rede e/ou mudança rápida de comportamento de cliente. Independentemente do tamanho da parte, os segmentos podem ser Grupos de Imagens (GOP) alinhados de moco que todos os perfis de criptação tenham os mesmos segmentos. Um ou mais Arquivos de Manifesto adequados são, então, criados para descrever as taxas de criptação e o Localizador de Recursos Universal (URL) que apontam para diversos segmentos de conteúdo criptado. Em uma implantação, o Arquivo de Manifesto (MF), um Formato de Entrega (DF) e meios para conversão de/para Formatos de Arquivo (FF) e Correntes de Transporte (TS) existentes podem fornecidos por um servidor de origem 116 como parte de correntes adaptativas 120 ao dispositivo de cliente 124 pela CDN 122, que usa HTTP para buscar os segmentos criptados com base nas URLs. Adicionalmente, um mecanismo de correção de erro 118 também pode ser implantado, tanto como parte do sistema de servidor de transmissão contínua 102 quanto como um elemento de rede separado, a fim de reduzir erros de transmissão na transmissão contínua de ponta a ponta do conteúdo de mídia codificado. Deve ser observado que o mecanismo de correção de erro 118 pode ser específico de protocolo (por exemplo, Protocolo de Controle de Transmissão ou TCP), embora outros esquemas de correção de erro também possam ser usados adicional ou alternativamente.
[0029] Ainda em referência à Figura 1, os segmentos de transmissão contínua de mídia recebidos pelo dispositivo de cliente 124 podem ser armazenados temporariamente, conforme necessário, e decodificados e reproduzidos (isto é, renderizados) em sequência, tanto no visor local 126 quanto em um dispositivo de A/V externo associado ao dispositivo de cliente 124. O módulo de cliente de transmissão contínua de ABR 128 pode ser projetado para selecionar um perfil ideal de cada segmento para maximizar a qualidade sem arriscar subfluxo e estagnação do armazenamento temporário (isto é, rearmazenamento temporário) da execução. Cada vez que o dispositivo de cliente 124 buscar um segmento, o mesmo pode escolher o perfil com base no tempo medido para transferir por download os um ou diversos segmentos anteriores.
[0030] Será reconhecido que mudar o conteúdo de mídia (isto é, de um canal de transmissão contínua para outro canal de transmissão contínua) em um ambiente de transmissão contínua adaptativo como a disposição de rede exemplificativa 100 mostrada na Figura 1 pode ser um processo incômodo, especialmente em condições de mudança de canal rápida. Isso se deve ao fato de que a transmissão contínua adaptativa tipicamente necessita que armazenamentos temporários de vídeo apropriados sejam preenchidos até certos níveis antes da renderização, em adição aos segmentos de conteúdo criptados em altas taxas de bits (isto é, “conteúdo de taxa de bit alta”) que é preferencial aos mesmos segmentos de conteúdo criptados em baixas taxas de bits (isto é, “conteúdo de taxa de bits baixa”), etc. Adicionalmente, na medida em que diversos eventos ou estágios de processamento precisem ocorrer em uma ordem sequencial antes que o conteúdo de mídia recebido possa ser apropriadamente renderizado (isto é, reproduzido), a mudança de canais pode produzir uma experiência de visualização inaceitável (por exemplo, intermitência, tremulação, pixelação, etc.) devido ao fato dos atrasos e/ou interrupções introduzidas no processo geral de receber-decodificar-renderizar. Diversas modalidades serão estabelecidas em detalhes abaixo no presente documento, sendo que se referem a processos e estruturas do lado de servidor, processos e estruturas do lado de cliente, ou ambos, que enderecem os problemas supracitados.
[0031] A Figura 2 retrata um diagrama de estágios exemplificativos envolvidos em um processo ilustrativo de aquisição e renderização de mídia de transmissão contínua 200 de acordo com uma modalidade da presente revelação de patente. Conforme descrito acima, um dispositivo de cliente primeiro obtém, recebe ou, de outro modo, adquire certos metadados, por exemplo, arquivos de manifesto, em relação a correntes de transporte de mídia (bloco 202). Com base nas informações contidas nos arquivos de manifesto, diversas peças de informações de inicialização são buscadas ou, de outro modo, adquiridas (bloco 204). Tais informações de inicialização podem compreender, inter alia, Conjunto de Parâmetros de Sequência (SPS), Conjunto de Parâmetros de Imagem (PPS), um ou mais cabeçalhos de codec como, por exemplo, cabeçalhos de sequência de MPEG-2, ou cabeçalhos de Codificação de Vídeo de Alta Eficiência (HEVC), ou cabeçalhos de AC3 (áudio) e quaisquer dados necessários para decodificar pelo menos um ou mais quadros, ou dependendo da granularidade de previsão, uma ou mais fatias (que são regiões espacialmente distintas de um quadro que são criptadas separadamente de outras regiões daquele quadro) e/ou qualquer combinação dos mesmos. Tais quadros criptados podem compreender quadros I (Imagens intracodificadas), quadros B (Imagens bipreditivas) ou quadros P (Imagens preditivas). Da mesma forma, as fatias podem compreender fatias I, fatias B ou fatias P. Com o uso das informações de inicialização, o conteúdo ou os dados de mídia codificados são, então, obtidos ou recuperados (bloco 206) e armazenados temporariamente (208). Na medida em que níveis apropriados de dados de armazenamento temporário se tornem disponíveis, tais dados são decodificados (210) e, então, são fornecidos a uma tela de exibição para renderização (212), com o uso de mecanismos adequados de decodificação/renderização.
[0032] De acordo com os ensinamentos da presente revelação de patente, pelo menos um ou mais estágios do fluxo de processo 200 estabelecido acima podem ser realizados de um modo antecipatório de modo que aqueles estágios de processo possam ser "pré-realizados". Consequentemente, certas informações básicas necessárias para decodificar o conteúdo de mídia de transmissão contínua se tornam prontamente disponíveis a um cliente de transmissão contínua adaptável em virtude da pré-realização de algum dos estágios primários de processo. Como uma consequência, o cliente de transmissão contínua adaptativo pode utilizar prontamente as informações já disponíveis (isto é, informações “pré-buscadas”) para se ajustar rapidamente a um novo canal quando um usuário decidir rolar pelos canais e/ou selecionar um canal particular após isso. De acordo, adicionalmente, com os ensinamentos da presente revelação de patente, a pré-realização antecipatória de certos estágios de processo conforme estabelecido no supracitado podem ser instalados para uma quantidade selecionada de canais de transmissão contínua que são determinados como “adjacentes” em relação a um canal de transmissão contínua atual com base em um comportamento de navegação preditiva por canal, categorização de canal, aprendizagem adaptativa, reconhecimento de padrão e outros critérios.
[0033] As Figuras 3A a 3C retratam exemplos de diversos tipos de adjacências de canal de acordo com uma ou mais modalidades da presente revelação de patente. No exemplo 300A mostrado na Figura 3A, um ou mais canais adjacentes podem ser determinados como uma quantidade configurável de canais consecutivos que estão acima do canal de transmissão contínua atual (i) (por exemplo, (i+2) canais), ou como uma quantidade configurável de canais consecutivos que estão abaixo do canal de transmissão contínua atual (i) (por exemplo, (i-3) canais), ou ambos. Em outra modalidade, o exemplo 300B mostrado na Figura 3B ilustra um cenário em que os canais podem ser agrupados com base em categorização de conteúdo. Tais categorias podem ser definidas como “listas de favoritos” com base no usuário, por exemplo. Consequentemente, todos os canais que pertencem à categoria “x” podem ser ditos como adjacentes um em relação ao outro. A Figura 3C ilustra um cenário em que um padrão de comportamento de navegação do usuário (por exemplo, por um período de tempo) pode ser usado para identificar se é provável que o usuário navegue em uma direção ou outra direção e, então, selecione canais adjacentes na direção.
[0034] As pessoas versadas na técnica devem observar que os exemplos supracitados de adjacências de canal representam meramente uma lista não minuciosa, já que podem haver diversas variações, metodologias, determinações e esquemas pelos quais pode ser implantada adjacência. As adjacências de canal também podem ser mudadas dinamicamente de definições padrão e podem ser configuradas para variar de um esquema para outro com base em hábitos de visualização dos usuários, etc. Também deve ser reconhecido que certas implantações de adjacência de canal podem depender de como guias de programa eletrônico são organizadas e apresentadas aos usuários. Consequentemente, para os propósitos de pelo menos algumas modalidades da presente revelação de patente, um canal adjacente é um canal de transmissão contínua para o qual certos estágios de processo mostrados na Figura 2 são realizados preventivamente. Além disso, a quantidade de canais adjacentes para a qual os metadados são pré- buscados pode depender de certas restrições de desempenho/recurso que pertencem ao próprio dispositivo de cliente, por exemplo, condições atuais de largura de banda, uma quantidade de decodificadores disponíveis, condições de armazenamento temporário, condições de processamento de decodificação, e similares.
[0035] Agora, em referência à Figura 3D, retratada na mesma está um diagrama de blocos de um dispositivo de cliente de transmissão contínua exemplificativo 350 de acordo com uma modalidade em que um ou mais aspectos da presente revelação de patente podem ser praticadas. Deve ser observado que o dispositivo de cliente de transmissão contínua 350 é um dispositivo de UE que geralmente representa o dispositivo de assinante/cliente 124 ilustrado na Figura 1, e pode incluir componentes e subsistemas apropriados de hardware/software que podem aumentar ou, de outro modo, redispor os blocos mostrados como parte do dispositivo de cliente 124. Amplamente, tais componentes e subsistemas de hardware/software podem ser configurados para realizar qualquer um dos processos de lado de dispositivo (tanto individualmente quanto em qualquer combinação dos mesmos) descritos acima no presente documento, que podem ser redispostos quando tomados em vista de um ou mais dos processos descritos abaixo. Um módulo de processador 302 incluindo um ou mais microcontroladores/processadores é fornecido para o controle geral do dispositivo de UE de cliente 350 e para a execução de diversas instruções de programa armazenadas incorporadas em uma memória persistente 315 que pode fazer parte de um subsistema de memória 311 do dispositivo 350. Também, um ou mais armazenamentos de memória de vídeo 319 podem ser incluídos no subsistema de memória 311 para armazenar dados de transmissão contínua de vídeo. O complexo de controlador/processador referido pelo numeral de referência 302 também pode representar outros módulos de processamento especializados como processadores gráficos, processadores de vídeo, processadores de sinal digital (DSPs) e similares, que operam em associação com interfaces de vídeo e áudio adequadas 314, 316 para receber/transmitir dados de conteúdo, cujas interfaces podem incluir ou operar em conjunto com sintonizadores apropriados, demoduladores, desembaralhadores, decodificadores/demuxadores de MPEG. Por exemplo, o dispositivo de cliente 350 pode ser configurado para operar com uma quantidade de formatos de áudio conhecidos (por exemplo, MP3, AAC, AAC+, eAAC+, FLAC, WMA, WAV, AMR, OGG, DTS, AC3, LPCM e MIDI) assim como formatos de vídeo como, por exemplo, MPEG4, H.263, H.264, DivX, XviD, WMV, AVI, 3GO, Flash Video, etc. Um entrelace de comunicações com base em localização e/ou por satélite 306 pode ser fornecido em certas modalidades para efetuar comunicações com base em satélite. Outras E/S ou interfaces podem incluir um ou mais entrelaces de usuário 320 que geralmente ilustram uma interface de usuário gráfica (GUI), tela sensível ao toque, teclado, microfone, etc., que podem ser usados para inserir comandos para efetuar, inter alia, navegação por canal, seleção de canal, manipulação de orientação de programa e similares. Adicionalmente, uma ou mais portas USB/HDMI/DVl/Fire Wire 318 podem ser fornecidas para efetuar conexões a um ou mais dispositivos A/V externos pelos quais o conteúdo de mídia decodificado pode ser renderizado externamente. A conectividade de rede de banda larga pode ser conseguida por meio de interfaces como I/F de Ethernet 308 assim como interfaces de conectividade sem fio de faixa curta e de área ampla 312. Em uma implantação do dispositivo de cliente 350, um sistema de unidade de disco rígido (HDD) (não mostrado especificamente) pode ser fornecido para armazenamento em massa de ativos de programa como mídia de A/V, shows de TV, títulos de filme, jogos de multimídia, etc. Também está incluído no dispositivo de cliente/UE 350 uma fonte de alimentação adequada 322, que pode incluir conversão de potência CA/CC para fornecer potência para o dispositivo 350. Deve ser observado que a arquitetura de potência real para o dispositivo de UE de cliente 350 pode variar pela plataforma de hardware usada, por exemplo, dependendo do SoC (Sistema em Chip) de núcleo, memória, extremidade frontal analógica, componentes e interfaces de corrente de sinal analógico usadas na plataforma específica e similares.
[0036] Para os propósitos do presente pedido de patente, as instruções de programa armazenadas incorporadas na memória persistente 315 (por exemplo, memória Flash) do dispositivo de cliente 350 pode incluir instruções legíveis por computador configuradas para realizar um ou mais processos de lado de dispositivo, seletivamente em conjunto com outros subsistemas ou blocos lógicos como um ou mais clientes de transmissão contínua de ABR e módulos lógicos de decodificação 310 e outros subsistemas, como um controlador de mudança de canal, largura de banda e outros monitores de desempenho, assim como mecanismos determinação de modo de visualização e adjacência de canal, todos coletivamente referidos pelo numeral de referência 304. Adicionalmente, um local opcional ou visor incluído 313 também pode ser fornecido como parte do dispositivo de cliente 350 para renderizar o conteúdo recebido localmente (por exemplo, em uma quantidade de resoluções como Definição de Padrão, Definição Aprimorada ou Alta Definição) em adição à operação como uma tela sensível ao toque.
[0037] Em um aspecto da presente revelação de patente, os diversos módulos, blocos e subsistemas estabelecidos acima podem ser configurados para efetuar a exibição eficiente de canais adjacentes através de metadados pré-buscados em um ambiente de transmissão contínua adaptativo. Em geral, o dispositivo de cliente 350 pode ser configurado para operar em dois modos funcionais: (i) um modo de "visualização" no qual certos dados podem ser pré-buscadas em adição à entrega de vídeo de alta qualidade; e (ii) um modo de “mudança de canal” ou "navegação de canal" no qual obter baixa qualidade ou qualidade “boa o suficiente” de vídeo para exibição de canais de mudança rápida é a principal preocupação. O dispositivo de cliente 350 pode estar em modo de "visualização" se nenhum canal for mudado após ou dentro de um período de tempo configurável (por exemplo, 30 segundos). Por outro lado, o dispositivo de cliente 350 pode estar em modo de “mudança de canal” se o canal tiver sido trocado recentemente (por exemplo, menos de 30 segundos).
[0038] Pelo menos uma porção dos módulos, blocos e subsistemas do dispositivo de cliente 350 são operáveis para efetuar um ou mais dos seguintes processos e subprocessos sob o controle do processador 302 para propósitos de facilitar a exibição eficiente de canais de transmissão contínua adjacentes de acordo com uma ou mais modalidades do presente pedido de patente. Em referência a uma modalidade do processo 400 mostrado na Figura 4, o dispositivo de cliente 350 pode ser configurado para monitorar condições de largura de banda atuais (por exemplo, em relação à conexão de rede como a conexão 136 mostrada na Figura 1, assim como quaisquer outros tubos de distribuição envolvidos na trajetória de distribuição ponta a ponta através da CDN) e outras condições de desempenho, conforme estabelecido no bloco 402. Em resposta às condições mencionadas, pode ser feita uma determinação de como muitos canais adjacentes para os quais certas informações de metadados devem ser pré-buscados. Em um exemplo ilustrativo, se 2 Mb de largura de banda estiverem atualmente disponíveis (após considerar qualquer largura de banda que seja utilizada para a sessão atual de transmissão contínua), presume-se que cada canal requer 400 Kb de largura de banda para obter seus metadados, pode ser feita uma determinação de que o dispositivo de cliente tenha capacidade para obter metadados para cinco canais adjacentes. Conforme descrito anteriormente, diversos construtos de adjacências de canal podem ser implantados, incluindo, por exemplo, listas específicas de usuário ou definidas pelo usuário, listas definidas pelo operador, com base em implantações de orientação de programa, categorias de conteúdo, definições com base em idioma, configurações estáticas ou fixas, etc. Em uma abordagem de modelagem de comportamento preditivo, se o usuário tiver pressionado até três canais (isto é, rolado três vezes) dentro de um período de tempo específico, pode ser feita uma determinação probabilística de que é provável que o usuário role novamente ao invés de simular, for exemplo. Consequentemente, uma certa quantidade de canais acima do canal pode ser considerada como os canais adjacentes para os quais os metadados serão pré-buscadas. As operações supracitadas são ilustrativas de atos e funções estabelecidos no bloco 404 do fluxo de processo 400.
[0039] Após determinar um ou mais canais adjacentes (por exemplo, em relação a um canal de transmissão contínua atual), as informações de metadados para os canais adjacentes são buscadas, solicitadas, recuperadas ou, de outro modo, pré- buscadas a partir do(s) sistema(s) de servidor(es) associado(s) (bloco 406). Em uma implantação de transmissão contínua adaptativa, tais metadados podem compreender arquivos de manifesto apropriados em relação à transmissão contínua de conteúdo de mídia codificado nos canais adjacentes. A lógica de cliente de transmissão contínua em execução no dispositivo de cliente 350 é operativo para analisar as informações de metadados pré-buscadas, e em resposta às mesmas, determinar onde ir para obter informações de inicialização para os canais adjacentes (bloco 408). Conforme descrito anteriormente, tais informações de inicialização podem compreender pelo menos uma das informações de SPS/PPS, um ou mais cabeçalhos de codec, e a quantidade mínima de metadados necessários para decodificar fatias/quadros. Consequentemente, com base nas informações de metadados pré-buscadas, o dispositivo de cliente 350 é adicionalmente operativo para pré-buscar ou pré-transferir por download as informações de inicialização dos canais adjacentes, que podem ser armazenadas localmente em memória (bloco 408). Se o canal de transmissão contínua atual for mudado para um novo canal de transmissão contínua que pertence ao grupo de canais adjacentes (bloco de decisão 410), as informações de inicialização para o novo canal de transmissão contínua (que está disponível prontamente/localmente devido ao fato de ter sido pré-buscado) são usadas pelo dispositivo de cliente 350 para buscar rapidamente o conteúdo de mídia solicitado a partir de localidades apropriadas (bloco 414). Em uma implantação, a lógica de cliente de transmissão contínua em execução no dispositivo de cliente 350 pode ser configurada para solicitar apenas o conteúdo de mídia que é criptado em uma taxa de bits selecionada, por exemplo, a menor taxa de bit, pelo criptador do servidor de transmissão contínua. Adicional ou alternativamente, o dispositivo de cliente 350 também pode solicitar o conteúdo de mídia codificado que é segmentado em segmentos mais curtos.
[0040] Se não houver mudança de canal, o dispositivo de cliente 350 pode continuar a monitorar as condições de largura de banda, recursos de armazenamento temporário, e condições de processamento para que adjacências de canal novas ou modificadas possam continuar a ser restabelecidas ou redeterminadas de outro modo (blocos 412, 402, 404). Se o usuário se estabelecer em um canal particular (isto é, modo de "visualização") conforme estabelecido no bloco de decisão 416, a lógica de cliente de transmissão contínua em execução no dispositivo de cliente 350 pode ser configurada para solicitar o conteúdo de mídia que é codificado em taxas de bits maiores, passando potencialmente por todo o caminho até os perfis de taxa de bit mais alta possível (isto é, subida). Adicional ou alternativamente, o dispositivo de cliente 350 também pode solicitar o conteúdo de mídia codificado que é segmentado em segmentos maiores. Consequentemente, deve ser observado que uma vez que o dispositivo de cliente 350 esteja no modo de "visualização", o conteúdo de mídia com QoS mais alta pode ser apresentado ao usuário de modo relativamente rápido. Essas operações são estabelecidas de modo ilustrativo no bloco 418. Depois disso, o dispositivo de cliente 350 pode (re)estabelecer ou, de outro modo, (re)determinar adjacências de canal mais novas com base nas condições monitoradas conforme descrito anteriormente.
[0041] Uma pessoa versada na técnica reconhecerá, mediante referência ao presente contexto, que executando-se as operações de pré-busca descritas acima, pelo menos os estágios de processo 202 e 204 ilustrado na Figura 2 podem ser contornadas de modo vantajoso no momento da mudança de canal, que, desse modo, ganha um “começo adiantado” quando o canal for mudado. Na medida em que o conteúdo de mídia para o novo canal está disponível mais prontamente, embora nos perfis de taxa de bits baixa e/ou segmentos mais curtos (pelo menos inicialmente), o mecanismo de renderização de decodificador do dispositivo de cliente pode processar rapidamente o conteúdo de mídia para que pelo menos alguns dos problemas de renderização de imagem que possam surgir em ambiente típico de transmissão contínua de mudança de canal possam ser aliviados.
[0042] Agora, em referência à Figura 5, é mostrada na mesma outra modalidade de um fluxo de processo 500 que pode ser implantado por um dispositivo de cliente de transmissão contínua (por exemplo, dispositivo de cliente 350) que tem múltiplos aplicativos de cliente de transmissão contínua e decodificadores correspondentes para conseguir eficácias adicionais em um ambiente de mudança de canal. Similar ao fluxo de processo 400 descrito acima, o fluxo de processo 500 inclui os blocos 502 a 506 em que o dispositivo de cliente 350 pode continuar a monitorar as condições de largura de banda, recursos de armazenamento temporário, condições de processamento, etc., para que as adjacências de canal apropriadas possam ser determinadas e metadados e dados de inicialização possam ser pré-buscados. Com o uso das informações de inicialização pré-buscadas, o dispositivo de cliente 350 prossegue para buscar o conteúdo de mídia dos canais adjacentes e começa imediatamente a decodificação (bloco 508). Em outras palavras, o dispositivo de cliente 350 é operativo para decodificar múltiplas correntes a partir dos canais adjacentes em paralelo (em virtude de decodificadores de clientes de transmissão contínua separados) (isto é, pré-decodificação), que, desse modo, ganha um início de cabeçalho adicional em relação ao estágio de processo de 210 mostrado na Figura 2. Deve ser percebido que partes iniciais de segmentos de mídia podem compreender um "átomo de moof" (por exemplo, na codificação de MP4 Fragmentado) que informa onde todas as amostras de vídeo nos segmentos estão e uma fatia de IDR (Atualização de Decodificação Instantânea) dos quadros. Nesse ponto, o mecanismo de renderização do dispositivo de cliente 350 tem informações suficientes para colocar alguns pixels na tela de exibição. Consequentemente, se o canal de transmissão contínua atual for mudado para um dos canais adjacentes, o mecanismo de renderização do dispositivo de cliente 510 pode começar a renderização imediatamente (devido ao fato do conteúdo de mídia pré-decodificado já estar disponível em armazenamentos temporários de vídeo apropriados) conforme estabelecido no bloco 510. Depois disso, o dispositivo de cliente 350 pode (re)estabelecer ou, de outro modo, (re)determinar novas adjacências de canal com base nas condições mencionadas, conforme descrito anteriormente em relação à Figura 4.
[0043] A Figura 6 retrata um fluxograma de um processo de montagem de canal de alto nível 600 que pode ser executado pelo dispositivo de cliente exemplificativo 350 pelo menos em relação a certos aspectos da presente revelação de patente. No bloco 602, uma ou mais listas de canais adjacentes podem ser montadas, que, em algumas modalidades, pode ser priorizado com base nas preferências de usuário, fornecer políticas de conteúdo, etc. Conforme discutido acima, diversas peças de dados (até e incluindo segmentos de mídia criptados, em certas implantações) podem ser pré-buscados para cada canal adjacente. No bloco de decisão 604, pode ser feita a determinação de se a montagem do canal adjacente está completa, isto é, se todas as operações de pré-obtenção necessárias para os canais determinados para serem adjacentes foram concluídas. Caso tenham sido, o fluxo de processo para (bloco 606). De outro modo, as operações de transferência por download de pré-busca podem continuar a ser realizadas em relação aos canais adjacentes restantes (bloco 608).
[0044] Agora com referência à Figura 7, está retratado na mesma um fluxograma com blocos em relação a diversas etapas e atos que podem ocorrer em um sistema de servidor de transmissão contínua adaptativo (por exemplo, o sistema de servidor 102 mostrado na Figura 1) de acordo com uma ou mais modalidades do presente pedido de patente em relação à facilitação de mudanças de canal rápidas em um ambiente de transmissão contínua adaptativo. Em particular, o fluxo de processo 700 da Figura 7 ilustra diversas funcionalidades que podem ser efetuadas - independentemente ou em alguma combinação ou subcombinação das mesmas - pelo complexo de processador 108 mediante a execução de lógica de serviço apropriada armazenada na memória persistente 109 e que opera em conjunto com outros subsistemas (por exemplo, o criptador 106, o segmentador 112, a correção de erro 118, etc.) do sistema de servidor 102. Quando uma nova transmissão contínua de conteúdo de mídia for iniciado no sistema de servidor 102 (por exemplo, devido ao fato de uma solicitação de mudança de canal do usuário), a lógica de serviço incorporada na memória persistente 109 pode ser configurada para sempre começar a transmissão contínua do conteúdo de mídia solicitado em um ponto específico (bloco 702) como um Ponto de Acesso de Transmissão Contínua (SAP), que é um ponto de acesso aleatório de GOP na transmissão contínua de conteúdo que garante que todos os quadros no GOP sejam decodificáveis. Adicional ou alternativamente, a lógica de serviço do sistema de servidor 102 pode ser configurada para desabilitar mecanismos de correção de erro 118 para a transmissão da nova transmissão contínua para o dispositivo de cliente 350 por um período de tempo selecionado (bloco 704). Será reconhecido que desabilitar um mecanismo de correção de erro específico de protocolo pode produzir uma transmissão de protocolo não-padrão de dados de transmissão contínua, mas um sem a correção de erro projetada, que desse modo, facilitar uma taxa de transmissão mais rápida para o dispositivo de cliente 350. Deve ser observado adicionalmente que as janelas de temporização durante as quais um mecanismo de correção de erro é flexibilizado podem ser configuráveis ou, de outro modo, customizáveis, por exemplo, em resposta a solicitações, comandos, sinais, etc. a partir do dispositivo de cliente rede e/ou 350. Em uma variação adicional ou alternativa, a lógica de serviço do sistema de servidor 102 pode ser configurada para facilitar, pelo menos inicialmente, apenas a transmissão do conteúdo de mídia criptado em uma taxa de bits selecionada (por exemplo, a taxa de bits mais baixa possível) e/ou segmentado nos segmentos mais curtos pelo segmentador 112, conforme estabelecido no bloco 706. Novamente, o período inicial durante o qual as funcionalidades do servidor de transmissão contínua são moduladas continuamente (por exemplo, um período de subida) pode ser configurável em resposta a solicitações provenientes do dispositivo de cliente 350 e/ou outros sinais de controle provenientes dos nós de gerenciamento de rede. Por exemplo, em uma implantação, o período de flexibilização da correção de erro e período de subida inicial pode ser fornecido como o mesmo. Em outra implantação, os dois períodos de tempo podem ser diferentes. Ainda em uma implantação adicional, em resposta ao recebimento de uma ou mais solicitações a partir do dispositivo de cliente 350 (por exemplo, mensagens, alarmes, indicadores de situação, etc.), o mecanismo de correção de erro pode ser habilitado ou reabilitado independentemente da entidade ou evento que desabilitou inicialmente o mecanismo de correção de erro quando a nova transmissão contínua de mídia foi iniciada. Adicional ou alternativamente, uma ou mais solicitações provenientes do dispositivo de cliente 350 (por exemplo, URLs, apontadores, indicadores, etc.) pode instruir seletivamente o sistema de servidor 102 para começar a transmitir o conteúdo de mídia criptado em taxas de bits maiores e/ou em segmentos maiores. A título de ilustração, o dispositivo de cliente 350 pode enviar um URL (operativo como um primeiro URL, por exemplo) http://www.purplefrog.com/vid/665/r1/0000311.m4s para o conteúdo de taxa de bits baixa de mídia e outro URL (operativo como um segundo URL, por exemplo) http://www.purplefrog.com/vid/665/r2/0000311.m4s para o conteúdo de taxa de bit alta de mídia. Deve ser percebido que tais solicitações podem ser geradas pelo dispositivo de cliente em resposta a diversas condições, inter alia, condições de largura de banda, qualidade do vídeo renderizado, condições de armazenamento temporário, condições de processamento de decodificação, e similares. Consequentemente, a funcionalidade de transmissão contínua efetuada pelo sistema de servidor 102 pode ser modulada condicionalmente em resposta às diversas solicitações conforme estabelecido no bloco 708.
[0045] Para facilitar mudanças de canal rápidas em conjunto com as funcionalidades supracitadas do sistema de servidor de transmissão contínua 102, o dispositivo de cliente 350 também pode ser configurado consequentemente para efetuar vários processos - independentemente ou em alguma combinação ou subcombinação dos mesmos. A Figura 8 retrata um fluxo de processo 800 com blocos em relação a diversas etapas e atos que podem ocorrer no dispositivo de cliente 350. Quando uma transmissão contínua de conteúdo de mídia é iniciada novamente (por exemplo, devido a uma solicitação de mudança de canal), o dispositivo de cliente 350 é operativo para solicitar apenas o conteúdo de mídia que é criptado na taxa de bits mais baixa possível e/ou nos segmentos mais curtos (bloco 802). Na medida em que o conteúdo de mídia criptado é recebido, o dispositivo de cliente 350 pode ser configurado para começar imediatamente a decodificação e a renderização do conteúdo de mídia recebido, independentemente do estado de armazenamento temporário. Conforme descrito anteriormente em relação à modalidade da Figura 5, tal renderização de decodificação imediata é possível mediante o recebimento de pelo menos uma quantidade mínima de informações. Adicional ou alternativamente, a memória de armazenamento temporário de vídeo 319 pode ser impedida de ser alinhada durante um período de subida. As funcionalidades supracitadas, definidas de modo ilustrativo no bloco 804, podem ser efetuadas pelo controlador de mudança de canal e pelo monitor de armazenamento temporário 304, que, de preferência, opera em conjunto com o cliente de transmissão contínua apropriado 310 sob o controle do complexo de processador 302. Dependendo das condições de largura de banda, qualidade de vídeo, etc., o dispositivo de cliente 350 pode subir gradativamente as taxas de bits e/ou tamanhos de segmento solicitados (solicitando potencialmente o conteúdo de criptado nas taxas de bits mais altas possíveis e segmentadas nos maiores segmentos) gerando-se sinais apropriados para o sistema de servidor de transmissão contínua 102. O dispositivo de cliente 350 também é operativo para enviar um sinal ou solicitação para habilitar ou reabilitar a correção de erro no sistema de servidor de transmissão contínua 102 se a correção de erro estiver inicialmente desabilitada. Após o dispositivo de cliente 350 ter alcançado uma taxa de bit adequada para vídeo de qualidade aceitável (por exemplo, alta qualidade), o dispositivo de cliente 350 se comporta normalmente em modo de "visualização" até que uma nova transmissão contínua de conteúdo de mídia seja solicitada. As funcionalidades supracitadas são estabelecidas de modo ilustrativo no bloco 806. Deve ser observado que os diversos sinais de solicitações descritos acima podem ser gerados pelo dispositivo de cliente 350 em momentos diferentes (isto é, de modo assíncrono um em relação ao outro), e após a expiração de períodos de tempo selecionados/customizáveis a partir do momento que a transmissão contínua é iniciada.
[0046] A Figura 9 retrata uma experiência de visualização exemplificativa 900 que pode ser conseguida implantando-se uma modalidade do sistema de servidor de transmissão contínua 102 e do dispositivo de cliente 350 conforme estabelecido acima. No bloco 902, o dispositivo de cliente 350 (por exemplo, um reprodutor de transmissão contínua de A/V) é ligado e um conteúdo de mídia selecionado é solicitado. No bloco 904, o conteúdo de mídia solicitado começa a reproduzir com vídeo e áudio em sincronia, embora o conteúdo renderizado possa estar em uma qualidade baixa. No bloco 906, o usuário muda o canal mediante o qual o novo conteúdo de mídia é reproduzido com vídeo e áudio em sincronia (bloco 908). Novamente, a qualidade geral do novo conteúdo de mídia pode ser baixa, já que podem existir falhas de áudio e/ou visuais na renderização. Quando o usuário se estabelece em um canal, o conteúdo de mídia daquele canal gradativamente sobe até a taxa de bits mais alta possível (potencialmente dentro de alguns segundos), com o consequente preenchimento do armazenamento temporário de vídeo (bloco 912).
[0047] A Figura 10 retrata um fluxograma de um processo de mudança de canal de alto nível 1000 que pode ser executado pelo dispositivo de cliente exemplificativo 350 pelo menos em relação a certos aspectos da presente revelação de patente. No bloco 1002, uma mudança de canal é iniciada, mediante a qual o dispositivo de cliente 350 inicialmente recebe uma transmissão contínua de qualidade mais baixa (1004). A qualidade transmissão contínua baixa recebida é decodificada e renderizada logo que possível (bloco 1006). As taxas de bits, tamanhos e qualidade de segmento, em geral, são aumentadas até que a qualidade normal/aceitável seja alcançada, conforme estabelecido nos blocos 1008, 1010. Depois disso, o dispositivo de cliente 350 se comporta normalmente em modo de "visualização" até que uma nova transmissão contínua de conteúdo de mídia seja solicitada, conforme descrito acima.
[0048] A Figura 11 retrata outra modalidade de um dispositivo de cliente de transmissão contínua exemplificativo 1100, que representa uma porção do dispositivo de cliente 350, para os propósitos do presente pedido de patente. Um controlador de mudança de canal 1106 é dotado de trajetórias de comunicação 1105, 1107 para interceptar, interromper ou, de outro modo, controlar as operações em relação a um armazenamento temporário de vídeo 1104 que é operativo para armazenar uma próxima transmissão de vídeo contínua e um renderizador de decodificação 1108, respectivamente. O decodificador/renderizador 1108 é acoplado ao armazenamento temporário de vídeo 1104 por meio de uma trajetória de comunicação 1109 e a uma tela de exibição 116 por meio de uma trajetória de comunicação 1114. Em operações de visualização normal, o decodificador/renderizador 1108 é operativo para decodificar os dados armazenados temporariamente quando certos níveis são alcançados/mantidos. Os dados decodificados exemplificativos são mostrados de modo ilustrativo como dados de cabeçalho 1110 e quadros ou fatias I/B/P 1112 que podem ser fornecidos à tela de exibição 1116 para formar imagens na mesma. Em condições e mudança de canal, por outro lado, o decodificador/renderizador 1108 é forçado a processar os dados de armazenamento temporário de vídeo mesmo se houver uma quantidade mínima de dados.
[0049] Com base na Descrição Detalhada supracitada, deve ser observado que as modalidades da presente revelação podem ser implantadas de modo vantajoso para facilitar a mudança de canal em ambientes de transmissão contínua. Mediante a pré-obtenção de certos dados de inicialização em um modo preditivo, um início antecipado pode ser conseguido no processo geral de aquisição-decodificação- renderização de mídia, que, desse modo, reduz os atrasos induzidos por comutação que tipicamente fazem surgir uma experiência de visualização inaceitável. Consequentemente, uma experiência de navegação por canal similar a uma que é normalmente esperada em ambientes de difusão por TV existentes pode ser fornecida em uma rede de transmissão contínua adaptativa.
[0050] Na descrição acima de várias modalidades da presente revelação, deve ser entendido que a terminologia usada no presente documento tem o propósito apenas de descrição das modalidades particulares e não se destina a limitar a invenção. Salvo se definido de outro modo, todos os termos (incluindo termos científicos e técnicos) usados na presente invenção têm o mesmo significado conforme comumente compreendido pelo versado na técnica à qual a esta invenção pertence. Será adicionalmente entendido que os termos, tais como aqueles definidos em dicionários comumente usados, devem ser interpretados conforme tendo um significado que é consistente com seu significado no contexto desse relatório descritivo e dessa técnica relevante e não podem ser interpretados em um sentido excessivamente formal ou idealizado expressamente definido no presente documento.
[0051] Pelo menos, algumas modalidades exemplificativas são descritas no presente documento com referência a diagramas de blocos e/ou ilustrações de fluxograma de métodos implantados por computador, aparelho (sistemas e/ou dispositivos) e/ou produtos de programa de computador. Entende-se que um bloco dos diagramas de blocos e/ou ilustrações de fluxograma, e combinações de blocos nos diagramas de blocos e/ou ilustrações de fluxograma, podem ser implantados por instruções de programa de computador que são realizadas por um ou mais circuitos de computador. Tais instruções de programa de computador podem ser fornecidas a um circuito de processador de um circuito de computador de propósito geral, circuito de computador de propósito especial, e/ou outro circuito de processamento de dados programáveis para produzir uma máquina, de modo que as instruções, que executam por meio do processor do computador e/ou outro aparelho de processamento de dados programável, transformam e controlam transistores, valores armazenados em locais de memória e outros componentes de hardware dentro de tal conjunto de circuitos para implantar as funções/atos especificados nos diagramas de blocos e/ou bloco ou blocos de fluxograma e, desse modo, criam meios (funcionalidade) e/ou estrutura para implantar as funções/atos especificados nos diagramas de blocos e/ou bloco(s) de fluxograma. Adicionalmente, essas instruções de programa de computador podem também ser armazenadas em um meio legível por computador que pode direcionar um computador ou outro aparelho de processamento de dados programável para funcionar, de uma maneira específica, de modo que as instruções armazenadas no meio legível por computador produzam um artigo de manufatura incluindo meios de instrução que implementem as funções/atos especificados nos diagramas de blocos e/ou bloco ou blocos de fluxograma.
[0052] Conforme mencionado anteriormente, o meio legível por computador não transitório tangível pode incluir um sistema de armazenamento de dados semicondutor, eletromagnético, óptico, magnético, eletrônico, aparelho ou dispositivo. Os exemplos mais específicos do meio legível por computador incluiriam o seguinte: um disquete para computador portátil, um circuito de memória de acesso aleatório (RAM), um circuito de memória somente leitura (ROM), um circuito de memória somente leitura programável apagável (EPROM ou memória Flash), uma memória somente leitura de disco compacto portátil (CD-ROM) e uma memória somente leitura de disco de vídeo digital portátil (DVD/Blu-ray). As instruções de programa de computador também podem ser carregadas ou, de outro modo, transferidas por download em um computador e/ou outro aparelho de processamento de dados programável para fazer com que uma série de etapas operacionais sejam realizadas no computador e/ou outro aparelho programável para produzir um processo implantado por computador, de modo que as instruções, que executam no computador ou outro aparelho programável, forneçam etapas para a implantação das funções/ações especificadas nos diagramas de blocos e/ou bloco ou blocos de fluxograma. Consequentemente, as modalidades da presente invenção podem ser incorporadas em hardware e/ou em software (incluindo firmware, software residente, microcódigos, etc.) que executam um processador tal como um processador de sinal digital, que pode ser coletivamente referido como "conjunto de circuitos," "um módulo" ou variantes dos mesmos.
[0053] Adicionalmente, em pelo menos algumas implantações adicionais ou alternativas, as funções/atos descritos nos blocos podem ocorrer fora da ordem mostrada nos fluxogramas. Por exemplo, dois blocos mostrados em sucessão podem de fato ser executados de modo substancialmente simultâneo ou os blocos podem, algumas vezes, ser executados na ordem inversa, dependendo da funcionalidade/ato envolvidos. Ademais, a funcionalidade de um determinado bloco dos fluxogramas e/ou diagramas de blocos pode ser separada em múltiplos blocos e/ou a funcionalidade de dois ou mais blocos dos fluxogramas e/ou diagramas de blocos pode ser pelo menos parcialmente integrada. Finalmente, outros blocos podem ser adicionados/inseridos entre os blocos que são ilustrados. Ademais, embora alguns dos diagramas incluam setas em trajetos de comunicação para mostrar uma direção primária de comunicação, deve ser entendido que a comunicação pode ocorrer na direção oposta em relação às setas descritas.
[0054] Embora várias modalidades tenham sido mostradas e descritas em detalhes, as reivindicações não são limitadas a qualquer modalidade ou exemplo particular. Nenhum aspecto citado na Descrição Detalhada acima deve ser lido conforme indicando que qualquer componente, elemento, etapa, ato ou função particular seja essencial de modo que deva ser incluído no escopo das reivindicações. A referência a um elemento no singular não se destina a significar “um e apenas um”, a menos que explicitamente indicado, mas preferencialmente “um ou mais". Todos os equivalentes funcionais e estruturais aos elementos das modalidades acima descritas que são conhecidas por aqueles indivíduos de habilidade comum na técnica se encontram expressamente incorporados ao presente documento a título de referência e se destinam a serem abrangidos pelas reivindicações. Consequentemente, aqueles indivíduos versados na técnica reconhecerão que as modalidades exemplificativas descritas no presente documento podem ser praticadas com várias modificações e alterações dentro do espírito e escopo das reivindicações anexas abaixo.

Claims (10)

1. Método (700) operativo em um sistema de servidor de streaming (102) disposto em um ambiente de streaming adaptativo (100), o método (700) compreendendo: quando um novo streaming de conteúdo de mídia for solicitado por um dispositivo de cliente (124, 350), começar (702) o streaming do conteúdo de mídia solicitado em um ponto de acesso de streaming (SAP), caracterizado pelo fato de que: por um período de tempo inicial selecionado, desabilitar (704) seletivamente a correção de erro específico de Protocolo de Controle de Transmissão (TCP) do novo streaming de conteúdo de mídia no sistema de servidor de streaming para transmissão do novo streaming para o dispositivo de cliente (124, 350); transmitir (706), durante o período de tempo inicial selecionado, o conteúdo de mídia solicitado codificado em uma taxa de bits selecionada por um dispositivo de cliente (124, 350) e segmentado em segmentos mais curtos possíveis por um segmentador (112); e após o período inicial de tempo selecionado, habilitar a correção de erro específico de TCP no sistema de servidor de streaming para transmissão do conteúdo de mídia para o dispositivo de cliente (124, 350).
2. Método (700), de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: em resposta ao recebimento de uma solicitação a partir do dispositivo de cliente (124, 350), transmitir (708) o conteúdo de mídia solicitado codificado em uma taxa de bits maior.
3. Método (700), de acordo com a reivindicação 2, caracterizado pelo fato de que a solicitação compreende um Localizador de Recurso Universal (URL).
4. Método (700), de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: em resposta ao recebimento de uma solicitação a partir do dispositivo de cliente (124, 350), transmitir (708) o conteúdo de mídia solicitado segmentado em segmentos mais longos pelo segmentador (112).
5. Método (700), de acordo com a reivindicação 1, caracterizado pelo fato de que o novo streaming de conteúdo de mídia é transmitido em resposta a uma mudança de canal por um usuário do dispositivo de cliente (124, 350).
6. Sistema de servidor de streaming (102) caracterizado pelo fato de que compreende: um ou mais processadores (108); um codificador (106) acoplado aos um ou mais processadores (108) e operativo para codificar conteúdo de mídia com o uso de múltiplas taxas de bits; um segmentador (112) acoplado aos um ou mais processadores (108) e operativo para segmentar o conteúdo de mídia codificado em segmentos de tamanhos diferentes; um componente configurado para começar (702), sob controle dos um ou mais processadores (108), o streaming de um conteúdo de mídia em um ponto de acesso de streaming (SAP) quando um novo streaming de conteúdo de mídia for solicitado por um dispositivo de cliente (124, 350) disposto em um ambiente de streaming adaptativo (100); um mecanismo de correção de erro (118) específico de Protocolo de Controle de Transmissão (TCP) configurado para ser, por um período de tempo inicial, desabilitado seletivamente, sob controle dos um ou mais processadores (108), para transmissão do novo streaming para o dispositivo de cliente (124, 350); um componente configurado para, durante o período de tempo inicial, transmitir (706), sob controle dos um ou mais processadores (108), o conteúdo de mídia solicitado codificado em uma taxa de bits selecionada por um dispositivo de cliente (124, 350) e segmentado em segmentos mais curtos possíveis pelo segmentador (112); e um componente configurado para, após o período inicial de tempo, sob controle dos um ou mais processadores (108), habilitar a correção de erro específico de TCP no sistema de servidor de streaming para transmissão do conteúdo de mídia para o dispositivo de cliente.
7. Sistema de servidor de streaming (102), de acordo com a reivindicação 6, caracterizado pelo fato de que os um ou mais processadores (108) são operativos adicionalmente, em resposta a receber uma solicitação a partir do dispositivo de cliente (124, 350), para transmitir o conteúdo de mídia solicitado codificado em uma alta taxa de bits.
8. Sistema de servidor de streaming (102), de acordo com a reivindicação 7, caracterizado pelo fato de que a solicitação compreende um Localizador de Recurso Universal (URL).
9. Sistema de servidor de streaming (102), de acordo com a reivindicação 6, caracterizado pelo fato de que os um ou mais processadores (108) são operativos adicionalmente, em resposta a receber uma solicitação a partir do dispositivo de cliente (124, 350), para transmitir o conteúdo de mídia solicitado segmentado em segmentos mais longos pelo segmentador (112).
10. Sistema de servidor de streaming (102), de acordo com a reivindicação 6, caracterizado pelo fato de que o novo streaming de conteúdo de mídia é transmitido em resposta a uma mudança de canal por um usuário do dispositivo de cliente (124, 350).
BR112016006641-3A 2013-09-25 2014-09-23 Método operativo em um sistema de servidor de streaming e sistema de servidor de streaming BR112016006641B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/037,160 US20150089073A1 (en) 2013-09-25 2013-09-25 System and method for effectuating fast channel change in an adpative streaming environment
US14/037,160 2013-09-25
PCT/IB2014/064782 WO2015044869A1 (en) 2013-09-25 2014-09-23 System and method for effectuating fast channel change in an adaptive streaming environment

Publications (3)

Publication Number Publication Date
BR112016006641A2 BR112016006641A2 (pt) 2017-08-01
BR112016006641A8 BR112016006641A8 (pt) 2020-02-18
BR112016006641B1 true BR112016006641B1 (pt) 2023-10-31

Family

ID=52692021

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016006641-3A BR112016006641B1 (pt) 2013-09-25 2014-09-23 Método operativo em um sistema de servidor de streaming e sistema de servidor de streaming

Country Status (6)

Country Link
US (4) US20150089073A1 (pt)
EP (1) EP3050306B1 (pt)
CN (2) CN111526418B (pt)
BR (1) BR112016006641B1 (pt)
CA (1) CA2925362C (pt)
WO (1) WO2015044869A1 (pt)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150020011A1 (en) * 2013-07-15 2015-01-15 Verizon and Redbox Digital Entertainment Services, LLC Media program discovery assistance user interface systems and methods
US9874989B1 (en) * 2013-11-26 2018-01-23 Google Llc Providing content presentation elements in conjunction with a media content item
US10375444B2 (en) * 2015-02-13 2019-08-06 Performance and Privacy Ireland Limited Partial video pre-fetch
WO2016184646A1 (en) * 2015-05-20 2016-11-24 Nxt Solutions Ag Iptv in managed networks
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
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
KR102532645B1 (ko) * 2016-09-20 2023-05-15 삼성전자 주식회사 적응적 스트리밍 서비스에서 스트리밍 어플리케이케이션으로 데이터를 제공하는 방법 및 장치
KR102332525B1 (ko) 2017-06-01 2021-11-29 삼성전자주식회사 전자 장치 및 그 동작방법
TWI826387B (zh) * 2017-09-08 2023-12-21 美商開放電視股份有限公司 用於內容呈現之位元率及管線保留技術
US10979744B2 (en) 2017-11-03 2021-04-13 Nvidia Corporation Method and system for low latency high frame rate streaming
FR3080247B1 (fr) * 2018-04-17 2021-08-06 Orange Lecture d'un flux multimedia
US20200322656A1 (en) * 2019-04-02 2020-10-08 Nbcuniversal Media, Llc Systems and methods for fast channel changing
US11388471B2 (en) * 2019-09-27 2022-07-12 At&T Intellectual Property I, L.P. Pre-fetching of information to facilitate channel switching
CN111083506B (zh) * 2019-12-06 2022-02-11 张致远 一种基于5g智能终端的管理系统
KR20220030011A (ko) * 2020-09-02 2022-03-10 삼성전자주식회사 전자 장치 및 그 동작 방법
WO2023070435A1 (en) * 2021-10-28 2023-05-04 Arris Enterprises Llc Method and system for realizing fast channel change feature with android

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6154767A (en) 1998-01-15 2000-11-28 Microsoft Corporation Methods and apparatus for using attribute transition probability models for pre-fetching resources
US7694319B1 (en) 1998-11-02 2010-04-06 United Video Properties, Inc. Interactive program guide with continuous data stream and client-server data supplementation
US6848004B1 (en) 1999-11-23 2005-01-25 International Business Machines Corporation System and method for adaptive delivery of rich media content to a user in a network based on real time bandwidth measurement & prediction according to available user bandwidth
US6557030B1 (en) 2000-05-31 2003-04-29 Prediwave Corp. Systems and methods for providing video-on-demand services for broadcasting systems
US6745364B2 (en) * 2001-06-28 2004-06-01 Microsoft Corporation Negotiated/dynamic error correction for streamed media
JP3731554B2 (ja) * 2002-03-19 2006-01-05 ソニー株式会社 信号処理装置、信号処理方法
US7499417B2 (en) 2003-01-07 2009-03-03 Samsung Electronics Co., Ltd. Apparatus and method for controlling an output buffer in a hybrid automatic repeat request (HARQ) mobile communication system
US7496642B2 (en) 2004-09-29 2009-02-24 International Business Machines Corporation Adaptive vicinity prefetching for filesystem metadata
US20060140180A1 (en) 2004-12-28 2006-06-29 Du Breuil Thomas L Device, system and method for pre-caching media content for home entertainment devices and gateways
US8447837B2 (en) 2005-12-30 2013-05-21 Akamai Technologies, Inc. Site acceleration with content prefetching enabled through customer-specific configurations
US8291122B2 (en) * 2006-06-16 2012-10-16 Nvidia Corporation Methods and systems for uninterrupted media change
US8335873B2 (en) * 2006-09-14 2012-12-18 Opentv, Inc. Method and systems for data transmission
US8763062B2 (en) 2006-10-30 2014-06-24 Alcatel Lucent Method and apparatus for controlling information available from content distribution points
EP2103127A4 (en) * 2006-12-20 2011-01-26 Ericsson Telefon Ab L M METHOD AND NODE IN IPTV NETWORK
CN101321275B (zh) * 2007-06-06 2012-08-08 华为技术有限公司 视频流的处理系统和处理方法
CN101796840A (zh) * 2007-08-28 2010-08-04 汤姆森特许公司 无频道改变延迟的交错播送
US8645458B2 (en) 2007-11-20 2014-02-04 General Electric Company Systems and methods for delivering media content and improving diagnostic reading efficiency
US8250604B2 (en) 2008-02-05 2012-08-21 Sony Corporation Near real-time multiple thumbnail guide with single tuner
KR20090090600A (ko) 2008-02-21 2009-08-26 삼성전자주식회사 속응형 채널 전환 방법 및 장치, 그리고 그 방법을수행하기 위한 컴퓨터 프로그램 저장매체
US8028081B2 (en) 2008-05-23 2011-09-27 Porto Technology, Llc System and method for adaptive segment prefetching of streaming media
US7925774B2 (en) * 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
FR2933263A1 (fr) * 2008-06-30 2010-01-01 Thomson Licensing Methode de reception de flux de donnees et methode d'emission correspondante
US8276035B1 (en) 2008-07-28 2012-09-25 Netmotion Wireless, Inc. High performance digital communications resiliency in a roamable virtual private network
US9369516B2 (en) 2009-01-13 2016-06-14 Viasat, Inc. Deltacasting
CN101909196B (zh) * 2009-06-05 2013-04-17 华为技术有限公司 一种频道切换处理方法及系统以及相关设备
KR20110049674A (ko) 2009-11-05 2011-05-12 삼성전자주식회사 서비스 제공 장치 및 그 서비스 추천 방법
US9269060B2 (en) 2009-11-20 2016-02-23 Oracle International Corporation Methods and systems for generating metadata describing dependencies for composable elements
US8559360B2 (en) 2009-12-11 2013-10-15 Samsung Electronics Co., Ltd. Method and apparatus for controlling power for uplink
US9398339B2 (en) 2010-09-01 2016-07-19 Lg Electronics Inc. Image display apparatus and method for operating the same
KR101709470B1 (ko) 2010-09-02 2017-02-23 엘지전자 주식회사 영상표시기기 및 그 동작 방법
JP5331773B2 (ja) * 2010-10-14 2013-10-30 株式会社ソニー・コンピュータエンタテインメント 動画再生装置、情報処理装置および動画再生方法
US9026671B2 (en) * 2011-04-05 2015-05-05 Qualcomm Incorporated IP broadcast streaming services distribution using file delivery methods
EP2536065B1 (en) 2011-06-14 2019-11-27 ViaSat, Inc. Transport protocol for anticipatory content
US9590814B2 (en) * 2011-08-01 2017-03-07 Qualcomm Incorporated Method and apparatus for transport of dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments
US9264508B2 (en) * 2011-08-19 2016-02-16 Time Warner Cable Enterprises Llc Apparatus and methods for reduced switching delays in a content distribution network
US9253233B2 (en) * 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) * 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US9131271B2 (en) * 2011-11-02 2015-09-08 Connected Lyfe Systems and methods for real-time adaptation of multimedia data
US9204199B2 (en) 2011-12-06 2015-12-01 Lg Electronics Inc. Image display apparatus and methods for operating the same
US8806193B2 (en) * 2011-12-22 2014-08-12 Adobe Systems Incorporated Methods and apparatus for integrating digital rights management (DRM) systems with native HTTP live streaming
US9094872B2 (en) 2012-01-24 2015-07-28 International Business Machines Corporation Enhanced resource management for a network system
US9648317B2 (en) 2012-01-30 2017-05-09 Qualcomm Incorporated Method of coding video and storing video content
KR20130104289A (ko) 2012-03-13 2013-09-25 삼성전자주식회사 오프셋 값을 추정하는 장치, 방법, 수신장치 및 수신장치에서 신호를 처리하는 방법
JP5992058B2 (ja) * 2012-07-10 2016-09-14 インテル・コーポレーション データモード時に順方向誤り訂正を解決するよう構成されているネットワークシステム
US9804668B2 (en) * 2012-07-18 2017-10-31 Verimatrix, Inc. Systems and methods for rapid content switching to provide a linear TV experience using streaming content distribution
US20140157324A1 (en) 2012-11-30 2014-06-05 Comcast Cable Communications, Llc Content Identification and Management
US9161090B2 (en) * 2012-12-27 2015-10-13 EchoStar Technologies, L.L.C. Fast channel change from electronic programming guide
US20140223502A1 (en) * 2013-02-06 2014-08-07 General Instrument Corporation Method of Operating an IP Client
CA2903273C (en) * 2013-03-15 2019-10-15 Arris Technology, Inc. Enhanced playlist definition and delivery for fast channel change with http adaptive streaming
EP2989806A1 (en) 2013-04-25 2016-03-02 Verance Corporation Real-time anti-piracy for broadcast streams
US9071798B2 (en) * 2013-06-17 2015-06-30 Spotify Ab System and method for switching between media streams for non-adjacent channels while providing a seamless user experience
JP2015012305A (ja) * 2013-06-26 2015-01-19 ソニー株式会社 コンテンツ供給装置、コンテンツ供給方法、プログラム、端末装置、およびコンテンツ供給システム
US9304928B2 (en) 2013-07-26 2016-04-05 Netapp, Inc. Systems and methods for adaptive prefetching

Also Published As

Publication number Publication date
US20150089073A1 (en) 2015-03-26
EP3050306A4 (en) 2017-03-22
BR112016006641A8 (pt) 2020-02-18
US10873780B2 (en) 2020-12-22
CN106165432B (zh) 2019-12-31
US20210112303A1 (en) 2021-04-15
BR112016006641A2 (pt) 2017-08-01
US20230018201A1 (en) 2023-01-19
EP3050306B1 (en) 2019-06-19
CN111526418A (zh) 2020-08-11
CN111526418B (zh) 2022-08-12
US11451862B2 (en) 2022-09-20
WO2015044869A1 (en) 2015-04-02
EP3050306A1 (en) 2016-08-03
CA2925362C (en) 2023-07-04
CA2925362A1 (en) 2015-04-02
CN106165432A (zh) 2016-11-23
US20170230708A1 (en) 2017-08-10

Similar Documents

Publication Publication Date Title
US11451862B2 (en) System and method for effectuating fast channel change in an adaptive streaming environment
BR112016006639B1 (pt) Método operativo em um dispositivo de cliente de transmissão continua e dispositivo de cliente relacionado
US20150089072A1 (en) System and method for managing adjacent channels in an adaptive streaming environment
US8862763B2 (en) Downloading video using excess bandwidth
US8516144B2 (en) Startup bitrate in adaptive bitrate streaming
US8918821B2 (en) Client device with video playlist translation via client-side proxy and methods for use therewith
US9015779B2 (en) Streaming video server with segment length control and methods for use therewith
BR112016005356B1 (pt) Método realizado por um dispositivo cliente de transmissão contínua e dispositivo cliente relacionado
US20150089553A1 (en) Audio and video streaming for media effects
JP2024056880A (ja) ライブブロードキャスティングに対する適応ビットレート方法
US9516357B2 (en) Recording variable-quality content stream
WO2016185998A1 (ja) Abr配信方式のコンテンツ配信の配信制御装置および配信制御方法
US9215267B2 (en) Adaptive streaming for content playback

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

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