Andmete pakkimine

Andmete pakkimine (ka andmete tihendamine, andmetihendus) on informaatikas andmete mahu vähendamine. Andmete pakkimine vähendab andmete edastamise ja salvestamise kulusid. Andmeid tihendatakse kindla reeglistiku alusel digitaalsignaaliks kodeerimise teel, misläbi andmete maht väheneb. Andmemahu vähendamist digiteerimisel nimetatakse ka säästkodeerimiseks.
Kodeeritud andmete kasutamiseks tuleb need lahti pakkida ehk dekodeerida, s.t esialgsele kujule tagasi teisendada. Andmete kodeerimine ja dekodeerimine nõuab spetsiaalset tark- või riistvara, nt koodekite näol.
Pakkimist on kahte põhitüüpi: kadudega ja kadudeta.
Kadudeta tihendamine.
Kadudeta andmetihenduse korral vähendatakse andmemahtu statistilise liiasuse leidmise ja kõrvaldamise teel. Korduvalt esinevad andmelõigud saab esitatada ühe koodiga. Näiteks kui pildil on järjest mitu sama värvi pikslit, siis saab selle pildi osa kodeerida kui "279 punast pikslit" selle asemel, et kodeerida iga piksli värv eraldi. Tekstidokumendis võib luua korduvatest osadest ühe koopia ja lisada selle koopia lõppu iga asukoht, kus see osa dokumendis kordus.
Kadudeta andmetihendust tuleb kasutada juhul, kui on oluline andmete säilimine algsel kujul, nt programmid ja tekst.
Kadudeta tihendamisel on bittide sääst siiski tagasihoidlik, nt audiosignaali korral kahekordne.
Kadudega tihendamine.
Teatud andmete, näiteks piltide ja heli pakkimisel võib mõningane andmekadu olla aktsepteeritav. Kadudega tihendamisel leitakse tarbetu või vähemoluline informatsioon ja eemaldatakse see signaalist. Paratamatult ei ole niiviisi kodeeritud andmetest enam võimalik algsel kujul taastada.
Kadudega andmetihenduse algoritmide väljatöötamisel kasutatakse muuhulgas ära inimese kuulmis- ja nägemistaju iseärasusi. Näiteks on inimese silm rohkem tundlik väikestele heleduse muutustele kui värvi muutustele. Selle põhjal saab bitte kokku hoida väikeste värvimuutuste arvel.
Fotode kadudega pakkimist kasutatakse digikaamerates mälu säästmiseks. Sealjuures püütakse ohverdada võimalikult vähe pildi kvaliteeti. Samamoodi kasutavad DVD-d kadudega videopakkimise vormingut MPEG-2.
Audiotihendus.
Kodeerimiseks töödeldakse audiosignaali mitmel moel:
Salvestatavat andmemahtu saab kokku hoida ka sel teel, et pakkimistihedus seatakse sõltuvusse helimaterjali keerukusest, s.t kasutatakse muutuva tihedusega andmevoogu. Sel juhul on kodeerimisel helikvaliteet püsiv.
Videotihendus.
Videoandmeid on vaja tugevasti tihendada selleks, et nt digitaalset televisioonisignaali oleks võimalik olemasolevate kanalite kaudu üle kanda. Tihendamata digitaalse telesignaali ülekandmiseks on tarvis andmeedastuskiirust umbes 250 Mbit/s (tavatelevisiooni ühe kaadri (pildi) edastamiseks läheb vaja 576×720×3 = 1 244 160 baiti (piksli iga värvi R, G, B jaoks 1 bait), vastavalt 1,244 MB; seega sekundis 25×1,244 = 31 MB ehk 31×8 = 249 Mbit/s).
Edastatava info mahtu vähendatakse kõigepealt videosignaali digiteerimisel. Nimelt kasutatakse nägemistaju omadust hinnata kuva teravust peamiselt heleduse järgi ja vähemal määral värvide järgi. See võimaldab kasutada kaadrisisest tihendamist: näiteks kasutatakse digiteerimisel värvisignaalikomponentide (U ja V) kvantimisel poole väiksemat sagedust kui heledussignaali (Y) puhul – kui heledusnäidud võetakse sagedusega 13,5 MHz, siis värvinäidud sagedusega 6,75 MHz; vastava süsteemi tähis on 4:2:2 (Y:U:V).
Digitaalsignaali tihendamisel hoitakse ülekantavat andmemahtu kokku peamiselt kaadritevahelise tihendamise teel, mille puhul kodeeritakse perioodiliselt võtmekaadrid, aga neile järgnevates kaadrites üksnes pildierinevused. Järjestikuseid kaadreid analüüsides jätab protsessor üle kandmata selle osa infost, mis jääb kaadris eelmisega võrreldes samaks.
Tulemusena on võimalik edastatava videovoo mahtu vähendada kuni 200-kordselt. Nii osutub võimalikuks ühe UHF-raadiokanali kaudu edastada kuni 14 tavalahutusega või kolm kõrglahutusega teleprogrammi. Nagu kõikides kadudega tihendamise süsteemides, leitakse siingi kompromiss video kvaliteedi, edastustrakti maksumuse ja tehniliste võimaluste vahel.
Kuna kaadritevahelisel pakkimisel kopeeritakse andmeid ühelt kaadrilt teisele, siis võib juhtuda olukordi, kus võtmekaader läheb kaduma. Sel juhul aga ei ole võimalik järgmisi kaadreid õigesti moodustada ja signaaliedastus on häiritud.
Tihenduslgoritmid.
Kadudeta andmete pakkimisel kasutatavaid algoritme:
Kadudega andmepakkimisel kasutatavaid algoritme: