You are on page 1of 21

Izvorno kodiranje

OBRADA I PRENOS SIGNALA


Kodiranje

 Kodiranje predstavlja transformaciju neke poruke ili općenito nekog objekta


na način da se simboli (slova, brojevi, pikseli, ...) tog objekta zamjene
simbolima neke druge abecede (npr. slova se zamjene binarnim brojevima “0”
ili “1”).
 Koje vrste kodiranja smo mi spominjali:
Kodiranje

 Kodiranje predstavlja transformaciju neke poruke ili općenito nekog objekta


na način da se simboli (slova, brojevi, pikseli, ...) tog objekta zamjene
simbolima neke druge abecede (npr. slova se zamjene binarnim brojevima “0”
ili “1”).
 Koje vrste kodiranja smo mi spominjali:
 Kodiranje kod AD konverzije
Kodiranje

 Kodiranje predstavlja transformaciju neke poruke ili općenito nekog objekta


na način da se simboli (slova, brojevi, pikseli, ...) tog objekta zamjene
simbolima neke druge abecede (npr. slova se zamjene binarnim brojevima “0”
ili “1”).
 Koje vrste kodiranja smo mi spominjali:
 Kodiranje kod AD konverzije
 Izvorno kodiranje
Kodiranje

 Kodiranje predstavlja transformaciju neke poruke ili općenito nekog objekta


na način da se simboli (slova, brojevi, pikseli, ...) tog objekta zamjene
simbolima neke druge abecede (npr. slova se zamjene binarnim brojevima “0”
ili “1”).
 Koje vrste kodiranja smo mi spominjali:
 Kodiranje kod AD konverzije
 Izvorno kodiranje
 Zaštitno kodiranje
Izvorno kodiranje

 Položaj kodera izvora


Izvorno kodiranje

 Ono što znamo dosad:


 Koder izvora pretvara izvornu poruku u niz binarnih brojeva (bitova), a zove se
informacijski niz. Koder izvora idealno je oblikovan tako, da je broj bitova u jedinici
vremena potrebnih za prikaz izvorne poruke sveden na minimum. To se postiže
korištenjem nejednake dužine za pojedine poruke. Primjer – Morzeov kod, nejednake
dužine kodnih riječi za slova). Npr. ako je za prenos poruke “Danas nema nastave”
inače potrebno 100 bita, korištenjem kodera izvora ta se poruka može zapisati sa npr
80 bita, što predstavlja uštedu resursa.”
Izvorno kodiranje

 Koder izvora možemo shvatiti najjednostavnije kao kompresiju (sažimanje).


 Ako izvršimo kompresiju (zipp) nekog dokumenta, šta dobivamo? Isti
dokument se zapisuje (ili prenosi) sa manje bita. Isti dokument je “manje
težak”. Kada dokument stigne do prijemnika, da li je dokument identičan
dokumentu predajnika? Da.
 Na čemu smo uštedili?
1. na memoriji - prilikom pohrane,
2. na brzini (frekventnom opsegu) – prilikom slanja
Izvorno kodiranje

 Generalno, kompresija može biti:


 Sa gubicima
 Bez gubitaka
 Mi ćemo ovdje govoriti o kompresiji bez gubitaka (originalni i kompresovani
dokument su identični po sadržaju. Ovakva kompresija se koristi npr. kod
dokumenata gdje se nijedno slovo ne smije izostaviti.
 Kod kompresije sa gubicima kompresovani i originalni dokument nisu
identični po sadržaju (kompresovani je siromašniji, neki dijelovi originalnog
dokumenta se brišu). Koristi se najčešće kod fotografija, smanjujući im
kvalitet.
Izvorno kodiranje – bez gubitaka

 Najčešće korišteno izvorno kodiranje (bez gubitaka) je Huffmanovo


kodiranje. Da bismo ga objasnili najprije ćemo definisati pojam vjerovatnoće
pojave nekog simbola.
 Vjerovatnoća pojave nekog simbola je broj između 0 i 1 (ili 0% i 100%) koji
govori u kojem se postotku od svih simbola javlja konkretni simbol. Dakle
koliko često se javlja (koliko često ga očekujemo). Računa se po formuli
 P(događajS)=broj pojavljivanja događajaS/ukupan broj pojavljivanja
Vjerovatnoća

Primjer:
 Za dati niz simbola izračunati vjerovatnoću pojave svakog od simbola a, b, c i
d
 abacbacdadcbacbaacbd
 P(a)=7/20=0.35 (35%)
 P(b)=5/20=0.25 (25%)
 P(c)=5/20=0.25 (25%)
 P(d)=3/20=0.15 (15%)
Zbir vjerovatnoća svih događaja uvijek daje 1 ili 100%
 P(a)+P(b)+P(c)+P(d)=1 (100%)
Huffmanovo kodiranje

 Huffmanovo kodiranje je metoda kodiranja u kojoj se simbolima dodjeljuju


kodne riječi različitih dužina, ovisno o njihovoj frekvenciji, odnosno
vjerojatnoćama pojavljivanja.
 Huffmanov kod je kod promjenjivih dužina zbog toga što se različitim
simbolima dodjeljuju kodne riječi različitih dužina, odnosno ovaj kod
dodjeljuje kraće kodove simbolima koji se češće pojavljuju, a duže kodove
simbolima čije je pojavljivanje rjeđe.
 Gdje smo ovo već vidjeli?
Huffmanovo kodiranje

 Huffmanovo kodiranje je metoda kodiranja u kojoj se simbolima dodjeljuju


kodne riječi različitih dužina, ovisno o njihovoj frekvenciji, odnosno
vjerojatnoćama pojavljivanja.
 Huffmanov kod je kod promjenjivih dužina zbog toga što se različitim
simbolima dodjeljuju kodne riječi različitih dužina, odnosno ovaj kod
dodjeljuje kraće kodove simbolima koji se češće pojavljuju, a duže kodove
simbolima čije je pojavljivanje rjeđe.
 Gdje smo ovo već vidjeli? (Morzeov kod)
Huffmanovo kodiranje

1. Simbole poredamo po opadajućim vjerovatnoćama


2. prvo uzmemo dva simbola s najmanjim vjerojatnoćama pojavljivanja, te ih označimo
s 0 i 1.
3. ove vrijednosti pišemo na grane binarnog stabla koje konstruišemo, a ta dva simbola
kombinujemo u jedan nad-simbol tako da im sabiremo vjerovatnoće.
4. Postupak nastavljamo tako da ovaj simbol postaje jedan čvor našeg binarnog stable i
njega također uspoređujemo s poznatim vjerovtnoćama simbola.
5. Ponovno tražimo dva simbolavs najmanjim vjerovatnoćama i kombinujemo ih u nad-
simbol. Postupak se ponavlja sve dok binarno stablo nije do kraja konstruisano,
odnosno dok nam ne ostanu samo vjerovatnoće za dva simbola, odnosno dok nam ne
ostane samo jedan nad-simbol.
6. Time kodiranje završava, a kod se očitava prolazeći unazad po binarnom stablu. Na
kraju je svaki simbol kodiran zasebno.
Huffmanovo kodiranje - Primjer

 Dati su simboli a, b, c i d sa vjerovatnoćama pojavljivanja P(a)=0.2, P(b)=0.3,


P(c)=0.4, P(d)=0.1. Izvršiti Hffmanovo kodiranje slova i izrčunati srednju
dužinu kodne riječi.
Huffmanovo kodiranje - Primjer
Huffmanovo kodiranje - Primjer
Huffmanovo kodiranje - Primjer
Huffmanovo kodiranje - Primjer
Srednja dužina kodne riječ Lsr

 Srednja dužina kodne riječi je broj koj kaže koliko je u prosjeku duga svaka
kodna riječ, odnosno koliko je u prosjeku bita po riječi. (Znamo da kodne
riječi nisu iste dužine)
 Računa se po fomuli:
 Lsr = ∑ L(slovo)*P(slovo) (bit/riječ)
 U našem slučaju:
 Lsr = L(a)*P(a) + L(b)*P(b) + L(c)*P(c) + L(d)*P(d)
 Lsr = 3*0.2 + 2*0.3 + 1*0.4 + 3*0.1
 Lsr = 1.9 (bit/slovu)
Srednja dužina kodne riječ Lsr
 Kada ne bismo koristili izvorno kodiranje već svako slovo iz primjera kodirali sa istim brojem
bita, koliko bi svako slovo imalo bita?

00
01
11
10

 L=2 bit/riječ
 Zaključak: Lsr < L

You might also like