BR112013002692B1 - Método e dispositivo para recuperar dados de multimídia, método e dispositivo para enviar informação para dados de multimídia, e memória legível por computador - Google Patents

Método e dispositivo para recuperar dados de multimídia, método e dispositivo para enviar informação para dados de multimídia, e memória legível por computador Download PDF

Info

Publication number
BR112013002692B1
BR112013002692B1 BR112013002692-8A BR112013002692A BR112013002692B1 BR 112013002692 B1 BR112013002692 B1 BR 112013002692B1 BR 112013002692 A BR112013002692 A BR 112013002692A BR 112013002692 B1 BR112013002692 B1 BR 112013002692B1
Authority
BR
Brazil
Prior art keywords
data
segment
manifest file
representation
client device
Prior art date
Application number
BR112013002692-8A
Other languages
English (en)
Other versions
BR112013002692A2 (pt
Inventor
Ying Chen
Thomas Stockhammer
Mark Watson
Original Assignee
Qualcomm Incorporated
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 Qualcomm Incorporated filed Critical Qualcomm Incorporated
Publication of BR112013002692A2 publication Critical patent/BR112013002692A2/pt
Publication of BR112013002692B1 publication Critical patent/BR112013002692B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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
    • 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/752Media network packet handling adapting media to network capabilities
    • 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/756Media network packet handling adapting media to device capabilities
    • 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
    • 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/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • 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/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

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)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

atualizações de arquivo de manifesto para streaming de rede de dados de video codificados. em um exemplo, um dispositivo para a recuperação de dados de multimídia, o dispositivo compreendendo um ou mais processadores configurados para recuperar dados de um primeiro segmento de uma representação de conteúdo multimídia, de acordo com os dados de uma cópia de um arquivo de manifesto armazenado pelo dispositivo, recuperar um parte de um segundo segmento da representação de acordo com o arquivo de manifesto, em que o segundo segmento ocorre após o primeiro segmento na representação, e em que a parte do segundo segmento indica que o arquivo de manifesto deve ser atualizado, atualizar a cópia do arquivo de manifesto armazenado pelo dispositivo com base na indicação de que o arquivo de manifesto deve ser atualizado, e recuperar dados de mídia do segundo segmento,de acordo com o arquivo de manifesto atualizado.

Description

