Algoritmi de comprimare a imaginilor

Algoritmi de comprimare a imaginilor

Astăzi, camerele profesionale sunt capabile să producă imagini uimitoare, dar stocarea imaginilor brute necesită o cantitate imensă de spațiu pe disc. De aceea, specialiștii din întreaga lume au dezvoltat algoritmi specifici pentru comprimarea imaginilor raster până la limite rezonabile. Toți algoritmi existenți la bază se bazează pe modalități ușor diferite de a optimiza dimensiunea finală a fișierului. Toți algoritmii dezvoltați pentru compresia imaginilor pot fi împărțiți în două tipuri mari: un algoritm fără pierderea calității imaginii și algoritmi cu pierderi de calitate.







Algoritmi de comprimare a imaginilor
Fotografii de calitate uimitoare într-un format comprimat

Algoritmii de compresie a imaginilor fără pierderi de calitate au în esență sarcina de a căuta elemente duplicate într-o serie de date și de a le înlocui cu informații echivalente, dar preluând mai puține date. Acești algoritmi sunt aplicați fiecărei componente color utilizate (de exemplu, în schema de culori RGB, algoritmul va fi aplicat fiecărei culori utilizate). Răspândirea unor astfel de algoritmi se explică prin faptul că fiecare element separat din imaginea digitală diferă de cel apropiat unul mult mai mic decât în ​​imaginea finală, ceea ce dă rezultate bune pentru reducerea dimensiunii fotografiilor.

Algoritmi de comprimare a imaginilor
Dependența calității imaginii de raportul de compresie

RLE (codarea lungimii de execuție) este cel mai simplu algoritm de comprimare în care un handler urmărește o secvență de octeți identici și îl modifică la o pereche de "valoare de lungime-octet serie". De exemplu, secvența de octeți din fișierul 55555555 înlocuiește algoritmul cu perechea 85. Această tehnologie este foarte bine utilizată în acele fișiere în care există suprafețe mari pline cu o singură culoare (diagrame, diagrame). Astăzi, acest algoritm este utilizat pentru preprocesare în formate precum BMP, PCX, TIFF, JPEG.







Codificarea lui Hoffman - în acest caz dezvoltatorul folosește și codarea datelor repetate, unde codurile de lungime mai scurtă sunt folosite pentru a codifica mai multe lanțuri repetate decât pentru lanțuri mai rare. Dicționarul de cod este un arbore binar, unde secvențele care se repetă în mod rar sunt mai departe de rădăcina copacului. Aici numerele ramurilor de la rădăcină la lanțul propriu-zis constituie codul de secvență. Acest algoritm astăzi nu este practic utilizat în forma sa pură, dar este folosit în fișierele JPEG, PNG.

Algoritmi de compresie a imaginilor cu pierderea calității - în procesul de comprimare a fișierelor, unele informații sunt eliminate, ceea ce oferă un grad mai mare de comprimare. Cu toate acestea, dezvoltatorii trebuie să rezolve o întrebare importantă: care nu va afecta exact rezultatul.

JPEG - dezvoltarea "Grupului de experți în fotografie" pentru imagini cu adâncime de culoare pe 24 biți. Astăzi este aproape un standard de imagini full-color. Tehnologia folosește o transformare discretă a cosinusului (DCT) aplicată pe o matrice de imagine de 8x8 pentru a obține o nouă matrice de coeficienți. Codificarea însăși merge în patru etape.
Prima etapă este eșantionarea, unde datele de culoare sunt convertite în modelul YCbCr. Apoi, se efectuează o eșantionare în jos, în care componentele de crominanță (Cb, Cr) scad calitatea, deoarece pentru ochiul uman aceste pierderi sunt cele mai nesemnificative.
În a doua etapă, apare DCT, unde imaginea este împărțită în blocuri matrice 8x8 pentru conversia ulterioară.
Al treilea pas în algoritm este cuantificarea, în care ultimele elemente ale matricei DCT sunt îndepărtate din imagine, ceea ce afectează rezultatul final al imaginii în cea mai mică măsură. Coeficienții DCT rămași sunt cuantificați prin metoda Hoffman.
Algoritmul descris este aplicat pretutindeni, cu excepția codării imaginilor simple, în care ochiul uman vede tranziții clare de la o culoare la alta. În astfel de imagini, atunci când se utilizează algoritmul de comprimare JPEG, utilizatorul va obține efectul Gibbs (margini murdare cu un halo murdar) la limitele tranziției.

Algoritmul fractal este o metodă care folosește o metodă de comprimare diferită de ceilalți algoritmi. Aici, baza constă în constatarea în imagini a unor astfel de zone, care sunt apoi codificate într-un mod special. În acest caz, similaritatea elementelor este căutată în regiuni pătrate cu utilizarea limitată a rotațiilor cu un anumit unghi. Această metodă este foarte intensivă pentru resurse, dar permite obținerea unor rezultate excelente privind raportul calitate / volum al fișierului. O metodă este folosită în imaginile în format full-color în format FIF.

Algoritmii considerați astăzi permit utilizatorului să selecteze cele mai profitabile dintr-o gamă largă de formate reprezentate, dar există o serie de obstacole în acest domeniu. În primul rând, noile tehnologii de compresie necesită o putere mare de procesare și un timp de procesare, care este esențială pentru dispozitivele portabile (aparate foto). În acest sens, activitatea experților privind optimizarea algoritmilor deja dezvoltați și introducerea compresiei hardware a imaginilor continuă.







Articole similare

Trimiteți-le prietenilor: