27
1 Codarea JPEG 2000 1.1 Noţiuni teoretice Standardul JPEG2000 a fost gândit pentru îmbunătăţirea standardului JPEG JPEG2000 s-a dorit a fi mai flexibil, cu un raport de compresie mult mai mare (până 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 fără pierdei. Paşii algoritmului de codare sunt ilustraţi în Figura 1.1:

3_2 Jpeg2000

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