Andmete pakkimine: erinevus redaktsioonide vahel

Eemaldatud sisu Lisatud sisu
P Parandasin cite-mallide kuupäevade vormistust
PResümee puudub
2. rida:
 
 
[[informaatika|Arvutiteaduses]] ja [[informatsiooniteooria|informatsiooniteoorias]] on andmete pakkimine (ka '''andmete tihendamine''', '''andmetihendus'''; '''bitimäära vähendamine'''; (Inglise K.ingl ''"Data compression"'')) andmete kodeerimine nii, et väljundandmed on [[Mälu (arvuti)|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. märts 2013}}</ref> Pakkimist on kahte tüüpi: kadudega ja kadudeta. Kadudeta andmetihendus vähendab bitimäära statistilise liiasuse leidmise ja elimineerimisega (Inglise K.ingl ''"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 = Mai|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 tihendamisel 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 (nt andmete säilitamise ruum või edastusmaht). Kuna andmed peavad olema kasutamisel lahti pakitud, 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 resursseressursse nagu aeg, arvutuslik võimsus ja andmete enda moonutus (kasutades kadudega pakkimist).
 
==Statistiline liiasus==
 
Statistiline liiasus (Inglise K.ingl ''"Statistic redundancy"'') tähendab [[Bitt|bittide]] hulka, mida kasutati, et sõnumit edastada miinus see [[Bitt|bittide]] hulk, mis hulk informatsiooni selles sõnumis tegelikult oli. Võib ka defineerida, et see on raisatud "ruumi" hulk, mida kindla andmehulga edastamisel kasutati. Andmete tihendamine on mittetahetud statistilise liiasuse vähendamine või elimineerimine, samas kui [[Kontrollsumma|kontrollsummadega]] on statistilist liiasust võimalik kasvatada. Seda tehakse vahepeal selleks, et leida edastamisvigu, kui näiteks andmeid edastatakse üle suure koormusega võrgu.
 
==Liigid==
Andmeid on võimalik pakkida kahel erineval moel:
 
*Kadudetakadudeta andmetihendus (Inglise K.ingl ''"lossless compression''")
*Kadudegakadudega andmetihendus (Inglise K.ingl ''"lossy compression"'')
 
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äikeseidväikseid erinevusi. Kasutatakse peamiselt graafiliste failide puhul. Tuntuim failiformaatfailivorming, kus seda kasutatakse, on .jpegJPEG. Kui andmed on pakitud kasutades mõnda kadudega andmete pakkimise [[Algoritm|algoritmi]], 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 asukohalasukohas 2000, punane piksel asukohalasukohas 2001, ...", võib andmed kodeerida "279 punast pikslit asukohalasukohtades 2000, 2001, 2002" või "punased pikslid asukohalasukohtades 2000-22792000–2279". See on algeline näide RLE (Inglise K.ingl ''"Run-length encoding"'') kohta.
 
Grammatikapõhine andmetihendus (Inglise K.ingl ''"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 koopia ja lisada selle koopia lõ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" asukohtadelasukohtades 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 andmetehulgast saab säästa [[Mälu (arvuti)|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äikeseidväikseid kompromisse informatsiooni säilitamise ja andmehulga vähendamise vahel. Mitmed populaarsed pakkimise formaadidpakkimisvormingud 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 (arvuti)|mälu]] kasutust piltide poolt, kuid selle nimel ohverdatakse võimalikult minimaalne hulk pildi [[kvaliteet|kvaliteeti]]. Sarnaselt, kasutatakse [[DVD|DVD-d]] kasutavad<nowiki/>el kadudega MPEG-2 Videovideo pakkimise formaativormingut või "koodeksit"kodekit, nagu seda kutsutakse heli ja videotevideo pakkimisel.
Kadudega heli pakkimisel, kasutatakse psühhoakustika (Inglise K.ingl ''"psychoacoustics"'') uuringutega kooskõlas leiutatud meetodeid meetodeid, et eemaldada mitte-kuuldavaid (või vaevu kuuldavaid) komponente kogu andmete hulgast. <ref>{{cite web|last=Arcangel|first=Cory|title=On Compression|url=http://www.coryarcangel.com/downloads/Cory-Arcangel-OnC.pdf|accessdate=12. detsember 2013}}</ref> Inimese kõnekõnet pakkimimist tehaksepakitakse tihti veelgiveel spetsiaalsematespetsiifilisemate tehnikatega. Kõne kodeerimine või hääle kodeerimine on tihti eristatud tavalisest heli pakkimisesthelipakkimisest. Hääle pakkimistHäälepakkimist kasutatakse näiteks internetitelefonide puhul ja heli pakkimisthelipakkimist kasutatakse näiteks muusika [[CD (andmekandja)|CD-de]] puhul, kus muusika kirjutatakse [[CD (andmekandja)|CD]] -plaadile tihendatud vormis ja helimängijadheliesitusseadmed peavad helifailid lahti pakkima.
 
==Arhiveerimine==
 
Kindlasti tuleks eristada andmete pakkimisest teist tüüpi andmesuurusteandmemahu vähendamist - arhiveerimist. Kuigi enamusenamik tänapäevallevinumatest rohkempakkimisprogrammidest levinuid pakkimisprogramme lubavadlubab ka arhiveerimist (Näiteks WinZip, WinRar, WinAce, arj, jne.), on need siiski kaks erinevateri asja.
 
Pakkimine on ainult kindla andmehulga tihendamine, mis lubab vähendada selle kindla andmehulga mahtu. Arhiveerimine on mitme erineva andmehulga, vahepeal ka erinevateri tüüpi andmehulga, tihendus üheks failiks (arhiiviksarhiivifailiks).
 
==Algoritmid==
55. rida:
*MPEG3
*MPEG4
*JPEG (Sisaldabsisaldab ka kadudeta andmete tihendamise võimalust)
*MP3
*DOLBY AC-3
65. rida:
=== Heli ===
 
Heli andmeteHeliandmete tihendamist, mida eristatakse dünaamilise raadiuseulatuse tihendamisest (Inglise K.ingl ''"Dynamic range compression"''), kasutatakse selleks, et vähendada edastamiseks vajalikku [[Ribalaius|ribalaiust]] ja ladustamiseks vajalikku [[Mälu (arvuti)|mälumahtu]]. Heli andmete tihendamise [[Algoritm|algoritme]] implementeeritakse tarkvarasse ja neid kutsutakse heli koodeksitekshelikodekiteks (Inglise K.ingl ''"Codec"''). Kadudega heli andmeteheliandmete pakkimise [[Algoritm|algoritmid]] või koodeksidkodekid võimaldavad efektiivsemat andmete pakkimist, kuid vähendavadhalvendavad [[kvaliteet|kvaliteeti]], ja neid kasutatakse väga paljudes heliga seotud rakendustes. Need [[Algoritm|algoritmid]] peaaegu kõik tuginevad psühhoakustika uurimustöödele, mis leida ja vähendada inimesele vähem tajutavad vähem kuuldavad või mittetähenduslikud helid, seega vähendades [[Mälu (arvuti)|mäluruumi]] ja [[Ribalaius|ribalaiuse]] vajadust ladustamise või edastamise puhul.
 
Nii kadudega kui ka 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. märts 2013}}</ref>.
 
Dünaamilise raadiuseulatuse tihendamine (Inglise K.ingl ''"Dynamic range compression"'') tähendab valjude helide vaigistamist ja vaiksete helide valjemaks tegemist, mis jätab helitugevuse teatud valjuduse ja vaiksuse limiidi vahele. See eemaldab erandlikud olukorrad, kus helitugevus on liiga kõrge või liiga madal, ja seeläbi vähendab helifaili suurustmahtu.
 
=== Video ===
 
VideoVideoandmetihendusel andmete tihendus kasutabkasutatakse tänapäevaseid kodeerimistehnikaid, et vähendada liiasust video andmetes. EnamusEnamik video andmetevideoandmete pakkimise [[Algoritm|algoritme]] või koodekseidkodekeid kombineerivadkombineerib ruumilise pildi pakkimise (Inglise K.ingl ''"Spatial image compression"'') ja ajalise liikumise hüvitamisekompenseerimise (Inglise K.ingl ''"Temporal motion compensation"''). EnamusEnamik video koodekseidvideokodekeid kasutab heli pakkimise tehnikaidhelipakkimistehnikaid paralleelselt video pakkimiselevideopakkimistehnikatega, aga andmed on ühendatud üheks hulgaks<ref>{{cite web|title=Video Coding|url=http://csip.ece.gatech.edu/drupal7/?q=technical-area/video-coding|work=Center for Signal and Information Processing Research|publisher=Georgia Institute of Technology|accessdate=12. detsember 2013}}</ref>.
 
EnamusEnamik video andmete tihendamisevideoandmetihenduse [[Algoritm|algoritme]] kasutavadkasutab kadudega tihendamist. Tihendamata video nõuab väga kõrgetsuurt andmeedastuskiirust. Kuigi kadudeta tihendamise koodeksidkodekid suudavad pakkuda keskmiselt kolmekordset tihendust, suudab tüüpiline [[MPEG-4|MPEG-4]] formaadi-vormingu kadudega tihendus suudab vähendada andmete suurust 20 kuniandmemahtu 20020–200 korda<ref>{{cite book|last=Graphics & Media Lab Video Group|title=Lossless Video Codecs Comparison|year=2007|publisher=Moscow State University|url=http://compression.ru/video/codec_comparison/pdf/msu_lossless_codecs_comparison_2007_eng.pdf}}</ref>. Nagu kõikides kadudega tihendamise algoritmides, on loodud kompromiss video kvaliteedi, arvuti jõudluse maksumuse ja süsteemi nõuetesüsteeminõuete vahel.
 
=== Kodeerimise teooria ===
 
Video andmeid saab kujutada kui seeriat paigal olevaid pilte (kaadreid). Piltide (Kaadritekaadrite) jada sisaldab endas ajalist ja ruumilist liiasust, mida video pakkimisevideopakkimise [[Algoritm|algoritmid]] üritavad elimineerida või kodeerida väiksemasse suurusessemahtu. Sarnasused saab kodeerida näiteks ainult ladustades ainult erinevused kahe järjestikkusejärjestikuse 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älinekaadriväline tihendus (Inglise K.ingl ''"Interframe compression"''), kus kasutatakse varasemaid või järgnevaid kaadreid jadas, et pakkida käesolev [[kaader|kaader]], kuid sarnane meetod, raamisisenekaadrisisene tihendus (Inglise K.ingl ''"Intraframe compression"''), kasutab ainult käesolevat kaadrit, olles rohkem pildi tihendus<ref>{{cite book|last=Faxin Yu, Hao Luo, Zheming Lu|title=Three-Dimensional Model Analysis and Processing|year=2010|publisher=Springer|location=Berlin|isbn=9783642126512|page=47}}</ref>.
 
RaamiväliseKaadrivälise pakkimise puhul võrreldakse igat kaadrit jadas eelnevaga, et näha, kas järgneval kaadril on alasid, kus midagi ei ole muutunud. Kui selline ala eksisteerib, 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älu (arvuti)|mälumahtu]] nõudev, kui iga pilt uuesti [[Mälu (arvuti)|mälusse]] jätta ja vajadusel esitada. RaamivälineKaadriväline tihendus töötab ideaalselt programmide puhul, mis lihtsalt mängivadesitavad video vaatajale.<ref>{{cite web|last=Bhojani|first=D.R.|title=4.1 Video Compression|url=http://shodh.inflibnet.ac.in/bitstream/123456789/821/5/05_hypothesis.pdf|work=Hypothesis|accessdate=12. detsember 2013}}</ref>.
 
Probleem raamivälisekaadrivälise pakkimisega on aga see, et kuna see [[algoritm]] kopeerib andmeid ühelt kaadrilt teisele, võib juhtudaette tulla olukordi, kus vajalik [[kaader|kaader]] on kaduma läinud. NendesSel olukordadesjuhul ei ole võimalik konstrueerida järgmiseidjärgmisi kaadreid õigesti.
 
== Vaata ka ==