CALIC (Context-based Adaptive Lossless Image Codec) H / / 2 2 ×

Transkrypt

CALIC (Context-based Adaptive Lossless Image Codec) H / / 2 2 ×
CALIC (Context-based Adaptive Lossless Image Codec)
Kryteria modelowania kontekstu dla bezstratnego kodowania obrazu w znaczeniu maksymalnej
kompresji i in¿ynierskiej przydatnoœci (stosowalnoœci) s¹ nastêpuj¹ce:
a) silna dekorelacja - przyjêty model obrazu pozwala ca³kowicie okreœliæ i zredukowaæ statystyczn¹
nadmiarowoœæ Ÿród³a.
b) uniwersalnoœæ - model obrazu mo¿e szybko przystosowaæ siê (adoptowaæ) do nieznanej statystyki Ÿród³a.
c) niski koszt obliczeniowy - same konteksty oraz modelowanie obrazu i predykcja oparte na tych kontekstach
mog¹ byæ efektywnie obliczane (wyznaczane).
d) niskie wymagania pamiêciowe - przestrzeñ pamiêci przeznaczona do gromadzenia kontekstów i informacji
zwi¹zanych z tymi kontekstami u¿ywana w modelowaniu i predykcji nie powinna byæ nadmierna.
Trzy-stopniowy schemat kodowania predykcyjnego z przeplotem.
Na ka¿dym etapie przeprowadzane jest przeplatane próbkowanie obrazu oryginalnego. Niech obraz
oryginalny, wielopoziomowy ze skal¹ szaroœci, o szerokoœci W i wysokoœci H bêdzie opisany przez
I [i , j ], 0 ≤ i < W , 0 ≤ j < H .
i
j
Pierwszy etap
Drugi etap
Trzeci etap
Rys. 1. Schemat modelowania kontekstu do trzy etapowej predykcji kodowanych wartoœci w CALIC-u.
Pierwszy etap
A. tworzony jest podobraz o dwukrotnie zmniejszonej rozdzielczoœci w obu kierunkach W / 2 × H / 2 w
sposób nastêpuj¹cy:
 I [2i ,2 j ] + I [ 2i + 1,2 j + 1] 
µ[i , j ] = , 
, 0 ≤ i < W / 2, 0 ≤ j < H / 2
2

B. podobraz
koduje siê wykorzystuj¹c typowy kontekst dla DPCM, np.
µ[i , j − 1] + µ[i − 1, j ] µ[i + 1, j − 1] - µ[i − 1, j − 1]
µ$ =
+
, 0 ≤ i < W / 2, 0 ≤ j < H / 2
2
4
Wspó³czynniki predykcji zosta³y wyznaczone metod¹ regresji liniowej przy pomocy zbioru obrazów
treningowych (zaokr¹glone zosta³y do potêgi dwójki ze wzglêdu na prostotê obliczeñ).
Drugi etap
A. ten sam podobraz jest stosowany jako kontekst predykcji WH/2 pikseli obok wartoœci pikseli obrazu
oryginalnego w sposób nastêpuj¹cy:
chcemy zakodowaæ wartoœci pikseli
I [ 2i , 2 j ], I [2i + 1, 2 j + 1], 0 ≤ i < W / 2 , 0 ≤ j < H / 2
B. liniowa predykcja - aby zakodowaæ wartoœci I[2i,2j] stosuje siê nastêpuj¹cy model liniowej predykcji:
I [ 2i − 1,2 j + 1] + I [ 2i − 1,2 j − 1] + I [2i + 1,2 j − 1]
6
- 0.05( I [2i − 2,2 j ] + I [2i ,2 j − 2]) - 0.15( µ[i + 1, j ] + µ[i , j + 1]).
x$ = 0.9 µ[i , j ] +
Natomiast wartoœci I[2i+1,2j+1] nie potrzeba ju¿ kodowaæ. S¹ one rekonstruowane z zale¿noœci:
I [ 2i + 1, 2 j + 1] = 2µ[i , j ] − I [ 2i , 2 j ] .
Mo¿e przy tym wyst¹piæ b³¹d obciêcia reszty u³amkowej, gdy przy liczeniu œredniej diagonalnej
dwóch wartoœci pikseli jest liczb¹ ca³kowit¹ nieparzyst¹ (mo¿na go zignorowaæ).
suma
Trzeci etap
A. nale¿y zakodowaæ dwie pozosta³e wartoœci pikseli obrazu oryginalnego z ka¿dego elementarnego bloku
czterech pikseli, a mianowicie
I [ 2i + 1, 2 j ], I [ 2i , 2 j + 1], 0 ≤ i < W / 2 , 0 ≤ j < H / 2 .
Wykorzystano kontekst '360 stopni' sk³adaj¹cy siê z czterech pikseli najbli¿szego s¹siedztwa w rastrze
cztero-po³¹czeniowym oraz dwóch pikseli z s¹siedztwa oœmio-po³¹czeniowego (wszystkie one s¹ ju¿
wczeœniej kodowane oraz dekodowane, a wiêc dostêpne w procesie rekonstrukcji).
B. zastosowano nastêpuj¹cy model predykcji:
3
I [i − 1, j − 1] + I [i + 1, j − 1]
x$ = ( I [i − 1, j ] + I [i , j − 1] + I [i + 1, j ] + I [i , j + 1]) −
8
4
Modelowanie i kwantyzacja kontekstu.
Dot¹d dla modelowania kontekstów predykcji poszczególnych pikseli wykorzystywano wartoœci
odpowiednio K = 4, 9, 6 (1,2 i 3 etap) s¹siednich pikseli Aby przy entropijnym kodowaniu uzyskaæ minimaln¹
d³ugoœæ kodu wyjœciowego dla zbioru wartoœci e = x − x$ (gdzie x$ wyznaczono dla ka¿dej wartoœci x w
trójetapowej predykcji) potrzeba maksymalizowaæ prawdopodobieñstwo warunkowe p( e / x1 ,..., x K ) .
U¿ywaj¹c standardowych metod np. kodowania arytmetycznego z za³o¿onym modelem Markowa n - tego rzêdu
potrzeba by okreœliæ w sposób istotny statystycznie model o 2 ZK stanach (Z-liczba poziomów szaroœci), co jest
niebagatelnym problemem! (tzw. problem rozrzedzenia kontekstu). Zastosowano wiêc nastêpuj¹cy model
kwantyzacji kontekstu w celu prostszego okreœlenia wartoœci prawdopodobieñstw warunkowych oraz korekcji
przewidywanej wartoœci w pêtli sprzê¿enia zwrotnego. Tak wiêc:
A. aby u³atwiæ modelowanie kontekstu b³êdów DPCM kwantyzuje siê kontekst x1 , x2 ,..., x K zwi¹zany z
przewidywan¹ wartoœci¹ x$ do liczby binarnej t = t K ... t1 sk³adaj¹cej siê z K bitów tak, ¿e:
0 if x k ≥ x$
tk = 
, 1 ≤ k ≤ K.
1 if x k < x$
Liczba t reprezentuje wy¿szego rzêdu przestrzenn¹ strukturê modeluj¹cego kontekstu, czyli cechê obrazu,
która mo¿e wskazywaæ na zachowanie siê b³êdu predykcji DPCM (korelacja). Mo¿na w ten sposób
uwzglêdniæ krawêdzie, rogi, tekstury, które nie mog³y byæ uchwycone przez DPCM.
B. obliczana jest tak¿e wartoœæ dyskryminatora mocy b³êdu, który charakteryzuje zmiennoœæ wartoœci kontekstu
(jego g³adkoœæ), w nastêpuj¹cy sposób:
∆=
K
∑w
k
| x k − x$|.
k =1
Na jej podstawie mo¿na estymowaæ prawdopodobieñstwo warunkowe b³êdu predykcji jako p(e/ ) zamiast
p( e / x1 ,..., x K ) . Aby zlikwidowaæ problem 'rozrzedzenia kontekstu' przy estymacji p(e/ ) dokonywana jest
kwantyzacja wartoœci na L poziomów (w praktyce najczêœciej L=8). £¹cz¹c teraz, jako iloczyn kartezjañski
L × 2 K , kwantowany do L poziomów dyskryminator oraz 2 K kwantowanych wzorców tekstury
kontekstu t k otrzymujemy ostatecznie kwantyzacjê 2 ZK stanów Ÿród³a Markowa w znacznie zredukowan¹
liczbê L 2 K stanów. Te stany nazywane s¹ kwantowanym kontekstem i oznaczone s¹ nastêpuj¹co:
C (d , t ), 0 ≤ d < L, 0 ≤ t < 2 K .
Pozostaje oczywiœcie problem jak dobraæ wartoœci wspó³czynników w k . Wartoœæ jest ustalana jako
œredniokwadratowa estymata | e|. Stosuj¹c standardow¹ metodê regresji liniowej okreœla siê wiêc wartoœci
wspó³czynników wk . Tak wiêc maj¹c przyk³adowy predyktor DPCM x$ =
K
∑a
k
x k (w jednym z trzech
k =1
etapów predykcji), jest wyznaczany treningowy zbiór S wartoœci | e| =| x − x$| oraz | x k − x$|,1 ≤ k ≤ K .
Nastêpnie wartoœci wk , 1 ≤ k ≤ K s¹ obliczane metod¹ regresji liniowej tak, aby zminimalizowaæ wartoœæ:
∑
{| e|− ∆} =
S
∑
S
K


