Daugeliui pažįstama situacija: norime išsiųsti failą el. paštu ar įkelti į USB atmintinę, tačiau prieš akis iššoka erzinantis pranešimas, kad jis per didelis. Tuomet atsidūstame ir bandome išsiaiškinti, kaip siunčiamą failą suspausti. Atlikus šį veiksmą prisegtukas stebuklingai sumažėja, tačiau kaip ši kompiuterinė magija veikia? Šias paslaptis atskleidžia paslaugų centro „Telia Global Services Lithuania“ IT paslaugų teikimo specialistas Tomas Niparavičius.

„Failų glaudinimo technologijas galima padalinti į dvi dalis. Pirmoji – glaudinimas be nuostolių (angl. lossless), kai failai suspaudžiami išsaugant visus pradinius duomenis, pavyzdžiui, naudojant ZIP ar RAR archyvus. Antras būdas – nuostolingas (angl. lossy) glaudinimas, kai specialiais algoritmais pašalinami nebūtini, pertekliniai duomenys. Pastarojo pavyzdžiai galėtų būti JPEG formato paveikslėliai ar MP3 muzikos įrašai“, – sako T. Niparavičius.
Abu failų suspaudimo būdai ir jų formatai daugeliui žmonių yra puikiai pažįstami ir kone kasdien naudojami. Tačiau ar kada susimąstėte, kaip failai sumažėja ir kur pasislepia tie megabaitai, o kartais – ir gigabaitai duomenų?
Paprasta, bet efektyvi gudrybė
Failą suspaudžiant į ZIP, RAR ar kitokį archyvą jo apimtis sumažėja, tačiau jį išskleidus gaunamas originalui identiškas failas. Taikant glaudinimą be nuostolių failų turinys yra trumpinamas surandant pasikartojančius elementus ir juos užkoduojant, o pasikartojančiose dalyse paliekami tik programai suprantami kodai. Kuo daugiau kartotinių turi failas, tuo labiau jį galima suspausti.
Tekstiniame dokumente kodo simboliu gali tapti raidžių junginys, žodis ar žodžių junginys. Pavyzdžiui, greitakalbę „Pakopa po pakopos, pakopa po pakopos, pakopa po pakopos mes kopiame aukštyn“ sudaro 12 žodžių ir 75 simboliai su tarpais, taigi jai išsiųsti reikėtų 75 baitų. Tačiau trys žodžiai joje kartojasi kelis kartus, taigi jiems galime suteikti skaitinius kodus ir sukurti biblioteką:
- pakopa
- po
- pakopos
Dabar greitakalbę galėtume užrašyti taip: „1 2 3, 1 2 3, 1 2 3 mes kopiame aukštyn“ ir ji užimtų jau 39 simbolius su tarpais. Tiesa, biblioteka užima dar 18 simbolių, taigi greitakalbę „suspaudėme“ iki 57 simbolių. O jei skaitinį kodą 1 priskirtume visai frazei „pakopa po pakopos“? Tuomet užtektų užrašyti „1, 1, 1 mes kopiame aukštyn“ ir visa greitakalbė sudarytų vos 27 simbolius. Pridėjus 18 simbolių biblioteką būtų iš viso 45 simboliai, beveik perpus mažiau nei originalas.
Kuo ilgesnis tekstas ir kuo jame daugiau pasikartojančių žodžių ar frazių, tuo labiau failą galime suspausti neprarasdami jokių duomenų. „Priklausomai nuo failo formato, jį gali sudaryti žodžiai ar tiesiog baitų sekos. Archyvavimo programa jas išanalizuoja ir įvertina, kaip geriausiai visa tai suspausti neprarandant duomenų. Tiesa, tam tikrais atvejais archyvavimas mažai gelbsti, pavyzdžiui, kai bandoma suspausti ir taip „taupaus“ formato failą“, – sako T. Niparavičius.
Kai nėra ko suspausti, belieka „apkarpyti“
Nuostolingas failų suspaudimo būdas yra kita alternatyva, kai archyvavimas nepadeda arba duoda pernelyg mažai naudos. Tai galioja tokiems failams, kaip nuotraukos, garso ar vaizdo įrašai. Šiuos failus sudaro tiek daug skirtingų elementų, kad juose sunku surasti pasikartojančias reikšmes.
Taikant nuostolingą glaudinimą iš failo pašalinami nebūtini, pertekliniai duomenys. Pavyzdžiui, garso įraše tai gali būti itin aukšto ar itin žemo dažnio garsai, kuriuos neišlavinta žmogaus ausis ir taip prastai girdi arba kurių negirdi apskritai, nuotraukoje gali būti atsisakoma itin panašių atspalvių.
Tokiu būdu originalus garso įrašas ar nuotrauka, užėmusi 30–50 megabaitų (MB), suglaudinta MP3 ar JPEG formatu, teužima 3–6 MB vietos. Tačiau atkurti pradinio failo jau nebebus įmanoma – pavyzdžiui, jei profesionaliu fotoaparatu darytoje nuotraukoje buvo 20 skirtingų mėlynos atspalvių, JPEG faile gali likti tik keli jų ir atkurti visus turint tik suglaudintą failą bus neįmanoma.
„Žinoma, muzikos profesionalas nesunkiai atskirs suglaudintą įrašą, o fotografo akis nesunkiai įžvelgs skirtumą tarp RAW ir JPEG formatų. Vis dėlto daugelis žmonių yra muzikos klausytojai ir fotografijos mėgėjai, taigi mums visiškai užtenka suglaudintų failų kokybės ir padaryti pakeitimai dažnai yra nepastebimi, o patogumas ir šių failų lengvumas smarkiai atsveria netektis“, – komentuoja specialistas.
Kada failo suspausti nederėtų?
Kartais glaudinimas nėra naudingas. Pavyzdžiui, į ZIP ar RAR archyvą dažnai neverta glaudinti nuotraukų, vaizdo ar garso įrašų, nes šie failai dažnai sumažėja vos keliais procentais, tačiau jų suspaudimas ir atkūrimas atima papildomai laiko – nuo keliolikos sekundžių iki kelių ar net keliolikos minučių, priklausomai nuo failų kiekio ir dydžio.
Taip pat, ar naudinga failą suspausti, priklauso nuo jo panaudojimo. Socialiniams tinklams ir asmeniniam naudojimui visiškai užtenka JPEG formato nuotraukų, tačiau jei ją ketinate spausdinti dideliu formatu ar naudoti profesionaliai (reklaminiame stende, ant žurnalo viršelio ir pan.), tuomet kiekviena detalė yra svarbi ir geriau naudoti RAW formato nesuspaustas nuotraukas.
Panaši situacija yra ir su muzikos įrašais. Daugelis mūsų kasdien klausomės suspausto formato įrašų, iš kurių yra pašalintos eilinio žmogaus ausiai negirdimos ir didelio skirtumo nedarančios detalės. Tačiau tikri melomanai, klausydamiesi įrašų naudodami profesionalią įrangą, šiuos niuansus girdi, todėl vertina originalius įrašus. Taip pat nesuspausti failai įprastai naudojami įrašų studijose, per koncertus ir pan.