Campo da Invenção
[0001] Esta divulgação refere-se ao armazenamento e transporte de dados de multimídia codificados.
Descrição da Técnica Anterior
[0002] Capacidades de vídeo digital podem ser incorporadas em uma ampla gama de dispositivos, incluindo televisores digitais, sistemas digitais de transmissão direta, sistemas de transmissão sem fio, assistentes digitais pessoais (PDAs), laptops ou desktops, câmeras digitais, dispositivos de gravação digital, reprodutores de mídia digital, dispositivos de jogos de vídeo, videogames, telefones celulares ou de rádio por satélite, aparelhos de teleconferência de vídeo, e similares. Dispositivos de vídeo digital implementam técnicas de compressão de vídeo, tais como aquelas descritas nos padrões definidos por MPEG- 2, MPEG-4, ITU-T H.263 ou ITU-T H.264/MPEG-4, Parte 10, Codificação de Vídeo Avançada (AVC), e extensões de tais normas, para transmitir e receber informações de vídeo digital de forma mais eficiente.
[0003] As técnicas de compressão de video realizam predição espacial e/ou predição temporal para reduzir ou remover a redundância inerente em sequências de vídeo. Para codificação de vídeo baseada em blocos, um quadro de vídeo ou uma fatia pode ser dividida em macroblocos. Cada macrobloco pode ser adicionalmente dividido. Macroblocos de um quadro intracodificado (I) ou fatia são codificados usando a predição espacial em relação a macroblocos vizinhos. Macroblocos em um quadro intercodificado (P ou B) ou uma fatia pode usar a predição espacial com relação a macroblocos vizinhos no mesmo quadro ou fatia ou predição temporal com relação a outros quadros de referência.
[0004] Depois dos dados de vídeo serem codificados, os dados de vídeo podem ser empacotados para transmissão ou armazenamento. Os dados de vídeo podem ser montados em um arquivo de vídeo em conformidade com qualquer um de uma variedade de padrões, tal como o formato de arquivo de mídia de base International Organization for Standardization (ISO) e suas extensões, como ITU-T H.264/AVC. Tais dados de vídeo empacotados podem ser transportados em uma variedade de formas, tais como a transmissão através de uma rede de computadores usando streaming de rede.
Sumário da Invenção
[0005] Em geral, esta divulgação descreve técnicas para melhorar o streaming dos suportes de dados através de uma rede. Estas técnicas incluem suporte para modos de faixas, tal como avançar, voltar, e que buscar dentro de conteúdo de mídia transmitido por uma rede. Estas técnicas incluem também o suporte para os grupos de representação, tal como características comuns de sinalização de um conjunto de representações, bem como as características individuais das representações. Além disso, as técnicas incluem fornecimento de informações para atualizar arquivos de manifesto para conteúdo de mídia transmitido. As técnicas incluem também prover dados de mídia para anúncios direcionados como períodos externos para conteúdo de mídia. Estas técnicas incluem ainda o prover e interpretar qualidade de relatórios de experiência a partir de um dispositivo de cliente para a um provedor de serviços. Além disso, estas técnicas incluem sinalização de dados de perfil ao qual um arquivo de manifesto de conteúdo de mídia se conforma.
[0006] Em um exemplo, um método de recuperação de dados de vídeo inclui a análise de pelo menos uma parte de um arquivo de manifesto de conteúdo multimídia, em que a parte do arquivo de manifesto inclui informação indicativa de conjuntos de representações do conteúdo multimídia e informação indicativa de características comuns para cada um dos conjuntos de representações, selecionar um dos conjuntos de representações com base nas características comuns de um dos conjuntos de representações, selecionar uma das representações de uma selecionada entre os conjuntos de representações com base em uma ou mais características de codificação de uma das representações de um dos conjuntos, e gerar uma solicitação de dados de uma das representações com base na seleção.
[0007] Em outro exemplo, um dispositivo para a recepção de informação para dados de vídeo inclui um ou mais processadores configurados para analisar pelo menos uma parte de um arquivo de manifesto de conteúdo multimídia, em que a parte do arquivo de manifesto inclui informação indicativa de conjuntos de representações do conteúdo multimídia e informação indicativa de características comuns para cada um dos conjuntos de representações, selecionar um dos conjuntos de representações com base nas características comuns de um dos conjuntos de representações, selecionar uma das representações daquela selecionada dos conjuntos de representações com base em uma ou mais características de codificação de uma das representações de um dos conjuntos, e gerar uma solicitação de dados de uma das representações com base na seleção.
[0008] Em outro exemplo, um dispositivo para receber informação para dados de vídeo inclui meios para analisar pelo menos uma parte de um arquivo de manifesto de conteúdo multimídia, em que a parte do arquivo de manifesto inclui informação indicativa de conjuntos de representações do conteúdo multimídia e informação indicativa de características comuns para cada um dos conjuntos de representações, meios para selecionar um dos conjuntos de representações com base nas características comuns de um dos conjuntos de representações, meios para selecionar uma das representações daquela selecionada dos conjuntos das representações com base em uma ou mais características de codificação de uma das representações de um dos conjuntos, e meios para gerar uma solicitação de dados de uma das representações com base na seleção.
[0009] Em outro exemplo, um produto de programa de computador inclui um meio de armazenamento legível por computador compreendendo instruções que, quando executadas, fazem com que um processador de um dispositivo recupere dados de vídeo para a análise de pelo menos uma parte de um arquivo de manifesto de conteúdo multimídia, em que a parte do arquivo de manifesto inclui informação indicativa de conjuntos de representações do conteúdo multimídia e informação indicativa de características comuns para cada um dos conjuntos de representações, selecionar um dos conjuntos de representações com base nas características comuns de um dos conjuntos de representações, selecionar uma das representações da selecionada entre o conjunto de representações com base em uma ou mais características de codificação de uma das representações de um dos conjuntos, e gerar uma solicitação de dados de uma das representações com base na seleção.
[0010] Em outro exemplo, um método de envio de informação para dados de vídeo inclui obter um conjunto de representações de conteúdo multimídia tendo uma ou mais características comuns, em que cada uma das representações no conjunto tem uma ou mais características individuais de codificação separadas das características comuns, obter um arquivo de manifesto para o conteúdo multimídia, em que o arquivo de manifesto inclui informações indicativas das representações no conjunto, informações indicativas das características comuns para o conjunto de representações e informações indicativas das características de codificação para cada uma das representações no conjunto, e enviar pelo menos uma parte do arquivo de manifesto para um dispositivo de cliente.
[0011] Em outro exemplo, um dispositivo para o envio de informação de dados de vídeo, o dispositivo compreendendo um ou mais processadores configurados para obter um conjunto de representações de conteúdo multimídia tendo uma ou mais características comuns, em que cada uma das representações no conjunto têm uma ou mais características de codificação individuais separadas das características comuns, obter um arquivo de manifesto para o conteúdo multimídia, em que o arquivo de manifesto inclui informações indicativas das representações no conjunto, informações indicativas das características comuns para o conjunto de representações e informações indicativas das características de codificação para cada uma das representações do conjunto, e enviar pelo menos uma parte do arquivo de manifesto para um dispositivo de cliente.
[0012] Em outro exemplo, um dispositivo para enviar informação de dados de vídeo inclui meios para obter um conjunto de representações de conteúdo multimídia tendo uma ou mais características comuns, em que cada uma das representações do conjunto tem uma ou mais características individuais de codificação separadas das características comuns, meios para obter um arquivo de manifesto para o conteúdo multimídia, em que o arquivo de manifesto inclui informação indicativa das representações no conjunto, informação indicativa das características comuns para o conjunto de representações, e informação indicativa das características de codificação para cada uma das representações no conjunto, e meios para enviar pelo menos uma parte do arquivo de manifesto para um dispositivo de cliente.
[0013] Em outro exemplo, um produto de programa de computador inclui um meio de armazenamento legível por computador compreendendo instruções que fazem com que um processador de um dispositivo proveja dados de vídeo para a obtenção de um conjunto de representações de conteúdo multimídia tendo uma ou mais características comuns, em que cada uma das representações do conjunto têm uma ou mais características de codificação individuais separadas das características comuns, obter um arquivo de manifesto para o conteúdo multimídia, em que o arquivo de manifesto inclui informações indicativas das representações no conjunto, informações indicativas das características comuns para o conjunto das representações, e informação indicativa das características de codificação para cada uma das representações do conjunto, e enviar pelo menos uma parte do arquivo de manifesto para um dispositivo de cliente.
[0014] Em outro exemplo, um método de recuperação de dados de vídeo inclui analisar informação de um arquivo de manifesto de conteúdo multimídia, em que a informação do arquivo de manifesto indica que pelo menos uma representação de conteúdo multimídia inclui uma subsequência temporal, determinar uma ou mais locais de dados para a subsequência temporal, e apresentar uma ou mais solicitações para os dados da subsequência temporal.
[0015] Em outro exemplo, um dispositivo para recuperar dados de vídeo inclui um ou mais processadores configurados para analisar a informação de um arquivo de manifesto de conteúdo multimídia, em que a informação do arquivo de manifesto indica que pelo menos uma representação de conteúdo multimídia inclui uma subsequência temporal, determinar um ou mais locais de dados para a subsequência temporal, e apresentar uma ou mais solicitações para os dados da subsequência temporal.
[0016] Em outro exemplo, um dispositivo para recuperar dados de vídeo inclui meios para analisar a informação de um arquivo de manifesto de conteúdo multimídia, em que a informação do arquivo de manifesto indica que pelo menos uma representação de conteúdo multimídia inclui uma subsequência temporal, meios para determinar um ou mais locais de dados para a subsequência temporal, e meios para apresentar uma ou mais solicitações de dados para a subsequência temporal.
[0017] Em outro exemplo, um produto de programa de computador inclui um meio legível por computador tendo instruções armazenadas nele que, quando executadas, fazem com que um processador de um dispositivo recupere dados de vídeo para analisar a informação de um arquivo de manifesto de conteúdo multimídia, em que a informação do arquivo de manifesto indica que pelo menos uma representação de conteúdo multimídia inclui uma subsequência temporal, determinar um ou mais locais de dados para a subsequência temporal, e apresentar uma ou mais solicitações para os dados para a subsequência temporal.
[0018] Em outro exemplo, um método de envio de informações para dados de vídeo inclui a obtenção de dados de pelo menos uma representação de conteúdo multimídia que inclui uma subsequência temporal, obter dados para um arquivo de manifesto para o conteúdo multimídia, em que as informações do arquivo de manifesto indica que a representação de pelo menos uma parte do conteúdo multimídia inclui a subsequência temporal, e enviar pelo menos uma parte do arquivo de manifesto para um dispositivo de cliente.
[0019] Em outro exemplo, um dispositivo para o envio de informação de dados de vídeo inclui um ou mais processadores configurados para obter dados para pelo menos uma representação de conteúdo multimídia que inclui uma subsequência temporal, obter os dados de um arquivo de manifesto para o conteúdo multimídia, em que a informação do arquivo de manifesto indica que a representação de pelo menos uma parte do conteúdo multimídia inclui a subsequência temporal, e enviar pelo menos uma parte do arquivo de manifesto para um dispositivo de cliente.
[0020] Em outro exemplo, um dispositivo para o envio de informação de dados de vídeo inclui meios para obter dados relativos a pelo menos uma representação de conteúdo multimídia que inclui uma subsequência temporal, meios para obter dados de um arquivo de manifesto para o conteúdo multimídia, em que informação do arquivo de manifesto indica que a representação de pelo menos uma parte do conteúdo multimídia inclui a subsequência temporal, e meios para enviar pelo menos uma parte do arquivo de manifesto para um dispositivo de cliente.
[0021] Em outro exemplo, um produto de programa de computador inclui um meio legível por computador tendo instruções armazenadas nele que, quando executadas, fazem com que um processador de um dispositivo envie informação de dados de vídeo para a obtenção de dados para pelo menos uma representação de conteúdo multimídia, que inclui uma subsequência temporal, obter dados para um arquivo de manifesto para o conteúdo multimídia, em que as informações do arquivo de manifesto indicam que a representação de pelo menos um dos conteúdos multimídia inclui a subsequência temporal, e enviar a pelo menos uma parte do arquivo de manifesto para um dispositivo de cliente.
[0022] Em outro exemplo, um método de recuperação de dados de vídeo inclui recuperar dados de um primeiro segmento de uma representação de conteúdo multimídia, de acordo com os dados de uma cópia de um arquivo de manifesto armazenada por um dispositivo de cliente, recuperar uma parte de um segundo segmento da representação de acordo com o arquivo de manifesto, em que o segundo segmento ocorre após o primeiro segmento na representação, e em que a parte do segundo segmento indica que o arquivo de manifesto deve ser atualizado, atualizar a cópia do arquivo de manifesto armazenada pelo dispositivo de cliente com base na indicação de que o arquivo de manifesto deve ser atualizado, e recuperar dados de mídia do segundo segmento, de acordo com o arquivo de manifesto atualizado.
[0023] Em outro exemplo, um dispositivo para recuperar dados de vídeo inclui um ou mais processadores configurados para recuperar dados de um primeiro segmento de uma representação de conteúdo multimídia, de acordo com os dados de uma cópia de um arquivo de manifesto armazenada pelo dispositivo, recuperar um parte de um segundo segmento da representação de acordo com o arquivo de manifesto, em que o segundo segmento ocorre após o primeiro segmento na representação, e em que a parte do segundo segmento indica que o arquivo de manifesto deve ser atualizado, atualizar a cópia do arquivo de manifesto armazenada pelo dispositivo com base na indicação de que o arquivo de manifesto deve ser atualizado, e recuperar dados de mídia do segundo segmento, de acordo com o arquivo de manifesto atualizado.
[0024] Em outro exemplo, um dispositivo para recuperar dados de vídeo inclui meios para recuperar dados de um primeiro segmento de uma representação de conteúdo multimídia, de acordo com os dados de uma cópia de um arquivo de manifesto armazenada pelo dispositivo, meios para recuperar uma parte de um segundo segmento da representação de acordo com o arquivo de manifesto, em que o segundo segmento ocorre após o primeiro segmento na representação, e em que a parte do segundo segmento indica que o arquivo de manifesto deve ser atualizado, meios para atualizar a cópia do arquivo de manifesto armazenada pelo dispositivo com base na indicação de que o arquivo de manifesto deve ser atualizado, e meios para recuperar dados de mídia do segundo segmento, de acordo com o arquivo de manifesto atualizado.
[0025] Em outro exemplo, um produto de programa de computador inclui um meio legível por computador tendo instruções armazenadas nele que, quando executadas, fazem com que um processador de um dispositivo recupere dados de vídeo para recuperar dados de um primeiro segmento de uma representação de conteúdo multimídia em conformidade com os dados de uma cópia de um arquivo de manifesto armazenada pelo dispositivo, recuperar uma parte de um segundo segmento da representação de acordo com o arquivo de manifesto, em que o segundo segmento ocorre após o primeiro segmento na representação, e em que a parte do segundo segmento indica que o arquivo de manifesto deve ser atualizado, atualizar a cópia do arquivo de manifesto armazenada pelo dispositivo com base na indicação de que o arquivo de manifesto deve ser atualizado, e recuperar dados de mídia do segundo segmento, de acordo com a atualização arquivo de manifesto.
[0026] Em outro exemplo, um método de envio da informação para o envio de dados de vídeo inclui dados de um arquivo de manifesto de conteúdo multimídia para um dispositivo de cliente, em que o arquivo de manifesto inclui informação indicativa de um primeiro segmento de uma representação de conteúdo multimídia, enviar pelo menos uma parte do primeiro segmento da representação para o dispositivo de cliente em resposta a uma solicitação do dispositivo de cliente, em que a parte do primeiro segmento indica que o arquivo de manifesto deve ser atualizado, em que uma versão atualizada do arquivo de manifesto inclui informação indicativa de um segundo segmento diferente da representação, e enviar, em resposta a uma solicitação recebida a partir do dispositivo de cliente e formada de acordo com o arquivo de manifesto atualizado, os dados do segundo segmento para o dispositivo de cliente.
[0027] Em outro exemplo, um dispositivo para o envio de informação de dados de vídeo inclui um ou mais processadores configurados para enviar os dados de um arquivo de manifesto de conteúdo multimídia para um dispositivo de cliente, em que o arquivo de manifesto inclui informação indicativa de um primeiro segmento de uma representação de conteúdo multimídia, enviar pelo menos uma parte do primeiro segmento da representação para o dispositivo de cliente em resposta a uma solicitação do dispositivo de cliente, em que a parte do primeiro segmento indica que o arquivo de manifesto deve ser atualizado, em que um versão atualizada do arquivo de manifesto inclui informação indicativa de um segundo segmento diferente da representação, e enviar, em resposta a uma solicitação recebida a partir do dispositivo de cliente e formada de acordo com o arquivo de manifesto atualizado, os dados do segundo segmento para o dispositivo de cliente.
[0028] Em outro exemplo, um dispositivo para o envio de informação de dados de vídeo inclui meios para enviar dados de um arquivo de manifesto de conteúdo multimídia para um dispositivo de cliente, em que o arquivo de manifesto inclui informação indicativa de um primeiro segmento de uma representação de conteúdo multimídia, meios para enviar pelo menos uma parte do primeiro segmento da representação para o dispositivo de cliente em resposta a uma solicitação do dispositivo de cliente, em que a parte do primeiro segmento indica que o arquivo de manifesto deve ser atualizado, em que uma versão atualizada do arquivo de manifesto inclui informação indicativa de um segundo segmento diferente da representação, meios para enviar, em resposta a uma solicitação recebida a partir do dispositivo de cliente e formada de acordo com o arquivo de manifesto atualizado, os dados do segundo segmento para o dispositivo de cliente.
[0029] Em outro exemplo, um produto de programa de computador inclui um meio legível por computador tendo instruções armazenadas nele que, quando executadas, fazem com que um processador de um dispositivo envie informação de dados de vídeo para enviar dados de um arquivo de manifesto de conteúdo multimídia para um dispositivo de cliente, em que o arquivo de manifesto inclui informação indicativa de um primeiro segmento de uma representação de conteúdo multimídia, enviar pelo menos uma parte do primeiro segmento da representação para o dispositivo de cliente em resposta a uma solicitação do dispositivo de cliente, em que a parte do primeiro segmento indica que o arquivo de manifesto deve ser atualizado, em que uma versão atualizada do arquivo de manifesto inclui informação indicativa de um segundo segmento diferente da representação, e enviar, em resposta a uma solicitação recebida a partir do dispositivo de cliente e formada de acordo com o arquivo de manifesto atualizado, dados do segundo segmento para o dispositivo de cliente.
Breve Descrição das Figuras
[0030] A figura 1 é um diagrama de blocos que ilustra um sistema exemplar que implementa técnicas para streaming de dados de mídia através de uma rede.
[0031] A figura 2 é um diagrama individual que ilustra os elementos de um conteúdo multimídia exemplar.
[0032] A figura 3 é um diagrama de blocos que ilustra os elementos de um arquivo de vídeo exemplar, que pode corresponder a um segmento de uma representação de conteúdo multimídia.
[0033] A figura 4 é um diagrama conceitual que ilustra um exemplo de conteúdo multimídia, incluindo uma descrição apresentação de mídia (MPD) e vários grupos de representação.
[0034] A figura 5 é um diagrama individual que ilustra um outro exemplo de conteúdo multimídia, em que dados de MPD são separados em várias partes para vários grupos de representação.
[0035] A figura 6 é um diagrama individual que ilustra um outro exemplo de conteúdo multimídia que pode ser usado para suportar modos de faixa.
[0036] A figura 7 é um diagrama conceitual ilustrando outro conteúdo multimídia exemplar em que segmentos podem incluir caixas de atualização de MPD para indicar que um MPD de conteúdo multimídia deve ser atualizado.
[0037] A figura 8 é um fluxograma que ilustra um método exemplar para prover indicações sobre grupos de representação através de um dispositivo de servidor, e para selecionar os grupos de representação através de um dispositivo de cliente, bem como uma representação individual dentro do grupo de representação selecionado.
[0038] A figura 9 é um fluxograma que ilustra um método exemplar para prover dados representativos de um modo de faixa por um dispositivo de servidor, e para a utilização dos dados através de um dispositivo de cliente para recuperar e reproduzir dados de modo de faixa de conteúdo multimídia.
[0039] A figura 10 é um fluxograma que ilustra um método exemplar para prover, através de um dispositivo de servidor, indicações de que um arquivo de manifesto, tal como um MPD, deve ser atualizado, e para a atualização de um MPD de um dispositivo de cliente.
[0040] A figura 11 é um fluxograma ilustrando um método exemplar para a construção e utilização de dados de um documento de relatório de qualidade de experiência (QoE).
Descrição Detalhada da Invenção
[0041] Em geral, esta divulgação descreve técnicas para a streaming de dados de multimídia, tais como dados de áudio e vídeo, através de uma rede. As técnicas da presente divulgação podem ser utilizadas em conjunto com streaming adaptativo dinâmico sobre HTTP (DASH). Esta divulgação descreve várias técnicas que podem ser realizadas em conjunto com a transmissão de rede, qualquer um ou todos dos quais podem ser aplicados isoladamente ou em qualquer combinação. Conforme descrito em maior detalhe abaixo, os vários dispositivos que executam streaming de rede podem ser configurados para implementar as técnicas desta divulgação.
[0042] Em conformidade com DASH e técnicas semelhantes para streaming de dados através de uma rede, o conteúdo multimídia (tal como um filme ou um outro conteúdo de áudio / vídeo, o qual pode também incluir sobreposições de texto ou outros dados) pode ser codificado em uma variedade de formas e com uma variedade de características. Um dispositivo de preparação de conteúdo pode formar múltiplas representações do mesmo conteúdo multimídia. Cada representação pode corresponder a um conjunto particular de características, tais como características de codificação e renderização, para prover dados utilizáveis por uma variedade de dispositivos de cliente diferentes, com várias capacidades de codificação e processamento. Além disso, as representações com vários taxa de bits podem permitir a adaptação da largura de banda. Isto é, um dispositivo de cliente pode determinar uma quantidade de largura de banda que está atualmente disponível e selecionar uma representação com base na quantidade de largura de banda disponível, juntamente com capacidades de codificação e renderização do dispositivo de cliente.
[0043] Em alguns exemplos, um dispositivo de preparação de conteúdo pode indicar que um conjunto de representações tem um conjunto de características comuns. O dispositivo de preparação de conteúdo pode, então, indicar que as representações no conjunto formam um grupo de representação, em que as representações do conjunto podem ser usadas para a adaptação da largura de banda. Isto é, as representações do conjunto podem variar em taxa de bits, mas de outro modo, compartilhar substancialmente as mesmas características. Desta forma, um dispositivo de cliente pode determinar vários conjuntos de características comuns aos grupos de representação de conteúdo multimídia, e selecionar um grupo de representação com base nas capacidades de codificação e renderização do dispositivo de cliente. Em seguida, o dispositivo de cliente pode mudar adaptativamente entre as representações do grupo de representação selecionada com base na disponibilidade de largura de banda.
[0044] O dispositivo de preparação de conteúdo também pode prover locais de rede separados para diferentes partes de um arquivo de manifesto, tal como um arquivo de descrição de apresentação de mídia (MPD) em um formato prescrito por 3GPP (Projeto de Parceira de Terceira Geração). Isto é, as diferentes partes do arquivo de manifesto podem ser independentemente endereçáveis por, por exemplo, vários indicadores de recursos uniformes (URIs), tais como localizadores de recursos uniformes (URLs). Uma parte inicial do arquivo de manifesto pode incluir um URI, URL ou outro identificador de local de outra parte do arquivo de manifesto. Por exemplo, uma primeira parte do arquivo de manifesto pode incluir descrições de características comuns de grupos de representação, tal como discutido acima.
[0045] Cada um dos grupos de representação pode ser associado a uma respectiva parte diferente do arquivo de manifesto, que pode incluir dados indicativos da localização de dados de mídia de representações na respectiva grupo de representação. Desta maneira, um dispositivo de cliente pode receber a primeira parte do arquivo de manifesto, selecionar um grupo de uma representação adequada, recuperar uma outra parte do arquivo de manifesto para o grupo de representação selecionado, selecionar uma grupo de representação selecionado, e utilizar a outra parte do arquivo de manifesto para recuperar dados da representação selecionada. Além disso, o dispositivo de cliente pode adaptar-se a mudança de largura de banda de rede usando a outra parte do arquivo de manifesto, isto é, a parte específica para o grupo de representação selecionado.
[0046] Além disso, ou em alternativa, uma parte de um arquivo de manifesto pode referir-se a uma outra parte do arquivo de manifesto para outros fins. Ou seja, uma parte do arquivo de manifesto pode direcionar um dispositivo de cliente para outra parte do arquivo de manifesto para a inserção de suporte de dados de um período remoto em um filme durante a reprodução. O período remoto pode corresponder a um anúncio, em alguns exemplos. Estas técnicas podem ser utilizadas para anúncio segmentada, em alguns exemplos. Um dispositivo de cliente pode prover informações de usuário, tal como identificador de usuário, preferências de usuário para anúncios e/ou informações demográficas, a um dispositivo de servidor, que pode selecionar uma parte do arquivo de manifesto com base nas informações do usuário. Assim, quando desreferenciada, uma parte externa do arquivo de manifesto pode ser incorporada no arquivo de manifesto original, por exemplo, pelo dispositivo de cliente. O dispositivo de servidor pode prover um local da parte do arquivo de manifesto de conteúdo associado com mídia anúncio direcionada para o dispositivo de cliente. O dispositivo de cliente pode, então, recuperar e apresentar dados do conteúdo de mídia de anúncio direcionada antes de recuperar dados de uma representação específica de um período de conteúdo multimídia solicitado. Deste modo, uma primeira parte de um arquivo de manifesto de conteúdo multimídia pode referir-se a uma segunda parte do arquivo de manifesto.
[0047] Em alguns casos, um usuário pode desejar reproduzir dados de vídeo de uma forma diferente do início ao fim. Por exemplo, um usuário pode desejar reproduzir dados de vídeo em modos rápidos de avançar ou retroceder, ou a partir de um ponto de reprodução particular. Tais modos de reprodução de vídeo, que são outros modos de reproduzir do início ao fim, pode ser referido como "modos de faixa". Em modos de faixas, porque nem todos os dados de vídeo, irão por fim ser reproduzidos, todos os dados de vídeo não necessitam de ser recuperados. Esta divulgação provê técnicas para suportar modos de faixas também. Por exemplo, um dispositivo de preparação de conteúdo pode prover indicações de locais de faixas de bytes de quadros em dados de vídeo usados para modos de faixas, tal como imagens de renovação de decodificador instantânea (IDR). Em geral, imagens de IDR podem ser decodificadas sem referência a dados de quaisquer quadros externos às próprias imagens de IDR. Quadros ou fatias de imagens de IDR geralmente são codificados em um modo intrapredição, para evitar dependências de outros quadros ou fatias. Deste modo, o dispositivo de cliente pode recuperar a informação indicativa da localização de imagens de IDR para baixar apenas os dados para as imagens de IDR para utilização na apresentação de dados de vídeo em um modo faixa, tal como o avanço rápido. Outros dados podem ser incluídos na subsequência temporal também. Os dados podem ser organizados em modo de codificação, de tal modo que os dados utilizados para referência ocorrem mais cedo do que (e em sequência de byte contínua com) os dados de referência. Por exemplo, um quadro I pode anteceder um quadro P, que pode prosseguir de uma ou mais quadros B, qualquer um ou todos dos quais podem preceder outros quadros B, que podem referir-se ao quadro B anterior de uma forma hierárquica.
[0048] Em alguns exemplos, um arquivo de manifesto, como um MPD, pode exigir atualizações ocasionais. Esta divulgação também provê técnicas para sinalização e recepção de indicações de que uma MPD exige uma atualização. Em particular, um dispositivo de preparação de conteúdo pode incluir os dados em segmentos de representações que indicam que um MPD requer uma atualização correspondente. Estes dados podem corresponder a um elemento de um primeiro segmento, que pode indicar as atualizações para aplicar ao MPD e/ou locais de onde um dispositivo de cliente pode recuperar atualizações para o MPD. As atualizações podem compreender um MPD inteiramente novo ou atualizações incrementais em relação a um MPD anterior para o conteúdo multimídia.
[0049] Esta divulgação adicionalmente inclui as técnicas para prover retorno de dispositivos de cliente para um dispositivo de servidor e/ou dispositivo de preparação de conteúdo. O retorno pode corresponder a, por exemplo, informação indicativa de dados que foram recuperados para conteúdo multimídia. Um administrador ou outro usuário do dispositivo de preparação do conteúdo e/ou servidor pode utilizar essa informação em uma variedade de maneiras. Por exemplo, o usuário pode configurar uma rede de entrega de conteúdo (CDN) para armazenar em cache dados de representações mais frequentemente acessadas em dispositivos de proxy da CDN, como roteadores ou outros dispositivos. Como outro exemplo, o usuário pode determinar representações que são acessadas com mais frequência para determinar se certas representações devem ser adicionadas ou removidas de ou para o conteúdo multimídia atual, e/ou como codificar representações de conteúdo multimídia futuras.
[0050] Os arquivos de vídeo, tal como segmentos de representações de conteúdo de mídia, podem estar de acordo com dados de vídeo encapsulados de acordo com qualquer formato de arquivo de mídia de base ISO, formato de arquivo de Codificação de Vídeo Escalonável (SVC), formato de arquivo de Codificação de Vídeo Avançada (AVC), formato de arquivo de Projeto de Parceria de Terceira Geração (3GPP), e/ou formato de arquivo de Codificação de Vídeo Multivisualização (MVC), ou outros formatos de arquivos de vídeo semelhantes.
[0051] O formato de arquivo de mídia de base ISO foi projetada para conter informações de mídia temporizadas para uma apresentação em um formato flexível e extensível, que facilita o intercâmbio, gerenciamento, edição e apresentação dos mídia. Formato de Arquivo de Mídia de base ISO (ISO / IEC 14496-12:2004) é especificado em MPEG-4 Parte 12, que define uma estrutura geral para arquivos de mídia baseados em tempo. O formato de arquivo de mídia de base ISO é usado como base para outros formatos de arquivo da família, tais como formato de arquivo AVC (ISO / IEC 14496 - 15) definido suporte para compressão de vídeo H.264/MPEG-4 AVC, formato de arquivo3GPP, formato de arquivo SVC e formato de arquivo MVC. Formato de arquivo 3GPP e formato de arquivo MVC são extensões do formato de arquivo AVC. Formato de arquivo de mídia de base ISO contém a estrutura de temporização e informação de mídia para as sequências temporizadas de dados de mídia, tais como apresentações audiovisuais. A estrutura do arquivo pode ser orientada a objetos. Um arquivo pode ser decomposto em objetos básicos de maneira muito simples e a estrutura dos objetos está implícita do seu tipo.
[0052] Arquivos em conformidade com o format de arquivo de mídia de base ISO (e suas extensões) podem ser formados como uma série de objetos, chamados de "caixas". Dados no formato de arquivo De mídia de base ISO podem estar contidos em caixas, de forma que nenhum outro dado precisa ser contido dentro do arquivo e não precisam ser dados fora das caixas dentro do arquivo. Isto inclui qualquer assinatura inicial exigida pelo formato de arquivo específico. Uma "caixa" pode ser um bloco de construção orientada por objeto definida por um identificador de tipo único e comprimento. Normalmente, a apresentação está contida em um arquivo, e a apresentação de mídia é autossuficiente. O recipiente de filme (caixa de filme) pode conter os metadados da mídia e os quadros de vídeo e áudio podem ser contidos no recipiente de dados de mídia e pode estar em outros arquivos.
[0053] Uma representação (sequência de movimentos) pode estar contida em vários arquivos, por vezes referidos como os segmentos. Informação de temporização e enquadramento (posição e tamanho) está geralmente no arquivo de mídia de base ISO e os arquivos auxiliares podem essencialmente usar qualquer formato. Esta apresentação pode ser 'local' para o sistema que contém a apresentação, ou pode ser provida através de uma rede ou de outro mecanismo de entrega de fluxo.
[0054] Uma faixa de metadados opcional pode ser usada para marcar cada faixa com a "característica interessante" que tem, para a qual o seu valor pode variar a partir de outros membros do grupo (por exemplo, a sua taxa de bits, tamanho da tela, ou a linguagem). Alguns exemplos dentro de uma faixa podem ter características especiais ou podem ser identificados individualmente. Um exemplo da característica é o ponto de sincronização (frequentemente um quadro de vídeo I). Estes pontos podem ser identificados por uma tabela especial em cada faixa. De modo mais geral, a natureza das dependências entre as amostras das faixas pode também ser documentada através de metadados. Os metadados podem ser estruturados como uma sequência de amostras de formato de arquivo, apenas como uma faixa de vídeo. Essa faixa pode ser referida como uma faixa de metadados. Cada amostra de metadados pode ser estruturada como uma declaração de metadados. Existem vários tipos de declarações, correspondentes às várias perguntas que podem ser feitas sobre a amostra de formato de arquivo correspondente ou suas amostras constituintes.
[0055] Quando a mídia é entregue através de um protocolo de streaming, a mídia pode ter de ser transformada a partir da forma como é representada no arquivo. Um exemplo disso é quando a mídia é transmitida através da Protocolo de Transporte em Tempo Real (RTP). No arquivo, por exemplo, cada quadro de vídeo é armazenado de forma contígua, como um exemplo de formato de arquivo. Em RTP, regras de empacotamento específicas para o codec utilizado devem ser obedecidas para colocar estes quadros em pacotes RTP. Um servidor de streaming pode ser configurado para calcular empacotamento como em tempo de execução. No entanto, não há suporte para a assistência dos servidores de streaming.
[0056] As técnicas desta divulgação podem ser aplicáveis a protocolos de streaming de rede, tal como um streaming de HTTP, por exemplo, de acordo com a dinâmica de transmissão adaptável sobre HTTP (DASH). Em streaming HTTP, operações usadas com frequência incluem GET e GET parcial. A operação GET recupera um arquivo inteiro associado um dado Localizador de Recursos Uniformes (URL) ou outro identificador, por exemplo, URI. A operação de GET parcial recebe um faixas de bytes como um parâmetro de entrada e recupera um número contínuo de bytes de um arquivo correspondente ao faixas de bytes recebidos. Assim, fragmentos de filme podem ser providos para streaming de HTTP, porque uma operação de GET parcial pode obter um ou mais fragmentos de filme individuais. Note-se que, em um fragmento de filme, pode haver vários fragmentos de faixas de diferentes faixas. Em streaming de HTTP, uma representação da mídia pode ser uma coleção de dados estruturados que é acessível ao cliente. O cliente pode solicitar o download de mídia e informação de dados para apresentar um serviço de streaming para um usuário.
[0057] No exemplo de streaming de dados 3GPP usando streaming HTTP, pode haver múltiplas representações para dados de vídeo e/ou áudio de conteúdo multimídia. O manifesto de tais representações pode ser definido em uma estrutura de dados de Descrição Apresentação Media (MPD). Uma representação da mídia pode corresponder a um conjunto estruturado de dados que é acessível a um dispositivo de cliente de streaming de HTTP. O dispositivo de cliente de streaming de HTTP pode solicitar e baixar informação de dados de mídia para apresentar um serviço de streaming para um usuário do dispositivo de cliente. Uma representação de mídia pode ser descrita na estrutura de dados de MPD, que pode incluir alterações de MPD.
[0058] O conteúdo multimídia pode conter uma sequência de um ou mais períodos. Períodos podem ser definidos por um elemento no Período de MPD. Cada período pode ter um atributo start no MPD. O MPD pode incluir um atributo star e um atributo availableStartTime para cada período. Para serviços ao vivo, a soma do atributo start do período e o atributo MPD availableStartTime pode especificar o tempo de disponibilidade do período no formato UTC, em particular do primeiro segmento de mídia de cada representação no período correspondente. Para serviços on-demand, o atributo star do primeiro período pode ser 0. Para qualquer outro período, o atributo star pode especificar um tempo de deslocamento entre a hora de início do período correspondente em relação à hora de início do primeiro período. Cada período pode ir até ao início do período seguinte, ou até ao fim da apresentação de mídia, no caso do último período. Tempos de início de período podem ser precisos. Eles podem refletir o tempo real resultante da reprodução da mídia de todos os períodos anteriores.
[0059] Cada período pode conter uma ou mais representações do mesmo conteúdo de mídia. A representação pode ser uma de uma série de versões codificadas alternativas de dados de áudio ou de vídeo. As representações podem diferir por várias características, tais como tipos de codificação, por exemplo, por taxa de bits, resolução e/ou codec para dados de vídeo e taxa de bits, linguagem, e/ou codec para dados de áudio. O termo representação pode ser usado para se referir a uma seção de dados de áudio ou vídeo codificado correspondente a um período particular do conteúdo multimídia e codificado de uma maneira particular.
[0060] As representações de um período específico podem ser atribuídas a um grupo, que pode ser indicado por um atributo no grupo MPD. Representações de um mesmo grupo são geralmente consideradas alternativas de um para o outro. Por exemplo, cada representação de dados de vídeo para um determinado período pode ser atribuída ao mesmo grupo, de tal modo que qualquer uma das representações pode ser selecionada para a decodificação de dados de vídeo para exibir o conteúdo de multimídia, para o período correspondente. O conteúdo de mídia dentro de um período pode ser representado por qualquer um de uma representação a partir do grupo 0, se presente, ou a combinação de, no máximo, uma representação de cada grupo diferente de zero, em alguns exemplos. Dados de temporização para cada representação de um período podem ser expressos em relação ao tempo de início do período.
[0061] Uma representação pode incluir um ou mais segmentos. Cada representação pode incluir um segmento de inicialização, ou cada um dos segmentos de uma representação pode ser autoinicializado. Quando presente, o segmento de iniciação pode conter informações de inicialização para acessar a representação. Em geral, o segmento de inicialização não contém dados de mídia. Um segmento pode ser unicamente referenciado por um identificador, tal como um Localizador de recursos uniforme (URL). O MPD pode prover os identificadores para cada segmento. Em alguns exemplos, o MPD pode também prover intervalos de bytes na forma de um atributo range, o que pode corresponder aos dados de um segmento no interior de um arquivo acessível pelo URL ou URI.
[0062] Cada representação também pode incluir um ou mais componentes de mídia, em que cada componente de mídia pode corresponder a uma versão codificada de um tipo de suporte individual, tais como áudio, vídeo e/ou texto temporizado (por exemplo, para a legendagem fechada). Componentes de mídia podem ser contínuos em tempo através de fronteiras de segmentos de mídia consecutivos dentro de uma representação.
[0063] A figura 1 é um diagrama de blocos que ilustra um exemplo de sistema 10, que implementa técnicas para streaming de dados através de uma rede multimídia. Neste exemplo, o sistema 10 inclui o dispositivo de preparação de conteúdo 20, o dispositivo de servidor 60, e um dispositivo de cliente 40. Dispositivo de cliente 40 e dispositivo de servidor 60 são comunicativamente acoplados pela rede 74, que pode compreender a Internet. Em alguns exemplos, o dispositivo de preparação de conteúdo 20 e dispositivo de servidor 60 podem também ser acoplados pela rede 74 ou uma outra rede, ou pode ser diretamente acoplado comunicativamente. Em alguns exemplos, o dispositivo de preparação de conteúdo 20 e dispositivo de servidor 60 pode compreender o mesmo dispositivo.
[0064] O dispositivo de preparação de conteúdo 20, no exemplo da figura 1, compreende fonte de áudio 22 e fonte de vídeo 24. A fonte de áudio 22 pode compreender, por exemplo, um microfone, que produz sinais elétricos representativos de dados áudio capturados para serem codificados pelo codificador de áudio 26. Alternativamente, a fonte de áudio 22 pode compreender um meio de armazenamento para armazenar os dados de áudio gravados anteriormente, por um gerador de dados de áudio, como um sintetizador computadorizado, ou qualquer outra fonte de dados de áudio. Fonte de vídeo 24 pode compreender uma câmara de vídeo que produz dados de vídeo a serem codificados por um codificador de vídeo 28, um meio de armazenamento codificado com dados de vídeo previamente gravados, uma unidade de geração de dados de vídeo, tal como uma fonte gráfica de computador, ou qualquer outra fonte de dados de vídeo. Dispositivo de preparação de conteúdo 20 não é necessariamente comunicativamente acoplado ao dispositivo de servidor 60 em todos os exemplos, mas pode armazenar conteúdo multimídia em um meio separado que é lido pelo dispositivo de servidor 60.
[0065] Dados de vídeo e de áudio brutos podem incluir os dados analógicos ou digitais. Os dados analógicos podem ser digitalizados antes de ser codificados pelo codificador de áudio 26 e/ou um codificador de vídeo 28. Fonte de áudio 22 pode obter dados de áudio de um participante que está falando enquanto o participante que está falando está falando, e a fonte de vídeo 24 pode, simultaneamente, obter dados de vídeo do participante que está falando. Em outros exemplos, a fonte de áudio 22 pode compreender um meio de armazenamento legível por computador, que compreende os dados de áudio armazenados, e a fonte de vídeo 24 pode compreender um meio de armazenamento legível por computador compreendendo dados de vídeo armazenados. Deste modo, as técnicas descritas na presente memória descritiva podem ser aplicadas para dados de vídeo e áudio ao vivo, streaming, em tempo real ou para dados de áudio e vídeo arquivados, pré-gravados.
[0066] Os quadros de áudio que correspondem a quadros de vídeo são geralmente os quadros de áudio contendo os dados de áudio que foram capturados pela fonte de áudio 22 simultaneamente com os dados de vídeo captados pela fonte de vídeo 24, que está contida dentro dos quadros de vídeo. Por exemplo, enquanto um participante fala geralmente produz dados de áudio falando, a fonte de áudio 22 capta os dados de áudio e a fonte de vídeo 24 captura dados de vídeo do participante que está falando ao mesmo tempo, isto é, enquanto fonte de áudio 22 está capturando os dados de áudio. Assim, um quadro de áudio pode temporalmente corresponder a um ou mais quadros de vídeo particulares. Deste modo, um quadro de áudio correspondente a um quadro de vídeo, geralmente corresponde a uma situação em que os dados de dados de áudio e vídeo foram capturados ao mesmo tempo, e para que um quadro de áudio e um quadro de vídeo compreenda, respectivamente, os dados de áudio e os dados de vídeo que foi capturado ao mesmo tempo.
[0067] Em alguns exemplos, o codificador de áudio 26 pode codificar uma hora em cada quadro de áudio codificado que representa um tempo no qual os dados de áudio para o quadro de áudio codificado foi gravado e, similarmente, o codificador de vídeo 28 pode codificar uma marca de tempo de cada quadro de vídeo codificado que representa um tempo no qual os dados de vídeo de quadro de vídeo codificado foram gravados. Em tais exemplos, um quadro de áudio correspondente a um quadro de vídeo pode compreender um quadro de áudio compreendendo uma marca de tempo e um quadro de vídeo que compreende a mesma marca de tempo. Dispositivo de preparação de conteúdo 20 pode incluir um relógio interno a partir do qual codificador de áudio 26 e/ou um codificador de vídeo 28 pode gerar as marcas de tempo, ou que a fonte de áudio 22 e a fonte de vídeo 24 podem utilizar para associar os dados de áudio e vídeo, respectivamente, com uma marca de tempo.
[0068] Em alguns exemplos, a fonte de áudio 22 pode enviar dados para codificador de áudio 26 correspondendo a um tempo em que os dados de áudio foram gravados, e fonte de vídeo 24 pode enviar dados para codificador de vídeo 28 correspondendo a um tempo em que os dados de vídeo foram gravados.
[0069] Em alguns exemplos, o codificador de áudio 26 pode codificar um identificador de sequência um de dados de áudio codificados para indicar uma ordenação temporal relativa de dados de áudio codificados, mas sem necessariamente indicar um tempo absoluto no qual os dados de áudio foram gravados e, similarmente, o codificador de vídeo 28 pode também utilizar identificadores de sequência para indicar uma ordenação temporal relativa em dados de vídeo codificado. Do mesmo modo, em alguns exemplos, um identificador de sequência pode ser mapeado ou de outra forma correlacionado com um marca de tempo.
[0070] O codificador de áudio 26 geralmente produz um fluxo de dados de áudio codificado, enquanto o codificador de vídeo 28 produz um fluxo de dados de vídeo codificado. Cada fluxo de dados individuais (sejam de áudio ou de vídeo) podem ser referidos como um fluxo elementar. Um fluxo elementar é um componente único, codificado digitalmente (possivelmente comprimido) de uma representação. Por exemplo, a parte de vídeo ou de áudio codificada da representação pode ser um fluxo elementar. Um fluxo elementar pode ser convertido em um fluxo elementar empacotado (PES), antes de ser encapsulado dentro de um arquivo de vídeo. Dentro da mesma representação, um ID de fluxo pode ser utilizado para distinguir os pacotes PES pertencentes a um fluxo elementar a partir do outro. A unidade básica de dados de um fluxo elementar é um pacote de fluxo elementar empacotado (PES). Assim, os dados de vídeo codificado geralmente correspondem a fluxos de vídeo elementares. Da mesma forma, os dados de áudio correspondentes a um ou mais respectivos fluxos elementares.
[0071] Como acontece com vários padrões de codificação de vídeo, H.264/AVC define a sintaxe, a semântica e processo de decodificação para fluxos de bits livres de erros, qualquer um dos quais obedecem a um determinado perfil ou nível. H.264/AVC não especifica o codificador, mas o codificador tem a tarefa de garantir que os fluxos de bits gerados sejam compatíveis com o padrão para um decodificador. No contexto do padrão de codificação de vídeo, um "perfil" corresponde a um subconjunto de algoritmos, recursos ou ferramentas e restrições que se aplicam aos mesmos. Tal como definido pela norma H.264, por exemplo, um "perfil" é um subconjunto da sintaxe de fluxo de bits inteiro que é especificado pela norma H.264. A "nível" corresponde às limitações do consumo de recursos de decodificação, tais como, por exemplo, a memória do decodificador e computação, que estão relacionados com a resolução das imagens, a taxa de bits e taxas de processamento de macrobloco (MB). Um perfil pode ser sinalizado com um valor profile_idc (indicador de perfil), aa etapa que um nível pode ser sinalizado com um valor level_idc (indicador de nível).
[0072] O padrão H.264, por exemplo, reconhece que, dentro dos limites impostos pela sintaxe de um determinado perfil, ainda é possível requerer uma grande variação no desempenho dos codificadores e decodificadores dependendo dos valores tomados pelos elementos de sintaxe no fluxo de bits, tal como o tamanho especificado das imagens decodificadas. O padrão H.264 reconhece ainda que, em muitas aplicações, não é nem prático nem econômico implementar um decodificador capaz de lidar com todos os usos hipotéticos da sintaxe dentro de um perfil específico. Assim, o padrão H.264 define um "nível", como um determinado conjunto de restrições impostas sobre os valores dos elementos de sintaxe no fluxo de bits. Estas restrições podem ser limites simples sobre valores. Alternativamente, estas restrições podem assumir a forma de restrições sobre combinações aritméticas de valores (por exemplo, a largura da imagem multiplicada pela altura da imagem multiplicada pelo número de imagens decodificadas por segundo). O padrão H.264 adicionalmente provê que as implementações individuais podem suportar um nível diferente para cada perfil suportado.
[0073] Um decodificador que se conforma a um perfil geralmente suporta todas as características definidas no perfil. Por exemplo, como uma característica de codificação, codificação de imagem B não é suportada no perfil de linha de base do H.264/AVC, mas é suportado em outros perfis de H.264/AVC. Um decodificador conforme um nível deve ser capaz de decodificar qualquer fluxo de bits que não necessita de recursos além dos limites definidos no nível. Definições de perfis e níveis podem ser úteis para interpretabilidade. Por exemplo, durante a transmissão de vídeo, um par de definições de perfil e nível pode ser negociado e acordado para uma sessão de transmissão completa. Mais especificamente, em H.264/AVC, um nível pode definir, por exemplo, as limitações no número de macroblocos que precisam ser processados, tamanho de imagem buffer decodificado (DPB), tamanho de buffer de imagem codificada (CPB), intervalo de vetor de movimento vertical, número máximo de vetores de movimento por dois MBs consecutivos, e se um bloco B pode ter partições de submacroblocos de menos de 8x8 pixels. Desta maneira, um decodificador pode determinar se o decodificador é capaz de decodificar corretamente o fluxo de bits.
[0074] Padrões de compressão de vídeo, tais como ITU-T H.261, H.262, H.263, MPEG-1, MPEG-2, H.264/MPEG- 4 parte 10, e o padrão de Codificação de Vídeo de Alta Eficiência futuro (HEVC), fazem uso de predição temporal compensada por movimento para reduzir a redundância temporal. O codificador, tal como um codificador de vídeo 28, pode utilizar uma predição com compensação de movimento a partir de algumas imagens previamente codificadas (também aqui referidas como quadros) para prever as imagens atuais codificadas de acordo com os vetores de movimento. Existem três tipos de imagens importantes na codificação de vídeo típica. Elas são a imagem intracodificada ("I-imagens" ou "I-quadros"), imagens preditas ("P-imagem " ou "P-quadros") e imagens preditas bidirecionais ("B-imagens" ou "B- quadros"). P-imagens podem usar a imagem de referência antes de a imagem atual em ordem temporal. Em uma B-imagem, cada bloco da B-imagem pode ser predito a partir de uma ou duas imagens de referência. Estas imagens de referência poderiam ser localizadas antes ou depois da imagem atual em ordem temporal.
[0075] Conjunto de parâmetro geralmente contêm informação de cabeçalho em sequência de camada em conjuntos de parâmetros de sequência (SPS) e as informações de cabeçalho de camada de imagem que raramente muda em conjuntos de parâmetros de imagem (PPS). Com os conjuntos de parâmetros, esta informação que raramente muda não precisa de ser repetida para cada sequência ou imagem, portanto, a eficiência de codificação pode ser melhorada. Além disso, o uso de conjuntos de parâmetros pode permitir transmissão fora de banda de informações de cabeçalho, evitando a necessidade de transmissões redundantes para conseguir resiliência de erro. Em transmissão fora de banda unidades NAL de conjunto de parâmetro são transmitidas em um canal diferente do que as outras unidades NAL.
[0076] No exemplo da figura 1, a unidade de encapsulamento 30 de dispositivo de preparação de conteúdo 20 recebe fluxos elementares que compreendem os dados de vídeo codificado a partir de codificador de vídeo 28 e fluxos elementares que compreendem dados de áudio codificados do codificador de áudio 26. Em alguns exemplos, o codificador de vídeo 28 e o codificador de áudio 26 podem, cada uma incluir empacotadores para formar pacotes PES de dados codificados. Em outros exemplos, codificador de vídeo 28 e o codificador de áudio 26 podem cada um interfacear com respectivos empacotadores para a formação de pacotes PES de dados codificados. Em ainda outros exemplos, a unidade de encapsulamento 30 pode incluir empacotadores para formar pacotes PES a partir de dados de áudio e vídeo codificado.
[0077] O codificador de vídeo 28 pode codificar dados de vídeo de conteúdo multimídia em uma variedade de maneiras, para produzir diferentes representações do conteúdo multimídia em taxa de bits diferentes e com características diversas, tais como resolução de pixels, taxas de quadros, conformidade com os vários padrões de codificação, conformidade com diferentes perfis e/ou níveis de perfis para vários padrões de codificação, representações tendo uma ou várias visualizações (por exemplo, para uma reprodução bidimensional ou tridimensional), ou outras características. Uma representação, tal como utilizada na presente memória descritiva, pode compreender uma combinação de dados de áudio e dados de vídeo, por exemplo, um ou mais fluxo elementar de áudio e um ou mais fluxo elementar de vídeo. Cada pacote PES pode incluir um stream_id que identifica o fluxo elementar ao qual pertence o pacote PES. Unidade de encapsulamento 30 é responsável pela montagem de fluxos elementares em arquivos de vídeo de várias representações.
[0078] A unidade de encapsulamento 30 recebe pacotes PES para os fluxos elementares de uma representação de codificador de áudio 26 e codificador de vídeo 28 e forma unidades de camada de abstração da rede (NAL) correspondentes a partir dos pacotes PES. No exemplo de H.264/AVC (Codificação de Vídeo Avançada), segmentos de vídeo codificado são organizados em unidades NAL, que fornecem uma representação de vídeo "amiga da rede" abordando aplicações tais como telefonia com vídeo, armazenamento, broadcast ou streaming. Unidades NAL podem ser categorizadas para unidades NAL de Camada de Codificação de Vídeo (VCL) e unidades NAL não-VCL. Unidades de VCL podem conter o motor de compressão do núcleo e podem incluir bloco, macrobloco, e/ou dados de nível de fatia. Outras unidades NAL podem ser unidades NAL não-VCL. Em alguns exemplos, uma imagem codificada em um exemplo de tempo, normalmente apresentada como uma imagem principal codificada, pode estar contida em uma unidade de acesso, que pode incluir uma ou mais unidades NAL.
[0079] Unidades NAL não-VCL podem incluir unidades NAL de conjunto de parâmetros e unidades NAL SEI, entre outras. Conjuntos de parâmetros podem conter informação de nível de cabeçalho de sequência (em conjuntos de parâmetros de sequência (SPS)) e as informação de cabeçalho de nível de imagem que raramente muda (em conjuntos de parâmetros de imagens (PPS)). Com os conjuntos de parâmetros (por exemplo, PPS e SPS), informações que infrequentemente mudam não precisam de ser repetidas para cada sequência ou uma imagem, portanto, a eficiência de codificação pode ser melhorada. Além disso, a utilização de conjuntos de parâmetros pode permitir transmissão fora de banda da informação de cabeçalho importante, evitando a necessidade de transmissões redundantes para a resiliência de erro. Nos exemplos de transmissão fora de banda, unidades NAL de conjunto de parâmetros podem ser transmitidas em um canal diferente de outras unidades NAL, tais como unidades SEI NAL.
[0080] Informação de Aperfeiçoamento Suplementar (SEI) pode conter informação que não é necessária para decodificar as amostras de imagens codificadas de unidades NAL VCL, mas pode ajudar em processos relacionados com a decodificação, exibição, resiliência de erro, e outros fins. Mensagens SEI podem ser contidas em unidades NAL não-VCL. Mensagens SEI são a parte normativa de algumas especificações padrão, e, portanto, não são sempre obrigatórias para implementação padrão compatível com decodificador. Mensagens SEI podem ser mensagens de sequência de nível SEI ou mensagens de imagens de nível SEI. Algumas informações de nível de sequência podem ser contidas em mensagens SEI, tais como mensagens SEI de informações de escalabilidade no exemplo de SVC e mensagens SEI de informação de escalabilidade de visualização no MVC. Estas mensagens SEI exemplares podem transportar informações sobre, por exemplo, a extração de pontos de operação e características dos pontos de operação. Além disso, a unidade encapsulamento de 30 pode formar um arquivo de manifesto, tal como um descritor de apresentação de mídia (MPD), que descreve as características do representações. Unidade de encapsulamento 30 pode formatar o MPD de acordo com a linguagem de marcação extensível (XML).
[0081] Unidade de encapsulamento 30 pode prover dados para uma ou mais representações de conteúdo multimídia, juntamente com o arquivo de manifesto (por exemplo, o MPD) para a interface de saída 32. Interface de saída 32 pode incluir uma interface de rede ou uma interface para gravar em um meio de armazenamento, tal como um barramento serial universal (USB), um gravador de CD ou DVD ou burner, uma interface para meios de armazenamento magnético ou flash, ou outras interfaces para armazenar ou transmitir dados de mídia. Unidade de encapsulamento 30 pode prover dados de cada uma das representações de conteúdo multimídia para interface de saída 32, que pode enviar os dados para o dispositivo de servidor 60 através de transmissão de rede ou mídia de armazenamento. No exemplo da figura 1, o dispositivo de servidor 60 inclui o meio de armazenamento 62, que armazena vários conteúdos multimídia 64, cada um incluindo um respectivo arquivo de manifesto 66 e uma ou mais representações 68A-68N (representações 68). De acordo com as técnicas desta divulgação, as partes de arquivo de manifesto 66 podem ser armazenadas em locais separados, por exemplo, locais de suporte de armazenamento 62, ou outro meio de armazenamento, possivelmente de um outro dispositivo de rede 74, tal como um dispositivo de proxy.
[0082] Em alguns exemplos, as representações 68 podem ser separadas em grupos de representação. Ou seja,vários subconjuntos de representações 68 podem incluir respectivos conjuntos comuns de características, tais como codec, perfil e nível, resolução, número de visualizações, formato de arquivo para os segmentos, informações de tipo de texto que pode identificar uma língua ou outras características do texto a ser exibida com a representação e/ou dados de áudio a ser decodificado e apresentado, por exemplo, por falantes, informações de ângulo de câmera que podem descrever um ângulo de câmera ou perspectiva da câmera de mundo real de uma cena para representações no grupo de representação, informação de taxa que descreve a aptidão de conteúdo para determinadas audiências, ou semelhantes.
[0083] O arquivo de manifesto 66 pode incluir dados indicativos dos subconjuntos de representações 68 correspondentes a grupos particulares de representação, bem como características comuns para os grupos de representação. Arquivo de manifesto 66 pode também incluir dados representativos de características individuais, tais como taxas de bits, por representações individuais de grupos de representação. Deste modo, um grupo de representação pode prover uma adaptação simplificada de rede de largura de banda. Representações em um grupo de representação podem ser indicadas através de elementos filho de um elemento de grupo de representação de arquivo de manifesto 66.
[0084] O arquivo de manifesto 66 pode também (isto é, adicionalmente ou em alternativa) sinalizar informação de modo de faixa para uma ou mais das representações 68. Em alguns exemplos, um ou mais das representações 68 podem incluir uma respectiva subsequência temporal para suporte de modo de faixa. Um modo de faixa geralmente corresponde a um modo de reprodução para uma representação em que os dados da representação não são reproduzidos do início ao fim, mas em vez disso, pode começar em uma localização temporal especificada (por exemplo, para permitir a busca por local temporal particular), ou pular um ou mais quadros em qualquer direção temporal para a frente ou para trás (por exemplo, avançar ou retroceder).
[0085] Para prover para os modos de faixa, conteúdo multimídia 64 pode incluir informação representativa de locais de dados para subsequências temporais de representações correspondentes 68. Em alguns exemplos, o arquivo de manifesto 66 pode incluir a informação representativa das localizações dos dados para as subsequências temporais. Em outros exemplos, as próprias representações 68 podem incluir a informação representativa da localização dos dados para a subsequências temporais. Em ainda outros exemplos, ambas as representações 68 e arquivos de manifesto 66 podem incluir a informação representativa das localizações dos dados para o subsequências temporais.
[0086] Em alguns exemplos, o dispositivo de preparação de conteúdo 20 pode preparar o conteúdo de mídia conforme o conteúdo de mídia está sendo gravado, por exemplo, para serviços ao vivo. Unidade de encapsulamento 30 pode, em alguns casos precisar atualizar periodicamente um arquivo de manifesto para o conteúdo de mídia. Unidade de encapsulamento 30 pode até mesmo atualizar o arquivo de manifesto dentro de um período específico do conteúdo de mídia. De acordo com as técnicas desta divulgação, a unidade de encapsulamento 30 pode formar segmentos de uma representação que incluem dados que indicam que o arquivo de manifesto deve ser atualizado. Unidade de encapsulamento 30 pode prover as atualizações nos próprios segmentos ou em um local separado dos dispositivos de cliente, tal como dispositivo de cliente 40 pode recuperar as atualizações para o arquivo de manifesto. Desta maneira, quando o arquivo de manifesto 66 necessita de ser atualizado dentro de um determinado período de conteúdo multimídia 64, a unidade de encapsulamento 30 pode formar um segmento de uma ou mais das representações 68, indicando que o arquivo de manifesto 66 deve ser atualizado.
[0087] Em alguns exemplos, arquivo de manifesto 66 pode incluir dados para inserir dados de um período remoto no conteúdo multimídia 64 durante a reprodução. Por exemplo, em vez de codificação de anúncios dentro de conteúdo multimídia 64, dispositivo de preparação de conteúdo 20 pode preparar um ou mais conteúdo de mídia de anúncio separada a serem incorporados no conteúdo multimídia 64 durante a reprodução. Dispositivo de cliente 40 pode, em alguns exemplos prover informações de usuário específico, tal que a anúncio pode ser dirigida a um usuário do dispositivo de cliente 40, de tal forma que um usuário do dispositivo de cliente 40 recebe anúncios que são mais preferíveis e informativos para o usuário. Em resposta a um conjunto de informações de usuário, o dispositivo de servidor 60 pode prover uma parte de anúncio de destino do arquivo de manifesto para dispositivo de cliente 40, que pode fazer com que dispositivo de cliente 40 recupere dados de conteúdo multimídia do anúncio segmentado. Desta forma, dois ou mais espectadores do mesmo conteúdo multimídia 64 podem receber diferentes anúncios direcionados, de tal forma que os anúncios são mais relevantes e úteis para os usuários.
[0088] O dispositivo de servidor 60 inclui a unidade de processamento de solicitação 70 e a interface de rede 72. Em alguns exemplos, o dispositivo de servidor 60 pode incluir uma pluralidade de interfaces de rede. Além disso, qualquer uma ou todas as características do dispositivo de servidor 60 podem ser implementadas em outros dispositivos de uma rede de entrega de conteúdos, tais como pontes, roteadores, dispositivos de proxy, interruptores, ou outros dispositivos. Em alguns exemplos, os dispositivos intermediários de uma rede de distribuição de conteúdo podem armazenar dados de conteúdo multimídia 64, e incluem componentes que se conformam substancialmente aos do dispositivo de servidor 60. Em geral, a interface de rede 72 é configurada para enviar e receber dados através da rede 74.
[0089] A unidade de processamento de solicitação 70 é configurada para receber solicitações de rede de dispositivos de cliente, tais como dispositivo de cliente 40, para os dados de meio de armazenamento 72. Por exemplo, a unidade de processamento de solicitação 70 pode implementar Protocolo de Transferência de Hipertexto (HTTP) versão 1.1, como descrito no RFC 2616, "Hypertext Transfer Protocol-HTTP/1.1", de R. Fielding et al., Grupo de Trabalho de Rede, IETF, Junho de 1999. Isto é, unidade de processamento de solicitação 70 pode ser configurada para receber solicitações de HTTP GET ou GET parcial e prover dados de conteúdo multimídia 64 em resposta às solicitações. As solicitações podem especificar um segmento de uma das representações 68, por exemplo, utilizando um URL do segmento. Em alguns exemplos, as solicitações também podem especificar um ou mais intervalos de bytes do segmento, assim compreendendo solicitações de GET parciais. Unidade de processamento de solicitação 70 pode ainda ser configurada para solicitações de serviço HTTP HEAD para prover os dados de cabeçalho de um segmento de uma das representações 68. Em qualquer caso, a unidade de processamento de solicitação 70 pode ser configurada para processar as solicitações para prover os dados solicitados para um dispositivo solicitante, tal como dispositivo de cliente 40.
[0090] Tal como ilustrado no exemplo da figura 1, conteúdo multimídia 64 inclui arquivo de manifesto 66, que pode corresponder a uma descrição de apresentação de mídia (MPD). Arquivo de manifesto 66 pode conter descrições de diferentes representações alternativas 68 (por exemplo, serviços de vídeo, com diferentes qualidades), e a descrição pode incluir, por exemplo, a informação de codec, um valor de perfil, um valor de nível, uma taxa de bits, e outras características descritivas das representações 68. Dispositivo de cliente 40 pode recuperar o MPD de uma apresentação de mídia para determinar como acessar segmentos de representações 68.
[0091] Em particular, o aplicativo de web 52 pode recuperar dados de configuração (não mostrados) do dispositivo de cliente 40 para determinar as capacidades de decodificação do decodificador de vídeo 48 e as capacidades de processamento de saída de vídeo 44. Os dados de configuração podem também incluir qualquer um ou todos de uma preferência de idioma selecionada por um usuário do dispositivo de cliente 40, uma ou mais perspectivas de câmaras correspondentes às preferências de profundidade definidas pelo usuário do dispositivo de cliente 40, e/ou uma classificação de preferência selecionada pelo usuário do dispositivo de cliente 40. O aplicativo de web 52 pode compreender, por exemplo, um navegador de web ou um cliente de mídia configurado para enviar solicitações HTTP GET e GET parcial. Aplicativo de Web 52 pode corresponder a instruções de software executado por um ou mais processadores ou unidades de processamento (não mostrados) do dispositivo de cliente 40. Em alguns exemplos, a totalidade ou partes da funcionalidade descrita com respeito ao aplicativo de web 52 pode ser implementada em hardware, ou uma combinação de hardware, software e/ou firmware, em que hardware necessário pode ser fornecido para executar instruções para software ou firmware.
[0092] O aplicativo de Web 52 pode comparar as capacidades de decodificação e renderização de dispositivo de cliente 40 com as características de representações 68 indicadas por informações do arquivo de manifesto 66. Aplicativo de Web 52 pode inicialmente recuperar pelo menos uma parte do arquivo de manifesto 66 para determinar as características das representações 68. Por exemplo, o aplicativo de rede 52 pode requerer o aplicativo de uma parte de arquivo de manifesto 66 que descreve as características de um ou mais grupos de representação, de acordo com as técnicas desta divulgação. O aplicativo de Web 52 pode selecionar um subconjunto de representações 68 (por exemplo, um grupo de representação) com características que podem ser satisfeitas pelas capacidades de codificação e processamento de dispositivo de cliente 40. aplicativo de web 52 pode, então, determinar taxa de bits para representações no grupo de representação, determinar uma quantidade atualmente disponível de banda de rede, e recuperar segmentos de uma das representações que têm uma taxa de bits que pode ser satisfeita pela largura de banda da rede.
[0093] Em geral, representações de taxa de bits mais elevadas podem render reprodução de vídeo de qualidade mais elevada, enquanto representações de taxa de bits mais baixa podem prover reprodução de vídeo de qualidade suficiente quando a largura de banda de rede disponível diminui. Assim, quando a largura de banda disponível é relativamente alta, aplicativo de web 52 pode recuperar dados de representações de taxa de bits relativamente altas, enquanto que quando a largura de banda disponível é baixa, o aplicativo de web 52 pode recuperar dados de representações de taxa de bits relativamente baixa. Deste modo, o dispositivo de cliente 40 pode transmitir dados sobre a rede multimídia 74 enquanto também adapta-se a mudar disponibilidade de largura de banda de rede da rede 74.
[0094] Como mencionado acima, em alguns exemplos, o dispositivo de cliente 40 pode prover informações ao usuário, por exemplo, um dispositivo de servidor 60 ou outros dispositivos de uma rede de entrega de conteúdo. Aplicativo de web 52, por exemplo, pode coletar um identificador de usuário, identificador de usuário, preferências de usuário e/ou informações demográficas, e prover informações de usuário para dispositivo de servidor 60. Aplicativo de Web 52 pode então receber um arquivo de manifesto associado conteúdo de mídia de anúncio determinado, para usar para inserir os dados do conteúdo de mídia de anúncio direcionado em dados de mídia de conteúdo de mídia solicitada durante a reprodução.
[0095] Às vezes, um usuário de dispositivo de cliente 40 pode interagir com navegador 52 usando interfaces de usuário de dispositivo de cliente 40, como um teclado, mouse, caneta, interface touchscreen, botões ou outras interfaces, para solicitar que uma representação selecionada das representações 68 seja reproduzida em um modo de faixa. Por exemplo, o usuário pode selecionar um local temporal particular a partir do qual inicia a reprodução, ou ignorar ou buscar um determinado local temporal. Como outro exemplo, o usuário pode optar por avançar ou retroceder a representação.
[0096] Em resposta a tais solicitações de um usuário, o aplicativo de web 52 pode determinar se uma das representações 68 inclui uma subsequência temporal, para executar o modo de faixa solicitado. Como um exemplo, um usuário pode eleger para reproduzir dados de vídeo no modo de avanço rápido. Em vez de recuperar todos os dados de segmentos de uma representação, o aplicativo de web 52 pode determinar a localização de dados da representação que corresponde a uma subsequência temporal da representação. Os dados da subsequência temporal podem corresponder, por exemplo, a um conjunto de imagens de renovação de decodificador instantânea (IDR) da representação.
[0097] Pode haver uma duração temporal aproximada entre imagens de IDR de uma representação, por exemplo, 2 segundos, 10 segundos, ou outras durações temporais aproximadas. Além disso, as imagens de IDR podem ser codificadas no modo de intrapredição e, portanto, o aplicativo de web 52 não precisa de recuperar dados que não sejam as imagens de IDR. O aplicativo de Web 52 pode fazer com que as imagens de IDR sejam exibidas na mesma taxa de quadro em que os dados de vídeo de representação seriam exibidos. No entanto, porque muitos quadros de dados entre imagens de IDR podem ser ignorados, os dados de vídeo resultantes podem ser reproduzidos com uma taxa de quadro aumentada, assim conseguindo o modo de faixa desejado.
[0098] O aplicativo de Web 52 pode determiner localizações dos dados para a subsequência temporal, utilizando várias técnicas. Em alguns exemplos, o aplicativo de web 52 pode analisar dados de arquivo de manifesto 66 para determinar a localização das imagens de IDR. As localizações das imagens de IDR podem ser indicadas através de intervalos de bytes no interior de segmentos de uma representação particular. Em outros exemplos, uma caixa particular de segmentos de representação, tal como uma caixa de índice de subfragmento (também referida como uma caixa de índice subsegmento), pode prover indicações das localizações dos dados para a subsequência temporal. Por exemplo, a caixa de índice de subfragmento pode incluir dados representativos de intervalos de bytes de imagens dentro de um segmento de IDR correspondente. Em ainda outros exemplos, tanto o arquivo de manifesto 66 quanto as representações 68 podem incluir informações usadas por aplicativos de web 52 para recuperar os dados de uma subsequência temporal. Em qualquer caso, o aplicativo de web 52 pode determinar os intervalos de bytes das imagens de IDR nos segmentos para construir solicitações de GET parcial para as imagens de IDR, a fim de evitar a recuperação de dados, que não seriam utilizados para decodificação e exibição.
[0099] Em alguns exemplos, uma unidade de encapsulamento 30 pode formar segmentos tal que as imagens IDR são contíguas dentro dos segmentos. Ou seja, a unidade de encapsulamento 30 pode garantir que os bytes de segmentos que correspondem a imagens de IDR sejam contíguos, sem bytes intervenientes em outros tipos de imagens. Desta forma, o aplicativo de web 52 só precisa de especificar um intervalo de byte único de segmentos de uma representação para recuperar dados de uma subsequência temporal da representação. Em alguns exemplos, imagens abertas de renovação de decodificador (ODR) podem também ser utilizadas para a realização de modos de faixa.
[0100] Em alguns exemplos, o aplicativo de web 52 pode determinar que uma parte de um segmento recebido indica que um arquivo de manifesto deve ser atualizado. Aplicativo de web 52 pode ser configurado para analisar uma determinada parte de cada um dos segmentos, tal como uma parte de cabeçalho ou outra parte inicial do segmento, para determinar se o segmento indica que o arquivo de manifesto deve ser atualizado. Quando um segmento indica que o arquivo de manifesto deve ser atualizado, o aplicativo de web 52 pode atualizar uma cópia armazenada localmente do arquivo de manifesto, quer utilizando dados do segmento ou recuperando dados para atualizar o arquivo de manifesto de um local remoto, por exemplo, de servidor 60. Depois de atualizar o arquivo de manifesto, o aplicativo de web 52 pode apresentar solicitações futuras para os dados de representações 68 com base em dados do arquivo de manifesto atualizado.
[0101] Como um exemplo, o dispositivo de preparação de conteúdo 20 pode codificar dados de mídia ao vivo, como um evento ao vivo, evento esportivo, político ou outro evento interessante, que é normalmente transmitido ao vivo ou quase ao vivo, em vez de pré-gravado. Em tais casos, aos segmentos correspondentes aos dados de memória de até um determinado momento podem ser atribuídos identificadores, tais como URLs, incluídos em um arquivo de manifesto inicial. No entanto, após um período de tempo ter decorrido, segmentos seguintes ao momento em particular podem ser codificados e atribuídos identificadores tais como URLs. Unidade de encapsulamento 30 de dispositivo de preparação de conteúdo 20 pode prover os URLs para os segmentos após o tempo determinado para um arquivo de manifesto atualizado. Por conseguinte, para determinar a forma de obter os segmentos de sequência de tempo determinado, o dispositivo de cliente 40 pode receber informação indicativa do arquivo de manifesto atualizado, de modo a construir solicitações para recuperar os segmentos seguintes ao tempo particular.
[0102] Em alguns exemplos, um segmento pode indicar se é o último segmento de uma representação. Quando um segmento é o último segmento de uma representação, um arquivo de manifesto novo pode precisar de ser recuperado para determinar representações de um período posterior de conteúdo multimídia correspondente. Assim, quando aplicativo de web 52 determina que um segmento é o ultimo segmento de uma representação em um período do conteúdo multimídia, o aplicativo web 52 pode recuperar um arquivo de manifesto atualizado para o conteúdo multimídia, por exemplo, uma versão atualizada do arquivo de manifesto 66 de conteúdo multimídia 64. Em alguns exemplos, o dispositivo de cliente 40 pode manter uma estrutura de dados indicativos de determinadas representações 68 a partir das quais o dispositivo de cliente 40 solicitou dados para o conteúdo multimídia 64. Dispositivo de cliente 40 pode também manter indicações de exatamente o que foi reproduzido, e em que momento. Isto é, a estrutura de dados pode prover a informação representativa dos tempos de início e fim em ambos tempos real (ou "relógio de parede") e tempo de apresentação. A estrutura de dados pode ainda prover a informação representativa de um tempo de inicialização inicial e o início da reprodução. Depois de terminar a reprodução de conteúdo multimídia 64, dispositivo de cliente 40 pode enviar a estrutura de dados para o dispositivo de servidor 60 e/ou o dispositivo de preparação de conteúdo 20. Dispositivo de servidor 60 e/ou dispositivo de preparação de conteúdo 20 podem usar informação recebida do dispositivo de cliente 40 para determinar formas mais adequadas de melhorar a qualidade da experiência, assim como reduzir a pausa na reprodução.
[0103] A interface de rede 54 pode receber e prover dados de segmentos de uma representação selecionada para aplicativo de web 52, o qual por sua vez pode prover os segmentos a unidade de desencapsulamento 50. Unidade de desencapsulamento 50 pode desencapsular elementos de um arquivo de vídeo em fluxos PES constituintes, desempacotar os fluxos PES para recuperar os dados codificados, e enviar os dados codificados para um ou outro decodificador de áudio 46 ou decodificador de vídeo 48, dependendo de se os dados codificados são parte de um fluxo de áudio ou vídeo, por exemplo, como indicado por cabeçalhos de pacotes PES do fluxo. Decodificador de áudio 46 decodifica dados de áudio codificados e envia os dados de áudio decodificados para saída de áudio 42, enquanto decodificador de vídeo 48 decodifica os dados de vídeo codificado e envia os dados de vídeo decodificados, que podem incluir uma pluralidade de pontos de vista de um fluxo, para saída de vídeo 44.
[0104] Codificador de vídeo 28, decodificador de vídeo 48, o codificador de áudio 26, decodificador de áudio 46, uma unidade de encapsulamento 30, aplicativo de web 52, e cada unidade de desencapsulamento 50 pode ser implementado como qualquer um de uma variedade de circuitos de processamento apropriado, conforme o caso, tal como um ou mais microprocessadores, processadores de sinal digital (DSPs), Circuitos Integrados de Aplicação Específica (ASICs), dispositivos lógicos programáveis (FPGA),circuitos lógicos discretos, software, hardware, firmware, ou qualquer combinação dos mesmos. Cada um de decodificador de vídeo 28 e codificador de vídeo 48 pode ser incluído em um ou mais codificadores ou decodificadores, qualquer um dos quais pode ser integrado como parte de um codificador / decodificador de vídeo combinado (CODEC). Do mesmo modo, cada um de codificador de áudio 26 e decodificador de áudio 46 pode ser incluído em um ou mais codificadores ou decodificadores, qualquer um dos quais pode ser integrado como parte de um CODEC combinado. Um aparelho, incluindo um codificador de vídeo 28, decodificador de vídeo 48, codificador de áudio 26, decodificador de áudio 46, uma unidade de encapsulamento 30, aplicativo de web 52, e/ou unidade de desencapsulamento 50 pode compreender um circuito integrado, um microprocessador, e/ou a dispositivo de comunicação sem fio, tal como um telefone celular.
[0105] A figura 2 é um diagrama individual que ilustra os elementos de um exemplo de conteúdo multimídia 100. Conteúdo multimídia 100 pode corresponder o conteúdo multimídia 64 (figura 1), ou outro conteúdo multimídia armazenado na memória 62. No exemplo da figura 2, conteúdo multimídia 100 inclui descrição de apresentação de mídia (MPD) 102 e uma pluralidade de representações 110-120. Representação 110 inclui os dados de cabeçalho opcionais 112 e segmentos 114A-114N (segmentos 114), enquanto que a representação 120 inclui os dados de cabeçalho opcionais 122 e segmentos 124A-124N (segmento 124). A letra N é utilizada para designar o fragmento de filme passado em cada uma das representações 110, 120 por uma questão de conveniência. Em alguns exemplos, pode haver um número diferente de fragmentos de filme entre as representações 110, 120.
[0106] MPD 102 pode compreender uma estrutura de dados separada a partir de representações 110-120. MPD 102 pode corresponder o arquivo de manifesto 66 da figura 1. Da mesma forma, as representações 110-120 podem corresponder às representações 68 da figura 1. Em geral, MPD 102 pode incluir dados que geralmente descrevem características de representações 110-120, como características de codificação e renderização, grupos de representação, um perfil ao qual MPD 102 corresponde, informações sobre o tipo de texto, informações de ângulo da câmera, informações de classificação, informações do modo de faixa (por exemplo, informações indicativas de representações que incluem subsequências temporais), e/ou informações para recuperar períodos remotos (por exemplo, para a inserção anúncio alvejado em conteúdo de mídia durante a reprodução). Períodos remoto podem também ser referidos como períodos externos. As FIGS. 4-7, discutidas em maior detalhe abaixo, ilustram vários exemplos de conteúdo multimídia com vários elementos incluídos em qualquer um ou ambos de um MPD e/ou representações (tais como no interior de segmentos de representação ou de dados de cabeçalho de representações). Qualquer um ou todos os MPDs das Figs. 4-07 podem correspondem substancialmente ao MPD 102 da figura 2.
[0107] Os dados de cabeçalho 112, quando presentes, podem descrever características de segmentos 114, por exemplo, locais temporais de pontos de acesso aleatório, cujos segmentos 114 incluem pontos de acesso aleatório, deslocamentos de byte para os pontos de acesso aleatório dentro de segmentos 114, localizadores de URLs (Recursos Uniformes) dos segmentos 114, ou outros aspectos dos segmentos 114. Dados do cabeçalho 122, quando presentes, podem descrever características semelhantes para os segmentos 124. Adicional ou alternativamente, essas características podem ser totalmente incluídas dentro do MPD 102.
[0108] Os segmentos 114 incluem uma ou mais amostras de vídeo codificado, cada uma das quais podem incluir quadros ou fatias de dados de vídeo. Cada uma das amostras de vídeo codificado de segmentos 114 podem ter características semelhantes, como por exemplo, altura, largura, e os requisitos de largura de banda. Tais características podem ser descrita por dados de MPD 102, apesar de tais dados não serem ilustrados no exemplo da figura 2. MPD 102 pode incluir características como descritas pela especificação 3GPP, com a adição de qualquer uma ou todas as informações sinalizadas descritas nesta divulgação.
[0109] Cada um dos segmentos 114, 124 pode ser associado com um único identificador de recurso uniforme (URI), por exemplo, um localizador de recursos uniforme (URL). Assim, cada um dos segmentos 114, 124 pode ser independentemente recuperado usando um protocolo de rede de streaming, tal como DASH. Desta maneira, um dispositivo de destino, tal como o dispositivo de cliente 40, pode utilizar uma solicitação HTTP GET para recuperar segmentos 114 ou 124. Em alguns exemplos, o dispositivo de cliente 40 pode usar solicitações HTTP de GET parcial para recuperar intervalos de bytes específicos de segmentos 114 ou 124.
[0110] Como mencionado acima, MPD 102 pode estar de acordo com um determinado perfil MPD. MPD 102 pode incluir informações indicativas de um tipo de Extensão de E-mail de Internet Multifinalidade (MIME) para MPD 102 e/ou conteúdo multimídia 100. Tipos MIME geralmente não indicam qual codec é necessário para apresentar o conteúdo multimídia, no entanto. Em geral, considera-se que, se um dispositivo pode recuperar um MPD para conteúdo multimídia, tal como MPD 102, que o dispositivo pode reproduzir dados do conteúdo multimídia correspondentes ao MPD. No entanto, esta hipótese não pode ser sempre segura. Portanto, em alguns exemplos, MPD 102 pode incluir informação indicativa de um perfil ao qual MPD 102 corresponde.
[0111] Pode haver um número relativamente pequeno de perfis aos quais MPDs podem corresponder. Os perfis podem ser suportados por níveis para resolver as capacidades, semelhantes à maneira pela qual H.264/AVC inclui perfis e níveis para a codificação de vídeo. Perfis MPD podem ser cebola sem casca, em que um maior perfil pode incluir todas as características de todos os perfis menores. Pode haver um processo de registro com uma autoridade de registro para registrar vários perfis. Em alguns exemplos, um dispositivo de cliente, tal como dispositivo de cliente 40, pode ser configurado para recuperar informação indicativa do perfil para o MPD, tal como DMP 102, antes de recuperar outros dados do MPD, tais como características de representações 110-120 sinalizadas pelo MPD 102. Desta forma, o perfil para o MPD 102 pode ser sinalizado antes do acesso ao MPD 102 ser fornecido.
[0112] Um identificador de perfil pode ser provido em texto simples (por exemplo, como um nome comum), ou um nome de domínio invertido. Nomes simples podem ser reservados por uma autoridade de registro, tais como 3GPP ou outra autoridade de registro. Um perfil pode ser considerado uma reivindicação e uma permissão, em que o perfil pode afirmar que um conteúdo multimídia correspondente está de acordo com o perfil e dá permissão a um leitor (por exemplo, um dispositivo de cliente) que implementa esse perfil para ler o MPD, interpretar o que reconhece, e ignorar o material que ele não entende.
[0113] Os perfis podem descrever as características, tais como, por exemplo, características de MPD 102, uso da rede, formato (s) de mídia, codec (s) utilizado, formatos de proteção, e/ou medidas quantitativas, tais como taxas de bits, tamanhos de tela, e semelhantes. Deste modo, o perfil de MPD 102 pode prover informação indicativa de quais codecs precisam de ser apoiados de modo a recuperar os dados de MPD 102 e/ou o conteúdo multimídia 100. Perfis também pode ser descritos como "pontos de conformidade." Perfis aos quais um MPD cumpre podem ser indicados em um atributo "Perfis" do MPD. Assim, um dispositivo de cliente pode ser configurado para recuperar uma parte de MPD 102 incluindo a informação relativa ao atributo "Perfis" antes de recuperar os dados adicionais de MPD 102. Como alternativa, os perfis podem ser indicados como um parâmetro no tipo MIME do MPD. Por exemplo, os perfis "X, Y e Z" podem ser assinalados da seguinte forma: vídeo / vnd.mpeg.mpd; perfis = "X, Y, Z".
[0114] Em alguns exemplos, MPD 102 pode utilizar os dados de períodos externos (também designados por períodos remotos). Um período geralmente corresponde a uma seção especial temporal de conteúdo multimídia. Cada período pode incluir uma ou mais representações, tais como representações 110-120. Um período externo, no entanto, pode ser inserido dentro ou entre os períodos de conteúdo multimídia 100. O período externo pode incluir dados de multimídia, além de dados de multimídia do conteúdo multimídia. Por exemplo, períodos externos podem incluir dados de anúncio.
[0115] Os períodos podem ser definidos pela sua duração, isto é, o momento do início do período pode depender da duração do período precedente. Um dispositivo de cliente pode mapear períodos externos para uma estrutura de MPD. Para serviços ao vivo, a concatenação de MPDs pode ser conseguida por uma criação dinâmica do MPD no servidor, tal como um dispositivo de servidor 60, com processos de atualização apropriados. Outras tecnologias de web podem também ser usadas. URLs para períodos definidos externamente podem ser processados em tempo real, para gerar um novo período contendo anúncios direcionados a um usuário do dispositivo de cliente 40. Dispositivo de cliente 40 pode fornecer informações adicionais com a solicitação que pode ser utilizada para segmentação de anúncio, por exemplo, um identificador de usuário, preferências de usuário, informações demográficas de usuário, ou outras informações.
[0116] A Tabela 1 abaixo mostra um exemplo de conjunto de informações que podem ser fornecidas em MPD 102 para descrever um ou mais períodos de conteúdo multimídia, e para indicar a presença de períodos externos: TABELA 1 - Informação de Período MPD
Figure img0001
Figure img0002
[0117] Desta maneira, o elemento de Período 102 de MPD pode se referir a períodos externos (ou remotos), por exemplo, utilizando periodListURI. Por conteúdo On-Demand, indicações de duração do período podem ser mais úteis para dispositivos de cliente, como dispositivo de cliente 40, do que tempos de início para suportar períodos externos. Um MPD pode incluir uma sequência de períodos, em que os períodos podem ser internos ou externos. Usar esses períodos remotos, juntamente com informações específicas do usuário, pode permitir o anúncio de usuário alvo. Dispositivo de servidor 60 e/ou o dispositivo de preparação de conteúdo 20 pode ser configurado para gerar dinamicamente MPDs separados para cada usuário ou para cada dispositivo de cliente. Dispositivo de cliente 40, ou outro dispositivo, pode concatenar a reprodução de uma anúncio dirigido e um serviço ao vivo, por exemplo, usando o MPD criado dinamicamente.
[0118] Desta forma, as técnicas desta divulgação podem suportar situações em que um provedor de serviços oferece conteúdo sob demanda através AHS 3GPP. O conteúdo pode incluir várias cenas, e entre cada cena, um anúncio pode ser adicionado. O anúncio pode ser diferente para cada usuário. Isto é, anúncio direcionado pode ser adicionado. Além disso, cada anúncio pode ter uma duração diferente. Da mesma forma, um provedor de serviços pode oferecer um serviço específico ao vivo (por exemplo, um serviço gratuito). Ao acessar o serviço ao vivo, o provedor de serviços pode adicionar um anúncio que pode ou não pode ser direcionado para um usuário. A duração do anúncio pode ser diferente, dependendo do tempo de acesso, o local de acesso, o usuário, e outros semelhantes. Dispositivo de servidor 60 pode ser configurado para prover apenas o URL do serviço ao vivo após o anúncio ter sido concluído, para garantir que o anúncio seja visto.
[0119] A figura 3 é um diagrama de blocos que ilustra os elementos de um arquivo de vídeo exemplar 150, que pode corresponder a um segmento de uma representação, tal como um dos segmentos 114, 124 da figura 2. Cada um dos segmentos 114, 124 pode incluir dados que se conformam substancialmente com a disposição dos dados ilustrados no exemplo da figura 3. Do mesmo modo, os segmentos das Figs. 4-7 discutidas abaixo também podem se conformar substancialmente com a estrutura do arquivo de vídeo 150. Como descrito acima, os arquivos de vídeo em conformidade com o formato de arquivo de mídia de base ISO e extensões respectivas armazenam dados de uma série de objetos, referidos como "caixas". No exemplo da figura 3, o arquivo de vídeo 150 inclui caixa de tipo de arquivo (ftyp) 152, caixa de filme (MOOV) 154, caixas de fragmento de filme (MOOF) 162, e caixa de acesso aleatório de fragmento de filme (MFRA) 164.
[0120] Caixa de tipo de arquivo (ftyp) 152 geralmente descreve um tipo de arquivo para o arquivo de vídeo 150. A caixa de tipo de arquivo 152 pode incluir dados que identificam uma especificação que descreve um melhor uso para arquivo de vídeo 150. A caixa de tipo de arquivos 152 pode ser colocada antes da caixa de MOOV 154, caixa de fragmento de filme 162 e caixa MFRA 164.
[0121] Em alguns exemplos, um segmento, tal como o arquivo de vídeo 150, pode incluir uma caixa de atualização de MPD (não mostrada) antes da caixa ftyp 152. A caixa de atualização de MPD pode incluir informações indicando que um MPD correspondente para uma representação incluindo arquivo de vídeo 150 deve ser atualizado, juntamente com informações para a atualização do MPD. Por exemplo, a caixa de atualização de MPD pode prover um URI ou URL para um recurso a ser usado para atualizar o MPD. Como outro exemplo, a caixa de atualização de MPD pode incluir dados para a atualização do MPD. Em alguns exemplos, a caixa de atualização de MPD pode seguir imediatamente uma caixa de tipo de segmento (STYP) (não mostrada) do arquivo de vídeo 150, em que a caixa de STYP pode definir um tipo de segmento para o arquivo de vídeo 150. FIG 7, discutida em maior detalhe abaixo, provê informação adicional em relação à caixa de atualização de MPD.
[0122] A caixa MOOV 154, no exemplo da figura 3, inclui uma caixa de cabeçalho de filme (MVHD) 156, caixa de faixa (TRAK) 158, e uma ou mais caixas de extensão de filme (MVEX) 160. Em geral, caixa MVHD 156 pode descrever as características gerais de arquivo de vídeo 150. Por exemplo, a caixa de MVHD 156 pode incluir dados que descrevem quando o arquivo de vídeo 150 foi originalmente criado, quando o arquivo de vídeo 150 foi modificado pela última vez, um calendário para arquivo de vídeo 150, uma duração de reprodução para arquivos de vídeo 150, ou outros dados que geralmente descrevem arquivo de vídeo 150.
[0123] A caixa TRAK 158 pode incluir dados de uma faixa de arquivo de vídeo 150. A caixa TRAK 158 pode incluir uma caixa de cabeçalho de faixa (TKHD) que descreve características da faixa correspondente à caixa TRAK 158. Em alguns exemplos, caixa TRAK 158 pode incluir imagens de vídeo codificado, enquanto que em outros exemplos, as imagens de vídeo codificado da faixa podem ser incluídas nos fragmentos de filme 162, os quais podem ser referenciados por dados da caixa TRAK 158.
[0124] Em alguns exemplos, arquivo de vídeo 150 pode incluir mais de uma faixa. Por conseguinte, caixa MOOV 154 pode incluir um certo número de caixas TRAK igual ao número de faixas no arquivo de vídeo 150. Caixa TRAK 158 pode descrever as características de uma faixa correspondente de arquivo de vídeo 150. Por exemplo, caixa TRAK 158 pode descrever a informação temporal e/ou espacial para a faixa correspondente. Uma caixa TRAK semelhante à caixa TRAK 158 de caixa MOOV 154 pode descrever as características de uma faixa de conjunto de parâmetro, quando a unidade de encapsulamento 30 (figura 1) inclui uma faixa de conjunto de parâmetro em um arquivo de vídeo, tal como arquivo de vídeo 150. Unidade de encapsulamento 30 pode sinalizar a presença de sequências de mensagens de nível SEI na faixa doe conjunto de parâmetro dentro da caixa TRAK descrevendo a faixa do conjunto de parâmetros.
[0125] Caixas MVEX 160 podem descrever as características dos fragmentos de filme correspondentes 162, por exemplo, para indicar que o arquivo de vídeo 150 inclui fragmentos de filme 162, em adição aos dados de vídeo incluídos dentro da caixa MOOV 154, se for o caso. No contexto dos dados de transmissão de vídeo, as imagens de vídeo codificado podem ser incluídas nos fragmentos de filme 162, em vez de na caixa de MOOV 154. Por conseguinte, todas as amostras de vídeo codificado podem ser incluídas nos fragmentos de filme 162, em vez de na caixa MOOV 154.
[0126] A caixa MOOV 154 pode incluir um certo número de caixas MVEX 160 igual ao número de fragmentos de filme 162 no arquivo de vídeo 150. Cada uma das caixas MVEX 160 pode descrever as características de um dos fragmentos de filme correspondente 162. Por exemplo, cada caixa MVEX pode incluir uma caixa de caixa de cabeçalho de extensão de filme (MEHD) que descreve uma duração temporal para o correspondente dos fragmentos de filme 162.
[0127] Como mencionado acima, a unidade de encapsulamento 30 pode armazenar um conjunto de dados de sequências definidas, em uma amostra de vídeo que não inclui dados reais de vídeo codificado. Uma amostra de vídeo pode geralmente corresponder a uma unidade de acesso, que é uma representação de uma imagem codificada em um exemplo específico de tempo. No contexto de AVC, a imagem codificada inclui uma ou mais unidades NAL VCL que contém a informação para a construção de todos os pixels da unidade de acesso e outras unidades NAL não-VCL associadas, tais como mensagens SEI. Consequentemente, a unidade de encapsulamento 30 pode incluir uma sequência de conjunto de dados, que pode incluir sequências de mensagens de nível SEI, em um dos fragmentos de filme 162. A unidade de encapsulamento 30 pode adicionalmente sinalizar a presença de um conjunto de dados de sequência e/ou mensagens de sequência de nível SEI como estando presente em um dos fragmentos de filme 162 no interior da uma das caixas MVEX 160 correspondente a um dos fragmentos de filme 162.
[0128] Fragmentos de filme 162 podem incluir uma ou mais imagens de vídeo codificado. Em alguns exemplos, os fragmentos de filme 162 podem incluir um ou mais grupos de imagens (GOP), cada uma das quais pode incluir uma série de imagens de vídeo codificado, por exemplo, quadros ou fotografias. Além disso, como descrito acima, os fragmentos de filme 162 podem incluir conjuntos de dados de sequências, em alguns exemplos. Cada um dos fragmentos de filme 162 pode incluir uma caixa de cabeçalho de fragmento de filme (MFHD, não mostrada na figura 3). A caixa MFHD pode descrever as características do fragmento de filme correspondente, tal como um número de sequência para o fragmento de filme. Fragmentos de filme 162 podem ser incluídos na ordem de número de sequência no arquivo de vídeo 150.
[0129] A caixa MFRA 164 pode descrever pontos de acesso aleatórios dentro de fragmentos de filme 162 de arquivo de vídeo 150. Isso pode ajudar com a realização de modos de faixas, como realizar buscas a determinadas localizações temporais dentro de arquivo de vídeo 150. A caixa MFRA 164 geralmente é opcional e não precisa ser incluída em arquivos de vídeo, em alguns exemplos. Da mesma forma, um dispositivo de cliente, tal como dispositivo de cliente 40, não precisa necessariamente fazer referência a caixa MFRA 164 para decodificar corretamente e exibir dados de vídeo de arquivo de vídeo 150. Caixa c164 pode incluir um número de caixas de acesso aleatório de fragmento de faixas (TFRA) (não mostrada) igual ao número de faixas de arquivo de vídeo 150, ou, em alguns exemplos, igual ao número de faixas de mídia (por exemplo, faixas sem dica) de arquivo de vídeo 150.
[0130] Em alguns exemplos, os fragmentos de filme 162 podem incluir uma ou mais imagens IDR e/ou ODR. Da mesma forma, caixa MFRA 164 pode prover indicações de locais dentro de arquivo de vídeo 150 das imagens IDR e ODR. Por conseguinte, uma subsequência temporal de arquivo de vídeo 150 pode ser formada a partir de imagens IDR e ODR de arquivo de vídeo 150. A sequência temporal parcial também pode incluir outras imagens, tais como P-quadros e/ou B-quadros que dependem de imagens de IDR e/ou ODR. Quadros e/ou fatias de sequência temporal parcial podem ser organizados dentro dos segmentos de tal forma que quadros / fatias do subsequência temporal que dependem de outros quadros / fatias da subsequência podem ser devidamente decodificados. Por exemplo, na disposição hierárquica de dados, os dados utilizados para a predição para os outros dados podem também ser incluídos na subsequência de temporal. Além disso, os dados podem ser organizados em uma subsequência contínua, de tal modo que um intervalo de byte único pode ser especificado em uma solicitação de GET parcial para recuperar todos os dados de um segmento particular utilizado para a subsequência temporal. Um dispositivo de cliente, tal como dispositivo de cliente 40, pode extrair uma subsequência temporal de arquivo de vídeo 150, determinando faixas de byte de fragmentos de filme 162 (ou partes de fragmentos de filme 162) correspondendo a imagens IDR e/ou ODR. Como discutido em maior detalhe abaixo, os arquivos de vídeo, tal como arquivo de vídeo 150 pode incluir uma caixa de índice de subfragmento e/ou uma caixa de fragmento de subfaixa, uma ou ambas das quais podem incluir dados para extrair uma subsequência temporal de arquivo de vídeo 150.
[0131] A figura 4 é um diagrama individual que ilustra um exemplo de conteúdo multimídia 200 incluindo MPD 202 e grupos de representação 210-220. Conteúdo multimídia 200 pode corresponder a conteúdo multimídia 64 (figura 1), ou a outro conteúdo multimídia armazenado na memória 62. Neste exemplo, representações de conteúdo multimídia 200 são organizadas por grupo de representação. Isto é, as representações com um conjunto comum de características podem ser formadas em um grupo de representação, o que proporciona uma adaptação simplificada de largura de banda de rede.
[0132] Neste exemplo, MPD 202 inclui características de comum representação 204A que incluem informações que descrevem características comuns de grupo de representações 210 e características de representação comuns 204B descrevendo características comuns de grupo de representação 220. As características comuns podem incluir características de codificação e/ou processamento das representações, como um codec, perfil e nível do codec para o qual as representações na representação se conformam, resolução de pixel, taxa de quadros, ou outras características de representações.
[0133] De acordo com as técnicas desta divulgação, as características podem incluir um valor do tipo de texto, um valor de ângulo de câmara, e/ou um valor de classificação, além das características acima referidas. O valor do tipo de texto pode descrever as características do texto a ser exibido com os dados de vídeo (por exemplo, texto de legenda fechada). O valor do tipo de texto pode descrever, por exemplo, uma linguagem do texto, uma localização na tela na qual para exibir o texto, fonte e/ou o tamanho do texto, ou outras características do texto.
[0134] O valor do ângulo da câmera pode descrever uma posição da câmera horizontal de mundo real para uma câmera usada (fisicamente ou conceitualmente) para gerar dados de vídeo codificado de representações correspondentes. Usar os ângulos da câmara, um dispositivo de cliente pode selecionar dados a partir de duas ou mais representações a serem exibidas de modo substancialmente simultâneo, por exemplo, para produzir um efeito tridimensional de reprodução de vídeo. Os locais de câmera horizontal de mundo real podem ativar o dispositivo de cliente para selecionar representações para aumentar ou diminuir a quantidade relativa de profundidade na reprodução tridimensional dos dados de vídeo.
[0135] A classificação pode descrever adequação de conteúdo para públicos específicos. Por exemplo, nos Estados Unidos, a Associação de Imagem em Movimento da America define classificações incluindo G, PG, PG-13, R, e NC-17. Como outro exemplo, no Reino Unido, o Conselho Britânico de Classificação de Filmes define classificações incluindo U, PG, 12A, 12, 15, 18, e R18. Como outro exemplo, na República da China (Taiwan), as categorias de filmes incluem uma categoria de público geral, uma categoria protegida, uma categoria de orientação dos pais e, em uma categoria restrita.
[0136] Fornecer as características comuns 204 de grupos de representação respectivos, por exemplo, grupos de representação 210-220, um dispositivo de cliente (por exemplo, o dispositivo de cliente 40) pode escolher o grupos de representação 210-220 mais apropriado, com base, pelo menos em parte, nas características de representação comuns correspondentes 204. No exemplo da figura 4, MPD 202 também inclui características individuais de representação 206A, 206B, 208A, 208B e, correspondendo respectivamente a representações 212A, 212B, 222A, 222B. Características individuais de representação 206A, 206B, 208A, e 208B podem incluir a informação representativa das características de representações 212A, 212B, 222A, 222B não indicadas pelas características comuns de representação 204. Por exemplo, as características individuais de representação 206A, 206B, 208A, 208B e podem incluir informações representativas de taxa de bits para a respectiva das representações 212A, 212B, 222A, 222B.
[0137] Representações de um grupo de representação podem ser consideradas mutuamente exclusivas, em que elas podem representar o mesmo conteúdo (o mesmo vídeo, mesmo áudio de linguagem, etc.) com codificação diferente ou outros parâmetros. MPD 202 pode prover informações para seleção de um dos grupos de representação 210-220, por exemplo, as características comuns de representação 204. Esta informação pode incluir informações indicativas de saber se um cliente pode decodificar e renderizar uma determinada representação. Deste modo, o dispositivo de cliente pode remover a partir das representações de consideração que o dispositivo de cliente é incapaz de decodificar e/ou de processar. Assim, o dispositivo de cliente 40 pode selecionar um grupo de representação adequado, que pode ser decodificado e processado, em seguida, selecionar uma grupo de representação com base, por exemplo, na disponibilidade da largura de banda de rede.
[0138] O dispositivo de cliente 40 pode também ser configurado com as preferências do usuário para, por exemplo, linguagem de classificação, e/ou profundidade. Deste modo, o dispositivo de cliente 40 pode também escolher um ou mais grupos de tal representação que os grupos selecionados se conformam com as preferências do usuário. Dispositivo de cliente 40 pode então selecionar um subconjunto de grupos de representação disponíveis que podem ser reproduzidos simultaneamente. Quando o dispositivo de cliente 40 só é capaz de exibir uma visualização, dispositivo de cliente 40 pode optar por recuperar dados apenas a partir de uma representação. Por outro lado, quando o dispositivo de cliente 40 é visualização estéreo ou capaz de multivisualização, o dispositivo de cliente 40 pode recuperar dados de duas ou mais representações.
[0139] Depois de selecionar um ou mais grupos de representação, dispositivo de cliente 40 pode selecionar representações dos grupos de representação com base, por exemplo, na largura de banda de rede disponível. Conforme as mudanças de largura de banda de rede disponíveis (por exemplo, aumenta ou diminui), dispositivo de cliente 40 pode ajustar seleções de representações dos grupos de representação para se adaptar às condições de mudança de largura de banda de rede. Claro, o dispositivo de cliente 40 também pode alterar as seleções de representação, se as preferências do usuário ou capacidades do dispositivo de (por exemplo, capacidades de decodificação e renderização) mudarem.
[0140] Características de representação comum podem corresponder a elementos XML RepresentationGroup 204 de MPD 202, em alguns exemplos. Características de representação individuais podem corresponder a subelementos de elementos RepresentationGroup correspondentes de MPD 202, em alguns exemplos.
[0141] Ao agrupar características comuns de representações juntas, várias otimizações podem ser alcançadas. Por exemplo, muitas representações podem ter os mesmos valores para diversos parâmetros. Assim, as características de sinalização individuais no MPD podem resultar na duplicação substancial no MPD para assinalar características individualmente. Muitos dispositivos de cliente são configurados para descartar a maior parte do MPD que é recebido. Por conseguinte, haveria otimização na parte do MPD que o dispositivo de cliente recebe. Além disso, se um Grupo de Representação for rejeitado, o dispositivo de cliente pode não ter necessidade de acessar informações atualmente presentes no MPD (URLs, etc.) para a representação descartada ou grupo de representação. O dispositivo de cliente também pode evitar atualizações desnecessárias de URLs, que tendem a ser atualizados com frequência durante, por exemplo, streaming de rede em tempo real de dados de vídeo para eventos ao vivo. Mesmo se redundâncias no MPD forem eliminadas, dispositivo de cliente 40 ainda precisa analisar o MPD completamente após a recepção e reconstrução, que pode perder uma quantidade significativa de tempo de computação.
[0142] A figura 5 é um diagrama individual que ilustra um outro exemplo de conteúdo multimídia 250, no qual dados de MPD são separados em várias partes de vários grupos de representação. Conteúdo multimídia 250 pode corresponder ao conteúdo multimídia 64 (figura 1), ou outro conteúdo multimídia armazenado na memória 62. Em particular, um arquivo de manifesto de conteúdo multimídia 250 inclui parte MPD 252, que geralmente inclui dados relativos aos grupos de representação. Neste exemplo, parte MPD 252 inclui dados de grupo de representação 254A e 254B (dados de grupo de representação 254), o que corresponde a grupos de representação respectivos 270-280, tal como ilustrado pelas setas que apontam a partir de dados de grupo de representação 254 para respectivos grupos de representação 270-280.
[0143] Neste exemplo, dados de grupo de representação 254A incluem características comuns de grupo de representação 256A e localização da parte MPD para o grupo de representação 258A. Isto é, a localização da parte MPD para o grupo de representação 258A indica a localização da parte de MPD para o grupo de representação 260A. A localização da parte MPD para o grupo de representação 258A pode corresponder, por exemplo, a um URI ou URL da parte MPD para o grupo de representação 260A. Da mesma forma, os dados de grupo de representação 254B incluem características comuns de grupo de representação 256B e localização de parte MPD para o grupo de representação 258B, correspondente à parte MPD para o grupo de representação 260B.
[0144] A parte MPD para o grupo de representação 260A inclui informações representativas de características de representações específicas 272A, 272B (representações 272) de grupo de representação 270. Da mesma forma, a parte MPD para o grupo de representação 260B inclui informações representativas de características de representações específicas 282a, 282B (representações 282) de grupo de representação 280.
[0145] Desta forma, um dispositivo de cliente, tal como dispositivo de cliente 40, pode determinar um grupo de representação adequado para recuperar os dados, sem receber dados de sinalização específico de representação para representações que dispositivo de cliente 40 não recuperariam, decodificariam e exibiriam. Assim, o dispositivo de cliente 40 pode evitar a recuperação de dados em excesso que de outra forma só seriam descartados. Em particular, após a seleção de um ou mais grupos de representação, incluindo representações que podem ser decodificadas e transmitidas pelo dispositivo de cliente 40, dispositivo de cliente 40 pode recuperar apenas as partes MPD para os grupos de representação selecionados, sem recuperar partes MPD para grupos de representação que não poderiam ser adequadamente decodificados e/ou renderizados pelo dispositivo de cliente 40.
[0146] Os dados de conteúdo multimídia 250 podem geralmente corresponder substancialmente a respectivos elementos de conteúdo multimídia 200. No entanto, conteúdo multimídia 250 pode simplificar a transferência hierárquica de dados do MPD para conteúdo multimídia 250 por dispositivos clientes. Por exemplo, em vez de recuperar um arquivo de manifesto completo, o que pode incluir a sinalização de dados para todas as representações, um dispositivo de cliente pode simplesmente determinar um ou mais grupos de representação, em seguida, recuperar as partes MPD correspondentes aos grupos de representação, sem recuperar partes MPD correspondentes a outros grupos de representação que não seriam recuperados pelo dispositivo de cliente (por exemplo, porque o dispositivo de cliente não suporta procedimentos de decodificação e/ou processamento para decodificar e exibir as representações). Desta forma, os dados de conteúdo multimídia 250 podem reduzir ineficiências de downloads desnecessários e análise.
[0147] A Tabela 2 abaixo mostra um exemplo de elemento que pode ser adicionado a um MPD, tal como MPD 202 da figura 4 e/ou parte MPD 252 da figura 5, que descreve as características de grupos de representação. Características de representação comuns 204 (figura 4) e/ou características comuns de grupo de representação 256 podem ser formatadas de acordo com a estrutura da Tabela 2.TABELA 2
Figure img0003
Figure img0004
[0148] O XML abaixo fornece exemplos deelementos de grupo de representação de uma estrutura de dados MPD:<RepresentationGroup annotation="ex0"annotation2="ex1"><representationListURI="http://www.example.com/re presentations1.xml/> </RepresentationGroup><RepresentationGroup annotation="ex2"annotation2="ex3"><representationListURI="http://www.example.com/re presentations2.xml/></RepresentationGroup>
[0149] Tabela 3 abaixo provê um exemplo de conjunto de dados que podem ser incluídos para representações. Estes dados podem ser providos para as representações individuais, em alguns exemplos, enquanto que em outros exemplos, a totalidade ou uma parte dos dados pode ser provida para os grupos de representação, de acordo com, por exemplo, a Tabela 2 acima. TABELA 3
Figure img0005
Figure img0006
[0150] Em alguns exemplos, os dados para grupos de representação e dados para representações individuais dentro de tais grupos podem ser apresentados dentro de um MPD, como MPD 202, com uma relação hierárquica. Isto é, as representações individuais podem ser sinalizadas como elementos filho para um elemento de grupo de representação correspondente, por exemplo, MPD 202. Da mesma forma, por parte MPD 252 e partes MPD para grupos de representação 260, as características individuais de representação 262, 264 podem corresponder a elementos filho de características comuns de grupo de representação 256.
[0151] A figura 6 é um diagrama conceitual que ilustra um outro exemplo de conteúdo multimídia 300, que pode ser usado para suportar modos de faixa. Conteúdo multimídia 300 pode corresponder ao conteúdo multimídia 64 (figura 1), ou a outro conteúdo multimídia armazenado na memória 62. Neste exemplo, MPD 302 inclui informação de representação 304, a qual pode incluir a informação de subsequência temporal 306. Informação de representação 304 inclui características de representação 310, neste exemplo. Representação 310 inclui segmentos 312A-312D (312 segmentos). Neste exemplo, cada um dos segmentos 312 inclui uma respectiva caixa de índice de subfragmento 314 e dados de ponto de acesso aleatório (RAP) 316. Em outros exemplos, alguns segmentos podem não incluir nenhum ponto de acesso aleatório, enquanto que alguns segmentos podem incluir múltiplos pontos de acesso aleatório. Pontos de acesso aleatório podem incluir imagens IDR ou ODR.
[0152] O dispositivo de cliente 40 pode extrair uma subsequência temporal da representação 310. Por exemplo, o dispositivo de cliente 40 pode extrair cada um dos PARs 316 para formar uma subsequência temporal de representação 310. Alternativamente, o dispositivo de cliente 40 pode recuperar um subconjunto de RAPs 316, como RAPs 316A e 316C, ou 316A e 316D. Ao recuperar e reproduzir apenas pontos de acesso aleatório 316 (ou subconjuntos do mesmo), dispositivo de cliente 40 pode reproduzir representação 310 em um modo de faixa, por exemplo, avançar ou retroceder. Da mesma forma, o dispositivo de cliente 40 pode pular ou procurar um ponto particular de pontos de acesso aleatório 316 para iniciar a reprodução a partir de uma posição temporal solicitada.
[0153] O conteúdo multimídia pode incluir uma ou ambas informação de subsequência temporal 306 e/ou caixas SFIX 314 para indicar informações para modos de faixas. Informação de subsequência temporal 306 pode incluir um elemento de "Modo de Faixa" de MPD 302, tal como o definido na Tabela 4 abaixo:TABELA 4
Figure img0007
Figure img0008
[0154] No exemplo da Tabela 4, o elemento de Modo Faixa inclui um elemento de subsequência temporal que especifica que uma representação correspondente contém uma subsequência temporal que pode ser acessada por taxas de bytes utilizando informação de caixas de índice de subfragmento 314. RAPs 316 podem corresponder a partes de fragmentos de filme, tais como fragmentos de filme 162 ilustrados na figura 3.
[0155] Caixas de Índice de Subfragmento 314 em geral podem descrever os locais de faixas de bytes de pontos de acesso aleatório 316 de segmentos correspondentes 312. Em geral, as caixas de índice de subfragmento 314 podem aparecer após uma caixa de índice de segmento (SIDX) (não mostrada na figura 6) de segmentos 312 e prover os tamanhos de prefixo de fragmentos de filme para os fragmentos de filme referenciados na caixa de índice de segmento imediatamente anterior.
[0156] A Tabela 5 abaixo apresenta as propriedades de uma caixa SFIX exemplar. TABELA 5 - Propriedades de Caixa de Índice de Subfragmento
Figure img0009
[0157] O pseudocódigo a seguir provê um exemplo de sintaxe para caixas de Índice de SubFragmento 314: aligned(8) class SubFragmentIndexBox extends FullBox ('strf', 0, 0) { unsigned int (32) fragment_count; unsigned int (8) sub_fragment_count; for (i = 0; i <fragment_count; i + +)for (j = 0; j <sub_fragment_count-1, j + +)unsigned int (32) prefix_size;}
[0158] A descrição abaixo provê um exemplo de conjunto de semânticas para a sintaxe descrita acima: fragment_count especifica o número de fragmentos para o qual informação de subfragmento é especificada na caixa. Isto deve ser igual ao número de referências de fragmento na caixa de Índice de Segmento imediatamente anterior.sub_fragment_count especifica o número de subfragmentos por fragmentoprefix_size especifica o tamanho do fragmento de prefixo i ocupado pelo subfragmento j.
[0159] Além disso, ou em alternativa, uma caixa de fragmento de subfaixa pode ser incluída nos segmentos 312. Considerando que a caixa de índice de subfragmento pode prover informações de sintaxe que podem ser recuperadas pelo dispositivo de cliente 40 junto com uma caixa de índice de segmento antes da solicitação de dados de mídia, a caixa de índice de subfragmento pode prover informações para o dispositivo de cliente 40 para a construção de solicitações de faixas de bytes que direcionam a subconjuntos de dados de fragmento, por exemplo, subcamadas temporais.
[0160] A caixa de Fragmento de SubFaixa pode especificar uma reordenação dos dados da amostra do fragmento de faixa, de tal forma que as amostras de cada fragmento de subfaixa precedem todas as amostras que aparecem apenas em fragmentos de subfaixas maiores. Amostras de um fragmento de subfaixa que não aparecem em qualquer fragmento de subfaixa menor podem ser colocadas de forma contígua dentro do arquivo (por exemplo, um correspondente de segmentos 312) na mesma ordem em que aparecem na caixa de Execução de Faixa. Isso pode permitir que as amostras sejam armazenadas, em ordem de camada de escalabilidade temporal dentro do fragmento de faixa. Quando esta caixa está presente pode haver apenas um caixa de Executação de Faixa.
[0161] A Tabela 6 descreve as propriedades da caixa de fragmento de subfaixa: TABELA 6 - Propriedades de Caixa de Fragmento de Subfaixa
Figure img0010
[0162] O pseudocódigo abaixo ilustra um exemplo de sintaxe para a caixa de fragmento de subfaixa:aligned(8) classe SubTrackFragBoxextends FullBox ('strf', 0, 0) {unsigned int (8) sub_track_count;unsigned int (16) sample_count [sub_track_count- 1];for (i = 0; i <sub_track_count; i + +){for (j = 0; j <sample_count [i]; j + +)bit (1) cur_sub_trak_flag; } reserved_trailing_bits; }
[0163] A descrição abaixo provê semânticas exemplares para a sintaxe exemplar da caixa de fragmento de subfaixa descrita acima: sub_track_count indica o número de fragmentos de subfaixa; Quando esta caixa está presente, o sub_track_count pode ser igual ou maior do que 2.sample_count [i] indica o número de amostras em fragmento de subfaixa com um índice de i + 1. Amostras de um fragmento de subfaixa são consideradas membros de todos os fragmentos de subfaixas com menores valores de índice. O número de amostras em fragmento subfaixa 0 é equivalente ao número de zeros da primeira sequência de bits no loop subsequente. O número de amostras em fragmento de subfaixa com um índice de sub_track_count-1, que é sample_count [sub_track_count-1], é igual ao número de amostras em fragmento de faixa. cur_sub_track_flag igual a 1 na iteração i do circuito externo indica que a amostra pertence ao fragmento de subfaixa com um índice de i +1. Este valor igual a 0, na iteração do loop externo indica que a amostra pertence a um fragmento de subfaixa com um índice menor que i + 1. Nota: Isto é, a primeira iteração do loop contém flags sample_count [0] que indicam as posições das amostras em fragmento de subfaixa 1 que não estão também no fragmento de subfaixa 0. A segunda iteração do loop contém flags sample_count [1] que indicam as posições das amostras em fragmento de subfaixa 2 e não também em fragmento de subfaixa 1 etc. sample_count [sub_track_count-1] é considerado igual ao número de amostras no fragmento de faixa.
[0164] Modos de faixa podem ser aplicados a uma variedade de cenários diferentes. Por exemplo, modos de faixas podem ser usados para pausar um serviço temporariamente, retomar o serviço depois de uma pausa, retroceder por um período de tempo, e/ou avançar rapidamente para avançar para uma posição temporal desejada (por exemplo, após a reprodução ser interrompida ou procurar uma posição temporal desejada particular).
[0165] Suportar modos de faixas usando subsequências temporais pode prover uma série de vantagens. Por exemplo, subsequências temporais podem suportar taxas de quadros diferentes de forma relativamente fácil. Do mesmo modo, a representação incluindo uma subsequência temporal pode ser utilizada para reprodução normal, como a representação não é limitada à subsequência temporal. Além disso, a codificação com subsequências temporais pode ser altamente eficiente. Subsequências temporais também não precisam de requerer quaisquer novos perfis de codificação ou níveis, pode voltar a usar as representações regulares, evitar a complexidade adicional de cliente, permitir fornecimento de conteúdo simples, prover largura de banda, cache, e eficiência de armazenamento, fornecer flexibilidade para a implementação do cliente para otimizar a experiência do usuário, ser comum entre as operações de modo de faixa diferentes, e pode ser aplicável a uma ampla gama de implementações de clientes, e pode prover uma experiência de usuário relativamente boa em termos de retardo de inicialização depois de buscar, bem como taxas de quadros boas, reatividade, e outros tais métricas.
[0166] A figura 7 é um diagrama conceitual ilustrando outro conteúdo de multimídia exemplar 350 em que segmentos 362A-362D podem incluir caixas de atualização de MPD 364 para indicar que MPD 352 deve ser atualizado. Conteúdo multimídia 350 pode corresponder ao conteúdo multimídia 64 (figura 1), ou a outro conteúdo multimídia armazenado na memória 62. Em geral, MPD 352 inclui informação de representação 354 para representação 360, tal como as características de representação 360 e URIs ou URLs de segmentos 362 de representação 360. Em alguns casos, a representação 360 pode ser formada a partir de conteúdo ao vivo, por exemplo, um evento desportivo, e, portanto, os URIs de segmentos 362 não podem ser antecipadamente determinados. Assim, tal como os segmentos da representação 360 são formados, um ou mais dos segmentos podem incluir caixas de atualização de MPD para indicar que MPD 352 deve ser atualizado.
[0167] Por exemplo, na figura 7, segmento 362A inclui caixa de atualização de MPD 364 e dados do segmento 366. Dados de segmentos 366A podem geralmente ser formados de acordo com o arquivo de vídeo 150 (figura 3). No entanto, segmento 362A também inclui caixa de atualização de MPD 364A. Deste modo, o dispositivo de cliente 40 pode atualizar MPD 352 com base nos dados de caixa de atualização de MPD 364A. A caixa de atualização de MPD 364A pode incluir atualizações para MPD 352, ou pode incluir um URI ou URL de uma atualização para o MPD 352. Deve ser entendido que os dados de caixas de atualização de MPD 364 não são, necessariamente, incluídos em caixas explícitas. Por exemplo, os dados que se conformam substancialmente com os dados de caixas de atualização de MPD 364 podem ser incluídos em outras caixas de segmentos 362, ou em uma parte de cabeçalho de segmentos 362. Deste modo, uma "parte" de segmentos 362 que inclui informação de atualização de MPD pode corresponder a uma parte de cabeçalho, uma caixa de atualização de semelhante MPD a caixas de atualização de MPD 364, ou dados incluídos em uma ou mais outras caixas de segmentos 362.
[0168] Desta forma, depois de recuperar dados de segmento 362A, dispositivo de cliente 40 pode analisar caixa de atualização de MPD 364A para atualizar MPD 352. Dispositivo de cliente 40 pode então usar a versão atualizada do MPD 352 para recuperar segmentos 362B e 362C. Segmentos 362B e 362C incluem dados do segmento 366B, 366C, que novamente podem ser formatados de acordo com arquivo de vídeo 150 da figura 3. Dispositivo de cliente 40 pode também recuperar dados de segmento 362D. Neste exemplo, o segmento 362D inclui caixa atualização de MPD 364B, que o dispositivo de cliente 40 pode utilizar para executar outra atualização de MPD 352, de uma forma que se conforma substancialmente com a primeira atualização. Assim, para receber os segmentos além do segmento 362D de representação 360, dispositivo de cliente 40 pode usar a nova versão atualizada do MPD 352, com base em atualizações realizadas com relação aos dados de caixa de atualização de MPD 364B.
[0169] Uma caixa de atualização de MPD, tal como MPD caixas de atualização 364A, 364B, pode incluir propriedades de acordo com a Tabela 7 abaixo: TABELA 7 - Propriedades de Caixa de Atualização de MPD
Figure img0011
[0170] A sintaxe seguinte pode ser usada paradefinir uma caixa de atualização de MPD, em alguns exemplos:aligned(8) classe MPDUpdateBox extends FullBox ('Mupe') {unsigned int (3) mpd_information_flags;unsigned int (1) new_location_flag;unsigned int (28) latest_mpd_update_time;/ / / A seguir são campos opcionaisstring mpd_location }
[0171] Um exemplo conjunto de semânticas parao exemplo de sintaxe de caixa de atualização de MPD é fornecido abaixo:mpd_information_flags contém a lógica OR de zero ou mais das seguintes características:0x00 atualizar agora Descrição de Apresentação de Mídia0x01 atualizar depois Descrição de Apresentação de Mídia0x02 Fim de apresentação0x03-0x07 reservadonew_location_flag se definido para 1, então a nova Descrição de Apresentação de Mídia está disponível em um novo local especificado no mpd_location.latest_mpd_update_time especifica o tempo em ms de quando a atualização de MPD é relativa ao tempo de emissão de MPD necessário do último MPD. O cliente pode optar por atualizar o MPD a qualquer momento entre agora.mpd_location está presente, se e somente se o new_location_flag for definido e provê um Localizador de Recurso Uniforme para a nova Descrição de Apresentação de Mídia.
[0172] Desta maneira, a sinalização dentro da banda no nível do segmento pode ser utilizada para indicar alterações de MPD 302. Atualizações podem ser proporcionadas em limites do segmento, em alguns exemplos. Isto é, caixas de atualização de MPD 364 podem ocorrer apenas nos inícios ou nas extremidades dos respectivos segmentos, em vários exemplos. Em alguns exemplos, se a largura de banda de atualizações de MPD apresentarem um problema, o dispositivo de servidor 60 (figura 1) pode oferecer MPDs para as capacidades do dispositivo determinados, de modo que apenas estas peças são atualizadas. Além disso, um elemento de MPD de MPD 302 pode prover um tempo de publicação em tempo de relógio de parede de MPD 302. Isto pode prover um tempo de publicação de MPD exclusivo, o que pode prover o identificador exclusivo para o MPD e quando o MPD foi emitido. Ele também pode prover uma âncora para os processos de atualização. Além disso, o dispositivo de servidor 60 e/ou dispositivo de preparação de conteúdo 20 pode otimizar atualizações de MPD utilizando estruturas hierárquicas, por exemplo, para atualizar apenas partes de MPD 302 que precisam de atualizações, sem alterar outras partes de MPD 302 que não precisam de atualização.
[0173] Inserção de anúncio, tal como inserção de anúncio direcionada, também pode ser realizada usando caixas de atualização de MPD semelhantes às da figura 7. Isto é, uma caixa de atualização de MPD pode ser fornecida para o dispositivo de cliente direto 40 para recuperar dados de conteúdo do anúncio multimídia. Isto pode ocorrer durante o tempo de espera ou outras ações em eventos esportivos que retardam o jogo, e da mesma forma, em tempos de espera ou retardos de ação emocionante para reprodução de vídeo. Porque tais eventos podem acontecer um pouco ao acaso, tempos em que anúncios serão inseridos não podem ser conhecido a priori.
[0174] Atualização do MPD 302 pode ser viável, de forma assíncrona para a entrega de segmentos. Dispositivo de servidor 60 pode prover garantias para o dispositivo de cliente 40 que um MPD não será atualizado por um determinado período de tempo. No entanto, o dispositivo de servidor 60 não explicitamente precisa sinalizar quando o MPD é atualizado antes de um período mínimo de atualização.
[0175] Reprodução completamente síncrona pode ser dificilmente atingida, assim como dispositivos clientes podem operar em diferentes instâncias de atualização do MPD. Portanto, os clientes podem experimentar variação. Visualização por deslocamento de tempo pode ser prevista por dispositivo de servidor 60 e/ou dispositivo de preparação de conteúdo 20.
[0176] A figura 8 é um fluxograma que ilustra um método exemplar para prover indicações sobre grupos de representação por de um dispositivo de servidor, e para selecionar os grupos de representação através de um dispositivo de cliente, bem como uma representação individual dentro do grupo de representação selecionado. Embora o método da figura 8 seja descrito com respeito ao dispositivo de servidor 60 e um dispositivo de cliente 40, deve ser entendido que outros dispositivos podem aplicar técnicas semelhantes ao método da figura 8. Por exemplo, o dispositivo de preparação de conteúdo 20, ou um ou mais dispositivos de rede de uma rede de distribuição de conteúdo, pode realizar alguma ou todas as funções atribuídas ao dispositivo de servidor 60.
[0177] O dispositivo de servidor 60 pode inicialmente obter (por exemplo, criar, ou receber do dispositivo de preparação de conteúdo 20) os dados de um conjunto de representações de conteúdo multimídia, em que as representações em conjunto com uma ou mais características comuns, bem como um arquivo de manifesto para o conteúdo multimídia. O conjunto de representações pode corresponder a um grupo de representação. Dispositivo de servidor 60 pode prover indícios de grupos de representação para o dispositivo de cliente 40 (400). Por exemplo, o dispositivo de servidor 60 pode prover MPD 202 (figura 4) ou parte MPD 252 (figura 5) para o dispositivo de cliente 40. Outros exemplos MPDs das Figs. 2, 6, e 7 podem também incluir indicações de grupos de representação, tais como os elementos de XML de grupo de representação. Em qualquer caso, o dispositivo de cliente 40 pode receber informação que descreve as características de grupo de representação (402), por exemplo, a partir do arquivo MPD ou parte do arquivo MPD recebido a partir do dispositivo de servidor 60.
[0178] O dispositivo de cliente 40 pode, então, analisar as características do grupo de representação para eliminar grupos de representação que o dispositivo de cliente 40 não pode ou não se elege para recuperar, decodificar, ou tornar. Por exemplo, o dispositivo de cliente 40 pode comparar capacidades de decodificação e renderização de características dos grupos de representação para determinar os grupos de representação inadequados. Como outro exemplo, dispositivo de cliente 40 pode comparar as preferências do usuário para a linguagem, classificação e quantidade de profundidade (por exemplo, como previsto por dois ou mais pontos de vista com ângulos de câmera em particular), para eliminar grupos de representação indesejáveis. Dispositivo de cliente 40 pode então selecionar um grupo de representação adequado baseado pelo menos em parte, nas capacidades de decodificação e renderização de dispositivo de cliente 40 (404). Naturalmente, deve ser entendido que esta seleção pode também (ou adicional e alternativamente) ser feita com base nas preferências do usuário, como discutido acima. Desta forma, o dispositivo de cliente 40 pode selecionar um conjunto de representações com base em características comuns para o conjunto de representações.
[0179] Depois de selecionar um grupo de representação, o o dispositivo de cliente 40 pode solicitar dados para uma parte MPD que descreve especificamente as representações do grupo de representação. Em resposta, o dispositivo de servidor 60 pode prover indicações de taxa de bits de representação, entre outras características individuais de representação, no grupo de representação selecionado para o dispositivo de cliente 40 (406). Por exemplo, o dispositivo de servidor 60 pode enviar dados para uma parte específica das partes de MPD para grupos de representação 260 (figura 5) ao dispositivo de cliente 40. Em outros exemplos, o dispositivo de cliente 40 pode já ter recebido um MPD completo para o conteúdo de multimídia (por exemplo, DMP 202 da figura 4), mas pode, em especial analisar partes MPD correspondentes especificamente para o grupo de representação selecionado. Deste modo, em alguns exemplos, a etapa 406 da figura 08 pode ocorrer antes da etapa 402 e/ou da etapa 404.
[0180] Em qualquer caso, depois de ter recebido as características específicas de representações do grupo de representação selecionado, incluindo taxas de bits para as representações (408), o dispositivo de cliente 40 pode determinar a quantidade de largura de banda de rede disponível (410). Dispositivo de cliente 40 pode, em seguida, selecionar uma representação do grupo de representação selecionado (412), de tal forma que a representação selecionada tenha uma taxa de bits que pode ser acomodada pela quantidade determinada de largura de banda de rede disponível. As taxas de bits das representações representam exemplos de características de codificação das representações individuais no grupo de representação. Dispositivo de cliente 40 pode, em seguida, solicitar dados da representação selecionada (414). Por exemplo, o dispositivo de cliente 40 pode construir (por exemplo, gerar e enviar) uma solicitação HTTP GET para solicitar um segmento da representação selecionada. Em alternativa, o dispositivo de cliente 40 pode construir uma GET parcial HTTP que especifica uma faixa de bytes de um segmento da representação selecionada. Em qualquer caso, dispositivo de cliente 40 pode submeter a solicitação ao dispositivo de servidor 60.
[0181] O dispositivo de servidor 60 pode receber a solicitação, e, em resposta, enviar os dados solicitados para o dispositivo de cliente 40 (416). Por exemplo, a unidade de processamento de solicitação 70 pode determinar um endereço de rede do dispositivo de cliente 40 a partir de dados da solicitação, por exemplo, um endereço de protocolo Internet (IP) fonte e uma porta de origem da solicitação recebida. Unidade de processamento de solicitação 70 pode formar pacotes de rede, incluindo os dados solicitados e enviar os dados solicitados ao dispositivo de cliente 40, por exemplo, destinado para o endereço IP de determinado de dispositivo de cliente 40.
[0182] Depois de receber os dados solicitados, dispositivo de cliente 40 pode começar a decodificar e exibir os dados recebidos (418). Durante a recepção de dados solicitações, dispositivo de cliente 40 pode continuar a analisar a largura de banda disponível atualmente e enviar solicitações de representações com taxa de bits que podem ser acomodadas pela quantidade atualmente disponível de banda de rede (410-414). Se a quantidade de alterações na banda larga de rede, dispositivo de cliente 40 pode adaptativamente mudar para uma representação diferente no grupo de representação selecionado. Por exemplo, o dispositivo de cliente 40 pode determinar um segmento de uma nova representação correspondente à localização temporal do último segmento solicitado a partir de uma representação anterior no grupo de representação, em seguida, solicitar o segmento determinado (ou uma parte do mesmo) na nova representação.
[0183] Em alguns exemplos, o dispositivo de servidor 60 pode prover um MPD correspondente a inserção de anúncio orientado para o dispositivo de cliente 40, durante o processo da figura 8. O MPD pode fazer com que o dispositivo de cliente 40 recupere dados de anúncio multimídia destinados a um usuário do dispositivo de cliente 40. Em alguns exemplos, o dispositivo de cliente 40 pode também prover informação de usuário para o dispositivo de servidor 60 para orientar os dados de mídia de anúncio para o usuário do dispositivo de cliente 40. As informações de usuário podem incluir preferências de usuário, informações de identificação de usuário (como um ID de usuário), informação demográfica de usuário, ou outras informações. A inserção add direcionada pode ocorrer, por exemplo, antes da etapa 400 da figura 8, ou após a etapa 418 e antes de selecionar uma representação posterior, por exemplo, para um período posterior de conteúdo multimídia.
[0184] Desta maneira, o método da figura 8 representa um exemplo de um método que inclui a análise de pelo menos uma parte de um arquivo de manifesto de conteúdo multimídia, em que a parte do arquivo de manifesto inclui informação indicativa de conjuntos de representações do conteúdo multimídia e informação indicativa de características comuns para cada um dos conjuntos das representações, selecionar um dos conjuntos de representações com base nas características comuns de um dos conjuntos de representações, selecionar uma das representações daquela selecionada dos conjuntos de representações com base em uma ou mais características de codificação de uma das representações de um dos conjuntos, e gerar uma solicitação de dados de uma das representações com base na seleção.
[0185] Da mesma forma, o método da figura 8 representa um exemplo de um método que inclui a obtenção de um conjunto de representações de conteúdo multimídia tendo uma ou mais características comuns, em que cada uma das representações no conjunto têm características individuais de codificação separada das características comuns, obter um arquivo de manifesto para o conteúdo multimídia, em que o arquivo de manifesto inclui informação indicativa das representações no conjunto, informação indicativa das características comuns para o conjunto de representações, e informação indicativa das características de codificação para cada uma das representações do conjunto, e o envio de pelo menos uma parte do arquivo de manifesto para um dispositivo de cliente.
[0186] A figura 9 é um fluxograma que ilustra um método exemplar para prover dados representativos de um modo de faixa por um dispositivo de servidor, e para a utilização dos dados através de um dispositivo de cliente para recuperar e reproduzir dados do faixa do modo de conteúdo multimídia. Embora o método da figura 9 seja descrito em relação ao dispositivo de servidor 60 e um dispositivo de cliente 40, deve ser entendido que outros dispositivos podem aplicar técnicas semelhantes as do método da figura 9. Por exemplo, o dispositivo de preparação de conteúdo 20, ou um ou mais dispositivos de rede de uma rede de distribuição de conteúdo, pode realizar alguma ou todas as funções atribuídas ao dispositivo de servidor 60. Além disso, a seleção de um modo de faixa pode ser realizada em conjunto com a seleção de um grupo de representação e uma representação a partir do grupo de representação, tal como descrito em relação à figura 8 acima. O dispositivo de servidor 60 pode inicialmente se obter (por exemplo, criar, ou receber do dispositivo de preparação de conteúdo 20) dados para uma ou mais representações de conteúdo multimídia, em que pelo menos uma das representações inclui uma subsequência temporal, assim como um arquivo de manifesto para o conteúdo multimídia. O arquivo de manifesto pode indicar que a representação inclui uma subsequência temporal. Dispositivo de servidor 60 pode prover indicações de representações de conteúdo multimídia, como por exemplo, as características das representações (430) para o dispositivo de cliente 40. Além disso, o dispositivo de servidor 60 pode prover sinais de subsequências temporais de uma ou mais das representações (432). Ou seja, o dispositivo de servidor 60 pode prover informação em um arquivo MPD para o conteúdo multimídia indicando que subsequências temporais estão disponíveis para uma ou mais representações do conteúdo multimídia. Por exemplo, o dispositivo de servidor 60 pode prover, pelo menos, uma parte de um MPD, incluindo um elemento de modo tendo um modo de tendo um subelemento de subsequência temporal de dispositivo de cliente 40, tal como descrito em relação à figura 6 acima.
[0187] O dispositivo de cliente 40 pode selecionar uma representação com base em características das representações do conteúdo multimídia (434). Apesar do dispositivo de cliente 40 não ter necessariamente de selecionar uma representação com uma subsequência temporal, para fins de discussão, para ilustrar estas técnicas, presume-se, para fins de exemplo, que o dispositivo de cliente 40 seleciona uma representação em que uma subsequência temporal está disponível. Dispositivo de cliente 40 pode então receber uma solicitação para usar um modo de faixa (436). Por exemplo, o dispositivo de cliente 40 pode receber uma seleção de um local temporal particular a partir do qual inicia a reprodução, por exemplo, a partir de um usuário do dispositivo de cliente 40.Alternativamente, o dispositivo de cliente 40 pode receber uma solicitação para avançar ou retroceder rapidamente osdados de vídeo. Em resposta à solicitação para utilizar omodo de faixa, o dispositivo de cliente 40 pode determinar se uma subsequência temporal para a representação está disponível, e em caso afirmativo, solicitar dados para recuperar pelo menos uma parte da subsequência temporal (438). Dispositivo de servidor 60 pode responder à solicitação, fornecendo indicações de localização de dados para a subsequência temporal para o dispositivo de cliente 40 (440). Em alguns exemplos, uma parte do MPD para oconteúdo multimídia pode indicar localizações dos dados para a subsequência temporal. Em outros exemplos, o dispositivo de cliente 40 pode solicitar caixas de índice de subfragmento e/ou caixas de fragmento de subfaixa a partir de segmentos de representação correspondente. Em qualquer caso, o dispositivo de cliente 40 pode utilizar os dados recebidos incluindo a informação indicativa da localização de dados para a subsequência temporal para solicitar dados de subsequência temporal a partir de locais especificados (442). Por exemplo, o dispositivo de cliente 40 pode determinar a localização (por exemplo, os URLs de segmentos e, possivelmente, intervalos de bytes dos segmentos), incluindo pontos de acesso aleatório IDR e/ou pontos de acesso aleatório ODR. Dispositivo de cliente 40 pode então construir solicitações HTTP GET ou GET parcial para dados da subsequência temporal, a fim de reproduzir dados de vídeo de acordo com o modo de faixa.
[0188] Depois de receber solicitações de HTTP GET e/ou GET parcial de dispositivo de cliente 40, dispositivo de servidor 60 pode prover os dados solicitados para o dispositivo de cliente 40 (444). Por exemplo, o dispositivo de servidor 60 pode enviar segmentos em resposta a solicitações HTTP GET ou fragmentos de mídia de segmentos (ou partes de fragmentos de mídia), em resposta a solicitações GET HTTP parcial. Depois de receber os dados solicitados, dispositivo de cliente 40 pode decodificar e exibir os dados recebidos (446). Do mesmo modo, o dispositivo de cliente 40 pode continuar a solicitar dados de representação (ou de uma representação diferente se a quantidade de largura de banda de rede disponível mudar).
[0189] Desta maneira, o método da figura 9 representa um exemplo de um método que inclui a análise de informação de um arquivo de manifesto de conteúdo multimídia, em que a informação de arquivo de manifesto indica que pelo menos uma representação de conteúdo multimídia inclui uma subsequência temporal, determinar uma ou mais localizações de dados para a subsequência temporal, e apresentar uma ou mais solicitações para os dados da subsequência temporal.
[0190] Da mesma forma, o método da figura 9 representa um exemplo de um método que inclui a obtenção de dados relativos a pelo menos uma representação de conteúdo multimídia que inclui um subsequência temporal, obtenção dados de um arquivo de manifesto para o conteúdo multimídia, em que a informação do arquivo de manifesto indica que a pelo menos uma representação de conteúdo multimídia inclui a subsequência temporal, e o envio de pelo menos uma parte do arquivo de manifesto para um dispositivo de cliente.
[0191] A figura 10 é um fluxograma que ilustra um método exemplar para prover, através de um dispositivo de servidor, indicações de que um arquivo de manifesto, tal como um MPD, deve ser atualizado, e para atualizar um MPD de um dispositivo de cliente. Embora o método da figura 10 seja descrito em relação ao dispositivo de servidor 60 e um dispositivo de cliente 40, deve ser entendido que outros dispositivos podem aplicar técnicas semelhantes as do método da figura 10. Por exemplo, o dispositivo de preparação de conteúdo 20, ou um ou mais dispositivos de rede de uma rede de distribuição de conteúdo, pode realizar alguma ou todas as funções atribuídas ao dispositivo de servidor 60. Além disso, a atualização de um MPD pode ser realizada em conjunto com a seleção de um modo de faixa e/ou a seleção de um grupo de representação e uma representação a partir do grupo de representação, tal como descrito em relação às Figs. 8 e 9 acima.
[0192] Em alguns exemplos, o dispositivo de preparação de conteúdo 20 pode codificar e encapsular dados de vídeo codificado capturados durante um evento ao vivo, como um evento esportivo. Deste modo, o dispositivo de cliente 40 pode recuperar os dados codificados do evento em tempo quase real, conforme o evento ocorre. Inicialmente, o dispositivo de servidor 60 pode receber uma ou mais representações de conteúdo multimídia correspondentes ao evento ao vivo e prover indicações das características das representações do conteúdo multimídia em um MPD (460). O MPD só pode descrever as características e localização dos segmentos até um determinado local temporal do conteúdo multimídia, devido ao conteúdo multimídia ser formado conforme o evento está sendo filmado ao vivo.
[0193] O dispositivo de cliente 40 pode usar as informações do MPD para selecionar uma representação (462). Usar o MPD atual, o dispositivo de cliente 40 pode solicitar os segmentos da representação selecionada, por exemplo, até a localização temporal. Em resposta, o dispositivo de servidor 60 pode enviar os segmentos solicitados. Contudo, além disso, o dispositivo de servidor 60 pode enviar um segmento que inclui uma caixa de atualização de MPD ou outra informação que indique que o MPD deve ser atualizado a partir desse segmento (466).
[0194] Em resposta, o dispositivo de cliente 40 pode decodificar e exibir os dados de um ou mais dos segmentos recebidos (468). Dispositivo de cliente 40 também pode receber a informação de que o MPD está sendo atualizado (470). Por exemplo, o dispositivo de cliente 40 pode receber o último segmento antes da localização temporal em que o MPD não se aplica mais. Dispositivo de cliente 40 pode determinar que o último segmento inclui uma caixa de atualização de MPD, semelhante às caixas de atualização de MPD descrito com referência à figura 7.
[0195] Usar a caixa de atualização, dispositivo de cliente 40 pode solicitar atualizações para o MPD (472). Por exemplo, o dispositivo de cliente 40 pode determinar um local de rede de atualizações para o MPD e solicitar as atualizações do local determinado. Dispositivo de servidor 60, ou outro dispositivo de armazenamento de atualizações para o MPD (por exemplo, dispositivo de preparação de conteúdo 20) pode enviar informações indicativas das atualizações para o MPD (474), que o dispositivo de cliente 40 pode usar para atualizar o MPD (476). Alternativamente, em alguns exemplos, a caixa de atualização de MPD pode incluir informação indicativa das atualizações de MPD, caso em que dispositivo de cliente 40 pode atualizar o MPD usando a informação da caixa de atualização de MPD. Em qualquer caso, o dispositivo de cliente 40 pode, em seguida solicitar segmentos seguintes à localização temporal em que o MPD anterior já não se aplica, utilizando a versão atualizada do MPD (478). Dispositivo de cliente 40 e dispositivo de servidor 60 pode continuar a realizar medidas semelhantes até dispositivo de cliente 40 terminar a reprodução do conteúdo multimídia.
[0196] Em alguns exemplos, técnicas semelhantes as do método da figura 10 podem ser usados para fazer a inserção de anúncio direcionada. Por exemplo, um MPD atualizado pode incluir uma parte que corresponde ao conteúdo de mídia de anúncio. Dispositivo de cliente 40 pode ser necessário para obter e reproduzir os dados do conteúdo de anúncio de mídia, com base no MPD atualizado, de modo a receber os dados de um ou mais segmentos do conteúdo de anúncio de mídia, que pode incluir um outro MPD atualizado para recuperar dados mídia subsequente de conteúdo de mídia desejada.
[0197] Desta maneira, o método da figura 10 representa um exemplo de um método de recuperação de dados, incluindo um primeiro segmento de uma representação de conteúdo multimídia, de acordo com os dados de uma cópia de um arquivo de manifesto armazenada por um dispositivo de cliente, recuperar uma parte de um segundo segmento da representação de acordo com o arquivo de manifesto, em que o segundo segmento ocorre após o primeiro segmento na representação, e em que a parte do segundo segmento indica que o arquivo de manifesto deve ser atualizado, atualizar a cópia do arquivo de manifesto armazenada pelo dispositivo de cliente com base na indicação de que o arquivo de manifesto deve ser atualizado, e recuperar dados de mídia do segundo segmento, de acordo com o arquivo de manifesto atualizado.
[0198] Da mesma forma, o método da figura 10 representa um exemplo de um método que inclui o envio de dados de um arquivo de manifesto de conteúdo multimídia para um dispositivo de cliente, em que o arquivo de manifesto inclui informação indicativa de um primeiro segmento de uma representação de conteúdo multimídia, o envio de pelo menos uma parte do primeiro segmento da representação para o dispositivo de cliente em resposta a uma solicitação do dispositivo de cliente, em que a parte do primeiro segmento indica que o arquivo de manifesto deve ser atualizado, em que uma versão atualizada do arquivo de manifesto inclui informação indicativa de um segundo, diferente segmento da representação, e enviar, em resposta a uma solicitação recebida a partir do dispositivo de cliente e formada de acordo com o arquivo de manifesto atualizado, os dados do segundo segmento para o dispositivo de cliente.
[0199] A figura 11 é um fluxograma ilustrando um método exemplar para a construção e utilização de dados de um documento de relatório de qualidade de experiência (QoE). Embora o método da figura 11 seja descrito em relação ao dispositivo de servidor 60 e um dispositivo de cliente 40, deve ser entendido que outros dispositivos podem aplicar técnicas semelhantes às do método da figura 11.
[0200] Por exemplo, o dispositivo de preparação de conteúdo 20, ou um ou mais dispositivos de rede de uma rede de distribuição de conteúdo, podem realizar alguma ou todas as funções atribuídas ao dispositivo de servidor 60. Além disso, a apresentação de um relatório de QoE para dispositivo de servidor 60 e/ou o dispositivo de preparação de conteúdo 20 pode ser realizada em conjunto com qualquer um ou todos de atualização de um MPD, a seleção de um modo de faixa e/ou a seleção de um grupo de representação e uma representação do grupo de representação, tal como descrito em relação às Figs. 8, 9,e 10, supra.
[0201] Inicialmente, dispositivo de servidor 60 pode prover indicações de características de representações de conteúdo multimídia em um dispositivo de cliente para MPD 40 (500). Como discutido acima, odispositivo de cliente 40 pode selecionar uma representação (502), por exemplo, com base nas capacidades de decodificação e/ou renderização do dispositivo de cliente 40, preferências do usuário, largura de banda disponível, e/ou outras características de representações do conteúdo multimídia. Dispositivo de cliente 40 pode, em seguida, solicitar um ou mais segmentos da representação selecionada (504).
[0202] O dispositivo de servidor 60 podeenviar os segmentos solicitados para o dispositivo de cliente 40 (506). Depois de receber os segmentossolicitados, dispositivo de cliente 40 pode decodificar e exibir os dados recebidos (508). Dispositivo de cliente 40 pode, em seguida, determinar se todos os dados de vídeo foram recebidos (510). Se o último segmento da representação (ou conteúdo multimídia em geral) não tiver sido recebido (ramificação "NÃO" de 510), dispositivo de cliente 40 pode voltar a avaliar a quantidade atualmente disponível de banda de rede e selecionar uma representação com base nessa análise (502) e segmentos de solicitação da representação (504).
[0203] Em geral, o dispositivo de cliente 40pode armazenar em buffer os dados e tentar evitar armazenar em buffer o sobrefluxo e o subfluxo, solicitando os dados do conteúdo multimídia a partir de uma representação que pode ser acomodada pela largura de banda disponível no momento. Às vezes, porém, sobrefluxo e subfluxo de armazenamento em pode ocorrer, por exemplo, se características de codificação reais do conteúdo multimídia não corresponderem às características sinalizadas de codificação ou se houver dados insuficientes para dispositivo de cliente 40 para fazer uma seleção adequada. Outros fatores podem também resultar na redução da qualidade de experiência para um usuário do dispositivo de cliente 40. Portanto, após o último segmento da representação (ou conteúdo multimídia) ter sido recebido e devidamente decodificado (ramificação "SIM" de 510), dispositivo de cliente 40 pode prover um relatório de qualidade de experiência (QoE) para dispositivo de servidor 60.
[0204] Por exemplo, dispositivo de cliente 40 pode construir o relatório para incluir indicações de segmentos selecionados e representações (512). Dispositivo de cliente 40 também podem registrar ocorrências de sobrefluxo / subfluxo de armazenamento em buffer, o que pode resultar em pausas na reprodução de mídia. Dispositivo de cliente 40 pode formar um relatório incluindo uma sequência de elementos PeriodReport, representando os períodos que foram reproduzidos. Um elemento de Período pode incluir uma sequência de elementos RepresentationReport, cada um representando uma reprodução contínua de uma parte de uma representação, e fornecendo o início e final de sintonização, tanto em tempo real quanto em tempo de apresentação. O relatório também pode incluir o tempo de inicialização inicial, sendo esta a marca de tempo a partir da solicitação do usuário para a visualização do conteúdo e do início da reprodução. Desta forma, o documento de relatório pode incluir um documento eletrônico formatado de linguagem de marcação extensível (XML) indicativo de representações do conteúdo multimídia a partir do qual o dispositivo de cliente recuperou dados de mídia do conteúdo multimídia.
[0205] O dispositivo de cliente 40 pode prover o relatório ao dispositivo de servidor 60 ou outro dispositivo de uma rede de entrega de conteúdo, tais como dispositivo de preparação de conteúdo 20 ou um dispositivo de coleta de relatório dedicado. Deste modo, o dispositivo de servidor 60 pode receber as indicações dos segmentos e das representações recebidos pelo dispositivo de cliente 40 (514). Dispositivo de servidor 60 pode, então, prover as indicações para, por exemplo, dispositivo de preparação de conteúdo 20 ou outro dispositivo associado a um provedor de serviços ou montador de mídia para melhorar a preparação de conteúdo (516). A partir das informações fornecidas pelo dispositivo de cliente 40, um provedor de serviços pode determinar exatamente o que foi reproduzido, quando não existiram pausas na reprodução, e quando havia comutações entre representações. Em alternativa ou adicionalmente, o dispositivo de cliente 40 pode prover informação resumida na forma da duração de reprodução total e número de períodos distintos, reproduções contínuas para cada representação, em conjunto com o número de pausas e a média e variância das durações de pausa.
[0206] Com estes dados, o provedor de serviços pode analisar a qualidade da informação experimentada para uma nova peça de conteúdo de mídia para streaming através de Streaming de HTTP Adaptativo. O provedor de serviços pode fazer uma série de representações diferentes em diferentes taxa de bits disponível, e prover infraestrutura de serviço HTTP para hospedar os arquivos de mídia, em seguida, recolher o retorno para determinar a qualidade da experiência de visualização dos usuários. O provedor de serviços pode usar esses dados para melhorar a qualidade do serviço para esta ou hospedagem de conteúdo de mídia futura. Qualidade de métricas de experiência pode se referir a visualização real vivida por um usuário e pode ser independente dos algoritmos de cliente utilizados para programação de solicitações HTTP, as decisões de seleção de representação, e similares. Desta maneira, o provedor de serviços pode obter um retrato relativamente preciso da qualidade da experiência de visualização de um usuário para uma sessão de visualização específica.
[0207] Desta maneira, o método da figura 11 representa um exemplo de um método, incluindo a construção de um documento, incluindo informações indicativas de representações de conteúdo multimídia a partir do qual os dados de mídia foram recuperados, e enviar o documento construído para um servidor a partir do qual os dados de mídia foram recuperados. O método da figura 11 também representa um exemplo de um método incluindo receber informações indicativas de dados recuperados por um dispositivo de cliente, compreendendo receber um documento eletrônico formatado de linguagem de marcação extensível incluindo informações indicativas de representações do conteúdo multimídia a partir do qual o dispositivo de cliente recuperou dados de mídia do conteúdo multimídia.
[0208] Em um ou mais exemplos, as funções descritas podem ser implementadas em hardware, software, firmware, ou qualquer combinação destes. Se implementadas em software, as funções podem ser armazenadas em ou transmitidas através de uma ou mais instruções de código ou um meio legível por computador e executadas por uma unidade de processamento com base em hardware. Mídia legível por computador pode incluir mídia de armazenamento legível por computador, o que corresponde a um meio tangível, tal como mídia de armazenamento de dados ou mídia de comunicação, incluindo qualquer meio que facilite a transferência de um programa de computador de um local para outro, por exemplo, de acordo com um protocolo de comunicação. Deste modo, mídia legível por computador geralmente pode corresponder a (1) mídia de armazenamento tangível legível por computador, que é não transitória ou (2) um meio de comunicação, tal como um sinal ou onda de portadora. Mídia de armazenamento de dados pode ser quaisquer meios disponíveis que podem ser acessados por um ou mais computadores ou um ou mais processadores para recuperar as instruções de código, e/ou estruturas de dados para a aplicação das técnicas descritas nesta divulgação. Um produto de programa de computador pode incluir um meio legível por computador.
[0209] A título de exemplo, e não limitação,tais meios de armazenamento legíveis por computador podem incluir RAM, ROM, EEPROM, CD-ROM ou outro armazenamento em disco óptico, armazenamento em disco magnético, ou outros dispositivos de armazenamento magnéticos, memória flash, ou quaisquer outros meios que podem ser usados para armazenar o código de programa desejado sob a forma de instruções ou estruturas de dados, e que pode ser acessado por um computador. Além disso, qualquer conexão é apropriadamente chamada de um meio legível por computador. Por exemplo, se as instruções são transmitidas de um site, servidor ou outra fonte remota através de um cabo coaxial, cabo de fibra óptica, par trançado, linha de assinante digital (DSL), ou tecnologias sem fio tais como infravermelho, rádio, e micro-ondas, então, o cabo coaxial, cabo de fibra óptica, par trançado, DSL ou tecnologias sem fio tais como o infravermelho, rádio, e micro-ondas, estão incluídos na definição de meio. Deve ser entendido, contudo, que os meios de armazenamento legíveis por computador e meios de armazenamento de dados não incluem conexões, ondas de portadoras, sinais, ou outros meios transitórios, mas são em vez disso direcionados para meios de armazenamento tangíveis não transitórios. Disco e disquete, tal como aqui utilizado, inclui disco compacto (CD), disco laser, disco óptico, disco versátil digital (DVD), disquete e blu-ray, em que disquetes geralmente reproduzem dados magneticamente, enquanto que discos reproduzem dados opticamente com lasers. Combinações dos anteriores devem também ser incluídas no âmbito de mídia legível por computador.
[0210] As instruções podem ser executadas por um ou mais processadores, tais como um ou mais processadores de sinal digital (DSPs), microprocessadores de uso geral, circuitos integrados de aplicação específica (ASICs), arranjos lógicos programáveis em campo FPGA, ou outro equivalente integrado ou conjunto de circuitos lógicos discretos. Assim, o termo "processador" aqui usado pode se referir a qualquer uma da estrutura anterior ou qualquer outra estrutura adequada para a aplicação das técnicas aqui descritas. Além disso, em alguns aspectos, a funcionalidade aqui descrita pode ser fornecida dentro de um hardware dedicado e/ou módulos de software configurados para a codificação e decodificação, ou incorporada em um codec combinado. Além disso, as técnicas podem ser totalmente implementadas em um ou mais circuitos ou elementos de lógica.
[0211] As técnicas da presente divulgação podem ser implementadas em uma grande variedade de dispositivos ou aparelhos, incluindo um monofone sem fio, um circuito integrado (IC) ou um conjunto de circuitos integrados (por exemplo, um conjunto de chips). Vários componentes, módulos ou unidades são descritos nesta divulgação para enfatizar os aspectos funcionais de dispositivos configurados para executar as técnicas descritas, mas não necessariamente, a realização de unidades de hardware diferentes. Em vez disso, tal como descrito acima, várias unidades podem ser combinadas em uma unidade de hardware codec ou fornecidas por um conjunto de unidades de hardware interoperativos, incluindo um ou mais processadores, como descrito acima, em conjunto com o software e/ou firmware adequado.

Claims (15)

1. Método para recuperar dados de multimídia, o método caracterizado pelo fato de que compreende:- recuperar dados (366A) de um primeiro segmento (362A) de uma representação (360) de conteúdo de multimídia (150, 350) de acordo com dados de uma cópia de um arquivode manifesto (66, 102, 352) armazenado por um dispositivocliente (40), em que os dados do primeiro segmento correspondem a um período do conteúdo de multimídia;- recuperar uma parte de um segundo segmento (362D) da representação de acordo com o arquivo de manifesto, em que os dados (366D) do segundo segmento correspondem ao período o qual os dados do primeiro segmento correspondem, em que o segundo segmento ocorre após o primeiro segmento na representação, e em que a parte do segundo segmento indica que o arquivo de manifesto deve ser atualizado (364, 364B);- atualizar a cópia do arquivo de manifesto armazenada pelo dispositivo cliente com base na indicação (364, 364B) de que o arquivo de manifesto deve seratualizado, o arquivo de manifesto atualizado indicando segmentos adicionais do período o qual o primeiro segmento corresponde; e- recuperar dados de mídia do segundo segmento e dos segmentos adicionais de acordo com o arquivo demanifesto atualizado.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que atualizar o arquivo de manifesto (66, 102, 352) compreende atualizar o arquivo demanifesto usando dados da parte do segundo segmento (362D).
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que atualizar o arquivo de manifesto (66, 102, 352) compreende recuperar dados para atualizar o arquivo de manifesto a partir de uma localização indicada na parte do segundo segmento (362D).
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que atualizar o arquivo de manifesto (66, 102, 352) compreende:- determinar um ou mais elementos do arquivo de manifesto que devem ser atualizados; e- atualizar apenas um ou mais elementos determinados do arquivo de manifesto.
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente:- recuperar dados de mídia de uma segunda representação diferente do conteúdo de multimídia (362D); e- enviar informação indicativa dos dados recuperados a partir da primeira representação e da segunda representação.
6. Método, de acordo com a reivindicação 5, caracterizado pelo fato de que compreende adicionalmente:- construir um documento eletrônico formatado em linguagem de marcação extensível incluindo informação indicativa de representações do conteúdo de multimídia, incluindo a primeira e a segunda representação, a partir das quais os dados de mídia foram recuperados;em que enviar a informação indicativa dos dados recuperados compreende enviar o documento construído para um servidor a partir do qual os dados de mídia foram recuperados.
7. Método para enviar informação para dados de multimídia, o método caracterizado pelo fato de que compreende:- enviar dados (366A) de um arquivo de manifesto (66, 102, 352) de conteúdo de multimídia (150, 350) para um dispositivo cliente (40), em que o arquivo de manifesto inclui informação indicativa de um primeiro segmento (362A) de uma representação do conteúdo de multimídia, em que os dados do primeiro segmento correspondem a um período do conteúdo de multimídia;- enviar pelo menos uma parte do primeiro segmento da representação para o dispositivo cliente em resposta a uma solicitação do dispositivo cliente, em que a parte do primeiro segmento indica que o arquivo de manifesto deve ser atualizado, em que uma versão atualizada do arquivo de manifesto inclui informação (364, 364B) indicativa de um segundo segmento diferente (362D) da representação, em que os dados (366D) do segundo segmento correspondem ao período o qual os dados do primeiro segmento correspondem; e - enviar, em resposta a uma solicitação recebida do dispositivo cliente e formada de acordo com o arquivo de manifesto atualizado, dados do segundo segmento para o dispositivo cliente.
8. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que a parte do primeiro segmento inclui informação indicativa de atualizações para o arquivo de manifesto ou informação indicativa de uma localização de dados indicativa de atualizações para o arquivo de manifesto.
9. Método, de acordo com a reivindicação 7, caracterizado pelo fato de que compreende adicionalmente receber informação indicativa de dados do conteúdo de multimídia recuperado pelo dispositivo cliente.
10. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que receber a informação indicativa dos dados recuperados pelo dispositivo cliente compreende receber um documento eletrônico formatado em linguagem de marcação extensível incluindo informação indicativa de representações do conteúdo de multimídia do qual o dispositivo cliente recuperou dados de mídia do conteúdo de multimídia.
11. Memória legível por computador caracterizada pelo fato de que compreende instruções armazenadas na mesma, as instruções que, quando executadas, fazem com que o computador realize o método conforme definido em qualquer uma das reivindicações 1 a 10.
12. Dispositivo para recuperar dados multimídia, o dispositivo caracterizado pelo fato de que compreende:meios para recuperar dados (366A) de um primeiro segmento (362A) de uma representação (360) de conteúdo multimídia (150, 350) de acordo com dados de uma cópia de um arquivo de manifesto (66, 102, 352) armazenado por um dispositivo cliente (40), em que os dados do primeiro segmento correspondem a um período do conteúdo multimídia;meios para recuperar uma parte de um segundo segmento (362D) da representação de acordo com o arquivo de manifesto, em que os dados (366D) do segundo segmento correspondem ao período ao qual os dados do primeiro segmento correspondem, em que o segundo segmento ocorre após o primeiro segmento na representação, e em que a parte do segundo segmento indica que o arquivo de manifesto deve ser atualizado (364, 364B);meios para atualizar a cópia do arquivo de manifesto armazenado pelo dispositivo cliente com base na indicação (364, 364B) de que o arquivo de manifesto deve ser atualizado, o arquivo de manifesto atualizado indicando segmentos adicionais do período ao qual o primeiro segmento corresponde; emeios para recuperar dados de mídia do segundo segmento e os segmentos adicionais de acordo com o arquivo de manifesto atualizado.
13. Dispositivo, de acordo com a reivindicação 12, caracterizado pelo fato de que compreende meios para executar um método conforme definido em qualquer uma das reivindicações 2 a 6.
14. Dispositivo para enviar informações para dados multimídia, o dispositivo caracterizado pelo fato de que compreende:meios para enviar dados (366A) de um arquivo de manifesto (66, 102, 352) de conteúdo multimídia (150, 350)para um dispositivo cliente (40), em que o arquivo de manifesto inclui informações indicativas de um primeiro segmento (362A) de uma representação do conteúdo multimídia, em que os dados do primeiro segmento correspondem a um período do conteúdo multimídia;meios para enviar pelo menos uma parte do primeiro segmento da representação ao dispositivo cliente em resposta a uma solicitação do dispositivo cliente, em que a parte do primeiro segmento indica que o arquivo de manifesto deve ser atualizado, em que uma versão atualizada do arquivo de manifesto inclui informações (364, 364B)indicativas de um segundo segmento diferente (362D) da representação, em que os dados (366D) do segundo segmento correspondem ao período ao qual os dados do primeiro segmento correspondem, a versão atualizada do arquivo de manifesto indicando segmentos adicionais do período ao qual o primeiro segmento corresponde; emeios para enviar, em resposta a uma solicitação recebida do dispositivo cliente e formada de acordo com o arquivo de manifesto atualizado, dados do segundo segmento e dos segmentos adicionais ao dispositivo cliente.
15. Dispositivo, de acordo com a reivindicação 14, caracterizado pelo fato de que compreende meios para executar um método conforme definido em qualquer uma das reivindicações 8 a 10.
BR112013002692-8A 2010-08-10 2011-08-09 Método e dispositivo para recuperar dados de multimídia, método e dispositivo para enviar informação para dados de multimídia, e memória legível por computador BR112013002692B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US37239910P 2010-08-10 2010-08-10
US61/372,399 2010-08-10
US13/205,574 US8806050B2 (en) 2010-08-10 2011-08-08 Manifest file updates for network streaming of coded multimedia data
US13/205,574 2011-08-08
PCT/US2011/047128 WO2012021543A1 (en) 2010-08-10 2011-08-09 Manifest file updates for network streaming of coded video data

