Wykład 12 - kodowanie różnicowe
Transkrypt
Wykład 12 - kodowanie różnicowe
Kodowanie ró nicowe
Plan
1.
2.
3.
4.
Zasada
Podstawowy algorytm
Kodowanie adaptacyjne
Zastosowania
Kodowanie ró nicowe – zasada
Jako kwantyzacji – szeroko przedziału – wariancja,
rozpi to danych
Obrazy, d wi ki – korelacja w danych
Wykorzystanie korelacji – kwantyzacja wektorowa.
Problem – zło ona implementacja
Bezstratna kompresja predykcyjna – poprawa stopnia
kompresji
Kompresja stratna – zamiast warto ci ci gu próbek
bierzemy ci g ró nic. To daje zmniejszenie rozpi to ci
danych, zmniejszenie wariancji – pozwala na zmniejszenie
szeroko ci kwantyzacji, czyli popraw jej jako ci.
Kodowanie ró nicowe – zasada c.d.
Przesyłanie informacji poprzez przesyłanie ró nic –
kodowanie ró nicowe.
Przykład 1
Sygnał harmoniczny, próbkowany z cz sto ci 30 próbek/cykl
yi = sin(2π
i
)
30
Kwantyzacja 4-poziomowa:
Ci g ró nic:
d n = y n − y n −1 ≈
2π
i
cos( 2π
)
30
30
Kwantyzacja ró nic:
∆=
d max − d min 2π 2
=
≈ 0 .1
4
30 4
∆=
ymax − ymin
= 0.5
4
Kodowanie ró nicowe – zasada c.d.
• Przykład 2
Podstawowy algorytm
Wariant 1 – obliczamy ci g ró nic, kwantyzujemy. To
b dzie podstawa do wyznaczenia rekonstrukcji.
Przykład:
• ci g danych:
xn
6.2
9.7 13.2 5.9
8
7.4
4.2
1.8
2.5
3.7
5.3
6.4
1.2
1.6
1.1
2.0
2.0
2.0
• ci g ró nic:
dn
6.2
3.5
3.5
-7.3
2.1
-0.6 -3.2 -2.4
0.7
• kwantyzacja ci gu ró nic (kwantyzator 7-poziomowy):
Dn
6.0
4.0
4.0
-6.0
2.0
0.0
-4.0 -2.0
0.0
Podstawowy algorytm – c.d.
• Rekonstrukcja, bł dy rekonstrukcji:
Xn
6.0
10.0
14.0
8.0
10.0
10.0
6.0
4.0
4.0
6.0
8.0
10.0
en
0.2
-0.3
-0.8
-2.1
-2.0
-2.6
-1.8
-2.2
-1.5
-2.3 -3.7
-3.4
• Problem – bł dy rekonstrukcji znacznie wi ksze od oczekiwanych
Analiza wariantu 1:
d1=x1-x0, D1=d1+q1, X1=X0+D1 = x0+x1-x0+q1 = x1+q1
d2=x2-x1, D2=d2+q2, X2=X1+D2 = x1+q1+x2-x1+q2 = x2+q1+q2
d3=x3-x2, D3=d3+q3, X3=X2+D3 = x2+q1+q2+x3-x2+q3 = x3+q1+q2+q3
Wniosek – wariant 1 powoduje kumulacj bł dów
X n = xn +
n
k =1
qk
Koder i dekoder korzystaj z innych informacji
Wariant 2: dn = xn – Xn-1
Podstawowy algorytm – c.d.
Analiza wariantu 2:
d1=x1-X0, D1=d1+q1, X1=X0+D1 = X0+x1-X0+q1 = x1+q1
d2=x2-X1, D2=d2+q2, X2=X1+D2 = X1+x2-X1+q2 = x2+q2
d3=x3-X2, D3=d3+q3, X3=X2+D3 = X2+x3-X2+q3 = x3+q3
ogólnie:
Xn = x n + q n
Przykład numeryczny
xn
6.2
9.7
13.2
5.9
8.0
7.4
4.2
1.8
2.5
3.7
5.3
6.4
dn
6.2
3.7
3.2
-8.1
0
-0.6
-3.8
-2.2
0.5
1.7
1.3
0.4
Dn
6
4
4
-6
0
0
-4
-2
0
2
2
0
Xn
6
10
14
8
8
8
4
2
2
4
6
6
en
0.2
-0.3
-0.8
-2.1
0.0
-0.6
0.2
-0.2
0.5
-0.3
-0.7
0.4
Wariant 1: sigma2 = 51.52; wariant 2: sigma2 = 6.61
Podstawowy algorytm – c.d.
Przykład: funkcja harmoniczna
Wariant 1: krok kwant. = 0.1
Wariant 2: krok kwant. = 0.2
Schemat podstawowego algorytmu
Modyfikacje. Ogólny algorytm DPCM
Kompresja maksymalna, gdy ró nice jak najmniejsze
Lepsze oszacowanie xn ni Xn-1 mo e da pewna inna
funkcja zmiennych zrekonstruowanych
Uogólnienie algorytmu podstawowego – zamiast bloku
opó niaj cego – predyktor
Na wyj ciu predyktora: pn = f(Xn-1, Xn-2, ..., X0)
Okre lenie predyktora
Algorytm DPCM – wypracowany pod koniec lat 40-tych w
Bell Labs.
Powszechnie stosowany w systemach telefonicznych
Podstawowe podsystemy: predyktor i kwantyzator
Projektowanie predyktora
Dobór funkcji predyktora, by zminimalizowa ró nice:
σ d2 = E[(xn − pn )2 ]
W ogólnym przypadku – bardzo trudno rozwi zywalne
Zwykle stosuje si 2 zało enia upraszczaj ce:
1. Delikatne zało enie kwantyzacyjne – długo kroku kwantyzacji
tak mała, e mo emy zast pi Xk przez xk
2. Predyktor jest funkcj liniow :
pn =
N
i =1
ai X n − i
N – rz d predyktora
Okre lenie predyktora – przypadek liniowy
Problem: znale
σ =E
2
d
Warunki:
xn −
{ai}, i=1,..N by zminimalizowa
N
i =1
2
ai X N −i
∂ σ d2
=0
∂ai
Wykorzystuj c delikatne zało enie kwantyzacyjne i
stacjonarno mamy:
N
i =1
N
i =1
a i R xx ( i − 1 ) = R xx (1 )
gdzie:
a i R xx ( i − 2 ) = R xx ( 2 )
R xx ( k ) = E [ x i x i + k ]
funkcja autokorelacji zmiennej xn
....
N
i =1
a i R xx ( i − N ) = R xx ( N )
Predyktor liniowy - przykład
ai
N
1
0.66
2
0.569
0.096
3
0.577
-0.025
Stos. Var.
2.04/1.63
3.37
0.204
6.28
Pełny układ DPCM – specyfikacja
kwantyzatora. Zakładamy:
• rozkład reszt – Laplace
• kwantyzator równomierny
• szeroko
dyspersji
kwantyzacji – zale na od
Predyktor liniowy – przykład c.d.
Kwantyz.
N
SNR
SPER
4-poziom.
Bez
2.43
0
1
3.37
2.65
2
8.35
5.90
3
8.75
6.10
Bez
3.65
0
1
3.87
2.74
2
9.81
6.37
3
10.16
6.71
8-poziom.
M
SPER
1.
Wyra na poprawa przy zmianie z N=1 na N=2
2.
Wysycenie dla N>2
3.
Zniekształcenie w obszarach małego sygnału
=
M
i =1
i =1
x i2
( xi − pi )2
Adaptacyjne DPCM
Cz sto dane ró ni si w ró nych obszarach – cho s
lokalnie stacjonarne, to nie s globalnie stacjonarne.
Mo liwe rozwi zanie – adaptacja układu
Typy adaptacji:
Tylko adaptacja kwantyzatora (z ustalonym predyktorem)
Adaptacja predyktora ł cznie z adaptacj kwantyzatora
Kwantyzacja adaptacyjna w DPCM
Adaptacja w przód (podział na bloki, estymacja parametrów
kwantyzatora, przekazanie parametrów dodatkowych). Problem –
kwantyzator w p tli sprz enia zwrotnego, kłopot z wej ciem, które
mogłoby by u yte do wyznaczenia parametrów adaptacji
Adaptacja wstecz – bardziej popularna, zwykle odmiana
kwantyzatora Jayanta
Predykcja adaptacyjna w DPCM
DPCM – APF (adaptive prediction-forward)
Podział danych na bloki (dla mowy próbkowanej z f=8 kHz – 128
próbek/blok, 16 ms; dla obrazów – 8 x 8 pikseli)
Wyliczenie współczynników autokorelacji a nast pnie parametrów
predyktora dla bloku
Kwantyzacja parametrów przedyktora z wysok redni bitow ,
przesłanie ich odbiorcy
Wada: konieczno buforowania danych, opó nienie w transmisji.
Gdy konieczno wielu poł cze – narastanie opó nienia.
DPCM – APB (adaptive prediction-backward)
Równania Wienera-Hopfa wyprowadzone przy zało eniu
stacjonarno ci danych
Predykcja adaptacyjna w DPCM
– Rezygnujemy z zało enia o stacjonarno ci, próba znalezienia
algebraicznej reguły adaptacji
– Prosty przypadek – predyktor rz du 1. Kwadratowa zale no
kwadratu reszty od a1:
d n2 = ( x n − p n ) 2 = ( x n − a1 X n −1 ) 2
– Pochodna kwadratu reszty po a1 – ujemna na lewo, dodatnia na
prawo od warto ci optymalnej; ro nie z odchyleniem od
optymalno ci.
– Postulat – korekta proporcjonalna do pochodnej:
a
( n +1)
1
=a
(n)
1
∂ d n2
= a1( n ) + α D n X n −1
−α
∂ a1
– Uogólnienie na przypadek wy szego rz du:
a (j n +1) = a (j n ) + α D n X n − j
Algorytm LMS
Modulacja delta
Prosta odmiana schematu DPCM z jednobitowym
kwantyzatorem (ró nica kodowana jaki – lub + )
Gdy ró nica odbiega od – wzrost zniekształcenia. Aby
temu zapobiec:
Du a cz stotliwo próbkowania (fp >> 2 fmax)
Adaptacja kroku kwantyzatora
Rodzaje zniekształce
Słabo zmienne wej cie – obszar ziarnisty (artefakt du ej cz sto ci
próbkowania i sposobu kwantyzacji)
konieczno filtrowania
Szybko zmienne wej cie – obszar przeci onych zboczy (obszar
nadmiaru)
Modulacja delta – c.d.
DM – kwantyzator
ustalony
DM – kwantyzator
adaptacyjny
Modulacja delta – adaptacja
CFDM (Constant Factor Delta Modulation)
Zasada: w obszarze ziarnistym zmniejszamy szeroko , w obszarze
nadmiaru – zwi kszamy
Jak ustali w jakim obszarze si znajdujemy?
W obszarze ziarnistym znak wyj cia kwantyzatora naprzemienny,
w obszarze nadmiaru – stały
Realizacja adaptacji:
sn = 1 gdy Dn > 0, sn = -1 gdy Dn < 0
∆n =
M 1∆ n −1 , sn = sn −1
M 2 ∆ n −1 , sn ≠ sn −1
M1 = 1/M2 = M > 1 (na ogół M<2)
Gdy zwi kszamy pami (bierzemy pod uwag wi cej próbek)
mo emy poprawi dopasowanie
Modulacja delta – adaptacja – c.d.
System z pami ci 2: rozwa amy sn, sn-1, sn-2
Mo liwe przypadki:
1. System wła nie przeniósł si do obszaru ziarnistego:
sn−2 = sn−1 ≠ sn , M = 0.4
2. System cały czas w obszarze ziarnistym
sn−2 ≠ sn−1 ≠ sn , M = 0.9
3. System wła nie wszedł w obszar nadmiaru
sn−2 ≠ sn−1 = sn , M = 1.5
4. System cały czas w obszarze nadmiaru
sn−2 = sn−1 = sn , M = 2.0
Zastosowanie: prom kosmiczny, DM z pami ci 7.
Zastosowania
Bardzo popularne w kodowaniu mowy
U ywane powszechnie w
Systemach telefonicznych
Systemach poczty głosowej
Aplikacjach multimedialnych
Standardy przemysłowe opisane w zaleceniach ITU-T:
G.721
G.723
G.726
G.722
Kodowanie obrazów – rzadziej stosowane
Zastosowania – kodowanie obrazów
Lewy: kodowanie ró nicowe 1bpp, SNR = 22.33 dB
Kwantyzator 4 poziomowy, predyktor:
X [ j , k − 1]
p[ j , k ] =
X [ j − 1, k ]
128
dla k > 0
dla k = 0 , j > 0
dla k = 0 , j = 0
Prawy: JPEG 1bpp, SNR = 32.52
JPEG wyra nie lepszy
Zastosowania – kodowanie obrazów
Zmiana predyktora – dla ka dego piksela obliczamy:
p 1 = ( X [ j − 1, k ] + X [ j , k − 1]) / 2
p 2 = ( X [ j − 1, k − 1] + X [ j , k − 1]) / 2
p 3 = ( X [ j − 1, k − 1] + X [ j − 1, k ]) / 2
p [ j , k ] = mediana { p 1 , p 2 , p 3 }
To poprawia SNR do 29.20 dB.
Podsumowanie
DPCM daje gorsze wyniki kompresji ni kwantyzacja
wektorowa, ale jest prostsze w implementacji
Wyj tkowo dobrze nadaje si do kodowania mowy;
standardy przemysłowe
Budowa: predyktor + kwantyzator
Mo liwo adaptacji kwantyzatora lub predyktora i
kwantyzatora