Digitale Audioformate Referent Stephan Lehmann. Digitale Audioformate 2 Wozu das Ganze ? Speicherung...

Preview:

Citation preview

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

Recommended