BRPI0821979B1 - método em um nó de rede compreendendo uma área de armazenamento temporário de oscilação adaptativa para dinamicamente ajustar um retardo de área de armazenamento temporário, e, nó de rede - Google Patents

método em um nó de rede compreendendo uma área de armazenamento temporário de oscilação adaptativa para dinamicamente ajustar um retardo de área de armazenamento temporário, e, nó de rede Download PDF

Info

Publication number
BRPI0821979B1
BRPI0821979B1 BRPI0821979-6A BRPI0821979A BRPI0821979B1 BR PI0821979 B1 BRPI0821979 B1 BR PI0821979B1 BR PI0821979 A BRPI0821979 A BR PI0821979A BR PI0821979 B1 BRPI0821979 B1 BR PI0821979B1
Authority
BR
Brazil
Prior art keywords
tjit
temporary storage
oscillation
storage area
variation
Prior art date
Application number
BRPI0821979-6A
Other languages
English (en)
Inventor
Arto Juhani Mahkonen
Original Assignee
Telefonaktiebolaget Lm Ericsson (Publ)
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 Telefonaktiebolaget Lm Ericsson (Publ) filed Critical Telefonaktiebolaget Lm Ericsson (Publ)
Publication of BRPI0821979A2 publication Critical patent/BRPI0821979A2/pt
Publication of BRPI0821979B1 publication Critical patent/BRPI0821979B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

MÉTODO EM UM NÓ DE REDE COMPREENDENDO UMA ÁREA DE ARMAZENAMENTO TEMPORÁRIO DE OSCILAÇÃO ADAPTATIVA PARA DINAMICAMENTE AJUSTAR UM RETARDO DE ÁREA DE ARMAZENAMENTO TEMPORÁRIO, E, NÓ DE REDE Um método para dinamicamente ajustar o retardo de área de armazenamento temporário de uma área de armazenamento temporário de oscilação adaptativo de um nó de rede recebendo pacotes de uma seqüência de mídia de uma rede comutada por pacotes. O método compreende inserir pacotes chegando ao nó de rede na área de armazenamento temporário de oscilação e executando um procedimento de armazenamento temporário de oscilação uma vez a cada Trepin, onde Trepin é igual ao intervalo de execução da saída da área de armazenamento temporário de oscilação. Executar o procedimento da área de armazenamento temporário de oscilação envolve atualizar um tempo de proteção de oscilação, Tjit, onde Tjit define um valor alvo de corrente para o retardo de armazenamento temporário máximo, nas bases da variação do número de pacotes pendentes, N na área de armazenamento temporário de oscilação.

Description

