H.26x

(AVC에서 넘어옴)
비디오 포맷
AVI, FLV, H.26x, mkv, MOV, MP4, MPEG, MXF

1 개요

VCEG[1]에서 정하는 표준 동영상 압축 규격으로써 H.120, H.261, H.262, H.263, H.264, H.265 이렇게 총 6가지의 표준이 존재한다.
엄밀히 따지자면 H.120 및 H.26x규격들은 VCEG에서 정하는 동영상 규격이고, ISO에서 정하는 규격은 MPEG으로 MPEG은 영상과 음성, 시스템을 포함한 폭넓은 규격을 이야기한다. 양 단체에서 표준화 할 때, 함께 진행하는 경우가 많아 H.262는 MPEG-2 part 2, H.264는 MPEG-4 part 10(AVC), H.265는 MPEG-H part 2(HEVC)와 동일하다.

단, 표준규격이라고 해서 착각을 할 수 있는데 결코 무료가 아니다[2]. 예를 들어 H.264코덱을 이용하는 한국 DMB같은 경우도 H.26x코덱들의 특허를 관리하는 MPEG-LA에 꼬박꼬박 로열티를 지불하고 있다. 하지만 MPEG-LA는 이 코덱들로 수익을 얻지만 않는다면 로열티를 부과하지 않겠다고 밝혔다.기사 또한 상업적 이용이라 해도 일정 규모 이하의 경우에는 사용료가 면제된다. [3]

Xvid나 x.264처럼 오픈소스 그룹에서 만드는 호환 규약을 써도 로열티 문제는 해결되지 않을 수 있다. [4] 그리고 이들을 사용하면 GPL이나 LGPL규약을 따라야 하기 때문에 프로그램 소스를 공개해야 하는 단점이 있다. 이와 관련된 이야기는 FFmpeg을 참고.

2 H.120

1984년에 발표된 최초의 디지털 동영상 인코딩 표준. MPEG 창립 이전에 제정되었기 때문에 아날로그 -> 디지털 전환의 서막을 상징하게 되었지만, 그 당시엔 기존 아날로그 방식의 VHS 규격이 압도적인 우위에 있었고, 디지털 방식의 첫 규격이다보니 오늘날 시점에서 보면 디지털 기반 규격으로써 단점 투성이라고 볼 수 있다. H.120이 있었기에 뛰어난 후속 규격들의 밑거름이라는 의의는 남아있지만 그런 취급은 해당 규격보단 후속 규격인 H.261 쪽으로 기울여지고 있다(...). 안습

3 H.261, MPEG-1 Part.2

1988년에 발표된 H.120의 후속 규격으로 당시의 초고속 인터넷이었던 ISDN의 최저속도인 64Kbps에 맞추어 최저 비트율은 40Kbps부터 최고 2Mbps까지의 전송율을 가지게 되었다. 그리고 5년 후인 1993년 MPEG에서 H.261을 기반으로 MPEG-1 Part.2 표준이 발표되어 VCD에 들어가는 동영상 코덱으로 채택되었다. H.261의 후발주자 격인만큼 최대 4K 해상도와 100Mbps까지 지원하지만 당시 여러모로 효용성이 없어서 십중팔구 240p, 1.5Mbps로 사용되었고, 아무래도 1990년대 초반에 주로 사용된 H.261보단 90년대 중반에 주로 사용된 MPEG-1 Part.2 영상물이 더 많이 발견되다보니 오늘날까지 잔존하는 90년대 영상물들은 VCD 때문에 대부분 H.261이 아닌 MPEG-1 Part.2 기반이다.

이 규격들의 특징으로는 화질보다 스트리밍, 즉 끊기지 않는 영상에 중점을 두고 만들어졌기 때문에 고 비트레이트로 간다고 해서 용량대비 이득은 크지 않다.

H.261 및 MPEG-1 Part.2의 규격을 현재 시점에서 보면 초라하게 보일 수 밖에 없지만, 당시의 기술로는 혁명에 가까웠고 또한 동영상 압축하는데 있어서 매크로블럭 개념을 적용하였는데 이것은 H.264까지 쓰이는 기술로 현재 동영상 기술의 기초를 제공한 뜻깊은 동영상 코덱이라고 할 수 있다. 또한 이러한 영상을 재생하기 위한 가속 카드까지 존재했다. 당시에는 지금의 H.265처럼 최첨단 기술이었다는 것.

