• Di Meta, kami mendukung komunikasi real-time (RTC) untuk miliaran orang melalui aplikasi kami, termasuk WhatsApp, Instagram, dan Messenger.
  • Kami berupaya membuat RTC dapat diakses dengan memberikan pengalaman berkualitas tinggi bagi semua orang – bahkan mereka yang mungkin tidak memiliki koneksi tercepat atau ponsel terbaru.
  • Karena semakin banyak orang yang mengandalkan produk kami untuk melakukan panggilan selama bertahun-tahun, kami telah berupaya mencari cara baru untuk memastikan semua panggilan memiliki kualitas audio yang solid.
  • Kami telah membuat codec Meta Low Bitrate (MLow): alat baru yang meningkatkan kualitas audio terutama bagi mereka yang memiliki koneksi berkecepatan lambat.
Gambar 1: Meningkatnya kompleksitas atau bitrate biasanya meningkatkan kualitas, namun codec yang baik mencapai kualitas yang lebih tinggi sekaligus menyeimbangkan dua lainnya.

Produk RTC menggunakan banyak elemen penyusun untuk menghadirkan pengalaman penuh, dan salah satu komponen pentingnya adalah codec audio/video. Codec ini membantu mengompresi data audio/video yang diambil sehingga dapat dikirim melalui internet secara efisien ke penerima, menjaga pengalaman tetap real-time. Misalnya, ukuran audio mentah yang ditangkap untuk panggilan biasa adalah 768 kbps (mono, sampling pada 48kHz, kedalaman bit 16), yang dapat dikompres oleh codec modern hingga 25-30 kbps. Seringkali kompresi ini mengorbankan beberapa kualitas (kehilangan informasi), namun codec yang baik dapat mencapai keseimbangan antara trio kualitas, bitrate, dan kompleksitas dengan memanfaatkan pengetahuan mendalam tentang sifat sinyal audio serta dengan menggunakan psikoakustik. .

Membangun codec yang baik cukup menantang, dan itulah sebabnya kita jarang melihat codec baru muncul. Codec sumber terbuka terakhir yang dikenal luas dan bagus adalah Opus, dirilis pada tahun 2012, yang telah menjadi codec pilihan untuk berbagai macam aplikasi di internet. Meta telah menggunakan Opus untuk semua kebutuhan RTC-nya, dan sejauh ini Meta telah melayani kami dengan baik – membantu memberikan panggilan berkualitas kepada miliaran pengguna di seluruh dunia.

Motivasi kami untuk membuat codec baru

Mengingat besarnya skala penggunaan RTC dalam produk Meta, kita dapat melihat bagaimana kinerja codec dalam berbagai skenario jaringan dan bagaimana dampaknya terhadap pengalaman pengguna akhir. Secara khusus, kami telah mengamati bahwa sebagian besar panggilan memiliki koneksi jaringan yang buruk di seluruh atau sebagian panggilan. Biasanya modul estimasi bandwidth (BWE) mendeteksi kualitas jaringan, dan ketika kualitas jaringan menurun, kita perlu menurunkan bitrate pengoperasian codec untuk menghindari kemacetan jaringan dan menjaga audio tetap mengalir – yang berdampak pada keseimbangan trio yang disebutkan di atas. Yang memperumit masalah adalah melakukan panggilan video meskipun kualitas jaringan buruk sehingga hanya menyisakan sedikit ruang untuk audio dan menurunkan bitrate audio. Titik pengoperasian terendah untuk Opus adalah 6 kbps, yang dijalankan dalam mode NarrowBand (0 – 4kHz) dan tidak cukup menangkap semua frekuensi suara yang dihasilkan oleh suara manusia—sehingga tidak terdengar jernih atau alami. Berikut adalah contoh suara Opus pada 6kbps dan file referensi terkait untuk perbandingan.

Sinyal referensi mentah:

Opus @ 6 kbps NarrowBand (NB):

Selama dua tahun terakhir, kami telah melihat pengembangan beberapa codec audio berbasis pembelajaran mesin (ML) baru yang menyediakan audio berkualitas baik dengan bitrate sangat rendah. Pada bulan Oktober 2022, Meta dirilis pengkodean, yang menghasilkan kualitas audio luar biasa jernih pada bitrate sangat rendah. Meskipun codec berbasis AI/ML ini mampu mencapai kualitas bagus dengan bitrate rendah, hal ini sering kali mengorbankan biaya komputasi yang besar. Akibatnya, hanya ponsel kelas atas (mahal) yang mampu menjalankan codec ini dengan andal, sementara pengguna yang menggunakan perangkat kelas bawah terus mengalami masalah kualitas audio dalam kondisi bitrate rendah. Jadi dampak bersih dari codec baru yang mahal secara komputasi ini sebenarnya terbatas pada sebagian kecil pengguna.

Sejumlah besar pengguna kami masih menggunakan perangkat kelas bawah. Misalnya, lebih dari 20 persen panggilan kami dilakukan di perangkat ARMv7, dan 10 juta panggilan harian di WhatsApp dilakukan di perangkat berusia lebih dari 10 tahun. Mengingat pilihan codec yang tersedia dan komitmen kami untuk memastikan bahwa semua pengguna – terlepas dari perangkat apa yang mereka gunakan – mendapatkan pengalaman panggilan berkualitas, kami jelas memerlukan codec dengan persyaratan komputasi sangat rendah yang tetap memberikan audio berkualitas tinggi pada saat ini. bitrate terendah.

Kodek MLow

Kami memulai pengembangan codec baru pada akhir tahun 2021. Setelah hampir dua tahun pengembangan dan pengujian aktif, kami dengan bangga mengumumkan Meta Rendah Codec audio bitrate, alias MLow, yang mencapai kualitas dua kali lebih baik daripada Opus (POLQA MOS 1.89 vs 3.9 @ 6kbps WB). Yang lebih penting lagi, kami mampu mencapai kualitas luar biasa ini sekaligus menjaga kompleksitas komputasi MLow 10 persen lebih rendah dibandingkan Opus.

Gambar 2 di bawah menunjukkan plot MOS (Mean Opinion Score) pada skala 1-5 dan membandingkan skor POLQA antara Opus dan MLow pada berbagai bitrate. Seperti yang terlihat pada grafik, MLow memiliki keunggulan besar dibandingkan Opus pada bitrate terendah, karena ia menjenuhkan kualitas lebih cepat daripada Opus.

Gambar 2: Skor POLQA yang membandingkan Opus (WB) versus MLow pada berbagai bitrate di kumpulan file besar.

Kami telah sepenuhnya meluncurkan MLow ke semua panggilan Instagram dan Messenger dan secara aktif meluncurkannya di WhatsApp—dan kami telah melihat peningkatan luar biasa dalam keterlibatan pengguna yang didorong oleh kualitas audio yang lebih baik.

Berikut beberapa contoh audio untuk Anda dengarkan. Kami menyarankan Anda menggunakan headphone favorit Anda untuk menghargai perbedaan kualitas audio yang mencolok.

Opus 6 kbps NB WB rendah 6 kbps Referensi

Kemampuan mengkodekan audio berkualitas tinggi pada bitrate lebih rendah juga membuka strategi Forward Error Correction (FEC) yang lebih efektif. Dibandingkan dengan Opus, dengan MLoow kami mampu mengemas FEC pada bitrate yang jauh lebih rendah, yang secara signifikan membantu meningkatkan kualitas audio dalam skenario kehilangan paket.

Berikut adalah dua sampel audio pada 14 kbps dengan kehilangan paket di sisi penerima sebesar 30 persen.

Karya:

Perhatikan bahwa pada bitrate ini, Opus tidak dapat menyandikan FEC inband apa pun. Dibutuhkan minimal 19 kbps untuk mengkodekan FEC inband pada kehilangan paket 10 persen, yang mengganggu pemulihan audio.

Internal rendah

MLow dibangun berdasarkan konsep codec CELP (Code Excited Linear Prediction) klasik dengan kemajuan seputar pembangkitan eksitasi, kuantisasi parameter, dan skema pengkodean. Gambar 3 adalah visual tingkat tinggi tentang cara kerja codec secara internal. Di sebelah kiri kita memiliki sinyal input (audio PCM mentah) yang dimasukkan ke dalam encoder, yang kemudian membagi sinyal menjadi dua pita frekuensi rendah dan tinggi. Kemudian, setiap pita dikodekan secara terpisah sambil memanfaatkan informasi bersama untuk mencapai kompresi yang lebih baik. Semua keluaran dilewatkan melalui pembuat enkode rentang untuk mengompres lebih lanjut dan menghasilkan muatan yang dikodekan. Dekoder melakukan hal sebaliknya ketika diberi muatan untuk menghasilkan sinyal audio keluaran.

Gambar 3: Arsitektur encoder dan decoder MLow tingkat tinggi.

Dengan optimasi split-band ini, kami dapat mengkodekan pita tinggi menggunakan bit yang sangat sedikit, yang memungkinkan MLow menghadirkan SuperWideBand (sampling 32kHz) menggunakan bitrate yang jauh lebih rendah.

Apa berikutnya?

MLoow telah meningkatkan kualitas audio secara signifikan pada perangkat kelas bawah sambil tetap memastikan panggilan terenkripsi ujung ke ujung. Kami sangat gembira dengan apa yang telah kami capai dalam dua tahun terakhir—mulai dari pengembangan codec baru hingga keberhasilan pengirimannya ke miliaran pengguna di seluruh dunia. Kami terus berupaya meningkatkan pemulihan audio di jaringan kehilangan paket berat dengan mengeluarkan lebih banyak audio redundan, yang memungkinkan kami melakukannya secara efisien oleh MLo. Kami sangat bersemangat untuk berbagi lebih banyak lagi sambil terus berupaya untuk mempermudah semua pengguna kami dalam melakukan panggilan audio berkualitas.



Sumber