MJPEG

Allikas: Vikipeedia

MJPEG (ka M-JPEG, Motion JPEG või Liikuv JPEG) on multimeedia vormingute alamhulk, mille puhul iga videokaader on pakitud eraldi JPEG-pildina (mitte aga eraldi failina). Seetõttu on neil kõigil garanteeritud sama kvaliteet, mis omakorda sõltub tihenduse tasemest. Neid formaate kasutatakse sageli mobiilsetes seadmetes, näiteks digitaalfotoaparaatides.[1] Võrgukaamera suudab jäädvustada ja tihendada näiteks 30 sellist pilti sekundis ja teha neist katkematu piltide jada. Kui kaadrid vahetuvad kiirusel 16 fps (Frames per Second) või rohkem, siis näeb vaatleja digitaalvideot [2]

Kodeerimine[muuda | redigeeri lähteteksti]

Motion JPEG kasutab kadudega kaadrisisest tihendust (Intra-Frame Compression), mis põhineb diskreetsel koosinusteisendusel (Discrete Cosine Transform). See matemaatiline operatsioon muudab iga videoallika kaadri/välja ruumivallast (spatial domain) sagedusvalda (frequency domain ehk transform domain). See on pidev mudel, mis põhineb psühhovisuaalsel süsteemil ja jätab välja kõrgsagedusliku informatsiooni ehk teravad üleminekud erksuses ning värvitoonis. Sagedusvallas informatsiooni vähendamise protsessi nimetatakse kvantimiseks. Kvantimine on meetod, mis optimaalselt vähendab suure ulatusega numbrite skaalat (kus iga number esineb vaid ühe korra). Sagedusvalda kasutatakse, sest see sisaldab kõrgesageduslikke koefitsente, mis panustavad vähem pildile üldiselt kui teised koefitsendid, kuid sellised väiksed väärtused on hea pakkimisvõimalusega. Kvanditud koefitsendid on siis järjestatud ja kadudeta pakitud väljundi bitivoogu. Peaaegu kõik MJPEG realisatsioonid lubavad kasutaja kontrolli kompressiooni suhte üle (samuti ka muud valitavad parameetrid), lubades kasutajal vahetada pildi kvaliteet väiksema failisuuruse vastu. Manusrakendustes (nagu näiteks MiniDV, mis kasutab sarnast DCT kompressiooni skeemi) on parameetrid eelnevalt valitud ja kinnistatud.

MJPEG on vaid kaadrisisese tihendusega skeem (võrreldes arvutuslikult intensiivsema kaadritevahelise prognoosi tehnikaga). Kaasaegsed kaadritevahelised videoformaadid, nagu näiteks MPEG-1, MPEG-2 ja H.264/MPEG-4 AVC, saavutavad tihendusteguri 1:50 (faili suurust vähendatakse 50 korda) või rohkem. M-JPEGs videokaadrid ei mõjuta üksteist ja see piirab tema efektiivsust ja tekkinud failid on suuremad. Kuna kaadrid on pakitud üksteisest eraldi, siis pakkimine ja lahtipakkimine nõuab vähem protsessori tööaega. [3]

Kaadreid, mis on suurte sujuvate üleminekutega või monotoonse pinnaga, on lihtne tihendada ning on suurem tõenäosus, et nende algsed detailid jäävad väiksemate nähtavate pakkimisjälgedega. Kaadrites, millel on kujutatud keerulisi struktuure, peeneid kurve ja jooni (nagu näiteks kiri ajalehel) kipuvad tekkima makroblokid ja ähmastumised. Samuti ei riku M-JPEG pakitud video kvaliteeti erinevad liikumiskeerukused ehk muutused, mis toimuvad aja jooksul. Pilti ei tee halvemaks kiired liikumised (näiteks suure kose pindmise vee tormilisus) ning teda ei paranda ka muutuste puudumine (muutumatu maastik, mida on pildistatud statiivilt).

