Кіріспе

Motion JPEG (M JPEG немесе MJPEG) – цифрлық бейне тізбегінің әрбір бейне кадры немесе аралас өрісі JPEG суреті ретінде жеке-жеке қысылатын видеоны қысу форматы. Бастапқыда мультимедиалық дербес компьютерлік қолданбалар үшін жасалған Motion JPEG кең клиенттік қолдауға ие: көптеген ірі веб-браузерлер мен ойнатқыштар оны түпкілікті түрде қолдайды, ал қалғандары үшін плагиндер бар. M JPEG стандартын қолданатын бағдарламалық құралдар мен құрылғыларға веб-браузерлер, медиа-ойнатқыштар, ойын консольдары, цифрлық камералар, IP-камералар, веб-камералар, ағын серверлері, бейнекамералар және сызықты емес бейне редакторлары жатады.

Тарих

Motion JPEG бастапқыда мультимедиалық дербес компьютерлік қолданбалар үшін әзірленген. MJPEG-тің алғашқы нұсқалары көбінесе аппараттық құралдарда іске асырылды. C Cube компаниясы өздерінің CL550 JPEG кодегін бірнеше аппараттық іске асыруларда қолданған алғашқы жақтас болды. NeXT компаниясының NeXTdimension өнімі MJPEG-ті іске асыру үшін CL550 чипімен бірге шығарылатыны туралы хабарланды. Бірақ, бұл жоба кейіннен тоқтатылып, түпкілікті өнімге енгізілмеді. Apple компаниясы 1990 жылдардың ортасында QuickTime Player плеерінде MJPEG бағдарламалық қамтамасын ұсынды.

Дизайн

M JPEG – кадр ішіндегі ғана қысу схемасы (карточкааралық болжаудың есептеу жағынан күрделі әдісімен салыстырғанда). MPEG1, MPEG2 және H.264/MPEG 4 AVC сияқты қазіргі заманғы интеркадрлық бейне форматтары 1:50 немесе одан да жақсы қысу қатынастарын қамтамасыз етеді, ал M JPEG-тің карточкааралық болжаудың болмауы оның тиімділігін 1:20 немесе одан төмен деңгейге дейін шектейді, бұл қысылған шығыстағы кеңістіктік бұрмалануларға төзімділікке байланысты. Кадрлар бір-бірінен тәуелсіз қысылғандықтан, M JPEG аппараттық құрылғыларға өңдеу және жад талаптарын азайтады. Тек кадр ішіндегі қысу схемасы ретінде M JPEG бейне сапасы әр бейне кадрдың статикалық (кеңістіктік) күрделілігіне тікелей байланысты. Үлкен, тегіс өтулерге немесе біртекті беттерге ие кадрлар жақсы қысылады және бастапқы егжей-тегжейлі ақпаратты көрінетін қысу артефактілері аз болғанда сақтап қалу ықтималдығы жоғары. Күрделі текстураларды, жіңішке қисықтар мен сызықтарды (мысалы, газеттегі жазу) көрсететін кадрлар дискретті косинус түрлендіру (DCT) артефактілеріне – сыңғырлауға, бұлыңғырлануға және макроблокингке бейім. M JPEG қысылған бейне қозғалыстың күрделілігіне, яғни уақыт өте келе өзгеруге сезімтал емес. Ол қатты кездейсоқ қозғалысқа (мысалы, үлкен сарқырамадағы су бетінің турбуленттігі) кедергі келтірмейді, сонымен қатар қозғалыс жоқтығы (мысалы, штативпен түсірілген тұрақты ландшафт) да оған көмектеспейді, бұл интеркадрлық бейне форматтарын сынау үшін қолданылатын екі қарама-қарсы шекті жағдай. QuickTime форматтары үшін Apple екі кодтау түрін анықтады: MJPEG A және MJPEG B. MJPEG B енді жарамды JPEG Interchange файлдарын сақтамайды, сондықтан тақырыптарды сәл өзгертпей JPEG файлына кадрды алу мүмкін емес. JPEG тиімсіз, ұқсас сапаны жеткізу үшін көбірек биттерді қолданады, қазіргі заманғы форматтармен (JPEG 2000 және H.264/MPEG 4 AVC сияқты) салыстырғанда. 1990 жылдардың басында бастапқы JPEG стандарты жасалғаннан бері технологияны жақсарту JPEG форматына ғана емес, сонымен қатар интеркадрлық қысу схемаларына да қол жеткізілді.

Ерекшеліктері

Motion JPEG іске асыру оңай, себебі ол жақсы дамыған кітапханалары бар, толыққанды сығылу стандартын (JPEG) пайдаланады және бұл кадр ішіндегі сығылу әдісі. Ол бейне ағынындағы қарқынды өзгерістерге төзімді, ал кадрлар арасындағы сығылуды қолданатын схемалар бейне мазмұны әр кадрда күрт өзгергенде сапаның қабылдамас деңгейде нашарлауына әкелуі мүмкін. Оның есептеу күшіне аса талап етпейтіндігіне байланысты минималды аппараттық құралдар ғана қажет.

