首页> 中国专利> 一种1/8像素精度插值方法及插值装置

一种1/8像素精度插值方法及插值装置

摘要

本发明公开了一种1/8像素精度插值方法,包括如下步骤:设置分像素点类别及所述分像素点的位置;从原始参考帧中选取与所述分像素点构成的分像素块距离最近的(M+5)×(N+5)整像素块中的整像素点作为参考像素点,根据已设置的各类分像素点的位置进行插值获取所述分像素点。本发明对于所有的分像素位置插值,仅需使用整像素作为参考像素,简化了分像素位置中插值过程,从而减少插值过程的时延,且在运动补偿中能够使运动矢量精确到1/8像素级,提高预测精度,减小码率,且提高视频编码的压缩效率。

著录项

  • 公开/公告号CN101986711A

    专利类型发明专利

  • 公开/公告日2011-03-16

    原文格式PDF

  • 申请/专利权人 清华大学;

    申请/专利号CN201010563643.9

  • 发明设计人 戴琼海;魏宇平;张乃尧;

    申请日2010-11-24

  • 分类号

  • 代理机构北京清亦华知识产权代理事务所(普通合伙);

  • 代理人黄德海

  • 地址 100084 北京市100084-82信箱

  • 入库时间 2023-12-18 01:52:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-01-16

    授权

    授权

  • 2011-05-04

    实质审查的生效 IPC(主分类):H04N7/26 申请日:20101124

    实质审查的生效

  • 2011-03-16

    公开

    公开

说明书

技术领域

本发明涉及视频编码技术领域,特别涉及一种1/8像素精度的插值方法及插值装置。

背景技术

现今大部分视频编码标准(如H.261、H.263、H.264、MPEG-1、MPEG-2、MPEG-4、AVS)均采用混合编码框架,在编码过程中综合运用预测、变换、熵编码等技术实现视频的压缩。

现有视频编码技术中通常将视频数据分为帧内编码帧和帧间编码帧。一般情况下,在对帧间编码帧中的数据进行编码的过程中,首先在参考帧中采用运动搜索技术找到参考数据,对运动矢量进行编码来指示解码端参考数据在参考帧中的位置。初期的视频编码标准中采用整像素精度的运动补偿,如H.261。现今的视频编码标准采用分像素精度的运动补偿,在MPEG-1、MPEG-2中引入了1/2像素精度的运动补偿,而H.263、MPEG-4、H.264进一步引入了1/4像素精度的运动补偿。通过实践证明高精度的运动补偿能够使视频编码的压缩效率得到提高。

对于分像素精度的运动补偿,分像素级别的参考数据是通过参考帧中整像素的参考数据插值得到的,早期1/2像素精度的运动补偿通常使用双线性差值。H.264中1/4像素精度的运动补偿则采用了维纳滤波器进行插值。然而现今的分像素插值方法中插值过程复杂,从而造成插值过程的时延较大,不利于运动补偿,视频编码的压缩效率低。

发明内容

本发明的目的旨在至少解决上述技术缺陷之一,特别提供了一种1/8像素精度的插值方法,该方法可以减少获取分像素的插值过程的时延,并且有利于运动补偿、减小码率并提高视频编码的压缩效率。

本发明的另一个目的在于提供一种1/8像素精度的插值装置。

为此,本发明第一方面的实施例提出了一种1/8像素精度的插值方法,包括如下步骤:设置分像素点类别及所述分像素点的位置,所述分像素点包括:半像素点、1/4像素点和1/8像素点,其中,所述半像素点包括一类半像素点和二类半像素点,所述一类半像素点为与所述整像素点在同一行或同一列的半像素点,所述二类半像素点为所述半像素点内的剩余半像素点;

所述1/4像素点包括一类1/4像素点、二类1/4像素点和三类1/4像素点,所述一类1/4像素点为与所述整像素点在同一行或同一列的1/4像素,所述二类1/4像素点为同时与所述一类半像素点和二类半像素点在同一行或同时与所述一类半像素点和二类半像素点在同一列的1/4像素点,所述三类1/4像素点为所述1/4像素点内的剩余1/4像素点;

所述1/8像素点包括一类1/8像素点、二类1/8像素点、三类1/8像素点、四类1/8像素点、五类1/8像素点、六类1/8像素点、七类1/8像素点、八类1/8像素点和九类1/8像素点,所述一类1/8像素点为位于所述整像素和一类1/4像素点之间的1/8像素点;所述二类1/8像素点为位于所述一类半像素点和一类1/4像素点之间的1/8像素点,所述三类1/8像素点为位于所述一类1/4像素点和三类1/4像素点之间的1/8像素点,所述四类1/8像素点为位于所述一类半像素点和二类1/4像素点之间的1/8像素点,所述五类1/8像素点为位于三类1/4像素点和二类1/4像素点之间的1/8像素点,所述六类1/8像素点为位于所述二类1/4像素点和二类半像素点之间的1/8像素点,所述七类1/8像素点为位于所述一类1/8像素点和三类1/8像素点之间的1/8像素点,所述八类1/8像素点为位于所述二类1/8像素点、三类1/8像素点、四类1/8像素点、五类1/8像素点之间的1/8像素点,所述九类1/8像素点为位于五类1/8像素点和六类1/8像素点之间的1/8像素点;以及

从原始参考帧中选取与所述分像素点构成的分像素块距离最近的(M+5)×(N+5)整像素块中的整像素点作为参考像素点,根据已设置的各类分像素点的位置进行插值获取所述分像素点,其中,M为待插值获取的所述分像素块中每行分像素点的个数,N为待插值获取的所述分像素点中每列分像素点的个数。

根据本发明实施例的1/8像素精度的插值方法,对于所有的分像素位置插值,仅需使用整像素作为参考像素,简化了分像素位置中插值过程,从而减少插值过程的时延。同时采用高精度的插值滤波器,在运动补偿中能够使运动矢量精确到1/8像素级,提高预测精度,减小码率,且提高视频编码的压缩效率。

本发明的第二方面的实施例提出了一种1/8像素精度的插值装置,包括:获取模块,用于从原始参考帧中获取作为参考像素点的整像素点;分像素插值模块,所述分像素插值模块与所述获取模块连接,用于接收来自所述获取模块的整像素点并对所述整像素点进行插值以获取分像素点,所述分像素点包括:半像素点、1/4像素点和1/8像素点,所述分像素点插值模块包括:一类半像素插值单元,用于插值获取一类半像素点,所述一类半像素点为与所述整像素点在同一行或同一列的半像素点;二类半像素插值单元,用于插值获取二类半像素点,所述二类半像素点为所述半像素点内的剩余半像素点;一类1/4像素插值单元,用于插值获取一类1/4像素点,所述一类1/4像素点为与所述整像素点在同一行或同一列的1/4像素;二类1/4像素插值单元,用于插值获取二类1/4像素点,所述二类1/4像素点为同时与所述一类半像素点和二类半像素点在同一行或同时与所述一类半像素点和二类半像素点在同一列的1/4像素点;三类1/4像素插值单元,用于插值获取三类1/4像素点,所述三类1/4像素点为所述1/4像素点内的剩余1/4像素点;一类1/8像素插值单元,用于插值获取一类1/8像素点,所述一类1/8像素点为位于所述整像素和一类1/4像素点之间的1/8像素点;二类1/8像素插值单元,用于插值获取二类1/8像素点,所述二类1/8像素点为位于所述一类半像素点和一类1/4像素点之间的1/8像素点;三类1/8像素插值单元,用于插值获取三类1/8像素点,所述三类1/8像素点为位于所述一类1/4像素点和三类1/4像素点之间的1/8像素点;四类1/8像素插值单元,用于插值获取四类1/8像素点,所述四类1/8像素点为位于所述一类半像素点和二类1/4像素点之间的1/8像素点;五类1/8像素插值单元,用于插值获取五类1/8像素点,所述五类1/8像素点为位于三类1/4像素点和二类1/4像素点之间的1/8像素点;六类1/8像素插值单元,用于插值获取六类1/8像素点,所述六类1/8像素点为位于所述二类1/4像素点和二类半像素点之间的1/8像素点;七类1/8像素插值单元,用于插值获取七类1/8像素点,所述七类1/8像素点为位于所述一类1/8像素点和三类1/8像素点之间的1/8像素点;八类1/8像素插值单元,用于插值获取八类1/8像素点,所述八类1/8像素点为位于所述二类1/8像素点、三类1/8像素点、四类1/8像素点、五类1/8像素点之间的1/8像素点;九类1/8像素插值单元,用于插值获取九类1/8像素点,所述九类1/8像素点为位于五类1/8像素点和六类1/8像素点之间的1/8像素点;以及输出模块,所述输出模块与所述分像素插值模块相连,用于输出插值得到的分像素点的分像素值。

