一种实现自适应插值滤波二次编码的搜索方法

文档序号:7701559阅读:171来源:国知局

专利名称::一种实现自适应插值滤波二次编码的搜索方法
技术领域
:本发明涉及一见频压缩编码领域,特别涉及一种实现自适应插值滤波二次编码的搜索方法。
背景技术
:在目前各种—见频编码标准中所采用的混合编码结构的碎见频编码方法,通常使用预测、变换、量化和信息熵编码四种压缩编码技术。其中,预测编码技术是利用已经完成编码和重建的视频图像块来预测和描述当前编码的视频图像块。根据所使用的已经完成编码和重建的视频图像块和当前正在编码的视频图像块之间的关系,预测编码技术可以分为帧间预测(利用先前视频帧中的图像块预测当前帧正在编码的图像块)和帧内预测(利用当前^L频帧中已经完成编码和重建的图像块预测同一帧中正在编码的图像块)。针对帧间预测而言,早期的视频压缩编码标准,如H.261中,采用整像素的运动补偿进行帧间预测;后来的视频压缩编码标准,如H.263、H.264中,釆用了分像素的运动补偿帧间预测,其中,分像素的运动补偿帧间预测相对于整像素的运动补偿而言,能够进行更精确的预测,实现更高的压缩效率。对于分像素的运动补偿帧间预测,需要对解码图像緩冲区中的参考帧进行插值操作来获得分像素位置的像素值,当前的视频编码标准中一般采用简单的双线性滤波或维纳滤波来进行插值操作。在目前的各种使用Wiener-Hopf方程(维纳霍夫)实现自适应插值方案中,都使用了视频帧级的二次编码结构在对一帧视频图像进行编码的过程中,首先进行一次预编码,所有的参考帧使用了固定系数插值滤波器进行插值实现预编码;在预编码结束后,计算新的插值滤波器系数,重新对各参考帧进行插值,再进行第二次视频帧级的编码操作,从而获得使用自适应插值滤波进行压缩的码流。在实现本发明的过程中,发明人发现现有技术至少存在以下缺点在实际应用中,现有技术提供的这种视频帧级的二次编码结构,运算的复杂度大、多次帧级编码存在重复操作,繁琐度高,运算的效率低。
发明内容为了降低视频帧级的二次编码中分像素运动搜索的计算复杂度,本发明提出一种实现自适应插值滤波二次编码的搜索方法,所述技术方案如下一种实现自适应插值滤波二次编码的搜索方法,所述方法包括对当前帧视频图像进行预编码,得到预编码后的信息;根据预编码后的信息,获得插值滤波器系数;根据所迷获得的插值滤波器系数,对所述当前帧视频图像进行二次编码,根据预编码后的信息,对当前编码宏块/的当前编码模式进行尝试,搜索到最佳匹配的分像素位置后,对当前编码宏块/的下一编码才莫式进行尝试,直到对当前编码宏块/的所有编码模式尝试完毕,搜索到各编码模式下的最佳匹配的分像素位置。所述对当前帧视频图像进行预编码,得到预编码后的信息,包括对当前帧视频图像进行预编码,在预编码过程中记录每一个编码宏块/选择的编码模式和相应的参考帧编号、整像素精度运动矢量以及分像素位置;以及各子块J相对应的参考帧整像素位置图像块的局部自相关和当前帧中的各子块/与相应参考帧中对应子块整像素位置图像块的局部互相关。所述根据预编码后的信息,获得插值滤波器系数,包括根据预编码得到的各子块_/相对应的参考帧整像素位置图像块的局部自相关和当前帧中的各子块_/与相应参考帧中对应子块整像素位置图像块的局部互相关,获得插值滤波器系数。所述根据所述获得的插值滤波器系数,对所述当前帧视频图像进行二次编码,根据预编码后的信息,对当前编码宏块/的当前编码才莫式进行尝试,搜索到最佳匹配的分像素位置,包括根据所迷获得的插值滤波器系数,对所述当前帧视频图像进行二次编码;如果当前编码宏块/的当前编码模式小于等于所述预编码所确定的宏块/选择的编码模式,且在所述当前编码模式下记录的编码宏块/选择的编码模式、相应的参考帧编号、整像素精度运动矢量以及分像素位置与预编码中记录的信息相同,则根据预编码中记录的分像素位置及其周围邻近的8个分像素位置,搜5索最佳匹配的分像素位置。所述根据预编码中记录的分像素位置及其周围邻近的8个分像素位置,搜索最佳匹配的分像素位置,包括如果搜索到的最佳匹配的分像素位置是预编码中记录的分像素位置,则结束本次分像素搜索;如果搜索到的最佳匹配的分像素位置是位于预编码中记录的分像素位置的左上、左下、右上、右下四个位置中的任——个,则以搜索到的最佳匹配的分像素位置为中心,从该位置及邻近的8个位置且未搜索过的5个位置中,搜索最佳匹配的分^f象素位置;如果搜索到的最佳匹配的分像素位置是位于预编码中记录的分像素位置的上、左、右、下四个位置中的任——个,则以搜索出的最佳匹配的分像素位置为中心,从该位置及邻近的8个位置且未搜索过的3个位置中,搜索最佳匹配的分像素位置。本发明实施例提供的方案,降低了视频帧级的二次编码中分像素运动搜索的计算复杂度,在实际应用中降低了编码计算复杂度。图l是本发明实施例4是供的实现自适应插值滤波二次编码的搜索方法的流程图2是本发明实施例提供的实现自适应插值滤波二次编码的搜索方法的详细流程图3是本发明实施例提供的分像素运动搜索时各分像素的位置关系示意图。具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。为了降低视频帧级的二次编码中分像素运动搜索的计算复杂度,满足实际应用中的需要,本发明实施例提供了一种实现自适应插值滤波二次编码的搜索方法。参见图1,本发明实施例提供的一种实现自适应插值滤波二次编码的搜索方法,通过预编码、获得插值滤波器系数、二次编码,即可实现自适应插值滤波的二次编码中的搜索,图2为本发明实施例提供的一种实现自适应插值滤波二次编码的搜索方法的详细流程图,具体包括以下步骤步骤101:对一巾贞视频图像进行预编码,并且在预编码过程中记录每一个编码宏块选择的编码模式和相应的参考帧编号、整像素精度运动矢量以及分像素位置。具体内容如下101a:使用固定系数的插值滤波器对一帧视频图像中的各个参考帧进行插值计算,分别获得插值计算后的各个参考帧。其中,一帧视频图像中所包括的参考帧的数目可以根据实际需要进行设定,本发明对此不做限制。101b:使用插值计算之后的参考帧对当前编码帧中的每一个宏块/进行编码,从中找到最好的编码模式,将最好的编码模式确定为宏块最终选择的编码模式細7T尸《。其中,获得插值计算之后的各个参考帧,使用插值计算之后的参考帧对当前编码帧中的每一个宏块;进行编码,由于每一个宏块''可以对应着多个不同的编码模式,对每一个宏块/的编码模式Affirzp《进行尝试,根据预设的选择标准,从多个不同的编码模式中找到最好的编码模式,将最好的编码模式确定为宏块最终的编码模式MMTP《'。其中,本发明实施例提供的预设的选择标准可以为选择压缩效率和编码失真之间取得最优平衡的编码模式,也就是率失真(码率和失真的平衡)最优的编码模式。101c:记录每一宏块/中所包含的各子块j所选择的参考帧编号i^化、整像素精度运动矢量/M^.以及分像素位置s化的信息;并统计出当前帧中的各子块与相应参考帧中对应子块整像素位置图像块的局部互相关,以及各子块y相对应的参考帧整像素位置图像块的局部自相关。其中,步骤101b中在对每一个宏块的编码4莫式M万rzp五,.进行尝试时,其中,每一个宏块中包含着子块,记录每一宏块^中所包含的各子块/选择的参考帧编号/^&、整像素精度运动矢量/M^以及分像素位置s〈的信息(其中,分像素位置和整像素位置相对应,例如,分像素可以为1/2整像素或1/4整像素或3/4整像素),本发明是以16x16大小的图像块为宏块,4x4大小的图像块为子块为例,自适应差值滤波的计算是基于子块大小为4x4的图像块,即,每一宏块包括16个子块,可以根据实际需要设定各个参考桢中的宏块和子块的大小,本发明对此不做限制。其中,宏块的编码模式ikffi7T/^,各子块y选择的参考帧编号X^^、整像素精度运动矢量/A/^以及分像素位置57^分别和宏块以及每个宏块中子块的个数有关,参见表l,例如,当,'的取值分别为/=1,2;」取值分别为/=1,2时;在表1中,能得出相应的对应关系。表1<table>tableseeoriginaldocumentpage8</column></row><table>步骤102:获得插值滤波器系数。其中,将步骤101c中获得的统计上的当前帧中的各子块/与相应参考帧中对应子块整像素位置图像块的局部互相关,以及各子块/相对应的参考帧整像素位置图像块的局部自相关代入到Wiener-hopf方程中,进行计算,获得插值滤波器系数。步骤103:根据对步骤102中获得的插值滤波器系数,对在步骤IOI中的帧视频图像进行二次编码。内容如下103a:对步骤102中获得的插值滤波器系数进行量化和编码。其中,对步骤102中获得的插值滤波器系数进行编码是将步骤102中获得的滤波器系数写入到码流中。103b:使用量化后的插值滤波器系数对帧视频图像的各参考帧进行插值计算。103c:使用插值计算之后的参考帧对当前编码帧中的每一个宏块i进行编码,对每一种宏块编码模式进行尝试,且记录编码中各子块y选择的参考帧编号i^《,/、整像素精度运动矢量/A/K,/以及分像素位置^,/的信息。其中,由于每一个宏块/对应着多个不同的编码才莫式,对每一个宏块/的编码模式M57TP《进行尝试。可选地,可以从中找到最好的编码模式,来提高编码效率。其中,在对步骤103c中每一个宏块'的编码模式M^T户《进行尝试时,记录编码中各子块7选择的参考帧编号i^&'、整像素精度运动矢量/竭,/以及分像素位置^./,参见表2,例如,当/取值分别为/=1,2;」'取值分别为_/=1,2时;在表2中,能得出相应的对应关系。<table>tableseeoriginaldocumentpage9</column></row><table>103d:判断二次编码当前所尝试的编码模式MiZTP《是否小于等于预编码所确定的宏块最终的编码模式M万rzp《',并且判断二次编码中各子块/进行整像素运动搜索中选择的参考帧编号及^;./,整像素精度运动矢量/M^'以及分像素位置^/的信息是否与步骤101b中所记录的预编码中相应的信息相同,如果二次编码所确定的当前所尝试的编码模式M^T7^,'小于等于预编码所确定的宏块最终的编码模式M3rzp《,且记录的信息与预编码中记录的信息相同,则执行步骤103e;否则,使用现有技术中的分像素运动搜索方法进行处理。其中,该步骤所述涉及的判断二次编码中宏块当前所尝试的编码模式M5rZP《是否小于等于预编码所确定的宏块最终的编码模式MSZT/^,具体为由于宏块的模式一般被编码为整数,例如通常1表示pl6xl6,2表示pl6x8,3表示p8xl6,故可以直接对二次编码当前所尝试的编码模式M571T《和预编码所确定的宏块最终的编码才莫式A^rZP五,"进行比较,其中,例如,M5JTi,五,'为pl6xl6,MSTZP《为pl6x8,由于pl6xl6所对应的整婆t为'T',pl6x8所对应的整数为"2",由于1<2,故雄7T尸《<細7TP《'。即,当M32T尸E,'<M57TP5,",及£《丫=,,/i/F!/=/M^!,S《/=,时,采用本发明实施例提供的的分像素运动搜索方法进行运动搜索。103e:对步骤101预编码过程中记录的分像素位置5^,及其周围邻近的8个分像素位置进行搜索,搜索最佳匹配的分像素位置。其中,搜索完最佳匹配的分像素位置,再返回执行步骤103c-103e,对宏块当前所尝试的编码才莫式的下一编码^t式和预编码所确定的宏块最终的编码it式进行比较,搜索最佳匹配的分像素位置;直到当前帧的所有宏块都搜索完,再返回执行步骤IOI,进行下一帧视频图像的预编码,从而实现自适应插值滤波二次编码的;&索。示例如下为了对步骤103e所述的步骤进行示意说明,参见图3,假设预编码过程中记录的分像素位置S'C则该分像素位置S化周围的邻近的8个分像素位置分别为A,B,C,D,E,F,G,H中,在s〈以及该A,B,C,D,E,F,G,H搜索最佳匹配的分像素位置。其中,後索最佳匹配的分4象素位置是4要MSE(MeanSquareError,均方i吴差)最小或者SAD(SumofAbsoluteDifference,绝乂于差总和)最小,在当前参考帧中,根据预设的判断标准找出与当前处理的子块最接近的子块或最相似的子块,其中,具体实现时,所述预设的判断标准可以是两个子块相差的幅值的平方(其中,幅值是指信号差的幅值)最小或者绝对值之和最小,本发明实施例对预设的判断标准不做限制,还可以采用其他的判断标准。1、如果搜索到的最佳匹配的分像素位置是5'i^,则结束本次分像素搜索;2、如果搜索到的最佳匹配的分像素位置是位于S、的左上、左下、右上、右下四个位置中的任——个,则以搜索到的最佳匹配的分像素位置为中心,在该位置及邻近的8个位置且未在步骤103e中搜索过的5个位置中,搜索最佳匹配的分像素位置;3、如果搜索到的最佳匹配的分像素位置是位于S化的上、左、右、下四个位置中的任——个,则以搜索出的最佳匹配的分像素位置为中心,在该位置及邻近的8个位置且未在步骤103e中搜索过的3个位置中,搜索最佳匹配的分像素位置。其中,仍以图3为例,所述搜索到的最佳匹配的分像素位置是位于S化的左上、左下、右上、右下四个位置中的任——个,即在图3中具体为A、F、C、H中的任——个。例如,如果搜索到的最佳匹配的分像素位置是位于图3中A、F、C、H中的一个(为了^f更于说明,以如果步骤103e中搜索出的最佳匹配的分^^素位置为A为例),相应地,则以A为中心,在A、a、b、c、f、h中:^臾索最佳匹配的分像素位置;同理,如果步骤103e中搜索出的最佳匹配的分像素位置为C,则在C、c、d、e、g、i中搜索最佳匹配的分像素位置;同理,如果步骤103e中搜索出的最佳匹配的分像素位置为F,则在F、h、j、1、m、n中搜索最佳匹配的分^f象素位置;同理,如果步骤103e中搜索出的最佳匹配的分^f象素位置为H,则在H、i、k、n、o、p中搜素最佳匹配的分像素位置。其中,仍以图3为例,所述搜索到的最佳匹配的分^^素位置是位于S化的上、左、右、下四个位置的任——个,在图3中具体为B、D、E、G中的一个,例如如果步骤103e中搜索到的最佳匹配的分像素位置为B,则在B、b、c、d中搜索最佳匹配的分像素位置;同理,如果在步骤103e中搜索到的最佳匹配的分像素位置为D,则在D、f、h、j中搜素最佳匹配的分像素位置;同理,如果在步骤103e中搜索到的最佳匹配的分像素位置为E,则在E、g、i、k中搜索最佳匹配的分像素位置;同理,如果在步骤103e中搜索到的最佳匹配的分像素位置为G,则在G、m、n、o中搜索最佳匹配的分像素位置,搜索最佳匹配的分像素位置。综上所述,通过以上技术方案,本发明实施例提供了一种实现自适应插值滤波二次编码的搜索方法,通过预编码、获得插值滤波器系数、二次编码步骤,即可实现自适应插值滤波二次编码中的搜索,降低了视频帧级的二次编码中分像素运动搜索的计算复杂度,满足了实际应用中的需要。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1、一种实现自适应插值滤波二次编码的搜索方法,其特征在于,所述方法包括对当前帧视频图像进行预编码,得到预编码后的信息;根据预编码后的信息,获得插值滤波器系数;根据所述获得的插值滤波器系数,对所述当前帧视频图像进行二次编码,根据预编码后的信息,对当前编码宏块i的当前编码模式进行尝试,搜索到最佳匹配的分像素位置后,对当前编码宏块i的下一编码模式进行尝试,直到对当前编码宏块i的所有编码模式尝试完毕,搜索到各编码模式下的最佳匹配的分像素位置。2、如权利要求l所述的方法,其特征在于,所述对当前帧视频图像进行预编码,得到预编码后的信息,包括对当前帧^L频图像进行预编码,在预编码过程中记录每一个编码宏块z选择的编码模式和相应的参考帧编号、整像素精度运动矢量以及分像素位置;以及各子块/相对应的参考帧整像素位置图像块的局部自相关和当前帧中的各子块/与相应参考帧中对应子块整像素位置图像块的局部互相关。3、如权利要求2所述的方法,其特征在于,所述根据预编码后的信息,获得插值滤波器系数,包括根据预编码得到的各子块y'相对应的参考帧整像素位置图像块的局部自相关和当前帧中的各子块/与相应参考帧中对应子块整像素位置图像块的局部互相关,获得插值滤波器系数。4、如权利要求2或3所述的方法,其特征在于,所述根据所述获得的插值滤波器系数,对所述当前帧视频图像进行二次编码,根据预编码后的信息,对当前编码宏块/的当前编码模式进行尝试,搜索到最佳匹配的分像素位置,包括根据所述获得的插值滤波器系数,对所述当前帧视频图像进行二次编码;如果当前编码宏块z的当前编码模式小于等于所述预编码所确定的宏块f选择的编码模式,且在所述当前编码模式下记录的编码宏块/选择的编码模式、相应的参考帧编号、整像素精度运动矢量以及分像素位置与预编码中记录的信息相同,则根据预编码中记录的分像素位置及其周围邻近的8个分像素位置,搜索最佳匹配的分像素位置。5、如权利要求4所述的方法,其特征在于,所述根据预编码中记录的分像素位置及其周围邻近的8个分像素位置,搜索最佳匹配的分像素位置,包括如果搜索到的最佳匹配的分像素位置是预编码中记录的分像素位置,则结束本次分像素搜索;如果搜索到的最佳匹配的分像素位置是位于预编码中记录的分像素位置的左上、左下、右上、右下四个位置中的任——个,则以搜索到的最佳匹配的分像素位置为中心,从该位置及邻近的8个位置且未搜索过的5个位置中,搜索最佳匹配的分像素位置;如果搜索到的最佳匹配的分像素位置是位于预编码中记录的分像素位置的上、左、右、下四个位置中的任——个,则以搜索出的最佳匹配的分像素位置为中心,从该位置及邻近的8个位置且未搜索过的3个位置中,搜索最佳匹配的分像素位置。全文摘要本发明公开了一种实现自适应插值滤波二次编码的搜索方法,其特征在于,所述方法包括对当前帧视频图像进行预编码,得到预编码后的信息;根据预编码后的信息,获得插值滤波器系数;根据所述获得的插值滤波器系数,对所述当前帧视频图像进行二次编码,根据预编码后的信息,对当前编码宏块i的当前编码模式进行尝试,搜索到最佳匹配的分像素位置后,当前编码宏块i的下一编码模式进行尝试,直到对当前编码宏块i的所有编码模式尝试完毕,搜索到各编码模式下的最佳匹配的分像素位置。本发明实现了自适应插值滤波二次编码的搜索,降低了视频帧级的二次编码中分像素运动搜索的计算复杂度,满足了实际应用中的需要。文档编号H04N7/26GK101600111SQ20091008894公开日2009年12月9日申请日期2009年7月14日优先权日2009年7月14日发明者张乃尧,戴琼海,魏宇平申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1