Sunteți pe pagina 1din 29

TEHNICI I TEHNOLOGII MULTIMEDIA

RECAPITULARE CURS 3

Compresia datelor

Compresia i rata compresiei Pierderile n urma compresiei

Codificarea cu lungime fix


Rularea codificrii cu lungime fix Codificare bazat pe dicionar

Limitele compresiei fr pierderi de informaie

Calculul entropiei

PREZENTARE CURS 4
Entropia i codificarea de lungime variabil Algoritmul Shannon-Fano Algoritmul de codificare Huffman Comparaie ntre codificarea de lungime variabil i codificarea de lungime variabil Compresia lossy

Definiie Msura de distorsiune


Normalizarea

Normalizarea uniform Normalizarea neuniform

PREZENTARE CURS 4
Entropia i codificarea de lungime variabil Algoritmul Shannon-Fano Algoritmul de codificare Huffman Comparaie ntre codificarea de lungime variabil i codificarea de lungime variabil Compresia lossy

Definiie Msura de distorsiune


Normalizarea

Normalizarea uniform Normalizarea neuniform

CALCULUL ENTROPIEI

Alfabet: S = { s1, s2, sn }

Valori posibile ale informaiei surs


Probabilitatea relevant ca s apar si

Probabilitate: P = { p1, p2, pn} Autoinstruire: -log2pi

Cantitatea de informaie coninut n si O valoare care apare cu o probabilitate mare poart fie o mic surpriz, fie o cantitate mic de informaie Numrul de bii ar trebui s fie utilizai pentru a reprezenta media informaiei surs

Entropia E(S)

EXEMPLU DE CALCUL AL ENTROPIEI

Exemplu
Alfabet: S = {0, 1, 2, 3} Probabilitate: P = {1/4, 1/4, 1/4, 1/4} Autoinstruire: - log2pi = { 2, 2, 2, 2} Entropia: E = 2

n medie, pentru reprezentarea fiecrui simbol ar fi necesari 2

Exemplu
Alfabet: S = {0, 1, 2, 3} Probabilitate: P = {0, 1/2, 0, 1/2} Autoinstruire: - log2pi = {---, 1, ---, 1} Entropia: E = 1

n medie, pentru reprezentarea fiecrui simbol este necesar 1 bit

ENTROPIA I CODIFICAREA DE LUNGIME VARIABIL

Exemplu
Alfabet: S = {0, 1, 2, 3} Probabilitate: P = {1/2, 0, 1/4, 1/4} Autoinstruire: - log2pi = { 1, ---, 2, 2} Entropia: E = 1.5

Autoinstruire n calculul entropiei

Lungimea codificrii diferitelor simboluri ar trebui s varieze n funcie de informaia reinut de simboluri

Codificare de lungime variabil (Variable length coding-VLC)


Lungimea codului cuvintelor este o variabil care depinde de probabilitile valorilor posibile din alfabet Simbolurile care pstreaz informaie puin vor avea coduri mai scurte dect simbolurile cu mult informaie Simbolurile care apar frecvent vor avea coduri mai scurte dect simbolurile care apar cu o frecven mai mic

PREZENTARE CURS 4
Entropia i codificarea de lungime variabil Algoritmul Shannon-Fano Algoritmul de codificare Huffman Comparaie ntre codificarea de lungime variabil i codificarea de lungime variabil Compresia lossy

Definiie Msura de distorsiune


Normalizarea

Normalizarea uniform Normalizarea neuniform

ALGORITMUL SHANNON-FANO

Exemplu

hello

Algoritm
Sorteaz simbolurile n funcie de frecvena lor de apariie. mparte recursiv simbolurile n dou pri, fiecare parte cu aproximativ acelai numr de apariii, pn cnd toate prile conin un singur simbol.

Numr frecvena de apariie a fiecrui simbol


Simbol Frecvena H E L O 1 1 2 1

ALGORITMUL SHANNON-FANO

Arborele de codificare al exemplului hello utiliznd algoritmul Shannon-Fano

