CN102497549A - 一种基于选择器的双线性插值方法和装置 - Google Patents

一种基于选择器的双线性插值方法和装置 Download PDF

Info

Publication number
CN102497549A
CN102497549A CN2011103966212A CN201110396621A CN102497549A CN 102497549 A CN102497549 A CN 102497549A CN 2011103966212 A CN2011103966212 A CN 2011103966212A CN 201110396621 A CN201110396621 A CN 201110396621A CN 102497549 A CN102497549 A CN 102497549A
Authority
CN
China
Prior art keywords
input
value
alternative selector
signal
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2011103966212A
Other languages
English (en)
Inventor
王万亭
徐昕
邵冬英
呼大明
郑海鸥
于天歌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING BASTRIVER CO LTD
Original Assignee
BEIJING BASTRIVER CO LTD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING BASTRIVER CO LTD filed Critical BEIJING BASTRIVER CO LTD
Priority to CN2011103966212A priority Critical patent/CN102497549A/zh
Publication of CN102497549A publication Critical patent/CN102497549A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)

Abstract

本发明提供一种基于选择器的双线性插值方法和装置。本发明的双线性插值装置包括第一、第二和第三插值模块。每一插值模块包括多个二选一选择器,第i选择器的控制端输入多位二进制数dx[xn-1xn-2...x2x1x0]中的第i位;当所述控制端的输入为0时,第i二选一选择器输出第一输入,当所述控制端的输入为1时,第i二选一选择器输出第二输入;和加法模块,用于所述第一输入和n个选择器的输出求和。所述第三插值模块以第一和第二插值模块的输出作为输入。根据本发明的实现双线性插值的方法和装置,在提高运算速度的同时速度改善了硬件装置的性能,降低了资源消耗,改善了装置的工作速度。

Description

