1 / 38

Vorbis

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.

Download Presentation

Vorbis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vorbis Multimedia-Codecs

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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)

  8. 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

  9. 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

  10. 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

  11. 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

  12. Bitpacking-Convention

  13. Identifiziert den Bitstream als Vorbis • Enthält: • Vorbis Version • einfachste Audio-Charakteristika • Sample rate • Anzahl an Kanäle

  14. 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

  15. 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

  16. 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

  17. Dekodierung eines Audio pakets • Dekodierung = Aneinanderreihung verschiedener Komponenten mit spezifischen Funktionen • Komponenten = modes, mappings, … • Instanzen = 0, 1, 2, …, n

  18. 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

  19. 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.

  20. 3. Windowshape • Window-Größen: • 2048 samples (Standard) • 512 samples (Verwendung bei plötzlichen Veränderungen / Percussion) • Window-Funktion: Kaiser-Bessel

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 20 – 30 Hörer • bei 20 verschiedenen Musikstücken • 48kBit/s Vergleichstests

  29. 12 – 27 Hörer • bei 18 verschiedenen Musikstücken • 128kBit/s Vergleichstests

  30. ~180kBit/s Vergleichstests

  31. 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

  32. 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

  33. 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

  34. 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)

  35. OGG Container Vorbis Paket Bitstrom variabel! (empfohlen: 4-8kB) Page Daten-segmente Header max. 255Byte

  36. 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

  37. 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

  38. Vielen Dank für die Aufmerksamkeit

More Related