Mis on kadudeta andmete tihendamine?

Kadudeta andmete pakkimine on arvutimeetod failide salvestamiseks ja arhiivideks ühendamiseks, mis võtab mälus vähem füüsilist ruumi kui failid muidu kasutaksid, ilma et see protsessi käigus andmetes sisalduvat teavet kaotaks. Kadudega pakkimine seevastu vähendab faili suurust andmete ligikaudsete andmetega ja taastamine on sarnane algse faili sisuga. Kadudeta andmete tihendamiseks kasutatavad algoritmid on sisuliselt sujuvamate reeglite või juhiste kogum teabe kodeerimiseks, kasutades vähem bitti mälu, säilitades samas võimaluse taastada andmed nende algsesse vormingusse ilma muutmata.

Mõned levinumad failitüübid, mis kasutavad kadudeta andmete tihendamist, hõlmavad International Business Machinesi (IBM) arvutipõhiseid zip- ja Unixi arvutipõhiseid gzip-failide arhiive. Kasutatakse ka pildifailivorminguid, nagu graafiline vahetusvorming (GIF), kaasaskantav võrgugraafika (PNG) ja bitmap (BMP) failid. Andmete tihendamise algoritmid sõltuvad ka tihendatavast failitüübist, kusjuures tavalised variatsioonid on teksti-, heli- ja käivitatavate programmifailide puhul.

Kaks peamist kadudeta andmete tihendamise algoritmide kategooriat põhinevad sisendandmete statistilisel mudelil ja andmefailis olevate bitistringide vastendusmudelil. Tavapärased statistilised algoritmid on Burrows-Wheeleri teisendus (BWT), 77. aastal avaldatud Abraham Lempeli ja Jacob Zivi (LZ1977) algoritm ning osalise sobitamise (PPM) meetod. Sageli kasutatavad kaardistamisalgoritmid hõlmavad Huffmani kodeerimisalgoritmi ja aritmeetilist kodeerimist.

Mõned algoritmid on avatud lähtekoodiga tööriistad ja teised on patenteeritud ja patenteeritud, kuigi ka mõnede patendid on nüüdseks aegunud. Selle tulemuseks võib olla tihendusmeetodite rakendamine mõnikord valele failivormingule. Kuna teatud andmete tihendamise meetodid ei ühildu üksteisega, võib segafailide salvestamine sageli faili mõnda komponenti halvendada. Näiteks võib tihendatud tekstiga pildifail pärast taastamist näidata teksti loetavuse halvenemist. Skannerid ja tarkvara, mis kasutavad grammatika induktsiooni, saavad koos pildifailidega salvestatud tekstist tähenduse eraldada, rakendades nn latentset semantilist analüüsi (LSA).

Teine kaardistamisalgoritmi meetodi vorm kadudeta andmete tihendamiseks on universaalse koodi kasutamine. Paindlikum kasutamine kui Huffmani kodeerimine, see ei nõua maksimaalsete täisarvude väärtusi enne tähtaega. Huffmani kodeerimine ja aritmeetiline kodeerimine annavad siiski parema andmete tihendamise määra. Samuti tehakse jõupingutusi universaalsete andmete tihendamise meetodite väljatöötamiseks, mis looks erinevate allikate jaoks hästi toimivaid algoritme.