ALGORITMUL SHANNON-FANO

Diferite rezultate de codificare cu algoritmul Shannon-Fano pentru aceleai date de intrare

PREZENTARE CURS 4
Entropia i codificarea de lungime variabil Algoritmul Shannon-Fano Algoritmul de codificare Huffman Comparaie ntre codificarea de lungime variabil i codificarea de lungime variabil Compresia lossy

Definiie Msura de distorsiune


Normalizarea

Normalizarea uniform Normalizarea neuniform

ALGORITMUL DE CODIFICARE HUFFMAN

Exemplu: hello
1.
2.

Iniializare: Adaug toate simbolurile ntr-o list i sorteaz-le n funcie de frecvena lor de apariie. Repet pn cnd lista mai are doar un simbol:
1.

2.

3.

Alege din list dou simboluri cu frecven minim dintr-un subarbore Huffman care are are aceste simboluri ca noduri fii i creaz nodul printe. Atribuie printelui suma frecvenelor printelui i adaug aceast valoare n list, astfel nct s fie meninut ordinea terge fiii din list

3.

Atribuie codul unui cuvnt fiecrei frunze pe baza cii de la rdcin.

PROPRIETILE ALGORITMULUI DE CODIFICARE HUFFMAN

S-a dovedit a fi optim pentru un model de date cu o distribuie a probabilitii cunoscut


Redundan minim a codului Cele mai puin frecvente dou simboluri vor avea aceeai lungime a codurilor Huffman, fiind diferit doar ultimul bit Simbolurile care apar cu o frecven mai mare vor avea coduri Huffman mai scurte dect simbolurile care apar cu o frecven mic.

Proprietatea de a avea prefix unic


Nici un cod Huffman nu este prefix al altui cod Huffman Evitarea oricrei ambiguiti n decodare

DECODIFICAREA DATELOR CODIFICATE CU ALGORITMUL HUFFMAN

Decodificare 0100101
Codificare de lungime fix CC

Decodificare 0100101
Codul cuvntului Huffman 0 100 101 110 111 ABC Despre codul cuvntului 0 1 00 01 10 ABAABAB/DCEB/

A: B: C: D: E: Rezultat:

PREZENTARE CURS 4
Entropia i codificarea de lungime variabil Algoritmul Shannon-Fano Algoritmul de codificare Huffman Comparaie ntre codificarea de lungime variabil i codificarea de lungime variabil Compresia lossy

Definiie Msura de distorsiune


Normalizarea

Normalizarea uniform Normalizarea neuniform

COMPARAIE NTRE CODIFICAREA DE LUNGIME VARIABIL I CODIFICAREA DE LUNGIME VARIABIL

Secvena de date

{AAAAAAAAAAAAAAABBBBBBBCDCDCDCDCDCDEEEEE} Un text de tipul string coninnd 39 caractere mpreun cu frecvea lor de apariie dup cum urmeaz: A:(15), B:(7), C:(6), D:(6) i E:(5).

Comparaie cu codificarea de lungime fix


Probabilitate

Huffman
0 100 101 110 111 87 bii

Lungime fix
000 001 010 011 100 117 bii

A: 15/39 B: 7/39 C: 6/39 D: 6/39 E: 5/39 Total:

PREZENTARE CURS 4
Entropia i codificarea de lungime variabil Algoritmul Shannon-Fano Algoritmul de codificare Huffman Comparaie ntre codificarea de lungime variabil i codificarea de lungime variabil Compresia lossy

Definiie Msura de distorsiune


Normalizarea

Normalizarea uniform Normalizarea neuniform

COMPRESIA LOSSY

Compresia lossy yields o rat mai mare a compresiei

Implementrile compresiei multimedia sunt, n general, combinaii de compresii lossy i lossless

Compresia lossy
Procesele de compresie i decompresie presupun pierderi de informaie Fiierul recuperat din date compresate este foarte asemntor de cel original

Msuri de distorsiune