一种基于选择器的双线性插值方法和装置
技术领域
本发明涉及数字视频编解码技术领域,具体的说,涉及数字视频编解码运动补偿的亚像素双线性插值方法和装置。
背景技术
视频是指由一系列时间上相关的图像组成的图像序列,其中的每幅图像称为“帧”(本申请中对帧模式和场模式的图像都统一适用,所以不区分帧和场,统一称为帧),每帧图像又可以划分为若干个“块”,通常块为正方形或矩形,视频编解码以块为基础单位进行编码,视频编码中常用的块有16×16,8×16,16×8,8×8,4×4等,都是以像素为单位。“像素”则是指构成图像的点。对视频进行编码的目的是对视频数据进行压缩,以便存储传输,而视频编码方法就是实现上述功能的方法。一个好的视频编码方法,可以在保持视频尽量好的视觉质量的同时,把数据量压缩到尽可能低。而视频解码方法则是把压缩后的数据恢复到可直接观看的视频的方法,从压缩数据得到解码后的图像的过程称为图像重建。
视频编解码方法由若干功能模块组成,其中“运动补偿(MotionCompensation,MC)模块”是视频编解码中的一个重要模块。运动补偿模块的功能是,针对当前需要重建的块,根据已经重建的图像计算出用于参考的图像块,把解码所得残差图像块和该参考图像块相加,得到重建的图像块。由于重建图像不只在解码过程中需要,在编码过程中也需要,因此运动补偿模块在编码方法和解码方法中都存在。
运动补偿模块所实现的功能,如图1所示,该图包括了:一个w×h的残差图像块(在图像处理中,一个图像是w×h,是指“宽×高”,单位为像素),该块在编码或解码过程中经过反量化、反变换等处理得到;一个W×H的已重建帧,将在后续编解码过程中作为参考用,也称为参考帧。参考帧中,有一个J×K的区域,该区域是参考范围,对这个参考范围内的像素插值,可以得到w×h的块作为参考图像块;用于和残差图像块相加,得到一个w×h的重建图像块。
上述提及的插值过程,有多种插值方法,其中一种插值方法是双线性插值方法。如图2所示,通过双线性插值方法计算得到w×h的参考图像块中的一个像素P的值;A、B、C、D是已重建帧中J×K的参考范围内的4个相邻的像素值;dx、dy分别是水平法方向和垂直方向的亚像素位置参数,其中dx表示了P对于A所在亚像素位置在水平方向的偏移量,dy表示了P对于A所在亚像素位置在垂直方向的偏移量,上述两个参数在编码过程中由其他阶段的功能模块计算得到,如果亚像素P的dx和dy均为0,这时亚像素P就是整像素A;Dx和Dy是两个固定不变的常数,值是2的指数次方(例如2、4、8、16等)。dx和dy的值满足关系0≤dx<Dx,0≤dy<Dy,且dx和dy只能为整数。因此亚像素P的偏移量步长为1。Dx和Dy可以认为A、B、C、D这4个整像素在水平方向和垂直方向以亚像素偏移量步长为单位表示的距离。在双线性插值方法中,P的值通过以下算法计算得到:
p=((Dx-dx)×(Dy-dy)×A+dx×(Dy-dy)×B+(Dx-dx)×dy×C+dx×dy×D)/(Dx×Dy);
P=int(p+0.5);
其中,int(p+0.5)表示取(p+0.5)的整数部分,丢掉小数部分。
在传统的视频编解码方法中,该双线性插值都直接实现。用直接实现的方法,每个像素需要8个乘法,3个加法。对于视频编解码过程中一次需要处理的w×h的参考图像块,共需要8×w×h的乘法,3×w×h的加法。对于采用硬件逻辑(如FPGA、ASIC等)实现的情况下,乘法需要用到乘法器比加法用到的加法器需要消耗更多的资源,同时速度性能也更差,传统的直接实现方法具有资源消耗大,工作速度低等缺点。
发明内容
本发明的目的是为克服已有方法的不足之处,提出一种视频编解码中基于选择器实现双线性插值的装置和方法。根据本发明的基于选择器实现双线性插值的装置和方法具有垂直和水平分离,按权重选择相加的特点,这种方法在如FPGA、ASIC等硬件平台上实现时,具有资源占用少,工作速度快等优点。
一种视频编解码中实现双线性插值的方法,该方法通过双线性插值计算得到w×h的参考图像块的一个像素P的值;如图3所示,其特征在于包括以下步骤:
第一步:计算P1、P2的值:
P1=((Dx-dx)×A+dx×B)/Dx;
P2=((Dx-dx)×C+dx×D)/Dx;
第二步:计算p的值:
p=((Dy-dy)×P1+dy×P2)/Dy;
第三步:计算P的值:
P=int(p+0.5);
其中A、B、C、D是w×h参考图像块中4个相邻的像素值;dx、dy分别是水平法方向和垂直方向的位置参数,其中dx表示了P对于A所在位置在水平方向的偏移量,dy表示了P对于A所在位置在垂直方向的偏移量,上述两个参数在编码过程中由其他阶段的功能模块计算得到;Dx和Dy是两个固定不变的常数,值是2的指数次方(例如2、4、8、16等),分别表示了A、B、C、D这4个像素在水平方向和垂直方向的距离。dx和dy的值满足关系0≤dx<Dx,0≤dy<Dy。P1点是像素A点水平偏移dx的像素点,P2点是像素C点水平偏移dx的像素点。P1、P2和P点处于同一水平位置,P可以看作P1垂直偏移dy的像素点。
根据本发明的一个方面,提供一种线性插值模块,该线性插值模块包括:
第一和第二输入端,用于分别输入第一值和第二值;
第三输入端,用于输入n位二进制数dx[xn-1xn-2...x2x1x0],0≤dx<2n,n为大于1的整数;
n个二选一选择器,来自插值模块第三输入端的所述n位输入(xn-1,xn-2,...,x2,x1,x0)中的第i位输入xi提供给第i二选一选择器的控制端,插值模块的第一输入端和第二输入端分别与每一二选一选择器的第一输入端和第二输入端连接,使得当所述控制端的输入xi为0时,第i二选一选择器输出第一值,当所述控制端的输入xi为1时,第i二选一选择器输出第二值,i=0,1,...,n-1;
加法模块,用于将n+1个输入(a0,a1,...,an-1,an)求和得到和信号,所述n+1个输入之一为第一值且其它n个输入分别为第i二选一选择器的输出从右侧补i位0后构成的信号;以及
输出端,用于将所述加法模块的和信号舍去n个最低有效位得到所述第一值和第二值之间的线性插值并输出该线性插值。
优选地,所述n为2,3,4,5,6或7。
优选地,该线性插值模块进一步包括多个补位数据线,用于实现对各二选一选择器的输出补0。
优选地,所述加法模块包括级联的n个加法器。
优选地,所述输出端进一步包括取整模块,该取整模块用于将所述加法模块的和信号舍去n个最低有效位后构成的数据与所述加法模块的和信号中从右侧数第n位的值求和得到线性插值。
根据本发明的另一方面,提供一种基于选择器计算线性插值的方法,该方法包括以下步骤:
将第一值分别输入n个二选一选择器中的每一二选一选择器的第一输入端,将第二值分别输入所述每一二选一选择器的第二输入端;
将n位二进制数dx[xn-1xn-2...x2x1x0]中的第i位输入xi分别输入所述n个二选一选择器中的第i二选一选择器的控制端,使得当第i二选一选择器的控制端输入xi为0时,第i二选一选择器输出所述第一值,当控制端输入xi为1时,第i二选一选择器输出所述第二值,0≤dx<2n,n为大于1的整数,i=0,1,...,n-1;
将n+1个输入求和得到和信号,所述n+1个输入之一为第一值且其它n个输入分别为第i二选一选择器的输出从右侧补i位0后构成的信号;
将所述和信号舍去n个最低有效位得到所述第一值和第二值之间的线性插值;以及
输出所述线性插值。
优选地,将所述和信号舍去n个最低有效位第二所述第一值和第二值之间的线性插值的步骤进一步包括,将所述和信号舍去n个最低有效位后构成的数据与所述加法模块的和信号中从右侧数第n位的值求和得到线性插值。
根据本发明的又一方面,提供一种双线性插值模块,该双线性插值模块包括第一插值模块、第二插值模块和第三插值模块以及输出端,
第一插值模块,包括:
第一和第二输入端,用于分别输入第一值和第二值;
第三输入端,用于输入n位2进制数dx[xn-1xn-2...x2x1x0],0≤dx<2n,n为大于1的整数;
第一n个二选一选择器,来自第一插值模块第三输入端的所述n位输入中的第i位输入xi提供给第i二选一选择器的控制端,第一插值模块的第一输入端和第二输入端分别与每一二选一选择器的第一输入端和第二输入端连接,使得当所述控制端的输入xi为0时,第i二选一选择器输出第一值,当所述控制端的输入xi为1时,第i二选一选择器输出第二值,i=0,1,...,n-1;
第一加法模块,用于将n+1个输入求和得到第一和信号,所述n+1个输入之一为第一值且其它n个输入分别为第i二选一选择器的输出从右侧补i位0后构成的信号;
第二插值模块,包括:
第四和第五输入端,用于分别输入第三值和第四值;
第六输入端,用于输入所述n位2进制数dx[xn-1xn-2...x2x1x0];
第二n个二选一选择器,来自第二插值模块第六输入端的所述输入中的第i位输入xi提供给第i二选一选择器的控制端,第二插值模块的第四输入端和第五输入端分别与每一二选一选择器的第一输入端和第二输入端连接,使得当所述控制端的输入xi为0时,第i二选一选择器输出第三值,当所述控制端的输入xi为1时,第i二选一选择器输出第四值,i=0,1,...,n-1;
第二加法模块,用于将n+1个输入求和得到第二和信号,所述n+1个输入之一为第三值且其它n个输入分别为第i二选一选择器的输出从右侧补i位0后构成的信号;
第三插值模块,包括:
第七和第八输入端,用于分别输入所述第一和信号和所述第二和信号;
第九输入端,用于输入m位二进制数dy[ym-1ym-2...y2y1y0],0≤dy<2m,m为大于1的整数;
m个二选一选择器,来自第三插值模块第九输入端的所述m位输入ym-1,ym-2,...,y2,y1,y0中的第j位输入提供给第j二选一选择器的控制端,第三插值模块的第七输入端和第八输入端分别与每一二选一选择器的第一输入端和第二输入端连接,使得当所述控制端的输入yj为0时,第j二选一选择器输出第一和信号,当所述控制端的输入yj为1时,第j二选一选择器输出第二和信号,j=0,1,...,m-1;
第三加法模块,用于将m+1个输入求和得到第三和信号,所述m+1个输入之一为第一和信号且其它m个输入为第j二选一选择器的输出从右侧补j位0后构成的数据;以及
输出端,用于将所述第三和信号(p3)中舍去n+m位最低有效位得到所述第一值、第二值、第三值和第四值之间的双线性插值并输出该双线性插值。
优选地,所述n为2,3,4,5,6或7。
优选地,所述m为2,3,4,5,6或7。
优选地,该每一插值模块分别包括多个补位数据线,用于实现对二选一选择器的输出补0。
优选地,所述第一加法模块和所述第二加法模块分别包括n个加法器,所述第三加法模块包括m个加法器。
优选地,所述输出端进一步包括取整模块,该取整模块用于将所述第三和信号舍去n+m个最低有效位后构成的数据与所述第三和信号从右侧数第n+m位的值求和得到双线性插值。
根据本发明的再一方面,提供一种视频编解码器,该视频编解码器包括如上所述的双线性插值模块。
根据本发明的再一方面,提供一种基于选择器计算双线性插值的方法,该方法包括以下步骤:
将第一值分别输入第一n个二选一选择器中的每一二选一选择器的第一输入端,将第二值分别输入所述每一二选一选择器的第二输入端,
将n位二进制数dx[xn-1xn-2...x2x1x0]中的第i位输入xi分别输入所述第一n个二选一选择器中的第i二选一选择器的控制端,使得当该第i二选一选择器的控制端输入xi为0时,第i二选一选择器输出所述第一值,当第i二选一选择器的控制端输入xi为1时,第i二选一选择器输出所述第二值,0≤dx<2n,n为大于1的整数,i=0,1,...,n-1;
将第一n+1个输入求和得到第一和信号,所述n+1个输入之一为第一值且其它n个输入分别为第i二选一选择器的输出从右侧补i位0后构成的信号;
将第三值分别输入第二n个二选一选择器中的每一二选一选择器的第一输入端,将第四值分别输入所述每一二选一选择器的第二输入端;
所述将n位二进制数dx[xn-1xn-2...x2x1x0]中第i位输入xi分别输入所述第二n个二选一选择器中的第i二选一选择器的控制端,使得当该第i二选一选择器的控制端输入xi为0时,第i二选一选择器输出所述第三值,当该第i二选一选择器的控制端输入xi为1时,第i二选一选择器输出所述第四值,i=0,1,...,n-1;
将第二n+1个输入求和得到第二和信号,所述n+1个输入之一为第三值且其它n个输入分别为第i二选一选择器的输出从右侧补i位0后构成的信号;
将第一和信号分别输入m个二选一选择器中的每一二选一选择器的第一输入端,将第二和信号分别输入每一二选一选择器的第二输入端;
将m位二进制数dy[ym-1ym-2...y2y1y0]中的第j位输入yj分别输入m个二选一选择器中的第j二选一选择器的控制端,使得当该第j二选一选择器的控制端输入yj为0时,第j二选一选择器输出所述第一和信号,当该第j二选一选择器的控制端输入yj为1时,第j二选一选择器输出所述第二和信号,0≤dy<2m,m为大于1的整数,j=0,1,...,m-1;
将m+1个输入求和得到第三和信号,所述m+1个输入之一为第一和信号且其他m个输入为第j二选一选择器的输出从右侧补j位0后构成的数据;以及
将所述第三和信号舍去m+n个最低有效位后得到所述第一值、第二值、第三值和第四值之间的双线性插值;以及
输出所述双线性插值。
优选地,将所述第三和信号舍去m+n个最低有效位后构成的数据作为双线性插值的步骤进一步包括,将第三和信号舍去m+n个最低有效位后构成的数据与所述第三和信号中从右侧数第n+m位的值求和得到双线性插值。
优选地,该双线性插值的方法用于视频编码,视频解码或视频编解码中。
根据本发明的基于选择器实现线性插值的方法和实现双线性插值的方法,不使用乘法,而是按照表示水平或垂直偏移量的位权重累加的方法,不但消除了乘法,还减少了加法器的数量。
根据本发明的基于选择器实现线性插值的装置和实现双线性插值的装置,不使用加法器,通过使用选择器,按照表示水平或垂直偏移量的位权重对已知值累加的方法,不但消除了乘法,还减少了加法器的数量。
根据本发明的实现双线性插值的方法和装置,在提高运算速度的同时速度改善了硬件装置的性能,降低了资源消耗,改善了装置的工作速度。
附图说明
图1是运动补偿的实现原理示意图。
图2是本发明采用的双线性插值方法的示意图。
图3是另一种双线性插值的方法示意图。
图4是根据本发明实施例1的线性插值模块的实现结构图。
图5是根据本发明实施例1的线性插值模块中的加法模块的一种实现结构图。
图6是根据本发明实施例2用线性插值模块实现的双线性插值结构图。
图7是根据本发明实施例2的双线性插值实施例结构图。
具体实施方式
下面结合附图及实施例对本发明作进一步说明。
图3示出了一种视频编解码中实现双线性插值的方法。该方法通过双线性插值计算得到w×h的参考图像块的一个像素P的值。A、B、C、D是w×h参考图像块中4个相邻的像素值;dx、dy分别是水平法方向和垂直方向的位置参数,其中dx表示了P对于A所在位置在水平方向的偏移量,dy表示了P对于A所在位置在垂直方向的偏移量,上述两个参数在编码过程中由其他阶段的功能模块计算得到;Dx和Dy是两个固定不变的常数,值是2的指数次方(例如2、4、8、16等),分别表示了A、B、C、D这4个像素在水平方向和垂直方向的距离。dx和dy的值满足关系0≤dx<Dx,0≤dy<Dy。P1点是像素A点水平偏移dx的像素点,P2点是像素C点水平偏移dx的像素点。P1、P2和P点处于同一水平位置,P可以看作P1垂直偏移dy的像素点。本发明提出计算P的方法按如下步骤进行:
第一步:计算P1、P2的值:
P1=((Dx-dx)×A+dx×B)/Dx;
P2=((Dx-dx)×C+dx×D)/Dx;
第二步:计算p的值:
p=((Dy-dy)×P1+dy×P2)/Dy;
第三步:计算P的值:
P=int(p+0.5);
为了实现上述计算像素P1、P2、p的步骤,本发明的优选实施例提供了一种不使用乘法实现的方法和装置。
图4示出根据本发明实施例1的线性插值模块的结构图。参见图3,以由A和B获得插值P1为例对图4的线性插值模块的工作原理进行说明。图3中A、B是参考范围两个水平相邻的像素点的像素值,P1是像素值A、B的像素连线上的一个亚像素的像素值,它是像素值A的像素在水平方向上偏移dx的亚像素。当Dx为2的n次幂,dx可以用n位2进制数表示,即dx=[xn-1xn-2...x2x1x0],0≤dx<Dx,n为大于1的整数。根据本发明的线性插值模块包括n个选择器MUX,优选为二选一选择器,和加法模块。偏移量dx=[xn-1xn-2...x2x1x0]的每一位作为对应的一个二选一选择器的控制端的输入,如位x0为MUX0的控制端的输入,位x1为MUX1的控制端的输入,……,位xn-1为MUXn-1的控制端输入。数值A和B分别输入给每个选择器的输入端,以使对于每个选择器,如果控制端为1则选择值B作为输出,否则选择值A作为输出。对于加法模块的各个输入,输入a0为值A直接输入,输入a1为MUX0的输出,输入a2、输入a3、……、an分别为MUX1、MUX2……MUXn-1的输出左移1、2、……、n-1位后的值。通过将选择器输出从右侧补相应个数的0来实现所述输出的左移。例如通过选择器的输出和加法模块的输入之间增加数据线,可实现所述输出的左移。加法模块将输入a0、a1、a2、a3、……、an求和得到总和w。注意,在这里总和w的值为像素值P1的Dx倍,没有被截位。将该总和w舍去n位,即将总和w从右侧截去n位得到像素值P1,即为以距数据A的偏移量dx对间距为Dx的数据A和B进行线性插值得到的插值数据。
线性插值模块中加法模块有多种实现方式,典型实现结构图如图5,采用级联方式实现,即每2个输入使用一个加法器得到一个输出,两个输出再使用一个加法器得到下一个输出,这样级联下去,最后得到总和w。这样要使用n个加法器实现加法模块。
图6示出根据本发明实现双线性插值的方法的示意图。线性插值模块1的输入为n位2进制数dx、数据A、数据B,产生输出信号p1;线性插值模块2的输入为同一n位2进制数dx、数据C、数据D,产生输出信号p2;线性插值模块3的输入为m位2进制数dy、信号p1、信号p2,产生输出信号p。由于信号p1和p2没有截位,因此其数值分别为像素值P1、P2的Dx=2n倍。同样,因为信号p也没有截位,因此其数值为实际插值的Dx×Dy倍,Dy=2m。因为Dx为2的n次幂,Dy为2的m次幂,计算插值P的值时需要将p截去右边的n+m位得到pint。进一步,可以判断n+m-1位的值,如果为1,则取P=pint+1,否则取P=pint。
下面参照图7以具体实例说明根据本发明实施例2的双线性插值装置和方法。实施例2的双线性插值模块包括插值模块1、插值模块2、插值模块3和输出端。插值模块1以数据A和数据B作为输入,分别输入给n个二选一选择器每一个选择器的第一输入端和第二输入端,以n位二进制数dx的每一位分别作为n个二选一选择器中一个选择器的控制端输入;插值模块2以数据C和数据D作为输入,分别输入给n个二选一选择器每一个选择器的第一输入端和第二输入端,以n位二进制数dx的每一位分别作为n个二选一选择器中一个选择器的控制端输入;插值模块3以第一插值模块的输出和第二插值模块的输出作为输入,分别输入给m个二选一选择器每一个选择器的第一输入端和第二输入端,以m位二进制数dy的每一位分别作为m个二选一选择器中一个选择器的控制端输入。该双线性插值模块的输出端对插值模块3中的加法模块的和舍m+n个最低有效位得到数据A、B、C和D的双线性插值。
本实例中,Dx=8=23,Dy=8=23,dx=3,dy=5。数据A、B、C、D的值例如为8位16进制无符号数,它们分别是A=0x23,B=0x17,C=0x85,D=0x97,其中0x表示16进制数。图中数据线上的斜杠短线及右边的数值表示数据线的宽度,如/8表示数据线宽度为8位。图中dx=[x2x1x0]是以3位2进制数表示的dx。本例中dx=3=0b011,式中0b表示2进制表示。
由于dx=[x2x1x0]=0b011,因此得到x2=0,x1=1,x0=1。
所以对于图7中的插值模块1,MUX2、MUX1、MUX0分别选通数据A、B、B。所以对于第一插值模块1中的加法器,4个输入分别为
a0=A=0x23;
a1=B=0x17;
a2=B<<1==0x17<<1=0x2E;
a3=A<<2=0x23<<2=0x8C;
经加和得到p1=a0+a1+a2+a3=0x23+0x17+0x2E+0x8C=0xF4;
所以对于图7中的线性插值模块2,MUX2、MUX1、MUX0分别选通数据C、D、D。所以对于第二插值模块2中的加法器,4个输入分别为
b0=C=0x85;
b1=D=0x97;
b2=D<<1==0x97<<1=0x12E;
b3=C<<2=0x85<<2=0x214;
经加和得到,p2=b0+b1+b2+b3=0x85+0x97+0x12E+0x214=0x45E;
由于dy=[y2y1y0]=0b101,因此得到y2=1,y1=0,y0=1。
所以对于图7线性插值模块3中,MUX2、MUX1、MUX0分别选通p2、p1、p2。所以对于第三插值模块1中的加法器,4个输入分别为
c0=p1=0xF4;
c1=p2=0x45E;
c2=p1<<1==0xF4<<1=0x1E8;
c3=p2<<2=0x45E<<2=0x1178;
经加和得到p=c0+c1+c2+c3=0xF4+0x45E+0x1E8+0x1178=0x18B2;
由于p=[p13p12p11p10p9p8p7p6p5p4p3p2p1p0]=0x18B2=0b01100010110010,
因此对输出p从右侧截去3+3=6位后剩余位构成的数据P作为A、B、C和D的双线性插值,P=[p13p12p11p10p9p8p7p6]=0b01100010。
例如,为对输出p进行四舍五入的取整,可对上述数据P作进一步处理。输出p的第6位数据p5=0b1,
P=[p13p12p11p10p9p8p7p6]+p5=0b01100010+0b1=0x62+1=0x63。
由此,本例中得到经取整的双线性插值,P=0x63。
本发明采用选择器和加法器实现了现有技术中以多个加法器和乘法器实现的插值运算,在提高运算速度的同时速度改善了硬件装置的性能,降低了资源消耗,改善了装置的工作速度。
如上所述,根据本发明的双线性插值装置可用于视频编码装置中,可应用于视频解码装置中,可应用于视频编解码装置中。
应当理解,以上借助优选实施例对本发明的技术方案进行的详细说明是示意性的而非限制性的。本领域的普通技术人员在阅读本发明说明书的基础上可以对各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。本发明的保护范围仅由随附权利要求书限定。

