Kodowanie podpasmowe
Transkrypt
Kodowanie podpasmowe
Kodowanie podpasmowe
Plan
1.
2.
3.
4.
Zasada
Filtry cyfrowe
Podstawowy algorytm
Zastosowania
Zasada ogólna
Rozkład sygnału źródłowego na części składowe (jak w
kodowaniu transformacyjnym)
Wada kodowania transformacyjnego – sztuczny podział na
bloki. Problemy z rekonstrukcją na krawędziach bloków
Tutaj: sposób rozdziału – rozkład na róŜne pasma
częstotliwościowe za pomocą filtrów cyfrowych
Kodowanie kaŜdego pasma oddzielnie
Główny obszar zastosowań: kodowanie mowy (G.722),
dźwięku (MPEG audio)
Składowe częstotliwościowe sygnału
Przykład:
Widoczne komponenty o róŜnej zmienności:
Szybkozmienna składowa krótkofalowa
Wolnozmienna składowa długofalowa (linia przerywana)
Wyznaczenie składowej wolnozmiennej – średniowanie
próbek w przesuwającym się oknie
Przykład
Chcemy zakodować ciąg xn :
10
14
10
12
14
8
14
12
10
8
10
12
Próbki skorelowane – moŜliwość uŜycia DPCM. Ciąg
róŜnic:
10
4
-4
2
2
-6
6
-2
-2
-2
2
2
Gdy kwantyzujemy z głębokością m bitów, to:
m
Ilość poziomów rekonstrukcji: M = 2
Szerokość kroku kwantyzacji: ∆ = 12 / M
Maksymalny błąd kwantyzacji: εq = ∆ / 2 = 6 / M
Przykład – c.d.
Rozkładamy na składowe o róŜnej zmienności:
x n + x n −1
,
2
yn =
z n = xn − y n =
x n − x n −1
2
Ciągi yn i zn. Ich znajomość pozwala znaleźć xn = yn + zn
10
12
12
11
13
11
11
13
11
9
9
11
0
2
-2
1
1
-3
3
-1
-1
-1
1
1
Kodowanie zn – bezpośrednia kwantyzacja; yn - DPCM
10
2
0
-1
2
-2
0
2
-2
-2
0
2
Przykład – c.d.
Zmienność yn i zn wyraźnie mniejsza niŜ zmienność xn
Przykład – c.d.
Maksymalne błędy kodowania:
Dla róŜnic yn : 2/M
Dla ciągu zn : 3/M
Maksymalny błąd rekonstrukcji : 5/M czyli mniej niŜ błąd
kodowania róŜnic xn
Problem: przekazując ciągi yn i zn musimy określić 2 x
więcej danych niŜ dla samego ciągu xn
Rozwiązanie: wystarczy przekazać np. tylko parzyste
elementy:
x2 n + x2 n −1
,
2
y 2 n + z 2 n = x2 n ,
y2 n =
x2 n − x2 n −1
2
y2 n − z2 n = x2 n −1
z2n =
Przykład – podsumowanie
Rozdział sygnału na składową o niskich i wysokich
częstościach ( xn yn , zn )
Wydzielenie tych składowych – liniowe operacje na
sygnale wejściowym
Aby rozkład nie spowodował zwiększenie ilości danych –
sygnały wtórne poddajemy dziesiątkowaniu (przekazujemy
tylko co drugi element)
Sygnały wtórne – róŜne charakterystyki, kodowane w
róŜny sposób (DPCM, PCM).
Rozdział sygnału – mniejsze zniekształcenia – lepsza
kompresja
Filtry
Filtry – układy słuŜące wyodrębnieniu składowych o
odpowiednich częstotliwościach
Charakterystyka filtra – funkcja przenoszenia modułu
Rodzaje filtrów:
Dolnoprzepustowe
Górnoprzepustowe
Środkowoprzepustowe
Filtry cyfrowe – działają na ciągi liczb (zwykle są to
próbki sygnału ciągłego).
Minimalna wymagana częstość próbkowania
Uogólnione tw. Nyquista: aby odtworzyć dokładnie sygnał, który
zawiera składowe o częstotliwościach pomiędzy f1 a f2 naleŜy go
próbkować z częstością
f p ≥ 2 * ( f 2 − f1 )
Filtry cyfrowe
Filtr cyfrowy – relacja między wejściem {xn} a wyjściem
{yn}:
N
M
yn = ∑ ai xn −i + ∑ bi yn −i
i =0
i =1
ai , bi - współczynniki filtra.
Reakcja impulsowa filtra hn – odpowiedź filtra na wejście
x0 =1, xi = 0 dla i>0
JeŜeli bi = 0, to odpowiedź zaniknie po N próbkach – filtry FIR (finite
impulse response). Wtedy N – rząd filtra, zaś an = hn
JeŜeli niektóre współczynniki bi ≠ 0, to reakcja impulsowa moŜe być
nieskończona – filtry IIR (infinite impulse reaction).
Filtry cyfrowe - przykłady
Filtry uŜywane w przykładzie numerycznym:
Dolnoprzepustowy: h0 = 0.5, h1 = 0.5, hn = 0 dla n>1
Górnoprzepustowy: h0 = 0.5, h1 = – 0.5, hn = 0 dla n>1
Filtr IIR – niech a0 =1, b1 = b. Wtedy hn :
h0 = 1*1 + b*0 = 1
h1 = 1*0 + b*1 = b
h2 = 1*0 + b*b = b2
...............................
hn = 1*0 + b*bn-1 = bn
gdy b>1 – filtr niestabilny.
Filtry FIR – zawsze stabilne.
Filtry IIR mogą dawać lepsze wyniki (ostrzejsze odcięcie,
mniejszy szum w paśmie przejścia.
Filtry cyfrowe – kodowanie podpasmowe
Najbardziej popularne – lustrzane filtry kwadraturowe
(QMF)
Własność – jeŜeli {hn } zadaje filtr dolnoprzepustowy, to
{(-1)n hN-n-1} określa filtr górnoprzepustowy
Popularna grupa filtrów tej klasy – filtry Johnstona
Inna popularna grupa filtrów – filtry Smitha-Barnwella
Zasady ogólne:
Im wyŜszy rząd filtra, tym lepszy filtr
Filtr Smitha-Barnwella lepszy od filtra Johnstona tego samego
rzędu
Charakterystyki popularnych filtrów
J-8
S-B- 8
Kodowanie podpasmowe – algorytm
Kodowanie podpasmowe – działanie
Koder
Sygnał wejściowy wchodzi na bank filtrów analizujących
– rozkład na podpasma
Podpróbkowanie w stosunku (szerokość całego
pasma):(szerokość podpasma)
Zgodne z reguła Nyquista
Ogranicza całkowitą ilość próbek
Kodowane podpasm
Mechanizm kodowania (DPCM, ADPCM, kwantyzacja; VLC)
Sposób rozdziału bitów
Przesyłanie zakodowanego sygnału
Kodowanie podpasmowe – działanie c.d.
Dekoder
Dekodowanie w podpasmach
Uzupełnianie (wstawienie odpowiedniej ilości zer
pomiędzy próbkami)
Podanie na filtry syntetyczne
Sumowanie zrekonstruowanych sygnałów podpasm
Zastosowania
Głównie do kodowania mowy i dźwięku
MoŜliwe zastosowania do kodowania obrazów
Kodowanie mowy – standard G.722
Transmisja mowy z przepustowością 64, 56 i 48 kbps
Na wejściu – filtr antyaliasingowy 7kHz, próbkowanie z częstością
16 kHz, kwantyzator 14-bitowy
Rozdział na składową dolnoprzepustową (< 4 kHz) i
górnoprzepustową (> 4 kHz) – bank 24-rzędowych filtrów FIR
Redukcja wyjścia filtrów, kwantyzacja (w obu kanałach ADPCM)
Przydział bitów: pasmo dolnoprzepustowe 4 ÷ 6 bitów;
górnoprzepustowe: 2 bity
Kodowanie dźwięku – standard MPEG audio – rola modeli
psychoakustycznych.
Percepcja dźwięku
Podstawowe fakty
Zakres słyszalności: 20 Hz ÷ 20 kHz, największa czułość w
zakresie 2 ÷ 4 kHz
Czułość na dźwięk jest funkcją częstotliwości
Człowiek przetwarza dźwięk w pewnych podpasmach, zwanych
pasmami krytycznymi. Cały zakres akustyczny – około 24 pasm
krytycznych
Szerokość pasma krytycznego – stała dla małych, rośnie dla
częstości > 500 Hz
Maskowanie
Polega na „przesłanianiu” wraŜenia brzmienia dźwięków
przez inne – sąsiadujące w dziedzinie częstotliwości lub
czasu.
Maskowanie jednoczesne (częstotliwościowe)
Silniejszy dźwięk zakłóca współbrzmiące słabsze dźwięki o
zbliŜonych częstotliwościach
Efekt tym większy im mniejsza separacja w częstotliwości
Maskowanie – c.d.
Maskowanie niejednoczesne (czasowe) – silny dźwięk
maskuje inne juŜ poza jego czasem trwania
Premasking – moŜe trwać kilka ÷ kilkanaście milisekund
Postmasking – do 200 ms
Premasking – mocniejsze dźwięki są przetwarzane szybciej niŜ
słabsze
Postmasking – wysycenie, długi czas relaksacji neuronów
Maskowanie – c.d.
Łączne działanie obu typów maskowania
Maskowanie – pozwala na opuszczenie części danych bez
szkody dla jakości dźwięku
Łączny opis progu czułości jako funkcji częstotliwości
oraz wpływu maskowania – model psychoakustyczny.
Standard MPEG
Opracowany na początku lat 90-tych jako standard
kodowania video
Zawiera definicję standardu kodowania audio – trzy
odmiany (warstwy) o coraz większej złoŜoności
Działanie oparte na:
Kodowaniu podpasmowym
Modelu psychoakustycznym słyszenia (przydział bitów)
Kwantyzacji – skalowanie szerokości by skwantyzować sygnał
„wystający” ponad poziom maskowania
Asymetria koder – dekoder
MPEG audio - działanie
MPEG audio - działanie
Dopuszcza sygnał wejściowy próbkowanych 32, 44.1 lub
48 kHz
Pozwala na obsługę 1 lub 2 kanałów audio w trybach:
mono, dual-mono, joint-stereo, stereo
Sekwencja przetwarzania sygnału
Podział na ramki po 384 (warstwa 1) lub 3 x 384 (warstwa 2 i 3)
próbki
Skierowanie na bank 32 filtrów analizujących – podział na 32
podpasma
Dzisiątkowanie sygnału – ramka elementarna w podpaśmie
zawiera 12 próbek
Zastosowanie modelu psychoakustycznego – wyliczenie
maskowania oraz progów kwantyzacji w kaŜdym z podpasm
Kwantyzacja i kodowanie entropijne sygnału podpasm,
uformowanie strumienia bitowego
MPEG audio – działanie c.d.
Działanie modelu psychoakustycznego:
Niech po podziale na podpasma poziomy pierwszych podpasm
wynoszą:
Nr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Poziom[dB]
0
8
12 10
6
2
10
60
35
20
15
2
3
5
3
1
Pasmo 8 – poziom 60 dB – daje maskowanie: kanał 7 – 12 dB,
kanał 9 – 15 dB
Poziom w kanale 7 równy 10 dB (< 12 dB) – kanał 7 moŜna
pominąć
Poziom w kanale 9 równy 35 dB (> 15 dB). Poziom maskowania
wyznacza szerokość przedziału kwantyzacji – do zakodowania
efektywnie tylko 20 dB; to wymaga 20 dB/6 dB/bit ≈ 4 bity
(zamiast 6 bitów bez uwzględniania maskowania).
Warstwy MPEG-1
Warstwa 1
Filtry typu QMF , równy podział w częstotliwości
Na filtr jest podawana 1 ramka jednocześnie ( 384 próbki, ok. 8 msek)
Tylko maskowanie jednoczesne
Daje jakość CD dla bitrate 384 kbps (kompresja 4:1)
Warstwa 2
Podaje na filtr 3 ramki jednocześnie (1152 próbek, ok. 24 msek)
Pozwala na uwzględnienie pewnych elementów maskowania czasowego
Daje jakość CD dla bitrate 256 kbps (kompresja 6:1)
Warstwa 3 (MP3)
Lepsze filtry (MDCT, nierównomierne w częstotliwości, zbliŜone do
pasm krytycznych)
Model psychoakustyczny zawiera maskowanie czasowe
Stosuje kodowanie Huffmana wyjść kwantyzatorów
Daje jakość CD dla bitrate 128 kbps (kompresja 12:1)
Warstwy MPEG-1
Kodowanie obrazów
Obraz jest strukturą 2-wymiarową – potrzeba filtrów
2-wymiarowych (rozkład sygnału w oparciu o składowe
częstości pionowej i poziomej)
Realizowane jako dwa jednowymiarowe filtry działające
kolejno na na oba wymiary – filtry separowalne
Filtrowanie obrazów:
Obraz N x N filtrowanie wierszy (przez układ dwóch filtrów:
dolno- i górnoprzepustowy) dziesiątkowanie wierszy o czynnik
2 dwie macierze N x N/2 (składowe L, H)
Następnie kaŜdą z nich poddajemy filtrowaniu kolumn tymi
samymi filtrami dziesiątkowanie kolumn dostajemy 4
macierze N/2 x N/2 (LL, LH, HL, HH)
Procedura filtrowania moŜemy przerwać, lub kontynuować w
odniesieniu do wszystkich lub tylko niektórych podobrazów (w
rezultacie dostajemy 7, 10, 13 lub 16 podobrazów)
Kodowanie obrazów - przykład
• Rozkładamy na podobrazy, kodujemy je niezaleŜnie
• Jakość kodowania i rekonstrukcji zaleŜy od koncentracji
energii – czyli jakości filtra
8-rzędowy filtr Johnstona. Wyraźnie
widoczne składowe energii w wyŜszych podpasmach (zwłaszcza HL)
8-rzędowy filtr Smitha-Barnwella.
Znacznie lepsza separacja
Kodowanie obrazów – przykład c.d.
• Chcemy uzyskać średnią bitową 0.5 bpp. Jak filtr wpływa
na jakość rekonstrukcji?
8-rzędowy filtr Johnstona
Konieczność kodowania podpasm LL
i HL (po 1 bicie na podpasmo) – zbyt
mała dokładność w LL
8-rzędowy filtr Smitha-Barnwella
Lepsza separacja sprawia, Ŝe kodujemy
tylko LL (2 bity na podpasmo) – dobra
jakość rekonstrukcji