Publications (2)

Publication Number Publication Date
BR112013002692A2 BR112013002692A2 (pt) 2016-05-31
BR112013002692B1 true BR112013002692B1 (pt) 2021-10-26

Family

ID=44509694

Family Applications (2)

Application Number Title Priority Date Filing Date
BR112013002686-3A BR112013002686B1 (pt) 2010-08-10 2011-08-09 Método e dispositivo para recuperar dados de multimídia, método e dispositivo para enviar informação para dados de multimídia, e memória legível por computador
BR112013002692-8A BR112013002692B1 (pt) 2010-08-10 2011-08-09 Método e dispositivo para recuperar dados de multimídia, método e dispositivo para enviar informação para dados de multimídia, e memória legível por computador

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BR112013002686-3A BR112013002686B1 (pt) 2010-08-10 2011-08-09 Método e dispositivo para recuperar dados de multimídia, método e dispositivo para enviar informação para dados de multimídia, e memória legível por computador

Country Status (23)

Country Link
US (3) US9456015B2 (pt)
EP (3) EP2604016B1 (pt)
JP (5) JP5612211B2 (pt)
KR (4) KR101542310B1 (pt)
CN (3) CN103141069B (pt)
AR (3) AR082616A1 (pt)
AU (2) AU2011289514B2 (pt)
BR (2) BR112013002686B1 (pt)
CA (2) CA2807157C (pt)
DK (2) DK2604016T3 (pt)
ES (3) ES2730896T3 (pt)
HK (2) HK1181576A1 (pt)
HU (3) HUE044114T2 (pt)
IL (2) IL224449A (pt)
MY (2) MY156640A (pt)
PL (1) PL2604014T3 (pt)
PT (1) PT2604014T (pt)
RU (2) RU2571375C2 (pt)
SG (3) SG187638A1 (pt)
SI (2) SI2604014T1 (pt)
TW (3) TWI479882B (pt)
UA (2) UA107394C2 (pt)
WO (3) WO2012021538A1 (pt)

