나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2024-08-02 10:44:48

H.264

AVC1에서 넘어옴
🎞️ 비디오 코덱 및 포맷
{{{#!wiki style="margin: 0 -10px -5px; min-height: 26px"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -6px -1.5px -13px"
<colbgcolor=#555>
<colbgcolor=#555>MPEG-1 · MPEG-2 Part 2(H.262) · MPEG-4 Part.2 (DivX · Xvid) · H.261 · H.262 · H.263 · H.264 · H.265 · H.266
기타DV · WMV · Theora · VP8 · VP9 · AV1 · Apple ProRes · Bink · GoPro CineForm · Motion JPEG
컨테이너(확장자)ASF · AVI · BIK · FLV · MKV · MOV · MP4 · MPEG · OGG(OGV) · SKM · TS · WebM · WMV
관련 틀: 그래픽 · 오디오 · 비디오
}}}}}}}}} ||


1. 개요2. 효율
2.1. 2010년대 중반 이후
3. 방송 규격4. 느린 보급 속도5. 프로파일
5.1. 종류
6. 버전7. 레벨8. 여담

1. 개요

2003년에 발표된 동영상 표준 규격. 기존 MPEG-4 Part 2보다 발전된 비디오 코딩이라 AVC(Advanced Video Coding)로도 통용된다. FourCC[1]는 AVC1 혹은 H264이다.

후속 규격인 H.265(HEVC), H.266(VVC)가 등장했으나, 해당 규격의 압축 알고리즘 복잡성으로 인한 성능문제(과부하[2])와 복잡한 라이선스 문제[3]가 있어, 여전히 H.264가 현역으로 사용된다. 다만 VP9,AV1의 도래 및 사용자들의 고해상도 모니터의 급속도로 늘어나며 현역은 현역이나 이제는 한계가 조금씩 드러나는 중인 코덱이다.

2. 효율

화질 향상 겸 H.263의 두 배의 압축률을 가지는 것으로 목표로 개발되었고, 실제로 두 배에 가까운 효율을 구현한다. H.262와 H.263 모두를 대체할 만한 코덱으로, 압축률도 좋을뿐더러 비교적 낮은 비트레이트에서도 좋은 화질을 가진다. 특히 이제까지의 MPEG 계열의 영상 코덱에서 잘 나타나던 눈엣가시인 깍두기 현상이 많이 줄어들었다.

H.262/MPEG-2 Part 2 기반의 2시간 분량 DVD(통상 2시간 15분 분량)를 H.263 또는 MPEG-4 Part 2(DivX, Xvid)에서는 VCD 2장에 담을 수 있었다면, H.264/MPEG-4 Part 10(AVC)에서는 VCD 1장에 담을 수 있는 압축 효율이라는 것. 사실 꼼수가 동원되어야 1장이라는 것이지 꼼수 없이 변환하려면 VCD 1장 반 정도인 1GB 용량은 되어야 한다. (VHS나 12cm 디스크를 넣는 카메라처럼 미니 디스크를 넣는 타입에 쓰라고 만든 6cm짜리를 쓰면 1.4~1.6GB 정도가 나온다. 듀얼 레이어 미디어만 2GB대이다. 가격은 M.disc 가격만큼 비싸다.) 그래도 압축수준의 차이일 뿐 기존 코덱보다 압축률은 좋다.

2.1. 2010년대 중반 이후

H.265, VP9, AV1과 같은 고사양 고압축 코덱이 등장하고 MPEG-2, Xvid, WMV와 같은 저압축 코덱을 거의 사용하지 않게 됨에 따라 H.264는 압축률이 낮고 가볍다는 인식이 자리 잡았다.

H.264 코덱은 압축률이 상대적으로 정말 좋으나, 인코더 성능과 옵션에 따라 절대적인 화질이 개떡이 될 수도 있다. 해상도가 높은 영상을 과거와 같은 대역폭(bps)으로 인코딩을 하면 화질에 손해를 볼 수밖에 없고, 이를 방지하기 위해 최신코덱을 찾게 된다.

