모션 JPEG

Motion JPEG

Motion JPEG(M-JPEG 또는 MJPEG)는 디지털 비디오 시퀀스의 각 비디오 프레임 또는 인터레이스 필드를 JPEG 이미지로 따로 압축하는 비디오 압축 형식입니다.

원래 멀티미디어 PC 애플리케이션용으로 개발된 Motion JPEG는 광범위한 클라이언트 지원을 제공합니다.대부분의 주요 웹 브라우저와 플레이어는 네이티브 지원을 제공하며 플러그인은 나머지를 위해 사용할 수 있습니다.M-JPEG 표준을 사용하는 소프트웨어 및 장치에는 웹 브라우저, 미디어 플레이어, 게임 콘솔, 디지털 카메라, IP 카메라, 웹 카메라, 스트리밍 서버, 비디오 카메라 및 비선형 비디오 [citation needed]편집기가 포함됩니다.

역사

Motion JPEG는 원래 멀티미디어 PC [citation needed]애플리케이션용으로 개발되었습니다.

MJPEG의 초기 구현은 일반적으로 하드웨어에서 구현되었습니다.C-Cube는 CL550 JPEG 코덱을 여러 하드웨어 구현에 사용한 초기 제안자였다.NeXTNeXTdimension은 MJPEG를 구현하기 위해 온보드 CL550과 함께 출하될 예정입니다[1].그러나, 이것은 나중에 보류되어 출하된 최종 제품에는 포함되지 않았습니다.[2]

Apple은 1990년대 중반에 Quick Time Player에 MJPEG의 소프트웨어 구현을 제공했습니다.[3]

설계.

M-JPEG는 프레임 내만의 압축 방식입니다(프레임예측의 계산 부하가 높은 기술과 비교).MPEG1, MPEG2, H.264/MPEG-4 AVC같은 최신 프레임 간 비디오 형식은 실제 압축비율 1:50 이상을 달성하지만, M-JPEG의 프레임 간 예측 부족은 압축 출력의 공간적 작용에 대한 허용도에 따라 효율을 1:20 이하로 제한합니다.프레임은 서로 독립적으로 압축되기 때문에 M-JPEG에서는 하드웨어 디바이스의 처리 및 메모리 요건이 낮아집니다.

순수 프레임 내 압축 방식으로서 M-JPEG의 화질은 각 비디오 프레임의 정적(공간적) 복잡성의 직접적인 함수입니다.매끄러운 큰 전환 또는 모노톤 표면이 있는 프레임은 압축이 잘 되고 눈에 보이는 압축 아티팩트가 거의 없이 원래 세부 정보를 유지할 가능성이 높습니다.복잡한 텍스처, 미세한 곡선 및 선(예: 신문지에 쓰는 것)을 나타내는 프레임은 호출음, 번짐 및 매크로 블록과 같은 이산 코사인 변환(DCT) 아티팩트를 나타내는 경향이 있습니다.M-JPEG 압축 비디오는 모션의 복잡성, 즉 시간에 따른 변화에 민감하지 않습니다.이것은 매우 랜덤한 움직임(대폭포의 수면 난기류 등)에 의해 방해받지 않으며, 프레임간 비디오 포맷 테스트에 일반적으로 사용되는 양 극단의 움직임(삼각대에 의해 촬영된 정적 풍경 등)의 부재로도 도움이 되지 않습니다.

QuickTime 포맷에 대해서는 MJPEG-A와 MJPEG-B의 2종류의 코딩이 정의되어 있습니다.MJPEG-B는 유효한 JPEG 인터체인지 파일을 보유하지 않기 때문에 헤더를 약간 수정하지 않고는 프레임을 JPEG 파일로 만들 수 없습니다.

JPEG는 더 현대적인 형식(JPEG 2000 및 H.264/MPEG-4 AVC 등)에 비해 더 많은 비트를 사용하여 유사한 품질을 제공하므로 비효율적입니다.1990년대 초 JPEG 표준이 개발된 이후 JPEG 형식뿐만 아니라 가능한 프레임 간 압축 스키마에도 기술이 개선되었습니다.

특징들

Motion JPEG는 라이브러리가 잘 발달된 성숙한 압축 표준(JPEG)을 사용하며 프레임 내 [citation needed]압축 방식이기 때문에 구현이 간단합니다.

비디오 스트림에서 빠르게 변화하는 움직임을 견딜 수 있는 반면, 프레임 간 압축을 사용하는 압축 방식은 비디오 콘텐츠가 [citation needed]각 프레임 간에 현저하게 변화할 때 종종 허용할 수 없는 품질 손실을 경험할 수 있습니다.

계산 [citation needed]부하가 높지 않기 때문에 최소한의 하드웨어가 필요합니다.

표준화

