发明名称 一种视频信号中基于宏块组结构的分阶段预测编码方法
摘要 本发明属于信号处理中的视频编解码技术领域,涉及一种视频信号中基于宏块组结构的分阶段预测编码方法。本发明的预测基本单位为32象素x32象素的方块构成的宏块组,包括原始宏块组和派生宏块组;其中,原始宏块组为连续的32象素x32象素的方块;派生宏块组为对原始宏块组进行水平或垂直1/2抽样并重新排列得到的32象素x32象素的方块。本发明的编码方法分为两个阶段进行。本发明的预测编码结构能够结合其他各种编码技术,有效的提高视频信号的压缩效率。针对最新的JVT参考软件JM61e,在相同的试验条件下,所做试验表明本方案的编码效率明显高于JVT结果。
申请公布号 CN1209927C 申请公布日期 2005.07.06
申请号 CN03148155.8 申请日期 2003.07.04
申请人 清华大学 发明人 何芸;李国平
分类号 H04N7/26;H04N5/14 主分类号 H04N7/26
代理机构 北京清亦华知识产权代理事务所 代理人 廖元秋
主权项 1、一种视频信号中基于宏块组预测结构的分阶段预测编码方法,其特征在于,包括编码过程和解码过程;所说的编码过程,具体包括以下步骤:1)将32象素×32象素的方块构成的宏块组作为预测基本单位,该宏块组包括原始宏块组和NS、HS、VS、VHS四种派生宏块组;将所述四种派生宏块组进行两两组合编码构成六种宏块组编码类型:NS-HS宏块组编码类型、VS-VHS宏块组编码类型、NS-VS宏块组编码类型、HS-VHS宏块组编码类型、NS-VHS宏块组编码类型和HS-VS宏块组编码类型;由上述六种编码类型按第一种宏块组编码类型和第二种宏块组编码类型的结构形式组成三种编码结构:NS-HS-VS-VHS、NS-VS-HS-VHS和NS-VHS-HS-VS编码结构,采用上述三种编码结构中任意一种进行编解码;根据派生宏块组特征确定宏块组中宏块的编码阶段属性,即:在派生宏块组中,如果一个宏块能够由其它已编码宏块通过插值获得重建宏块,则这个宏块留在第二阶段编码,否则在第一阶段编码;2)进行第一阶段编码,包括下列步骤:(1)从原始图象中获得一个原始宏块组,作为当前编码宏块组,对原始宏块组不进行任何抽样得到连续宏块组,该宏块组由NS1、NS2、NS3和NS4组成;对原始宏块组进行水平1/2抽样得到水平抽样宏块组,该宏块组由HS1、HS2、HS3和HS4组成;对原始宏块组进行垂直1/2抽样得到垂直抽样宏块组,该宏块组由VS1、VS2、VS3和VS4组成;以及对原始宏块组进行垂直1/2抽样再进行水平1/2抽样得到垂直水平抽样宏块组,该宏块组由VHS1、VHS2、VHS3和VHS4组成,由此获得所述四种派生宏块组;(2)对被选定的编码结构的第一种宏块组编码类型进行编码:首先考虑第一种宏块组编码类型中的第一种派生宏块组的上层/下层两个宏块,根据其宏块的编码阶段属性,如果是在第一阶段编码,则对该宏块编码并计算其编码代价,如果是在第二阶段编码,则估计该宏块的编码代价;然后再考虑第一种宏块组编码类型中的第二种派生宏块组的上层/下层两个宏块,根据其宏块的编码阶段属性,如果是在第一阶段编码,则对该宏块编码并计算其编码代价,如果是在第二阶段编码,则估计该宏块的编码代价;最后将第一种派生宏块组上层/下层两个宏块的代价值之和与第二种派生宏块组上层/下层两个宏块的代价值之和进行比较,选择代价值之和小的派生宏块组类型的上层/下层两个宏块的编码结果作为第一种宏块组编码类型上层/下层宏块的编码结果,其代价值之和作为第一种宏块组编码类型上层/下层宏块的代价值;同样进行第一种宏块组编码类型中下层/上层两个宏块的编码,并获得第一种宏块组编码类型下层/上层宏块的编码结果和下层/上层宏块的代价值;将上、下层宏块的代价值之和作为第一种宏块组编码类型的代价值;(3)按照第一阶段第(2)步相同的处理过程对被选定的编码结构的第二种宏块组编码类型进行编码,得到第二种宏块组编码类型的代价值;(4)当前编码宏块组的编码码流输出:比较第(2)步中第一种宏块组编码类型与第(3)步中第二种宏块组编码类型的代价值,决定当前编码宏块组采用哪种编码类型:如果第一种宏块组编码类型的代价值小,当前编码宏块组的编码类型就为第一种宏块组编码类型,再根据第(2)步的结果,决定当前编码宏块组的上、下层采用哪种派生宏块组类型,根据派生宏块组中宏块的编码阶段属性,输出已经编码宏块的码流;如果第二种宏块组编码类型的代价值小,当前编码宏块组的编码类型就为第二种宏块组编码类型,再根据第(3)步的结果,决定当前编码宏块组的上、下层采用哪种派生宏块组类型,根据派生宏块组中宏块的编码阶段属性,输出已经编码宏块的码流;(5)对当前编码宏块组中没有编码的宏块进行插值获得重建宏块,并与由编码获得的重建宏块构成了当前编码宏块组的重建宏块组;(6)重复第一阶段(1)到(5)步骤,直到原始图象中所有的原始宏块组完成编码,则第一阶段编码完成;在第一阶段编码中所有的重建宏块组构成了重建帧图象,作为第二阶段编码时的参考帧;3)进行第二阶段编码,包括下列步骤:(1)从原始图象中获得一个与第一阶段(1)步相同的原始宏块组,即当前编码宏块组,根据原始宏块组进行抽样处理得到四种类型的宏块组,即NS、HS、VS、VHS宏块组;(2)对当前编码宏块组中第一阶段没有编码的宏块进行编码,以第一阶段编码中所得到的重建帧图象作为第二阶段编码时的参考帧,对需要编码的宏块进行编码,并得到其重建宏块;(3)用编码得到的重建宏块替代第一阶段编码时通过插值得到的重建宏块,并且输出编码码流;(4)重复第二阶段编码中的(1)到(3)步骤,直到原始图象中所有的原始宏块组完成第二阶段编码,则第二阶段编码完成;所说的解码过程,具体包括以下步骤:1)第一阶段解码(1)首先根据编码码流判断要解码的宏块组编码类型;(2)根据宏块组编码类型解码:根据编码码流判断上层两个宏块和下层两个宏块的类型,同时根据该宏块的编码阶段属性,决定是否解码:如果该宏块在第一阶段编码,则该宏块直接解码并得到解码重建宏块;如果该宏块在第二阶段编码,则该宏块留在第二阶段解码;(3)根据已经解码的宏块对第一阶段解码第(2)步宏块组中没有解码的宏块进行插值获得重建宏块,并与第一阶段解码第(2)步中解码得到的重建宏块构成一个完整的重建宏块组;(4)重复第一阶段解码第(1)到第(3)的步骤,直到所有宏块组都被解码,则第一阶段解码完成,在第一阶段解码中所有的重建宏块组构成了重建帧图象,作为第二阶段解码的参考帧图象;2)第二阶段解码:(1)对解码的宏块组中第一阶段解码没有解码的宏块进行解码,以第一阶段解码得到的解码重建帧图象作为解码参考帧,对这些未解码的宏块进行解码,并得到解码宏块的重建宏块;(2)用第二阶段解码第(1)步的解码宏块的重建宏块替代第一阶段解码时通过插值得到的重建宏块,这样得到最终的解码重建帧,并以此作为解码下一帧的解码参考帧。
地址 100084北京市海淀区清华大学