1.一种基于启发学习的VVC帧内预测快速模式选择方法,其特征在于:包括以下步骤:S1:计算CU的纹理复杂度,分为平坦与非平坦两类;
S2:对于平坦类型的CU,选取平面模式与直流模式作为候选模式,跳过模式粗选过程,直接进入率失真优化过程;
S3:对于非平坦类型的CU,首先根据梯度信息缩减模式粗选过程的搜索范围,其次根据上下文信息为模式粗选过程设置起始搜索点,然后分别以较大、较小步长进行两轮搜索,最后选取最优的两种模式进入率失真优化过程。
2.根据权利要求1所述的基于启发学习的VVC帧内预测快速模式选择方法,其特征在于:步骤S1具体包括:
设定阈值THflat,当前CU纹理复杂度小于阈值THflat时,将其分类为平坦类型CU;当前CU纹理复杂度大于等于阈值THflat时,将其分类为非平坦类型CU;其中THflat取值为1.5;纹理复杂度由方差表示,其定义如下:
其中,W与H分别为当前CU的宽和高,P(i,j)为当前CU位置(i,j)处的像素值,Mean为当前CU像素矩阵的均值。
3.根据权利要求1所述的基于启发学习的VVC帧内预测快速模式选择方法,其特征在于:步骤S2具体包括:
若当前CU纹理复杂度小于阈值THflat,则将平面模式与直流模式添加到率失真优化的候选模式列表中,跳过基于HAD cost的模式粗选过程,直接进入率失真优化过程,计算各个模式的RD cost,选择出RD cost最小的一种模式,RD cost定义如下:RDCost=SSE+λ·Bittotal其中SSE为原始CU与重建的CU之间的平方误差之和,λ表示拉格朗日乘子,Bittotal表示编码总比特数。
4.根据权利要求1所述的基于启发学习的VVC帧内预测快速模式选择方法,其特征在于:步骤S3具体包括:
S31:对于非平坦类型的CU,首先使用Sobel算子计算水平、垂直、45°、135°方向上的梯度值,其计算过程如下:
其中,W与H分别表示当前CU的宽和高,P表示当前CU对应的像素矩阵;设定阈值THangle,计算最大梯度值与其余三个梯度值之比,若比值大于阈值THangle,将较小梯度值对应方向上的模式添加到搜索范围中;若比值小于THangle,则不添加较小梯度值方向上的模式到搜索范围中;若三个比值均小于THangle,则将完整的67种模式添加到搜索范围中;水平,垂直,45°与
135°方向对应的模式范围分别为:{12‑28},{2‑12、58‑65},{44‑58}和{28‑44};
S32:计算MPM中各模式的HADCost,定义如下:HADCost=SATD+λ·Bitmode其中,SATD表示残差信号的Hadamard变换系数的绝对值总和,λ表示拉格朗日乘子,Bitmode表示对帧内预测模式信息进行编码的比特位数;选取具有最小HADCost的模式M1作为第一轮的起始搜索点;
S33:进行第一轮模式粗选,即以模式M1为起始搜索点,S1为搜索步长,在搜索范围内进行双向搜索,计算各模式的HADCost,选取具有最小HADCost的模式M2;所述双向搜索即以M1为起始搜索点,以S1为步长依次计算其左右两侧模式的HADCost,即依次计算模式M1,M1‑S1,M1+S1,M1‑2S1,M1+2S1···的HADCost;
S34:进行第二轮模式细选,即以模式M2为起始搜索点,S2为搜索步长,在{M2‑2,M2+2}范围内,进行双向搜索,计算各模式的HADCost;
S35:将两轮搜索过程中具有最小HADCost的两个模式添加到候选列表,进入率失真优化过程,选择最优的模式。