Xiph. Org Foundation har lanserat Opus 1.2 audio codec, som ger betydande förbättringar för realtidsljud. Lär dig allt om hur det förändrades!
Xiph. Org Foundation tillkännagav just sin senaste förbättring av Opus audio codec med lanseringen av deras libopus 1.2 kodare. Med denna senaste förbättring, Xiph. Org har lyckats göra Opus användbar för fullbandsstereoljud med bara 32 kb/s, vilket kommer att paras bra med den kommande royaltyfria AV1 videoformat i WebM-behållaren för att få högre kvalitet på ljud och video på långsammare anslutningar.
För er som inte är bekanta med formatet är Opus en IETF-standard royaltyfri ljudcodec som kom till genom att slå samman Xiph. Org Foundations CELT-codec och Skypes SILK-codec, i ett försök att skapa ett royaltyfritt format för allt ljud med förlust. Den designades för att skala bra med ändrade bithastigheter, för att kräva extremt låg genomströmning och för att kunna kodas och avkodas med mycket liten processorkraft används, vilket alla är avgörande för användning i videokonferenser, mobilströmning och annat realtidsljud applikationer. Under de fem år som gått sedan Opus standardiserades, har det redan funnit en utbredd användning över hela webben, med antagande från streamingtjänster, IP-telefoner, mediaspelare och andra.
Opus 1.2 för med sig en del betydande förbättringar till både musikkvalitet och talkvalitet. Som nämnts ovan har Opus nu nått den punkt där den är användbar för fullband stereoljud på bara 32 kb/s, något som ansågs vara ouppnåeligt för bara några år sedan. Förbättringarna med libopus 1.2 möjliggör användning av VBR-kodning vid 32 kb/s, vilket tidigare undveks på grund av felaktigt intryck av att det skulle skada ljudkvaliteten i områden med extremt låg bithastighet, vilket Opus kan undvika.
[spellista ids="179434,179437,179435,179436,179438,179514"]
Opus 1.2 ger också talkvalitet till den punkt där den är användbar för fullbandstal med bara 14 kb/s, ned från 21 kb/s i Opus 1.1 och 29 kb/s i Opus 1.0. Detta drivs delvis tack vare förbättringar av Opus hybridläge, som använder SILK för frekvenser under 8 kHz, och CELT för frekvenser från 8 kHz till 20 kHz. Inställningen som görs i libopus 1.2 gör att den kan använda både CELT och SILK i kombination med bithastigheter så låga som 16 kb/s, vilket är hälften av den tidigare gränsen på 32 kb/s.
[spellista ids="179445,179447,179446,179448,179444,179443,179442,179518"]
En sak som är intressant att notera är att det inte fanns någon större förändring som denna förbättring kan tillskrivas. Medan Opus 1.1:s förbättringar huvudsakligen kom från ett litet urval av ändringar, är Opus 1.2 resultatet av iterativ utveckling och en uppsjö av mindre justeringar som ledde till en massiv förbättring.
Trots dessa betydande kvalitetsförbättringar har arbetet med kodaren faktiskt resulterat i att Opus har krävt ännu mindre processorkraft än tidigare. Opus var redan marknadsledare när det gäller hur lite processorkraft det använde, men 1.2-uppdateringen till libopus har fört kodningarna till den punkt där du kan avkoda 128 kb/s fullbandsstereomusik i realtid med bara ~11 MHz processorkraft på en Intel Haswell CPU i flyttalsläge (eller bara ~33 MHz på en ARM Cortex-A53 i fixpunktsläge) och 12 kb/s bredband monotal på bara ~2 MHz på en Intel Haswell CPU i flyttalsläge (eller bara ~6 MHz på en ARM Cortex-A53 i fastpunktsläge). På liknande sätt har kodningstiden också minskat för de flesta situationer, med några av dem mer extrema som halveras (som kodning av komplexitet 5 för 128 kb/s fullbandsstereomusik på en Intel Haswell CPU i flyttalsläge, som sjönk från ~40 MHz med libopus 1.0 till bara ~21 MHz med libopus 1.2).
Den fortsatta utvecklingen av Opus med libopus 1.2 är spännande att se, och förhoppningsvis kommer vi att se Opus fortsätta att bli adopterad allt eftersom. Royaltyfria codecs är avgörande för utvecklingen av ett öppet och interoperabelt internet. De är de enda codecs som kan implementeras på alla enheter, eftersom patentbelagda codecs ofta stöter på olika showstoppande problem, allt från från innehållsdistributörer och streamingtjänster som inte vill betala de orimliga licensavgifter som vissa kräver, till programvara med öppen källkod som ofta är oförmögna att garantera korrekt licensiering på uppdrag av sina användare, eller till och med programvara som helt inte kan integrera den utan att bryta mot deras egen licensiering villkor. Dessa problem med patentbelagda codecs orsakar fragmentering istället för samarbete, eftersom olika grupper skapar och implementera sina egna codecs för att undvika licensavgifter och olika andra problem som patent belastade codecs föra. Det resulterar i att grupper skapar sina egna codecs som kräver specifika webbläsare, operativsystem och/eller hårdvara att använda, och som helt kan låsa stora delar av användare från att kunna använda vissa innehåll. Det enda sättet för en verkligt universell codec att växa fram är om den är royaltyfri och en utbredd användning av de få codecs som används är avgörande för ett hälsosamt internet där alla användare har möjlighet att komma åt alla innehåll. Öppna standarder är det enda sättet att garantera en konsekvent användarupplevelse över hela marknaden, och det är fantastiskt när det royaltyfria alternativet också är det bästa.