Datakomprimering minskar filstorleken. Mindre filer tar mindre lagringsutrymme, flyttas snabbare över nätverk och kostar mindre att lagra. Avvägningen är beräkningstid. Komprimering och dekomprimering tar CPU-tid. Målet är att spara mer i lagring och bandbredd än du spenderar på bearbetning. För de flesta användningsfall stämmer matematiken.
Komprimering finns i två former. Förlustfri komprimering bevarar varenda bit av originaldatan. ZIP-filer, PNG-bilder och FLAC-ljud använder förlustfria metoder. Förlustkomprimering tar bort information som människor sannolikt inte kommer att märka. JPEG-bilder, MP3-ljud och H.264-video använder förlustbetonade metoder. Kvalitetsförlusten är verklig men ofta omärkbar vid rimliga inställningar. Valet beror på användningsfallet. Medicinska bilder behöver förlustfri komprimering eftersom varje pixel är viktig. Ett marknadsföringsfoto kan tolerera förlustbetonad komprimering eftersom tittaren inte kommer att märka det. Komprimeringsalgoritmer utnyttjar mönster. Upprepade sekvenser, vanliga tecken och förutsägbara strukturer kodas alla mer effektivt. Slumpmässig data komprimeras inte. Det är därför krypterade filer och redan komprimerad media inte krymper ytterligare. Algoritmen hittar ingenting att utnyttja. Entropi är gränsen.
Kompressionstyper
- Förlustfri — exakt rekonstruktion, större filer
- Förlustbeständig — ungefärlig rekonstruktion, mindre filer
- Strömmande — komprimerar data när den anländer
- Ordboksbaserad — ersätter upprepade mönster med referenser
Komprimering är en handel. Lagring och bandbredd å ena sidan. Kvalitet och beräkningsförmåga å den andra. Välj den balans som passar jobbet.
Comments
No comments yet. Be the first to share a thought.
Leave a comment