专利名称:视频图像亚像素插值的方法和装置的制作方法
技术领域:
本发明涉及电数字数据处理技术领域,特别是涉及一种视频图像亚像素插值的方法与装置。
背景技术:
传统的视频编码标准如ITU制定的H.261,H.263,H.26L,H.264标准以及ISO的MPEG组织制定的MEPG-1,MPEG-2,MPEG-4等都是基于混合编码,即Hybrid Coding框架之上的。所谓混合编码框架是综合考虑预测,变换以及熵编码的方法的编码框架,有以下主要特点1、利用预测去除时间域的冗余度;2、利用变换去除空间域的冗余度;3、利用熵编码去除统计上的冗余度;上述视频编码标准都具有帧内编码帧,即I帧,和帧间编码帧,即P帧,I帧和P帧采用不同的编码方法。I帧的编码过程如下对原始图像数据或帧内预测得到的残差块进行二维变换;然后在变换域中对变换系数进行量化;最后进行熵编码,即Huffman编码或者算术编码等。P帧的编码过程如下采用运动估计得到运动矢量,然后采用基于运动补偿的帧间预测,接着对帧间预测得到的残差块进行二维变换,再对变换域系数进行量化,最后进行熵编码。
由于视频数据在空间上具有极大的相关性,在采用运动估计得到运动矢量的过程中,可以利用像素间的相关性进行亚像素位置像素值的内插,以提高运动矢量的准确性。并且在运动补偿的过程中得到较小的残差数据,从而大大提高压缩效率。亚像素内插是运动补偿环节中提高编码增益的重要因素。因此,亚像素插值是视频编解码中的重要组成部分。
发明内容
本发明的目的是提供一种视频图像亚像素插值的方法和装置,能利用已知像素之间的相关性内插出半像素和1/4像素值,使得运动补偿中运动矢量可以精确到1/4像素级,从而提高预测精度,提高编码效率。
为了达到上述目的,本发明采用的技术方案如下一、视频图像亚像素插值的方法1、一种视频图像亚像素插值的方法
1)根据亚像素点所处的不同位置分两步插值完成,5类亚像素点位置如下·一类半像素点与整像素点在同一行或同一列的半像素点;·二类半像素点除了一类半像素点外的其他半像素点;·一类1/4像素点与整像素点在同一行或同一列的1/4像素点;·二类1/4像素点同时与一类半像素点和二类半像素点在同一行或同时与一类半像素点和二类半像素点在同一列的1/4像素点;·三类1/4像素点除了一类1/4像素点和二类1/4像素点之外的1/4像素点;2)根据亚像素点所处的不同位置用不同滤波器插值。
2、所有的亚像素点分两步插值得到,第一步利用整像素点插值得到一类半像素点和一类1/4像素点;第二步利用已插值得到的一类半像素点插值得到二类半像素点、二类1/4像素点和三类1/4像素点。
3、对一类半像素用同一行中与其距离最近的4个整像素点做参考像素点或同一列中与其距离最近的4个整像素点做参考像素点由四抽头对称滤波器插值得到。
4、对一类1/4像素用同一行中与其距离最近的4个整像素点做参考像素点或同一列中与其距离最近的4个整像素点做参考像素点由四抽头不对称滤波器插值得到,其中对位于相邻一类半像素点左侧或上方的一类1/4像素点插值的滤波器和对位于相邻一类半像素点右侧或下方的一类1/4像素点插值的滤波器为镜像滤波器。
5、对二类半像素用同一行中与其距离最近的4个一类半像素点做参考像素点或同一列中与其距离最近的4个一类半像素点做参考像素点由四抽头对称滤波器插值得到。
6、对二类1/4像素用同一行中其距离最近的4个一类半像素点做参考像素点或同一列中与其距离最近的4个一类半像素点做参考像素点由四抽头不对称滤波器插值得到,其中对位于相邻二类半像素点左侧或上方的二类1/4像素点插值的滤波器和对位于相邻二类半像素点右侧或下方的二类1/4像素点插值的滤波器为镜像滤波器。
7、对三类1/4像素用位于其左下和右上方的一类半像素点做参考像素点由二抽对称线性滤波器插值或者用位于其右下和左上方一类半像素点做参考像素点由二抽对称线性滤波器插值得到。
8、四抽头对称滤波器,滤波器形式为{Co1,Co2,Co2,Co1}/[2×(Co1+Co2)],Coii=1,2,为滤波器抽头系数,具体抽头系数为{-3,19,19,-3}/32,用于对一类半像素和二类半像素插值,滤波公式为x=(Co1×X1+Co2×X2+Co2×X3+Co1×X4)/[(Co1+Co2)×2],其中Xi,i=1...4,为参考像素点。
9、四抽头不对称滤波器,滤波器形式为{Co1,Co2,Co3,Co4}/(Co1+Co2+Co3+Co4),Coi,i=1...4,为滤波器抽头系数,具体抽头系数为{-5,59,13,-3}/64或{-3,29,7,1}/32,滤波公式为x=(Co1×X1+Co2×X2+Co3×X3+Co4×X4)/(Co1+Co2+Co3+Co4),其中Xi,i=1...4,为参考像素点;该滤波器用于一类1/4像素点的插值和二类1/4像素点的插值。
二、视频图像亚像素插值的装置,它包括·用于从原始帧中读取整像素点像素值的输入装置;·用于对一类半像素点和一类1/4像素点插值的第一步插值装置;·用于暂存第一步插值结果的暂存装置;·用于对二类半像素点、二类1/4像素点和三类1/4像素点插值的第二步插值装置;·用于输出全部亚像素点像素值的输出装置。
输入装置和第一步插值装置之间用数据总线连接,用于传输整像素点像素值;第一步插值装置与暂存装置之间用数据总线连接,用于传输第一步插值得到的一类半像素点像素值;第一步插值装置与输出装置之间用数据总线连接,用于传输第一步插值得到的亚像素点像素值;暂存装置和第二步插值装置之间用数据总线连接,用于传输用于第二步插值的一类半像素点像素值;第二步插值装置和输出装置之间用数据总线连接,用于传输第二步插值得到的亚像素点像素值。
本发明与背景技术相比,具有的有益的效果是本发明在视频编解码环的运动补偿预测部分提供了较好的亚像素内插方法。第一、用较少抽头系数的滤波器对亚像素位置实现内插处理,减少了每次取入的参考像素点的个数,较高程度减缓了每次数据总线的传输量。第二、用两步插值内插出全部1/4精度的亚像素位置像素值,比背景技术减少了一步,即减少了取数次数,降低了数据总线的传输数据压力,并且减少了数据暂存装置的容量。第三、本发明使用的方法插值结果在性能上比原有背景技术有所提升。较优的插值结果减小了运动补偿残差的大小,降低了码率,提高了视频压缩编码效率。本发明中的视频图像亚像素插值装置完全实现本发明中的插值方法。
图1是大写字母表示的整像素点和小写字母表示的亚像素点的位置分布示意图;图2是第一步插值中利用水平整像素点内插得到用小写字母表示亚像素点的分布示意图;图3是第一步插值完成后内插得到用小写字母表示亚像素点的分布示意图;图4是第二步插值中利用水平半像素点内插得到用小写字母表示亚像素点的分布示意图;图5是第二步插值完成后内插得到用小写字母表示全部亚像素点的分布示意图;图6是视频图像亚像素插值装置的示意图;图7是四抽头对称插值滤波器组成示意图;图8是四抽头不对称插值滤波器组成示意图。
具体实施例方式
在本方法中先把原始图像中的像素位置称为整像素点,例如图1中用大写字母A标出的点。需要插值得到的像素位置称为亚像素点,例如图1中其余用小写字母标出的点。亚像素点分为两类,即半像素点和1/4像素点。半像素点又分为两类,分别称为一类半像素点和二类半像素点。1/4像素点分为三类,分别称为一类1/4像素点,二类1/4像素点和三类1/4像素点。各类亚像素点分别定义如下一类半像素点与整像素点在同一行的半像素点或与整像素点在同一列的半像素点。例如图1中的b1和b2。
二类半像素点除了一类半像素点外的其他半像素点,例如图1中的。例如图一中的c。
一类1/4像素点与整像素点在同一行的1/4像素点或与整像素点在同一列的1/4像素点。例如图1中的d1、d2、d3、d4。
二类1/4像素点同时与一类半像素点和二类半像素点在同一行的1/4像素点或与同时与一类半像素点和二类半像素点在同一列的1/4像素点。例如图1中的e1、e2、e3、e4。
三类1/4像素点除了一类和二类1/4像素点以外的其他1/4像素点。例如图1中的f1、f2、f3、f4。
本发明根据半像素点和1/4像素点的位置分类不同,在不同时间使用不同的滤波器内插出该位置的像素值。内插方法如下当当前需要内插得到的亚像素点为一类半像素点bx时,使用对称四抽头滤波器F1内插出该类半像素点。可以得到一类半像素点bx的像素值为bx=((-3)×A1+19×A2+19×A3+(-3)×A4)/32,其中当x=1时A1,A2,A3和A4为与bx同一行中左右距离最近的整像素点,它们从左至右的位置顺序为A1,A2,bx,A3,A4,如图2中所示。当x=2时A1,A2,A3和A4为与bx同一列中上下距离最近的整像素点。它们从上到下的位置顺序为A1,A2,bx,A3,A4,如图3中所示。
当当前需要内插得到的亚像素点为二类半像素点c时,使用对称四抽头滤波器F1内插出该类半像素点。二类半像素点c的像素值可以通过两种方法得到。第一种方法为c=((-3)×b12+19×b22+19×b32+(-3)×b42)/32,]]>其中b12,b22,b32和b42为与c同一行中左右距离最近的已内插得到的一类半像素点,如图4中所示。它们从左至右的位置顺序为b12,b22,c,b32,b42。第二种方法为c=((-3)×b11+19×b21+19×b31+(-3)×b41)/32,]]>其中b11,b21,b31和b41为与c同一列中上下距离最近的已内插得到的一类半像素点,如图5中所示。它们从上到下的位置顺序为b11,b21,c,b31,b41。两种方法在实现中可以任选其中一种。
当当前需要内插得到的亚像素点为一类1/4像素点dx时,使用不对称四抽头滤波器内插出该一类1/4像素点。该类1/4像素点内插时分两种情况。
●当该类1/4像素点位于相邻的一类半像素点左侧时,即图1中的d1时,使用滤波器F2插值。可以得到该位置的一类1/4像素点d1的像素值为d1=(m1×A1+m2×A2+m3×A3+m4×A4)/(m1+m2+m3+m4),其中A1,A2,A3和A4为与d1同一行中左右距离最近的整像素点,如图2所示。它们从左至右的位置顺序为A1,A2,d1,A3,A4。当该类1/4像素点位于相邻的一类半像素点上方时,即图1中的d3时,使用滤波器F2插值。可以得到该位置的一类1/4像素点d3的像素值为d3=(m1×A1+m2×A2+m3×A3+m4×A4)/(m1+m2+m3+m4),其中A1,A2,A3和A4为与d3同一列中上下距离最近的整像素点,如图3所示。它们从上到下的位置顺序为A1,A2,d3,A3,A4。
●当该类1/4像素点位于相邻的一类半像素点右侧时,即图1中的d2时,使用滤波器F3插值。可以得到该位置的一类1/4像素点d2的像素值为d2=(m4×A1+m3×A2+m2×A3+m1×A4)/(m1+m2+m3+m4),其中A1,A2,A3和A4为与d2同一行中左右距离最近的整像素点,如图2所示。它们从左至右的位置顺序为A1,A2,d2,A3,A4。当该类1/4像素点位于相邻的一类半像素点下方时,即图1中的d4时,使用滤波器F3插值。可以得到该位置的一类1/4像素点d4的像素值为d4=(m4×A1+m3×A2+m2×A3+m1×A4)/(m1+m2+m3+m4),其中A1,A2,A3和A4为与d4同一列中上下距离最近的整像素点,如图3所示。它们从上到下的位置顺序为A1,A2,d4,A3,A4。
当当前需要内插得到的亚像素点为二类1/4像素点ex时,使用不对称四抽头滤波器内插出该二类1/4像素点。该类1/4像素点内插如下●当该类1/4像素点位于最近的二类半像素点左侧时,即图1中的e1,使用滤波器F2插值。可以得到该类像素点的像素值为e1=(m1×b12+m2×b22+m3×b32+m4×b42)/(m1+m2+m3+m4),]]>其中b12,b22,b32和b42为与e1同一行中距离最近的4个已内插得到的一类半像素点。它们从左至右的位置顺序为b12,b22,e1,b32,b42,如图4所示。
●当该类1/4像素点位于最近的二类半像素点上方时,即图1中的e3,使用滤波器F2插值。可以得到该类像素点的像素值为e3=(m1×b11+m2×b21+m3×b31+m4×b41)/(m1+m2+m3+m4),]]>其中b11,b21,b31和b41为与e3同一列中距离最近的4个已内插得到的一类半像素点。它们从上到下的位置顺序为b11,b21,e3,b31,b41,如图5所示。
●当该类1/4像素点位于最近的二类半像素点右侧时,即图1中的e2,使用滤波器F3插值。可以得到该类像素点的像素值为e2=(m4×b12+m3×b22+m2×b32+m1×b42)/(m1+m2+m3+m4),]]>其中b12,b22,b32和b42为与e2同一行中距离最近的4个已内插得到的一类半像素点。它们从左至右的位置顺序为b12,b22,e1,b32,b42,如图4所示。
●当该类1/4像素点位于最近的二类半像素点下方时,即图1中的e4,使用滤波器F3插值。可以得到该类像素点的像素值为e4=(m4×b11+m3×b21+m2×b31+m1×b41)/(m1+m2+m3+m4),]]>其中b11,b21,b31和b41为与e4同一列中距离最近的4个已内插得到的一类半像素点。它们从上到下的位置顺序为b11,b21,e3,b31,b41,如图5所示。
当当前需要内插得到的亚像素点为三类1/4像素点fx时,使用线性滤波器F4内插出该三类1/4像素点。该类1/4像素点内插时分两种情况。
●当该类1/4像素点位于最近的二类半像素点的左上方时,即图1中的f1。可以得到该位置三类1/4像素点f1的像素值为f1=(b21+b12)/2,]]>其中b21为位于f1右上方的一类半像素点,b12为位于f1左下方的一类半像素点,如图5中所示。当该类1/4像素点位于最近的二类半像素点的右下方时,即图1中的f2。可以得到该位置三类1/4像素点f2的像素值为f2=(b31+b22)/2,]]>其中b22为位于f2右上方的一类半像素点,b31为位于f2左下方的一类半像素点,如图5中所示。
●当该类1/4像素点位于最近的二类半像素点的左下方时,即图1中的f3。可以得到该位置三类1/4像素点f3的像素值为f3=(b31+b12)/2,]]>其中b31为位于f2右下方的一类半像素点,b12为位于f2左上方的一类半像素点,如图5中所示。当该类1/4像素点位于最近的二类半像素点的右上方时,即图1中的f4。可以得到该位置三类1/4像素点f4的像素值为f4=(b21+b22)/2,]]>其中b22为位于f4右下方的一类半像素点,b21为位于f4左上方的一类半像素点,如图5中所示。
插值过程中使用4种不同系数和抽头数的数字滤波器Fx{Co1,Co2,Co3,Co4}/(Co1+Co2+Co3+Co4)。其抽头系数和抽头数具体如下F1为抽头系数对称的四抽头滤波器,其抽头系数为{-3,19,19,-3}/32。
F2为抽头系数不对称的四抽头滤波器,其抽头系数为{m1,m2,m3,m4}/(m1+m2+m3,+m4),具体系数可以选择{-5,59,13,-3}/64或{-3,29,7,-1}/32其中的一组。
F3为抽头系数不对称的四抽头滤波器,其抽头系数为F2镜像,即为{m4,m3,m2,m1}/(m1+m2+m3,+m4),具体的系数由F2的系数镜像后得到。
F4为抽头系数对称的二抽头线性插值滤波器,其抽头系数为{1,1}/2。
一种用于视频图像亚像素插值的装置包括输入装置210、第一步插值装置220、数据暂存装置230、第二步插值装置240和输出装置250,如图6所示。
输入装置210用于从原始帧中取出插值用到的参考像素点。
第一步插值装置220利用整像素对一类半像素点、一类1/4像素点插值。用到滤波器F1、F2、F3。其中的算术逻辑单元用乘法器、加法器和移位器实现插值过程。
第二步插值装240置利用一类半像素点插值得到二类半像素点、二类1/4像素点和三类1/4像素点。用到滤波器F1、F2、F3和F4。其中的算术逻辑单元用乘法器、加法器和移位器实现插值过程。
其中四抽头对称滤波器的结构如图7所示。Co1’和Co2’为归一化后的滤波器系数,即Co1’=Co1/[(Co1+Co2)×2]Co2’=Co2/[(Co1+Co2)×2]其中四抽头不对称滤波器的结构如图8所示。Co1’、Co2’、Co3’和Co4’为归一化后的滤波器系数,即Co1’=Co1/(Co1+Co2+Co3+Co4)Co2’=Co2/(Co1+Co2+Co3+Co4)
Co3’=Co3/(Co1+Co2+Co3+Co4)Co4’=Co4/(Co1+Co2+Co3+Co4)第一步插值装置220和第二步插值装置240之间的数据暂存装置230用于存储第一次产生的一类半像素点像素值,这些值用于第二步插值过程。
输出装置250用于输出内插得到的所有亚像素位置的像素值。
输入装置210和第一步插值装置220之间用数据总线连接,用于传输各整像素位置的像素值;第一步插值装置220和数据暂存装置230用数据总线相连,用于传输第二步插值需要的一类半像素点像素值;第一步插值装置220和输出装置用250数据总线相连,用于传输第一步插值得到的亚像素点像素值;数据暂存装置230和第二步插值装置240之间用数据总线连接,用于传输各一类半像素点位置的像素值;第二步插值装置240和输出装置250之间用数据总线连接,用于传输第二步插值得到的亚像素位置的像素值。
实施实例在对亚像素插值时,第一步对一类半像素点和一类1/4像素点的位置进行插值。这些像素点的插值用到的都是整像素点。第二步对二类半像素点、二类1/4像素点和三类1/4像素点的位置进行插值。这些像素点的插值用到的都是一类半像素点和一类1/4像素点,即第一步产生的结果。两步就可以把所有的亚像素位置都插值完成。具体过程如下1、标记为b1的一类半像素点的像素值由如下方法得到将水平方向距离最近的四个整数像素点利用4抽头滤波器F1进行滤波,如图2所示,得到插值结果b1。其中滤波器抽头系数为{-3,19,19,-3}/32。
b1=((-3)×A1+19×A2+19×A3+(-3)×A4)/322、标记为b2的一类半像素点的像素值由如下方法得到将垂直方向距离最近的四个整数像素点利用4抽头滤波器F1进行滤波,如图3所示,得到插值结果b2。其中滤波器抽头系数为{-3,19,19,-3}/32。
b2=((-3)×A1+19×A2+19×A3+(-3)×A4)/323、标记为d1的一类1/4像素点的像素值由如下方法得到将水平方向距离最近的四个整数像素点利用4抽头滤波器F2进行滤波,如图2所示,得到插值结果d1。其中滤波器抽头系数选{-5,59,13,-3}/64。
d1=((-5)×A1+59×A2+13×A3+(-3)×A4)/644、标记为d2的一类1/4像素点的像素值由如下方法得到将水平方向距离最近的四个整数像素点利用4抽头滤波器F3进行滤波,如图2所示,得到插值结果d2。其中滤波器抽头系数选{-3,13,59,-5}/64。
d2=((-3)×A1+13×A2+59×A3+(-5)×A4)/645、标记为d3的一类1/4像素点的像素值由如下方法得到将垂直方向距离最近的四个整数像素点利用4抽头滤波器F2进行滤波,如图3所示,得到插值结果d3。其中滤波器抽头系数选{-5,59,13,-3}/64。
d3=((-5)×A1+59×A2+13×A3+(-3)×A4)/646、标记为d4的一类1/4像素点的像素值由如下方法得到将垂直方向距离最近的四个整数像素点利用4抽头滤波器F3进行滤波,如图3所示,得到插值结果d4。其中滤波器抽头系数选{-3,13,59,-5}/64。
d4=((-3)×A1+13×A2+59×A3+(-5)×A4)/647、标记为c的二类半像素点的像素值由如下方法得到将水平或垂直方向距离最近的四个一类半像素点利用4抽头滤波器F1进行滤波,如图4所示,得到插值结果c。其中滤波器抽头系数为{-3,19,19,-3}/32。
c=((-3)×b12+19×b22+19×b32+(-3)×b42)/32]]>或者c=((-3)×b11+19×b21+19×b31+(-3)×b41)/32]]>8、标记为e1的二类1/4像素点的像素值由如下方法得到将水平方向距离最近的四个一类半像素点利用4抽头滤波器F2进行滤波,如图4所示,得到插值结果e1。其中滤波器抽头系数选{-5,59,13,-3}/64。
e1=((-5)×b12+59×b22+13×b32+(-5)×b42)/64]]>9、标记为e2的二类1/4像素点的像素值由如下方法得到将水平方向距离最近的四个一类半像素点利用4抽头滤波器F3进行滤波,如图4所示,得到插值结果e2。其中滤波器抽头系数选{-3,13,59,-5}/64。
e2=((-3)×b12+13×b22+59×b32+(-5)×b42)/64]]>10、标记为e3的二类1/4像素点的像素值由如下方法得到将垂直方向距离最近的四个一类半像素点利用4抽头滤波器F2进行滤波,如图5所示,得到插值结果e3。其中滤波器抽头系数选{-5,59,13,-3}/64。
e3=((-5)×b11+59×b21+13×b31+(-5)×b41)/64]]>11、标记为e4的二类1/4像素点的像素值由如下方法得到将垂直方向距离最近的四个一类半像素点利用4抽头滤波器F3进行滤波,如图5所示,得到插值结果e4。其中滤波器抽头系数选{-3,13,59,-5}/64。
e4=((-3)×b11+13×b21+59×b31+(-5)×b41)/64]]>
12、标记为f1或f2的三类1/4像素点的像素值由如下方法得到将f1或f2位置右上方和左下方两个一类半像素点利用线性插值方法,如图5所示,得到插值结果f1或f2。
f1=(b21+b12)/2]]>或f2=(b31+b22)/2]]>13、标记为f3或f4的三类1/4像素点的像素值由如下方法得到将f3或f4位置右下方和左上方两个一类半像素点利用线性插值方法,如图5所示,得到插值结果f3或f4。
f3=(b31+b12)/2]]>或f4=(b21+b22)/2]]>以上各亚像素的插值过程中,1-6为第一次取数插值完成的部分,7-13为第二次取数插值完成的部分。至此,两步完成所有的亚像素位置的插值。
一种用于视频图像亚像素插值的装置包括输入装置210、第一步插值装置220、数据暂存装置230、第二步插值装置240和输出装置250,如图6所示输入装置210用于从原始帧中取出插值用到的参考像素点;第一步插值装置220利用整像素对一类半像素点、一类1/4像素点插值。用到滤波器F1、F2、F3。其中的算术逻辑单元用乘法器、加法器和移位器实现插值过程;第二步插值装置240利用一类半像素点插值得到二类半像素点、二类1/4像素点和三类1/4像素点。用到滤波器F1、F2、F3和F4。其中的算术逻辑单元用乘法器、加法器和移位器实现插值过程;其中算术逻辑单元中四抽头对称滤波器的结构如图7所示。Co1’和Co2’为归一化后的滤波器系数,即Co1’=Co1/[(Co1+Co2)×2]Co2’=Co2/[(Co1+Co2)×2]其中算术逻辑单元中四抽头不对称滤波器的结构如图8所示。Co1’、Co2’、Co3’和Co4’为归一化后的滤波器系数,即Co1’=Co1/(Co1+Co2+Co3+Co4)Co2’=Co2/(Co1+Co2+Co3+Co4)Co3’=Co3/(Co1+Co2+Co3+Co4)Co4’=Co4/(Co1+Co2+Co3+Co4)第一步插值装置220和第二步插值装置240之间的数据暂存装置230用于存储第一次产生的一类半像素点像素值,这些值用于第二步插值过程;输出装置250用于输出内插的到的所有亚像素位置的像素值。
输入装置210和第一步插值装置220之间用数据总线连接,用于传输各整像素位置的像素值;第一步插值装置220和数据暂存装置230之间用数据总线连接,用于传输一类半像素点位置的像素值;第一步插值装置220和输出装置250之间用数据总线连接,用于传输第一次内插得到的亚像素位置的像素值。数据暂存装置230和第二此插值装置240之间用数据总线连接,用于传输各一类半像素点位置的像素值;第二步插值装置240和输出装置250之间用数据总线连接,用于传输第二次内插得到的亚像素位置的像素值。
上述的视频图像亚像素插值装置可以用处理器系统,微控制器,可编程逻辑器件或微处理器等实现部分或全部的操作。上述的一些操作可以用软件实现,同时另一些操作可以用硬件实现。
为了方便起见,这些操作被描述为不同的互连的功能单元或不同的软件模块。但是,这不是必要的。在一些应用中,这些功能单元或模块可以被集成到单一的逻辑器件、程序或操作中,而没有明显的界限。在任何情况中,功能单元和软件模块或描述的特征可以独立实现,或与其他操作一起用硬件或软件实现。
权利要求
1.一种视频图像亚像素插值的方法,其特征在于1)根据亚像素点所处的不同位置分两步插值完成,5类亚像素点位置如下·一类半像素点与整像素点在同一行或同一列的半像素点;·二类半像素点除了一类半像素点外的其他半像素点;·一类1/4像素点与整像素点在同一行或同一列的1/4像素点;·二类1/4像素点同时与一类半像素点和二类半像素点在同一行或同时与一类半像素点和二类半像素点在同一列的1/4像素点;·三类1/4像素点除了一类1/4像素点和二类1/4像素点之外的1/4像素点;2)根据亚像素点所处的不同位置用不同滤波器插值。
2.根据权利要求1所述的一种视频图像亚像素插值的方法,其特征在于所有的亚像素点分两步插值得到,第一步利用整像素点插值得到一类半像素点和一类1/4像素点;第二步利用已插值得到的一类半像素点插值得到二类半像素点、二类1/4像素点和三类1/4像素点。
3.根据权利要求1所述的一种视频图像亚像素插值的方法,其特征在于对一类半像素用同一行中与其距离最近的4个整像素点做参考像素点或同一列中与其距离最近的4个整像素点做参考像素点由四抽头对称滤波器插值得到。
4.根据权利要求1所述的一种视频图像亚像素插值的方法,其特征在于对一类1/4像素用同一行中与其距离最近的4个整像素点做参考像素点或同一列中与其距离最近的4个整像素点做参考像素点由四抽头不对称滤波器插值得到,其中对位于相邻一类半像素点左侧或上方的一类1/4像素点插值的滤波器和对位于相邻一类半像素点右侧或下方的一类1/4像素点插值的滤波器为镜像滤波器。
5.根据权利要求1所述的一种视频图像亚像素插值的方法,其特征在于对二类半像素用同一行中与其距离最近的4个一类半像素点做参考像素点或同一列中与其距离最近的4个一类半像素点做参考像素点由四抽头对称滤波器插值得到。
6.根据权利要求1所述的一种视频图像亚像素插值的方法,其特征在于对二类1/4像素用同一行中其距离最近的4个一类半像素点做参考像素点或同一列中与其距离最近的4个一类半像素点做参考像素点由四抽头不对称滤波器插值得到,其中对位于相邻二类半像素点左侧或上方的二类1/4像素点插值的滤波器和对位于相邻二类半像素点右侧或下方的二类1/4像素点插值的滤波器为镜像滤波器。
7.根据权利要求1所述的一种视频图像亚像素插值的方法,其特征在于对三类1/4像素用位于其左下和右上方的一类半像素点做参考像素点由二抽对称线性滤波器插值或者用位于其右下和左上方一类半像素点做参考像素点由二抽对称线性滤波器插值得到。
8.根据权利要求1所述的一种视频图像亚像素插值的方法,其特征在于四抽头对称滤波器,滤波器形式为{Co1,Co2,Co2,Co1}/[2×(Co1+Co2)],Coi,i=1,2,为滤波器抽头系数,具体抽头系数为{-3,19,19,-3}/32,用于对一类半像素和二类半像素插值,滤波公式为×=(Co1×X1+Co2×X2+Co2×X3+Co1×X4)/[(Co1+Co2)×2],其中Xii=1...4为参考像素点。
9.根据权利要求1所述的一种视频图像亚像素插值的方法,其特征在于四抽头不对称滤波器,滤波器形式为{Co1,Co2,Co3,Co4}/(Co1+Co2+Co3+Co4),Coi,i=1...4,为滤波器抽头系数,具体抽头系数为{-5,59,13,-3}/64或{-3,29,7,1}/32,滤波公式为x=(Co1×X1+Co2×X2+Co3×X3+Co4×X4)/(Co1+Co2+Co3+Co4),其中Xi,i=1...4,为参考像素点;该滤波器用于一类1/4像素点的插值和二类1/4像素点的插值。
10.根据权利要求1所述一种视频图像亚像素插值的方法的装置,其特征在于它包括·用于从原始帧中读取整像素点像素值的输入装置(210);·用于对一类半像素点和一类1/4像素点插值的第一步插值装置(220);·用于暂存第一步插值结果的暂存装置(230);·用于对二类半像素点、二类1/4像素点和三类1/4像素点插值的第二步插值装置(240);·用于输出全部亚像素点像素值的输出装置(250);输入装置(210)和第一步插值装置(220)之间用数据总线连接,用于传输整像素点像素值;第一步插值装置(220)与暂存装置(230)之间用数据总线连接,用于传输第一步插值得到的一类半像素点像素值;第一步插值装置(220)与输出装置(250)之间用数据总线连接,用于传输第一步插值得到的亚像素点像素值;暂存装置(230)和第二步插值装置(240)之间用数据总线连接,用于传输用于第二步插值的一类半像素点像素值;第二步插值装置(240)和输出装置(250)之间用数据总线连接,用于传输第二步插值得到的亚像素点像素值。
全文摘要
本发明公开了一种视频图像亚像素插值的方法和装置。它采用对于不同位置的亚像素点分类插值的方法,整个插值过程两步完成,减少了存取数次数和存取数的个数。插值过程中用到不同抽头数和抽头系数的插值滤波器。用较少抽头系数的滤波器对亚像素位置实现内插处理,减少了每次取入的整像素位置像素点的个数,较高程度减缓了每次数据总线的传输量;用两步插值内插出全部1/4精度的亚像素位置像素值,减少了取数次数,降低了数据总线的传输数据压力,并且减少了数据暂存装置的容量;本发明使用的方法插值结果在性能上比原有背景技术有所提升。较优的插值结果减小了运动补偿残差的大小,降低了码率,提高了视频压缩编码效率。
文档编号H04N7/26GK1529509SQ0314343
公开日2004年9月15日 申请日期2003年9月27日 优先权日2003年9月27日
发明者陆亮, 楼剑, 虞露, 陆 亮 申请人:浙江大学