Families Citing this family (270)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6307487B1 (en) * 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US9240810B2 (en) * 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
EP2357732B1 (en) 2002-10-05 2022-04-06 QUALCOMM Incorporated Systematic encoding and decoding of chain reaction codes
KR101170629B1 (ko) 2003-10-06 2012-08-02 디지털 파운튼, 인크. 단일 송신기 또는 다중 송신기를 갖는 통신 시스템의 에러 정정 다중-스테이지 코드 생성기 및 디코더
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
EP1743431A4 (en) 2004-05-07 2007-05-02 Digital Fountain Inc SYSTEM FOR DOWNLOADING AND RECORDING AND CONTINUOUS READING OF FILES
US10862994B1 (en) * 2006-11-15 2020-12-08 Conviva Inc. Facilitating client decisions
US9136983B2 (en) 2006-02-13 2015-09-15 Digital Fountain, Inc. Streaming and buffering using variable FEC overhead and protection periods
US9270414B2 (en) * 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
EP1999883A4 (en) 2006-03-14 2013-03-06 Divx Llc FEDERATED DIGITAL RIGHTS MANAGEMENT SYSTEM COMPRISING CONFIDENCE SYSTEMS
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
US20100211690A1 (en) * 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9386064B2 (en) * 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9432433B2 (en) * 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9264780B1 (en) 2006-11-15 2016-02-16 Conviva Inc. Managing synchronized data requests in a content delivery network
US8874725B1 (en) 2006-11-15 2014-10-28 Conviva Inc. Monitoring the performance of a content player
US8751605B1 (en) 2006-11-15 2014-06-10 Conviva Inc. Accounting for network traffic
EP4213033A1 (en) 2007-01-05 2023-07-19 DivX, LLC Video distribution system including progressive playback
AU2008298602A1 (en) 2007-09-12 2009-03-19 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
KR20100106327A (ko) 2007-11-16 2010-10-01 디브이엑스, 인크. 멀티미디어 파일을 위한 계층적 및 감소된 인덱스 구조
US10419541B2 (en) 2008-11-26 2019-09-17 Free Stream Media Corp. Remotely control devices over a network without authentication or registration
US10631068B2 (en) 2008-11-26 2020-04-21 Free Stream Media Corp. Content exposure attribution based on renderings of related content across multiple devices
US10880340B2 (en) 2008-11-26 2020-12-29 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US8180891B1 (en) 2008-11-26 2012-05-15 Free Stream Media Corp. Discovery, access control, and communication with networked services from within a security sandbox
US9026668B2 (en) 2012-05-26 2015-05-05 Free Stream Media Corp. Real-time and retargeted advertising on multiple screens of a user watching television
US9154942B2 (en) 2008-11-26 2015-10-06 Free Stream Media Corp. Zero configuration communication between a browser and a networked media device
US9386356B2 (en) 2008-11-26 2016-07-05 Free Stream Media Corp. Targeting with television audience data across multiple screens
US9519772B2 (en) 2008-11-26 2016-12-13 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9986279B2 (en) 2008-11-26 2018-05-29 Free Stream Media Corp. Discovery, access control, and communication with networked services
US10567823B2 (en) 2008-11-26 2020-02-18 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US10334324B2 (en) 2008-11-26 2019-06-25 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US10977693B2 (en) 2008-11-26 2021-04-13 Free Stream Media Corp. Association of content identifier of audio-visual data with additional data through capture infrastructure
US9961388B2 (en) 2008-11-26 2018-05-01 David Harrison Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US9281847B2 (en) * 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US8909806B2 (en) * 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
US8402494B1 (en) 2009-03-23 2013-03-19 Conviva Inc. Switching content
US9203913B1 (en) * 2009-07-20 2015-12-01 Conviva Inc. Monitoring the performance of a content player
CA2711311C (en) 2009-08-10 2016-08-23 Seawell Networks Inc. Methods and systems for scalable video chunking
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) * 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US20110096828A1 (en) * 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
US8930991B2 (en) * 2009-11-19 2015-01-06 Gregory Philpott System and method for delivering content to mobile devices
EP2507995A4 (en) 2009-12-04 2014-07-09 Sonic Ip Inc SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL
CA2786812C (en) * 2010-01-18 2018-03-20 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for supporting playout of content
KR101777348B1 (ko) * 2010-02-23 2017-09-11 삼성전자주식회사 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치
US9032462B2 (en) * 2010-04-19 2015-05-12 Lg Electronics Inc. Method for transmitting/receiving internet-based content and transmitter/receiver using same
KR101702562B1 (ko) * 2010-06-18 2017-02-03 삼성전자 주식회사 멀티미디어 스트림 파일의 저장 파일 포맷, 저장 방법 및 이를 이용한 클라이언트 장치
US9485546B2 (en) 2010-06-29 2016-11-01 Qualcomm Incorporated Signaling video samples for trick mode video representations
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
KR20120034550A (ko) 2010-07-20 2012-04-12 한국전자통신연구원 스트리밍 컨텐츠 제공 장치 및 방법
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
KR20120060134A (ko) * 2010-08-16 2012-06-11 삼성전자주식회사 광고 재생 방법 및 장치
CN102130936B (zh) * 2010-08-17 2013-10-09 华为技术有限公司 一种在动态http流传输方案中支持时移回看的方法和装置
US9317622B1 (en) * 2010-08-17 2016-04-19 Amazon Technologies, Inc. Methods and systems for fragmenting and recombining content structured language data content to reduce latency of processing and rendering operations
KR101737325B1 (ko) * 2010-08-19 2017-05-22 삼성전자주식회사 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
CN103081506B (zh) 2010-09-01 2016-09-14 韩国电子通信研究院 提供串流内容的方法及装置
US9467493B2 (en) 2010-09-06 2016-10-11 Electronics And Telecommunication Research Institute Apparatus and method for providing streaming content
CN102148851B (zh) * 2010-09-30 2014-09-17 华为技术有限公司 一种在动态http流传输中应用父母控制的方法和装置
KR101620151B1 (ko) * 2010-10-05 2016-05-12 텔레폰악티에볼라겟엘엠에릭슨(펍) 클라이언트와, 콘텐트 생성기 엔티티 및 미디어 스트리밍을 위한 이들의 방법
US9369512B2 (en) * 2010-10-06 2016-06-14 Electronics And Telecommunications Research Institute Apparatus and method for providing streaming content
KR101206698B1 (ko) * 2010-10-06 2012-11-30 한국항공대학교산학협력단 스트리밍 콘텐츠 제공 장치 및 방법
DE112011103642T5 (de) * 2010-11-02 2013-09-19 Lg Electronics Inc. Verfahren zum Senden/Empfangen von Medieninhalt und Vorrichtung zum Senden/Empfangen, die dieses verwendet
CN103299600B (zh) * 2011-01-04 2016-08-10 汤姆逊许可公司 用于传输直播媒体内容的装置和方法
US8914534B2 (en) 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
WO2012093202A1 (en) * 2011-01-07 2012-07-12 Nokia Corporation Method and apparatus for signaling presentation
JP5529177B2 (ja) 2011-01-19 2014-06-25 ネイバー ビジネス プラットフォーム コーポレーション P2p基盤のストリーミングサービスでバッファリングを行うシステムおよび方法、並びにクライアントでバッファリングを処理するアプリケーションを配布するシステム
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
EP2924990A1 (en) 2011-03-16 2015-09-30 Electronics and Telecommunications Research Institute Apparatus and method for providing streaming content using representations
KR101803970B1 (ko) * 2011-03-16 2017-12-28 삼성전자주식회사 컨텐트를 구성하는 장치 및 방법
US9112948B1 (en) 2011-03-18 2015-08-18 Amazon Technologies, Inc. System and method for assignment and switching of content sources for a streaming content session
US9215268B1 (en) 2011-03-18 2015-12-15 Amazon Technologies, Inc. System and method for selection and switching of content sources for a streaming content session
US20120311076A1 (en) * 2011-05-31 2012-12-06 Cisco Technology, Inc. System and method to support different uniform resource locator formats for content on different network elements
CN107529706B (zh) 2011-06-16 2020-11-17 Ge视频压缩有限责任公司 解码器、编码器、解码和编码视频的方法及存储介质
US8812662B2 (en) 2011-06-29 2014-08-19 Sonic Ip, Inc. Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
CN103650451B (zh) * 2011-07-07 2016-10-19 瑞典爱立信有限公司 网络容量优化的自适应http流播
US8925021B2 (en) 2011-07-11 2014-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for trick play in over-the-top video delivery
UA114674C2 (uk) 2011-07-15 2017-07-10 ДЖ.І. ВІДІЕУ КЕМПРЕШН, ЛЛСі Ініціалізація контексту в ентропійному кодуванні
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
KR101928910B1 (ko) 2011-08-30 2018-12-14 쏘닉 아이피, 아이엔씨. 복수의 최대 비트레이트 레벨들을 사용하여 인코딩된 비디오를 인코딩하고 스트리밍하기 위한 시스템들 및 방법들
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US8787570B2 (en) 2011-08-31 2014-07-22 Sonic Ip, Inc. Systems and methods for automatically genenrating top level index files
US8799647B2 (en) 2011-08-31 2014-08-05 Sonic Ip, Inc. Systems and methods for application identification
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
WO2013058684A1 (en) * 2011-10-17 2013-04-25 Telefonaktiebolaget L M Ericsson (Publ) Method for adaptive streaming, local storing and post-storing quality increase of a content file
US10003817B2 (en) 2011-11-07 2018-06-19 Microsoft Technology Licensing, Llc Signaling of state information for a decoded picture buffer and reference picture lists
KR101922552B1 (ko) * 2011-12-06 2018-11-29 삼성전자주식회사 멀티미디어 컨텐트 전송 시스템에서 적응적 스트리밍을 이용한 트래픽 제어 방법 및 장치
US8976814B2 (en) * 2011-12-09 2015-03-10 General Electric Company Method of transporting data from sending node to destination node
US9712874B2 (en) * 2011-12-12 2017-07-18 Lg Electronics Inc. Device and method for receiving media content
US10397294B2 (en) * 2011-12-15 2019-08-27 Dolby Laboratories Licensing Corporation Bandwidth adaptation for dynamic adaptive transferring of multimedia
US8977704B2 (en) * 2011-12-29 2015-03-10 Nokia Corporation Method and apparatus for flexible caching of delivered media
HUE036024T2 (hu) * 2011-12-29 2018-06-28 Koninklijke Kpn Nv Hálózat által kezdeményezett tartalomtovábbítás vezérlése
US10218756B2 (en) * 2012-01-06 2019-02-26 Comcast Cable Communications, Llc Streamlined delivery of video content
US8918908B2 (en) 2012-01-06 2014-12-23 Sonic Ip, Inc. Systems and methods for accessing digital content using electronic tickets and ticket tokens
US8850054B2 (en) * 2012-01-17 2014-09-30 International Business Machines Corporation Hypertext transfer protocol live streaming
US9401968B2 (en) 2012-01-20 2016-07-26 Nokia Techologies Oy Method and apparatus for enabling pre-fetching of media
US20130246578A1 (en) * 2012-03-16 2013-09-19 Cisco Technology, Inc. Adaptive Bit Rate Optimizations When Joining Single Profile Multicast Streams
US20130243079A1 (en) * 2012-03-19 2013-09-19 Nokia Siemens Networks Oy Storage and processing savings when adapting video bit rate to link speed
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
KR101633769B1 (ko) * 2012-04-05 2016-06-27 후아웨이 테크놀러지 컴퍼니 리미티드 Iso 베이스 미디어 파일 형식에 기초한 적응형 스트리밍을 위한 안전한 비동기 이벤트 통지 시스템 및 방법
US10148716B1 (en) 2012-04-09 2018-12-04 Conviva Inc. Dynamic generation of video manifest files
US9438883B2 (en) 2012-04-09 2016-09-06 Intel Corporation Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
US9712887B2 (en) * 2012-04-12 2017-07-18 Arris Canada, Inc. Methods and systems for real-time transmuxing of streaming media content
JP6275691B2 (ja) 2012-04-18 2018-02-07 グーグル エルエルシー 任意の時点でストリーミングメディアにコンテンツを挿入する方法及びシステム
KR101630721B1 (ko) 2012-04-25 2016-06-15 후아웨이 테크놀러지 컴퍼니 리미티드 적응 스트리밍에 대한 세그먼트 통합 및 인증을 위한 시스템 및 방법
US9628531B2 (en) * 2012-04-25 2017-04-18 Futurewei Technologies, Inc. Systems and methods for controlling client behavior in adaptive streaming
CN104380753B (zh) 2012-04-26 2018-05-18 华为技术有限公司 用于表示自适应流媒体的分段加密和密钥衍生的系统和方法
KR101501344B1 (ko) * 2012-05-02 2015-03-10 삼성전자주식회사 멀티미디어 서비스 송수신 방법 및 장치
US9185470B2 (en) * 2012-05-03 2015-11-10 Nuance Communications, Inc. Remote processing of content
US20130311668A1 (en) * 2012-05-15 2013-11-21 Shahid Akhtar Methods And Systems For Providing Fairness And Stability To Video Streams
US9241166B2 (en) * 2012-06-11 2016-01-19 Qualcomm Incorporated Technique for adapting device tasks based on the available device resources
US9674247B1 (en) * 2012-06-21 2017-06-06 Google Inc. Generating manifest files for digital media items
EP2680527A1 (en) * 2012-06-28 2014-01-01 Alcatel-Lucent Adaptive streaming aware node, encoder and client enabling smooth quality transition
CN104756505B (zh) * 2012-06-28 2020-04-07 爱立信股份有限公司 用于过顶实况媒体递送中的广告插入的方法和系统
KR20140002447A (ko) * 2012-06-29 2014-01-08 삼성전자주식회사 멀티미디어 시스템에서 적응적 미디어 구조 송수신 방법 및 장치
US10616297B2 (en) 2012-07-09 2020-04-07 Futurewei Technologies, Inc. Content-specific identification and timing behavior in dynamic adaptive streaming over hypertext transfer protocol
CN104429093B (zh) * 2012-07-09 2018-01-05 华为技术有限公司 超文本传输协议动态自适应流媒体客户端及其会话管理实施方法
US8495675B1 (en) * 2012-07-30 2013-07-23 Mdialog Corporation Method and system for dynamically inserting content into streaming media
US9125073B2 (en) 2012-08-03 2015-09-01 Intel Corporation Quality-aware adaptive streaming over hypertext transfer protocol using quality attributes in manifest file
EP3270596A1 (en) 2012-08-22 2018-01-17 Huawei Technologies Co., Ltd. Carriage of iso-bmff event boxes in an mpeg-2 transport stream
US9215269B2 (en) * 2012-08-23 2015-12-15 Amazon Technologies, Inc. Predictive caching for content
US9936267B2 (en) 2012-08-31 2018-04-03 Divx Cf Holdings Llc System and method for decreasing an initial buffering period of an adaptive streaming system
US10182096B1 (en) 2012-09-05 2019-01-15 Conviva Inc. Virtual resource locator
US9246965B1 (en) 2012-09-05 2016-01-26 Conviva Inc. Source assignment based on network partitioning
CN104885456A (zh) 2012-09-18 2015-09-02 Vid拓展公司 使用图块和图块组的感兴趣区域视频编码
US9479774B2 (en) 2012-09-24 2016-10-25 Qualcomm Incorporated Buffering period and recovery point supplemental enhancement information messages
US9313500B2 (en) * 2012-09-30 2016-04-12 Microsoft Technology Licensing, Llc Conditional signalling of reference picture list modification information
EP2717562A3 (en) * 2012-10-04 2014-10-01 Samsung Electronics Co., Ltd Apparatus for reproducing recording medium and method thereof
ITTO20120901A1 (it) * 2012-10-15 2014-04-16 Rai Radiotelevisione Italiana Procedimento di codifica e decodifica di un video digitale e relativi dispositivi di codifica e decodifica
US10033777B2 (en) * 2012-10-19 2018-07-24 Interdigital Patent Holdings, Inc. Multi-hypothesis rate adaptation for HTTP streaming
ES2763998T3 (es) 2012-11-13 2020-06-01 Ericsson Telefon Ab L M Procesado de datos multimedia
US9813664B1 (en) * 2012-11-29 2017-11-07 Discovery Communications, Llc Method and system for creating media content
US9143543B2 (en) * 2012-11-30 2015-09-22 Google Technology Holdings LLC Method and system for multi-streaming multimedia data
US9128892B2 (en) 2012-12-10 2015-09-08 Netflix, Inc. Managing content on an ISP cache
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US10237334B2 (en) * 2013-01-07 2019-03-19 Akamai Technologies, Inc. Connected-media end user experience using an overlay network
US10015437B2 (en) 2013-01-15 2018-07-03 Qualcomm Incorporated Supporting transport diversity and time-shifted buffers for media streaming over a network
EP2947887A4 (en) * 2013-01-18 2016-08-24 Sony Corp CONTENT SERVICES, CONTENT PROCESSING, CONTENT PROCESSING SYSTEM, CLIENT DEVICE AND CONTENT MANAGEMENT PROCESS
KR101693584B1 (ko) * 2013-01-18 2017-01-06 후아웨이 테크놀러지 컴퍼니 리미티드 미디어 콘텐츠에 대해 적응 스트리밍을 수행하는 방법 및 장치
US9961415B2 (en) 2013-01-24 2018-05-01 Google Llc Method and system for identifying events in a streaming media program
US9832492B2 (en) * 2013-01-29 2017-11-28 Espial Group Inc. Distribution of adaptive bit rate video streaming via hyper-text transfer protocol
WO2014121857A1 (en) * 2013-02-06 2014-08-14 Telefonaktiebolaget L M Ericsson (Publ) Technique for detecting an encoder functionality issue
US9584847B2 (en) * 2013-02-12 2017-02-28 Ericsson Ab Rendering content for personal over-the-top network video recorder
WO2014124692A1 (en) * 2013-02-15 2014-08-21 Nec Europe Ltd. Method and system for providing content in content delivery networks
US20140281002A1 (en) * 2013-03-14 2014-09-18 General Instrument Corporation Devices, systems, and methods for managing and adjusting adaptive streaming traffic
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9578333B2 (en) * 2013-03-15 2017-02-21 Qualcomm Incorporated Method for decreasing the bit rate needed to transmit videos over a network by dropping video frames
KR101798741B1 (ko) 2013-04-19 2017-11-16 후아웨이 테크놀러지 컴퍼니 리미티드 하이퍼텍스트 전송 프로토콜을 통한 동적 적응 비디오 스트리밍에서의 미디어 품질 정보 시그널링
US9338209B1 (en) * 2013-04-23 2016-05-10 Cisco Technology, Inc. Use of metadata for aiding adaptive streaming clients
CN104125516B (zh) 2013-04-24 2018-09-28 华为技术有限公司 媒体文件接收、媒体文件发送方法和装置及系统
US9654758B2 (en) * 2013-04-26 2017-05-16 Microsoft Technology Licensing, Llc Synchronizing external data to video playback
EP2883201A4 (en) * 2013-05-02 2016-03-09 This Technology Inc METHOD AND SYSTEM FOR EFFICIENT DIRECTORY MANIPULATION
US9973559B2 (en) * 2013-05-29 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for presenting content streams to a client device
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9100687B2 (en) 2013-05-31 2015-08-04 Sonic Ip, Inc. Playback synchronization across playback devices
US9380099B2 (en) 2013-05-31 2016-06-28 Sonic Ip, Inc. Synchronizing multiple over the top streaming clients
US9444863B2 (en) 2013-06-06 2016-09-13 Intel Corporation Manager for DASH media streaming
US8762564B1 (en) * 2013-07-10 2014-06-24 Mdialog Corporation Method and system for dynamically selecting, assembling and inserting content into stream media
CN109842613B (zh) * 2013-07-12 2021-11-19 佳能株式会社 用于提供和接收媒体数据的方法和装置以及存储介质
US20150019629A1 (en) * 2013-07-15 2015-01-15 Futurewei Technologies, Inc. Just-in-Time Dereferencing of Remote Elements in Dynamic Adaptive Streaming over Hypertext Transfer Protocol
WO2015010056A1 (en) * 2013-07-19 2015-01-22 Huawei Technologies Co., Ltd. Metadata information signaling and carriage in dynamic adaptive streaming over hypertext transfer protocol
US10447746B2 (en) * 2013-07-26 2019-10-15 Futurewei Technologies, Inc. System and method for spatial adaptation in adaptive streaming
JP6327809B2 (ja) * 2013-08-20 2018-05-23 キヤノン株式会社 受信装置、制御方法及びプログラム
US9124947B2 (en) * 2013-09-04 2015-09-01 Arris Enterprises, Inc. Averting ad skipping in adaptive bit rate systems
US9258747B2 (en) * 2013-09-17 2016-02-09 Intel IP Corporation User equipment and methods for fast handover failure recovery in 3GPP LTE network
US9955203B2 (en) * 2013-09-24 2018-04-24 Ericsson Ab Recording device and method for efficient network personal video recorder manipulation through adaptive bit rate streaming
US10749761B1 (en) 2013-09-27 2020-08-18 Amazon Technologies, Inc. Unique user session tracking in adaptive bitrate video delivery
US20150095450A1 (en) * 2013-09-30 2015-04-02 Qualcomm Incorporated Utilizing multiple switchable adaptation sets for streaming media data
US9270721B2 (en) 2013-10-08 2016-02-23 Qualcomm Incorporated Switching between adaptation sets during media streaming
US9648348B2 (en) * 2013-10-23 2017-05-09 Qualcomm Incorporated Multi-layer video file format designs
JP2017504996A (ja) 2013-11-27 2017-02-09 インターデイジタル パテント ホールディングス インコーポレイテッド メディアプレゼンテーション記述
KR101462557B1 (ko) * 2013-12-20 2014-11-27 연세대학교 산학협력단 Dash에서 레프리젠테이션을 재구성하는 방법
ES2613978T3 (es) * 2013-12-26 2017-05-29 Telefonica Digital España, S.L.U. Un método y un sistema para la transmisión por secuencias suave de contenidos de medios en una red de entrega de contenidos distribuida
US9386067B2 (en) 2013-12-30 2016-07-05 Sonic Ip, Inc. Systems and methods for playing adaptive bitrate streaming content by multicast
US10476930B2 (en) * 2014-01-06 2019-11-12 Intel IP Corporation Client/server signaling commands for dash
KR102154800B1 (ko) * 2014-01-10 2020-09-10 삼성전자주식회사 전자 장치의 데이터 스트리밍 방법 및 그 전자 장치
JP2015136057A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
CN105981393B (zh) 2014-02-10 2019-08-09 Lg 电子株式会社 发送广播信号的装置、接收广播信号的装置、发送广播信号的方法以及接收广播信号的方法
US9900362B2 (en) * 2014-02-11 2018-02-20 Kiswe Mobile Inc. Methods and apparatus for reducing latency shift in switching between distinct content streams
KR20160135811A (ko) * 2014-03-20 2016-11-28 삼성전자주식회사 Http 스트리밍을 사용하는 dash 스트리밍을 위한 방법 및 장치
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
WO2015156150A1 (ja) * 2014-04-11 2015-10-15 ソニー株式会社 受信装置、受信方法、送信装置、及び、送信方法
US9544388B1 (en) 2014-05-09 2017-01-10 Amazon Technologies, Inc. Client-side predictive caching for content
US20150350622A1 (en) 2014-05-30 2015-12-03 Apple Inc. Packed i-frames
US11869038B2 (en) * 2014-06-24 2024-01-09 Arris Enterprises Llc Tracking ad preferences in adaptive bit rate systems
CN106471574B (zh) * 2014-06-30 2021-10-12 索尼公司 信息处理装置和信息处理方法
CA2953310A1 (en) * 2014-07-07 2016-01-14 Sony Corporation Reception device, reception method, transmission device, and transmission method
KR102548789B1 (ko) 2014-08-07 2023-06-29 디빅스, 엘엘씨 독립적으로 인코딩된 타일을 포함한 기본 비트스트림을 보호하는 시스템 및 방법
US9973345B2 (en) 2014-09-10 2018-05-15 Qualcomm Incorporated Calculating and signaling segment availability times for segments of media data
US9894130B2 (en) * 2014-09-23 2018-02-13 Intel Corporation Video quality enhancement
US9681185B2 (en) * 2014-11-04 2017-06-13 Spot Trender Inc. Content utilization paramerization
KR102390622B1 (ko) * 2014-11-26 2022-04-26 소니그룹주식회사 송신 장치, 송신 방법, 수신 장치 및 수신 방법
US20160155477A1 (en) * 2014-12-01 2016-06-02 Microsoft Corporation Identifying Media Types
US20160164943A1 (en) * 2014-12-05 2016-06-09 Qualcomm Incorporated Transport interface for multimedia and file transport
US10305955B1 (en) 2014-12-08 2019-05-28 Conviva Inc. Streaming decision in the cloud
US10178043B1 (en) * 2014-12-08 2019-01-08 Conviva Inc. Dynamic bitrate range selection in the cloud for optimized video streaming
US11778014B2 (en) * 2014-12-12 2023-10-03 Arris Enterprises Llc Throttling content download in adaptive HTTP live streaming
US9414130B2 (en) * 2014-12-15 2016-08-09 At&T Intellectual Property, L.P. Interactive content overlay
JP2016116065A (ja) * 2014-12-15 2016-06-23 日本放送協会 受信機、送信機、及びコンテンツの受信方法
CN104484185B (zh) * 2014-12-30 2018-03-20 深圳市大疆创新科技有限公司 固件生成系统及方法
KR102012682B1 (ko) 2015-01-06 2019-08-22 디브이엑스, 엘엘씨 디바이스들간에 콘텐트를 인코딩 및 공유하기 위한 시스템들 및 방법들
US10270823B2 (en) * 2015-02-10 2019-04-23 Qualcomm Incorporated Low latency video streaming
CN107251008B (zh) 2015-02-27 2020-11-13 帝威视有限公司 在实况视频编码和流传输中进行帧复制和帧扩展的系统和方法
US10412138B2 (en) 2015-03-02 2019-09-10 Qualcomm Incorporated Indication for partial segment
US10749930B2 (en) 2015-03-02 2020-08-18 Qualcomm Incorporated Indication for partial segment
US10659507B2 (en) * 2015-03-02 2020-05-19 Qualcomm Incorporated Indication for partial segment
US9326046B1 (en) 2015-03-19 2016-04-26 Amazon Technologies, Inc. Uninterrupted playback of video streams using lower quality cached files
WO2017004196A1 (en) 2015-06-29 2017-01-05 Vid Scale, Inc. Dash caching proxy application
US10356451B2 (en) * 2015-07-06 2019-07-16 Lg Electronics Inc. Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method
US10652603B2 (en) * 2015-07-09 2020-05-12 Triton Us Vp Acquision Co. Transitioning between broadcast and unicast streams
US10693936B2 (en) * 2015-08-25 2020-06-23 Qualcomm Incorporated Transporting coded audio data
WO2017038353A1 (ja) * 2015-08-28 2017-03-09 ソニー株式会社 受信装置、送信装置、およびデータ処理方法
US11336928B1 (en) 2015-09-24 2022-05-17 Amazon Technologies, Inc. Predictive caching of identical starting sequences in content
US20180324480A1 (en) * 2015-10-08 2018-11-08 Tradecast B.V. Client and Method for Playing a Sequence of Video Streams, and Corresponding Server and Computer Program Product
US10516891B2 (en) * 2015-11-20 2019-12-24 Intel Corporation Method and system of reference frame caching for video coding
EP3179688A1 (en) * 2015-12-11 2017-06-14 Koninklijke KPN N.V. Updating part of a manifest file on the basis of patches
US9998746B2 (en) * 2016-02-10 2018-06-12 Amazon Technologies, Inc. Video decoder memory optimization
US20190014358A1 (en) * 2016-02-12 2019-01-10 Sony Corporation Information processing apparatus and information processing method
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
RU2632128C1 (ru) * 2016-04-04 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и система загрузки фрагментов изображения на клиентское устройство
US11038938B2 (en) * 2016-04-25 2021-06-15 Time Warner Cable Enterprises Llc Methods and apparatus for providing alternative content
CN105898625B (zh) * 2016-04-29 2020-03-17 腾讯科技(深圳)有限公司 一种播放处理方法及终端设备
US10231001B2 (en) 2016-05-24 2019-03-12 Divx, Llc Systems and methods for providing audio content during trick-play playback
US10129574B2 (en) 2016-05-24 2018-11-13 Divx, Llc Systems and methods for providing variable speeds in a trick-play mode
US10104143B1 (en) * 2016-06-03 2018-10-16 Amazon Technologies, Inc. Manifest segmentation
US10116719B1 (en) 2016-06-03 2018-10-30 Amazon Technologies, Inc. Customized dash manifest
US10432690B1 (en) * 2016-06-03 2019-10-01 Amazon Technologies, Inc. Manifest partitioning
JP6669403B2 (ja) * 2016-06-03 2020-03-18 キヤノン株式会社 通信装置、通信制御方法および通信システム
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US10812558B1 (en) * 2016-06-27 2020-10-20 Amazon Technologies, Inc. Controller to synchronize encoding of streaming content
US10652625B1 (en) 2016-06-27 2020-05-12 Amazon Technologies, Inc. Synchronization of multiple encoders for streaming content
US10652292B1 (en) * 2016-06-28 2020-05-12 Amazon Technologies, Inc. Synchronization of multiple encoders for streaming content
US10389785B2 (en) * 2016-07-17 2019-08-20 Wei-Chung Chang Method for adaptively streaming an audio/visual material
US10367865B2 (en) * 2016-07-28 2019-07-30 Verizon Digital Media Services Inc. Encodingless transmuxing
EP3930234B1 (en) * 2016-08-11 2023-09-06 Telefonaktiebolaget LM Ericsson (publ) Improved adaptive bit rate streaming of live content
EP3497909B1 (en) 2016-08-11 2022-06-01 Telefonaktiebolaget LM Ericsson (publ) Improved adaptive bit rate streaming of live content with manifest update push notification or long poll
US10412412B1 (en) * 2016-09-30 2019-09-10 Amazon Technologies, Inc. Using reference-only decoding of non-viewed sections of a projected video
CN109792444B (zh) * 2016-09-30 2022-11-15 网络洞察力知识产权公司 实况内容分发系统中的播出缓冲
US10553029B1 (en) 2016-09-30 2020-02-04 Amazon Technologies, Inc. Using reference-only decoding of non-viewed sections of a projected video
US10063902B2 (en) 2016-12-22 2018-08-28 Cisco Technology, Inc. ABR network profile selection engine
US10476943B2 (en) * 2016-12-30 2019-11-12 Facebook, Inc. Customizing manifest file for enhancing media streaming
US10440085B2 (en) 2016-12-30 2019-10-08 Facebook, Inc. Effectively fetch media content for enhancing media streaming
US20190342356A1 (en) * 2017-01-02 2019-11-07 Koninklijke Kpn N.V. Selectively updating a dynamic manifest file
US10609356B1 (en) 2017-01-23 2020-03-31 Amazon Technologies, Inc. Using a temporal enhancement layer to encode and decode stereoscopic video content
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
GB2583826B (en) * 2017-04-21 2021-05-19 Zenimax Media Inc Systems and methods for rendering & pre-encoded load estimation based encoder hinting
US10887645B2 (en) * 2017-07-13 2021-01-05 Qualcomm Incorporated Processing media data using file tracks for web content
US10587883B2 (en) * 2017-07-14 2020-03-10 Qualcomm Incorporated Region-wise packing, content coverage, and signaling frame packing for media content
CN110971564B (zh) * 2018-09-28 2021-03-30 华为技术有限公司 传输媒体数据的方法、客户端和服务器
US11381867B2 (en) 2019-01-08 2022-07-05 Qualcomm Incorporated Multiple decoder interface for streamed media data
US11240280B2 (en) * 2019-02-19 2022-02-01 Apple Inc. Low latency streaming media
US11825142B2 (en) 2019-03-21 2023-11-21 Divx, Llc Systems and methods for multimedia swarms
US11831879B2 (en) * 2019-09-20 2023-11-28 Comcast Cable Communications, Llc Methods, systems, and apparatuses for enhanced adaptive bitrate segmentation
US11765421B2 (en) 2020-02-28 2023-09-19 Hulu, LLC Client based storage of remote element resolutions
WO2021174219A1 (en) * 2020-02-28 2021-09-02 Hulu, LLC Identification of elements in a group for dynamic element replacement
US11166055B2 (en) * 2020-03-31 2021-11-02 Viacom International Inc. Fast video stream startup
EP3958579A1 (en) * 2020-08-17 2022-02-23 THEO Technologies A media decoder for decoding streamed media and a method therefor
US11880921B2 (en) 2022-01-27 2024-01-23 Cobalt Inc. System and method for multimedia presentation

