插值运算装置及方法

文档序号:7967879阅读:200来源:国知局
专利名称:插值运算装置及方法
技术领域
本发明涉及视频文件编解码领域,尤其是涉及一种在视频图像编解码过程中进行运动补偿的插值运算装置及方法。
背景技术
数字视频技术被广泛应用在通信、计算机、广播电视、便携式播放器等领域,随之产生的是各种视频文件的编解码标准,例如,MPEG2,MPEG4,H.264,VC-1及AVS等等。这些标准的应用领域各有侧重又相互重叠,例如,MPEG系列标准被较多的应用在视频存储、广播电视领域;H.264标准则较多的应用在实时视频通信、因特网的流媒体领域;VC-1主要应用在Windows平台以及便携式视频上;AVS主要应用于高清晰视频传输和存储应用领域。由于多种视频标准并存的情况并不会在短时间内消失,如果一个编解码系统中能够实现多种编解码标准,同时由此增加的成本又在一个可控的范围内,那么这将能够使相应产品满足更多领域的需求,从而为产品提供更广阔的市场空间。因此,这种具备较强兼容性的编解码系统一直是业界努力实现的目标之一。
另一方面,在现有的编解码领域中,各类视频文件的压缩技术都是基于运动图象序列在空间和时间上具有相关性这一特征而设计的,压缩的原理一般是利用帧内离散余弦变换、量化、熵编码技术及帧内预测来消除同一帧内像素的空间相关性,利用帧间运动估计、运动补偿技术消除帧间像素的时间相关性,来实现数据压缩。参见图1和图2所示,图1示出了现有技术中的一种较为典型的编码过程,图2则示出了现有技术中的一种较为典型的解码过程,由于这两个过程是公知的现有技术,在此不作赘述。在图1和图2所揭示的编码和解码过程中,插值运算是运动补偿处理中的主要部分,也是整个编解码过程中计算量较大的一个部分,因此为提高整个编解码系统的性能,设计一种插值运算装置对其进行专门的处理是十分必要的。然而,由于MPEG2,MPEG4,H.264,VC-1及AVS等标准中的插值运算处理方式各不相同,如果采用多个分立的插值运算装置以适应不同标准,则将使得编解码系统的结构非常复杂,虽然编解码系统的兼容性得到了提高,但是芯片面积将增大,成本也会增加,这样的缺陷显然会降低产品在市场上的竞争力,尤其是在便携式播放器领域,体积小、性价比高是市场上的主流趋势。
因此,充分利用各个编解码标准的插值运算处理中具有的共同特点,通过资源共用,优化处理结构和控制策略,设计一种能够兼容多种视频编码标准的插值运算装置是具有较大现实意义的。

