[Amiga][Down]

[ german ] [ english ]
[Scene] {}
 
[Special] 

| MP3 |
 
 

[Cover]
[Editorial]
[Inhalt]
[News]
[Hardware]
[Software]
[Workshop]
[Spiele]
[Special]
[Feedback]
[Etc]


MP3 - Grundlagen

 
MP3 hat sich als Kompressionsstandard für Musik auf so ziemlich jeder Plattform durchgesetzt, aber die wenigsten wissen, welch ungeheurer Aufwand und dahintersteckt - es ist wie mit dem Telefon, jeder benutzt es, kaum einer weiß, wie es funktioniert.

 
Ziel dieses Artikels ist es, das Geheimnis um MP3 ein wenig zu lüften.

Zuallerst, MP3 heißt eigentlich MPEG 1 Layer 3, aber da die PC-Fritzen immer noch ihre Probleme mit langen Dateianhängseln haben, wurde daraus *.MP3 (Windows erkennt Dateien nur an ihrer Endung, eine .doc ist ergo eine Word-Datei eine .xls ein Excel und eine .würg eine Würg-Datei :-) )

 

Wer steckt dahinter?

 
Entwickelt wurde MP3 am Fraunhofer-Institut in Erlangen in Kooperation mit der TU-Erlangen für das sogenannte EUREKA-Projekt seit 1987 (so neu ist es also auch wieder nicht, wie mancher glauben möchte). Als Vater des Verfahrens gilt Dr. Ing. Karlheinz Brandenburg, derzeit Abteilungsleiter des Bereichs Audio- technik und Multimedia beim Fraunhofer IIS ( http://www.iis.fhg.de/amm ).

Ziel von EUREKA war unter anderem die relativ hohe Datenrate eines Audio-PCM-Signals wie z.B. einer CD mit mehr als 180 kByte/s drastisch zu reduzieren. Mit den bisherigen, nicht verlustbehafteten Algorithmen war dies nicht mehr zu verwirklichen, daher wurde der Schwerpunkt auf ein Verfahren gerichtet mit dem Ziel einen hohen, verlustbehafteten Kompressionsgrad mit möglichst geringer Qualitätseinbuße zu entwickeln. Aus diesem Denkansatz heraus wurde das MPEG-Codier-Verfahren für Audio und Video entwickelt, welches im Audiobereich als MPEG 1 Layer 1 bekannt wurde.

Eine der kommerziellen Anwendung war die digitale Kompaktkassette (DCC) von Philips, die dank MP1 mit einem Viertel der ursprünglichen Datenmenge auskam. Die MiniDisc von Sony verwendet übrigens ein ähnliches nicht MPEG-konformes Verfahren mit einem Faktor von ca. 1:5.

 

Die weitere Entwicklung

 
Bald darauf wurde der Standard MPEG 1 Layer 2 verabschiedet, der mit besserer Kompression auftrumpfte, nur um anschließend von MPEG 1 Layer 3 in Pension geschickt zu werden. Das neue an MP3 war, daß hier nicht die verfügbare Rechenleistung, sondern der erreichbare Kompressionsfaktor entscheidender Entwicklungsschwerpunkt war.


Layer und Datenraten

CD  1:1          180 kB/s           (Stereo, 16 Bit, 44.1 kHz)
L1  1:4          48 kB/s            (Stereo, 16 Bit, 44.1 kHz)
L2  1:6 - 1:8    32 kB/s - 24 kB/s  (Stereo, 16 Bit, 44.1 kHz)
L3  1:10 - 1:12  16 kB/s - 14 kB/s  (Stereo, 16 Bit, 44.1 kHz)

 
Die neueste Technolgie ist MPEG-2 AAC (Advanced Audio Encoding) und wird eine konsequente Weiterentwicklung von MP3 sein. AAC bietet neben wesentlich verbesserter Kodiereffizienz (gleiche Audioqualität bei höherer Kompressions- rate) zusätzliche Funktionalitätsmerkmale, wie Unterstützung von mehreren Programmen mit bis zu 48 Kanälen oder Abtastraten von 8 bis 96 kHz und vieles mehr. Im Gegensatz zu MP3 sollen auch keine freien, unlizenzierten AAC Decoder toleriert werden, womit das Verfahren woll für den Amiga nicht besonders interessant sein wird (außer Amiga Inc. lizenziert das Verfahren und baut es direkt in das NG AmigaOS ein).

 

Wie funktioniert MPEG denn nun?

 
Die Grundlage für alle Arten der Audiokodierung bildet die Psychoakustik. Diese Wissenschaft beschäftigt sich mit allem, was mit physikalischen Meßmethoden nicht ohne weiteres erfaßbar ist. Maßgeblich ausgenutzt wird der sogenannte Verdeckungseffekt, der prinzipiell in zwei Formen auftritt. Dem Menschen ist es nicht möglich, zwei frequenzmäßig benachbarte Töne mit einem gewissen Pegelunterschied aufzulösen, wobei der leisere Ton nicht wahrgenommen wird und somit nicht explizit mit übertragen werden muß.

[MP3 Simul Mask]
 
Die unterste, grüne Kurve zeigt, welcher Schalldruck (SPL) erforderlich ist, um eine bestimmte Frequenz noch hören zu können (Hörschwelle). Ein Ton von 1 kHz und 80 dB verändert die Hörschwelle drastisch. Der Kurvenverlauf 80 entspricht dem "maskierten" Bereich. Bei etwa 2 kHz ist schon ein Schallpegel von 50 dB (statt 10 dB) nötig, damit dieser Ton neben dem lauteren 1-kHz-Signal überhaupt wahrnehmbar ist. Ein leiser Ton mit ähnlicher Frequenz wie ein lauteres Signal ist ab einer bestimmten Grenze verdeckt, weshalb man ihn ganz weglassen kann. Genau dies macht ein MPEG-Encoder.

Die Auflösung (der Rauschabstand) wird dynamisch an die sich ändernden Signale angepaßt d.h. im für das Gehör nicht wahrnehmbaren Bereich verringert. Die Fähigkeit der Anpassung beruht auf einer Aufsplittung des gesamten Frequenzbereichs in 32 Frequenzbänder (Layer 1 und 2), welche bei Layer 3 ihrerseits in weitere 18 Teilbereiche pro Frequenzband unterteilt sind. Der Encoder reduziert erst dann, wenn sich der Informationsgehalt mit der vorgegebenen Bitrate nicht mehr übertragen läßt. Ein 1-kHz-Sinus bei 128 kBit/s zeigt sich dementsprechend unverändert, da eine solche einfache Information problemlos in den Bitstrom paßt. Erhöht man die Frequenzanteile, steigt der Informationsgehalt und damit das Maß der erforderlichen Reduktion. Abhängig von der Qualität des verwendeten Algorithmus kann nun ein Encoder mit entsprechendem Rechenaufwand die Signale auswerten und manipulieren. Die höchste Qualität liefert natürlich der Fraunhofer Encoder, der bis zu einer Frequenz von 20 kHz arbeitet, während der populäre Xing Encoder schon bei 16 kHz begrenzt und in den restlichen Frequenzbereichen weniger sauber arbeitet - dafür ist er auch ca. um den Faktor 2 schneller!

Ferner existiert noch ein zeitlicher Verdeckungseffekt was zur Folge hat, daß unmittelbar vor und hinter einem überdurchschnittlich lautem Ton die leiseren Passsagen nicht wahrgenommen werden. Das Gehör benötigt sowohl bei lauten als auch leisen Geräuschen eine "Erholungszeit" (Recovery Time), bis es wieder voll funktionstüchtig ist.

Damit stehen den Encodern für dynamische Signale zwei wichtige Funktionsprinzipien zur Verfügung, um auf digitaler Ebene zwischen unhörbaren und hörbaren Signalen unterscheiden zu können.

Die bisher beschriebenen Prinzipien der Maskierung reichen aus, um die Bitrate auf 32 kByte/s zu drücken. Daraus ergibt sich ein Verhältnis von 1:5 mit CD-Klang. Für eine noch stärkere Veringerung der Datenrate auf 16 kByte/s sind weitere Verfahren notwendig. Da man diese Bitrate normalerweise mit Stereomaterial anwendet, ergibt sich der nächste Ansatzpunkt von selbst: eine (unhörbare) Reduzierung der Stereoinformationen. Prinzipiell ergibt sich der Stereoeindruck durch Phasen- und Pegeldifferenzen zwischem linkem und rechtem Kanal. Der Mensch bestimmt die Richtung eines Schallereignisses je nach Frequenz unterschiedlich. Tiefe Töne sind nicht ortbar (Subwoofer-Prinzip), mittlere Töne werden durch eine Kombination aus Lautstärkeunterschied und Zeitpunkt des Eintreffens am linken und rechten Ohr geortet, hohe Frequenzen dagegen nur noch über den Lautstärkeunterschied.

Unter dem Begriff "Joint Stereo Coding" benutzt der Fraunhofer Encoder unterhalb von 32 kByte/s zunächst eine der grundlegendsten Funktionen der Stereotechnik, die Mitte/Seite-Kodierung. Das Stereo-Signal wird dabei in ein Mitten- (L+R) und ein Seitensignal (L-R) zerlegt. Da das Seitensignal sehr viel weniger Information enthält, ergibt sich verglichen mit zwei vollwertig zu verarbeitenden Stereo-Kanälen eine reduzierte Datenmenge. Zusammen mit der Reduzierung der räumlichen Abbildung um irrelevante Informationen lassen sich so reichlich Daten sparen.

Bei noch geringeren Datenraten unter 8 kByte/s kommt schließlich zusätzlich das "Intensity Stereo Coding" zum Einsatz. Hier werden ab einer bestimmten Frequenz nur noch ein Summenkanal und Richtungsinformationen (pro Frequenzband) übertragen. Das bringt angesichts der geringen Datenraten ein qualitativ gutes Ergebnis, bewirkt jedoch schon deutliche Differenzen zum Original.

 

Was läuft nun im Encoder ab

 
Die Audiodaten durchlaufen zuerst die Filterbänke. Die dadurch enstehenden Teildatenströme werden im Quantisierer (mit quantisieren meint man das je nach Anforderung unterschiedlich genau Auflösen des Frequenzbandes) und Coder den zur Verfügung stehenden Bits zugewiesen. Die Auflösung beträgt damit dynamisch zwischen 2 und 15 Bit (von ursprünglich 16 Bit). Die Steuerung dieser Zuweisung erfolgt über eine Art Maskierungsdatenbank, welche sämtliche vorhandenen Möglichkeiten der Maskierung kennt.

Diese Datenbank wird durch aufwendigste Testverfahren mit Testperson mit ausgezeichnetem Gehör angelegt. Bisher war es unmöglich das menschliche Gehör und seine Wahrnehmung klassisch-meßtechnisch zu erfassen. Aufgrund der Fortschritte in der Digitaltechnik und den DSPs existieren inzwischen erste vielversprechende Ansätze, die unterstützend bei der Entwicklung und Verbesserung der Encoder wirken.

Die Suche nach der bestmöglichen Maskierungsart für das anliegende Signal ist sehr zeitaufwendig und hauptsächlich für die Dauer einer Kodierung verantwortlich. In einer schrittweisen Annäherung (Iteration) versucht die Erkennungslogik diese Suche zu optimieren.

Zu guter Letzt sorgt eine Huffman-Kodierung, wie sie beispielsweise bei Packprogrammen verwendet wird, für eine Unterdrückung redundanter Bits (z.B. Bits ohne oder gleichen Informationsgehalts) im Datenstrom.

 

Der Decoder hat´s leicht...

 
Dekodieren ist dagegen vergleichsweise einfach. Obwohl die Filterung des ursprünglichen Signals rückgängig gemacht werden muß, entfällt eine Suche nach der passenden Maskierungsmethode komplett. Auf heutigen Rechnern läuft das Dekodieren ohne sonderliche CPU-Belastung im Hintergrund ab (außer man hat einen lahmen 68k Prozessor). Außerdem ist der Decoder fest definiert, Verbesserungen des Verfahrens finden somit nur auf Encoderseite statt.

 

Encodieren schnell wie der Wind...

 
Auf dem PC läßt die Auswahl von verschiedenen Anbietern keine Wünsche offen, auf dem Amiga sieht es schon etwas bescheidener aus. Momentan sind mir nur 3 brauchbare Encoder bekannt, unter anderem Lamer und Encode. Letzerer ist kommerziell bei Titan-Software erhältlich und sollte daher auch entsprechende Qualität (dem Fraunhofer Encoder vergleichbar) bieten. Diese Aufzählung erhebt keinesfalls den Anspruch auf Vollständigkeit und ist auch nicht Gegenstand dieses Artikels. Sobald die ersten kommerziellen Encoder lieferbar sind, werden wir einen Testbericht dazu abliefern.

 

Die Konkurrenz - MS Audio

 
Wie immer versucht Micro$oft auch diesen Markt für sich zu erobern und in ein von ihnen angeführtes Monopol zu überantworten. Kräftig die Werbetrommel klopfend und die Marketingmaschinerie anwerfend kommt der fußlahme Riese aus Redmond auf den erschreckten User zugestapft und droht mit erhobenem Finger: "Unser Audiostandard ist vieeel besser als MP3 und schneller sind wir auch, beim codieren!"

Da stellt sich natürlich die Frage, wie machen die das in dieser kurzen Zeit? Wie schon früher erwähnt, ist die Optimierung des Codierverfahrens eine sehr aufwendige Sache und da kommt man schon ins Grübeln, ob die Patente...

Die Ergebnisse vom Fraunhofer Institut sind überall bestens dokumentiert und veröffentlicht - hier läßt sich fremdes Know-how wunderbar ausschlachten. Interessant ist auch, daß Micro$oft bisher keinerlei Patente angemeldet hat.

Wie von verschiedenen Seiten zu hören war, konnte MS Audio von der Qualität her gegenüber MP3 nicht wirklich überzeugen, die Geschwindigkeit liegt in etwa bei der des Xing Encoders, bei allerdings schlechteren Ergebnissen.

 

Das Ende

 
Auf dem Amiga brauchen wir vor diesen Dingen jedenfalls keine Angst zu haben, es steht nicht zu erwarten, daß M$ sein MS Audio auf den Amiga umsetzt... MP3 hat jedenfalls seine Berechtigung und wird vielen Usern lange Freude bereiten (immerhin bekommt man 10 Stunden Musik auf eine CD).

Robert Niessner     [ german ]    
Tom Lively     [ english ]    


- http://www.mp3.de/
- http://www.mp3.com/faq/
- http://www.mp3-online.de/
- http://mp3.free-web.de/mp3/technik.html
- http://www.iis.fhg.de/amm/index.html
 
[Up]   {}