MJPEG (Motion JPEG) er en billed-for-frame -videokomprimeringsmetode , hvis hovedfunktion er komprimeringen af hvert enkelt billede af videostrømmen ved hjælp af JPEG -billedkomprimeringsalgoritmen .
Ved komprimering ved hjælp af MJPG-metoden tages der ikke højde for forskellen mellem billederne.
MJPEG anvendes i vid udstrækning inden for følgende områder:
Motion JPEG bruger tabsgivende intra-frame-komprimering baseret på den diskrete cosinustransformation (DCT). Denne matematiske operation transformerer hvert billede/felt af billedet fra det rumlige domæne til frekvensdomænet. Den psyko-visuelle model, baseret på karakteristika ved menneskelig perception af billeder, anvender normalt en grov kvantisering af billedets højfrekvente komponent og en mere nøjagtig kvantisering af lavfrekvente komponent, hvorved nøjagtigheden af transmissionen af billeder reduceres. skarpe overgange i lysstyrke og farvenuancer. De kvantiserede tabsfri DCT-koefficienter pakkes ind i output-bitstrømmen ved hjælp af enten Huffman-koder eller aritmetisk kodning . Næsten alle MJPEG-softwareimplementeringer giver brugerne mulighed for at kontrollere mængden af komprimering (såvel som andre parametre) og at afveje billedkvalitet og filstørrelse. Med hardwareløsninger er kodningsparametre normalt forudvalgte og faste.
Headeren på hver kodet MJPEG er normalt i overensstemmelse med JPEG-standarden, men nogle uoverensstemmelser med standarden er acceptable. Så det kan for eksempel ikke have en DHT-markør, der definerer tabeller til Huffman-afkodning. I dette tilfælde skal tabellerne i afsnit K.3 i JPEG-standarden (CCITT Rec. T.81) bruges i afkodningsprocessen.
MJPEG bruger kun intra-frame-komprimering (sammenlignet med mere komplekse beregningsskemaer med inter-frame-komprimering). Mens moderne videoformater med interframe-komprimering såsom MPEG1, MPEG2, H.264/MPEG-4 AVC og lignende opnår et gennemsnitligt komprimeringsforhold på 1:50 eller mere, giver MJPEG's manglende interframe-komprimering generelt ikke mulighed for at opnå komprimeringsforhold større end 1:20, afhængigt af tilladeligheden af rumlig forvrængning i videosekvensens dekodede frames. Da frames komprimeres uafhængigt af hinanden, kræver MJPEG færre computerressourcer og RAM på kodningsstadiet. MJPEG-afkodning kan dog være dyrere end at bruge interframe-komprimering, fordi det for det første involverer fuldstændig afkodning af hver billedmakroblok til MJPEG, mens når man bruger interframe-komprimeringsskemaer, bliver nogle af makroblokkene markeret som "spring" ikke afkodet, men er taget fra tidligere billeder. For det andet afhænger udførelsestiden for Huffman-dekodnings- og inverse DCT-procedurerne af informationsmætningen af den afkodede billedmakroblok, som i fravær af interframe-komprimering viser sig at være meget større end i nærvær af den (i det første tilfælde , afkodes det fulde billede, i det andet forskelsbilledet, det vil sige ikke billedet, men kun dets forskel fra det, der er forudsagt af tidligere billeder).
Med intra-frame-komprimeringsskemaet i MJPEG afhænger billedkvaliteten direkte af den statiske (rumlige) kompleksitet af hver videoramme. Rammer med store glatte overgange eller monotone områder er godt komprimerede, men ved for høje kompressionshastigheder indeholder de, ud over de originale detaljer, synlige kompressionsartefakter i form af blokke på 8x8 pixels, lidt forskellige i lysstyrke og farvetone. Deres udseende er forbundet med grov kvantisering af lavfrekvente DCT-koefficienter. Rammer med komplekse teksturer, tynde buede linjer, udover blokerende artefakter, indeholder også artefakter, der optræder som støj omkring tynde linjer og skarpe grænser (den såkaldte Gibbs-effekt), der er forbundet med grov kvantisering af højfrekvente DCT-koefficienter.
For QuickTime-formater har Apple defineret to typer kodning: MJPEG-A og MJPEG-B. MJPEG-B bevarer ikke strukturen af JPEG-filer i en videofil, og det er derfor ikke muligt at udtrække en ramme til en JPEG-fil uden at rekonstruere JPEG-headeren.
Den største fordel ved Motion JPEG-videokomprimering er dens lette implementering, hvilket gør MJPEG velegnet til implementering i enheder med begrænsede computerressourcer.
Ekstremt hurtig ikke-lineær videoredigering - hvis et billede er taget helt (uden ændringer) fra én MJPEG-kilde, kan det skrives til MJPEG-outputstrømmen, som den er, uden dekodning-komprimering.
Ved en høj bitrate producerer MJPEG stillbilleder af høj kvalitet, som gør det muligt at bruge det for eksempel i videoovervågningssystemer (der er det for eksempel nødvendigt at finde ud af nummeret på en forbipasserende bil eller undersøge i detaljer en kriminel ansigt). Men i mangel af interframe-komprimering kræver opnåelse af en given bitrate brug af mere frame-by-frame-komprimering end i tilfældet med MPEG , hvilket fører til mærkbare komprimeringsartefakter .
Ulemperne ved MJPEG er et lavere kompressionsforhold sammenlignet med streaming-komprimeringsmetoder (for eksempel MPEG-4 ) og artefakter, der vises ved høje kompressionsforhold.
Videokomprimering | |
---|---|
ITU-T anbefalinger | |
ISO / IEC standarder |
|
SMPTE standarder | |
MPEG-4 codecs |
|
Tabsfri |
|
Digital biograf | |
Andre codecs | |
se også |