Format grafic jpeg - algoritmi de descriere și compresie, matrixblogmatrixblog

Bună ziua tuturor, astăzi vom examina puțin formatul de imagine JPEG, precum și algoritmii de comprimare a datelor, cu pierderi și fără pierderi.

Formatul grafic JPEG este unul dintre cele mai populare. Are multe avantaje și, prin urmare, a devenit foarte răspândită și susținută pe scară largă. Dar acesta nu este singurul format potrivit pentru o fotografie și utilizarea sa aduce o serie de capcane, pe care le vom lua în considerare.

Din ultimul articol, „Imaginile digitale - pixeli, rezoluție și adâncimea de culoare“, a devenit clar că o fotografie de 6 megapixeli în formatul de fișier de imagine JPEG care este stocat în adâncime de culoare de 24 biți (8 biți per canal) ar trebui să aibă o dimensiune de 18 MB. Dacă utilizați o adâncime de culoare de 48 de biți (16 biți / canal), fotografiile vor avea chiar 36 MB. Dorința de a reduce greutatea imaginii a condus la crearea de algoritmi de compresie.

Pierderea fără pierderi

Format grafic jpeg - algoritmi de descriere și compresie, matrixblogmatrixblog
Principiul de compresie este de a scana datele astfel încât fișierul de ieșire să fie mai mic decât cel original. Imaginați-vă, de exemplu, o serie de 30 de cifre:

9 7 3 0 0 0 0 0 0 0 0 0 9 9 9 9 9 9 6 7 6 3 7 6 5 5 5 5 5 5

Dacă suntem de acord că simbolul "n / B" va însemna repetarea n-a numărului B, atunci putem converti aceste 30 de numere după cum urmează:

9 7 3 "9/0" "6/9" 6 7 6 3 7 6 "6/5"

La prima vedere, evident, avem acum doar 15 cifre. La 100%, puteți restabili seria originală și, prin urmare, nu există pierderi de informații. Acesta este un principiu de compresie fără pierderi.

Compresia fără pierderi este folosită, de exemplu, de arhivele ZIP populare, care de obicei sunt împachetate cu diferite tipuri de date. Faptul că datele originale pot fi restabilite 100% este ideal pentru ambalarea generală a ceva - de exemplu, programe de calculator, texte și fotografii în format grafic JPEG. Actualul algoritm de compresie, desigur, este mult mai complicat decât exemplul de mai sus, utilizează redundanța statistică a datelor. Gradul de compresie, sau raportul dintre dimensiunile datelor originale și cele comprimate, depinde în mare măsură de conținut - cu cât redundanța este mai mare, cu atât mai mult va fi posibilă reducerea acestora. În ceea ce privește grafica, nivelul de comprimare este cel mai bine realizat pentru imaginile monotone.

Pierderea compresiei

Format grafic jpeg - algoritmi de descriere și compresie, matrixblogmatrixblog
Atunci când se comprimă cu pierdere, părțile inutile și neinteresante (numere, litere, cuvinte etc.) sunt șterse. Un exemplu poate fi o reducere semnificativă a acestui articol la o zecime sau un fel de adnotare. Ideea principală rămâne, însă, detaliile mici sunt, totuși, pierdute iremediabil. Nu va fi niciodată posibil să restabiliți originalul, deși versiunea trunchiată se va asemăna, în general, originalului cu conținut semantic. Atunci când raportul de compresie este mărit, calitatea sau similitudinea originalului și a copiei este redusă.

Cunoașterea conținutului ne permite să oferim doar un astfel de algoritm de comprimare, astfel încât părțile eliminate iremediabil sunt cât se poate de vizibile și că rezultatul comprimat este cel mai bine subiectiv care amintește de original. Un format grafic JPEG de comprimare folosește compresie cu pierderi pentru a minimiza dimensiunea fișierului, dar în același timp reduce la minim distorsiunea fotografiei.

Format grafic JPEG - o mică descriere

Format grafic jpeg - algoritmi de descriere și compresie, matrixblogmatrixblog

Salvarea definitivă a dimensiunii formatului grafic al fișierului JPEG depinde nu numai de raportul de compresie selectat, ci și de conținutul fotografiei. Fotografiile ascuțite sunt pline de mici detalii (de exemplu, un câmp sau o iarbă) și pot fi comprimate mult mai puțin decât, de exemplu, un portret cu fundal defocalizat.

Algoritmul de codare în format grafic JPEG poate fi foarte simplu descris după cum urmează:

  1. Imaginea de intrare din modelul color RGB este transformată în modelul YCbCr, care stochează separat canalul de luminanță Y și cele două componente de culoare Cb și Cr. O metodă similară de transmisie este folosită în televiziune, în sistemul PAL sau în modelul de culoare L * a * b.
  2. Motivul traducerii în YCbCr este că ochiul este mult mai puțin sensibil la schimbările de culoare decât în ​​luminozitate. Cu alte cuvinte, culorile pot fi comprimate mult mai mult decât luminozitatea și ochiul nu observă această comprimare. Acest lucru reduce în mod semnificativ dimensiunea formatului grafic final al fișierului JPEG.
  3. Următorul pas se aplică în mod egal componentelor Y, Cb și Cr când imagine JPEG este împărțit în pătrate 8x8 pixeli, și în ele, folosind așa-numitele cosinus discretă transforma probe duplicat (DCT), este căutat.
  4. În cele din urmă, rezultatul se aplică și în cazul comprimării fără pierderi JPEG, iar rezultatul este salvat ca un format de fișier grafic JPEG (extensie jpg).

Dezavantaje ale formatului grafic al fișierelor JPEG

Formatul grafic JPEG, deși foarte popular, are o serie de dezavantaje:

  1. Un fișier imagine în format JPEG nu acceptă o adâncime de culoare mai mare și lucrează întotdeauna cu o adâncime de culoare de doar 24 de biți (adică 8 biți / canal). Prin urmare, nu permite utilizarea unei culori de mai mult de 12 biți pe canal, obținută, de exemplu, din formatul RAW.
  2. Formatul JPEG nu acceptă transparența și nu poate salva imagini cu fundal transparent. Transparența la crearea graficii și colajelor pe calculator este adesea necesară și, prin urmare, este necesar să se recurgă la alte formate grafice (TIFF, PNG, GIF, PSD etc.).
  3. Datorită metodei de comprimare utilizate, formatul de comprimare JPEG nu este potrivit pentru stocarea graficelor (desene, grafice, diagrame, pictograme, capturi de ecran etc.). Algoritmul de comprimare JPEG este afișat pe linii și litere, este lubrifiat, astfel încât aspectul și lizibilitatea acestuia se deteriorează.
  4. Formatul grafic JPEG nu acceptă animația (imagini în mișcare). Aceasta este o zonă de date GIF sau Flash.
  5. Formatul grafic al fișierelor JPEG nu acceptă compresie fără pierderi. Compresia este întotdeauna o pierdere, totuși, cu o înaltă calitate, rezultatul este absolut indistinguizabil, de exemplu, din compresia fără pierderi în TIFF.
  6. Formatul JPEG nu acceptă salvarea unei imagini care conține mai multe straturi. Aceasta este o zonă TIFF, sau mai degrabă un PSD.
  7. Formatul grafic JPEG nu acceptă grafice vectoriale, fiind potrivit doar pentru fotografii.
  8. Salvarea repetată în format JPEG degradează fotografia.

Desigur, deși JPEG are dezavantaje, este încă popular.