Reprezentacje danych multimedialnych - dźwięk 1. Podstawowe fakty 2. Próbkowanie 3. Kwantyzacja 4. 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/p 0 ) db, P 0 = 10-12 W/m 2 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
V Digitalizacja Rejestrując dźwięk uzyskujemy sygnał analogowy. 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 2 N 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ć?
f o f p = f o f p = 1.5 f o aliasing
Aliasing Gdy częstość próbkowania za mała przekłamania w odtworzeniu częstości z próbek aliasing f = f f, dla f < f < 2 alias samp true true samp 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 f samp = 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ąć f p 40 khz (stosuje się 44.1 khz) aby dobrze przenieść mowę (100 Hz 3.5 khz) naleŝy wziąć f p 7 khz (stosuje się 8 khz) aby uniknąć aliasingu naleŝy zastosować filtr dolnoprzepustowy z częstością obcięcia f o = f p /2
Jakość kwantyzacji Dla układów analogowych miara jakości sygnału SNR: SNR = 10 log (V s2 / V n2 ) Miara jakości kwantyzacji SQNR: SQNR = 10 log (V s2 / V qe2 ) Dla kwantyzacji N-bitowej: sygnał: 2 N-1 2 N-1 błąd kwantyzacji: ½ (w najgorszym razie) SQNR = 20 log(2 N ) = N * 20 log(2) = 6.02 * N (db) N=8, N=16, SQNR = 48 db SQNR = 96 db
Filtrowanie audio Przed próbkowaniem i konwersją AD filtr pasmowy (dolnoprzepustowy, 2 f high < f obc < f samp ) 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): Po scałkowaniu: r s s 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 f p [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 172.3 10 MB 20 khz 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 ChunkID napis "RIFF" 4 ChunkSize rozmiar pozostałej części pliku 4 Format napis "WAVE" ================================================================================ 4 Subchunk1ID napis "fmt " 4 Subchunk1Size rozmiar ozostałej części porcji (16 dla PCM) 2 AudioFormat PCM = 1 (i.e. Linear quantization) 2 NumChannels Mono = 1, Stereo = 2, etc. 4 SampleRate 8000, 44100, etc. 4 ByteRate = SampleRate * NumChannels * BitsPerSample/8 2 BlockAlign = NumChannels * BitsPerSample/8 2 BitsPerSample 8 bits = 8, 16 bits = 16, etc. 2 ExtraParamSize gdy PCM, to tego nie ma X ExtraParams ewentualne dodatkowe dane (gdy nie PCM) ================================================================================ 4 Subchunk2ID napis "data" 4 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