Professional Documents
Culture Documents
Kodiranje Izvora Informacije
Kodiranje Izvora Informacije
Literatura
1. I. Pandi i dr., Uvod u teoriju informacije i kodiranje, Element Zagreb 2007. 2. N. Roi, Informacije i komunikacije: kodiranje s primjenama, NIP Alinea Zagreb 1992. 3. . Paue, Uvod u teoriju informacije, kolska knjiga Zagreb 1989.
Uvod
Simboli koje odailje izvor informacije esto ne zadovoljavaju tehnikim zahtjevima koje postavlja kanal primjer: za pisanje teksta upotrebljavamo priblino sto simbola ako elimo pohraniti napisani tekst (poruku) u memoriji raunala ili je prenijeti elektronikom potom moramo simbole koje smo napisali zamijeniti sa odgovarajuim nizovima binarnih simbola
Uvod
Dodjeljivanje simbola jedne abecede simbolima druge abecede naziva se kodiranje. S kodiranjem koje se naziva kodiranje izvora dodjeljuju se simbolima abecede izvora simboli (ili nizovi simbola) iz abecede kda. Koder i dekoder izvora su sastavni dijelovi svakog komunikacijskog kanala.
Uvod
izvor informacije abeceda izvora A
koder izvora
komunikacijski kanal
abeceda kanala B
dekoder izvora
primatelj informacije
abeceda izvora A
Primjer
B={0,1} m=3 skup kdnih zamjena
C=B3={000,001,010,011,100,101,110,111} ili C=B1 U B2 U B3= ={0,1,00,01,10,11,000,001,010,011,100,101,11 0,111}
Primjer
Uzmimo da je A={x1,x2,x3} i B={0,1}, te promotrimo sljedee kdove: A x1 x2 x3 P(xi) 0.5 0.3 0.2 kd A kd B kd C kd D 00 0 1 0 01 1 10 10 11 01 11 100
Primjer
Kd A je ravnomjeran kd, kdovi B, C i D su neravnomjerni. S obzirom da je 3<22 , kd A je mogue jednoznano dekodirati. Neravnomjerni kd B nije mogue jednoznano dekodirati.
Npr., ako je izvor poslao poruku:
x1x2x3 koja se kodira kodom B dobiva se: 0101.
0101 moe se dekodirati kao: x1x2x3 ili x1x2x1x2 ili kao x3x3 ili kao x3x1x2.
Primjer
S obzirom da kd B ne omoguava jednoznano dekodiranje svih poruka koje odailje izvor, kd B je neupotrebljiv. Neravnomjerni kdovi C i D omoguuju jednoznano dekodiranje, pri emu je
kd C mogue dekodirati tek po prijemu cjelokupne poruke (poruku dekodiramo poevi od zadnjeg simbola prema prvom simbolu), a kd D mogue dekodirati trenutano.
Primjer
Uzmimo da moramo dekodirati niz 10 koji je generirao kd C.
S obzirom da je niz sastavljen sa manje od tri simbola (tri je duljina najdue kdne zamjene u tom kdu), ne moe se dekodirati primljen niz kao kdna zamjena simbola x2 ve se mora poekati na prijem treeg simbola. Ako je trei simbol nula, dekodirati e se primljeni niz kao x3, a ako je jedan, prva dva primljena simbola dekodirati e se kao x2. Trei simbol niza moe biti kdna zamjena simbola x1 ili prvi simbol kdnih zamjena x2 i x3, zato ga se ne moe dekodirati, dok se ne prime jo sljedea dva simbola.
Kd C oito nije trenutani kd, jer je kdna zamjena f(x1) prefiks kdnih zamjena f(x2) i f(x3).
Primjer
Kd D je mogue uzastopno (sukcesivno) dekodirati poto ne sadri kdnu zamjenu koja bi ujedno bila i prefiks neke druge kdne zamjene.
H = bit/simbol n
gdje je H entropija izvora informacije.
Primjer
Pogledajmo koji kd izmeu etiri kda iz primjera ima najmanju prosjenu duljinu kdnih zamjena odnosno koji kd ima najveu uinkovitost. Znak x1 koji izvor odailje s vjerojatnou p1=0.5 ima u kdu A kdnu zamjenu f(x1)=00 duljine n1=2 simbola abecede B. Slino: p2=0.3, f(x2)=01 i n2=2, te p3=0.2, f(x3)=10 i n3=2
Primjer
Prosjena duljina kdnih zamjena kda A je: nA=p1n1+p2n2+p3n3=1.0+0.6+0.4=2.0, a prosjena duljina kdnih zamjena kdova B,C i D: nB=1.2, nC=1.7 te nD=1.5.
Primjer
Ako pretpostavimo da je dan izvor bez memorije, tada je entropija izvora
H = pi log d pi 1.48 bita
i =1 3
Primjer
Uinkovitost kda A je
A =
H 1.48 = =0.74 bita/simbol n 2.0
Uinkovitost kda B i C je
Ravnomjerni kdovi
Ravnomjerni kdovi su u pravilu neekonomini kdovi izvora. Za prilagoavanje izvora tehnikim zahtjevima kanala u raunalskim sustavima za obradu i prijenos informacije skoro iskljuivo se upotrebljavaju ravnomjerni kdovi zbog jednostavnih postupaka kodiranja i dekodiranja te njihove nezavisnosti od statistikih osobina izvora.
Kd ASCII
ASCII kd je ravnomjerni kd (128,2,f), gdje je preslikavanje f standardizirano i dano tablicom. ASCII (American Standard Code for Information Interchange) ANSI (American National Standard Institution) kd Kdnim zamjena se najee dodaje osmi bit, koji slui za provjeru parnosti, to jest za otkrivanje neparnog broja greaka u kdnim zamjenama koje mogu nastati prilikom njihovog prijenosa po kanalu. Kd ASCII preporuuju meunarodne organizacije za standardizaciju CCITT (prporuka V-2) i ISO (preporuka 646).
Neravnomjerni kdovi
Ekonomini kdovi trae se izmeu neravnomjernih kdova koji se mogu jednoznano dekodirati. Za stacionarne diskretne izvore bez memorije u pravilu se trae u podskupu neravnomjernih kdova koje moemo jednoznano dekodirati trenutani kdovi.
Kraftov teorem
Kako se prepoznaju kdovi koji se mogu jednoznano dekodirati, te kako se prepoznaju trenutani kdovi? Kraftov i McMillanov teorem Potreban i dovoljan uvjet za postojanje trenutanog neravnomjernog kda (a,b,f) s duljinama kdnih zamjena {n1,n2,...na} je
b
i =1
ni
Kraftova nejednakost
ili, ako prirodni brojevi n1,n2,..na zadovoljavaju nejednakost, uvijek je mogue sastaviti trenutani kd u kojem kdne zamjene imaju duljine n1,n2,..,na
McMillanov teorem
Kraftova nejednakost vrijedi i za sve kdove koji se mogu jednoznano dekodirati. Potreban uvjet za postojanje jednoznanog neravnomjernog kda (a,b,f) s duljinama kdnih zamjena {n1,n2,..,na} je
b
i =1
ni
Kraftova nejednakost
ili obratno, jednoznani neravnomjerni kd s duljinama kdnih zamjena koje zadovoljavaju Kraftovu nejednakost postoji onda i samo onda, ako postoji trenutani kd s jednakim duljinama kdnih zamjena.
Kraftova nejednakost vrijedi za sve kdove koji se mogu jednoznano dekodirati. Skup kdova koji se mogu jednoznano dekodirati dijeli se na trenutane i netrenutane kodove. Ako je ispunjena Kraftova nejednakost za kd (a,b,f), s duljinama kdnih zamjena {n1,n2,...,na} onda:
postoji trenutani kd s jednakim duljinama kdnih zamjena, moe postojati netrenutani kd s jednakim duljinama kdnih zamjena,
Primjeri
Kdna stabla za prijanji primjer kodova B,C i D
1 f(x2) 1 0 f(x3) 1 0 1 0 f(x1) 1 0 f(x1) 1 0 0 f(x1) 1 0 f(x2) f(x3) f(x3) f(x2)
Primjer
Kdne zamjene kdova B i C nalaze se u unutranjost kodnog stabla, to ne vrijedi za kd D koji je trenutaan. Za trenutane kdove vrijedi da se kdna stabla ne granaju od izabrane kdne zamjene, jer u trenutanom kdu nijedna kdna zamjena nije prefiks neke druge kdne zamjene. Kraftovu nejednakost ispunjavaju kdovi A, C i D.
Ekonomini kdovi
uvjeti i postupci sastavljanja kdova koje moemo jednoznano dekodirati, ija je prosjena duljina mala
H1/K logdb je najmanja prosjena duljina kdnih zamjena koja se moe postii samo, ako vrijedi b-ni=pi i=1,2,..a to jest ako se mogu zapisati vjerojatnosti simbola abecede izvora pi i=1,2,..,a kao cjelobrojne potencije osnovice b.
Huffmanov kd
Huffmanov algoritam omoguava gradnju optimalnog trenutanog kda za zadane prirodne brojeve a i b (a>b) i za danu razdiobu vjerojatnosti p1,p2,..,pa (pi0, pi=1). Huffmanovim algoritmom popunjava se b-narno kdno stablo od listova stabla prema korijenu. (Za b=2 je stablo binarno.) Dubina stabla jednaka je najveoj razini nekog vora u stablu, s time da je razina korijena jednaka 1. Broj listova je a. Razina listova r nije unaprijed poznata.
Primjer
a=3, A={x1,x2,x3} P={P(x1)=0.6, P(x2)=0.3, P(x3)=0.1} b=2 i B={0,1} Tijek Huffmanovog algoritma:
0.6 x1 0 0.3 x2 0.4 x23 0.1 x3 1.0 x123 0 1 1
Primjer
kdne zamjene, njihove duljine, prosjena duljina kdnih zamjena, entropija izvora bez memorije i uinkovitost kda su:
f ( x1 ) = 0 f ( x2 ) = 10
3
n1 = 1 n2 = 2
f ( x3 ) = 11 n3 = 2 n = pi ni = 1.4 simbola
i =1
H1 = 0.925 bita/simbol n
Primjer
Pogledajmo kako se dekodira poruka 11100010011 pomou kodnog stabla kojeg prokazuje slika:
Primjer
ponavljanjem koraka 2 dobivamo poruku: x3x2x1x1x2x1x3
ako je wa ve u rjeniku, onda prelazimo na obradu sljedeeg simbola u tekstu s novim segmentom wa umjesto starog w (w wa)
Primjer
Pretpostavimo da elimo kodirati sljedei niz simbola ACAGAATAGAGA mjesta u rjeniku izmeu 0 i 255 zauzeta su simbolima koji mogu nastupiti u tekstu
Primjer
Primjer
pretpostavimo da elimo dekodirati sljedei niz kdnih zamjena: 65, 67, 65, 71, 65, 65, 84, 259, 264, 256
Primjer dekodiranja
Zakljuak
postupak LZW komprimira podatke 30 50% Huffmanov algoritam relaiziran UNIXovom comandom pack LZW algoritam UNIX-ovom komandom compress i kodiranje slike u GIF formatu pkzip