编码模式选择方法和系统的制作方法

文档序号:7692487阅读:165来源:国知局
专利名称:编码模式选择方法和系统的制作方法
技术领域
本发明涉及图像处理领域,更具体地涉及一种编码模式选择方法和系统。
背景技术
在目前比较流行的音视频编解码技术(例如,AVS和H. 264)中,存在帧间和帧内两种宏块编码模式。巾贞间编码模式又可以按照子块的大小分为16X 16、16X8、8X 16、8X8、4X8、8X4、以及4X4等模式,此外还存在跳过(SKIP)模式和直接(DIRECT)模式两种特殊的帧间编码模式(其中,SKIP模式用在P条带和B条带中,DIRECT模式用在B条带)。帧内编码模式又可以按照子块的大小分为16X16、8X8、4X4等模式,并且每种模式下又存在水平模式、竖直模式、右下模式、左下模式、直流(DC)模式等多种模式。对于每个宏块,需 要从这些编码模式中选择一个编码效率最高的模式进行编码。在视频编码器中,帧间编码可以去除相邻图像帧之间的信息冗余。在当前宏块与参考块之间除了存在位置上的移动之外没有参数和系数上的差别时,可以基于参考块利用SKIP模式对当前宏块进行编码。如果利用其他编码模式对一个编码模式应为SKIP模式的宏块进行编码,则该宏块的编码后的比特长度将大大增加,从而降低了视频编码器的压缩性能。由于SKIP运动矢量(MV)是1/4像素精度的,所以传统的编码方法以分数像素精度进行SKIP模式检测,并且在得出SKIP MV后基于该SKIP MV在参考块中进行分数像素插值。这个处理需要额外的硬件和处理周期。根据分数精度的SKIP MV的不同位置,用于其的插值周期不同,所以用于其的控制逻辑比较复杂。图I示出了现有的编码模式选择装置的简要框图。如图I所示,该编码模式选择装置包括整像素精度第一类帧间编码模式选择器102、1/4像素精度运动估计器104、帧内编码模式选择器106、第二类帧间编码模式选择器108、以及编码模式判决器110。这里,第一类帧间编码模式是指16X16、16X8、8X 16、以及8X8模式,第二类帧间编码模式是指SKIP模式和DIRECT模式。具体地,整像素精度第一类帧间编码模式选择器102的输出端接1/4像素精度运动估计器104的输入端,向1/4像素精度运动估计器104输出第一类帧间编码模式中最优(即,编码代价最小)的一种编码模式(为了方便,称为第一类最优编码模式)及在整像素精度运动估计的情况下该编码模式的编码代价。1/4像素精度运动估计器104的输入端接整像素精度第一类帧间编码模式选择器102的输出端,输出端接编码模式判决器110的输入端,向编码模式判决器110输出第一类最优编码模式及在1/4像素精度运动估计的情况下第一类最优编码模式的编码代价。帧内编码模式选择器106的输出端接编码模式判决器110的输入端,向编码模式判决器110输出多种帧内模式中最优(即,编码代价最小)的一种编码模式(最优帧内编码模式)及该编码模式下的编码代价。第二类帧间编码模式选择器108的输出端接编码模式判决器110的输入端,向编码模式判决器110输出第二类帧间模式中最优的一种编码模式及该编码模式下的编码代价(为了方便,称为第二类最优编码模式)。编码模式判决器110的一个输入端接1/4像素精度运动估计器104,一个输入端接中贞内编码模式选择器106,还有一个输入端接第二类巾贞间编码模式选择器108,输出第一类最优编码模式、最优帧内编码模式、以及第二类最优编码模式中最优(即,编码代价最小)的一种编码模式。这里,由于一个宏块的SKIP MV是基于该宏块的左侧、左上侧、上侧、以及右上侧的四个宏块的相关MV通过视频编解码标准所规定的计算公式计算得出的,所以SKIP MV是1/4像素精度的。另外,DIRECT MV(DIRECT模式下的运动矢量)也是1/4像素精度的。因此,需要在整像素精度第一类帧间编码模式选择器102后面设置1/4像素精度运动估计器104,以得出在1/4像素精度运动估计的情况下的第一类最优编码模式的编码代价。在第二类帧间编码模式选择器中实际上也存在一个1/4像素精度运动估计器,以获取SKIP W。显然,整像素精度第一类帧间编码模式选择器102后的1/4像素精度运动估计器104和第二类帧间编码模式选择器108中隐含地包含的1/4像素运动估计器所完成的任务基本是一样的,所以图I所示的编码模式选择装置存在资源上的浪费,并且处理速度比较 慢。

