Digitale Audioformate
Referent Stephan Lehmann
Digitale Audioformate2
Wozu das Ganze ?
Speicherung und Archivierung von Audiodaten
Übertragung (ISDN, Internet )
Digitale Audioformate3
Was braucht man dafür ?
Eine digitale Repräsentation für die Audio-Daten
Möglichkeiten zur Datenreduktion
Digitale Audioformate4
Digitalisierung
Abtasten Quantisieren Kodieren
Digitale Audioformate5
Abtastung
Signalstärke wird regelmäßig gemessen
Digitale Audioformate6
Quantisierung
Umwandlung Spannungswerte > Zahlenwerte
Digitale Audioformate7
Kodierung
Zahlenwerte werden binär kodiert
Digitale Audioformate8
Qualität
abhängig von Anzahl der Quantisierungsstufen Abtastrate
Digitale Audioformate9
Platzbedarf
Bitrate/s = Abtastrate/Hz * Bits/Abtastwert
Beispiel Audio-CD 44,1kHz * 2 * 16bit = 1,4 MBit/s Speicherbedarf bei 60 min : 635 MB
Digitale Audioformate10
Datenmengen
44,1 kHz 22 kHz 11 kHz
16 Bit 1408 kBit 704 kBit 352 kBit
12 Bit 1056 kBit 528 kBit 264 kBit
8 Bit 704 kBit 352 kBit 176 kBit
Digitale Audioformate11
Übliche Abtastraten
8 kHz für Videokonferenz 32 kHz für Rundfunk 44,1 kHz für Audio-CD 48 kHz für DVD
Digitale Audioformate12
Übliche Quantisierungen
8-16 Bit PC 16 Bit Audio-CD 24 Bit Tonstudio
Digitale Audioformate13
Realisierung
PCM (Pulse Code Modulation) Telefonsystem CD/DVD digitaler Rundfunk etc…
Digitale Audioformate14
Lineares PCM
gleichmäßige Verteilung der Quantisierungsstufen
Digitale Audioformate15
Kompressionsmöglichkeiten
verlustfrei Run-Length-Encoding Pattern Matching Statistische Verfahren
verlustbehaftet Redundanz- / Irrelevanzreduktion
Digitale Audioformate16
Psychoakustik
Informationen, die vom Gehör unter bestimmten Umständen nicht wahrgenommen werden, können weggelassen werden.
begrenzter Frequenzbereich Maskierung / Verdeckung frequenzabhängiges
Lautstärkeempfinden
Digitale Audioformate17
Frequenzbereich
Schallbereich Frequenz
Infraschall <16 Hz
Hörbarer Schall 16 Hz bis 16 kHz
Ultraschall 16 kHz bis 10 Mhz
Hyperschall >10 MHz
Digitale Audioformate18
Maskierung
2 Personen unterhalten sich ein Flugzeug fliegt vorbei wenn sie sich in der gleichen
Lautstärke sprechen würden, könnten sie sich nicht mehr verstehen
Digitale Audioformate19
Verdeckung
wenn nach einem lauten Ton ein leiser folgt ist er am Anfang schlecht zu hören
Digitale Audioformate20
Frequenzabhängiges Lautstärkeempfinden
Mit höherer Frequenz erscheinen Töne lauter (bis zu einem best. Punkt)
Digitale Audioformate21
Weber-Fechnersches Grundgesetz der Psychophysik
Ein Reiz (Rx) muß gegenüber einem Schwellenreiz (Ro) logarithmisch wachsen, wenn er als stärker empfunden werden soll
Digitale Audioformate22
Anwendung der Psychoakustik bei Dynamischem PCM
leise Geräusche werden vom Mensch differenzierter wahrgenommen als Laute
also müssen leise Werte genauer quantisiert werden als laute
Digitale Audioformate23
Dynamisches PCM
Logarithmische Verteilung der Quantisierungsstufen
Digitale Audioformate24
Dynamisches PCM
Umrechnen der linearen Samplewerte in Logarithmische nennt man Kompandierung
µ-Law Kompander (Amerika/Japan) A-Law Kompander (Europa)
Digitale Audioformate25
µ-Law Kompander
Sµ=Log(1+255*S)/log(256)
S – Linearer Samplewert zwischen 0 und 1
Sµ - Logarithmischer Samplewert
Digitale Audioformate26
A-Law Kompander
SA = A · S/(1 + ln A) wenn S ≤ 1/A
SA = (1 + ln (A · S))/(1 + ln A) wenn 1/A ≤ S ≤ 1
A = 87,6
Digitale Audioformate27
Dynamisches PCM
gleiche Datenrate wie lineares PCM, aber bessere Qualität
Digitale Audioformate28
Differential PCM (DPCM)
Bei hoher Abtastfrequenz sind die Unterschiede zwischen 2 Samples klein
Statt Samplewerten werden deshalb Sampleänderungen erfasst
Digitale Audioformate29
Differential PCM (DPCM)
Digitale Audioformate30
Differential PCM (DPCM)
Folge : man benötigt weniger Bits zum Kodieren der Samplewerte
Problem bei schnellen großen Änderungen
Digitale Audioformate31
Differential PCM (DPCM)
es sollen viele kleine und wenige große Änderungen in möglichst wenig Bits kodiert werden
eine Lösung : Kodierungstabellen
Bitwert -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7
ÄnderungFibonacci
-34 -21 -13 -8 -5 -3 -2 -1 -0 1 2 3 5 8 13 21
ÄnderungExponential
-128 -64 -32 -16 -8 -4 -2 -1 0 1 2 4 8 16 32 64
Digitale Audioformate32
Differential PCM (DPCM)
feste Menge von möglichen Änderungswerten.
zu ungenau !
Digitale Audioformate33
Adaptive Differential PCM (ADPCM)
Änderungswerte werden deshalb an die Signalform angepasst
andere Möglichkeit ist die Einführung eines Vorhersagewertes wobei immer die Differenz zwischen diesem und dem echten Wert gespeichert wird
Digitale Audioformate34
Adaptive Differential PCM (ADPCM)
bei großen Signaländerungen braucht man große Änderungswerte
bei kleinen Signaländerungen braucht man kleine Änderungswerte
Anpassung mittels Faktor (Schrittweite)
Digitale Audioformate35
Adaptive Differential PCM (ADPCM)
Man betrachtet die vorherigen Samplewerte
Differenzen werden größer -> großer Faktor
Differenzen werden kleiner -> kleiner Faktor
Digitale Audioformate36
IMA ADPCM
Standard für ADPCM-Dateien
IMA – Interactive Multimedia Association
Kleinere Kompression als MPEG aber sehr schnell
Digitale Audioformate37
Funktionsweise
IMA ADPCM benutzt 4 Bits je Sample
Nach jedem Sample wird die Schrittweite neu berechnet
Der 4Bit-Wert mal der aktuellen Schrittweite entspricht dem Unterschied zwischen zwei Originalsamples
Digitale Audioformate38
Berechnung der Schrittweite
Jeder 4Bit-Wert besteht aus Vorzeichenbit und 3 Wertebits
Wertebereich -7 bis +7 zugeordnet folgender Tabelle
Digitale Audioformate39
Berechnung der Schrittweite
Die Indexänderung bezieht sich auf eine 2. Tabelle in der Schrittweiten gespeichert sind
Ändert sich der 4Bit-Wert wenig, dann ändert sich auch die Schrittweite wenig
4Bit- -7 -6 -5 -4 -3 -2 -1 -0 0 1 2 3 4 5 6 7
Index-änderung
8 6 4 2 -1 -1 -1 -1 -1 -1 -1 -1 2 4 6 8
Digitale Audioformate40
Berechnung der Schrittweite
IMA ADPCM Schrittweiten-Tabelle (7 Bits)7 8 9 10 11 12 13 14 16 17
19 21 23 25 28 31 34 37 41 45
50 55 60 66 73 80 88 97 107 118
130 143 157 173 190 209 230 253 279 307
337 371 408 449 494 544 598 658 724 796
876 963 1060 1166 1282 1411 1552 1707 1878 2066
2272 2499 2749 3024 3327 3660 4026 4428 4871 5358
5894 6484 7132 7845 8630 9493 10442 11487 12635 13899
15289 16818 18500 20350 22385 24623 27086 29794 32767
Digitale Audioformate41
Kodierung / Dekodierung
Kodierung 4Bit-Wert=Unterschied geteilt
durch die aktuelle Schrittweite Dekodierung
Änderung=4Bit-Wert mal der aktuellen Schrittweite
Digitale Audioformate42
Beispiel Kodierung
Letzter Samplewert = 12368 Schrittweite = 1878 Nächster Samplewert = 10000 Differenz = -2368 Gespeichert wird -2368/1878 = -1 Schrittweitenindex-1 Nächste Schrittweite = 1707
Digitale Audioformate43
Beispiel Dekodierung
Letzter Samplewert = 12368 Schrittweite = 1878 Eingelesen wird eine -1 -1*1878=-1878 Also Samplewert=12368-1878=10490 Schrittweitenindex-1 Nächste Schrittweite = 1707
Digitale Audioformate44
Problem !
Woher bekommt der Decoder
die aktuelle Schrittweite den aktuellen Samplewert
wenn die Audio-Wiedergabe mittendrin starten soll ?
Digitale Audioformate45
Lösung
Audiostream wird in Pakete aufgeteilt
Am Anfang jeden Paketes steht der letzte Samplewert und die aktuelle Schrittweite
Digitale Audioformate46
Struktur
Pakete bestehen aus Kopf (2-8 Bytes) Sampledaten (n*4 Bit)
Digitale Audioformate47
Implementierungen
Keine genauere Spezifizierung durch die IMA
-> verschiedene Implementierungen MS-ADPCM (Microsoft) AIFF-C / Quicktime (Apple)
Digitale Audioformate48
Microsoft
Paketkopf (32 Bit) Startsample (8/16 Bit) Aktuelle Schrittweite (8 Bit) 0-Byte
Paketdaten Unterschieden nach Mono/Stereo
Digitale Audioformate49
Microsoft
Mono Paket Format
Kopf Sample 1 Sample 2 Sample 3 Sample 4 Sample 5 …
Stereo Paket Format
Kopf links
Kopf rechts
Sample 1 links
Sample 1 rechts
Sample 2 links
Sample 2 rechts
…
Digitale Audioformate50
Apple
Paketkopf (16 Bit) Startsample (obere 9 Bit) Aktuelle Schrittweite (7 Bit)
Paketdaten Immer 64 Samples Extra Pakete für Rechts/Links
Digitale Audioformate51
Vergleich
MS-ADPCM beliebige Paketgröße weniger Overhead bei großen
Paketen AIFF-C
einfacher da nur eine Form von Paketen
Digitale Audioformate52
WAVE - FORMAT
Implementation der RIFF-Spezifikation Ressource Interchange File Format
Entwickelt von Microsoft (übernommen von Electronic Arts AIFF)
Weit verbreitet auf PC-Systemen
Digitale Audioformate53
RIFF - Format
Allgemeines Format für Multimediadaten
Bilder Videos Sound etc
Digitale Audioformate54
RIFF Aufbau
Besteht aus Teilpaketen (Chunks) z.B. WAVE,AVI
Jeder Chunk kann aus Subchunks zusammengesetzt sein
hierarchische Struktur
Digitale Audioformate55
Chunks bei WAVE
Besteht aus einem Chunk „WAVE“
Dieser besteht aus 2 Subchunks fmt-Chunk (Format) data-Chunk (Daten)
Digitale Audioformate56
Aufbau WAVE
Digitale Audioformate57
Aufbau WAVE
ChunkID enthält die Zeichen "RIFF" ChunkSize 36 + SubChunk2Size Format enthält die Zeichen "WAVE„ Subchunk1ID enthält die Zeichen "fmt „ Subchunk1Size 16 für PCM, das ist die
Größe des Subchunk1, ab hier gezählt
Digitale Audioformate58
Aufbau WAVE
AudioFormat Lineares PCM = 1, andere Werte bedeuten Kompression
NumChannels Mono = 1, Stereo = 2, etc. SampleRate 8000, 44100, etc. ByteRate = SampleRate * NumChannels *
BitsPerSample/8 BlockAlign = NumChannels *
BitsPerSample/8
Digitale Audioformate59
Aufbau WAVE
BitsPerSample 8 bits = 8, 16 bits = 16, etc. Subchunk2ID enthält die Zeichen "data" Subchunk2Size = NumSamples *
NumChannels * BitsPerSample/8
Digitale Audioformate60
Beispieldatei WAVE
Digitale Audioformate61
Literatur
Telematik-Vorlesung A programmers guide to sound
1998 Addison Wesley Das PC-Tonstudio: von der Aufnahme und
Verarbeitung mit dem PC bis zur Master-CD 1998 Franzis
www.rasip.fer.hr/research/compress www.physio.mu-luebeck.de/vorlesung/_private/sinne/
sinnesphysiologie.pdf