背景技术
随着多媒体技术的发展和多媒体应用的迅速推广,视频图象压缩标准和技术得到了广泛的关注,特别是由MPEG(运动图像专家组)和ITU(国际电信联盟)两个标准组织联合形成的标准制定工作组JVT制定的H.264,由于其先进的技术特点和较好的压缩性能,已经在会议电视、可视电话、流媒体、HD DVD、视频监控、数字电视、3G等领域得到应用,并具有广阔的应用前景。
H.264的压缩处理框架如附图1所示,其基本处理单位为16×16宏块。H.264采用了多帧参考、帧内预测、多宏块模式、4×4整数变换和量化、环滤波、1/4像素运动预测、CAVLC和CABAC熵编码等先进技术,其压缩效率比MPEG-2、H.263、MPEG-4ASP提高一倍多。
在H.264中,为了取得精确的运动估计与补偿的效果,提出了分数像素插值的方法,该方法使用了一个6抽头的滤波器,插值精度达到了1/4像素。
H.264中亮度插值方法如附图2所示。
图2中,大写字母A至U表示图像中整数像素点的位置,小写字母j、h、b、k、u、s、t、v、w、m、r、x、y表示二分之一像素点的位置,小写字母a、c、d、e、f、g、i、l、n、o、p、q表示四分之一像素点的位置。
H.264中,二分之一像素插值是使用(1,-5,20,20,-5,1)的6抽头的滤波器分别在图2的行方向和列方向上对相应的整数像素进行滤波,如:
b=(E-5F+20G+20H-5I+K+16)/32;
m=(A-5C+20G+20N-5R+T+16)/32;
k=(j-5h+20b+20u-5s+t+16)/32;
四分之一像素插值是利用相邻的整数或者二分之一像素位置上的值求平均得到的,如:
a=(G+b+1)/2;
d=(G+m+1)/2;
f=(b+k+1)/2;
e=(b+m+1)/2;
从上述描述可以看出,H.264中分数像素插值的过程、尤其是二分之一像素插值过程中的6抽头的滤波过程是一个较为复杂的过程,计算复杂度高、计算量大,从而影响了视频序列的编码效率。
发明内容
本发明的目的在于,提供一种分数像素插值方法和编解码设备,通过自适应的采用分数像素插值滤波器的替换滤波器,降低了分数像素插值过程中、尤其是二分之一像素插值过程中的计算复杂度,提高了视频序列的编码效率。
为达到上述目的,本发明提供的一种分数像素插值方法,包括:
a、确定与分数像素插值滤波器有相关性的替换滤波器;
b、在预定条件满足时,根据所述替换滤波器确定分数像素插值。
所述分数像素插值为:二分之一像素插值或四分之一像素插值,且所述分数像素插值滤波器为:二分之一像素插值滤波器、或四分之一像素插值滤波器。
所述二分之一像素插值滤波器包括:6抽头滤波器,且所述替换滤波器为:4抽头滤波器和/或2抽头滤波器。
所述步骤a具体为:确定二分之一像素插值滤波器(1,-5,20,20,-5,1)的替换滤波器为(1,-5,-5,1)和/或(1,1)。
所述步骤a具体为:
确定二分之一像素插值滤波器(p1-5p2+20p3+20p4-5p5+p6+16)/32的替换滤波器为(-p2+5p3+5p4-p5+4)/8和/或(p3+p4+1)/2。
所述步骤b具体为:
当p1与p2相等且p5与p6相等时,根据滤波器(-p2-5p3+5p4-p5+4)/8确定二分之一像素插值;或当p1与p2与p3相等且p4与p5与p6相等时,根据滤波器(p3+p4+1)/2确定二分之一像素插值。
所述步骤b具体为:
当p1与p2相等或p5与p6相等时,根据滤波器(-p2-5p3+5p4-p5+4)/8确定二分之一像素插值;或当p1与p2相等或p5与p6相等,且p2与p3相等或p4与p5相等时,根据滤波器(p3+p4+1)/2确定二分之一像素插值。
所述四分之一像素插值滤波器包括:4抽头滤波器,且所述替换滤波器为:2抽头滤波器。
所述步骤a具体为:
确定四分之一像素插值滤波器(1,-5,-5,1)的替换滤波器为(1,1)。
所述步骤a具体为:
确定四分之一像素插值滤波器(-p2+5p3+5p4-p5+4)/8的替换滤波器为(p3+p4+1)/2;
且所述步骤b具体为:
当p2与p3相等且p4与p5相等时,根据滤波器(p3+p4+1)/2确定四分之一像素插值;或
当p2与p3相等或p4与p5相等时,根据滤波器(p3+p4+1)/2确定四分之一像素插值。
本发明还提供一种编解码设备,设置有分数像素插值滤波器,编解码设备中还设置有:判断模块和与所述分数像素插值滤波器有相关性的替换滤波器;
判断模块:在预定条件满足时,通知所述替换滤波器;
替换滤波器:根据所述判断模块的通知进行分数像素插值过程。
通过上述技术方案的描述可知,本发明充分利用了滤波器的相关性,通过自适应地使用与分数像素插值滤波器有相关性的替换滤波器,来进行分数像素插值,如对于二分之一像素插值过程,自适应地采用4抽头滤波器或2抽头滤波器替换原来的6抽头插值滤波器,再如对于四分之一像素插值过程,自适应地采用2抽头滤波器替换原理的4抽头滤波器等,减少了分数像素插值过程中、尤其是二分之一像素插值过程中的计算复杂度和计算量;通过在判断过程中放宽预定条件,避免了预定条件过于苛刻,由于符合条件的情况过少而给系统带来不必要的计算量的现象,确保了本发明能够有效减少分数像素插值过程中的计算复杂度和计算量;本发明通过具体的实验结果证明了采用有相关性的替换滤波器进行分数像素插值,能够使分数像素插值的各项性能指标与H.264的各项性能指标保持相近,而计算复杂度和计算量却降低了,从而通过本发明提供的技术方案实现了提高编码效率的目的。
具体实施方式
本发明的分数像素插值方法和编解码设备的核心均是:确定与分数像素插值滤波器有相关性的替换滤波器,在预定条件满足时,根据该替换滤波器进行分数像素插值过程。
下面基于本发明的核心思想对本发明提供的技术方案做进一步的描述。
不同的滤波器之间是有较强的相关性的,如:
6抽头的滤波器(p1-5p2+20p3+20p4-5p5+p6+16)/32 (1)
可等价变换为:
(-4p2+20p3+20p4-4p5+16+p1-p2-p5+p6)/32 (2)
公式(2)可进一步等价变换为:
(-p2+5p3+5p4-p5+4)/8+(p1-p2+p6-p5)/32 (3)
当p1与p2相等、且p6与p5相等时,公式(3)可等价变换为:
(-p2+5p3+5p4-p5+4)/8 (4)
而公式(4)是四抽头的滤波器。
公式(4)还可以进一步等价变换为:
(4p3+4p4+4+p3-p2+p4-p5)/8 (5)
公式(5)可进一步等价变换为:
(p3+p4+1)/2+(p3-p2+p4-p5)/8 (6)
当p2与p3相等、且p4与p5相等时,公式(6)可等价变换为:
(p3+p4+1)/2 (7)
而公式(7)是二抽头的滤波器。
通过上述推倒过程可知,滤波器之间是具有相关性的,如6抽头滤波器和4抽头滤波器之间有较强的相关性,4抽头滤波器和2抽头滤波器之间有较强的相关性,同时,6抽头滤波器和2抽头滤波器之间也有一定的相关性;即当p1=p2且p6=p5时,6抽头滤波器的滤波效果和4抽头滤波器的滤波效果是一样的,当p2=p3且p4=p5时,4抽头滤波器的滤波效果和2抽头滤波器的滤波效果是一样的;当p1=p2=p3、p6=p5=p4时,6抽头滤波器的滤波效果和2抽头滤波器的滤波效果是一样的。
本发明充分利用了滤波器之间的相关性,在分数像素值插值方法中,首先确定与分数像素插值滤波器有相关性的替换滤波器,如当二分之一像素插值滤波器为6抽头滤波器(p1-5p2+20p3+20p4-5p5+p6+16)/32时,可以设置与该6抽头滤波器有相关性的替换滤波器为4抽头滤波器(-p2+5p3+5p4-p5+4)/8,也可以设置与该6抽头滤波器有相关性的替换滤波器为2抽头滤波器(p3+p4+1)/2,还可以设置与该6抽头滤波器有相关性的替换滤波器为4抽头滤波器(-p2+5p3+5p4-p5+4)/8和2抽头滤波器(p3+p4+1)/2;再如当四分之一像素插值滤波器为4抽头滤波器(-p2+5p3+5p4-p5+4)/8时,可以设置与该4抽头滤波器有相关性的替换滤波器为2抽头滤波器(p3+p4+1)/2。
在确定了与分数像素插值滤波器有相关性的替换滤波器后,本发明在进行滤波确定分数像素插值过程中,需要判断预先设置的预定条件是否满足,如果预定条件满足,则使用替换滤波器进行滤波并确定分数像素插值的过程,如果预定条件不满足,则使用原分数像素插值滤波器进行滤波并确定分数像素插值的过程。
下面以二分之一像素插值和四分之一像素插值的实现过程为例对本发明的分数像素插值的实现过程进行说明。
当二分之一像素插值滤波器为6抽头滤波器(p1-5p2+20p3+20p4-5p5+p6+16)/32、且与该6抽头滤波器有相关性的替换滤波器为4抽头滤波器(-p2+5p3+5p4-p5+4)/8时,预定条件可以为:p1与p2相等、且p6与p5相等。这样,当p1与p2相等、且p6与p5相等的条件满足时,则使用4抽头滤波器(-p2+5p3+5p4-p5+4)/8进行滤波并确定分数像素插值的过程;当p1与p2相等、且p6与p5相等的条件不满足时,则使用6抽头滤波器(p1-5p2+20p3+20p4-5p5+p6+16)/32进行滤波并确定分数像素插值的过程。
当二分之一像素插值滤波器为6抽头滤波器(p1-5p2+20p3+20p4-5p5+p6+16)/32、且与该6抽头滤波器有相关性的替换滤波器为2抽头滤波器(p3+p4+1)/2时,预定条件可以为p1与p2、p3相等、且p6与p5、p4相等。这样,当p1与p2、p3相等、且p6与p5、p4相等的条件满足时,则使用2抽头滤波器(p3+p4+1)/2进行滤波并确定分数像素插值的过程;当p1与p2、p3相等、且p6与p5、p4相等的条件不满足时,则使用6抽头滤波器(p1-5p2+20p3+20p4-5p5+p6+16)/32进行滤波并确定分数像素插值的过程。
当二分之一像素插值滤波器为6抽头滤波器(p1-5p2+20p3+20p4-5p5+p6+16)/32、且与该6抽头滤波器有相关性的替换滤波器为4抽头滤波器(-p2+5p3+5p4-p5+4)/8和2抽头滤波器(p3+p4+1)/2时,预定条件包括预定条件1和预定条件2,预定条件1为p1与p2相等、且p6与p5相等,预定条件2为p1与p2、p3相等、且p6与p5、p4相等。这样,当预定条件1满足、预定条件2不满足时,则使用4抽头滤波器(-p2+5p3+5p4-p5+4)/8进行滤波并确定分数像素插值的过程,当预定条件1、预定条件2都满足时,则使用2抽头滤波器(p3+p4+1)/2进行滤波并确定分数像素插值的过程。
当四分之一像素插值滤波器为4抽头滤波器(-p2+5p3+5p4-p5+4)/8、且与该4抽头滤波器有相关性的替换滤波器为2抽头滤波器(p3+p4+1)/2时,预定条件可以为p2=p3且p4=p5相等。这样,当p2=p3且p4=p5相等的条件满足时,则使用2抽头滤波器(p3+p4+1)/2进行滤波并确定分数像素插值的过程;当p2=p3且p4=p5相等的条件不满足时,则使用4抽头滤波器(-p2+5p3+5p4-p5+4)/8进行滤波并确定分数像素插值的过程。
这样,本发明利用滤波器组之间的相关特性进行等值替换,减少了分数像素插值过程中的计算复杂度,而不影响客观的滤波效果,从而使本发明的分数像素插值的精确度不受影响。
由于本发明在滤波器替换过程中增加了判断过程,如在采用4抽头滤波器替代6抽头滤波器时,必须对预定条件(p1==p2)&&(p6==p5)进行判断,再如在采用2抽头滤波器替代4抽头滤波器时,必须对预定条件(p3==p2)&&(p4==p5)进行判断,上述预定条件判断的过程给系统带来了一定的计算量。如果判断条件过于苛刻使绝大部分情况都不能够满足该预定条件时,上述使用替换滤波器的方法会给系统带来更多的计算量。
为了避免上述问题,充分利用滤波器组的可替换性,本发明对预定条件的判断进行了放宽改进,如在采用4抽头滤波器替代6抽头滤波器时,预定条件可以放宽修改为:p1与p2相等或p6与p5相等;如采用2抽头滤波器替代4抽头滤波器时,预定条件可以放宽修改为:p2与p3相等或p4与p5相等;再如采用2抽头滤波器替代6抽头滤波器时,预定条件可以放宽修改为:p1与p2相等或p6与p5相等,且p2与p3相等或p4与p5相等。
二分之一像素插值的放宽改进后的预定条件判断可以设置为如下形式:
if((p1==p2)‖(p6==p5))
{
if((p2==p3)‖(p4==p5))
{
2抽头滤波;
}
else
{
4抽头滤波;
}
}
else
{
6抽头滤波;
}
在将采用替换滤波器的判断条件放宽后,使分数像素插值过程中采用替换滤波器的可能性大大增加。
本发明对实际图像序列进行了测试,测试序列、各测试序列中使用的不同抽头的滤波器的个数如表1所示。
表1
序列 |
使用Filter2个数(%) |
使用Filter4个数(%) |
使用Filter6个数(%) |
Mobile.qcif |
7 |
9 |
84 |
Mobile.cif |
7 |
10 |
83 |
Bus.qcif |
6 |
10 |
84 |
Bus.cif |
5 |
11 |
84 |
Football.qcif |
7 |
11 |
82 |
Football.cif |
7 |
13 |
80 |
News.qcif |
20 |
17 |
63 |
News.cif |
17 |
19 |
64 |
Foreman.qcif |
10 |
14 |
76 |
Foreman.cif |
12 |
15 |
73 |
Tempete.qcif |
10 |
9 |
81 |
Tempete.cif |
10 |
12 |
78 |
Paris.qcif |
9 |
12 |
79 |
Paris.cif |
10 |
14 |
76 |
各测试序列的性能测试结果如表2所示。
表2
序列 |
本发明方法相对H.264PSNR提高(dB) |
本发明方法相对H.264码率提高(%) |
Y |
U |
V |
Mobile.qcif |
-0.02 |
-0.02 |
0.01 |
0.9 |
Mobile.cif |
-0.02 |
0.01 |
0.02 |
0.5 |
Bus.qcif |
-0.01 |
0.02 |
0.11 |
0.9 |
Bus.cif |
-0.02 |
-0.04 |
-0.03 |
0.2 |
Football.qcif |
-0.01 |
-0.02 |
0.03 |
-0.04 |
Football.cif |
0 |
0.04 |
0.04 |
0.2 |
News.qcif |
-0.01 |
0.02 |
-0.01 |
-0.1 |
News.cif |
-0.01 |
-0.04 |
-0.05 |
0.3 |
Foreman.qcif |
-0.04 |
0.01 |
-0.03 |
-0.2 |
Foreman.cif |
-0.02 |
-0.01 |
0.04 |
0.2 |
Tempete.qcif |
-0.01 |
0.04 |
0 |
0.2 |
Tempete.cif |
-0.02 |
-0.01 |
-0.01 |
0.3 |
Paris.qcif |
-0.02 |
0.07 |
0.03 |
-0.04 |
Paris.cif |
0 |
0.03 |
0.06 |
0.2 |
平均 |
-0.02 |
0.01 |
0.02 |
0.3 |
从表1和表2可以看出,本发明自适应地采用替换滤波器进行分数像素插值过程,减少了分数像素插值过程中的运算复杂度和运算量,提高了编码效率,同时,本发明能够使分数像素插值的各项性能指标与H.264的各项性能指标保持相近。
本发明提供的编解码设备如附图3所示。
在图3中,编解码设备中设置有分数像素插值滤波器、替换滤波器和判断模块。替换滤波器与分数像素插值滤波器之间有较强的相关性。
对于二分之一像素来说,分数像素插值滤波器可以为6抽头滤波器,而替换滤波器可以为4抽头滤波器,也可以为2抽头滤波器,还可以为4抽头滤波器和2抽头滤波器。
对于四分之一像素来说,分数像素插值滤波器可以为4抽头滤波器,而替换滤波器可以为2抽头滤波器。
判断模块中存储的预定条件可以为条件放宽之后的预定条件,也可以为不放宽的预定条件,具体如上述方法中的描述,在此不再详细描述。判断模块在确定预定条件满足时,通知替换滤波器,由替换滤波器根据判断模块的通知进行滤波并确定分数像素插值过程;判断模块在确定预定条件不满足时,通知分数像素插值滤波器,由分数像素插值滤波器根据判断模块的通知进行滤波并确定分数像素插值过程。
虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,本发明的申请文件的权利要求包括这些变形和变化。