“MÉTODO PARA A IMPLANTAÇÃO DE UMA TRANSMISSÃO REDUNDANTE EM UMA REDE COMUTADA POR PACOTE, APARELHO PARA A IMPLANTAÇÃO DE UMA TRANSMISSÃO REDUNDANTE EM UMA REDE COMUTADA POR PACOTE E PRODUTO DE PROGRAMA DE 5 COMPUTADOR, INCORPORADO EM UM MEIO LEGÍVEL POR COMPUTADOR PARA IMPLANTAR A TRANSMISSÃO REDUNDANTE EM UMA REDE COMUTADA POR PACOTE”.
Campo da invenção
A presente invenção refere-se, em geral, à codificação de fala. Mais particularmente, a presente invenção refere-se à codificação de fala, à resiliência de erro e à transmissão de fala através de uma rede comutada por pacote para aplicações de Voz sobre IP (VoIP).
Antecedentes da invenção
Esta seção é destinada a fornecer um antecedente ou contexto da invenção 15 que é citada nas reivindicações. A presente descrição pode incluir conceitos que poderiam ser seguidos, porém, não são necessariamente os que foram antes expressados ou seguidos. Portanto, a menos que seja ora indicado ao contrário, o que é descrito nesta seção não é uma técnica anterior à descrição e às reivindicações nesse pedido e não se admite que seja incluída a técnica anterior nesta seção.
Nos protocolos atuais de transmissão de rede comutada por pacote, são
removidos todos os pacotes de IP nos quais os erros de bit são detectados por um receptor. Em outras palavras, sob recepção, a pilha do protocolo não transporta quaisquer pacotes distorcidos para a camada de aplicação se erros são detectados. Por esse motivo, quando os pacotes de IP são transmitidos através de enlaces de rádio 25 propensos a erros ou através de qualquer mídia que cause erros, a camada de aplicação se depara com algumas perdas de pacote. De modo inverso, nenhum pacote que alcança a camada de aplicação contém quaisquer erros de bit residuais.
Devido ao fato dos pacotes distorcidos não serem transmitidos para a camada de aplicação, os algoritmos de ocultamento de erro não podem utilizar quadros parcialmente corretos. No entanto, tais quadros faltantes ainda devem ser repostos. Tal situação se torna ainda mais difícil quando mais de um pacote consecutivo é perdido. Diversos métodos foram introduzidos a fim de combater tais condições de perda de pacote. Alguns métodos convencionais incluem o uso de codificação múltipla de descrição, em que as informações são distribuídas através de diversos pacotes de IP, bem 5 como a correção antecipada de erros (FEC) ao nível da aplicação, no qual as informações de FEC são usadas a fim de reconstruir os pacotes perdidos.
Além do supramencionado, outra abordagem para dirigir-se à questão da perda de pacote envolve o uso da transmissão redundante. Uma vantagem da transmissão redundante é a baixa exigência de computação. A transmissão redundante é 10 implantada através da simples anexação do quadro atual e um ou mais quadros antecedentes no mesmo pacote. A decodificação da corrente redundante também é bastante simples; quando um pacote é perdido, o receptor precisa apenas esperar que o próximo pacote chegue para obter o quadro correspondente ao decodificador. Um problema da técnica de redundância de quadro, no entanto, envolve o aumento da taxa de 15 bit resultante. Com a redundância de quadro, a exigência de largura de banda é essencialmente duplicada quando outro quadro é anexado ao pacote de IP em questão. Ademais, com a redundância de quadro, o atraso geral aumenta, visto que o receptor precisa armazenar temporariamente os quadros de fala, a uma quantidade igual à quantidade de redundância.
As soluções convencionais para a adaptação do modo
codificador/decodificador e para a seleção de modo na transmissão redundante têm envolvido, em geral, manter a taxa de bit existente e simplesmente copiar um ou mais quadro antecedentes no pacote ou, por outro lado, diminuir a taxa de bit do codificador/decodificador com a finalidade de a taxa geral resultante não obtenha um 25 aumento significativo. Por exemplo, quando uma chamada de voz de banda estreita que usa o codificador/decodificador AMR é configurada com 12,2 kbit/s, é executada uma redundância de 100%, isto é, transmissão de um quadro atual com um quadro de fala antecedente anexado ao pacote, com um modo de 5,9 kbit/s, resultando em uma taxa de bit de 11,8 kbit/s. Ademais, uma redundância de 200%, isto é, com dois quadros de fala 30 antecedentes anexados, é executada com um modo de 4,75 kbit/s, resultando em uma taxa de 14,25 kbit/s. Um AMR é um sistema de compressão de dados de áudio que usa a adaptação de enlace a fim de selecionar uma entre oito diferentes taxas de bit com base nas condições de enlace. Em relação ao AMR-WB, quando a taxa nominal é de 12,65 kbit/s em uma disposição de AMR-WB, por exemplo, a redundância de 100% com a taxa 5 mais baixa possível (8,85 kbit/s) resulta em 17,7 kbit/s. Adicionalmente, é sempre possível que a rede e/ou terminal receptor pode não suportar necessariamente o modo de codificador/decodificador selecionado de maneira automática para a transmissão redundante com base nas exigências de taxa de bit.
Um sistema previamente proposto para abordar as questões discutidas acima 10 pode ser encontrado em www.ietf.org/rfc/rfc3267.txt. Nesse sistema, um remetente para selecionar uma quantidade adequada de redundância com base no retorno que foi recebida (por exemplo, nos relatórios do receptor RTCP) em relação ao canal usado. No entanto, esse sistema depende do retorno e pode, portanto, resultar em problemas se as informações adequadas não são recebidas a partir do dispositivo de decodificação.
Seria desejável, portanto, o desenvolvimento de um sistema e método que
aborda os problemas acima.
Sumário
Diversas modalidades da presente invenção fornecem um sistema e um método para implantar, de maneira mais eficiente, o gerenciamento de redundância nas aplicações de codificação de fala. De acordo com diversas modalidades da presente invenção, um dispositivo remetente seleciona um nível de transmissão redundante adequado à condição de canal de transmissão atual, à medida que, ao mesmo tempo, seleciona a taxa de bit mais adequada a partir do conjunto de modo de codificador/decodificador disponível. Com as modalidades da presente invenção, o nível de transmissão redundante que é usado é sempre mais eficiente em relação aos modos de codificador/decodificador selecionados, e não é necessária uma renegociação do codificador/decodificador. Os limites do período de alteração do modo de codificador/decodificador e a alteração do modo para somente modos vizinhos podem limitar a velocidade de adaptação do codificador/decodificador de multitaxa (o que é discutido em www.ietf.org/rfc/rfc3267.txt). Nesse caso, a transmissão redundante usa os modos intermediár ios dentro dos limites de adaptação negociados quando indo em direção à configuração do modo de codificador/decodificador. O sistema e o método de diversas modalidades da presente invenção podem ser aplicados basicamente a quase todos os codificadores de fala de multitaxa, como codificadores Multitaxa Adaptável (AMR) e AMR-WB.
Essas e outras vantagens e características da invenção, juntamente com a organização e a maneira de funcionamento dessa, se tornarão evidentes a partir da descrição detalhada a seguir quando consideradas em conjunto com os desenhos em anexo, em que elementos iguais possuem números iguais ao decorrer dos diversos desenhos descritos abaixo.
Breve descrição dos des enhos
A Figura 1 mostra um sistema de comunicação multimídia para uso com a presente invenção.
A Figura 2 é um fluxograma que mostra a implantação de diversas modalidades da presente invenção.
A Figura 3 é uma vista em perspectiva de um dispositivo eletrônico que pode ser usado na implantação da presente invenção; e
A Figura 4 é uma representação esquemática do conjunto de circuitos do telefone móvel da Figura3.
Descrição detalhada de diversas modalidades
Diversas modalidades da presente invenção fornecem um sistema e um método para implantar, de maneira mais eficiente, o gerenciamento de redundância nas aplicações de codificação de fala. De acordo com diversas modalidades da presente invenção, um dispositivo remetente seleciona um nível de transmissão redundante 25 adequado à condição de canal de transmissão atual, à medida que, ao mesmo tempo, seleciona a taxa de bit mais adequada a partir do conjunto de modo de codificador/decodificador disponível. Com as modalidades da presente invenção, o nível de transmissão redundante usado é sempre mais eficiente em relação aos modos de codificador/decodificador selecionados, e não é necessária uma renegociação do 30 codificador/decodificador. Os limites do período de alteração do modo de codificador/decodificador e a alteração do modo para somente modos vizinhos podem limitar a velocidade de adaptação do codificador/decodificador de multitaxa (o que é discutido em www.ietf.org/rfc/rfc3267.txt.). Nesse caso, a transmissão redundante usa os modos intermediár ios dentro dos limites da adaptação negociada quando indo em 5 direção à configuração do modo de codificador/decodificador. O sistema e o método de diversas modalidade da presente invenção podem ser aplicados basicamente a quase todos os codificadores de fala de multitaxa, como codificadores Multitaxa Adaptável (AMR) e AMR-WB.
A Figura 1 mostra um sistema de comunicação multimídia para uso com a 10 presente invenção. Conforme mostrado na Figura 1, uma fonte de dados 100 fornece um sinal de fonte em um formato analógico, digital não compactado ou digital compactado ou qualquer combinação desses. Um codificador 110 codifica o sinal de fonte em uma corrente de bit de mídia codificada. O codificador 110 pode ser capaz de codificar mais de um tipo de mídia, como áudio e vídeo, ou mais de um codificador 110 pode ser 15 exigido para realizar a codificação de diferentes tipos de mídia do sinal de fonte. Um codificador 110 também pode obter entradas produzidas sinteticamente, como elementos gráficos e textos, ou pode ser capaz de produzir correntes de bit codificadas de mídia sintética. A seguir, somente o processamento de uma corrente de bit de mídia codificada de um tipo de mídia é considerado de modo a simplificar a descrição. Deve-se observar, 20 no entanto, que serviços de radiodifusão em tempo real tipicamente compreendem diversas correntes (tipicamente ao menos uma corrente de áudio, vídeo e legendagem de texto). Deve-se observar também que o sistema pode inclui muitos codificadores, porém a seguir somente um codificador 110 é considerado de modo a simplificar a descrição sem ausência de generalidade.
A corrente de bit de mídia codificada é transferida a um armazenamento
120. O armazenamento 120 pode compreender quaisquer tipos de memória de massa para armazenar a corrente de bit de mídia codificada. O formato da corrente de bit de mídia codificada no armazenamento 120 pode ser um formato de corrente de bit elementarmente autocontido, ou uma ou mais correntes de bit de mídia codificada podem ser encapsuladas em um arquivo contêiner. Alguns sistemas funcionam de modo “ ativo”, isto é, omitem o armazenamento e transferem a corrente de bit codificada a partir do codificador 110 diretamente ao remetente 130. A corrente de bit de mídia codificada é, em seguida, transferida ao remetente 130, também denominado servidor, com base na necessidade. O formato usado na transmissão pode ser um formato de corrente de bit elementarmente 5 autocontido, um formato de corrente de pacote ou uma ou mais correntes de bit de mídia codificada podem ser encapsuladas em um arquivo contêiner. O codificador 110, o armazenamento 120 e o remetente 130 podem estar localizados no mesmo dispositivo físico ou podem estar incluídos em dispositivos separados. O codificador 110 e o remetente 130 podem funcionar com o conteúdo em tempo real ativo,
O remetente 130 envia a corrente de bit de mídia codificada com o uso de
uma pilha de protocolo de comunicação. A pilha pode incluir, porém não se limita a, o protocolo de transporte em tempo real (RTP), o Protocolo de Datagrama de Usuário (UDP) e o Protocolo da Internet (IP). Quando a pilha de protocolo de comunicação é orientada por pacote, o remetente 130 encapsula a corrente de bit de mídia codificada em 15 pacotes. Por exemplo, quando o RTP é usado, o remetente 130 encapsula a corrente de bit de mídia codificada em pacotes de RTP de acordo com um formato de carga útil de RTP. Tipicamente, cada tipo de mídia possui um formato de carga útil de RTP de uso exclusivo. Deve-se observar novamente que um sistema pode conter mais de um remetente 130, porém, com fins de simplificação, a descrição a seguir considera somente 20 um remetente 130.
O remetente 130 pode ou não ser conectado a uma porta de comunicação 140 através de uma rede de comunicação. A porta de comunicação 140 pode realizar diferentes tipos de funções, como a translação de uma corrente de pacote, de acordo com uma pilha de protocolo de comunicação em relação à outra pilha de protocolo de 25 comunicação, intercalação e bifurcação de correntes de dados, e manipulação de correntes de dados, de acordo com as capacidades de receptoras e/ou de enlace descendente, como o controle da taxa de bit da corrente avançada, de acordo com as condições de rede de enlace descendente prevalecente. Os exemplos de porta de comunicação 140 incluem unidades de controle de conferência multiponto (MCUs), as 30 portas de comunicação entre telefonia de vídeo comutada por circuito e comutada por pacote, servidores de Pressione para Falar pelo Celular (PoC), encapsuladores de IP em sistemas portáteis de radiodifusão de vídeo digital (DVB-H), ou conversores (set-top boxes) que encaminha transmissões de radiodifusão localmente para redes sem fio domésticas. Quando o RTP é usado, a porta de comunicação 140 é denominada misturador RTP e atua como um ponto final de uma conexão de RTP.
Como alternativa, a corrente de bit de mídia codificada pode ser transferida a partir do remetente 130 ao receptor 150 por outros meios, como o armazenamento da corrente de bit de mídia em um disco ou dispositivo de memória em massa portátil, quando o disco ou dispositivo está conectada ao remetente 130, e como a conexão, em seguida, do disco ou dispositivo ao receptor 150.
O sistema inclui um ou mais receptores 150, tipicamente capazes de receber, demodular e descapsular o sinal transmitido em uma corrente de bit de mídia codificada. O descapsulamento pode incluir a remoção de dados que os receptor são incapazes de decodificação ou que não precisam ser decodificados. A corrente de bit de 15 mídia de codificador/decodificador também é tipicamente processada por um decodificador 160, cujo resultado é uma ou mais correntes de mídia. Finalmente, um renderizador 170 pode reproduzir as correntes de mídia não compactadas com um alto- falante ou um visor, por exemplo. O receptor 150, o decodificador 160 e o renderizador 170 podem estar localizados no mesmo dispositivo físico ou podem estar incluídos em 20 dispositivos separados.
A Figura 2 é um fluxograma que mostra a implantação de uma modalidade particular da presente invenção. Em 200 na Figura 2, um algoritmo FEC de nível de aplicação ao lado do remetente utiliza a transmissão redundante. Em 210, o algoritmo FEC de nível de aplicação verifica o conjunto de modos de codificador/decodificador 25 disponível que foi estabelecido a partir de uma negociação de oferta-resposta do protocolo de descrição de seção (SDP) com o dispositivo receptor. Em 220, o algoritmo de FEC de nível de aplicação seleciona o modo de codificador/decodificador disponível que será compatível à taxa de bit atual com o nível de redundância determinado. Por exemplo, quando a taxa atual é 12,2 kbit/s e os modos de codificador/decodificador disponíveis 30 negociados são AMR-NB de 12,2 kbit/s e 4,75 kbit/s, o algoritmo FEC seleciona o modo de 7,4 kbit/s para uma redundância de 100% e 4,75 kbit/s para uma redundância de 200%, respectivamente. Caso os modos de codificador/decodificador disponíveis contenham somente o modo atual, o qual é representado em 230, o algoritmo FEC não altera o modo. Ademais, caso o codificador/decodificador possa somente adaptar o modo 5 em cada quadro devido às limitações na sinalização de exigência do modo de codificador/decodificador, uma alteração do modo para um modo inferior não pode ser conduzido imediatamente. O mesmo se aplica quando o codificador/decodificador possui limitações em etapas de adaptação do modo de codificador/decodificador, isto é, quando o codificador/decodificador pode somente ser alterado para o modo de 10 codificador/decodificador vizinho. Portanto, se as limitações da largura de banda se aplicam, a transmissão redundante pode ser aplicada somente após o codificador/decodificador ter atingido o modo desejado adequado para a transmissão redundante.
As Figuras mostram um dispositivo eletrônico 12 representativo no qual a 15 presente invenção pode ser implantada. Deve-se compreender, no entanto, que a presente invenção não se limita a um tipo particular de dispositivo eletrcnico 12. O dispositivo eletrônico 12 das Figuras 3 e 4 inclui um alojamento 30, um visor 32 na forma de um visor de cristal líquido, um teclado 34, um microfone 36, um fone de ouvido 38, uma bateria 40, uma porta infravermelha 42, uma antena 44, um cartão inteligente 46 na forma 20 de um UICC, de acordo com uma modalidade da invenção, uma leitora de cartão 48, um conjunto de circuitos de interface de rá dio 52, um conjunto de circuitos de codificador/decodificador 54, um controlador 56 e uma memória 58. Os circuitos individuais e os elementos são todos de um tipo conhecido na técnica, por exemplo, na gama de telefones móveis da Nokia.
A presente invenção é descrita no contexto geral das etapas do método, as
quais podem ser implantadas em uma modalidade por um produto de programa que inclui as instruções executáve is por computador, como código de programa, executadas pelos computadores em ambientes em rede. Em geral, os módulos de programa incluem rotinas, programas, objetos, componentes, estruturas de dados, etc. que executam tarefas particulares ou implantam tipo de dados abstratos particulares. As instruções executáveis por computador, as estruturas de dados associados e os módulos de programa representam exemplos de código de programa para executar etapas dos métodos aqui revelados. A seqüência particular de tais instruções executáveis ou estruturas de dados associados representa exemplos de atos correspondentes para implantar as funções descritas em tais 5 etapas.
As implantações de software e de rede da presente invenção deveriam ser executadas com técnicas de programação padrão com lógica baseada em regras e outras lógicas a fim de realizar as diversas etapas de pesquisa de base de dados, etapas de correlação, etapas de comparação e etapas de decisão. Também se deve notar que as 10 palavras “componente" e "módulo”, conforme aqui usadas e nas reivindicações, sejam destinadas a abranger as implantações com o uso de uma ou mais linhas de código de software e/ou implantações de hardware e/ou equipamento para recepção de entradas manuais.
A descrição antecedente das modalidades da presente invenção tem sido 15 apresentada com fins de ilustração e descrição. A mesma não pretende ser exaustiva ou limitativa em relação à presente invenção precisamente na forma revelada, e modificações e variação são possíveis à luz dos ensinamentos acima ou podem ser adquiridas a partir da prática da presente invenção. As modalidades foram escolhidas e descritas com o objetivo de explicar os princípios da presente invenção e sua aplicação 20 prática para capacitar uma pessoa versada na técnica a utilizar a presente invenção em diversas modalidades e com diversas modificações, adequado ao uso particular contemplado.