맨위로가기

모션 JPEG

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

모션 JPEG(Motion JPEG, MJPEG)는 멀티미디어 PC 응용 프로그램을 위해 개발된 비디오 압축 형식이다. 프레임 내 압축 방식을 사용하여 각 프레임을 독립적으로 압축하며, 디지털 카메라, IP 카메라, 웹캠, 비선형 비디오 편집 시스템 등에서 사용된다. M-JPEG는 JPEG 표준과 잘 개발된 라이브러리를 사용하여 구현이 간단하고, 프레임 간 압축 방식에 비해 하드웨어 처리 요구 사항이 낮지만, 압축률이 낮고 프레임의 정적 복잡성에 따라 이미지 품질이 영향을 받는다. 다양한 파일 형식에서 M-JPEG를 지원하며, 디지털 카메라, 게임 콘솔, 미디어 플레이어, 비디오 스트리밍 등 다양한 응용 분야에서 활용된다. MPEG-2, H.264/MPEG-4 AVC 등 후속 기술의 발달로 인해 M-JPEG는 비효율적인 기록 메커니즘으로 여겨지고 있다.

2. 역사

모션 JPEG는 원래 멀티미디어 PC 응용 프로그램을 위해 개발되었다.

MJPEG의 초기 구현은 일반적으로 하드웨어로 구현되었다. C-Cube는 여러 하드웨어 구현에 사용된 CL550 JPEG 코덱을 통해 초창기 지지자였다. NeXT의 NeXTdimension이 MJPEG를 구현하기 위해 온보드 CL550과 함께 출시될 것이라고 발표되었으나,[1] 이는 나중에 보류되었고 최종 제품에 포함되지 않았다. [2]

애플은 1990년대 중반 퀵타임 플레이어에서 MJPEG의 소프트웨어 구현을 제공했다. [3]

3. 디자인

M-JPEG는 프레임 내 압축 방식만을 사용하여 압축을 수행한다. 이는 MPEG1, MPEG2 및 H.264/MPEG-4 AVC와 같이 프레임 간 예측 기법을 사용하는 현대적인 프레임 간 비디오 형식에 비해 압축률이 낮다. M-JPEG의 이미지 품질은 각 비디오 프레임의 정적(공간적) 복잡성에 직접적인 영향을 받는다. 부드러운 전환이나 단색 표면은 압축이 잘 되지만, 복잡한 텍스처, 미세한 곡선 및 선은 이산 코사인 변환(DCT) 아티팩트(예: 링잉, 번짐 및 매크로블록킹)가 나타나기 쉽다. M-JPEG는 프레임 간 예측이 없으므로, 시간 경과에 따른 변화인 모션 복잡성에 둔감하다.[11]

QuickTime 형식의 경우, 애플은 MJPEG-A와 MJPEG-B의 두 가지 코딩 방식을 정의했다. MJPEG-B는 더 이상 유효한 JPEG 교환 파일을 유지하지 않으므로 헤더를 약간 수정하지 않고는 프레임을 JPEG 파일로 가져올 수 없다.

JPEG는 JPEG 2000H.264/MPEG-4 AVC와 같은 더 현대적인 형식에 비해 비효율적이다.

4. 특징

모션 JPEG는 성숙된 압축 표준(JPEG)과 잘 개발된 라이브러리를 사용하므로 구현이 간단하며, 프레임 내 압축 방식이다.[11]

영상 스트림의 빠르게 변화하는 모션에 잘 대처하며, 프레임 간 압축을 사용하는 압축 방식은 각 프레임 간의 비디오 내용이 크게 변경될 때 종종 용납할 수 없는 품질 저하를 경험할 수 있다.[11]

계산 집약적이지 않기 때문에 최소한의 하드웨어만 필요하다.[11] 각각의 프레임JPEG 형식으로 압축/신장하여, 연속으로 이를 표시함으로써 동영상을 구현한다.[11]

JPEG 기술을 응용한 동영상 압축 형식으로 알려진 MPEG은 프레임 간에도 압축을 하는 데 반해, Motion JPEG에서는 프레임 간 압축을 하지 않고, JPEG의 2차원 압축만을 수행하는 방식이다.[11] 음성 스트림 등을 별도로 한다면, 파일의 실체는 1프레임마다 정지 화상 JPEG와 동일한 구조가 된다.[11] 동일한 프레임 속도라면 MPEG보다 압축률이 낮지만, 격렬한 움직임에서도 MPEG만큼 무너지지 않는 동영상을 만들 수 있었다.[11] 반면에 프레임 속도가 비교적 직접적으로 파일 크기에 반영되기 때문에, 프레임 속도를 희생하여 파일 크기를 감소시킬 수도 있었다.[11] 또한 압축 및 전개가 용이하며, 소프트웨어 및 하드웨어의 성능을 MPEG만큼 필요로 하지 않는다.[11] 임의의 프레임을 잘라낼 수 있으므로, 편집을 용이하게 할 수 있다.[11]

5. 표준화

국제 표준과 같은 MPEG-2 및 JPEG 정지 화상 코딩 표준에 지정된 비디오 형식과 달리, 모든 상황에서 사용하기 위한 "모션 JPEG"의 완전한 사양으로 보편적으로 인식되는 단일 정확한 형식을 정의하는 문서는 없다. 이로 인해 서로 다른 제조업체의 파일 출력 간의 호환성에 대한 우려가 제기된다. 그러나 각 특정 파일 형식은 일반적으로 M-JPEG가 인코딩되는 방식에 대한 일부 표준을 가지고 있다. 예를 들어, 마이크로소프트는 AVI 파일에 M-JPEG를 저장하는 표준 형식을 문서화했으며,[4] 애플은 QuickTime 파일에 M-JPEG가 저장되는 방식을 문서화했으며, RFC 2435는 RTP 스트림에서 M-JPEG가 구현되는 방식을 설명하고, 마토스카 파일 형식에 대한 M-JPEG CodecID가 계획되어 있다.[5]

6. 응용

M-JPEG는 디지털 카메라, IP 카메라, 웹캠과 같은 비디오 캡처 장치와 비선형 비디오 편집 시스템에서 사용된다.[11] 퀵타임 플레이어, 플레이스테이션 콘솔, 사파리, 구글 크롬, 모질라 파이어폭스, 마이크로소프트 엣지와 같은 웹 브라우저에서 기본적으로 지원된다.

6. 1. 비디오 편집

M-JPEG는 비선형 비디오 편집 시스템에서 자주 사용된다. 최신 데스크톱 CPU는 고화질 비디오를 처리할 수 있을 정도로 강력하므로 특수 하드웨어가 필요하지 않으며, 임의의 프레임에 대한 네이티브 랜덤 액세스를 제공한다.[11]

각각의 프레임JPEG 형식으로 압축/신장하여, 연속으로 이를 표시함으로써 동영상을 구현한다.

마찬가지로 JPEG 기술을 응용한 동영상 압축 형식으로 알려진 MPEG은 시간축, 즉 프레임 간에도 압축을 하는 데 반해, Motion JPEG에서는 프레임 간 압축을 하지 않고, JPEG의 2차원 압축만을 수행하는 방식이다. 음성 스트림 등을 별도로 한다면, 파일의 실체는 1프레임마다 정지 화상 JPEG와 동일한 구조가 된다. 따라서 동일한 프레임 속도라면 MPEG보다 압축률이 낮지만, 격렬한 움직임에서도 MPEG만큼 무너지지 않는 동영상을 만들 수 있었다. 반면에 프레임 속도가 비교적 직접적으로 파일 크기에 반영되기 때문에, 프레임 속도를 희생하여 파일 크기를 감소시킬 수도 있었다. 또한 압축 및 전개가 용이하며, 소프트웨어 및 하드웨어의 성능을 MPEG만큼 필요로 하지 않는다. 게다가 임의의 프레임을 잘라낼 수 있으므로, 편집을 용이하게 할 수 있다.

이러한 사용 편의성을 갖춘 범용 규격이라는 점에 더해, 당시의 머신 성능으로도 압축률과 화질을 어느 정도 양립할 수 있었기 때문에, 적어도 1997년경까지는 "가장 실용적인 동영상 압축 방식"이라고 불렸다.

컨테이너 포맷에는 AVI와 MOV가 있어 통일되어 있지 않다. QuickTime Player 등에서 재생 가능한 외에, Windows에서는 코덱을 설치함으로써 미디어 플레이어에서도 재생할 수 있다.

6. 2. 게임 콘솔

플레이스테이션 게임 콘솔은 게임 내 FMV 시퀀스를 위해 M-JPEG 디코딩 하드웨어를 통합했으며, 플레이스테이션 포터블 휴대용 게임 콘솔은 480×272 해상도로 .avi 확장자 아래에서 메모리 스틱 프로 듀오에서 M-JPEG를 재생할 수 있다.[12] 둘 다 고!캠 카메라로 M-JPEG로 클립을 녹화할 수 있다.

닌텐도Wii 게임 콘솔과 VTech의 이노탭은 SD 카드에서 사진 채널을 사용하여 M-JPEG 인코딩된 비디오를 재생할 수 있다.[12] 닌텐도 3DS는 후지필름 파인픽스 리얼 3D 시리즈에서 사용되는 것과 동일한 형식인 "3D-AVI" M-JPEG 인코딩 파일을 SD 카드에서 320×240 해상도로 녹화하고 재생할 수 있다(비디오 길이는 10분 이하).

6. 3. 디지털 카메라

프로그레시브 스캔 형태의 M-JPEG는 MPEG-4 인코딩이 소비자 기기에 보급되기 전, 디지털 스틸 카메라의 "무비" 모드에서 널리 사용되었다. 통합된 JPEG 압축 하드웨어를 통해 소프트웨어 수정만으로 비디오 인코딩 및 재생이 가능했기 때문이다.

