Documente Academic
Documente Profesional
Documente Cultură
Vi x R k : x y i x y j , j i
Domeniile (regiunile) Voronoi impart spatiul Rk astfel incat:
N
Vi R k
i 1
si
N
Vi , i j
i 1
Exemplu
Asociat cu fiecare regiune
(sau cluster) se gaseste un
cuvant de cod
Fiecare regiune are un singur
cuvant de cod
Aceste regiuni sunt separate
prin linii imaginare, trasate
cu linie continua
Pentru un vector de intrare,
cuvantul de cod ce este ales
este acela din care face parte Cuvinte de cod in spatiul bidimensional.
Vectorii de intrare sunt marcati cu „x”, cuvintele de cod sunt
vectorul de intrare. reprezentate prin cercuri, iar regiunile Voronoi sunt separate
prin linii
Compresia prin cuantizarea
vectoriala
Cuvantul de cod reprezentativ este determinat de cea mai
mica distanta Euclidiana de vectorul de intrare
Distanta Eucliadiana definita prin:
k 2
d ( x,y i ) x j yij
j 1
Algoritm de cuantizare vectoriala
Begin
Operatii off-line:
#1: Stabileste dim. vectorului (domeniului) functie de
eroarea acceptata
#2: Defineste setul de vectori de cod (imagini)
Operatii on-line:
#1: Prezinta imaginea de comprimat
#2: Imparte in blocuri (vectori) de acceasi dimensiune cu
vectorii de cod
#3: PENTRU fiecare bloc al imaginii EXECUTA
#3.1: Cauta cel mai aproape vectorului de cod
#3.2: Codeaza si transmite indicele vectorului de cod.
End
Schema bloc
Schema bloc
La codare se calculeaza indicele cuvantului de cod ce
ofera distanta cea mai mica fata de vectorul de intrare
Criteriul folosit este cel de distorsiune minima, bazat pe
distanta Euclidiana dintre vectorul de intrare si fiecare
cuvant de cod memorat/cunoscut
Pe canal se trimite indexul acelui cuvant de cod
La de-compresie/decodare, se inlocuieste indexul cu
cuvantul de cod corespunzator
Operatia cea mai dificila este proiectarea cuvintelor de
cod, deci de a stabili numarul de cuvinte de cod si modul
de calcul al cuvintelor de cod pentru fiecare regiune
Schema bloc
Desi, cuantizarea vectoriala ofera aceeasi rata a distorsiunii ca
si cuantizarea scalara sau PCM, metoda nu are o raspandire
foarte larga in aplicatiile comerciale
Sunt doua motive:
primul se refera la timpul necesar generarii cuvintelor de cod
al doilea, se refera la viteza de cautare a acestora in multimea
cuvintelor de cod
Cea mai simpla metoda de cautare, aceea a cautarii totale, un
vector de intrare este comparat cu toti vectorii cod (full search
method)
Numarul de operatii fiind foarte mare, metoda cautarii totale
este costisitoare
Exemplu
Se considera imaginea „cameraman”, prezentata in figura
de mai jos
Exemplu
Prin impunerea unei erorii patratice medii mai mici decat
un anumit procent din energia celulei de baza (ce defineste
cuvintele de cod reprezentativi) se obtin rezultatele :
Dependenta numarului de vectori din dictionar functie de
eroarea impusa
Exemplu
Vectorii de cod pentru diferite valorii ale distorsiunii
patratice medii, ca procente din energia celulei de baza
Exemplu
Exemplu
Raportul de compresie este
unde
nc este numarul de coloane
nl este numarul de linii
n_bit_per_pixel este numarul de biti pentru reprezentarea
intensitatii unui pixel
n_coef este numarul de coeficienti considerati in
transformare
n_bit_per_coef este numarul de simboluri binare pentru
reprezentarea unui coeficient
Exemplu
Se considera imaginea initiala „cameraman.tif” de
dimensiune 256*256*8 biti (imagine gri)
Celula de baza are dimensiuea de 4x4
Se considerara un numar diferit de vectori de baza in
cadrul dictionarului, de 11.944, 9.764 si 8200
Exemplu
256 256 8
RC 256 256 8 3.65
11944 log 2(11944 ) 11944 14
256 256 8
RC 256 256 8 4.03
9764 log 2( 9764 ) 9764 14
256 256 8
RC 256 256 8 4.56
8200 log 2( 8200 ) 8200 14
Evolutia standardului MPEG
MPEG-1 (1991) (ISP/IEC 11172)
debit de informatie pana la 1.5 Mbps
formatul de imagine tipic CIF (Common Interface Format)
frecventa cadrelor 24 … 30 fps
Aplicatiile principale: staocarea informatiei video pentru multimedia
(CD-ROM);
MPEG-2 (1994) (ISP/IEC 13818)
Extensie pentru metodele cu intretesere, optimizat pentru rezolutia TV
Calitatea imaginii similara cu NTSC, PAL, SECAM la 4-8 Mbps
HDTV la 20 Mbps;
MPEG-4 (1999) (ISP/IEC 14496)
Codare bazata pe obiecte
Descriere sumara a standardelor
folosite in compresia video
Elementele de baza ale algoritmilor
de compresie MPEG
Secventele video contin o redundanta mare, atat statistica cat si
subiectiva, atat in interiroul fiecarui cadru cat si intre cadre
Scopul codarii surselor video este reducerea ratei de informatie (a
ratei de bit) pentru stocare si transmisie, prin exploatarea
redundantelor statistice si subiective si de a codifica informatia de
imagine folosind tehnici entropice (bazate pe entropie)
Raportul de compresie depinde de redundanta continuta in
mesaj, precum si de tehnica de compresie folosita
Pentru tehnicile de compresie un rol important il are
disponibilitatea unei tehnologiii VLSI pentru implementarea
algoritmilor de compresie
Elementele de baza ale algoritmilor
de compresie MPEG
Tehnicile de codare a surselor video pot fi cu si fara pierdere de
informatie
Scopul codarii fara pierdere de informatie este de a reduce
marimea imaginii pentru stocare si/sau transmisie cu mentinerea
calitatii imaginii originale, astfel incat calitatea imaginii decodate
sa fie egala cu calitatea imaginii originale
In contrast, tehnicile de codare cu pierdere de informatie,
(MPEG-1, MPEG-2 si MPEG-4) au scopul de a a obtine o
anumita rata de informatie pentru stocare si/sau transmisie
Criteriile de optimizare folosite la compresie au doua
componente:
una obiectiva, care se refera la masura informationala
Una subiectiva, care se refera la perceptia aparatului vizual al
omului
Sub-esantionare si interpolare
Aproape toate tehnicile de codare video utilizeaza intensiv sub-esantionarea
(numita si decimare) si cuantizarea inainte de codare
Conceptul de baza al decimarii este reducerea dimensiunii semnalului de
intrare video (semnal bi-dimensional, pe orizontala si pe verticala) si a
numarului de cadre, inainte de inceperea codarii
La destinatar, imaginile decodate sunt interpolate pentru afisare
Aceasta tehnica poate fi considerata ca fiind una din cele mai elementare
tehnici, care utilizeaza – de asemenea – caracteristicile fiziologice ale
ochiului uman, si astfel se reduce redundanta subiectiva continuta in
semnalul video, in sensul ca ochiul uman este mai sensibil la schimbarile de
stralucire decat in schimbarile de cromatica (culoare)
De aceea, tehncile de codare MPEG, mai intai impart imaginile in
componente YUV (o luminanta si doua componente de crominanta)
Apoi, componentele de crominanta sunt esantionate relativ la componenta
de luminanta cu un Y:U:V raport specific aplicatii particulare (de exemplu,
in MPEG se utilizeaza un raport de 4:1:1 sau 4:2:2)
Compensarea miscarii prin predictie
(Motion-Compensed Predcition)
Compensarea miscarii este o tehnica pentru reducerea redundantei
temporale intre cadre
Este utilizata intensiv in MPEG-1 si MPEG-2 ca tehnica de predictie
temporala in codarea DPC
Conceptul de compensare a miscarii este bazat pe estimarea miscarii
intre doua cadre video
Asta inseamna ca daca toate elementele unei scene video sunt distribuite
spatial, miscarea dintre cadre poate fi descrisa printr-un numar limitat de
parametri, adica vectori de miscare pentru translatia pixelilor
Pentru fiecare bloc in cadrul actual, N, se estimeaza un vector si care
va fi codat
Vectorul de miscare este indreptat inspre un bloc de referinta de aceeasi
marime ca cel din cadrul anterior, N-1
Se calculeaza o eroare a estimarii miscarii, prin scaderea miscarii
estimate pentru fiecare pixel al blocului DPCM = Differential Pulse
Code Modulation
Exemplu
Fie un bloc de marime 8x8 pixeli
Fiecare pixel este codat pe 8 biti (nivel de gri)
Vectorul de miscare poate fi codat
in coordonate polare, prin doi parametri (lungime si unghi)
in coordonate carteziene prin doi parametri
De asemenea – coordinatele centrului de greutate al noului
bloc, deci (xnew, ynew)
Pentru exprimarea celor doi parametri este nevoie de 2 octeti
Compresia calculata la acest nivel este (8 * 8) / ( 2 * 8) = 4
Principiul compensarii miscarii
Exemplu
In mod uzual, numai eroarea de predictie si vectorii de
miscare se transmit receptorului
In plus se presupune ca un vector miscare este
reprezentativ pentru un „bloc” de pixeli adiacenti
In acest sens, imaginile sunt separate in blocuri disjuncte
de cate 16x16 pixeli (MPEG-1si 2) si se estimeaza numai
un singur vector, care este apoi codat si transmis
Intreteserea coeficientilor
transformatei
Moduri de scanare a coeficientilor DCT in vederea
folosirii corelatiilor intre celule alaturate
Elementele de baza ale algoritmilor
de compresie MPEG
Tehnica de compresie – video implementata in MPEG-1
acopera multe aplicatii, de la sistemele interactive din
CD_ROM la tehnicile de transmisie a informatiei video in
retele de telecomunicatii
Pentru a suporta un numar cat mai mare de aplicatii, sunt
disponibili o serie de parametri de intrare cum sunt:
marimea de intrare a imaginii flexibila
frecventa cadrelor variabila
Acestea pot fi specificate de utilizator.
Elementele de baza ale algoritmilor
de compresie MPEG
MPEG recomanda un set de parametri de tip constrangeri
in ceea ce priveste partea de decodare
Fiecare decodor trebuie sa suporte cel putin parametrii
unei surse video pana la dimensiunea unei imagini TV,
incluzand:
un numar minim de 720 pixeli pe linie
un numar minim de 576 linii pe imagine
o rata minima a cadrelor de 30 cadre/secunda
o rata minima de bit de 1.86 Mbiti/secunda
Schema de codare inter-cadru
Tehnica de compresie MPEG-1,2 este bazata pe structura
macro-bloc, compensarea miscarii, si de inlocuirea
conditionata a macro-blocurilor
MPEG codeaza primul cadru dintr-o secventa cadru in
modul intra-cadru (I)
Fiecare cadru care urmeaza este codat prin predictie inter-
cadru (modul sau cadre P)
Pentru predictie se folosesc datele (informatia) numai din
cadrul anterior, fie I , fie P
Cadrele sunt prelucrate pe baza unei secvente video bazata
pe bloc
Schema de codare inter-cadru
Fiecare cadru color dintr-o secventa video este impartita in
„macro-blocuri”
Fiecare macro-bloc contine blocuri de date din benzile de
luminanta si crominanta
patru blocuri de luminanta Y1, Y2, Y3 si Y4
doua blocuri de crominanta, U, V (fiecare din acestea are 8x8
pixeli)
In acest fel, rata de esantionare intre Y:U:V luminanta si
crominanta este 4:1:1
Schema de codare inter-cadru
Schema de codare inter-cadru
(a) - Ilustrarea cadrelor I
si P intr-o secventa video
Cadrele P sunt codate
folosind compensarea
miscarii prin predictie
bazata pe cadrul anterior.
Fiecare cadru este
divizat in macro-blocuri.
(b) – In fiecare macro-
bloc, informatia codata se
refera la 4 blocuri de
luminanta (Y1, Y2, Y3 si
Y4) si doua blocuri de
crominanta (U, V)
Concluzii
Exista trei moduri de codare a unui cadru: I, B si P
Imaginea de tip B provine de la (bidirectional predicted /
Bidirectional interpolated pictures)
Acestea se prelucreaza cu referire atat la cadrul anterior cat
si la cadrul urmator celui considerat
Utilitatea acetui tip se refera la asigurarea accesibilitatii
aleatoare in mediile de stocare ale imaginilor:
Tipul P nu permite accesarea oricarui cadru
Tipul I permite accesul la orice cadru
Tipul B permite accesul la cadre din doi in doi
Concluzii
Cadrele I sunt codificate ca imagini statice, utilizand metoda DCT
Cadrele P se obtin printr-un algoritm de predictie din cel mai
recent cadru I sau P
Cadrele B sunt prezise din cele mai apropiate doua cadre I sau P
(anteriorul si urmatorul)
"IBBPBBPBBPBBIBB...«