MLow: codec de áudio de baixa taxa de bits do Meta

  • Na Meta, potencializamos a comunicação em tempo real (RTC) para bilhões de pessoas por meio de nossos aplicativos, incluindo WhatsApp, Instagram e Messenger.
  • Estamos trabalhando para tornar o RTC acessível, proporcionando uma experiência de alta qualidade para todos – mesmo aqueles que não têm as conexões mais rápidas ou os telefones mais novos.
  • À medida que mais e mais pessoas confiam em nossos produtos para fazer chamadas ao longo dos anos, trabalhamos para encontrar novas maneiras de garantir que todas as chamadas tenham uma qualidade de áudio sólida.
  • Construímos o codec Meta Low Bitrate (MLow): uma nova ferramenta que melhora a qualidade do áudio, especialmente para quem usa conexões de baixa velocidade.
Figura 1: Aumentar a complexidade ou a taxa de bits geralmente melhora a qualidade, mas bons codecs alcançam qualidade superior enquanto equilibram os outros dois.

Os produtos RTC usam vários elementos-chave para oferecer a experiência completa, e um componente importante são os codecs de áudio/vídeo. Esses codecs ajudam a compactar os dados de áudio/vídeo capturados para que possam ser enviados pela Internet de maneira eficiente ao destinatário, mantendo uma experiência em tempo real. Por exemplo, o áudio bruto capturado para uma chamada típica é de 768 kbps (mono, amostragem a 48 kHz, profundidade de bits 16), que os codecs modernos podem compactar para 25-30 kbps. Essa compactação geralmente custa alguma qualidade (perda de informação), mas bons codecs podem equilibrar a trifeta de qualidade, taxa de bits e complexidade, explorando o conhecimento profundo sobre a natureza do sinal de áudio, bem como usando psicoacústica. .

Criar um bom codec é muito difícil, e é por isso que não vemos novos codecs sendo lançados com frequência. Outro codec de código aberto bom e amplamente conhecido é o Opus, lançado em 2012, que se tornou o codec preferido para uma ampla gama de aplicações na Internet. A Meta usou o Opus para todas as suas necessidades de RTC e tem nos servido bem até agora – ajudando a fornecer chamadas de alta qualidade para bilhões de usuários em todo o mundo.

Nossa motivação para construir um novo codec

Dado o enorme escopo do uso do RTC nos produtos Meta, podemos ver o desempenho do codec em diversos cenários de rede e como isso afeta a experiência do usuário final. Em particular, observamos que uma parcela significativa das chamadas apresentava conexões de rede ruins durante a chamada ou parte dela. Normalmente, o Estimador de largura de banda (BWE) detecta a qualidade da rede e, à medida que a qualidade da rede se deteriora, precisamos diminuir a taxa de bits da reprodução do codec para evitar o congestionamento da rede e manter o fluxo de áudio – afetando o equilíbrio triplo mencionado acima. Para complicar ainda mais, fazer uma chamada de vídeo, apesar da baixa qualidade da rede, não deixa muito espaço para o som e faz com que a taxa de bits do áudio caia ainda mais. O ponto operacional mais baixo do Opus é de 6kbps, pois ele opera no modo NarrowBand (0 – 4kHz) e não capta adequadamente todas as frequências de áudio que as vozes humanas produzem – e, portanto, não soa claro ou natural. Abaixo está um exemplo de como o áudio Opus de 6kbps soa e o arquivo de referência correspondente para comparação.

READ  Mais uma vez há rumores de que o iPad Air 6 contará com uma câmera frontal paisagem

Marcador bruto:

Opus @ banda estreita de 6 kbps (NB):

Nos últimos anos, vimos o desenvolvimento de alguns novos codecs de áudio baseados em aprendizado de máquina (ML) que fornecem áudio de alta qualidade com taxas de bits muito baixas. Em outubro de 2022, o Meta foi lançado Codificação, que alcança uma qualidade de som incrivelmente nítida com taxas de bits muito baixas. Embora os codecs baseados em IA/ML sejam capazes de alcançar excelente qualidade com taxas de bits baixas, isso geralmente tem um custo computacional proibitivo. Portanto, apenas telefones celulares de última geração (caros) são capazes de reproduzir esses codecs de maneira confiável, enquanto os usuários que usam dispositivos de baixo custo continuam a enfrentar problemas de qualidade de áudio em condições de baixa taxa de bits. Portanto, o efeito líquido desses codecs mais novos e computacionalmente caros é, na verdade, limitado a uma pequena parcela de usuários.

