高效率视频编码
H.265 / HEVC
由 ITU-T 与 ISO/IEC 联合制定的高效率视频压缩标准,是 H.264 / AVC 的后继标准之一,应用于超高清电视、Ultra HD Blu-ray、流媒体及数字影像存储。
详细说明
H.265,又称 HEVC(High Efficiency Video Coding,高效率视频编码),是由 ITU-T 与 ISO/IEC 联合制定的视频压缩标准。两家组织的专家于 2010 年组成联合视频编码协作组(Joint Collaborative Team on Video Coding,JCT-VC),第一版在 2013 年获批,分别编号为 ITU-T H.265 和 ISO/IEC 23008-2;在 MPEG 标准体系中,它也称 MPEG-H Part 2。
H.265 与 HEVC 是同一标准的两种名称。
前者来自 ITU-T 建议书编号,后者是标准简称。
HEVC 延续帧内预测、运动补偿、变换、量化和熵编码组成的混合编码框架,但重新设计了图像分区、预测与并行处理机制,以适应从低分辨率视频到超高清节目的不同应用。HEVC 不再以固定的 16×16 宏块作为顶层图像单位。画面先划分为编码树单元,其亮度区域在第一版常可达到 64×64 个采样点,再按照四叉树递归拆分为编码单元。一个较大的平坦区域可以由少量大块表示,物体边缘、文字或复杂运动则可使用较小分区。编码单元之下还区分用于描述帧内或帧间预测区域的预测单元,以及承载残差变换结构的变换单元;预测和变换边界因此不必完全重合。帧内预测提供平面、直流和 33 种角度模式,从已经重建的相邻采样推断当前块。方向数量的增加有助于描述斜线、轮廓和规则纹理,却也让编码器面对更多候选方案。帧间预测可以使用多个参考画面、四分之一亮度采样精度的运动矢量、合并模式和高级运动矢量预测;规范定义怎样表达和解码这些信息,不规定编码器必须采用何种搜索算法。
残差变换的方形尺寸可从 4×4 扩展到 32×32。较大的变换适合变化平缓的区域,较小的变换用于细节和边缘;量化仍是有损压缩中造成信息舍弃的主要步骤。HEVC 统一使用 CABAC 进行熵编码,没有保留 H.264 中 CAVLC 与 CABAC 并列的选择。环路处理包括去块滤波和样点自适应偏移:前者减轻分区边界处的不连续,后者按照重建采样的类别施加偏移,以修正某些量化误差。处理后的画面会进入解码画面缓冲并用于后续预测。
为配合多核处理和硬件流水线,HEVC 规定切片、图块与波前并行处理。图块把画面划为近似独立的矩形区域,适合并行解码或局部访问;波前并行处理允许相邻编码树单元行在满足少量依赖后交错启动。并行边界会减少部分跨区预测或上下文继承,使用过多时可能降低压缩效率,因此编码器需要在速度、延迟、错误隔离和码率之间取舍。
码流以网络抽象层单元组织,并通过视频参数集、序列参数集和图像参数集传递解码配置。HEVC 还区分 IDR、BLA、CRA 等随机访问图像:它们对解码从何处开始、此前图像能否继续作为参考以及开放式图像组怎样衔接具有不同语义,不能一概用“关键帧”代替。显示顺序也可以不同于解码顺序。
第一版定义 Main、Main 10 和 Main Still Picture 三种主要配置文件。Main 面向 8-bit 4:2:0 视频,Main 10 把允许位深扩展到 10-bit,Main Still Picture 用于单幅图像。后续范围扩展增加更高位深、4:2:2、4:4:4、RGB、仅帧内和专业制作相关能力,另有可伸缩、多视角、三维视频及屏幕内容编码等扩展。级别限制画面尺寸、采样处理率和缓冲资源;Main Tier 与 High Tier 则为部分级别规定不同的最大码率。仅检测到 HEVC,不能据此推断视频必然是 10-bit、4K 或 HDR。
HEVC 是压缩码流标准,不是容器。
它可以封装在 MP4、QuickTime、Matroska、MPEG-2 Transport Stream 和 M2TS 中,也可以作为裸码流保存。容器负责样本时间、轨道、音频、字幕和文件级元数据,视频色彩描述与 HDR 元数据还涉及相应的码流和应用规范;把文件扩展名从 MKV 改为 MP4 不会改变内部 HEVC 的编码内容。Ultra HD Blu-ray 使用 HEVC Main 10 承载最高 3840×2160、10-bit 的主视频,广播和流媒体也常以 HEVC 传送超高清或高动态范围节目。不过 HEVC 本身同样可以编码标准清晰度、1080p、8-bit 或标准动态范围视频。普通 Blu-ray 的 BDMV 规范与 Ultra HD Blu-ray 的 ROM4 规范不同,前者支持 AVC、VC-1 和 MPEG-2 Video,并不因播放器具有某种 HEVC 文件播放功能而自动兼容 UHD 光盘。
“相同画质下节省约一半码率”是描述 HEVC 设计目标和特定测试结果的概括,不是对所有素材与设置都成立的固定比例。分辨率、噪声、运动复杂度、编码器实现、搜索深度和速度预设都会改变比较结果。x265 是常见的 HEVC 软件编码器,硬件编码器和其他软件也能生成合规码流;实现名称不应替代 H.265 / HEVC 作为编码标准名称。