BRPI0408566B1 - Método de controle adaptativo do nível máximo de uma memória do receptor num cliente streaming em um sistema de transmissão de multimídia em tempo real, sistema de controle adaptativo, e, dispositivo de comunicação - Google Patents
Método de controle adaptativo do nível máximo de uma memória do receptor num cliente streaming em um sistema de transmissão de multimídia em tempo real, sistema de controle adaptativo, e, dispositivo de comunicação Download PDFInfo
- Publication number
- BRPI0408566B1 BRPI0408566B1 BRPI0408566-3A BRPI0408566A BRPI0408566B1 BR PI0408566 B1 BRPI0408566 B1 BR PI0408566B1 BR PI0408566 A BRPI0408566 A BR PI0408566A BR PI0408566 B1 BRPI0408566 B1 BR PI0408566B1
- Authority
- BR
- Brazil
- Prior art keywords
- time
- receiver
- packet
- memory
- real
- Prior art date
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 71
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004891 communication Methods 0.000 title claims abstract description 13
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 8
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims 1
- 230000011664 signaling Effects 0.000 description 5
- 230000006978 adaptation Effects 0.000 description 4
- 239000002131 composite material Substances 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000238876 Acari Species 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Communication Control (AREA)
Abstract
"método para adaptativamente controlar o nível máximo da memóriado receptor no cliente em um sistema de transmissão de multimídia, sistema de controle adaptativo, e, dispositivo de comunicação". método para prover para o transmissor (20) dos pacotes rtp, o nível máximo (54) atual da memória (50) do receptor no receptor dos pacotes rtp em um certo instante de tempo representado como a duração do tempo de reprodução restante. o receptor envia em um relatório rtcp (26), o número seqüencial de um pacote rtp selecionado na memóriado receptor e a diferença de tempo entre o tempo de reprodução programado deste pacote e o tempo atual. baseado na informação de temporização, o transmissor calcula a quantia de tempo que este levaria para esvaziar a memória do receptor, se o receptor continuar a reprodução em uma velocidade normal e nenhum outro pacote rtp chegar na memória do receptor. esta informação do nível máximo da memóriado receptor pode ser usada no transmissor para ajustar a taxa de transmissão e/ou a taxa de reprodução nominal dos pacotes rtp, de forma a manter o nível máximo indicado da memória do receptor.
Description
A presente invenção se refere, de forma geral, à transmissão de multimídia em tempo real e, mais particularmente, ao gerenciamento total da memória do receptor do cliente “streaming” de multimídia.
No serviço de transmissão de multimídia em tempo real, existem três participantes envolvidos no serviço de transmissão em tempo real, o servidor “streaming”, o cliente “streaming”, e um meio de transmissão. O meio de transmissão é um caminho que consiste em uma cadeia de componentes de linha ponto-a-ponto, onde todo o procedimento é usualmente restrito pelo enlace do gargalo no caminho. Em uma rede móvel, o enlace do gargalo é usualmente uma interface aérea, que é o último salto para o terminal no cenário de transmissão em tempo real de enlace descendente. O servidor “streaming” ajusta a taxa de bit de transmissão para variar a largura de banda disponível no enlace do gargalo. Enquanto executa isso, o servidor “streaming” também controla o nível máximo da memória do receptor do cliente “streaming”, assim como evita a sobrecarga negativa (isto é, interrupção de reprodução) ou sobrecarga (isto é, queda de pacote) no cliente. No3 GPP TS 26.234 V5.0.0 (2002-3) “Serviço de transmissão em tempo realtransparente comutado por pacote de extremo-a-extremo (PSS, Packet Switched Streaming); Protocolos e Codecs” (Edição 5), o cliente “streaming” no início da sessão de transmissão em tempo real armazena uma quantia predeterminada negociada de dados antes da reprodução atual iniciar (retardo inicial de armazenagem do receptor). Conhecendo o retardo de armazenagem inicial do receptor, o servidor então estima o nível máximo da memória do receptor ao assumir que o cliente segue exatamente os protocolos de tempo de amostragem de mídia para reprodução. O servidor não sabe se o cliente comporta como assumido. Por exemplo, é possível que o relógio possa desviar em relação ao relógio do servidor. Além disso, a taxa de reprodução do cliente pode ser reduzida ou o cliente pode executar uma armazenagem extra.
Deslocamento do relógio do sistema - o padrão de exatidão aceito nos sistemas eletrônicos modernos é de ± 1 minuto por mês a 25° C e ± 40 minutos por ano a 60° C. Os cristais de temporização não compensados podem fazer com que os relógios do sistema ganhem ou percam tanto quanto 100 minutos por ano na operação sobre a faixa de temperatura industrial. Se nós assumirmos que a exatidão do relógio do servidor e do relógio do cliente é de ± 40 minutos por ano e os relógios do servidor e do cliente estão deslocando nas direções opostas, o deslocamento relativo é de 0.5479 segundos por hora. Se a exatidão for de ± 100 minutos por ano e os relógios do servidor e do cliente estão deslocando em direções opostas, o deslocamento relativo é de 1.3699 segundos por hora.
Sistema do cliente lento - se várias aplicações estiverem rodando ao mesmo tempo, o sistema operacional do cliente poderia ficar lento, ocasionando uma reprodução mais lenta.
Armazenagem extra - é possível que o cliente inicialmente armazene uma quantidade maior do que o valor negociado sem o reconhecimento do servidor. Isto resulta em uma armazenagem extra. Em adição, o cliente pode executar a re-armazenagem (i.e., retardando a reprodução) se a memória do receptor sobrecarregar negativamente devido excepcionalmente aos longos retardos do pacote (ex., no momento da transferência móvel).
Nas situações acima mencionadas, as suposições do servidor sobre o nível máximo da memória do receptor serão incorretas porque o cliente não reproduz exatamente a taxa que o servidor assume. Assim, quando o servidor executa as operações de adaptação de taxa confiando no nível máximo assumido da memória do receptor, a sobrecarga negativa ou a sobrecarga positiva na memória do receptor pode ocorrer.
No sistema de transmissão em tempo real da técnica anterior, não existem mecanismos para impedir as suposições incorretas dos acontecimentos e para eliminar a diferença entre o nível máximo atual e o nível máximo assumido do servidor na memória do receptor. Quando uma sobrecarga negativa ou sobrecarga positiva da memória do receptor ocorre devido às suposições incorretas, o cliente streaming tem de controlar tal violação da memória do receptor na sua própria (i.e., executando a re-armazenagem ou queda dos pacotes). Alternativamente, nas situações de violação da memória do receptor, o cliente pode pedir ao servidor streaming para re-iniciar a sessão de transmissão em tempo real ao enviar um novo pedido REPRODUZIR RTSP (Real-Time Streaming Protocol/ Protocolo de Transmissão em Tempo Real), reiniciando a sessão de transmissão em tempo real e desse modo re-estabelecendo as suposições corretas do servidor sobre o nível máximo da memória do receptor.
Um problema similar surge nas aplicações de alimentação da câmera ativa remota da técnica anterior, onde os sinais de vídeo ativos (ex., eventos de esportes e notícias especiais) são transmitidos de múltiplas câmeras (fontes de vídeo) para um estúdio de televisão central sobre uma conexão IP (Internet Protocol/Protocolo Internet). A alimentação ativa é direcionada do estúdio central para uma ou mais estações de radiodifusão para radiodifusão. Quando duas ou mais fontes de vídeo são combinadas para transmissão em tempo real, o sistema de transmissão em tempo real deve assegurar que a sincronização do tempo seja mantida dentre todas as fontes e o estúdio central. Para este fim, o estúdio central mantém um gerador de sincronismo mestre ou um relógio mestre (“sincronismo residente”), rodando por exemplo na freqüência US padrão de 29.97 quadros por segundo, para o qual toda a planta do estúdio é sincronizada. Se as câmeras estiverem operando no modo “execução livre”, a sua base de tempo deslocará em relação ao sincronismo residente do estúdio e os quadros de vídeo terão de ser distribuídos ou duplicados durante a radiodifusão no esforço de manter o tempo real de reprodução. De acordo com o IETF draft-harrision-avt-interlock-01.txt, “Fechamento Interno da base de tempo nas Conferências do Protocolo de Transporte em Tempo Real (RTP)”, C. Harrison, minuta proposta em Março de 2001, é possível enviar através da extensão do Protocolo de Controle em Tempo Real (RTCP) uma “mensagem de status da memóriade Gerenciamento da Base de Tempo (TBM, Timebase Management)” do estúdio central para as câmeras para reportar a “quantidade de dados restante na memória em bytes” na memóriado estúdio do receptor. Como tal, baseado nesta mensagem de status da memória, cada câmera detecta se o seu relógio desvia e, ajusta o seu relógio, de forma a sincronizar o relógio ao sincronismo residente. Alternativamente, o estúdio central pode enviar as “mensagens de controle de velocidade TBM” para solicitar especialmente cada câmera para ajustar o seu relógio, baseado no deslocamento do relógio estimado pelo estúdio.
É um objetivo primário da presente invenção prover um transmissor de pacotes RTP, o nível máximo atual da memóriado receptor no receptor dos pacotes RTP em um certo instante de tempo é representado como a duração de reprodução restante no tempo. Este objetivo pode ser alcançado ao prover para o transmissor um número seqüencial de qualquer pacote RTP na memória do receptor e a diferença de tempo entre o tempo de reprodução programado deste pacote e o tempo atual. Ou alternativamente, o mesmo objetivo pode ser alcançado, embora com menos precisão, ao prover ao transmissor o número seqüencial do último pacote RTP recebido e o número seqüencial do próximo pacote RTP a ser reproduzido no receptor.
A informação da memóriado receptor observada pelo transmissor está no domínio do tempo, e reflete a duração de reprodução atual restante na memória do receptor (i.e. a quantidade de tempo que levaria para a memóriado receptor esvaziar se nenhum pacote RTP for adicionado à memória). Quando comparado com a técnica anterior onde o transmissor apenas estima o nível máximo da memóriado receptor ou o transmissor apenas conhece o nível máximo da memóriado receptor representado como o número de bytes na memóriado receptor, a invenção provê um meio para o transmissor detectar exatamente os desvios de taxa de reprodução (ex., desvio do relógio).
É também um objetivo da presente invenção prover ao transmissor dos pacotes RTP em adição ao nível máximo da memóriado receptor no receptor dos pacotes RTP também o nível máximo mínimo indicado da memória do receptor, o qual o receptor deseja.
Adequadamente, o primeiro aspecto da presente invenção é um método para adaptativamente controlar o nível máximo da memória do receptor no cliente streaming no sistema de transmissão de multimídia em tempo real, o sistema de transmissão em tempo real compreende um servidor streaming capaz de prover os dados de transmissão em tempo real nos pacotes em uma taxa de transmissão para o cliente streaming, para permitir ao cliente reproduzir ao menos uma parte dos pacotes na taxa de reprodução, onde cada pacote possui um número seqüencial, e a memóriado receptor é usada para armazenar ao menos uma parte dos dados de transmissão em tempo real, de forma a compensar a diferença entre a taxa de transmissão e a taxa de reprodução, assim como para permitir ao cliente ter uma quantidade suficiente dos dados de transmissão em tempo real para reproduzir de uma maneira de não-ruptura, e a parte armazenada dos dados de transmissão em tempo real na memória do receptor inclui uma seqüência de pacotes a serem reproduzidos, a seqüência incluindo o primeiro pacote a ser reproduzido e o último pacote a ser reproduzido. O método compreende os passos de: - prover para o servidor uma mensagem incluindo a informação indicativa da duração de reprodução constante no tempo no receptor em um instante de tempo; e - ajustar no servidor a taxa de transmissão e/ou a taxa de reprodução nominal, no qual os dados de transmissão em tempo real são fornecidos para o cliente.
A duração de reprodução restante no tempo é fornecida na forma da identidade de uma seqüência de pacotes selecionada a ser reproduzida e a diferença de tempo entre o tempo de reprodução programado do pacote selecionado e o tempo atual.
O pacote selecionado a ser reproduzido pode ser o primeiro pacote a ser produzido, o qual é o primeiro pacote na seqüência de pacotes a serem reproduzidos, o último pacote a ser produzido é o último pacote na seqüência dos pacotes a serem reproduzidos, ou qualquer pacote entre eles,
A identidade do pacote selecionado é o número seqüencial do pacote selecionado ou o protocolo de tempo associado com este.
O método também compreende o passo de calcular no servidor o nível máximo na memória do receptor baseado na informação fornecida e no número seqüencial ou no protocolo de tempo do último pacote a ser reproduzido.
Preferivelmente, o cliente também envia o relatório do receptor (RTCP RR) juntamente com a etapa de proporcionar, e onde o relatório do receptor inclui a informação indicativa do último pacote a ser reproduzido como para permitir ao servidor calcular o nível máximo na memória do receptor baseado no número seqüencial do pacote selecionado, a diferença de tempo entre o tempo de reprodução programado do pacote selecionado e o tempo atual, e o número seqüencial do último pacote a ser reproduzido.
Vantajosamente, a mensagem também inclui a informação indicativa do nível mínimo da memória alvo, assim como permite ao servidor ajustar a taxa de transmissão e/ou a taxa de reprodução nominal no nível mínimo indicado da memória.
O segundo aspecto da presente invenção é um sistema de controle adaptativo para uso no sistema de transmissão de multimídia em tempo real, o sistema de transmissão 5 em tempo real compreende ao menos um cliente streaming e um servidor streaming capaz de prover os dados de transmissão em tempo real nos pacotes na taxa de transmissão para o cliente, para reproduzir ao menos uma parte dos pacotes na taxa de reprodução, onde cada pacote tem um número seqüencial, e onde o cliente inclui a memória do receptor para armazenar ao menos uma parte dos dados de transmissão em tempo real, de forma a 10 compensar a diferença entre a taxa de transmissão e a taxa de reprodução, assim como permitir ao cliente ter uma quantidade suficiente de dados de transmissão em tempo real na memória do receptor incluindo uma seqüência dos pacotes a serem reproduzidos, a seqüência incluindo o primeiro pacote a ser reproduzido e o segundo pacote a ser reproduzido. O sistema de controle compreende: no cliente: - um dispositivo para prover ao servidor uma mensagem incluindo a informação indicativa da duração de reprodução restante no tempo no receptor no instante de tempo; e no servidor:- um dispositivo responsável pela mensagem, para calcular o nível máximo na memória do receptor baseado na informação fornecida, para ajustar a taxa de transmissão e/ou a taxa de reprodução nominal. O terceiro aspecto da presente invenção é um dispositivo de comunicação em um sistema de transmissão de multimídia em tempo real, o sistema de transmissão em 25 tempo real compreende um servidor streaming capaz de prover os dados de transmissão em tempo real nos pacotes para o dispositivo de comunicação na taxa de transmissão, para permitir ao dispositivo de comunicação reproduzir ao menos uma parte dos pacotes na taxa de reprodução, onde cada pacote tem um número seqüencial, e onde o dispositivo de comunicação tem uma memória do receptor para armazenar ao menos uma parte dos dados 30 de transmissão em tempo real, de forma a compensar a diferença entre a taxa de transmissão e a taxa de reprodução, assim como permitir ao dispositivo de comunicação ter uma quantia suficiente dos dados de transmissão em tempo real, para reproduzir de uma maneira de não- ruptura, e a parte armazenada dos dados de transmissão em tempo real na memória do receptor inclui uma seqüência dos pacotes a ser reproduzida, a sequência inclui o primeiro pacote a ser reproduzido e o último pacote a ser reproduzido. O dispositivo de comunicação compreende: - um dispositivo para calcular a duração de reprodução restante no tempo em um instante de tempo baseado na parte armazenada dos dados de transmissão em tempo real na memória do receptor; e - um dispositivo para prover ao servidor uma mensagem incluindo a informação indicativa da duração de reprodução restante no tempo em um instante de tempo, assim como permite ao servidor calcular o nível máximo na memória do receptor baseado na informação fornecida.
A presente invenção se tomará aparente ao ler a descrição em conjunto com as Figuras 2 e 3 e os métodos relacionados.
Figura 1 - apresenta uma estrutura do pacote RTCP RR da técnica anterior;
Figura 2 - apresenta uma amostra da estrutura do pacote do relatório RTCP proposto de acordo com a presente invenção;
Figura 3 - é um diagrama em blocos ilustrando os vários componentes no servidor e o cliente para adaptativamente controlar o nível máximo da memória do receptor.
O controle adaptativo do nível máximo da memória do receptor de acordo com a presente invenção, faz uso do novo pacote RTCP, o qual pode ser enviado junto com o pacote do relatório RTCP RR da técnica anterior como um pacote composto. O relatório RTCP RR da técnica anterior é apresentado na Figura 1 e o novo pacote RTCP é apresentado na Figura 2. O tipo do pacote para o novo pacote RTCP pode ser referenciado como RBI (Receiver Buffer Information/ Informação da Memória do Receptor) que requereria um novo número do tipo de pacote, o qual está ainda para ser determinado. A sinalização entre o receptor e o transmissor de acordo com a presente invenção pode estar em um formato de estrutura diferente ou ser parte de uma extensão específica do perfil e em outra forma de extensão RTCP.
O controle adaptativo do nível máximo da memória do receptor de acordo com a presente invenção é baseado na diferença entre a freqüência de transmissão do pacote no transmissor dos pacotes RTP e a freqüência de reprodução do pacote RTP no receptor. A qualquer tempo, é assumido que a memória do receptor contém uma pluralidade de pacotes RTP recebidos do transmissor. Estes pacotes RTP incluem o próximo pacote RTP a ser reproduzido da memória do receptor (primeiro pacote) e o último pacote RTP a ser reproduzido da memória do receptor (último pacote). Cada pacote RTP possui um número seqüencial e o protocolo de tempo de reprodução conhecido para o transmissor, assim é possível para o transmissor saber o tempo de reprodução de qualquer número seqüencial do pacote RTP relativo a outro pacote RTP de número seqüencial. Assim, se o transmissor tem uma informação de temporização indicativa do tempo de reprodução programado de qualquer pacote RTP armazenado na memória do receptor, o transmissor pode calcular o tempo de reprodução programado de qualquer outro pacote RTP. A diferença entre o tempo de reprodução programado do último pacote e o tempo atual (i.e., o tempo de transmissão do pacote RTCP RR) do receptor fornece o nível máximo da memória do receptor atual representado como a duração de reprodução restante no tempo. Denotaremos como: SNx o número da seqüência do pacote x na memória do receptor; TSx o protocolo de tempo RTP do pacote x na memória do receptor; onde x está na faixa primeiro< =x<-último (entre o primeiro e o último na seqüência dos pacotes na memória do receptor); FTS a resolução do protocolo de tempo RTP (i.e., ticks/s); Tx a diferença de tempo entre o tempo atual e o tempo de reprodução programado do pacote x.
Túitimo é equivalente ao nível máximo da memória do receptor atual. O receptor pode prover a informação necessária para o transmissor para calcular Túitimo de múltiplas formas. Uma forma de sinalização é apresentada na Figura 2, onde um novo tipo de pacote RTCP (PT=RBI) foi definido para incluir SNprimeiro e Tpr-meiro. Tal pacote RTCP pode ser incluído em um pacote composto com um pacote regular do Relatório do Receptor (RR) RTCP (como na Figura 1). SNúitimo é sinalizado no campo “recebido o número seqüencial mais alto estendido” no pacote RTCP RR.
O receptor dos pacotes RTP pode recuperar SNprimeiro e TSprimeiro (uma parte do pacote RTP correspondente) de sua memoriae então estima Tprimeiro e TSprimeiro e a posição atual do temporizador de reprodução. Com o protocolo de tempo RTP gravado, o transmissor pode mapear SNprimeiro no TSprimeiro e SNtutimo no TSúiümo e calcular o nível máximo da memória do receptor (Túitimo) usando a equação:
Aqui FTS é conhecido pelo transmissor dos pacotes RTP. Na prática, FT pode ser estabelecido igual a FTS e é também conhecido pelo transmissor. Contudo, se FT for diferente de FTS, O receptor dos pacotes RTP pode prover o FT para o transmissor.
Um cálculo similar é habilitado se ao invés de SNprimeiro e Tprimeiro o receptor sinaliza SNx e Tx (i.e., para qualquer pacote na seqüência dos pacotes na memória do receptor). Em particular, é também possível sinalizar SNúiümo (já incluído no relatório regular RTCP RR) e Túitimo diretamente, evitando completamente o uso da equação acima. É mais difícil, contudo, para o receptor estimar o tempo de reprodução dos pacotes que são reproduzidos por último no futuro (ex., a probabilidade é maior do que o evento de imprevisto que reproduz antes o tempo de reprodução estimado), conseqüentemente em geral a confiabilidade da estimativa Túitimo é inferior ao Tprimeiro.
Deveria ser observado que, embora a incorporação preferida da invenção seja para sinalizar SNx e mapear este no transmissor para outras incorporações TSx que poderiam escolher sinalizar TSx ao invés de SNx para o transmissor. A diferença entre estas incorporações é que a amostra de mídia (ex., imagem de vídeo) pode ser mapeada para múltiplos pacotes RTP (i.e., múltiplos pacotes RTP com diferente SN tendo o mesmo protocolo de tempo RTP) e assim o TS não tem um correspondente de um-para- um para um SN.
Na prática, o retardo de sinalização (i.e., o tempo que este leva a mensagem de sinalização para chegar no transmissor do pacote RTP do tempo que este foi enviado no receptor RTP) não é nunca igual a zero, a informação recebida no transmissor é sempre um pouco tarde (i.e, o temporizador de reprodução do receptor tem progredido) e assim Túidmo como calculado no transmissor como a estimativa do nível máximo da memóriado receptor inclui algum erro. Este erro tem de ser levado em conta quando Túitimo é usado no transmissor.
Em adição à informação do nível máximo da memóriado receptor, o 5 cliente pode também sinalizar ao transmissor o nível máximo mínimo indicado da memóriado receptor no tempo (ex., Tmin como indicado na Figura 2 do exemplo do pacote RTCP RBI) solicitando ao servidor para adaptar a taxa de transmissão e a taxa de reprodução nominal dos pacotes, de uma maneira tal que todos os pacotes recebidos sejam gastos ao menos no tempo Tmin antes da sua reprodução na memória do receptor.
Usando o pacote RTCP RBI que é enviado junto com o pacote do relatórioRTCP RR da técnica anterior como um pacote composto, o cliente é capaz de prover ao servidor uma mensagem incluindo a informação indicativa da duração de reprodução restante no tempo na memóriado receptor em um instante de tempo, assim como para permitir ao servidor ajustar a característica de transmissão baseada na informação fornecida. Por exemplo, o servidor pode alterar a característica de transmissão pela comutação do fluxo de bit, o desacoplamento da taxa de transmissão onde a taxa de transmissão é diferente da taxa designada, de forma a aumentar ou diminuir o nível da memóriado receptor. O servidor pode também modificar a taxa de reprodução do fluxo de bit, assim como influenciar o nível máximo da memória do receptor.
O número seqüencial do último pacote (SNúitimo) na memóriado receptor pode ser encontrado no campo “recebido do número seqüencial mais alto estendido” no relatório RTCP RR. A duração de reprodução restante no tempo na memória do receptor pode ser calculada do número seqüencial do pacote selecionado (SNx) e a informação de temporização indicativa do tempo até o pacote selecionado passado para o decodificador (Tx). SNx e Tx podem ser incluídos em dois campos no pacote RTCP RBI. Aqui x pode ser primeiro, último na seqüência dos pacotes na memóriado receptor ou qualquer número entre eles. Um pacote RTCP RBI pode ser implementado para incluir um campo do nível de memória mínimo alvo, onde o receptor pode usar para solicitar um nível mínimo de memóriado receptor desejado do transmissor. Em adição, é também possível implementar um pacote
RTCP RBI sem o campo “informação de temporização” (Tx) e sinalizar ao invés o número seqüencial do primeiro pacote (SNprimeiro) apenas. Neste caso, o servidor pode estimar o nível máximo da memória do receptor baseado apenas SNúitimo e no SNprimeiro. Esta aproximação é menos exata do que quando Tpnmeiro é também fornecido para o servidor. Contudo, esta informação é útil para o servidor na estimação do nível máximo 5 da memória do receptor.
A Figura 3 é um diagrama em blocos apresentando vários componentes no servidor e no cliente que são necessários para estimar exatamente o nível máximo da memória do receptor. Como apresentado na Figura 3, um sistema 10 de transmissão de multimídia em tempo real compreende ao menos um transmissor 20 e um receptor 50 dos 10 pacotes RTP. No receptor 50, o decodificador/leitor processará os pacotes da memória do receptor 54 e os retribui para os dispositivos de reprodução (não apresentados), enquanto o módulo RTP/RTCP 56 é responsável pela recepção dos pacotes RTP/RTCP e o envio dos pacotes 26 do relatório RTCP para o transmissor. O transmissor 20 recebe os pacotes 26 do relatório RTCP dos receptores 50. Uma sessão do gerenciador QoS 22 no transmissor 20 é responsável por gerenciar toda a qualidade da sessão percebida pelocliente, enquanto o gerenciador de mídia QoS 24 é responsável pelo tipo de mídia único.
Grupos separados dos relatórios RTCP 26 pertencem a cada tipo de mídia e são então controlados pelos gerenciadores de mídia QoS 24 separados. A matriz estática 28 armazena a informação estática (i.e., os relatórios RTCP passados) para cada tipo de 20 mídia, a qual provê a informação requerida para a adaptação da taxa no gerenciador de mídia QoS 24. O bloco de tomada de decisão 30 tem processado a informação do gerenciador QoS 24 e então decide que tipo de ajuste na característica de transmissão é requerido para preencher a adaptação, por exemplo. O transmissor 20 (servidor streaming, câmera remota) usa a informação fornecida do receptor 50 (cliente streaming, 25 estúdio) para ajustar a taxa de transmissão e/ou a taxa de reprodução nominal de mídia diferente para manter o nível máximo da memória do receptor e/ou executar a “correção do desvio do relógio”. Os gerenciadores de mídia QoS 22 diferentes podem prover diferentes adaptações de taxa para diferentes tipos de mídia. A sinalização proposta não está restrita ao tipo de mídia de áudio e vídeo, mas pode ser usada para qualquer outra 30 mídia.
Túitímo pode ser usado para solucionar os problemas nos cenários das aplicações seguintes.
O servidor streaming pode corrigir as suas suposições sobre o nível máximo da memória do receptor usando Túitimo. Usando a informação do nível máximo da memória do receptor atual, ao invés da assumida, evita a violação da memória do receptor que ocorreria devido às suposições incorretas do nível máximo da memória do receptor.
Em adição o tipo de pacote RTCP (PT=RBI) definido acima, nas aplicações de transmissão de multimídia em tempo real, onde a informação necessária para calcular Túitímo pode ser carregada em um pacote de realimentação específico da aplicação RTCP ou de qualquer outro que não o RTCP, tal como RTSP (Real-Time Streaming Protocol) ou outros dispositivos externos.
O nível Ttnin máximo mínimo indicado da memória do receptor é útil nas aplicações de transmissão de multimídia em tempo real. Por exemplo, no caso do receptor desejar manter o nível máximo mínimo da memóriado receptor para ser capaz de opor-se às quedas da taxa de transferência do pacote temporário que estão fora de controle do transmissor (ex., a interrupção do enlace de rede devido à transferência da estação móvel) sem esvaziar completamente a memóriado receptor (i.e., a sobrecarga negativa que ocasionaria a interrupção da reprodução).
Usando as atualizações regulares Túitímo (i.e, a cada relatório RTCP) após um período de tempo suficientemente longo ( por causa do desvio do relógio, em geral, é baixo, é ais provável de ter 5 a 10 minutos para ver o efeito do desvio do relógio), a câmera remota pode estimar o seu desvio do relógio e sincronizar o seu relógio para o relógio do sistema do estúdio.
O transmissor mantêm a gravação do nível máximo da memóriaestimado, que é referenciado como STúitimo, enquanto transmite os pacotes. O desvio do nível máximo da memória entre o nível máximo da memória estimado e o Túitímo calculado como uma função do tempo pode ser expresso como:
Contudo D(t) é geralmente influenciado pelo retardo de sinalização, onde o próprio é variável, e o desvio, em geral, tem um deslocamento positivo no primeiro, 5 devido ao fato de que existem pacotes ainda em transmissão. Se o relógiodo receptor for inferior comparado com o transmissor, então D(t) torna-se negativo uma vez que o nível máximo da memóriado receptor é maior do que o esperado. Para estimar o desvio do relógio, o primeiro passo seria processar o desvio D(t) por meio do esquema de ajuste- linha, filtragem média ou de outros esquemas de estimação, tal como Menos Mediano dos Quadrados para produzir a função de linha. O segundo passo obteria a derivada de a qual obterá o desvio do relógio atual e então provê ao transmissor o fator dtde correção. Na prática, a estimação deveria ser feita por um período de tempo mais longo, digo ao menos uns poucos minutos dependendo da quantidade do desvio.
Embora a invenção tenha sido descrita com relação a incorporação 15 preferida desta, será entendido pelo técnico que as precedentes e várias outras trocas, omissões e derivações na forma e detalhes desta podem ser feitos sem sair do escopo desta invenção.
Claims (24)
1. Método de controle adaptativo do nível máximo de uma memória do receptor num cliente “streaming” em um sistema de transmissão de multimídia em tempo real, o sistema de transmissão em tempo real compreende um servidor “streaming” capaz de prover os dados de transmissão em tempo real nos pacotes a uma taxa de transmissão para o cliente “streaming” para permitir ao cliente reproduzir pelo menos uma parte dos pacotes em uma taxa de reprodução, em que cada pacote possui um número sequencial, e sendo que a memória do receptor é usada para armazenar pelo menos uma parte dos dados de transmissão em tempo real, de forma a compensar a diferença entre a taxa de transmissão e a taxa de reprodução, de tal forma a permitir que o cliente tenha uma quantidade suficiente dos dados de transmissão em tempo real para reproduzir de uma maneira de não-ruptura, e a parte armazenada dos dados de transmissão em tempo real na memória do receptor inclui uma sequência de pacotes a serem reproduzidos, a dita sequência incluindo um primeiro pacote a ser reproduzido e um último pacote a ser reproduzido, determinar no servidor o nível máximo da memória do receptor baseado na informação para ajustar no servidor a característica de transmissão, na qual os dados de transmissão em tempo real são fornecidos para o cliente, caracterizado pelo fato de que compreende a etapa de: - prover ao servidor uma mensagem incluindo a informação indicativa da duração de reprodução restante no tempo no receptor em um instante de tempo; sendo que a informação é indicativa de uma identidade de um pacote selecionado da sequência de pacotes a serem reproduzidos e de uma diferença de tempo entre o tempo de reprodução programado do dito pacote selecionado e o tempo atual.
2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o pacote selecionado a ser reproduzido é o primeiro pacote na sequência de pacotes a serem reproduzidos.
3. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o dito pacote selecionado para ser reproduzido é o último pacote na sequência dos pacotes a serem reproduzidos.
4. Método de acordo com a reivindicação 1, caracterizado pelo fato de que a identidade do pacote selecionado é o número sequencial deste.
5. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o número sequencial de cada pacote tem um protocolo de tempo de data e hora associado com este e sendo que a identidade do pacote selecionado é o protocolo de tempo de data e hora associado com o pacote selecionado.
6. Método de acordo com a reivindicação 1, caracterizado pelo fato de que compreende calcular no servidor o nível máximo na memória do receptor baseado no número sequencial do último pacote a ser reproduzido e na informação.
7. Método de acordo com a reivindicação 1, caracterizado pelo fato de que compreende calcular no servidor o nível máximo na memória do receptor baseado num protocolo de tempo de data e hora associado com o último pacote a ser reproduzido e na informação.
8. Método de acordo com a reivindicação 6, em que a duração de reprodução restante no tempo é fornecida na forma do número sequencial do primeiro pacote a ser reproduzido, caracterizado pelo fato de que compreende ainda calcular no servidor o nível máximo na memória do receptor baseado no número sequencial do último pacote a ser reproduzido e no número sequencial do primeiro pacote a ser reproduzido.
9. Método de acordo com a reivindicação 8, caracterizado pelo fato de que o cliente envia também um relatório de receptor (RTCP RR) juntamente com a dita etapa de prover, e sendo que o relatório de receptor inclui a informação indicativa do último pacote a ser reproduzido.
10. Método de acordo com a reivindicação 4, caracterizado pelo fato de que compreende calcular no servidor o nível máximo na memória do receptor baseado no número sequencial do pacote selecionado, na diferença de tempo entre o tempo de reprodução programado do pacote selecionado e o tempo atual, e no número sequencial do último pacote a ser reproduzido.
11. Método de acordo com a reivindicação 10, caracterizado pelo fato de que o cliente também envia um relatório de receptor (RTCP RR), juntamente com a dita etapa de prover, e sendo que o relatório de receptor inclui a informação indicativa do último pacote a ser reproduzido.
12. Método de acordo com a reivindicação 1, caracterizado pelo fato de que a dita mensagem também inclui a informação indicativa do nível de memória mínimo visado de tal forma a permitir que o servidor ajuste a taxa de transmissão e/ou a taxa de reprodução nominal baseado no nível de memória mínimo visado.
13. Método de acordo com a reivindicação 12, caracterizado pelo fato de que o servidor ajusta a taxa de transmissão e/ou a taxa de reprodução nominal com base no nível mínimo de memória visado e no número sequencial do último pacote a ser reproduzido.
14. Método de acordo com a reivindicação 13, caracterizado pelo fato de que o cliente também envia um relatório de receptor (RTCP RR) juntamente com a dita etapa de prover, e que o relatório de receptor inclui a informação indicativa do último pacote a ser reproduzido.
15. Sistema de controle adaptativo para uso no sistema de transmissão de multimídia em tempo real, o sistema de transmissão em tempo real compreende pelo menos um cliente “streaming” e um servidor “streaming” capaz de prover os dados de transmissão em tempo real nos pacotes a uma taxa de transmissão para o cliente para permitir que o cliente reproduza pelo menos uma parte dos pacotes a uma taxa de reprodução, em que cada pacote tem um número sequencial, e sendo que o cliente incluindo uma memória do receptor para armazenar pelo menos uma parte dos dados de transmissão em tempo real, de forma a compensar uma diferença entre a taxa de transmissão e a taxa de reprodução, de tal forma a permitir que o cliente tenha uma quantidade suficiente dos dados “streaming”, ou dados de transmissão em tempo real, para reproduzir de uma maneira de não-ruptura, e sendo que a parte armazenada dos dados de transmissão em tempo real na memória do receptor inclui uma sequência de pacotes a serem reproduzidos, a dita sequência incluindo um primeiro pacote a ser reproduzido e um último pacote a ser reproduzido, caracterizado pelo fato de compreender:no cliente:um dispositivo para prover ao servidor uma mensagem incluindo uma informação indicativa da duração de reprodução restante no tempo no receptor no instante de tempo; esendo que a informação é indicativa de uma identidade de um pacote selecionado da sequência de pacotes a serem reproduzidos e de uma diferença de tempo entre o tempo de reprodução programado do dito pacote selecionado e o tempo atual; eno servidor:um dispositivo, de resposta à mensagem, para calcular o nível máximo na memória do receptor baseado na informação fornecida, para ajustar a característica de transmissão na qual os dados de transmissão em tempo real são fornecidos para o cliente.
16. Sistema de acordo com a reivindicação 15, caracterizado pelo fato de que o dito dispositivo para fazer cálculos no servidor calcula o nível máximo na memória do receptor baseado no número sequencial do último pacote a ser reproduzido e na informação fornecida.
17. Sistema de acordo com a reivindicação 15, caracterizado pelo fato de que o dito dispositivo para fazer cálculos no servidor calcula o nível máximo na memória do receptor baseado num protocolo de tempo de data e hora associado com o último pacote a ser reproduzido e com a informação fornecida.
18. Sistema de acordo com a reivindicação 15, caracterizado pelo fato de que a informação é indicativa do número sequencial do primeiro pacote a ser reproduzido, e sendo que o dispositivo para fazer cálculo no servidor calcula o nível máximo na memória do receptor baseado no número sequencial do último pacote a ser reproduzido e no número sequencial do primeiro pacote a ser reproduzido.
19. Sistema de acordo com a reivindicação 15, caracterizado pelo fato de que o dito dispositivo para prover no cliente também envia um relatório de receptor (RTCP RR) juntamente com a informação indicativa do pacote selecionado da sequência de pacotes a serem reproduzidos, e sendo que o relatório de receptor inclui a informação indicativa do último pacote a ser reproduzido.
20. Dispositivo de comunicação em um sistema de transmissão de multimídia em tempo real, o sistema de transmissão em tempo real compreendendo um servidor “streaming” capaz de prover dados de transmissão em tempo real nos pacotes para o dispositivo de comunicação a uma taxa de transmissão que permite que o dispositivo de comunicação reproduza pelo menos uma parte dos pacotes a uma taxa de reprodução, em que cada pacote tem um número sequencial, e sendo que o dispositivo de comunicação tem uma memória de receptor para armazenar pelo menos uma parte dos dados de transmissão em tempo real, de forma a compensar uma diferença entre a taxa de transmissão e a taxa de reprodução, de tal forma a permitir que o dispositivo de comunicação tenha uma quantidade suficiente dos dados de transmissão em tempo real para reproduzir de uma maneira de não-ruptura, e a parte armazenada dos dados de transmissão em tempo real na memória do receptor inclui uma sequência de pacotes a serem reproduzidos, a dita sequência incluindo o primeiro pacote a ser reproduzido e um último pacote a ser reproduzido, caracterizado pelo fato de que compreende: - um mecanismo para calcular a duração de reprodução restante no tempo, em um instante de tempo baseado na parte armazenada dos dados de transmissão em tempo real na memória do receptor; e - um mecanismo para prover ao servidor uma mensagem incluindo a informação indicativa da duração de reprodução restante no tempo em um instante de tempo, de tal forma a permitir que o servidor calcule um nível máximo na memória do receptor baseado na informação fornecida, sendo que a informação é indicativa de uma identidade de um pacote selecionado da sequência de pacotes a serem reproduzidos e de uma diferença de tempo entre um tempo de reprodução programado do dito pacote selecionado e o tempo atual.
21. Dispositivo de acordo com a reivindicação 20, caracterizado pelo fato de que a informação é indicativa de um pacote selecionado da sequência de pacotes a serem reproduzidos e de uma diferença de tempo entre o tempo de reprodução programado do dito pacote selecionado e o tempo atual.
22. Dispositivo de acordo com a reivindicação 21, caracterizado pelo fato de que o pacote selecionado a ser reproduzido é o último pacote na sequência de pacotes a serem reproduzidos.
23. Dispositivo de acordo com a reivindicação 22, caracterizado pelo fato de que a informação é indicativa do número sequencial do primeiro pacote a ser reproduzido de tal forma a permitir que o servidor calcule o nível máximo na memória do receptor baseado no número sequencial do último pacote a ser reproduzido e no número sequencial do primeiro pacote a ser reproduzido.
24. Dispositivo de acordo com a reivindicação 22, caracterizado pelo fato de que o servidor calcula o nível máximo na memória do receptor baseado no número sequencial do pacote selecionado, na diferença de tempo entre o tempo de reprodução programado do pacote selecionado e o tempo atual, e o número sequencial do último pacote a ser reproduzido.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/395,015 | 2003-03-21 | ||
US10/395,015 US7606928B2 (en) | 2003-03-21 | 2003-03-21 | Method and device for controlling receiver buffer fullness level in multimedia streaming |
PCT/IB2004/000479 WO2004083992A2 (en) | 2003-03-21 | 2004-02-25 | Method and device for multimedia streaming |
Publications (2)
Publication Number | Publication Date |
---|---|
BRPI0408566A BRPI0408566A (pt) | 2006-03-21 |
BRPI0408566B1 true BRPI0408566B1 (pt) | 2021-10-13 |
Family
ID=32988523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BRPI0408566-3A BRPI0408566B1 (pt) | 2003-03-21 | 2004-02-25 | Método de controle adaptativo do nível máximo de uma memória do receptor num cliente streaming em um sistema de transmissão de multimídia em tempo real, sistema de controle adaptativo, e, dispositivo de comunicação |
Country Status (12)
Country | Link |
---|---|
US (1) | US7606928B2 (pt) |
EP (1) | EP1606717B1 (pt) |
JP (1) | JP4430660B2 (pt) |
KR (1) | KR100750669B1 (pt) |
CN (1) | CN1791872B (pt) |
AT (1) | ATE505891T1 (pt) |
BR (1) | BRPI0408566B1 (pt) |
CA (1) | CA2517194C (pt) |
DE (1) | DE602004032221D1 (pt) |
MY (1) | MY141951A (pt) |
TW (1) | TWI242957B (pt) |
WO (1) | WO2004083992A2 (pt) |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3825416B2 (ja) * | 2003-04-14 | 2006-09-27 | 国立大学法人北陸先端科学技術大学院大学 | データ同期方法、データ同期システム及びデータ同期プログラム |
EP1633161A4 (en) * | 2003-06-11 | 2011-05-11 | Nec Corp | MEDIUM SIGNAL RECEPTION DEVICE, TRANSMITTER AND TRANSMIT / RECEIVER SYSTEM |
US7444419B2 (en) * | 2003-10-10 | 2008-10-28 | Microsoft Corporation | Media stream scheduling for hiccup-free fast-channel-change in the presence of network chokepoints |
US20050102371A1 (en) * | 2003-11-07 | 2005-05-12 | Emre Aksu | Streaming from a server to a client |
CN100373862C (zh) * | 2004-11-08 | 2008-03-05 | 上海贝尔阿尔卡特股份有限公司 | 流媒体业务的动态无线资源调度方法和设备 |
US7620137B2 (en) * | 2004-11-13 | 2009-11-17 | Microsoft Corporation | System and method for clock drift correction for broadcast audio/video streaming |
US8218439B2 (en) * | 2004-11-24 | 2012-07-10 | Sharp Laboratories Of America, Inc. | Method and apparatus for adaptive buffering |
US7796651B2 (en) * | 2005-03-02 | 2010-09-14 | Nokia Corporation | See what you see (SWYS) |
KR100619994B1 (ko) * | 2005-03-23 | 2006-09-06 | 엘지전자 주식회사 | 이동통신 단말기의 멀티미디어 재생 방법 |
US20060221869A1 (en) * | 2005-03-29 | 2006-10-05 | Teck-Kuen Chua | System and method for audio multicast |
DE102005019105A1 (de) * | 2005-04-25 | 2006-11-02 | Siemens Ag | Kommunikationssystem |
WO2007024120A1 (en) * | 2005-08-26 | 2007-03-01 | Electronics And Telecommunications Research Institute | Method for requesting resource and scheduling for uplink traffic in mobile communication and apparatus thereof |
US7809018B2 (en) * | 2005-12-16 | 2010-10-05 | Coding Technologies Ab | Apparatus for generating and interpreting a data stream with segments having specified entry points |
DE602006006346D1 (de) * | 2005-12-16 | 2009-05-28 | Dolby Sweden Ab | Vorrichtung zum erzeugen und interpretieren eines datenstroms mit einer reihe von segmenten unter verwendung von daten in nachfolgenden datenrahmen |
JP5200204B2 (ja) | 2006-03-14 | 2013-06-05 | ディブエックス リミテッド ライアビリティー カンパニー | 高信頼性システムを含む連合型デジタル権限管理機構 |
JP2007266875A (ja) * | 2006-03-28 | 2007-10-11 | Toshiba Corp | 映像データの処理方法及び無線通信装置 |
CN100588249C (zh) * | 2006-07-27 | 2010-02-03 | 腾讯科技(深圳)有限公司 | 调节视频质量的方法、系统及终端 |
US7733773B2 (en) * | 2006-10-18 | 2010-06-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Playout based delay scheduler |
US7974299B1 (en) * | 2006-11-27 | 2011-07-05 | Marvell International Ltd. | Methods and apparatus for switching transmission channels |
US8667160B1 (en) * | 2007-02-02 | 2014-03-04 | Max Haot | System and method for internet audio/video delivery |
EP2165541B1 (en) | 2007-05-11 | 2013-03-27 | Audinate Pty Ltd | Systems, methods and computer-readable media for configuring receiver latency |
KR100780396B1 (ko) * | 2007-06-18 | 2007-11-28 | 주식회사 셀런 | Iptv 방송 서비스의 트래픽 제어 방법 |
FI120284B (fi) * | 2007-07-20 | 2009-08-31 | Tellabs Oy | Huojuntapuskurin täyttöasteen säätö |
US8812712B2 (en) * | 2007-08-24 | 2014-08-19 | Alcatel Lucent | Proxy-driven content rate selection for streaming media servers |
US7895629B1 (en) * | 2007-11-07 | 2011-02-22 | At&T Mobility Ii Llc | Video service buffer management in a mobile rate control enabled network |
US20090135735A1 (en) * | 2007-11-27 | 2009-05-28 | Tellabs Operations, Inc. | Method and apparatus of RTP control protocol (RTCP) processing in real-time transport protocol (RTP) intermediate systems |
US20090135724A1 (en) * | 2007-11-27 | 2009-05-28 | Tellabs Operations, Inc. | Method and apparatus of RTP control protocol (RTCP) processing in real-time transport protocol (RTP) intermediate systems |
EP2075935A1 (en) * | 2007-12-31 | 2009-07-01 | Motorola, Inc. | A method and apparatus for providing uninterrupted media to a user |
US8411569B2 (en) * | 2008-01-10 | 2013-04-02 | Alcatel Lucent | Method of splicing encoded multimedia data streams |
US8639830B2 (en) * | 2008-07-22 | 2014-01-28 | Control4 Corporation | System and method for streaming audio |
KR101578723B1 (ko) * | 2008-12-31 | 2015-12-21 | 엘지전자 주식회사 | 영상표시장치 및 영상표시장치의 동영상 스트리밍 방법 |
JP2010232832A (ja) * | 2009-03-26 | 2010-10-14 | Fujitsu Ltd | コンテンツ配信サーバ装置 |
US8094556B2 (en) * | 2009-04-27 | 2012-01-10 | Avaya Inc. | Dynamic buffering and synchronization of related media streams in packet networks |
JP2011009904A (ja) * | 2009-06-24 | 2011-01-13 | Hitachi Ltd | 無線映像配信システム、コンテンツビットレート制御方法及びコンテンツビットレート制御プログラムを記憶したコンピュータ読み取り可能な記録媒体 |
JP5477388B2 (ja) * | 2009-11-05 | 2014-04-23 | 日本電気株式会社 | 配信システム |
US8516063B2 (en) | 2010-02-12 | 2013-08-20 | Mary Anne Fletcher | Mobile device streaming media application |
WO2011139305A1 (en) * | 2010-05-04 | 2011-11-10 | Azuki Systems, Inc. | Method and apparatus for carrier controlled dynamic rate adaptation and client playout rate reduction |
KR20120034550A (ko) * | 2010-07-20 | 2012-04-12 | 한국전자통신연구원 | 스트리밍 컨텐츠 제공 장치 및 방법 |
US10044489B2 (en) | 2010-10-22 | 2018-08-07 | Nokia Solutions And Networks Oy | Enhanced inter-network access node scheduling coordination and signaling support for advanced receiver algorithms |
US9253105B2 (en) * | 2010-12-30 | 2016-02-02 | Nokia Technologies Oy | Methods and apparatuses for facilitating determination of a state of a receiver buffer |
US9247312B2 (en) | 2011-01-05 | 2016-01-26 | Sonic Ip, Inc. | Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol |
US8520080B2 (en) | 2011-01-31 | 2013-08-27 | Hand Held Products, Inc. | Apparatus, system, and method of use of imaging assembly on mobile terminal |
JP5284453B2 (ja) | 2011-03-17 | 2013-09-11 | 株式会社東芝 | ビデオサーバ装置及び同期制御方法 |
US9467708B2 (en) | 2011-08-30 | 2016-10-11 | Sonic Ip, Inc. | Selection of resolutions for seamless resolution switching of multimedia content |
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 |
US9479807B1 (en) * | 2011-09-29 | 2016-10-25 | Arris Enterprises, Inc. | Gateway-based video client-proxy sub-system for managed delivery of A/V content using fragmented method in a stateful system |
CN110087262B (zh) | 2011-10-21 | 2023-12-01 | 弗劳恩霍夫应用研究促进协会 | 无线资源管理设备及方法 |
US20140344471A1 (en) * | 2011-12-08 | 2014-11-20 | Telefonaktiebolaget L M Ericsson (Publ) | Progressive Download Prioritisation |
CN102547449A (zh) * | 2011-12-22 | 2012-07-04 | 华为技术有限公司 | 一种控制终端缓冲媒体流数据的方法、机顶盒及媒体服务器 |
US9591098B2 (en) * | 2012-02-01 | 2017-03-07 | Cisco Technology, Inc. | System and method to reduce stream start-up delay for adaptive streaming |
US9246842B2 (en) * | 2012-04-27 | 2016-01-26 | Intel Corporation | QoE-aware radio access network architecture for http-based video streaming |
US9185150B2 (en) * | 2012-05-06 | 2015-11-10 | Citrix Systems, Inc. | System and method for monitoring and selectively sharing an image in an image library |
US9439100B2 (en) * | 2012-06-27 | 2016-09-06 | Aruba Networks, Inc. | System and method for dynamic rate adaptation based on real-time call quality metrics |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
CN103916414B (zh) * | 2012-12-31 | 2017-09-05 | 华为技术有限公司 | 传输速率配置方法、终端设备、服务器及系统 |
US9313510B2 (en) | 2012-12-31 | 2016-04-12 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
WO2014108207A1 (en) * | 2013-01-11 | 2014-07-17 | Telefonaktiebolaget L M Ericsson (Publ) | Technique for operating client and server devices in a broadcast communication network |
EP2954653B1 (en) * | 2013-02-06 | 2018-11-28 | Telefonaktiebolaget LM Ericsson (publ) | Technique for detecting an encoder functionality issue |
EP2945339B1 (en) * | 2013-02-17 | 2018-02-07 | Huawei Technologies Co., Ltd. | Method and device for regulating streaming media data transmission |
US9019858B2 (en) | 2013-02-22 | 2015-04-28 | Nokia Solutions And Networks Oy | Generating short term base station utilization estimates for wireless networks |
US9503491B2 (en) * | 2013-03-15 | 2016-11-22 | Echostar Technologies L.L.C. | Playback stall avoidance in adaptive media streaming |
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 |
US9148386B2 (en) | 2013-04-30 | 2015-09-29 | Cisco Technology, Inc. | Managing bandwidth allocation among flows through assignment of drop priority |
US9094737B2 (en) | 2013-05-30 | 2015-07-28 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
US20150039714A1 (en) * | 2013-07-30 | 2015-02-05 | Opera Software Asa | Multimedia cache with dynamic segmenting |
US9923945B2 (en) | 2013-10-10 | 2018-03-20 | Cisco Technology, Inc. | Virtual assets for on-demand content generation |
CN103647727B (zh) * | 2013-11-29 | 2017-01-18 | 福建星网锐捷网络有限公司 | 音视频传输控制方法和装置 |
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 |
JP2017027196A (ja) * | 2015-07-17 | 2017-02-02 | 株式会社リコー | 通信装置、電力制御方法、及び電力制御プログラム |
US20180288454A1 (en) * | 2017-03-29 | 2018-10-04 | Kamakshi Sridhar | Techniques for estimating http adaptive streaming (has) video quality of experience |
KR102527986B1 (ko) * | 2022-11-23 | 2023-05-02 | (주)뉴인 | 인공 지능 기반 버퍼 크기 조절을 통한 영상 스트리밍 시스템 및 방법 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5768527A (en) * | 1996-04-23 | 1998-06-16 | Motorola, Inc. | Device, system and method of real-time multimedia streaming |
US6292834B1 (en) * | 1997-03-14 | 2001-09-18 | Microsoft Corporation | Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network |
US6701372B2 (en) * | 1997-08-22 | 2004-03-02 | Canon Kabushiki Kaisha | Data communication apparatus and method |
JP3733784B2 (ja) | 1999-05-21 | 2006-01-11 | 株式会社日立製作所 | パケット中継装置 |
US6438630B1 (en) * | 1999-10-06 | 2002-08-20 | Sun Microsystems, Inc. | Scheduling storage accesses for multiple continuous media streams |
US6988144B1 (en) * | 1999-11-18 | 2006-01-17 | International Business Machines Corporation | Packet scheduling system and method for multimedia data |
EP1182875A3 (en) * | 2000-07-06 | 2003-11-26 | Matsushita Electric Industrial Co., Ltd. | Streaming method and corresponding system |
US7191246B2 (en) * | 2001-07-18 | 2007-03-13 | Sharp Laboratories Of America, Inc. | Transmission rate selection for a network of receivers having heterogenous reception bandwidth |
US7047308B2 (en) * | 2001-08-31 | 2006-05-16 | Sharp Laboratories Of America, Inc. | System and method for simultaneous media playout |
CN1557072A (zh) * | 2001-09-21 | 2004-12-22 | ���˹���Ѷ��� | 使用缓冲器大小计算用于拥塞控制的传输速率的数据通信方法和系统 |
KR100420601B1 (ko) * | 2001-11-22 | 2004-03-02 | 에스케이 텔레콤주식회사 | 비디오 데이터 스트리밍 서비스 방법 |
US7237007B2 (en) * | 2001-12-05 | 2007-06-26 | Qualcomm Incorporated | Method and system for flow control between a base station controller and a base transceiver station |
US7257087B2 (en) * | 2002-10-04 | 2007-08-14 | Agilent Technologies, Inc. | System and method to calculate round trip delay for real time protocol packet streams |
-
2003
- 2003-03-21 US US10/395,015 patent/US7606928B2/en not_active Expired - Lifetime
-
2004
- 2004-02-25 CA CA2517194A patent/CA2517194C/en not_active Expired - Lifetime
- 2004-02-25 DE DE602004032221T patent/DE602004032221D1/de not_active Expired - Lifetime
- 2004-02-25 AT AT04714378T patent/ATE505891T1/de not_active IP Right Cessation
- 2004-02-25 CN CN2004800132838A patent/CN1791872B/zh not_active Expired - Lifetime
- 2004-02-25 JP JP2006500326A patent/JP4430660B2/ja not_active Expired - Lifetime
- 2004-02-25 BR BRPI0408566-3A patent/BRPI0408566B1/pt active IP Right Grant
- 2004-02-25 KR KR1020057017602A patent/KR100750669B1/ko active IP Right Grant
- 2004-02-25 EP EP04714378A patent/EP1606717B1/en not_active Expired - Lifetime
- 2004-02-25 WO PCT/IB2004/000479 patent/WO2004083992A2/en active Application Filing
- 2004-02-27 MY MYPI20040665A patent/MY141951A/en unknown
- 2004-03-17 TW TW093107024A patent/TWI242957B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR20060024351A (ko) | 2006-03-16 |
WO2004083992A2 (en) | 2004-09-30 |
TWI242957B (en) | 2005-11-01 |
ATE505891T1 (de) | 2011-04-15 |
WO2004083992A3 (en) | 2004-11-25 |
JP2006521035A (ja) | 2006-09-14 |
CA2517194A1 (en) | 2004-09-30 |
MY141951A (en) | 2010-07-30 |
JP4430660B2 (ja) | 2010-03-10 |
TW200427271A (en) | 2004-12-01 |
US20040186877A1 (en) | 2004-09-23 |
EP1606717B1 (en) | 2011-04-13 |
EP1606717A2 (en) | 2005-12-21 |
BRPI0408566A (pt) | 2006-03-21 |
EP1606717A4 (en) | 2008-02-13 |
CA2517194C (en) | 2012-01-03 |
US7606928B2 (en) | 2009-10-20 |
CN1791872A (zh) | 2006-06-21 |
DE602004032221D1 (de) | 2011-05-26 |
KR100750669B1 (ko) | 2007-08-20 |
CN1791872B (zh) | 2010-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BRPI0408566B1 (pt) | Método de controle adaptativo do nível máximo de uma memória do receptor num cliente streaming em um sistema de transmissão de multimídia em tempo real, sistema de controle adaptativo, e, dispositivo de comunicação | |
KR100975176B1 (ko) | 프로토콜이 기록된 컴퓨터로 판독가능한 기록 매체, 정보 처리 시스템 및 방법, 정보 처리 장치 및 방법, 및 기록 매체 | |
US7327676B2 (en) | Data transmission control method, program therefor and data transmission unit using the same | |
US8973063B2 (en) | Method and system for synchronization of digital media playback | |
JP4475827B2 (ja) | パケットネットワークにおけるリアルタイムメディアコンテンツを伝送し同期化するシステム及び方法 | |
US20020181506A1 (en) | Scheme for supporting real-time packetization and retransmission in rate-based streaming applications | |
US9621682B2 (en) | Reduced latency media distribution system | |
US20100268761A1 (en) | Methods and systems for delivery of media over a network | |
JP2009049529A (ja) | 通信制御装置、通信制御方法、及びコンピュータプログラム | |
WO2011057588A1 (zh) | 媒体流切换同步方法和流媒体服务器 | |
US9184928B2 (en) | Communications terminal, communications method, and program and integrated circuit for controlling a reproduction delay time in distributing a stream | |
JP4042396B2 (ja) | データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム | |
JP2013066088A (ja) | ネットワークシステム、ネットワーク機器および配信方法 | |
JP3906678B2 (ja) | データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム | |
KR20190073058A (ko) | Mmt 프로토콜 기반의 다채널 환경에서 콘텐츠 동기화 방법 및 장치 | |
Class | Analysis of the Concord Algorithm and the Adaptive Synchronization Protocol Using QoSy | |
US8560723B2 (en) | Stream generating device, method for calculating input buffer padding level inside the device and stream control method | |
Lee | Distributed video streaming using multicast | |
JP2006067410A (ja) | 送信装置および方法、プログラム、並びに送受信システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B25A | Requested transfer of rights approved |
Owner name: NOKIA TECHNOLOGIES OY (FI) |
|
B07A | Application suspended after technical examination (opinion) [chapter 7.1 patent gazette] | ||
B09B | Patent application refused [chapter 9.2 patent gazette] |
Free format text: INDEFIRO O PEDIDO DE ACORDO COM O ART .8O COMBINADO COM ART. 13 DA LPI |
|
B12B | Appeal against refusal [chapter 12.2 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 25/02/2004, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO. |