Sunteți pe pagina 1din 5

Codare Ziv-Lempel

Codarea Ziv-Lempel se baseaza pe tehnica dictionar LUT: cuvintele de cod asociate unor siruri de simboluri ale sursei de intrare sunt indicii pozitiilor la care se gasesc respectivele siruri in dictionarul codului (tabela de codare). Tabela de codare e creata pe masura ce se parcurge sirul de simboluri de intrare. Initial dictionarul are doua cuvinte: cuvantul 0 cu indicele 0 cuvantul 1 cu indicele 1

Codare Ziv-Lempel

Din sirul de intrare (binar) se extrage pe rand cate un bit si se verifica daca sirul extras e deja in dictionar. Daca sirul e in dictionar se mai extrage un bit, daca nu e in dictionar atunci sirul este trecut in dictionar iar in sirul codat se scrie codul (indicele) prefixului corespunzator sirului nou adaugat in dictionar. Ultimul bit al noului cuvand din dictionar devine primul bit al urmatorului sir de intrare. Procedeul continua pana cand se codeaza sirul dat.

Codare Ziv-Lempel
Fie sirul de intrare:1,0,0,0,0,0,0,1,1,1,1,1,0,0,1,0,0,0,1,1,0,1,0,0,1 Tabela initiala: 0 0 1 1 1000000111110010001101001 Tabela de codare: 10 tr 1, index 2: 10 0 0 00 tr 0, index 3: 00 1 1 000 tr 3, index 4: 000 2 10 0001 tr 4, index 5: 0001 3 00 000 4 11 tr 1, index 6: 11 0001 5 111 tr 6, index 7: 111 11 6 110 tr 6, index 8: 110 111 7 001 tr 3, index 9: 001 110 8 100 tr 2, index 10: 100 001 9 100 10 0011 tr 9, index 11: 0011 0011 11 101 tr 2, index 12: 101 101 12 1001 tr 10, index 13: 1001 1, 0, 3, 4, 1, 6, 6, 3, 2, 9, 2, 10, Ultimul simbol al celui mai recent cuvant de cod adaugat in tabela va fi primul simbol al urmatorului cuvant de cod ce va fi adaugat.

Codare Ziv-Lempel

La decodare fiecare nou cuvant de cod implica scrierea unei noi intrari in tabelul de codare, in care sirul de simboluri este format din prefix(sirul de simboluri gasit in dictionar la intrarea precizata de cuvantul de cod) si o terminatie de un bit (care este primul bit corespunzator urmatorului cuvant de cod).

Decodare:1,0,3,4,1,6,6,3,2,9,2,10,

(tabela initiala are 2 intrari: index0:0 index1:1) 1,0 ->index 2 10 (prefixul=codul de la indexul 1=1 si din primul bit al codului gasit la indexul 0 = 0) 0,3->index 3 00 (prefixul=codul de la indexul 0=0 si din primul bit al codului gasit la indexul 3 = 0) 3,4-> indexul 4 000 (prefixul=codul de la indexul 3= 00 si din primul bit al codului gasit la indexul 4 = 0) 4,1 ->indexul 5 0001 (prefixul=codul de la indexul 4=000 si din primul bit al codului gasit la indexul 1 = 1) 1,6 ->indexul 6 11 (prefixul=codul de la indexul 1= 1 si din primul bit al codului gasit la indexul 6 =1) 6,6 ->indexul 7 111 (prefixul=codul de la indexul 6= 11 si din primul bit al codului gasit la indexul 6 =1) 6,3 ->indexul 8 110 (prefixul=codul de la indexul 6= 11 si din primul bit al codului gasit la indexul 3 =0) 3,2 ->indexul 9 001 (prefixul=codul de la indexul 1= 00 si din primul bit al codului gasit la indexul 2 =1) 2,9 ->indexul 10 100 (prefixul=codul de la indexul 2= 10 si din primul bit al codului gasit la indexul 9 =0) Deci secventa decodata este: 100000011111001000110100

(1,0, 3, 4, 1, 6, 6, 3, 2, 9, 2, 10,. 1 0 00 000 1 11 11 00 10 001 10 100..)

Codare predictiva
Se bazeaza pe existenta corelatiei spatiale puternice intre valorile pixelilor din imagine (pixeli vecini in imagini au valori asemanatoare). Valoarea pixelului curent se calculeaza pentru o ordine data de parcurgere a pixelilor (ordine de baleiere a imaginii) din valorile pixelilor vecini deja parcursi.

Codarea: - Functia de predictie - Valorile de start - Erorile de aproximare pentru fiecare punct Daca predictorul este ales bine atunci eroarea de predictie este mica si reprezentarea ei va necesita mult mai putini biti decat reprezentarea valorii originale.

Schema de codare cu predictie


u (n)

e(n)
Cuantizor Predictor cu intarzieri

e ( n) u ( n) +
'

'

Codor

Canal de comunicatie

u ( n)

+ u ( n)

u (n) = f (u (n 1), u (n 2),...)


' '

e( n) = u ( n ) u ( n )
e (n) = cuantizare( u (n) u (n))
'

u ( n) = u ( n) + e ( n)
' '

Metoda se numeste DPCM (Differential Pulse Code Modulation)

Schema de decodare cu predictie


e ( n)
Canal de comunicatie
'

u ( n)

'

u ( n)
Predictor cu intarzieri

Secventa decodata:

u ( n) = u ( n) + e ( n)
' '

S-ar putea să vă placă și

  • Jms
    Jms
    Document7 pagini
    Jms
    jayjay_vee
    Încă nu există evaluări
  • For Ma
    For Ma
    Document61 pagini
    For Ma
    jayjay_vee
    Încă nu există evaluări
  • 01
    01
    Document59 pagini
    01
    jayjay_vee
    Încă nu există evaluări
  • Semio AP Renal
    Semio AP Renal
    Document14 pagini
    Semio AP Renal
    Sorina Vasile
    Încă nu există evaluări
  • Sindroame Valvulare
    Sindroame Valvulare
    Document103 pagini
    Sindroame Valvulare
    Catrinel Militaru
    Încă nu există evaluări
  • Piaţa Muncii
    Piaţa Muncii
    Document33 pagini
    Piaţa Muncii
    jayjay_vee
    Încă nu există evaluări