$
|
x
−
x
|
−
wk | x k − x$|

k =1


∑
na treningowym zbiorze danych.
Adaptacyjne, oparte na kontekœcie modelowanie b³êdu (wraz z drug¹ faz¹ kwantyzacji)
Jednak L 2 K stanów kontekstów modeluj¹cych to jednak dalej za du¿o do dobrej estymacji
prawdopodobieñstw warunkowych, w tym przypadku p(e/C(d,t)). Wobec tego nastêpuje:
A. estymowanie warunkowej wartoœci oczekiwanej E{e/C(d,t)} poprzez wyznaczenie odpowiedniej œredniej
próbek e (d , t ) dla ró¿nych kwantowanych kontekstów. Intuicyjnie znacznie mniej próbek potrzeba do
dobrej estymacji warunkowej wartoœci oczekiwanej ni¿ prawdopodobieñstwa
( O( n −0.5 ) versus O ( n −0.4 ) ). Poniewa¿ œrednia warunkowa e (d , t ) lepiej estymuje b³¹d predykcji
DPCM w kwantowanym kontekœcie C(d,t), mo¿na skompensowaæ b³¹d DPCM poprzez modyfikacjê
predykcji x z x$ na predykcjê x z x& = x$ + e ( d , t ) . x& jest nowym, adaptacyjnym nieliniowym opartym
na kontekœcie predyktorem (mechanizm sprzê¿enia zwrotnego b³êdu predykcji z opóŸnieniem jednego
kroku). Wykorzystuj¹c nowy predyktor mamy teraz nowy b³¹d predykcji: ε = x − x& dla entropijnego
kodowania b³êdu. Rozk³ad wartoœci b³êdu predykcji zachowuje w tym przypadku postaæ rozk³adu Laplace'a,
ale jest wyraŸnie wyostrzony.
B. optymalizacja kwantyzatora Q wartoœci Kryterium kwantyzacji jest minimalizacja warunkowej entropii
wartoœci b³êdów zale¿nej od p( /Q( )). Ze zbioru obrazów treningowych obliczamy zbiór wartoœci par ( ) i
u¿ywamy standardowej dynamicznej techniki wyboru wartoœci 0 = q0 < q1 < ⋅⋅⋅ < q L −1 < q L = ∞
dziel¹ce przedzia³ wartoœci na L podprzedzia³ów:
S d = {ε | q d ≤ ∆ < q d +1 } , takich ¿e wra¿enie:
−
∑ p(ε ) log p(ε|ε ∈S
ε
osi¹ga minimum.
d
)
Dwa procesy poszukiwania optymalnego schematu kwantyzacji (szukanie wspó³czynników i podzia³
przedzia³u wartoœci na L podprzedzia³ów) mog¹ byæ przeprowadzane równie¿ w sposób ³¹czny
(kwantyzacja ³¹czna).
C. entropijne kodowanie wartoœci - adaptacyjne entropijne kodowanie (najlepiej arytmetyczne) z u¿yciem
tylko L prawdopodobieñstw warunkowych p( /Q( )=d), 0 ≤ d < L dla poszczególnych wartoœci .
Przerzucanie znaku b³êdu predykcji
Znaki warunkowych œrednich próbek ε (d , t ) mog¹ byæ u¿yte do wyostrzenia prawdopodobieñstw
warunkowych p( /Q( )=d), a wiêc redukcji warunkowej entropii. Dla dwóch ró¿nych kontekstów C ( d , t1 ) i
C (d , t 2 ) , wartoœci warunkowych œrednich próbek ε ( d , t1 ) i ε ( d , t 2 ) mog¹ mieæ przeciwne znaki i
odpowiednio ró¿ne wartoœci p(ε | C( d , t1 )) i p(ε | C( d , t 2 )) . Dla ustalonej wartoœci 0 ≤ d < L mo¿na
rozdzieliæ prawdopodobieñstwo p( /Q( )=d) na dwa:
p+ (ε | d ) = p(ε | d , ε ( d , t ) ≥ 0) , p− (ε | d ) = p(ε | d , ε ( d , t ) < 0) .
Oczywistym jest, ¿e oba prawdopodobieñstwa warunkowe p+ i p− daj¹ ni¿sz¹ entropiê ni¿
p( /Q( )=d) (bardziej wyró¿niona jest statystyka b³êdu). Wydaje siê jednak ¿e wówczas podwajaj¹ siê: zu¿ycie
pamiêci oraz rozmycie kontekstów.
Mo¿na zaobserwowaæ, ¿e p+ (ε | Q( ∆ ) = d ) oraz p− (ε | Q( ∆ ) = d ) s¹ w przybli¿eniu swoim
lustrzanym odbiciem wzglêdem wartoœci oczekiwanej (równej zero) rozk³adu p = p+ + p− . Mo¿na wiêc
przerzuciæ p− symetrycznie wzglêdem osi zerowej ( p− ( − ε | d ) ) i na³o¿yæ na p+ otrzymuj¹c obci¹¿any
estymator prawdopodobieñstwa p$ (ε | Q( ∆ ) = d ) o mniejszej wariancji w stosunku do p( /Q( )=d) - rys. 2.
Zastosowanie tego estymatora pozwala zmniejszyæ œredni¹ bitow¹ kodu bez dodatkowej pamiêci oraz bez
rozrzedzenia kontekstu.
Dzia³anie: przed kodowaniem ε = x − x& , koder sprawdza czy ε ( d , t ) < 0 na podstawie kontekstu C(d,t).
Jeœli tak - jest kodowany, a w pozosta³ych przypadkach . Poniewa¿ dekoder tak¿e zna C(d,t) i ε (d , t ) mo¿e
jeœli to konieczne odwróciæ znak, aby zrekonstruowaæ wartoœæ ε.
Rys. 2. Wyostrzanie prawdopodobieñstwa warunkowego p = p+ + p− poprzez przerzucanie p− .
Najwa¿niejsze zalety metody kompresji CALIC
Z³agodzenie problemu rozrzedzenia kontekstu poprzez:
• rozró¿nienie kontekstu C(d,t) dla modelowania b³êdu oraz kontekstu Q( ) dla warunkowego kodowania
entropijnego b³êdu predykcji;
• estymatê pojedynczego parametru wartoœci oczekiwanej zamiast szeregu prawdopodobieñstw
warunkowych dla danego kontekstu.
Pozwoli³o to uzyskaæ du¿¹ liczbê kontekstów przy modelowaniu b³êdu, aby uchwyciæ bardziej z³o¿one
struktury b³êdu (z³o¿one korelacje) w celu zwiêkszenie efektywnoœci kodowania.
Opis algorytmu
Algorytm sk³ada siê z trzech g³ównych sk³adników:
• adaptacyjna predykcja,
• modelowanie kontekstu,
• kodowanie z entropi¹ warunkow¹,
przy czym modelowanie kontekstu wp³ywa zarówno na predykcjê jak i entropijne kodowanie.
Algorytm:
Dla ka¿dego z trzech etapów:
INICJALIZACJA: N(d,t)=1, S(d,t)=0, 0 ≤ d < L , 0 ≤ t < 2 K .
PARAMETRY: wyznaczone wczeœniej optymalne wartoœci ak , wk ,1 ≤ k ≤ K .
Dla ka¿dego piksela x z danego etapu
^
0. x =
1. ∆ =
K
∑a x
k
k =1
K
k
dla kontekstu predykcji x1 , x2 ,..., x K ;
^
∑ wk ( xk - x) ;
k =1
2. d=Q( );
3. wyznacz wzorzec tekstury t = t K ... t1:
^
IF ( xk < x ) t k = 0 ELSE t k = 1, 1 ≤ k ≤ K ;
_
4. e = S ( d , t ) / N ( d , t );
.
^
_
5. x = x + e ;
.
6. ε = x − x ;
7. S(d,t)=S(d,t)+ ; N(d,t)=N(d,t)+1;
8. IF N ( d , t ) ≥ 128
S ( d , t ) = S (d , t ) / 2; N (d , t ) = N ( d , t ) / 2;
9. IF S(d,t)<0 koduj (- ,d) ELSE koduj ( ,d);
END;
END.

Podobne dokumenty