IT-Academy Logo
Sign Up Login Help
Home - Programmieren - Codecs - MP3 - Das beliebte Audiokomprimierungsverfahren



MP3 - Das beliebte Audiokomprimierungsverfahren

Dies ist eine umfangreiche Darstellung des gegenwertig beliebtesten Audio-Komprimiestandards der Welt.


Autor: Michael Jurisch (Clyde)
Datum: 26-07-2002, 19:23:20
Referenzen: http://www.cy-man.de
Schwierigkeit: Fortgeschrittene
Ansichten: 8202x
Rating: 8.33 (3x bewertet)

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Einleitung:
Der gegenwärtig erfolgreichste Audio-Kodierungsalgorithmus, MPEG Layer 3 (besser bekannt als mp3), wurde hauptsächlich vom Frauenhofer IIS entwickelt. Seit der Standardisierung des MPEG Layer-3 Formates im Jahre 1991 gab es sehr viele Weiterentwicklungen, wie z.B. MPEG-2 ACC (Advanced Audio Coding), MPEG-4 oder MPEG-7.

Sind mp3-Dateien illegal?
Grundsätzlich nein. Es kommt auf den Inhalt der Datei an, der kann unter Umständen urheberrechtlich geschützt sein. Das ist zum Beispiel bei kommerzieller Musik so. Der Besitz dieser mp3-Dateien ist illegal und somit strafbar. Man macht sich also beim Runterladen von urheberrechtlich geschützter Musik strafbar.

Wie werden mp3-Dateien hergestellt?
Im Allgemeinen werden mp3-Dateien von sogenannten Encodern (z.B. Xing) umgewandelt. Dieser Vorgang ist recht kompliziert, doch ich habe mal die Grundstruktur des Kodierungsschemas erläutert. Hieraus wird ersichtlich, wie eine Audiodatei (z.B. wav) in eine mp3-Datei kodiert wird.

Es gibt verschiedene Encoder, die sich auch in ihrer Leistung unterscheiden. Prinzipiell kann man sagen, dass jeder Encoder seine eigene mp3-Datei macht, das liegt aber wiederum am verwendeten Kodierschema. Doch da das menschliche Ohr diese Unterschiede nicht hören kann, sind fast alle Encoder zu empfehlen.

Die ersten Encoder waren träge und konnten nur bestimmtes Ausgangsmaterial verarbeiten. Die heutige Generation ist schnell und variabel.

Eine weitere Form der Encoder sind die so genannten Ripper. Mit solchen Rippern ist es möglich, mp3-Dateien direkt von einer Audio-CD zu erstellen. Das Rippen ist denkbar einfach: Das Programm liest den digitalen Audio Track von CD aus und speichert ihn als wav-Datei. Diese wav-Datei kann dann entweder direkt vom Ripper oder einem Encoder zu einer mp3-Datei umgewandelt werden.

Einer der bekanntesten Ripper, der Audio Catalyst, liest den Track der CD digital aus und wandelt ihn gleich in eine mp3-Datei um. Denkbar einfach!

Die Player und Decoder:
Das Dekodieren einer mp3-Datei ist fast vergleichbar mit dessen Kodierung. Bei der Dekodierung vollziehen sich die Schritte des Kodierungsschemas der Enkodierung nur rückwärts (vereinfacht ausgedrückt).

Zum Abspielen, also dem Dekodieren, werden spezielle Player benötigt. Wie bei den Encodern, gibt es eine Vielzahl an Player. Eine der beliebtesten ist der WinAmp Player. Er bietet neben austauschbaren Oberflächen (sogenannte Skins), auch noch eine spezielle Unterstützung der MMX- und 3D-Now-Technologie.

Grundstruktur des generischen Kodierungsschemas:
  1. Es wird ein Zeit/Frequenz-Mapping (Filter Bank) benutzt, um das Audiosignal in spektrale Subsampelkomponenten zu zerlegen. Abhängig von der Filterbank werden sie Subbandwerte oder Frequenz Linien genannt.
  2. Der Output der Filter-Bank wird dazu benutzt, um Schätzwerte des aktuellen Maskierugsbereiches zu berechnen, der den psychoakustischen Regeln zu Grunde liegt.
  3. Die Subbandsamples werden mit dem Ziel quantisiert und kodiert, den Ton unter dem Maskierugsbereich zu halten.
  4. Es wird ein Framepacker benutzt, um den Bitstream fertig zustellen.