4 H.262/MPEG-2 Part.2

1995년 발표된 규격으로, H.261과는 정반대의 컨셉을 가지고 만들어진 코덱이다. 압축률은 그리 좋지 않아 저 비트레이트에서의 효율은 좋지 않지만, 고 비트레이트로 가면 갈수록 진가를 발휘하는 코덱이다. TV를 위한 인터레이스 기술같은 것들도 잡다하게 들어갔고 DVD에서도 기본적으로 쓰이는 코덱이다.

이때부터 다양한 용도에 맞는 가이드라인을 제시하기 위해 Profile과 Level 개념을 본격적으로 세분화 및 체계화되었다.[5] 둘다 영상물의 화질을 좌우하는 요소이긴 하지만 차이점이 있다. Profile은 크로마 샘플링을 비롯한 잡다한 기법들이 적용된 가짓 수 혹은 스펙의 정도를 구분하는데 이것저것 많이 적용될수록 최고화질을 보장하지만 같은 용량과 해상도라도 그만큼 하드웨어 자원(CPU, 그래픽 하드웨어 따위)을 가장 많이 요구한다는 단점이 있다. Level은 영상물 자체의 해상도, 프레임속도(fps), 비트레이트같은 주로 양적인 부분을 담당하여 구분하는데 동영상 관련 전문 지식이 없는 일반 유저들도 이해하기 그나마 쉽다. 물론 진정한(?) 일반 유저라면 오로지 용량만 따질 것이다... 복잡한 스펙 차이로 인해 일반적으로는 일종의 프리셋처럼 이 둘의 요소가 조합된 규격으로 구분하는 편이다.
가장 많이 사용되는 DVD 규격은 Main Profile 및 Main Level에 해당되고, HDTV 방송 및 HD급 영상물을 담을 수 있는 블루레이 디스크 규격은 Main Profile과 High Level의 조합으로 이루어져 있으며, Main Profile과 Low Level 조합으로 과거 VCD급 해상도의 영상물도 제작할 수는 있다. 다만, 저사양에 최적화된 규격이 아니기 때문에 압축 효율이 좋지 않아 비트레이트를 어쩔 수 없이 높게 잡을 수밖에 없는데, 그렇게 되다 보니 담을 수 있는 재생 시간이 그만큼 짧아져 채택되는 사례가 사실상 없다. 대신에 과거 셋톱박스나 휴대용 기기에서 주로 사용되었다.

어떻게 보면 장수만세라고 불릴수 있는 코덱인데, 그 이유는 2015년에도 한국을 비롯한 많은 국가에서 디지털 HDTV의 표준규격으로 잘 쓰이고 있기 때문이다. 다만 2015년 기준으로는 낡은 코덱이기는 마찬가지여서 비트레이트를 15Mbps 미만으로 낮추면 깍두기 현상이 잘 나타난다는 단점이 있다(DVD를 봐도 그러하다). 이 문제 때문에 한국에서 TV MMS(일종의 다중방송) 추진이 실패하기도 했다. 상기한 이유로 UHD TV, 3D TV, IPTV 용으로는 쓰이지 않는다. 저런 플랫폼들은 지상파 DTV와 달리 비교적 최신 기술들이라서 굳이 오래되었고 화질이 떨어지는 H.262를 쓸 이유가 없기 때문.

원래 디지털 HDTV용으로 MPEG-3가 개발중이었는데, 해상도 및 비트레이트같은 스펙을 제외하고 기술적인 기반은 MPEG-2와 상당수 겹치는 부분이 많아 표준화 작업이 중단되고 기존 MPEG-2에 편입되었다. 그래서 지금의 MPEG-2가 DVD에서나 볼 수 있는 SD 화질의 480p급부터 HDTV 방송, 훗날에 등장한 블루레이 디스크에도 채택된 HD 화질의 720p, 1080p급까지 광범위한 규격으로 남을 수 있었던 것.

5 H.263, MPEG-4 Part.2

