'''MPEG-4'''(엠펙 포, ISO/IEC 14496)는 영상, 음성을 디지털 데이터(Digital data)로 전송, 저장하기 위한 규격의 하나이다. MPEG-1, MPEG-2와 같이 시스템, 비주얼, 음향, 파일 포맷 규격으로 구성되어 있다. 그렇지만, 일반적으로 '''MPEG-4'''라고 때에는 동영상 인코딩 방식을 기술하는 비주얼 부분을 가리키는 경우가 많다. 규격을 관리하는 동화상 전문가 그룹(MPEG의 원래 의미)은 MPEG-4를 궁극의 영상/음성 인코딩 규격으로 삼으려는 의도가 있어서 현재 3차원 컴퓨터 그래픽, 음성 합성 등을 아우르는 거대한 규격이 되었다. MPEG 기술은 기술마다 부분이라고 불리는 규격으로 나뉘어 있고, 기술이 채용될 때마다 부분이 새로 생긴다. 최근엔 H.264가 MPEG-4 Part 10 AVC로 규격화되는 현재도 계속 추가 확장되고 있는 규격이다. == MPEG-4를 구성하는 파트 == MPEG-4는 다음과 같이 "파트"라 불리는 여러 개의 표준으로 구성되어 있다. ''파트 1''(ISO/IEC 14496-1): 시스템: 비디오와 음향의 동기화와 대해 기술한다. ''파트 2'' (ISO/IEC 14496-2): 비주얼: 비주얼 데이터(비디오, 정지 텍스처, 합성 이미지 등)를 위한 압축 코덱을 기술한다. 파트 2의 많은 프로파일(profile) 하나가 고급 단순 프로파일(ASP)이다. ''파트 3''(ISO/IEC 14496-3): 음향: 음향 신호의 인지 코딩(perceptual coding)을 위한 압축 코덱, AAC(Advanced Audio Coding)의 변형(AAC, BSAC, TWINVQ)들을 비롯한 다양한 음향/육성 코딩 도구를 포함한다. ''파트 4''(ISO/IEC 14496-4): 정합 테스트: 표준 내의 다른 파트들과의 정합성 테스트를 위한 과정을 기술한다. ''파트 5''(ISO/IEC 14496-5): 참조 소프트웨어: 표준 내의 파트들을 재연하고 분명하게 하기 위한 소프트웨어를 제공한다. ''파트 6''(ISO/IEC 14496-6): DMIF ''파트 7''(ISO/IEC 14496-7): 최적화된 참조 소프트웨어: 개선된 기능을 만드는 방법에 대한 예제 제공. (보기: 파트 5를 것). ''파트 8''(ISO/IEC 14496-8): ip 네트워크에서 전달: IP 네트워크 위에서 MPEG-4 콘텐츠를 전달할 방식을 지정한다. ''파트 9''(ISO/IEC 14496-9): 참조 하드웨어: 다른 파트의 표준을 추가하는 법을 제시하기 위한 하드웨어 설계를 제공한다. ''파트 10'' (ISO/IEC 14496-10): 고급 영상 코딩: AVC라는 영상 신호를 위한 코덱이며 기술적으로 ITU-T H.264 표준과 동일하다. ''파트 11'' (ISO/IEC 14496-11): 장면 기술(Scene description)과 응용 프로그램 엔진, ''BIFS''라 칭함, 3D 콘텐츠나 자막 등에 사용할 있다. ''파트 12''(ISO/IEC 14496-12): ISO 베이스 미디어 파일 포맷: 미디어 콘텐츠를 저장하기 위한 파일 포맷. ''파트 13''(ISO/IEC 14496-13): 지적 재산권 관리와 보호(IPMP)를 위한 확장들. ''파트 14'' (ISO/IEC 14496-14): MPEG-4 파일 포맷: MPEG-4 콘텐츠를 위한 컨테이너 파일 포맷이며 파트 12를 기반으로 한다. ''파트 15''(ISO/IEC 14496-15): AVC 파일 포맷: 파트 12를 기반으로 파트 10 비디오의 저장을 위한 것. ''파트 16''(ISO/IEC 14496-16): 애니메이션 프레임워크 확장 (AFX). ''파트 17'' (ISO/IEC 14496-17): 시간에 맞춰 자막을 띄우는 포맷. ''파트 18''(ISO/IEC 14496-18): 글꼴 압축 스트리밍 (오픈타입 글꼴). ''파트 19''(ISO/IEC 14496-19): 합성 텍스처 스트림(Synthesized Texture Stream). ''파트 20''(ISO/IEC 14496-20): LASeR (Lightweight Scene Representation의 약자) ''파트 21''(ISO/IEC 14496-21): MPEG-J 그래픽 프레임워크 확장 (GFX) ''파트 22''(ISO/IEC 14496-22): 오픈타입 기반의 오픈 폰트 포맷 규격 (OFFS) ''파트 23'' (ISO/IEC 14496-23): SMR (Symbolic Music Representation의 약자) ''파트 24'' (ISO/IEC 14496-24): MP4 파일 포맷과 MPEG-4 오디오 와의 동작을 정의 ''파트 25'' (ISO/IEC 14496-25): 3D 그래픽스에 대한 압축 표준 ''파트 26'' (ISO/IEC 14496-26): Audio conformance (표준화 진행 중) ''파트 27'' (ISO/IEC 14496-27): 3D Graphics conformance ''파트 28'' (ISO/IEC CD 14496-28): Composite font representation ''파트 29'' (ISO/IEC CD 14496-29): 개발 (Web video coding) ''파트 30'' (ISO/IEC CD 14496-30): 개발 (Web video coding—Part 30: ISO 기반 미디어 파일 포맷의 타이밍에 맞춘 텍스트 기타 시각 오버레이) 프로파일들은 "파트" 안에 정의되므로 파트의 추가는 보통 완전한 파트의 추가라고 없다. MPEG-1, MPEG-2, MPEG-7 그리고 MPEG-21은 다른 MPEG 표준 세트들이다. == 기술 개요 == === 동영상 부호화 === 현재 MPEG-4에서 규정하고 있는 동영상 인코딩 방식은 1999년에 처음 규격이 확정된 Part 방식과, 2003년에 규격이 Part 10 방식 가지가 있다. 둘을 구별하기 위해 앞에 것을 그냥 MPEG-4 또는 MPEG-4 비주얼이라 부르고, 뒤에 것을 MPEG-4 AVC라고 부른다. MPEG-4 기술은 통상 인코딩 기술로 소개되지만 실제 규격에는 인코딩된 데이터를 어떻게 풀어야 하는지 하는 디코딩 과정만 기술되어 있고, 어떻게 인코딩해야 하는지에 대한 규정은 없다. ==== MPEG-4(Part 2) ==== MPEG-1에서는 비디오 CD, MPEG-2에서는 방송, HDTV 등에서 쓰일 것을 고려했지만 MPEG-4에서는 낮은 비트율 상황에까지 용도를 확대하려는 목표로 규격화가 시작되었다. 인코딩 기술로서는 먼저 규격화가 진행되었던 H.263을 기본으로 하여 가지 도구를 추가하여 구성되었다. H.263과의 차이점은 프레임 예측에서 B프레임을 채용한 점, DCT 계수의 AC/DC 예측을 도입한 등을 있다. 비주얼 기술 자체도 오류 톨러런스 기술 외에 임의 형상 기술, 스프라이트 인코딩 기술, 얼굴 움직임을 인코딩하는 페이스(Face) 인코딩 기술, 스케일러빌러티 기술 등을 집어넣은 거대한 것이었지만 현재는 오류 톨러런스 기술 외에는 사용되지 않고 있다. ==== MPEG-4 AVC(Part 10) ==== Part 2에서 규격의 범위가 너무 커져 버렸다. 그래서 통상적인 영상 압축률에 만족하자는 방침으로 개발이 진행되었다(Part 2에서 사용되는 일이 없었던 페이스 기술, 스케일러빌러티 기술은 빼버림). ITU-T와 공동으로 규격화한 것으로 H.264와 같다. H.264/AVC라고도 불린다. === 음향 인코딩(음향, Part 3） === MPEG-4의 음향 인코딩 기술에서는 CELP 인코딩, AAC, TwinVQ, BSAC 등이 채용되었다. 특히 기존의 사용되던 CELP, MPEG-2에서 정의된 AAC, MPEG-4에서 새롭게 정의된 TwinVQ, BSAC 많은 객체를 가지며 이러한 객체의 조합을 이용하여 프로파일을 생성하고, 이를 이용한다. 또한, 압축뿐만 아니라 TTS 등과 같은 저전송률을 이용한 음성 복원 기능까지 가지고 있다. === 시스템(Part 1) === 멀티미디어 데이터를 파일이나 기록 매체에 보존하거나 네트워크에서 전송하기 위해서는 영상과 음성 각각 따로 인코딩한 데이터를 합쳐서 보내는 것(멀티플렉싱, 다중화)과 동기화를 위한 방법이 필요하다. 이러한 다중화 방식을 규정하는 것이 시스템이다. 또, 시스템에 의해 다중화되기 이전의 영상, 음성 바이너리를 엘리멘터리 스트림(ES: Elementary Stream)이라 한다. 동영상과 음성의 엘리멘터리 스트림을 다중화한다는 목적에는 MPEG-1이나 MPEG-2의 시스템과 같지만 MPEG-4에는 객체 인코딩이라는 개념이 있어 차이가 있다. MPEG-4에서 음향, 비주얼(비디오)의 데이터는 1개의 객체로서 다루어져 이러한 객체를 다중화·동기화하는 것이 시스템의 역할이다. 더불어 MPEG-4의 동화상(비주얼 AVC)이나 음성의 엘리멘터리 스트림의 다중화에는 MPEG-4 시스템뿐 아니라, MPEG-2 트랜스포트 스트림(MPEG-2 TS)을 이용해도 되고, 지상파 디지털 텔레비전 방송의 세그먼트(segment) 방송에서는 AVC와 AAC의 전송에 MPEG-2 TS가 이용된다. 게다가 여러 개의 객체를 조합해 다루기 위한 기술을 위한 사양으로 VRML97를 기반으로 BIFS(Binary Format for Scenes)가 규정되어 있다. 이를테면, 인물이나 배경의 동영상 음성을 각각 별개의 객체로서 인코딩해서 각각의 객체들을 겹쳐서 표시하거나 사용자가 임의의 객체를 움직이게 있는 애플리케이션을 만들 있다. 그러나 이러한 객체 인코딩은 일반적으로는 실용화되어 있지 않았다. 객체 인코딩 개념의 도입이나 BIFS 등에 의해 MPEG-4 시스템의 내용이 비대해졌기 때문에 파일 포맷(MP4)에 관해서는 뒤에 서술할 Part 14로 독립해 규정하고 있다. 덧붙여 네트워크상에서의 전송에 관해서는 Part RFC 3640으로 규정하고 있다. === 파일 포맷(Part 12, 14) === 멀티미디어 데이터를 파일에 기록하려면 동영상과 음성 엘리멘터리 스트림을 다중화할 필요가 있지만 다음에 재생할 때에 빨리 감기나 편집에서의 용이성을 위해 프레임 단위로 액세스 있도록 데이터를 구분하여 접근 관리 데이터를 부가하는 것이 편리하다. MPEG-4에서는 이러한 것을 위한 포맷으로 MP4 파일 포맷을 규정하고 있다. 음성은 파일 포맷에 맞추지 않고, 인코딩된 데이터를 그대로 사용하기도 한다. MPEG-1등에서 규정된 MP3가 좋은 예이다. MP4 파일 포맷은 애플의 퀵타임(QuickTime) 파일 포맷을 기반으로 개발되고 있다. 퀵타임 파일 포맷으로 채용되고 있는 파일 구조는 다양한 동화상이나 음성의 엘리멘터리 스트림을 유연하게 다중화할 있어 범용의 파일 포맷으로서 ISO 베이스 미디어 파일 포맷(Part 12)에 채용되었다. Part 12로부터 MPEG-4용의 파일 포맷으로서 파생한 것이 MP4 파일 포맷이다. === 프로파일, 레벨 === 비주얼, 음향 공히 규격 안에 프로파일과 레벨이란 개념이 규정되고 있다. 프로파일이란 사용할 있는 도구를 나타내는 것이며, 레벨이란 사용할 있는 파라미터의 범위를 규정하는 것이다. 예를 들면, MPEG-4 Part 2에서는 심플 프로파일(SP), 어드벤스드 심플 프로파일(ASP), 메인 프로파일(MP) 등이 규정되어 각각 사용 가능한 도구가 다르다. MPEG-4 AVC에서는 베이스라인 프로파일, 메인 프로파일, 확장(Extended) 프로파일의 종류가 규정되고 있으며, 추가로 하이 프로파일 등의 가지가 추가되었다. 레벨은 수치로 나타난다. 통상 프로파일과 레벨을 합쳐서 간단하게 SP@L3(심플 프로파일 레벨 3) 등으로 표현한다. === 역사 === 1999년에 규격화된 직후부터 동영상을 장시간 기록하는 용도로 디지털 카메라에 사용되었다. 당초에는 파일 포맷이 규격화되어 있지 않았기 때문에 마이크로소프트사의 ASF 파일 포맷이 사용되었다. 근래에는 제3세대 휴대 전화의 동영상 포맷으로서 채용되고 PDA를 포함한 모바일 동영상 재생기의 주요 포맷이 되고 있다. 이러한 동영상 인코딩 기술은 현재까지는 MPEG-4 Part 2이지만, 2005년 후반부터는, MPEG-4 AVC도 사용되는 것이 확실시되고 있다. 방송이나 통신 분야에는 사용권 문제도 있어 용용 사례가 적었지만 MPEG-4 AVC(H.264)가 일본 지상파 디지털 방송의 휴대 단말기를 위한 (1 세그먼트(segment)) 방송을 비롯한 모바일 방송 표준으로 채용되고, Blu-ray Disc이나HD DVD의 비디오·코덱으로서 승인이 되고 있어 응용 사례는 증가할 전망이다. === MPEG-4 압축 동영상의 콘텐츠 분석기술 === MPEG-4 동영상의 콘텐츠 분석기술이 활발하게 연구되어 왔다. 이는 동영상의 장면을 자동으로 분할하는 기술, 동영상으로부터 객체를 자동으로 인식하고 추적하는 기술 콘텐츠 정보의 표준화 등을 포함한다. 동영상의 픽셀 정보를 이용하기 때문에 처리속도가 느려 고성능 하드웨어에 의존해야 했던 기존의 컴퓨터 비전 기술과 달리, 대부분의 압축 영역에서의 객체 인식 추적 기술은 압축 데이터에 포함된 모션 벡터, 잔여신호(DCT 또는 Integer coefficients), 매크로블록 타입 같은 기타 정보를 이용하여 일반 컴퓨터에서도 빠른 속도로 처리하는 것을 지향한다. 대표적인 알고리즘으로 MRF 기반 모델, 비유사성 최소화 알고리즘 (dissimilarity minimization) 확률적 데이터 연관 필터링 알고리즘 (probabilistic data association filtering, PDAF) 확률적 시공간 매크로블록 필터링 알고리즘 (probabilistic spatiotemporal macroblock filtering, PSMF) 등이 있다. == 같이 보기 == MPEG-4 SLS MPEG-1 MPEG-2 MPEG-7 MPEG-21 MP4 AAC 3GPP 3GPP2 H.263 H.264/AVC == 외부 링크 == MPEG-4: The Next Generation (애플) H.264/AVC 인코더 참조 소프트웨어 구조 분석서 (Analysis of H.264/AVC Encoder Reference Software) '''LiveVideo''' 오픈 소스 H.264/AVC 동영상 콘텐츠 분석 소프트웨어 분류:ISO 표준 분류:오디오 코덱 분류:영상 코덱 분류:ISO/IEC 표준 분류:화상 통화