发明内容
本发明的第一目的是提供一种能够在多种视频编解码标准下进行插值运算的插值运算装置;本发明的第二目的是提供一种能够应用于多种视频编解码标准的插值运算方法。
为实现上述第一目的,本发明所述的插值运算装置插值运算装置包括总线接口,其完成外部总线与内部数据的通讯;控制器,其产生多路控制信号;数据存储单元,其一个输入端连接上述总线接口;多路选择器,其一个输入端连接数据存储单元的输出端;数据运算模块,此数据运算模块包括依次串连的数据延迟器、乘法器阵列和加法、移位及饱和处理器,数据延迟器的输入端连接多路选择器的输出端,加法、移位及饱和处理器的输入端连接数据存储单元的输出端;其特征在于中间数据缓冲器,其输出端连接多路选择器的另一个输入端;以及数据选择模块,此数据选择模块包括多路选择单元,其包括多个输入端和输出端,上述数据延迟器、加法、移位及饱和处理器、数据存储单元的输出端、以及中间数据缓冲器的输出端分别连接至数据选择模块的多个输入端,多路选择单元的输出端分别连接至中间数据缓冲器的输入端以及数据存储单元的另一个输入端;平均值与重建操作单元,其与上述多路选择单元连接;上述总线接口、数据存储单元、多路选择器、数据运算模块、中间数据缓冲器以及数据选择模块均与控制器相连接并接收其产生的控制信号。
同过上述电路结构,本发明所提供的插值运算装置可以完成MPEG2,MPEG4,H.264,VC-1及AVS等多种视频编解码标准的插值运算,在资源共用的基础上,具有优化处理结构和控制策略的优点。
为实现上述第二目的,本发明所述的插值运算方法,包括以下步骤步骤一,根据插值模式,数据存储单元(120)在控制器(150)控制下依次输出待插值像素数据;步骤二,根据插值模式,数据延迟器(141)输出合适的多个待处理数据。
步骤三,根据插值模式,乘法器阵列(142)使用合适的系数进行相应的滤波运算。
步骤四,加法、移位及饱和处理器(143)进行累加运算,并对累加结果进行舍入运算和饱和运算,该累加运算包括对乘法器阵列142输出的两个或多个相应乘法结果进行的累加运算,以及在AVS标准类型为5的亚像素插值模式被选择时以上累加结果与来自数据存储器120的输出数据的累加运算;步骤五,根据插值模式,数据选择模块(170)选择正确的数据进行相应的平均值操作和/或重建操作。
步骤六,根据插值模式,数据选择模块(170)依次将处理结果输出到对应的存储设备。
步骤七,判断插值是否结束,如果未结束则返回重新执行步骤一,如果插值已经结束,则结束程序,给出处理结束标志。
本发明所提供的插值运算方法通过资源共用,可以实现MPEG2,MPEG4,H.264,VC-1及AVS等多种视频编解码标准的插值运算,具有优化处理结构和控制策略的优点。
具体的实施方式将在下述的实施例中详细介绍。


