Vad är förlustfri datakomprimering?
Förlustfri datakomprimering är en datormetod för att lagra filer och kombinera dem till arkiv som tar mindre fysiskt utrymme i minnet än filerna annars skulle utan att förlora information som data innehåller i processen. Förlustkompression minskar däremot filstorleken med tillnärmningar av data, och restaurering är av en nära fax för det ursprungliga filinnehållet. Algoritmer som används för förlustfri datakomprimering är i huvudsak en uppsättning strömlinjeformade regler eller instruktioner för kodning av informationen med färre bitar av minne samtidigt som de behåller förmågan att återställa data till dess ursprungliga format utan ändring.
Vissa vanliga filtyper som använder förlustfri datakomprimering inkluderar de internationella affärsmaskinerna (IBM) datorbaserade ZIP och Unix-datorbaserade Gz-arkiv. Bildfilformat som det grafiska växelformatet (GIF), Portable Network Graphics (PNG) och Bitmap (BMP) -filer. Datakomprimeringsalgoritmer också vARY baserat på att filtypen komprimeras, med vanliga variationer för text, ljud och körbara programfiler.
De två huvudkategorierna av algoritmer för förlustfri datakomprimering är baserade på en statistisk modell av inmatningsdata och en mappningsmodell av bitsträngar i en datafil. Rutinmässiga statistiska algoritmer som används är Burrows-Wheeler Transform (BWT), Abraham Lemel och Jacob ZIV (LZ77) -algoritmen som publicerades 1977 och förutsägelsen med partiell matchning (PPM). Kartläggningsalgoritmer som ofta används inkluderar Huffman -kodningsalgoritmen och aritmetisk kodning.
Vissa av de förlustfria datakomprimeringsalgoritmerna är open source -verktyg och andra är proprietära och patenterade, även om patent på vissa nu också har gått ut. Detta kan resultera i att kompressionsmetoder ibland tillämpas på fel filformat. På grund av det faktum att vissa datakomprimeringsmetoder är oförenliga wmed varandra, lagring av blandade filer kan ofta försämra en komponent i en fil. Till exempel kan en bildfil med text som komprimeras visa nedbrytning i läsbarheten för texten när den en gång har återställts. Skannrar och programvara som använder induktion av grammatik kan extrahera betydelse från text lagrad tillsammans med bildfiler genom att tillämpa det som kallas latent semantisk analys (LSA).
En annan form av mappningsalgoritmmetod för förlustfri datakomprimering är användningen av universell kod. Mer flexibel att använda än Huffman -kodning, det kräver inte kunskap om maximala heltalvärden i förväg. Huffman -kodning och aritmetisk kodning ger dock bättre datakomprimeringsgrader. Insatser pågår också för att producera universella datakomprimeringsmetoder som skulle skapa algoritmer som fungerar bra för en mängd olika källor.