Nach anderthalb Jahren Entwicklung präsentierte die Organisation Xiph.Org, die sich mit der Erstellung freier Video- und Audiocodecs beschäftigt, die Version 1.6 des Audiocodecs Opus, die eine hohe Kodierungsqualität und minimale Latenz sowohl beim Komprimieren von Streaming-Audio mit hoher Bitrate als auch beim Komprimieren von Sprache in bandbreitenbeschränkten VoIP-Anwendungen bietet. Die Referenzimplementierungen von Encoder und Decoder werden unter der BSD-Lizenz veröffentlicht. Die vollständigen Spezifikationen des Opus-Formats sind öffentlich zugänglich, kostenlos und als Internetstandard (RFC 6716) genehmigt.
Der Codec wurde durch die Kombination der besten Technologien des von der Organisation Xiph.org entwickelten Codecs CELT und des von Skype veröffentlichten Codecs SILK erstellt. Neben Skype und Xiph.Org waren auch Unternehmen wie Mozilla, Octasic, Broadcom und Google an der Entwicklung von Opus beteiligt. Die im Opus verwendeten Patente werden von den beteiligten Unternehmen zur uneingeschränkten Nutzung ohne Lizenzgebühren zur Verfügung gestellt. Alle mit Opus verbundenen geistigen Eigentumsrechte und Patentslizenzen werden automatisch für Anwendungen und Produkte, die Opus verwenden, delegiert, ohne dass eine zusätzliche Zustimmung erforderlich ist. Es gibt keine Einschränkungen für den Anwendungsbereich oder die Erstellung alternativer Drittanbieter-Implementierungen. Alle gewährten Rechte erlöschen jedoch im Falle eines patentrechtlichen Streits, der die Technologien von Opus betrifft und gegen einen Benutzer von Opus gerichtet ist.
Opus zeichnet sich durch eine hohe Kodierungsqualität und minimale Latenz sowohl beim Komprimieren von Streaming-Audio mit hoher Bitrate als auch beim Komprimieren von Sprache in bandbreitenbeschränkten VoIP-Anwendungen. Zuvor wurde Opus als bester Codec bei einer Bitrate von 64 Kbit anerkannt (Opus übertraf Konkurrenzprodukte wie Apple HE-AAC, Nero HE-AAC, Vorbis und AAC LC). Zu den Produkten, die Opus standardmäßig unterstützen, gehören der Browser Firefox, das Framework GStreamer und das Paket FFmpeg.
Hauptmerkmale von Opus:
- Bitrate von 5 Kbit/s bis 2 Mbit/s;
- Abtastrate von 8 bis 96 kHz;
- Dauer der Rahmen von 2,5 bis 120 Millisekunden;
- Unterstützung für konstante (CBR) und variable (VBR) Bitraten;
- Unterstützung für schmalbandigen und breitbandigen Klang;
- Unterstützung für Sprach- und Musikübertragungen;
- Unterstützung für Stereo und Mono;
- Unterstützung für dynamische Anpassung von Bitrate, Bandbreite und Rahmengröße;
- Möglichkeit zur Wiederherstellung des Audiostroms bei Paketverlust (PLC);
- Unterstützung für bis zu 255 Kanäle (Multistream-Rahmen)
- Verfügbarkeit von Implementierungen mit Fließkomma- und Festkomma-Arithmetik.
Wesentliche Neuerungen in Opus 1.6:
- Eine Variante von Opus HD zur Kodierung von Audio mit einer Abtastrate von 96 kHz, einer Bitrate von bis zu 2 Mbit/s und einer Bandbreite, die den Standard-Audiobereich von 20 kHz überschreitet, wurde implementiert.
- Ein Modul für BWE (Wideband-to-Fullband) wurde hinzugefügt, um die Darstellung des Breitband-Codings (der Frequenzbereich ist auf 8 kHz begrenzt) in eine Vollbanddarstellung zu konvertieren, die den gesamten hörbaren Bereich abdeckt (bis zu 20 kHz). Fehlende Frequenzen im Bereich von 8 bis 20 kHz werden mithilfe eines maschinellen Lernalgorithmus rekonstruiert.
- Eine neue API für die Kodierung und Dekodierung von Audio mit ganzzahliger Darstellung von 24 Bit pro Kanal wurde vorgeschlagen. Die neue API kann nützlich sein, um die Audioqualität auf Plattformen zu verbessern, deren Leistung nicht ausreicht, um mit Fließkommazahlen zu kodieren, oder in Situationen, in denen ausschließlich ganzzahlige Kodierung verwendet wird. Die Unterstützung für eine API mit ganzzahliger 16-Bit-Darstellung pro Kanal und Fließkomma-Kodierung mit 32 Bit pro Kanal bleibt erhalten.
- Die Implementierung des Mechanismus „Deep Redundancy“ (DRED), der maschinelles Lernen zur Wiederherstellung von Audiofragmenten nutzt, die aufgrund von Paketverlusten verloren gegangen sind, wurde erheblich verbessert.
- Die Genauigkeit der Kodierung in der Implementierung, die die feste Dezimalarithmetik nutzt, wurde erhöht.
- Optimierungen für die MIPS-Architektur wurden hinzugefügt.
- Die Identifizierung unterstützter x86 SIMD-Befehle auf der OpenBSD-Plattform wurde sichergestellt.
Quelle: opennet.ru
