Cum funcționează compresia fișierelor?

Cum funcționează compresia fișierelor? / Tehnologie explicată

Am auzit cu toții de compresie de fișiere. Oricine care descărcă în mod regulat fișiere de pe web este familiarizat cu formate precum ZIP și RAR și oricine editează fișiere media știe că este necesară comprimarea pentru a partaja imagini, muzică și videoclipuri pe web fără a utiliza toată lărgimea de bandă. Comprimarea fișierelor se află în centrul modului în care funcționează webul, s-ar putea să argumentați, deoarece ne permite să partajăm fișiere care altfel ar lua prea mult timp pentru a fi transferate. Dar cum funcționează?

Nu este nimic magic, dar este rezultatul unei multa munca grea de catre multi oameni foarte inteligenti. Să explorăm modul în care funcționează comprimarea fișierelor prin căutarea celor două tipuri principale de compresie - fără pierderi și pierderi.

Doar un avertisment - voi simplifica lucrurile aici, în încercarea de a face acest lucru ușor de citit de către specialiștii non-matematicieni. Consultați articolele legate de Wikipedia pentru mai multă adâncime și sursele Wikipedia pentru mai multe informații.

Compresie fără pierderi

Pierderea fără pierderi depinde practic de eliminarea redundanței. Ce inseamna asta? Să simplificăm lucrurile. Acest stiva de cărămizi va reprezenta datele noastre:

După cum puteți vedea, avem două cărămizi roșii, cinci galbene și trei albastre. Cea mai simplă modalitate de a reprezenta acest lucru este așa cum vedeți mai sus: cărămizile. Dar nu este singurul mod în care pot să reprezint asta. Aș putea face și asta:

În imaginea de mai sus puteți vedea exact aceleași informații - două roșu, cinci galben și trei albastru - dar necesită mult mai puțin spațiu. Am reprezentat cărămizi redundante folosind numere, adică am nevoie de doar trei cărămizi pentru a reprezenta zece.

Acest lucru vă oferă o idee despre cum este posibilă comprimarea fără pierderi. Informațiile care sunt redundante sunt înlocuite cu instrucțiuni care îi spun computerului cât de mult se repetă datele identice. Un alt exemplu simplificat:

fffffffuuuuuuuuuuuu

Poate fi “comprimat” la:

f7u12

Aceasta este o singură metodă de comprimare fără pierderi, desigur, dar arată cum este posibil acest lucru. Sunt utilizate și alte trucuri de matematică, dar principalul lucru care trebuie amintit de compresia fără pierderi este că, în timp ce spațiul este temporar salvat, este posibil să reconstruiți fișierul original în întregime din comprimat. Dacă vedeți trei cărămizi cu numere, știți exact cum să faceți stivă. Nu se pierd nici o informație, așa cum sugerează și numele fără pierderi.

Programele precum WinZip se bazează pe compresie fără pierderi. Acestea elimină această informație redundantă atunci când comprimați (sau “zip”) și restabiliți-l atunci când decomprimați (sau “unzip”). Nimic nu este pierdut.

În lumea imaginilor, fișierele PNG utilizează de asemenea compresie fără pierderi. De aceea, acestea oferă o dimensiune mai mică a fișierelor pentru imagini cu un spațiu uniform: informația redundantă este reprezentată folosind instrucțiuni.

Bineînțeles, aceasta este o simplă simplificare, dar are punctul de bază. Citiți mai multe despre comprimarea fără pierderi pe Wikipedia, dacă sunteți interesat.

Pierderea compresiei

Desigur, există doar atât de mult puteți realiza folosind doar metode fără pierderi. Din fericire, acestea nu sunt singura opțiune: puteți, de asemenea, pur și simplu să eliminați informațiile. Aceasta se numește compresie pierdută, și nu este la fel de nebun cum sună; de fapt, probabil aveți multe fișiere de pe computerul dvs. realizate folosind compresie lossy.

Un MP3, de exemplu. Dacă sunteți ca majoritatea oamenilor, computerul dvs. stochează mii de ei pentru dvs., dar știați că nu conțin toate informațiile audio înregistrate inițial? Unele sunete, pe care oamenii nu le pot auzi sau le pot auzi, sunt eliminate ca parte a compresiei. Cu cât comprimați mai mult un fișier, cu atât mai multe informații sunt eliminate, motiv pentru care un fișier prea comprimat va începe să sune zgomotos.

Compresia în pierdere tinde să fie utilizată în cea mai mare parte pentru fișiere media - imagini, sunet și video. Utilizarea compresiei cu pierderi pentru un fișier text ar fi problematică, deoarece informațiile care rezultă ar fi eronate. Nu este totuși necesar ca fișierele media să includă totuși toate informațiile.

Un alt exemplu de compresie cu pierderi este imaginea JPEG. În general, imaginile de pe web nu trebuie să fie la fel de înaltă ca imaginile destinate tipăririi. Ca atare, puteți elimina o mulțime de informații redundante într-o imagine web, chiar dacă acest lucru ar părea îngrozitor imprimat.

Desigur, comprimarea în mod repetat a unui fișier utilizând metode pierdute scade calitatea - de fiecare dată când o faceți, se pierd mai multe date. Mai jos este o fotografie comprimată de trei ori pentru a demonstra acest lucru:

Puteți vedea de la stânga la dreapta cum scade calitatea. Este posibil să nu conteze, în funcție de ce va fi folosit imaginea, și de aceea există o compresie cu pierderi.

Este important să rețineți că fișierele comprimate folosind metode pierdute pierd efectiv date, ceea ce înseamnă că nu puteți recrea fișierul original dintr-un comprimat folosind metode pierdute. Este evident când te gândești la asta, dar multe proiecte de tipărire au fost ruinate din cauza lipsei de înțelegere a acestui punct cheie.

Chiar am zgâriat doar suprafața aici, așa că vă rog: citiți mai multe despre compresia lossy pe Wikipedia. Este un fel de fascinant.

Concluzie

Compresia a ajutat la transformarea web-ului în ceea ce este. În zilele de imagini comprimate dial-up a adus fotografii la browser-ul nostru, cel puțin nu la o viteză acceptabilă. Videoclipul comprimat face posibile site-uri precum YouTube, iar oricine utilizează rețele de partajare de fișiere este familiarizat cu fișierele ZIP și RAR.

Aveți ceva de adăugat? Sunt sigur că mi-am pierdut câteva puncte cheie, educându-mă (și ceilalți cititori) în comentariile de mai jos.

Credit de imagine: Imagine de primăvară prin Shutterstock

Explorați mai multe despre: Comprimarea fișierelor.