MJPEG

MJPEG (Motion JPEG) este o  metodă de compresie video cadru cu cadru , a cărei caracteristică principală este comprimarea fiecărui cadru individual al fluxului video folosind algoritmul de compresie a imaginii JPEG .

Când comprimați folosind metoda MJPG, diferența dintre cadre nu este luată în considerare.

Aplicații

MJPEG este aplicat pe scară largă în următoarele domenii:

Codificare

Motion JPEG folosește compresia intra-cadru cu pierderi bazată pe transformarea cosinus discret (DCT). Această operație matematică transformă fiecare cadru/câmp al imaginii din domeniul spațial în domeniul frecvenței. Modelul psiho-vizual, bazat pe caracteristicile percepției umane a imaginilor, utilizează de obicei o cuantificare grosieră a componentei de înaltă frecvență a imaginii și o cuantificare mai precisă a componentei de joasă frecvență, reducând astfel acuratețea transmisiei de tranziții ascuțite în luminozitate și nuanțe de culoare. Coeficienții DCT cuantificați fără pierderi sunt împachetati în fluxul de biți de ieșire folosind fie coduri Huffman, fie codare aritmetică . Aproape toate implementările software MJPEG permit utilizatorilor să controleze cantitatea de compresie (precum și alți parametri) și să schimbe calitatea imaginii și dimensiunea fișierului. Cu soluțiile hardware, parametrii de codare sunt de obicei preselectați și fixați.

Antetul fiecărui MJPEG codificat este de obicei conform standardului JPEG, cu toate acestea, sunt acceptabile unele inconsecvențe cu standardul. Deci, de exemplu, este posibil să nu aibă un marker DHT care definește tabele pentru decodarea Huffman. În acest caz, tabelele date în secțiunea K.3 din standardul JPEG (CCITT Rec. T.81) ar trebui utilizate în procesul de decodare.

MJPEG utilizează numai schema de compresie intra-cadru (comparativ cu schemele de calcul mai complexe cu compresie inter-cadre). În timp ce formatele video moderne cu compresie intercadre, cum ar fi MPEG1, MPEG2, H.264/MPEG-4 AVC și altele asemenea, ating un raport mediu de compresie de 1:50 sau mai mult, lipsa compresiei intercadre a MJPEG nu vă permite, în general, să obțineți rapoarte de compresie. mai mare de 1:20, în funcție de admisibilitatea distorsiunii spațiale în cadrele decodate ale secvenței video. Deoarece cadrele sunt comprimate independent unul de celălalt, MJPEG necesită mai puține resurse de calcul și RAM în etapa de codificare. Cu toate acestea, decodarea MJPEG poate fi mai costisitoare decât utilizarea compresiei intercadre, deoarece, în primul rând, implică decodarea completă a fiecărui macrobloc de imagine în MJPEG, în timp ce atunci când se utilizează scheme de compresie intercadre, unele dintre macroblocuri marcate ca „săriți” nu sunt decodificate, dar este preluat din cadrele anterioare. În al doilea rând, timpul de execuție al procedurilor de decodificare Huffman și DCT inversă depinde de saturația informațională a macroblocului de imagine decodificată, care, în absența compresiei intercadre, se dovedește a fi mult mai mare decât în ​​prezența acestuia (în primul caz , se decodifică imaginea completă, în al doilea, imaginea diferență, adică nu imaginea, ci doar diferența acesteia față de cea prezisă de cadrele anterioare).

Cu schema de compresie intra-cadru în MJPEG, calitatea imaginii depinde direct de complexitatea statică (spațială) a fiecărui cadru video. Cadrele cu tranziții mari netede sau zone monotone sunt bine comprimate, dar la rate de compresie prea mari, ele conțin, pe lângă detaliile originale, artefacte de compresie vizibile sub formă de blocuri de 8x8 pixeli, ușor diferite ca luminozitate și ton de culoare. Aspectul lor este legat de cuantificarea brută a coeficienților DCT de joasă frecvență. Cadrele cu texturi complexe, linii curbate subțiri, pe lângă artefactele care blochează, conțin și artefacte care apar ca zgomot în jurul liniilor subțiri și granițe ascuțite (așa-numitul efect Gibbs) asociat cu cuantizarea brută a coeficienților DCT de înaltă frecvență.

Pentru formatele QuickTime, Apple a definit două tipuri de codare: MJPEG-A și MJPEG-B. MJPEG-B nu păstrează structura fișierelor JPEG dintr-un fișier video, prin urmare nu este posibil să extrageți un cadru într-un fișier JPEG fără a reconstrui antetul JPEG.

Avantaje și dezavantaje

Principalul avantaj al compresiei video Motion JPEG este ușurința sa de implementare, ceea ce face ca MJPEG să fie adecvat pentru implementarea în dispozitive cu resurse de calcul limitate.

Editare video neliniară extrem de rapidă  - dacă orice cadru este luat în întregime (fără modificări) dintr-o sursă MJPEG, acesta poate fi scris în fluxul MJPEG de ieșire așa cum este, fără decodare-comprimare.

La o rată de biți mare, MJPEG produce imagini statice de înaltă calitate, ceea ce îi permite să fie utilizat, de exemplu, în sistemele de supraveghere video (acolo este necesar, de exemplu, să aflați numărul unei mașini care trece sau să examinați în detaliu chipul unui criminal). Cu toate acestea, în absența compresiei inter-cadre, obținerea unui anumit bitrate necesită utilizarea unei compresii mai mari cadru cu cadru decât în ​​cazul MPEG , ceea ce duce la artefacte de compresie vizibile .

Dezavantajele MJPEG sunt un raport de compresie mai mic în comparație cu metodele de compresie în flux (de exemplu, MPEG-4 ) și artefacte care apar la rate de compresie ridicate.

Vezi și

Link -uri