1999년 발표된 규격으로, MPEG-2 part.2/H.262는 컴퓨터 스트리밍에 있어서 약점을 가졌기에 이에 대응하기 위하여 만들어진 스트리밍용 규격의 코덱이다. MPEG-1 part.2/H.261의 스트리밍과 MPEG-2 part.2/H.262의 화질이라는 강점을 모두 반영한 개념.
우여곡절이 많은 코덱이었는데, 바로 이 코덱이 흔히 DivX라고 불리우는 코덱의 기반이다. 이 MPEG-4 part.2를 가지고 자신의 입맛에 맞게 변조한 것이 ASF 컨테이너의 비디오 부분인 MS-MPEG-4이고, 이것을 다시 어떤 유저가 내부 코드를 살짝 바꿔 내놓은것이 바로 DivX다. 많은 사람들은 MS나 DivX사가 최신예 코덱을 만든 줄 알았지만 사실 표준을 가지고 자기들 멋대로 변조한데다가 호환도 안되게 만들어놔서[6] 아는사람들한테는 가루가 되도록 까였다(...) 이후 MS나 DivX사나 결국 이 MPEG-4 part.2 표준에 호환되도록 수정하였다. 그리고 DivX의 유료화에 빡쳐 2001년 초에 설립한 오픈소스그룹에서 3년동안 개발하고 안정화시킨 후 발표한 코덱이 바로 Xvid.[7] DivX를 거꾸로 쓴것.
비슷한 시기에 등장한 H.263은 그동안 서로 같은 의미로 쓰였던 MPEG-1 part.2/H.261, MPEG-2 part.2/H.262와는 달리 MPEG-4 part.2와 다른 규격으로 취급되었지만 한때 모바일 환경의 스트리밍용 동영상이나 화상 회의 및 화상 전화용[8]으로 사용되었으며, 화질 및 성능은 MPEG-4 part.2 기반과 큰 차이가 없다. DivX, Xvid만큼의 고해상도로 사용되지 않았을 뿐.

최초에 공개되었을땐 용량대비 놀라운 화질을 보여주었고, 높은 사양으로 두번 놀라게 해주었다. 지금이야 저화질 영상이라고 까이지만, 이때는 크기도 주로 320x240에 MPEG-1 또는 Intel Indeo, RealMedia, CinePak 등이 주류였을 때였고, 640x480에 MPEG-2 또는 H.262는 짧은 길이의 동영상 클립 정도에서나 볼 수 있었다. 특히 DivX를 이용하면 약 1시간 정도의 DVD급 영상을 VCD 한 장에 담을 수 있었다. 당시 DVD는 최고화질이라고 각광받고 있었고, DVD급 영상을 VCD 한 장에 담을 수 있다는 것은 혁명 그 자체였다.[9]

6 H.264/MPEG-4 Part.10 (AVC)

2003년 발표된 동영상 표준규격으로서 기존 MPEG4 part.2보다 발전된 비디오 코딩이라 AVC(Advanced Video Coding)로도 통용된다. 화질 향상 겸 H.263의 두배의 압축률을 가지는것으로 목표로 개발되었고, 실제로 두배에 가까운 효율을 구현한다. H.262와 H.263 모두를 대체할 만한 코덱으로, 압축률도 좋을뿐더러 비교적 낮은 비트레이트에서도 좋은 화질을 가진다. 특히 이제까지의 MPEG 계열의 영상 코덱에서 잘 나타나던 눈엣가시인 깍두기 현상이 많이 줄어들었다. H.262/MPEG-2 Part.2 기반의 2시간 분량 DVD[10]를 H.263 또는 MPEG-4 Part.2(DivX, Xvid)에서는 VCD 2장에 담을 수 있었다면, H.264/MPEG-4 Part.10(AVC)에서는 VCD 1장에 담을 수 있는 압축 효율이라는 것.[11]

블루레이에 기본코덱으로 채택되었고, HD 방송규격에도 채택되어 싱가포르의 Mediacorp HD5가 2007년부터 세계 최초로 H.264로 송출되고 있다. 일본 일부지역과 유럽쪽에서도 H.264로 HD 방송이 송출되고 있다. 한국도 H.264로 바꿔주세요. 현기증 난단 말이에요. UHD TV, 3D TV, IPTV도 대부분 H.264를 쓰고 있다.[12]