MPEG-2와 같은 국제 표준 및 JPEG 정지화면 부호화 표준에서 지정된 형식과 달리, 모든 컨텍스트에서 사용할 수 있는 "모션 JPEG"의 완전한 사양으로 일반적으로 인식되는 단일 정확한 형식을 정의하는 문서는 없습니다.이로 인해 다른 제조업체의 파일 출력에 대한 호환성 문제가 발생합니다.다만, 각각의 특정 파일 형식에는, 통상, M-JPEG 의 부호화 방법에 관한 표준이 있습니다.예를 들어 Microsoft는 M-JPEG를 AVI [4]파일에 저장하는 표준 포맷을, Apple은 M-JPEG를 QuickTime 파일에 저장하는 방법을, RFC 2435는 M-JPEG를 RTP 스트림에 구현하는 방법을 기술하고 있습니다.ID는 Matroska 파일 [5]형식으로 계획되어 있습니다.

적용들

M-JPEG는 현재 디지털 카메라, IP 카메라, 웹 카메라같은 비디오 캡처 장치 및 비선형 비디오 편집 시스템에서 사용됩니다.기본적으로 QuickTime Player, PlayStation 콘솔 및 Safari, Google Chrome, Mozilla Firefox, Microsoft Edge 등의 웹 브라우저에서 지원됩니다.

비디오 편집

M-JPEG는 비선형 비디오 편집 시스템에서 자주 사용됩니다.최신 데스크톱 CPU는 고화질 비디오에서도 충분히 동작하기 때문에 특별한 하드웨어가 필요하지 않고 모든 프레임에 대한 네이티브 랜덤 액세스를 제공합니다.

게임 콘솔

플레이스테이션 게임 콘솔은 게임 내 FMV 시퀀스를 위한 압축 해제 하드웨어와 같은 M-JPEG를 통합했으며, 플레이스테이션 포터블 휴대용 게임 콘솔은 .avi 확장자의 M-JPEG를 480×272 해상도로 재생할 수 있습니다.JPEG를 재생할 수 있습니다.둘 다 Go로 M-JPEG에 클립을 녹화할 수 있습니다!카메라 카메라.

VTech의 InnoTab과 마찬가지로 닌텐도의 Wii 게임기는 포토 채널을 사용하여 M-JPEG 인코딩된 비디오를 SD카드로 재생할 수 있다.SanDisk Sansa e200 및 Zen V 디지털 오디오 플레이어는 짧은 M-JPEG 비디오를 재생합니다.최근 닌텐도 3DS 펌웨어 업데이트를 통해 Fujifilm FinePix Real 3D 시리즈와 동일한 포맷인 "3D-AVI" M-JPEG 인코딩 파일을 320×240 해상도의 SD 카드에서 녹화하고 재생할 수 있게 되었습니다.

디지털 카메라

최근 소비자 장치에서 MPEG-4 인코딩이 증가하기 전에, M-JPEG의 프로그레시브 스캔 형식은 디지털 스틸 카메라의 "무비" 모드에서 널리 사용되었으며, 소프트웨어 수정만으로 비디오 인코딩과 재생이 가능했습니다.특히 사운드(포함되어 있는 경우)가 비압축 PCM으로 낮은 샘플링 속도 또는 저압축 저프로세서 요구 ADPCM으로 녹음되었기 때문에 유사한 크기의 MPEG에 비해 품질이 여전히 떨어집니다.

파일 크기와 전송 속도를 제어하기 위해 프레임 크기와 속도는 사운드샘플링 레이트와 함께 비교적 낮게 유지되며 각 프레임에 대해 매우 높은 수준의 압축이 이루어집니다.160×120 또는 320×240의 해상도는 일반적으로 초당 10, 12 또는 15 프레임이며, 화질은 약 8kHz에서 샘플링된 모노 ADPCM 사운드의 JPEG 설정 "50"과 동일합니다.따라서 MPEG와 유사한 스토리지 비용(최대 120kB/s 비디오 속도, 최대 8kB/s 오디오 또는 320×240 해상도의 약 1Mbit/s)으로 매우 기본적이지만 서비스 가능한 비디오 출력이 가능합니다.이 비디오는 일반적으로 일반적인 Windows AVI 또는 Apple QuickTime MOV 컨테이너 파일에 저장됩니다.일반적으로 해당 운영체제 대부분의 버전에서 네이티브하게(또는 단순한 코덱 설치 후) 볼 수 있습니다.

값싼 MP4 플레이어에서 흔히 볼 수 있는 AMV 비디오 형식은 M-JPEG의 변형 버전입니다.

휴대용 플레이어(주로 비디오의 "소비자") 외에도 많은 비디오 지원 디지털 카메라가 비디오 캡처에 M-JPEG를 사용합니다.예:

  • 2008년 8월, Nikon은 D90을 발표했습니다.D90은 비디오를 녹화한 최초의 D-SLR입니다.사용되는 형식은 M-JPEG입니다.D90은 320×216픽셀, 640×424픽셀, 1280×720픽셀의 3가지 모션 JPEG 포맷을 사용합니다.
  • 2009년 6월 펜탁스는 당시 출시될 K-7 카메라가 해상도 640×416, 1280×720, 1536×1024로 M-JPEG를 사용할 것이라고 발표했다.작성된 M-JPEG 파일의 데이터 레이트는 최대 74 Mbit/s입니다.
  • 2016년 8월, 캐논은 5D Mark IV 카메라가 약 500 Mbit/[7]s의 데이터 전송 속도로 4K 비디오를 M-JPEG로 [6]녹화할 것이라고 발표했습니다.
