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.[viide?] 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.  Pikemalt artiklis Kadudeta pakkimine 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. 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. Kodeerimiseks töödeldakse audiosignaali mitmel moel: vähendatakse helisignaali dünaamikaulatust, mis tähendab valjude helide vaigistamist ja vaiksete helide valjemaks tegemist, tulemusena vajab kodeerimine vähem bitte; lõigatakse ära kuuldamatud sagedused üle 20 kHz (seega ülemtoonid) ja jäetakse ära kuuldelävest allapoole jäävad signaalikomponendid; kõrgetel ja madalatel helisagedustel kasutatakse lühemat koodisõna, sest nendel sagedustel on kõrva tundlikkus väiksem; jäetakse kodeerimata signaaliosad, mis maskeerimisnähtuse tõttu mattuvad suure amplituudiga signaalikomponentide alla. 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. 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. Kadudeta andmete pakkimisel kasutatavaid algoritme: DEFLATE RLE gzip bzip2 LZW JPEG 2000 FLAC Kadudega andmepakkimisel kasutatavaid algoritme: MPEG-1 MPEG-2 MPEG-3 MPEG-4 JPEG (sisaldab ka kadudeta andmetihendamise võimalust) MP3 Dolby AC-3 Mahdi, O.A.; Mohammed, M.A.; Mohamed, A.J. (november 2012). "Implementing a Novel Approach an Convert Audio Compression to Text Coding via Hybrid Technique" (PDF). International Journal of Computer Science Issues. 9 (6, No. 3): 53–59. Originaali (PDF) arhiivikoopia seisuga 28. detsember 2018. Vaadatud 6. märtsil 2013. Pujar, J.H.; Kadlaskar, L.M. (mai 2010). "A New Lossless Method of Image Compression and Decompression Using Huffman Coding Techniques" (PDF). Journal of Theoretical and Applied Information Technology. 15 (1): 18–23. Originaali (PDF) arhiivikoopia seisuga 28. detsember 2018. Vaadatud 8. detsembril 2013. Arcangel, Cory. "On Compression" (PDF). Vaadatud 12. detsembril 2013. Faxin Yu, Hao Luo, Zheming Lu (2010). Three-Dimensional Model Analysis and Processing. Berlin: Springer. Lk 47. ISBN 9783642126512.{{cite book}}: CS1 hooldus: mitu nime: autorite loend (link) Graphics & Media Lab Video Group (2007). Lossless Video Codecs Comparison (PDF). Moscow State University. Bhojani, D.R. "4.1 Video Compression" (PDF). Hypothesis. Originaali (PDF) arhiivikoopia seisuga 10. mai 2013. Vaadatud 12. detsembril 2013.