Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AeronauticaComunicatiiElectronica electricitateMerceologieTehnica mecanica


Compromisul complexitate-distorsiune in potrivirea vectoriala pe baza tehnicilor probabilistice de distanta partiala

Electronica electricitate



+ Font mai mare | - Font mai mic



Compromisul complexitate-distorsiune in potrivirea vectoriala pe baza tehnicilor probabilistice de distanta partiala

Multe aplicatii de compresie cu pierderi solicita codorului sa efectueze potrivirea vectoriala. Un exemplu clasic este cuantizarea vectoriala in care se urmareste a se determina pentru fiecare vector de intrare cea mai buna potrivire dintre toti vectorii unui dictionar (set de vectori). Complexitatea cautarii depinde atat de dimensiunea vectorilor cat si de marimea dictionarului. Un alt exemplu de potrivire vectoriala il reprezinta estimarea miscarii in codarea video. In acest caz se urmareste a se gasi pentru fiecare bloc-imagine din cadrul video curent cea mai buna potrivire cu blocurile-imagine dintr-o regiune de cautare prestabilita din cadrul anterior. Informatia despre cea mai buna potrivire este trimisa catre decodor sub forma unui vector de miscare.



Atat in cuantizarea vectoriala cat si in estimarea miscarii, potrivirea unui bloc-imagine (vector) cu unul existent intr-un dictionar (set de vectori) se realizeaza prin calcularea unei distante (metrice) dintre blocul din intrare si toate blocurile (vectorii) din setul de cod sau toate blocurile posibile dintr-o regiune prestabilita a cadrului video.

In cazul cuantizarii vectoriale metrica (distanta) folosita in majoritatea aplicatiilor este distanta euclidiana dintre vectorul de intrare si vectorul de cod:

(1)

unde este vectorul de dimensiune ce urmeaza a fi cuantizat, iar este vectorul de cod continut in setul de vectori de cod . Astfel, este vectorul de cod a lui daca:

(2)

In cazul estimarii miscarii, datorita efortului computational redus pentru calculul acesteia, s-a impus o metrica denumita suma diferentelor absolute (SDA). SDA pentru un vector de miscare se defineste ca fiind:

(3)

unde este nivelul de intensitate a pixelului din cadrul , este setul de pixeli din blocul ce urmeaza a fi codat iar , unde este domeniul prestabilit in care poate varia vectorul de miscare. De exemplu, o valoare tipica pentru poate fi regiunea definita de intervalul . Daca SDA este normalizat cu cardinalul unui bloc-imagine, , noua valoare poarta numele de media diferentelor absolute (MDA).

Complexitatea calculului metricei determina complexitatea algoritmului. In principiu, pentru a realiza cea mai buna potrivire, un sistem de codare trebuie sa calculeze toate distantele intre un vector (bloc) de intrare si toti vectorii de cod (in cazul cuantizarii vectoriale) sau toate blocurile posibile (vectorilor de miscare) in cazul estimarii miscarii. Complexitatea algoritmului va depinde de trei factori:

i)            numarul de vectori de cod din setul de vectori de cod, respectiv, numarul de blocuri-imagine ce trebuie testati pentru a gasi cea mai buna potrivire;

ii)           metrica folosita, distanta euclidiana sau SDA;

iii)         dimensiunea a vectorului, respectiv, a blocului.

Astfel, evaluarea si proiectarea unei tehnici de potrivire atat pentru cuantizarea vectoriala cat si pentru estimarea miscarii necesita evaluarea si reducerea complexitatii algoritmului utilizat.

Complexitatea algoritmului poate fi redusa prin:

i)            reducerea numarului de vectori de cod, respectiv a vectorilor de miscare ce trebuie comparati cu vectorul de intrare;

ii)           reducerea numarului de operatii elementare (multiplicari-M, adunari-A si comparatii-C) necesare calcularii distantei dintre doi vectori sau doua blocuri. Se mentioneaza ca numarul de operatii elementare depinde de metrica adoptata precum si de dimensiunea vectorilor, respectiv, a blocurilor imagine implicate.

