Documente Academic
Documente Profesional
Documente Cultură
• Calitatea imaginii
- Se poate realiza compresie cu pierderi sau fără pierderi.
- Compresia cu pierderi foloseşte o codare mai eficientă decât codarea
fiecărei valori din fluxul de date de intrare.
1
- Principiul compresiei cu pierderi: diferenţa faţă de datele iniţiale este
mai greu de observat.
- Reducerea numărului de biţi (cuantizarea) pentru compresia cu
pierderi se face pe baza unor:
- evaluări subiective (cele mai importante):
PSNR Calitate
> 40dB Foarte bună
30 – 40dB Bună
< 30dB Slabă
2
• În domeniul frecvenţă spectrul semnalului eşantionat este repetarea
periodică a spectrului semnalului continuu pe multiplii de frecvenţa de
eşantionare;
3
• Teorema lui Shannon: Pentru un proces aleator Gausian alb cu
lărgimea de bandă W rata de bit depinde de raportul semnal-zgomot:
De exemplu:
Semnal vocal cu banda W = 4kHz şi SNR = 40dB
4
• Scriind raportul semnal zgomot în decibeli:
De exemplu:
Telefonia digitală cu 8biţi/eşantion: SNR = 41dB
Codarea Run-Length
Codarea
Codarea Huffman Fără pierderi
entropică
Codarea Aritmetică
DPCM
Predicţie
DM
FFT
Transformări
DCT
Codarea Cu pierderi
Poziţia biţilor
sursei
Subeşantionare
Codare pe niveluri Iau în
Codare pe
considerare
subbenzi
conţinutul
Cuantizarea vectorială
JPEG
Codare
MPEG
hibridă
H.261
• Codarea entropică
- Pentru un set de simboluri cu probabilităţile de apariţie cunoscute
- p1 , p2 ,..., pN
- Informaţia proprie simbolului i este:
- I = − log pi
- Entropia sursei este suma informaţiilor pentru toate simbolurile:
N
- E ( p1 , p2 ,..., pN ) = −∑ pi log pi
i =1
- Compresia caută să realizeze reprezentarea mesajelor cu numărul de
biţi minim corespunzător conţinutului de informaţie. Limita minimă a
compresiei este entropia.
- Codurile cu redundanţă minimă au lungimea medie minimă pentru o
anumită distribuţie de probabilităţi.
- Raportul de compresie este lungimea medie a simbolurilor împărţită
la lungimea medie a cuvintelor de cod (în biţi).
6
• Codarea Run-Length
- Eliminarea caracterelor care se repetă
- zerouri în fişiere de date numerice
- spaţii în fişiere text
- zone de aceeaşi crominanţă sau luminanţă în imagini
- Codarea numărului de apariţii:
- este necesar un flag
Exemplu:
flag = “!”
datele comprimate conţin “caracter” “!” “număr de apariţii”
intrare: ABCCCCCCCCDEFGGGGG
ieşire: ABC!8DEFG!5
Codarea Huffman
1. Se ordonează simbolurile în ordinea descrescătoare a probabilităţii.
2. Se grupează ultimele două simboluri şi se adună probabilitatea lor
formând un nou simbol.
3. Se reordonează noul set în ordinea descrescătoare a probabilităţii
4. Se repetă paşii 2 şi 3 până rămân două probabilităţi
5. Se alocă bitul “0” uneia din probabilităţi şi bitul “1” celeilalte.
6. Se merge în sens invers adăugând câte un bit la fiecare grup de 2
simboluri.
7. Se formează cuvintele de cod
7
- Codarea iniţială ar necesita 3 biţi pe simbol.
Entropia H(S) = 2.024 biţi/simbol
Lungimea medie L = 2.204 biţi/simbol
- Permite decodarea instantanee a fluxurilor de date
Mesajul codat: 101111000100110
Mesajul decodat: 2 3 5 1
• Codarea Aritmetică
- Se consideră intervalul [min, max) care iniţial este [0,1) . Lungimea
intervalului este: max − min = 1 .
- Intervalul este împărţit la numărul de simboluri, fiecare având aceeaşi
probabilitate.
_ .6667 _ _
1 .6667 .6667
c 1/3 _ c 1/4 c
.5834
c 3/6
2/3 _ .6334 _
2/5
b 1/3 .6501 _
_ b 2/4 b
1/3 2/5 b 2/6
.4167 _ _
a 1/3 .6001 .6390 _
a
_ _ a 1/4 .5834 _ 1/5
a 1/6
0 .3333 .6334
8
• Codarea Diferenţială PCM (DPCM) şi codarea predictivă (LPC)
- Valorile viitoare ale semnalului pot fi aproximate (prezise) din
comportamentul (eşantioanele) anterioare datorită corelaţiei între
eşantioanele semnalului.
- Codarea DPCM se bazează pe faptul că orice poate fi prezis din
semnal la codare poate fi reconstruit la decodare.
- Etapele codării DPCM:
- Prezicerea valorii curente x(n) din valorile anterioare x(n − 1) ,
x(n − 2) , ...
- Calculul diferenţei (eroarea de predicţie) între valoarea curentă şi
valoarea prezisă: ∆x ( n ) = x ( n ) − xˆ ( n )
- Codarea erorii predicţiei (cuantizarea + codarea VLC = cu număr
variabil de biţi) se poate face cu un număr mai mic de biţi.
00010100101 v ( n) x ( n)
VLD Q
Predictor Memorie
xˆ (n)
• Codarea cu transformate
- O transformată converteşte un set de date într-o reprezentare
alternativă care este mai convenabilă pentru codare
- Transformatele sunt reversibile
Exemplu:
- un bloc de 2 x 2 pixeli:
Transformata: Transformata inversă:
A B X0 = A A = X0
X1 = B – A B = X1 + X0
X2 = C – A C = X2 + X0
C D X3 = D – A D = X3 + X0
- A, B, C şi D au fiecare 8 biţi
- X0 este codat pe 8 biţi (pixelul de bază)
- X1, X2 şi X3 necesită numai 4 biţi
- 8 + (3 x 4) = 20 => 5biţi/pixel
10
1
( 2m + 1) nπ 2 2 , pentru n = 0
Cmn = kn cos , kn =
2N 1, în rest
2
7 7
I xy = ∑∑ ku kv Cvu cos
( 2 x + 1) uπ cos ( 2 y + 1) vπ
u =0 v =0 16 16
1
2 2 , pentru u , v = 0
unde ku , kv =
1, în rest
2
• Codarea în subbenzi
- Să presupunem că un semnal are cea mai mare parte a energiei
concentrate în domeniul frecvenţelor joase.
- Se efectuează o eşantionare cu 10kHz, 8 biţi pe eşantion. Rata de
transmisie necesară este de 80kbiţi/s.
- O transmisie mai eficientă se poate realiza divizând domeniul de
frecvenţă în două subbenzi:
FTJ FTJ
FTS FTS
11
Reprezentare polifazică
12
- Rezultă alocarea optimă a biţilor:
1 c × σ x2k
bk = log
2 σ q2
- Câştigul este
M
1
M
∑σ 2
xk
G= k =1
1/ M
≥ 1.
M
2
∏σ xk
k =1
Avem câştig unitar dacă σ x2k sunt egale.
13