Andmete pakkimine: erinevus redaktsioonide vahel

resümee puudub
Resümee puudub
Resümee puudub
 
Arvutiteaduses ja informatsiooniteoorias on Andmete pakkimine (ka andmete tihendamine, andmetihendus; bitimäära vähendamine; Inglise K. "data compression") on andmete kodeerimine selliselt, et väljundandmed on mälu mahult väiksemad kui sisendandmed. Pakkimist on kahte tüüpi: kadudega või kadudeta. Kadudeta pakkimine vähendab bitimäära läbi selle, et leiab ja elimineerib statistilise liiasuse (Inglise K. Statistic redundancy). Statistiline liiasus tähendab bittide hulka, mida kasutati, et sõnumit edastada miinus see bittide hulk, mis hulk informatsiooni selles sõnumis tegelikult oli. Kadudeta pakkimisel informatsiooni ei lähe kaduma. Kadudega pakkimisel leitakse ebavajalik informatsioon ja eemaldatakse see. Kui andmed on pakitud, saab neid andmeid uuesti kasutada ainult siis, kui need kindlad andmed on lahti pakitud.
 
Pakkimine on vajalik, sest see aitab vähendada ressursikulu, nagu andmete säilitamise ruum või edastusmaht. Kuna andmed peavad olema lahtipakitud, et neid kasutada, on andmete pakkimine arvutusvõimsuse suhtes nõudlik. See tähendab seda, et andmete pakkimine tähendab muude ressursside eraldamist informatsiooni mahu vähendamise nimel. See tähendab seda, et näiteks video vaatamisel võib vaja minna suhteliselt võimsat riistvara, et arvuti suudaks informatsiooni lahti pakkida piisavalt kiiresti, et seda videot ilma probleemideta (puhverdamisvajaduseta) vaadata. Veel on võimalus see video täielikult lahti pakkida enne, kui videot vaatama hakatakse, kuid see vajab rohkem ruumi ja aega. Seega, andmete pakkimise süsteemid tähendavad, et andmete mahu vähendamise nimel ohverdatakse muid resursse, nagu aeg, arvutuslik võimsus ja andmete enda moonutus (näiteks kasutades kadudega pakkimist).
 
Kadudega pakkimine (Inglise K. lossy compression)
Kadudeta andmete pakkimise korral saavutatakse lahti pakkimisel esialgsed andmed. Kasutatakse seda varianti tavaliselt siis, kui on oluline, et andmed säiliksid nii nagu nad alguses olid. Näiteks teksti pakkimisel.
 
Kadudega andmete pakkimise korral võib originaaliga võrreldes esineda väikeseid erinevusi. Kasutatakse peamiselt graafiliste failide puhul. Tuntuim failiformaat, kus seda kasutatakse on .jpeg. Kui andmed on pakitud kasutades mõnda kadudega andmete pakkimise algoritmi, siis ei ole võimalik taastada sellest kadudeta versiooni.
 
 
Kadudega pakkimise süsteeme kasutatakse ainult olukordades, kus täielik perfektsus pole nii tähtis. Kaotades mittevajalikkud detailid andmete allikast saab säästa mäluruumi. Kadudega pakkimise algoritmid on ehitatud üles erinevate uurimiste põhjal, kuidas inimene tajub võib märkab kindlat informatsiooni. Näiteks, inimese silm on rohkem tundlik väikestele heleduse muutustele kui värvi muutustele. Selle põhjal saab teha väikeseid kompromisse informatsiooni säilitamise ja andmehulga vähendamise vahel. Mitmed populaarsed pakkimise formaadid kasutavad ära neid väikseid tajumise erinevuseid, nagu näiteks JPEG või muud muusika, piltide või video pakkimise algoritmid.
 
Kadudega piltide pakkimist saab kasutada digitaalkaamerates, et vähendada mälu kasutust piltide poolt, kuid selle nimel ohverdatakse võimalikult minimaalne hulk pildi kvaliteeti. Sarnaselt, DVD-d kasutavad kadudega MPEG-2 Video pakkimise formaati või "koodeksit" nagu seda kutsutakse heli ja videote pakkimisel.
Kadudega heli pakkimisel, psühhoacustika (Inglise K. "psychoacoustics") meetodeid, et eemaldada mitte-kuuldavaid (või vaevu kuuldavaid) komponente kogu andmete hulgast. Inimese kõne pakkimimist tehakse tihti veelgi spetsiaalsemate tehnikatega. Kõne kodeerimine või hääle kodeerimine on tihti eristatud tavalisest heli pakkimisest. Hääle pakkimist kasutatakse näiteks internetitelefonide puhul ja heli pakkimist kasutatakse näiteks CD-d puhul ja helimängijad peavad helifailid lahti pakkima.
 
Kindlasti tuleks eristada andmete pakkimisest teist tüüpi andmesuuruste vähendamist - arhiveerimist. Kuigi enamus tänapäeval rohkem levinuid pakkimisprogramme lubavad ka arhiveerimist (Näiteks WinZip, WinRar, WinAce, arj, jne.), on need siiski kaks erinevat asja.
 
Pakkimise on ainult kindla andmehulga tihendamine, mis lubab vähendada selle kindla andmehulga mahtu.
Arhiveerimine on mitme erineva andmehulga, vahepeal ka erinevat tüüpi andmehulga, pakkimine üheks failiks (Arhiiviks).
 
Video andmeid saab kujutada kui seeriat paigal olevaid pilte (kaadreid). Piltide (Kaadrite) jada sisaldab endas ajalist ja ruumilist liiasust mida video pakkimise algoritmid üritavad elimineerida või kodeerida väiksemasse suurusesse. Sarnasused saab kodeerida näiteks ainult ladustades ainult erinevused kahe järjestikkuse kaadri vahel, või kasutades erinevaid inimese taju iseärasusi. Näiteks, väikeseid värvi erisusi on raskem inimese jaoks tajuda, kui erinevusi heleduses. Pakkimisalgoritmid saavad seetõttu luua mitme järgneva pildi värvide keskmise ja kasutada seda värvi, et vähendada ruumi.
 
Üks kõige võimsamaid tehnikaid video pakkimiseks on raamiväline pakkimine (Inglise K. "Interframe compression"), kus kasutatakse varasemaid või järgnevaid kaadreid jadas, et pakkida käesolev kaader, kuid raamisisene pakkimine (Inglise K. "Intraframe compression") kasutab ainult käesolevat kaadrit, olles rohkem pildi pakkimine.
 
Raamivälise pakkimise puhul võrreldakse igat kaadrit jadas eelnevaga, et näha, kas on järgneval kaadril alasid, kus midagi ei ole muutunud. Kui selline ala on, siis kopeeritakse see ala lihtsalt eelmiselt pildilt järgnevale. Kui selle ala asukoht on muutunud, siis pööratakse ja liigutatakse eelmisel kaadril olevat ala. See siiski on palju vähem mälumahtu nõudev, kui iga pilt uuesti esitada. Raamiväline pakkimine töötab ideaalselt programmide puhul, mis lihtsalt mängivad video vaatajale.
 
Probleem raamivälise pakkimisega on aga see, et kuna see algoritm kopeerib andmeid ühelt kaadrilt teisele, võib juhtuda olukordi, kus vajalik kaader on kaduma läinud. Nendes olukordades ei ole võimalik konstrueerida järgmiseid kaadreid õigesti.
36

muudatust