H.265

(HEVC에서 넘어옴)

h-265-etoimo-na-ferei-hd-vinteo-se-diktya-me-chamilo-bandwidth.jpg

1 개요

2013년 4월에 발표된 MPEG-H Part.2 규격으로 기존보다 압축 효율이 높아서 HEVC(High Efficiency Video Coding)라고도 한다.[1] 동영상을 손실 압축하여 저장하는 비디오 표준이자 2013년 이후 영상업계 최대의 떡밥. 2003년 H.264 발표 이후 10년만에 후속으로 등장했다.

H.265는 기술적으로 보면 복잡도가 H.264에 비해 5배 정도 늘어나고 압축률이 H.264 대비 최대 50%까지. 동일 화질(PSNR)로 따지면 대략 30%를 웃도는 정도의 압축률을 보인다. MPEG-2 기반의 2시간 분량 DVDDivX 또는 Xvid로 VCD 2~3장 분량, H.264로 VCD 1~1.5장 분량이었다면, H.265는 무려 VCD 반 장 분량인 셈.[2]

HEVC를 표준화시킨 그룹은 JCT-VC(Joint Collaborative Team on Video Coding)이며 여기엔 ITU-T/ISO/IEC가 참여했다. ITU-T는 VCEG(Video Codeing Experts Group)이 있어 H.시리즈 표준화, ISO/IEC에 MPEG(Moving Picture Experts Group)이 있어 MPEG 시리즈를 표준화시켰다. 항상 둘이 앙숙. (표준화 회의를 가서 MPEG쪽 Chairman이 있을 땐 H.264라고 하면 안되고 VCEG쪽 Chairman이 있을 땐 MPEG4라고 얘기하면 안되고, 그렇게 잘못 얘기 하면 눈치가 보인다는 후문.)

H.264 에서는


* 8-pel Motion Vector Resolution
* Adaptive Interpolation Filter
* Motion Vector Competition
* Adaptive Prediction Error Coding in Spatial
* and Frequential Domain
* Adaptive Quantization Matrix Selection

를 업데이트했다면, H.265 에선


* Extended Macroblock Size (EMS)
* Large Transform Size (LTS)
* Internal Bit Depth Increading (IBDI)
* Sample Adaptive Offset (SAO)
* context-adaptive binary arithmetic coding (CABAC)

를 이용한다.

기본적으로 코딩 블록 크기를 16X16에서 64X64로 키우고, 그에 맞추어 다른 기술들의 정밀도/연산 단위를 키운 덕이 크다. 그리고 그만큼 인코딩하기 힘들어졌다. 포맷은 기존의 H.264를 기반으로 확장하였다.

2 Profile

2.1 Version 1 (2013년)

H.265의 기본 Profile로 Main(8비트 영상), Main 10(10비트 영상)이 있으며, Main Still Picture[3]도 포함되어 있다.

  • Main
  • Main 10
  • Main Still Picture

2.2 Version 2 (2014년)

기존 Profile에 비해 상당히 많은 표준들이 추가되었는데 흑백 영상을 위한 Monochrome Profile[4], Intra 프레임으로만 이루어진 영상 프로파일인 Main Intra[5], 인터넷 스트리밍과 방송용으로 적합한 Scalable Profile, 여러 대의 카메라로 촬영한 영상을 합성해 다양한 시점을 만들어낼 수 있는 다시점(Multiview) 비디오를 위한 Multiview Profile, H.264의 High Profile처럼 고사양을 요구하는 High Throughput 4:4:4 16 Intra Profile이 추가되었다. 각 Profile도 기존의 4:2:0 컬러포맷을 비롯해 4:2:2[6], 4:4:4 컬러포맷을 지원하게 되었고 비트수도 기존의 10비트에서 12, 16비트까지 지원하게 되었다.[7]

  • Main 12
  • Main 4:2:2 10
  • Main 4:2:2 12
  • Main 4:4:4
  • Main 4:4:4 10
  • Main 4:4:4 12
  • Main 4:4:4 16 Intra
  • Main 4:4:4 Still Picture
  • Main 4:4:4 16 Still Picture
  • High Throughput 4:4:4 16 Intra
  • Monochrome
  • Monochrome 12
  • Monochrome 16
  • Scalable Main
  • Scalable Main 10
  • Multiview Main

