고효율 비디오 코딩

H.265 / HEVC

영상 코덱

ITU-T와 ISO/IEC가 공동으로 제정한 고효율 영상 압축 표준으로, H.264/AVC의 후속 표준 중 하나이며, 초고화질 TV, Ultra HD 블루레이, 스트리밍 및 디지털 영상 저장에 적용됩니다.

상세 설명

H.265는 HEVC(High Efficiency Video Coding, 高效率视频编码)라고도 불리며, ITU-T와 ISO/IEC가 공동으로 제정한 영상 압축 표준입니다. 두 기구의 전문가들은 2010년에 공동 영상 코딩 협력팀(Joint Collaborative Team on Video Coding, JCT-VC)을 구성했으며, 2013년에 제1판이 승인되어 각각 ITU-T H.265와 ISO/IEC 23008-2로 명명되었습니다. MPEG 표준 체계에서는 MPEG-H Part 2라고도 불립니다.

H.265와 HEVC는 동일한 표준의 두 가지 명칭입니다.

전자는 ITU-T 권고안 번호에서 유래한 것이며, 후자는 표준의 약칭입니다.

HEVC는 프레임 내 예측, 운동 보상, 변환, 양자화 및 엔트로피 코딩으로 구성된 혼합 코딩 프레임워크를 계승하되, 저해상도 영상부터 초고화질 프로그램에 이르는 다양한 응용 분야에 대응하기 위해 이미지 분할, 예측 및 병렬 처리 메커니즘을 재설계했습니다. HEVC는 더 이상 고정된 16×16 매크로블록을 최상위 영상 단위로 사용하지 않습니다. 화면은 먼저 인코딩 트리 단위로 분할되며, 그 휘도 영역은 1판에서 흔히 64×64개의 샘플링 포인트에 달할 수 있고, 이후 4분할 트리를 따라 재귀적으로 인코딩 단위로 분할됩니다. 상대적으로 넓은 평탄 영역은 소수의 큰 블록으로 표현될 수 있으며, 물체의 가장자리, 텍스트 또는 복잡한 움직임은 더 작은 구획을 사용할 수 있습니다. 인코딩 단위 아래에는 프레임 내 또는 프레임 간 예측 영역을 기술하는 예측 단위와 잔차 변환 구조를 담당하는 변환 단위가 구분됩니다. 따라서 예측 경계와 변환 경계는 완전히 일치할 필요가 없습니다. 인프레임 예측은 평면, 직류 및 33가지 각도 모드를 제공하며, 이미 재구성된 인접 샘플로부터 현재 블록을 추론합니다. 방향의 수가 증가하면 대각선, 윤곽선 및 규칙적인 텍스처를 묘사하는 데 도움이 되지만, 인코더가 더 많은 후보 방안을 고려해야 하는 부담도 따릅니다. 프레임 간 예측은 여러 참조 프레임, 1/4 밝기 샘플링 정밀도의 운동 벡터, 병합 모드 및 고급 운동 벡터 예측을 사용할 수 있습니다. 규격은 이러한 정보를 표현하고 디코딩하는 방법을 정의하지만, 인코더가 어떤 탐색 알고리즘을 채택해야 하는지는 규정하지 않습니다.

잔차 변환의 정사각형 크기는 4×4에서 32×32까지 확장될 수 있습니다. 더 큰 변환은 변화가 완만한 영역에 적합하고, 더 작은 변환은 세부 사항과 가장자리에 사용됩니다. 양자화는 여전히 손실 압축에서 정보 손실을 초래하는 주요 단계입니다. HEVC는 일관되게 CABAC을 사용하여 엔트로피 인코딩을 수행하며, H.264에서 제공되던 CAVLC와 CABAC을 병렬로 선택할 수 있는 옵션은 유지하지 않습니다. 루프 처리에는 블록 제거 필터링과 샘플 적응형 오프셋이 포함됩니다. 전자는 구역 경계에서의 불연속성을 완화하고, 후자는 재구성 샘플링의 범주에 따라 오프셋을 적용하여 특정 양자화 오류를 보정합니다. 처리된 화면은 디코딩 화면 버퍼로 전송되어 후속 예측에 사용됩니다.

다중 코어 처리 및 하드웨어 파이프라인에 부응하기 위해, HEVC는 슬라이스, 블록 및 파면 병렬 처리를 규정합니다. 블록은 화면을 거의 독립적인 직사각형 영역으로 나누어 병렬 디코딩이나 국소 액세스에 적합하게 하며, 파면 병렬 처리는 인접한 인코딩 트리 단위가 소량의 의존성을 충족한 후 교차로 시작될 수 있도록 합니다. 병렬 경계는 일부 영역 간 예측이나 문맥 상속을 감소시키며, 과도하게 사용될 경우 압축 효율을 저하시킬 수 있으므로 인코더는 속도, 지연, 오류 격리 및 비트레이트 사이에서 절충점을 찾아야 합니다.

비트스트림은 네트워크 추상화 계층 단위로 구성되며, 비디오 매개변수 세트, 시퀀스 매개변수 세트 및 이미지 매개변수 세트를 통해 디코딩 구성을 전달합니다. HEVC는 또한 IDR, BLA, CRA 등과 같은 임의 접근 이미지를 구분합니다. 이들은 디코딩을 어디서 시작할지, 이전 이미지가 계속 참조로 사용될 수 있는지, 개방형 이미지 그룹이 어떻게 연결되는지에 대해 서로 다른 의미를 가지므로 일률적으로 “키 프레임”으로 대체할 수 없습니다. 표시 순서도 디코딩 순서와 다를 수 있습니다.

첫 번째 버전에서는 Main, Main 10, Main Still Picture의 세 가지 주요 프로파일을 정의했습니다. Main은 8비트 4:2:0 비디오를 대상으로 하며, Main 10은 허용 비트 심도를 10비트로 확장하고, Main Still Picture는 단일 이미지에 사용됩니다. 후속 범위 확장을 통해 더 높은 비트 심도, 4:2:2, 4:4:4, RGB, 프레임 내 인코딩 전용 및 전문 제작 관련 기능이 추가되었으며, 확장성, 다중 시점, 3D 비디오 및 화면 콘텐츠 인코딩 등의 확장 기능도 포함됩니다. 레벨은 화면 크기, 샘플링 처리율 및 버퍼 리소스를 제한하며; Main Tier와 High Tier는 일부 레벨에 대해 서로 다른 최대 비트레이트를 규정합니다. HEVC만 감지된다고 해서 해당 비디오가 반드시 10비트, 4K 또는 HDR이라고 단정할 수는 없습니다.

HEVC는 압축 비트스트림 표준이며, 컨테이너가 아닙니다.

이는 MP4, QuickTime, Matroska, MPEG-2 전송 스트림 및 M2TS에 캡슐화될 수 있으며, 베어 비트스트림 형태로 저장될 수도 있습니다. 컨테이너는 샘플 시간, 트랙, 오디오, 자막 및 파일 수준 메타데이터를 담당하며, 비디오 색상 설명과 HDR 메타데이터는 해당 비트스트림 및 적용 규격과도 관련이 있습니다. 파일 확장자를 MKV에서 MP4로 변경한다고 해서 내부 HEVC 인코딩 내용이 바뀌지는 않습니다. Ultra HD Blu-ray는 HEVC Main 10을 사용하여 최대 3840×2160, 10비트의 메인 비디오를 전달하며, 방송 및 스트리밍에서도 종종 HEVC를 통해 초고화질 또는 HDR 프로그램을 전송합니다. 하지만 HEVC 자체는 표준 화질, 1080p, 8비트 또는 표준 다이내믹 레인지(SDR) 영상도 인코딩할 수 있습니다. 일반 블루레이의 BDMV 규격은 울트라 HD 블루레이의 ROM4 규격과 다르며, 전자는 AVC, VC-1 및 MPEG-2 Video를 지원하므로, 플레이어가 특정 HEVC 파일 재생 기능을 갖추고 있다고 해서 자동으로 UHD 디스크와 호환되는 것은 아닙니다.

“동일한 화질에서 비트레이트를 약 절반으로 절감”이라는 표현은 HEVC의 설계 목표와 특정 테스트 결과를 요약한 것으로, 모든 소스 자료와 설정에 적용되는 고정된 비율이 아닙니다. 해상도, 노이즈, 움직임의 복잡도, 인코더 구현, 검색 깊이 및 속도 사전 설정에 따라 비교 결과가 달라질 수 있습니다. x265는 널리 사용되는 HEVC 소프트웨어 인코더이며, 하드웨어 인코더 및 기타 소프트웨어도 표준을 준수하는 비트스트림을 생성할 수 있습니다. 구현 명칭은 인코딩 표준명인 H.265 / HEVC를 대체해서는 안 됩니다.