H.265仍然采用混合编解码,编解码结构域H.264基本一致,
H.265与H.264的主要不同
编码块划分结构:采用CU (CodingUnit)、PU(PredictionUnit)和TU(TransformUnit)的递归结构。
并行工具:增加了Tile以及WPP等并行工具集以提高编码速度
滤波器:在去块滤波之后增加了SAO(sample adaptive offset)滤波模块
基本细节:各功能块的内部细节有很多差异
H.265的编码框架图
H.265和H.264的性能比较
压缩效率:
H.265相对于H.264提供更高的压缩效率,即在相同画质下,H.265可以提供更小的文件大小或更高的画质。
H.265通常能够提供30%到50%的比特率节省,这使其在相同网络带宽条件下能够传输更高质量的视频。
码率控制:
H.265引入了更多的码率控制方法,以适应不同应用场景和网络条件。这包括CU(Coding Unit)层面的码率控制和TU(Transform Unit)层面的码率控制等。
分辨率和帧率:
H.265相对于H.264对于更高的分辨率和帧率有更好的支持,这对于4K、8K视频以及高帧率视频(如60fps或120fps)是很重要的。
并行处理:
H.265对并行处理的支持更好,有助于在多核处理器上实现更高效的编解码。
编解码复杂性:
H.265的编码和解码相对于H.264更加复杂,这也导致了更高的计算要求。因此,H.265通常需要更强大的硬件支持来实现实时编解码。
实时性:
H.264在实时性方面相对更好,这使其在一些实时应用中仍然被广泛使用。而H.265可能在一些对实时性要求较高的场景中面临一些挑战。
H.265和H.264的细节比较
块划分结构
H.264 使用所谓的宏块,即跨越 4×4 到 16×16 像素的处理单元。H.265 使用一种较新的块结构,称为编码树单元 (CTU),它可以处理高达 64×64 像素的大小。
在H.265中,将宏块的大小从H.264的16×16扩展到了64×64,以便于高分辨率视频的压缩。同时,采用了更加灵活的编码结构来提高编码效率,包括编码单元(CodingUnit)、预测单元(PredictUnit)和变换单元(TransformUnit)。这三个单元的分离,使得变换、预测和编码各个处理环节更加灵活,有利于各个单元更优化的完成各自的功能,也有利于各环节的划分更加符合视频图像的纹理特征。
H.264 与 H.265:所需的平均带宽
分辨率 | H.264/AVC | H.265/HEVC |
---|---|---|
480p分辨率 | 1.5 Mbps | 0.75 Mbps |
720p分辨率 | 3Mbps | 1.5 Mbps |
1080p分辨率 | 6 Mbps | 3 Mbps |
4K分辨率 | 32 Mbps | 15 Mbps |
帧内预测模式
H.265是在H.264的预测方向基础上增加了更多的预测方向
H.265:CU块,亮度有35种预测方向,色度有5种预测方向
H.264:亮度 4x4块9个方向,8x8块9个方向,16x16块4种方向,色度4种方向
帧间预测
H.265是在H.264基础上增加插值的抽头系数个数,改变抽头系数值以及增加运动矢量预测值的候选个数,用来达到减少预测残差的目的。
H.265的增加了运动矢量预测值候选的个数,而H.264预测值只有一个。
H.265与H.264一样插值精度都是亮度到1/4,色度到1/8精度,但插值滤波器抽头长度和系数不同。
技术差异表格如下
H.264 | H.265 | |
---|---|---|
宏块大小 | 4 * 4 ~ 16 * 16 | 4 * 4 ~ 64 * 64 |
lnter MVP预测方法 | 空域中值MVP预测 | 空域加时域MVP预测 空域加时域的Merge/Skip |
Intra预测 | 亮度4 * 4:9种 亮度8 * 8 :9种 亮度16 * 16: 4种预测模式 色度:4种预测模式 | 亮度CU块: 总共35种预测模式 色度CU块:5种预测模式 |
变换 | DCT 4 *4/16 *16 | DCT 4*4/8 * 8/16 * 16/32 *32 DST 4 * 4 |
滤波器 | 4 * 4 和8 * 8 | 8 * 8以上的CU、PU、TU边界去块滤波 SAO滤波器 |
熵编码 | CAVLC及CABAC | CABAC |
其他 | FMO映射关系 | WPP、Tile以及dependent |