Das Unternehmen Google hat den Audiocodec Lyra V2 vorgestellt, der Methoden des maschinellen Lernens nutzt, um die Sprachübertragung bei sehr langsamen Kommunikationskanälen von höchster Qualität zu erreichen. Die neue Version zeichnet sich durch den Umstieg auf eine neue Architektur des neuronalen Netzwerks, die Unterstützung zusätzlicher Plattformen, erweiterte Möglichkeiten zur Bitratesteuerung, eine verbesserte Leistung und eine höhere Audioqualität aus. Die Referenzimplementierung des Codes ist in C++ geschrieben und steht unter der Lizenz Apache 2.0.
In Bezug auf die Qualität der übermittelten Sprachdaten bei niedrigen Geschwindigkeiten übertrifft Lyra traditionell Kodierer, die Methoden der digitalen Signalverarbeitung verwenden, erheblich. Um eine hohe Sprachübertragungsqualität unter Bedingungen eines begrenzten Informationsvolumens zu erreichen, wird zusätzlich zu den herkömmlichen Methoden der Audiokompression und der Signalumwandlung in Lyra ein Sprachmodell auf Basis eines maschinellen Lernsystems verwendet, das es ermöglicht, fehlende Informationen basierend auf typischen Sprachmerkmalen zu rekonstruieren.
Der Codec umfasst einen Encoder und einen Decoder. Der Algorithmus des Encoders besteht darin, Sprachdatenparameter alle 20 Millisekunden zu extrahieren, sie zu komprimieren und über das Netzwerk mit einer Bitrate von 3,2 kbps bis 9,2 kbps an den Empfänger zu übertragen. Auf der Empfängerseite verwendet der Decoder ein generatives Modell, um das ursprüngliche Sprachsignal basierend auf den übermittelten Klangparametern, die logarithmische Mel-Spektrogramme umfassen, die die Energiecharakteristika der Sprache in verschiedenen Frequenzbereichen berücksichtigen und unter Berücksichtigung des Modells der menschlichen Hörwahrnehmung vorbereitet wurden, zu rekonstruieren.
In Lyra V2 wurde ein neues generatives Modell auf Basis des Faltungsneuronsystems SoundStream verwendet, das sich durch niedrige Anforderungen an die Rechenressourcen auszeichnet, was die Dekodierung in Echtzeit selbst auf leistungsschwachen Systemen ermöglicht. Das zur Klanggenerierung eingesetzte Modell wurde mit mehreren tausend Stunden Sprachaufnahmen in mehr als 90 Sprachen trainiert. Für die Modellumsetzung wird TensorFlow Lite verwendet. Die Leistung der vorgeschlagenen Implementierung reicht aus, um Sprache auf Smartphones im unteren Preissegment zu kodieren und zu dekodieren.
Neben der Verwendung eines anderen generativen Modells ist die neue Version auch bemerkenswert durch die Integration von RVQ (Residual Vector Quantizer)-Verbindungen in die Architektur des Codecs, die auf der Senderseite vor der Datenübertragung und auf der Empfängerseite nach dem Empfang der Daten durchgeführt werden. Der Quantizer wandelt die vom Codec ausgegebenen Parameter in Paketsets um und kodiert die Informationen in Bezug auf die gewählte Bitrate. Um unterschiedliche Qualitätsstufen zu gewährleisten, stehen Quantizer für drei Bitraten (3,2 kps, 6 kbps und 9,2 kbps) zur Verfügung. Je höher die Bitrate, desto besser die Qualität, jedoch mit höheren Anforderungen an die Bandbreite.

Die neue Architektur hat es ermöglicht, die Signalübertragungsverzögerung von 100 auf 20 Millisekunden zu reduzieren. Zum Vergleich zeigte der Codec Opus für WebRTC bei getesteten Bitraten Verzögerungen von 26,5 ms, 46,5 ms und 66,5 ms. Zudem hat sich die Leistung des Kodierers und Dekodierers erheblich verbessert – im Vergleich zur vorherigen Version ist eine Beschleunigung von bis zu 5-fach festzustellen. So führt der neue Codec beispielsweise auf einem Smartphone Pixel 6 Pro die Kodierung und Dekodierung einer 20-Millisekunden-Stichprobe in 0,57 ms durch, was 35-mal schneller ist als für die Echtzeitübertragung erforderlich.
Neben der Leistung konnte auch die Qualität der Klangwiedergabe verbessert werden – nach der MUSHRA-Skala entspricht die Sprachqualität bei Bitraten von 3,2 kbps, 6 kbps und 9,2 kbps mit dem Codec Lyra V2 den Bitraten von 10 kbps, 13 kbps und 14 kbps mit dem Codec Opus.
Quelle: opennet.ru