Ansamblul de tehnici care se ocupa de cuantizarea vectoriala formeaza tehnicile de cautare rapida (CR), iar grupul de tehnici care se ocupa de cautarea celui mai apropiat bloc-imagine pentru un bloc dat poarta numele de tehnici de potrivire rapida (PR). Cele doua tehnici pot fi proiectate astfel incat sa genereze acelasi rezultat ca si cautarea exhaustiva sau, ca alternativa, sa genereze un rezultat suboptimal (ceea ce inseamna ca tehnica adoptata sa genereze un vector de cod sau un bloc care nu este cel mai apropiat in spatiul k-dimensional, dar care se gaseste cu o probabilitate mare intr-o zona restransa din jurul vectorului din intrare). Cea de a doua solutie introduce un factor suplimentar de distorsiune, dar poate cauza o reducere a complexitatii algoritmului de cautare. Tehnicile care gasesc potrivirea perfecta, adica vectorul cu distanta minima fata de vectorul de intrare, se numesc tehnici optimale.

Algoritmii de cautare rapida (CR) se bazeaza pe cautarea a mai putine puncte in interiorul regiunii de cautare prin impunerea unei strategii de cautare. Restrangerea domeniului de cautare se face prin eliminarea, prin operatii cat mai putine, a acelor vectori de cod care nu pot fi in apropierea vectorului de intrare. Un vector de cod se considera a nu fi apropiat de vectorul de intrare daca distanta dintre vectorul de intrare si acel vector de cod este mai mare decat o distanta deja calculata intre vectorul de intrare si un alt vector de cod. Mai mult, un algoritm de cautare bun este un algoritm pentru care rutina de cautare incepe de la un vector de cod cat mai apropiat de vectorul de intrare. Cautarea poate fi oprita atunci cand a fost gasit un candidat destul de bun pentru potrivire. Majoritatea tehnicilor de cautare pentru estimarea miscarii sunt suboptimale, ceea ce inseamna ca nu gasesc cea mai buna potrivire pentru blocul-imagine de referinta. Printr-o usoara crestere a distorsiunii introduse de sistemul de codare, se poate reduce substantial efortul de calcul necesar cautarii si, in consecinta, a timpului mediu de codare a unei secvente video. In literatura din ultimii ani exista numeroase exemple de algoritmi de cautare rapida pentru estimarea miscarii.

In cazul cuantizarii vectoriale, in tehnicile de cautare rapida optimale, vectorii de cod care nu sunt apropiati de vectorul din intrare sunt eliminati primii, apoi se efectueaza cautarea exhaustiva asupra celor ramasi. O alta posibilitate este aceea de a construi un dictionar cu o structura care sa permita cautarea rapida. Un criteriu determinist se defineste ca fiind un criteriu dupa care, cu probabilitate unu, vectorul de cod corespunzator distantei minime nu se afla in setul de vectori eliminati. O alta metoda care reduce substantial cautarea se bazeaza pe algoritmii de cautare intr-o structura sub forma de arbore. Dezavantajul acesteia este acela ca proiectarea setului de vectori de cod poate fi complicata si suboptimala din perspectiva distorsiunii medii.

Desi metodele de cautare rapida sunt vast tratate in literatura, mai putina atentie a fost acordata tehnicilor de potrivire rapida a vectorilor de miscare.

Pentru compensarea miscarii se poate utiliza un algoritm de cautare dupa distanta partiala ce utilizeaza ca metrica suma diferentelor absolute (SDA). Spre deosebire de cuantizarea vectoriala, unde se utilizeaza distanta euclidiana, aceasta metrica poate reduce si mai mult timpul de cautare cu o usoara degradare a performantelor codarii din perspectiva fidelitatii secventelor video. De altfel, aceasta metrica a fost implementata cu succes in multe sisteme video de codare prin soft. Alte tehnici de cautare ce utilizeaza SDA se bazeaza pe reducerea numarului de pixeli folositi pentru a calcula SDA prin decimarea pixelilor din macrobloc.

2. Metode deterministe de cautare rapida pentru estimarea miscarii