2.3 Version 3 (2015년)

High Throughput 계열 Profile이 하나밖에 없었던 Version 2 Profile과는 달리 여러 하위 스펙의 High Throughput 계열 Profile들이 추가[8]되었고, 3D 영상을 위한 3D Main Profile, 실사가 아닌 그래픽/애니메이션 영상에 적합한 Screen-Extended Main Profile, High Throughput 계열 특성과 합쳐놓은 Screen-Extended High Throughput Profile,[9] 흑백 영상용인 Monochrome과 스트리밍용인 Scalable 특성을 모두 반영한 Scalable Monochrome Profile, 그리고 기존 Scalable Main에서 4:4:4 컬러 포맷을 지원하는 Profile이 추가되었다.

  • High Throughput 4:4:4
  • High Throughput 4:4:4 10
  • High Throughput 4:4:4 14
  • 3D Main
  • Screen-Extended Main
  • Screen-Extended Main 10
  • Screen-Extended Main 4:4:4
  • Screen-Extended Main 4:4:4 10
  • Screen-Extended High Throughput 4:4:4
  • Screen-Extended High Throughput 4:4:4 10
  • Screen-Extended High Throughput 4:4:4 14
  • Scalable Monochrome
  • Scalable Monochrome 12
  • Scalable Monochrome 16
  • Scalable Main 4:4:4

3 Level과 Tier

H.262/MPEG-2 Part.2 시절에 만들어진 레벨 개념에다가 티어(Tier) 개념이 추가되었다. 더 복잡해졌지만 스펙이 넉넉해진만큼 같은 레벨이라도 Main Tier, High Tier로 세분화했으며, High Tier은 최대 비트레이트 수가 Main Tier에 비해 더 높다. Level 4 이상부터 High Tier를 사용할 수 있다.
규격이 처음 등장한 이래 8년 후에야 4K UHD 해상도가 추가된 H.264와는 달리 이쪽은 처음부터 Level 6.28K 128fps까지 표준화한 상태.

4 UHD TV 떡밥

기존 방송업계에선 솔직히 내부 편집할 때 매개코덱(ProRes나 DnxHD 같은)을 쓰거나 RAW를 이용해 촬영하다 보니 별문제도 없었고, 송출할 때야 당연히 1080p로 다운샘플링한 다음에 모듈레이터에 때려 박으면 볼만한 화질로 H.264 코딩되어 나가니 신경 쓸 일도 없었다. 일반 청취자들한테 치이고 클래식덕후들에게도 치이는 KBS 1FM과는 참 다른 분위기 (...) [10]

영화관? 영화관의 경우엔 디지털 상영하는 영화관에서 까고 말하면 SONY의 4K LCOS프로젝터나 바코의 4K 프로젝터를 설치하는 경우는 극히 드물었으며, 이것의 이용도 Dual Link HD-SDI를 2개 연결한 뒤 전용 재생기를 이용하는 편이었다.[11] 이게 아닌 경우는 NEC 등에서 나오는 2K 프로젝터를 이용하는 편이었고, 영화 상영이 아닌 제작과정에선 위와 같은 현실.