Ct de apropiat este o imagine decompresat de originalul su

MSURI DE DISTORSIUNE

Eroarea medie ptratic (Mean square error MSE) 1 N 2 ( xn y n ) 2 N n 1 Raportul semnal zgomot (Signal to noise ratio SNR) 2
SNR 10 log10

x 2 d

Raportul semnal maxim zgomot (Peak signal to noise ratio PSNR) 2 peak PSNR 10 log10 2 d

EXEMPLE DE DISTORSIUNI

Exemplu de date

Date originale {12 16 16 12 12 8 8 12 } Date compresate {8 12} Date recuperate

{12 12 12 12 12 12 12 12} Calculul msurilor de distorsiune

MSE = 8 SNR = 12.56 PSNR = 15

TEORIA RATEI DISTORSIUNII

Provide a framework for the study of tradeoff between Rate and Distortion

PREZENTARE CURS 4
Entropia i codificarea de lungime variabil Algoritmul Shannon-Fano Algoritmul de codificare Huffman Comparaie ntre codificarea de lungime variabil i codificarea de lungime variabil Compresia lossy

Definiie Msura de distorsiune


Normalizarea

Normalizarea uniform Normalizarea neuniform

NORMALIZAREA
Normalizarea este partea cea mai important a oricrei scheme de compresie Reduce numrul de valori de ieire distincte

Set original: { 0,1,2, 64 128 192 255 } Set mai mic: {0, 64, 128, 192 }

Dou forme diferite de normalizare


mprirea domeniului valorilor de intrare n intervale de lungimi egale (inegale) Normalizarea scalar uniform Normalizarea scalar neuniform

EXEMPLE DE NORMALIZARE

Date originale

64 date D: { d1, d2, d64 } 16 valori X: { 0, 1, 16 } Probabilitile fiecrei valori f(x):


S={0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15}

16 16 4 4 4 4 0 0 0 0 0 2 4 0 2 8 P { } 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64

Date compresate Y
Numrul de valori distincte va fi redus de la 16 la 4 Cum se aleg limitele intervalelor i cum se aleg valorile n fiecare interval

NORMALIZAREA SCALAR UNIFORM

Normalizarea scalar uniform

mprirea domeniului valorilor de intrare n intervale de lungimi egale


S={0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15}

16 16 4 4 4 4 0 0 0 0 0 2 4 0 2 8 P { } 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 Y {1.5 5.5 9.5 13.5}

0 1 2 3/4 5 6 7/8 9 10 11/12 1314 15

Exemple din compresia imaginilor


mprirea cubului RGB n pri egale pentru fiecare

dimensiune

R: 3 bii; G: 3 bii; B: 2 bii;

NORMALIZAREA SCALAR NEUNIFORM

Normalizarea scalar neuniform

mprirea domeniului valorilor de intrare n intervale de lungimi egale (inegale) Concentrarea biilor unde este necesar

Normalizarea

Lloyd-Max

ncercarea de a minimiza MSE


S={0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15}

16 16 4 4 4 4 0 0 0 0 0 2 4 0 2 8 P { } 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64

Date compresate Y

{y1,y2,y3,y4}

Numrul de valori distincte va fi redus de la 16 la 4 Cum se aleg limitele intervalelor i cum se aleg valorile n fiecare interval

NORMALIZAREA LLOYD-MAX
Normalizarea scalar neuniform Normalizarea Lloyd-Max

ncepe Alege nivelul setului iniial Y0 i = 0; Repet Calculeaz Bi utiliznd i = i+1; Calculeaz Yi utiliznd Pn cnd Sfrit
| Yi Yi 1 | prag

bj

y j 1 y j 2
bj b j 1 bj

y
i

xf ( x)dx f ( x)dx

b j 1

EXEMPLU DE NORMALIZARE LLOYDMAX

Normalizarea scalar uniform


Y {1.5 5.5 9.5 13.5}

0 1 2 3/4 5 6 7/8 9 10 11/12 1314 15

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