1 / 46

KOMPRESIJA PODATAKA

Univerzitet u Istočnom Sarajevu Filozofski fakultet Odsjek: matematika i računarstvo. KOMPRESIJA PODATAKA. Student: Jelena Popara. Profesor: Milorad K.Banjanin. KOMPRESIJA PODATAKA. slika A4 stranice u CMYK modelu rezolucije 300 dpi • dimenzije A4 : 8,27in x 11,69in= 96,68in

nailah
Download Presentation

KOMPRESIJA PODATAKA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Univerzitet u Istočnom Sarajevu Filozofski fakultet Odsjek: matematika i računarstvo KOMPRESIJAPODATAKA Student: Jelena Popara Profesor: Milorad K.Banjanin

  2. KOMPRESIJA PODATAKA slika A4 stranice u CMYK modelu rezolucije 300 dpi •dimenzije A4: 8,27in x 11,69in= 96,68in •ukupan broj piksela: 96,68inx 300= 8701200 •četiribajtapopikselu (CMYK) •ukupnaveličinaslike iznosi: 8701200 x 4 = 34804800 ≈33.2 MB 1 minut audio snimka CD kvaliteta •frekvencijauzorkovanja: 44.1 kHz –44100 uzorakau sekundi •16-bitna kvantizacija: 2 bajta po uzorku •2 kanala (stereo) •potrebno je 2 x 44100 x 2 x 60 = 10584000 bajta ≈ 10 MB 1 minut video snimka u PAL formatu •rezolucija: 768x576 •RGB model: 3 bajta po pikselu •25 frejmova u sekundi •potrebno je 768 x 576 x 3 x 25 x 60 ≈1.85 GB 2 2 2 PAL audio frejm frekvencija RGB uzorkovanje in=intch; 1in=2.54cm. kvantizacija

  3. KOMPRESIJA PODATAKA • Uštede • –nekompresovanaslika →JPEG • •veličinakompresovaneslike je manja • nekolikoputa • –nekompresovani CD audio →MP3 • •veličinakompresovanogfajla je manjaido • 10 puta • –nekompresovani PAL video →DivX • •veličina kompresovanog videa je manja • oko 230 puta. • Primjene • –skladištenjepodataka • •hard disk, • raznioptički / prenosni • mediji • –prenospodataka • •web, email, itd. • Zašto ne bismo stalno radili sa kompresovanim podacima? • –Obrada kompresovanih podataka bila bi suviše • komplikovana • –Neposredno pre obradepodaci se dekompresuju

  4. KOMPRESIJA PODATAKA Tok podataka skladištenje kompresija obradaslike u memoriji (nekompresovana forma) skladištenjeslike –hard disk (kompresovana forma) dekompresija prenos prenos izvor video zapisa korisnik video zapisa kompresija dekompresija

  5. KOMPRESIJA PODATAKA Tipovi kompresije Lossy-Gubitak Kompresija sa gubitkom podataka Kompresija bez gubitka podataka • kada je gubitak podataka prilikomkompresije/dekompresijeprihvatljivuodrđenojmeri • –statične slike –ako sadržaj dekompresovane slike dovoljno dobro odražava originalni • –audio snimci –ako dekompresovani snimak dovoljno dobro odražava originalni • –video snimci –ako dekompresovani snimak dovoljno dobro odražava originalni • kada gubitak podataka prilikom kompresije/dekompresije nije prihvatljiv • –tekstualni podaci (sadržaj • tekstualnih dokumenata) • –numerički podaci (podaci o • finansijskim transakcijama) lossless-bezgubitka •prihvatljivostgubitakaocenjujekorisnik

  6. LOSSLESS KOMPRESIJA LZW primene: Klasični algoritmi za lossless kompresiju: GIF format • Run-length encoding • Huffmanovi kodovi • LZW (Lempel-Ziv-Welch) algoritam

  7. RUN-LEGHT ENCODING Primer crno bele slike: Vizuelni prikaz slike Interna reprezentacija slike Internu reprezentaciju slike predstavimo kao niz, vrstu po vrstu:

  8. RUN-LEGHT ENCODING • isti brojevi se ponavljaju u dugačkim nizovima • umestodamemorišemosvakuvrednost • posebno, memorisaćemovrednostibrojnjenihponavljanja • pre prvepromenevrednosti. Kodiranje Primer: 0se ponavlja 6 puta; 1 se ponavlja 7 puta; 0 se ponavlja 5 puta; • NAZIV ALGORITMA : • run = niz uzastopnih jednakih • vrednosti; • length = dužina; • encoding = kodiranje Stepen kompresije zavisi od podataka: što su duži nizovi istih vrednosti kompresija je bolja.

  9. HUFFMANOVI KODOVI Osnovnaideja je da se karakterikoji se češcejavljajukodirajukraćimsekvencama,dok je zakodkarakterakoji se ređe pojavljujudozvoljenokoristiti I duže kodove. Alfabet:skupvrednostikoje semogupojavitiu sadržaju –npr. {a,b,c,d,e} (zaslikesa 256 boja to subrojevi 0-255). Zasvaki element alfabetapoznata je verovatnoćanjegovogpojavljivanja –npr. { P(a)=0.2, P(b)=0.4, P(c)=0.2, P(d)=0.1, P(e)=0.1 }. Elementealfabetakodiraćemonizovimabinarnihcifara –oznaka: c(x) –kod za simbol x.

  10. HUFFMANOVI KODOVI Primer: Tabela kodova: –alfabet: {a,b,c,d,e} –verovatnoće: { P(a)=0.2, P(b)=0.4, P(c)=0.2, P(d)=0.1, P(e)=0.1 }. Korak 1: –uočimo dva simbola sa najmanjom verovatnoćom: d, e –njihovkodje : c(d) = a1*0 ; c(e) = a1*1 –gde je a1nizbinarnihcifara, a * je operacijanadovezivanja(konkatenacije). Novi simbol koji obuhvata d i e označimo sa f: •njegovaverovatnoća je P(f) = P(d) + P(e)=0.1+0.1=0.2 •njegov kod je c(f) = a1

  11. HUFFMANOVI KODOVI Korak 2: Tabela kodova: –uočimo dva simbola sa najmanjom verovatnoćom: c, f –njihov kod je: c(c) = a *0 c(f) = a *1 –kako je c(f) = a i c(f) = a *1, tada je a = a *1 2 2 1 2 1 2 Novisimbol koji obuhvata c i foznačimo sag •njegovaverovatnoća je P(g) = P(c) +P(f)=0.4. •njegovkod je a .

  12. HUFFMANOVI KODOVI Korak3: –uočimodvasimbolasanajmanjomverovatnoćom: g, a –njihovkod je: •c(g) = a3*0 •c(a) = a3*1 –kako je c(g) = a2i c(g) = a3*0, tada je a2= a3*0 -novi simbol koji obuhvata g i a označimo sa h •njegova verovatnoća je P(h) = P(g) + P(a) •njegovkod je a3

  13. HUFFMANOVI KODOVI Korak4: –uočimodvasimbolasanajmanjomverovatnoćom: h, b –nema više od dva simbola! –da bismo razlikovali dva simbola dovoljna je jedna binarna cifra, dakle: •c(h) = 0 ; •c(b) = 1 –kako je c(h) = a3 i c(h) = 0, tada je a3= 0 “odmotavanje” •kako je a2= a3*0, tada je a2= 00 •kako je a1= a2*1, tada je a1= 001

  14. HUFFMANOVI KODOVI Konačan rezultat: Simboli sa većom verovatnoćom imaju kraći kod. • prosečna dužina koda jednog simbola je • L = P(b)*1 + P(a)*2 + P(c)*3 + P(d)*4 + P(e)*4 = 2.2 • potrebno je u proseku 2.2 bita po simbolu. • zaASCII zapistekstasastavljenogodovih pet slovapotrebnoje8 • bitaposimbolu

  15. HUFFMANOVI KODOVI Primer kodiranja teksta: tekst: abdcdeceabd kod: 01100100000010001100000110110010 Ovakavkodmožemoprobatidadodatnokompresujemo run-length algoritmom. Isplatise samo u slučajudugačkihnizova0 i/ili 1. Uzkompresovani sadržaj mora se dati i tabela kodova za simbole.

  16. HUFFMANOVI KODOVI • Huffmanovalgoritampretpostavljadapojavanekogsimbola u tekstu ne zavisiodprethodnihsimbola. • jednako je verovatna pojava teksta “bacade”i “abcdea” • Familijaalgoritamazasnovanihnarečniku • pokušavadaiskoristiinformacijesadržane u samomtekstuo verovatnoći • pojavljivanjanizovasimbola. • natajnačinpostignejošboljukompresiju.

  17. LZW = Lempel-Ziv-Welch kompresija •predstavnik familije algoritama zasnovanih na rečniku •pre kompresije i dekompresije mora biti poznat alfabet Primer : –alfabet: {a,e,g,m,x} –tekstzakompresiju: megaxmegaxmegaxmeexmee –početnisadržajrečnikačinesimbolialfabeta:

  18. LZW kompresija • Polazimo od početka teksta. • Posmatramo tekući simbol: -Postoji li mu rečniku? –postoji, sa indeksom 4 • Natekućisimboldodamonaredni –me • •postojilisekvencameu rečniku? • –ne postoji • »dodajemo je na kraj rečnika • »naizlazpišemoonajkodkojismoposlednjepronašli, • a to je indeks 4 za simbol m • » narednisimbol (e) postajetekući Ulaz: Izlaz:

  19. LZW kompresija Posmatramo tekući simbol: • –postojili eu rečniku? –postoji, saindeksom 2 • –na tekući simbol dodamo naredni – eg • postoji li sekvenca egu rečniku? • –ne postoji • »dodajemo je na kraj rečnika • »naizlazpišemoonajkodkojismoposlednjepronašli, • a to je indeks 2 za simbol e • »naredni simbol g postaje tekući Ulaz: Izlaz:

  20. LZW kompresija Posmatramo tekući simbol: • –postojiligu rečniku? –postoji, saindeksom 3 • –na tekući simbol dodamo naredni –ga • •postojilisekvencagau rečniku? • –ne postoji • »dodajemo je na kraj rečnika • »naizlazpišemoonajkodkojismo • poslednjepronašli, • a to je indeks 3 za simbol g • »naredni simbol (a) postaje tekući Ulaz: Izlaz:

  21. LZW kompresija Posmatramo tekući simbol: • –postojilia u rečniku? –postoji, saindeksom 1 • –na tekući simbol dodamo naredni –ax • •postojilisekvencaax u rečniku? • –ne postoji • »dodajemo je na kraj rečnika • »naizlazpišemoonajkodkojismoposlednji pronašli, • a to je indeks 1 za simbol a • »naredni simbol (x) postaje tekući Ulaz: Izlaz:

  22. LZW kompresija Posmatramo tekući simbol: • –postojilixu rečniku? –postoji, saindeksom 5 • –na tekući simbol dodamo naredni –xm • •postojilisekvencaxmu rečniku? • –ne postoji • »dodajemo je na kraj rečnika • »naizlazpišemoonajkodkojismo • poslednje • pronašli, a to je indeks 5 za simbol x • »naredni simbol (m) postaje tekući Ulaz: Izlaz:

  23. LZW kompresija Posmatramo tekući simbol: • –postoji li m u rečniku? –postoji, sa indeksom 4 • –natekućisimboldodamonaredni –me • •postojilisekvencameurečniku? –postoji, saindeksom 6 • –natekućusekvencudodamonarednisimbol –meg • •postoji li sekvencamegu rečniku? • –ne postoji • »dodajemo je na kraj rečnika • »naizlazpišemoonajkodkojismoposlednje • pronašli, a to je indeks 6 za sekvencu me • »naredni simbol (g) postaje tekući. Ulaz: Izlaz: Ušteda!!!

  24. LZW kompresija Posle izvesnog vremena: Ulaz: Izlaz:

  25. LZW dekompresija Polazimo od početka koda: Posmatramotekućibroj:4 –indeks4odgovara simbolum •pišemoganaizlaz –posmatramonarednibroj–2 •spojimosimbolekojiodgovarajutekućeminarednom broju –me •ako sekvenca mene postoji u rečniku, dodamo je –narednibrojpostajetekući Ulaz: Izlaz:

  26. LZW dekompresija Posmatrajmo tekući broj 2: • –indeks2 odgovara simbolu e • •pišemoganaizlaz • –posmatramonarednibroj –3 • •spojimosimbolekojiodgovarajutekućemi • narednombroju–eg • •ako sekvenca egne postoji u rečniku, dodamo je • –narednibrojpostajetekući Ulaz: Izlaz: e

  27. LZW dekompresija Posle izvesnog vremena: Izlaz: Ulaz: Rečnik je identičan kao kod kompresije

  28. LZW kompresija • sadržajrečnikaodslikavastvarnisadržajteksta • –nalaze se samooniparovi, trojke, četvorke, itdkoji se • zaistajavljaju u tekstu • za kodiranje broja u opsegu 1-18 (koliko ima stavki u rečniku) potrebno je 5 bita • •2= 16 • •2= 32 4 5

  29. LZW primene GIF format –pikselimoguimatibojuizdatogskupaboja (= alfabeta) –maksimalan broj boja je 256; ne mora se uvek koristiti istih 256boja! Alfabet se sastoji od 33 simbola

  30. JPEG Joint Photographic Experts Group Joint Photographic Experts Group (naziv društva koje je donijelo standard za ovaj format zapisa). Format definiše četiri tipa kompresije Hijerarhijska (hierarchical) kompresija •slika se kodira u više rezolucija, tako da korisnik može da gleda slike u niskoj rezoluciji bez dekompresije visokorezolucijskih slika. Sekvencijalna(Sequential) kompresija •ono što se najčešće podrazumeva pod “JPEG kompresijom” •kompresija sa gubicima Progresivna (progressive) kompresija •slično kao sequential •format prilagođen učitavanju velikih slika: slika se pojavljuje u više prolaza Bez gubitka (lossless) kompresija •jedna varijanta kompresije bez gubitaka, retko se koristi

  31. JPEG Konverzija je procespromenepodatakakojiobavljasoftverilihardver. Konverzija kolornih modela: RGB →YUV RGB model •sve tri komponente(red,green,blue) jednako utiču na vizuelne karakteristike slike YUV model •ljudsko oko mnogo bolje razlikuje varijacije u osvetljenosti (Y komponenta-osvijetljenost) nego u boji (U i V komponente- -informacije o bojama) •U i V komponente se mogu kompresovati sa većim stepenom gubitaka bez vidljivih efekata Y= 0.30R + 0.59G + 0.11B U=o.493(B-Y) V=0.877(R-Y)

  32. JPEG Sekvencijalna kompresija: Dekompozicija na blokove od 8x8 piksela

  33. JPEG Diskretna Kosinusna Transformacija –DCT Blok od 8×8 piksela posmatramo kao diskretnu funkciju dve promenljive datu u 64 tačke . DCT predstavlja transformaciju kojom se funkcija data u prostornom domenu reprezentuje sumom funkcija u frekventnom domenu. DCT F(i,j) F(u,v)

  34. JPEG Diskretna Kosinusna Transformacija –DCT –rezultat transformacije je suma osnovnih funkcija u frekventnom domenu –izgled 64 osnovne funkcije preslikanih u prostorni domen

  35. JPEG Diskretna Kosinusna Transformacija –DCT • –rezultat transformacije bloka 8×8 piksela je matrica 8×8 sa • vrednostima pridruženim pojedinim osnovnim funkcijama u • frekventnom domenu • –karakteristike dobijene matrice • •u gornjem levom uglu definisana je dominantna boja celog bloka • (konstantna komponenta) • •udaljavanjem od gornjeg levog ugla definisane su komponente sa • višim frekvencijama. DCT Polazna matrica DCT matrica •za sada nikakva ušteda –naprotiv •višememorijetrebazasmeštanjerezultatanegooriginala.

  36. JPEG Kvantizacija –ljudsko oko je osetljivije na promene u nižim frekvencijama nego u višim –podelićemo svaki element dobijene DCT matrice različitim koeficijentom –koeficijentekvantizacijesmeštamo u Q matricu. –ciljkvantizacije je daanulira (ilipribližinuli) štovišekoeficijenata pridruženihvisokimfrekvencijama –štovišeelemenataanuliramo to je većakompresija –koeficijentekvantizacijebiramoempirijski •popravilurastusaudaljavanjemodgornjeglevogugla –primer (preporuka JPEG komiteta) Q matrica:

  37. JPEG Kvantizacija –deljenjem (izaokruživanjem) koeficijenata u DCT matricikoeficijentima u Q matricidobijamo –ovde se događa gubitak podataka •one vrednosti koje nisu nula se mogu iskoristiti za rekonstrukciju slike uz određenu malu grešku. •one vrednostikojesunula ne moguposlužitizarekonstrukciju slikeitevrednostisunepovratnoizgubljene

  38. JPEG • Huffmanovo kodiranje –do sada nije bilo kompresije –zakompresiju je poželjnoda u konačnojmatriciimaštovišenula –za kompresiju se koristi Huffmanovo kodiranje –način formiranja niza koji će se kompresovati je karakterističan –“cik cak” •time se formira niz u kome će većina nula biti jedna do druge

  39. OCR=Optical character recognition • crno-bela slika • prevelika rezolucija skeniranja nije korisna • 100-300 dpi • OCR = optičkoprepoznavanjeznakova • skeniranje stranice teksta • obradaslike • •uklanjanje “salt and pepper”šuma • •rotacija • segmentacija • •izdvajanjeredova • •izdvajanjeznakova • prepoznavanjeslova • •poređenje sa šablonom • •statističkemetode • •graniceobjekata • popravkaprepoznatogtekstapomoćurečnika

  40. HVALA NA PAŽNJI !

  41. Obrada slike • uklanjanje “salt and pepper” šuma • jednostavno rešenje • •maska 3×3 se primeni na svaki piksel • •ako je boja centralnog piksela različita od boje svih susednih • piksela,centralnom pikselu se promeni boja •ova tehnikaeliminišešumveličinejednogpiksela •većišumnećebitiuklonjen •“poluostrva”i “uvale”nećebitiuklonjene • k Fill algoritam • parametar: veličina šuma koji će biti uklonjen • maska veličine k • Zadatumaskupostavljenuiznaddelaslikeizračuna se: • •n: brojcrnihpiksela u susedstvu • •c: brojpovezanihgrupacrnihpiksela u susedstvu • •r: brojcrnihpiksela u uglovima •iterativnialgoritam –postavljanjecrnih piksela –postavljanje belih piksela Ako važi: (c=1) and [(n>3k-4) or (n=3k-4) and r=2] svi pikseli jezgra se postavljaju na crnu boju. •kraj rada je kada nema promene boje nijednog piksela u oba prolaza

  42. Rotacija slike Algoritamskeniranja Omogućava pregled dokumenta da bismo dalje mogli odrediti parametre podešavanja kako bismo dobili željeni rezultat. Pozivanjeprogramazaskeniranjekomandom File-Import detekcijanaginjanja (skew detection) •uočimopodnožjesvakogznaka •podnožjapovežemolinijama •rotiramozaizračunatinagib Postavljanjedokumentakoji želimo skenirami Scan Mode, Original, Pos/Neg, Frame Set, Scan Tupe, Filter, Descreening, Intesity, ... Komanda PRESCAN Izbor površine skeniranja Podešavanje parametara skeniranja Proces skeniranje Rezultat zadovoljavajući? NE DA Čuvanje rezultata skeniranja

  43. Izdvajanje znakova –projekcija na x osu –prebrojavanje crnih piksela u svakoj koloni

  44. Prepoznavanje znakova –poređenje sa šablonom •broj različitih piksela između šablona skeniranog slova –statističkemetode •formiranjenizanumeričkihparametarakojiopisujuslovo. •poređenje takvog niza za šablon i skenirano slovo. -prepoznavanjeslova • identifikovanjegranicaobjekata – vektorizacijaslike • poređenje vektorskih reprezentacija šablona i skeniranog slova.

  45. Korekcija prepoznatog teksta pomoću rečnika

  46. Kompresija podatakapodrazumeva pretvaranje podataka u oblik koji zauzima sto manje memorije.

More Related