DCI 4K의 Canon 5D Mark IV에 motion jpeg를 사용하여 녹화한 비디오

많은 네트워크 지원 카메라는 네트워크 클라이언트가 연결할 수 있는 M-JPEG 스트림을 제공합니다.Mozilla 및 Webkit 기반 브라우저는 이러한 M-JPEG 스트림을 볼 수 있도록 기본적으로 지원합니다.

일부 네트워크 지원 카메라는 일반 기능 세트의 일부로 자체 M-JPEG 인터페이스를 제공합니다.기본적으로 이 기능을 제공하지 않는 카메라의 경우 서버를 사용하여 카메라 사진을 M-JPEG 스트림으로 변환한 후 다른 네트워크 클라이언트에 제공할 수 있습니다.

미디어 플레이어

2010년 9월 1일, 애플 TV의 최신 버전은 최대 35 Mbit/s, 1280 x 720 픽셀, 초당 30 프레임, μlaw 오디오, .avi 파일 형식의 PCM 스테레오 오디오를 지원한다고 발표했습니다.

Netgear NeoTV 550과 같은 일부 미디어 플레이어는 M-JPEG 재생을 지원하지 않습니다.

비디오 스트리밍

HTTP 스트리밍은 각 이미지를 지정된 마커 상의 개별 HTTP 응답으로 나눕니다.HTTP 스트리밍은 QuickTime이나 VLC 등의 클라이언트에서 수신할 수 있는 일련의 JPEG 이미지 패킷을 만듭니다.

MJPEG 파일 또는 스트림에 대한 GET 요구에 응답하여 서버는 HTTP를 통해 JPEG 프레임의 시퀀스를 스트리밍합니다.특수한 MIME 타입의 컨텐츠 타입 multipart/x-mixed-replace;multiple=<multiple-name>는,<multiple-name>로 구분된 응답으로서 복수의 부분(프레임)을 상정하도록 클라이언트에 통지합니다.이 경계명은 MIME 타입 선언 자체 내에서 명시적으로 공개됩니다.클라이언트가 새로운 프레임을 수신하고 서버가 새로운 프레임을 제공하는 한 TCP 접속은 닫히지 않습니다.M-JPEG 스트리밍 서버의 2가지 기본 구현은 cambozolaMJPG-Streamer입니다.보다 견고한 ffmpeg-server는 M-JPEG 스트리밍도 지원합니다.

네이티브 웹 브라우저 지원:Safari, Google Chrome, Microsoft[8] Edge 및 Firefox.[9]Internet Explorer 의 다른 브라우저에서는 외부 플러그인을 사용하여 M-JPEG 스트림을 표시할 수 있습니다.Cambozola는 Java 지원 브라우저에서 M-JPEG 스트림을 표시할 수 있는 애플릿입니다.M-JPEG는 PlayStation과 QuickTime에서도 네이티브로 지원됩니다.

후계자

기술 개선은 변환 계수 값의 주파수 영역 예측을 사용하는 H.263v2 Annex I 및 MPEG-4 Part 2의 설계와 공간 예측 및 적응형 변환 블록 크기 기술을 사용하는 H.264/MPEG-4 AVC에서 확인할 수 있다.JPEG 디자인이 처음 개발되었을 때 실용적이었던 것보다 더 정교한 엔트로피 코딩도 있습니다.이러한 새로운 개발은 모두 M-JPEG를 비효율적인 기록 메커니즘으로 만듭니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "New Machines from NeXT (U-M computing News, Volume 5, Jan 1990)". 1990.
  2. ^ "The NeXTdimension Compendium (compiled from June-August 1993)".
  3. ^ "Developer's Guide: QuickTime for Macintosh Version 2.5" (PDF). Archived from the original (PDF) on 2022-07-16.
  4. ^ "BMPDIB.TXT". www.fileformat.info.
  5. ^ "Codec Mappings".
  6. ^ "Press Release Details". www.usa.canon.com. Retrieved 2016-11-06.
  7. ^ "Specifications & Features - Canon EOS 5D Mark IV - Canon UK". www.canon.co.uk. 2016-09-19. Retrieved 2016-11-06.
  8. ^ "Dev guide: Video - Microsoft Edge Development". developer.microsoft.com. Retrieved 2016-08-25.
  9. ^ Mozilla Firefox의 이전 버전으로 전송되는 M-JPEG 스트림은 깜박임을 방지하기 위해 HTTP 문서 내에 있어야 했습니다.Bug 625012(2014년 수정)를 참조하십시오.

외부 링크