Univerzitet u Istočnom Sarajevu
Download
1 / 46

KOMPRESIJA PODATAKA - PowerPoint PPT Presentation


  • 204 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'KOMPRESIJA PODATAKA' - nailah


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Kompresija podataka

Univerzitet u Istočnom Sarajevu

Filozofski fakultet

Odsjek: matematika i računarstvo

KOMPRESIJAPODATAKA

Student:

Jelena Popara

Profesor:

Milorad K.Banjanin


Kompresija podataka

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


Kompresija podataka

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


Kompresija podataka

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


Kompresija podataka

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


Kompresija podataka

LOSSLESS KOMPRESIJA

LZW primene:

Klasični algoritmi za lossless kompresiju:

GIF format

  • Run-length encoding

  • Huffmanovi kodovi

  • LZW (Lempel-Ziv-Welch) algoritam


Kompresija podataka

RUN-LEGHT ENCODING

Primer crno bele slike:

Vizuelni prikaz slike

Interna reprezentacija slike

Internu reprezentaciju slike predstavimo kao niz, vrstu po vrstu:


Kompresija podataka

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.


Kompresija podataka

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.


Kompresija podataka

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


Kompresija podataka

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 .


Kompresija podataka

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


Kompresija podataka

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


Kompresija podataka

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


Kompresija podataka

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.


Kompresija podataka

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.


Kompresija podataka

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:


Kompresija podataka

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:


Kompresija podataka

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:


    Kompresija podataka

    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:


    Kompresija podataka

    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:


    Kompresija podataka

    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:


    Kompresija podataka

    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!!!


    Kompresija podataka

    LZW kompresija

    Posle izvesnog vremena:

    Ulaz:

    Izlaz:


    Kompresija podataka

    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:


    Kompresija podataka

    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


    Kompresija podataka

    LZW dekompresija

    Posle izvesnog vremena:

    Izlaz:

    Ulaz:

    Rečnik je identičan kao kod kompresije


    Kompresija podataka

    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


    Kompresija podataka

    LZW primene

    GIF format

    –pikselimoguimatibojuizdatogskupaboja (= alfabeta)

    –maksimalan broj boja je 256; ne mora se uvek koristiti istih 256boja!

    Alfabet se sastoji od 33 simbola


    Kompresija podataka

    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


    Kompresija podataka

    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)


    Kompresija podataka

    JPEG

    Sekvencijalna kompresija:

    Dekompozicija na blokove od 8x8 piksela


    Kompresija podataka

    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)


    Kompresija podataka

    JPEG

    Diskretna Kosinusna Transformacija –DCT

    –rezultat transformacije je suma osnovnih funkcija u frekventnom

    domenu

    –izgled 64 osnovne funkcije preslikanih u prostorni domen


    Kompresija podataka

    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.


    Kompresija podataka

    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:


    Kompresija podataka

    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


    Kompresija podataka

    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


    Kompresija podataka

    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



    Kompresija podataka

    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


    Kompresija podataka

    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


    Kompresija podataka

    Izdvajanje znakova

    –projekcija na x osu

    –prebrojavanje crnih piksela u

    svakoj koloni


    Kompresija podataka

    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.



    Kompresija podataka

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