Family Cites Families (563)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3909721A (en) 1972-01-31 1975-09-30 Signatron Signal processing system
US4365338A (en) 1980-06-27 1982-12-21 Harris Corporation Technique for high rate digital transmission over a dynamic dispersive channel
US4965825A (en) 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
US4589112A (en) 1984-01-26 1986-05-13 International Business Machines Corporation System for multiple error detection with single and double bit error correction
US4901319A (en) 1988-03-18 1990-02-13 General Electric Company Transmission system with adaptive interleaving
GB8815978D0 (en) 1988-07-05 1988-08-10 British Telecomm Method & apparatus for encoding decoding & transmitting data in compressed form
US5136592A (en) 1989-06-28 1992-08-04 Digital Equipment Corporation Error detection and correction system for long burst errors
US5701582A (en) 1989-08-23 1997-12-23 Delta Beta Pty. Ltd. Method and apparatus for efficient transmissions of programs
US7594250B2 (en) 1992-04-02 2009-09-22 Debey Henry C Method and system of program transmission optimization using a redundant transmission sequence
US5421031A (en) 1989-08-23 1995-05-30 Delta Beta Pty. Ltd. Program transmission optimisation
US5329369A (en) 1990-06-01 1994-07-12 Thomson Consumer Electronics, Inc. Asymmetric picture compression
US5455823A (en) 1990-11-06 1995-10-03 Radio Satellite Corporation Integrated communications terminal
US5164963A (en) 1990-11-07 1992-11-17 At&T Bell Laboratories Coding for digital transmission
US5465318A (en) 1991-03-28 1995-11-07 Kurzweil Applied Intelligence, Inc. Method for generating a speech recognition model for a non-vocabulary utterance
US5379297A (en) 1992-04-09 1995-01-03 Network Equipment Technologies, Inc. Concurrent multi-channel segmentation and reassembly processors for asynchronous transfer mode
EP0543070A1 (en) 1991-11-21 1993-05-26 International Business Machines Corporation Coding system and method using quaternary codes
US6850252B1 (en) 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US5371532A (en) 1992-05-15 1994-12-06 Bell Communications Research, Inc. Communications architecture and method for distributing information services
US5425050A (en) 1992-10-23 1995-06-13 Massachusetts Institute Of Technology Television transmission system using spread spectrum and orthogonal frequency-division multiplex
US5372532A (en) 1993-01-26 1994-12-13 Robertson, Jr.; George W. Swivel head cap connector
EP0613249A1 (en) 1993-02-12 1994-08-31 Altera Corporation Custom look-up table with reduced number of architecture bits
DE4316297C1 (de) 1993-05-14 1994-04-07 Fraunhofer Ges Forschung Frequenzanalyseverfahren
AU665716B2 (en) 1993-07-05 1996-01-11 Mitsubishi Denki Kabushiki Kaisha A transmitter for encoding error correction codes and a receiver for decoding error correction codes on a transmission frame
US5590405A (en) 1993-10-29 1996-12-31 Lucent Technologies Inc. Communication technique employing variable information transmission
JP2576776B2 (ja) 1993-11-10 1997-01-29 日本電気株式会社 パケット伝送方法・パケット伝送装置
US5517508A (en) 1994-01-26 1996-05-14 Sony Corporation Method and apparatus for detection and error correction of packetized digital data
CA2140850C (en) 1994-02-24 1999-09-21 Howard Paul Katseff Networked system for display of multimedia presentations
US5566208A (en) 1994-03-17 1996-10-15 Philips Electronics North America Corp. Encoder buffer having an effective size which varies automatically with the channel bit-rate
US5432787A (en) 1994-03-24 1995-07-11 Loral Aerospace Corporation Packet data transmission system with adaptive data recovery method
US5757415A (en) 1994-05-26 1998-05-26 Sony Corporation On-demand data transmission by dividing input data into blocks and each block into sub-blocks such that the sub-blocks are re-arranged for storage to data storage means
US5802394A (en) 1994-06-06 1998-09-01 Starlight Networks, Inc. Method for accessing one or more streams in a video storage system using multiple queues and maintaining continuity thereof
US5739864A (en) 1994-08-24 1998-04-14 Macrovision Corporation Apparatus for inserting blanked formatted fingerprint data (source ID, time/date) in to a video signal
US5568614A (en) 1994-07-29 1996-10-22 International Business Machines Corporation Data streaming between peer subsystems of a computer system
US5668948A (en) 1994-09-08 1997-09-16 International Business Machines Corporation Media streamer with control node enabling same isochronous streams to appear simultaneously at output ports or different streams to appear simultaneously at output ports
US5926205A (en) 1994-10-19 1999-07-20 Imedia Corporation Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
US5659614A (en) 1994-11-28 1997-08-19 Bailey, Iii; John E. Method and system for creating and storing a backup copy of file data stored on a computer
US5617541A (en) 1994-12-21 1997-04-01 International Computer Science Institute System for packetizing data encoded corresponding to priority levels where reconstructed data corresponds to fractionalized priority level and received fractionalized packets
JP3614907B2 (ja) 1994-12-28 2005-01-26 株式会社東芝 データ再送制御方法及びデータ再送制御システム
EP0823153A4 (en) 1995-04-27 1999-10-20 Stevens Inst Technology HIGH INTEGRITY TRANSPORT METHOD FOR TIME-CRITICAL MULTIMEDIA NETWORK APPLICATIONS
US5835165A (en) 1995-06-07 1998-11-10 Lsi Logic Corporation Reduction of false locking code words in concatenated decoders
US5805825A (en) 1995-07-26 1998-09-08 Intel Corporation Method for semi-reliable, unidirectional broadcast information services
US6079041A (en) 1995-08-04 2000-06-20 Sanyo Electric Co., Ltd. Digital modulation circuit and digital demodulation circuit
US5754563A (en) 1995-09-11 1998-05-19 Ecc Technologies, Inc. Byte-parallel system for implementing reed-solomon error-correcting codes
AU713535B2 (en) * 1995-09-29 1999-12-02 Rohm And Haas Company Wood preservative
KR0170298B1 (ko) 1995-10-10 1999-04-15 김광호 디지탈 비디오 테이프의 기록 방법
US5751336A (en) 1995-10-12 1998-05-12 International Business Machines Corporation Permutation based pyramid block transmission scheme for broadcasting in video-on-demand storage systems
JP3305183B2 (ja) 1996-01-12 2002-07-22 株式会社東芝 ディジタル放送受信端末装置
US6012159A (en) 1996-01-17 2000-01-04 Kencast, Inc. Method and system for error-free data transfer
US5852565A (en) 1996-01-30 1998-12-22 Demografx Temporal and resolution layering in advanced television
US5936659A (en) 1996-01-31 1999-08-10 Telcordia Technologies, Inc. Method for video delivery using pyramid broadcasting
US5903775A (en) 1996-06-06 1999-05-11 International Business Machines Corporation Method for the sequential transmission of compressed video information at varying data rates
US5745504A (en) 1996-06-25 1998-04-28 Telefonaktiebolaget Lm Ericsson Bit error resilient variable length code
US5940863A (en) 1996-07-26 1999-08-17 Zenith Electronics Corporation Apparatus for de-rotating and de-interleaving data including plural memory devices and plural modulo memory address generators
US5936949A (en) 1996-09-05 1999-08-10 Netro Corporation Wireless ATM metropolitan area network
KR100261706B1 (ko) 1996-12-17 2000-07-15 가나이 쓰도무 디지탈방송신호의 수신장치와 수신 및 기록재생장치
US6044485A (en) 1997-01-03 2000-03-28 Ericsson Inc. Transmitter method and transmission system using adaptive coding based on channel characteristics
US6141053A (en) 1997-01-03 2000-10-31 Saukkonen; Jukka I. Method of optimizing bandwidth for transmitting compressed video data streams
US6011590A (en) 1997-01-03 2000-01-04 Ncr Corporation Method of transmitting compressed information to minimize buffer space
US5946357A (en) 1997-01-17 1999-08-31 Telefonaktiebolaget L M Ericsson Apparatus, and associated method, for transmitting and receiving a multi-stage, encoded and interleaved digital communication signal
US5983383A (en) 1997-01-17 1999-11-09 Qualcom Incorporated Method and apparatus for transmitting and receiving concatenated code data
EP0854650A3 (en) 1997-01-17 2001-05-02 NOKIA TECHNOLOGY GmbH Method for addressing a service in digital video broadcasting
US6014706A (en) 1997-01-30 2000-01-11 Microsoft Corporation Methods and apparatus for implementing control functions in a streamed video display system
EP1024672A1 (en) 1997-03-07 2000-08-02 Sanyo Electric Co., Ltd. Digital broadcast receiver and display
US6115420A (en) 1997-03-14 2000-09-05 Microsoft Corporation Digital video signal encoder and encoding method
DE19716011A1 (de) 1997-04-17 1998-10-22 Abb Research Ltd Verfahren und Vorrichtung zur Informationsübertragung über Stromversorgungsleitungen
US6226259B1 (en) 1997-04-29 2001-05-01 Canon Kabushiki Kaisha Device and method for transmitting information device and method for processing information
US5970098A (en) 1997-05-02 1999-10-19 Globespan Technologies, Inc. Multilevel encoder
US5844636A (en) 1997-05-13 1998-12-01 Hughes Electronics Corporation Method and apparatus for receiving and recording digital packet data
WO1998053454A1 (fr) 1997-05-19 1998-11-26 Sanyo Electric Co., Ltd. Modulation et demodulation numeriques
JP4110593B2 (ja) 1997-05-19 2008-07-02 ソニー株式会社 信号記録方法及び信号記録装置
JPH1141211A (ja) 1997-05-19 1999-02-12 Sanyo Electric Co Ltd ディジタル変調回路と変調方法、ディジタル復調回路と復調方法
US6128649A (en) 1997-06-02 2000-10-03 Nortel Networks Limited Dynamic selection of media streams for display
US6081907A (en) 1997-06-09 2000-06-27 Microsoft Corporation Data delivery system and method for delivering data and redundant information over a unidirectional network
US5917852A (en) 1997-06-11 1999-06-29 L-3 Communications Corporation Data scrambling system and method and communications system incorporating same
KR100240869B1 (ko) 1997-06-25 2000-01-15 윤종용 이중 다이버서티 시스템을 위한 데이터 전송 방법
US6175944B1 (en) 1997-07-15 2001-01-16 Lucent Technologies Inc. Methods and apparatus for packetizing data for transmission through an erasure broadcast channel
US5933056A (en) 1997-07-15 1999-08-03 Exar Corporation Single pole current mode common-mode feedback circuit
US6047069A (en) 1997-07-17 2000-04-04 Hewlett-Packard Company Method and apparatus for preserving error correction capabilities during data encryption/decryption
US6904110B2 (en) 1997-07-31 2005-06-07 Francois Trans Channel equalization system and method
US6178536B1 (en) 1997-08-14 2001-01-23 International Business Machines Corporation Coding scheme for file backup and systems based thereon
FR2767940A1 (fr) 1997-08-29 1999-02-26 Canon Kk Procedes et dispositifs de codage et de decodage et appareils les mettant en oeuvre
EP0903955A1 (en) 1997-09-04 1999-03-24 STMicroelectronics S.r.l. Modular architecture PET decoder for ATM networks
US6088330A (en) 1997-09-09 2000-07-11 Bruck; Joshua Reliable array of distributed computing nodes
US6134596A (en) 1997-09-18 2000-10-17 Microsoft Corporation Continuous media file server system and method for scheduling network resources to play multiple files having different data transmission rates
US6272658B1 (en) 1997-10-27 2001-08-07 Kencast, Inc. Method and system for reliable broadcasting of data files and streams
US6163870A (en) 1997-11-06 2000-12-19 Compaq Computer Corporation Message encoding with irregular graphing
US6081918A (en) 1997-11-06 2000-06-27 Spielman; Daniel A. Loss resilient code with cascading series of redundant layers
US6073250A (en) 1997-11-06 2000-06-06 Luby; Michael G. Loss resilient decoding technique
US6195777B1 (en) 1997-11-06 2001-02-27 Compaq Computer Corporation Loss resilient code with double heavy tailed series of redundant layers
US6081909A (en) 1997-11-06 2000-06-27 Digital Equipment Corporation Irregularly graphed encoding technique
JP3472115B2 (ja) 1997-11-25 2003-12-02 Kddi株式会社 マルチチャンネルを用いるビデオデータ伝送方法及びその装置
US5870412A (en) 1997-12-12 1999-02-09 3Com Corporation Forward error correction system for packet based real time media
US6243846B1 (en) 1997-12-12 2001-06-05 3Com Corporation Forward error correction system for packet based data and real time media, using cross-wise parity calculation
US6849803B1 (en) 1998-01-15 2005-02-01 Arlington Industries, Inc. Electrical connector
US6097320A (en) 1998-01-20 2000-08-01 Silicon Systems, Inc. Encoder/decoder system with suppressed error propagation
US6226301B1 (en) 1998-02-19 2001-05-01 Nokia Mobile Phones Ltd Method and apparatus for segmentation and assembly of data frames for retransmission in a telecommunications system
US6141788A (en) 1998-03-13 2000-10-31 Lucent Technologies Inc. Method and apparatus for forward error correction in packet networks
US6278716B1 (en) 1998-03-23 2001-08-21 University Of Massachusetts Multicast with proactive forward error correction
US6459811B1 (en) 1998-04-02 2002-10-01 Sarnoff Corporation Bursty data transmission of compressed video data
US6185265B1 (en) 1998-04-07 2001-02-06 Worldspace Management Corp. System for time division multiplexing broadcast channels with R-1/2 or R-3/4 convolutional coding for satellite transmission via on-board baseband processing payload or transparent payload
US6067646A (en) 1998-04-17 2000-05-23 Ameritech Corporation Method and system for adaptive interleaving
US6018359A (en) 1998-04-24 2000-01-25 Massachusetts Institute Of Technology System and method for multicast video-on-demand delivery system
US6445717B1 (en) 1998-05-01 2002-09-03 Niwot Networks, Inc. System for recovering lost information in a data stream
US6421387B1 (en) 1998-05-15 2002-07-16 North Carolina State University Methods and systems for forward error correction based loss recovery for interactive video transmission
US6937618B1 (en) 1998-05-20 2005-08-30 Sony Corporation Separating device and method and signal receiving device and method
US6333926B1 (en) 1998-08-11 2001-12-25 Nortel Networks Limited Multiple user CDMA basestation modem
EP1110344A1 (en) 1998-09-04 2001-06-27 AT&T Corp. Combined channel coding and space-block coding in a multi-antenna arrangement
US6415326B1 (en) 1998-09-15 2002-07-02 Microsoft Corporation Timeline correlation between multiple timeline-altered media streams
US7243285B2 (en) 1998-09-23 2007-07-10 Digital Fountain, Inc. Systems and methods for broadcasting information additive codes
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US6320520B1 (en) 1998-09-23 2001-11-20 Digital Fountain Information additive group code generator and decoder for communications systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6704370B1 (en) 1998-10-09 2004-03-09 Nortel Networks Limited Interleaving methodology and apparatus for CDMA
IT1303735B1 (it) 1998-11-11 2001-02-23 Falorni Italia Farmaceutici S Acidi ialuronici reticolati e loro usi medici.
US6408128B1 (en) 1998-11-12 2002-06-18 Max Abecassis Replaying with supplementary information a segment of a video
US7157314B2 (en) 1998-11-16 2007-01-02 Sandisk Corporation Vertically stacked field programmable nonvolatile memory and method of fabrication
JP2000151426A (ja) 1998-11-17 2000-05-30 Toshiba Corp インターリーブ・デインターリーブ回路
US6166544A (en) 1998-11-25 2000-12-26 General Electric Company MR imaging system with interactive image contrast control
US6876623B1 (en) 1998-12-02 2005-04-05 Agere Systems Inc. Tuning scheme for code division multiplex broadcasting system
ES2185244T3 (es) 1998-12-03 2003-04-16 Fraunhofer Ges Forschung Aparato y procedimiento para transmitir informacion y aparato y procedimiento para recibir informacion.
US6637031B1 (en) 1998-12-04 2003-10-21 Microsoft Corporation Multimedia presentation latency minimization
US6496980B1 (en) 1998-12-07 2002-12-17 Intel Corporation Method of providing replay on demand for streaming digital multimedia
US6223324B1 (en) 1999-01-05 2001-04-24 Agere Systems Guardian Corp. Multiple program unequal error protection for digital audio broadcasting and other applications
JP3926499B2 (ja) 1999-01-22 2007-06-06 株式会社日立国際電気 畳み込み符号軟判定復号方式の受信装置
US6618451B1 (en) 1999-02-13 2003-09-09 Altocom Inc Efficient reduced state maximum likelihood sequence estimator
US6041001A (en) 1999-02-25 2000-03-21 Lexar Media, Inc. Method of increasing data reliability of a flash memory device without compromising compatibility
WO2000052600A1 (fr) 1999-03-03 2000-09-08 Sony Corporation Emetteur, recepteur, systeme d'emetteur/recepteur, procede de transmission et procede de reception
US6466698B1 (en) 1999-03-25 2002-10-15 The United States Of America As Represented By The Secretary Of The Navy Efficient embedded image and video compression system using lifted wavelets
US6535920B1 (en) 1999-04-06 2003-03-18 Microsoft Corporation Analyzing, indexing and seeking of streaming information
US6609223B1 (en) 1999-04-06 2003-08-19 Kencast, Inc. Method for packet-level fec encoding, in which on a source packet-by-source packet basis, the error correction contributions of a source packet to a plurality of wildcard packets are computed, and the source packet is transmitted thereafter
JP3256517B2 (ja) 1999-04-06 2002-02-12 インターナショナル・ビジネス・マシーンズ・コーポレーション 符号化回路、回路、パリティ生成方法及び記憶媒体
US6804202B1 (en) 1999-04-08 2004-10-12 Lg Information And Communications, Ltd. Radio protocol for mobile communication system and method
US7885340B2 (en) 1999-04-27 2011-02-08 Realnetworks, Inc. System and method for generating multiple synchronized encoded representations of media data
FI113124B (fi) 1999-04-29 2004-02-27 Nokia Corp Tiedonsiirto
MY130203A (en) 1999-05-06 2007-06-29 Sony Corp Methods and apparatus for data processing, methods and apparatus for data reproducing and recording media
KR100416996B1 (ko) 1999-05-10 2004-02-05 삼성전자주식회사 이동 통신시스템에서 라디오링크프로토콜에 따른 가변 길이의 데이터 송수신 장치 및 방법
AU5140200A (en) 1999-05-26 2000-12-18 Enounce, Incorporated Method and apparatus for controlling time-scale modification during multi-media broadcasts
US6154452A (en) 1999-05-26 2000-11-28 Xm Satellite Radio Inc. Method and apparatus for continuous cross-channel interleaving
US6229824B1 (en) 1999-05-26 2001-05-08 Xm Satellite Radio Inc. Method and apparatus for concatenated convolutional endcoding and interleaving
JP2000353969A (ja) 1999-06-11 2000-12-19 Sony Corp デジタル音声放送の受信機
US6577599B1 (en) 1999-06-30 2003-06-10 Sun Microsystems, Inc. Small-scale reliable multicasting
IL141800A0 (en) 1999-07-06 2002-03-10 Samsung Electronics Co Ltd Rate matching device and method for a data communication system
US6643332B1 (en) 1999-07-09 2003-11-04 Lsi Logic Corporation Method and apparatus for multi-level coding of digital signals
US6279072B1 (en) 1999-07-22 2001-08-21 Micron Technology, Inc. Reconfigurable memory with selectable error correction storage
JP3451221B2 (ja) 1999-07-22 2003-09-29 日本無線株式会社 誤り訂正符号化装置、方法及び媒体、並びに誤り訂正符号復号装置、方法及び媒体
US6453440B1 (en) 1999-08-04 2002-09-17 Sun Microsystems, Inc. System and method for detecting double-bit errors and for correcting errors due to component failures
JP2001060934A (ja) 1999-08-20 2001-03-06 Matsushita Electric Ind Co Ltd Ofdm通信装置
US6430233B1 (en) 1999-08-30 2002-08-06 Hughes Electronics Corporation Single-LNB satellite data receiver
US6332163B1 (en) 1999-09-01 2001-12-18 Accenture, Llp Method for providing communication services over a computer network system
JP4284774B2 (ja) 1999-09-07 2009-06-24 ソニー株式会社 送信装置、受信装置、通信システム、送信方法及び通信方法
EP1131930B1 (en) 1999-09-27 2007-01-17 Koninklijke Philips Electronics N.V. Partitioning of file for emulating streaming
US7529806B1 (en) 1999-11-04 2009-05-05 Koninklijke Philips Electronics N.V. Partitioning of MP3 content file for emulating streaming
JP2001094625A (ja) 1999-09-27 2001-04-06 Canon Inc データ通信装置、データ通信方法及び記憶媒体
US20050160272A1 (en) 1999-10-28 2005-07-21 Timecertain, Llc System and method for providing trusted time in content of digital data files
US6523147B1 (en) 1999-11-11 2003-02-18 Ibiquity Digital Corporation Method and apparatus for forward error correction coding for an AM in-band on-channel digital audio broadcasting system
US6748441B1 (en) 1999-12-02 2004-06-08 Microsoft Corporation Data carousel receiving and caching
US6678855B1 (en) 1999-12-02 2004-01-13 Microsoft Corporation Selecting K in a data transmission carousel using (N,K) forward error correction
US6798791B1 (en) 1999-12-16 2004-09-28 Agere Systems Inc Cluster frame synchronization scheme for a satellite digital audio radio system
US6487692B1 (en) 1999-12-21 2002-11-26 Lsi Logic Corporation Reed-Solomon decoder
US20020009137A1 (en) 2000-02-01 2002-01-24 Nelson John E. Three-dimensional video broadcasting system
US6965636B1 (en) 2000-02-01 2005-11-15 2Wire, Inc. System and method for block error correction in packet-based digital communications
IL140504A0 (en) 2000-02-03 2002-02-10 Bandwiz Inc Broadcast system
US7304990B2 (en) 2000-02-03 2007-12-04 Bandwiz Inc. Method of encoding and transmitting data over a communication medium through division and segmentation
WO2001057667A1 (en) 2000-02-03 2001-08-09 Bandwiz, Inc. Data streaming
DE10009443A1 (de) 2000-02-29 2001-08-30 Philips Corp Intellectual Pty Empfänger und Verfahren zum Detektieren und Dekodieren eines DQPSK-modulierten und kanalkodierten Empfangssignals
US6765866B1 (en) 2000-02-29 2004-07-20 Mosaid Technologies, Inc. Link aggregation
US6384750B1 (en) 2000-03-23 2002-05-07 Mosaid Technologies, Inc. Multi-stage lookup for translating between signals of different bit lengths
US6510177B1 (en) 2000-03-24 2003-01-21 Microsoft Corporation System and method for layered video coding enhancement
JP2001274776A (ja) 2000-03-24 2001-10-05 Toshiba Corp 情報データ伝送システムとその送信装置及び受信装置
WO2001076077A2 (en) 2000-03-31 2001-10-11 Ted Szymanski Transmitter, receiver, and coding scheme to increase data rate and decrease bit error rate of an optical data link
US6473010B1 (en) 2000-04-04 2002-10-29 Marvell International, Ltd. Method and apparatus for determining error correction code failure rate for iterative decoding algorithms
US8572646B2 (en) 2000-04-07 2013-10-29 Visible World Inc. System and method for simultaneous broadcast for personalized messages
DE60121930T2 (de) 2000-04-08 2007-07-26 Sun Microsystems, Inc., Santa Clara Methode zum streamen einer einzelnen medienspur zu mehreren clients
US6631172B1 (en) 2000-05-01 2003-10-07 Lucent Technologies Inc. Efficient list decoding of Reed-Solomon codes for message recovery in the presence of high noise levels
US6742154B1 (en) 2000-05-25 2004-05-25 Ciena Corporation Forward error correction codes for digital optical network optimization
US6738942B1 (en) 2000-06-02 2004-05-18 Vitesse Semiconductor Corporation Product code based forward error correction system
US6694476B1 (en) 2000-06-02 2004-02-17 Vitesse Semiconductor Corporation Reed-solomon encoder and decoder
US7373413B1 (en) 2000-06-28 2008-05-13 Cisco Technology, Inc. Devices and methods for minimizing start up delay in transmission of streaming media
GB2366159B (en) 2000-08-10 2003-10-08 Mitel Corp Combination reed-solomon and turbo coding
US6834342B2 (en) 2000-08-16 2004-12-21 Eecad, Inc. Method and system for secure communication over unstable public connections
KR100447162B1 (ko) 2000-08-19 2004-09-04 엘지전자 주식회사 래디오 링크 콘트롤(rlc)에서 프로토콜 데이터 유닛(pdu) 정보의 길이 지시자(li) 처리방법
JP2002073625A (ja) 2000-08-24 2002-03-12 Nippon Hoso Kyokai <Nhk> 放送番組に同期した情報提供の方法、サーバ及び媒体
US7340664B2 (en) 2000-09-20 2008-03-04 Lsi Logic Corporation Single engine turbo decoder with single frame size buffer for interleaving/deinterleaving
US7031257B1 (en) 2000-09-22 2006-04-18 Lucent Technologies Inc. Radio link protocol (RLP)/point-to-point protocol (PPP) design that passes corrupted data and error location information among layers in a wireless data transmission protocol
US7151754B1 (en) 2000-09-22 2006-12-19 Lucent Technologies Inc. Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding
US6486803B1 (en) 2000-09-22 2002-11-26 Digital Fountain, Inc. On demand encoding with a window
US7490344B2 (en) 2000-09-29 2009-02-10 Visible World, Inc. System and method for seamless switching
US6411223B1 (en) 2000-10-18 2002-06-25 Digital Fountain, Inc. Generating high weight encoding symbols using a basis
US7613183B1 (en) 2000-10-31 2009-11-03 Foundry Networks, Inc. System and method for router data aggregation and delivery
US6694478B1 (en) 2000-11-07 2004-02-17 Agere Systems Inc. Low delay channel codes for correcting bursts of lost packets
US6732325B1 (en) 2000-11-08 2004-05-04 Digeo, Inc. Error-correction with limited working storage
US20020133247A1 (en) 2000-11-11 2002-09-19 Smith Robert D. System and method for seamlessly switching between media streams
US7072971B2 (en) 2000-11-13 2006-07-04 Digital Foundation, Inc. Scheduling of multiple files for serving on a server
US7240358B2 (en) 2000-12-08 2007-07-03 Digital Fountain, Inc. Methods and apparatus for scheduling, serving, receiving media-on demand for clients, servers arranged according to constraints on resources
EP1342363B9 (en) 2000-12-15 2012-09-12 BRITISH TELECOMMUNICATIONS public limited company Transmission and reception of audio and/or video material
US7447791B2 (en) 2000-12-15 2008-11-04 British Telecommunications Public Limited Company Transmission and reception of audio and/or video material
US6850736B2 (en) 2000-12-21 2005-02-01 Tropian, Inc. Method and apparatus for reception quality indication in wireless communication
US7143433B1 (en) 2000-12-27 2006-11-28 Infovalve Computing Inc. Video distribution system using dynamic segmenting of video data files
US20020085013A1 (en) 2000-12-29 2002-07-04 Lippincott Louis A. Scan synchronized dual frame buffer graphics subsystem
NO315887B1 (no) 2001-01-04 2003-11-03 Fast Search & Transfer As Fremgangsmater ved overforing og soking av videoinformasjon
US8595340B2 (en) 2001-01-18 2013-11-26 Yahoo! Inc. Method and system for managing digital content, including streaming media
FI118830B (fi) 2001-02-08 2008-03-31 Nokia Corp Tietovirran toisto
US6868083B2 (en) 2001-02-16 2005-03-15 Hewlett-Packard Development Company, L.P. Method and system for packet communication employing path diversity
US20020129159A1 (en) 2001-03-09 2002-09-12 Michael Luby Multi-output packet server with independent streams
KR100464360B1 (ko) 2001-03-30 2005-01-03 삼성전자주식회사 고속 패킷 데이터 전송 이동통신시스템에서 패킷 데이터채널에 대한 효율적인 에너지 분배 장치 및 방법
US20020143953A1 (en) 2001-04-03 2002-10-03 International Business Machines Corporation Automatic affinity within networks performing workload balancing
US6785836B2 (en) 2001-04-11 2004-08-31 Broadcom Corporation In-place data transformation for fault-tolerant disk storage systems
US6820221B2 (en) 2001-04-13 2004-11-16 Hewlett-Packard Development Company, L.P. System and method for detecting process and network failures in a distributed system
US7010052B2 (en) 2001-04-16 2006-03-07 The Ohio University Apparatus and method of CTCM encoding and decoding for a digital communication system
US7035468B2 (en) 2001-04-20 2006-04-25 Front Porch Digital Inc. Methods and apparatus for archiving, indexing and accessing audio and video data
TWI246841B (en) 2001-04-22 2006-01-01 Koninkl Philips Electronics Nv Digital transmission system and method for transmitting digital signals
US20020191116A1 (en) 2001-04-24 2002-12-19 Damien Kessler System and data format for providing seamless stream switching in a digital video recorder
US20020194608A1 (en) * 2001-04-26 2002-12-19 Goldhor Richard S. Method and apparatus for a playback enhancement system implementing a "Say Again" feature
US6497479B1 (en) 2001-04-27 2002-12-24 Hewlett-Packard Company Higher organic inks with good reliability and drytime
US7962482B2 (en) 2001-05-16 2011-06-14 Pandora Media, Inc. Methods and systems for utilizing contextual feedback to generate and modify playlists
US6633856B2 (en) 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US7076478B2 (en) 2001-06-26 2006-07-11 Microsoft Corporation Wrapper playlists on streaming media services
US6745364B2 (en) 2001-06-28 2004-06-01 Microsoft Corporation Negotiated/dynamic error correction for streamed media
JP2003018568A (ja) 2001-06-29 2003-01-17 Matsushita Electric Ind Co Ltd 再生システム、サーバ装置及び再生装置
JP2003022232A (ja) 2001-07-06 2003-01-24 Fujitsu Ltd コンテンツデータ転送システム
JP2003019012A (ja) 2001-07-09 2003-01-21 Akira Okabe 発光ステッキ
US6895547B2 (en) 2001-07-11 2005-05-17 International Business Machines Corporation Method and apparatus for low density parity check encoding of data
US6928603B1 (en) 2001-07-19 2005-08-09 Adaptix, Inc. System and method for interference mitigation using adaptive forward error correction in a wireless RF data transmission system
US6961890B2 (en) 2001-08-16 2005-11-01 Hewlett-Packard Development Company, L.P. Dynamic variable-length error correction code
US7110412B2 (en) 2001-09-18 2006-09-19 Sbc Technology Resources, Inc. Method and system to transport high-quality video signals
FI115418B (fi) 2001-09-20 2005-04-29 Oplayo Oy Adaptiivinen mediavirta
US6990624B2 (en) 2001-10-12 2006-01-24 Agere Systems Inc. High speed syndrome-based FEC encoder and decoder and system using same
US7480703B2 (en) 2001-11-09 2009-01-20 Sony Corporation System, method, and computer program product for remotely determining the configuration of a multi-media content user based on response of the user
US7363354B2 (en) 2001-11-29 2008-04-22 Nokia Corporation System and method for identifying and accessing network services
US7003712B2 (en) 2001-11-29 2006-02-21 Emin Martinian Apparatus and method for adaptive, multimode decoding
JP2003174489A (ja) 2001-12-05 2003-06-20 Ntt Docomo Inc ストリーミング配信装置、ストリーミング配信方法
WO2003053040A2 (en) * 2001-12-15 2003-06-26 Thomson Licensing S.A. System and method for modifying a video stream based on a client or network environment
FI114527B (fi) 2002-01-23 2004-10-29 Nokia Corp Kuvakehysten ryhmittely videokoodauksessa
EP1670260A3 (en) 2002-01-23 2010-03-03 Nokia Corporation Grouping of image frames in video coding
US7483489B2 (en) 2002-01-30 2009-01-27 Nxp B.V. Streaming multimedia data over a network having a variable bandwith
US7249291B2 (en) 2002-02-15 2007-07-24 Digital Fountain, Inc. System and method for reliably communicating the content of a live data stream
JP4126928B2 (ja) 2002-02-28 2008-07-30 日本電気株式会社 プロキシサーバ及びプロキシ制御プログラム
JP4116470B2 (ja) 2002-03-06 2008-07-09 ヒューレット・パッカード・カンパニー メディア・ストリーミング配信システム
FR2837332A1 (fr) 2002-03-15 2003-09-19 Thomson Licensing Sa Dispositif et procede d'insertion de codes de correction d'erreurs et de reconstitution de flux de donnees, et produits correspondants
EP1495566A4 (en) 2002-04-15 2005-07-20 Nokia Corp RLP LOGIC LAYER OF A COMMUNICATION STATION
US6677864B2 (en) 2002-04-18 2004-01-13 Telefonaktiebolaget L.M. Ericsson Method for multicast over wireless networks
JP3689063B2 (ja) 2002-04-19 2005-08-31 松下電器産業株式会社 データ受信装置及びデータ配信システム
JP3629008B2 (ja) 2002-04-19 2005-03-16 松下電器産業株式会社 データ受信装置及びデータ配信システム
US7529400B2 (en) 2002-04-25 2009-05-05 Sharp Kabushiki Kaisha Image encoder, image decoder, record medium, and image recorder
US20030204602A1 (en) 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7177658B2 (en) 2002-05-06 2007-02-13 Qualcomm, Incorporated Multi-media broadcast and multicast service (MBMS) in a wireless communications system
US7200388B2 (en) 2002-05-31 2007-04-03 Nokia Corporation Fragmented delivery of multimedia
WO2003103212A2 (en) 2002-06-04 2003-12-11 Qualcomm Incorporated System for multimedia rendering in a portable device
PE20040139A1 (es) * 2002-06-04 2004-04-15 Qualcomm Inc Metodo y aparato para reproducir contenido multimedia en un dispositivo portatil que tiene un procesador incorporado
US20040083015A1 (en) 2002-06-04 2004-04-29 Srinivas Patwari System for multimedia rendering in a portable device
WO2003105484A1 (en) 2002-06-11 2003-12-18 Telefonaktiebolaget L M Ericsson (Publ) Generation of mixed media streams
ES2445761T3 (es) 2002-06-11 2014-03-05 Digital Fountain, Inc. Descodificación de códigos de reacción en cadena mediante inactivación
US6956875B2 (en) 2002-06-19 2005-10-18 Atlinks Usa, Inc. Technique for communicating variable bit rate data over a constant bit rate link
JP4154569B2 (ja) 2002-07-10 2008-09-24 日本電気株式会社 画像圧縮伸長装置
JP4120461B2 (ja) 2002-07-12 2008-07-16 住友電気工業株式会社 伝送データ生成方法及び伝送データ生成装置
CN101232616B (zh) 2002-07-16 2015-07-22 诺基亚有限公司 用于在视频编码中随机存取和逐步更新图像的方法
AU2003252347A1 (en) 2002-07-31 2004-03-11 Sharp Kabushiki Kaisha Data communication device, its intermittent communication method, program describing its method, and recording medium on which program is recorded
JP2004070712A (ja) 2002-08-07 2004-03-04 Nippon Telegr & Teleph Corp <Ntt> データ配信方法,データ配信システム,分割配信データ受信方法,分割配信データ受信装置および分割配信データ受信プログラム
AU2002319335B2 (en) 2002-08-13 2008-12-04 Nokia Corporation Symbol interleaving
US6985459B2 (en) 2002-08-21 2006-01-10 Qualcomm Incorporated Early transmission and playout of packets in wireless communication systems
WO2004030273A1 (ja) 2002-09-27 2004-04-08 Fujitsu Limited データ配信方法、システム、伝送方法及びプログラム
JP3534742B1 (ja) 2002-10-03 2004-06-07 株式会社エヌ・ティ・ティ・ドコモ 動画像復号方法、動画像復号装置、及び動画像復号プログラム
EP2357732B1 (en) 2002-10-05 2022-04-06 QUALCOMM Incorporated Systematic encoding and decoding of chain reaction codes
JP2004135013A (ja) 2002-10-10 2004-04-30 Matsushita Electric Ind Co Ltd 伝送装置及び伝送方法
FI116816B (fi) 2002-10-14 2006-02-28 Nokia Corp Median suoratoisto
US8320301B2 (en) 2002-10-25 2012-11-27 Qualcomm Incorporated MIMO WLAN system
US7289451B2 (en) 2002-10-25 2007-10-30 Telefonaktiebolaget Lm Ericsson (Publ) Delay trading between communication links
WO2004040831A1 (en) 2002-10-30 2004-05-13 Koninklijke Philips Electronics N.V. Adaptative forward error control scheme
JP2004165922A (ja) 2002-11-12 2004-06-10 Sony Corp 情報処理装置および方法、並びにプログラム
ATE410029T1 (de) 2002-11-18 2008-10-15 British Telecomm Videoübertragung
GB0226872D0 (en) 2002-11-18 2002-12-24 British Telecomm Video transmission
JP3935419B2 (ja) 2002-11-19 2007-06-20 Kddi株式会社 動画像符号化ビットレート選択方式
KR100502609B1 (ko) 2002-11-21 2005-07-20 한국전자통신연구원 Ldpc 코드를 이용한 부호화기 및 부호화 방법
US7086718B2 (en) 2002-11-23 2006-08-08 Silverbrook Research Pty Ltd Thermal ink jet printhead with high nozzle areal density
JP2004192140A (ja) 2002-12-09 2004-07-08 Sony Corp データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
JP2004193992A (ja) 2002-12-11 2004-07-08 Sony Corp 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
US8135073B2 (en) 2002-12-19 2012-03-13 Trident Microsystems (Far East) Ltd Enhancing video images depending on prior image enhancements
US7164882B2 (en) 2002-12-24 2007-01-16 Poltorak Alexander I Apparatus and method for facilitating a purchase using information provided on a media playing device
US7293222B2 (en) 2003-01-29 2007-11-06 Digital Fountain, Inc. Systems and processes for fast encoding of hamming codes
US7525994B2 (en) 2003-01-30 2009-04-28 Avaya Inc. Packet data flow identification for multiplexing
US7756002B2 (en) 2003-01-30 2010-07-13 Texas Instruments Incorporated Time-frequency interleaved orthogonal frequency division multiplexing ultra wide band physical layer
US7231404B2 (en) 2003-01-31 2007-06-12 Nokia Corporation Datacast file transmission with meta-data retention
US7062272B2 (en) 2003-02-18 2006-06-13 Qualcomm Incorporated Method and apparatus to track count of broadcast content recipients in a wireless telephone network
EP1455504B1 (en) 2003-03-07 2014-11-12 Samsung Electronics Co., Ltd. Apparatus and method for processing audio signal and computer readable recording medium storing computer program for the method
JP4173755B2 (ja) 2003-03-24 2008-10-29 富士通株式会社 データ伝送サーバ
US7610487B2 (en) 2003-03-27 2009-10-27 Microsoft Corporation Human input security codes
US7266147B2 (en) 2003-03-31 2007-09-04 Sharp Laboratories Of America, Inc. Hypothetical reference decoder
JP2004343701A (ja) 2003-04-21 2004-12-02 Matsushita Electric Ind Co Ltd データ受信再生装置、データ受信再生方法及びデータ受信再生処理プログラム
US7408486B2 (en) 2003-04-21 2008-08-05 Qbit Corporation System and method for using a microlet-based modem
JP4379779B2 (ja) 2003-04-28 2009-12-09 Kddi株式会社 映像配信方式
US20050041736A1 (en) 2003-05-07 2005-02-24 Bernie Butler-Smith Stereoscopic television signal processing method, transmission system and viewer enhancements
KR100492567B1 (ko) 2003-05-13 2005-06-03 엘지전자 주식회사 이동통신 시스템의 http 기반 비디오 스트리밍 장치및 방법
US7113773B2 (en) 2003-05-16 2006-09-26 Qualcomm Incorporated Reliable reception of broadcast/multicast content
JP2004348824A (ja) 2003-05-21 2004-12-09 Toshiba Corp Eccエンコード方法、eccエンコード装置
US8161116B2 (en) 2003-05-23 2012-04-17 Kirusa, Inc. Method and system for communicating a data file over a network
JP2004362099A (ja) 2003-06-03 2004-12-24 Sony Corp サーバ装置、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
MXPA05013237A (es) 2003-06-07 2006-03-09 Samsung Electronics Co Ltd Aparato y metodo para la organizacion e interpretacion de datos multimedia en un medio de grabacion.
KR101003413B1 (ko) 2003-06-12 2010-12-23 엘지전자 주식회사 이동통신 단말기의 전송데이터 압축/해제 방법
US7603689B2 (en) 2003-06-13 2009-10-13 Microsoft Corporation Fast start-up for digital video streams
RU2265960C2 (ru) 2003-06-16 2005-12-10 Федеральное государственное унитарное предприятие "Калужский научно-исследовательский институт телемеханических устройств" Способ передачи информации с использованием адаптивного перемежения
US7391717B2 (en) 2003-06-30 2008-06-24 Microsoft Corporation Streaming of variable bit rate multimedia content
US20050004997A1 (en) 2003-07-01 2005-01-06 Nokia Corporation Progressive downloading of timed multimedia content
US8149939B2 (en) 2003-07-07 2012-04-03 Samsung Electronics Co., Ltd. System of robust DTV signal transmissions that legacy DTV receivers will disregard
US7254754B2 (en) 2003-07-14 2007-08-07 International Business Machines Corporation Raid 3+3
KR100532450B1 (ko) 2003-07-16 2005-11-30 삼성전자주식회사 에러에 대해 강인한 특성을 가지는 데이터 기록 방법,이에 적합한 데이터 재생 방법, 그리고 이에 적합한 장치들
US20050028067A1 (en) 2003-07-31 2005-02-03 Weirauch Charles R. Data with multiple sets of error correction codes
US8694869B2 (en) 2003-08-21 2014-04-08 QUALCIMM Incorporated Methods for forward error correction coding above a radio link control layer and related apparatus
IL157885A0 (en) 2003-09-11 2004-03-28 Bamboo Mediacasting Ltd Iterative forward error correction
IL157886A0 (en) 2003-09-11 2009-02-11 Bamboo Mediacasting Ltd Secure multicast transmission
JP4183586B2 (ja) 2003-09-12 2008-11-19 三洋電機株式会社 映像表示装置
JP4988346B2 (ja) 2003-09-15 2012-08-01 ザ・ディレクティービー・グループ・インコーポレイテッド ビデオネットワークにおける適応トランスコーディング及び速度変換のための方法及びシステム
KR100608715B1 (ko) 2003-09-27 2006-08-04 엘지전자 주식회사 QoS보장형 멀티미디어 스트리밍 서비스 시스템 및 방법
EP1521373B1 (en) 2003-09-30 2006-08-23 Telefonaktiebolaget LM Ericsson (publ) In-place data deinterleaving
US7559004B1 (en) 2003-10-01 2009-07-07 Sandisk Corporation Dynamic redundant area configuration in a non-volatile memory system
KR101170629B1 (ko) 2003-10-06 2012-08-02 디지털 파운튼, 인크. 단일 송신기 또는 다중 송신기를 갖는 통신 시스템의 에러 정정 다중-스테이지 코드 생성기 및 디코더
US7516232B2 (en) 2003-10-10 2009-04-07 Microsoft Corporation Media organization for distributed sending of media data
US7614071B2 (en) 2003-10-10 2009-11-03 Microsoft Corporation Architecture for distributed sending of media data
WO2005036811A2 (en) 2003-10-14 2005-04-21 Matsushita Electric Industrial Co., Ltd. Data converter
US7650036B2 (en) 2003-10-16 2010-01-19 Sharp Laboratories Of America, Inc. System and method for three-dimensional video coding
US7168030B2 (en) 2003-10-17 2007-01-23 Telefonaktiebolaget Lm Ericsson (Publ) Turbo code decoder with parity information update
EP1528808A3 (en) 2003-10-27 2008-03-26 Matsushita Electric Industrial Co., Ltd. Apparatus for receiving a broadcast signal
JP2005136546A (ja) 2003-10-29 2005-05-26 Sony Corp 送信装置および方法、記録媒体、並びにプログラム
EP1528702B1 (en) 2003-11-03 2008-01-23 Broadcom Corporation FEC (forward error correction) decoding with dynamic parameters
US20050102371A1 (en) 2003-11-07 2005-05-12 Emre Aksu Streaming from a server to a client
JP4787167B2 (ja) 2003-12-01 2011-10-05 デジタル ファウンテン, インコーポレイテッド サブシンボル・ベース符号を使用する消去からのデータの保護
US7428669B2 (en) 2003-12-07 2008-09-23 Adaptive Spectrum And Signal Alignment, Inc. Adaptive FEC codeword management
US7574706B2 (en) 2003-12-15 2009-08-11 Microsoft Corporation System and method for managing and communicating software updates
US7590118B2 (en) 2003-12-23 2009-09-15 Agere Systems Inc. Frame aggregation format
JP4536383B2 (ja) 2004-01-16 2010-09-01 株式会社エヌ・ティ・ティ・ドコモ データ受信装置およびデータ受信方法
KR100770902B1 (ko) 2004-01-20 2007-10-26 삼성전자주식회사 고속 무선 데이터 시스템을 위한 가변 부호율의 오류 정정부호 생성 및 복호 장치 및 방법
KR100834750B1 (ko) 2004-01-29 2008-06-05 삼성전자주식회사 엔코더 단에서 스케일러빌리티를 제공하는 스케일러블비디오 코딩 장치 및 방법
JP4321284B2 (ja) 2004-02-03 2009-08-26 株式会社デンソー ストリーミングデータ送信装置、および情報配信システム
US7599294B2 (en) 2004-02-13 2009-10-06 Nokia Corporation Identification and re-transmission of missing parts
KR100586883B1 (ko) 2004-03-04 2006-06-08 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩방법, 프리디코딩방법, 비디오 디코딩방법, 및 이를 위한 장치와, 이미지 필터링방법
KR100596705B1 (ko) 2004-03-04 2006-07-04 삼성전자주식회사 비디오 스트리밍 서비스를 위한 비디오 코딩 방법과 비디오 인코딩 시스템, 및 비디오 디코딩 방법과 비디오 디코딩 시스템
US7609653B2 (en) 2004-03-08 2009-10-27 Microsoft Corporation Resolving partial media topologies
US20050207392A1 (en) 2004-03-19 2005-09-22 Telefonaktiebolaget Lm Ericsson (Publ) Higher layer packet framing using RLP
US7240236B2 (en) 2004-03-23 2007-07-03 Archivas, Inc. Fixed content distributed data storage using permutation ring encoding
JP4433287B2 (ja) 2004-03-25 2010-03-17 ソニー株式会社 受信装置および方法、並びにプログラム
US8842175B2 (en) 2004-03-26 2014-09-23 Broadcom Corporation Anticipatory video signal reception and processing
US20050216472A1 (en) 2004-03-29 2005-09-29 David Leon Efficient multicast/broadcast distribution of formatted data
WO2005096301A1 (en) 2004-03-30 2005-10-13 Koninklijke Philips Electronics N.V. System and method for supporting improved trick mode performance for disc-based multimedia content
TW200534875A (en) 2004-04-23 2005-11-01 Lonza Ag Personal care compositions and concentrates for making the same
FR2869744A1 (fr) 2004-04-29 2005-11-04 Thomson Licensing Sa Methode de transmission de paquets de donnees numeriques et appareil implementant la methode
US8868772B2 (en) 2004-04-30 2014-10-21 Echostar Technologies L.L.C. Apparatus, system, and method for adaptive-rate shifting of streaming content
US7633970B2 (en) 2004-05-07 2009-12-15 Agere Systems Inc. MAC header compression for use with frame aggregation
EP1743431A4 (en) 2004-05-07 2007-05-02 Digital Fountain Inc SYSTEM FOR DOWNLOADING AND RECORDING AND CONTINUOUS READING OF FILES
US20050254526A1 (en) 2004-05-12 2005-11-17 Nokia Corporation Parameter sets update in streaming applications
US20050254575A1 (en) 2004-05-12 2005-11-17 Nokia Corporation Multiple interoperability points for scalable media coding and transmission
US20060037057A1 (en) 2004-05-24 2006-02-16 Sharp Laboratories Of America, Inc. Method and system of enabling trick play modes using HTTP GET
US8331445B2 (en) 2004-06-01 2012-12-11 Qualcomm Incorporated Method, apparatus, and system for enhancing robustness of predictive video codecs using a side-channel based on distributed source coding techniques
US20070110074A1 (en) 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
US7492828B2 (en) 2004-06-18 2009-02-17 Qualcomm Incorporated Time synchronization using spectral estimation in a communication system
US7139660B2 (en) 2004-07-14 2006-11-21 General Motors Corporation System and method for changing motor vehicle personalization settings
US8112531B2 (en) 2004-07-14 2012-02-07 Nokia Corporation Grouping of session objects
JP2006033763A (ja) 2004-07-21 2006-02-02 Toshiba Corp 電子機器及び通信制御方法
US8544043B2 (en) 2004-07-21 2013-09-24 Qualcomm Incorporated Methods and apparatus for providing content information to content servers
US7409626B1 (en) 2004-07-28 2008-08-05 Ikanos Communications Inc Method and apparatus for determining codeword interleaver parameters
US7590922B2 (en) 2004-07-30 2009-09-15 Nokia Corporation Point-to-point repair request mechanism for point-to-multipoint transmission systems
US7376150B2 (en) 2004-07-30 2008-05-20 Nokia Corporation Point-to-point repair response mechanism for point-to-multipoint transmission systems
US7930184B2 (en) 2004-08-04 2011-04-19 Dts, Inc. Multi-channel audio coding/decoding of random access points and transients
US7721184B2 (en) 2004-08-11 2010-05-18 Digital Fountain, Inc. Method and apparatus for fast encoding of data symbols according to half-weight codes
JP4405875B2 (ja) 2004-08-25 2010-01-27 富士通株式会社 エラー訂正用データの生成方法及び生成装置並びに生成プログラム及び同プログラムを格納したコンピュータ読み取り可能な記録媒体
JP2006074335A (ja) 2004-09-01 2006-03-16 Nippon Telegr & Teleph Corp <Ntt> 伝送方法、伝送システム及び伝送装置
JP4576936B2 (ja) 2004-09-02 2010-11-10 ソニー株式会社 情報処理装置、情報記録媒体、コンテンツ管理システム、およびデータ処理方法、並びにコンピュータ・プログラム
JP2006115104A (ja) 2004-10-13 2006-04-27 Daiichikosho Co Ltd 高能率符号化された時系列情報をパケット化してリアルタイム・ストリーミング送信し受信再生する方法および装置
US7529984B2 (en) 2004-11-16 2009-05-05 Infineon Technologies Ag Seamless change of depth of a general convolutional interleaver during transmission without loss of data
US7751324B2 (en) 2004-11-19 2010-07-06 Nokia Corporation Packet stream arrangement in multimedia transmission
BRPI0518304A2 (pt) 2004-11-22 2008-11-11 Thomson Res Funding Corp mÉtodo e aparelho para mudar canal em sistema dsl
EP1817859A1 (en) 2004-12-02 2007-08-15 THOMSON Licensing Adaptive forward error correction
KR20060065482A (ko) 2004-12-10 2006-06-14 마이크로소프트 코포레이션 스트리밍 미디어 데이터의 코딩 비트 레이트의 제어 시스템및 프로세스
JP2006174032A (ja) 2004-12-15 2006-06-29 Sanyo Electric Co Ltd 画像データ伝送システム、画像データ受信装置及び画像データ送信装置
JP2006174045A (ja) 2004-12-15 2006-06-29 Ntt Communications Kk 画像配信装置、プログラム及び方法
US7398454B2 (en) 2004-12-21 2008-07-08 Tyco Telecommunications (Us) Inc. System and method for forward error correction decoding using soft information
JP4391409B2 (ja) 2004-12-24 2009-12-24 株式会社第一興商 高能率符号化された時系列情報をリアルタイム・ストリーミング送信し受信再生する方法と受信装置
CN101116306A (zh) 2005-02-08 2008-01-30 艾利森电话股份有限公司 在分组交换网络上的按需多频道流会话
US7925097B2 (en) 2005-02-18 2011-04-12 Sanyo Electric Co., Ltd. Image display method, image coding apparatus, and image decoding apparatus
US7822139B2 (en) 2005-03-02 2010-10-26 Rohde & Schwarz Gmbh & Co. Kg Apparatus, systems, methods and computer products for providing a virtual enhanced training sequence
US20090222873A1 (en) 2005-03-07 2009-09-03 Einarsson Torbjoern Multimedia Channel Switching
US8028322B2 (en) 2005-03-14 2011-09-27 Time Warner Cable Inc. Method and apparatus for network content download and recording
US7418649B2 (en) 2005-03-15 2008-08-26 Microsoft Corporation Efficient implementation of reed-solomon erasure resilient codes in high-rate applications
US7219289B2 (en) 2005-03-15 2007-05-15 Tandberg Data Corporation Multiply redundant raid system and XOR-efficient method and apparatus for implementing the same
US7450064B2 (en) 2005-03-22 2008-11-11 Qualcomm, Incorporated Methods and systems for deriving seed position of a subscriber station in support of unassisted GPS-type position determination in a wireless communication system
JP4487028B2 (ja) 2005-03-31 2010-06-23 ブラザー工業株式会社 配信速度制御装置、配信システム、配信速度制御方法、及び配信速度制御用プログラム
US7715842B2 (en) 2005-04-09 2010-05-11 Lg Electronics Inc. Supporting handover of mobile terminal
CN101120593A (zh) 2005-04-13 2008-02-06 诺基亚公司 可扩展性信息的编码、存储和信号发送
JP4515319B2 (ja) 2005-04-27 2010-07-28 株式会社日立製作所 コンピュータシステム
US8683066B2 (en) 2007-08-06 2014-03-25 DISH Digital L.L.C. Apparatus, system, and method for multi-bitrate content streaming
US7961700B2 (en) 2005-04-28 2011-06-14 Qualcomm Incorporated Multi-carrier operation in data transmission systems
JP2006319743A (ja) 2005-05-13 2006-11-24 Toshiba Corp 受信装置
US8228994B2 (en) 2005-05-20 2012-07-24 Microsoft Corporation Multi-view video coding based on temporal and view decomposition
MX2007014744A (es) 2005-05-24 2008-02-14 Nokia Corp Metodo y aparatos para transmision/recepcion jerarquica en transmision digital.
US7644335B2 (en) 2005-06-10 2010-01-05 Qualcomm Incorporated In-place transformations with applications to encoding and decoding various classes of codes
US7676735B2 (en) 2005-06-10 2010-03-09 Digital Fountain Inc. Forward error-correcting (FEC) coding and streaming
JP2007013436A (ja) 2005-06-29 2007-01-18 Toshiba Corp 符号化ストリーム再生装置
JP2007013675A (ja) 2005-06-30 2007-01-18 Sanyo Electric Co Ltd ストリーミング配信システム及びサーバ
US20070006274A1 (en) 2005-06-30 2007-01-04 Toni Paila Transmission and reception of session packets
US7725593B2 (en) 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format
US20070022215A1 (en) 2005-07-19 2007-01-25 Singer David W Method and apparatus for media data transmission
JP2007036666A (ja) 2005-07-27 2007-02-08 Onkyo Corp コンテンツ配信システム、クライアント及びクライアントプログラム
CN101053249B (zh) 2005-09-09 2011-02-16 松下电器产业株式会社 图像处理方法、图像存储方法、图像处理装置及文件格式
US7924913B2 (en) 2005-09-15 2011-04-12 Microsoft Corporation Non-realtime data transcoding of multimedia content
US20070067480A1 (en) 2005-09-19 2007-03-22 Sharp Laboratories Of America, Inc. Adaptive media playout by server media processing for robust streaming
US8879856B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Content driven transcoder that orchestrates multimedia transcoding using content information
US20070078876A1 (en) 2005-09-30 2007-04-05 Yahoo! Inc. Generating a stream of media data containing portions of media files using location tags
US7720062B2 (en) 2005-10-05 2010-05-18 Lg Electronics Inc. Method of processing traffic information and digital broadcasting system
US7164370B1 (en) 2005-10-06 2007-01-16 Analog Devices, Inc. System and method for decoding data compressed in accordance with dictionary-based compression schemes
CN100442858C (zh) 2005-10-11 2008-12-10 华为技术有限公司 分组网络中多媒体实时传输的唇同步方法及其装置
EP2375749B1 (en) 2005-10-11 2016-11-23 Nokia Technologies Oy System and method for efficient scalable stream adaptation
US7720096B2 (en) 2005-10-13 2010-05-18 Microsoft Corporation RTP payload format for VC-1
CN101292538B (zh) 2005-10-19 2012-11-28 汤姆森特许公司 使用可缩放的视频编码的多视图视频编码
JP4727401B2 (ja) 2005-12-02 2011-07-20 日本電信電話株式会社 無線マルチキャスト伝送システム、無線送信装置及び無線マルチキャスト伝送方法
FR2894421B1 (fr) 2005-12-07 2008-01-18 Canon Kk Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique
KR100759823B1 (ko) 2005-12-08 2007-09-18 한국전자통신연구원 제로 복귀 신호 발생 장치 및 그 방법
JP4456064B2 (ja) 2005-12-21 2010-04-28 日本電信電話株式会社 パケット送信装置、受信装置、システム、およびプログラム
US20070157267A1 (en) 2005-12-30 2007-07-05 Intel Corporation Techniques to improve time seek operations
US8185794B2 (en) 2006-01-05 2012-05-22 Telefonaktiebolaget L M Ericsson (Publ) Media container file management
US8214516B2 (en) 2006-01-06 2012-07-03 Google Inc. Dynamic media serving infrastructure
CN101390399B (zh) 2006-01-11 2010-12-01 诺基亚公司 可伸缩视频编码中的图片的后向兼容聚合
US7817865B2 (en) 2006-01-12 2010-10-19 Lg Electronics Inc. Processing multiview video
WO2007086654A1 (en) 2006-01-25 2007-08-02 Lg Electronics Inc. Digital broadcasting system and method of processing data
RU2290768C1 (ru) 2006-01-30 2006-12-27 Общество с ограниченной ответственностью "Трафиклэнд" Система медиавещания в инфраструктуре оператора мобильной связи
US8990153B2 (en) 2006-02-07 2015-03-24 Dot Hill Systems Corporation Pull data replication model
EP1985022B1 (en) 2006-02-08 2011-06-08 Thomson Licensing Decoding of raptor codes
US9136983B2 (en) 2006-02-13 2015-09-15 Digital Fountain, Inc. Streaming and buffering using variable FEC overhead and protection periods
US20070200949A1 (en) 2006-02-21 2007-08-30 Qualcomm Incorporated Rapid tuning in multimedia applications
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
JP2007228205A (ja) 2006-02-23 2007-09-06 Funai Electric Co Ltd ネットワークサーバ
US8320450B2 (en) 2006-03-29 2012-11-27 Vidyo, Inc. System and method for transcoding between scalable and non-scalable video codecs
WO2007127741A2 (en) 2006-04-24 2007-11-08 Sun Microsystems, Inc. Media server system
US20080010153A1 (en) 2006-04-24 2008-01-10 Pugh-O'connor Archie Computer network provided digital content under an advertising and revenue sharing basis, such as music provided via the internet with time-shifted advertisements presented by a client resident application
US7640353B2 (en) 2006-04-27 2009-12-29 Microsoft Corporation Guided random seek support for media streaming
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
US7525993B2 (en) 2006-05-24 2009-04-28 Newport Media, Inc. Robust transmission system and method for mobile television applications
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US20100211690A1 (en) 2009-02-13 2010-08-19 Digital Fountain, Inc. Block partitioning for a data stream
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
JP2008011404A (ja) 2006-06-30 2008-01-17 Toshiba Corp コンテンツ処理装置及びコンテンツ処理方法
JP4392004B2 (ja) 2006-07-03 2009-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション パケット回復のための符号化および復号化技術
EP2044528A4 (en) 2006-07-20 2013-03-06 Sandisk Technologies Inc CONTENT DISTRIBUTION SYSTEM
US7711797B1 (en) 2006-07-31 2010-05-04 Juniper Networks, Inc. Optimizing batch size for prefetching data over wide area networks
US8209736B2 (en) 2006-08-23 2012-06-26 Mediatek Inc. Systems and methods for managing television (TV) signals
KR101021831B1 (ko) 2006-08-24 2011-03-17 노키아 코포레이션 미디어 파일에서 트랙 관계를 표시하는 시스템 및 방법
US20080066136A1 (en) 2006-08-24 2008-03-13 International Business Machines Corporation System and method for detecting topic shift boundaries in multimedia streams using joint audio, visual and text cues
JP2008109637A (ja) 2006-09-25 2008-05-08 Toshiba Corp 動画像符号化装置及びその方法
EP2084928B1 (en) 2006-10-30 2017-08-23 LG Electronics Inc. Method of performing random access in a wireless communication system
JP2008118221A (ja) 2006-10-31 2008-05-22 Toshiba Corp 復号装置及び復号方法
WO2008054100A1 (en) 2006-11-01 2008-05-08 Electronics And Telecommunications Research Institute Method and apparatus for decoding metadata used for playing stereoscopic contents
WO2008061164A2 (en) 2006-11-14 2008-05-22 Qualcomm Incorporated Systems and methods for channel switching
US8027328B2 (en) 2006-12-26 2011-09-27 Alcatel Lucent Header compression in a wireless communication network
EP4213033A1 (en) 2007-01-05 2023-07-19 DivX, LLC Video distribution system including progressive playback
US20080168516A1 (en) 2007-01-08 2008-07-10 Christopher Lance Flick Facilitating Random Access In Streaming Content
EP2122874A1 (en) 2007-01-09 2009-11-25 Nokia Corporation Method for supporting file versioning in mbms file repair
US20080172430A1 (en) 2007-01-11 2008-07-17 Andrew Thomas Thorstensen Fragmentation Compression Management
MX2009000619A (es) 2007-01-11 2009-04-16 Panasonic Corp Metodo para la reproduccion de truco de datos multimedia en flujo y encriptados.
KR20080066408A (ko) 2007-01-12 2008-07-16 삼성전자주식회사 3차원 영상 처리 장치 및 방법
US9344362B2 (en) 2007-01-12 2016-05-17 University-Industry Cooperation Group Of Kyung Hee University Packet format of network abstraction layer unit, and algorithm and apparatus for video encoding and decoding using the format, QOS control algorithm and apparatus for IPV6 label switching using the format
US8135071B2 (en) 2007-01-16 2012-03-13 Cisco Technology, Inc. Breakpoint determining for hybrid variable length coding using relationship to neighboring blocks
US7721003B2 (en) 2007-02-02 2010-05-18 International Business Machines Corporation System and method to synchronize OSGi bundle inventories between an OSGi bundle server and a client
US7805456B2 (en) 2007-02-05 2010-09-28 Microsoft Corporation Query pattern to enable type flow of element types
CN100551043C (zh) * 2007-02-08 2009-10-14 华为技术有限公司 一种快进快退播放视频数据的方法和流媒体服务器
US20080192818A1 (en) 2007-02-09 2008-08-14 Dipietro Donald Vincent Systems and methods for securing media
US20080232357A1 (en) 2007-03-19 2008-09-25 Legend Silicon Corp. Ls digital fountain code
JP4838191B2 (ja) 2007-05-08 2011-12-14 シャープ株式会社 ファイル再生装置、ファイル再生方法、ファイル再生を実行させるプログラム及びそのプログラムを記録した記録媒体
JP2008283571A (ja) 2007-05-11 2008-11-20 Ntt Docomo Inc コンテンツ配信装置、コンテンツ配信システム、およびコンテンツ配信方法
US8275002B2 (en) 2007-05-14 2012-09-25 Samsung Electronics Co., Ltd. Broadcasting service transmitting apparatus and method and broadcasting service receiving apparatus and method for effectively accessing broadcasting service
MX2009012361A (es) 2007-05-16 2009-12-01 Thomson Licensing Aparato y metodo para codificar y descodificar señales.
FR2917262A1 (fr) 2007-06-05 2008-12-12 Thomson Licensing Sas Dispositif et procede de codage d'un contenu video sous la forme d'un flux scalable.
US8487982B2 (en) 2007-06-07 2013-07-16 Reald Inc. Stereoplexing for film and video applications
EP2153670A4 (en) 2007-06-11 2011-03-09 Samsung Electronics Co Ltd METHOD AND DEVICE FOR GENERATING HEADLINE INFORMATION ON A STEREOSCOPIC IMAGE
WO2008156390A1 (en) 2007-06-20 2008-12-24 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for improved media session management
EP2174502A2 (en) 2007-06-26 2010-04-14 Nokia Corporation System and method for indicating temporal layer switching points
US7917702B2 (en) 2007-07-10 2011-03-29 Qualcomm Incorporated Data prefetch throttle
US8156164B2 (en) 2007-07-11 2012-04-10 International Business Machines Corporation Concurrent directory update in a cluster file system
JP2009027598A (ja) 2007-07-23 2009-02-05 Hitachi Ltd 映像配信サーバおよび映像配信方法
US8327403B1 (en) 2007-09-07 2012-12-04 United Video Properties, Inc. Systems and methods for providing remote program ordering on a user device via a web server
AU2008298602A1 (en) 2007-09-12 2009-03-19 Digital Fountain, Inc. Generating and communicating source identification information to enable reliable communications
US8233532B2 (en) 2007-09-21 2012-07-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Information signal, apparatus and method for encoding an information content, and apparatus and method for error correcting an information signal
US8346959B2 (en) 2007-09-28 2013-01-01 Sharp Laboratories Of America, Inc. Client-controlled adaptive streaming
EP2046044B1 (en) 2007-10-01 2017-01-18 Cabot Communications Ltd A method and apparatus for streaming digital media content and a communication system
KR101446359B1 (ko) 2007-10-09 2014-10-01 삼성전자주식회사 이동 통신 시스템에서 맥 프로토콜 데이터 유닛의 생성과 분리 장치 및 방법
US8635360B2 (en) 2007-10-19 2014-01-21 Google Inc. Media playback point seeking using data range requests
US8706907B2 (en) 2007-10-19 2014-04-22 Voxer Ip Llc Telecommunication and multimedia management method and apparatus
US7895629B1 (en) 2007-11-07 2011-02-22 At&T Mobility Ii Llc Video service buffer management in a mobile rate control enabled network
US20090125636A1 (en) 2007-11-13 2009-05-14 Qiong Li Payload allocation methods for scalable multimedia servers
EP2215595B1 (en) 2007-11-23 2012-02-22 Media Patents S.L. A process for the on-line distribution of audiovisual contents with advertisements, advertisement management system, digital rights management system and audiovisual content player provided with said systems
US8543720B2 (en) 2007-12-05 2013-09-24 Google Inc. Dynamic bit rate scaling
TWI355168B (en) 2007-12-07 2011-12-21 Univ Nat Chiao Tung Application classification method in network traff
JP5385598B2 (ja) 2007-12-17 2014-01-08 キヤノン株式会社 画像処理装置及び画像管理サーバ装置及びそれらの制御方法及びプログラム
US9313245B2 (en) 2007-12-24 2016-04-12 Qualcomm Incorporated Adaptive streaming for on demand wireless services
KR101506217B1 (ko) 2008-01-31 2015-03-26 삼성전자주식회사 스테레오스코픽 영상의 부분 데이터 구간 재생을 위한스테레오스코픽 영상 데이터스트림 생성 방법과 장치, 및스테레오스코픽 영상의 부분 데이터 구간 재생 방법과 장치
EP2086237B1 (en) 2008-02-04 2012-06-27 Alcatel Lucent Method and device for reordering and multiplexing multimedia packets from multimedia streams pertaining to interrelated sessions
US8151174B2 (en) 2008-02-13 2012-04-03 Sunrise IP, LLC Block modulus coding (BMC) systems and methods for block coding with non-binary modulus
US20090219985A1 (en) 2008-02-28 2009-09-03 Vasanth Swaminathan Systems and Methods for Processing Multiple Projections of Video Data in a Single Video File
US7984097B2 (en) 2008-03-18 2011-07-19 Media Patents, S.L. Methods for transmitting multimedia files and advertisements
US8606996B2 (en) 2008-03-31 2013-12-10 Amazon Technologies, Inc. Cache optimization
US20090257508A1 (en) 2008-04-10 2009-10-15 Gaurav Aggarwal Method and system for enabling video trick modes
EP2263341B1 (en) 2008-04-14 2018-09-19 Amazon Technologies, Inc. Method and apparatus for performing random access procedures
WO2009127961A1 (en) 2008-04-16 2009-10-22 Nokia Corporation Decoding order recovery in session multiplexing
US8855199B2 (en) 2008-04-21 2014-10-07 Nokia Corporation Method and device for video coding and decoding
EP2286585A4 (en) 2008-05-07 2015-06-17 Digital Fountain Inc FAST CHANNEL CHANGE AND HIGH QUALITY CONTINUOUS FLOW BROADCAST PROTECTION ON A BROADCAST CHANNEL
WO2009140208A2 (en) * 2008-05-12 2009-11-19 Swarmcast, Inc. Live media delivery over a packet-based computer network
JP5022301B2 (ja) 2008-05-19 2012-09-12 株式会社エヌ・ティ・ティ・ドコモ プロキシサーバおよび通信中継プログラム、並びに通信中継方法
CN101287107B (zh) 2008-05-29 2010-10-13 腾讯科技(深圳)有限公司 媒体文件的点播方法、系统和设备
US8370887B2 (en) 2008-05-30 2013-02-05 Microsoft Corporation Media streaming with enhanced seek operation
US8775566B2 (en) 2008-06-21 2014-07-08 Microsoft Corporation File format for media distribution and presentation
US8387150B2 (en) 2008-06-27 2013-02-26 Microsoft Corporation Segmented media content rights management
US8468426B2 (en) 2008-07-02 2013-06-18 Apple Inc. Multimedia-aware quality-of-service and error correction provisioning
US8539092B2 (en) 2008-07-09 2013-09-17 Apple Inc. Video streaming using multiple channels
US20100153578A1 (en) 2008-07-16 2010-06-17 Nokia Corporation Method and Apparatus for Peer to Peer Streaming
US8638796B2 (en) 2008-08-22 2014-01-28 Cisco Technology, Inc. Re-ordering segments of a large number of segmented service flows
KR101019634B1 (ko) 2008-09-04 2011-03-07 에스케이 텔레콤주식회사 미디어 전송 시스템 및 방법
EP2329404B1 (en) 2008-09-05 2018-04-04 Thomson Licensing DTV Method and system for dynamic play list modification
US8325796B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
US8265140B2 (en) 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
JP5163415B2 (ja) * 2008-10-07 2013-03-13 富士通株式会社 階層型変調方法、階層型復調方法、階層型変調を行う送信装置、階層型復調を行う受信装置
US8370520B2 (en) 2008-11-24 2013-02-05 Juniper Networks, Inc. Adaptive network content delivery system
CN102308547B (zh) 2008-12-31 2014-11-19 苹果公司 通过非流化协议流化多媒体数据的方法
US20100169303A1 (en) 2008-12-31 2010-07-01 David Biderman Playlists for real-time or near real-time streaming
US8743906B2 (en) 2009-01-23 2014-06-03 Akamai Technologies, Inc. Scalable seamless digital video stream splicing
BRPI1007163A2 (pt) 2009-01-26 2018-09-25 Thomson Licensing compactação de quadro para codificação de vídeo
CN105376549B (zh) 2009-01-29 2017-08-11 杜比实验室特许公司 视频编码方法及解码视频信号的方法
US8909806B2 (en) 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
US8621044B2 (en) 2009-03-16 2013-12-31 Microsoft Corporation Smooth, stateless client media streaming
JP2012523804A (ja) 2009-04-13 2012-10-04 リアルディー インコーポレイテッド 向上した解像度の立体ビデオのエンコード、デコード、および配信
US9807468B2 (en) 2009-06-16 2017-10-31 Microsoft Technology Licensing, Llc Byte range caching
US8903895B2 (en) 2009-07-22 2014-12-02 Xinlab, Inc. Method of streaming media to heterogeneous client devices
US8355433B2 (en) 2009-08-18 2013-01-15 Netflix, Inc. Encoding video streams for adaptive video streaming
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US20120151302A1 (en) 2010-12-10 2012-06-14 Qualcomm Incorporated Broadcast multimedia storage and access using page maps when asymmetric memory is used
WO2012037635A1 (en) 2009-09-02 2012-03-29 Nortel Networks Limited Mac packet data unit construction for wireless systems
US20110096828A1 (en) 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9438861B2 (en) 2009-10-06 2016-09-06 Microsoft Technology Licensing, Llc Integrating continuous and sparse streaming data
JP2011087103A (ja) 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
EP2497267B1 (en) 2009-11-03 2014-08-27 Telefonaktiebolaget LM Ericsson (publ) Streaming with optional broadcast delivery of data segments
CN107911332B (zh) 2009-11-04 2021-01-08 阿莫泰克有限公司 媒体内容流播的方法、系统和计算机可读介质
KR101786050B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 전송 방법 및 장치
KR101786051B1 (ko) 2009-11-13 2017-10-16 삼성전자 주식회사 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
CN101729857A (zh) 2009-11-24 2010-06-09 中兴通讯股份有限公司 一种接入视频服务的方法及视频播放系统
CN102687518B (zh) 2009-12-11 2016-06-01 诺基亚技术有限公司 用于流媒体文件内表示的描述和定时的装置及方法
KR101624013B1 (ko) 2010-02-19 2016-05-24 텔레폰악티에볼라겟엘엠에릭슨(펍) 에이치티티피 스트리밍에서 적응화를 위한 방법 및 장치
WO2011102791A1 (en) 2010-02-19 2011-08-25 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for representation switching in http streaming
EP3783822A1 (en) 2010-03-11 2021-02-24 Electronics and Telecommunications Research Institute Method and apparatus for transceiving data in a mimo system
US9497290B2 (en) 2010-06-14 2016-11-15 Blackberry Limited Media presentation description delta file for HTTP streaming
WO2011160741A1 (en) * 2010-06-23 2011-12-29 Telefonica, S.A. A method for indexing multimedia information
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9131033B2 (en) 2010-07-20 2015-09-08 Qualcomm Incoporated Providing sequence data sets for streaming video data
KR20120010089A (ko) 2010-07-20 2012-02-02 삼성전자주식회사 Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8711933B2 (en) 2010-08-09 2014-04-29 Sony Computer Entertainment Inc. Random access point (RAP) formation using intra refreshing technique in video coding
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
KR101737325B1 (ko) 2010-08-19 2017-05-22 삼성전자주식회사 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
US8615023B2 (en) 2010-10-27 2013-12-24 Electronics And Telecommunications Research Institute Apparatus and method for transmitting/receiving data in communication system
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
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
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery

Also Published As

Publication number Publication date
US8806050B2 (en) 2014-08-12
AU2011289514A1 (en) 2013-02-28
MY156640A (en) 2016-03-15
RU2013110285A (ru) 2014-09-20
JP5559432B2 (ja) 2014-07-23
EP2604015B1 (en) 2019-03-13
HUE044114T2 (hu) 2019-09-30
EP2604016A1 (en) 2013-06-19
ES2726772T3 (es) 2019-10-09
AU2011289514B2 (en) 2014-08-14
AR082614A1 (es) 2012-12-19
AR082616A1 (es) 2012-12-19
AU2011289511A1 (en) 2013-02-28
DK2604016T3 (da) 2019-05-13
UA107394C2 (en) 2014-12-25
EP2604016B1 (en) 2019-03-13
CA2807156C (en) 2017-06-06
EP2604015A1 (en) 2013-06-19
US9319448B2 (en) 2016-04-19
IL224476A (en) 2016-11-30
CA2807157A1 (en) 2012-02-16
UA107125C2 (uk) 2014-11-25
JP2013538507A (ja) 2013-10-10
JP2015111898A (ja) 2015-06-18
HK1181576A1 (zh) 2013-11-08
TWI458313B (zh) 2014-10-21
BR112013002686B1 (pt) 2021-10-26
US20120042050A1 (en) 2012-02-16
ES2730894T3 (es) 2019-11-13
KR20130061170A (ko) 2013-06-10
EP2604014B1 (en) 2019-02-20
JP5932070B2 (ja) 2016-06-08
HUE044172T2 (hu) 2019-10-28
BR112013002686A2 (pt) 2016-05-31
WO2012021538A1 (en) 2012-02-16
JP2014209752A (ja) 2014-11-06
PT2604014T (pt) 2019-06-04
CA2807157C (en) 2016-04-19
US20120042089A1 (en) 2012-02-16
JP2013538508A (ja) 2013-10-10
SG187638A1 (en) 2013-03-28
KR20130042612A (ko) 2013-04-26
CN103141069A (zh) 2013-06-05
CA2807156A1 (en) 2012-02-16
BR112013002692A2 (pt) 2016-05-31
WO2012021540A1 (en) 2012-02-16
CN103081433A (zh) 2013-05-01
IL224449A (en) 2016-12-29
TWI501630B (zh) 2015-09-21
CN103141069B (zh) 2016-04-27
CN103069769A (zh) 2013-04-24
KR20150090279A (ko) 2015-08-05
RU2571375C2 (ru) 2015-12-20
WO2012021543A1 (en) 2012-02-16
TWI479882B (zh) 2015-04-01
US20120042090A1 (en) 2012-02-16
CN103069769B (zh) 2015-11-25
SG10201505779QA (en) 2015-09-29
WO2012021538A8 (en) 2013-02-21
HUE044113T2 (hu) 2019-09-30
AU2011289511B2 (en) 2015-01-15
JP2013538506A (ja) 2013-10-10
DK2604014T3 (da) 2019-05-20
AR082612A1 (es) 2012-12-19
MY155946A (en) 2015-12-31
HK1181577A1 (en) 2013-11-08
EP2604014A1 (en) 2013-06-19
KR101709030B1 (ko) 2017-02-21
US9456015B2 (en) 2016-09-27
CN103081433B (zh) 2016-01-20
SI2604016T1 (sl) 2019-05-31
TW201230743A (en) 2012-07-16
JP5612211B2 (ja) 2014-10-22
TW201230777A (en) 2012-07-16
TW201220826A (en) 2012-05-16
KR101542310B1 (ko) 2015-08-12
PL2604014T3 (pl) 2019-08-30
RU2558615C2 (ru) 2015-08-10
ES2730896T3 (es) 2019-11-13
SI2604014T1 (sl) 2019-05-31
RU2013110060A (ru) 2014-09-20
SG187636A1 (en) 2013-03-28
KR20130042611A (ko) 2013-04-26
KR101442999B1 (ko) 2014-09-22

Similar Documents

Publication Publication Date Title
US9319448B2 (en) Trick modes for network streaming of coded multimedia data
US9270721B2 (en) Switching between adaptation sets during media streaming
BR112020015214A2 (pt) inserção dinâmica de anúncio condicional
BR112016022245B1 (pt) Método e dispositivo de recuperar dados de mídia

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B06G Technical and formal requirements: other requirements [chapter 6.7 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 09/08/2011, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.