Um grande número de nossos usuários ainda usa dispositivos de baixo custo. Por exemplo, mais de 20% das nossas chamadas são feitas em dispositivos ARMv7, e dezenas de milhões de chamadas diárias no WhatsApp são feitas em dispositivos com mais de 10 anos. Dadas as opções de codec prontamente disponíveis e nosso compromisso em garantir que todos os usuários – independentemente do dispositivo que usam – tenham uma experiência de chamada de alta qualidade, fica claro que precisamos de um codec com requisitos de computação muito baixos que ainda forneça áudio de alta qualidade nesses dispositivos com taxa de bits mais baixa.

Codec Mlow

Iniciamos o desenvolvimento de um novo codec no final de 2021. Após quase dois anos de desenvolvimento e testes ativos, temos o orgulho de anunciar Meta um pouco Codec de áudio com taxa de bits, também conhecido como MLow, que atinge qualidade duas vezes melhor que o Opus (POLQA MOS 1,89 vs. 3,9 a 6 kbps WB). Mais importante ainda, somos capazes de alcançar esta excelente qualidade enquanto mantemos a complexidade computacional do MLow 10 por cento menos do que o do opus.

READ  Apenas 4 por cento dos usuários do iPhone nos EUA concordaram em rastrear o aplicativo após o iOS 14.5

A Figura 2 abaixo mostra o gráfico MOS (Mean Opinion Score) em uma escala de 1 a 5 e compara as pontuações POLQA entre Opus e MLow em diferentes taxas de bits. Como mostra o gráfico, o MLow tem uma vantagem significativa sobre o Opus nas taxas de bits mais baixas, pois satura a qualidade mais rapidamente do que o Opus.

Figura 2: Resultado POLQA comparando Opus (WB) versus MLow em diferentes taxas de bits em um grande conjunto de dados de arquivos.

Já lançamos totalmente o MLow para todas as chamadas do Instagram e do Messenger e estamos implementando-o ativamente no WhatsApp, e já observamos uma melhoria incrível no envolvimento do usuário impulsionada pela melhor qualidade de áudio.

Aqui estão alguns exemplos de áudio para ouvir. Sugerimos que você use seu par de fones de ouvido favorito para apreciar as incríveis diferenças na qualidade do som.

Nota Opus 6 kbps WB baixo de 6 kbps referência

A capacidade de codificar áudio de alta qualidade com taxas de bits mais baixas também abre estratégias mais eficazes de correção direta de erros (FEC). Comparado ao Opus, com o MLow podemos pagar o FEC com taxas de bits muito mais baixas, o que ajuda muito a melhorar a qualidade do áudio em cenários de perda de pacotes.

Abaixo estão duas amostras de áudio de 14 kbps com uma perda significativa de pacotes no lado do receptor de 30 por cento.

Autoria:

Observe que nessas taxas de bits, o Opus não consegue codificar qualquer correção corretiva interna (FEC). São necessários pelo menos 19 kbps para codificar qualquer FEC interno com 10% de perda de pacotes, o que é prejudicial à recuperação de áudio.

Interior baixo

MLow é baseado nos conceitos do codec clássico CELP (predição linear de excitação de código) com avanços na geração de excitação, quantização de parâmetros e esquemas de codificação. A Figura 3 é um visual de alto nível de como o codec funciona internamente. À esquerda temos um sinal de entrada (áudio PCM bruto) que é alimentado no codificador, que então divide o sinal em bandas de baixa e alta frequência. Em seguida, cada banda é criptografada individualmente aproveitando as informações compartilhadas para obter uma melhor compactação. Todas as saídas são passadas por um codificador de banda para compactação adicional e criação de uma carga criptografada. O decodificador faz exatamente o oposto quando a carga é dada para criar sinais de áudio para a saída.

READ  O Galaxy Unpacked está chegando, e a Samsung tem um trailer inspirado no Inception para deixar você animado
Figura 3: Arquitetura do codificador e decodificador MLow de alto nível.

Com essas melhorias de banda dividida, somos capazes de codificar banda alta usando poucos bits, permitindo que o MLow forneça SuperWideBand (amostragem de 32 kHz) usando uma taxa de bits muito mais baixa.

E então?

MLow melhorou drasticamente a qualidade de áudio em dispositivos de baixo custo, garantindo criptografia de chamadas de ponta a ponta. Estamos muito entusiasmados com o que conquistamos nos últimos dois anos — desde o desenvolvimento de um novo codec até o envio bem-sucedido a bilhões de usuários em todo o mundo. Continuamos trabalhando para melhorar a recuperação de áudio em redes com grande perda de pacotes, fornecendo áudio mais redundante, o que o MLow nos permite fazer com eficiência. Estamos entusiasmados em compartilhar mais enquanto continuamos trabalhando para facilitar a todos os nossos usuários a realização de chamadas de voz de alta qualidade.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *