Upload
mihaipricop
View
240
Download
0
Embed Size (px)
DESCRIPTION
3_2 Jpeg2000
Citation preview
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