Claims (17)

1.一种线性插值模块,其特征在于,该线性插值模块包括:
第一和第二输入端,用于分别输入第一值和第二值;
第三输入端,用于输入n位二进制数dx([xn-1xn-2...x2x1x0]),0≤dx<2n,n为大于1的整数;
n个二选一选择器,来自插值模块第三输入端的所述n位输入(xn-1,xn-2,...,x2,x1,x0)中的第i位输入(xi)提供给第i二选一选择器的控制端,插值模块的第一输入端和第二输入端分别与每一二选一选择器的第一输入端和第二输入端连接,使得当其控制端的输入(xi)为0时,第i二选一选择器输出第一值,当其控制端的输入(xi)为1时,第i二选一选择器输出第二值,i=0,1,...,n-1:
加法模块,用于将n+1个输入(a0,a1,...,an-1,an)求和得到和信号(w),所述n+1个输入之一为第一值且其它n个输入分别为第i二选一选择器的输出从右侧补i位0后构成的信号;以及
输出端,用于将所述加法模块的和信号(w)舍去n个最低有效位得到所述第一值和第二值之间的线性插值(P1)并输出该线性插值。
2.如权利要求1所述的线性插值模块,其特征在于,所述n为2,3,4,5,6或7。
3.如权利要求1所述的线性插值模块,其特征在于,该线性插值模块进一步包括多个补位数据线,用于实现对各二选一选择器的输出补0。
4.如权利要求1所述的线性插值模块,其特征在于,所述加法模块包括级联的n个加法器。
5.如权利要求1所述的线性插值模块,其特征在于,所述输出端进一步包括取整模块,该取整模块用于将所述加法模块的和信号(w)舍去n个最低有效位后构成的数据与所述加法模块的和信号(w)中从右侧数第n位的值求和得到所述线性插值(P1)。
6.一种基于选择器计算线性插值的方法,其特征在于,该方法包括以下步骤:
将第一值分别输入n个二选一选择器中的每一二选一选择器的第一输入端,将第二值分别输入所述每一二选一选择器的第二输入端;
将n位二进制数dx([xn-1xn-2...x2x1x0])中的第i位输入(xi)分别输入所述n个二选一选择器中第i二选一选择器的控制端,使得当第i二选一选择器的控制端输入(xi)为0时,第i二选一选择器输出所述第一值,当其控制端输入(xi)为1时,第i二选一选择器输出所述第二值,0≤dx<2n,n为大于1的整数,i=0,1,...,n-1;
将n+1个输入(a0,a1,...,an-1,an)求和得到和信号(w),所述n+1个输入之一为第一值且其它n个输入分别为第i二选一选择器的输出从右侧补i位0后构成的信号;
将所述和信号(w)舍去n个最低有效位得到所述第一值和第二值之间的线性插值(P1);以及
输出所述线性插值(P1)。
7.如权利要求6所述的基于选择器计算线性插值的方法,其特征在于,
将所述和信号(w)舍去n个最低有效位得到所述第一值和第二值之间的线性插值(P1)的步骤进一步包括,将所述和信号(w)舍去n个最低有效位后构成的数据与所述加法模块的和信号(w)中从右侧数第n位的值求和得到所述线性插值(P1)。
8.一种双线性插值模块,
其特征在于,该双线性插值模块包括第一插值模块、第二插值模块和第三插值模块以及输出端,
第一插值模块,包括:
第一和第二输入端,用于分别输入第一值和第二值;
第三输入端,用于输入n位2进制数dx([xn-1xn-2...x2x1x0]),0≤dx<2n,n为大于1的整数;
第一n个二选一选择器,来自第一插值模块第三输入端的所述n位输入(xn-1,xn-2,...,x2,x1,x0)中的第i位输入(xi)提供给第i二选一选择器的控制端,第一插值模块的第一输入端和第二输入端分别与每一二选一选择器的第一输入端和第二输入端连接,使得当所述控制端的输入(xi)为0时,第i二选一选择器输出第一值,当所述控制端的输入(xi)为1时,第i二选一选择器输出第二值,i=0,1,...,n-1;
第一加法模块,用于将n+1个输入(a0,a1,...,an-1,an)求和得到第一和信号(p1),所述n+1个输入之一为第一值且其它n个输入分别为第i二选一选择器的输出从右侧补i位0后构成的信号;
第二插值模块,包括:
第四和第五输入端,用于分别输入第三值和第四值;
第六输入端,用于输入所述n位2进制数dx([xn-1xn-2...x2x1x0]);
第二n个二选一选择器,来自第二插值模块第六输入端的所述输入(xn-1,xn-2,...,x2,x1,x0)中的第i位输入(xi)提供给第i二选一选择器的控制端,第二插值模块的第四输入端和第五输入端分别与每一二选一选择器的第一输入端和第二输入端连接,使得当所述控制端的输入(xi)为0时,第i二选一选择器输出第三值,当所述控制端的输入(xi)为1时,第i二选一选择器输出第四值,i=0,1,...,n-1;
第二加法模块,用于将n+1个输入(b0,b1,...,bn-1,bn)求和得到第二和信号(p2),所述n+1个输入之一为第三值且其它n个输入分别为第i二选一选择器的输出从右侧补i位0后构成的信号;
第三插值模块,包括:
第七和第八输入端,用于分别输入第一和信号(p1)和第二和信号(p2);
第九输入端,用于输入m位二进制数dy([ym-1ym-2...y2y1y0]),0≤dy<2m,m为大于1的整数;
m个二选一选择器,来自第三插值模块第九输入端的所述m位输入(ym-1,ym-2,...,y2,y1,y0)中的第j位输入(yj)提供给第j二选一选择器的控制端,第三插值模块的第七输入端和第八输入端分别与每一二选一选择器的第一输入端和第二输入端连接,使得当所述控制端的输入(yj)为0时,第j二选一选择器输出第一和信号(p1),当所述控制端的输入(yj)为1时,第j二选一选择器输出第二和信号(p2),j=0,1,...,m-1;
第三加法模块,用于将m+1个输入(c0,c1,...,cm-1,cm)求和得到第三和信号(p3),所述m+1个输入之一为第一和信号(p1)且其它m个输入为第j二选一选择器的输出从右侧补j位0后构成的数据;以及
输出端,用于将所述第三和信号(p3)中舍去n+m位最低有效位得到所述第一值、第二值、第三值和第四值之间的双线性插值(P)并输出该双线性插值。
9.如权利要求8所述的双线性插值模块,其特征在于,所述n为2,3,4,5,6或7。
10.如权利要求8所述的双线性插值模块,其特征在于,所述m为2,3,4,5,6或7。
11.如权利要求8所述的双线性插值模块,其特征在于,该每一插值模块分别包括多个补位数据线,用于实现对各二选一选择器的输出补0。
12.如权利要求8所述的双线性插值模块,其特征在于,所述第一加法模块和所述第二加法模块分别包括n个级联的加法器,所述第三加法模块包括m个级联的加法器。
13.如权利要求8所述的双线性插值模块,其特征在于,所述输出端进一步包括取整模块,该取整模块用于将所述第三和信号(p3)舍去n+m个最低有效位后构成的数据与所述第三和信号(p3)从右侧数第n+m位的值求和得到双线性插值(P)。
14.一种视频编解码器,包括如权利要求8所述的双线性插值模块。
15.一种基于选择器计算双线性插值的方法,
其特征在于,该方法包括以下步骤:
将第一值分别输入第一n个二选一选择器中的每一二选一选择器的第一输入端,将第二值分别输入所述每一二选一选择器的第二输入端,
将n位二进制数dx([xn-1xn-2...x2x1x0])中的第i位输入(xi)分别输入所述第一n个二选一选择器中的第i二选一选择器的控制端,使得当该第i二选一选择器的控制端输入(xi)为0时,第i二选一选择器输出所述第一值,当第i二选一选择器的控制端输入(xi)为1时,第i二选一选择器输出所述第二值,0≤dx<2n,n为大于1的整数,i=0,1,...,n-1;
将第一n+1个输入(a0,a1,...,an-1,an)求和得到第一和信号(p1),所述n+1个输入之一为第一值且其它n个输入分别为第i二选一选择器的输出从右侧补i位0后构成的信号;
将第三值分别输入第二n个二选一选择器中的每一二选一选择器的第一输入端,将第四值分别输入所述每一二选一选择器的第二输入端;
所述将n位二进制数dx([xn-1xn-2...x2x1x0])中第i位输入(xi)分别输入所述第二n个二选一选择器中的第i二选一选择器的控制端,使得当该第i二选一选择器的控制端输入(xi)为0时,第i二选一选择器输出所述第三值,当该第i二选一选择器的控制端输入(xi)为1时,第i二选一选择器输出所述第四值,i=0,1,...,n-1;
将第二n+1个输入(b0,b1,...,bn-1,bn)求和得到第二和信号(p2),所述n+1个输入之一为第三值且其它n个输入分别为第i二选一选择器的输出从右侧补i位0后构成的信号;
将第一和信号(p1)分别输入m个二选一选择器中的每一二选一选择器的第一输入端,将第二和信号(p2)分别输入每一二选一选择器的第二输入端;
将m位二进制数dy([ym-1ym-2...y2y1y0])中的第j位输入(yj)分别输入m个二选一选择器中的第j二选一选择器的控制端,使得当该第j二选一选择器的控制端输入(yj)为0时,第j二选一选择器输出所述第一和信号(p1),当该第j二选一选择器的控制端输入(yj)为1时,第j二选一选择器输出所述第二和信号(p2),0≤dy<2m,m为大于1的整数,j=0,1,…,m-1;
将m+1个输入(c0,c1,...,cm-1,cm)求和得到第三和信号(p3),所述m+1个输入之一为第一和信号(p1)且其他m个输入为第j二选一选择器的输出从右侧补j位0后构成的数据;以及
将所述第三和信号(p3)舍去m+n个最低有效位得到所述第一值、第二值、第三值和第四值之间的双线性插值(P);以及
输出所述双线性插值(P)。
16.如权利要求15所述的基于选择器计算双线性插值的方法,其特征在于,
将所述第三和信号(p3)舍去m+n个最低有效位后构成的数据作为双线性插值(P)的步骤进一步包括,将第三和信号(p3)舍去m+n个最低有效位后构成的数据与所述第三和信号(p3)中从右侧数第n+m位的值求和得到双线性插值(P)。
17.如权利要求15所述的基于选择器计算双线性插值的方法,其特征在于,该双线性插值的方法用于视频编码,视频解码或视频编解码中。
CN2011103966212A 2011-12-02 2011-12-02 一种基于选择器的双线性插值方法和装置 Pending CN102497549A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011103966212A CN102497549A (zh) 2011-12-02 2011-12-02 一种基于选择器的双线性插值方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011103966212A CN102497549A (zh) 2011-12-02 2011-12-02 一种基于选择器的双线性插值方法和装置

