Satin - nowa jakość dźwięku w Teams i Skype dzięki AI

Satin - nowa jakość dźwięku w Teams i Skype dzięki AI

Autor: Krzysztof Sulikowski

Opublikowano: 2/16/2021, 1:29 PM

Liczba odsłon: 2997

Ponad dekadę temu Skype wynalazł kodek audio Silk, służący do transmisji mowy przez Internet. Dominującym kodekiem używanym w VoIP był wówczas G.722 wymagający 64 kbps do transmisji szerokiego pasma (16 kHz) dźwięku. Silk oferował tę jakość przy 14 kbps. Microsoft opracował tymczasem kolejną generację kodeka, jeszcze bardziej wydajną i napędzaną przez sztuczną inteligencję. Posłuchajcie różnicy!

Silk dzięki możliwościom VBR potrafił płynnie przełączać się z szerokopasmowego dźwięku (8 kHz) przy ultraniskiej przepływności (6 kbps), aż do niemal idealnie wysokiej jakości przy wyższych bitrate'ach. Miało to znaczenie krytyczne w epoce wolniejszego Internetu i sprawdzało się przez lata w Skype i Microsoft Teams. Silk stanowił też bazę trybu głosowego kodeka OPUS, który używany był powszechnie w rozwiązaniach VoIP ostatniej dekady.

Podczas gdy wkraczamy w nową dekadę, użytkownicy mogą wybierać z opcji high-endowych alternatyw połączeń, takich jak szybki Internet szerokopasmowy, światłowody i 5G. Mimo to duża część naszej bazy użytkowników nadal jest ograniczona niskimi szybkościami Internetu kablowego lub sieci komórkowych 3/4G. Doświadczają oni sytuacji, gdy sieć jest ograniczona i następuje ponad 50% utrata pakietów i sporadyczna utrata zasięgu podczas przemieszczania się między stacjami bazowymi lub podczas zmiany typów sieci. Dostępność sieci jest nieprzewidywalna, nawet gdy dzielimy Internet z członkami rodziny w domu, aby streamować wideo, grać, pracować zdalnie i uczęszczać na lekcje online. Jednocześnie oczekiwania użytkowników i podstawowe potrzeby, zwłaszcza w czasie pandemii, czasem przekraczają osiągnięcia w łączności sieciowej. Mamy potrzebę komunikacji i współpracy w drodze — na każdym urządzeniu, w każdej sieci i w każdym środowisku. Wydajne wykorzystanie dostępnego bitrate'u jest więc tak samo ważne dla każdego bitu tak samo dziś, jak w czasach połączeń dial-up. Oszczędności przepływności mogą być użyte do zapewnienia dodatkowej elastyczności i/lub poprawienia doświadczeń innych obciążeń, takich jak udostępnianie wideo i treści. Rozważaliśmy te aspekty, aby holistycznie odpowiedzieć na wyzwania i dostarczyć wirtualne doświadczenie głosowe, które jest tak dobre, jak rozmowa na żywo, nawet w przy ultraniskiej przepustowości i w wysoce ograniczonych warunkach sieciowych.

Dziś dzielimy się szczegółami naszego nowego kodeka audio napędzanego przez AI — Satin, który może dostarczyć mowę o superszerokim pasmie, zazczynając od bitrate'u 6 kbps, oraz muzykę stereo w pełnym pasmie, zaczynając od bitrate'u 17 kbps, z progresywnie podwyższaną jakością przy wyższych bitrate'ach. Satin został zaprojektowany, by zapewniać świetną jakość dźwięku nawet przy wysokiej utracie pakietów.

— Jigar Dani, Principal PM Manager, i Sriram Srinivasan, Principal Software Engineering Manager w Microsoft

Microsoft opublikował kilka próbek, które dość wyraźnie pokazują różnice między kodekami. Pierwsze zestawienie pokazuje scenariusz z utratą pakietów przy identycznej szybkości transmisji danych.

Silk przy 6 kbps, utrata pakietów:

Satin przy 6 kbps, utrata pakietów, poprawiona elastyczność:

Udostępniono też porównanie szerokości pasma przenoszenia przy takiej samej szybkości transmisji danych.

Silk przy 6 kbps, narrowband:

Satin przy 6 kbps, super wideband:

Aby osiągnąć dźwięk szerokopasmowy przy 6 kbps, Satin używa głębokiego zrozumienia produkcji, modelowania i psychoakustyki mowy, aby wydobyć i zakodować rzadko rozsianą reprezentację sygnału. Aby dalej zmniejszyć wymaganą przepływność, Satin koduje i transmituje jedynie wybrane parametry pasm o niższej częstotliwości. Na poziomie dekodera Satin używa głębokich sieci neuronowych, aby oszacować parametry wysokich pasm z otrzymanych parametrów pasm niższych. Dzięki temu przesyłana jest minimalna ilość informacji. Takie podejście wiąże się jednak z pewnym wyzwaniem, jakim jest złożoność obliczeniowa. Ta została zredukowana zarówno przez optymalizacje algorytmowe, jak też techniki, takie jak wektoryzacja pętli ponad to, co kompilator może osiągnąć. Rezultatem jest blisko 40% redukcja złożoności obliczeniowej i możliwość uruchamiania rozwiązania na każdym urządzeniu użytkownika.

Satin - kodek dźwięku w Teams i Skype

Nowy kodek był testowany w podejściu A/B, nim został szerzej rozpowszechniony. Obecnie jest już używany we wszystkich połączeniach dwuosobowych Teams i Skype. Wkrótce zostanie udostępniony także dla spotkań. Satin obecnie działa w szerokopasmowym trybie głosu, w zakresie przepływności 6-36 kbps, a wkrótce będzie wspierał muzykę stereo w pełnym pasmie z maksymalną częstotliwością próbkowania 48 kHz.

Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży
Jak wykorzystać Copilot w codziennej pracy? Kurs w przedsprzedaży

Wydarzenia