Documente Academic
Documente Profesional
Documente Cultură
1. Introducere. ......................................................................................................................................... 1
1.2 Codarea JPEG 2000 ........................................................................................................................... 1
1.3 Tipuri de codare ................................................................................................................................. 1
2 Descriere ............................................................................................................................................... 1
2.1 codare progresiva ................................................................................................................................ 1
2.1.2 Aproximarea succesivă, si selecția spectrală ............................................................................... 2
2.1.3 Scanările ulterioare ...................................................................................................................... 2
2.1.4 Algoritmul de codare propus........................................................................................................ 4
2.1.5 Prioritatea și gruparea biților........................................................................................................ 4
2.2 Codarea JPEG fără pierderi................................................................................................................ 5
2.2.1 Standardul JPEG original fără pierderi ........................................................................................ 5
2.2.2 Metoda de codare Huffman.......................................................................................................... 6
2.3 Metoda de codare aritmetică ............................................................................................................... 7
2.4 Codarea ierarhică ................................................................................................................................ 7
2.5 Modul de baza secvențial ................................................................................................................... 7
2.6 Pregătirea imaginii JPEG2000 ............................................................................................................ 8
3 Compresia și calitatea imaginii .................................................................................................................. 9
3.1 Compresia poate fi de doua tipuri: ................................................................................................... 10
3.1 Codarea si decodarea imaginilor JPEG ............................................................................................. 10
3.2 Exemplu de codificare de bază ........................................................................................................ 13
4 Etapa de preprocesare JPEG2000 .......................................................................................................... 13
4.1 Îmbunătățiri ale standardului JPEG2000 ........................................................................................ 14
5 Comparatii JPEG VS JPEG2000 ........................................................................................................... 15
6 Concluzii ................................................................................................................................................. 17
7 Bibliografie .............................................................................................................................................. 18
1. Introducere.
Joint Photographic Experts Group (JPEG) este un standard de compresie a imaginilor color sau în
tonuri de gri, dezvoltat de experți fotografi. Formatul JPEG este un format grafic cu pierderi, fiind conceput
să exploateze limitele ochiului uman: schimbările mici de culoare sunt percepute cu o acuratețe mai
scăzută decât modificările de strălucire. Imaginile JPEG sunt destinate a fi privite de oameni şi nu analizate
într-o manieră computerizată. Imaginile JPEG au devenit un standard implicit pentru o varietate de medii,
în principal Internetul sau alte aplicații unde este necesar să existe imagini de înaltă calitate, dar mărime
mică a datelor. Avantajele acestor caracteristici includ timpi de transmisie mici pentru navigare web pe
Internet şi dezvoltarea de camere digitale utile care pot stoca un număr de imagini pe o cantitate relativ
redusă de memorie încorporată
2 Descriere
2.1 codare progresiva
- Coeficienții DCT, fiecare contribuind diferit la îmbunătățirea calității imaginii, pot fi
împărțiți in mai multe grupuri sau descompuși in biți
- astfel calitatea imaginii reconstituite creste pe măsură ce grupurile de biți ale coeficienților
DCT sunt recepționați si decodați
1
- două moduri: selecția spectrală și aproximarea succesivă.
2
- Pentru scanarea AC biții sunt codați în trei moduri diferite:
- codare parțiala run-length;
- codare non zero;
- adăugarea biților de corecție.
3
- Coeficienții AC si DC nu pot fi codați simultan in timpul aceleași scanări ;
- Coeficienții din aceeași bandă spectrală trebuie să fie consecutivi, locațiile acestora putând
fi descrise doar de două puncte:
- Doar prima scanare a coeficienților DCT poate reprezenta mai mult decât un bit de precizie,
iar scanările multiple care vor urma trebuie să reprezinte doar un bit de precizie o dată.
- Codarea/Decodarea unui bit al unui coeficient necesită ca biţii precedenţi ai acestui
coeficient sa fie codați/decodați anterior.
Este bine (pentru eficacitatea compresiei) să fie grupați toți biții dintr-un coeficient DC într-o
singură scanare, deoarece primul grup de biți este codat prin modul secvențial, iar toate scanările
ulterioare trebuie să reprezinte doar un singur bit, care este trimis treptat pentru fiecare bloc de
dimensiune 8x8.
4
Prin combinarea metodei aproximării succesive cu cea a selecției spectrale, gruparea
coeficienților AC/DC poate fi realizată în două direcții simultan, una pornind de la cel mai
semnificativ până la cel mai puțin semnificativ bit, iar cealaltă așezarea în zigzag a coeficienților
AC de la primul până la cel de la frecvența ce mai înaltă.
6
2.3 Metoda de codare aritmetică
- Se folosesc pentru condiționarea codării erorii de predicție erorile de predicție cuantizate ale
pixelilor vecini.
- Codarea erorilor este realizată cu ajutorul unui cod aritmetic binar prin descompunerea erorii de
predicție într-o secvență de decizii binare
- Prima decizie binară determină dacă eroarea de predicție este zero
- Dacă nu este zero, atunci la pasul secund se determină semnul erorii
- Pașii ulteriori ajută la clasificarea amplitudinilor erorilor de predicție
7
2.6 Pregătirea imaginii JPEG2000
• Conform standardului JPEG2000 pregătirea imaginii este compusă din următoarii paşi:
- Pentru situaţia în care imaginea care trebuie comprimată este mai mare decât memoria
disponibilă s-a prevăzut posibilitatea partiţionarea 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 filtrări de tip trece-sus. Aşa 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 iniţială a imaginii. Se doreşte ca imaginea care va intra în
a doua etapă a procesului de compresie să fie reprezentată în formatul
8
3 Compresia și calitatea imaginii
Pentru imagini color cu scene moderat complexe, toate modurile de operare bazate pe DCT
produc de obicei urmând nivelurile de calitate a imaginii pentru cele din diferite domenii de
compresie.
•0,25-0,5 biți / pixel: calitate moderată până la bună, suficient pentru unele aplicații;
•0,5-0,75 biți / pixel: calitate bună la foarte bună, suficient pentru multe aplicații;
•0,75-1 / 5 biți / pixel: calitate excelentă, suficientă pentru majoritatea aplicațiilor;
•1,5-2,0 biți / pixel: de obicei calitate excelentă, suficient pentru cei mai pretențioși aplicații.
Compresia se face foarte ușor la imagini si la secvențe video pentru ca elementele lor sunt
foarte asemănătoare intre ele, adică au o corelație foarte mare. Corelația unui semnal cu el însuși
arata cat de mult un semnal la un moment de timp seamănă cu el însuși, dar la alt moment de timp.
Putem sa ne imaginam acest lucru foarte ușor când discutam despre imagini. Gândiți-va ca aveți
într-o poza un perete mare si alb. Nu ar fi mai economic sa păstram doar informația despre primul
pixel din acest corp si sa anunțăm ca următorii sunt identici? Aceasta idee sta la baza codării
predictive, folosita la compresia secvențelor video.
Aceasta corelație mare este motivul pentru care transformata cosinus discreta este folosita in
compresia imaginilor. DCT are doua proprietăți foarte importante: in primul rând, ea transforma
imaginea într-o serie mica de coeficienți de corelări (nu se repeta informația), iar in al doilea rând,
aceștia înglobează aproape toata informația din imagine (adică toata energia semnalului). Deci
aceasta transformare ne ajuta sa nu păstrăm toți pixelii din imagine, ci doar niște coeficienți, mult
mai putini, din care putem reconstrui imaginea inițială. Primul coeficient este cel mai important,
reprezentând nivelul de gri al imaginii.
9
Pe aceasta idee se bazează si JPEG. In mare, algoritmul JPEG importe imaginea in blocuri 8×8
si aplica DCT astfel încât sa obțină coeficienții necesari pentru fiecare bloc. Apoi acești coeficienți
sunt cuantizați, cei mai importanți cu rezoluție mai buna, cei mai puțin importanți cu un pas de
cuantizare din ce in ce mai mic, pana la ultimii, care pot fi si ignorați.
Acești coeficienți sunt codați pentru a putea fi transmiși mai departe, pe un canal de transmisie.
Codarea ajuta si ea la rata de compresie, folosindu-se o codare diferențială pentru primul coeficient
(adică se retine valoarea primului coeficient din blocul anterior si se trimite doar diferența dintre
acesta si cel curent) si o codare Run-Length pentru restul coeficienților (se elimina toți coeficienții
nuli, trimițând informații doar despre poziția lor relativ la coeficienții nenuli).
Codare JPEG
10
Decodare JPEG
Coeficienții de frecventa rezultați sunt apoi cuantizați, ceea ce cauzează anularea
componentelor cu amplitudinea apropiata de zero. Nivelul cuantizării componentelor de frecventa
depinde de factorul de calitate specificat de utilizator. Cu cat o imagine este comprimata mai mult,
cu atât mai multe componente de frecventa dintr-un bloc devin zero.
Procesul de codare realizează doua tipuri de compresie a imaginii asupra blocului de
coeficienți in frecventa:
Șirul de biți codat este scris in șirul de ieșire. In timpul codării, șirul de biți codat este citit
din șirul de intrare si apoi sunt decodați coeficienții de frecventa cuantizați pentru un bloc de pixeli
de date. Aceste componente de frecventa sunt apoi de cuantizate prin înmulțirea lor cu valorile din
tabela de cuantizare cu care au fost create. coeficienții de frecventa sunt rearanjați din ordinea in
funcție de frecventa in ordinea in funcție de pixel. Blocul de componente de frecventa este apoi
supus unei transformări cosinus discrete inverse, care convertește valorile componentelor de
frecventa in valori de pixel. Valorile reconstruite ale pixelilor sunt stocate in imaginea decodata.
Transformarea cosinus discreta (DCT) realizează trecerea de la o amplitudine de pixel si o
informație 2-D la un conținut in frecventa pentru o manipulare continua. In esența, transformarea
cosinus discreta se folosește pentru a calcula componentele de frecventa ale unui semnal dat.
Transformarea directa se aplica blocurilor de 8×8 pixeli de date, rezultând un sir de 64 de
coeficienți de frecventa. In fișierele JPEG, primul coeficient – coeficientul DC – este media
valorilor tuturor pixelilor din blocul respectiv. coeficienții de la 1 pana la 63 – coeficienții AC –
conțin spectrul componentelor de frecventa care alcătuiesc blocul de date de imagine.
Deoarece imaginile se modifica mai încet in timp (adică, de exemplu, într-o zona in care la
un moment dat exista un obiect de culoare galbena este foarte probabil ca la momentul de timp
următor sa apară aceeași culoare), foarte mulți coeficienți in frecventa produși de transformarea
cosinus discreta directa sunt zero sau apropiați de zero. Acest lucru este exploatat in timpul
procesului de cuantizare. Este de reținut faptul ca exista o corelație puternica intre coeficienții DC
ai blocurilor adiacente ale datelor de imagine.
Odată ce blocul de pixeli de imagine este procesat ca DCT, rezultatul este un spectru de
frecventa (orizontala si verticala) pentru pixeli. Coeficienții care compun spectrul de frecventa nu
sunt aranjați corespunzător (in ordine crescătoare) la sfârșitul procesării DCT.
11
Coeficientul DC se afla in coltul din stânga sus al blocului de coeficienți, fiind apoi urmat
către centrul blocului de coeficienții de frecventa joasa. Coeficienții de frecventa înalta sunt grupați
in partea din dreapta jos a blocului. La aplicarea citirii in zig-zag după ce DCT transforma cei 64
de coeficienți in ordine crescătoare, componenta continua si coeficienții de frecventa joasa sunt
grupați, fiind urmați de cei de frecventa înalta.
Pasul de cuantizare este pasul in care are loc cea mai mare parte a compresiei si, de aceea,
reprezintă principala sursa de pierderi din compresia JPEG. Cuantizarea este realizata prin
împărțirea fiecărei componente de frecventa printr-un coeficient de cuantizare corespunzător, care
depinde de specificațiile JPEG. pentru partea de luminanța, din datele de imagine este specificat
un tabel de cuantizare. Acest lucru este valabil si pentru crominanța. Coeficienții de cuantizare cu
valori apropiate de 1 permit ca valorile corespunzătoare ale componentelor de frecventa sa treacă
nemodificate prin procesul de cuantizare. Coeficienții de cuantizare mari fac ca valorile
corespunzătoare ale componentelor de frecventa sa fie apropiate de zero. Fiind nesemnificativa
din punct de vedere vizual, informația de frecventa înalta este eliminata.
Ultimul pas al procesului de codare JPEG este codarea entropica. Specificațiile JPEG oferă
utilizatorului posibilitatea de a alege intre codarea aritmetica si codarea Huffman. In general, cea
mai folosita in implementarea JPEG este codarea Huffman. Compresia Huffman se bazează pe
caracteristicile statistice ale datelor care urmează sa fie comprimate: simbolurilor care apar
frecvent li se asociază cuvinte de cod mai scurte, iar celor care apar mai rar li se asociază cuvinte
de cod mai lungi. Codarea Huffman este orientata pe bit, nu pe octet. Cuvintele de cod Huffman
asociate diverselor simboluri sunt încapsulate împreuna la nivel de bit, in cea mai restrânse
configurație de octeți. Acest lucru face dificila scrierea si depanarea codurilor Huffman deoarece
sirul de date trebuie sa fie examinat la nivel de bit.
12
3.2 Exemplu de codificare de bază
Figura 10 (a) este un bloc 8x8 de probe pe 8 biți, extras dintr-o imagine reală. Cel mici
variațiile de la eșantion la eșantion indică predominarea frecvențelor spațiale joase. După scăzând
128 din fiecare eșantionata pentru necesarul schimbării de nivel, blocul 8x8 este introdus în
FDCT. Figura 10 (b) arată (până la o zecimală) coeficienții DCT rezultați.
Sociabilitatea
Sociabilitatea codării imaginilor statice reprezintă capacitatea de a coda o imagine simultan la mai
multe nivele de rezoluție și calitate. Cele mai importante metode de scalabilitate sunt:
sociabilitatea după RSZ
sociabilitatea spaţială
sociabilitatea RSZ se folosește pentru sisteme în care este nevoie de cel puțin două versiuni ale
imaginii la diferite nivele de calitate. Sociabilitatea RSZ implică generarea a cel puțin două
14
versiuni ale imaginii originale la aceeași rezoluție spațială, dar având RSZ diferite. Versiunea de
calitate mai slabă va fi codată separat, reprezentând imaginea de bază. Versiunea de calitate
superioară este codată cu scopul de a îmbunătății performanțele primei versiuni.
sociabilitatea spațială se folosește pentru sisteme în care este nevoie de cel puțin două versiuni
ale imaginii la diferite rezoluții spațiale. sociabilitatea spațială implică generarea a cel puțin două
versiuni ale imaginii originale la diferite rezoluții spațiale. Versiunea de rezoluție mai mică va fi
codată separat, reprezentând imaginea de bază. Versiunea de rezoluție superioară este codată cu
scopul de a îmbunătății performanțele primei versiuni.
15
16
6 Concluzii
În opinia mea este important să țin cont de sursa imaginii și de locul în care urmează să fie
afișat, astfel dobândind rezultate de o calitate înaltă. In imaginile prezentate mai sus, diferențele
sunt aproape insesizabile fără o mărire de proporții a imaginilor. Desigur, prin prelucrarea
fișierului de tip JPEG si prin salvarea repetata sub acest format, calitatea se va degrada simțitor
datorita compresiei cu pierderi.
Programele care implementează algoritmi de comprimare sunt performante prin
flexibilitatea de a utiliza diferențiat algoritmii. Mai există și alți algoritmi( LZSS, TH, Comprimare
Aritmetică) a căror abordare prezintă interes când se fac analize asupra stabilităţii de
comportament.
Problematica realizării unei colecții a algoritmilor de comprimare rămâne în actualitate mai
ales pentru cazurile particulare. Astfel un text format din numere cuprinse între 10 9-3*1010, ca în
cazul capitalului social al firmelor din Lista de Privatizare, poate fi comprimat cu pierdere de
informație, conducând la un grad de comprimare foarte bun.
Se poate realiza comprimare și prin apelarea unor funcții de conversie. Astfel fișierele ce
conțin reprezentări în zecimal despachetat de numere, pe cinci octeți, cu valori în intervalul
17
( -32767 ; 32767), prin reprezentarea binară determină punerea în corespondenţă cu un câmp de
doi octeţi.
7 Bibliografie
1 http://www.compresie.ase.ro/htm/articol-03.htm
2 http://easy-learning.neuro.pub.ro:8888/Laboratoare/L4-
Echipamente%20de%20scanare/Echipamente%20de%20scanare/Cap12/Tipuri%20de%2
0fisiere.Compresie/Tipuri%20de%20fisiere.Compresie.htm
3 https://www.baboon.ro/cum-alegem-corect-formatul-imaginii-jpeg-png-gif/
4 http://www.comm.pub.ro/preda/cm/curs/3_1%20JPEG.pdf
5 http://telecom.etc.tuiasi.ro/pns/cc/lab_cc/L04_05_TCSM_JPEG.pdf
6 http://ctmtc.utcluj.ro:8080/sites/pni/SACCDAV/Laborator/JPEG/Lab%20PrelInDomCom
p.pdf
7 https://www.ijg.org/files/Wallace.JPEG.pdf
18