QuickTime formaatidele on Apple defineerinud kahte tüüpi kodeeringud: MJPEG-A ja MJPEG-B. MJPEG-B ei sisalda enam kehtivaid JPEG vahetusfaile (Interchange Files) ja seega ei ole võimalik panna kaadrit JPEG failiformaati muutmata päist (Header) ehk täiendavat infot iga andmebloki alguses.

Rakendused[muuda | redigeeri lähteteksti]

Tarkvara ja seadmed, mis kasutavad M-JPEG standardit:

Videohõive ja toimetamine[muuda | redigeeri lähteteksti]

MJPEG-d kasutatakse tihti mittelineaarses monteerimises. Tänapäeva arvutid suudavad töödelda kõrglahutusega (High Definition) videosid ja arvutid ei vaja selle formaadi jaoks eraldi riistvara. See vorming lubab ka suvapöördust ükskõik millisele kaadrile. MJPEG-d toetatakse väga laialdaselt videohõive ja toimetamise seadmetes.

Digitaalsed kaamerad[muuda | redigeeri lähteteksti]

Enne MPEG-4 kodeeringu esiletõusu tarbekaupade seas leidis MJPEG laialdast kasutust digitaalsete kaamerate "video" režiimis. See võimaldas pärast muudatuse tegemist tarkvaras videote kodeerimise ja taasesitamise. Tulemusena saadud kvaliteet on sarnase suurusega MPEG-ga võrreldes madalam, eriti kuna heliks (kui lisada) oli tihti tihendamata, madala diskreetimissagedusega impulss-koodmodulatsioon (Pulse Code Modulation) või madala tihenduse ja protsessori kasutusega adaptiiv-diferentsiaalne impulss-koodmodulatsioon (Adaptive Differential Pulse Code Modulation).

Failisuuruse ning edastuskiiruse kontrollimiseks hoiti kaadrite suurused ja sagedused koos heli diskreetimissagedustega küllaltki väikestena ja iga kaadrit tihendati võimalikult palju. Resolutsioonid 160x120 või 320x240 on levinud suurused – tüüpiliselt 10, 12, või 15 kaadrit sekundis, kus pildikvaliteet on võrdväärne JPEG-ga, mille seadistus "50" ja mono adaptiiv-diferentsiaalne impulss-koodmodulatsiooniga heli diskreeditud ~8 kHz juures.

Selle tulemuseks on väga elementaarne, kuid siiski kasutamiskõlblik videoväljund, mille salvestushind on lähedane MPEG-le (video ~120 kB/s , audio ~8 kB/s – või ~1 Mbit/s 320×240 resolutsiooniga), kuid üldkulud (operatsioonisüsteemi ja rakendusprogramme toetavate utiliitide tööks kuluv aeg) minimaalsed. Seda videot hoitakse tüüpiliselt populaarses Windows AVI või Apple QuickTime MOV konteinerfailides, mida saab kohe (või peale kodekite allalaadimist) vaadata enamikus operatsioonisüsteemide versioonides.

AMV (Anime Music Video) videoformaat, mis on levinud odavate MP4 pleierite puhul, on kohandatud versioon MJPEG-st.

Paljud video salvestamise võimalusega kaamerad kasutavad MJPEG vormingut. 2008. aasta augustis avalikustas Nikon mudeli D90. See oli esimene DSLR (Digital Single Lense Reflex) kaamera, mis salvestas videot. D90 kasutab kolme erinevat MJPEG formaati: 320×216, 640×424 ja 1280×720 pikslit. [4] 2009. aasta juunis Pentax teatas, et varsti ilmuv K-7 kaamera kasutab MJPEG-i resolutsioonidega 640×416, 1280×720, ja 1536×1024. Tekkinud MJPEG failide andmekiirus võib olla kuni 74 Mbit/s.[5]

HDTV meediapleierid[muuda | redigeeri lähteteksti]

Apple teatas 1. septembril 2010, et nende kõige uuem versioon Apple TV-st toetab MJPEG-d kuni 35 Mbit/s, 1280x720 pikslit, 30 fps, audio on salvestatud .ulav laiendiga ja PMC stereo audio .avi failiformaadis.

Teatud meediapleierid, nagu näiteks Netgear NeroTV 550 ei toeta MJPEG taasesitust.

IP kaamerad[muuda | redigeeri lähteteksti]

Paljud võrguvõimelised kaamerad võimaldavad MJPEG voogusid, millega võrgu kliendid saavad ennast ühendada. Mozillal ja Webkitil põhinevad veebilehitsejad toetavad nende MJPEG voogude vaatamist.

Mõned kaamerad on varustatud oma MJPEG liidestega. Kui aga see puudub, siis on võimalik kasutada serverit, mis koodimuunduriga teeb kaamera pildid MJPEG vooks ja saadab seda edasi teistele võrgu klientidele.[6]

Digitaalne video[muuda | redigeeri lähteteksti]

Kuna digitaalne video (Digital Video) on uuem standard, siis kasutab ta MJPEG-st erinevat lähenemist diskreetsele koosinusteisenduse algoritmile. Seetõttu on ka kvaliteet märgatavalt parem. Sarnaselt MJPEG-ga kasutab ka DV kaadritevahelist tihendust. [7]

Tarkvara[muuda | redigeeri lähteteksti]

MJPEG-d toetavad veebilehed on Safari, Google Chrome ja Firefox. Teised brauserid, nagu näiteks Internet Explorer, saavad MJPEG voogusid edastada väliste pluginate abil. Cambozola on aplett, mis suudab näidata MJPEG striime Java-põhistes veebilehitsejates. MJPEG-d kasutavad ka Sony PlayStation ja QuickTime.

Eelised[muuda | redigeeri lähteteksti]

  • Lihtne teostada, sest kasutab pakkimiseks JPG-d, millel on hästi arendatud teegid ja meetodina kasutab kaadrisisest tihendust.
  • MJPEG talub kiiret liikumist videovoogudes, kuid skeemidel, mis kasutavad kaadritevahelist tihendust, võib tihti kvaliteet halveneda, kui kaadrite sisu palju muutub.
  • MJPEG vajab lihtsamat riistvara ja andmete töötlemisskeeme ja seetõttu on ka kulud väiksemad.
  • Juurdepääsu võimalus igale kaadrile tagab video kõrgkvaliteetse ja erinevate kiirustega taasesituse. Samuti tähendab see, et graafika töötlemine on lihtsustatud.[8]

Puudused[muuda | redigeeri lähteteksti]

  • MJPEG ei ole suuteline tootma kõrgkvaliteetset pilti.
  • Ei ole ühte kindlat formaati. Näiteks Microsoft salvestab MJPEG-d AVI failides ja Apple kasutab selleks QuickTime'i.
  • Vajab suuremat ribalaiust kui uuemad versioonid, kuna voogedastus toimub interneti teel konstantse kaadrisagedusega.
  • MJPEG ei tihenda animet hästi. See tuleneb asjaolust, et ta ei talu järske värvi- ja heledusmuutuseid.

Viited[muuda | redigeeri lähteteksti]

  1. "Compression formats". Axis Communications. Vaadatud 09.11.2012.
  2. "Compression standards". Integrated Intelligence Inc. Vaadatud 09.11.2012.
  3. "M-JPEG Compression Technology". MediaLooks. Vaadatud 09.11.2012.
  4. "Nikon D90 plus hands-on preview". Digital Photography Review (27.08.2008). Vaadatud 09.11.2012.
  5. Dave Etchells, Mike Tomkins, Shawn Barnett, Zig Weidelich (20.08.2009). "Pentax K-7". Imaging Resource. Vaadatud 09.1.2012.
  6. "Video Converter for Public Networks". Pelco by Schneider Electric. Vaadatud 09.11.2011.
  7. ErMaC and AbsoluteDestiny (mai 2004). "Advanced Video Compression". Vaadatud 09.11.2012.
  8. Tom Sahara ja Wes Morgan (01.04.2004). "The advantage of Motion JPEG". Broadcast Engineering. Vaadatud 09.11.2012.