Theory/Multimedia

H.264 소개

소개

H.264, MPEG-4 Part 10, MPEG-4 AVC으로 알려져 있다. 두개의 표준화 단체, ITU과 ISO/IEC에서 표준을 만들었다. AAC과 함께 요즘 대세를 이루는 코덱이다.



로얄티

WebM의 영향으로 인터넷상에서 무료로 공개되는 동영상에 대해서는 로얄티를 요구하지 않는다. 반대로 나머지 경우(유료 컨텐츠, 인코더, 플레이어 등)에 대해서는 로얄티를 내야 한다.



경쟁 코덱

H.264에 대한 오해 중에 하나는 높은 연산을 요구하여 컴퓨터의 자원(CPU)을 많이 소모한다는 점이다. 이 오해는 절반은 맞고 절반을 틀리다. 다른 코덱에 비해서 많은 연산을 필요로 하는 것은 맞지만, 컴퓨터의 자원을 많이 소비하는 것은 2000년대 초반의 문제고 지금은 그러하지 않다. 오히려 비디오 가속의 지원을 받아서 경쟁 코덱보다 더 적은 자원을 소비한다.


VC-1

  • WMV라고 알려진 코덱
  • H.264과 같은 비트율에서 화질이 떨어진다.
  • 표준 경쟁에서 H.264에 밀리면서 하드웨어/소프트웨어 업체의 지원이 부족하다.


VP6

  • 플래시의 초기 비디오 코덱
  • H.264과 같은 비트율에서 화질이 떨어진다.
  • 컴퓨터의 최적화(비디오 가속 지원 등)에서 H.264에 비해서 부족하다.


WebM

  • 구글에서 On2코덱을 인수하여 VP8을 오픈소스화한 코덱
  • 지속적인 개량으로 화질과 CPU 사용율에서 H.264에 근접했다.
  • 무료이다. 이 영향으로 H.264의 일부 로얄티 정책이 수정되었다.
  • 아직 지원하는 미디어 환경이 부족하다.



인코딩 매개변수


프로파일 (Profile)

코딩 도구(알고리즘)을 정의한다. 예를 들어, Baseline 프로파일과 Main 프로파일의 차이점 중에 하나는 양방향 예측(B 프레임)의 사용 여부이다.


가격에 민감한 단말기들은 값이 싼 칩을 사용해야 한다. 이러한 저렴한 칩은 부족한 CPU의 성능으로 낮은 프로파일만 디코딩 가능한 경우가 많다. 따라서 모바일 단말기에 대해서 서비스하려면 서비스 하려는 단말기의 프로파일이 무엇인지 확인해야 한다.

PC나 맥을 대상으로 할 경우, 되도록 높은 프로파일을 추천한다. 현대의 컴퓨터는 High 프로파일까지 재생하는데 문제가 없다고 알려져있다.


레벨 (Level)

비트율, 프레임율, 화면해상도 등을 정의한다.

프로파일과 같은 원칙이 적용된다. 따라서 모바일 단말기에 대해서 서비스하려면 서비스 하려는 단말기 중에 가장 낮은 레벨이 무엇인지 확인해야 한다.

PC나 맥에 대해서는 화면의 해상도를 제외하고는 별다은 제약이 없다.


CAVLC와 CABAC

비디오 재생시에 CAVLC과 CABAC의 성능 차이는 없는 반면에 화면의 질은 CABAC이 낫다. 따라서 CABAC을 선택한다.


IDR
IDR-프레임은 다음에 다른 프레임을 참조하는 것(P/B-프레임)이 이 IDR-프레임만을 참조한다는 것을 의미한다.

H.264는 앞의 두 프레임을 참조할 수 있다. 일반 I-프레임부터 재생할 경우, 이 프레임을 화면에 뿌릴 수 있지만, 다음 프레임은 전전 프레임이 필요함으로 화면에 보여줄 수 없다. 이것을 보장하는 것이 바로 IDR-프레임이다.


슬라이스

H.264는 화면을 독립적으로 분할하여 인코딩 가능하다. 이 분할된 영역을 슬라이스라고 한다.

독립적으로 인코딩이 가능함으로 여러 CPU를 동시에 사용할 수 있다. 그러나 각 슬라이스 간의 중복되는 부분을 알 수 없음으로 인코딩 품질이 떨어질 수 있다.

'Theory > Multimedia' 카테고리의 다른 글

Smooth Streaming Client Manifest Format  (1) 2012.11.21
Smooth Streaming 파일과 프로토콜  (1) 2012.11.20
MPEG-2 Transport Stream 소개  (0) 2012.11.19
MPEG-4 파일의 구조 개괄  (3) 2012.11.19
HTTP 기반 어댑티브 스트리밍  (0) 2012.11.06
H.264 소개  (1) 2012.11.06
  1. 레이엘 M/D Reply

    Baseline 이 H.264에서 뭔지 하는 궁금증이 풀렸네요 ^^ 감사합니다

알림

이 블로그는 구글에서 제공한 크롬에 최적화 되어있고, 네이버에서 제공한 나눔글꼴이 적용되어 있습니다.

카운터

Today : 13
Yesterday : 204
Total : 213,793