PT1982332E - Controlo do escalonamento no tempo de um sinal de áudio - Google Patents
Controlo do escalonamento no tempo de um sinal de áudio Download PDFInfo
- Publication number
- PT1982332E PT1982332E PT07705785T PT07705785T PT1982332E PT 1982332 E PT1982332 E PT 1982332E PT 07705785 T PT07705785 T PT 07705785T PT 07705785 T PT07705785 T PT 07705785T PT 1982332 E PT1982332 E PT 1982332E
- Authority
- PT
- Portugal
- Prior art keywords
- time
- frames
- variation
- scaling
- type
- Prior art date
Links
- 230000005236 sound signal Effects 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 claims description 21
- 230000003111 delayed effect Effects 0.000 claims description 13
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 230000005284 excitation Effects 0.000 claims description 3
- 238000003786 synthesis reaction Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 abstract description 6
- 230000004048 modification Effects 0.000 description 17
- 238000012986 modification Methods 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 9
- 238000013459 approach Methods 0.000 description 7
- 230000003068 static effect Effects 0.000 description 6
- 230000015556 catabolic process Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000006731 degradation reaction Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/04—Time compression or expansion
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/062—Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
- H04J3/0632—Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5603—Access techniques
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Stringed Musical Instruments (AREA)
- Electrophonic Musical Instruments (AREA)
- Electromechanical Clocks (AREA)
Description
1
DESCRIÇÃO "CONTROLO DO ESCALONAMENTO NO TEMPO DE UM SINAL DE ÁUDIO"
ÂMBITO DA INVENÇÃO A invenção refere-se a um método para controlar um bloqueio de tempo de um sinal de áudio. A invenção refere-se igualmente a um circuito integrado, a um receptor de áudio, a um dispositivo electrónico e a um sistema que permite controlar um escalonamento no tempo de um sinal de áudio. A invenção refere-se ainda a um produto de programa de software, que guarda um código de software para controlar um escalonamento no tempo de um sinal de áudio.
HISTORIAL DA INVENÇÃO 0 escalonamento no tempo de um sinal de áudio pode ser, por exemplo, possibilitado num receptor de áudio adequado para receber sinais de áudio codificados em pacotes, através de uma rede de comutação de pacotes, como a Internet, para descodificar os sinais de áudio codificados e para reproduzir o sinal de áudio descodificado a um utilizador. A natureza de comunicações de comutação de pacotes introduz normalmente variações aos tempos de transmissão dos pacotes, conhecidos por jitter, que é visto pelo receptor como pacotes que chegam em intervalos irregulares. Para além das condições de perda de pacotes, o jitter de rede é uma enorme barreira, especialmente para serviços de 2 conversação por voz providenciados pelas redes de comutação de pacotes.
Mais especificamente, um componente de reprodução de áudio de um receptor de áudio, que opera em tempo real, requer uma constante entrada para manter uma boa qualidade de som. Mesmo as mais pequenas interrupções devem ser evitadas. Por conseguinte, se alguns pacotes que compreendem quadros de áudio chegarem apenas depois dos quadros de áudio serem necessários para descodificar e processar à posteriori, esses pacotes e os quadros de áudio incluídos são considerados perdidos. 0 descodificador de áudio oculta o erro para compensar o sinal de áudio suportado nos quadros perdidos. Porém, a ocultação extensiva de erros vai também reduzir, obviamente, a qualidade de som.
Normalmente, é por isso mobilizado um jitter buffer para esconder os tempos de chegada irregulares do pacote e para providenciar uma entrada contínua para descodificar e um componente de reprodução de áudio posterior. 0 jitter buffer armazena, com este fim, os quadros de áudio que entram por um período de tempo pré-definido. Este tempo pode ser especificado, por exemplo, após a recepção do primeiro pacote de um fluxo de pacotes. Um jitter buffer introduz, porém, um componente de atraso adicional, uma vez que os pacotes recebidos são armazenados antes de continuar o processamento. Isto aumenta o atraso extremo a extremo. Um jitter buffer pode ser caracterizado pelo atraso médio de armazenamento e pela resultante proporção de quadros atrasados de entre todos os quadros recebidos.
Um jitter buffer, que utiliza um atraso fixo, é inevitavelmente um compromisso entre um atraso extremo a 3 extremo e um reduzido número de quadros atrasados, não sendo fácil descobrir uma solução de compromisso optimizada. Apesar de poder haver ambientes e aplicações especiais, em que a quantidade de jitter esperado pode ser estimada para permanecer dentro dos limites pré-definidos, geralmente o jitter pode variar de zero a centenas de milissegundos - mesmo dentro da mesma sessão. Utilizando um atraso fixo, definido para um valor suficientemente grande para cobrir o jitter no pior dos cenários, podia-se manter o número de quadros atrasados sob controlo, mas ao mesmo tempo corre-se o risco de introduzir um atraso extremo a extremo demasiado longo para permitir uma conversação natural. Deste modo, a aplicação de um armazenamento fixo não é a melhor opção na maior parte das aplicações de transmissão de áudio, que operam através de uma rede de comutação de pacotes.
Pode ser utilizado um jitter buffer adaptativo para controlar dinamicamente o equilíbrio entre um atraso suficientemente pequeno e um número suficientemente reduzido de quadros atrasados. Nesta abordagem, o fluxo de pacotes de chegada é constantemente monitorizado e o atraso de armazenamento é ajustado de acordo com as variações observadas no comportamento de atraso do fluxo de pacotes de chegada. Se aperceber-se de um aumento do atraso de transmissão ou se o jitter piorar, o atraso de armazenamento é aumentado para satisfazer as condições da rede. Numa situação contrária, o atraso de armazenamento pode ser reduzido, minimizando assim o atraso extremo a extremo global.
Uma vez que o componente de reprodução de áudio requer uma entrada regular, o ajuste do buffer não é, porém, 4 completamente a direito. Surge um problema pelo facto de, se o atraso de armazenamento for reduzido, o sinal de áudio providenciado ao componente de reprodução tem de ser encurtado para compensar o reduzido atraso de armazenamento, e por outro lado, se o atraso de armazenamento for aumentado, o sinal de áudio tem de ser alongado para compensar o maior atraso de armazenamento.
Nas aplicações Voice sobre IP (VoIP) sabe-se que modifica o sinal no caso de um maior ou menor atraso do buffer, eliminando ou repetindo uma parte do sinal do ruido moderado entre períodos de voz activa quando é permitida a transmissão descontínua (DTX). No entanto, esta abordagem nem sempre é possível. Por exemplo, a funcionalidade DTX pode não ser aplicada ou pode não mudar para um ruído moderado devido às desafiantes condições de ruído de fundo, como um orador de fundo a interferir.
Numa solução mais avançada que trata de um atraso variável do buffer, é aplicado um escalonamento no tempo do sinal para mudar o comprimento dos quadros de áudio de saída, que são reencaminhados para o componente de reprodução. 0 escalonamento no tempo do sinal pode ser realizado dentro do descodificador ou numa unidade de pós-processamento depois do descodificador. Nesta abordagem, os quadros no jitter buffer são mais frequentemente lidos pelo descodificador quando se reduz o atraso do que durante a operação normal, enquanto um atraso crescente começa a reduzir a velocidade de saída do quadro do jitter buffer.
Num receptor de áudio equipado com um jitter buffer adaptativo e uma funcionalidade de escalonamento no tempo, o estado da rede e do buffer são constantemente monitorizados. Com base no estado do buffer e da rede, as 5 modificações de escalonamento no tempo são realizadas num sinal de áudio, seja adicionando ou removendo segmento(s) do sinal de áudio para compensar qualquer variação no atraso do buffer. A aplicação da patente WO 200511 17366 apresenta um método, um aparelho e um programa para evitar que um buffer de recepção fique vazio: armazenando pacotes recebidos no buffer de recepção; detectando o jitter de maior atraso de chegada dos pacotes e o nível do buffer do buffer de recepção através de um detector do estado; obtendo um nível do buffer optimizado para o maior jitter de atraso, utilizando uma tabela pré-definida através de um controlador; determinando, com base no nível do buffer detectado e no nível do buffer optimizado, o nível de urgência da necessidade de ajustar o nível do buffer; expandir ou reduzir a forma de onda de um fluxo de dados de áudio descodificado do quadro actual descodificado a partir do pacote lido no buffer de recepção através de um regulador do consumo para regular o consumo de quadros de reprodução com base no nível de urgência, no nível do buffer detectado e no nível do buffer optimizado. O desafio na realização de modificações de escala de tempo em partes activas do sinal de áudio consiste em manter a qualidade de áudio observada num nível suficientemente alto.
RESUMO DA INVENÇÃO A invenção pretende melhorar uma operação de escalonamento no tempo, que é aplicada a um sinal de áudio. 6
Outro objectivo da invenção é optimizar a qualidade de áudio de um sinal de áudio temporalmente escalonado. E proposto um método para escalonar o tempo de um sinal de áudio, sendo o sinal de áudio distribuído por uma sequência de quadros, que são recebidos via uma rede de comutação de pacotes. 0 método compreende detectar uma variação num atraso de quadros recebidos. 0 método compreende ainda determinar a quantidade de escalonamento no tempo exigida para aplicar aos quadros recebidos, de modo a compensar a variação detectada. 0 método engloba também determinar um tipo de variação, avaliando pelo menos uma variação na quantidade de quadros atrasados. 0 método inclui também determinar um comprimento de uma janela de tempo, dentro da qual se pretende completar um escalonamento no tempo na quantidade exigido, dependendo do tipo de variação definida.
Além disso, é também proposto um aparelho. 0 aparelho compreende um componente de controlo do escalonamento no tempo para controlar um escalonamento no tempo de um sinal de áudio, que é distribuído por uma sequência de quadros recebidos via uma rede de comutação de pacotes. 0 componente de controlo do escalonamento no tempo está preparado para detectar uma variação num atraso de quadros recebidos. 0 componente de controlo do escalonamento no tempo está ainda preparado para determinar a quantidade de escalonamento no tempo exigida para aplicar aos quadros recebidos, de modo a compensar uma variação detectada. 0 componente de controlo do escalonamento no tempo está também preparado para determinar um tipo de variação detectada, avaliando pelo menos uma variação na quantidade de quadros atrasados. 0 componente de controlo do 7 escalonamento no tempo está também preparado para determinar um comprimento de uma janela de tempo, dentro da qual se pretende completar um escalonamento no tempo na quantidade exigida, dependendo do tipo de variação definida.
Note-se que o componente de controlo do escalonamento no tempo pode ser realizado por hardware e/ou software. 0 componente de controlo do escalonamento no tempo pode ser implementado, por exemplo, num circuito integrado ou pode ser realizado por um processador, que executa correspondentes componentes de código do programa de software. 0 aparelho pode ser um circuito integrado com pelo menos um chip, um receptor de áudio ou um dispositivo electrónico. 0 dispositivo electrónico pode ser, por exemplo, um puro dispositivo de processamento de áudio ou um dispositivo mais abrangente, como um terminal móvel ou uma porta de ligação, etc.
Além disso, um sistema pode compreender uma rede de comutação de pacotes adaptada para transmitir sinais de áudio, um transmissor adaptado para providenciar sinais de áudio para transmitir através da rede de comutação de pacotes e um receptor adaptado para receber sinais de áudio através da rede de comutação de pacotes. 0 receptor corresponde ao receptor de áudio acima proposto.
Por fim, é proposto um código de software para controlar um escalonamento no tempo de um sinal de áudio. Mais uma vez se assume que o sinal de áudio é distribuído por uma sequência de quadros, que são recebidos através de uma rede de comutação de pacotes. 0 código de software está adaptado para realizar os passos do método proposto, quando 8 é executado por um processador. Um produto de programa de software pode guardar o código de software num meio de leitura. 0 produto de programa de software pode ser, por exemplo, um dispositivo de memória à parte, uma memória que será implementada num receptor de áudio, etc. A invenção pressupõe que uma operação de escalonamento no tempo reaja diferentemente a diversos tipos de situações.
De um modo geral, uma operação de escalonamento no tempo obtém a melhor qualidade de áudio, quando a variação aplicada numa escala de tempo é a mais pequena possível. Por exemplo, se estender um segmento de 20ms de um sinal de áudio num segmento de 25ms, pode-se esperar praticamente nenhuma degradação na qualidade, enquanto que se estender um segmento de 20ms num segmento de 40ms, é provável causar alguma degradação numa qualidade de áudio. Isto implica que, se dividir um enorme pedido de escalonamento no tempo numa série de passos de escalonamento mais pequenos, obtém normalmente uma clara vantagem em termos de qualidade de áudio.
Enquanto este pedido parece favorecer modificações graduais, as rápidas variações nas características de atraso da transmissão podem requerer modificações imediatas de escalonamento no tempo, apesar da vantagem de uma modificação gradual anteriormente mencionada. Apesar das modificações imediatas e dentro de um curto período de tempo poderem resultar numa certa degradação da qualidade, seria muito pior se um excesso ou capacidade negativa do buffer provocasse a perda de um quadro ou de quadros devido a uma modificação gradual. 9
Propõe-se, por isso, empregar uma operação de escalonamento do tempo de janela e controlar o escalonamento no tempo, fornecendo não apenas a quantidade exigida de escalonamento no tempo, mas também um comprimento de uma janela de tempo, ou seja, um limite de tempo para realizar o escalonamento. Isto permite realizar o escalonamento no tempo em tantos pequenos passos como os que cabem na janela de tempo.
Uma vantagem da invenção é poder manter-se, de forma optimizada, a solução de compromisso entre o atraso de armazenamento e a quantidade de quadros de áudio atrasados. As variações nas caracteristicas de transmissão, que requerem diferentes estratégias de adaptação do buffer, podem ser consideradas por um correspondente controlo do escalonamento no tempo. Isto melhora a qualidade de áudio, que resulta da operação de escalonamento no tempo. 0 tipo de variação definida é um tipo que requer uma janela de tempo mais pequena para uma certa quantidade de escalonamento no tempo, ou é um tipo que permite uma janela de tempo mais comprida para uma certa quantidade de escalonamento no tempo.
Um tipo de variação que requer uma janela de tempo mais pequena pode ser, por exemplo, o caso de uma variação num atraso detectado, que excede um valor pré-definido. Uma variação significativa destas pode ser indicativa de uma variação do atraso 'estático' de transmissão na rede de comutação de pacotes. Em alternativa ou complementarmente, pode ser determinado um tipo de variação que requer uma janela de tempo mais pequena, por exemplo, no caso de se detectar um aumento no atraso. 10
Um tipo de variação que requer uma janela de tempo mais comprida pode ser, por exemplo, necessário no caso de se detectar uma quantidade alterada de quadros atrasados. Uma variação destas pode ser indicativa de um jitter alterado na rede de comutação de pacotes. Se os quadros recebidos são armazenados num buffer variável após recepção, pode ser determinado - em alternativa ou complementarmente - um tipo de variação que permite uma janela de tempo mais comprida para o caso de se detectar, por exemplo, uma ocupação do buffer de variação gradual. Uma variação destas da ocupação do buffer pode ser indicativa de um desvio de relógio entre o transmissor e o receptor.
Os quadros recebidos podem ser temporalmente escalonados pela quantidade definida dentro de uma janela de tempo do comprimento determinado. O escalonamento actual pode ser levado a cabo de qualquer modo. Cada período de escalonamento pode corresponder, por exemplo, a um múltiplo adequado de um período de passo.
Compreende-se que o escalonamento no tempo não tem de ser necessariamente realizado exactamente nos quadros que estão a ser recebidos com um atraso alterado e nos quais se detecta uma variação de atraso. Pelo menos em alguns sistemas e implementações, o atraso modificado dos quadros recebidos pode ser determinado, por exemplo, com base nas estatísticas de recepção e baseado no atraso de quadros individuais em primeiro lugar.
Para o escalonamento no tempo actual, pode ainda considerar-se que a qualidade de áudio resultante após uma modificação na escala de tempo não é a mesma para todos os conteúdos de áudio. Por exemplo, para os sinais de voz, 11 certos tipos de quadros, como os quadros temporários ou ataques de vozeamento, são vantajosamente manuseados com cuidado para não deqradar a qualidade de áudio. Isto implica que com um critério riqoroso de qualidade, se podem alcançar os melhores resultados, proibindo o escalonamento de certos quadros. Particularmente no caso do comprimento definido da janela de tempo ser mais longo, pode determinar-se adicionalmente o tipo de conteúdo dos quadros dentro da janela de tempo determinada. Pode, assim, evitar-se um escalonamento desses quadros dentro da janela de tempo com um conteúdo de tipo pré-definido. 0 escalonamento no tempo pode não ser directamente aplicado aos quadros recebidos, mas sim a quadros recebidos e processados.
Os quadros recebidos podem, por exemplo, ser armazenados num buffer variável depois de recebidos e devolvidos pelo buffer variável para descodificação. Os quadros descodificados podem, de seguida, ser sujeitos ao escalonamento no tempo. Esta alternativa é particularmente apropriada no caso do escalonamento do tempo ser realizado num bloco de processamento dedicado, que ou está num circuito de hardware delimitado ou num código de software delimitado.
Em alternativa, o escalonamento no tempo pode ser realizado, por exemplo, em combinação com outra função de processamento, como uma função de descodificação ou transcodificação. Combinando uma técnica de escalonamento de passo sincrono com um descodificador de voz, por exemplo, constitui uma abordagem particularmente favorável para providenciar uma capacidade de escalonamento no tempo de alta qualidade. Por exemplo, com um codec AMR, isto 12 fornece benefícios óbvios em termos de carga de baixo processamento.
Se o escalonamento no tempo for combinado com a descodificação, os quadros recebidos podem igualmente ser armazenados num buffer variável após recepção e devolução pelo buffer variável para descodificação. Neste caso, porém, os quadros sujeitos ao escalonamento no tempo podem ser quadros que incluem um sinal de excitação do filtro de síntese de previsão linear (LP) criado na descodificação. A invenção pode ser aplicada a qualquer tipo de codec de áudio, mais especificamente mas não exclusivamente, a qualquer tipo de codec de voz. Pode ainda ser utilizada, por exemplo, para AMR e VoTP. A seguinte descrição, juntamente com os desenhos anexos, vai permitir esclarecer os objectivos e as características da presente invenção. Entende-se, porém, que os desenhos são unicamente criados para efeitos ilustrativos e não como definição dos limites da invenção, pelo que se faz referência às reivindicações anexas. Entende-se ainda que os desenhos não são desenhados à escala e que pretendem meramente ilustrar, de forma conceituai, as estruturas e procedimentos aqui descritos.
BREVE DESCRIÇÃO DOS DESENHOS A Fig. 1 é um diagrama em bloco esquemático de um sistema de transmissão de acordo com uma versão da invenção; a Fig. 2 ilustra os detalhes de um receptor de áudio do sistema da figura 1; 13 a Fig. 3 ilustra ainda os detalhes de um receptor de áudio do sistema da figura 1; e a Fig. 4 é um fluxograma, que ilustra uma operação no receptor de áudio da figura 1.
DESCRIÇÃO DETALHADA DA INVENÇÃO A figura 1 é um diagrama em bloco esquemático de um sistema de transmissão exemplificativo, no qual pode ser implementado um escalonamento no tempo melhorado de acordo com uma versão da invenção. 0 sistema compreende um dispositivo electrónico 110 com um transmissor de áudio 111, uma rede de comunicação de comutação de pacotes 120 e um dispositivo electrónico 130 com um receptor de áudio 131. O transmissor de áudio 111 pode transmitir os quadros de áudio, incluindo dados de áudio codificados, através da rede de comunicação de comutação de pacotes 120, para o receptor de áudio 131, compreendendo cada pacote um quadro de áudio com dados de áudio codificados. A entrada do receptor de áudio 131 está ligada dentro do receptor de áudio 131, por um lado, a um jitter buffer 132 e, por outro lado, a um analisador de redes 133. O jitter buffer 132 está ligado, através de um descodificador 134 e de uma unidade de escalonamento no tempo 135, à saida do receptor de áudio 131. Uma saida do sinal de controlo do analisador de redes 133 está ligada a uma primeira entrada do controlo de uma lógica de controlo de escalonamento no tempo 136, enquanto uma saida do sinal de controlo do jitter buffer 132 está ligada a uma segunda entrada do controlo da lógica de controlo de escalonamento no tempo 14 136. Uma saída do sinal de controlo da lógica de controlo de escalonamento no tempo 136 está também ligada a uma entrada do controlo da unidade de escalonamento no tempo 135. A saída do receptor de áudio 131 pode ser ligada a um componente de reprodução 138 do dispositivo electrónico 130, por exemplo a altifalantes. O jitter buffer 132 é utilizado para tirar os quadros de áudio recebidos à espera de serem descodificados e reproduzidos. O jitter buffer 132 pode ter a capacidade para dispor os quadros recebidos na ordem de descodificação correcta e para providenciar os quadros dispostos - ou a informação sobre quadros em falta - por sequência ao descodificador 134, a pedido. Além disso, o jitter buffer 132 providencia informação sobre o seu estado à lógica de controlo de escalonamento no tempo 136. O analisador de redes 133 calcula um conjunto de parâmetros, que descrevem as características de recepção actuais, com base nas estatísticas de recepção do quadro e na temporização de quadros de recepção, e providencia um conjunto de parâmetros da lógica de controlo de escalonamento no tempo 136. Com base na informação recebida, a lógica de controlo de escalonamento no tempo 136 determina a necessidade de um atraso variável de armazenamento e emite correspondentes comandos de escalonamento no tempo à unidade de escalonamento no tempo 135. O atraso médio de armazenamento utilizado não tem de ser um múltiplo inteiro do comprimento do quadro de entrada. O atraso médio de armazenamento ideal é o que minimiza o tempo de armazenamento sem que qualquer quadro chegue atrasado. 15 0 descodificador 134 devolve um quadro de áudio do buffer 132 sempre que forem pedidos novos dados pelo componente de reprodução 138. Ele descodifica o quadro de áudio devolvido e reencaminha o quadro de áudio descodificado para a unidade de escalonamento no tempo 135. Esta unidade 135 executa um escalonamento comandado pela lógica de controlo de escalonamento no tempo 136, ou seja, pode alongar ou encurtar os quadros descodificados recebidos. Os quadros descodificados, e possivelmente temporalmente escalonados, são fornecidos ao componente de reprodução 138 para apresentação a um utilizador. Entende-se que a arquitectura do receptor de áudio 131 apresentada na figura 1 pretende apenas ilustrar a funcionalidade lógica e básica de um receptor de áudio exemplificativo de acordo com a invenção. Numa implementação prática, as funções representadas podem ser diferentemente distribuídas aos blocos de processamento. Algum bloco de processamento de uma arquitectura alternativa pode combinar várias das funções acima descritas. Uma unidade de escalonamento no tempo combinada com um descodificador, por exemplo, pode fornecer uma solução de cálculo muito eficiente. Além disso, pode haver blocos de processamento adicionais e alguns componentes, como o buffer 132, até podem encontrar-se fora do receptor de áudio 131. 0 sistema apresentado pode ser implementado como um sistema convencional, no qual os dados de áudio são transmitidos a partir de um transmissor de áudio para um receptor de áudio, excepto a lógica de controlo de escalonamento no tempo 136 e a unidade de escalonamento no tempo 135 do receptor de áudio 131. 16
Os detalhes funcionais da lógica de controlo de escalonamento no tempo 136 são apresentados na figura 2. A lógica de controlo de escalonamento no tempo 136 pode ser implementada por um código de software, que pode ser executada por um processador 200 do dispositivo electrónico 131. Entende-se que o mesmo processador 200 podia executar adicionalmente códigos de software, realizando outras funções do receptor de áudio 131 ou, de um modo geral, do dispositivo electrónico 130. Note-se que, em alternativa, as funções da lógica de controlo de escalonamento no tempo 136 podiam ser realizadas por hardware, por exemplo, por um circuito integrado num chip ou num circuito integrado. A lógica de controlo de escalonamento no tempo 136 compreende um componente de determinação da quantidade de escalonamento no tempo 210 e, ligado a este componente de determinação 210a, um componente de determinação do 'comprimento da janela de tempo' 211. As entradas de controlo da lógica de controlo de escalonamento no tempo 136 ligadas ao analisador de redes 133 e ao jitter buffer 132, respectivamente, são ambas ligadas ao componente de determinação 210. O componente de determinação 210 emite um pedido de escalonamento, que é introduzido na unidade de escalonamento no tempo 135. O componente de determinação 211 emite um comprimento da janela de tempo, que é introduzido na unidade de escalonamento 135.
Os detalhes funcionais da unidade de escalonamento no tempo 135 são apresentados na figura 3. A unidade de escalonamento no tempo 135 pode igualmente ser implementada por um código de software, que pode ser executado por um processador 200 do dispositivo 17 electrónico 131. Entende-se que o mesmo processador 200 podia executar adicionalmente códigos de software, realizando outras funções do receptor de áudio 131 ou, de um modo geral, do dispositivo electrónico 130. Mais especificamente, pode ser executado um código de software, que realiza as funções da unidade de escalonamento no tempo 135, através do mesmo processador 200 como um código de software, que realiza as funções da lógica de controlo de escalonamento no tempo 136. Note-se que, em alternativa, também a função da unidade de escalonamento no tempo 135 podia ser realizada pelo hardware, por exemplo, por um circuito integrado num chip ou num circuito integrado, possivelmente o mesmo chip ou circuito integrado, no qual se integram as funções da lógica de controlo de escalonamento no tempo 136. A unidade de escalonamento no tempo 135 compreende um componente de determinação 'tipo quadro' 310 e, ligado a este componente de determinação 310a, um componente de 'escalonamento no tempo de janela' 311. As saídas do sinal de controlo da unidade de escalonamento no tempo 136 para o pedido de escalonamento e do comprimento da janela de tempo estão ambas ligadas ao componente de 'escalonamento no tempo de janela' 311. A saída do descodificar 134 está ligada ao componente de determinação 310. O componente de escalonamento do tempo de janela 311 emite quadros descodificados e escalonados, que são introduzidos no componente de reprodução 138.
Se a unidade de escalonamento no tempo 135 estiver a funcionar como um bloco de processamento à parte, como ilustrado, a modificação do escalonamento no tempo descrita é habitualmente realizada no sinal de voz descodificado. Se 18 a unidade de escalonamento no tempo 135 for combinada com o descodificador 134, a modificação de escalonamento no tempo descrita pode ser realizada, por exemplo, no sinal de excitação do filtro de sintese LP criado no descodificador 134.
Passamos a descrever um controlo de escalonamento no tempo de acordo com uma versão exemplificativa da invenção, fazendo referência ao fluxograma da figura 4. Os passos 401 até 405 indicados são levados a cabo pela lógica de controlo de escalonamento no tempo 136, enquanto os passos 406 e 407 indicados são levados a cabo pela unidade de escalonamento no tempo 135. A lógica de controlo de escalonamento no tempo 136 recebe a informação sobre o estado da rede a partir do analisador de redes 133 e a informação sobre o estado do buffer a partir do jitter buffer 132. Com base nesta informação, o componente de determinação 210 determina se a variação do atraso de armazenamento está iminente e, em caso afirmativo, determina adicionalmente a quantidade de escalonamento no tempo exigida para compensar a variação (passo 401). Quando as caracteristicas da rede e o estado do buffer indicam um atraso maior, alguns quadros têm de ser adequadamente alongados, pedindo o componente de reprodução 138 novos dados a uma velocidade menor, para evitar uma capacidade negativa do buffer, enquanto o atraso de armazenamento aumenta. Quando as caracteristicas da rede e o estado do buffer indicam um atraso menor, alguns quadros têm de ser adequadamente reduzidos, pedindo o componente de reprodução 138 novos dados a uma velocidade superior, para evitar um excesso da capacidade buffer, enquanto o atraso de armazenamento é reduzido. 19 0 componente de determinação 210 informa o componente de determinação 211 sobre qualquer escalonamento no tempo exigido, assim como, sobre a rede e o estado actual do buffer. Cria ainda um pedido de escalonamento no tempo, incluindo a quantidade de escalonamento no tempo exigida e fornece-a à unidade de escalonamento no tempo 135.
No caso de ser exigido um escalonamento no tempo (passo 402), o componente de determinação 211 determina se o tipo do atraso modificado requer uma reacção rápida (passo 403) . O componente de determinação 211 pode diferenciar, com esta finalidade, por exemplo, entre um desvio de relógio, variações num atraso 'estático' de transmissão, um jitter de variação e aumentos de atraso, como vamos passar a explicar.
Em alguns casos, os relógios que orientam a operação no transmissor 111 e o receptor 131 são estão sincronizados pelo facto do sinal do relógio não ser exactamente preciso. Pode observar-se um ligeiro desvio, que torna a velocidade do relógio real ligeiramente diferente do valor nominal, resultando daqui um desvio de relógio. Se o relógio do transmissor trabalhar mais rápido do que o relógio do receptor, os quadros parecem chegar ao receptor 131 em intervalos demasiado curtos, e isto é detectado no receptor 131 pela crescente ocupação gradual do buffer e pelo crescente atraso médio de armazenamento. Por outro lado, se o relógio do transmissor trabalhar mais devagar do que o relógio do receptor, os quadros parecem chegar ao receptor 131 em intervalos demasiado longos, o que causa uma diminuição lenta da ocupação do buffer e um menor atraso médio de armazenamento. Se este fenómeno não for tratado, 20 mais cedo ou mais tarde verifica-se um excesso ou uma capacidade negativa do buffer.
Este primeiro aspecto pode ser detectado pelo componente de determinação 211, estando atento à ocupação de variação gradual do buffer.
Pode ocorrer uma variação no atraso 'estático' da transmissão, se a carga da rede mudar repentinamente. Como resultado, pode verificar-se uma significativa variação no atraso, que requer a adaptação do buffer. É muito provável que um aumento evidente no atraso provoque uma capacidade negativa do buffer, enquanto uma redução repentina no atraso pode causar um excesso do buffer.
Este segundo aspecto pode ser detectado pelo componente de determinação 211, estando atento a uma variação evidente no atraso dos pacotes recebidos.
Uma variação na carga da rede pode também ser vista como um jitter de variação, em vez de variações no componente de atraso estático. 0 jitter de variação pode, de facto, ser um fenómeno muito mais comum do que o atraso estático de variação. Neste cenário, um jitter crescente origina uma quantidade maior de quadros que chegam atrasados, se o atraso de armazenamento não for correspondentemente aumentado. Por outro lado, uma tendência de decréscimo no jitter reduz o número de quadros perdidos devido à chegada atrasada, que pode ser explorada para reduzir o atraso de armazenamento.
Este terceiro aspecto pode ser detectado pelo componente de determinação 211, avaliando a quantidade de quadros, que chegam atrasados.
Um 'distúrbio a prazo muito curto na rede 120 pode ser visto no receptor 131 como um aumento de atraso, ou seja, 21 um breve período sem pacotes é seguido de um período cheio de pacotes.
Este quarto aspecto pode ser detectado pelo componente de determinação 211, avaliando a distribuição do tempo de recepção de pacotes. 0 mesmo passo de modificação não teria a melhor qualidade de áudio possível em todos os cenários acima apresentados. 0 desvio do relógio e o jitter de variação são normalmente de tal modo que podem ser tratados pelas modificações graduais, que é, por si só, a melhor abordagem para manter uma elevada qualidade de áudio. Um atraso na transmissão estática de variação e os aumentos de atraso requerem, por outro lado, uma rápida reacção para minimizar a degradação da qualidade de áudio devido a pacotes perdidos.
No caso de se detectar que não é necessária uma rápida reacção (passo 403), o componente de determinação 211 define o comprimento de uma janela de tempo, no que diz respeito à quantidade exigida de escalonamento, para um valor maior e fornece este valor à unidade de escalonamento no tempo 135 (passo 404) . O valor maior é adequado para comandar a unidade de escalonamento no tempo 135 para obter a quantidade exigida de escalonamento no tempo ao longo de um período de modificação relativamente extenso.
No caso de se detectar que é necessária uma rápida reacção (passo 403), o componente de determinação 211 define o comprimento de uma janela de tempo, no que diz respeito à quantidade exigida de escalonamento, para um valor menor e fornece este valor à unidade de escalonamento no tempo 135 (passo 405) . O valor menor é adequado para comandar a unidade de escalonamento no tempo 135 para obter 22 a quantidade exigida de escalonamento no tempo imediatamente e dentro de um breve periodo de modificação.
Entende-se que em ambos os casos, o tamanho da janela seleccionado pode depender também de outros critérios. Pode, por exemplo, depender adicionalmente da quantidade exigida de escalonamento no tempo, uma vez que uma grande e uma pequena quantidade de escalonamento dentro da mesma janela de tempo terá, obviamente, diferentes efeitos. A unidade de escalonamento no tempo 135 recebe quadros de áudio descodificados do descodificador 134. Além disso, recebe também o comando de escalonamento e o comprimento associado de uma janela de tempo a partir de uma lógica de controlo de escalonamento no tempo 136. 0 componente de determinação 310 verifica o tipo dos quadros descodificados actualmente recebidos para detectar quadros, que possuem requisitos particulares sobre a qualidade de áudio, como quadros provisórios ou quadros com ataques de vozeamento (passo 406). O componente de escalonamento da janela de tempo 311 da unidade de escalonamento no tempo 135 aplica depois um escalonamento no tempo aos quadros descodificados recebidos (passo 407). O escalonamento no tempo é realizado na quantidade exigida dentro da janela de tempo indicada. O componente de escalonamento da janela de tempo 311 selecciona quadros apropriados para o escalonamento no tempo e pontos de modificação optimizada dentro dos quadros seleccionados para escalonamento no tempo.
Em princípio, o escalonamento no tempo começa com o primeiro quadro recebido depois de um novo comando de escalonamento. Se a combinação da quantidade de 23 escalonamento no tempo e o tamanho indicado da janela não implicarem a necessidade de uma rápida reacção, o componente de escalonamento da janela de tempo 311 permite, porém, evitar um escalonamento no tempo de quadros sensíveis detectados pelo componente de determinação 310.
Normalmente, a extensão ou contracção do sinal é efectuada por múltiplos de ciclos de passos. Pode encontrar-se um exemplo de um escalonamento no tempo adequado no documento "High quality time-scale modification for speech" de S. Roucos e A.M. Wilgus, IEEE ICASSP 1985, páginas 493 - 496. Entende-se, porém, que se podem aplicar outras abordagens de escalonamento no tempo.
Note-se que a quantidade de escalonamento no tempo pode não ser só fornecida por uma quantidade absoluta de um escalonamento no tempo que se pretende alcançar com quadros recebidos dentro da janela de tempo indicada. A quantidade de escalonamento no tempo podia também indicar, por exemplo, quantos quadros de escalonamento no tempo devem caber na janela de tempo indicada. Assim sendo, o comprimento da janela de tempo pode limitar o número de quadros considerados antes do escalonamento no tempo, ou definir a propagação dos quadros que resultam com o escalonamento no tempo. isso por
Note-se ainda que uma abordagem alternativa, na qual a lógica de controlo de escalonamento no tempo 136 distribui um pedido de escalonamento maior numa série de pedidos menores, não é tão benéfica como a proposta de janelas. A razão é que a unidade de escalonamento no tempo 135 possui conhecimentos sobre as características dos sinais actuais e é, por isso, capaz de decidir sobre o ponto de 24 escalonamento exacto que minimiza a degradação da qualidade de áudio.
De um modo geral, o jitter buffer adaptativo deve considerar as condições de rede subjacentes, a operação do descodificador e o desempenho da unidade de escalonamento no tempo.
Apesar de se ter apresentado, descrito e sublinhado novas caracteristicas fundamentais da invenção, do modo como é aqui aplicada numa versão privilegiada, entende-se que os profissionais da matéria podem proceder a várias omissões, substituições e mudanças na forma e detalhes do dispositivo e métodos descritos, sem sair do âmbito da invenção definido unicamente nas reivindicações aqui anexas. 25
DOCUMENTOS APRESENTADOS NA DESCRIÇÃO
Esta lista dos documentos apresentados pelo requerente foi exclusivamente recolhida para informação do leitor e não faz parte do documento de patente europeia. Apesar de ter sido elaborado com o máximo cuidado, o IEP não assume, porém, qualquer responsabilidade por eventuais erros ou omissões.
Documentos da patente apresentados na descrição WO 20051 1 7366 A [0012]
Literatura não relativa à patentes citada na descrição S. Roucos; A.M. Wilgus. High quality time-scale modification for speech. IEEE ICASSP, 1985, 493-496 [0075]
Lisboa, 28/04/2010
Claims (20)
1 REIVINDICAÇÕES 1. Um método que compreende: detectar uma variação num atraso de quadros, que são recebidos via uma rede de comutação de pacotes, pertencendo os quadros a uma sequência de quadros, à qual é distribuído um sinal de áudio; determinar a quantidade de escalonamento no tempo que é necessária aplicar aos quadros recebidos, de modo a compensar a referida variação detectada; determinar um tipo da referida variação, avaliando pelo menos uma variação na quantidade de quadros atrasados; e determinar um comprimento de uma janela de tempo, dentro da qual se pretende completar um escalonamento no tempo na referida quantidade necessária, dependendo do referido tipo de variação definida.
2. 0 método de acordo com a reivindicação 1, em que um determinado tipo da referida variação é, ou um tipo que requer uma janela de tempo mais pequena para uma certa quantidade de escalonamento no tempo, ou é um tipo que permite uma janela de tempo mais comprida para uma certa quantidade de escalonamento no tempo.
3. 0 método de acordo com a reivindicação 2, em que é determinado um tipo de variação que requer uma janela de tempo mais pequena, que se aplica pelo menos no caso de se detectar uma das variações no atraso, sendo que a variação 2 que excede um valor pré-determinado e é detectado um aumento no atraso.
4. 0 método de acordo com a reivindicação 2 ou 3, em que os quadros recebidos são armazenados num buffer variável após recepção, e em que um tipo de variação que permite uma janela de tempo mais comprida é determinado para ser aplicado pelo menos no caso de se detectar uma ocupação do buffer de variação gradual.
5. 0 método de acordo com uma das reivindicações de 2 a 4, em que um tipo de variação que permite uma janela de tempo mais comprida é determinada para ser aplicado pelo menos no caso de se detectar uma quantidade alterada de quadros atrasados.
6. 0 método de acordo com uma das reivindicações anteriores, compreendendo um passo seguinte de escalonamento no tempo de quadros recebidos na referida quantidade determinada dentro de uma janela de tempo do referido comprimento determinado.
7. 0 método de acordo com a reivindicação 6, que inclui ainda determinar um tipo de conteúdo dos referidos quadros dentro da referida janela de tempo e evitar um escalonamento no tempo desses quadros dentro da referida janela de tempo, sendo que os quadros têm um conteúdo de um tipo pré-determinado.
8. 0 método de acordo com uma das reivindicações de 6 a 7, em que os quadros recebidos são armazenados num buffer 3 variável depois de recebidos e devolvidos pelo referido buffer variável para descodificação, e em que os quadros sujeitos ao referido escalonamento no tempo são quadros que incluem um sinal de excitação do filtro de síntese de previsão linear criado na referida descodificação.
9. Um aparelho, que compreende um componente de controlo do escalonamento no tempo para controlar um escalonamento no tempo de um sinal de áudio, sendo que o sinal de aúdio é distribuído por uma sequência de quadros recebidos via uma rede de comutação de pacotes, em que o referido componente de controlo do escalonamento no tempo está preparado para detectar uma variação num atraso de quadros recebidos; o referido componente de controlo do escalonamento no tempo está preparado para determinar a quantidade de escalonamento no tempo que é necessária aplicar aos quadros recebidos, de modo a compensar uma variação detectada; o referido componente de controlo do escalonamento no tempo está preparado para determinar um tipo de variação detectada, avaliando pelo menos uma variação na quantidade de quadros atrasados; e o referido componente de controlo do escalonamento no tempo está preparado para determinar um comprimento de uma janela de tempo, dentro da qual se pretende completar um escalonamento no tempo na referida quantidade necessária, dependendo do referido tipo de variação determinada.
10. 0 aparelho de acordo com a reivindicação 9, em que um determinado tipo da referida variação é ou um tipo que requer uma janela de tempo mais pequena para uma 4 determinada quantidade de escalonamento no tempo ou é um tipo que permite uma janela de tempo mais comprida para uma determinada quantidade de escalonamento no tempo.
11. 0 aparelho de acordo com a reivindicação 10, em que o referido componente de controlo de escalonamento no tempo está preparado para determinar um tipo de variação que requer uma janela de tempo mais pequena, que se aplica pelo menos no caso de se detectar uma das variações no atraso, sendo que a variação excede um valor pré-determinado e é detectado um aumento no atraso.
12. O aparelho de acordo com a reivindicação 10 ou 11, compreendendo um buffer variável adaptado para armazenar temporariamente quadros após a recepção, em que o referido componente de controlo de escalonamento no tempo está preparado para determinar um tipo de variação, que permite uma janela de tempo mais comprida, que se aplica pelo menos no caso de se detectar uma ocupação de variação gradual do buffer.
13. O método de acordo com uma das reivindicações de 10 a 12, em que o referido componente de controlo de escalonamento no tempo está preparado para determinar um tipo de variação, que permite uma janela de tempo mais comprida, que se aplica pelo menos no caso de se detectar uma quantidade alterada de quadros atrasados.
14. O aparelho de acordo com uma das reivindicações de 9 a 13, compreendendo um componente de escalonamento no tempo adaptado a quadros de escalonamento no tempo 5 recebidos numa determinada quantidade dentro da janela de tempo de um determinado comprimento.
15. 0 aparelho de acordo com a reivindicação 14, em que o referido componente de escalonamento no tempo está preparado para determinar um tipo de conteúdo dos quadros dentro da referida janela de tempo e para evitar um escalonamento no tempo desses quadros dentro da referida janela de tempo, sendo que os quadros têm um tipo pré-determinado de conteúdo.
16. Um aparelho de acordo com uma das reivindicações de 9 a 15, em que o referido aparelho é um de um circuito integrado com pelo menos um chip, um receptor de áudio e um dispositivo electrónico.
17. Um código de software adaptado para realizar os seguintes passos, quando é executado por um processador: detectar uma variação num atraso de quadros recebidos, que são recebidos via uma rede de comutação de pacotes, pertencendo os quadros a uma sequência de quadros, à qual é distribuído um sinal de áudio; determinar a quantidade de escalonamento no tempo que é necessária aplicar aos quadros recebidos, de modo a compensar a referida variação detectada; determinar um tipo da referida variação, avaliando pelo menos uma variação na quantidade de quadros atrasados; e determinar um comprimento de uma janela de tempo, dentro da qual se pretende completar um escalonamento 6 no tempo na referida quantidade necessária, dependendo do referido tipo determinado da referida variação.
18. 0 código de software de acordo com a reivindicação 17, em que um determinado tipo da referida variação é ou um tipo que requer uma janela de tempo mais pequena para uma certa quantidade de escalonamento no tempo ou é um tipo que permite uma janela de tempo mais comprida para uma certa quantidade de escalonamento no tempo.
19. 0 código de software de acordo com a reivindicação 17 ou 18, em que quando está a ser executado por um processador, esse código de software realiza um passo seguinte de escalonamento no tempo de quadros recebidos na referida quantidade determinada dentro de uma janela de tempo do referido comprimento determinado.
20. Um produto de programa de software, que armazena um código de software de acordo com uma das reivindicações de 17 a 19. Lisboa, 28/04/2010
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/349,745 US8832540B2 (en) | 2006-02-07 | 2006-02-07 | Controlling a time-scaling of an audio signal |
Publications (1)
Publication Number | Publication Date |
---|---|
PT1982332E true PT1982332E (pt) | 2010-05-06 |
Family
ID=38037463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PT07705785T PT1982332E (pt) | 2006-02-07 | 2007-02-05 | Controlo do escalonamento no tempo de um sinal de áudio |
Country Status (10)
Country | Link |
---|---|
US (1) | US8832540B2 (pt) |
EP (1) | EP1982332B1 (pt) |
KR (1) | KR101002405B1 (pt) |
CN (1) | CN101379556B (pt) |
AT (1) | ATE463030T1 (pt) |
DE (1) | DE602007005605D1 (pt) |
ES (1) | ES2340545T3 (pt) |
PT (1) | PT1982332E (pt) |
TW (1) | TWI480861B (pt) |
WO (1) | WO2007091204A1 (pt) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7983309B2 (en) * | 2007-01-19 | 2011-07-19 | Nokia Corporation | Buffering time determination |
US20080222636A1 (en) * | 2007-03-05 | 2008-09-11 | David Tzat Kin Wang | System and method of real-time multiple-user manipulation of multimedia threads |
WO2012167479A1 (en) * | 2011-07-15 | 2012-12-13 | Huawei Technologies Co., Ltd. | Method and apparatus for processing a multi-channel audio signal |
US9420475B2 (en) * | 2013-02-08 | 2016-08-16 | Intel Deutschland Gmbh | Radio communication devices and methods for controlling a radio communication device |
AU2014283256B2 (en) | 2013-06-21 | 2017-09-21 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Time scaler, audio decoder, method and a computer program using a quality control |
KR101953613B1 (ko) | 2013-06-21 | 2019-03-04 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | 지터 버퍼 제어부, 오디오 디코더, 방법 및 컴퓨터 프로그램 |
US10700797B2 (en) | 2017-07-07 | 2020-06-30 | Nxp B.V. | Signal processing using multiple sources |
US10313416B2 (en) | 2017-07-21 | 2019-06-04 | Nxp B.V. | Dynamic latency control |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW419645B (en) * | 1996-05-24 | 2001-01-21 | Koninkl Philips Electronics Nv | A method for coding Human speech and an apparatus for reproducing human speech so coded |
US6512761B1 (en) * | 1999-02-02 | 2003-01-28 | 3Com Corporation | System for adjusting billing for real-time media transmissions based on delay |
US6735192B1 (en) * | 1999-09-29 | 2004-05-11 | Lucent Technologies Inc. | Method and apparatus for dynamically varying a packet delay in a packet network based on a log-normal delay distribution |
TW446935B (en) * | 1999-10-26 | 2001-07-21 | Elan Microelectronics Corp | Method and apparatus of multi-channel voice analysis and synthesis |
US6636830B1 (en) * | 2000-11-22 | 2003-10-21 | Vialta Inc. | System and method for noise reduction using bi-orthogonal modified discrete cosine transform |
US7171367B2 (en) * | 2001-12-05 | 2007-01-30 | Ssi Corporation | Digital audio with parameters for real-time time scaling |
CN1926824B (zh) | 2004-05-26 | 2011-07-13 | 日本电信电话株式会社 | 声音分组再现方法、声音分组再现装置 |
CA2691762C (en) | 2004-08-30 | 2012-04-03 | Qualcomm Incorporated | Method and apparatus for an adaptive de-jitter buffer |
-
2006
- 2006-02-07 US US11/349,745 patent/US8832540B2/en active Active
-
2007
- 2007-02-05 AT AT07705785T patent/ATE463030T1/de not_active IP Right Cessation
- 2007-02-05 TW TW096104019A patent/TWI480861B/zh active
- 2007-02-05 CN CN2007800046200A patent/CN101379556B/zh active Active
- 2007-02-05 ES ES07705785T patent/ES2340545T3/es active Active
- 2007-02-05 KR KR1020087019311A patent/KR101002405B1/ko active IP Right Grant
- 2007-02-05 EP EP07705785A patent/EP1982332B1/en active Active
- 2007-02-05 PT PT07705785T patent/PT1982332E/pt unknown
- 2007-02-05 DE DE602007005605T patent/DE602007005605D1/de active Active
- 2007-02-05 WO PCT/IB2007/050368 patent/WO2007091204A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2007091204A1 (en) | 2007-08-16 |
EP1982332A1 (en) | 2008-10-22 |
KR101002405B1 (ko) | 2010-12-21 |
TWI480861B (zh) | 2015-04-11 |
EP1982332B1 (en) | 2010-03-31 |
CN101379556B (zh) | 2012-11-14 |
US20070186145A1 (en) | 2007-08-09 |
CN101379556A (zh) | 2009-03-04 |
KR20080083206A (ko) | 2008-09-16 |
ATE463030T1 (de) | 2010-04-15 |
US8832540B2 (en) | 2014-09-09 |
TW200807395A (en) | 2008-02-01 |
ES2340545T3 (es) | 2010-06-04 |
DE602007005605D1 (de) | 2010-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
PT1982332E (pt) | Controlo do escalonamento no tempo de um sinal de áudio | |
JP4933605B2 (ja) | 適応デジッタバッファの方法及び装置 | |
CN116095395A (zh) | 一种调整缓冲区长度的方法、装置、电子设备和存储介质 | |
US20070186146A1 (en) | Time-scaling an audio signal |