发明内容
鉴于以上所述的问题,本发明提出了一种新颖的编码模式选择方法和系统。根据本发明实施例的编码模式选择方法包括通过基于当前宏块进行整像素精度运动搜索,获取第一类帧间编码模式中对于当前宏块的整像素精度编码代价最小的一种帧间编码模式作为第一类最优帧间编码模式;通过对第二类帧间编码模式下当前宏块的分像素精度运动矢量进行取整运算,获取第二类帧间编码模式下当前宏块的整像素精度运动矢量;利用第二类帧间编码模式下当前宏块的整像素精度运动矢量,获取第二类帧间编码模式下对于当前宏块的整像素精度编码代价;以及选择第一类最优帧间编码模式和第二类帧间编码模式中对于当前宏块的整像素精度编码代价较小的一种帧间编码模式作为用于当前宏块的最优帧间编码模式。根据本发明实施例的编码模式选择系统包括第一编码模式选择单元,用于通过基于当前宏块进行整像素精度运动搜索,获取第一类帧间编码模式中对于当前宏块的整像素精度编码代价最小的一种帧间编码模式作为第一类最优帧间编码模式;运动矢量整像素化单元,用于通过对第二类帧间编码模式下当前宏块的分像素精度运动矢量进行取整运算,获取第二类帧间编码模式下当前宏块的整像素精度运动矢量;整像素精度编码代价获取单元,用于利用第二类帧间编码模式下当前宏块的整像素精度运动矢量,获取第二类帧间编码模式下对于当前宏块的整像素精度编码代价;以及第二编码模式选择单元,用于选择第一类最优帧间编码模式和第二类帧间编码模式中对于当前宏块的整像素精度编码代价较小的一种帧间编码模式作为用于当前宏块的最优帧间编码模式。根据本发明实施例的编码模式选择方法和系统可以在视频质量保持不变的条件下,明显降低用于选择编码模式的功能单元所需的运算复杂度和芯片面积。