정말 놀라운 화질을 보여줬지만 DivX, Xvid 대비 놀랍도록 높은 성능을 요구했기에 보급화는 더뎠다. 발표 당시의 컴퓨터 사양으로는 벅차서 발표한지 3년 후 2006년 중반에 Core 2가 나올때까지는 CPU 성능만으로는 Full HD는 커녕 HD 영상 조차 재생하기에는 벅찼다. 이후의 펜티엄 D에 와서야 별다른 조치 없이 720P 영상이 간신히 재생되었을 정도. 그래서 나온 기술이 MS의 DXVA이나 인텔 Clear Video[13]와 Quicksync Video[14], AMD Avivo HD[15], NVIDIA PureVideo이다. 하지만 이런 가속 버프를 받으려면 해당 기술을 지원하는 그래픽카드를 장착하고 셋팅해야 가능한데, 설령 H.264 하드웨어 가속을 지원하는 보급형 그래픽카드가 장착된 PC가 많았더라도 엔비디아 제어판, 동영상 플레이어의 코덱 설정 등 그걸 다룰줄 아는 일반인들이 상대적으로 많지 않고 운영체제 자체적으로 지원하지 않았을 때라 널리 쓰이기까지 규격 발표 이후 7년이나 걸렸던 것이다. 그래도 기술의 발전은 무서운 것이여서 2011년부터는 PC뿐만 아니라 일부 하이엔드급 스마트폰으로도 웬만한 H.264 1080p 30fps 정도는 가뿐하게 돌리는 편이다. PC의 경우 Windows 7이 제대로 돌아갈 성능이라면 이 코덱의 영상 재생에는 기본적인 문제는 없다. 다만 QFHD(4K UHD 3840×2160) 이상의 해상도에서는 어지간한 컴퓨터에서도 재생이 어려운 좌절영상이 되기 쉽다.

따라서 나무위키의 관련 항목에 서술된 내용만 보면 무슨 괴물코덱이??? 할 수도 있지만, 서술된 내용이 갱신이 안 돼서 그런것이지 실제로 2016년에 와서는 그리 부담이 되는 코덱이 아니다. Windows 7 운영체제에 2007년 이후 출시된 듀얼코어급 CPU라면 무난하게 1080p영상을 감상할 수 있다. 이러한 편견을 가지게 해 준 원흉은 초창기에 제대로 GPU 가속을 지원하는 코덱의 보급이 늦었고 2009년에 출시한 Windows 7에 들어서야 H.264용 코덱이 기본으로 내장되었기 때문이다. 2010년 이후부터는 개나소나 쉽게 재생이 가능하도록 소프트웨어 보급이 완료되었다.

H.264 코덱은 압축률이 정말 좋으나 인코더 성능과 옵션에 따라 개떡이 될 수도 있다. 특히 네이버스포츠 저화질 중계에서 갑자기 깍두기가 창궐하는 모습을 쉽게 찾아볼수 있는데 인코딩 속도를 위해 움직임 검색 옵션을 대폭 낮췄기 때문이다. x264의 경우 초창기에는 기본 옵션이 최적화되지 못해서 그냥 인코딩하면 화질이 별로였지만 2009년 이후로는 최적화된 preset을 내장시켰기때문에 기본값으로 대충 인코딩해도 최상의 결과를 얻을 수 있다. 괜히 옵션 건드린다고 힘빼지말자. 참고로 인텔 i5급은 되야 720p 30fps 영상을 실시간으로 인코딩할 수 있다. 스마트폰은 훨씬 구린 CPU로 4k급 인코딩이 가능한 기종이 있는데 그건 전용 하드웨어(DSP)와 그 하드웨어에 최적화된 코덱을 사용하기 때문이다.

사실 H.264는 개발될 당시의 컴퓨터 사양이 부족하다는 것을 알았고 이에 따라 몇가지 규약에 맞추면 저사양에서도 무리없게 돌릴 수 있도록 설계가 되있다. 이것을 프로파일과 레벨이라고 하는데 이와 관련된 내용은 영문위키백과에 상세히 나와있다.참고 영어의 압박 물론 고사양 용으로 만들어진 영상을 저사양에서도 돌릴 수 있다는 말은 아니라는게 함정. Deblock필터같은걸 꺼서 저사양에서도 안끊기게 보는 방법도 있지만 대신 깍두기가 난무한다.