실시간 인코딩[4]에서 움직이는 피사체(픽셀)이 많아지면 갑자기 깍두기가 창궐하는 모습을 쉽게 찾아볼 수 있다. 한정된 비트레이트 제약 안에서 인코딩을 해야 하는데, 인코딩 속도를 위해 움직임 검색 옵션을 대폭 낮춰 효과적인 압축을 할 시간이 없기 때문이다. 때문에 최신코덱(실시간 인코딩을 위해 하드웨어 인코딩 수행) 영상보다 화질이 매우 떨어지는 것이다. 네이버스포츠 저화질 중계, 꽃가루가 날리는 음악방송 등에서 깍두기가 출몰한다. 이를 해결하기 위해서는 충분히 높은 대역폭(bps)를 제공해주면 참 쉽게 해결이 된다. 왠지 이 말은 과거 MPEG2 국내 지상파 HD방송 시점에서도 했던 말이긴 하지만(...)

3. 방송 규격

블루레이에 기본 코덱으로 채택되면서 H.264가 사용되기 시작되었다.

2006년 12월, HD 방송 규격에도 채택되어 싱가포르의 Mediacorp HD5가 세계 최초로 H.264로 송출되었다. DVB-T 방식으로 방송되었다.[5]

이어서 일본 일부 지역과 유럽 쪽에서도 H.264로 HD 방송이 송출되기 시작했다. 이즈음 한국도 H.264로 바꿔주세요. 현기증 난단 말이에요란 밈이 퍼지기도 했다. 일단 IPTV, 케이블 UHD 방송을 중심으로 H.264로 전환되기 시작했다. 지상파 방송의 경우 H.262(MPEG2)에서 H.264로 넘어가기 이른감이 있어 지지부진 하다가 지상파 UHD 방송을 시작히는 기점(2016년 전후)에 H.264를 건너뛰고 ATSC 3.0 즉 H.265를 채택했다. 모바일 방송인 DMB는 처음부터 H.264를 채택했다.

4. 느린 보급 속도

정말 놀라운 화질을 보여줬지만 DivX, Xvid 대비 놀랍도록 높은 성능을 요구했기에 보급은 더뎠다. 발표 당시의 컴퓨터 사양으로는 벅찼고 제대로 GPU 가속을 지원하는 코덱의 보급마저 늦었으며 발표한 지 3년 후 2006년 7월 코어 아키텍처 기반의 코어2 듀오가 출시되기 전까지는 CPU 성능만으로 1080p Full HD는커녕 720p HD 영상조차 재생하기에는 벅찼다. 2005년 펜티엄 D에 와서야 별다른 조치 없이 720p 30fps 영상이 간신히 재생되었을 정도. 그래서 하드웨어 가속을 GPU에 구현하는 쪽으로 선회했으며, 이를 추상화하는 인터페이스가 MS의 DXVA이다. 주요 GPU 가속 기술은 다음과 같다.

이런 가속 버프를 받으려면 해당 기술을 지원하는 그래픽카드를 장착하고 셋팅해야 가능하다. 설령 H.264 하드웨어 가속을 지원하는 보급형 그래픽카드가 장착된 PC가 많았더라도 엔비디아 제어판, 동영상 플레이어의 코덱 설정 등 그걸 다룰 줄 아는 일반인들이 상대적으로 많지 않고 운영체제 자체적으로 지원하지 않았을 때라 널리 쓰이기까지 규격 발표 이후 6년 넘게 걸렸던 것이다. 그래도 기술의 발전은 무서운 것이어서 2009년에 출시된 Windows 7에 들어서야 H.264용 코덱이 기본으로 내장되고, 그 시기에 대응 소프트웨어도 널리 보급된데다 CPU 성능도 나날이 높아져서 널리 사용하게 되었다.

Windows 7이 제대로 돌아갈 성능이라면 이 코덱의 영상 재생에는 기본적인 문제는 없다. Windows 7 운영체제에 2006년 7월 이후에 출시된 중급형 라인 이상의 코어2 듀오 CPU라면 무난하게 1080p 영상을 감상할 수 있다. 2011년부터는 PC뿐만 아니라 일부 하이엔드급 스마트폰으로도 웬만한 1080p 30fps 정도는 가뿐하게 돌리는 편이다. 단, 4K UHD(3840×2160) 이상의 고해상도에서는 어지간한 컴퓨터에서도 재생이 어려운 좌절영상이 되기 쉽다.

5. 프로파일

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

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

5.1. 종류

6. 버전

7. 레벨

Level 최대 비트레이트 최대 해상도
최대 프레임속도
Baseline Profile
Main Profile
Extended Profile
High Profile High 10 Profile High 422 Profile
High 444 Profile
1.0 64kbps 80kbps 192kbps 256kbps 128x96 30.9fps
176×144 15.0fps
1.0b 128kbps 160kbps 384kbps 512kbps
1.1 192kbps 240kbps 576kbps 768kbps 176×144 30.3fps
320x240 10.0fps
352x288 7.5fps
1.2 384kbps 480kbps 1,152kbps 1,536kbps 320x240 20.0fps
352x288 15.2fps
1.3 768kbps 960kbps 2,304kbps 3,072kbps 320x240 36.0fps
352x288 30.0fps
2.0 2Mbps 2.5Mbps 6Mbps 8Mbps
2.1 4Mbps 5Mbps 12Mbps 16Mbps 352x480 30.0fps
352x576 25.0fps
2.2 352x480 30.7fps
352x576 25.6fps
720×480 15.0fps
720×576 12.5fps
3.0 10Mbps 12.5Mbps 30Mbps 40Mbps 352x480 61.4fps
352x576 51.1fps
720×480 30.0fps
720×576 25.0fps
3.1 14Mbps 17.5Mbps 42Mbps 56Mbps 720×480 80.0fps
720×576 66.7fps
1280×720 30.0fps
3.2 20Mbps 25Mbps 60Mbps 80Mbps 1280×720 60.0fps
1280x1024 42.2fps
4.0 1280×720 68.3fps
1920x1080 30.1fps
2048x1024 30.0fps
4.1 50Mbps 62.5Mbps 150Mbps 200Mbps
4.2 1280×720 145.1fps
1920x1080 64.0fps
2048x1080 60.0fps
5.0 135Mbps 168.75Mbps 405Mbps 540Mbps 1920×1080 72.3fps
2048x1024 72.0fps
1920x1080 67.8fps
2560×1920 30.7fps
3672×1536 26.7fps
5.1 240Mbps 300Mbps 720Mbps 960Mbps 1920×1080 120.5fps
2560×1920 51.2fps
3840×2160 31.7fps
4096×2048 30.0fps
4096×2160 28.5fps
4096×2304 26.7fps
5.2 1920×1080 172.0fps
2560×1920 108.0fps
3840×2160 66.8fps
4096×2048 63.3fps
4096×2160 60.0fps
4096×2304 56.3fps
6.0 3840x2160 128.9fps
7680x4320 32.2fps
8192x4320 30.2fps
6.1 480Mbps 600Mbps 1,440Mbps 1,920Mbps 3840x2160 257.9fps
7680x4320 64.5fps
8192x4320 60.4fps
6.2 800Mbps 1Gbps 2.4Gbps 3.2Gbps 3840x2160 300fps
7680x4320 128.9fps
8192x4320 120.9fps

8. 여담



[1] Four Character Code. 여기서는 동영상 코덱을 표시하는 4바이트 코드를 말한다.[2] H.265는 H.264보다 약 5배 이상의 연산량을 요구하며, H.266은 16K 영상과, 360도 영상등 미래를 생각하여 개발된 규격이기에 그 H.265보다도 최대 10배 이상 무겁다. 고로 H.264대비 약 50배 무거운셈.[3] 윈도에선 H.265 디코더를 1200원에 팔고있다. 유료로 구입한 장치(하드웨어)의 제조사가 코덱을 무료로 제공해 주거나, 개인용/비상업용으로 제한된 코덱 내장 플레이어를 쓰면 해결되는 문제지만, 플러그인 개념이 희박한 일반인은 그냥 H.265 영상이 기본 프로그램으로 재생이 안 된다고 보고 포기하는 경우가 많다. 이에 앞서 애초에 "상업용"으로 H.265 영상을 제공하지 않는 곳이 매우 많다.[4] 인코딩 할 충분한 시간을 주지 않는다. 최신코덱의 강력한 압축성능을 활용할 시간조차 없다. 때문에 오래 사용되어 기술이 성숙한 익숙한 코덱을 쓰는 경향이 있다. 아니면 하드웨어 가속 인코딩을 쓴다. 애초에 여유를 두고 인코딩 하는 것에 비해 화질은 떨어지는 경향이 있는게 정상이다.[5] 하지만 2013년부터 싱가포르 디지털 TV가 DVB-T2로 완전 이행되고 채널 5를 포함한 모든 채널이 HD화되면서 2017년 3월 1일에 방송을 종료했다.[6] 샌디브릿지 시절 기준.