根据本发明实施例的1/8像素精度的插值装置,对于所有的分像素位置插值,仅需使用整像素作为参考像素,简化了分像素位置中插值过程,从而减少插值过程的时延。同时本发明实施例的插值装置采用高精度的插值滤波器,在运动补偿中能够使运动矢量精确到1/8像素级,提高预测精度,减小码率,且提高视频编码的压缩效率。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为根据本发明实施例的1/8像素精度的插值方法的流程框图;

图2为根据本发明实施例作为参考像素的整像素分布示意图;

图3为根据本发明实施例的分像素与整像素的分布示意图;

图4为根据本发明实施例的1/8像素精度的插值装置的结构示意图;以及

图5为图4中分像素插值模块的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

如图1所示,根据本发明实施例的1/8像素精度插值方法,包括如下步骤:

S101:设置分像素点类别及所述分像素点的位置;

分像素点包括3大类,包括半像素点、1/4像素点和1/8像素点。半像素点、1/4像素点和1/8像素点各自又细分类别,一共可以分为14小类。

具体而言,如图3所示,半像素点包括一类半像素点和二类半像素点。

(1)一类半像素点为与整像素点在同一行或同一列的半像素点,如a5、e1;

(2)二类半像素点为所述半像素点内的剩余半像素点,即除了一类半像素点外的其他半像素点,如e5;

1/4像素点包括一类1/4像素点、二类1/4像素点和三类1/4像素点。

(3)一类1/4像素点为与整像素点在同一行或同一列的1/4像素,如a3、a7、c1、g1;

(4)二类1/4像素点为同时与一类半像素点和二类半像素点在同一行或同时与一类半像素点和二类半像素点在同一列的1/4像素点,如c5,e3,e7,g5;

(5)三类1/4像素点为1/4像素点内的剩余1/4像素点,即除了一类1/4像素点和二类1/4像素点之外的1/4像素点,如c3、c7、g3,g7;

1/8像素点包括一类1/8像素点、二类1/8像素点、三类1/8像素点、四类1/8像素点、五类1/8像素点、六类1/8像素点、七类1/8像素点、八类1/8像素点和九类1/8像素点。

(6)一类1/8像素点为位于整像素和一类1/4像素点之间的1/8像素点,如a2、a8、b1、h1;

(7)二类1/8像素点为位于一类半像素点和一类1/4像素点之间的1/8像素点,如a4、a6、d1、f1;

(8)三类1/8像素点为位于一类1/4像素点和三类1/4像素点之间的1/8像素点,如b3、b7、c2、c8、g2、g8、h2、h8;

(9)四类1/8像素点为位于一类半像素点和二类1/4像素点之间的1/8像素点,如b5、e2、e8、h5;

(10)五类1/8像素点为位于三类1/4像素点和二类1/4像素点之间的1/8像素点,如c4、c6、d3、d7、f3、f7、g4、g6;

(11)六类1/8像素点为位于二类1/4像素点和二类半像素点之间的1/8像素点,如d5、e4、e6、f5;

(12)七类1/8像素点为位于一类1/8像素点和三类1/8像素点之间的1/8像素点,如b2、b8、g2、g8;

(13)八类1/8像素点为位于二类1/8像素点、三类1/8像素点、四类1/8像素点、五类1/8像素点之间的1/8像素点,如b4、b6、d2、d8、f2、f8、h4、h6;

(14)九类1/8像素点为位于五类1/8像素点和六类1/8像素点之间的1/8像素点,如d4、d6、f4、f6。

从图3中可以看出,同一小类别的分像素点具有的对称性。举例来说,同属于九类1/8像素点的d4和d6在竖直方向上对称,同属于六类1/8像素点的d5和e4在对角线方向上对称。

S102:获取整像素点,根据已设置的各类分像素点的位置进行插值以获取分像素点。

从原始参考帧中选取与待插值获取的分像素点构成的分像素块距离最近的(M+5)×(N+5)整像素块中的整像素点作为参考像素点,并根据已设置的各类分像素点的位置进行插值获取分像素点,其中,M为待插值获取的分像素块中每行分像素点的个数,N为待插值获取的分像素点中每列分像素点的个数。在本发明的一个实施例中,M=1,N=1。由此,对于上述分像素位置,采用距离所插值分像素最近的6×6整像素作为参考像素进行插值。图2示出了6×6的整像素块,其中A1~A6,B1~B6,C1~C6,D1~D6,E1~E6,F1~F6均为整像素点。

利用插值滤波器获取各类分像素点。对于不同的分像素位置的插值,采用的插值滤波器部分滤波器的抽头系数为0,在实现时可以省略对应的抽头,因而实际实现的分像素位置的插值滤波器均为少于36个抽头的滤波器。并且每一类分像素点对应的滤波器抽头系数之和均为256。

下面分别对每一小类的分像素的插值获取进行具体说明。

(1)一类半像素点通过抽头系数为{{0,0,0,0,0,0},{1,-3,2,2,-3,1},{5,-27,150,150,-27,5},{1,-3,2,2,-3,1},{0,0,0,0,0,0},{0,0,0,0,0,0,0}}的18抽头的滤波器或者对该滤波器进行对称变换得到的滤波器插值获取。其中,

a5=(1*B1+(-3)*B2+2*B3+2*B4+(-3)*B5+2*B6+5*C1+(-27)*C2+150*C3+150*C4+(-27)*C5+5*C6+1*D1+(-3)*D2+2*D3+2*D4+(-3)*D5+1*D6)/256。

e1=(1*A2+5*A3+1*A4+(-3)*B2+(-27)*B3+(-3)*B4+2*C2+150*C3+2*C4+2*D2+150*D3+2*D4+(-3)*E2+(-27)*E3+(-2)*E4+1*F2+5*F3+1*F4)/256。

(2)二类半像素点通过抽头系数为

{{0,0,3,3,0,0},{0,0,-16,-16,0,0},{3,-16,90,90,-16,3},{3,-16,90,90,-16,3},{0,0,-16,-16,0,0},{0,0,3,3,0,0}}的20抽头的滤波器或对其进行对称变换得到的滤波器插值获取。其中,

e5=(3*A3+3*A4+(-16)*B3+(-16)*B4+3*C1+(-16)*C2+90*C3+90*C4+(-16)*C5+3*C6+3*D1+(-16)*D2+90*D3+90*D4+(-16)*D5+3*D6+(-16)*E3+(-16)*E4+3*F3+3*F4)/256。

(3)一类1/4像素点通过抽头系数为

{{0,0,0,0,0,0},{1,-2,1,1,-2,1},{5,-27,223,67,-14,2},{1,-2,1,1,-2,1},{0,0,0,0,0,0},{0,0,0,0,0,0}}的18抽头的滤波器或对其进行对称变换得到的滤波器插值获取。其中,

a3=(1*B1+(-2)*B2+1*B3+1*B4+(-2)*B5+1*B6+5*C1+(-27)*C2+223*C3+67*C4+(-14)*C5+2*C6+1*D1+(-2)*D2+1*D3+1*D4+(-2)*D5+1*D6)/256。

a7=(1*B1+(-2)*B2+1*B3+1*B4+(-2)*B5+1*B6+2*C1+(-14)*C2+67*C3+223*C4+(-27)*C5+5*C6+1*D1+(-2)*D2+1*D3+1*D4+-2*D5+1*D6)/256。

c1=(1*A2+5*A3+1*A4+(-2)*B2+(-27)*B3+(-2)*B3+1*C2+223*C3+1*C4+1*D2+67*D3+1*D4+(-2)*E2+(-14)*E3+(-2)*E4+1*F2+2*F3+1*F4)/256。

g1=(1*A2+2*A3+1*A4+(-2)*B2+(-14)*B3+(-2)*B4+1*C2+67*C3+1*C4+1*D2+223*D3+1*D4+(-2)*E2+(-27)*E3+(-2)*E4+1*F2+5*F3+1*F4)/256。

(4)二类1/4像素点通过抽头系数为{{0,0,3,3,0,0},{0,0,-15,-15,0,0},{4,-23,132,132,-23,4},{2,-9,41,41,-9,2}{0,0,-9,-9,0,0},{0,0,2,2,0,0}}的20抽头的滤波器或对其进行对称变换得到的滤波器插值获取。其中,

c5=(3*A3+3*A4+(-15)*B3+(-15)*B4+4*C1+(-23)*C2+132*C3+132*C4+(-23)*C5+4*C6+2*D1+(-9)*D2+41*D3+41*D4+(-9)*D5+2*D6+(-9)*E3+(-9)*E4+2*F3+2*F4)/256。

