Documente Academic
Documente Profesional
Documente Cultură
11 STMM Video 2 Prelucrare Video S
11 STMM Video 2 Prelucrare Video S
Cupris
DISTRIBUTIE VIDEO
Fisiere video digitale
Codecuri
Compresia MPEG
PRELUCRARE VIDEO DIGITAL
unde
iar operatiile sun facute canal cu canal. Se aplica astfel o fractie a culorii pentru
fiecare pixel proportional cu canalul alpha pentru fiecare strat.
Exemplu. Se considera patru straturi, de opacitati diferite reprezentate
prin patrate: negru opacitate 100%, albastru de culoare (40, 100, 255)
opacitate 80%, verde (130, 152, 74) opacitate 40% si roz (248, 98, 218)
opacitate 60%.
Se poate realiza un control mai bun daca sunt create valori alpha
pentru toate cele trei componente, care apoi sunt combinate ponderat pentru a
obtine o valoare alpha pentru fiecare pixel.
Definitie. Fie C=(h, l, s) culoarea unui pixel, unde 0 ≤ h, l, s ≤ 1. Se
considera pondeile wh, wl si wz, unde wh + wl + wz = 1. Fiind data o culoare
K=(hkey, lkey, skey) care trebuie eliminata din imagine si o tolerantele th, tl si ts,
valoarea alpha pentru pixel se poate calcula cu relatia:
α = wh αh + wl αl + ws αs
unde
0 daca (hkey t h ) h (hkey t h )
h
1 altfel
0 daca (lkey tl ) l (lkey tl )
l
1 altfel
0 daca ( skey t s ) s ( skey t s )
s
1 altfel
Metode chroma key se pot aplica si in spatiul YCbCr, avand avantajul ca
opereaza in acelasi spatiu de culoare ca metoda de compresie MPEG. Totusi
nu sunt foarte eficiente pentru video DV, care subesantioneaza componentele
de crominantala o rata de 4:1:1 (pentru NTSC).
Cea mai comuna aplicatie pentru chroma keing este elimnarea unui
obiect din background-ul sau si plasarea intr-un alt background. De exemplu se
poate inregistra un personaj pe un fond albastru uniform (sau verde), apoi
acest fond este eliminat si inlocuit cu un fond reprezentand o plaja. Metoda se
numeste „bluescreening” sau „greenscreening”. Aplicatie obsnuita: in
televiziune, la rubrica meteo, prezentatorul este inregistrat pe un fond verde,
care apoi este inlocuit cu o harta. S-au ales culorile verde sau albastru, pentru
ca pielea umana contine putine tonuri din aceste culori.
Pentru un bun efect „bluescreen” sunt necesare urmatoarele conditii:
-background-ul sa fie o culoare albastru consistenta;
-background-ul sa fie filtrat;
-iluminarea sa fie cat mai uniforma pe background, pentru a evita
reflexiile si umbrele;
-foreground-el sa nu contina nuante de albastru, utilizate in
background;
-foreground-ul sa fie la cativa metri distanta de background.
Aceste conditii ideale nu pot fi intotdeauna indeplinite. Astfel, anumite nuante
de albastru se pot gasi in foreground ca umbre sau textura; pe foreground se
pot gasi unele reflexii din background.
La inceputul anilor 1960, Vlahos a dezvoltat o metoda de
bluescreening, bazata pe observatii, care identifica pixelii avand componenta
albastra dominanta fata de componentele rosu si verde, calculand
corespunzator valoarea alpha.
Definitie. Fie C = (cr, cg, cb) culoarea unui pixel, unde 0 ≤ cr,
cg, cb ≤ 1. Valoarea alpha pentru pixel se calculeaza prin metoda „color
difference keying method for bluescreening”
α = 1 – (cb – max (cr , cg))
cu rezultatul taiat in intervalul [0, 1].
Aceasta ecuatie furnizeaza α = 0 pentru pixelii albastru pur, o valoare α
aproape de 0 pentru pixeli predominant albastri si α = 1 pentru pixelii care nu
contin de loc albastru.
O alta metoda de bluescreening a fost dezvoltata de Mishima in 1992,
cunoscuta ca Primatte Keyer. Poate fi descrisa in spatiul de culoare RGB. In
interiorul cubului RGB culorile de foreground si background sunt despartite in
doua arii (S3 si respectiv S1), cu o arie de tranzitie S2. Sistemul lucreaza
interactiv cu utilzatorul, care identifica pixeli care apartin backgroundului. Pe
masura ce se identifica mai multi pixeli se traseaza o invelitoare sferica peste
aceste culori in spatiul RGB (S1 in figura). Utilizatorul identifica si pixelii
foreground fiind trasata o invelitoare sferica S2 astfel incat niciun pixel din
foreground sa nu se gaseasca in aceasta invelitoare. Orice pixel avand
culoarea in S1 are α = 0. Orice pixel avand culoarea in S3 are α = 1. Fie P un
punct din S2 si C culoarea corespunzatoare acelui punct. Se traseaza un
segment din P la granita exterioara a lui S2, obtinand segmentul YP. Se
traseaza un segment din P la granita interioara a lui S1 obtinand XP. Atunci
orice pixel avand culoarea C va avea α = |XP|/|XY| (unde |XP| reprezinta
dimensiunea segmentului XP). Valoarea α a unui pixel va fi mai mica,
proportionala cu apropierea la regiunea S1.
Cadre cheie
Etape:
-se selecteaza un clip pe linia timpului;
-se merge in fereastra unde controalele clipului sunt accesibile;
-se gaseste locul in care parametrii pentru efect pot fi setati;
-se face deplasarea pe linia timpului asociata cu clipul selectat si se aleg
momente de timp care sa fie cadre cheie;
-pentru fiecare din aceste momente de timp seteaza parametrii pentru efectul
aplicat.
Coduri de timp
Se doreste gasirea vectorului (p,q) pentru care MAD(p,q) este minim. Vectorul
dat de (p,q) este deplasamentul macroblocului de coincidenta de la pozitia
(x,y).
algoritm pentru estimarea miscarii (“motion_estimation”)
/*Input: doua cadre video, cadrul tinta T si cadrul de referinta R; originea (x,y) a
macroblocului de potrivit
Output: vector de miscare (p,q)*/
{
/*Fie MAX_NUM o valoare mai mare decat orice valoare anticipate MAD */
min = MAD(0,0);
p = 0;
q = 0;
for i = −d to d
for j = −d to d {
avg = MAD(i,j);
if (avg < min) {
min = avg;
p = i;
q = j;
}
}
}
Cautarea completa prezentata in algoritmul precedent este foarte costisitoare
din p.d.v. al calculului. In figura urmatoare pentru estimarea miscarii prin
cautare completa:
Rx d / 2 , y d / 2 , Rx , y d / 2 , Rx d / 2 , y d / 2 , Rx d / 2 , y , Rx , y ,
Rx d / 2 , y , Rx d / 2 , y d / 2 , Rx , y d / 2 , Rx d / 2 , y d / 2
Se va cauta cea mai buna potrivire intre acestea. Apoi la urmatoarea iteratie se
cauta intr-o zona mai mica in jurul acestui macrobloc, examinand:
Rx ' d / 4 , y ' d / 4 , Rx ', y ' d / 4 , Rx ' d / 4 , y ' d / 4 , Rx ' d / 4 , y ' , Rx ', y ' ,
Rx ' d / 4 , y ' , Rx ' d / 4 , y ' d / 4 , Rx ', y ' d / 4 , Rx ' d / 4 , y ' d / 4
Se poate continua, in limitele rezolutiei. Aceasta metoda reduce
complexitatea algoritmului la O(N2 log(d)) per macrobloc in cadrul tinta.Este mai
rezonabil, dar complexitatea a fost redusa numai cu un factor: