Google har præsenteret lydbåndkoderen Lyra V2, der bruger maskinlæringsmetoder for at opnå den bedst mulige talekvalitet ved brug af meget langsomme kommunikationskanaler. Den nye version adskiller sig ved at anvende en ny arkitektur til neurale netværk, støtte for flere platforme, udvidede muligheder for bitrate-styring, forbedret ydeevne og opnåelse af højere lydkvalitet. Den referenceimplementering af koden er skrevet i C++ og distribueres under Apache 2.0 licensen.
I forhold til kvaliteten af overførte stemmedata ved lave hastigheder overgår Lyra betydeligt traditionelle kodekser, der anvender metoder til digital signalbehandling. For at opnå høj kvalitet ved overførsel af stemme under betingelser med begrænset dataoverførsel anvendes, udover almindelige metoder til komprimering af lyd og signalbehandling, en stemmemodel baseret på et maskinlæringssystem, der gør det muligt at genskabe manglende information baseret på typiske taleegenskaber.
Kodeken inkluderer en encoder og en decoder. Encoderens arbejdsalgoritme går ud på at udtrække parametre for stemmedata hvert 20. millisekund, komprimere dem og sende dem til modtageren over netværket med en bitrate fra 3,2 kbps til 9,2 kbps. På modtagerens side bruger decoder en generativ model til at genskabe det oprindelige talesignal baseret på de sendte lydparametre, som inkluderer logaritmiske mel-spektrogrammer, der tager højde for energikvaliteterne i talen inden for forskellige frekvensområder og er forberedt med hensyn til modellen for menneskelig høreopfattelse.
I Lyra V2 er der anvendt en ny generativ model baseret på den konvolutive neurale netværk SoundStream, som har lave krav til beregningsressourcer, hvilket muliggør realtidsdekodering selv på lav-effekt systemer. Den model, der anvendes til lydgenerering, er trænet med brug af flere tusinde timer af optagelser af stemmer på mere end 90 sprog. TensorFlow Lite anvendes til at køre modellen. Ydeevnen i den foreslåede implementering er tilstrækkelig til at kode og dekode tale på smartphones i lavprisklassen.
Ud over brugen af en anden generativ model er den nye version også bemærkelsesværdig ved at inkludere en arkitektur med kvantiseringselementer med RVQ (Residual Vector Quantizer), som udføres på senderens side før overførsel af data og på modtagerens side efter modtagelse af data. Kvantisatoren konverterer de parametre, som codec'en udgiver, til sæt af pakker, der koder informationen i forhold til den valgte bitrate. For at sikre forskellige kvalitetsniveauer er der forudset kvantisatorer til tre bitrater (3.2 kps, 6 kbps og 9.2 kbps), jo højere bitrate, jo bedre kvalitet, men højere krav til båndbredde.

Den nye arkitektur har reduceret signaloverførselslatensen fra 100 til 20 millisekunder. Til sammenligning viste codec'en Opus for WebRTC testede latenser på 26.5 ms, 46.5 ms og 66.5 ms. Derudover er ydeevnen for encoder og decoder steget betydeligt — i forhold til den tidligere version er der registreret en acceleration på op til 5 gange. For eksempel udfører den nye codec på smartphone Pixel 6 Pro kodning og afkodning af et 20-millisekund prøve på 0.57 ms, hvilket er 35 gange hurtigere end nødvendigt for realtids transmission.
Ud over ydeevnen er det lykkedes at forbedre lydgendannelsens kvalitet — på MUSHRA-skalaen svarer talekvaliteten ved bitratene 3.2 kbps, 6 kbps og 9.2 kbps ved brug af codec'en Lyra V2 til bitratene 10 kbps, 13 kbps og 14 kbps ved brug af codec'en Opus.
Kilde: opennet.ru
