3_2 Jpeg2000
-
Upload
mihaipricop -
Category
Documents
-
view
240 -
download
0
description
Transcript of 3_2 Jpeg2000
-
1
Codarea JPEG 2000 1.1 Noiuni teoretice
Standardul JPEG2000 a fost gndit pentru mbuntirea standardului JPEG JPEG2000 s-a dorit a fi mai flexibil, cu un raport de compresie mult mai mare (pn la
300:1), cu o structur mai unitar.
JPEG2000 utilizeaz n locul Tansformatei Cosinus Discrete Transformata Wavelet Discret Standardul JPEG2000 permite ambele metode de compresie: cu pierderi i fr pierdei. Paii algoritmului de codare sunt ilustrai n Figura 1.1:
-
2
Figura 1.1: Schema algoritmului de codare
Pregtirea imaginii
Conform standardului JPEG2000 pregtirea imaginii este compus din urmtoarii pai (vezi Figura 1.2):
- partiionarea imagini n cadre
- ajustarea nivelului datelor
- o transformare color ireversibil
Pregtire imagine
Transf. Wavelet
Discret Cuantizare Codare
Controlul fluxului
mpachetare date
Imagine original
Imagine comprimat
-
3
Partiionare imagine
Pregtire imagine
I II
III IV
]2,2[]12,0[ 11 NNN
b rRGB YC C
Ajustare nivel
Transformare color
-
4
Pentru situaia n care imaginea care trebuie comprimat este mai mare dect memoria disponibil s-a prevzut posibilitatea partiionarea imaginii n dreptunghiuri disjuncte numite
cadre
Valorile datelor de intrare trebuie s fie ntr-o gam centrat n jurul lui zero, deoarece standardul opereaz cu filtrri de tip trece-sus. Aa se explic necesitatea celei de a doua etape
de ajustare nivel.
Al treilea pas n aceast etap const dintr-o tranformare a matricii color. Tipul de transformare depinde de reprezentarea iniial a imaginii. Se dorete ca imaginea care va intra
n a doua etap a procesului de compresie s fie reprezentat n formatul YCRCB.
-
5
Modelul imaginii
-
6
Transformarea color
-
7
Aplicarea Transformatei Wavelet
Transformata Wavelet are expresia:
dtttfc kjkj = )()( ,, - kjc , sunt coeficienii Wavelet discrei
- )(, tkj sunt funciile de baz Wavelet care se obin prin scalarea i translatarea unei funcii Wavelet mam dup cum urmeaz:
)2(2)( 2, kttj
j
kj = unde k este parametrul de translaie, j este parametrul de dilatare, iar )(t este funcia
Wavelet mam.
-
8
Un exemplu de funcie Wavelet mam este urmtoarea:
Funcia Wavelet Daubechies
Structura TWD:
-
9
Imaginea fiind un semnal bidimendional se aplic transformata wavelet pe linii i coloane:
Aplicarea transformatei wavelet pentru componenta de luminanta pe un nivel derezoluie
-
10
Aplicarea transformatei wavelet la o imagine pe un nivel
Cele patru subimaginii sunt: I Imaginea filtrat trece-jos pe linii i coloane, notat n literatura de specialitate cu LL (low
subbands for row and column filtering)
II Imaginea filtrat trece-sus pe linii i trece-jos pe coloane, notat n literatura de
specialitate cu HL (high subbands for row filtering and low subbands column filtering)
III Imaginea filtrat trece-jos pe linii i trece-sus pe coloane, notat n literatura de
specialitate cu LH (low subbands for row filtering and high subbands column filtering)
-
11
IV Imaginea filtrat trece-sus pe linii i coloane, notat n literatura de specialitate cu HH
(high subbands for row and column filtering)
Exemplu de aplicare a transformatei wavelet pe patru nivele de rezoluie
-
12
Exemplu
Subimaginea LL va fi corespondentul imaginii originale, dar la o rezoluie mai mic cu unu Pentru aceast subimagine se aplic din nou Transformata Wavelet n acelai mod.
Specificaiile standardului JPEG2000 permit efectuarea ntre 0 i 32 de nivele de rezoluie
(aplicare Transformatei Wavelet de 32 de ori).
-
13
Cuantizarea se face cuantizarea coeficienilor transformatei wavelet cu un cuantizor cu caracteristica
uniform i zon moart n jurul lui zero pentru fiecare subimagine.
Pentu o subimagine se utilizeaz un pas de cuantizare, fiecare sub-imagine avnd propiul pas de cuantizare
Relaia cuantizorului este dat de relaia:
= imaginesub
coefValcoefValsignq
...).(
-
14
De exemplu pentru valoarea -21.82:
Codarea
Fiecare subimagine a unui cadru a unei imagini este mprit n uniti i mai mici, numite blocuri de cod cu dimensiuni de tipul 64x64 sau 32x32 pixeli.
-
15
n cadrul unui bloc de cod citirea valorilor cuantizate ale coeficienilor transformatei wavelet
se face n benzi, fiecare band avnd o nlime de patru eantioane.
La rndul lor citirea benzilor se face de la stnga la dreapta i de sus n jos.
-
16
Modul de baleiere a coeficienilor ntr-un bloc de cod
Codarea se face ca la JPEG modul progresiv lund n considerare paralelipipede de bii De notat faptul c tot procedeul de codare pentru un bloc de cod are loc la nivel de plan de bit
i nu la nivel de bit
Pentru codarea planului de bit se utilizeaz un codor aritmetic binar adaptiv bazat pe context Codarea cuprinde trei etape numite:
- propagarea importanei (significance propagation)
- rezoluia amplitudinii (magnitude refinement)
- eliminarea repetiiilor (clean-up)
......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
-
17
Aceste etape ale compresiei sunt aplicate planelor de bit ncepnd cu planul LSB. Singurul care face excepie este planul MSB la care se utilizeaz doar eliminarea repetiiilor.
Aezarea biilor ntr-un paralelipiped
Fluxul de date codat este organizat pe nivele de calitate. Un nivel de calitate este ansamblul de plane de bit consecutive dintr-o regiune a imaginii.
Fiecare bloc de cod poate contribui cu un anumit numr de plane de bit codate la un nivel de calitate a imaginii.
Controlul debitului
W1
W2
W3
W4
W5
W6
W7
W8
W9
W10
W11
W12
W13
W14
W15
W16 Planul MSB al biilor
Planul LSB al biilor
-
18
Controlul ratei de debit este operaia prin care fluxul de date este alterat n scopul atingerii unui debit de date dorit
trebuie s fie se analizeze toate blocurile comprimate i s se decid care din ele s fie trunchiat, dup o stategie care s minimizeze efectul distorsiunilor
Structura fluxului de date
Datele prelucrate pn n acest moment sunt mprite n pachete, care corespund diferitelor regiuni ale unei imagini
O regiune este o mulime de blocuri de cod la un nivel de rezoluie fixat Un exemplu de astfel de regiuni pentru 4 nivele de rezoluie este prezentat mai jos
Culoarea fundaluluireprezint diverse nivele derezoluie, iar desenulreprezint o regiune
-
19
Exemplu de partiie a regiunilor n cadrul diferitelor
rezoluii pentru o imagine
Un pachet este compus dintr-un header i datele comprimate. Pachetele sunt multiplexate astfel nct s formeze un flux de date.
Codarea multirezoluie permite decompresia aceleiai imaginii n mod diferit din punct de
vedere a calitii i dimensiunii n funcie de aplicaie:
Header Imagine
Flux datepartiie
Flux date partiie
Flux datepartiie
Sfrit partiie
..
Header partiie
Flux datepachete
Pachet Pachet .. Pachet
Header pachet
Date comprimate
-
20
-
21
-
22
-
23
-
24
-
25
-
26
-
27