图1是现有技术中的一种较为典型的编码过程;图2是现有技术中的一种较为典型的解码过程;图3是本发明插值运算装置的电路结构示意图;图4是图3中数据存储单元内部结构的一种实施方式;图5是图3中数据选择模块内部结构的一种实施方式;图6是本发明插值运算装置采用图5中数据选择模块后的结构示意图;
图7是本发明插值运算装置针对MPEG2视频编解码标准的插值过程;图8是本发明插值运算装置针对MPEG4视频编解码标准的插值过程;图9是本发明插值运算装置针对H.264视频编解码标准的插值过程;图10是本发明插值运算装置针对VC-1视频编解码标准的插值过程;图11是本发明插值运算装置针对AVS视频编解码标准的插值过程;图12是本发明插值运算方法的流程图。
以下结合实施例及其附图作进一步的详细说明。
具体实施例方式
本发明所述的插值运算装置可应用在MPEG2,MPEG4,H.264,VC-1及AVS等多种视频编解码标准的编解码过程中。参见图3,本发明揭示的插值运算装置100包括总线接口110、数据存储单元120、多路选择器130、数据运算模块140、控制器150、中间数据缓冲器160以及数据选择模块170,其中,数据选择模块170包括多路选择单元178和平均值与重建操作单元179。
总线接口110分别与数据存储单元120以及控制器150相连接,完成外部总线与内部数据的通讯,能够被外部总线访问的内部数据空间包括数据存储器120和控制器150中的控制寄存器(图未示)。
数据存储单元120包括两个数据存储器121、122。数据存储器121、122存储待处理数据块和插值结果,且两个数据存储器均能够同时分别被外部总线和控制器150所控制,存储单元120的输出数据可以来自数据存储器121,也可以来自数据存储器122。
参见图4,图4中揭示了数据存储单元120内部结构的一种实施方式,数据选择器123、124、125、126按图4示方式连接在数据存储器121与数据存储器122的输入端和输出端。写通道A为来自多路选择单元178的输入信号通道,读通道A′为输出给多路选择器130的输出信号通道;写通道B为来自总线接口110的输入信号通道,读通道B′为输出给总线接口110的输出信号通道。写通道A和读通道A′由控制器150所发出的控制信号控制,而写通道B和读通道B’被总线接口110控制,同时确保控制器150与总线接口110不能同时控制相同的数据存储器。当控制器150通过读通道读取数据存储器121的数据时,总线接口110可同时控制数据存储器122进行下一个参考数据块的输入。而同样的过程可以在数据存储器121和数据存储器122之间互换。周期性地,在当前时钟内从数据存储器121或数据存储器122读取一个待处理数据后,在下一时钟将有两种情况或者一个已处理的插值结果将被写入到同一数据存储器,或者一个插值的中间结果被写入到中间数据缓冲器160。以上情况的选择由内部控制器150控制数据存储器120和中间数据缓冲器160的读写使能决定。
控制器150可以包括控制寄存器、数据存储器读写信号的生成电路和用于控制内部其他各单元控制信号的生成电路等(图未示)。以下逐一介绍控制器150与各元件之间的控制信号连接关系。
多路选择器130的两个输入端分别连接数据存储单元120的输出端和中间数据缓冲器160的输出端。多路选择器130与控制器150相连接并接收由控制器150产生的选择信号。
数据运算模块140包括数据延迟器141,乘法器阵列142,加法、移位及饱和处理器143。数据延迟器141的输入端连接多路选择器130的输出端,数据延迟器141将经过合适的时钟延迟后的数据输出到乘法器阵列142中,数据延迟器141与控制器150相连接并由控制器150决定其数据延迟的时钟数目,即,数据延迟器141受控制器150控制,输出合适的当前待处理数据;乘法器阵列142接受输入数据选择器141的输出后,受控制器150的控制,输出各个系数的乘法结果;加法、移位及饱和处理器143的输入端连接乘法器阵列142的输出端和数据存储单元120的输出端,并受控制器150的控制,通过加法和移位操作完成当前各个系数的乘法结果的累加,并对累加结果进行适当地取舍。
数据选择模块170包括多路选择单元178和平均值与重建操作单元179,数据选择模块170通过平均值与重建操作单元179处理所有标准的插值处理过程中最后阶段的平均值操作和/或重建操作,并通过多路选择单元178在控制器150所发出的控制信号的控制下,选择正确的传输路径以使处理结果输出到相应的存储器。数据选择模块170包括四组输入信号,分别来自数据存储器120的输出信号,数据延迟器141的输出信号,加法、移位及饱和器143的输出信号,以及中间数据缓冲器160的输出信号;数据选择模块170输出两组输出信号,分别作为数据存储器120和中间数据缓冲器160的输入信号。
多路选择单元178和平均值与重建操作单元179的控制信号来自控制器150,控制信号中包括了亮度、色度标识和加权预测参数。
参见图5,图5揭示了数据选择模块170内部结构的一种具体实施方式
。图4中的多路选择单元178反映到图5中后可包括五个多路选择器171、172、173、174、175。重建操作单元176、平均值操作单元177则组成图4中所述的平均值与重建操作单元179。平均值操作单元177用于处理H.264和MPEG4标准的所有类型为3,4和5的亚像素插值运算;重建操作单元176用于处理所有标准的前向和后向两个参考数据块插值结果时的重建运算。重建操作单元176中的重建运算包括了H.264与AVS标准中要求的加权预测计算部分,并以来自内部控制器的亮度或色度标识和加权预测参数作为其输入。各多路选择器171、172、173、174、175在控制器150的控制下将待处理数据输入到平均值操作单元177和重建操作单元176中,并将已处理结果通过正确的路径传输到相应的存储设备。
将图5示的数据选择模块170应用到如图3示的本发明插值运算装置100中后,可得到图6示的插值运算装置101,显然,本领域内的技术人员可以根据本发明的构思选择具体的数据选择模块170。
中间数据缓冲器160的读写控制信号来源于控制器150,写入数据来源于多路选择单元178,所读出数据输出至数据选择模块170的输入端以及多路选择器130的其中一个输入端。
以上是对本发明所涉及的硬件结构的描述,图7、图8、图9、图10、图11则分别揭示了在本发明所述硬件结构的基础上实现MPEG2,MPEG4,H.264,VC-1及AVS五种典型视频编解码标准中的插值运算的过程,并在图12中归纳出本发明所涉及的插值运算方法。由于上述五种标准的插值运算过程基本相似,以下仅重点针对图7,对MPEG2视频编解码标准的插值过程进行详细的介绍。
参见图7,插值运算装置101针对MPEG2视频编解码标准的插值过程如下先将MPEG2解码的参考数据块写入数据存储单元120,然后开启插值处理,在步骤71中判断亚像素类型,如果亚像素类型为3-5,则不执行任何操作,不属于本发明所实施的范围。如果帧类型为B帧且亚像素类型为1,则执行步骤72,通过多路选择器130选择数据存储单元120,读入16位数据;然后在步骤73中判断插值的方向是水平插值还是垂直插值,如果是水平插值,则执行步骤731,数据延迟器141中8位数据并行移位,数据的最大移位为4次并选择最后三个相邻延迟的8位数据作为输出;如果是垂直方向插值,数据延迟器141中16位数据并行移位,数据的最大移位为3次并选择移位2次和3次的16位数据作为输出。
在完成步骤731或步骤732之后,均执行步骤74,乘法器阵列142进行双线性滤波中的系数乘法运算,然后执行步骤75,加法、移位及饱和处理器143进行双线性滤波中的累加运算,rounding(舍入运算)的加法及移位操作以及饱和处理,使得在两个时钟周期内得到两个8位的插值结果;然后执行步骤76,判断是否为最后一个参考块插值,如果是最后一个参考块插值,则执行步骤761,多路选择器171选择来自中间数据缓冲器160的数据作为输出E,然后执行步骤77,多路选择器175选择来自加法、移位及饱和处理器143的数据作为输出,重建操作单元176进行重建操作,多路选择器177选择重建操作单元176的数据作为输出,多路选择器173选择多路选择器174的输出作为输出。然后执行步骤78,将数据写回到数据存储单元120,然后在步骤79中判断所有数据是否已处理,如果还有数据未处理,则返回执行步骤72,如果所有数据都已处理,则输出结束标志,结束插值。
如果步骤76的判断结果为否,即,并非是最后一个参考块插值,则执行步骤762,将数据写回到中间数据缓冲器160,并在步骤763中判断所有数据是否已处理,如果判断结果为“YES”,则返回执行步骤71,如果判断结果为“NO”,则返回执行步骤72。
关于图8中的MPEG4的插值过程、图9中的H.264的插值过程、图10中的VC-1的插值过程以及图11中的AVS的插值过程均与图7中的MPEG2的插值过程类似,在此不作赘述。需要强调的是,本发明所述的插值运算装置及方法在针对MPEG2进行插值时只能处理亚像素类型为1和2的情况,因此插值之前需要判断亚像素类型,如果亚像素类型不是1或2,则不进行插值运算。针对其它格式的插值运算则可适用任何亚像素类型。
图12根据上述五种视频标准的插值过程归纳出本发明所述插值运算方法开始插值处理后,首先执行步骤180,根据插值模式,数据存储单元120在控制器150控制下依次输出待插值像素数据;步骤181,根据插值模式,数据延迟器141输出合适的多个待处理数据。
步骤182,根据插值模式,乘法器阵列142使用合适的系数进行相应的滤波运算。
步骤183,加法、移位及饱和处理器(143)进行累加运算,并对累加结果进行舍入运算和饱和运算,该累加运算包括对乘法器阵列142输出的两个或多个相应乘法结果进行的累加运算,以及在AVS标准类型为5的亚像素插值模式被选择时以上累加结果与来自数据存储器120的输出数据的累加运算。
步骤184,根据插值模式,数据选择模块170选择正确的数据进行相应的平均值操作和/或重建操作。
步骤185,根据插值模式,数据选择模块170依次将处理结果输出到对应的存储设备。
步骤186,判断插值是否结束,如果未结束则返回重新执行步骤180,如果插值已经结束,则结束程序,给出处理结束标志。
本发明并不仅仅局限于上述实施例所描述的实施方式,对本领域内的技术人员而言,本发明还存在着另外一些简单的结构变形,例如,本发明所述的插值运算装置和方法还可以适用于H.263和H.261等编解码标准中,诸如此类的微小改变以及等效变换均应包含在本发明权利要求所保护的范围之内。
权利要求
1.插值运算装置,包括总线接口(110),其完成外部总线与内部数据的通讯;控制器(150),其产生多路控制信号;数据存储单元(120),其一个输入端连接上述总线接口(110);多路选择器(130),其一个输入端连接数据存储单元(120)的输出端;数据运算模块(140),此数据运算模块(140)包括依次串连的数据延迟器(141)、乘法器阵列(142)和加法、移位及饱和处理器(143),数据延迟器(141)的输入端连接多路选择器(130)的输出端,加法、移位及饱和处理器(143)的输入端连接数据存储单元(120)的输出端;其特征在于中间数据缓冲器(160),其输出端连接多路选择器(130)的另一个输入端;以及数据选择模块(170),此数据选择模块(170)包括多路选择单元(178),其包括多个输入端和输出端,上述数据延迟器(141)、加法、移位及饱和处理器(143)、数据存储单元120的输出端、以及中间数据缓冲器(160)的输出端分别连接至数据选择模块(170)的多个输入端,多路选择单元(178)的输出端分别连接至中间数据缓冲器(160)的输入端以及数据存储单元(120)的另一个输入端;平均值与重建操作单元(179),其与上述多路选择单元(178)连接;上述总线接口(110)、数据存储单元(120)、多路选择器(130)、数据运算模块(140)、中间数据缓冲器(160)以及数据选择模块(170)均与控制器(150)相连接并接收其产生的控制信号。
2.根据权利要求1所述的插值运算装置,其特征在于所述数据存储单元(120)包括两个数据存储器(121、122)。
3.根据权利要求1所述插值运算装置的插值运算方法,包括以下步骤步骤一,根据插值模式,数据存储单元(120)在控制器(150)控制下依次输出待插值像素数据;步骤二,根据插值模式,数据延迟器(141)输出合适的多个待处理数据。步骤三,根据插值模式,乘法器阵列(142)使用合适的系数进行相应的滤波运算。步骤四,加法、移位及饱和处理器(143)进行累加运算,并对累加结果进行舍入运算和饱和运算,该累加运算包括对乘法器阵列142输出的两个或多个相应乘法结果进行的累加运算,以及在AVS标准类型为5的亚像素插值模式被选择时以上累加结果与来自数据存储器120的输出数据的累加运算;步骤五,根据插值模式,数据选择模块(170)选择正确的数据进行相应的平均值操作和/或重建操作。步骤六,根据插值模式,数据选择模块(170)依次将处理结果输出到对应的存储设备。步骤七,判断插值是否结束,如果未结束则返回重新执行步骤一,如果插值已经结束,则结束程序,给出处理结束标志。
全文摘要
本发明涉及插值运算装置和方法,所述插值运算装置包括总线接口、控制器、数据存储单元、多路选择器、数据运算模块、中间数据缓冲器以及数据选择模块,上述总线接口、数据存储单元、多路选择器、数据运算模块、中间数据缓冲器以及数据选择模块均与控制器相连接并接收其产生的控制信号。本发明所涉及的插值运算装置和方法通过资源共用,可以实现MPEG2,MPEG4,H.264,VC-1及AVS等多种视频编解码标准的插值运算,具有优化处理结构和控制策略的优点。
文档编号H04N7/24GK101022546SQ200610122639
公开日2007年8月22日 申请日期2006年10月1日 优先权日2006年10月1日
发明者孙文福, 祝杰, 何积军 申请人:炬力集成电路设计有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1