그러나 시대가 지나면서 4K 컨슈머 시장이 슬슬 발돋움 하기 시작했다. 2013년에 들어서 CES와 같은 행사에선 모두 4K 디스플레이 경쟁이 이어졌으며, 8K의 해상도를 보이는 디스플레이와 송출장비 및 카메라 등이 주요한 화제가 되었다. 물론, 모바일 분야의 경우 400ppi를 넘기는, 즉 1080p 해상도를 5인치 내에 담아내는 것에 혈안이 되어 있었고. 이에 따라, 4K 디스플레이에서 이용 가능한 4K 영상이 필요하게 되었는데, 현실적으로 가장 이용하기 쉬운 것이 H.265였기 때문에 이 포맷의 등장은 업계에서 상당히 민감한 반응을 만들 수밖에 없었다. (RAW 로 방송 송출할 수 있을까? 대역폭 60Gbps 주면 몰라도, 현재 공중파 방송의 대역폭은 높아봐야 30Mbps 이기 때문에 상당히 높은 압축률의 포맷이 아닌 이상 스트림을 띄울 수 없다. 애초에 HD나 그 이전에도 RAW로 방송 송출을 고려도 한 적이 없긴 하지만, H.264 기준으로도 4K를 위한 대역폭은 35Mbps는 잡아야 되며 유투브의 권장 업로드 인코딩 설정이 4K 30프레임 기준 35~45Mbps이다. 더구나 상기한 30Mbps도 넉넉하게 잡은 기준으로, 당장 대한민국에서 공중파 송출에 20Mbps이상을 쓰는 방송채널이 얼마나 되는지를 생각해 보자. H.264도 5.2레벨 프로파일[12]과 x.264 최신 버전의 최적화 설정 등 극한까지 짜내면 더 줄일수도 있겠지만 그렇게 되면 이것도 나름 디코더 호환성을 타게 되며[13] 인코딩 속도도 H.265 수준으로 느려진다. 더구나 저건 이미 극한까지 짜낸거라 거기서 이라는 점. 더 이상 발전할 여지가 매우 적다. 단순하게 생각하면 레벨 5.3이상을 추가하는 등 더 발전시키면 안 되냐고 생각할 수 있지만, 그렇게 하느니 차라리 새 표준을 만드는게 나은 지경에 왔기 때문에 H.265가 만들어진 것이다.)

한마디로 말해 H.265는 H.264에 비해 50% 이상 압축률이 높다는 것. 즉, 4K 미디어를 기존의 대역폭 내에서 서비스하는 것이 가능해진다는 것이다. 실제로 현재 파일 공유 서이트들을 통해서 재휴컨텐츠로 간간히 올라오는 지상파 시험방송 캡쳐 파일들을 비교해보면 1080p H.264 30FPS 스트림이나 4K HEVC 60FPS스트림이나 보통 드라마 한편당 10~15기가로 비슷한 용량을 보이고있다. 해상도와 프레임 레이트가 모두 올라갔는데도 비슷한 사이즈를 유지할수있는것. 이때문에 방송사들은 기존 대역폭 혹은 약간의 대역폭만 더 얻어도 안정적으로 HEVC 스트림을 뿌릴수 있다는 것이다. 또 깍두기 나오는 화면만들거 각오하고 비트레이트 줄이면 MMS도 가능하겠지

H.265에선 영상 압축 부분에서 비월주사(인터레이스 스캔)에 특화된 기능이 모두 제거되고 순차주사(프로그래시브 스캔)로만 영상을 저장한다. 대신 이미 나와 있는 비월주사 영상과 장비가 무척 많으므로 영상에 플래그를 두어 영상을 둘로 나누거나 짝수/홀수 필드를 모으는 식으로 비월주사 영상을 지원한다.

5 단점 및 요구 사양

영상코덱은 필시 압축을 할 때 여러 알고리즘을 사용하게 되는데, 압축률이 올라가는 만큼 알고리즘도 복잡해져서 H.265는 첫 등장 당시에도 소위 '좌절 영상'을 양산한 H.264에 비해 5배 이상의 연산량을 요구하기에 CPU의 부족한 연산성능만으로는 인코딩-디코딩이 매우 힘들다. (사실 H.264도 처음 나올 당시 사양 기준으론 대단히 무거웠으며, GPU의 DXVA 지원도 첫세대에는 기껏해야 Mocomp 정도라서 CPU를 도와주는 정도에 불과했으니 역사의 반복이라고도 볼 수 있다.) CPU만으로 재생이나 트랜스코딩을 시도하려고 한다면 재생만으로도 어지간한 PC에서는 4K-60프레임을 보장 할 수 없는 수준.

