Andmete pakkimine: erinevus redaktsioonide vahel

Eemaldatud sisu Lisatud sisu
Eilyre (arutelu | kaastöö)
Eilyre (arutelu | kaastöö)
1. rida:
{{ToimetaAeg|kuu=september|aasta=2012}}{{keeletoimeta}}
 
[[informaatika|Arvutiteaduses]] ja [[informatsiooniteooria|informatsiooniteoorias]] on andmete pakkimine (ka '''andmete tihendamine''', '''andmetihendus'''; '''bitimäära vähendamine'''; (Inglise K. ''"Data compression"'')) andmete kodeerimine selliselt, et väljundandmed on mälu mahult väiksemad kui sisendandmed. <ref>{{cite journal|last=Mahdi|first=O.A.|coauthors=Mohammed, M.A.; Mohamed, A.J.|title=Implementing a Novel Approach an Convert Audio Compression to Text Coding via Hybrid Technique|journal=International Journal of Computer Science Issues|year=2012|month=November|volume=9|issue=6, No. 3|pages=53–59|url=http://ijcsi.org/papers/IJCSI-9-6-3-53-59.pdf|accessdate=6 March 2013}}</ref> Pakkimist on kahte tüüpi: kadudega ja kadudeta. Kadudeta andmetihendus vähendab bitimäära läbi selle, et leiab ja elimineerib statistilise liiasuse (Inglise K. ''"Statistic redundancy"''). <ref>{{cite journal|last=Pujar|first=J.H.|coauthors=Kadlaskar, L.M.|title=A New Lossless Method of Image Compression and Decompression Using Huffman Coding Techniques|journal=Journal of Theoretical and Applied Information Technology|year=2010|month=May|volume=15|issue=1|pages=18–23|url=http://www.jatit.org/volumes/research-papers/Vol15No1/3Vol15No1.pdf}}</ref> Kadudeta pakkimisel informatsiooni ei lähe kaduma. Kadudega pakkimiseltihendamisel leitakse ebavajalik informatsioon ja eemaldatakse see. Kui andmed on pakitud, saab neid andmeid uuesti kasutada ainult siis, kui need kindlad andmed on uuesti lahti pakitud. <ref>{{cite book|last=Salomon|first=David|title=A Concise Introduction to Data Compression|year=2008|publisher=Springer|location=Berlin|isbn=9781848000728}}</ref>
 
Tihendus 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 tihendus arvutusvõimsuse suhtes nõudlik. See tähendab seda, et andmete tihendus tähendab muude ressursside eraldamist informatsiooni mahu vähendamise nimel. Seega võib näiteks video vaatamisel vaja minna suhteliselt võimsat riistvara, et arvuti suudaks informatsiooni lahti pakkida piisavalt kiiresti, et seda videot ilma probleemideta (näiteks puhverdamisvajaduseta) vaadata. Veel on võimalus see tihendatud andmehulk täielikult lahti pakkida enne, kui seda kasutama tahetakse hakata, 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 (kasutades kadudega pakkimist).
 
==Statistiline liiasus==
17. rida:
Kadudeta andmetihenduse 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 andmete tihendamisel.
 
Kadudega andmetihenduse 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 [[Algoritm|algoritmi]], siis ei ole võimalik taastada sellest kadudeta versiooni.
 
==Kadudeta andmetihendus==
 
Kadudeta andmete pakkimise [[Algoritm|algoritmid]] tavaliselt kasutavad ära statistilist liiasust, et esitada andmeid sisutihedalt ilma informatsiooni kaotamata. Kadudeta andmetihendus on võimalik, sest enamus päris maailma andmetest sisaldab statistilist liiasust. Näiteks, üks pilt võib endas kanda värvide piirkondi, kus värv ei muutu üle suure hulga pikslite. Selle asemel, et kodeerida "punane piksel asukohal 2000, punane piksel asukohal 2001, ..." võib andmed kodeerida "279 punast pikslit asukohal 2000, 2001, 2002" võibvõi "punased pikslid asukohal 2000-2279". See on algeline näide RLE (Inglise K. ''"Run-length encoding"'') kohta.
 
Grammatikapõhine andmetihendus (Inglise K. ''"Grammar-based compression"'') kujutab endas väga efektiivselt väga korduva teksti pakkimist, näiteks bioloogiliste andmete kollektsioon, internetiarhiivid, suure hulga dokumentide kollektsioon jms. Põhiline tööülesanne grammatikapõhisel pakkimisel on leida kontekstivaba korduv osa dokumendis, kustutada see nendest asukohtadest, luua sellest üks sellestkoopia ja lisada selle korduvakoopia osalõppu iga asukoht, kus see lause dokumendis kordus. Näiteks, üks pikk referaat võib endas sisaldada lauset "tiigrite tüüpiline elukoht on" 200 korda. Selle asemel, et seda 208-t baiti iga kord uuesti kirjutada, kustutatakse see igast asukohast, luuakse üks koopia ja selle järgi kirjutatakse selle korduva osa asukoht näiteks nii: ""tiigrite tüüpiline elukoht on" asukohtadel 2000, 2015, 2090, .." ja selle asemel, et iga kord kasutada 208 baiti, kasutab see igal korral peale esimese ainult 36 baiti.
 
==Kadudega andmetihendus==
 
Kadudega andmetihenduse algoritme kasutatakse ainult olukordades, kus täielik perfektsus pole nii tähtis. Kaotades mittevajalikkud detailid andmete allikastandmetehulgast saab säästa mäluruumi. Kadudega tihendamise [[Algoritm|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 erinevusi nagu näiteks JPEG või muud muusika, piltide või video pakkimise [[Algoritm|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.
36. rida:
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.
 
Pakkimine on ainult kindla andmehulga tihendamine, mis lubab vähendada selle kindla andmehulga mahtu. Arhiveerimine on mitme erineva andmehulga, vahepeal ka erinevat tüüpi andmehulga, tihendus üheks failiks (arhiiviks).
Arhiveerimine on mitme erineva andmehulga, vahepeal ka erinevat tüüpi andmehulga, tihendus üheks failiks (arhiiviks).
 
==Algoritmid==
65. rida ⟶ 64. rida:
=== Heli ===
 
Heli andmete tihendamist, mida eristatakse dünaamilise raadiuse tihendamisest (Inglise K. ''"Dynamic range compression"''), kasutatakse selleks, et vähendada edastamiseks vajalikku [[Ribalaius|ribalaiust]] ja ladustamiseks vajalikku mälumahtu. Heli andmete tihendamise [[Algoritm|algoritme]] implementeeritakse tarkvarasse ja neid kutsutakse heli koodeksiteks (Inglise K. ''"Codec"''). Kadudega heli andmete pakkimise [[Algoritm|algoritmid]] või koodeksid võimaldavad efektiivsemat andmete pakkimist, kuid vähendavad kvaliteeti, ja neid kasutatakse väga paljudes heliheliga seotud rakendustes. Need [[Algoritm|algoritmid]] peaaegu kõik tuginevad psühhoakustika uurimustöödele, etmis leida ja vähendada inimesele vähem tajutavad vähem kuuldavad või mittetähenduslikud helid, seega vähendades mäluruumi ja [[Ribalaius|ribalaiuse]] vajadust ladustamise või edastamise puhul.
 
Nii kadudega kui kadudeta pakkimisel vähendatakse informatsiooni liiasust, kasutades meetodeid nagu kodeerimine, mustri eristamine ja lineaarne ennustamine, et vähendada andmete hulka, mis esindab tihendamata informatsiooni<ref>{{cite journal|last=Mahdi|first=O.A.|coauthors=Mohammed, M.A.; Mohamed, A.J.|title=Implementing a Novel Approach an Convert Audio Compression to Text Coding via Hybrid Technique|journal=International Journal of Computer Science Issues|year=2012|month=November|volume=9|issue=6, No. 3|pages=53–59|url=http://ijcsi.org/papers/IJCSI-9-6-3-53-59.pdf|accessdate=6 March 2013}}</ref>.