W poprzednim wpisie na blogu, Rahul mówił o kodekach audio i transkodowaniu, z których niektóre „kompresują” audio w celu zaoszczędzenia miejsca na dysku. Ale co dokładnie robią te kodeki audio w zakresie kompresji i co w ogóle decyduje o jakości pliku audio?
Jeśli chodzi o przetwarzanie audio, istnieje wiele terminologii, którą większość ludzi słyszała wcześniej, ale tak naprawdę nie rozumie. Kiedyś byłem jedną z tych osób, zanim musiałem pracować nad przetwarzaniem audio. W związku z tym, chciałem omówić niektóre z tych terminów, opisać czym są i pokazać co oznaczają dla jakości nagrania lub strumienia audio. Dla reszty tego postu, założymy, że mamy do czynienia tylko z jednym kanałem nieskompresowanego audio.
(1) Sampling Rate / Sampling Frequency
Pierwszym terminem, o którym często słyszymy jest częstotliwość próbkowania lub częstotliwość próbkowania, które odnoszą się do tej samej rzeczy. Niektóre z wartości, z którymi mogłeś się spotkać to 8kHz, 44.1kHz, i 48kHz. Czym dokładnie jest częstotliwość próbkowania pliku audio?
Częstotliwość próbkowania odnosi się do liczby próbek dźwięku nagrywanych co sekundę. Jest ona mierzona w próbkach na sekundę lub hercach (w skrócie Hz lub kHz, gdzie jeden kHz to 1000 Hz). Próbka audio to po prostu liczba reprezentująca zmierzoną wartość fali akustycznej w określonym punkcie w czasie. Bardzo ważne jest, aby pamiętać, że próbki są pobierane w równych odstępach czasowych w ciągu sekundy. Na przykład, jeśli częstotliwość próbkowania wynosi 8000 Hz, nie wystarczy, że będzie 8000 próbek w ciągu sekundy; muszą one być pobrane w odstępie dokładnie 1/8000 sekundy. Liczba 1/8000 w tym przypadku będzie nazywana interwałem próbkowania (mierzona w sekundach), a częstotliwość próbkowania jest po prostu odwrotnością mnożnikową tego.
Częstotliwość próbkowania jest analogiczna do częstotliwości odświeżania lub FPS (klatek na sekundę) pomiaru dla filmów. Wideo jest po prostu serią obrazów, zwykle nazywanych w tym kontekście „klatkami”, wyświetlanych od tyłu bardzo szybko, aby dać złudzenie (przynajmniej nam, ludziom) ciągłego, nieprzerwanego ruchu lub ruchu.
Choć częstotliwość próbkowania audio i częstotliwość klatek wideo są podobne, zwykłe minimum liczbowe dla zagwarantowania użyteczności w każdym z nich jest bardzo różne. Dla wideo, minimum 24 klatek na sekundę jest wymagane w celu zagwarantowania, że ruch jest przedstawiony dokładnie; mniej niż to, a ruch może wydawać się poszarpany, a iluzja ciągłego, nieprzerwanego ruchu nie może być zachowana. Jest to tym bardziej prawdziwe, im więcej ruchu występuje pomiędzy klatkami. Ponadto, wideo z 1 lub 2 klatek na sekundę może mieć „ułamki sekund” zdarzeń, które są gwarantowane, aby być pominięte między klatkami.
Dla dźwięku, minimalna liczba próbek na sekundę do jednoznacznego reprezentowania mowy angielskiej jest 8000 Hz. Używanie mniej niż to spowodowałoby mowę, która może nie być zrozumiała z wielu powodów, z których jednym jest to, jak podobne wypowiedzi nie będą rozróżnialne od siebie. Niższe częstotliwości próbkowania mylą fonemy, lub dźwięki w języku, które mają znaczną energię wysokiej częstotliwości; na przykład, z 5000 Hz, trudno jest odróżnić /s/ od /sh/ lub /f/.
Skoro wspomnieliśmy o klatkach wideo, innym terminem wartym rozwinięcia jest termin klatek audio. Chociaż próbki audio i ramki audio są mierzone w hercach, nie są one tym samym. Ramka audio jest grupą próbek audio dla instancji czasu, które pochodzą z jednego lub więcej kanałów audio.
Najczęstsze wartości dla częstotliwości próbkowania to wspomniane 8kHz (najbardziej powszechne dla komunikacji telefonicznej), 44.1kHz (najbardziej powszechne dla płyt CD z muzyką), i 48kHz (najbardziej powszechne dla ścieżek dźwiękowych w filmach). Niższa częstotliwość próbkowania oznacza mniejszą ilość próbek na sekundę, co z kolei oznacza mniejszą ilość danych audio, ponieważ istnieje mniejsza ilość punktów próbkowania do reprezentowania dźwięku. Częstotliwość próbkowania jest wybierana dla danej aplikacji w zależności od tego, jakie artefakty akustyczne muszą być uchwycone. Niektóre artefakty akustyczne, takie jak mowa, wymagają niższej częstotliwości próbkowania niż artefakty akustyczne, takie jak melodia muzyczna na płycie CD. Ważne jest, aby zauważyć, że wyższe częstotliwości próbkowania wymagają więcej miejsca w pamięci i mocy obliczeniowej do obsługi, chociaż to może nie być tak duży problem teraz, jak to było w dawnych czasach, kiedy pamięć cyfrowa i moc obliczeniowa były pierwszorzędne.
(2) Głębokość Próbki / Precyzja Próbki / Rozmiar Próbki
Oprócz częstotliwości próbkowania, która jest ile punktów danych audio mamy, istnieje również głębokość próbki. Mierzona w bitach na próbkę, głębia próbki, (znana również jako precyzja próbki lub wielkość próbki), jest drugą ważną właściwością pliku audio lub strumienia, i reprezentuje poziom szczegółowości, lub „jakości” każdej próbki. Jak wspomnieliśmy powyżej, każda próbka audio jest tylko liczbą, i podczas gdy posiadanie wielu liczb jest pomocne w reprezentacji audio, potrzebujesz również zakresu lub „jakości” każdej indywidualnej liczby, aby była wystarczająco duża, aby reprezentować każdą próbkę lub punkt danych dokładnie.
Co oznacza „jakość”? Dla próbki audio oznacza to po prostu, że próbka audio może reprezentować wyższy zakres amplitudy. Głębokość próbkowania 8 bitów oznacza, że mamy 2^8 = 256 różnych amplitud, które każda próbka audio może reprezentować, a głębokość próbkowania 16 bitów oznacza, że mamy 2^16 = 65,536 różnych amplitud, które próbka audio może reprezentować, i tak dalej dla wyższych głębokości próbkowania. Najbardziej powszechne głębokości próbkowania dla telefonii audio to 16 bitów i 32 bity. Im więcej różnych amplitud w cyfrowym nagraniu, tym bliżej cyfrowe nagranie brzmi do oryginalnego wydarzenia akustycznego.
Znowu, to jest analogiczne do 8bit lub 16bit liczb, o których możemy usłyszeć w odniesieniu do jakości obrazu. Dla obrazów lub filmów, każdy piksel w obrazie lub ramce wideo ma również liczbę bitów do reprezentowania koloru. Większa głębia bitowa w pikselu daje piksel, który jest bardziej dokładny kolorystycznie, ponieważ piksel ma więcej bitów do „opisania” koloru, który ma być reprezentowany na ekranie, a piksel lub obraz ogólnie będzie wyglądał bardziej realistycznie do tego, jak można go zobaczyć w prawdziwym życiu. Bardziej technicznie, głębia bitowa piksela wskazuje, jak wiele różnych kolorów może być reprezentowanych w pikselu. Jeśli pozwolisz, aby każdy z kolorów R, G i B był reprezentowany przez 8-bitową liczbę, wtedy każdy piksel jest reprezentowany przez 3 x 8 = 24 bity. Oznacza to, że istnieje 2^24 ~ 17 milionów różnych kolorów, które mogą być reprezentowane przez ten pixel.
(3) Bit Rate
Tying częstotliwość próbkowania i głębokość próbkowania razem jest szybkość bitowa, która jest po prostu produkt obu. Ponieważ częstotliwość próbkowania jest mierzona w próbkach na sekundę, a głębokość próbkowania jest mierzona w bitach na próbkę, jest więc mierzona w (próbkach na sekundę) x (bity na próbkę) = bity na sekundę, w skrócie bps lub kbps. Warto zauważyć, że ponieważ głębokość próbki i szybkość transmisji są powiązane, często, choć błędnie, są używane zamiennie.
Bitowa szybkość transmisji w audio różni się w zależności od aplikacji. Aplikacje, które wymagają wysokiej jakości dźwięku, takie jak muzyka, zazwyczaj mają wyższą szybkość bitową dając wyższą jakość, lub „ostrzejszy” dźwięk. Dźwięk telefonii, włączając w to dźwięk centrów obsługi telefonicznej, nie wymaga wysokiego bitrate’u, a więc bitrate dla zwykłej rozmowy telefonicznej jest zazwyczaj znacznie niższy niż dla muzycznej płyty CD. Zarówno dla częstotliwości próbkowania jak i szybkości bitowej, niższe wartości mogą (dosłownie) brzmieć gorzej, ale ponownie, w zależności od zastosowania, niższe wartości oszczędzają miejsce w pamięci i/lub moc obliczeniową.
Podsumowując, co tak naprawdę oznacza kompresja, jeśli chodzi o audio? Skompresowane formaty audio, takie jak AAC lub MP3 mają bit rate, który jest mniejszą liczbą niż rzeczywisty iloczyn częstotliwości próbkowania i głębokości próbkowania. Formaty te osiągają to poprzez „chirurgiczne” usunięcie informacji ze strumienia bitów na podstawie percepcji, co oznacza, że — w dynamicznych kontekstach — te częstotliwości lub amplitudy, które nie są słyszalne przez ludzkie ucho z powodów biologicznych, nie są przechowywane, prowadząc do ogólnego mniejszego rozmiaru pliku.
Wyrazy uznania dla Kornela Laskowskiego, Głównego Naukowca Voci, za przejrzenie szczegółów technicznych tego artykułu.