现代视频编码标准:H.265与H.266技术解析
立即解锁
发布时间: 2025-09-02 00:19:37 阅读量: 11 订阅数: 46 AIGC 


多媒体技术核心解析
### 现代视频编码标准:H.265与H.266技术解析
#### 1. H.265编码标准
H.265作为重要的视频编码标准,在多个方面进行了优化和改进。
##### 1.1 帧内编码中DCT与DST的组合
在H.265的帧内编码里,根据不同的帧内预测类别和相邻样本的使用情况,对垂直和水平方向采用不同的变换方式,具体如下表所示:
| 帧内预测类别 | 相邻样本使用情况 | 垂直(列)变换 | 水平(行)变换 |
| --- | --- | --- | --- |
| 类别1 | 仅使用左侧样本 | DCT | DST |
| 类别1 | 仅使用顶部样本 | DST | DCT |
| 类别2 | 使用顶部和左侧样本 | DST | DST |
| DC | 特殊(固定集合) | DCT | DCT |
##### 1.2 环路滤波
H.265的环路滤波过程和H.264类似,目的是消除块状和其他伪像。它包含去块滤波和样本自适应偏移(SAO)两个部分。
- **去块滤波**:与H.264对4×4块进行去块滤波不同,H.265仅对8×8图像网格上的边缘应用去块滤波。这一改变降低了计算复杂度,尤其适合并行处理,因为相邻样本级联变化的可能性大大降低。去块滤波先处理图像中的垂直边缘,再处理水平边缘,也可以按CTB逐个处理。
- **样本自适应偏移(SAO)**:SAO过程可在去块滤波后选择性调用。它基于特定条件为每个样本添加偏移值,有带偏移模式和边缘偏移模式两种。
- **带偏移模式**:将样本幅度范围划分为32个带,可同时为连续的四个带中的样本值添加带偏移,有助于减少平滑区域的“带状伪像”。
- **边缘偏移模式**:先分析梯度(边缘)信息,图像有水平、垂直和两种对角线共四种可能的梯度(边缘)方向。根据样本p与相邻样本n0、n1的关系,为样本p添加正偏移、负偏移或零偏移:
- 正偏移:p是局部最小值(p < n0 & p < n1),或者p是边缘像素(p < n0 & p = n1 或 p = n0 & p < n1)。
- 负偏移:p是局部最大值(p > n0 & p > n1),或者p是边缘像素(p > n0 & p = n1 或 p = n0 & p > n1)。
- 零偏移:不满足上述条件。
##### 1.3 熵编码
H.265在熵编码中仅使用CABAC,不再使用CAVLC。由于引入了新的编码树和变换树结构,树深度成为上下文建模的重要部分,同时结合H.264/AVC中的空间相邻上下文,减少了上下文数量,进一步提高了熵编码效率。
读取变换系数时定义了三种简单扫描方法:斜右上、水平和垂直,目的是最大化零游程长度。扫描始终在4×4子块中进行,与TB大小无关。具体扫描方法的使用规则如下:
- 斜右上扫描:用于所有帧间预测块以及16×16或32×32的帧内预测块。
- 水平扫描:用于预测方向接近垂直的4×4或8×8帧内预测块。
- 垂直扫描:用于预测方向接近水平的4×4或8×8帧内预测块。
- 斜右上扫描:用于其他预测方向的4×4或8×8帧内预测块。
##### 1.4 特殊编码模式
H.265定义了三种特殊编码模式,可在CU或TU级别应用:
- **I_PCM**:和H.264一样,绕过预测、变换编码、量化和熵编码步骤,直接发送PCM编码(固定长度)的样本。当其他预测模式无法实现数据缩减时会调用该模式。
- **无损编码**:将帧间或帧内预测的残差误差直接进行熵编码,避免任何有损步骤,特别是变换编码后的量化。
- **变换跳过**:仅绕过变换步骤,适用于某些特定数据(如计算机生成的图像或图形),且只能应用于4×4的TB。
##### 1.5 H.265的配置文件
HEVC版本1仅定义了三种配置文件:主配置文件、主10配置文件和主静态图片配置文件。版本2新增了21种配置文件,如Main 12、Main 4:2:2 10等。默认颜色格式为YCbCr。
以主配置文件为例,它支持多种不同分辨率和帧率的视频格式,涵盖从低分辨率到高分辨率的视频,不同级别对应的最大亮度图片尺寸、帧率和最大比特率如下表所示:
| 级别 | 最大亮度图片宽度×高度 | 最大亮度图片尺寸(样本) | 帧率(fps) | 主层级最大比特率(Mb/s) |
| --- | --- | --- | --- | --- |
| 1 | 176 × 144 | 36,864 | 15 | 0.128 |
| 2 | 352 × 288 | 122,880 | 30 | 1.5 |
| 2.1 | 640 × 360 | 245,760 | 30 | 3.0 |
| 3 | 960 × 540 | 552,960 | 30 | 6.0 |
| 3.1 | 1280 × 720 | 983,040 | 30 | 10 |
| 4 / 4.1 | 2048 × 1080 | 2,228,224 | 30 / 60 | 12 / 20 |
| 5 / 5.1 / 5.2 | 4096 × 2160 | 8,912,896 | 30 / 60 / 120 | 25 / 40 / 60 |
| 6 / 6.1 / 6.2 | 8192 × 4320 | 35,651,584 | 30 / 60 / 120 | 60 / 120 / 240 |
与H.264相比,H.265在编码效率上有显著提升。在相同PSNR下,不同视频压缩方法的平均比特率减少情况如下表所示:
| 视频压缩方法 | H.264/MPEG - 4 AVC HP | MPEG - 4 ASP | MPEG - 2/H.262 MP |
| --- | --- | --- | --- |
| H.265 MP | 35.4% | 63.7% | 70.8% |
| H.264/MPEG - 4 AVC HP | - | 44.5% | 55.4% |
| MPEG - 4 ASP | - | - | 19.7% |
主观上比较H.264和H.265的编码效率时,采用双刺激方法。结果显示,与H.264/MPEG - 4 AVC HP相比,在大致相同的主观质量下,9个娱乐应用测试视频中,H.265 MP的平均比特率减少范围为29.8% - 66.6%,平均为49.3%,接近50%的原始目标。
##### 1.6 H.265的扩展
由于视频技术的新发展和应用范围的扩大,H.265进行了一系列扩展:
- **范围扩展(RExt)**:HEVC版本1主要针对每样本8或10位的4:2:0色度子采样应用设计,无法满足新应用需求。RExt的主要目标是支持4:2:2和4:4:4色度格式以及每样本超过10位(如12或16位)的位深度,同时支持扩展功能和提高编码效率,例如屏幕内容编码、直接编码R’G’B’源材料以及辅助图片编码等。其实现主要通过增强编码算法和工具,很多情况下也需要处理元素有更高的动态范围。
- **可伸缩性扩展(SHVC)**:可伸缩高效视频编码(SHVC)标准在HEVC版本2中确定。除了HEVC版本1已支持的时间可伸缩性,SHVC还支持空间可伸缩性、信噪比(SNR)可伸缩性、位深度可伸缩性和色域可伸缩性,适用于采用更高位深度和更宽色域的UHD视频,并且支持这些可伸缩性的任意组合。
SHVC采用多环编码框架,参考层必须先完全解码才能用作预测参考。如果有两个以上的空间或SNR层,中间的增强层也可作为参考层。它使用多个重新利用的单层HEVC编解码器核心,并添加层间参考图片处理模块,目标是采用一种可伸缩编码架构,仅对底层单层HEVC标准进行高层语法(HLS - only)更改。
- **多视图和3D视频扩展**:多视图扩展(MV - HEVC)可实现多个摄像机视图和相关辅助图片的高效编码,通过复用单层解码器实现,无需更改块级处理模块,在运动补偿预测中使用视图间参考以实现比特率节省。
3D扩展(3D - HEVC)针对包含多个视图和相关深度图的视频设计,支持在高级3D显示器中生成额外的中间视图。为实现与MV - HEV
0
0
复制全文
相关推荐