Publications (1)

Publication Number Publication Date
CN102497549A true CN102497549A (zh) 2012-06-13

Family

ID=46189332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011103966212A Pending CN102497549A (zh) 2011-12-02 2011-12-02 一种基于选择器的双线性插值方法和装置

Country Status (1)

Country Link
CN (1) CN102497549A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114741352A (zh) * 2022-06-09 2022-07-12 杭州未名信科科技有限公司 一种基于fpga的双线性插值重采样实现方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020012464A1 (en) * 2000-06-12 2002-01-31 Samsung Electronics Co., Ltd. Two-dimensional non-linear interpolation system based on edge information and two-dimensional mixing interpolation system using the same
CN1852434A (zh) * 2006-05-18 2006-10-25 上海交通大学 Avs/h.264色度插值的硬件实现方法及其装置
CN101141657A (zh) * 2007-07-24 2008-03-12 浙江大学 视频图像色度插值的方法和装置
CN101226629A (zh) * 2007-01-17 2008-07-23 智多微电子(上海)有限公司 一种采用小数累加步长计算双线性插值的方法
CN101345872A (zh) * 2008-05-23 2009-01-14 清华大学 视频编解码中实现双线性插值的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020012464A1 (en) * 2000-06-12 2002-01-31 Samsung Electronics Co., Ltd. Two-dimensional non-linear interpolation system based on edge information and two-dimensional mixing interpolation system using the same
CN1852434A (zh) * 2006-05-18 2006-10-25 上海交通大学 Avs/h.264色度插值的硬件实现方法及其装置
CN101226629A (zh) * 2007-01-17 2008-07-23 智多微电子(上海)有限公司 一种采用小数累加步长计算双线性插值的方法
CN101141657A (zh) * 2007-07-24 2008-03-12 浙江大学 视频图像色度插值的方法和装置
CN101345872A (zh) * 2008-05-23 2009-01-14 清华大学 视频编解码中实现双线性插值的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114741352A (zh) * 2022-06-09 2022-07-12 杭州未名信科科技有限公司 一种基于fpga的双线性插值重采样实现方法及装置
CN114741352B (zh) * 2022-06-09 2022-11-04 杭州未名信科科技有限公司 一种基于fpga的双线性插值重采样实现方法及装置