e3=(4*A3+2*A4+(-23)*B3+(-9)*B4+3*C1+(-15)*C2+132*C3+41*C4+(-9)*C5+2*C6+3*D1+(-15)*D2+132*D3+41*D4+(-9)*D5+2*D6+(-23)*E3+(-9)*E4+4*F3+2*F4)/256。

(5)三类1/4像素点通过抽头系数为

{{0,0,4,2,0,0},{0,0,-23,-8,0,0},{4,-23,194,60,-12,2},{2,-8,60,20,-5,1},{0,0,-12,-5,0,0},{0,0,2,1,0,0}}的20抽头的滤波器或者对该滤波器进行对称变换得到的滤波器插值获取。其中,

c3=(4*A3+2*A4+(-23)*B3+(-8)*B4+4*C1+(-23)*C2+194*C3+60*C4+(-12)*C5+2*C6+2*D1+(-8)*D2+60*D3+20*D4+(05)*D5+1*D6+(-12)*E3+(-5)*E4+2*F3+1*F4)/256。

c7=(2*A3+4*A4+(-8)*B3+(-23)*B4+2*C1+(-12)*C2+60*C3+194*C4+(-23)*C5+4*C6+1*D1+(-5)*D2+20*D3+60*D4+(-8)*D5+2*D6+(-5)*E3+(-12)*E4+1*F3+2*F4)/256。

g3=(2*A3+1*A4+(-12)*B3+(-5)*B4+2*C1+(-8)*C2+60*C3+20*C4+(-5)*C5+1*C6+4*D1+(-23)*D2+194*D3+60*D4+(-12)*D5+2*D6+(-23)*E3+(-8)*E4+4*F3+2*F4)/256。

g7=(1*A3+2*A4+(-5)*B3+(-12)*B4+1*C1+(-5)*C2+20*C3+60*C4+(-8)*C5+2*C6+2*D1+(-12)*D2+60*D3+194*D4+(-23)*D5+4*D6+(-8)*E3+(-23)*E4+2*F3+4*F4)/256。

(6)一类1/8像素点通过抽头系数为

{{0,0,0,0,0,0},{0,-1,1,1,-1,0},{3,-18,246,30,-6,1},{0,-1,1,1,-1,0},{0,0,0,0,0,0},{0,0,0,0,0,0}}的14抽头的滤波器或者对该滤波器进行对称变换得到的滤波器插值获取。其中,a2=((-1)*B2+1*B3+1*B4+(-1)*B5+3*C1+(-18)*C2+246*C3+30*C4+(-6)*C5+1*C6+(-1)*D2+1*D3+1*D4+(-1)*D5)/256。

a8=((-1)*B2+1*B3+1*B4+(-1)*B5+1*C1+(-6)*C2+30*C3+246*C4+(-18)*C5+3*C6+(-1)*D2+1*D3+1*D4+(-1)*D5)/256。

b1=(3*A3+(-1)*B2+(-18)*B3+(-1)*B4+1*C2+246*C3+1*C4+1*D2+30*D3+1*D4+(-1)*E2+(-6)*E3+(-1)*E4+1*F3)/256。

h1=(1*A3+(-1)*B2+(-6)*B3+(-1)*B4+1*C2+30*C3+1*C4+1*D2+246*D3+1*D4+(-1)*E2+(-18)*E3+(-1)*E4+3*F3)/256。

(7)二类1/8像素点通过抽头系数为

{{0,0,0,0,0,0},{1,-3,2,1,-2,1},{5,-29,189,108,-21,4},{1,-3,2,1,-2,1},{0,0,0,0,0,0},{0,0,0,0,0,0}}的18抽头的滤波器或者对该滤波器进行对称变换得到的滤波器插值获取。其中,

a4=(1*B1+(-3)*B2+2*B3+1*B4+(-2)*B5+1*B6+5*C1+(-29)*C2+189*C3+108*C4+(-21)*C5+4*C6+1*D1+(-3)*D2+2*D3+1*D4+(-2)*D5+1*D6)/256。

a6=(1*B1+(-2)*B2+1*B3+2*B4+(-3)*B5+1*B6+4*C1+(-21)*C2+108*C3+189*C4+(-29)*C5+5*C6+1*D1+(-2)*D2+1*D3+2*D4+(-3)*D5+1*D6)/256。

d1=(1*A2+5*A3+1*A4+(-3)*B2+(-29)*B3+(-3)*B4+2*C2+189*C3+2*C4+1*D2+108*D3+1*D4+(-2)*E2+(-21)*E3+(-2)*E4+1*F2+4*F3+1*F4)/256。

f1=(1*A2+4*A3+1*A4+(-2)*B2+(-21)*B3+(-2)*B4+1*C2+108*C3+1*C4+2*D2+189*D3+2*D4+(-3)*E2+(-29)*E3+(-3)*E4+1*F2+5*F3+1*F4)/256。

(8)三类1/8像素点通过抽头系数为

{{0,0,3,1,0,0},{1,-1,-14,-4,-1,0},{4,-25,214,65,-13,2},{1,-5,27,9,-3,1},{0,0,-6,-2,0,0}{0,0,1,1,0,0}}的22抽头的滤波器或者对该滤波器进行对称变换得到的滤波器插值获取。其中,

b3=(3*A3+1*A4+1*B1+(-1)*B2+(-14)*B3+(-4)*B4+(-1)*B5+4*C1+(-25)*C2+214*C3+65*C4+(-13)*C5+2*C6+1*D1+(-5)*D2+27*D3+9*D4+(-3)*D5+1*D6+(-6)*E3+(-2)*E4+1*F3+1*F4)/256。

b7=(1*A3+3*A4+(-1)*B2+(-4)*B3+(-14)*B4+(-1)*B5+1*B6+2*C1+(-13)*C2+65*C3+214*C4+(-25)*C5+4*C6+1*D1+(-3)*D2+9*D3+27*D4+(-5)*D5+1*D6+(-2)*E3+(-6)*E4+1*F3+1*F4)/256。

c2=(1*A2+4*A3+1*A4+(-1)*B2+(-25)*B3+(-5)*B4+3*C1+(-14)*C2+214*C3+27*C4+(-6)*C5+1*C6+1*D1+(-4)*D2+65*D3+9*D4+(-2)*D5+1*D6+(-1)*E2+(-13)*E3+(-3)*E4+2*F3+1*F4)/256。

c8=(1*A3+4*A4+1*A5+(-5)*B3+(-25)*B4+(-1)*B5+1*C1+(-6)*C2+27*C3+214*C4+(-14)*C5+3*C6+1*D1+(-2)*D2+9*D3+65*D4+(-4)*D5+1*D6+(-3)*E3+(-13)*E4+(-1)*E5+1*F3+2*F4)/256。

g2=(2*A3+1*A4+(-1)*B2+(-13)*B3+(-3)*B4+1*C1+(-4)*C2+65*C3+9*C4+(-2)*C5+1*C6+3*D1+(-14)*D2+214*D3+27*D4+(-6)*D5+1*D6+(-1)*E2+(-25)*E3+(-5)*E4+1*F2+4*F3+1*F4)/256。

g8=(1*A3+2*A4+(-3)*B3+(-13)*B4+(-1)*B5+1*C1+(-2)*C2+9*C3+65*C4+(-4)*C5+1*C6+1*D1+(-6)*D2+27*D3+214*D4+(-14)*D5+3*D6+(-5)*E3+(-25)*E4+(-1)*E5+1*F3+4*F4+1*F5)/256。

h3=(1*A3+1*A4+(-6)*B3+(-2)*B4+1*C1+(-5)*C2+27*C3+9*C4+(-3)*C5+1*C6+4*D1+(-25)*D2+214*D3+65*D4+(-13)*D5+2*D6+1*E1+(-1)*E2+(-14)*E3+(-4)*E4+(-1)*E5+3*F3+1*F4)/256。

h7=(1*A3+1*A4+(-2)*B3+(-6)*B4+1*C1+(-3)*C2+9*C3+27*C4+(-5)*C5+1*C6+2*D1+(-13)*D2+65*D3+214*D4+(-25)*D5+4*D6+(-1)*E2+(-4)*E3+(-14)*E4+(-1)*E5+1*E6+1*F3+3*F4)/256。

(9)四类1/8像素点通过抽头系数为

{{0,0,2,2,0,0},{1,-1,-9,-9,-1,1},{4,-26,145,145,-26,4},{1,-5,19,19,-5,1},{0,0,-4,-4,0,0},{0,0,1,1,0,0}}的24抽头的滤波器或者对该滤波器进行对称变换得到的滤波器插值获取。其中,