从下面结合附图对本发明的具体实施方式
的描述中可以更好地理解本发明,其中图I示出了现有的编码模式选择装置的简要框图;图2示出了根据本发明的一个实施例的编码模式选择方法的流程图;图3示出了根据本发明的一个实施例的编码模式选择系统的框图;图4示出了根据本发明的另一实施例的编码模式选择方法的流程图;图5示出了根据本发明的另一实施例的编码模式选择系统的框图。
具体实施例方式下面将详细描述本发明各个方面的特征和示例性实施例。下面的描述涵盖了许多 具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说显而易见的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更清楚的理解。本发明绝不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了相关元素、部件和算法的任何修改、替换和改进。针对图I中所示的用于选择最优的帧间编码模式的处理,本发明提出了一种改进的编码模式选择方法和系统。图2示出了根据本发明的一个实施例的编码模式选择方法的流程图。图3示出了根据本发明的一个实施例的编码模式选择系统的框图。如图3所示,根据本发明的一个实施例的编码模式选择系统包括第一编码模式选择单元302、运动矢量整像素化单元304、整像素精度编码代价获取单元306、第二编码模式选择单元308。第一编码模式选择单元302通过基于当前宏块进行整像素精度运动搜索,获取第一类帧间编码模式(例如,16X16、16X8、8X16、和8X8四种帧间编码模式)中对于当前宏块的整像素精度编码代价最小的一种编码模式作为第一类最优帧间编码模式(即,执行步骤S202)。其中,第一帧间编码模式选择单元302将第一类最优帧间编码模式下当前宏块或者从当前宏块分割出的各子块的整像素精度运动矢量、以及第一类最优帧间编码模式下对于当前宏块的整像素精度编码代价输出给第二编码模式选择单元308。这里,当前宏块的整像素精度编码代价是指(在选择16X16模式作为第一类最优帧间编码模式的情况下)当前宏块与参考块之间的SAD(差的绝对值之和)、和当前宏块相对于参考块的整像素精度运动矢量的编码代价之和,或者(在选择16X16模式以外的帧间编码模式作为第一类最优帧间编码模式的情况下)从当前宏块分割出的各子块与参考块之间的SAD之和、和各子块相对于参考块的整像素精度运动矢量的编码代价之和。具体地,第一编码模式选择单元302通过基于当前宏块进行整像素精度运动搜索,获取例如,16X16、16X8、8X16、和8X8中的每一种帧间编码模式下当前宏块或者从当前宏块分割出的各子块的整像素精度运动矢量,并计算每一种帧间编码模式下对于当前宏块的整像素精度编码代价,从而选出第一类帧间编码模式中对于当前宏块的整像素精度编码代价最小的一种作为第一类最优帧间编码模式。运动矢量整像素化单元304基于当前宏块的左侧、左上侧、上侧、以及右上侧的四个宏块的整像素精度MV,通过视频编解码标准所规定的计算公式计算得出当前宏块的例如SKIP MV(即,第二类帧间编码模式下当前宏块的分像素精度运动矢量)。在现有技术中,SKIP MV是1/4像素精度的MV。在本实施例中,为了减少运算开销,运动矢量整像素化单元304将1/4像素精度的SKIP MV取整到最接近它的整像素精度MV (即,执行步骤S204,获取第二类帧间编码模式下当前宏块的整像素精度运动矢量)。其中,用于对当前宏块的分像素精度运动矢量进行整像素化的公式是水平方向截取(1/4像素精度SKIP_MV_x+0. 5像素)的整数部分,垂直方向截取(1/4像素精度SKIP_MV_y+0. 5像素)的整数部分。整像素精度编码代价获取单元306利用第二类帧间编码模式下当前宏块的整像素精度运动矢量,获取第二类帧间编码模式下对于当前宏块的整像素精度编码代价(即,执行步骤S206)。这里,当前宏块的整像素精度编码代价是指第二类帧间编码模式下当前宏块与参考块之间的SAD、和当前宏块相对于参考块的整像素精度运动矢量的编码代价之和。其中,整像素精度编码代价获取单元306将第二类帧间编码模式下当前像素的整像素精度运动矢量、以及第二类帧间编码模式下对于当前宏块的整像素精度编码代价输出给第二编码模式选择单元308。第二类编码模式选择单元308比较第一类最优帧间编码模式下对于当前像素的 整像素精度编码代价和第二类帧间编码模式下对于当前像素的整像素精度编码代价,并且选择第一类最优帧间编码模式和第二类帧间编码模式中对于当前像素的整像素精度编码代价较小的一种帧间编码模式作为用于当前宏块的最优帧间编码模式(即,执行步骤S208)。在以上所述的根据本发明的一个实施例的编码模式选择方法和系统中,可以省略掉DIRECT模式和SKIP模式选择器中1/4像素插值电路,减少芯片面积的同时缩短运算处理时间,而编码重建图像的质量并不会受到影响。图4示出了根据本发明的另一实施例的编码模式选择方法的流程图。图5示出了根据本发明的另一实施例的编码模式选择系统的框图。图4所示的编码模式选择方法除了包括图2中所示的步骤S202至S208以外,还包括步骤S210和S212。图5中所示的编码模式选择系统除了包括图3中所示的功能单元302至308以外,还包括分像素精度编码代价获取单元310和最终编码代价选择单元312。其中,步骤S210由分像素精度编码代价获取单元310执行,步骤S212由最终编码代价选择单元312执行。在图5所示的编码模式选择系统中,第二类编码模式选择单元308将所选择的用于当前宏块的最优帧间编码模式以及该模式下当前宏块或者从当前宏块分割出的各子块的整像素精度运动矢量输出到分像素精度编码代价获取单元310。分像素精度编码代价获取单元310通过基于当前宏块或者从当前宏块分割出的各子块的整像素精度运动矢量进行分像素精度运动搜索,获取在最优帧间编码模式下对于当前宏块的分像素精度编码代价。最终编码代价选择单元312选择最优帧间编码模式下对于当前宏块的整像素精度编码代价和分像素精度编码代价中较小的一个编码代价作为最优帧间编码模式下对于当前宏块的编码代价。对于分像素精度编码代价获取单元310来说,用于当前宏块的最优帧间编码模式已知,并且各子块的整像素精度运动矢量也已知。所以,分像素精度编码代价获取单元310只是依次对当前宏块或者从当前宏块分割出的各个子块,在它的整像素精度运动矢量周围不超过I像素的范围内,进行更精确的1/4像素精度的运动矢量搜索,计算在用于当前宏块的最优帧间编码模式下对当前宏块的1/4像素精度编码代价。最终编码代价选择单元312比较在用于当前宏块的最优帧间编码模式下对于当前宏块的1/4像素精度编码代价和整像素精度编码代价,选择最优帧间编码模式下对于当前宏块的整像素精度编码代价和1/4像素精度编码代价中较小的一个编码代价作为最优帧间编码模式下对于当前宏块的编码代价。在本发明中,因为只是针对帧间预测模式的判决,所以根据本发明实施例的编码模式选择系统需要将所选择的最优帧间编码模式、当前宏块或者从当前宏块分割出的各子块的整像素或者分像素精度运动矢量、以及相应的编码代价输出到外部,以随后与帧内预测模式的编码代价进行比较,从而最后确定当前宏块的编码模式。根据本发明实施例的编码模式选择方法和系统可以在视频质量保持不变的条件下,明显降低用于选择编码模式的功能单元所需的运算复杂度和芯片面积。以上已经参考本发明的具体实施例来描述了本发明,但是本领域技术人员均了 解,可以对这些具体实施例进行各种修改、组合和变更,而不会脱离由所附权利要求或其等同物限定的本发明的精神和范围。根据需要可以用硬件或软件来执行步骤。注意,在不脱离本发明范围的前提下,可向本说明书中给出的流程图添加步骤、从中去除步骤或修改其中的步骤。一般来说,流程图只是用来指示用于实现功能的基本操作的一种可能的序列。本发明的实施例可利用编程的通用数字计算机、利用专用集成电路、可编程逻辑器件、现场可编程门阵列、光的、化学的、生物的、量子的或纳米工程的系统、组件和机构来实现。一般来说,本发明的功能可由本领域已知的任何手段来实现。可以使用分布式或联网系统、组件和电路。数据的通信或传送可以是有线的、无线的或者通过任何其他手段。还将意识到,根据特定应用的需要,附图中示出的要素中的一个或多个可以按更分离或更集成的方式来实现,或者甚至在某些情况下被去除或被停用。实现可存储在机器可读介质中的程序或代码以允许计算机执行上述任何方法,也在本发明的精神和范围之内。此外,附图中的任何信号箭头应当被认为仅是示例性的,而不是限制性的,除非另有具体指示。当术语被预见为使分离或组合的能力不清楚时,组件或者步骤的组合也将被认为是已经记载了。
权利要求
1.一种编码模式选择方法,包括 通过基于当前宏块进行整像素精度运动搜索,获取第一类帧间编码模式中对于当前宏块的整像素精度编码代价最小的一种帧间编码模式作为第一类最优帧间编码模式; 通过对第二类帧间编码模式下所述当前宏块的分像素精度运动矢量进行取整运算,获取所述第二类帧间编码模式下所述当前宏块的整像素精度运动矢量; 利用所述第二类帧间编码模式下所述当前宏块的整像素精度运动矢量,获取所述第二类帧间编码模式下对于所述当前宏块的整像素精度编码代价;以及 选择所述第一类最优帧间编码模式和所述第二类帧间编码模式中对于所述当前宏块的整像素精度编码代价较小的一种帧间编码模式作为用于所述当前宏块的最优帧间编码模式。
2.根据权利要求I所述的编码模式选择方法,其特征在于,还包括 通过基于所述当前宏块或者从所述当前宏块分割出的各子块的整像素精度运动矢量进行分像素精度运动搜索,获取在所述最优帧间编码模式下对于所述当前宏块的分像素精度编码代价。
3.根据权利要求2所述的编码模式选择方法,其特征在于,还包括 选择所述最优帧间编码模式下对于所述当前宏块的整像素精度编码代价和分像素精度编码代价中较小的一个编码代价作为所述最优帧间编码模式下对于所述当前宏块的编码代价。
4.根据权利要求I至3中任一项所述的编码模式选择方法,其特征在于,所述第一类帧间编码模式包括16 X 16模式、16 X 8模式、8 X 16模式、8 X 8模式、4 X 8模式、8 X 4模式、4X4模式、或者它们的任意组合。
5.根据权利要求I至3中任一项所述的编码模式选择方法,其特征在于,所述第二类帧间编码模式是帧间编码跳过模式或帧间编码直接模式。
6.—种编码模式选择系统,包括 第一编码模式选择单元,用于通过基于当前宏块进行整像素精度运动搜索,获取第一类帧间编码模式中对于当前宏块的整像素精度编码代价最小的一种帧间编码模式作为第一类最优帧间编码模式; 运动矢量整像素化单元,用于通过对第二类帧间编码模式下所述当前宏块的分像素精度运动矢量进行取整运算,获取所述第二类帧间编码模式下所述当前宏块的整像素精度运动矢量; 整像素精度编码代价获取单元,用于利用所述第二类帧间编码模式下所述当前宏块的整像素精度运动矢量,获取所述第二类帧间编码模式下对于所述当前宏块的整像素精度编码代价;以及 第二编码模式选择单元,用于选择所述第一类最优帧间编码模式和所述第二类帧间编码模式中对于所述当前宏块的整像素精度编码代价较小的一种帧间编码模式作为用于所述当前宏块的最优帧间编码模式。
7.根据权利要求6所述的编码模式选择系统,其特征在于,还包括 分像素精度编码代价获取单元,用于通过基于所述当前宏块或者从所述当前宏块分割出的各子块的整像素精度运动矢量进行分像素精度运动搜索,获取在所述最优帧间编码模式下对于所述当前宏块的分像素精度编码代价。
8.根据权利要求7所述的编码模式选择系统,其特征在于,还包括 最终编码代价选择单元,用于选择所述最优帧间编码模式下对于所述当前宏块的整像素精度编码代价和分像素精度编码代价中较小的一个编码代价作为所述最优帧间编码模式下对于所述当前宏块的编码代价。
9.根据权利要求6至8中任一项所述的编码模式选择系统,其特征在于,所述第一类帧间编码模式包括16 X 16模式、16 X 8模式、8 X 16模式、8 X 8模式、4 X 8模式、8 X 4模式、4X4模式、或者它们的任意组合。
10.根据权利要求6至8中任一项所述的编码模式选择系统,其特征在于,所述第二类帧间编码模式是帧间编码跳过模式或帧间编码直接模式。
全文摘要
公开了一种编码模式选择方法和系统。该方法包括通过基于当前宏块进行整像素精度运动搜索,获取第一类帧间编码模式中对于当前宏块的整像素精度编码代价最小的一种帧间编码模式作为第一类最优帧间编码模式;通过对第二类帧间编码模式下当前宏块的分像素精度运动矢量进行取整运算,获取第二类帧间编码模式下当前宏块的整像素精度运动矢量;利用第二类帧间编码模式下当前宏块的整像素精度运动矢量,获取第二类帧间编码模式下对于当前宏块的整像素精度编码代价;以及选择第一类最优帧间编码模式和第二类帧间编码模式中对于当前宏块的整像素精度编码代价较小的一种帧间编码模式作为用于当前宏块的最优帧间编码模式。
文档编号H04N7/26GK102811346SQ20111015766
公开日2012年12月5日 申请日期2011年5月31日 优先权日2011年5月31日
发明者付轩 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1