Adaptive Delta Pulse Code Modulation - Dydaktyka

Transkrypt

Adaptive Delta Pulse Code Modulation - Dydaktyka
PROGRAMOWANIE APLIKACJI
MULTIMEDIALNYCH
PRZETWARZANIE OBRAZÓW
I DŹWIĘKÓW
wykład 6
KOMPRESJA SYGNAŁÓW
AKUSTYCZNYCH
Prowadzący:
Tomasz Kowalski
Natura i percepcja dźwięków
Dźwięk - zarówno mowa, jak i muzyka, jest z
fizycznego punktu widzenia złożoną falą
akustyczną. Ma ona charakterystyczne cechy,
zależne przede wszystkim od własności źródła
dźwięków oraz warunków, w jakich się rozchodzi.
Podstawowymi parametrami, określającymi
dźwięk w sposób subiektywny są: wysokość i
natężenie.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
2
Natura i percepcja dźwięków
Dźwięki mogą być wysokie lub niskie, słabo
słyszalne bądź bardzo głośne. Mogą rozchodzić
się w wolnej przestrzeni bądź ulegać odbiciom,
tworząc pogłos czy echo.
Miary subiektywne zależą od wykonującego
pomiar, są więc niejednoznaczne - niewymierne
liczbowo. Utrudnia to ocenę i porównywanie
urządzeń. Z tego m.in. powodu ustalono wielkości,
związane z parametrami subiektywnymi, dające
się mierzyć metodami fizycznymi, pozwalające na
obiektywny i wymierny opis odczuć, doznawanych
przy odbiorze dźwięku.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
3
Natura i percepcja dźwięków
Dźwięk jest falą akustyczną czyli drganiami
rozchodzącymi się przede wszystkim w powietrzu.
Każdą falę można przedstawić w postaci wykresu,
obrazującego zmianę jej parametrów w funkcji
czasu bądź odległości od źródła.
Podstawowym dla dźwięku wykresem będzie
przedstawienie zmian natężenia (głośności)
dźwięku w danym punkcie przestrzeni w funkcji
czasu. Najprostszą formą dźwięku jest ton prosty,
a jego przedstawieniem graficznym jest sinusoida.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
4
Natura i percepcja dźwięków
Przebieg sinusoidalny dźwięku charakteryzuje się
częstotliwością oraz natężeniem. Miarą natężenia
dźwięku jest amplituda zmian ciśnienia
akustycznego.
Zmiany tego ciśnienia odnosimy do średniego
ciśnienia akustycznego. Natężenie dźwięku
można podawać w kilku jednostkach, np. jako moc
akustyczną padającą na jednostkę powierzchni
ustawionej prostopadle do kierunku padania fali
(W/m2).
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
5
Natura i percepcja dźwięków
W rzeczywistości najczęściej występują dźwięki
złożone. Nawet proste tony o tej samej
częstotliwości, ale wytworzone przez różne źródła,
np. flet lub fortepian, różnią się barwą.
Wynika to stąd, że oprócz fali o częstotliwości
podstawowej każde źródło dźwięku wytwarza tzw.
sygnały harmoniczne, tj. dodatkowe fale o
mniejszym natężeniu i częstotliwościach na ogół
większych niż podstawowa.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
6
Natura i percepcja dźwięków
Zakres częstotliwości słyszalnych przez człowieka
jest niewielki i zawiera się w umownych granicach
od 20 Hz do 20 kHz.
W praktyce jest on węższy, różny dla różnych
osób i zmniejsza się z wiekiem.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
7
Natura i percepcja dźwięków
Nieco bardziej skomplikowana jest sprawa
głośności.
Własności ucha ludzkiego sprawiają, że dźwięki o
różnej częstotliwości są słyszalne z różnym
natężeniem.
Najbardziej zauważalne jest to dla dźwięków
znajdujących się na granicy słyszalności, dla której
zależność ta jest najsilniejsza. Im dźwięk jest
silniejszy, tym bardziej słyszalność się wyrównuje.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
8
Natura i percepcja dźwięków
Czasowy przebieg sygnału akustycznego może
być zapisany w postaci ciągu wartości liczbowych,
odpowiadających amplitudom sygnału mierzonym
w ustalonych, zwykle jednakowo odległych od
siebie momentach czasu.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
9
Natura i percepcja dźwięków
W wyniku otrzymujemy jednak strumień informacji
rzędu 1,4Mb/s (sygnał stereofoniczny,
próbkowanie z częstotliwością 44,1 kHz, 16 bitów
na próbkę), który sprawia trudności przy
przesyłaniu go w formie cyfrowej na odległość a
ponadto w błyskawicznym tempie wypełnia
pamięć urządzenia przetwarzającego.
Problem oszczędnego kodowania sygnału
akustycznego jest więc centralnym zagadnieniem
warunkującym efektywność cyfrowego
przetwarzania dźwięku.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
10
Model psychoakustyczny
Jest to model zakresu sygnałów słyszalnych, w
którym usunięte zostały wszystkie redundantne
(nadmiarowe) informacje oraz dźwięki
zamaskowane.
W modelu psychaktustycznym przewiduje się
zakres słyszalności od 20Hz-20kHz (dlatego
właśnie większość współczesnych odtwarzaczy
muzyki cyfrowej ma pasmo przenoszenia 20Hz20kHz) i maksymalną czułość od 2kHz do 4kHz.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
11
Model psychoakustyczny
W modelu psychoakustycznym różnica pomiędzy
najcichszym sygnałem a górną granicą
słyszalności wynosi ~96dB. W modelu tym
zależność pomiędzy częstotliwością a czułością
jest następująca:
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
12
Model psychoakustyczny
W modelu psychoakustycznym zostaje określona
specyfikacja maskowania, np. wygenerowany
zostaje sygnał testowy o częstotliwości 1kHz (tzw.
częstotliwość podstawowa (lub główna) i
natężeniu 60 dB i zostaje wyznaczony próg
słyszalność wokół sygnału testowego. Podobną
czynność wykonuje się dla innych sygnałów
testowych.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
13
Model psychoakustyczny
Zastosowana także specyfikacja maskowania
niesymultanicznego (maskowanie czasowe).
Wygenerowany zostaje ton o częstotliwości 1kHz i
natężeniu testowym 60dB. Badane jest
prawdopodobieństwo usłyszenia następujących po
nim dźwięków (o różnych natężeniach). W
zależności od natężenia dźwięku następującego
po tonie maskującym różna jest wartość
opóźnienia.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
14
Model psychoakustyczny
Warto także prześledzić sytuację, kiedy ton
maskujący ma natężenie 60dB, jednakże zmienia
się wartość częstotliwości. Zmiana natężenia tonu
maskującego nie zmieni krzywizn wykresu,
spowoduje jedynie przeskalowanie osi y (poziom
w dB) w skali proporcjonalnej do zmiany wartości
natężenia.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
15
Algorytm SCB
Proces kodowania standardu MPEG opiera się na
metodzie SBC (Sub-Band Coding). Jest to bardzo
silny algorytm używany do wszystkich rodzajów
sygnałów audio.
Metoda SBC posiada pewną zaletę, która stawia
ją powyżej innych metod, a mianowicie fakt, iż w
odróżnieniu od algorytmów bazujących na typie
źródła (jak na przykład LPC – Linear Predictive
Coding), SBC działa niezależnie od strumienia
wejściowego, dlatego może być wykorzystywany
do każdego rodzaju dźwięku.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
16
Algorytm SCB
Warto zauważyć, iż LPC znajduje głównie
zastosowanie przy kodowaniu głosu - dlatego
właśnie większość cyfrowych dyktafonów opiera
swój proces kompresji na algorytmach LPC.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
17
SCB – zjawisko maskowania
MPEG zawdzięcza swój niesamowity
współczynnik kompresji zjawisku zachodzącemu
w ludzkim uchu.
Zjawisko to znane już od wielu lat po raz pierwszy
wykorzystała grupa Moving Pictures Expert Group.
Zauważyli oni, że ludzkie ucho, zdolne odbierać
szeroki zakres częstotliwości, gdy otrzyma dużą
dawkę energii na określonej częstotliwości, staje
się nieczułe na sygnały o zbliżonej częstotliwości,
lecz o wiele mniejszej energii.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
18
SCB – zjawisko maskowania
Zjawisko to zostało nazwane maskowaniem
symultanicznym. W odróżnieniu od maskowania
niesymultanicznego, polegającego na
maskowaniu w czasie (po otrzymaniu dźwięku o
wysokiej energii, ludzkie ucho nie jest w stanie
przez pewien czas odbierać kolejnych sygnałów),
jest to maskowanie częstotliwości.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
19
SCB – zjawisko maskowania
Algorytm SBC jest więc algorytmem kompresji
typu stratnego (lossy), czyli dekodowanie
zakodowanego źródła nie da w wyniku źródła.
Jednakże mimo to ludzkie ucho nie jest w stanie
wychwycić różnicy pomiędzy oryginałem a
zdekodowanym zakodowanym źródłem.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
20
SCB – zjawisko maskowania
Istnieje wąska grupa ludzi – maniaków, którzy z
niemalże 100% skutecznością rozróżniają utwory
z dwóch powyższych grup pod względem jakości,
jednakże potrafią oni także wyczuć różnicę
jakościową dźwięku przesyłanego za pomocą
dwóch różnych przewodów.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
21
SCB – liniowy PCM
Jedną z metod kompresji SBC jest algorytm
linearny PCM (Pulse Code Modulation). Zakłada
on wstępne maskowanie, po czym podczas
dekompresji usunięte sygnały zastępuje cyfrowo
wygenerowanymi szumami.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
22
SCB – liniowy PCM
Niestety stopień kompresji jest wysoce
niezadowalający. Zakodowane sygnały muszą być
przecież "głośniejsze" aby zagłuszyć
wygenerowane szumy, co pociąga za sobą
konieczność zastosowania bitrate’u o wartości co
najmniej 700 kbps. Stopień kompresji wyniesie
więc ok. 1:1.5~2.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
23
SCB – struktura (de)kompresji
Podczas kompresji sygnałów algorytm SBC
wykonuje 5 czynności:
1. Wstępny skaning sygnałów wejścia pod
względem częstotliwości długości
poszczególnych dźwięków
2. Podział sygnałów na grupy
3. Kontrola zgodności z modelem
psychoakustycznym (zarówno sygnałów
oryginalnych jak i zeskanowanych)
4. Kwantowanie i kodowanie sygnałów
5. Rozdzielanie do poszczególnych ramek
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
24
SCB – struktura (de)kompresji
Wstępny skaning wejścia pozwala na odpowiedni
podział sygnałów wejściowych na podzakresy, na
których będą wykonywane dalsze operacje. W
przypadku MPEG-1 Layer 1 są to 32 subpasma.
Podczas wstępnego skaningu dokonuje się
analizy spektrum częstotliwości akustycznych dla
każdego z subpasm. Używa się do tego zestawu
32 filtrów pasmowych bądź algorytmu FFT.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
25
SCB – struktura (de)kompresji
Następnie dokonuje się porównań z modelem
psychoakustycznym. Sygnały leżące poza
zakresem słyszalności ludzkiego ucha są
odrzucane i nie uwzględniane w dalszym procesie.
Podczas procesu kwantowania i kodowania w
MPEG-1 stosuje się głównie blokowe
adaptacyjne przyporządkowywanie bitów ze
stałym współczynnikiem skalowania.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
26
SCB – struktura (de)kompresji
Jednakże precyzja kwantowania MPEG-1 okazała
się zbyt mała i dlatego w MPEG-2 współczynnik
skalowania podczas procesu kwantowania nie jest
ustalony, lecz zmienia się w czasie.
Ponadto w każdym z 32 subpasm dokonuje się
podobny proces jak w przypadku wstępnego
skaningu.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
27
SCB – struktura (de)kompresji
Następnie proces kwantowania i kodowania
zostaje zakończony kwantowaniem
logarytmicznym i segmentacją adaptacyjną.
Na zakończenie procesu kompresji MPEG dla
dźwięku dokonuje się rozdziału do ramek, aby
dekoder mógł poradzić sobie ze strumień danych
w czasie rzeczywistym, podczas którego
następuje jeszcze kompresja danych kodami
Huffmana.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
28
SCB – struktura (de)kompresji
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
29
SCB – struktura (de)kompresji
Proces dekompresji algorytmu SBC jest o wiele
mniej złożony niż kompresji.
Sygnały, które zostały podczas kodowania
rozmieszczone do ramek są teraz odczytywane.
Podczas odczytu danych z ramek są one
dekodowane kodami Huffmana. Kolejną
czynnością jest połączenie sygnałów z 32
subpasm w jedno pasmo główne. Następnie
dokonuje się rekonstrukcji sygnału głównego
poprzez odwrócenie procesu skaningu sygnałów
pod względem ich częstotliwości i długości.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
30
SCB – struktura (de)kompresji
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
31
INNE ALGORYTMY
Kwantyzacja
Najprostszą metodą kompresji dźwięku jest
kwantyzacja, zaliczana do metod stratnych. Błąd
kwantyzacji jest łatwy do zmierzenia i zależy od
liczby poziomów kwantyzacji.
W systemach cyfrowych kwantyzacja jest
używana do konwersji sygnałów analogowych na
postać cyfrową przed zasadniczym procesem
przetwarzania lub zastosowaniem bardziej
zaawansowanych metod kompresji.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
33
Kwantyzacja
W większości przypadków kwantyzacji podlega
tylko jedna próbka w danej chwili czasu. Czasami
stosuje się jednak kwantyzację wektorową, czyli
jednoczesne przetwarzanie ciągu próbek w jedną
wartość liczbową. Metoda ta opiera się silnie na
liniowych, nieliniowych i probabilistycznych
zależnościach pomiędzy kolejnymi próbkami. W
przypadku dźwięku osiąga się w ten sposób
wysoki stopień kompresji dzięki usunięciu
informacji nadmiarowych, jednakże wymaga to
zaangażowania dużej ilości pamięci na bufory
oraz stosowania procesorów sygnałowych.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
34
Kodowanie Huffmana
Jest to bezstratna metoda kodowania
statystycznego, przedstawiona przez Davida A.
Huffman w roku 1952. Wykorzystuje fakt, że
pewne wartości danych występują częściej niż
inne.
Jeżeli zatem zakodujemy częściej występujące
wartości za pomocą krótszych słów kodowych, a
rzadziej występujące za pomocą dłuższych to
sumarycznie ogólna długość zakodowanych
danych będzie krótsza niż przed kodowaniem.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
35
Kodowanie Huffmana
Oznacza to konieczność wprowadzenia
jednoznacznego systemu prefiksów - krótsze
słowo kodowe nie może być początkiem
dłuższego słowa kodowego (np. 110 i 1101001 nie
mogą być jednocześnie słowami kodowymi).
Algorytm konstrukcji kodu Huffmana jest bardzo
prosty. Na początku wszystkie symbole
występujące w wejściowym strumieniu danych są
sortowane w kolejności malejącej według ich
częstości występowania. Stanowią one liście
drzewa binarnego.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
36
Kodowanie Huffmana
Następnie tworzy się nowe węzły poprzez łączenie
dwóch symboli o najmniejszych częstościach
występowania w jeden symbol o częstości będącej
sumą składowych. Algorytm kończy się, gdy
zostanie tylko jeden symbol.
Wystarczy teraz jednoznacznie oznaczyć gałęzie
drzewa (np. wszystkie lewe przez 0 a wszystkie
prawe przez 1) i poczynając od korzenia drzewa
można rozpocząć odczytywanie słów kodowych
dla symboli umieszczonych na liściach.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
37
Kodowanie Huffmana
Istnieją trzy możliwe warianty kodowania metodą
Huffmana:
statyczny: tabela częstotliwości symboli ustalana jest z
góry, niezależnie od tego jakie dane są kodowane.
dynamiczny: w celu wypełnienia tabeli częstotliwościami,
dokładnie dla tych danych które są kodowane, przed
rozpoczęciem kodowania dokonywana jest analiza
częstotliwości symboli w strumieniu wejściowym.
adaptacyjny: wstępne założenia o częstotliwości
występowania symboli zostają w trakcie kodowania
dostosowane do częstotliwości rzeczywiście występujących.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
38
Kodowanie Huffmana
Na początku zakodowanej informacji
przekazywana jest tabela kodowa, która pozwala
na przyporządkowanie kodom odpowiadających
im wartości początkowych.
Celem kodowania statystycznego jest
przekazywanie jednej próbki za pomocą średnio
krótszego ciągu bitów i tym samym redukowanie
ilości danych aż do granic wyznaczanych przez
entropię. Dlatego w przypadku tych metod mówi
się o kodowaniu entropijnym (entropy coding).
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
39
Kodowanie Huffmana
Istnieją trzy podstawowe wady metody Huffmana:
1. Z reguły częstości występowania
poszczególnych symboli nie są znane przed
rozpoczęciem kodowania.
2. Metoda jest nieskuteczna, gdy wszystkie
symbole występują w strumieniu źródłowym z
jednakową częstością.
3. Niemożliwość przewidzenia rozmiaru bufora na
analizowane symbole do zakodowania.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
40
Kodowanie arytmetyczne
Jest to również metoda kodowania bezstratnego,
ale w przeciwieństwie do kodowania Huffmana nie
wymaga, aby każdy symbol był indywidualnie
zakodowany przy użyciu najmniejszej możliwej
ilości bitów.
W większości przypadków pozwala to osiągnąć
wyższy stopień kompresji, bliższy teoretycznej
granicy wyznaczanej przez entropię, jednakże
również wymaga przekazania słownika symboli do
dekodera.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
41
Kodowanie arytmetyczne
Przy kodowaniu arytmetycznym częstości
występowania poszczególnych symboli są
zamieniane w pewien proporcjonalny do ich
wartości zakres prawdopodobieństwa z przedziału
[0,1].
Podczas kodowania kolejnych symboli ze
strumienia danych prawdopodobieństwa te
nakładają się na siebie, tworząc zakres
zmniejszający się proporcjonalnie do wartości
prawdopodobieństw nadchodzących symboli.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
42
Kodowanie arytmetyczne
W rezultacie otrzymujemy jedną liczbę rzeczywistą
dla całego bloku podlegającemu kodowaniu.
Dekodowanie następuje poprzez analizowanie tej
liczby w odwrotnej kolejności.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
43
Metody słownikowe
Są to metody bezstratne, w których ciągi
dowolnych symboli kodowane są za pomocą
pojedynczych odwołań do słownika fraz.
Można te metody podzielić na: statyczne (ze
stałym słownikiem) i dynamiczne (ze słownikiem
fraz tworzonym dynamicznie w trakcie kodowania i
dekodowania).
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
44
Metody słownikowe
Bardzo efektywnym algorytmem z tej grupy jest
algorytm LZ77, opracowany w roku 1977 przez
Lempela i Ziva, będący podstawą działania
programu PKZIP.
Słownik jest tutaj tworzony dynamicznie z
wykorzystaniem okna analizy, podzielonym na
okno słownikowe i okno robocze.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
45
Metody słownikowe
Proces kompresji strumienia danych
napływających do okna analizy polega na
zastępowaniu możliwie długich ciągów symboli z
okna roboczego przez położenie (adres lub
indeks) i długość identycznych ciągów w oknie
słownikowym.
Powstający strumień wyjściowy składa się z tzw.
tokenów zawierających adres ciągu w oknie
słownikowym, długość tego ciągu oraz pierwszy
symbol występujący po ostatnio kodowanym
ciągu.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
46
Metody słownikowe
Przy oknie słownikowym o długości 1024 symboli
(adres 10-bitowy) i oknie roboczym mieszczącym
64 symbole (długość ciągu można zapisać na 6
bitach) można za pomocą 16 bitów opisać dwa
pierwsze pola tokenu.
Jeżeli pojedynczy symbol zajmuje jeden bajt, to
maksymalna kompresja może dać zamiast 64
bajtów tylko 3.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
47
Metody słownikowe
Wady tej metody wynikają z ograniczonej
wielkości okna słownikowego. Dawno użyte
symbole przy napływie nowych danych stopniowo
muszą opuszczać okno, a mogłyby być jeszcze
użyteczne.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
48
Metody słownikowe
Konkurencyjnym algorytm został stworzony w roku
1984 i otrzymał nazwę LZW. Jest obecnie
stosowany przy zapisie skompresowanych plików
graficznych w formacie GIF.
Zrezygnowano tu z okna roboczego a sam słownik
(podobnie jak w LZ77) tworzony jest dynamicznie i
automatycznie odtwarzany po stronie dekodera.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
49
Metody słownikowe
Na początku słownik zostaje wstępnie zapełniony
jednoelementowymi frazami reprezentującymi
wszystkie możliwe symbole wejściowe.
Następnie ze strumienia wejściowego zostaje
wybrany ciąg elementów o maksymalnej długości,
dla którego w słowniku znajduje się identyczna
fraza.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
50
Metody słownikowe
Jest on dodawany do słownika razem z kolejnym
elementem ze strumienia wejściowego. Na wyjście
wyprowadzany jest token zawierający kod (numer)
znalezionego ciągu. Pierwszy symbol po ostatnim
pobranym z wejścia ciągu staje się początkiem
dalej analizowanej sekwencji.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
51
Metody słownikowe
Wadą algorytmu jest to, że słownik bardzo szybko
się rozrasta, co wymusza albo zerowanie słownika
co jakiś czas albo zaprzestanie dokładania do
niego kolejnych fraz.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
52
Metody słownikowe
Wszystkie omówione powyżej metody bezstratne
lepiej nadają się do kompresji tekstów niż do
kompresji cyfrowego dźwięku. Zostały jednak
omówione, gdyż często są wykorzystywane na
ostatnim etapie kompresji – po użyciu metod
stratnych.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
53
DCM
Różnicowa modulacja kodowo-impulsowa
(Differential Pulse Code Modulation - DPCM) to
metoda kompresji stratnej, przeznaczona
specjalnie dla sygnałów dźwiękowych i oparta o
konwencjonalną modulację kodowo-impulsową.
Różnica polega na tym, że koder PCM daje na
wyjściu wartość aktualnej próbki podczas gdy
koder DPCM jedynie wartość reprezentującą
różnicę pomiędzy kolejnymi próbkami.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
54
DCM
Jeżeli częstotliwość próbkowania jest odpowiednio
wysoka, wartości te powinny dać się zakodować
przy pomocy mniejszej liczby bitów niż w
tradycyjnym PCM.
Opierając się na metodach predykcji, koder DPCM
koduje różnicę między przewidywaną i rzeczywistą
wartością każdej próbki.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
55
DCM
Dekoder natomiast odtwarza oryginalny sygnał
akustyczny używając przewidzianej przez siebie
wartości oraz zakodowanej różnicy.
Jak w każdej metodzie predykcyjnej, efektywność
DPCM zależy od zdolności algorytmu predykcji do
nadążania za zmianami w sygnale wejściowym.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
56
DM
Modulacja Delta (Delta Modulation - DM) może
być rozpatrywana jako szczególny przypadek
DPCM. Różnica objawia się tym, że DM używa
tylko jednego bitu do zakodowania różnicy między
wartością przewidzianą a aktualną.
Chociaż ułatwia to bardzo realizację sprzętową
oraz samą operację kodowania, to wymaga jednak
wyższej częstotliwości próbkowania sygnału w
porównaniu do konwencjonalnego PCM.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
57
DM
Poza tym, ponieważ tylko dwie wartości (0 lub 1)
są używane do zakodowania różnicy, wielkość
przyrostu po stronie dekodera jest krytyczna.
Projektując system DM należy zatem dokonać
kompromisu pomiędzy częstotliwością
próbkowania a wspomnianą wielkością przyrostu.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
58
DM
Dla wysokich częstotliwości na wejściu osiągnięcie
odpowiedniej częstotliwości próbkowania staje się
bardzo trudne, a ze względu na istnienie tylko
dwóch poziomów kwantyzacji, błąd kwantyzacji
staje się bardzo widoczny.
Z drugiej strony jednak dekoder DM nie musi
zawierać przetworników A/C i C/A, które mogą
zostać zastąpione przez znacznie tańsze układy
całkujące.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
59
ADM
Adaptacyjna modulacja Delta (Adaptive Delta
Modulation - ADM) to modyfikacja modulacji Delta,
przezwyciężająca kilka jej niedogodności. W
szczególności techniki adaptacyjne zostały tutaj
zaimplementowane w celu zredukowania
zniekształceń impulsowych i błędu kwantyzacji.
Wielkość przyrostu może się zatem zmieniać w
zależności od chwilowych potrzeb.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
60
ADM
Jeżeli sygnał wejściowy zmienia się szybciej,
wielkość przyrostu również wzrasta. Jeżeli sygnał
wejściowy pozostaje w przybliżeniu stały, wielkość
przyrostu jest zmniejszana aby lepiej śledzić
zmiany sygnału z mniejszym błędem kwantyzacji.
Również i w tej metodzie trzeba dokonać
kompromisu pomiędzy złożonością projektu a
dokładnością algorytmu predykcji.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
61
ADPCM
Adaptacyjna modulacja kodowo-impulsowa Delta
(Adaptive Delta Pulse Code Modulation ADPCM), często nazywana również adaptacyjnoróżnicową modulacją kodowo-impulsową
(Adaptive Differential Pulse Code Modulation)
łączy w sobie zalety metod ADM i PCM.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
62
ADPCM
Mówiąc ściśle, jednobitowy schemat kodowania
został zastąpiony schematem wielobitowym. Poza
zwiększeniem ilości poziomów kwantyzacji,
osiągnięto większą dokładność i efektywność przy
generowaniu zmiennej wielkości przyrostu
poprzez przypisanie każdemu poziomowi
kwantyzacji własnego współczynnika
skalowalności.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
63
STANDARD MPEG
MPEG Layer-2
Format ten - jak łatwo się domyślić - poprzedzał
wejście MP3. Zastosowano tu mniej wyrafinowane
algorytmy kompresji.
Używany (obecnie rzadko) tylko wśród
profesjonalistów, gdyż powstało sporo
sprzętowych dekoderów do tego formatu:
zużywa bardzo mało zasobów podczas odtwarzania
niekomercyjny
mało wydajny algorytm kompresji (standardowy bitrate to
192 kbps)

wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
65
MPEG Layer-2
Format MPEG-Audio (Wydanie II) zbudowany jest
podobnie jak algorytm PASC (Precision Adapptive
Subband Coding) firmy Philips, stosowany na
kasetach DCC (Digital Compact Cassete - cyfrowa
kaseta kompaktowa).
Chodzi tu, podobnie jak w przypadku formatu
MPEG-Video, o najefektywniejszą w chwili
obecnej metodę kompresji.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
66
MPEG Layer-2
Punktem wyjścia dla omawianej metody jest
model psychoakustyczny. Jak we wszystkich
algorytmach kompresji pracujących ze stratami,
wykorzystuje się tu niedostatki możliwości
percepcyjnych człowieka.
Z przetwarzanego sygnału usuwa się nie tylko
informacje redundantne (nadmiarowe), lecz także
częstotliwości, które nie będą zauważone. Przy
użyciu 32 filtrów pasmowych analizuje się
spektrum częstotliwości akustycznych z podziałem
na subpasma.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
67
MPEG Layer-2
Sygnały leżące poza zakresem słyszalności
człowieka nie są uwzględniane. Wykorzystuje się
przy tym efekt maskowania - sygnały głośniejsze
zagłuszają sąsiadujące z nimi sygnały słabsze, tak
więc te słabsze są maskowane i nie muszą być
rejestrowane. Może się wiec zmieniać długość
słowa bitowego.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
68
MPEG Layer-2
Stosując format MPEG-Audio można, w
zależności od możliwej szybkości transmisji
danych, uzyskać bardzo rożne efekty. Osiągalna
jest nawet jakość klasy Redbook-Audio - i to przy
o wiele mniejszej prędkości bitowej rzędu 256 kb/s
dla przekazu stereo (dla porównania: prędkość
bitowa dla CD-Audio sięga około 1,4 Mb/s).
Zależnie od rodzaju zastosowania i dostępnego
sprzętu dodatkowego - do wyboru są trzy tzw.
"wydania" formatu MPEG-Audio o różnych
parametrach.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
69
MPEG Layer-2
Wydania I i II formatu umożliwiają uzyskanie, w
oparciu o bank filtrów, wspomnianych wyżej 32
prezentacji subpasmowych sygnału wejściowego,
następnie ich kwantowanie i kodowanie z
uwzględnieniem modelu psychoakustycznego, w
oparciu o który następuje również blokowe
adaptacyjne przyporządkowanie bitów.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
70
MPEG Layer-2
Uwzględniając wszystkie wymogi Wydania I,
Wydanie II realizuje ponadto dalszą kompresję,
eliminując występujące redundancje i dokonując
zmian współczynnika skalowania, umożliwiając
tym samym precyzyjniejsze kwantowanie.
W Wydaniu III każde z subpasm podlega
dodatkowej analizie poprzez wykonanie dla
każdego z nich dodatkowych 12 próbek. Aby
uzyskać większa efektywność kodowania, stosuje
się kwantowanie nieliniowe, segmentację
adaptacyjną i kodowanie metodą Huffmana.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
71
MPEG Layer-2
Skala możliwych prędkości bitowych sięga (dla
obu kanałów) od 64 kb/s do 448 kb/s. Standard
dopuszcza również kodowanie z prędkością 32
kb/s dla jednego kanału. Możliwe częstotliwości
próbkowania wynoszą 44,1 kHz, 48 kHz i 32 kHz.
We wszystkich wydaniach formatu MPEG może
być stosowany specjalny tryb Joint Stereo, który
umożliwia wyszukiwanie w poszczególnych
subpasmach redundantnych informacji, będących
rezultatem trybu stereo.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
72
MPEG Layer-3
Bardziej zaawansowany, złożony i jak dotąd
najpopularniejszy standard – „Layer3” został
opracowany w niemieckim instytucie Fraunhofer, a
konkretnie w departamencie „Audio i Multimedia”,
gdzie około 30 inżynierów pracuje nad rozwojem
oraz implementacja w czasie rzeczywistym
algorytmów przetwarzania sygnałów dla potrzeb
komunikacji audiowizualnej.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
73
MPEG Layer-3
Prace rozpoczęto w roku 1987, przy ścisłej
współpracy z uniwersytetem Erlangen, w celu
opracowania zaawansowanego algorytmu
kodowania sygnałów audio dla przyszłych stacji
nadawczych (np. Eureka 147, DAB radio ). W roku
1991 prace nad algorytmem kodowania „Layer3”
zostały ukończone i stał się on najbardziej
optymalnym sposobem kodowania sygnałów
audio w rodzinie określanej przez
międzynarodowe normy ISO-MPEG.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
74
MPEG Layer-3
Używając tego algorytmu (znanego powszechnie
w internecie jako MP3, ze względu na
rozszerzenie) do kodowania plików audio, jakość
„prawie CD” tj. stereo, 44KHz, 16 bitów, można
uzyskać przy 112 - 128kbps (stopień kompresji
11:1 - 13:1).
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
75
MPEG Layer-3
Wszystkie standardy mpeg audio używają tego
samego schematu kodowania. Może być on
określony jako „maskowanie szumów”.
Koder analizuje widmo sygnału i następnie
dostosowuje go do modelu psuchoakustycznego
poprzez oszacowanie dopuszczalnego,
niesłyszalnego poziomu szumów.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
76
MPEG Layer-3
Koder standardu Layer2 dzieli widmo sygnału ( od
20Hz do 20KHz ) na 32 podzakresy. W każdym
podzakresie zawarta jest część analizowanego
dźwięku. Na przykład, w podzakresie 8 obecny
jest ton o częstotliwości 6500 Hz i poziomie 60dB.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
77
MPEG Layer-3
Obliczany jest wówczas efekt maskujący tego
dźwięku - okazuje się że w obrębie tego
podzakresu maskowane są dźwięki o poziomie
niższym od 35 dB.
Dopuszczalny s/n wynosi zatem 60 - 35 = 25dB.
To odpowiada rozdzielczości 4 bitów.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
78
MPEG Layer-3
Dodatkowo maskowanie występuje również w
podzakresach 9 -13 oraz 5 -7.Maleje ono wraz z
odległością od zakresu 8. W rzeczywistości
dźwięki występują we wszystkich podzakresach i
efekt maskowania sumuje się.
Dodatkowo koder wykorzystuje zmienną czułość
ucha ludzkiego dla różnych częstotliwości. Ucho
jest mniej czułe na wysokie i niskie dźwięki, szczyt
czułości leży w okolicach 2 - 4 kHz.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
79
MPEG Layer-3
W standardzie MPEG Layer2 każdy podzakres
posiada szerokość 750Hz (dla częstotliwości
próbkowania 48kHz), ale lepiej jest gdy
podzakresów jest więcej, oraz są one węższe dla
niskich częstotliwości i szersze dla wysokich.
Layer3 (MP3) posiada 18 razy większą
rozdzielczość i dodatkowo wykorzystuje efekt
maskowania przed i po wystąpieniu silnego
dźwięku.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
80
MPEG Layer-3
Wytłumaczyć go można ograniczonymi
możliwościami mózgu (szybkość transportu
bodźca nerwowego). Przedmaskowanie występuje
w bardzo krótkim czasie od 2 d 5 ms, natomiast
czas maskowania po sygnale to ponad 100 ms
Inną własnością, tym razem sygnału stereo,
wykorzystywaną podczas kompresji to
występowanie korelacji pomiędzy kanałami.
Używany jest wówczas tryb joint-stereo, co więcej
Layer3 redukuje ten nadmiar poprzez użycie
kodowania Huffmana.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
81
MPEG Layer-3
Koder kompresuje dany wycinek sygnału metodą
iteracyjną tak długo aż osiągnie pożądaną
dokładność. W standardach Layer2 i Layer3
prowadzi on obliczenia na odcinkach trwających
24 ms (zawierających 1152 próbek i fs = 48 kHz).
Dla niektórych dźwięków może to stanowić
problem, np. dla sygnału w którym różnica
pomiędzy dźwiękiem bardzo silnym i słabym
wynosi ponad 24 ms (np. wystrzał).
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
82
MPEG Layer-3
Efekt maskowania obliczany jest dla
najsilniejszego dźwięku po którym można usłyszeć
szum kwantyzacji (jest to odbierane przez ucho
jako „szumowe echo”). Layer 3 radzi sobie z tym
poprzez analizę mniejszego okna (4 ms), gdy
koder wykryje powyższą sytuację.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
83
MPEG4
MPEG4 Audio określa także kodowanie dźwięku
naturalnego, dla pasma przesyłania począwszy od
2 kbps. Stosowane są 3 rodzaje kodeków: PARA
(Parametric Codec) dla najniższych
przepustowości, CELP (Code Excited Linear
Predictive) dla średnich, oraz TF (TimeFrequency), zawierający MPEG-2 AAC, który
pozwala na uzyskanie najwyższej jakości dźwięku.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
88
MPEG4
MPEG4 oferuje także nowe możliwości, jak
kontrola szybkości przesyłania i położenia widma
sygnału, wyciszanie błędów oraz skalowalność, w
której skład wchodzi:
•skalowalność prędkości przesyłania (bitrate scalability),
pozwala na przekształcenie określonego strumienia bitów w
strumień o niższej szybkości przesyłania, umożliwiając
bezbłędną transmisję w zmiennych warunkach,
•skalowalność pasma przenoszenia (bandwidth scalability)
gdzie określone części strumienia bitów przesyłają
odpowiednie fragmenty widma sygnału. W gorszych
warunkach możliwe jest zawężenie przesyłanego widma,
bez szkody dla zrozumiałości materiału,
•…
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
89
MPEG4
•…
•skalowalność złożoności kodera (coder complexity
scalability), pozwala koderom o różnym stopniu złożoności
na generowanie poprawnego oraz zgodnego z normą
sygnału,
•skalowalność złożoności dekodera (decoder complexity
scalability), pozwala na poprawne dekodowanie sygnału
przez dekodery o różnym stopniu złożoności Najogólniej,
jakość dźwięku zależy od stopnia złożoności kodera i
dekodera,
•system korekcji błędów (error robustness) umożliwia
dekoderowi korekcję lub ukrycie słyszalnych zniekształceń
spowodowanych błędami w trakcie transmisji.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
90
MPEG4
W MPEG4 jednym ze skalowanych formatów jest
standard BASC (Bit Sliced Arithmetic Coding),
sposób kodowania zbliżony jest do AAC, koder
różni się jedynie ulepszonym modułem
odpowiedzialnym za dynamikę.
Dzięki temu, przy zawężeniu pasma transmisji
poniżej 40 kbps, pogorszenie jakości jest prawie
niezauważalne. W praktyce, podczas transmisji
koder jest w stanie zmieniać pasmo od 16 do 64
kbps, z krokiem 1 kbps.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
91
MPEG4
SAOL (Structured Audio Orchestra Language)
definiuje „orkiestrę” za pomocą poszczególnych
„instrumentów”. Instrument jest to niewielka sieć
danych dla procesora sygnałowego, pozwalająca
na emulację naturalnego brzmienia instrumentu
muzycznego.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
92
MPEG4
SASL (Structured Audio Score Language) jest
używany do tworzenia nowych efektów oraz
zawiera informacje służące modyfikowaniu
istniejącego dźwięku Pozwala na lepszą kontrolę
syntezy oraz bardziej naturalny efekt końcowy. W
przypadku, gdy nie jest wymagana szczegółowa
kontrola, do przesyłania danych o instrumentach
może być wykorzystany protokół MIDI.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
93
MPEG4
W formacie MPEG4 po raz pierwszy pojawia się
także pojęcie "obiektu audio". Najprościej można
go zdefiniować jako słyszalną część docierającego
do odbiorcy materiału dźwiękowego, zakodowaną
za pomocą pojedynczego strumienia bitów. Może
to być np. głos jednego lub kilku mówców, dźwięk
jednego lub kilku instrumentów lub tło akustyczne.
Obiekty audio mogą być grupowane oraz
miksowane, przy czym rozdzielenie pojedynczego
obiektu na mniejsze składowe jest już dosyć
trudne.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
94
MPEG4
Możliwości wykorzystania tego sposobu transmisji
są bardzo rozległe:
•do odbiorcy, poprzez 5 kanałów przesyłany jest dźwięk z
pięciu różnych instrumentów wchodzących w skład
orkiestry. Odbiorca może np. wyłączyć jeden z instrumentów
i grać razem z pozostałymi członkami zespołu,
•…
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
95
MPEG4
•…
•transmisja wydarzeń sportowych w kilku językach
interaktywne filmy oraz aplikacje video, korzystające z
obiektowego opisu sceny, np. w typowej sekwencji z filmu,
rozgrywającej się na dworcu kolejowym, można wyróżnić
kilka obiektów audio:
• rozmowa pomiędzy aktorami, najważniejszy element sceny,
• tło akustyczne, np. gwar dworcowy oraz odgłosy
nadjeżdżających pociągów,
• zapowiedzi speakera o przyjazdach i odjazdach pociągów,
• tło muzyczne (ścieżka dźwiękowa).
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
96
MPEG4
Każdy z obiektów dźwiękowych może być
dowolnie modyfikowany, zależnie od potrzeb. W
trudniejszych warunkach transmisji, możliwe jest
ograniczenie pasma lub całkowite usunięcie
obiektów nie mających wpływu na treść przekazu.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
97
MPEG4
Format MPEG4 oferuje znacznie więcej niż jego
poprzednicy: MPEG1 oraz MPEG2. Oprócz
narzędzi umożliwiających kompresję i przesyłanie
dźwięku naturalnego, wzbogacony został o
możliwości syntezy dźwięku po stronie odbiorcy
oraz skalowania przesyłanego strumienia bitów.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
98
MPEG4
Trwają także prace nad formatem MPEG7, który
ma połączyć większość aplikacji multimedialnych
w jedną całość. Pozwoli to na łatwe zarządzanie
multimedialnymi zasobami Internetu:
wyszukiwanie, sprzedaż lub udostępnianie
utworów oraz filmów.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
99
MPEG Layer-3 PRO
W mp3 pro zastosowano prosty i skuteczny
jednocześnie trik: program dzieli dźwięk na dwa
odrębne strumienie. Pierwszy to częstotliwości 0 11 kHz (czyli jakość pliku wav o częstotliwości
22kHz), drugi to strumień 11-22 kHz (tony
wysokie). Przypominam, że częstotliwość
słyszalna jest dwa razy mniejsza od częstotliwości
próbkowania w pliku. Np. audio CD ma 44.1
kHz/16bit dźwięk, więc słychać max. do 22 kHz (w
praktyce ludzkie ucho wyłapuje częstotliwości od
20Hz do 19kHz, więc do przechowywania dźwięku
na CD wystarczyłoby próbkowanie 38kHz).
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
100
MPEG Layer-3 PRO
Takie rozdzielenie jak się okazało daje o wiele
lepsze rezultaty, niż zakodowanie wszystkiego
naraz. Plik mp3 pro 64 kbps ma jakość zbliżoną
do mp3 112 kbps.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
101
MPEG Layer-3 PRO
Muzyka skompresowanej do formatu mp3 przy
128 kbps brzmi świetnie. Ale wraz ze
zmniejszeniem bitrate’u zaczyna brakować
wysokich częstotliwości. Przy bitrate 64 kbps i
niżej muzyka może zacząć brzmieć kiepsko.
Powodem tego jest to, że mp3 przy tak niskich
bitrate'ach zaczyna brakować bitów, aby
skompresować muzykę w pełnym paśmie
dźwiękowym i detalach.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
102
MPEG Layer-3 PRO
W tej sytuacji twórcy mp3 musieli zdecydować,
czy ich kodek powinien produkować mp3 ze
zniekształceniami (tak zwane „artefakty
kodowania”), czy z ograniczonym pasmem
przenoszenia. Zdecydowali się na ograniczenie
pasma.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
103
MPEG Layer-3 PRO
Tak więc w rezultacie otrzymujemy mp3 o niskim
bitrate'cie jako muzykę z ograniczonym pasmem
przenoszenia z niewielką ilością zniekształceń.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
104
MPEG Layer-3 PRO
Aby polepszyć jakość dźwięku przy niskich
bitrate'ach, Coding Technologies opracowało
rozszerzenie, które pozwala odtworzyć wysokie
częstotliwości. Ta technologia nazywa się Spectral
Band Replication (SBR). SBR jest bardzo wydajną
metodą służącą do generowania wysokich
częstotliwości sygnału audio.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
105
MPEG Layer-3 PRO
Łącząc mp3 z technologią SBR uzyskujemy
sygnał audio zawierający wysokie częstotliwości
przy niskich bitrate'ach. Mp3PRO, uzyskany
format audio składa się z dwóch składowych,
części mp3 dla niskich częstotliwości i części SBR
lub "PRO" dla wysokich częstotliwości. Ponieważ
część "PRO" wymaga jedynie kilku kbps, nowy
format mógł zostać stworzony w sposób, który
wciąż jest kompatybilny z oryginalnym mp3.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
106
MPEG Layer-3 PRO
Pozwala to na odtwarzanie plików mp3PRO za
pomocą już istniejących odtwarzaczy mp3. Po
prostu ignorują one część PRO. Jedynym
wymogiem jest, aby wspierały odtwarzanie
próbkowania 16, 22.5 i 24 kHz wraz z 32, 44.1 i 48
kHz.
wykład 6: KOMPRESJA SYGNAŁÓW AKUSTYCZNYCH
107