만일 H.264영상이 제대로 돌아가지 않아 고민이라면 LAVFilters항목을 참고

6.1 H.264 Profile 버전

6.1.1 Version 1 (2003년)

  • Baseline : H.264 중에서 복잡도가 가장 낮은 타입으로, 주로 스마트폰, 태블릿, 동영상 기능이 있는 MP3 플레이어에서 재생할 동영상에 많이 쓰인다. 화질이 중요하지 않고, 모바일 기기에 주로 재생할 것이라면 이 타입으로 인코딩하는 것이 좋다. 하지만 2015년 기준으로 스마트폰과 태블릿의 성능이 많이 향상되어 초저가형이 아닌 이상 굳이 이 프로파일을 고집할 필요는 없다. 참고로 EBSi의 인강 동영상 파일은 720p급 조차도 이 프로파일로 인코딩되어 있다.
  • Main : 중간 타입. 480p 동영상은 이쪽이 많다. SD화질 방송용으로도 쓰인다.
  • Extended : 데이터가 일부분 누락되어도 최대한 재생이 되도록 스트리밍에 최적화 되어있다.

6.1.2 Version 2 (2004년)

기존 Version 1의 마이너 체인지 버전.

6.1.3 Version 3 (2005년)

  • High : HD급 혹은 Full HD급 고화질 동영상에 많이 쓰인다. 연산이 가장 많이 소요되는 타입이라 저사양 기기에서 사용시 CPU에 무리를 줄 수 있다. 720p 이상 동영상에 많다. Full HD급 최신 태블릿은 High를 지원하므로, High로 맞춰 인코딩 하자.
  • High 10
  • High 4:2:2
  • High 4:4:4

6.1.4 Version 4 (2005년)

기존 Version 3의 마이너 체인지 버전. 새로운 종횡비가 일부 추가.

6.1.5 Version 5, 6 (2006년)

Version 3부터 존재했던 High 4:4:4 프로필이 제거되고 확장된 색역을 추가.

6.1.6 Version 7 (2007년)

  • High 4:4:4 Predictive
  • High 10 Intra
  • High 4:2:2 Intra
  • High 4:4:4 Intra
  • CAVLC 4:4:4 Intra

6.1.7 Version 8 (2007년)

  • Scalable Video Coding(SVC) 기술이 추가.
  • Scalable Baseline
  • Scalable High
  • Scalable High Intra

6.1.8 Version 9 (2009년)

기존 Version 8의 마이너 체인지 버전.

6.1.9 Version 10 (2009년)

  • Constrained Baseline

6.1.10 Version 11 (2009년)

  • Multiview Video Coding(MVC) 기술이 추가.
  • Multiview High

6.1.11 Version 12, 13 (2010년)

  • Stereo High

6.1.12 Version 14, 15 (2011년)

  • 4K UHD 해상도를 지원하는 Level 5.x 항목이 추가.
  • Progressive High

6.1.13 Version 16 (2012년)

  • Constrained High
  • Scalable Constrained Baseline
  • Scalable Constrained High

6.1.14 Version 17, 18, 19, 20 (2013년)

  • 3D 스테레오스코픽 비디오를 위한 깊이 맵 데이터 코딩이 추가.
  • 멀티뷰 비디오를 위한 확장된 서브-비트스트림의 에러 검출 기능이 추가.
  • 4K UHD TV를 위한 Rec. 2020 색공간 추가.
  • Multiview Depth High

6.1.15 Version 21, 22 (2014년)

  • Enhanced Multiview Depth High
  • Multi-resolution Frame Compatible(MFC) High

6.2 H.264 Levels

