Extras din curs
1. Aspecte generale ale compresiei semnalelor video
Compresia video poate fi vazuta ca o compresie de imagini, specifica fiecarui cadru, cu o componenta temporala, specifica succesiunii de cadre, deoarece semnalul video este format dintr-o secventa de imagini. Din acest punct de vedere, pe lânga tehnicile de compresie a imaginilor, se vor exploata si avantajele corelatiei temporale existente între cadre. Dintre toate sursele de date, secventa video este caracterizata prin cel mai mare volum de date. Cadrul unei astfel de secvente generate cu formatul CCIR 601 are mai mult de 250.000 pixeli. La o rata de 30 cadre/sec si 16 biti/pixel, rezulta 168 Mbiti/sec.
În tratarea compresiei video ca o compresie de imagini cu o componenta temporala, desi frecvent folosita, exista limitari determinate de modul de percepere a miscarii video, fata de perceperea imaginilor. Pe de o parte, miscarea poate masca artefacte de codare, ce ar putea fi vazute la imagini, iar, pe de alta parte, artefactele care nu ar trebui sa fie vizibile în reconstructia imaginilor pot fi deranjante în reconstructia secventelor video.
Cei mai multi algoritmi de compresie video folosesc corelatia temporala pentru a înlatura redundanta. O metoda larg folosita este codarea diferentiala, în care cadrul curent este reconstruit pe baza celui precedent si a erorii reziduale. În general, algoritmii de codare a semnalelor video tin cont de tipul de imagine din cadre, miscarea obiectelor din cadre, domeniul de aplicatie etc., motiv pentru care nu se poate da o descriere generala a acestora. Cu toate ca s-au facut eforturi de a gasi standarde “generice“ algoritmii de codare, cerintele aplicatiei joaca un rol esential în determinarea caracteristicilor ce urmeaza a fi folosite.
Deoarece, în general, algoritmii de compresie sunt proiectati pentru comunicarea bidirectionala, este necesar ca întârzierea introdusa la codare sa fie minima, iar procedurile de compresie si decompresie sa fie de complexitati comparabile. Sistemele asimetrice sunt agreate, de obicei, în aplicatiile de redare de pe medii de stocare sau difuziune, în care exista un singur emitator si mai multi receptori, caz în care codorul poate fi mult mai complicat decât receptorul. În mod analog, în aplicatiile în care secventele video urmeaza a fi decodate pe o statie de lucru, complexitatea decodarii trebuie sa fie scazuta, pentru ca decodorul sa poata decoda un numar suficient de imagini, astfel încât sa existe senzatia de miscare.
Daca semnalul video urmeaza a fi transmis printr-o retea, sub forma de pachete, la proiectarea algoritmilor de compresie trebuie avut în vedere efectul pierderii acestora. Din cele expuse pâna acum se desprinde ideea ca fiecare aplicatie prezinta propiile cerinte particulare si necesita o solutie dedicata care sa le rezolve.
În general, compresia video se bazeaza pe doua principii. Primul este redundanta spatiala care exista în fiecare cadru. Cel de-al doilea este acela ca în cea mai mare parte, cadrul video curent difera putin de vecinii lui. Aceasta este numita redundanta temporala. Tehnica tipica pentru compresia video ar putea fi codarea primului cadru utilizând metode de compresie a imaginii nemiscate. Pe baza acesteia s-ar putea apoi coda fiecare cadru succesiv pentru identificarea diferentelor între un cadru si predecesorul sau si coda apoi aceste diferente. Daca cadrul este foarte diferit de predecesorul sau, acesta ar putea fi codat independent de orice alt cadru. În literatura compresiei video, cadrul care este codat folosind predecesorul sau este numit cadru inter (sau doar inter), în timp ce cadrul care este codat independent este numit cadru intra (sau doar intra).
Compresia video este, de obicei, cu pierderi. Codarea cadrului cu ajutorul predecesorului sau introduce unele distorsiuni. Ca rezultat, codarea cadrului cu ajutorul lui creste distorsiunea. Daca cadrul a pierdut un numar de biti, atunci toate cadrele urmatoare acestuia, pâna la urmatorul cadru intra, sunt decodate necorespunzator. Din acest motiv cadrele intra ar putea fi folosite din când în când în interiorul unei secvente, nu numai la începutul sau. Un cadru intra are eticheta I, si un cadru inter are eticheta P.
Un cadru inter poate fi codat pe baza unuia din predecesorii sai si pe unul din succesorii sai. Se stie ca un codor nu ar trebui sa utilizeze nici o informatie care nu este disponibila pentru decodor, dar compresia video manipuleaza cantitati mari de date. În mod normal, trebuie avut în vedere ca la emisie codorul poate sa fie lent, în timp ce, la receptie decodorul trebuie sa fie rapid. Un exemplu tipic este înregistrarea pe banda video pe un hard disk sau DVD, atunci când se da banda înapoi. Codorului îi poate lua minute sau ore pentru codarea datelor. Decodorul, însa, trebuie sa dea banda înapoi la corectarea ratei de cadru (deci multe cadre pe secunda), asa ca acesta trebuie sa fie foarte rapid. Acesta este motivul pentru care un decodor tipic video lucreaza în paralel. Decodorul are câteva circuite de decodificare ce lucreaza simultan pe câteva cadre.
Se poate imagina situatia în care codorul codeaza cadrul 2 bazându-se pe cadrele 1 si 3. În acest caz codarea cadrelor în decursul compresiei se efectueaza în ordinea 1,3,2. Decodorul le citeste în aceasta ordine, decodând cadrele 1 si 3 în paralel, furnizeaza la iesire cadrul 1, apoi decodeaza cadrul 2 bazându-se pe cadrele 1 si 3. Cadrele ar trebui, desigur, sa fie în mod clar etichetate. Un cadru care este codat pe baza cadrului anterior si urmator are eticheta B (bidirectional).
Predictia unui cadru pe baza succesorului sau are sens în cazurile când miscarea unui obiect în imagine nu acopera treptat o suprafata din fundal. O astfel de suprafata poate fi partial cunoscuta în cadrul curent, dar poate fi cunoscuta mai bine în urmatorul cadru. Astfel, urmatorul cadru este un candidat potrivit pentru predictia acestei suprafete în cadrul curent.
Preview document
Conținut arhivă zip
- Metode Reprezentare a Miscarii.doc