Wykład 2

Transkrypt

Wykład 2
Reprezentacje danych
multimedialnych - dźwięk
1.
2.
3.
4.
Podstawowe fakty
Próbkowanie
Kwantyzacja
Formaty plików
Dźwięk – podstawowe fakty
• Dźwięk – ciągła fala zgęszczeń i rozrzedzeń rozchodząca
się w powietrzu
• Wykazuje normalne własności falowe (odbicie, ugięcie
itp.)
• Prędkość rozchodzenia w powietrzu
v(T) = ( 331 + T [°C] ) m/sek
• Charakterystyki fali: częstotliwość, amplituda
• Człowiek moŜe słyszeć dźwięki z zakresu częstotliwości:
16 Hz ÷ 20 kHz (długości fal 21.3 m ÷ 1.7 cm).
Dźwięk – podstawowe fakty c.d.
Miara intensywności:
SPL = 10 log(P/P0) dB,
P0 = 10-12 W/m2
Intensywność – nieliniowa funkcja mocy (podwojenie
mocy to zmiana o 10 log(2) dB = 3 dB
Przykładowe intensywności:
•
•
•
•
•
•
0 dB – próg słyszalności
30 dB – cichy dom
60 dB – biuro, rozmowa
80 dB – głośna ulica
120 dB – koncert rockowy; dyskomfort
140 dB – granica bólu
Digitalizacja
Rejestrując dźwięk uzyskujemy sygnał analogowy.
V
t
Digitalizacja – zamiana na dyskretny ciąg liczb.
Dyskretna siatka w kierunku czasowym – próbkowanie, w
kierunku sygnału – kwantyzacja.
t
1 3 4 5 6 3 0 -3 -4 1 3 1 0 2 0 -4 0
Jakość digitalizacji
ZaleŜy od ilości poziomów kwantyzacji i częstości
próbkowania
Kwantyzacja – zaleŜy od ilości bitów przeznaczonych na
reprezentację numeru progu kwantyzacji
Kwantyzacja N-bitowa – 2N poziomów
8 bitów – 256 poziomów kwantyzacji
16 bitów – 65536 poziomów kwantyzacji
Błąd kwantyzacji = wartość sygnału – wartość najbliŜszego
poziomu kwantyzacji ≤ połowa odległości między poziomami
Jak często naleŜy próbkować?
fo
fp = fo
fp = 1.5 fo
aliasing
Aliasing
• Gdy częstość próbkowania za mała – przekłamania w
odtworzeniu częstości z próbek – aliasing
f alias = f samp − f true , dla
f true < f samp < 2 f true
• Ogólnie: obserwowana częstość – najniŜsza moŜliwa
częstość sinusoidy, która ma te same próbki co dana
sinusoida wejściowa
fsamp = 8 kHz
Twierdzenie Nyquista
H.Nyquist (1928), C.E. Shanon (1949)
Aby móc dokładnie odtworzyć ciągły sygnał o ograniczonym paśmie z
jego próbek, naleŜy zastosować częstość próbkowania równą co
najmniej podwojonej najwyŜszej częstości sygnału.
Wnioski:
– aby przenieść całe pasmo akustyczne naleŜy wziąć fp ≥ 40 kHz
(stosuje się 44.1 kHz)
– aby dobrze przenieść mowę (100 Hz ÷ 3.5 kHz) naleŜy wziąć
fp ≥ 7 kHz (stosuje się 8 kHz)
– aby uniknąć aliasingu naleŜy zastosować filtr dolnoprzepustowy z
częstością obcięcia fo = fp/2
Jakość kwantyzacji
Dla układów analogowych miara jakości sygnału – SNR:
SNR = 10 log (Vs2 / Vn2)
Miara jakości kwantyzacji – SQNR:
SQNR = 10 log (Vs2 / Vqe2)
Dla kwantyzacji N-bitowej:
sygnał: – 2N-1 ÷ 2N-1
błąd kwantyzacji: ½ (w najgorszym razie)
SQNR = 20 log(2N) = N * 20 log(2) = 6.02 * N (dB)
N=8,
SQNR = 48 dB
N=16,
SQNR = 96 dB
Filtrowanie audio
Przed próbkowaniem i konwersją AD – filtr pasmowy
(dolnoprzepustowy, 2 fhigh < fobc < fsamp )
Po stronie dekodera DA pojawiają się znów wysokie
częstości – konieczny filtr dolnoprzepustowy
Kwantyzacja nieliniowa
Do tej pory – przedziały kwantyzacji równej szerokości
(kwantyzacja liniowa)
Nie odpowiada to ludzkiej wraŜliwości – prawo Webera
(związek miedzy zmianą wraŜenia i zmianą sygnału):
∆s
∆r ∝
s
Po scałkowaniu:
r = k ln(s / s0 )
Ze względów percepcyjnych – lepiej kwantyzować tak, by
uzyskać równe odstępy w r (więcej poziomów tam, gdzie
większa wraŜliwość
Kwantyzacja nieliniowa – c.d.
Nieliniowa transformacja od sygnału s do teoretycznej
wielkości r; kwantyzacja jednorodna w r
Najczęściej stosowane w telefonii:
• u-law (USA, Japonia)
• A-law (Europa)
Kwantyzacja nieliniowa – c.d.
Jakość – przepustowość
Typ
fp
[kHz]
Bit/
prób.
Ile
kan.
Pasmo
Przep.
[kB/s]
1 min.
danych
Telefon
8
8
1
200 –
3.400 Hz
8
480 kB
CD
44.1
16
2
20 Hz –
20 kHz
172.3
10 MB
DVD
audio
192
(max)
24
(max)
6
0 – 96
kHz
1200
(max)
70 MB
(max)
Typowe formaty danych:
*.wav, *.aiff, *.au – pliki kodowane PCM dla Windows,
Mac, Unix
*.mp3, *.ra, *.wma, *.ogg – formaty strumieniowe
Format WAVE
Opracowany przez Microsoft format zapisu audio –
szczególny przypadek specyfikacji RIFF (pochodnej EA
IFF)
Ogólna struktura pliku – nagłówek specyfikujący typ i
rozmiar pliku, szereg róŜnego rodzaju porcji (chunks)
opisujących strukturę i wartości danych
W WAVE – obowiązkowe porcje typu ”fmt ” i ”data”;
segment formatu musi poprzedzać dane.
Wszystkie liczby specyfikowane w porządku od
najmłodszego do najstarszego bytu (little endian).
Formaty AIFF i AU – podobne
4
4
4
ChunkID
ChunkSize
Format
napis "RIFF"
rozmiar pozostałej części pliku
napis "WAVE"
================================================================================
4
4
2
2
4
4
2
2
2
X
Subchunk1ID napis "fmt "
Subchunk1Size rozmiar ozostałej części porcji (16 dla PCM)
AudioFormat
PCM = 1 (i.e. Linear quantization)
NumChannels Mono = 1, Stereo = 2, etc.
SampleRate
8000, 44100, etc.
ByteRate
= SampleRate * NumChannels * BitsPerSample/8
BlockAlign
= NumChannels * BitsPerSample/8
BitsPerSample 8 bits = 8, 16 bits = 16, etc.
ExtraParamSize gdy PCM, to tego nie ma
ExtraParams
ewentualne dodatkowe dane (gdy nie PCM)
================================================================================
4
4
*
Subchunk2ID napis "data"
Subchunk2Size = NumSamples * NumChannels * BitsPerSample/8
Data
dane próbek dźwięku
Format WAVE – c.d.
Dodatkowe fakty:
• Dane próbek muszą się mieścić w parzystej liczbie bajtów
• Próbki 8-bitowe są składowane jako liczby bez znaku: 0 .. 255
• Próbki 16-bitowe są składowane jako liczby ze znakiem: -32768
.. 32767
Przykład: nagłówek pewnego pliku ma postać:
52 49 46 46 24 08 00 00 57 41 56 45 66 6d 74 20 10 00 00 00 01 00
02 00 22 56 00 00 88 58 01 00 04 00 10 00 64 61 74 61 00 08 00 00
00 00 00 00 24 17 1e f3 3c 13 3c 14 16 f9 18 f9 34 e7 23 a6 3c f2 24
f2 11 ce 1a 0d