Mikä on häviötön tietojen pakkaus?

Häviötön tietojen pakkaus on tietokonemenetelmä tiedostojen tallentamiseksi ja yhdistämiseksi arkistoihin, mikä vie vähemmän fyysistä tilaa muistissa kuin tiedostot muuten, menettämättä tietoja, joita tiedot sisältävät prosessissa. Häviöllinen pakkaus sitä vastoin pienentää tiedostokokoa tietojen likimääräisten tietojen perusteella, ja palautus on lähellä faksia alkuperäiseen tiedoston sisältöön. Häviöttömään tietojen pakkaamiseen käytetyt algoritmit ovat olennaisesti joukko virtaviivaistettuja sääntöjä tai ohjeita tietojen koodaamiseksi käyttämällä vähemmän muistibittejä säilyttäen samalla mahdollisuuden palauttaa tiedot alkuperäiseen muotoonsa ilman muutoksia.

Joitakin yleisiä tiedostotyyppejä, jotka käyttävät häviötöntä tietojen pakkaamista, ovat International Business Machines (IBM) -tietokonepohjainen zip ja Unix-tietokonepohjainen gzip-arkisto. Käytetään myös kuvatiedostomuotoja, kuten GIF -muotoa (Graphics Interchange Format), kannettavaa verkkokuvaa (PNG) ja bittikarttatiedostoja (BMP). Tiedonpakkausalgoritmit vaihtelevat myös pakatun tiedostotyypin mukaan, ja teksti-, ääni- ja suoritettavia ohjelmatiedostoja voi vaihdella yleisesti.

Häviöttömän tietojen pakkaamisen kaksi algoritmien pääluokkaa perustuvat syötetiedon tilastolliseen malliin ja datatiedoston bittijonojen kartoitusmalliin. Rutiinisia tilastollisia algoritmeja ovat Burrows-Wheeler-muunnos (BWT), Abraham Lempelin ja Jacob Zivin (LZ77) algoritmi, joka julkaistiin vuonna 1977, ja Prediction by Partial Matching (PPM) -menetelmä. Usein käytetyt kartoitusalgoritmit sisältävät Huffmanin koodausalgoritmin ja aritmeettisen koodauksen.

Jotkut algoritmit ovat avoimen lähdekoodin työkaluja ja toiset ovat patentoituja, vaikka joidenkin patentit ovat myös vanhentuneet. Tämä voi johtaa siihen, että pakkausmenetelmiä käytetään joskus väärään tiedostomuotoon. Koska tietyt tietojen pakkausmenetelmät eivät ole yhteensopivia keskenään, sekatiedostojen tallentaminen voi usein heikentää tiedoston osaa. Esimerkiksi kuvatiedosto, jossa on pakattua tekstiä, voi palauttaa tekstin luettavuuden heikkenemisen jälkeen. Skannerit ja ohjelmistot, jotka käyttävät kieliopin induktiota, voivat poimia merkityksen kuvatiedostojen kanssa tallennetusta tekstistä soveltamalla latenttia semanttista analyysiä (LSA).

Toinen kartoituksen algoritmimenetelmä häviöttömälle tietojen pakkaamiselle on yleisen koodin käyttö. Joustavampi käyttää kuin Huffman -koodaus, se ei vaadi tietoa kokonaislukujen enimmäisarvoista etukäteen. Huffman -koodaus ja aritmeettinen koodaus tuottavat kuitenkin parempia tietojen pakkausnopeuksia. Pyrkimyksiä on myös tuottaa universaaleja tietojen pakkausmenetelmiä, jotka loisivat algoritmeja, jotka toimivat hyvin eri lähteille.