M-JPEG를 비디오 캡처에 사용하는 대표적인 디지털 카메라들은 다음과 같다.

  • 니콘 D90: 2008년 8월 출시된, 비디오를 기록하는 최초의 D-SLR이다. 320×216 픽셀, 640×424 픽셀, 1280×720 픽셀의 세 가지 모션 JPEG 형식을 사용한다.
  • 펜탁스 K-7: 2009년 6월 발표되었으며, 640×416, 1280×720, 1536×1024 해상도에서 M-JPEG를 사용한다.
  • 캐논 5D Mark IV: 2016년 8월 발표되었으며, M-JPEG로 4K 비디오를 기록한다.[6]


JPEG 변환 처리 능력이 높은 디지털 카메라디지털 액자에서 녹화 및 재생용으로 사용된다. 특히 다른 일반적인 동영상 형식보다 임의의 프레임을 추출했을 때 화질이 뛰어나 산업용 카메라에 적합하다.[12]

6. 4. 미디어 플레이어

애플 TV 등 일부 미디어 플레이어에서 M-JPEG 재생을 지원한다. 애플은 2010년 9월 1일에 자사의 최신 버전인 애플 TV가 .avi 파일 형식으로 최대 35Mbit/s, 1280 x 720 픽셀, 초당 30 프레임, μlaw 오디오, PCM 스테레오 오디오를 지원하는 M-JPEG를 발표했다.

6. 5. 비디오 스트리밍

HTTP 스트리밍은 각 이미지를 지정된 마커에 대한 개별 HTTP 응답으로 분리한다. HTTP 스트리밍은 퀵타임 또는 VLC와 같은 클라이언트가 수신할 수 있는 일련의 JPEG 이미지 패킷을 생성한다.

MJPEG 파일 또는 스트림에 대한 GET 요청에 대한 응답으로, 서버는 HTTP를 통해 일련의 JPEG 프레임을 스트리밍한다. 특수 content type '''multipart/x-mixed-replace;boundary='''은 으로 구분된 여러 부분(프레임)을 응답으로 예상하도록 클라이언트에게 알린다. 이 경계 이름은 MIME 유형 선언 자체 내에 명시적으로 공개된다. 클라이언트가 새 프레임을 수신하려는 동안과 서버가 새 프레임을 제공하려는 동안 TCP 연결은 닫히지 않는다. M-JPEG 스트리밍 서버의 두 가지 기본 구현은 ''cambozola''와 ''MJPG-Streamer''이다. 더 강력한 ''ffmpeg-server''도 M-JPEG 스트리밍 지원을 제공한다.

기본 웹 브라우저 지원에는 사파리, 구글 크롬, Microsoft Edge[8]파이어폭스[9]가 포함된다. 인터넷 익스플로러와 같은 다른 브라우저는 외부 플러그인의 도움을 받아 M-JPEG 스트림을 표시할 수 있다. Cambozola는 Java 지원 브라우저에서 M-JPEG 스트림을 표시할 수 있는 애플릿이다. M-JPEG는 플레이스테이션 및 퀵타임에서도 기본적으로 지원된다. M-JPEG는 일반적으로 IP 기반 보안 카메라에서 사용된다.[10]

7. 후속 기술

H.263v2 Annex I 및 MPEG-4 Part 2는 변환 계수 값의 주파수 영역 예측을 사용하고, H.264/MPEG-4 AVC는 공간 예측 및 적응형 변환 블록 크기 기술을 사용한다. 또한 최초의 JPEG 설계가 개발되었을 때 실용적이었던 것보다 더 정교한 엔트로피 코딩도 사용한다. 이러한 기술 발전으로 인해 M-JPEG는 비효율적인 기록 메커니즘이 되었다.[11]

참조

[1] 웹사이트 New Machines from NeXT (U-M computing News, Volume 5, Jan 1990) https://books.google[...]
[2] 웹사이트 The NeXTdimension Compendium (compiled from June-August 1993) https://www.vamp.org[...]
[3] 웹사이트 Developer's Guide: QuickTime for Macintosh Version 2.5 https://staticky.com[...]
[4] 웹사이트 BMPDIB.TXT https://www.fileform[...]
[5] 웹사이트 Codec Mappings http://www.matroska.[...]
[6] 웹사이트 Press Release Details https://www.usa.cano[...] 2016-11-06
[7] 웹사이트 Specifications & Features - Canon EOS 5D Mark IV - Canon UK http://www.canon.co.[...] 2016-11-06
[8] 웹사이트 Dev guide: Video - Microsoft Edge Development https://developer.mi[...] 2016-08-25
[9] 문서
[10] 웹사이트 How CCTV codecs work (CCTV codec easily explained) by Learn CCTV https://learncctv.co[...] 2023-10-22
[11] 문서
[12] 웹사이트 비디오 압축 형식은? MJPEG 등 3 형식을 기초부터 소개 https://www.klv.co.j[...] 케이엘브이 2021-12-17



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com