Kas yra suspaudimo algoritmas?

Kompiuterių failai gali užimti daug vietos standžiajame diske ir perduoti daug pralaidumo. Siekiant sutaupyti vietos, ypač su retai pasiekiamais failais, ir perduodamų failų pralaidumą, buvo sukurti saugojimo metodai, leidžiantys išsaugoti duomenis mažesniame pakete juos tam tikru būdu suglaudinant. Kiekvienu atveju naudojamas suspaudimo algoritmas – duomenų dydžio mažinimo metodas. Yra keletas populiarių glaudinimo algoritmų kategorijų ir tipų, kurių kiekvienas veikia skirtingai, o kai kurių rezultatai skiriasi svarbiais būdais. Naudojant įvairius glaudinimo algoritmus, paprastai galima sumažinti tekstinį failą iki mažiau nei pusės pradinio dydžio; grafikos failų rezultatai labai skiriasi. Suglaudus failas gali būti kitokio formato arba archyvo failas, kuris dažnai naudojamas saugojimui, perdavimui ir platinimui.

Vienas iš būdų suskirstyti glaudinimo algoritmus į kategorijas yra tai, ar duomenims suspausti naudojami žodyno ar statistiniai metodai. Žodyno metodas orientuotas į pasikartojančias frazes ir naudojamas GIF vaizduose bei JAR ir ZIP archyvuose. Statistinis metodas priklauso nuo naudojimo dažnumo, kad būtų atlikta konversija, kuri atliekama dviem važiavimais. Pavyzdys yra Modified Huffman (mh), naudojamas kai kuriuose fakso aparatuose.

Antrasis būdas suskirstyti glaudinimo algoritmus į kategorijas, su kuriuo dažniausiai susiduria neprofesionalūs programuotojai, yra tai, ar jie yra be nuostolių ar nuostolingi. Duomenų glaudinimo be nuostolių algoritmas yra tas, kuris suglaudina duomenis taip, kad išskleidus jie būtų visiškai identiški pradiniam failui. Vienas be nuostolių duomenų glaudinimo algoritmo pavyzdžių yra lzw (Lempel-Ziv-Welch algoritmas). 1977 m. sukūrė Lempel ir Ziv, o 1984 m. patobulino Welch, jis naudojamas tokiuose failuose kaip GIF, TIF ir PDF, taip pat tam tikruose modemuose.

Prarastų duomenų glaudinimo algoritmas gali sumažinti duomenis iki mažesnio dydžio nei glaudinimas be nuostolių, tačiau už kai kuriuos pradinius duomenis. Kitaip tariant, atkūrimas po prarastų duomenų suspaudimo nesuteikia identiškos pradinio failo kopijos. Tačiau suspaudimo algoritmas sukurtas taip, kad apribotų nuostolius, kad jie nebūtų matomi ausiai ar akiai. Prarastingas glaudinimas naudojamas tokiuose failų formatuose kaip AAC, JPEG, MPEG ir MP3.