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