380 likes | 511 Views
Vorbis. Multimedia-Codecs. Agenda. Ogg -Container. Geschichte. Verbreitung. Xiph.Org. Allgemeines. CBR/VBR/ABR. MDCT. Besonderheiten. Vor-/Nachteile. Vorbis. Bitstrom-Aufbau. Der Codec. Vergleich- tests. Hörbeispiele. Decodierungs- prozess. Vorbis. MP3. AAC.
E N D
Vorbis Multimedia-Codecs
Agenda Ogg-Container Geschichte Verbreitung Xiph.Org Allgemeines CBR/VBR/ABR MDCT Besonderheiten Vor-/Nachteile Vorbis Bitstrom-Aufbau Der Codec Vergleich-tests Hörbeispiele Decodierungs- prozess Vorbis MP3 AAC
Ogg = Container, Vorbis = Codec • Ziele von OggVorbis: • qualitativ hochwertiger, universeller Audiocodec basierend auf MDCT, Vektorquantisierung • quelloffen, nicht-proprietär, patent- und lizenzfrei • möglich, Hybrid Wavelet Filterbank hinzuzufügen (VorbisII) • Vergleichbar mit • WMA, • MPEG-4 AAC, • MPEG-1 Layer 3 Allgemeines
Xiph.OrgFoundation = gemeinnützige Gesellschaft / Verbund mehrerOpenSource Projekte • Ziel: […] put the foundation standards of Internet audio and video into the public domain, where all Internet standards belong.“ • Projekte: • Icecast (Streaming Server), • Theora (Video Codec), • FLAC (Losslessaudiocodec), • XSPF (XML Format für Playlists), • Speex, • Ogg, • Vorbis • … XIPH.Org
Entwickler: Christopher Montgomery 1998(Nachdem MP3 Lizenzrechtlich geschützt wurde) • 8.Mai 2000 wurde Bitstream Format für Vorbis I eingefroren (gewährleistet kompatibilität) • 19.Juli 2002 erste stabile Codec Version (1.0) • ab 2003 Hardwaresupport (iRiver) • Aktuelle Version 1.2.0 Geschichte
Hardwareunterstützung für OggVorbis • >100 Musikplayer-Hersteller unterstützt (z.B. iAudio, iRiver, Maxfield, TEAC, TrekStor, Cowon, …) • TomTom Navigation • iPodLinux • Samsung SGH-i320, SPH-S4300 • ... • Softwareunterstützung für OggVorbis • Winamp • Foobar2000 • Mplayer • JetAudio • VLC • Windows Media Player (mit DirectShow Filter) • Player für SymbianOS • … • Einsatz in diversen Computerspielen,Radiostreams Verbreitung / Einsatz
CBR: Constant Bitrate • Jeder Frame wird mit gleicher Bitrate kodiert • Ineffizient in Bezug auf Speicherplatz / Qualität • VBR: Variable Bitrate • Für jeden Frame wird die Bitrate an den Inhalt angepasst • ABR: Average Bitrate • Mischung aus CBR und VBR. Angabe einer Grundbitrate, die leicht variiert werden kann • Gleicher Speicherplatzverbrauch aber bessere Qualität als CBR CBR, VBR, ABR Kann in Vorbis z.B. bei Streaming eingesetzt werden Standard in Vorbis:Angabe einer Qualität (-1 – 10)
In Vorbis werden psychoakustische Modelle besser umgesetzt als in anderen Codecs • Beispiel: • Absolute Tresholdof Hearing • Das Ohr kann physikalisch keinen leiseren Ton wahrnehmen als diese Schwelle leisere Töne müssen nicht übertragen werden • die meisten Codecs legen Abspiel-Lautstärke fest • Vorbis geht davon aus, dass Abspiel-Lautstärke so festgelegt wird, dass sie bei den stärksten Frequenzen noch angenehm ist • … Psychoakustik
Flexibles Tagging (Hinzufügen von Meta-Informationen) • Unterstützung von bis zu 255 unabhängigen Kanälen (Surround kompatibel / Implementierung noch nicht ausgereift) • Channel coupling • Durch Korrelation von einzelnen Kanälen, wird nur ein Kanal codiert + Differenzinformationen des zweiten Kanals • Bitrate peeling (noch nicht implementiert) • Bitrate kann „on thefly“ verringert werden, ohne Re-Encodierung (gut für Radiostreams) • Kann erreicht werden, indem wichtigsten Daten zu Beginn eines Pakets encodiert sind Besonderheiten
Modifizierte Diskrete Cosinus Transformation • beschrieben von Princen, Johnson, Bradley 1987 • Unterschied zur DCT • Letzte Hälfte des eines Frames wird mit der ersten Hälfte des darauffolgenden Frames überlappt • hilft Artefakte an Frameränder zu vermeiden • siehe Blockartefakte in JPEG mit DCT • Anwendung in MP3, Vorbis, AAC MDCT
Agenda Ogg-Container Geschichte Verbreitung Xiph.Org Allgemeines CBR/VBR/ABR MDCT Besonderheiten Vor-/Nachteile Vorbis Bitstrom-Aufbau Der Codec Vergleich-tests Hörbeispiele Decodierungs- prozess Vorbis MP3 AAC
Identifiziert den Bitstream als Vorbis • Enthält: • Vorbis Version • einfachste Audio-Charakteristika • Sample rate • Anzahl an Kanäle
Beinhaltet: • vendorstring des Encoders • „Tags“ = Textkommentare • als Name=Value Pairs gespeichert • bis zu 232-1 Tags mit Länge von: 232-1 • UTF8 Codierung • Vordefinierte Tags: TITLE, ALBUM, ARTIST, … • bietet mehr Flexibilität als z.B. ID3
Enthält Informationen über: • gesamtes Wahrscheinlichkeitsmodell • Decoder Setup (>100 Einträge) • komplette Vectorquantisierungscodebooks • Huffmancodebooks • … • Decoding verbraucht weniger Rechenleistung Normalerweise sind Codebooks (VQ, Huffman) fest im Decoder integriert (MP3) • Dekodierung benötigt mehr Arbeitsspeicher • Wenn Setup header nicht initialisiert, Dekodierung mitten im Stream nicht möglich
Nach den 3 Headern dürfen nur noch Audio-Daten im Bitstrom stehen • Erst nach Dekodierung der Header können die Audio Daten dekodiert werden
Dekodierung eines Audio pakets • Dekodierung = Aneinanderreihung verschiedener Komponenten mit spezifischen Funktionen • Komponenten = modes, mappings, … • Instanzen = 0, 1, 2, …, n
Dekodierung eines Audio pakets • Mode: • „top levelconfigurationswitch“ für nachfolgende Dekodierung • framesize; window type; transform type; mappingnumber • Mapping: • Gruppiert einzelne Vektoren zu Submaps • Pro Submap wird Floor/Residue Konfiguration angegeben • Floor: • Repräsentation als stückweis linear interpolierte Kurve (Amplitude über Frequenz) • Residue: • Feine Struktur des Audio-Spektrums nachdem Floor subtrahiert wurde • Codebooks: • enthält Huffman Baum für Entropiecodierung • Tabellen der Vektorquantisierung
Dekodierung eines Audio pakets • Ablauf: • Paket Typ dekodieren • Mode dekodieren • windowshape dekodieren • Floor dekodieren • Residue dekodieren • Inverse channelcoupling • Generiere Floor Kurve • Berechne Skalarprodukt von Floor und Residue • IMDCT • Überlappen/Addieren der linken Seite mit der rechten Seite des vorhergehenden Frames • Rechte Seite zwischenspeichern für nächste Überlappung • Zurückgeben der addierten linken Seite aus 10.
3. Windowshape • Window-Größen: • 2048 samples (Standard) • 512 samples (Verwendung bei plötzlichen Veränderungen / Percussion) • Window-Funktion: Kaiser-Bessel
4./5. Floor / Residue • Pro Kanal pro Frame muss ein Floor-Vektor dekodiert werden entspricht der Rohform des Spektrums • Danach: Dekodierung Residue Vektoren Details des Spektrums • Daten sind entropiekodiert Codebooks werden benötigt
6. Inverse channelcoupling • Verfahren zur Kopplung der Residue Vektoren: • Square Polar Mapping • Channel interleaving • Mit Kombination aus beiden echtes lossless Stereo • Konvertierung der Residue Vektor-Paare von Polar-Darstellung (Magnitude-Vector; Angle-Vector) zur Kartesischen Darstellung
7./8./9. Floor x Residue • Skalarprodukt von Floor und Residue • Wiederhergestelltes Audio-Spektrum für jeden Kanal • Anwenden der Inversen MDCT Transformation des Spektrums in die Zeitdomäne
10.-12. Überlappung • Linken Seite des Frames mit vorhergehender rechten Seite addieren • Rechte Seite wird zwischengespeichert für nächstes Frame • Zurückgeben der addierten linken Seite
Agenda Ogg-Container Geschichte Verbreitung Xiph.Org Allgemeines CBR/VBR/ABR MDCT Besonderheiten Vor-/Nachteile Vorbis Bitstrom-Aufbau Der Codec Vergleich-tests Hörbeispiele Decodierungs- prozess Vorbis MP3 AAC
Hörbeispiele • Compilation; Adagio for Strings; Drums • 128kBit/s • Nero AAC: –q 0.42 • oggenc (aoTuV) Vorbis: -q 4.35 • Lame MP3: -V5 • 48kBit/s • Nero AAC: -q 0.215 • oggenc (aoTuV) Vorbis: -q -1 • Lame MP3: -V 9
C‘t Hörtest 2002: • Vorbis, MP3, MP3pro, WMA9, RealMedia, AAC • 64kBit/s: Vorbis am besten (25% der Tester hielten Vorbis für das beste Testfile / incl. unkomprimiertem) • 128kBit/s: Vorbis noch in führender Position nach unkomprimierten • >160kBit/s: verschwinden statistische Signifikanzen zwischen den Codecs Vergleichstests
20 – 30 Hörer • bei 20 verschiedenen Musikstücken • 48kBit/s Vergleichstests
12 – 27 Hörer • bei 18 verschiedenen Musikstücken • 128kBit/s Vergleichstests
~180kBit/s Vergleichstests
Agenda Ogg-Container Geschichte Verbreitung Xiph.Org Allgemeines CBR/VBR/ABR MDCT Besonderheiten Vor-/Nachteile Vorbis Bitstrom-Aufbau Der Codec Vergleich-tests Hörbeispiele Decodierungs- prozess Vorbis MP3 AAC
Vorteile Nachteile Mangelnde Hardwareunterstützung / VerbreitungApple legt Spezifikationen iPod nicht frei keine Anpassung möglich Wenn man Musik zum Download anbietet Anleitung zum Abspielen erforderlich kaum Chancen gegen große Verbreitung proprietärer Formate (MP3, AAC) anzukommen • Lizenz- / Patentfrei keine Gebühren für Hersteller • Tagging Standard flexibler als ID3 • Mehrkanal-Support • Einsatz in Computerspielen, etc. bedenkenlos möglich • Vorteile von open-source: Code kann von jedem weiterentwickelt / verbessert werden aoTuV • bessere Qualität als MP3, aber vergleichbar mit WMV10 Pro • Einsatz als Radio-Stream vorteilhaft
Agenda Ogg-Container Geschichte Verbreitung Xiph.Org Allgemeines CBR/VBR/ABR MDCT Besonderheiten Vor-/Nachteile Vorbis Bitstrom-Aufbau Der Codec Vergleich-tests Hörbeispiele Decodierungs- prozess Vorbis MP3 AAC
OGG Container • Ogg = Datencontainer kann enthalten: • Writ (Text-Codec) • Speex (Sprach-Codec) • Vorbis (Audio-Codec) • FLAC (lossless Audio-Codec) • Theora (Video-Codec) • kann mehrere logische Bitstreams enthalten • Video, Audio, Untertitel • mehrere Logische Bitstreams werden gemultiplext • squentialmultiplexing (nacheinander) • concurrentmultiplexing (gemischt; eindeutige Seriennummer pro Bitstrom erforderlich)
OGG Container Vorbis Paket Bitstrom variabel! (empfohlen: 4-8kB) Page Daten-segmente Header max. 255Byte
OGG Container • Header: • Beginn einer Page (OggS) • Versionsnummer • Typ: • enthält Daten • Beginn eines Bitstreams • Ende eines Bitstreams • Informationen über Codec (z.B.IdentificationHeader) • Bitstream Serial Number • Page SequenceNumber • CRC checksum • numberpagesegments • Segment Table
Xiph.Org: Vorbis I specification • Xiph.Org: FAQ, Stereo (www.xiph.org) • grahammitchell.com: An IntroductiontoCompressed Audio withOggVorbis • John Stritar, Matt Papi: OGG Vorbis Audio Decoder • Sebastian Kraatz: Audio Codecs • Linuxjournal.com: OggVorbis – Open, Free Audio – Set Your Media Free • Jakub Svitek: OggVorbis: Subjectiveassessmentofsoundqualityatverylowbitrates • HenricKärnhall: Decoding OggVorbis Audio • Beni Cherniavsky: OggVorbis Psycho Acoustic Models Explained • Daniel Pape: Entwicklung von Multi-Medialen Lernmaterialien für die perzeptive Audiocodierung • Joanna Devaney: OggVorbis • Daniel Müller: OggVorbisaudiocodec Quellen