Стандарттау

MPEG 2 және JPEG сияқты халықаралық стандарттарда белгіленген бейне форматтарынан өзгеше, барлық жағдайларда қолданылуы мүмкін “Motion JPEG” толық спецификациясы ретінде әлемдік деңгейде мойындалған нақты бір форматты анықтайтын ешқандай құжат жоқ. Бұл әртүрлі өндірушілердің файлдық шығыстарының үйлесімділігіне қатысты алаңдаушылықтар тудырады. Дегенмен, әрбір нақты файл форматында M JPEG қалай кодталады дегенге қатысты белгілі бір стандарттар болады. Мысалы, Microsoft AVI файлдарында M JPEG-ті сақтау форматын, Apple QuickTime файлдарында M JPEG-тің сақталу жолын құжаттаған, RFC 2435 M JPEG-тің RTP ағынында іске асырылуын сипаттаған, ал Matroska файл форматы үшін M JPEG CodecID жоспарлануда.

Қолданбалар

M JPEG қазіргі кезде цифрлық камералар, IP камералар және веб-камералар сияқты бейне түсіру құрылғыларында, сондай-ақ сызықты емес бейне өңдеу жүйелерінде қолданылады. QuickTime Player, PlayStation консолі және Safari, Google Chrome, Mozilla Firefox және Microsoft Edge сияқты веб-браузерлерде табиғи түрде қолдау көрсетіледі.

Видео өңдеу

M JPEG жиі сызықтық емес бейне өңдеу жүйелерінде қолданылады. Қазіргі заманғы үстелдік процессорлар жоғары ажыратымдылықтағы бейнемен жұмыс істеуге жеткілікті қуатты, сондықтан ешқандай арнайы жабдық қажет емес, және олар өз кезегінде кез келген кадрға тікелей қол жеткізуді қамтамасыз етеді.

Ойын консольдары

PlayStation ойын консолі FMV тізбектері үшін M JPEG сияқты декомпрессиялық жабдықты біріктірді, ал PlayStation Portable портативті ойын консолі Memory Stick Pro Duo-дан avi кеңейтуімен M JPEG-ді 480×272 ажыратымдылығымен ойната алады. Екеуі де Go!Cam камерасымен M JPEG форматында бейнежазбаларды түсіре алады. Nintendo-ның Wii ойын консолі, сондай-ақ VTech-тің InnoTab құрылғылары, өздерінің Photo Channel-ін пайдалана отырып, SD картада M JPEG кодекпен кодталған бейнелерді ойната алады. SanDisk Sansa e200 және Zen V цифрлық аудио плеерлері қысқа M JPEG бейнелерін ойнатады. Nintendo 3DS құрылғысының соңғы бағдарламалық жасақтама жаңартулары енді 320×240 ажыратымдылығындағы SD картадан, видео ұзақтығы 10 минуттан аспаған жағдайда, Fujifilm FinePix Real 3D сериясында қолданылатын бірдей форматтағы "3D AVI" M JPEG кодекпен кодталған файлдарды жазып алып, ойнатуға мүмкіндік береді.

Цифрлық камералар