b5=(2*A3+2*A4+1*B1+(-1)*B2+(-9)*B3+(-9)*B4+(-1)*B5+1*B6+4*C1+(-26)*C2+145*C3+145*C4+(-26)*C5+4*C6+1*D1+(-5)*D2+19*D3+19*D4+(-5)*D5+1*D6+(-4)*E3+(-4)*E4+1*F3+1*F4)/256。

e2=(1*A2+4*A3+1*A4+(-1)*B2+(-26)*B3+(-5)*B4+2*C1+(-9)*C2+145*C3+19*C4+(-4)*C5+1*C6+2*D1+(-9)*D2+145*D3+19*D4+(-4)*D5+1*D6+(-1)*E2+(-26)*E3+(-5)*E4+1*F2+4*F3+1*F4)/256。

e8=(1*A3+4*A4+1*A5+(-5)*B3+(-26)*B4+(-1)*B5+1*C1+(-4)*C2+19*C3+145*C4+(-9)*C5+2*C6+1*D1+(-4)*D2+19*D3+145*D4+(-9)*D5+2*D6+(-5)*E3+(-26)*E4+(-1)*E5+1*F3+4*F4+1*F5)/256。

h5=(1*A3+1*A4+(-4)*B3+(-4)*B4+1*C1+(-5)*C2+19*C3+19*C4+(-5)*C5+1*C6+4*D1+(-26)*D2+145*D3+145*D4+(-26)*D5+4*D6+1*E1+(-1)*E2+(-9)*E3+(-9)*E4+(-1)*E5+1*E6+2*F3+2*F4)/256。

(10)五类1/8像素点通过抽头系数为

{{0,0,4,2,0,0},{0,0,-19,-11,0,0},{4,-25,166,95,-18,3},{2,-9,51,31,-7,2},{0,0,-11,-7,0,0},{0,0,2,1,0,0}}的20抽头的滤波器或者对该滤波器进行对称变换得到的滤波器插值获取。其中,

c4=(4*A3+2*A4+(-19)*B3+(-11)*B4+4*C1+(-25)*C2+166*C3+95*C4+(-18)*C5+3*C6+2*D1+(-9)*D2+51*D3+31*D4+(-7)*D5+2*D6+(-11)*E3+(-7)*E4+2*F3+1*F4)/256。

c6=(2*A3+4*A4+(-11)*B3+(-19)*B4+3*C1+(-18)*C2+95*C3+166*C4+(-25)*C5+4*C6+2*D1+(-7)*D2+31*D3+51*D4+(-9)*D5+2*D6+(-7)*E3+(-11)*E4+1*F3+2*F4)/256。

d3=(4*A3+2*A4+(-25)*B3+(-9)*B4+4*C1+(-19)*C2+166*C3+51*C4+(-11)*C5+2*C6+2*D1+(-11)*D2+95*D3+31*D4+(-7)*D5+1*D6+(-18)*E3+(-7)*E4+3*F3+2*F4)/256。

d7=(2*A3+4*A4+(-9)*B3+(-25)*B4+2*C1+(-11)*C2+51*C3+166*C4+(-19)*C5+4*C6+1*D1+(-7)*D2+31*D3+95*D4+(-11)*D5+2*D6+(-7)*E3+(-18)*E4+2*F3+3*F4)/256。

f3=(3*A3+2*A4+(-18)*B3+(-7)*B4+2*C1+(-11)*C2+95*C3+31*C4+(-7)*C5+1*C6+4*D1+(-19)*D2+166*D3+51*D4+(-11)*D5+2*D6+(-25)*E3+(-9)*E4+4*F3+2*F4)/256。

f7=(2*A3+3*A4+(-7)*B3+(-18)*B4+1*C1+(-7)*C2+31*C3+95*C4+(-11)*C5+2*C6+2*D1+(-11)*D2+51*D3+166*D4+(-19)*D5+4*D6+(-9)*E3+(-25)*E4+2*F3+4*F4)/256。

g4=(2*A3+1*A4+(-11)*B3+(-7)*B4+2*C1+(-9)*C2+51*C3+31*C4+(-7)*C5+2*C6+4*D1+(-25)*D2+166*D3+95*D4+(-18)*D5+3*D6+(-19)*E3+(-11)*E4+4*F3+2*F4)/256。

g6=(1*A3+2*A4+(-7)*B3+(-11)*B4+2*C1+(-7)*C2+31*C3+51*C4+(-9)*C5+2*C6+3*D1+(-18)*D2+95*D3+166*D4+(-25)*D5+4*D6+(-11)*E3+(-19)*E4+2*F3+4*F4)/256。

(11)六类1/8像素点通过抽头系数为

{{0,0,3,3,0,0},{0,0,-17,-17,0,0},{4,-20,113,113,-20,4},{2,-12,66,66,-12,2},{0,0,-13,-13,0,0},{0,0,2,2,0,0}}的20抽头的滤波器或者对该滤波器进行对称变换得到的滤波器插值获取。其中,

d5=(3*A3+3*A4+(-17)*B3+(-17)*B4+4*C1+(-20)*C2+113*C3+113*C4+(-20)*C5+4*C6+2*D1+(-12)*D2+66*D3+66*D4+(-12)*D5+2*D6+(-13)*E3+(-13)*E4+2*F3+2*F4)/256。

e4=(4*A3+2*A4+(-20)*B3+(-12)*B4+3*C1+(-17)*C2+113*C3+66*C4+(-13)*C5+2*C6+3*D1+(-17)*D2+113*D3+66*D4+(-13)*D5+2*D6+(-20)*E3+(-12)*E4+4*F3+2*F4)/256。

e6=(2*A3+4*A4+(-12)*B3+(-20)*B4+2*C1+(-13)*C2+66*C3+113*C4+(-17)*C5+3*C6+2*D1+(-13)*D2+66*D3+113*D4+(-17)*D5+3*D6+(-12)*E3+(-20)*E4+2*F3+4*F4)/256。

f5=(2*A3+2*A4+(-13)*B3+(-13)*B4+2*C1+(-12)*C2+66*C3+66*C4+(-12)*C5+2*C6+4*D1+(-20)*D2+113*D3+113*D4+(-20)*D5+4*D6+(-17)*E3+(-17)*E4+3*F3+3*F4)/256。

(12)七类1/8像素点通过抽头系数为

{{0,0,3,1,0,0},{0,-1,-17,-2,0,0},{3,-17,237,29,-6,1},{1,-2,29,5,-2,0},{0,0,-6,-1,0,0},{0,0,1,0,0,0}}的19抽头的滤波器或者对该滤波器进行对称变换得到的滤波器插值获取。其中,

b2=(3*A3+1*A4+(-1)*B2+(-17)*B3+(-2)*B4+3*C1+(-17)*C2+237*C3+29*C4+(-6)*C5+1*C6+1*D1+(-2)*D2+29*D3+5*D4+(-2)*D5+(-6)*E3+(-1)*E4+1*F3)/256。

b8=(1*A3+3*A4+(-2)*B3+(-17)*B4+(-1)*B5+1*C1+(-6)*C2+29*C3+237*C4+(-17)*C5+3*C6+(-1)*D2+5*D3+29*D4+(-2)*D5+1*D6+(-2)*E3+(-6)*E4+1*F4)/256。

h2=(1*A3+(-6)*B3+(-1)*B4+1*C1+(-2)*C2+29*C3+5*C4+(-2)*C5+3*D1+(-17)*D2+237*D3+29*D4+(-6)*D5+1*D6+(-1)*E2+(-17)*E3+(-2)*E4+3*F3+1*F4)/256。

h8=(1*A4+(-2)*B3+(-6)*B4+(-1)*C2+5*C3+29*C4+(-2)*C5+1*C6+1*D1+(-6)*D2+29*D3+237*D4+(-17)*D5+3*D6+(-2)*E3+(-17)*E4+(-1)*E5+1*F3+3*F4)/256。

(13)八类1/8像素点通过抽头系数为

{{0,0,2,1,0,0},{1,-1,-12,-7,-1,0},{5,-28,182,105,-20,4},{1,-5,24,15,-5,1},{0,0,-5,-3,0,0},{0,0,1,1,0,0}}的23抽头的滤波器或者对该滤波器进行对称变换得到的滤波器插值获取。其中,

b4=(2*A3+1*A4+1*B1+(-1)*B2+(-12)*B3+(-7)*B4+(-1)*B5+5*C1+(-28)*C2+182*C3+105*C4+(-20)*C5+4*C6+1*D1+(-5)*D2+24*D3+15*D4+(-5)*D5+1*D6+(-5)*E3+(-3)*E4+1*F3+1*F4)/256。

b6=(1*A3+2*A4+(-1)*B2+(-7)*B3+(-12)*B4+(-1)*B5+1*B6+4*C1+(-20)*C2+105*C3+182*C4+(-28)*C5+5*C6+1*D1+(-5)*D2+15*D3+24*D4+(-5)*D5+1*D6+(-3)*E3+(-5)*E4+1*F3+1*F4)/256。

d2=(1*A2+5*A3+1*A4+(-1)*B2+(-28)*B3+(-5)*B4+2*C1+(-12)*C2+182*C3+24*C4+(-5)*C5+1*C6+1*D1+(-7)*D2+105*D3+15*D4+(-3)*D5+1*D6+(-1)*E2+(-20)*E3+(-5)*E4+4*F3+1*F4)/256。

d8=(1*A3+5*A4+1*A5+(-5)*B3+(-28)*B4+(-1)*B5+1*C1+(-5)*C2+24*C3+182*C4+(-12)*C5+2*C6+1*D1+(-3)*D2+15*D3+105*D4+(-7)*D5+1*D6+(-5)*E3+(-20)*E4+(-1)*E5+1*F3+4*F4)/256。

f2=(4*A3+1*A4+(-1)*B2+(-20)*B3+(-5)*B4+1*C1+(-7)*C2+105*C3+15*C4+(-3)*C5+1*C6+2*D1+(-12)*D2+182*D3+24*D4+(-5)*D5+1*D6+(-1)*E2+(-28)*E3+(-5)*E4+1*F2+5*F3+1*F4)/256。

f8=(1*A3+4*A4+(-5)*B3+(-20)*B4+(-1)*B5+1*C1+(-3)*C2+15*C3+105*C4+(-7)*C5+1*C6+1*D1+(-5)*D2+24*D3+182*D4+(-12)*D5+2*D6+(-5)*E3+(-28)*E4+(-1)*E5+1*F3+5*F4+1*F5)/256。

h4=(1*A3+1*A4+(-5)*B3+(-3)*B4+1*C1+(-5)*C2+24*C3+15*C4+(-5)*C5+1*C6+5*D1+(-28)*D2+182*D3+105*D4+(-20)*D5+4*D6+1*E1+(-1)*E2+(-12)*E3+(-7)*E4+(-1)*E5+2*F3+1*F4)/256。

h6=(1*A3+1*A4+(-3)*B3+(-5)*B4+1*C1+(-5)*C2+15*C3+24*C4+(-5)*C5+1*C6+4*D1+(-20)*D2+105*D3+182*D4+(-28)*D5+5*D6+(-1)*E2+(-7)*E3+(-12)*E4+(-1)*E5+1*E6+1*F3+2*F4)/256。

(14)九类1/8像素点通过抽头系数为

{{0,0,4,3,0,0},{0,0,-21,-13,0,0},{4,-21,141,82,-16,3},{2,-13,82,48,-10,2},{0,0,-16,-10,0,0},{0,0,3,2,0,0}}的20抽头的滤波器或者对该滤波器进行对称变换得到的滤波器插值获取。其中,

d4=(4*A3+3*A4+(-21)*B3+(-13)*B4+4*C1+(-21)*C2+141*C3+82*C4+(-16)*C5+3*C6+2*D1+(-13)*D2+82*D3+48*D4+(-10)*D5+2*D6+(-16)*E3+(-10)*E4+3*F3+2*F4)/256。

d6=(3*A3+4*A4+(-13)*B3+(-21)*B4+3*C1+(-16)*C2+82*C3+141*C4+(-21)*C5+4*C6+2*D1+(-10)*D2+48*D3+82*D4+(-13)*D5+2*D6+(-10)*E3+(-16)*E4+2*F3+3*F4)/256。

f4=(3*A3+2*A4+(-16)*B3+(-10)*B4+2*C1+(-13)*C2+82*C3+48*C4+(-10)*C5+2*C6+4*D1+(-21)*D2+141*D3+82*D4+(-16)*D5+3*D6+(-21)*E3+(-13)*E4+4*F3+3*F4)/256。

f6=(2*A3+3*A4+(-10)*B3+(-16)*B4+2*C1+(-10)*C2+48*C3+82*C4+(-13)*C5+3*C6+3*D1+(-16)*D2+82*D3+141*D4+(-21)*D5+4*D6+(-13)*E3+(-21)*E4+2*F3+4*F4)/256。

根据本发明实施例的1/8像素精度的插值方法,对于所有的分像素位置插值,仅需使用整像素作为参考像素,简化了分像素位置中插值过程,从而减少插值过程的时延。同时采用高精度的插值滤波器,在运动补偿中能够使运动矢量精确到1/8像素级,提高预测精度,减小码率,且提高视频编码的压缩效率。

下面参考图4描述本发明的实施例还提出了一种1/8像素精度插值装置100。

如图4所示,根据本发明实施例的1/8像素精度插值装置100包括获取模块110、分像素插值模块120和输出模块130。其中,获取模块110与分像素插值模块120通过数据总线连接,分像素插值模块120与输出模块130通过数据总线连接。

获取模块110从原始参考帧中选取与待插值获取的分像素点构成的分像素块距离最近的(M+5)×(N+5)整像素块中的整像素点作为参考像素点。其中,M为待插值获取的分像素块中每行分像素点的个数,N为待插值获取的分像素点中每列分像素点的个数。在本发明的一个实施例中,M=1,N=1。由此,对于上述分像素位置,采用距离所插值分像素最近的6×6整像素作为参考像素进行插值。图2示出了6×6的整像素块,其中A1~A6,B1~B6,C1~C6,D1~D6,E1~E6,F1~F6均为整像素点。

分像素插值模块120与获取模块110相连,对来自获取模块110的作为参考像素点的整像素点进行插值以获取分像素点。分像素点包括3大类,包括半像素点、1/4像素点和1/8像素点。半像素点、1/4像素点和1/8像素点各自又细分类别,一共可以分为14小类。为获取对应于每一小类的分像素点,如图5所示,分像素插值模块120进一步包括一类半像素插值单元1201、二类半像素插值单元1202、一类1/4像素插值单元1203、二类1/4像素插值单元1204、三类1/4像素插值单元1205、一类1/8像素插值单元1206、二类1/8像素插值单元1207、三类1/8像素插值单元1208、四类1/8像素插值单元1209、五类1/8像素插值单元1210、六类1/8像素插值单元1211、七类1/8像素插值单元1212、八类1/8像素插值单元1213、九类1/8像素插值单元1214。获取模块110和输出模块130分别通过数据总线与各个插值单元相连。在本发明的一个实施例中,上述各个插值单元均可以为滤波器,各个滤波器的抽头系数之和均为256,且每个滤波器的抽头个数均小于36。

下面参考图5分别对各个插值单元进行描述。

(1)一类半像素插值单元1201可以插值获取一类半像素点,一类半像素点为与整像素点在同一行或同一列的半像素点,如a5、e1。一类半像素插值单元1201的滤波器为抽头系数为{{0,0,0,0,0,0},{1,-3,2,2,-3,1},{5,-27,150,150,-27,5},{1,-3,2,2,-3,1},{0,0,0,0,0,0},{0,0,0,0,0,0,0}}的18抽头的滤波器。其中,

a5=(1*B1+(-3)*B2+2*B3+2*B4+(-3)*B5+2*B6+5*C1+(-27)*C2+150*C3+150*C4+(-27)*C5+5*C6+1*D1+(-3)*D2+2*D3+2*D4+(-3)*D5+1*D6)/256。

e1=(1*A2+5*A3+1*A4+(-3)*B2+(-27)*B3+(-3)*B4+2*C2+150*C3+2*C4+2*D2+150*D3+2*D4+(-3)*E2+(-27)*E3+(-2)*E4+1*F2+5*F3+1*F4)/256。

(2)二类半像素插值单元1202可以插值获取二类半像素点,二类半像素点为半像素点内的剩余半像素点,即除一类半像素点以外的其他半像素点,如e5。二类半像素插值单元1202的滤波器为抽头系数为

{{0,0,3,3,0,0},{0,0,-16,-16,0,0},{3,-16,90,90,-16,3},{3,-16,90,90,-16,3},{0,0,-16,-16,0,0},{0,0,3,3,0,0}}的20抽头的滤波器。其中,

e5=(3*A3+3*A4+(-16)*B3+(-16)*B4+3*C1+(-16)*C2+90*C3+90*C4+(-16)*C5+3*C6+3*D1+(-16)*D2+90*D3+90*D4+(-16)*D5+3*D6+(-16)*E3+(-16)*E4+3*F3+3*F4)/256。

(3)一类1/4像素插值单元1203可以插值获取一类1/4像素点,一类1/4像素点为与整像素点在同一行或同一列的1/4像素点,如a3、a7、c1、g1。一类1/4像素插值单元1203的滤波器为抽头系数为

{{0,0,0,0,0,0},{1,-2,1,1,-2,1},{5,-27,223,67,-14,2},{1,-2,1,1,-2,1},{0,0,0,0,0,0},{0,0,0,0,0,0}}的20抽头的滤波器。其中,

a3=(1*B1+(-2)*B2+1*B3+1*B4+(-2)*B5+1*B6+5*C1+(-27)*C2+223*C3+67*C4+(-14)*C5+2*C6+1*D1+(-2)*D2+1*D3+1*D4+(-2)*D5+1*D6)/256。

a7=(1*B1+(-2)*B2+1*B3+1*B4+(-2)*B5+1*B6+2*C1+(-14)*C2+67*C3+223*C4+(-27)*C5+5*C6+1*D1+(-2)*D2+1*D3+1*D4+-2*D5+1*D6)/256。

c1=(1*A2+5*A3+1*A4+(-2)*B2+(-27)*B3+(-2)*B3+1*C2+223*C3+1*C4+1*D2+67*D3+1*D4+(-2)*E2+(-14)*E3+(-2)*E4+1*F2+2*F3+1*F4)/256。

g1=(1*A2+2*A3+1*A4+(-2)*B2+(-14)*B3+(-2)*B4+1*C2+67*C3+1*C4+1*D2+223*D3+1*D4+(-2)*E2+(-27)*E3+(-2)*E4+1*F2+5*F3+1*F4)/256。

(4)二类1/4像素插值单元1204可以插值获取二类1/4像素点,二类1/4像素点为同时与一类半像素点和二类半像素点在同一行或同时与一类半像素点和二类半像素点在同一列的1/4像素点,如c5,e3,e7,g5。二类1/4像素插值单元1204的滤波器为抽头系数为{{0,0,3,3,0,0},{0,0,-15,-15,0,0},{4,-23,132,132,-23,4},{2,-9,41,41,-9,2}{0,0,-9,-9,0,0},{0,0,2,2,0,0}}的20抽头的滤波器。其中,

c5=(3*A3+3*A4+(-15)*B3+(-15)*B4+4*C1+(-23)*C2+132*C3+132*C4+(-23)*C5+4*C6+2*D1+(-9)*D2+41*D3+41*D4+(-9)*D5+2*D6+(-9)*E3+(-9)*E4+2*F3+2*F4)/256。

e3=(4*A3+2*A4+(-23)*B3+(-9)*B4+3*C1+(-15)*C2+132*C3+41*C4+(-9)*C5+2*C6+3*D1+(-15)*D2+132*D3+41*D4+(-9)*D5+2*D6+(-23)*E3+(-9)*E4+4*F3+2*F4)/256。

(5)三类1/4像素插值单元1205可以插值获取三类1/4像素点,三类1/4像素点为1/4像素点内的剩余1/4像素点,即除一类1/4像素点和二类1/4像素点之外的1/4像素点,如c3、c7、g3,g7。三类1/4像素插值单元1205的滤波器为抽头系数为

{{0,0,4,2,0,0},{0,0,-23,-8,0,0},{4,-23,194,60,-12,2},{2,-8,60,20,-5,1},{0,0,-12,-5,0,0},{0,0,2,1,0,0}}的20抽头的滤波器。其中,

c3=(4*A3+2*A4+(-23)*B3+(-8)*B4+4*C1+(-23)*C2+194*C3+60*C4+(-12)*C5+2*C6+2*D1+(-8)*D2+60*D3+20*D4+(05)*D5+1*D6+(-12)*E3+(-5)*E4+2*F3+1*F4)/256。

c7=(2*A3+4*A4+(-8)*B3+(-23)*B4+2*C 1+(-12)*C2+60*C3+194*C4+(-23)*C5+4*C6+1*D1+(-5)*D2+20*D3+60*D4+(-8)*D5+2*D6+(-5)*E3+(-12)*E4+1*F3+2*F4)/256。

g3=(2*A3+1*A4+(-12)*B3+(-5)*B4+2*C1+(-8)*C2+60*C3+20*C4+(-5)*C5+1*C6+4*D1+(-23)*D2+194*D3+60*D4+(-12)*D5+2*D6+(-23)*E3+(-8)*E4+4*F3+2*F4)/256。

g7=(1*A3+2*A4+(-5)*B3+(-12)*B4+1*C1+(-5)*C2+20*C3+60*C4+(-8)*C5+2*C6+2*D1+(-12)*D2+60*D3+194*D4+(-23)*D5+4*D6+(-8)*E3+(-23)*E4+2*F3+4*F4)/256。

(6)一类1/8像素插值单元1206可以插值获取一类1/8像素点,一类1/8像素点为位于整像素和一类1/4像素点之间的1/8像素点,如a2、a8、b1、h1。一类1/8像素插值单元1206的滤波器为抽头系数为

{{0,0,0,0,0,0},{0,-1,1,1,-1,0},{3,-18,246,30,-6,1},{0,-1,1,1,-1,0},{0,0,0,0,0,0},{0,0,0,0,0,0}}的14抽头的滤波器。其中,

a2=((-1)*B2+1*B3+1*B4+(-1)*B5+3*C1+(-18)*C2+246*C3+30*C4+(-6)*C5+1*C6+(-1)*D2+1*D3+1*D4+(-1)*D5)/256。

a8=((-1)*B2+1*B3+1*B4+(-1)*B5+1*C1+(-6)*C2+30*C3+246*C4+(-18)*C5+3*C6+(-1)*D2+1*D3+1*D4+(-1)*D5)/256。

b1=(3*A3+(-1)*B2+(-18)*B3+(-1)*B4+1*C2+246*C3+1*C4+1*D2+30*D3+1*D4+(-1)*E2+(-6)*E3+(-1)*E4+1*F3)/256。

h1=(1*A3+(-1)*B2+(-6)*B3+(-1)*B4+1*C2+30*C3+1*C4+1*D2+246*D3+1*D4+(-1)*E2+(-18)*E3+(-1)*E4+3*F3)/256。

(7)二类1/8像素插值单元1207可以插值获取二类1/8像素点,二类1/8像素点为位于一类半像素点和一类1/4像素点之间的1/8像素点,如a4、a6、d1、f1。二类1/8像素插值单元1207的滤波器为抽头系数为

{{0,0,0,0,0,0},{1,-3,2,1,-2,1},{5,-29,189,108,-21,4},{1,-3,2,1,-2,1},{0,0,0,0,0,0},{0,0,0,0,0,0}}的18抽头的滤波器。其中,

a4=(1*B1+(-3)*B2+2*B3+1*B4+(-2)*B5+1*B6+5*C1+(-29)*C2+189*C3+108*C4+(-21)*C5+4*C6+1*D1+(-3)*D2+2*D3+1*D4+(-2)*D5+1*D6)/256。

a6=(1*B1+(-2)*B2+1*B3+2*B4+(-3)*B5+1*B6+4*C1+(-21)*C2+108*C3+189*C4+(-29)*C5+5*C6+1*D1+(-2)*D2+1*D3+2*D4+(-3)*D5+1*D6)/256。

d1=(1*A2+5*A3+1*A4+(-3)*B2+(-29)*B3+(-3)*B4+2*C2+189*C3+2*C4+1*D2+108*D3+1*D4+(-2)*E2+(-21)*E3+(-2)*E4+1*F2+4*F3+1*F4)/256。

f1=(1*A2+4*A3+1*A4+(-2)*B2+(-21)*B3+(-2)*B4+1*C2+108*C3+1*C4+2*D2+189*D3+2*D4+(-3)*E2+(-29)*E3+(-3)*E4+1*F2+5*F3+1*F4)/256。

(8)三类1/8像素插值单元1208可以插值获取三类1/8像素点,三类1/8像素点为位于一类1/4像素点和三类1/4像素点之间的1/8像素点,如b3、b7、c2、c8、g2、g8、h2、h8。三类1/8像素插值单元1208的滤波器为抽头系数为

{{0,0,3,1,0,0},{1,-1,-14,-4,-1,0},{4,-25,214,65,-13,2},{1,-5,27,9,-3,1},{0,0,-6,-2,0,0}{0,0,1,1,0,0}}的22抽头的滤波器。其中,

b3=(3*A3+1*A4+1*B1+(-1)*B2+(-14)*B3+(-4)*B4+(-1)*B5+4*C1+(-25)*C2+214*C3+65*C4+(-13)*C5+2*C6+1*D1+(-5)*D2+27*D3+9*D4+(-3)*D5+1*D6+(-6)*E3+(-2)*E4+1*F3+1*F4)/256。

b7=(1*A3+3*A4+(-1)*B2+(-4)*B3+(-14)*B4+(-1)*B5+1*B6+2*C1+(-13)*C2+65*C3+214*C4+(-25)*C5+4*C6+1*D1+(-3)*D2+9*D3+27*D4+(-5)*D5+1*D6+(-2)*E3+(-6)*E4+1*F3+1*F4)/256。

c2=(1*A2+4*A3+1*A4+(-1)*B2+(-25)*B3+(-5)*B4+3*C1+(-14)*C2+214*C3+27*C4+(-6)*C5+1*C6+1*D1+(-4)*D2+65*D3+9*D4+(-2)*D5+1*D6+(-1)*E2+(-13)*E3+(-3)*E4+2*F3+1*F4)/256。

c8=(1*A3+4*A4+1*A5+(-5)*B3+(-25)*B4+(-1)*B5+1*C1+(-6)*C2+27*C3+214*C4+(-14)*C5+3*C6+1*D1+(-2)*D2+9*D3+65*D4+(-4)*D5+1*D6+(-3)*E3+(-13)*E4+(-1)*E5+1*F3+2*F4)/256。

g2=(2*A3+1*A4+(-1)*B2+(-13)*B3+(-3)*B4+1*C1+(-4)*C2+65*C3+9*C4+(-2)*C5+1*C6+3*D1+(-14)*D2+214*D3+27*D4+(-6)*D5+1*D6+(-1)*E2+(-25)*E3+(-5)*E4+1*F2+4*F3+1*F4)/256。

g8=(1*A3+2*A4+(-3)*B3+(-13)*B4+(-1)*B5+1*C1+(-2)*C2+9*C3+65*C4+(-4)*C5+1*C6+1*D1+(-6)*D2+27*D3+214*D4+(-14)*D5+3*D6+(-5)*E3+(-25)*E4+(-1)*E5+1*F3+4*F4+1*F5)/256。

h3=(1*A3+1*A4+(-6)*B3+(-2)*B4+1*C1+(-5)*C2+27*C3+9*C4+(-3)*C5+1*C6+4*D1+(-25)*D2+214*D3+65*D4+(-13)*D5+2*D6+1*E1+(-1)*E2+(-14)*E3+(-4)*E4+(-1)*E5+3*F3+1*F4)/256。

h7=(1*A3+1*A4+(-2)*B3+(-6)*B4+1*C1+(-3)*C2+9*C3+27*C4+(-5)*C5+1*C6+2*D1+(-13)*D2+65*D3+214*D4+(-25)*D5+4*D6+(-1)*E2+(-4)*E3+(-14)*E4+(-1)*E5+1*E6+1*F3+3*F4)/256。

(9)四类1/8像素插值单元1209可以插值获取四类1/8像素点,四类1/8像素点为位于一类半像素点和二类1/4像素点之间的1/8像素点,如b5、e2、e8、h5。四类1/8像素插值单元1209的滤波器为抽头系数为

{{0,0,2,2,0,0},{1,-1,-9,-9,-1,1},{4,-26,145,145,-26,4},{1,-5,19,19,-5,1},{0,0,-4,-4,0,0},{0,0,1,1,0,0}}的24抽头的滤波器。其中,

b5=(2*A3+2*A4+1*B1+(-1)*B2+(-9)*B3+(-9)*B4+(-1)*B5+1*B6+4*C1+(-26)*C2+145*C3+145*C4+(-26)*C5+4*C6+1*D1+(-5)*D2+19*D3+19*D4+(-5)*D5+1*D6+(-4)*E3+(-4)*E4+1*F3+1*F4)/256。

e2=(1*A2+4*A3+1*A4+(-1)*B2+(-26)*B3+(-5)*B4+2*C1+(-9)*C2+145*C3+19*C4+(-4)*C5+1*C6+2*D1+(-9)*D2+145*D3+19*D4+(-4)*D5+1*D6+(-1)*E2+(-26)*E3+(-5)*E4+1*F2+4*F3+1*F4)/256。

e8=(1*A3+4*A4+1*A5+(-5)*B3+(-26)*B4+(-1)*B5+1*C1+(-4)*C2+19*C3+145*C4+(-9)*C5+2*C6+1*D1+(-4)*D2+19*D3+145*D4+(-9)*D5+2*D6+(-5)*E3+(-26)*E4+(-1)*E5+1*F3+4*F4+1*F5)/256。

h5=(1*A3+1*A4+(-4)*B3+(-4)*B4+1*C1+(-5)*C2+19*C3+19*C4+(-5)*C5+1*C6+4*D1+(-26)*D2+145*D3+145*D4+(-26)*D5+4*D6+1*E1+(-1)*E2+(-9)*E3+(-9)*E4+(-1)*E5+1*E6+2*F3+2*F4)/256。

(10)五类1/8像素插值单元1210可以插值获取五类1/8像素点,五类1/8像素点为位于三类1/4像素点和二类1/4像素点之间的1/8像素点,如c4、c6、d3、d7、f3、f7、g4、g6。五类1/8像素插值单元1210的滤波器为抽头系数为

{{0,0,4,2,0,0},{0,0,-19,-11,0,0},{4,-25,166,95,-18,3},{2,-9,51,31,-7,2},{0,0,-11,-7,0,0},{0,0,2,1,0,0}}的20抽头的滤波器。其中,

c4=(4*A3+2*A4+(-19)*B3+(-11)*B4+4*C1+(-25)*C2+166*C3+95*C4+(-18)*C5+3*C6+2*D1+(-9)*D2+51*D3+31*D4+(-7)*D5+2*D6+(-11)*E3+(-7)*E4+2*F3+1*F4)/256。

c6=(2*A3+4*A4+(-11)*B3+(-19)*B4+3*C1+(-18)*C2+95*C3+166*C4+(-25)*C5+4*C6+2*D1+(-7)*D2+31*D3+51*D4+(-9)*D5+2*D6+(-7)*E3+(-11)*E4+1*F3+2*F4)/256。

d3=(4*A3+2*A4+(-25)*B3+(-9)*B4+4*C1+(-19)*C2+166*C3+51*C4+(-11)*C5+2*C6+2*D1+(-11)*D2+95*D3+31*D4+(-7)*D5+1*D6+(-18)*E3+(-7)*E4+3*F3+2*F4)/256。

d7=(2*A3+4*A4+(-9)*B3+(-25)*B4+2*C1+(-11)*C2+51*C3+166*C4+(-19)*C5+4*C6+1*D1+(-7)*D2+31*D3+95*D4+(-11)*D5+2*D6+(-7)*E3+(-18)*E4+2*F3+3*F4)/256。

f3=(3*A3+2*A4+(-18)*B3+(-7)*B4+2*C1+(-11)*C2+95*C3+31*C4+(-7)*C5+1*C6+4*D1+(-19)*D2+166*D3+51*D4+(-11)*D5+2*D6+(-25)*E3+(-9)*E4+4*F3+2*F4)/256。

f7=(2*A3+3*A4+(-7)*B3+(-18)*B4+1*C1+(-7)*C2+31*C3+95*C4+(-11)*C5+2*C6+2*D1+(-11)*D2+51*D3+166*D4+(-19)*D5+4*D6+(-9)*E3+(-25)*E4+2*F3+4*F4)/256。

g4=(2*A3+1*A4+(-11)*B3+(-7)*B4+2*C1+(-9)*C2+51*C3+31*C4+(-7)*C5+2*C6+4*D1+(-25)*D2+166*D3+95*D4+(-18)*D5+3*D6+(-19)*E3+(-11)*E4+4*F3+2*F4)/256。

g6=(1*A3+2*A4+(-7)*B3+(-11)*B4+2*C1+(-7)*C2+31*C3+51*C4+(-9)*C5+2*C6+3*D1+(-18)*D2+95*D3+166*D4+(-25)*D5+4*D6+(-11)*E3+(-19)*E4+2*F3+4*F4)/256。

(11)六类1/8像素插值单元1211可以插值获取六类1/8像素点,六类1/8像素点为位于二类1/4像素点和二类半像素点之间的1/8像素点,如d5、e4、e6、f5。六类1/8像素插值单元1211的滤波器为抽头系数为

{{0,0,3,3,0,0},{0,0,-17,-17,0,0},{4,-20,113,113,-20,4},{2,-12,66,66,-12,2},{0,0,-13,-13,0,0},{0,0,2,2,0,0}}的20抽头的滤波器。其中,

d5=(3*A3+3*A4+(-17)*B3+(-17)*B4+4*C1+(-20)*C2+113*C3+113*C4+(-20)*C5+4*C6+2*D1+(-12)*D2+66*D3+66*D4+(-12)*D5+2*D6+(-13)*E3+(-13)*E4+2*F3+2*F4)/256。

e4=(4*A3+2*A4+(-20)*B3+(-12)*B4+3*C1+(-17)*C2+113*C3+66*C4+(-13)*C5+2*C6+3*D1+(-17)*D2+113*D3+66*D4+(-13)*D5+2*D6+(-20)*E3+(-12)*E4+4*F3+2*F4)/256。

e6=(2*A3+4*A4+(-12)*B3+(-20)*B4+2*C1+(-13)*C2+66*C3+113*C4+(-17)*C5+3*C6+2*D1+(-13)*D2+66*D3+113*D4+(-17)*D5+3*D6+(-12)*E3+(-20)*E4+2*F3+4*F4)/256。

f5=(2*A3+2*A4+(-13)*B3+(-13)*B4+2*C1+(-12)*C2+66*C3+66*C4+(-12)*C5+2*C6+4*D1+(-20)*D2+113*D3+113*D4+(-20)*D5+4*D6+(-17)*E3+(-17)*E4+3*F3+3*F4)/256。

(12)七类1/8像素插值单元1212可以插值获取七类1/8像素点,七类1/8像素点为位于一类1/8像素点和三类1/8像素点之间的1/8像素点,如b2、b8、g2、g8。七类1/8像素插值单元1212的滤波器为抽头系数为

{{0,0,3,1,0,0},{0,-1,-17,-2,0,0},{3,-17,237,29,-6,1},{1,-2,29,5,-2,0},{0,0,-6,-1,0,0},{0,0,1,0,0,0}}的19抽头的滤波器。其中,

b2=(3*A3+1*A4+(-1)*B2+(-17)*B3+(-2)*B4+3*C1+(-17)*C2+237*C3+29*C4+(-6)*C5+1*C6+1*D1+(-2)*D2+29*D3+5*D4+(-2)*D5+(-6)*E3+(-1)*E4+1*F3)/256。

b8=(1*A3+3*A4+(-2)*B3+(-17)*B4+(-1)*B5+1*C1+(-6)*C2+29*C3+237*C4+(-17)*C5+3*C6+(-1)*D2+5*D3+29*D4+(-2)*D5+1*D6+(-2)*E3+(-6)*E4+1*F4)/256。

h2=(1*A3+(-6)*B3+(-1)*B4+1*C1+(-2)*C2+29*C3+5*C4+(-2)*C5+3*D1+(-17)*D2+237*D3+29*D4+(-6)*D5+1*D6+(-1)*E2+(-17)*E3+(-2)*E4+3*F3+1*F4)/256。

h8=(1*A4+(-2)*B3+(-6)*B4+(-1)*C2+5*C3+29*C4+(-2)*C5+1*C6+1*D1+(-6)*D2+29*D3+237*D4+(-17)*D5+3*D6+(-2)*E3+(-17)*E4+(-1)*E5+1*F3+3*F4)/256。

(13)八类1/8像素插值单元1213可以插值获取八类1/8像素点,八类1/8像素点为位于二类1/8像素点、三类1/8像素点、四类1/8像素点、五类1/8像素点之间的1/8像素点,如b4、b6、d2、d8、f2、f8、h4、h6。八类1/8像素插值单元1213的滤波器为抽头系数为

{{0,0,2,1,0,0},{1,-1,-12,-7,-1,0},{5,-28,182,105,-20,4},{1,-5,24,15,-5,1},{0,0,-5,-3,0,0},{0,0,1,1,0,0}}的23抽头的滤波器。其中,

b4=(2*A3+1*A4+1*B1+(-1)*B2+(-12)*B3+(-7)*B4+(-1)*B5+5*C1+(-28)*C2+182*C3+105*C4+(-20)*C5+4*C6+1*D1+(-5)*D2+24*D3+15*D4+(-5)*D5+1*D6+(-5)*E3+(-3)*E4+1*F3+1*F4)/256。

b6=(1*A3+2*A4+(-1)*B2+(-7)*B3+(-12)*B4+(-1)*B5+1*B6+4*C1+(-20)*C2+105*C3+182*C4+(-28)*C5+5*C6+1*D1+(-5)*D2+15*D3+24*D4+(-5)*D5+1*D6+(-3)*E3+(-5)*E4+1*F3+1*F4)/256。

d2=(1*A2+5*A3+1*A4+(-1)*B2+(-28)*B3+(-5)*B4+2*C1+(-12)*C2+182*C3+24*C4+(-5)*C5+1*C6+1*D1+(-7)*D2+105*D3+15*D4+(-3)*D5+1*D6+(-1)*E2+(-20)*E3+(-5)*E4+4*F3+1*F4)/256。

d8=(1*A3+5*A4+1*A5+(-5)*B3+(-28)*B4+(-1)*B5+1*C1+(-5)*C2+24*C3+182*C4+(-12)*C5+2*C6+1*D1+(-3)*D2+15*D3+105*D4+(-7)*D5+1*D6+(-5)*E3+(-20)*E4+(-1)*E5+1*F3+4*F4)/256。

f2=(4*A3+1*A4+(-1)*B2+(-20)*B3+(-5)*B4+1*C1+(-7)*C2+105*C3+15*C4+(-3)*C5+1*C6+2*D1+(-12)*D2+182*D3+24*D4+(-5)*D5+1*D6+(-1)*E2+(-28)*E3+(-5)*E4+1*F2+5*F3+1*F4)/256。

f8=(1*A3+4*A4+(-5)*B3+(-20)*B4+(-1)*B5+1*C1+(-3)*C2+15*C3+105*C4+(-7)*C5+1*C6+1*D1+(-5)*D2+24*D3+182*D4+(-12)*D5+2*D6+(-5)*E3+(-28)*E4+(-1)*E5+1*F3+5*F4+1*F5)/256。

h4=(1*A3+1*A4+(-5)*B3+(-3)*B4+1*C1+(-5)*C2+24*C3+15*C4+(-5)*C5+1*C6+5*D1+(-28)*D2+182*D3+105*D4+(-20)*D5+4*D6+1*E1+(-1)*E2+(-12)*E3+(-7)*E4+(-1)*E5+2*F3+1*F4)/256。

h6=(1*A3+1*A4+(-3)*B3+(-5)*B4+1*C1+(-5)*C2+15*C3+24*C4+(-5)*C5+1*C6+4*D1+(-20)*D2+105*D3+182*D4+(-28)*D5+5*D6+(-1)*E2+(-7)*E3+(-12)*E4+(-1)*E5+1*E6+1*F3+2*F4)/256。

(14)九类1/8像素插值单元1214可以插值获取九类1/8像素点,九类1/8像素点为位于五类1/8像素点和六类1/8像素点之间的1/8像素点,如d4、d6、f4、f6。九类1/8像素插值单元1214的滤波器为抽头系数为

{{0,0,4,3,0,0},{0,0,-21,-13,0,0},{4,-21,141,82,-16,3},{2,-13,82,48,-10,2},{0,0,-16,-10,0,0},{0,0,3,2,0,0}}的20抽头的滤波器。其中,

d4=(4*A3+3*A4+(-21)*B3+(-13)*B4+4*C1+(-21)*C2+141*C3+82*C4+(-16)*C5+3*C6+2*D1+(-13)*D2+82*D3+48*D4+(-10)*D5+2*D6+(-16)*E3+(-10)*E4+3*F3+2*F4)/256。

d6=(3*A3+4*A4+(-13)*B3+(-21)*B4+3*C1+(-16)*C2+82*C3+141*C4+(-21)*C5+4*C6+2*D1+(-10)*D2+48*D3+82*D4+(-13)*D5+2*D6+(-10)*E3+(-16)*E4+2*F3+3*F4)/256。

f4=(3*A3+2*A4+(-16)*B3+(-10)*B4+2*C1+(-13)*C2+82*C3+48*C4+(-10)*C5+2*C6+4*D1+(-21)*D2+141*D3+82*D4+(-16)*D5+3*D6+(-21)*E3+(-13)*E4+4*F3+3*F4)/256。

f6=(2*A3+3*A4+(-10)*B3+(-16)*B4+2*C1+(-10)*C2+48*C3+82*C4+(-13)*C5+3*C6+3*D1+(-16)*D2+82*D3+141*D4+(-21)*D5+4*D6+(-13)*E3+(-21)*E4+2*F3+4*F4)/256。

输出模块130分别与上述各个插值单元相连,将上述插值获取的分像素的像素值输出。

根据本发明实施例的1/8像素精度的插值装置,对于所有的分像素位置插值,仅需使用整像素作为参考像素,简化了分像素位置中插值过程,从而减少插值过程的时延。同时本发明实施例的插值装置采用高精度的插值滤波器,在运动补偿中能够使运动矢量精确到1/8像素级,提高预测精度,减小码率,且提高视频编码的压缩效率。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号