하지만 GPU의 막대한 병렬 연산능력을 이용한 디코딩이나 전용 하드웨어 디코더로 재생하는 것은 가능하여 모바일의 경우 2014년 양산된 스냅드래곤 801부터 전용 하드웨어 디코더를 이용한 재생을, PC에서는 2009년 양산된 AMD HD5000 시리즈부터 OpenCL을 이용한 GPU 소프트웨어 연산으로 H.265 재생이 지원되고 있으며, 지포스의 경우 케플러 시리즈부터 드라이버 업데이트로 DXVA HEVC 가속 재생을 지원(이는 DXVA Checker 프로그램으로도 확인할 수 있다)하나 이 역시 인터페이스만 DXVA고 내부에서 GPGPU(CUDA)를 끌어다 재생하기 때문에 성능에 제약이 크다. (다만 코덱이 OpenCL을 알아서 끌어다 쓰는거에 비해서는, DXVA를 통해 접근하면 지포스 드라이버가 알아서 해주기 때문에 지원 코덱 호환성이나 성능에서 조금 낫다 카더라) 진정한 DXVA HW가속으로 HEVC지원이 되는 지포스는 GM206 기반의 GTX960, 950, HDMI 2.0을 지원하는 GTX750 후기형부터이며, 그 이전에 GM204 기반으로 출시된 980, 970과 이후에 GM200 기반으로 출시된 타이탄 X, 980Ti는 고해상도 고프레임(4K 60fps나 그 이상) 재생에 제약이 있는 편.[14]

디코딩 쪽에서는 일반적으로 사용되는 인텔의 내장GPU의 경우 하스웰 코어 i3 이상의 코어 i 시리즈부터 최신 드라이버를 설치해 주면 DXVA 가속으로 듀얼코어급의 저사양의 CPU에서도 4K 30fps 영상의 안정적인 재생이 가능하다. 이쪽은 최소 한도가 i3로 전용 하드웨어 디코더를 이용한 가속이 아니라 내장 GPU를 연산에 이용하는 탓에 하스웰 내장 GPU 중 HD Graphics 4400이 최소 조건이다. 저가형의 펜티엄, 셀러론과 태블릿에서 사용되는 저전력의 Y버전 프로세서에서는 드라이버 명목상 지원해줘도 제대로 사용할 수 없다. 4세대 코어 i 시리즈인 하스웰에서는 8비트 컬러 영상까지, 5세대 코어 i 시리즈인 브로드웰에선 제한적으로나마 10비트 컬러 영상까지 재생 가능하지만 제약이 많아서 10비트 영상에 대한 가용성이 크지 않다. 6세대 코어 i 시리즈인 스카이레이크에서는 8비트 컬러 영상을 전용 하드웨어 디코더로 완벽하게 재생할 수 있고 10비트 컬러 영상의 제약이 완화되었지만 10비트 영상만 여전히 하이브리드 방식에 의존한다. 출처 Main 10까지 전용 하드웨어 디코더만으로 완벽하게 재생할 수 있는 NVIDIA의 7세대 퓨어비디오(VP7)가 그나마 더 나은 편. 7세대 퓨어비디오는 GM206 기반으로 개발된 GTX960, 950, HDMI 2.0을 지원하는 신형 GTX750부터 가능하다.

