H.266/VVC视频编码原理探索

在2020年7月,H.266/VVC的标准规范正式面世。据统计,VVC的编码压缩率比HEVC提升一倍,支持RPR参考帧重采样、SCC屏幕内容编码等新技术。这意味着在5G时代,VVC视频编码让4K、8K超高清视频成为可能。

H.266/VVC算法复杂度比较高,对设备端的处理性能要求非常高。我们先来对比AVC、HEVC、VVC的一些差异:

H.264/AVC H.265/HEVC H.266/VVC

1、变换尺寸4x4到16x16

2、参数集:SPS/PPS

3、帧内预测模式:9种

4、环路滤波:deblock

5、像素插值:最大1/4精度

1、变换尺寸4x4到64x64

2、参数集:SPS/PPS/VPS

3、帧内预测模式:35种

4、环路滤波:deblock、SAO

5、像素插值:最大1/8精度

1、变换尺寸4x4到128x128

2、参数集:SPS/PPS/VPS

3、帧内预测模式:65种

4、环路滤波:deblock、SAO、ALF、LMCS

5、像素插值:最大1/16精度

接下来让我们一起探究VVC的视频编码原理。

1、编码树单元

VVC的亮度块允许最大尺寸为128x128,色度块允许最大尺寸为64x64。利用二叉树、三叉树、四叉树将CTU进行划分。

2、HDR高动态范围

VVC支持HDR高动态范围的视频,ITU-R BT.2100标准规范两种光电转换曲线: PQ(Perceptual Quantization)和HLG(Hybrid Log Gamma)。VVC新增的亮度映射与色度缩放技术(Luma Mapping With Chroma Scaling)支持块级QP调整的算法,以适应HDR视频更大的动态范围和更宽的色彩空间。

3、环路滤波

VVC的环路滤波包括deblock去方块滤波、SAO样点自适应补偿、ALF自适应环路滤波、LMCS亮度映射与色度缩放。其中,deblock用于减少方块效应;SAO用于消除振铃效应;ALF用于减小编码误差,基于维纳滤波,通过原始图像信息和重建图像信息,建立维纳-霍夫方程求解具有最小均方差的滤波器系数;LMCS通过对动态范围信息重新分配码字来提高压缩效率。

4、360全景视频

全景视频是具有360度视角的球形视频,通常有多个摄像机同时对一个场景进行多角度拍摄,然后利用图像拼接算法将不同角度的视频进行拼接。VVC新增支持全景视频,而全景视频转换为平面视频的投影方式有:经纬图等角投影ERP(Equirectangular Projection)、立方体投影CMP(Cube Map Projection)、八面体投影OHP(Octahedron Projection)、截断金字塔投影SSP(Segmented Sphere Projection)。

5、SCC屏幕内容编码

SCC(Screen Content Coding),称为屏幕内容编码,包括:帧内块复制、变换跳过模式的残差编码、块差分脉冲编码调制、调色板模式、自适应色度变换。

6、RPR参考帧重采样

RPR(Reference Picture Resample),称为参考帧重采样。自适应视频流的分辨率变化,多层编码提供时域、空域可分级。

7、联合帧内帧间预测

CIIP(Combined Inter and Intra Prediction),称为联合帧内帧间预测。利用帧内预测值和帧间预测值的加权平均值得到当前CU预测值。相关限制:帧内预测值只采用Planar模式得到,帧间预测值只采用Merge模式得到。

8、高频调零

对于尺寸为MxN的变换块,如果M或N等于最大允许尺寸,则将将变换后的部分高频系数置为0,只保留低频系数。

9、双向光流

BDOF(Bi-Directional Optical Flow),称为双向光流。以4x4子块为基本单元,对双向预测块进行像素级的光流补偿,利用前向和后向预测块计算得到亮度空间梯度、亮度时间梯度,采样光流方程计算得到每个像素点的亮度补偿值。

10、多参考行预测

MRLP(Multi Reference Line Prediction),称为多参考行预测,支持当前CU上侧三行、左侧三列,提高预测精度。

11、NALU头部

H.266/VVC的NALU头部与H.264、H.265不太相同,使用2字节表示,具体如下表所示:

字段 位数 描述
forbidden_zero_bit 1 bit 默认0
nuh_reserved_zero_bit 1 bit 默认0
nuh_layer_id 6 bit 码流层级id,0~55
nal_unit_type 5 bit nal类型,取值0~31
nuh_temporal_id_plus1 3 bit 临时id

其中,常见的nal_uint_type如下表所示(不完整列举):

数值 类型
0 TRSIL
1 STSA
2 RADL
3 RASL
4/5/6 RSV预留
7 IDR_W_RADL
8 IDR_N_LP
9 CRA
10 GDR
11 RSV_IRAP
12 OPI
13 DCI
14 VPS
15 SPS
16 PPS

参考书本:《新一代通用视频编码H.266/VVC: 标准、原理与实现》

你可能感兴趣的:(音视频开发,H.266/VVC编码原理,RPR参考帧重采样,SCC屏幕内容编码)