Po półtora roku prac rozwojowych organizacja Xiph.Org, zajmująca się tworzeniem wolnych kodeków wideo i audio, zaprezentowała wydanie kodeka audio Opus 1.6, zapewniającego wysoką jakość kodowania i minimalne opóźnienie zarówno przy kompresji strumieniowego dźwięku o wysokim bitrate, jak i przy kompresji głosu w aplikacjach VoIP z ograniczoną przepustowością. Referencyjne implementacje kodera i dekodera są udostępniane na licencji BSD. Pełne specyfikacje formatu Opus są powszechnie dostępne, bezpłatne i zatwierdzone jako standard internetowy (RFC 6716).
Kodek został stworzony poprzez połączenie najlepszych technologii z kodeka CELT opracowanego przez organizację Xiph.org oraz kodeka SILK, otwartego przez firmę Skype. Oprócz Skype i Xiph.Org w tworzeniu Opus uczestniczyły także takie firmy, jak Mozilla, Octasic, Broadcom i Google. Prawa do patentów związanych z Opus są udostępniane przez firmy uczestniczące w jego rozwoju do nieograniczonego użytku bez opłat licencyjnych. Wszystkie powiązane z Opus prawa intelektualne i licencje na patenty są automatycznie delegowane dla aplikacji i produktów wykorzystujących Opus, bez potrzeby dodatkowej zgody. Nie ma ograniczeń dotyczących zastosowania ani tworzenia alternatywnych, zewnętrznych realizacji. Wszystkie przyznane prawa są jednak cofnęte w przypadku wszczęcia postępowania patentowego dotyczącego technologii Opus przeciwko jakiemukolwiek użytkownikowi Opus.
Opus wyróżnia się wysoką jakością kodowania i minimalnym opóźnieniem zarówno przy kompresji strumieniowego dźwięku o wysokim bitrate, jak i przy kompresji głosu w aplikacjach VoIP z ograniczoną przepustowością. Wcześniej Opus został uznany za najlepszy kodek przy użyciu bitrate'u 64Kbit (Opus wyprzedził takich konkurentów, jak Apple HE-AAC, Nero HE-AAC, Vorbis i AAC LC). Do produktów, które natywnie wspierają Opus, należy zaliczyć przeglądarkę Firefox, framework GStreamer oraz pakiet FFmpeg.
Główne funkcje Opus:
- Bitrate od 5 Kbit/s do 2 Mbit/s;
- Częstotliwość próbkowania od 8 do 96KHz;
- Czas trwania ramki od 2,5 do 120 milisekund;
- Wsparcie dla stałych (CBR) i zmiennych (VBR) bitrate;
- Wsparcie dla dźwięku w wąskim i szerokim pasmie;
- Wsparcie dla głosu i muzyki;
- Wsparcie dla stereo i mono;
- Wsparcie dla dynamicznego dostosowywania bitrate'u, przepustowości i rozmiaru klatki;
- Możliwość przywracania strumienia audio w przypadku utraty klatek (PLC);
- Wsparcie dla do 255 kanałów (wieloprzestrzennych klatek)
- Dostępność implementacji z wykorzystaniem arytmetyki zmiennoprzecinkowej i stałoprzecinkowej.
Kluczowe nowości Opus 1.6:
- Zrealizowano wersję Opus HD do kodowania dźwięku z częstotliwością próbkowania 96 kHz, bitrate'em do 2 Mbit/s i pasmem przenoszenia wykraczającym poza standardowy zakres dźwięku 20 kHz.
- Dodano moduł BWE (wideband-to-fullband) do przekształcania reprezentacji ze szerokopasmowego kodowania (zakres częstotliwości ograniczony do 8 kHz) w pełnopasmową reprezentację, obejmującą cały słyszalny zakres (aż do 20 kHz). Brakujące częstotliwości 8-20 kHz są rekonstruowane przy użyciu algorytmu opartego na uczeniu maszynowym.
- Zaproponowano nowe API do kodowania i dekodowania dźwięku z całkowitą reprezentacją 24-bit na kanał. Nowe API może być przydatne do poprawy jakości dźwięku na platformach, których wydajność jest niewystarczająca do kodowania z przecinkiem ruchomym lub w sytuacjach, w których zasadniczo stosuje się wyłącznie kodowanie całkowite. Wsparcie dla API z całkowitym 16-bit na kanał oraz kodowaniem opartym na przecinku ruchomym 32-bit na kanał zostało zachowane.
- Znacznie poprawiono realizację mechanizmu „Deep Redundancy” (DRED), wykorzystującego uczenie maszynowe do odbudowy fragmentów dźwięku, utraconych z powodu utraty pakietów.
- Podniesiono dokładność kodowania w implementacji korzystającej z arytmetyki o stałej przecinku.
- Dodano optymalizacje dla architektury MIPS.
- Zapewnia określenie wspieranych instrukcji SIMD CPU x86 na platformie OpenBSD.
Źródło: opennet.ru