Die MPEG-Kodierfamilie:
MPEG-1: Die Motion Picture Expert Group entwickelte einen Standard, um bewegte Bilder und Audiosignale mit bis zu 1,5 Mbit/s digital zu speichern. Dieser Standard wurde im November 1991 fertig gestellt und MPEG-1 genannt. Er beinhaltet 4 Teile, darunter fällt auch Audio.

Der Audioteil des Standards ist mit 3 Algorithmen definiert: Layer 1,2 und 3 (für das Kodieren von PCM Audiosignalen mit einer Samplerate von 32,44 und 48kHz bei Bitraten von 32 bis zu 448 kbit/s).

Alle 3 Layer unterstützen die folgenden Operationsmodi:

  • Single Channel
  • Dual Channel (dual mono)
  • Stereo
  • Joint Stereo (eine Kombination von linkem und rechtem Kanal eines Stereo-Audiosignals)
MPEG-2: MPEG-1 wurde hauptsächlich für High Quality Audio Kompression (CD-Qualität) benutzt. 1994 wurde dann der MPEG-2-Standard definiert. Er beinhaltet mehrere Verbesserungen gegenüber MPEG-1: Bitstream unter 32kbit/s und die Kodierung von Audiosignalen mit bis zu 5 Kanälen (und einem erweiterten niederfrequenten Kanal für Sourround Sound).

ISO/MPEG Layer 3: Layer 3 beinhaltet eine Kombination der effektivsten Module der ASPEC (Adaptive Spectral Perceptual Entropy Coding of High Quality Music Signals) Kodierung und des MUSICAM Kodierungsschemas.




Filterbänke:
Es gibt verschiedene Filterbänke bei der Kodierung von High Quality Audio-Signalen. Die dabei meist benutzen sind QMF-TREE-Filterbänke (nutzen 4-24 Bänder), Mehrphasen-Filterbänke (nutzen 32 Bänder bei Layer 1 und 2) , MDCT (nutzen 128-512 Bänder), DFT+ DCT (nutzen 128-512 Bänder) und hybride Filterbänke.

Bei allen drei Layern wird das Audiosignal von einer Zeit-Domäne in eine Frequenz-Domäne konvertiert. Dies geschieht durch eine Mehrphasen-Filterbank, die 32 Subbänder enthält.

Bei Layer 1 und 2 kreiert eine Filterbank 32 Subbänder, die das Audiosignal repräsentieren. Diese 32 Subbänder werden dann quantisiert und unter Kontrolle eines psychoakustischen Modells kodiert, von dem eine blockweise adaptierte Bit-Zuordnung abgeleitet wird.

Bei hybriden Filterbänken werden die Zeit-Domäne Werte von einer Mehrphasenfilterbank in 32 gleich große Subbänder aufgeteilt. Der Output jedes Subbandes der Mehrphasenfilterbank dient als Input eines MDCT der Länge 18. Schließlich führt das zu 32 x 18 = 576 Frequenzlinien.

Die Layer:
Layer 1 ist eine vereinfachte Versionen des MUSICAM-Kodierungsschema.

Layer 2 beinhaltet weitere Kompressionsmöglichkeiten, die zu Layer 1 abwärtskompatibel sind. Dabei werden redundante und irrelevante Daten entfernt. Layer 2 ist sehr identisch mit dem MUSICAM-Kodierungsschema, mit der Ausnahme des Frameheaders.

Layer 3 beinhaltet eine Kombination der effektivsten Module der ASPEC (Adaptive Spectral Perceptual Entropy Coding of High Quality Music Signals) Kodierung und des MUSICAM-Kodierungsschemas.

Eine zusätzliche Frequenzauflösung ist bei der Benutzung einer hybriden Filterbank möglich. Jedes einzelne Subband wird dabei in 18 hochauflösende Frequenzlinien aufgeteilt.

Um bei der Archivierung von Stereosignalen hohe Kompressionsraten zu erreichen, versucht Layer 3 die Abhängigkeit der beiden Kanäle zu nutzen. Er ist der einzige Layer, der 2 Methoden der Stereo-Kodierung unterstützt, mittel/seitliche (MS) Stereo-Kodierung und Intensiv-Stereo-Kodierung.

MS-Stereo-Kodierung:
Bei der MS-Stereo-Kodierung wird das Audiosignal vom linken und rechten Ausgangssignal zu einem Mittel und dem Unterschied (Seitliche Kodierung) des Ausgangssignals (vor der Quantisierung) gemixt.





Intensiv-Stereo-Kodierung:
Bei der intensiven Stereo-Kodierung wird nicht der linke und der rechte Kanal, sondern nur ein Signal (z.B. die Summe) und die Richtung, von der es kommt, in ein Stereoabbild übertragen. Die Richtung muss nicht für jeden Wert übertragen werden, sondern nur für jede Bandeinheit. Die Intensiv-Stereo-Kodierung ist sehr effizient, kann aber auch hörbare Fehler erzeugen. Allgemein kann man sagen, daß eine zu starke Nutzung der Intensiv-Stereo-Kodierung das Stereoimage eines Signals verändert.





Variable Bitratenkodierung:
Für bestimmte Anwendungen ist die variable Bitratenkodierung ein interessantes Feature. Bei diesem Modus berechnet das psychoakustische Modell die Anzahl der Bits, die momentan gebraucht werden und verändert entsprechend die aktuelle Bitrate. Das ist eine sehr effiziente Kodiermethode, weil weniger schwierige Teile (in Bezug auf die Komplexität des hörbaren Signals) des Audiosignals mit einer geringeren Bitrate kodiert werden können. Ein schönes Beispiel sind digitale Pausen, die dann (natürlich ohne Qualitätseinbuße) mit der niedrigsten Bitrate kodiert werden können.

Layer 3 ist der einzige Layer, der variable Bitratenkodierung beherrscht.

Joint-Stereo kann als besonderes Feature bei jedem Layer angewandt werden. Diese Technik beseitigt die redundanten und irrelevanten Daten eines typischen Stereo Signals. Damit kann man die Audioqualität bei niedrigen Bitraten verbessern, oder die Bitrate eines Stereo Signals verringern.

Psychoakustische Modelle:
Ein psychoakustisches Modell berechnet ein Minimum des hörbaren Teils eines jeden Subbandes in der Filterbank. Es gibt 2 verschiedene Varianten des psychoakustisches Modells. Modus 1 wird bei Layer 1 und 2 verwendet und Modus 2 nur bei Layer 3. In allen beiden Modi des psychoakustisches Modells ist der endgültige Output ein für jedes Subband zutreffendes Signal-zu-Maske - Verhältnis (Layer 1 und 2), oder eine Gruppe von Bändern, wie bei Layer 3.

MPEG-2 Advanced Audio Coding (AAC) (ISO/IEC DIS 13818-7)
Eine weitere Entwicklung in der High-Quality-Audio-Kodierung ist MPEG-2 Advanced Audio Coding. AAC bietet doppelt so gute Kompression, wie MPEG-Layer 2 und als einziger Kodierungsalgorithmus EBU Broadcast Qualität (64 kb/s pro Kanal). MPEG-2 Advanced Audio Coding wurde im April 1997 zum internationalen Standard erklärt.

MPEG-2 AAC ist ein sehr flexibles Kodierungsschema, dass Sampleraten von 8KHz bis 96KHz bietet. Es ist außerdem möglich, neben Mono und Stereo auch Multichannel Audiodaten mit bis zu 48 Kanälen zu kodieren.

Die MPEG-2 AAC Audiokodierung:
Der AAC-Coder definiert 3 Profile: Das Hauptprofil, das niederkomplexe Profil (LC) und das variable Sampleraten Profil (SRS).

Ein Vergleich der Parameter zwischen AAC und Layer 3 zeigt, dass AAC eine ungefähr doppelt so hohe Frequenzauflösung hat, wie Layer 3 und eine fast doppelt so hohe Anzahl von Bits pro Band hat. Das resultiert aus der Entfernung der kaskadenartigen Filterbank, kombiniert mit einer kürzeren Transformationslänge. Aber bei AAC ist der Responce-Impuls für längere Umwandlungen länger, außerdem gibt es Probleme bei extrem unterschiedlichen Zeitsignalen bei niedrigeren Bitraten (wie bei Sprache). Dieses Problem löst ein eigens dafür entwickeltes Tool von AAC - der TNS, er reduziert diesen Effekt auf eine Minimum.

Neben dem TNS enthält AAC noch weiter Tools, die die Qualität besonders bei niedrigen Bitraten verbessern sollen. Das Prediction Tool (verbessert die Kodierung von intonatorischen Komponenten), das M/S Tool (umstellbarer M/S Stereo) und die hochflexible Intensiv-Stereokodierung.

Übersicht Bitraten:





Quellen:
a) Audio Engineering Society Reprint 4508 (C8) AES
b) Audio Engineering Society Reprint 4129 (D-6) AES
c) Audio Engineering Society Reprint 4386 (N-5) AES
d) ISO-MPEG-1 Audio: A Generic Standart for Coding of High-Quality Digital Audio


veröffentlicht mit freundlicher Genehmigung vom Autor Simon Gude (cy-man)


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04508
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06246
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1154
Comments: 0