针对高效率视频编码标准的快速帧内模式判决方法
技术领域
本发明涉及视频编码的技术领域,具体涉及一种视频编码的帧内模式判决方法,特别是一种面向高效率视频编码标准的快速帧内模式判决方法。
背景技术
近几年来,随着高清视频以及各种网络视频的普及,视频压缩技术迎来了不小的挑战。ISO/IEC的运动图像专家组(MotionPictureExpertsGroup,MPEG)和ITU-T的视频编码专家组(VideoCodingExpertGroup,VCEG)组成视频编码联合组(JointCollaborativeTeamonVideoCoding,JCT-VC),并联合制定了高效率视频编码标准H.265/HEVC(HighEfficiencyVideoCoding)。新一代视频编码标准H.265/HEVC中增加了许多新的编码工具,所以与上一代视频编码标准H.264/AVC相比,H.265/HEVC的编码性能有了大幅度的提升。高清视频的纹理复杂度很高,而新标准中包含了33个方向预测模式,以及Planar预测模式和DC预测模式,利用这些新增加的模式,便可以更加准确地反应出视频内容的纹理特征,并且减少更多的编码冗余,但同时提高了编码复杂度,增加了编码时间,阻碍了H.265/HEVC的实时应用。
目前,针对高清视频的帧内编码已经有许多成熟的技术,如:L.Shen等人提出了针对HEVC帧内编码的快速CU尺寸判决算法,该算法是通过减少候选模式数量,来达到加速处理的目的。G.Chen提出了像素梯度统计和模式精简方法,可以提高预测效率。C.Miao等人提出了极值检测(ExtremeValueDetection,EVD)的快速算法,可以快速预测最佳的方向模式。但是,这些技术在减少候选帧内模式的同时,又会引入新的计算复杂度,所以其编码时间无法降到最低。因此,如何在高效率视频编码中高效地减少候选模式是目前视频编码技术面临的难题之一。
高效率视频编码的帧内预测,就其实质来说是利用图像中存在的空间相关性,通过已编码的像素块对其相邻的未编码的像素块进行预测。由于图像中像素之间存在着较强的空间相关性,所以当前像素与其周围相邻像素非常相似,因而可以通过已编码的像素块对其相邻的未编码的像素块进行预测,后将已编码块的编码值与相邻预测块的预测值之间的差值,即预测残差值进行编码,如此便可降低视频空间冗余,从而提高视频压缩效率。JCT-VC提供的高效率视频编码参考模型HM(HEVCModel)在判决帧内预测模式时是进行全率失真优化的,也就是说遍历所有帧内预测模式后得到使用每种模式的残差值,再对残差值进行Hadamard变换计算其SATD值并选取最小值所对应帧内模式为最优帧内模式,显然该方法计算量巨大,计算时间较长,不利于进行实时编码,这就必须要消耗大量的编码时间,所以该方法计算复杂度偏高,难以进行实时应用。
发明内容
鉴于以上所述现有技术存在的问题和不足,本发明的目的在于提供一种针对新一代高效率视频编码标准H.265/HEVC的快速帧内预测模式判决方法,其不仅能精确地判决出最高帧内预测模式,还能有效地降低编码时间。
为达到上述目的,本发明的构思是:首先利用图像边缘检测技术中的Sobel算子对预测单元(PredictionUnit,PU)进行边缘检测,然后初步判决该预测单元PU的预测模式,最后根据计算得到的梯度值判决出预测单元PU的具体方向模式。
根据上述构思,本发明的技术方案是:一种针对高效率视频编码标准的快速帧内模式判决方法,首先利用图像边缘检测技术中的Sobel算子对预测单元PU进行边缘检测,然后初步判决预测单元PU的预测模式,最后根据计算得到的预测单元PU的梯度值判决出预测单元PU的具体方向模式,其步骤如下:
(1)、选取大小为N×N的预测单元PU;
(2)、利用Sobel算子计算预测单元PU内像素点的平均梯度值;
(3)、确定判定帧内预测模式的阈值;
(4)、预测单元PU内像素点的平均梯度值根据判定帧内预测模式的阈值初步判定帧内预测模式,若预测单元PU属于Planar模式或DC模式,则判决过程结束;若预测单元PU属于方向模式,则进入步骤(5),并进一步确定具体方向模式;
(5)、根据Sobel算子计算的预测单元PU内各个像素点的梯度值,计算预测单元PU像素点的梯度方向;
(6)、根据预测单元PU像素点的梯度方向,查表确定帧内预测模式,判决结束。
所述预测单元PU的尺寸大小N=4、8、16、32或64。
所述步骤(2)中利用Sobel算子计算预测单元PU内像素点的平均梯度值的具体步骤是:
(2-1)、将Sobel横向算子SobelH和Sobel纵向算子SobelV分别与预测单元PU进行卷积:
G(i,j)H=SobelH*PU
G(i,j)V=SobelV*PU
其中,Sobel横向算子SobelH为 Sobel纵向算子SobelV为 G(i,j)H表示经过Sobel横向算子SobelH与预测单元PU卷积后得到的像素点(i,j)的水平方向梯度,G(i,j)V表示经过Sobel纵向算子SobelV与预测单元PU卷积后得到的像素点(i,j)的垂直方向梯度;
(2-2)、计算预测单元PU中每个像素点之间的近似梯度值:
G(i,j)=|G(i,j)H|+|G(i,j)V|
其中,G(i,j)为预测单元PU内像素点(i,j)的近似梯度值;
(2-3)、计算预测单元PU内像素点的平均梯度值
所述步骤(3)中判定帧内预测模式的阈值Th为:
其中,Z表示预测单元PU的邻域,V(i,j)max表示邻域Z中的最大灰度值,V(i,j)min表示邻域Z中的最小灰度值。
所述步骤(4)中根据阈值初步判定帧内预测模式的方法是:将步骤(2-3)中计算得到的平均梯度值与步骤(3)中确定的判定帧内预测模式的阈值Th进行比较,判定预测单元PU的预测模式属于planar模式、DC模式还是方向模式:
所述步骤(5)中计算预测单元PU像素点的梯度方向的具体步骤是:
(5-1)、根据步骤(2-1)中计算得到的经Sobel算子处理后的各点的梯度值,计算出预测单元PU内整体的横向梯度值与纵向梯度值为:
(5-2)、根据步骤(5-1)中计算得到的预测单元PU内整体的横向梯度值与纵向梯度值计算预测单元PU像素点的梯度方向θG:
所述步骤(6)中查表确定预测单元PU的帧内预测模式的方法是:根据计算得到的预测单元PU像素点的梯度方向θG,查下表可确定帧内预测模式;
模式 |
角度 |
模式 |
角度 |
模式 |
角度 |
2 |
8π/32 |
13 |
-3π/32 |
24 |
-14π/32 |
3 |
7π/32 |
14 |
-4π/32 |
25 |
-15π/32 |
4 |
6π/32 |
15 |
-5π/32 |
26 |
-16π/32 |
5 |
5π/32 |
16 |
-6π/32 |
27 |
-17π/32 |
6 |
4π/32 |
17 |
-7π/32 |
28 |
-18π/32 |
7 |
3π/32 |
18 |
-8π/32 |
29 |
-19π/32 |
8 |
2π/32 |
19 |
-9π/32 |
30 |
-20π/32 |
9 |
π/32 |
20 |
-10π/32 |
31 |
-21π/32 |
10 |
0 |
21 |
-11π/32 |
32 |
-22π/32 |
11 |
-π/32 |
22 |
-12π/32 |
33 |
-23π/32 |
12 |
-2π/32 |
23 |
-13π/32 |
34 |
-24π/32 |
利用步骤(5-2)中计算得到的预测单元PU像素点的梯度方向θG与上表中各方向模式的对应角度作差,结果小于π/64的模式为判决出来的帧内预测模式。
本发明的有益效果在于:与已有技术相比较,具有如下显而易见的实质性突出特点和显著优点:其复杂度较低,计算量较小,只增加少量的码率,节省了大量的编码时间;本发明由于采用了Sobel边缘检测算子,在方向模式的判决准确度保持不变的情况,帧内判决速度得到了提升,具有实际操作性,便于进行实时应用。
附图说明
以下结合附图和具体实施方式对本发明进行详细描述,但不作为对本发明的限定。
图1是本发明的流程框图。
图2是图1中利用Sobel算子对预测单元进行处理的框架示意图。
图3是图1中计算预测单元像素点梯度方向的框架示意图。
具体实施方式
以下结合附图对本发明的实施例作进一步的详细说明。本实施例以本发明的技术方案为前提下进行实施,给出了详细的实施方式,但本发明的保护范围不限于下述的实施例。
参见图1,一种针对高效率视频编码标准的快速帧内模式判决方法,首先选取尺寸大小N×N为由4×4到64×64的预测单元PU,然后采用Sobel边缘检测算子对预测单元PU进行处理,确定出该预测单元PU的横向、纵向梯度值,进一步计算出梯度方向以及判决出方向模式,判决过程结束,其步骤是:
(1)、选取大小为N×N的预测单元PU。选取预测单元PU的尺寸由4×4到64×64,即预测单元PU的尺寸大小N=4、8、16、32或64中的一种。预测单元PU规定了编码单元的所有预测模式,定义了所有与预测相关的信息。为了实现帧内预测模式的快速判决,本发明以HEVC参考模型HM为基础,利用图像边缘检测技术中的Sobel算子进行帧内预测模式判决,实现快速帧内模式的判决。
(2)、利用Sobel算子计算预测单元PU内像素点的平均梯度值。其具体步骤参见图2是:
(2-1)、将Sobel横向算子SobelH和Sobel纵向算子SobelV分别与预测单元PU进行卷积:
G(i,j)H=SobelH*PU(1)
G(i,j)V=SobelV*PU(2)
其中,PU表示预测单元,Sobel横向算子SobelH为 Sobel纵向算子SobelV为 G(i,j)H表示经过Sobel横向算子SobelH与预测单元PU卷积后得到的像素点(i,j)的水平方向梯度,G(i,j)V表示经过Sobel纵向算子SobelV与预测单元PU卷积后得到的像素点(i,j)的垂直方向梯度。
(2-2)、计算预测单元PU中像素点(i,j)的近似梯度值G(i,j):
G(i,j)=|G(i,j)H|+|G(i,j)V|(3)
为了减少计算量,提高计算效率,我们采用公式(3)代替原近似梯度公式其中,像素点的水平方向梯度GH和像素点的垂直方向梯度GV来自步骤(2-1)。
(2-3)、根据预测单元PU中像素点(i,j)的近似梯度值G(i,j)计算预测单元PU内像素点的平均梯度值
其中,N表示预测单元PU的尺寸大小。
(3)、确定判定帧内预测模式的阈值Th:
其中,Z表示预测单元PU的邻域,预测单元PU的邻域Z指的是与该预测单元PU相邻的左下方、左方、左上方、上方以及右上方的编码块。V(i,j)max表示邻域Z中出现的最大灰度值,V(i,j)min表示邻域Z中出现的最小灰度值。
(4)、预测单元PU内像素点的平均梯度值G根据判定帧内预测模式的阈值Th初步判定帧内预测模式。
将步骤(2-3)中计算得到的平均梯度值G与步骤(3)中已确定的判定帧内预测模式的阈值Th进行比较,判定预测单元PU的预测模式属于Planar模式、DC模式还是方向模式:
经初步判定,若该预测单元PU属于Planar模式或DC模式,则判决过程结束;若该预测单元属于方向模式,则进入步骤(5),并进一步确定该预测单元PU的具体方向模式。
(5)、根据Sobel算子计算的预测单元PU内各个像素点的梯度值,计算预测单元PU各个像素点的梯度方向,参见图3,其具体步骤是:
(5-1)、根据步骤(2-1)中Sobel横向算子SobelH和Sobel纵向算子SobelV计算得到的预测单元PU的像素点(i,j)的水平方向梯度G(i,j)H和的垂直方向梯度G(i,j)V的梯度值,计算出预测单元PU内整体的横向梯度值与纵向梯度值为:
这里,由于预测单元PU内各个像素点的梯度值都相似但不同,而我们需要的是预测单元PU内整体的梯度值,因此我们采取求平均值的方法来取得该预测单元PU内整体的横向梯度值与纵向梯度值
(5-2)、根据步骤(5-1)中计算得到的预测单元PU内整体的横向梯度值与纵向梯度值计算预测单元PU的梯度方向θG:
(6)、根据步骤(5-2)中计算得到的预测单元PU的梯度方向θG,查下表可确定帧内预测模式,判决结束。
表1帧内角度与预测模式
模式 |
角度 |
模式 |
角度 |
模式 |
角度 |
2 |
8π/32 |
13 |
-3π/32 |
24 |
-14π/32 |
3 |
7π/32 |
14 |
-4π/32 |
25 |
-15π/32 |
4 |
6π/32 |
15 |
-5π/32 |
26 |
-16π/32 |
5 |
5π/32 |
16 |
-6π/32 |
27 |
-17π/32 |
6 |
4π/32 |
17 |
-7π/32 |
28 |
-18π/32 |
7 |
3π/32 |
18 |
-8π/32 |
29 |
-19π/32 |
8 |
2π/32 |
19 |
-9π/32 |
30 |
-20π/32 |
9 |
π/32 |
20 |
-10π/32 |
31 |
-21π/32 |
10 |
0 |
21 |
-11π/32 |
32 |
-22π/32 |
11 |
-π/32 |
22 |
-12π/32 |
33 |
-23π/32 |
12 |
-2π/32 |
23 |
-13π/32 |
34 |
-24π/32 |
利用步骤(5-2)中计算得到的预测单元PU的梯度方向θG与表1中各方向模式对应的角度作差,结果小于π/64的模式即为判决出来的帧内预测模式。
下面对几个标准测试视频序列进行测试实验,在JCT-VC提供的高效率视频编码系统平台上,以HM分别采用固定量化参数28和36时得到的码率作为本帧内模式快速判决方法的目标码率,表2给出标准测试序列的数据参数,表3给出测试的条件,表4给出本发明的结果。
表2测试数据参数
测试序列 |
分辨率 |
帧数 |
量化参数 |
Traffic |
2560×1600 |
500 |
28 |
PeopleOnStreet |
2560×1600 |
500 |
36 |
BasketballDrive |
1920×1088 |
500 |
28 |
Cactus |
1920×1088 |
500 |
36 |
FourPeople |
1080×720 |
500 |
28 |
Johnny |
1080×720 |
500 |
36 |
表3测试条件
帧率 |
25 |
ICMode |
0 |
GOP大小 |
8 |
搜索方式 |
FastSearch |
搜索范围 |
64pixel |
编码帧数 |
200 |
编码模式 |
CABAC |
参考帧数 |
2 |
Base Unit Size |
1 |
信道类型 |
CBR |
表4测试结果
由表4可知:本发明针对高效率视频编码标准的快速帧内模式判决方法与H.264/AVC编码标准的原始编码方法相比,节省了平均38.5%左右的编码时间,虽然码率比原始方法有小幅度上涨,但节省了大量的编码时间。因此,本发明采用了Sobel边缘检测算子,在方向模式的判决准确度保持不变的情况,帧内判决速度得到了提升,具有实际操作性,便于进行实时应用。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。