Level최대 비트레이트최대 해상도
최대 프레임속도
Baseline Profile
Main Profile
Extended Profile
High ProfileHigh 10 Profile
1.064kbps80kbps192kbps128x96 30.9fps
176×144 15.0fps
1.0b128kbps160kbps384kbps
1.1192kbps240kbps576kbps176×144 15.0fps
320x240 10.0fps
352x288 7.5fps
1.2384kbps480kbps1,152kbps320x240 20.0fps
352x288 15.2fps
1.3768kbps960kbps2,304kbps320x240 36.0fps
352x288 30.0fps
2.02Mbps2.5Mbps6Mbps
2.14Mbps5Mbps12Mbps352x480 30.0fps
352x576 25.0fps
2.2352x480 30.7fps
352x576 25.6fps
720×480 15.0fps
720×576 12.5fps
3.010Mbps12.5Mbps30Mbps352x480 61.4fps
352x576 51.1fps
720×480 30.0fps
720×576 25.0fps
3.114Mbps17.5Mbps42Mbps720×480 80.0fps
720×576 57.6fps
1280×720 30.0fps
3.220Mbps25Mbps60Mbps1280×720 60.0fps
1280x1024 42.2fps
4.01280×720 68.3fps
1920x1080 30.1fps
2048x1024 30.0fps
4.150Mbps62.5Mbps150Mbps
4.21280×720 145.1fps
1920x1080 64.0fps
2048x1080 60.0fps
5.0135Mbps168.75Mbps405Mbps1920×1080 72.3fps
2048x1024 72.0fps
1920x1080 67.8fps
2560×1920 30.7fps
3672×1536 26.7fps
5.1240Mbps300Mbps720Mbps1920×1080 120.5fps
2560×1920 51.2fps
3840×2160 31.7fps
4096×2048 30.0fps
4096×2160 28.5fps
4096×2304 26.7fps
5.21920×1080 172.0fps
2560×1920 108.0fps
3840×2160 66.8fps
4096×2048 63.3fps
4096×2160 60.0fps
4096×2304 56.3fps

7 H.265/MPEG-H Part.2 (HEVC)

2013년에 발표된 최신 규격으로 자세한 내용은 H.265 또는 HEVC 문서 참조.
  1. 영상 부호화 전문가 그룹으로서 ITU-T의 내부부서 이름이다.
  2. 사실 대부분의 표준은 특허권이 걸려있기에 무료가 아니다.
  3. # 참고. 정확한 무료 허용량은 직접 문의해서 확답을 받아보자.
  4. x264의 경우 특허 로열티는 별개라고 되어 있다. # 참고.
  5. MPEG 계열 규격도 마찬가지이다.
  6. 상대적으로 유명한 H.264의 예를 들자면, 인코딩 방법을 변조하는 것 자체는 문제가 없지만, 디코딩은 문제없이 되도록 하고 있다. 애플 H.264나 소니의 H.264가 좋은 예시.
  7. 1.0.0버전을 발표한 2004년 이후 DivX의 자리를 빠르게 대체하면서 5년 동안 동영상 코덱의 1인자로 자리잡고 있었다. 2010년 이후에는 Windows 7의 H.264 기본 지원 겸 하드웨어 성능의 상향 평준화로 인해 Xvid는 H.264로 빠르게 대체되기 시작했다.
  8. 생성되는 파일인 3gp 컨테이너의 비디오 부분이다.
  9. 그런데 약간의 꼼수가 있는게 용량을 줄이기 위해 DVD에 비해 키프레임을 훨씬 적게 넣었다. 그래서 데이터가 깨진 경우 화면에 수십초 이상 흔적이 남기도 했다. 그래서 이런 꼼수 없이 최상의 화질을 위해 CD 3장급 이상의 용량으로 셋팅하는 경우도 있었다.
  10. 일반적인 DVD는 최대 135분(2시간 15분) 분량을 담을 수 있다.
  11. 물론 꼼수가 동원되어야 1장이라는 것이지 꼼수 없이 변환하려면 VCD 1장 반 정도인 1GB 용량은 되어야 한다.
  12. UHD 방송의 경우 표준이 거의 HEVC로 굳어지고 있지만 일본등의 국가에서는 H.264를 쓴다. 한국는 HEVC사용
  13. 인텔 메인보드 내에 온보드 형태로 내장된 GMA 계열의 디코더 전용 기술이었다.
  14. 샌디브릿지부터 적용된 인텔 비디오 인코더 겸 디코더 기술이다.
  15. UVD를 가리키는 기술이다.