Home / LinuxUser / 2013 / 05 / Audio-Codec Opus: Einer für Alle(s)

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Tonmeister

Audio-Codec Opus: Einer für Alle(s)

15.04.2013 Schon Ogg Vorbis bewies, dass freie Audio-Codecs es durchaus mit der kommerziellen Konkurrenz aufnehmen können. Sein Nachfolger namens Opus geht einen Schritt weiter und schlägt die Konkurrenz sogar.

Als herausragendes Alleinstellungsmerkmal von Opus [1] gilt seine sehr niedrige Latenz: Kein anderer Vollband-Codec (siehe Kasten "Bänder") arbeitet mit so geringer Verzögerung, denn üblicherweise bedeutet niedrige Latenz kleine Blöcke und damit schlechtere Qualität bei gleicher Bitrate. Mit einer rekordverdächtigen Latenz von standardmäßig 22,5 Millisekunden reagiert Opus rund fünf Mal schneller als die Konkurrenz bei MP3, AAC oder Vorbis. Wer die Bitrate erhöht oder bei gleicher eine etwas niedrigere Qualität in Kauf nimmt, der kann diese Zeit sogar auf bis zu 5 Millisekunden reduzieren. Eine solch niedrige Latenz prädestiniert Opus nicht nur für Audio- und Video-Konferenzen, VoIP oder Teamspeak, sondern eröffnet auch völlig neue Einsatzgebiete wie etwa das gemeinsame Musizieren übers Internet.

Bänder

Die ITU unterteilt die Qualitätsstufen in folgende Frequenzspektren:

  • Narrowband – 300 bis 3400 Hz: Sprach-Audio mit stark eingegrenztem Frequenzspektrum, "Telefonqualität".
  • Wideband – 50 bis 7000 Hz: verbesserte Sprachqualität.
  • Super Wideband – 50 bis 14 000 Hz: hervorragende Sprachqualität, akzeptabel für Musik.
  • Full Band – 20 bis 20 000 Hz: das volle Frequenzspektrum des menschlichen Hörens, "CD-Qualität".

Nach dem Nyquist-Shannon-Theorem muss die Abtastrate eines Signals stets doppelt so hoch ausfallen wie die höchste Tonfrequenz, um Aliasing-Effekte zu vermeiden. Deshalb gelten 44,1 beziehungsweise 48 kHz Abtastrate als Standard für optimale Qualität.

Doch Opus glänzt nicht nur in Sachen Latenz, sondern auch hinsichtlich der Qualität. So erreicht der Codec dank der niedrigeren Latenz bereits bei deutlich geringerer Bitrate als MP3, AAC und Vorbis dieselbe Klanggüte. Nur im Vergleich zum aktuellen Qualitätsführer, dem erweiterten HE-AAC (High Efficency Advanced Audio Coding), auf den zum Beispiel auch Apple im iTunes-Musicstore setzt, stellen manche Tests ein Unentschieden fest. Andere sehen auch hier Opus auf dem Siegertreppchen.

Darüber hinaus eignet sich Opus sowohl für Sprache als auch für Musik, da er eigentlich zwei Codecs in einem vereint. Sprache stellt einen Audio-Codec vor völlig andere Herausforderungen als Musik: Das eingeschränktes Frequenzspektrum und ein klar umrissenes, bekanntes Signalprofil erlauben extrem niedrige Bitraten. Als Rekordhalter gilt hier der Amateurfunk-Sprachcodec Codec2 [2], der selbst bei 1,4 kbit/s noch verständliche Sprache abbildet.

Opus steht unter der BSD-Lizenz. Alle beteiligten Firmen und Organisationen räumten eine freie Nutzungslizenz für ihre Patente ein, im Gegenzug dafür, dass die IETF [3] Opus zum Standard erklärt. Das erlaubt eine kommerzielle Verwendung in proprietärer Soft- und Hardware.

Geschichte

Im Jahr 2007 begann Skype die Arbeit sowohl an Silk als auch an Xiph.org, einem damals noch "Ghost" genannten Nachfolger für Ogg Vorbis, der später in CELT (Constrained Energy Lapped Transform) umbenannt wurde. 2009 klopfte Skype bei der IETF an und schlug vor, einen offenen Standard-Sprach-Codec für Internet-Wideband-Audio zu schaffen. Dazu brachte Skype seinen Silk-Codec ins Spiel, doch die IETF fand es sinnvoller, dass Skype sich dafür mit Xiph.org zusammentut.

Nach viel Widerstand aus der Patent-Fraktion der kommerziellen Codec-Schmieden bildete sich eine Working Group aus den Entwicklern von Skype, Xiph.org sowie einigen Mitarbeitern von Broadcom und Octasic. Als eine der Hauptpersonen hinter Opus kristallisierte sich der bei Xiph.org, Mozilla und Octasic angestellte Kanadier Jean-Marc Valin heraus, der auch schon für Speex verantwortlich zeichnete. 2010 gab es dann den ersten Hybrid aus Silk und CELT. Anfang 2011 wurde der Bitstream eingefroren, sodass keine Änderungen am Standard mehr möglich waren. Mitte 2012 adelte die IETF das resultierende Opus mit dem RFC 6716 [4], der erste Release Candidate erblickte dann Ende 2012 das Licht der Welt.

