- Chez Meta, nous assurons la communication en temps réel (RTC) pour des milliards de personnes via nos applications, notamment WhatsApp, Instagram et Messenger.
- Nous nous efforçons de rendre RTC accessible en offrant une expérience de haute qualité à tous, même à ceux qui ne disposent pas des connexions les plus rapides ou des téléphones les plus récents.
- Alors que de plus en plus de personnes comptent sur nos produits pour passer des appels au fil des années, nous avons travaillé pour trouver de nouvelles façons de garantir que tous les appels aient une qualité audio solide.
- Nous avons créé le codec Meta Low Bitrate (MLow) : un nouvel outil qui améliore la qualité audio, en particulier pour ceux qui utilisent des connexions à vitesse lente.
Les produits RTC utilisent plusieurs éléments clés pour offrir une expérience complète, et les codecs audio/vidéo constituent un élément important. Ces codecs aident à compresser les données audio/vidéo capturées afin qu’elles puissent être envoyées efficacement sur Internet au destinataire, tout en conservant une expérience en temps réel. Par exemple, l’audio brut capturé pour un appel typique est de 768 kbps (mono, échantillonnage à 48 kHz, profondeur de bits 16), que les codecs modernes peuvent compresser à 25-30 kbps. Cette compression se fait souvent au détriment d’une certaine qualité (perte d’informations), mais de bons codecs peuvent équilibrer le trio qualité, débit et complexité en exploitant une connaissance approfondie de la nature du signal audio ainsi qu’en utilisant la psychoacoustique. .
Créer un bon codec est très difficile, c’est pourquoi nous ne voyons pas très souvent de nouveaux codecs sortir. Un autre bon codec open source largement connu est Opus, sorti en 2012, qui est devenu le codec de choix pour un large éventail d’applications sur Internet. Meta a utilisé Opus pour tous ses besoins RTC, et il nous a bien servi jusqu’à présent, en aidant à fournir des appels de haute qualité à des milliards d’utilisateurs dans le monde.
Notre motivation pour construire un nouveau codec
Compte tenu de l’ampleur de l’utilisation du RTC dans les produits Meta, nous pouvons voir comment le codec fonctionne dans une gamme de scénarios de réseau et quel est son impact sur l’expérience de l’utilisateur final. En particulier, nous avons observé qu’une partie importante des appels avait de mauvaises connexions réseau pendant ou une partie de l’appel. En règle générale, l’estimateur de bande passante (BWE) détecte la qualité du réseau et, à mesure que la qualité du réseau se détériore, nous devons réduire le débit binaire de lecture du codec pour éviter la congestion du réseau et maintenir le flux audio, ce qui affecte le triple équilibre mentionné ci-dessus. Pour compliquer encore les choses, passer un appel vidéo malgré une mauvaise qualité de réseau ne laisse pas beaucoup de place au son et entraîne une baisse encore plus importante du débit audio. Le point de fonctionnement le plus bas de l’Opus est de 6 kbps, car il fonctionne en mode NarrowBand (0 – 4 kHz) et ne capte pas correctement toutes les fréquences audio produites par les voix humaines – et ne sonne donc pas clairement ou naturellement. Vous trouverez ci-dessous un exemple du son de l’audio Opus à 6 kbps et le fichier de référence correspondant à des fins de comparaison.
Marque-page brut :
Opus @ 6 kbps NarrowBand (NB) :
Au cours des deux dernières années, nous avons assisté au développement de nouveaux codecs audio basés sur l’apprentissage automatique (ML) qui fournissent un son de haute qualité à des débits binaires très faibles. En octobre 2022, le Meta est sorti Codage, qui permet d’obtenir une qualité sonore incroyablement claire à des débits binaires très faibles. Bien que les codecs basés sur l’IA/ML soient capables d’obtenir une grande qualité à de faibles débits, cela se fait souvent au prix d’un coût de calcul prohibitif. Par conséquent, seuls les téléphones mobiles haut de gamme (coûteux) sont capables de lire ces codecs de manière fiable, tandis que les utilisateurs fonctionnant sur des appareils bas de gamme continuent de rencontrer des problèmes de qualité audio dans des conditions de faible débit. Ainsi, l’effet net de ces codecs plus récents et coûteux en termes de calcul est en réalité limité à une petite partie des utilisateurs.
Un grand nombre de nos utilisateurs utilisent encore des appareils bas de gamme. Par exemple, plus de 20 % de nos appels sont passés sur des appareils ARMv7, et des dizaines de millions d’appels quotidiens sur WhatsApp sont passés sur des appareils de plus de 10 ans. Compte tenu des options de codecs facilement disponibles et de notre engagement à garantir que tous les utilisateurs, quel que soit l’appareil qu’ils utilisent, bénéficient d’une expérience d’appel de haute qualité, il est clair que nous avons besoin d’un codec avec des exigences informatiques très faibles tout en offrant une qualité audio de haute qualité. sur ces appareils à débit binaire le plus bas.
Codec faible
Nous avons commencé le développement d’un nouveau codec fin 2021. Après près de deux ans de développement et de tests actifs, nous sommes fiers d’annoncer Meta un peu Codec audio à débit binaire, également connu sous le nom de MLow, qui atteint une qualité deux fois supérieure à celle d’Opus (POLQA MOS 1,89 contre 3,9 à 6 kbps WB). Plus important encore, nous sommes capables d’atteindre cette grande qualité tout en conservant la complexité informatique de MLow. 10 pour cent de moins que celui de l’opus.
La figure 2 ci-dessous montre le tracé MOS (Mean Opinion Score) sur une échelle de 1 à 5 et compare les scores POLQA entre Opus et MLow à différents débits binaires. Comme le montre le graphique, MLow a un avantage significatif sur Opus aux débits les plus bas, car il sature la qualité plus rapidement qu’Opus.
Nous avons déjà entièrement lancé MLow pour tous les appels Instagram et Messenger et le déployons activement sur WhatsApp, et avons déjà constaté une incroyable amélioration de l’engagement des utilisateurs grâce à une meilleure qualité audio.
Voici quelques extraits audio à écouter. Nous vous suggérons d’utiliser votre casque préféré pour apprécier les étonnantes différences de qualité sonore.
Opus 6 kbps note | Mlow 6 kbit/s WB | référence |
La possibilité d’encoder un son de haute qualité à des débits binaires inférieurs ouvre également la voie à des stratégies de correction d’erreur directe (FEC) plus efficaces. Par rapport à Opus, avec MLow, nous pouvons nous permettre la FEC à des débits binaires beaucoup plus faibles, ce qui contribue grandement à améliorer la qualité audio dans les scénarios de perte de paquets.
Vous trouverez ci-dessous deux échantillons audio de 14 kbit/s avec une perte de paquets significative de 30 % côté récepteur.
Paternité:
Mello :
Notez qu’à ces débits binaires, Opus est incapable de coder une correction corrective interne (FEC). Il a besoin d’au moins 19 kbps pour coder toute FEC interne avec une perte de paquets de 10 %, ce qui est préjudiciable à la récupération audio.
Intérieur doux
MLow est basé sur les concepts du codec classique CELP (prédiction linéaire d’excitation de code) avec des avancées en matière de génération d’excitation, de quantification des paramètres et de schémas de codage. La figure 3 est un visuel de haut niveau du fonctionnement interne du codec. Sur la gauche, nous avons un signal d’entrée (audio PCM brut) qui est introduit dans l’encodeur, qui divise ensuite le signal en bandes de basses et hautes fréquences. Ensuite, chaque bande est cryptée individuellement en tirant parti des informations partagées pour obtenir une meilleure compression. Toutes les sorties passent par un encodeur de bande pour une compression ultérieure et la création d’une charge utile cryptée. Le décodeur fait exactement le contraire lorsque la charge est donnée pour créer des signaux audio pour la sortie.
Grâce à ces améliorations en bande divisée, nous sommes en mesure de coder en bande haute en utilisant très peu de bits, ce qui permet à MLow de fournir une SuperWideBand (échantillonnage de 32 kHz) en utilisant un débit binaire beaucoup plus faible.
Quoi d’autre?
MLow a considérablement amélioré la qualité audio sur les appareils bas de gamme tout en garantissant le cryptage des appels de bout en bout. Nous sommes vraiment enthousiasmés par ce que nous avons accompli au cours des deux dernières années : du développement d’un nouveau codec à sa diffusion réussie à des milliards d’utilisateurs à travers le monde. Nous continuons à travailler sur l’amélioration de la récupération audio dans les réseaux à forte perte de paquets en pompant davantage d’audio redondant, ce que MLow nous permet de faire efficacement. Nous sommes ravis de partager davantage alors que nous continuons à travailler pour permettre à tous nos utilisateurs de passer plus facilement des appels vocaux de haute qualité.