인코딩 쪽에서는 지포스 900 시리즈의 경우는 전용 하드웨어 인코더인 NVENC가 탑재되어 있으므로 지원하는 소프트웨어가 적기는 하지만 일단 지원하는 경우 인코딩 역시 가능하다. 인텔의 경우 하스웰에서는 디코딩 조차 없어 GPU 연산으로 디코더처럼 이용할 수 있어도 인코딩은 불가능하고, 브로드웰부터 디코딩 지원이 확대되어도 인코딩은 여전히 전무하며, 스카이레이크부터 8비트 영상 한정으로 제대로된 하드웨어 인코딩이 가능하다. 카비레이크도 마찬가지. NVIDIA에서는 8세대 퓨어비디오(VP8)부터 Version 2 Profile의 일부 스펙인 Main 12까지 지원하여 H.265의 지원 Profile을 확장하고 있는 반면, AMD에서는 2015년에 출시된 APU인 카리조-L과 Fiji 기반의 R9 퓨리, 퓨리X, 나노부터 UVD 6.0의 도입으로 본격적인 H.265 하드웨어 가속이 가능해졌으나 카리조 APU 한정으로 완벽이 아닌 하이브리드 방식으로 재생된다는 점과 디코딩 능력이 NVIDIA보다 상대적으로 떨어진다는 단점이 있다.
결론적으로는 H.265 동영상을 대비할 수 있는 기존의 하드웨어가 별로 없는데다 Version 2 Profile의 항목이 워낙 많기 때문에 이들을 모두 지원하기까지, 그리고 Version 3 Profile 대응 하드웨어가 등장하기까지 상당한 시일이 걸릴 것으로 전망된다.

완전한 HW 가속 여부는 주로 GPU 사용률 세부 항목을 모니터링 할 수 있는 GPU-ZAIDA64 등의 프로그램을 통해 알 수 있다. (DXVA Checker를 쓰면 간편하게 알아볼 수도 있지만, 상기한 지포스 케플러의 HEVC 가속처럼 DXVA 인터페이스만 제공하고 내부에서 GPGPU를 끌어쓰는건 알아낼 수 없다는 한계가 있다.) 보통 HW 가속만으로 영상을 재생하면 GPU VE(Video Engine) 점유율이 치솟고 대신 CPU는 물론 GPU 점유율도 낮은 편으로 유지된다. 반면 동영상 플레이어나 코덱에서는 HW가속이라고 나오는데, GPU VE 점유율이 0%이고 GPU 점유율이 높다면 GPGPU를 통해 재생하고 있는 것이다. (또한 순수 HW 가속에 비해 CPU 점유율도 다소 높게 나오는 편. 그리고 GPU VE와 GPU 점유율이 둘 다 높다면, 일부는 전용 HW 회로에서 가속하고 나머지는 GPGPU를 끌어다 쓰는 하이브리드 모드이다.)

6 적용

H.265를 이용한 최초의 민생용 영상 녹화기기로 2014년 11월 발매된 삼성의 미러리스 카메라 NX1이 있다. PC에 젬병 문외한인 초기 리뷰어들이 삼성의 NX1 4K 동영상[15]은 수백만 원대의 PC로도 편집은커녕, 재생마저 불가능하다고 일갈하였으나, 알고 보니 2009년에 출시한 AMD GPU 로도[16] 원활히 재생할 수 있었다. 다만 편집은 역시 힘들다. 앞으로 캠코더와 DSLR 카메라에서 H.265의 채택은 화질과 용량 사이의 균형을 위해 더욱 확대될 전망이다.
케이블 TV 상용 UHD 채널인 UMAX에서 현재 10bit HEVC로 영상을 전송하고 있다. 컴퓨터 성능이 받쳐주고 수신카드 프리셋을 맞춰주면 수신이 가능하고, 녹화도 가능한것으로 보인다. 어둠의 경로에서 일명 '아이유좌절영상'으로 불리우는 UMAX의 엠카운트다운 4k버전 녹화본이 공유되고 있을 정도.
적용된 재생 매체는 2015년 8월에 표준 규격으로 발표된 UHD 블루레이가 있으나 2016년 초부터 막 출시되었고 물리적인 매체에 대한 관심이 많이 줄어든 상태라 현재로써는 UHD 블루레이의 인지도가 2003년 3월에 블루레이 레코더[17]와 디스크, 2006년에 일반 가정용의 블루레이 플레이어가 첫 선을 보인 때보다 더 낮은 상황이다. 아무리 열심히 홍보해도 태생적으로 비쌀 수밖에 없는 가격과 만연해진 불법 다운로드로 인해 DVD만큼 흥하기는 어려울 것으로 전망되고 있다.

