Semesterarbeit und Spezialgebiet für Informatik
Von Volker Heiselmayer
Thema: Audioformate
Teil 2:
MP3
Inhalt
1. Definition.......... 3
2. Geschichte...... 3
3. Audiokompression 3
1. Kompressionsalgorithmus 3 46534hrv91gkj2k
2. Die Filterbank 4
3. Das Perseptionmodel 4
4. Joint Stereo 4
5. Quantelung und Kodierung 4 rk534h6491gkkj
6. Qualität....... 4
4. Dateiformat...... 5
1. Der Header. 5
1. Bitrate. 5
2. Samplingfrequenz 6
3. Audiomodus 6
4. Erweiterter Modus 6
5. JsBound 6
6. Emphasis 6
7. Berechnung der Framelänge 6
5. Tags................. 7
1. ID3.................. 7
1. ID3 V 1.0 7
2. ID3 V 1.1 8
3. ID3 V 2.2 8
1. Main Header 8
2. Extended Header 9
3. Frames 9
4. ID3 V 2.3 10
2. Lyrics.......... 10
1. Lyrics V 1.0 10
2. Lyrics V 2.0 11
6. Bedeutung von Mp3........ 11
7. Vorteile............ 11
8. Nachteile......... 11
9. Mp3 im Internet 12
1. Napster....... 12
2. Gnutella...... 12
3. iMesh.......... 13
4. Scour.......... 13
5. Mp123.......... 14
10. Die Frage der Legalität 14
11. Software ........ 15
1. CD-Ripper... 15
2. Encoder...... 15
3. Decoder...... 15
4. Player......... 15
5. Konverter......... 15
6. Tools............ 15
12. Hardware....... 16
1. Tragbare Mp3-Player 16
2. Standgeräte 16
13. Nachfolger: Mpeg 2 – AAC 16
14. Microsofts Antwort auf Mp3 17
15. Quellen................................. 18
1. Definition
Mp3 ist die Abkürzung für MPEG 2 Layer 3. MPEG steht für Motion Pictures Experts Group, einem Algorithmus, der für die Bildkomprimierung entwickelt wurde. Mp3 ist die komprimierte Tonspur eines Mpeg Videos.
Die Forschungen an der MPEG-I Audiokompression werden in drei sogenannte Layer unterteilt, wobei MPEG-I Layer 1 die ältesten und MPEG-I Layer 3 die jüngsten Forschungsergebnisse präsentiert. Die Komplexität der Kodierung und Verringerung der Dateigröße bei gleichbleibender Qualität steigen von Layer 1 zu Layer 3
2. Geschichte
Im Jahre 1987 begann die Frauenhofer IIS-A an einem Kompressionsalgorithmus zu arbeiten, der auf einem Projekt (EU147) der EUREKA aufbaute. In Kooperation mit der Universität Erlangen (Prof. Dieter Seitzer) entstand ein sehr guter Algorithmus, der als ISO-Mpeg Audio Layer-3 Standart veröffentlicht wurde.
3. Die Audiokompression, EnCoding
Man mag glauben, dass der Mp3-Algorithmus Audiodaten richtig komprimiert. Das ist nicht ganz korrekt. Mp3-Daten sind in Wirklichkeit nicht komprimiert wie etwa ZIP- oder RAR-Dateien. Der Grundgedanke für den Mp3-Algorithmus ist Reduktion, d.h. dass Frequenzen, die das menschliche Ohr nicht mehr wahrnehmen kann, einfach herausgefiltert werden. Das menschliche Ohr kann nur Frequenzen bis etwa 20.000 Hz wahrnehmen. Ein erheblicher Teil von Audiodaten beinhalten solch hohe Frequenzen. Je nach Stärke der Kompression (eigentlich Reduktion), lassen sich unkomprimierte Audiodateien auf bis zu einem Zwanzigstel der ursprünglichen Grösse schrumpfen. Allerdings steigt mit der Stärke der Komprimierung auch der Qualitätsverlusst. Denn mit jeder Stufe der Kompression wird die Grenze für die zu filternden Frequenzen hinauf- oder heruntergesetzt. Bei hohen Kompressionen wird z.B. die Grenze auf 18.500 Hz herab gesetzt, also alle Frequenzen über 18.500 Hz werden herausgefiltert. Dies ist dann im Endprodukt hörbar und oft ist die Datei dann nur mehr Datenmüll, weil die Qualität dann viel zu gering ist.
Ohne Kompression bestehen typische Audiosignale aus 16 Bit Samples, die mit eines Samplingrate von etwa 44.1 kHz (Audio CD) aufgenommen wurden. So benötigt eine Sekunde in stereo CD-Qualität mehr als 1.400 mBit (175kByte) Daten. Mit einer Mp3 Kompression schrumpft die Datenmenge auf 128 kBit (16kByte). Dies ist etwa ein Elftel der unkomprimierten Daten.
1:4 |
Layer 1 (384 kbps, stereo) |
1:6..1:8 |
Layer 2 (256..192 kbps, stereo) |
1:10..1:12 |
Layer 3 (128..112 kbps, stereo) |
3.1. Der Kompressionsalgorithmus
3.2. Die Filterbank
Die Filterbank, die im MPEG Layer-3 Algorithmus benutzt wird, ist eine Hybrit-Filterbank, die aus einem Multiphasenfilter und einem veränderten MDCT (Discrete Cousine Transform, ) besteht. Diese Hybritform wählte man deswegen, um die Kompatibilität mit den Vorgängern, Layer-1 und Layer-2, zu gewährleisten.
3.3. Das „Wahrnehmungs“-Modell (Perceptual model)
Dieses Modell bestimmt die Qualität einer gegebenen Encoder-Implementation. Es benutzt entweder eine separate Filterbank oder kombiniert die Berechnungen der Energiewerte (für maskierte Berechnungen) und der Hauptfilterbank. Die Ausgabe besteht aus Werten für die Frequenzmarke oder der erlaubten Lautstärke für jeden Codeblock. Wenn die Lautstärke unter der erlaubten Grenze gehalten werden kann, ist das Ergebnis der Kompression vom Original nicht zu unterscheiden. Wie schon der Name sagt, werden in diesem Teil des Algorithmusses alle diejenigen Frequenzen markiert, die das menschliche Ohr nicht mehr wahrnehmen kann.
3.4. Joint Stereo
Wenn in einem Stereosignal ein Teil eines Kanals ähnlich einem Teil des anderen Kanals ist, wird nur einer der Teile gespeichert. Damit kann die Bitrate erheblich heruntergesetzt werden. Joint Stereo wird benutzt, wenn nur niedere Bitraten möglich sind, aber ein Stereosignal benötigt wird.
3.5. Kodierung
Ein System von zwei Schleifen sind die Hauptlösung für die Kodierung eines Layer-3 Encoders.
Die innere Schleife benutzt die Codetabelle des Huffmann Kompressionsalgorithmusses, da dieser kleinere Datenpackete zuweist. Diese Schleife wird so oft ausgeführt, bis die resultierende Datenmenge den gegebenen Voraussetzungen entspricht.
In der äusseren Schleife verringert die Stärke der Geräusche. Auch hier wird die Datenmenge an die gegebene Bitrate angepasst.
3.6. Qualität
Hier ein paar typische Daten für MPEG Layer-3:
Qualität |
Bandbreite |
Modus |
Bitrate |
Reduktionsfaktor |
Telefon |
2.5 kHz |
mono |
8 kbps* |
96:1 |
Besser als Kurzwelle |
4.5 kHz |
mono |
16 kbps |
48:1 |
Besser als AM-Radio |
7.5 kHz |
mono |
32 kbps |
24:1 |
FM-Radio |
11 kHz |
stereo |
56..64 kbps |
26:1..24:1 |
Fast CD |
15 kHz |
stereo |
96 kbps |
16:1 |
CD |
> 15 kHz |
stereo |
112..128 kbps |
14:1..11:1 |
* Hier wird eine nicht ISO Erweiterung des MPEG-Algorithmusses verwendet, um eine höhere Performance zu
erzielen (MPEG 2.5).
4.Das MP3 Dateiformat
Im wesentlichen besteht eine MP3-Datei aus einem Header und einem Datenteil. Der Datenteil besteht wiederum aus sogenannten Frames, die die Audiodaten beinhalten. Jeder dieser Frames enthält, wie auch die Datei selber einen Header, der üblicherweise gleich dem Main-Header ist. Dieser Frameheader wird hauptsächlich zur Synchronisation benutzt.
4.1. Der Header
Der Header jeder MP3-Datei besteht aus 32 Bit. Dieser Header bildet auch den Anfang jedes Frames.
AAAAAAAA AAAABCCD EEEEFFGH IIJJKLMM
|
|
Bits |
Werte |
Beschreibung |
A |
12 |
Immer 0xFFF |
Synchronisationsdaten |
B |
1 |
1 = mpeg 1.0, 0 = mpeg 2.0 |
Mpeg Version, ID |
C |
2 |
4-layer = Layer I,II oder III |
Layer |
D |
1 |
0 = ja, 1 = nein |
Fehlerschutz |
E |
4 |
<siehe Tabelle weiter unten> |
Bitrate |
F |
2 |
<siehe Tabelle weiter unten> |
Sampling Frequenz |
G |
1 |
|
Padding |
H |
1 |
<siehe Tabelle weiter unten> |
Erweiterung |
I |
2 |
<siehe Tabelle weiter unten> |
Audiomodus |
J |
2 |
Benutzt mit „joint stereo“ |
Erweiterter Modus |
K |
1 |
0 = nein, 1 = ja |
Copyrightbit |
L |
1 |
0 = nein, 1 = ja |
Originalbit |
M |
2 |
<siehe Tabelle weiter unten> |
Emphasis |
4.1.1. Bitrate
Die Bitrate ist die Datenmenge, die eine Sekunde Musik benötigt. Diese wird in KiloBit pro Sekunde (kBps, kBit) angegeben. Diese Datenmenge ist je nach Art der Komprimierung unterschiedlich.
Mpeg 1.0:
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
Layer 1 |
32 |
64 |
96 |
128 |
160 |
192 |
224 |
256 |
288 |
320 |
352 |
384 |
416 |
448 |
Layer 2 |
32 |
48 |
56 |
64 |
80 |
96 |
112 |
128 |
160 |
192 |
224 |
256 |
320 |
384 |
Layer 3 |
32 |
40 |
48 |
56 |
64 |
80 |
96 |
112 |
128 |
160 |
192 |
224 |
256 |
320 |
Mpeg 2.0: