Tipuri de cadre

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 19 august 2018; verificările necesită 6 modificări .

Tipurile de cadre dintr-un flux video comprimat sunt metode de codificare și stocare a informațiilor despre următorul cadru , care diferă unele de altele prin prezența sau absența dependențelor acestui cadru față de cele anterioare și ulterioare.

Un cadru este structura de codare de bază. Următorii parametri sunt asociați unui cadru: timp, tipul de cadru, steag de inițializare a tamponului, rezoluția vectorilor de mișcare și ordinea acestora și datele utilizatorului

De obicei, un cadru este împărțit în macroblocuri pătrate , iar tipul de legătură pentru fiecare dintre macroblocuri este determinat individual, dar cu o restricție dată de tipul întregului cadru:

Noul standard MPEG-4 AVC/H.264 introduce, de asemenea, conceptul de cadre SI și SP .

Descrierea tipurilor de cadre

I-frames

Cadrele I sunt codificate în mod similar cu cadrele JPEG . În varianta algoritmului în care există doar cadre I, secvența video este convertită în M-JPEG . Cadre-I pot fi folosite pentru acces aleatoriu deoarece nu necesită informații suplimentare. Cadrele I au cel mai mic raport de compresie.

P-cadre

Cadrele P sunt codificate folosind cadrele I și P trecute. De exemplu, un cadru care urmează imediat un cadru I folosește informațiile neschimbate din acel cadru I și o completează cu diferența dintre cadru. Dacă acest cadru P este urmat de un alt cadru P, atunci el, la rândul său, preia informațiile neschimbate din cadrul P anterior (care, la rândul său, a folosit informațiile neschimbate ale cadrului I) și o completează cu diferența dintre cadru.

B-cadre

Cadrele B sunt folosite ca o interpolare între cadrele anterioare și cele următoare de tip I și P.

D-cadre

MPEG-1 are un tip de cadru unic care nu se găsește în standardele video ulterioare. Cadrele D nu sunt niciodată referite de cadrele I, P sau B. Cadrele D sunt folosite numai pentru previzualizările video rapide, cum ar fi atunci când căutați rapid un segment video dorit.

Cu un hardware de decodare puțin mai bun, previzualizarea se poate face prin decodarea cadrelor I în loc de cadrelor D. Acest lucru oferă o previzualizare mai bună, deoarece cadrele I sunt comprimate cu mai puține pierderi. Dacă codificatorul poate presupune că decodarea rapidă a cadrelor I este disponibilă în decodor, poate economisi biți prin netrimiterea cadrelor D (îmbunătățind astfel compresia conținutului video). Din acest motiv, cadrele D sunt rareori utilizate în codarea video MPEG-1, iar caracteristica cadrelor D nu a fost inclusă în niciun standard de codare video ulterioară.

Grup de cadre

Un grup de imagini (GOP) este cea mai mică structură de codare independentă dintr-o secvență video. Accesul aleatoriu la secvența video este posibil până la un grup de cadre. Informațiile legate de grupul de cadre includ codul de timp, steag închis și informații despre utilizator.

Structura GOP este adesea indicată cu două numere, cum ar fi M = 3, N = 12. Primul număr indică distanța dintre două cadre de ancorare (I sau P). Al doilea indică distanța dintre două imagini complete (I-frames): aceasta este dimensiunea GOP. De exemplu M = 3, N = 12, structura GOP este IBBBPBBPBBPBBI. În loc de parametrul M, puteți utiliza numărul maxim de cadre B între două cadre de ancorare consecutive.

De exemplu, într-o secvență cu modelul IBBBPBBBBPBBBBBI, dimensiunea GOP ( valoarea N ) este 15 (lungimea dintre două cadre I) și distanța dintre două cadre ancora ( valoarea M ) este 5 (lungimea dintre cadrele I și P, sau lungimea dintre două cadre P consecutive).

Tipuri de grupuri de cadre

Eu

În codecurile MJPEG și DV ale fluxului video, toate cadrele sunt de tip I.

IP

Familia de codecuri MPEG4 din „a treia versiune” (cea mai populară a fost DivX 3.11, sunt cunoscute și DivX 4.12 și OpenDivX) are două tipuri de cadre - I și P. Nu sunt furnizate cadre B. Situația este aceeași în familia de codecuri de la On2 : VP3 , VP6 , VP8 .

În plus, multe codecuri moderne au posibile setări care dezactivează crearea cadrelor B pentru a reduce costul puterii procesorului pentru procesarea în timp real.

Standardele de compresie video adoptate de ITU-T VCEG și ISO / IEC MPEG comprimă de obicei doar diferența dintre cadre. De exemplu, într-o scenă în care o persoană merge pe un fundal de obiecte staționare, este necesar să se salveze numai informații despre zonele în schimbare (de exemplu, folosind compensarea mișcării , care salvează vectorul de schimbare a poziției blocului sau, dacă o zonă similară nu este găsită în cadrul precedent, această zonă este comprimată ca imagine independentă). Părțile scenei care nu se modifică nu sunt salvate în flux, ceea ce crește foarte mult raportul de compresie în comparație cu formatele care utilizează compresia independentă a fiecărui cadru.

De exemplu, pentru cadrele I și P din flux, lanțurile IPPPPPPPPPPPP… sunt formate atunci când primul cadru este comprimat independent, iar cele ulterioare sunt comprimate cu referire la primul cadru. Acesta este cel mai simplu exemplu de utilizare a diferitelor tipuri de cadre într-un flux.

În timp ce principalul avantaj al utilizării cadrelor P este creșterea raportului de compresie, principalul lor dezavantaj este creșterea dramatică a timpului de acces la cadre, deoarece întregul lanț de cadre de la cel mai apropiat cadru I trebuie să fie complet decomprimat pentru a obține cadrul dorit. În special, dacă compresia a fost setată la parametri care maximizează raportul de compresie, astfel încât cadrele I sunt rare, timpul de întârziere de afișare a unui cadru arbitrar în flux poate fi foarte vizibil.

IPB

Într -un flux comprimat de un codec video conform standardelor MPEG-2 , MPEG-4 , H.261 , H.263 și H.264 , sunt utilizate trei tipuri principale de cadre : I-frames (din engleză  Intra pictures ), P -cadre (din imaginile prezise ) și cadrele B (din imaginile bi-predictive sau imaginile bidirecționale ).

Utilizarea cadrelor B înseamnă că un cadru dat se referă la două cadre I sau P adiacente din flux, caz în care lanțul de cadre ar putea arăta astfel: IBPBPBPBPBPBPBPBP . Lanțurile mai frecvent utilizate sunt IBBBPBBPBBPBBPBBPBBPBBPBBP, în care cadrele B se referă încă la cele două cadre I sau P învecinate cele mai apropiate și sunt independente unul de celălalt.

Această structură face posibilă accelerarea timpului de obținere a unui cadru arbitrar în flux de 2-3 ori, deoarece pentru a-l obține este necesar să despachetați numai fiecare secundă (al treilea) cadru (care este un cadru P ), începând din cadrul I. De asemenea, viteza „înainte rapid cu spectacolul” crește de câteva ori.

Caracteristicile implementărilor

Codecul Xvid , cu setări adecvate, vă permite să obțineți 4 sau mai multe cadre B la rând. Și un astfel de flux va fi reprodus corect de la sine, precum și de decodorul ffdshow . Unele decodoare nu sunt capabile să reproducă corect mai mult de un cadru B la rând.[ semnificația faptului? ]

Link -uri