Тұтынушылық құрылғыларда MPEG 4 кодтамасының кеңінен таралғаннан кейін, M JPEG-тің прогрессивті сканерлеу түрі цифрлық фотокамералардың «бейне» режимдерінде жиі қолданылды. Бұл интеграцияланған JPEG сығылу аппараттары арқылы бағдарламалық жасақтаманы аз өзгерту арқылы бейнені кодтауға және ойнатуға мүмкіндік берді. Соның салдарынан алынған сапа ұқсас өлшемдегі MPEG-ге қарағанда нашар, әсіресе дыбыс (болған жағдайда) сығылмаған PCM форматында болғандықтан және үлгі алу жылдамдығы төмен немесе ADPCM форматындағы сығылу деңгейі төмен болды. Файл өлшемі мен деректерді беру жылдамдығын бақылау үшін кадр өлшемі мен жылдамдығы, сондай-ақ дыбыс үлгі алу жылдамдығы салыстырмалы түрде төмен ұсталып, әрбір кадр үшін жоғары сығылу деңгейі қолданылды. Көбінесе 160×120 немесе 320×240 ажыратымдылығы қолданылды, секундына 10, 12 немесе 15 кадрмен, сурет сапасы JPEG-тің «50» параметріне тең, моно ADPCM дыбысы шамамен 8 кГц жиілікте үлгіленді. Бұл MPEG-ге ұқсас сақтау көлемімен қарапайым, бірақ қолдануға жарамды бейне шығысын қамтамасыз етеді (~120 кБ/с бейне жылдамдығы, ~8 кБ/с аудио немесе 320×240 ажыратымдылығында шамамен 1 Мбит/с), бірақ өңдеуге минималды жүктеме салады. Бұл бейне әдетте Microsoft AVI немесе Apple QuickTime Movie контейнерлік файлдарында сақталады. Бұл файлдардағы MPEG көптеген операциялық жүйелерде тікелей көрініс табады, бірақ кейде қосымша кодек орнату қажет болуы мүмкін. Арзан «MP4» ойнатқыштарында кең таралған AMV бейне форматы – M JPEG-тің өңделген нұсқасы. Портативті ойнатқыштардан басқа (олар негізінен бейнені «тұтынушы» болып табылады), көптеген бейнеге қолдау көрсететін цифрлық камералар бейне түсіру үшін M JPEG-ті пайдаланады. Мысалы: 2008 жылдың тамызында Nikon компаниясы D90 моделін жариялады, ол бейнеге түсіруге арналған алғашқы D SLR камерасы болды. Қолданылатын формат – M JPEG. D90 үш түрлі M JPEG форматтарын қолдайды: 320×216 пиксел, 640×424 пиксел және 1280×720 пиксел. 2009 жылдың маусым айында Pentax компаниясы жақын арада шығатын K 7 камерасы 640×416, 1280×720 және 1536×1024 ажыратымдылығында M JPEG форматын қолданатынын мәлімдеді. Жасалған M JPEG файлдарының деректер беру жылдамдығы 74 Мбит/с-қа дейін жете алады. 2016 жылдың тамызында Canon компаниясы 5D Mark IV камерасы M JPEG форматында 4K бейнеге түсіретінін, деректер беру жылдамдығы шамамен 500 Мбит/с болатынын хабарлады. Көптеген желілік камералар желілік клиенттер қосыла алатын M JPEG ағындарын ұсынады. Mozilla және Webkit браузерлері осы M JPEG ағындарын қарауға қолдау көрсетеді. Кейбір желілік камералар өздерінің M JPEG интерфейстерін стандартты мүмкіндіктер жиынтығының бөлігі ретінде ұсынады. Бұл мүмкіндікті туынды түрде қамтамасыз етпейтін камералар үшін камерадан түсетін суреттерді M JPEG ағынына түрлендіру үшін серверді пайдалануға болады, содан кейін бұл ағын басқа желілік клиенттерге жіберіледі.

Медиа ойнатқыштар

Apple 2010 жылдың 1 қыркүйегінде Apple TV-нің ең жаңа нұсқасы 35 Мбит/с дейін M JPEG, 1280x720 пиксел, секундына 30 кадр, μlaw форматындағы аудио, PCM стерео аудиосын AVI файл пішімінде қолдайтынын хабарлады. Netgear NeoTV 550 сияқты кейбір медиаплеерлер M JPEG файлын ойната алмайды.

Видео ағындысы

HTTP ағыны әрбір суретті белгілі бір маркердегі жеке HTTP жауаптарына бөледі. HTTP ағыны QuickTime немесе VLC сияқты клиенттер қабылдай алатын JPEG кескіндерінің тізбектерінен пакеттер құрайды. MJPEG файлы немесе ағынына GET сұранысы келіп түскен жағдайда, сервер JPEG кадрларының тізбегін HTTP арқылы жібереді. Арнайы MIME типі content type multipart/x mixed replace;boundary=<boundary name> клиентке <boundary name> арқылы бөлінген бірнеше бөліктерді (кадрларды) жауап ретінде күту керектігін хабарлайды. Бұл шекаралық атау MIME типінің өзінде нақты көрсетіледі. Клиент жаңа кадрларды алуды қалағанда және сервер жаңа кадрларды беруді жалғастырғанда TCP қосылысы жабылмайды. M JPEG ағындық серверін іске асырудың екі негізгі жолы – cambozola және MJPG Streamer. ffmpeg сервері де M JPEG ағынын қолдайды. Жергілікті веб-браузерлердің қолдауы: Safari, Google Chrome, Microsoft Edge және Firefox. Internet Explorer сияқты басқа браузерлер M JPEG ағындарын сыртқы плагиндердің көмегімен көрсетуі мүмкін. Cambozola – Java қолдауы бар браузерлерде M JPEG ағындарын көрсетуге арналған апплет. M JPEG сонымен қатар PlayStation және QuickTime жүйелерімен де үйлесімді. Көбінесе M JPEG IP-негізделген қауіпсіздік камераларында қолданылады.

Орынбасарлар

Технологиялық жетістіктер H.263v2 Annex I және MPEG 4 Part 2 стандарттарында, трансформация коэффициенттерінің мәндерін жиілік доменінде болжауды қолданатын, сондай-ақ H.264/MPEG 4 AVC стандартында кеңістіктік болжау және бейімделмелі трансформация блогы өлшемдері техникаларын қолдану арқылы көрініс береді. Алғашқы JPEG дизайны жасалған кезде мүмкін болмағаннан әлдеқайда күрделі энтропиялық кодтау әдістері де бар. Осының барлығы M JPEG-ті тиімсіз жазу механизміне айналдырады.