Mis on tihendusalgoritm?

Arvutifailid võivad võtta kõvakettal palju ruumi ja edastamiseks palju ribalaiust. Ruumi säästmiseks, eriti failide puhul, millele sageli juurde ei pääseta, ja edastatavate failide ribalaiuse säästmiseks on välja töötatud salvestusmeetodid andmete salvestamiseks väiksemasse paketti, neid mingil viisil tihendades. Igal juhul kasutatakse tihendusalgoritmi – meetodit andmete suuruse vähendamiseks. Pakkimisalgoritmidel on mitu populaarset kategooriat ja tüüpi, millest igaüks töötab erineval viisil ja mõnel on tulemused, mis erinevad olulisel määral. Erinevaid pakkimisalgoritme kasutades on üldjuhul võimalik tekstifaili vähendada poole väiksemaks kui algsest suurusest; graafikafailide puhul on tulemused väga erinevad. Tihendamise tulemusel saadav fail võib olla muus vormingus või arhiivifail, mida sageli kasutatakse salvestamiseks, edastamiseks ja levitamiseks.

Üks viis tihendusalgoritmide kategoriseerimiseks on see, kas nad kasutavad andmete tihendamiseks sõnastikke või statistilisi meetodeid. Sõnastikumeetod keskendub korratavatele fraasidele ja seda kasutatakse GIF-piltides ning JAR- ja ZIP-arhiivides. Statistiline meetod tugineb teisenduse tegemiseks kasutussagedusele, mis tehakse kahe käiguga. Näiteks on Modified Huffman (mh), mida kasutatakse mõnes faksiaparaadis.

Teine viis tihendusalgoritmide kategoriseerimiseks, mida mitteprofessionaalsed programmeerijad kõige sagedamini kohtavad, on see, kas need on kadudeta või kadudeta. Kadudeta andmete tihendamise algoritm on üks, mis tihendab andmed nii, et kui need lahti pakkida, on need algfailiga täpselt identsed. Üks näide kadudeta andmete tihendamise algoritmist on lzw (Lempel-Ziv-Welchi algoritm). 1977. aastal Lempeli ja Zivi poolt välja töötatud ning 1984. aastal Welchi poolt täiustatud ning seda kasutatakse sellistes failides nagu GIF, TIF ja PDF, aga ka teatud modemites.

Kadudeta andmete tihendamise algoritm suudab andmeid vähendada väiksemaks kui kadudeta pakkimine, kuid osade algandmete hinnaga. Teisisõnu, kadudega andmete tihendamise järgne taastamine ei anna originaalfailist identset koopiat. Tihendusalgoritm on siiski loodud kadude piiramiseks nii, et need ei oleks kõrva või silma jaoks nähtavad. Kadudega tihendamist kasutatakse sellistes failivormingutes nagu AAC, JPEG, MPEG ja MP3.