Hvordan fungerer filkomprimering?
Vi har alle hørt om filkomprimering. Alle som regelmessig laster ned filer fra nettet, er kjent med formater som ZIP og RAR, og alle som redigerer mediefiler, vet at komprimering er nødvendig for å dele bilder, musikk og videoer på nettet uten å bruke hele båndbredden. Filkomprimering er kjernen i hvordan nettverket fungerer, det kan hende du argumenterer fordi det tillater oss å dele filer som ellers ville ta for lang tid å overføre. Men hvordan fungerer det?
Det er ikke noe magisk, men det er resultatet av mye hardt arbeid av mange svært smarte mennesker. La oss utforske hvordan filkomprimering fungerer ved å se over de to hovedtyper av komprimering - lossless og lossy.
Bare en advarsel - Jeg skal oversimplify ting her i et forsøk på å gjøre dette lesbart av ikke-matte majors. Sjekk ut de koblede Wikipedia-artiklene for mer dybde, og Wikipedias kilder for enda mer.
Lossless kompresjon
Lossless komprimering fungerer i utgangspunktet ved å fjerne redundans. Hva betyr det? La oss forenkle ting. Denne stakken med murstein representerer våre data:
Som du kan se har vi to røde murstein, fem gule og tre blå. Den enkleste måten å representere dette på er som du ser ovenfor: teglene selv. Men det er ikke den eneste måten jeg kan representere dette på. Jeg kunne også gjøre dette:
I bildet ovenfor kan du se nøyaktig samme informasjon - to røde, fem gule og tre blå - men det tar opp betydelig mindre plass. Jeg har representert overflødig murstein med tall, noe som betyr at jeg trenger bare tre murstein til å representere ti.
Dette gir deg en grov ide om hvordan lossless komprimering er mulig. Informasjon som er overflødig, erstattes av instruksjoner som forteller datamaskinen hvor mye identiske data gjentas. Et annet forenklet eksempel:
fffffffuuuuuuuuuuuu
Kan være “komprimert” til:
f7u12
Dette er bare en metode for lossless komprimering, selvfølgelig, men det peker på hvordan dette er mulig. Andre matte tricks brukes, men det viktigste å huske om lossless komprimering er at mens plassen er midlertidig lagret, er det mulig å rekonstruere den opprinnelige filen helt fra den komprimerte. Hvis du ser tre murstein med tall, vet du nøyaktig hvordan du lager stakken. Ingen informasjon går tapt, akkurat som navnet lossless innebærer.
Programmer som WinZip er basert på lossless komprimering. De fjerner denne overflødige informasjonen når du komprimerer (eller “glidelås”) filen og gjenopprett den når du pakker ut (eller “unzip”). Ingenting er tapt.
I bildeverdenen bruker PNG-filer også lossless komprimering. Det er derfor de tilbyr en mindre filstørrelse for bilder med mye uniform plass: den overflødige informasjonen er representert ved hjelp av instruksjoner.
Selvfølgelig er dette en forenkling, men det blir det grunnleggende punktet på tvers. Les mer om lossless komprimering på Wikipedia, hvis du er interessert.
Lossy Compression
Selvfølgelig er det bare så mye du kan oppnå ved å bruke bare tapsløse metoder. Heldigvis er de ikke det eneste alternativet: Du kan også bare fjerne informasjon. Dette kalles lossy komprimering, og det er ikke så gal som det høres ut; Faktisk har du sannsynligvis mange filer på datamaskinen din laget med lossy komprimering.
En MP3, for eksempel. Hvis du er som de fleste, lagrer datamaskinen din tusenvis av dem for deg, men visste du at de ikke inneholder all lydinformasjon det opprinnelige opptaket gjorde? Noen lyder, som mennesker ikke kan eller kan knapt høre, fjernes som en del av kompresjonen. Jo mer du komprimerer en fil, desto mer informasjon blir fjernet, og derfor vil en altfor komprimert fil begynne å høres gjørmete.
Tapete komprimering pleier å være mest brukt til mediefiler - bilder, lyd og video. Bruke lossy komprimering for en tekstfil ville være problematisk, da den resulterende informasjonen ville bli forvirret. Det er ikke alltid nødvendig for mediefiler å inkludere all informasjonen, men.
Et annet eksempel på lossy komprimering er JPEG bildet. Generelt sett trenger bilder som er sett på nettet ikke å være like høye kvalitet som bilder beregnet på utskrift. Som sådan kan du fjerne mye overflødig informasjon i et webbilde, selv om det ville se forferdelig ut med det.
Selvfølgelig, ved å komprimere gjentatte ganger en fil ved hjelp av lossy-metoder, reduseres kvaliteten - hver gang du gjør det, går det flere data tapt. Nedenfor er et bilde jeg har komprimert tre ganger for å demonstrere dette:
Du kan se fra venstre til høyre hvordan kvaliteten reduseres. Det kan ikke hende noe, avhengig av hva bildet skal brukes til, og det er derfor lossy komprimering eksisterer.
Det er viktig å huske at filer som komprimeres ved hjelp av lossy-metoder, faktisk mister data, noe som betyr at du ikke kan gjenopprette den opprinnelige filen fra en komprimert ved hjelp av lossy-metoder. Det er tydelig når du tenker på det, men mange utskriftsprosjekter er ødelagt fordi du ikke har forstått dette viktige punktet.
Jeg har egentlig bare skrapet overflaten her, så vær så snill: les mer om lossy komprimering på Wikipedia. Det er litt fascinerende.
Konklusjon
Komprimering bidro til å gjøre Internett hva det er. I dagene med oppringning tok komprimerte bilder bilder til vår nettleser, i hvert fall ikke til en akseptabel hastighet. Komprimert video gjør at nettsteder som YouTube er mulige, og alle som bruker fildelingsnettverk, er kjent med ZIP og RAR-filer.
Har du noe å legge til? Jeg er sikker på at jeg har savnet noen viktige poeng, så utdanne meg (og de andre leserne) i kommentarene nedenfor.
Bildekreditt: Vårbilde via Shutterstock
Utforsk mer om: Filkomprimering.