一种Rea1Video8中亮度1/3插值计算方法

文档序号:7696057阅读:96来源:国知局

专利名称::一种Rea1Video8中亮度1/3插值计算方法
技术领域
:本发明涉及图像处理技术的插值
技术领域
,尤其涉及一种用于RealVideo8中亮度l/3插值计算方法和装置。
背景技术
:RealVideo(m、ram)格式一开始就定位在视频流应用方面的,是视频流技术的始创者。RealVideo8是指rmvb(real8.0)。rmvb中的vb是指variablebit(即动态码率),为RealNetworks公司新的编码格式。其图像质量和MPEG2、DIVX相比虽差很多,但在码率较低的图像领域却得到广泛的应用。RealVideo8中,亮度预测釆用1/3像素的精度。相对整像素或半像素预测,1/3像素能够提供更好压缩比。在四个整像素之间,如图l所示,有8个点可能用来做l/3插值,其中不包括左上角的整像素点(O,O)。RealVideo8中,亮度的l/3插值计算和亚像素位置直接相关,便于PC串行实现。但是很难用硬件方式实现。随着摄像类产品和MP4类移动多媒体的发展,基于RealVideo8的亮度l/3插值的硬件实现有迫切的现实需要。但目前对于RealVideo8的亮度l/3插值计算没有一个统一的公式来进行描述及处理,就不能对RealVideo8的亮度l/3插值进行硬件实现。
发明内容本发明正是为了解决上述问题而提出的。本发明提供了一个统一的公式来描述所有l/3插值计算,并相应给出了模块级的硬件实现。本发明的目的是提供一种亮度l/3插值计算方法和相应的亮度1/3插值计算装置。本发明提供的图像亮度l/3插值计算方法包括分别在水平和垂直方向利用四阶l/3插值选择性级联组合,依据与一个l/3像素插值点相关的行或列的像素点,对该l/3像素插值点进行插值的步骤;其中,所述选择性级联包括在垂直方向上使用四阶l/3插值;和/或在水平方向上使用四阶l/3插值。另一方面,本发明提供的图像亮度1/3插值计算装置包括寄存器阵列,用于存放四个水平方向上的整像素;插值计算单元,用于对像素点的数据进行插值计算;和基于若干多路选择器的控制逻辑单元,用于实现各单元之间的信号耦合及选择输出。插值计算单元包括分别与寄存器阵列的一行相串联、用于对整像素点进行四阶1/3插值的首轮1/3插值计算单元;和用于分别利用来自首轮1/3插值计算单元的1/3插值进行四阶的1/3插值计算、从而得到次轮1/3插值的次轮1/3插值计算单元。优选的,上述图像亮度1/3插值计算装置还包括限幅单元Clip,设置在插值计算单元之后,用于保证经过插值后的插值结果在0到255之内。本发明可以可运用在所有RealVideo解码芯片上,根据本发明给出的一种图像亮度l/3插值方法及其装置,为图像亮度l/3插值的统一处理以及硬件实现,提供了一种全新的亮度l/3插值方法和装置。图1表示亮度1/3插值各像素点的位置关系示意图2表示本发明的亮度l/3值的装置结构图3表示本发明中亮度l/3插值计算单元的硬件实现。具体实施例方式以下实施例用于说明本发明,但不用来限制本发明的范围。为了实现基于RealVideo8的亮度l/3插值的统一处理以及硬件实现,本发明提供了一种图像亮度l/3插值计算方法及其装置。接下来将以每个图像亚宏块内各类l/3插值点为例,具体说明该方法及其装置。图l示出亮度l/3值的各像素点的位置关系图。如图l所示,在一个3x3的图像亚宏块内,有9个l/3插值点。下面,本发明将以4x4个整像素点为例,说明l/3插值点的情况。在4x4个整像素点情况下,对每个l/3插值点来说,它所相关的整像素点一共4行或4列,而每行或列又有4个整像素点。在图1中,方块表示整像素点,圆表示l/3像素点。首先,了解RealVideo8的亮度l/3插值的描述及处理方法。亮度1/3插值釆用4阶滤波器,每个点的插值公式如表l所示<table>complextableseeoriginaldocumentpage7</column></row><table>1水平方向表1亮度三分之一插值公式从表l中可以看出,亮度的l/3插值公式分为四大类1.(0,0)使用整像素值;2.(O,l)(0,2)在垂直方向上使用四阶l/3插值;3.(l,O)(2,0)在水平方向上使用四阶l/3插值;4.(l,l)(1,2)(2,1)(2,2)先做四个水平方向上的四阶l/3插值,然后用这四个插值结果在垂直方向上做四阶l/3插值。经过计算的统一性分析,可以看到每个点插值公式可以分解为首轮和次轮插值公式,分别如表2和表3所示:<table>complextableseeoriginaldocumentpage8</column></row><table>表2首轮亮度三分之一插值公式<table>complextableseeoriginaldocumentpage8</column></row><table>表3次轮亮度三分之一插值公式为了便于描述,我们把整像素W,x,P0,x,Pl,x和p.i,x分别用B,C,D和E来表示,并把取整和移位归入后继的限幅计算中。那么首轮的插值公式可统一为Ifthepositionequals(0,1),(1,0),(1,1)or(1,2),t=-B+12C+6D—EIftheposition叫uals(0,2),(2,0),(2,1),t=—B+6C+12D-EIfthepositionequals(2,2),t=—B+6C+9D-E+2E。把首轮插值公式的结果-t^,tx,Q,t^,tw也表示为B,C,D和E,并把取整和移位归入后继的限幅计算中。那么,次轮的插值公式可统一为Ifthepositionequals(l,l)or(2,1),t=一B+12C+6D-EIfthepositionequals(1,2),t=—B+6C+12D—EIfthepositionequals(2,2),t=-B+6C+9D—E+2E。根据上述统一的亮度l/3插值公式,本发明提出了亮度l/3插值装置。图2示出本发明亮度l/3插值的硬件实现的装置结构图。如图2所示,该装置包括寄存器阵列、插值计算单元和限幅单元Clip;其中插值计算单元负责对像素点的相关数据进行插值计算,包括首轮1/3插值计算单元FTPIx和次轮l/3插值计算单元STPIx。此外,该装置还包括基于若干多路选择器的控制逻辑单元,用于实现各单元之间的信号耦合及选择输出,其中的多路选择器根据插值位置的不同、选择不同的插值结果给下级电路计算。NxM的寄存器阵列中,寄存器阵列的每行用于存储一个l/3像素插值点yi,j相关的M个像素点的亮度值,共N行。首轮1/3插值计算单元FTPIx,依据yi,j相关的NxM个整像素点在垂直方向上或者水平方向上进行四阶l/3插值,也即yi,j相关的NxM个整像素点数据在垂直方向上或者水平方向上通过四阶的滤波器进行1/3插值。次轮1/3插值计算单元STPI对得到的N个某一级插值中间值通过四阶的滤波器,进行四阶l/3插值;STPI次轮1/3插值计算单元和FHPI的结构相同,都是四阶的滤波器。限幅单元Clip分别连接在相应的次轮l/3插值计算单元STPI之后,在它之前"+"即加入常数(constant)值,从而由该限幅单元来保证经过首轮和次轮插值后的插值结果在一定阈值,比如0到255之内。基于若干多路选择器的控制逻辑单元,由控制器控制的多路选择器组合来实现系统的控制逻辑,对于任何一个l/3像素插值点都有完整的控制逻辑覆盖,图2所表示的实施例中示出了一个多路选择器,用以选择不同的输入,包括整像素亮度值、插值中间值和插值最后值,给下级电路计算。其中,NxM的寄存器阵列横向连接N个首轮l/3插值计算单元FTPI,这N个首轮1/3插值计算单元FTPI中的任一个均可对yj,j相关的一行或N个像素点的亮度值进行水平或者垂直方向上的四阶l/3插值,插值后加入常数值并由限幅单元限幅后输出;对限幅后得到的N个插值中间值进行选通输出,或者并行输入STPI进行垂直方向上的次轮1/3插值计算;然后再经选通后加入常数值并由Clip限幅后输出。其中,N表示每行像素点个数。NxM的寄存器阵列纵向连接第N+l个首轮l/3插值计算单元FTPI(N+1),对首轮1/3插值计算为一列的点进行垂直方向上的四阶1/3插值,并把得到的第一级插值中间值加入常数constant值并由限幅单元Clip限幅后选通输出。在本发明的一个优选实施例中,NxM的寄存器阵列中N取值为4,M取值为4,即4行整像素点,每行有4个整像素点,也就是说有yij相关的4x4个整像素点。如图2所示,有4个整像素(Intpixelsx)模块,每个存放着四个水平方向上的整像素。FTPIx是首轮l/3插值计算单元(FirstroundThirdInterpolator),共有5个。另外还有一个次轮1/3插值计算单元STPIx(SecondroundThirdInterpolator)和六个限幅单元Clip,由它保证插值结果在0到255之内。多路选择器根据插值位置的不同,选择不同的插值结果给下级电路计算。下面结合图1和图2对不同位置点的具体处理及实现过程进行说明。(0,1)(0,2)在垂直方向上经过一次四阶l/3插值就可以得到yi,j。在设定的控制逻辑下,由4x4的寄存器阵列读入4x4个像素点,由首轮l/3插值计算单元FHPI对4x4个点进行垂直方向上的四阶1/3插值。对插出的数值加入常数值,此时该值取8,然后经限幅单元Clip进行限幅,并由多路选择器选择输出yi,j。在此需要说明的是,在图2中的4个FHPI的后续控制电路,即对Clip的控制电路是相同的,在每次处理时的选通和控制也是一致的。另外,由于需要垂直方向上进行四阶l/3插值,因此对于(O,l)(0,2)点来说是由FTPI5来完成四阶l/3插值,它的输入方式是由寄存器阵列Intpixelsl至4中选取纵向的4个点完成的。这种方式是本发明中所有的纵向插值都釆用的方式,从物理实现上说,对寄存器阵列中的相关点通过连线连接到FTPI5以实现所述点的纵向输入。与(0,1)(0,2)像素点的处理过程类似,像素点(1,0)(2,0)在水平方向上经过一次四阶l/3插值就可以得到yi,j。在设定的控制逻辑下,由4x4的寄存器阵列读入4x4个像素点,由每个FHPI即首轮1/3插值计算单元FHPIl至FHPI4对4x4个点进行水平方向上的四阶l/3插值。对插出的数值加入常数值,此时该值取8,然后经限幅单元Clip进行限幅,并由多路选择器选择输出yi,j。(1,1)(1,2)(2,1)(2,2)需要先做四个水平方向上的四阶l/3插值,然后用这四个插值结果在垂直方向上做四阶l/3插值才可以得到yi,j。在设定的控制逻辑下,由4x4的寄存器阵列读入4x4个像素点,首先由每个FHPI即首轮1/3插值计算单元FHPI1至FHPI4对4x4个点进行四个水平方向上的四阶l/3插值,然后经限幅单元Clip进行限幅;再由次轮l/3插值计算单元对4x4个点进行四个垂直方向上的四阶1/3插值,对插出的数值加入常数值,此时该值取128,然后经限幅单元Clip进行限幅选通后,由多路选择器选择输出yi,j。图3表示本发明中l/3插值计算单元的一种硬件实现方式,其中首轮1/3插值计算单元FHPI和次轮1/3插值计算单元STPI的硬件结构是相同的,都可以用图3所示的硬件结构实现。如图3所示,插值计算单元包括第一、第二、第三和第四输入端,分别接收存储于四个一级寄存器中的四个输入信号"C"、"D"、"B"和"E";第一、第二、第三和第四多路选择器M0M3,第一多路选择器MO的两个输入端分别连接到第一和第二输入端,第二多路选择器M1的两个输入端分别连接到第一和第二输入端,第三多路选择器M2的两个输入端分别接收0和第四输入端上的信号E左移一位后的信号,第四多路选择器M3的输入端分别接收第一多路选择器M0的输出信号左移两位的信号和没有左移的信号;第一、第二、第三、第四和第五加法器以及减法器,第一多路选择器MO的输出信号左移一位后的信号和第二多路选择器M1的输出信号在第一加法器相加,第三输入端和第四输入端接收的信号"B"和"E"在第二加法器相加,第一加法器的输出信号左移两位后与第二加法器的输出信号在减法器相减;第一、第二和第三二级寄存器,减法器的输出信号寄存在第一二级寄存器中,第二多路选择器的输出信号寄存在第二二级寄存器中,第三多路选择器的输出信号和第四多路选择器的输出信号在第三加法器相加后寄存在第三二级寄存器中,第一二级寄存器的信号与第二二级寄存器输出信号经左移一位后的信号在第四加法器相加后,与来自第三二级寄存器的信号在第五加法器中相加;第五加法器的输出信号为该l/3插值计算单元的输出信号。图3中,梯形所示的M0M3为多路选择器MUX,依次为第一、第二、第三和第四多路选择器,每个MUX的选择条件分别如下M0:{(0,1)|(1,0)|(1,1)|(1,2)}C:D;Ml:{(0,1)|(1,0)|(1,1)|(1,2)}D:C;M2:{(2,2)}2E:0;M3:{(2,2)}M0:4M0;如前所述,我们把整像素p.i,x,Po,x,Pl,x和p.u分别用B,C,D和E,并把首轮插值公式的结果-t^,tx,。,tx>1,t"也表示为B,C,D和E,那么利用图3所示的硬件我们就可以实现前述归纳的亮度l/3插值公式M2+M3+4(2M0+M1)《B+E)+2M1。比如,对于(0,1)点来说,需要在垂直方向上使用四阶l/3插值,根据每个MUX的选择条件,M0选通C,M1选通D,M2选通0,M3选通4M0,即为4C;则最后的插值结果为0+4C+4(2C+D)~(B+E)+2D,即12C+6D-B-E,与前文归纳出的首轮插值公式Ifthepositionequals(0,1),(1,0),(1,1)or(1,2),t=一B+12C+6D-E一致。再比如,对于(2,2)点来说,需要先做四个水平方向上的四阶1/3插值,然后用这四个插值结果在垂直方向上做四阶l/3插值。根据每个MUX的选择条件,M0选通D,M1选通C,M2选通2E,M3选通M0,即为D;则最后的插值结果为2E+D+4(2D+C)-(B+E)+2C,即2E+9D+6C-B-E,与前文归纳出的首轮插值公式Elseifitequals(2,2),t=—B+6C+9D—E+2E一致。需要说明,前文所指的水平方向和垂直方向是相对而言的。事实上,如果将水平方向和垂直方向对调,前面的实施例也同样成立。虽然本发明是结合一个具体实施方式表述的,但本领域技术人员可以对其中的某些特征加以适当改变或者将其应用到其它领域以解决上述问题,因此本领域技术人员在本实施例的基础上进行的所有相关的扩展和应用都应落入本申请的保护范围。权利要求1、一种图像亮度1/3插值计算方法,依据与一个1/3像素插值点相关的行或列的整像素点的亮度值,分别在水平和/或垂直方向进行四阶1/3插值的选择性级联组合,对该1/3像素插值点进行插值,从而得到所述的1/3像素插值点。2、如权利要求l所述的图像亮度l/3插值计算方法,其特征在于经过一次垂直或水平方向上的四阶l/3插值就可以得到所述的l/3像素插值点。3、如权利要求1所述的图像亮度1/3插值计算方法,其特征在于先在水平方向上做四阶l/3插值,然后用该插值结果在垂直方向上做四阶1/3插值,才能得到1/3像素插值点。4、一种图像亮度1/3插值计算装置,其特征在于该插值计算装置包括寄存器阵列,每个寄存器用于存放水平方向上的整像素的亮度值;插值计算单元,基于整像素的亮度值对待插值像素点进行亮度插值计算;和,基于多路选择器的控制逻辑单元,用于实现各单元之间的信号耦合及选择输出。5、如权利要求4所述的图像亮度1/3插值计算装置,其特征在于还包括限幅单元,设置在插值计算单元之后,用于保证经过插值后的插值结果在一定阈值之内。6、如权利要求4所述的图像亮度1/3插值计算装置,其特征在于所述插值计算单元包括首轮1/3插值计算单元,每个分别与寄存器阵列的一行相串联,用于对整像素点进行四阶1/3插值;次轮1/3插值计算单元,用于分别利用来自首轮1/3插值计算单元的1/3插值进行四阶的1/3插值计算,从而得到次轮1/3插值。7、如权利要求6所述的图像亮度1/3插值计算装置,其特征在于所述首轮1/3插值计算单元经过一次水平或者垂直方向上的四阶1/3插值计算得到1/3像素插值点。8、如权利要求6所述的图像亮度1/3插值计算装置,其特征在于一个1/3插值点需要先在水平方向上做四阶1/3插值,然后用该插值结果在垂直方向上做四阶l/3插值,才能得到1/3像素插值点。9、如权利要求6所述的图像亮度1/3插值计算装置,其特征在于所述首轮1/3插值计算单元和次轮1/3插值计算单元的结构相同,都是四阶的滤波器。10、如权利要求4所述的图像亮度l/3插值计算装置,其特征在于插值计算单元包括第一、第二、第三和第四输入端,分别接收存储于四个一级寄存器中的四个输入信号;第一、第二、第三和第四多路选择器,第一多路选择器的两个输入端分别连接到第一和第二输入端,第二多路选择器的两个输入端分别连接到第一和第二输入端,第三多路选择器的两个输入端分别接收0和第四输入端上的信号左移一位后的信号,第四多路选择器的输入端分别接收第一多路选择器的输出信号左移两位的信号和没有左移的信号;第一、第二、第三、第四和第五加法器以及减法器,第一多路选择器的输出信号左移一位后的信号和第二多路选择器的输出信号在第一加法器相加,第三输入端和第四输入端接收的信号在第二加法器相加,第一加法器的输出信号左移两位后与第二加法器的输出信号在减法器相减;第一、第二和第三二级寄存器,减法器的输出信号寄存在第一二级寄存器中,第二多路选择器的输出信号寄存在第二二级寄存器中,第三多路选择器的输出信号和第四多路选择器的输出信号在第三加法器相加后寄存在第三二级寄存器中,第一二级寄存器的信号与第二二级寄存器输出信号经左移一位后的信号在第四加法器相加后,与来自第三二级寄存器的信号在第五加法器中相加;第五加法器的输出信号为该1/3插值计算单元的输出信号。全文摘要本发明涉及图像处理技术的插值
技术领域
,本发明提供一种用于RealVideo8中亮度1/3插值计算方法和装置,其中的图像亮度1/3插值计算方法包括分别在水平和垂直方向利用四阶1/3插值选择性级联组合,依据与一个1/3像素插值点相关的行或列的像素点,对该1/3像素插值点进行插值的步骤。本发明可以运用在所有RealVideo解码芯片上,能够快速实现1/3插值点,在数码产品领域具有广泛的产品实现优势。文档编号H04N7/46GK101345881SQ20081011795公开日2009年1月14日申请日期2008年8月18日优先权日2008年8月18日发明者马凤翔申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1