Ideea de baza este aceea de a compara un calcul incomplet al distantei cu "cea mai buna distanta gasita pana acum", in timp ce procesul de calcul inca nu s-a terminat. Pe baza monotoniei distantei, (distanta totala creste cu dimensiunea), calculul se poate termina daca distanta partiala este deja mai mare decat "cea mai buna distanta gasita pana in acum". Astfel, cuvantul de cod curent nu poate fi solutia optima si se trece la evaluarea urmatorului cuvant de cod. Aplicarea tehnicii bazate pe distanta partiala pentru cuantizarea vectoriala si estimarea miscarii se formuleaza dupa cum urmeaza. Se defineste distanta partiala intre intrarea si cuvintul de cod cu relatia , adica suma patratelor diferentelor pana la dintre vectorul si cuvantul de cod . Este evident ca pentru .

In continuare, se defineste cuvantul de cod "cel mai bun pana in prezent" pentru vectorul de intrare cu distantele corespunzatoare ca fiind . este submultimea cuvintelor de cod din dictionarul , a caror distanta fata de a fost testata.

Similar, in cazul estimarii miscarii, calculul SDA partiale poate fi definit prin impartirea multimii in k submultimi , unde pentru si . Prin urmare, SDA partiala calculata in iteratia pentru blocul cu vectorul de miscare este si .

"Cel mai bun pana in prezent" vector de miscare pentru blocul este .

Suma distantelor absolute corespunzatoare, , se defineste similar. Multimea este analoga multimii , adica include blocurile ce au fost testate pana in acel moment.

In continuare se prezinta algoritmul distantei partiale pentru estimarea miscarii. Algoritmul pentru cuantizarea vectoriala este similar.

Algoritm de cautare dupa distanta partiala

Pas 1: La inceputul rutinei de cautare, pentru un bloc-imagine dat in intrare, se initializeaza cu o valoare mare, iar vectorul de miscare optim .

Pas 2: Se trece la urmatorul vector de miscare din regiunea de cautare. . Daca numarul vectorilor din regiunea de cautare ce au ramas de evaluat este zero, se returneaza vectorul de miscare optim .

Pas 3: Se calculeaza .

Pas 4: Daca se trece la Pas 5, altfel se trece la Pas 3.

Pas 5: Daca se trece la Pas 2, altfel si se trece la Pas 3.

Pas 6: Daca , si , se trece la Pas 2.

Reducerea complexitatii algoritmului de cautare expus se datoreaza pasului 5 unde se opreste calculul distantei in momentul in care distanta partiala calculata depaseste "cea mai buna distanta pana in prezent". Aceasta reducere a complexitatii este dependenta de statistica vectorilor din intrare si de statistica vectorilor din regiunea in care se face cautarea. De asemenea aceasta tehnica de cautare este dependenta de modul in care se aleg vectorii de miscare la Pas 2 si de valoarea initiala a lui . Performantele algoritmului pot fi imbunatatite daca se utilizeaza in prealabil o proiectie pe componentele principale si daca vectorii de cod sunt aranjati in ordinea descrescatoare a probabilitatii lor de aparitie. In general, cu cat o tehnica de cautare rapida este mai eficienta, cu atat timpul de codare obtinut prin gasirea cu testare determinista a celui mai potrivit bloc va fi mai mic.

3. Potrivirea rapida prin testarea ipotezelor

Un dezavantaj al potrivirii rapide prin testare determinista este acela ca nu prezinta accesibilitate computationala, adica nu permite obtinerea unei solutii rapide cu pretul unei oarecare reduceri a calitatii. In continuare se investigheaza algoritmi care prezinta accesibilitate computationala, adica reducerea graduala a complexitatii se face cu pretul reducerii corespunzatoare a potrivirii calitatii. Acesti algoritmi se bazeaza pe metoda potrivirii rapide prin testarea ipotezelor care utilizeaza ipoteze de test pentru a decide cand se termina cautarea la pasul 5 din algoritmul anterior. Ideea de baza este de a estima intai metrica distanta din distanta partiala calculata la iteratia . Diferenta dintre distanta actuala si cea estimata poate fi modelata ca o variabila aleatoare cu o anumita functie densitate de probabilitate. Suplimentar testarii distantelor partiale se poate adauga o regula de decizie pentru a determina daca estimatul bazat pe distanta partiala permite luarea deciziei ca distanta finala totala este mai mare decat distanta "cea mai buna pana in prezent". Aceasta decizie se ia tinand cont de faptul ca estimatul este demn de incredere, asa cum s-a determinat din modelul de probabilitate. Daca estimatul prezinta suficienta incredere, cautarea se termina. In caz contrar, se continua calculul metricei la iteratia urmatoare (cea include o crestere a dimensiunii vectorilor). In acest fel potrivirea rapida prin testarea ipotezelor combina testul distantei partiale si testul ipotezelor.

In continuare se prezinta doua aplicatii de potrivire rapida prin testarea ipotezelor la estimarea miscarii si cuantizarea vectoriala.

Rezultate experimentale

1. Estimarea miscarii

In cele ce urmeaza, se considera media diferentelor absolute (MDA) drept metrica. Astfel "cea mai buna pana in prezent" MDA si MDA partiala corespunzatoare iteratiei se definesc cu relatiile si, respectiv, , unde reprezinta cardinalul multimii. Se pleaca de la exprimarea estimatului mediei diferentelor absolute din media partiala a diferentelor absolute. Considerand distanta si distantele partiale ca procese aleatoare, cea mai buna estimare in sensul mediei patratice este valoarea medie a distantei in functie de distanta partiala, adica . Din observatiile experimentale poate fi aproximat de , cu eroarea de estimare devenind din ce in ce mai mica cu cresterea lui , dupa cum se vede in figura 1. Aceasta figura arata histogramele dintr-o secventa tipica de erori de estimare la diverse valori ale lui unde a fost partitionat in 16 submultimi . este multimea pixelilor din primele i randuri ale macroblocului.

Figura 1. Histogramele erorii de estimare folosind ca un estimat pentru in 16 iteratii parcurse de la stanga la dreapta si de sus in jos

Intuitiv, ar putea fi evident ca, asa cum confirma experimentele, cu cat se folosesc mai multi pixeli cu atat acuratetea estimarii este mai buna, in medie, pentru estimarea cu SDA. Prin urmare se va obtine cel mai bun vector de miscare daca se foloseste numai SDA partiala. Mai mult, histogramele rezultate pot fi vazute ca estimati ai functiei densitate de probabilitate ai erorii de estimare. Pentru estimarea miscarii, in cele mai multe cazuri, functia densitate de probabilitate poate fi bine aproximata de distributia laplaciana.

In continuare se prezinta o procedura de proiectare a regulii de decizie pentru testarea ipotezelor. Date fiind si se doreste a se decide intre doua ipoteze:

i)            exista o mare probabilitate ca final sa fie mai mare decat curent si sa se opreasca calculul sau

ii)           nu se dispune de un estimat suficient de demn de incredere si se calculeaza , adica se trece la iteratia pentru metrica si se testeaza din nou.

Dat fiind ipotezele sunt:

Parametrul care determina performanta regulii de decizie este probabilitatea alarmei false, . Prin urmare se pune problema gasirii regulii optime de decizie astfel incat unde este probabilitatea limita aleasa pentru alarma falsa.

Conditia poate fi scrisa astfel:

si regula de decizie optimala este :

(1)

Deoarece membrul stang al relatiei (1) poate fi scris sub forma . Membrul drept este .

Regula de decizie devine

(2)

unde este pragul.

Aceasta situatie este redata in figura 2.

Figura 2. Histograma erorii de estimare obtinuta din datele de antrenare (cu linie continua) si modelarea parametrica (cu linie intrerupta)

Relatia (2) este adaugata testului de distanta partiala din sectiunea precedenta. Folosind modelul distributiei Laplace , unde este parametrul laplacian pentru iteratia , pragul poate fi scris sub forma

(3)

In general, ipotezele de test se pot proiecta diferit pentru fiecare iteratie, adica poate sa fie diferit pentru fiecare iteratie. Pentru simplitate, insa, se impune constant pentru toate iteratiile experimentului. Chiar pentru acelasi , variaza in functie de de la fiecare iteratie. In experimentele noastre se foloseste o aproximare rapida a parametrilor care estimeaza adaptiv pentru fiecare 15 cadre.