Opus eignet sich laut Aussage der Entwickler als Ersatz für alle anderen bestehenden Codecs (Abbildung 1), lediglich für verlustlose Kompression empfehlen sie den OSS-Codec FLAC. Für Übertragungen mit extrem niedriger Bandbreite um die 2 kbit/s gilt nach wie vor der Codec2 als Mittel der Wahl. Den Entwicklern zufolge gibt es bereits großes Interesse aus der Industrie an Opus – nicht nur wegen der lizenzfreien Nutzungsmöglichkeit, sondern auch aufgrund des Status von Opus als IETF- Standard. Zudem füllt Opus durch seine Eignung für fast alle Einsatzzwecke sowie seine geringe Latenz eine Nische – hier gibt es derzeit keinen einzelnen Codec, der Gleiches bietet.

Abbildung 1

Abbildung 1: Trotz Rekord-Latenz deckt Opus das gesamte Qualitätsspektrum ab. (Quelle: Opus-Codec.com)

Opus in Zahlen

Opus nutzt die Dateiendung .opus im OGG-Container und unterstützt eine Bitrate von 6 bis 510 kbit/s sowie ein Frequenzspektrum von 8 bis 48 kHz. Die Frame-Größen bewegen sich von 2,5 bis 20 (CELT) beziehungsweise 2,5 bis 60 (Silk) Millisekunden. Das Besondere daran: Opus vermag diese Parameter in Echtzeit nahtlos im Stream zu ändern und passt sich so – etwa beim Telefonieren – ohne Aussetzer an die verfügbare Bandbreite an.

Bei den Encoding-Modi greift Opus auf konstante Bitrate (CBR), variable Bitrate (VBR) und Constrained VBR zurück, wobei letzteres VBR mit einer nach oben limitierten Bitrate darstellt. Das ist sinnvoll für Echtzeit-Anwendungen mit eingeschränkter Bandbreite, die trotzdem von der höheren Qualität von VBR profitieren wollen. Seine Stärken spielt Opus nur im Kontext mit den VBR-Modi voll aus.

Auch bei den Stereo-Modi kennt Opus drei Varianten: "Dual-Channel" kodiert beide Kanäle komplett unabhängig voneinander als zwei Mono-Kanäle. "Intensity" erzeugt einen Mono-Downmix, in dem Opus nur die Unterschiede zwischen links und rechts berechnet und speichert. "Mid-Side" gilt als präferierter Modus, es handelt sich dabei allerdings um einen Hybriden. Er bildet im Gegensatz zu Intensity auch sehr unterschiedliche Kanäle ab, profitiert aber anders als Dual-Channel von Ähnlichkeiten zwischen beiden Kanälen um Bandbreite zu sparen. Mid-Side ist obendrein sicher gegen durch Stereo-Encoding entstehendes Übersprechen (Crosstalk) und Artefakte.

Opus unterstützt als Hybrid-Codec drei verschiedene Modi, wobei Opus wie bei den anderen Attributen zwischen diesen Modi im Stream nahtlos wechselt. "Silk-only" kommt bei Sprachübertragungen im Wideband bis 8 kHz zum Einsatz – hier ist eine niedrige Bitrate wichtiger als herausragende Qualität. "CELT-only" eignet sich für Musik und nur bedingt für Sprache, da Silk hier wesentlich effizienter arbeitet und mit viel niedrigerer Bitrate qualitativ gleichwertige Ergebnisse erzielt. "Hybrid" dient für qualitativ hochwertige Sprachübertragungen. Dabei kodiert Silk die Bandbreite bis 8 kHz, CELT die Frequenzen darüber. In diesem Modus überträgt Opus mit 32 kbit/s Sprache im vollen Frequenzspektrum.

Der Encoder erkennt selbständig, ob es sich beim Signal um Sprache oder Musik handelt, und wählt dann einen der genannten Modi. Nur die Bitrate spielt hierbei eine Rolle, denn erst ab 32 kbit/s schaltet der Encoder in den Hybrid-Modus und kodiert mit CELT die Frequenzen über 8 kHz. Opus benötigt keine großen Codebooks wie einige andere Sprachcodecs und eignet sich damit auch als Format für sehr kurze Audioclips.

Tip a friend    Druckansicht Bookmark and Share
Kommentare

2353 Hits
Wertung: 110 Punkte (2 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 05/2014

Aktuelle Ausgabe kaufen:

Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,95 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 60,60) können Sie im Medialinx-Shop bestellen.

Tipp der Woche

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...