Similar Documents

Publication Publication Date Title
CN103430545B (zh) 用于高效视频编码的内容适应性运动补偿滤波
CN103416066B (zh) 使用亮度采样的色度块的内部预测方法以及使用其的装置
EP3043563B1 (en) Moving picture encoding and decoding method, and a device and program that use this method
CN103650496B (zh) 用于在hevc中编码的基于像素的帧内预测
CN104255033B (zh) 用于lm模式计算的简化查找表
CN104205845B (zh) 具有统一位宽乘法器的lm模式
KR102434319B1 (ko) 메모리 액세스가 감소된 fruc 모드에서 비디오 데이터를 인코딩 또는 디코딩하기 위한 방법 및 장치
WO2020258010A1 (zh) 图像编解码方法、编码器、解码器以及存储介质
TR201900362T4 (tr) İç tahmin aracılığıyla görüntü kodu çözme usulü ve kodlama cihazı.
TW202315408A (zh) 以區塊為基礎之預測技術
KR102344190B1 (ko) 참조 샘플을 이용하는 비디오 신호 처리 방법 및 장치
CN103975599A (zh) 图像编码以及解码方法、装置、程序
EP2355515B1 (en) Scalable video coding
CN103702122A (zh) 编码模式选择方法、装置及编码器
CN109845265A (zh) 使用自适应插值滤波器的视频编码方法及装置
CN102801982B (zh) 一种应用于视频压缩且基于块积分的快速运动估计方法
CN102497549A (zh) 一种基于选择器的双线性插值方法和装置
CN101345872B (zh) 视频编解码中实现双线性插值的方法
CN103688542B (zh) 图像编码方法、图像解码方法、图像编码装置、图像解码装置、图像编码程序以及图像解码程序
Smolic et al. Non-linear warping and warp coding for content-adaptive prediction in advanced video coding applications
CN104994394A (zh) 编码器运动估算方法及装置
CN103002279B (zh) 编码并重构像素块的方法及其对应设备
US9549193B2 (en) Video encoding method and video encoding device
JP4963194B2 (ja) フィルタ処理装置、乗算器及び動き補償処理装置
Joy et al. Deep CNN Based Interpolation Filter for High Efficiency Video Coding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120613