Ce este un algoritm de compresie?

Fișierele computerului pot ocupa o cantitate mare de spațiu pe un hard disk, precum și multă lățime de bandă de transmis. Pentru a economisi spațiu, în special cu fișierele care nu sunt accesate des și lățimea de bandă pentru fișierele care sunt transmise, au fost dezvoltate metode de stocare pentru a salva datele într-un pachet mai mic comprimându-le într-un fel. În fiecare caz, se folosește un algoritm de compresie – o metodă de reducere a dimensiunii datelor. Există mai multe categorii și tipuri populare de algoritm de compresie, fiecare dintre ele funcționând într-un mod diferit, iar unele au rezultate care diferă în moduri importante. Folosind diverși algoritmi de compresie, este în general posibil să se reducă un fișier text la mai puțin de jumătate din dimensiunea sa originală; pentru fișierele grafice, rezultatele variază foarte mult. Fișierul care rezultă din comprimare poate fi fie un format diferit, fie un fișier de arhivă, care este adesea folosit pentru stocare, transmitere și distribuție.

O modalitate de a clasifica algoritmii de compresie este dacă folosesc dicționar sau metode statistice pentru a comprima datele. Metoda dicționarului se concentrează pe fraze repetabile și este folosită în imaginile GIF și în arhivele JAR și ZIP. Metoda statistică se bazează pe frecvența de utilizare pentru a face o conversie, care se face în două treceri. Un exemplu este Modified Huffman (mh), utilizat în unele aparate de fax.

O a doua modalitate de a clasifica algoritmii de compresie și cea pe care o întâlnesc cel mai des programatorii non-profesioniști este dacă aceștia sunt fără pierderi sau cu pierderi. Un algoritm de comprimare a datelor fără pierderi este unul care comprimă datele în așa fel încât atunci când sunt decomprimate, acestea să fie exact identice cu fișierul original. Un exemplu de algoritm de compresie a datelor fără pierderi este lzw (algoritmul Lempel-Ziv-Welch). Dezvoltat în 1977 de Lempel și Ziv și îmbunătățit în 1984 de Welch, este folosit în fișiere precum GIF, TIF și PDF, precum și în anumite modemuri.

Un algoritm de comprimare a datelor cu pierderi are capacitatea de a reduce datele la o dimensiune mai mică decât compresia fără pierderi, dar cu prețul unora dintre datele originale. Cu alte cuvinte, restaurarea după comprimarea datelor cu pierderi nu oferă o copie identică a fișierului original. Algoritmul de compresie este, totuși, conceput pentru a limita pierderile, astfel încât acestea să nu fie vizibile pentru ureche sau ochi. Compresia cu pierderi este utilizată în formate de fișiere precum AAC, JPEG, MPEG și MP3.