2015년 12월에 코덱이 H.265로 변경되었다. 그로 인해 2016년 8월 1일부터 DMB가 720p HD로 송출된다.
  1. 항목명은 H.265지만 업계에서는 HEVC로 호칭하는 경우가 더 많다. 혹시 논문을 검색할 위키러가 있다면 HEVC로 검색하는 것을 추천한다.
  2. 꼼수를 동원하지 않아도 화질 보장이 가능한 최소 수준이면 무조건 1장 안에 담을 수 있다.
  3. 사진 압축을 위해 추가된 프로파일로 압축률이 높다고 평가받는 JPEG 2000보다 동일한 화질 대비 최대 30% 가량 더 압축할 수 있다.
  4. 일반적으로 우리가 보는 영상은 YUV 4:2:0 컬러 포맷의 8비트 영상인데(Y가 명암, U,V가 컬러) 이 Profile의 컬러 포맷은 4:0:0이다. 말 그대로 명암 정보를 담고 있는 Luma로만 이루어진 영상. 16비트까지 지원한다.
  5. 영상에는 세 종류의 프레임이 있는데 I프레임(이게 바로 Intra 프레임), P프레임, B프레임이 있다. I프레임은 입력 신호를 그대로 받은 프레임인데 쉽게 말해 이 프레임은 원래 영상에 있던 프레임을 그대로 구현할 수 있는 프레임이다. 동영상을 편집할 때나 재생할 때에는 이 세 종류의 프레임을 이용해 모든 프레임을 I프레임으로 변환하기 때문에 Intra 프레임으로만 인코딩 된 영상은 동영상을 재생할 때나 편집할 때 필요한 사양이 적고 좀 더 원본 소스에 가까운 영상을 확보할 수 있다. 대신 그만큼 용량 폭탄은 각오해야 한다.
  6. 보통 이 정도도 무손실 영상이라고 한다.
  7. 다만 Scalable은 10비트 까지(Version 3에선 흑백 영상인 Scalable Monochrome만 16비트까지 지원한다), Multiview는 8비트까지만 지원된다.
  8. 8비트, 10비트, 14비트까지 지원되었지만 모두 4:4:4 컬러 포맷이며, 4:4:4 컬러 포맷이 아닌 High Throughput Profile은 아직 존재하지 않는다.
  9. Screen-Extended Main은 최대 10비트, 일반 High Throughput와 Screen-Extended High Throughput은 최대 14비트까지 지원한다.
  10. Classic FM의 경우 비록 디지털 마스터를 하지만 가정의 수신기에서 복호화한 결과까지 원음에 최대한 가깝게 튜닝하는것을 목표로 송출세팅이 되어있다. 즉, 드라마 방송처럼 대충 스케줄러에 테이프 넣고 큐사인받아서 트는게 아니라 송출 엔지니어가 상시 대기하면서 장비를 조정하여 최상의 음질로 청취할 수 있도록 늘 조정하고 있다. 영상업계 이야기로 바꾸면 마스터한 원본 푸티지를 바로 보내주는 느낌.
  11. 배급사에서 HDD를 줬다.
  12. 영문 위키백과의 표를 보면 알겠지만 4K 60Hz도 지원하는 규격이다.
  13. 당장 H.264 레벨 5.2, 그러니까 H.264 4K 60Hz 영상을 재생가능한 스마트폰이 얼마나 될까?
  14. 그래도 고성능 GPU의 도움을 받아 어떻게든 무리없이 재생할 수 있다. 전용 하드웨어 디코더만으로 재생 가능한 것보단 효율이 떨어져 상대적인 디메리트로 평가받을 뿐.
  15. 해당 H.265 코덱 동영상의 해상도는 4K다. 일반 Full HD가 아니란 말이다.
  16. CPU 만으로 재생할 때보다 화질이 0.5%~1% 정도 떨어진다. 그 차이는 120인치 이상의 디스플레이는 되어야 맨눈으로 구별할 수있다.
  17. 국내 업체에서는 2004년 4월에 처음 소개되었다.