Hvordan virker filkomprimering?

Filkomprimering er kernen i, hvordan det moderne web fungerer, man kunne argumentere for, fordi det giver os mulighed for at dele filer, der ellers ville tage for lang tid at overføre. Men hvordan virker det?

Filkomprimering er kernen i, hvordan det moderne web fungerer, man kunne argumentere for, fordi det giver os mulighed for at dele filer, der ellers ville tage for lang tid at overføre.  Men hvordan virker det?
Reklame

Vi har alle hørt om filkomprimering. Enhver, der regelmæssigt henter filer fra internettet, er bekendt med formater som ZIP og RAR, og enhver, der redigerer mediefiler, ved, at komprimering er nødvendig for at dele billeder, musik og videoer på internettet uden at bruge hele din båndbredde. Filkomprimering er kernen i, hvordan internettet fungerer, det kan du argumentere for, fordi det giver os mulighed for at dele filer, der ellers ville tage for lang tid at overføre. Men hvordan virker det?

Det er ikke noget magisk, men det er resultatet af en masse hårdt arbejde af mange meget kloge mennesker. Lad os undersøge, hvordan filkomprimering virker ved at kigge over de to hovedtyper af kompression - tabsfri og tabsfri.

Bare en advarsel - Jeg vil oversimplify ting her i et forsøg på at gøre dette læseligt af non-math majors. Tjek de linkede Wikipedia-artikler for mere dybde, og Wikipedias kilder til endnu mere.

Lossless Compression

Lossless kompression virker grundlæggende ved at fjerne redundans. Hvad betyder det? Lad os forenkle tingene. Denne stak mursten repræsenterer vores data:

hvordan fungerer filkomprimering

Som du kan se har vi to røde mursten, fem gule og tre blå. Den enkleste måde at repræsentere dette på er som du ser ovenfor: teglsten selv. Men det er ikke den eneste måde jeg kan repræsentere dette på. Jeg kunne også gøre dette:

hvordan filkomprimering virker

I ovenstående billede kan du se nøjagtig samme information - to røde, fem gule og tre blå - men det tager meget mindre plads. Jeg har repræsenteret overflødige mursten ved hjælp af tal, hvilket betyder, at jeg kun har brug for tre teglsten til at repræsentere ti.

Dette giver dig en grov ide om, hvordan tabsfri kompression er mulig. Oplysninger, der er overflødige, erstattes med instruktioner, der fortæller computeren, hvor meget identiske data gentages. Et andet forenklet eksempel:

fffffffuuuuuuuuuuuu

Kan "komprimeres" til:

f7u12

Dette er kun en metode til tabløs komprimering, selvfølgelig, men det peger på, hvordan det er muligt. Andre matte tricks bruges, men det vigtigste ved at huske om tabsfri kompression er, at mens pladsen midlertidigt er gemt, er det muligt at rekonstruere den oprindelige fil helt fra den komprimerede. Hvis du ser tre mursten med tal, ved du præcis, hvordan du laver stakken. Ingen oplysninger går tabt, ligesom navnet lossless indebærer.

Programmer som WinZip er baseret på tabsfri kompression. De fjerner denne overflødige information, når du komprimerer (eller "zip") filen og gendanner den, når du pakker ud (eller "unzip"). Intet er tabt.

I billedverdenen bruger PNG-filer også tabsfri kompression. Det er derfor, de tilbyder en mindre filstørrelse til billeder med masser af ensartet plads: at overflødige oplysninger er repræsenteret ved hjælp af instruktioner.

Dette er selvfølgelig en forenkling, men det bliver det grundlæggende punkt på tværs af. Læs mere om lossless kompression på Wikipedia, hvis du er interesseret.

Lossy Compression

Selvfølgelig er der kun så meget, du kan opnå ved kun at bruge tabløse metoder. Heldigvis er de ikke den eneste mulighed: Du kan også blot fjerne oplysninger. Dette kaldes lossy kompression, og det er ikke så vildt som det lyder; Faktisk har du sikkert mange filer på din computer lavet ved hjælp af lossy kompression.

En MP3, for eksempel. Hvis du er som de fleste, gemmer din computer tusindvis af dem til dig, men vidste du, at de ikke indeholder alle de audiooplysninger, den oprindelige optagelse gjorde? Nogle lyde, som mennesker ikke kan eller næppe kan høre, fjernes som en del af komprimeringen. Jo mere du komprimerer en fil, desto flere oplysninger fjernes, hvorfor en alt for komprimeret fil begynder at lyde mudret.

Lossy compression tendens til at blive brugt til mediefiler - billeder, lyd og video. Brug af lossy kompression til en tekstfil ville være problematisk, da den resulterende information ville blive forstyrret. Det er ikke altid nødvendigt, at mediefiler indbefatter al information, dog.

Et andet eksempel på lossy kompression er JPEG-billedet. Generelt set skal billeder, der ses på nettet, ikke være så høje som billeder, der er beregnet til udskrivning. Som sådan kan du fjerne en masse overflødige oplysninger i et webbillede, selvom det ville se forfærdeligt ud.

Selvfølgelig gentager kompressionen gentagne gange en fil ved hjælp af lossy metoder kvaliteten - hver gang du gør det, går flere data tabt. Nedenfor er et billede, jeg har komprimeret tre gange for at demonstrere dette:

hvordan fungerer filkomprimering

Du kan se fra venstre mod højre, hvordan kvaliteten falder. Det kan ikke være noget, afhængigt af hvad billedet skal bruges til, og derfor er der tabt kompression.

Det er vigtigt at huske at filer komprimeret ved hjælp af lossy metoder faktisk taber data, hvilket betyder at du ikke kan genskabe den oprindelige fil fra en komprimeret ved hjælp af lossy metoder. Det er indlysende, når du tænker på det, men mange udskrivningsprojekter er blevet ødelagt for manglende forståelse af dette nøglepunkt.

Jeg har virkelig kun ridset overfladen her, så vær venlig at læse mere om lossy kompression på Wikipedia. Det er lidt fascinerende.

Konklusion

Kompression har bidraget til at gøre internettet til det. I dagene med opkald komprimerede billeder bragt billeder til vores browser, i hvert fald ikke på en acceptabel hastighed. Komprimeret video gør websteder som YouTube mulige, og enhver, der bruger fildelingsnetværk, er bekendt med ZIP- og RAR-filer.

Har du noget at tilføje? Jeg er sikker på, at jeg har savnet nogle nøglepunkter, så uddanne mig (og de andre læsere) i kommentarerne nedenfor.

Billedkredit: Springbillede via Shutterstock

In this article