CAMPO TÉCNICO
[001] A presente invenção se refere geralmente a um método simples de ajustar o retardo de uma área de armazenamento temporário de oscilação de acordo com a variação do número de pacotes pendentes na área de armazenamento temporário.
FUNDAMENTOS
[002] Quando uma sequência de mídia em um serviço de mídia convencional, tal como e.g. um serviço de telefonia, é recebida por um nó de rede, tal como e.g. um portão de passagem de mídia, a partir de uma interface onde retardo de transporte tende a variar através de um amplo intervalo, uma área de armazenamento temporário de oscilação será requerido na entrada do nó de rede de modo a garantir um taxa constante e contínua de execução da saída a partir do nó de rede em direção a uma outra interface, que pode requerer um variação bem limitada no tempo de saída.
[003] Os princípios gerais do armazenamento temporário de oscilação em um nó de rede são descritos com referência a figura 1. É para ser entendido que somente partes que são essenciais para o entendimento de armazenamento temporário de oscilação são mostradas na figura, enquanto outras partes necessárias para as funções de processamento de voz, tal como e.g. codificadores e decodificadores de voz, têm sido omitidos para razões de simplicidade. Pelas mesmas razões, a figura somente descreve como media transmissão de mídia é executada em uma direção, i.e. no enlace de comunicação de subida, omitindo a transmissão no enlace de comunicação de descida, que completa uma conversão nos dois sentido.
[004] Na Figura 1, uma fonte de voz 100, que é configurado para despachar dados em tempo real em uma sequência de mídia, para um ou mais usuários, gera pacotes em um intervalo de tempo constante, Trepin 102. Conforme os pacotes são encaminhados através de uma rede comutada por pacote 101, um retardo de transporte que não é constante será introduzido para a sequência de mídia. Na figura este fenômeno, referido como oscilação, é ilustrado como pacotes, deixando a rede 101 em intervalos irregulares, 103. Já que um número de pacotes pode chegar em um nó de rede intermediário 104 com intervalos de tempo bem curtos, i.e. em rajadas, seguido por um intervalo de tempo quando nenhum pacote chega, o padrão com o qual os pacotes chegam ao nó de rede pode ser difícil de prognosticar e de tratar.
[005] Uma maneira comum para manter a oscilação sob controle é implementar uma área de armazenamento temporário de oscilação 105 no nó de rede intermediário 104. Em adição ao retardo de transporte, causado pela rede, a área de armazenamento temporário de oscilação 105 vai introduzir um outro retardo, que pode ser identificado como um tempo de proteção de oscilação Tjit 106, conforme pacotes chegando ao nó de rede são armazenados temporariamente 107 na área de armazenamento temporário de oscilação antes que eles sejam executados para fora 108 a partir do nó de rede em um intervalo constante recuperado, Trepout, 109 que é equivalente ao Trep™. Os pacotes podem agora ser passados adiante para um ou mais entidades de terminação (não mostradas) através de uma outra rede de transporte 110, tipicamente uma rede comutada por circuito, que não tolera oscilação.
[006] Se Tjit 106 é uma constante pré-configurada, o armazenamento temporário de oscilação é chamado armazenamento temporário estático, e, assim sendo, todos os pacotes armazenados temporariamente vão experimentar o mesmo retardo de área de armazenamento temporário de oscilação. Se por outro lado Tjit é permitido mudar nas bases de algum tipo de análise para mudar nas bases de algum tipo de análise de compartimento do retardo na entrada do nó de rede, o método de armazenamento temporário é em vez disso referido como armazenamento temporário de oscilação adaptativo.
[007] De modo a evitar retardo mais longos do que o que é absolutamente necessário, armazenamento temporário de oscilação adaptativo é preferido sobre o armazenamento temporário estático. De modo a opera apropriadamente, a área de armazenamento temporário de oscilação possibilitando armazenamento temporário estático tem de ser dimensionada para o pior caso de variação do retardo, e, assim sendo, o retardo causado pelo armazenamento temporário estático tipicamente será muito maior daquele que é requerido para armazenamento temporário dinâmico, especialmente quando o pior caso ocorre relativamente raramente.
[008] Algoritmos de armazenamento temporário de oscilação adaptativos são usualmente desenvolvidos para receber terminações de terminais ou clientes, que tipicamente são atribuídas para um único usuário final. Em nós de rede, contudo, uma unidade de processamento é tipicamente compartilhada por dezenas, ou mesmo centenas de usuários concorrentes, ou exemplos de sequência. Em tal uma situação, simplicidade do algoritmo de armazenamento temporário vai se tornar uma questão vital, de modo para o operador manter baixo os custos de processamento por canal.
[009] Quando dimensionando áreas de armazenamento temporário de rede, há usualmente um compromisso entre simplicidade e a qualidade perceptual que tem de ser levado em consideração. Isto significa que o algoritmo de armazenamento temporário implementado em um nó de rede deve ser tão simples quanto possível, mas ainda bom o bastante em qualidade, sem a qualidade tendo de atingir o nível de qualidade que é necessário em uma terminação de terminal de usuário típica. Uma execução da saída passível de dimensionar requer mais propriamente uma função complexa nos nós da rede, comparado ao que é requerido na terminação do terminal de usuários. Nos nós de rede, acelerar, ou retomar transmissão, é usualmente feita saltando pacotes, ou quadros, enquanto redução é realizada inserindo quadros, i.e. como pacotes de dissimulação de erro.
SUMÁRIO
[0010] O objeto da presente invenção é endereçar pelo menos, alguns dos problemas esboçados acima. Em particular, isto é um objeto para fornecer um retardo adaptativo de uma área de armazenamento temporário de oscilação que pode ser de modo adaptativo, ajustada de acordo com a variação do número de pacotes pendentes na área de armazenamento temporário.
[0011] De acordo com um primeiro aspecto, um método de dinamicamente ajustar o retardo de área de armazenamento temporário de uma área de armazenamento temporário de oscilação adaptativa de um nó de rede recebendo pacotes de uma sequência de mídia de uma rede comutada por pacote é fornecido, onde o método compreende os seguintes passos: - inserir pacotes chegando ao nó de rede na área de armazenamento temporário de oscilação, e - executar um procedimento de armazenamento temporário de oscilação uma vez a cada Trepm, Trepm sendo igual ao intervalo de execução da saída da área de armazenamento temporário de oscilação, onde um tempo de proteção de oscilação, Tjit definindo um valor alvo corrente para o retardo de armazenamento temporário máximo, está sendo atualizado nas bases da variação do número de pacotes pendentes, N na área de armazenamento temporário de oscilação.
[0012] O procedimento de armazenamento temporário de oscilação pode compreender os seguintes passos iniciais: - determinar se a sequência de mídia mencionada está presentemente em um período de silêncio ou se o mais recentemente pacote recebido é um pacote de voz ou um SID, e - executar um procedimento de adaptação para atualizar Tjit durante um período de fala no caso do mais recentemente pacote recebido ser um pacote de voz, ou - executar um procedimento de adaptação para atualizar Tjit durante um período de silêncio no caso da sequência de mídia mencionada estar presentemente em um período de silêncio ou no caso do mais recentemente pacote recebido ser um SID.
[0013] O procedimento de adaptação para ajustar Tjit durante um período de fala ou um fluxo de mídia compreendendo os seguintes passos: - monitorar N, de modo a atualizar o menor valor de N, Nmin e o maior valor de N, Nmax, registrado sobre um intervalo de adaptação, ADAPT_INT, ADAPT_INT definindo um número pré-determinado de iterações do procedimento de adaptação, - definir um valor alvo atualizado, Tj para Tjit nas bases da variação de N, tal que: Tj = (Nmax - Nmin) * Trepin Tj sendo um indicador do ajuste requerido do Tjit, e - ajustar Tjit no caso do número de iterações do procedimento de adaptação desde que o último ajuste do Tjit é igual a ADAPTJNT.
[0014] Ainda mais, o passo de ajustar pode compreender os seguintes passos: - aumentar Tjit de acordo com Tj no caso da variação de N ser maior do aquela que o Tjit corrente pode tratar, ou diminuir Tju de acordo com Tj, no caso que o Tj» corrente é dimensionado para uma maior variação de N do que a variação corrente.
[0015] Em adição, o passo de ajustar pode também compreender os seguintes passos: - instantaneamente atualizar Tj« para igual à Tj, executar um rápido ataque, no caso de Tj exceder Tjit, ou - gradualmente diminuir Tju em direção ao Tj corrente, efetuar um decaimento lento, e - gradualmente retirar o mais antigo pacote da área de armazenamento temporário em uma taxa relaxada até que o Tjit corresponda à variação corrente de N no caso que o tempo de retardo da área de armazenamento temporário máximo, N*Trepin excede um pré-determinado limite, catchUpLimit.
[0016] O catchUpLimit pode ser definido como: catchUpLimit = Tj + Trepin no caso de Tjit não ter sido atualizado e o Tj corrente exceder o Tjit corrente ou como: catchUpLimit = Tjit + Trepin ao contrário.
[0017] Se durante um período de silêncio, ou no caso que o mais recentemente pacote recebido é a SID, o procedimento de adaptação para adaptar Tjit pode compreender os seguintes passos: - atualizar Tjit no caso que o número de iterações do procedimento para adaptar durante um período de fala desde que a última adaptação do Tjit executada pelo procedimento mencionado excede um pré- determinado limite de adaptação do período de silêncio, DTXLimit, - definir um valor alvo atualizado, Tj para Tjit, nas bases da variação de N, tal que: Tj = (Nmax - Nmin ) * Trepin Tj sendo um indicador do ajuste requerido de Tjit onde Nmax é o maior, e Nmin é o menor valor de N que foi medido sobre um intervalo de adaptação, ADAPTJNT, ADAPT.INT definindo um pré-determinado número de iterações do procedimento de adaptação, e - aumentar Tjit de acordo com Tj no caso da variação de N ser maior daquele que o Tjit corrente pode tratar.
[0018] O passo de ajustar pode ainda compreender os seguintes passos: - instantaneamente atualizar Tjit para igual à Tj, executar um rápido ataque, no caso que Tj excede Tjit, e - gradualmente retirar o mais antigo pacote a partir da área de armazenamento temporário em uma taxa relaxada até que Tjit corresponda à variação corrente de N, no caso do tempo de retardo da área de armazenamento temporário presente, N*Trepin excede a um pré-determinado limite, catchUpLimit, onde catchUpLimit pode se definido como: catchUpLimit = Tj + Trepin
[0019] A sequência de mídia pode ser i.e. uma sequência de áudio, ou uma sequência de vídeo.
[0020] De acordo com um outro aspecto, também um nó compreendendo uma área de armazenamento temporário de oscilação adaptativa para receber pacotes de uma sequência de mídia a partir de uma rede comutada por pacote é fornecida, onde o nó sendo adaptado para dinamicamente ajustar o retardo de área de armazenamento temporário compreende: - uma unidade de recepção para receber pacotes chegando ao nó, e - uma unidade de armazenamento temporário para inserir pacotes chegando ao nó de rede na área de armazenamento temporário de oscilação, e para executar um procedimento de armazenamento temporário de oscilação uma vez a cada Trepin, Trepin sendo igual ao intervalo de execução da saída da área de armazenamento temporário de oscilação, onde um tempo de proteção de oscilação, Tjit definindo um valor alvo corrente para o retardo de armazenamento temporário máximo, está sendo atualizado nas bases da variação do número de pacotes pendentes, N na área de armazenamento temporário de oscilação.
[0021] A unidade de armazenamento temporário pode ser adaptada para executar os seguintes passos: - determinar se a sequência de mídia mencionada está presentemente em um período de silêncio ou se o mais recentemente pacote recebido é um pacote de voz ou um SID, e - executar um procedimento de adaptação para atualizar Tjit durante um período de fala no caso do mais recentemente pacote recebido ser um pacote de voz, ou - executar um procedimento de adaptação para atualizar Tjit durante um período de silêncio no caso da sequência de mídia mencionada estar presentemente em um período de silêncio ou no caso do mais recentemente pacote recebido ser um SID.
[0022] No caso que a unidade de armazenamento temporário está executando um procedimento de adaptação para atualizar Tjit durante um período de fala ou a fluxo de mídia, a unidade de armazenamento temporário pode ainda ser adaptada para executar os seguintes passos: - monitorar N, de modo a atualizar o menor valor de N, Nmin e o maior valor de N, Nmax, registrado sobre um intervalo de adaptação, ADAPT_INT, definindo um número pré-determinado de iterações do procedimento de adaptação, - definir um valor alvo atualizado, Tj para Tjit nas bases da variação de N, tal que: Tj = (Nmax - Nmin) * Trepin Tj sendo um indicador do ajuste requerido do Tjit, e - ajustar Tjit no caso do número de iterações do procedimento de adaptação desde que o último ajuste do Tjit é igual a ADAPTJNT.
[0023] Quando executando o passo de ajustar a unidade de armazenamento temporário é ainda adaptada para executar os seguintes passos: - aumentar Tjit de acordo com Tj no caso que a variação de N é maior daquele que o Tjit corrente pode tratar, ou diminuir Tjit de acordo com Tj, no caso que o Tjit corrente é dimensionado para uma maior variação de N do que a variação corrente.
[0024] Em adição, quando executando o passo de ajustar, a unidade de armazenamento temporário pode ser adaptada para ainda incluir os seguintes passos: - instantaneamente atualizar Tjit para igual à Tj, executar um rápido ataque, no caso de Tj exceder Tjit, ou - gradualmente diminuir Tjit em direção ao Tj corrente, efetuar um decaimento lento, e - gradualmente retirar o mais antigo pacote da área de armazenamento temporário em uma taxa relaxada até que o Tjit corresponda a variação corrente de N no caso que o tempo de retardo da área de armazenamento temporário máximo, N*Trepin excede um pré-determinado limite, catchUpLimit.
[0025] A unidade de armazenamento temporário pode ser adaptada para definir catchUpLimit as: catchUpLimit = Tj + Trepin no caso de Tjit não ter sido atualizado e o Tj corrente exceder o Tjit corrente ou como: catchUpLimit = Tjit + Trepin ao contrário.
[0026] Se durante um período de silêncio ou se o mais recentemente pacote recebido é um SID, a unidade de armazenamento temporário mencionada pode por sua vez ser ainda adaptada para executar os seguintes passos: - atualizar Tjit no caso que o número de iterações do procedimento para adaptar durante um período de fala desde que a última adaptação do Tjit executada pelo procedimento mencionado excede um pré- determinado limite de adaptação do período de silêncio, DTXLimit, - definir um valor alvo atualizado, Tj para Tjit, nas bases da variação de N, tal que: Tj = (Nmax - Nmin ) * Trepin Tj sendo um indicador do ajuste requerido de Tjit onde Nmax é o maior, e Nmin é o menor valor de N que foi medido sobre um intervalo de adaptação, ADAPTJNT, ADAPTJNT definindo um pré-determinado número de iterações do procedimento de adaptação, - aumentar Tjit de acordo com Tj no caso da variação de N ser maior daquele que o Tjit corrente pode tratar.
[0027] Durante o passo de ajustar mencionado, a unidade de armazenamento temporário pode ainda ser adaptado para executar os seguintes passos: - instantaneamente atualizar Tjit para igual à Tj, executar um rápido ataque, no caso que Tj excede Tjit, e - gradualmente retirar o mais antigo pacote a partir da área de armazenamento temporário em uma taxa relaxada até que Tjit corresponda à variação corrente de N, no caso do tempo de retardo da área de armazenamento temporário presente, N*Trepin excede a um pré-determinado limite, catchUpLimit.
DESCRIÇÃO BREVE DOS DESENHOS
[0028] A presente invenção será agora descrita em mais detalhe por meio de modalidades exemplares e com referência aos desenhos anexos, nos quais: Fig. 1 ilustra uma visão básica dos princípios de armazenamento temporário de oscilação, de acordo com a técnica anterior. Fig. 2a-d ilustra variações possíveis de um nível de área de armazenamento temporário de oscilação para a área de armazenamento temporário operando de acordo com a invenção reivindicado. Fig. 3 ilustra os princípios globais de recepção de pacotes e tempo, de acordo com uma modalidade. Fig- 4 ilustra o algoritmo de armazenamento temporário de oscilação global, de acordo com uma modalidade. Fig- 5 ilustra um procedimento de adaptação para ser operável durante um período de fala ou um fluxo de mídia, de acordo com uma modalidade. - Fig- 6 ilustra um procedimento de adaptação para ser operável durante, ou no começo de um período de silêncio, de acordo com uma modalidade. - Fig- 7 ilustra um procedimento para gradualmente adaptar o menor retardo de área de armazenamento temporário, de acordo com uma modalidade. - Fig- 8 ilustra um nó de rede típico, compreendendo uma área de armazenamento temporário de oscilação adaptativa adaptada para operar de acordo com o algoritmo de armazenamento temporário de oscilação, de acordo com uma modalidade. - Fig. 9a ilustra um desempenho exemplar de um algoritmo de área de armazenamento temporário de oscilação, de acordo com uma modalidade com DTX desabilitada. - Fig. 9b ilustra um outro desempenho exemplar de um algoritmo de área de armazenamento temporário de oscilação, de acordo com uma outra modalidade com DTX habilitada.
DESCRIÇÃO DETALHADA
[0029] Brevemente descrito, a presente invenção se refere à um algoritmo de armazenamento temporário de oscilação adaptativo simples, e mais especificamente, a uma maneira para adaptar o retardo de uma área de armazenamento temporário de oscilação nas bases da variação do número de pacotes pendentes na área de armazenamento temporário.
[0030] Um nó de rede, e.g. um portão de passagem de mídia, recebe pacotes, transmitidos a partir de uma fonte de sequenciamento em tempo real, e encaminhados através de uma rede comutada por pacote que introduz um retardo de transporte não prognosticado, i.e. oscilação para a sequência de pacote. De modo a ser capaz to cope com a área de armazenamento temporário, e por meio disso, permitindo um execução da saída com um retardo constante a partir do nó de rede, e de modo a manter o retardo introduzido pelo baixo armazenamento temporário, o nó é fornecido com uma área de armazenamento temporário de oscilação adaptativa. Para tal uma área de armazenamento temporário de oscilação, que tipicamente trata um número considerável de usuários concorrentes, para operar com um bom desempenho, um simples algoritmo de armazenamento temporário será desejado.
[0031] O retardo causado pela área de armazenamento temporário de oscilação é determinado pelo tempo de proteção de oscilação, Tjit. Tjit é um parâmetro que, se otimizado vai permitir a área de armazenamento temporário tratar aos vários números de pacotes pendentes na área de armazenamento temporário, i.e. par armazenar temporariamente pacotes chegando, sem tendo de retirar qualquer pacotes, exceto quando pacotes são deliberadamente retirados, i.e. durante uma retomada de transmissão, que é efetuada de modo a ajustar o retardo de acordo com a situação de oscilação corrente.
[0032] O retardo total da fonte para a execução da saída é a soma do retardo de transporte e o retardo introduzido pelo armazenamento temporário, i.e. o quanto maior o retardo de transporte de uma pacote foi, menor o retardo do armazenamento temporário será, e vice versa. Tjit vai definir um valor alvo para o retardo de armazenamento temporário máximo. Isto significa que o retardo de armazenamento temporário experimentada vai se aproximar de Tjit somente quando o retardo de transporte está em seu mínimo. O retardo de armazenamento temporário deve ser mantido tão constante quanto possível, e ao mesmo tempo, tão pequeno quanto possível. Esses requisitos são contraditórios e requerem uma negociação.
[0033] Continuamente adaptando Tjit nas bases da variação do número de pacotes pendentes na área de armazenamento temporário de oscilação será possível adaptar o retardo de área de armazenamento temporário de oscilação ao comportamento da oscilação, experimentado na entrada do nó de rede, e para os requisitos mencionados acima.
[0034] De acordo com uma modalidade da invenção reivindicada, o número de pacotes pendentes, N na área de armazenamento temporário de oscilação será continuamente monitorada e o maior e o menor dos valores monitorados, i.e. Nmax e Nmin, respectivamente, serão usados para determinar a variação do número de pacotes pendentes.
[0035] Durante um período de fala, transportando pacotes de voz, ou um fluxo de mídia, transportando pacotes de mídia, e.g. vídeo, uma variação do número de pacotes pendentes será registrado ao longo de um determinado intervalo de adaptação curto, definido como ADAPT_INT, onde ADAPT_INT é um pré-determinado parâmetro de ajuste, indicando o intervalo mínimo com o qual Tjit será atualizado. Durante um período de fala ou um fluxo de mídia, um procedimento de adaptação será executado em intervalos regulares, onde um contador é incrementado a cada iteração. Uma vez que o contador se iguala a ADAPT_INT, consequentemente Tjit será adaptada. Subsequente a uma adaptação do Tjn, o conteúdo da área de armazenamento temporário de oscilação será ajustado retomando transmissão, i.e. retirando um pacote do área de armazenamento temporário de oscilação, se necessário. Já que pacotes têm de ser despachados a partir da área de armazenamento temporário de oscilação e do nó de rede em uma taxa contínua, o procedimento de adaptação será seguido, ou puxando ou processando um pacote, ou gerando um pacote de dissimulação.
[0036] Em outro parâmetro Tj, que dá uma indicação de um novo valor alvo de Tjit, i.e. uma indicação de, se Tjit deve ser adaptado a menor ou maior, dependendo da variação esperada de N, pode ser expresso como: Tj — (Nmax — Nmin) *Trepin ( 1 ) onde Trepin é o intervalo de repetição nominal com o qual pacotes são transmitidos da fonte, sendo igual ao intervalo de repetição nominal, Trepout com o qual os pacotes são despachados da área de armazenamento temporário de oscilação e do nó de rede.
[0037] Diferentes cenários para uma área de armazenamento temporário de oscilação adaptativa e os efeitos sobre uma área de armazenamento temporário usando o algoritmo de armazenamento temporário de oscilação adaptativo proposto de acordo com uma modalidade será agora descrito com referência às figuras 2a-d. Figura 2a e 2b ilustram um cenário típico, onde figura 2a mostra o número mínimo, Nmin de pacotes pendentes na área de armazenamento temporário de oscilação, enquanto figura 2b mostra o número máximo, Nmax de pacotes pendentes, registrado ao longo de um intervalo de tempo definido como ADAPT_INT * Trepin.
[0038] No cenário descrito com figuras 2a e 2b, a variação do número de pacotes pendentes é mais propriamente alto. Tal um cenário pode ser expresso como: Tj > Tjit (2)
[0039] Obviamente, a variação dos pacotes pendentes resulta em um Tj que excede o presente tempo de proteção de oscilação, Tjit, i.e. Tj indica que Tjit tem de ser aumentado de modo a área de armazenamento temporário de oscilação ser capaz de tratar a variação corrente da oscilação.
[0040] Figura 2c e 2d por outro lado mostram uma situação com uma variação baixa do número de pacotes pendentes na área de armazenamento temporário de oscilação. Esta situação pode por sua vez ser descrita como: Tj < Tjit (3)
[0041] Neste cenário, o cenário, o presente Tjit tem um valor que consequentemente permite a área de armazenamento temporário tratar todos os pacotes chegando, mas exagera no presente retardo, e, como uma consequência, o retardo pode, e será feito menor acelerando, i.e. retirando pacotes / quadros de vez em quando. Obviamente, também Tjit será adaptado a menor.
[0042] Quando o retardo de transporte na entrada do nó de rede é longo, o número de pacotes na área de armazenamento temporário de oscilação gradualmente diminui. Se um pacote é atrasado mais do que o valor corrente de Tjit tolera, o número de pacotes pendentes pode mesmo atingir zero. Um cenário ilustrando um retardo de transporte longo, é ilustrado na figura 2a e 2c. Se a área de armazenamento temporário ficou vazia, quando um pacote teve ser executado para saída durante um período de fala ou um fluxo de mídia, uma dissimulação de erro será inserida na área de armazenamento temporário, possibilitando ao nó continuamente executar para saída alguma coisa com uma taxa constante. Efetivamente, isto é referido como uma redução embutida da execução da saída.
[0043] Em um cenário subsequente típico, o retardo de transporte ocasionalmente tende a ficar curto por um período de tempo limitado, tal que o tempo entre chegadas na entrada da área de armazenamento temporário se torna temporariamente mais curto do que o intervalo de repetição nominal, Trepin dos pacotes na fonte. O fato que o intervalo de execução da saída na saída da área de armazenamento temporário de oscilação tenha de ser constante, i.e. igual à Trepin, de modo a fornecer voz de boa qualidade para uma ou mais entidades terminado, pode conduzir a uma situação onde o número de pacotes pendentes na área de armazenamento temporário de oscilação gradualmente aumenta. Tal uma situação é ilustrada com as figuras 2b e 2d.
[0044] Se um pico de retardo ocorre sem resultar em qualquer perda de pacote, pacotes no seu caminho para a área de armazenamento temporário eventualmente chega, ou em rajadas ou com um intervalo de tempo entre chegadas curto, e o número de pacotes pendentes, N na área de armazenamento temporário de oscilação pode mesmo exceder um limite superior anteriormente configurado. Isto significa que de agora em diante o efetivo tempo de proteção de oscilação, ou o valor alvo de Tjit, i.e. Tj, pode ter aumentado para um nível acima do valor de corrente de Tjit, como indicado na figura 2b.
[0045] Se picos e rajadas de retardos longos ocorrem intermitentemente, forçando o nível da área de armazenamento temporário de oscilação nível a aumentar acima do valor corrente de Tjit, o algoritmo da área de armazenamento temporário de oscilação proposto vai ajustar Tjit tal que ele é aumentado imediatamente de modo a ir de encontro com a diferença monitorada de Nmax> e Nmin, e o presente valor de Tj. Tal um cenário é tipicamente referido como um rápido ataque.
[0046] Se não há mais picos de retardo longo, e as subsequentes rajadas são decrescentes por natureza, a variação do número de pacotes pendentes na área de armazenamento temporário gradualmente vai ficar de novo. Tjit, contudo, vai permanecer em um nível relativamente alto, como mostrado na figura 2d. Em tal uma situação, o algoritmo de armazenamento temporário vai começar a pular e retirar o mais antigo pacote da área de armazenamento temporário em uma determinada taxa relaxada, até Tjit atingir um nível que corresponde à Tj de novo. Isto é eficazmente referida como uma aceleração embutida da execução da saída, e é também chamada de decaimento lento ou uma retomada da adaptação. Consequentemente o algoritmo de adaptação descrito tem um rápido ataque, mas um decaimento lento.
[0047] Um mecanismo de armazenamento temporário de oscilação adaptativo, especialmente adaptado para operar em um nó de rede, de acordo com a presente modalidade, se baseia em um algoritmo de adaptação simples. Os princípios globais de tal um algoritmo serão agora explicados em detalhes adicionais com referência às figura 3 - figura 7.
[0048] Pacotes chegando ao nó de rede serão tratados pela área de armazenamento temporário de oscilação em um intervalo regular, Trepin, e, assim sendo, um tempo apropriado da entrada da área de armazenamento temporário de oscilação será requerido. Como isto pode ser alcançado em um cenário para tratar pacotes de voz chegando, transmitidos a partir de uma fonte de voz será agora descrito com referência à figura 3.
[0049] O diagrama em bloco da figura 3 mostra os princípios globais do tempo e recepção de pacote na área de armazenamento temporário de oscilação. De acordo com a figura, pacotes são colocados na área de armazenamento temporário de oscilação conforme eles chegam de uma rede de transporte, tipicamente com um retardo variando, e um mecanismo de armazenamento temporário de oscilação adaptativo, indicado como A na figura, será executado em uma base regular, i.e. com o intervalo de tempo Trepin, que tipicamente pode ser e.g. 20 ms.
[0050] Em um primeiro passo 3:1, o armazenamento temporário inicia configurando inicialmente variáveis que serão necessárias durante a subsequente adaptação do tempo de proteção da área de armazenamento temporário de oscilação, Tjit. N, indicando o número de pacotes correntemente pendentes na área de armazenamento temporário, Nmax, e dois contadores, cntrl e cntr2, são re-configurados. Durante a inicialização efetuada no passo 3:1, Nmin é também configurado para um valor pré- definido. MAX VAL, que foi escolhido para um valor suficientemente alto, tal que sob nenhuma circunstância será excedido, pelo número de pacotes pendentes, N na área de armazenamento temporário de oscilação. MAX VAL poderia, por conseguinte, ser configurado e.g. para 1000, ou para o maior valor inteiro positivo de uma unidade de processamento, e.g. 32767.
[0051] De modo a fornecer um tempo apropriado durante a recepção de pacotes, um intervalo de tempo T, pode ser definido como: T = currT - prevT (4)
[0052] onde currT representa o tempo corrente dado pelo host e prevT representa o tempo anterior que o algoritmo da área de algoritmo de armazenamento temporário de oscilação A foi executado. No passo 3:1, prevT é configurado igual ao currT, enquanto parâmetro de intervalo de tempo, T é re-configurado. Tjit é também configurado para um valor de início adequado, variando entre Tjitmin e Tjitmax, sendo um intervalo de adaptação aceitável especificado por Tjit. Tjitmin e Tjitmax são tipicamente parâmetros de configuração que são escolhidos dependendo da interface de entrada da área de armazenamento temporário. Um valor típico para Tjitmin pode ser, e.g. 20 ms, enquanto Tjitmax pode ser configurado para e.g. 200 ms. Um valor de iniciação adequado para Tjit pode então ser derivado e.g. como: Tjit = (Tjitmin + Tjitmax) / 2 ( 5 )
[0053] Enquanto o período de tempo Trepin não passa, o que é continuamente verificado em um passo 3:5, pacotes chegando ao nó de rede serão colocados na área de armazenamento temporário de oscilação, como indicado com um passo 3:2, e um outro passo 3:3. Em um subsequente passo 3:4, o contador N é incrementado de 1, e o tempo, T da área de armazenamento temporário é atualizado em um outro passo 3:6, antes do laço tratando pacotes chegando ser repetido, iniciando no passo 3:2.
[0054] Contudo, uma vez que Trepin passou, um procedimento, A, adaptado para efetuar armazenamento temporário de oscilação, será executado. Subsequente à execução do procedimento de armazenamento temporário de oscilação A, o tempo da área de armazenamento temporário será re-configurado configurando prevT para currT, como indicado em um passo 3:7, e o procedimento para colocar pacotes chegando na área de armazenamento temporário de oscilação será repetido, iniciando no passo 3:2.
[0055] Como indicado com o passo 3:5, um procedimento de armazenamento temporário de oscilação será executado uma vez a cada Trepin. Um exemplo de tal um procedimento de armazenamento temporário de oscilação de acordo com uma modalidade será agora descrito em detalhes adicionais, referindo ao diagrama de bloco da figura 4.
[0056] Se a transmissão descontínua de voz (DTX) está habilitada, deve primeiro ser determinado se a fala recebida está dentro de um período de silêncio, ou se o mais recentemente pacote recebido é um descritor de silêncio, i.e. a SID. A última verificação é acompanhada pegando o mais recentemente pacote recebido na área de armazenamento temporário de oscilação, onde o conteúdo relevante do mais recente pacote é acessado a partir da área de armazenamento temporário sem efetivamente puxar quaisquer pacotes ainda fora da área de armazenamento temporário. Neste caso, o conteúdo relevante será o tipo de quadro, i.e. SID ou fala. Se quaisquer dessas condições são encontradas, o diagrama de bloco vai para o ramo C. O procedimento definido por C, será descrito em detalhe adicional abaixo, com referência à figura 6.
[0057] Se, contudo, nenhuma dessas condições é encontrada, ou se DTX está desabilitado, o diagrame em bloco vai por sua vez para o ramo B, e um procedimento de adaptação da área de armazenamento temporário de oscilação para tratar um período de fala será executado. Um exemplo de tal um procedimento de acordo com uma modalidade será descrito em detalhes adicionais abaixo, desta vez com referência à figura 5.
[0058] Se um período de fala em curso é identificado no passo inicial 4:1 do procedimento de armazenamento temporário de oscilação A, o diagrama de bloco vai para o ramo B, onde um procedimento de adaptação, adaptado para tratar um período de fala será executado. Quando o procedimento B, resultando em um Tjit atualizado, terminou, é primeiro determinado se a área de armazenamento temporário de oscilação está vazia ou não, como indicado com um passo 4:2.
[0059] Se for encontrado que a área de armazenamento temporário está vazia, alguma coisa ainda tem de ser despachado a partir dela, e, assim sendo, uma dissimulação de erro é inserido na área de armazenamento temporário, como indicado em um seguinte passo 4:3, antes do procedimento ser terminado em um passo 4:4 final. Se, contudo, presentemente há um ou mais pacotes na área de armazenamento temporário de oscilação, é por sua vez determinado se o período de fala está em se começo ou não. Esta verificação é feita em um passo 4:5 subsequente. Se for encontrado que o período de fala não está em seu começo, o mais antigo pacote é puxado a partir da área de armazenamento temporário, como indicado com um passo 4:7, consequentemente, N é decrementado de um, como indicado no passo 4:8, e o mais antigo pacote de voz é processado consequentemente em um outro passo 4:9, antes que ramo termine no passo 4:4.
[0060] Se, contudo, é encontrado que o período de fala está em seu começo no passo 4:5, o passo seguinte é determinar se o mais antigo pacote na área de armazenamento temporário de oscilação foi armazenado temporariamente o tempo bastante para ser processado, i.e. mais longo do que ou igual à Tjit. Isto é feito em um outro passo 4:6. Antes que isto ocorreu, nada será puxado a partir da área de armazenamento temporário de oscilação e por usa vez ruído de conforto será inserida na área de armazenamento temporário, como indicado no passo 4:17.
[0061] Durante um período de silêncio, pacotes, ou quadros de SID, são transmitidos a partir de uma fonte de transmissão com uma taxa mais baixa do que durante um período de fala e o procedimento tem de verificar quando um quadro de SID precisa ser processado, ou quando não há nada para puxar da área de armazenamento temporário de oscilação.
[0062] Quando por sua vez Tjit foi adaptado no procedimento de adaptação C, é primeiro verificado uma vez mais, se a fala está ou não em um período de silêncio, como indicado com um passo 4:10 seguinte. Isto será necessário, já que ir par ao ramo C é também feito quando o mais antigo pacote na área de armazenamento temporário de oscilação está ainda no período de fala, mas o mais novo, pacote pego é já um SID. Se é encontrado que a fala não está em um período de silêncio, o mais antigo pacote será puxado e processado, assim como para o caso de rajada de conversação, como indicado com passos 4:7 - 4:9. Em semelhança ao caso do período de fala, o procedimento de armazenamento temporário de oscilação é então terminado no passo 4:4 final, e o algoritmo continua a tratar pacotes, chegando ao nó de rede, iniciando em um passo 3:7 de reconfiguração de tempo da figura 3.
[0063] Se por sua vez é encontrado no passo 4:10 que a fala está em um período de silêncio, alguma coisa ainda tem de ser despachada a partir da área de armazenamento temporário de oscilação do nó de rede com uma taxa de pacote constante de Trepin. Em tal um caso, o passo seguinte, executado em um passo 4:11, será para verificar se é time de puxar ou não um SID da área de armazenamento temporário. Esta verificação é baseada em um intervalo de quadro de SID conhecido, e.g. a cada 8-ésimo quadro poderia ser um SID durante um período de silêncio. Se não é ainda vez de um SID ser puxado, ruído de conforto por sua vez será inserido na saída da área de armazenamento temporário de modo a manter taxa de saída constante também quando a taxa de entrada é reduzida durante o período de silêncio. As características do ruído de conforto são atualizado pelos quadro de SID, e o ruído de conforto é inserido no passo 4:17.
[0064] Se por sua vez é encontrado no passo 4:11 que é vez de puxar um SID da área de armazenamento temporário de oscilação, mas a área de armazenamento temporário de oscilação é encontrado estar vazio em um passo 4:12 seguinte, uma dissimulação de SID será gerada em um passo 4:13 subsequente, em vez de executar um processamento de SID. Se, contudo, de fato há um ou mais pacotes pendentes na área de armazenamento temporário de oscilação, o mais antigo pacote por sua vez vai ser puxado a partir da área de armazenamento temporário de oscilação, como indicado em um passo 4:14 subsequente, N é então decrementado de 1 em um passo 4:15 subsequente, e um SID é processado no passo 4:16 seguinte.
[0065] Durante períodos de silêncio, ruído de conforto sempre vai ser inserido na saída, independentemente de se um SID foi ou não puxado. Subsequente para ambas uma dissimulação de SID, executado no passo 4:13, e um processamento de SID, executado no passo 4:16, um ruído de conforto por conseguinte será inserido na área de armazenamento temporário de oscilação no passo 4:17 subsequente.
[0066] A seguir, o ramo é terminado no passo 4:4 final e o algoritmo continua a tratar pacotes chegando colocando-os na área de armazenamento temporário de oscilação do nó de rede, como indicado com o laço da figura 3.
[0067] O procedimento de adaptação a ser executado durante um período de fala, referido como B na figura 4, será agora descrito em mais detalhes com referência a um diagrama em bloco da figura 5.
[0068] Em um primeiro passo 5:1, é determinado se presentemente há mais pacotes pendentes na área de armazenamento temporário de oscilação daquele que pode ser tratado pela área de armazenamento temporário, i.e. se: N* Trepin > Tjitmax ( 6 )
[0069] Se o tempo de proteção de oscilação requerido N*Trepin excede o tempo de proteção de oscilação máximo, Tjitmax, o mais antigo pacote será puxado da área de armazenamento temporário de oscilação, como indicado em um passo 5:2 seguinte e, consequentemente, N é decrementado de 1 em um passo 5:3 subsequente. Este procedimento será iterativamente repetido enquanto o tempo de proteção de oscilação requerido excede Tjitmax. Se requerido, qualquer dos dois parâmetros Nmax e Nmin, usado quando continuamente derivando a variação do número de pacotes pendentes, é então atualizado nos respectivos passos 5:4 e 5:5 ou passos 5:6 e 5:7 subsequentes.
[0070] Em um passo 5:8 seguinte, Tj é derivado nas bases dos parâmetros Nmax e Nmin atualizados. O presente Tj, definido pela equação (1) será usado quando adaptando Tjit no fim do intervalo de adaptação, ADAPT_INT. ADAPT_INT é um parâmetro de sintonização, que, nas bases de experimentos, pode ser configurado para e.g. 16. Com um Trepin que é configurado para 20 ms, ADAPT_INT configurado para 16, vai corresponder a um período de adaptação, ADAPT_INT*Trepin, que se iguala a 320 ms. Em adição, um contador, referido como cntrl, tendo o propósito de monitorar quando o intervalo de adaptação, ADAPT_INT foi atingido, i.e. quando é tempo de adaptai'Tjn, é também incrementado de 1 no passo 5:8.
[0071] Em um passo 5:9 subsequente, o T3 atualizado é comparado ao presente Tjit, e dependendo do resultado de tal uma comparação, uma variável referida como catchUpLimit, indicando o nível alvo tolerável correntemente mais alto do retardo do armazenamento temporário de oscilação, será configurada. A variável catchUpLimit será usada mais tarde no procedimento de retomada de transmissão D de modo a determinar se um pacote é para ser puxado da área de armazenamento temporário de oscilação para acelerar, i.e. retomar, a execução de saída da área de armazenamento temporário de oscilação como um resultado do Tjn atualizado.
[0072] Se for encontrado no passo 5:9 que Tj excede Tjit, i.e. que Tjn é presentemente bastante pequeno e deve ser aumentado de modo a prevenir esvaziamento da área de armazenamento temporário com o aumento de oscilação correntemente experimentado, catchUpLimit será configurado, nas bases do corrente Tj, como indicado em um passo 5:10, enquanto catchUpLimit por sua vez será configurado, com base no Tjn, como indicado em um outro passo 5:11, se o valor corrente de Tjn é encontrado ser adequado, ou mesmo bastante alto, causando um retardo de área de armazenamento temporário de oscilação desnecessariamente alto.
[0073] Em um passo 5:12 seguinte é determinado se um período de fala durou tempo suficiente para cntrl ter atingido ADAPT_INT ou não, i.e. se é tempo de adaptar Tjit. Se ADAPT_INT ainda não passou, o procedimento continua executando o procedimento de retomada de transmissão, indicado como D na figura 5, nas bases do presente catchUpLimit. O procedimento de retomada de transmissão é configurado para gradualmente adaptar o retardo de área de armazenamento temporário de oscilação a menor por retomada de transmissão, i.e. retirando o mais antigo pacote a partir da área de armazenamento temporário de oscilação, quando isto é encontrado aplicável. Subsequente a executar o procedimento de retomada de transmissão D, o procedimento de adaptação B será terminado em um passo 5:13 final. O procedimento de retomada de transmissão, D será descrito em detalhes adicionais mais tarde com referência à figura 7.
[0074] Se, contudo, é encontrado no passo 5:12 que ADAPT_INT passou, o tempo de proteção de oscilação, Tjit será adaptado consequentemente antes do procedimento de retomada de transmissão D ser executado. Em um passo 5:14, Tj é uma vez mais comparado com Tjit. Se é encontrado que Tj excede Tjit, um rápido ataque será executado, i.e. Tjit será aumentado para o presente valor de Tj instantaneamente em um passo 5:15 seguinte
[0075] Se, por outro lado, Tjit não excede Tj, isto é uma indicação que Tjit deve ser diminuído e, assim sendo, um decaimento lento por sua vez sera executado, i.e. Tjit será adaptado gradualmente diminuindo Tjit em direção a Tj, como indicado em um outro passo 5:16.
[0076] Durante um decaimento lento, a adaptação, i.e. a diminuição de Tjit para baixo é relaxada pelas equações (7) e (8). Tjit é limitado tal que ela nunca diminui de Tjitmin. Tal uma adaptação de Tjit pode ser expressa como: Tjit — max(Tjit - d, Tjitmin) (7) onde parâmetro d é um passo de diminuição adaptativo de Tjit, que é definido como: d = max(int ((Tjit - Tj) / m),l) (8) m é uma constante de relaxamento empírico pré-configurado e um parâmetro de sintonização, onde o valor default, que é baseado nos experimentos, pode ser configurado para e.g. 10.
[0077] Subsequente a ambos um rápido ataque e um decaimento lento, o processamento continua com um passo 5:17 subsequente, onde um catchUpLimit é configurado, com base no já atualizado Tjit. Em adição, o contador de intervalo de adaptação cntrl é re-configurado para 0, Nmin é inicializado para o valor corrente de Nmax e Nmax é também re-configurado para 0 de modo a preparar o procedimento de adaptação para uma nova iteração, que estará iniciando um novo intervalo de adaptação.
[0078] Subsequente à adaptação de Tjit, executado no passo 5:15 ou 5:16, e as inicializações para o seguinte período de adaptação, executado em passo 5:17, também este ramo continua para o procedimento de retomada de transmissão, D, onde o atualizado catchUpLimit será usado para determinar se retomada de transmissão é requerida. Após ter executado o procedimento de retomada de transmissão, o procedimento de adaptação B vai terminar no passo 5:13, e o algoritmo da área de armazenamento temporário de oscilação continua com o procedimento de armazenamento temporário A da figura 4.
[0079] Se por usa vez um período de silêncio foi identificado no passo 4:1 da figura 4, o procedimento de oscilação vai continuar indo para um ramo de um procedimento de adaptação C, que é configurado para adaptar Tjit durante, ou no começo de um período de silêncio. Um exemplo de tal um procedimento de acordo com uma modalidade será agora descrito em detalhes adicionais com referência ao esquema em bloco da figura 6.
[0080] Em um primeiro passo 6:1, o procedimento de adaptação determina se tempo bastante passou já que o fim do intervalo de adaptação anterior, ADAPT INT. Porque um período de silêncio pode iniciar em qualquer tempo, usualmente antes do término do corrente intervalo de adaptação, é primeiro determinado se um período de tempo adequadamente longo passou já que a última adaptação de Tjit, primeiro comparando o valor corrente de cntrl com um parâmetro, referido como DTXLimit. DTXLimit é uma constante pré-definida, e um parâmetro de sintonização escolhido para ser menor do que ADAPT_INT. Um valor default típico de DTXLimit pode ser e.g. 2.
[0081] Se é encontrado no passo 6:1 que cntrl ainda não excedeu DTXLimit, então tempo bastante não passou já que o fim da adaptação anterior do Tjit ocorreu, e nenhuma adaptação de Tjit será efetuado. Em seu lugar, Nmin é configurado para MAX_VAL em um passo 6:2.
[0082] Se, contudo é encontrado no passo 6:1 que cntrl excede DTXLimit, é determinado que uma adaptação de Tjit será requerido. Inicialmente, o corrente Tj será calculado consequentemente, nas bases da variação de N, derivado do atualizado Nmax e Nmin, como indicado em um passo 6:3 seguinte. Em um passo 6:4 subsequente, o Tj atualizado é comparado ao presente Tjit, e se parece que já durante este prematuro intervalo de adaptação na frente de um período de silêncio, o valor alvo corrente Tj indica que Tjit necessitaria ser aumentado, Tjit é aumentado, configurando Tjit para o presente valor de Tj em um passo 6:5 subsequente, e por meio disso, executar um rápido ataque, em resposta à variação recentemente experimentada de N, e o valor corrente de Tjit.
[0083] Em um passo 6:6 seguinte, Nmin é inicializado para o valor corrente de Nmax, preparando para o intervalo de adaptação seguinte, iniciando a partir do começo do período de fala seguinte. Também em um passo 6:7 subsequente Nmax e cntrl são re-configurados para 0, preparando para o intervalo de adaptação seguinte.
[0084] A seguir, um novo catchUpLimit é configurado nas bases do atualizado Tjit em um passo 6:8, antes da execução do procedimento de retomada de transmissão D. Uma vez que o procedimento de retomada de transmissão foi executado, o procedimento de adaptação C termina em um passo 6:9 final, e o algoritmo de adaptação de oscilação continua executando o procedimento de armazenamento temporário de oscilação A da figura 4.
[0085] O principal propósito com o procedimento de retomada de transmissão D, é adaptar o presente retardo de área de armazenamento temporário de oscilação a menor por gradualmente retomar transmissão, i.e. retirando o mais antigo pacote da área de armazenamento temporário de oscilação nas situações onde há desnecessariamente muitos pacotes pendentes na área de armazenamento temporário de oscilação, i.e. Tjit é desnecessariamente grande, com base na variável catchUpLimit, que foi configurada no procedimento de adaptação B ou C.
[0086] Um procedimento de retomada de transmissão para adaptar o retardo de área de armazenamento temporário a menor gradualmente por retomada de transmissão, de acordo com uma modalidade, será agora descrito em detalhes adicionais com referência ao esquema de bloco da figura 7.
[0087] Em um primeiro passo 7:1, é determinado se o presente tempo de armazenamento temporário é mais longo do que o esperado, com base na variável catchUpLimit. Se o mais longo retardo de armazenamento temporário para o momento, i.e. o retardo de armazenamento temporário do mais antigo pacote, definido como N*Trepin, não excede o presente catchUpLimit, então nenhuma retomada de transmissão será necessária na área de armazenamento temporário de oscilação, e, assim sendo, procedimento de retomada de transmissão D termina em um passo 7:4 final. A taxa de uma retomada de transmissão gradual será controlada pelo contador cntr2, e, assim sendo, cntr2 será decrementado de 1, antes de deixar o procedimento de retomada de transmissão, como indicado com um passo 7:3, ao menos que cntr2 já tenha atingido 0, como indicado em um passo 7:2 precedente.
[0088] Se, contudo, é encontrado no passo 7:1 que o retardo de armazenamento temporário do mais antigo pacote correntemente excede o presente catchUpLimit, é determinado que uma retomada de transmissão será requerida. Contador cntr2 vai assegurar que, enquanto esta condição permanece válida, o mais antigo pacote na área de armazenamento temporário de oscilação será retirado na taxa de cada k-ésima iteração, como indicado em um passo 7:6, e por meio disso, completar o decaimento lento que foi iniciado diminuindo Tjit no passo 5:16. k é um parâmetro de sintonização pré- configurado, definindo um período de retomada de transmissão é mínimo. O valor do parâmetro k é tipicamente escolhido nas bases de experimentos. Um valor típico de k pode ser 8, que corresponda a uma taxa de retomada de transmissão máxima de 20 ms / 160 ms, se Trepin é 20 ms.
[0089] Cada vez que é encontrado cntr2 igual a k no passo 7:6, uma retomada de transmissão gradual será executada, onde o mais antigo pacote na área de armazenamento temporário de oscilação será puxado e descartado, da área de armazenamento temporário. Isto é ilustrado com um outro passo 7:7. Subsequente a uma puxada do mais antigo pacote, N é atualizado, i.e. decrementado de 1, e cntr2 é re-configurado para 0, de modo a indicar que uma retomada de transmissão foi efetuada, em um passo 7:8 seguinte. A seguir é determinado se o intervalo de adaptação, ADAPT_INT, já terminou concorrentemente com o corrente período de retomada de transmissão, i.e. se cntrl é igual a 0. Isto é verificado em um passo 7:9. Se este é o case, o procedimento de retomada de transmissão D será terminado no passo 7:4. Se, contudo, cntrl excede 0, Nmax e Nmin, precisa ser atualizado, i.e. decrementado de 1, de modo a levar em conta que o mais antigo pacote já foi retirado da área de armazenamento temporário de oscilação. Este procedimento é indicado com os passos 7:10 -7:13. Subsequente à execução de procedimento de retomada de transmissão D, o procedimento retorna ao respectivo procedimento de adaptação B ou C.
[0090] Embora a modalidade descrita acima apresentada com referência às figuras 3-7 se refira a um método de armazenamento temporário para armazenamento temporário de pacotes de voz transmitidos em uma rajada de fala, o método pode ser aplicável também para tratar outros tipos de mídia sensitiva de oscilação, tal como e.g. vídeo, despachado através de pacotes, outros do que pacotes de voz, neste documento referidos como pacotes de mídia. É para ser entendido que em vez de ser despachado em uma rajada de fala, pacotes de mídia chegando na área de armazenamento temporário são despachados em uma rajada de mídia. Contudo, já que o período de silêncio, assim como SID, é definido somente para fala, algumas adaptações do método têm de ser feita quando pacotes de mídia, despachado em um fluxo de mídia, estão para ser tratados. Mantendo o ramo B do período de fala / fluxo de mídia, da figura 4 durante uma sessão de sequenciamento, despachando uma rajada de mídia, enquanto o ramo de período de silêncio C está desabilitado, o método descrito pode ser adaptado também para mídia de armazenamento temporário outra do que fala.
[0091] Um nó de rede típico, compreendendo uma área de armazenamento temporário de oscilação adaptativa adaptado para operar de acordo com o algoritmo de área de armazenamento temporário de oscilação descrito neste documento será agora descrito com referência ao diagrama em bloco da figura 8. O Nó de Rede 800 da figura 8 compreende uma Unidade de Recepção 801, que está recebendo pacotes chegando a partir de uma rede de comutação por pacote (não mostrado) para o qual o nó está conectado. Uma Unidade de armazenamento temporário 802 é adaptada para executar o método para dinamicamente ajustar o retardo de área de armazenamento temporário, que foi descrito acima. A unidade de armazenamento temporário controla a inserção de pacotes para uma Área de armazenamento temporário de oscilação adaptativa 803, através da unidade de recepção 801, e o puxamento de pacotes da área de armazenamento temporário de oscilação adaptativa 803, através de uma Unidade de Transmissão 804. Uma vez que um pacote foi puxado para unidade de transmissão 804 a partir da área de armazenamento temporário de oscilação adaptativa 803, o pacote é transmitido para uma rede de recepção (não mostrada). Um desempenho exemplar do algoritmo de armazenamento temporário de oscilação descrito, ilustrado com o retardo em ms como uma função do índice do quadro, é mostrado na figura 9a e 9b, onde figura 9a, ilustra uma simulação com transmissão descontínua de fala, i.e. DTX desabilitado, enquanto figura 9b ilustra uma simulação com DTX habilitado.
[0092] Ambas simulações foram executadas com o mesmo arquivo de amostras de áudio e o mesmo perfil de retardo de transporte usado. Em ambas figuras, a linha fina representa o retardo de transporte de entrada, enquanto a linha espessa ilustra o retardo total, incluindo o retardo de área de armazenamento temporário no execução da saída. Cada ocasião onde a linha espessa desce para o eixo x indica um esvaziamento do área de armazenamento temporário, causado por um pico de atraso.
[0093] A presente invenção se refere a uma área de armazenamento temporário de oscilação adaptativa da complexidade limitada, fornecida em um nó de rede. A área de armazenamento temporário de oscilação adaptativa não requer acesso à informação de data e hora, i.e. nenhum acesso para a camada de IP é requerido. Em vez de confiar na informação de data e hora, a área de armazenamento temporário de oscilação é adaptada para tratar diretamente pacotes codificados de voz / quadros. A variação monitorada do número de pacotes na área de armazenamento temporário de oscilação é usada para estimar o tempo requerido de projeção de oscilação, Tjit. Adicionando pacotes de dissimulação de erro ou removendo os mais antigos pacotes de voz da área de armazenamento temporário de oscilação, de acordo com o Tjit atualizado, o retardo de área de armazenamento temporário de oscilação experimentado será adaptável para a presente taxa de chegada dos pacotes na entrada do nó de rede.
[0094] Enquanto a invenção foi descrita com referência as modalidades exemplares específicas, a descrição é geralmente somente pretendida para ilustrar o conceito inventivo e não deve ser considerada como uma limitação do escopo da invenção, que é definida pelas reivindicações anexas. LISTA DE ABREVIAÇÃO DTX Transmissão Descontínua SID Descritor de Inserção de Silêncio

Claims (14)

1. Método em um nó de rede compreendendo uma área de armazenamento temporário de oscilação adaptativa para dinamicamente ajustar um retardo de área de armazenamento temporário da área de armazenamento temporário de oscilação adaptativa quando recebendo pacotes de sequência de mídia de uma sequência de mídia a partir de uma rede comutada por pacote, em um nó de rede compreendendo uma área de armazenamento temporário de oscilação adaptativa, caracterizadopelo fato de que compreende as seguintes etapas: - inserir (3:3) pacotes chegando ao nó de rede na área de armazenamento temporário de oscilação, - iterativamente adaptar (B) a área de armazenamento temporário de oscilação em um intervalo, Trepin, quando a sequência de mídia estiver em uma mídia ou período de fala, de modo que um tempo de proteção de oscilação, Tjit, está sendo atualizado nas bases da variação, Nmax - Nmin do número de pacotes, N, pendente na área de armazenamento temporário de oscilação, Tjit sendo um valor alvo corrente para o retardo de armazenamento temporário máximo para a área de armazenamento temporário de oscilação, cada iteração sendo executada por: - atualizar (5:5, 5:7) o menor valor, Nmin e o maior valor de Nmax de N, N sendo monitorado sobre um intervalo de adaptação, ADAPT-INT, ADAPT-INT definindo um número pré-determinado de iterações, - calcular (5:8) um valor alvo novo, Tj, nas bases da variação de N, Tj sendo um indicador da adaptação requerida de Tjit,tal que: Tj — (Nmax - Nmin) * Trepin e - ajustar (5:15, 5:16) Tjit com o valor de Tj no caso do número de iterações desde o último ajuste do Tjit é igual a ADAPT_INT.
2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de ajustar compreende as seguintes etapas. - aumentar (5:15) Tjit de acordo com Tj no caso de a variação de N ser maior do aquela que o Tjit corrente pode tiatar, ou - diminuir (5:16) Tjit de acordo com Tj, no caso que um Tjit corrente é dimensionado para uma maior variação de N do que a variação corrente.
3. Método de acordo com a reivindicação 1 ou 2, cai acterizado pelo fato de que a etapa de ajustar ainda compreende as seguintes etapas. 4. instantaneamente atualizar (5:15) Tjit para igual à Tj, executar um rápido ataque, no caso de Tj exceder Tjit, ou 5. gradualmente diminuir (5:16) Tjít em direção ao Tj corrente, efetuar um decaimento lento, e 6. gradualmente retirar (7:7) o mais antigo pacote da área de armazenamento temporário em uma taxa relaxada até que o Tjn corresponda à variação corrente de N no caso que o tempo de retardo da área de armazenamento temporário máximo, N*Trepin excede um pré-determinado limite, catchUpLimit.
4. Método de acordo com a reivindicação 3 caracterizado pelo fato de que catchUpLimit é definido como: catchUpLimit = Tj + Trepin no caso de Tjit não ter sido atualizado e o Tj corrente exceder o Tjit corrente ou como: catchUpLimit = Tjit + Trepin ao contrário.
5. Método em um nó de rede compreendendo uma área de armazenamento temporário de oscilação adaptativa para dinamicamente ajustar um retardo de área de armazenamento temporário da área de armazenamento temporário de oscilação adaptativa quando recebendo pacotes de sequência de mídia de uma sequência de mídia a partir de uma rede comutada por pacote, caracterizado pelo fato de que compreende as seguintes etapas a serem executados durante um período de silêncio ou no caso do pacote mais recentemente recebido ser um SID: - inserir pacotes (3:3) chegando ao nó de rede na área de armazenamento temporário de oscilação, - iterativamente adaptar (C) a área de armazenamento temporário de oscilação em um intervalo, Trepin, de modo que um tempo de proteção de oscilação, Tjit, está sendo atualizado nas bases da variação, Nmax - Nmin do número de pacotes, N, pendente na área de armazenamento temporário de oscilação, no caso que o número de iterações durante um período de fala desde que a última adaptação do Tjit excede um pré- determinado limite de adaptação do período de silêncio, DTXLimit, Tjn sendo um valor alvo corrente para o retardo de armazenamento temporário máximo para a área de armazenamento temporário de oscilação, cada iteração sendo executada por: - calcular (6:3) um valor alvo atualizado, Tj para Tjit, nas bases da variação de N, Tj sendo um indicador do ajuste requerido de Tjit, tal que. Tj — (Nmax " Nmin ) Trepin e - aumentar (6:5) Tjit com o valor calculado de Tj no caso de a variação de N ser maior daquele que o Tjit corrente pode tratar.
6. Método de acordo com a reivindicação 5 caracterizado pelo fato de que a etapa de ajustar ainda compreende as seguintes etapas. - instantaneamente atualizar (6:5) Tjit para igual à Tj, executar um rápido ataque, no caso que Tj excede Tjit, e - gradualmente retirar (7:7) o mais antigo pacote a partir da área de armazenamento temporário em uma taxa relaxada até que Tjit corresponda à variação corrente de N, no caso do tempo de retardo da área de armazenamento temporário presente, N*Trepin excede a um pré-determinado limite, catchUpLimit.
7. Método de acordo com a reivindicação 6, caracterizadopelo fato de que catchUpLimit é definido como: catchUpLimit = Tj + Trepin
8. Método de acordo com qualquer uma das reivindicações 1 a 7, caracterizadopelo fato de que a sequência de mídia é qualquer uma dentre uma sequência de áudio ou uma sequência de vídeo.
9. Nó de rede (800) compreendendo uma área de armazenamento temporário de oscilação adaptativa (803) para receber pacotes de uma sequência de mídia de uma rede comutada por pacote, o nó sendo adaptado para dinamicamente ajustar um retardo de área de armazenamento temporário de área de armazenamento temporário, caracterizadopelo fato de que compreende : -uma unidade de recepção (801) adaptada para receber pacotes chegando ao nó, -uma unidade de armazenamento temporário (802) adaptada para inserir pacotes chegando ao nó de rede na área de armazenamento temporário de oscilação (803), e iterativamente adaptar a área de armazenamento temporário de oscilação em um intervalo, Trepin, quando a sequência de mídia estiver em uma mídia ou período de fala, de modo que o tempo de proteção de oscilação, Tjit, está sendo atualizado nas bases da variação, Nmax - Nmin do número de pacotes, N, pendente na área de armazenamento temporário de oscilação, Tjit sendo um valor alvo corrente para o retardo de armazenamento temporário máximo para a área de armazenamento temporário de oscilação, a unidade de área de armazenamento sendo adaptada para executar cada iteração por: -atualizar o menor valor, Nmin e o maior valor de Nmax de N, monitorando N sobre um intervalo de adaptação, ADAPT_fNT, ADAPT_INT definindo um número pré-determinado de iterações do procedimento de adaptação, - calcular um valor alvo, Tj, nas bases da variação de N, Tj sendo um indicador da adaptação requerida de Tjit,tal que: Tj = (Nmax "Nmin) * Trepin e -ajustar Tjit de acordo com Tj no caso do número de iterações desde o último ajuste do Tjit ser igual a ADAPT_INT.
10. Nó (800) de acordo com a reivindicação 9, caracterizado pelo fato de que quando executando a etapa de ajustar, a unidade de armazenamento temporário (802) é ainda adaptada para executar as seguintes etapas: - aumentar Tjit de acordo com Tj no caso que a variação de N é maior daquele que o Tjit corrente pode tratar, ou diminuir Tjit de acordo com Tj, no caso que o Tjit corrente é dimensionado para uma maior variação de N do que a variação corrente.
11. Nó (800) de acordo com a reivindicação 9 ou 10, caracterizadopelo fato de que a unidade de armazenamento temporário (802) é ainda adaptada para executar as seguintes etapas quando executando a etapa de ajustar: - instantaneamente atualizar Tjit para igual à Tj, executar um rápido ataque, no caso de Tj exceder Tjit, ou - gradualmente diminuir Tjit em direção ao Tj corrente, efetuar um decaimento lento, e - gradualmente retirar o mais antigo pacote da área de armazenamento temporário em uma taxa relaxada até que o Tjit corresponda à variação corrente de N no caso que o tempo de retardo da área de armazenamento temporário máximo, N*Trepin excede um pré-determinado limite, catchUpLimit.
12. Nó de acordo com a reivindicação 11 caracterizado pelo fato de que a unidade de armazenamento temporário (802) é adaptada para definir catchUpLimit como: catchUpLimit = Tj + Trepin no caso de Tjit não ter sido atualizado e o Tj corrente exceder o Tjit corrente ou como: catchUpLimit = Tjit + Trepin ao contrário.
13. Nó de rede (800), compreendendo uma área de armazenamento temporário de oscilação adaptativa para receber pacotes de uma sequência de mídia de uma rede comutada por pacote, o nó sendo adaptado para dinamicamente ajustar um retardo de área de armazenamento temporário de área de armazenamento temporário, caracterizado pelo fato de que compreende : - uma unidade de recepção (801) adaptada para receber pacotes chegando ao nó, - uma unidade de armazenamento temporário (802) adaptada para inserir pacotes chegando ao nó de rede na área de armazenamento temporário de oscilação, e para iterativamente adaptar a área de armazenamento temporário de oscilação em um intervalo, Trepin, de modo que o tempo de proteção de oscilação, Tjit, está sendo atualizado nas bases da variação, Nmax - Nmin do número de pacotes, N, pendente na área de armazenamento temporário de oscilação, no caso que o número de iterações durante um período de fala desde que a última adaptação do Tjit excede um pré-determinado limite de adaptação do período de silêncio, DTXLimit, Tjit sendo um valor alvo corrente para o retardo de armazenamento temporário máximo para a área de armazenamento temporário de oscilação, cada iteração sendo executada por: - calcular um valor alvo atualizado, Tj para Tjit, nas bases da variação de N, Tj sendo um indicador do ajuste requerido de Tjit, 4ue- Tj = (Nmax - Nmin ) * Win e - aumentar Tjit com o valor calculado de Tj no caso da variação de N ser maior daquele que o Tjit corrente pode tratar.
14. Nó (800) de acordo com a reivindicação 13, caracterizado pelo fato de que durante a etapa de ajustar, a unidade de armazenamento temporário é ainda adaptada para executar as seguintes etapas. - instantaneamente atualizar Tjn para igual à Tj, executar um rápido ataque, no caso que Tj excede Tjit, e gradualmente retirar o mais antigo pacote a partir da área de armazenamento temporário em uma taxa relaxada até que Tjit corresponda à variação corrente de N, no caso do tempo de retardo da área de armazenamento temporário presente, N*Trepin excede a um pré-determinado limite, catchUpLimit.
BRPI0821979-6A 2008-01-25 2008-01-25 método em um nó de rede compreendendo uma área de armazenamento temporário de oscilação adaptativa para dinamicamente ajustar um retardo de área de armazenamento temporário, e, nó de rede BRPI0821979B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2008/050090 WO2009093945A1 (en) 2008-01-25 2008-01-25 A simple adaptive jitter buffering algorithm for network nodes

Publications (2)

Publication Number Publication Date
BRPI0821979A2 BRPI0821979A2 (pt) 2015-06-23
BRPI0821979B1 true BRPI0821979B1 (pt) 2020-10-13

Family

ID=40901321

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0821979-6A BRPI0821979B1 (pt) 2008-01-25 2008-01-25 método em um nó de rede compreendendo uma área de armazenamento temporário de oscilação adaptativa para dinamicamente ajustar um retardo de área de armazenamento temporário, e, nó de rede

Country Status (7)

Country Link
US (1) US8254376B2 (pt)
EP (1) EP2235894B1 (pt)
JP (1) JP5153891B2 (pt)
CN (1) CN101926134B (pt)
BR (1) BRPI0821979B1 (pt)
ES (1) ES2452365T3 (pt)
WO (1) WO2009093945A1 (pt)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8611337B2 (en) * 2009-03-31 2013-12-17 Adobe Systems Incorporated Adaptive subscriber buffering policy with persistent delay detection for live audio streams
US20120008573A1 (en) * 2010-07-08 2012-01-12 Apple Inc. Radio resource signaling during network congestion in a mobile wireless device
US20120154678A1 (en) * 2010-12-20 2012-06-21 Kuo-Lung Chang Receiving device, screen frame transmission system and method
CN102739503B (zh) * 2011-04-01 2014-12-03 华平信息技术股份有限公司 VoIP去抖动缓冲区的处理方法
US9191413B2 (en) * 2011-11-01 2015-11-17 T-Mobile Usa, Inc. Synchronizing video and audio over heterogeneous transports
JP6163741B2 (ja) * 2012-11-30 2017-07-19 ヤマハ株式会社 ネットワーク受信用バッファのバッファサイズ決定方法及び装置並びにネットワークセッションシステム
TWI507022B (zh) * 2012-12-05 2015-11-01 Ind Tech Res Inst 多媒體串流的緩存輸出方法以及多媒體串流緩存模組
CN103036808B (zh) * 2012-12-13 2015-04-29 四川九洲电器集团有限责任公司 一种去除网络抖动的方法及系统
GB201318653D0 (en) 2013-10-22 2013-12-04 Microsoft Corp Adapting a jitter buffer
CN111417013B (zh) * 2014-01-09 2021-12-10 三星电子株式会社 多媒体传输系统中发送和接收数据相关信息的方法和装置
CN105099795A (zh) 2014-04-15 2015-11-25 杜比实验室特许公司 抖动缓冲器水平估计
CN105099949A (zh) 2014-04-16 2015-11-25 杜比实验室特许公司 基于对延迟抖动和对话动态的监视的抖动缓冲器控制
EP3266171A4 (en) * 2015-03-06 2018-03-14 Telefonaktiebolaget LM Ericsson (publ) Multi-user packet transmission, clustering and/or scheduling in a wireless local area network
CN105486915A (zh) * 2015-12-30 2016-04-13 深圳市科陆电源技术有限公司 一种测量漏电流的系统及其方法
GB201614356D0 (en) * 2016-08-23 2016-10-05 Microsoft Technology Licensing Llc Media buffering
CN106656649B (zh) * 2016-09-14 2021-01-01 腾讯科技(深圳)有限公司 一种实时通话过程中基于测速的通道切换方法、客户端与服务器
KR102532645B1 (ko) * 2016-09-20 2023-05-15 삼성전자 주식회사 적응적 스트리밍 서비스에서 스트리밍 어플리케이케이션으로 데이터를 제공하는 방법 및 장치
US10616123B2 (en) * 2017-07-07 2020-04-07 Qualcomm Incorporated Apparatus and method for adaptive de-jitter buffer
CN110351201B (zh) * 2018-04-04 2021-09-14 华为技术有限公司 一种数据处理方法及装置
US20240089210A1 (en) * 2021-03-30 2024-03-14 Qualcomm Incorporated Dejitter target delay value based on silence descriptors

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6452950B1 (en) * 1999-01-14 2002-09-17 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive jitter buffering
JP4218186B2 (ja) * 1999-05-25 2009-02-04 パナソニック株式会社 音声伝送装置
US6747999B1 (en) * 1999-11-15 2004-06-08 Siemens Information And Communication Networks, Inc. Jitter buffer adjustment algorithm
US6683889B1 (en) * 1999-11-15 2004-01-27 Siemens Information & Communication Networks, Inc. Apparatus and method for adaptive jitter buffers
JP3397191B2 (ja) * 1999-12-03 2003-04-14 日本電気株式会社 遅延ゆらぎ吸収装置、遅延ゆらぎ吸収方法
EP1146678B1 (en) * 2000-04-14 2006-12-20 Alcatel An auto-adaptive jitter buffer
US6862298B1 (en) * 2000-07-28 2005-03-01 Crystalvoice Communications, Inc. Adaptive jitter buffer for internet telephony
US7006511B2 (en) * 2001-07-17 2006-02-28 Avaya Technology Corp. Dynamic jitter buffering for voice-over-IP and other packet-based communication systems
CN1320805C (zh) * 2003-09-17 2007-06-06 上海贝尔阿尔卡特股份有限公司 一种分组交换网络自适应抖动缓冲区调整方法
US7573894B2 (en) * 2004-02-17 2009-08-11 Mitel Networks Corporation Method of dynamic adaptation for jitter buffering in packet networks
US7359324B1 (en) * 2004-03-09 2008-04-15 Nortel Networks Limited Adaptive jitter buffer control
MY149811A (en) * 2004-08-30 2013-10-14 Qualcomm Inc Method and apparatus for an adaptive de-jitter buffer
US7746847B2 (en) * 2005-09-20 2010-06-29 Intel Corporation Jitter buffer management in a packet-based network
JP2007150914A (ja) * 2005-11-29 2007-06-14 Kyocera Corp 通信装置、バッファ遅延調整方法、及びプログラム
TWI305101B (en) * 2006-03-10 2009-01-01 Ind Tech Res Inst Method and apparatus for dynamically adjusting playout delay
US7680099B2 (en) * 2006-08-22 2010-03-16 Nokia Corporation Jitter buffer adjustment

Also Published As

Publication number Publication date
CN101926134A (zh) 2010-12-22
CN101926134B (zh) 2013-06-19
JP2011510594A (ja) 2011-03-31
EP2235894B1 (en) 2014-01-22
EP2235894A4 (en) 2012-12-05
EP2235894A1 (en) 2010-10-06
ES2452365T3 (es) 2014-04-01
US20100296525A1 (en) 2010-11-25
WO2009093945A1 (en) 2009-07-30
BRPI0821979A2 (pt) 2015-06-23
US8254376B2 (en) 2012-08-28
JP5153891B2 (ja) 2013-02-27

Similar Documents

Publication Publication Date Title
BRPI0821979B1 (pt) método em um nó de rede compreendendo uma área de armazenamento temporário de oscilação adaptativa para dinamicamente ajustar um retardo de área de armazenamento temporário, e, nó de rede
BRPI0514801B1 (pt) Buffer de-jitter adaptativo para voz sobre ip
US7499402B2 (en) Network delay control
US9054973B2 (en) Method and system for Ethernet congestion management
US20140321473A1 (en) Active output buffer controller for controlling packet data output of main buffer in network device and related method
US20100284397A1 (en) Handling out-of-sequence packets in a circuit emulation service
CN105142002B (zh) 音/视频直播方法、装置及控制方法、装置
JP2010109490A (ja) 伝送装置、伝送システム及び伝送方法
WO2016092686A1 (ja) 通信装置、通信装置システム及び通信方法
BRPI0721467A2 (pt) Método para processar um sinal recebido em um nó em uma rede, nó para processar um sinal recebido de uma rede, nó arranjado para processar um sinal recebido de uma rede, e, programa de computador
JP4842754B2 (ja) 通信装置および通信方法
CN107682279A (zh) 一种时延控制方法、装置及存储介质、程序产品
TWI486071B (zh) 適應性流量管理器裝置、適應性流量管理器系統及優化經由無線鏈路的流量的方法
JP2008005394A (ja) 通信端末装置
US20170272374A1 (en) Dynamically optimized queue in data routing
JP7127743B2 (ja) 通信装置、通信方法及びプログラム
CN112491736A (zh) 一种拥塞控制方法、装置、电子设备及存储介质
JP2007189592A (ja) トークンバケットによるトラヒック制御装置、方法及びプログラム
JP4899961B2 (ja) 通信装置および出力制御方法
CN116170375A (zh) 一种参数调整方法和装置
EP4099649A1 (en) Integrated scheduler for iec/ieee 60802 end-stations
JP2008125073A (ja) WiMAXスケジューラーの待ち時間カウントを使用した無効データ除去
WO2017095276A1 (en) Method and receiving device for adapting a play-out rate of a jitter buffer
JP4706575B2 (ja) ネットワーク通信装置および受信バッファ制御方法
JP4174017B2 (ja) ジッタバッファ制御方法及びip電話機

Legal Events

Date Code Title Description
B15K Others concerning applications: alteration of classification

Ipc: H04L 12/801 (2013.01), H04L 12/853 (2013.01), H04L

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]
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: 10 (DEZ) ANOS CONTADOS A PARTIR DE 13/10/2020, OBSERVADAS AS CONDICOES LEGAIS.