Il Codec VoIP OPUS
Last Updated on 13 Aprile 2019 by admin
Si vocifera che con il SIP 3.0 l’interprete principale sarà con molta probabilità il codec VoIP denominato OPUS.
Opus è un codec audio totalmente aperto e royalty-free, esente da diritti e altamente versatile, sviluppato dall’Internet Engineering Task Force in collaborazione con molte organizzazioni, tra cui IETF, Mozilla, Microsoft (per Skype), Xiph.Org, Octasic, Broadcom e Google.
Essendo Opus uno standard aperto, gli algoritmi sono documentati pubblicamente ed è stato rilasciato il codice sorgente. Broadcom e la Xiph.Org Foundation detengono i brevetti software su alcuni degli algoritmi del CELT, mentre Skype e Huawei possiedono alcuni degli algoritmi del SILK, tuttavia tutte quante si sono impegnate a rendere gli algoritmi disponibili liberamente per l’uso all’interno di Opus quando il codec diventerà uno standard dell’IETF.
Incorpora tecnologie provenienti dal codec per il parlato SILK e da quello a bassa latenza CELT.
Opus può perfettamente adattarsi a velocità di trasmissione alte e basse e può essere impiegato sia come codec per il parlato sia per suoni naturali. Ha inoltre un ritardo algoritmico molto basso rispetto ai formati musicali più popolari come MP3, Vorbis e HE-AAC e si è rivelato spesso migliore sia in termini di rapporto tra qualità sia come velocità di trasmissione.
Il codec Opus può essere inserito all’interno del contenitore Ogg. In questo caso il file dovrebbe avere estensione .opus e non .ogg come si usa invece con il codec Vorbis. È in corso l’adattamento dell’Opus al contenitore Matroska.
Supporta velocità di trasmissione costanti e variabili da 6 kb/s a 510 kb/s, lunghezza dei fotogrammi da 2,5 ms a 60 ms e varie frequenze di campionamento da 8 kHz (con 4 kHz di larghezza di banda) a 48 kHz (con 20 kHz di larghezza di banda). Alla massima larghezza di banda l’intera gamma di audizione del sistema uditivo umano può essere riprodotta. Un flusso Opus è in grado di supportare fino a 255 canali audio.
Opus non ha eguali per la trasmissione vocale e musicale interattiva su Internet, ma è anche destinato alle applicazioni di archiviazione e streaming. È standardizzato da Internet Engineering Task Force (IETF) come RFC6716 che incorporava la tecnologia dal codec SILK di Skype e il codec CELT di Xiph.Org.
Opus è in grado di gestire un’ampia gamma di applicazioni audio, tra cui Voice over IP, videoconferenze, chat in-game e persino esibizioni di musica dal vivo in remoto.
Utilizza un ritardo di default di 20 ms, che è tipico del Voice over IP. La capacità di fare ciò in alta qualità per un audio con un’elevata velocità di trasmissione è resa possibile dalle ricerche fatte dalla Xiph.Org Foundation per il codec CELT.
Il ridotto ritardo permette l’uso di Opus nelle stesse operazioni in tempo reale richieste dalla telefonia, tra cui la conversazione e la videoconferenza. Inoltre è in grado, nelle trasmissioni in tempo reale, di cambiare velocità di trasmissione, larghezza di banda e ritardo rapidamente e senza alcuna distorsione del suono.
È in grado di scalare da un parlato a bassa velocità in bitrate a musica stereo di altissima qualità.
Le funzionalità supportate sono:
- Flexibility and adaptability
- Bitrates from 6 kb/s to 510 kb/s
- Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
- Frame sizes from 2.5 ms to 60 ms
- Support for both constant bitrate (CBR) and variable bitrate (VBR)
- Audio bandwidth from narrowband to fullband
- Support for speech and music
- also support for mono and stereo
- Support for up to 255 channels (multistream frames)
- Dynamically adjustable bitrate, audio bandwidth, and frame size
- Good loss robustness and packet loss concealment (PLC)
- Floating point and fixed-point implementation
Opus è un formato audio loss aperto e royalty-free sviluppato dall’Internet Engineering Task Force in collaborazione con molte organizzazioni, tra cui IETF, Mozilla, Microsoft (per Skype), Xiph.Org, Octasic, Broadcom e Google. È stato sviluppato per avere un formato adatto sia ad applicazioni interattive in tempo reale via Internet, sia all’archiviazione di file audio. Opus incorpora tecnologie provenienti dal codec per il parlato SILK e da quello a bassa latenza CELT.
Può perfettamente adattarsi a velocità di trasmissione alte e basse e può essere impiegato sia come codec per il parlato sia per suoni naturali. Ha inoltre un ritardo algoritmico molto basso rispetto ai formati musicali più popolari come MP3, Vorbis e HE-AAC e si è rivelato spesso migliore sia in termini di rapporto tra qualità sia come velocità di trasmissione.
Opus supporta velocità di trasmissione costanti e variabili da 6 kb/s a 510 kb/s, lunghezza dei fotogrammi da 2,5 ms a 60 ms e varie frequenze di campionamento da 8 kHz (con 4 kHz di larghezza di banda) a 48 kHz (con 20 kHz di larghezza di banda). Alla massima larghezza di banda l’intera gamma di audizione del sistema uditivo umano può essere riprodotta. Un flusso Opus è in grado di supportare fino a 255 canali audio.
Opus usa un ritardo di default di 20 ms, che è tipico del Voice over IP. La capacità di fare ciò in alta qualità per un audio con un’elevata velocità di trasmissione è resa possibile dalle ricerche fatte dalla Xiph.Org Foundation per il codec CELT. Il ridotto ritardo permette l’uso di Opus nelle stesse operazioni in tempo reale richieste dalla telefonia, tra cui la conversazione e la videoconferenza. Inoltre è in grado, nelle trasmissioni in tempo reale, di cambiare velocità di trasmissione, larghezza di banda e ritardo rapidamente e senza alcuna distorsione del suono.
Essendo Opus uno standard aperto, gli algoritmi sono documentati pubblicamente ed è stato rilasciato il codice sorgente. Broadcom e la Xiph.Org Foundation detengono i brevetti software su alcuni degli algoritmi del CELT, mentre Skype e Huawei possiedono alcuni degli algoritmi del SILK, tuttavia tutte quante si sono impegnate a rendere gli algoritmi disponibili liberamente per l’uso all’interno di Opus quando il codec diventerà uno standard dell’IETF.
Il codec ha tre differenti modi: due per il solo parlato e uno per qualunque tipo di audio inclusa la musica. Uno dei codec per il parlato può riprodurre l’intero spettro udibile dall’uomo. In questo caso il CELT è utilizzato per la parte superiore della frequenza dagli 8 kHz in su, mentre il SILK è usato per la parte inferiore.
Per velocità di trasmissione più basse (approssimativamente inferiori a 30 kb/s) il campo di frequenze viene ristretto e la parte destinata al CELT eliminata. Per altri tipi di segnale viene eliminata la parte del SILK (specializzato nel parlato) e rimane solo quella generica del CELT.
Il codec Opus può essere inserito all’interno del contenitore Ogg. In questo caso il file dovrebbe avere estensione .opus e non .ogg come si usa invece con il codec Vorbis. È in corso l’adattamento dell’Opus al contenitore Matroska.
http://opus-codec.org/
http://opus-codec.org/comparison/
https://tools.ietf.org/html/rfc6716
https://it.m.wikipedia.org/wiki/Opus_(codec_audio)