Metoda potrivirii rapide prin testarea ipotezelor a fost aplicata la cautarea exhaustiva, cautarea logaritmica 2-D si cautarea spatio-temporala corelata (ST1). Rezultatele obtinute din aplicarea potrivirii rapide prin testarea ipotezelor sunt prezentate in figurile 3 si 4, unde distorsiunea este energia blocurilor reziduale, iar complexitatea se masoara atat in numarul de comparatii intre pixeli cat si prin numarul de cicluri masina consumati in simulare. Drept secvente de test au fost considerate secventele "calendarul mobil" si "fotbal". Reprezentarea curbei complexitate - distorsiune se face in functie de parametrul care ia valori intre 0.01 si 0.2.

Fig. 3 Reprezentarea complexitate - distorsiune a 150 cadre pentru secventa "calendar mobil". Linie punctata - cicluri masina; linie continua - numarul de pixeli comparati

Fig. 4 Reprezentarea complexitate - distorsiune a 150 cadre pentru secventa "fotbal". Linie punctata - cicluri masina; linie continua - numarul de pixeli comparati

2. Cuantizarea vectoriala

Ca si in cazul estimarii miscarii, intai se adopta metrica respectiv . Primul obiectiv este estimarea lui din . Apoi se determina functia densitate de probabilitate a erorii de estimare si aceasta se modeleaza astfel incat sa se poata proiecta regula de decizie pe baza testarii ipotezelor care sa respecte probabilitatea impusa pentru alarma falsa. Ca si in cazul estimarii miscarii, se ajunge la concluzia ca poate fi bine aproximat de . Pentru simplitate, se poate aproxima, de asemenea, functia densitate de probabilitate a erorii de estimare folosind functia de distributie laplaciana, ca in cazul estimarii miscarii, si sa se proiecteze regula de decizie pe baza acestei presupuneri. Parametrul laplacian in cazul cuantizarii vectoriale se obtine din vectorii de antrenare. Rezultatul complexitate-distorsiune obtinut cu ajutorul potrivirii rapide prin testarea ipotezelor este aratat in figura 5, care prezinta rezultatul potrivirii rapide prin testare determinista la diferite marime ale setului de vectori de cod ca si graficele corespunzatoare potrivirii rapide prin testarea ipotezelor pentru o dimensiune a dictionarului (setului de vectori) cu variind in domeniu 0.05-0.055. In figura 5 sursa este gaussiana cu vectorii generati independenti si identic distribuiti (i.i.d.), de dispersie unitara.

Fig. 5. Reprezentarea complexitate-distorsiune a cuantizarii vectoriale cu potrivirea rapida prin testarea ipotezelor pentru marimea vectorului egala cu 8 pentru o sursa i.i.d.

Se observa ca, spre deosebire de cazul estimarii miscarii in care marimea echivalenta a dictionarului este fixata prin regiunea de cautare, in cazul cautarii vectoriale, marimea dictionarului poate fi aleasa sa respecte cerintele complexitate-distorsiune. Se observa ca pentru a opera in modul computational accesibil, in cazul potrivirii rapide cu testare determinista marimea dictionarului trebuie sa fie modificata in timp ce accesibilitatea se obtine cu o marime constanta a dictionarului pentru cazul potrivirii rapide cu testarea ipotezelor. In figura 5 performantele complexitate-distorsiune obtinute cu potrivirea rapida prin testarea ipotezelor este aproximativ aceeasi cu cea obtinuta cu potrivirea rapida prin testare determinista, folosind marimi diferite ale dictionarului in cadrul unei anumite iteratii. Aceasta se datoreaza urmatorilor factori:

i)            viteza obtinuta cu metoda potrivirii rapide cu testare determinista este deja mare, adica metoda este de trei patru ori mai rapida decat metoda traditionala MSE. Mai mult de 90% din calculele distantei sunt finalizate mai repede de algoritmul potrivirii rapide prin testare determinista si cele mai multe finalizari se produc in primele iteratii.

ii)           metoda potrivirii rapide prin testarea ipotezelor introduce un cost suplimentar pentru testarea ipotezelor in timpul primelor iteratii. Oricum, numarul de terminari la primele iteratii este relativ mic in comparatie cu castigul general atins prin metoda testarii deterministe.

iii)         dimensiunea vectorului in cazul estimarii vectoriale este de departe mai mica decat in cazul estimarii miscarii (1616).



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1143
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved