27.1 Strategii de compresie a datelor

Tabelul 27-1 prezintă două moduri diferite de clasificare a algoritmilor de compresie a datelor. În (a), metodele au fost clasificate ca fără pierderi sau cu pierderi. O tehnică fără pierderi înseamnă că fișierul de date restaurat este identic cu originalul. Acest lucru este absolut necesar pentru multe tipuri de date, de exemplu: cod executabil, fișiere de procesare a textului, numere tabelate etc. Nu vă puteți permite să deplasați nici măcar un singur bit al acestui tip de informații. În comparație, fișierele de date care reprezintă imagini și alte semnale dobândite nu trebuie să fie păstrate în stare perfectă pentru stocare sau transmisie. Toate măsurătorile din lumea reală conțin în mod inerent o anumită cantitate de zgomot. Dacă modificările aduse acestor semnale seamănă cu o mică cantitate de zgomot suplimentar, nu se face nici un rău. Tehnicile de compresie care permit acest tip de degradare se numesc lossy. Această distincție este importantă deoarece tehnicile lossy sunt mult mai eficiente la compresie decât metodele fără pierderi (lossless). Cu cât este mai mare raportul de compresie, cu atât mai mult zgomot este adăugat la date.

Tabelul 27-1 Clasificările compresiei.

Metodele de comprimare a datelor pot fi împărțite în două moduri.În (a), tehnicile sunt clasificate ca lossless sau lossy. Metodele lossless reconstituie datele comprimate la exact aceeași formă ca originalul, în timp ce metodele lossy generează numai o aproximare.
În (b), metodele sunt clasificate în funcție de o dimensiune fixată sau variabilă a grupului luat din fișierul original și scris în fișierul comprimat.

Imaginile transmise pe web sunt un exemplu excelent de ce este importantă compresia datelor. Să presupunem că trebuie să descărcăm o fotografie digitală color pe un modem 33,6 kbps de computer. Dacă imaginea nu este comprimată (de exemplu, un fișier TIFF), va conține aproximativ 600 kbyte de date. Dacă a fost comprimată utilizând o tehnică lossless (cum ar fi cea folosită în formatul GIF), va fi de aproximativ o jumătate din această dimensiune sau 300 kbytes. Dacă fost utilizată o compresie lossy (un fișier JPEG), va fi de aproximativ 50 kbytes. Ideea este că timpii de descărcare pentru aceste trei fișiere echivalente sunt 142 secunde, 71 secunde și, respectiv, 12 secunde. Asta este o mare diferență! JPEG este cea mai bună alegere pentru fotografiile digitizate, în timp ce GIF este utilizată cu imagini desenate, cum ar fi logo-urile companiei care au suprafețe mari de o singură culoare.

Al doilea mod de clasificare a metodelor de compresie a datelor este prezentat în Tabelul 27-1b. Majoritatea programelor de compresie a datelor operează prin preluarea unui grup de date din fișierul original, prin comprimarea acestuia într-un fel și apoi prin scrierea grupului comprimat în fișierul de ieșire. De exemplu, una dintre tehnicile din acest tabel este CS&Q, prescurtare de la coarser sampling and/or quantization (eșantionare mai grosieră și/sau cuantificare). Să presupunem comprimarea unei forme de undă digitalizată, cum ar fi un semnal audio care a fost digitalizat la 12 biți. S-ar putea să citim două eșantioane adiacente din fișierul original (24 biți), să renunțăm complet la un eșantion, să renunțăm la cei mai puțin semnificativi 4 biți din celălalt eșantion și apoi să scriem restul de 8 biți în fișierul de ieșire. Cu 24 biți in și 8 biți out, am implementat un raport de comprimare 3:1 utilizând un algoritm lossy. În timp ce acest lucru este mai degrabă brut în sine, este foarte eficient atunci când este utilizat cu o tehnică numită compresia transformatei. Așa cum vom discuta mai târziu, aceasta este baza JPEG.

Tabelul 27-1b arată că CS&Q este o schemă ​​de intrare-fixă ieșire-fixă. Adică, un număr fix de biți este citit din fișierul de intrare și un număr mai mic fixat de biți este scris în fișierul de ieșire. Alte metode de comprimare permit citirea sau scrierea unui număr variabil de biți. Pe măsură ce treceți prin descrierea fiecăreia dintre aceste metode de comprimare, reveniți la acest tabel pentru a înțelege cum se încadrează în schema de clasificare. De ce nu sunt listate JPEG și MPEG în acest tabel? Aceștia sunt algoritmi compuși care combină multe dintre celelalte tehnici. Ei sunt prea sofisticați pentru a fi clasificați în aceste categorii simple.

Secțiunea următoare: Codificare Run-Length