发明名称 一种快速深度视频编码方法
摘要 本发明公开了一种快速深度视频编码方法,通过将多视点深度视频预测编码结构中的所有视点分为主视点、第一级辅助视点和第二级辅助视点三类,且针对不同视点不同类型的编码帧采取不同的快速编码策略,利用已编码帧信息判断深度视频信号的视点间相关性,以决定是否对当前编码帧进行视点间预测;并利用当前编码帧中当前编码宏块的已编码相邻块的运动矢量或最优匹配块搜索方式决定是否在当前编码宏块编码时进行双向搜索,从而避免了当前编码帧编码过程中一些较为费时但效果可能不佳的搜索,在保证深度图的准确性和压缩效率的同时,有效降低了多视点深度视频编码的计算复杂度。
申请公布号 CN101986716B 申请公布日期 2012.07.04
申请号 CN201010533644.9 申请日期 2010.11.05
申请人 宁波大学 发明人 郁梅;姒越后;蒋刚毅;陈恳;彭宗举;邵枫
分类号 H04N13/00(2006.01)I;H04N7/26(2006.01)I;H04N7/32(2006.01)I 主分类号 H04N13/00(2006.01)I
代理机构 宁波奥圣专利代理事务所(普通合伙) 33226 代理人 程晓明
主权项 1.一种快速深度视频编码方法,其特征在于将多视点深度视频预测编码结构中的所有视点分为主视点、第一级辅助视点和第二级辅助视点三类,所述的主视点为只进行时间预测而不进行视点间预测的视点,所述的第一级辅助视点是指关键帧进行视点间预测、非关键帧只进行时间预测而不进行视点间预测的视点,所述的第二级辅助视点是指关键帧进行视点间预测、非关键帧既进行时间预测又进行视点间预测的视点,将多视点深度视频预测编码结构中的所有视点的关键帧的集合表示为C1,将主视点的非关键帧和所有第一级辅助视点的非关键帧的集合表示为C2,将所有第二级辅助视点的非关键帧的集合表示为C3,对于不同类别的帧,其编码过程不同,具体如下:①判断当前编码帧是否属于C1,如果是,则继续执行;否则,执行步骤②;①-1、定义当前编码帧中当前正在处理的宏块为当前编码宏块;①-2、根据当前编码帧的参考帧列表,分别采用前向、后向和双向搜索这三种搜索方式遍历搜索当前编码帧的参考帧列表中的相应参考帧,从相应参考帧中寻找当前编码宏块的最优匹配块作为当前编码宏块的预测值完成对当前编码宏块的编码;①-3、将当前编码帧中下一个处理的宏块作为当前编码宏块,重复执行步骤①-1至步骤①-3,直至完成对当前编码帧中的所有宏块的编码,结束当前编码帧的编码,然后执行步骤④;②判断当前编码帧是否属于C2,如果是,则继续执行;否则,执行步骤③;②-1、定义当前编码帧中当前正在处理的宏块为当前编码宏块,令当前编码宏块的左相邻块、上相邻块、右上相邻块的率失真代价分别为Rd<sub>A</sub>、Rd<sub>B</sub>和Rd<sub>C</sub>,计算Rd<sub>A</sub>、Rd<sub>B</sub>和Rd<sub>C</sub>的均值并记为T<sub>time</sub>;考察当前编码宏块的左相邻块、上相邻块、右上相邻块以及左上相邻块这些已编码宏块的运动矢量,如果这些已编码宏块中至少2个以上的宏块的运动矢量的幅值都大于等于阈值m,则记当前编码宏块的双向搜索标记为B,并令B=1,否则,记当前编码宏块的双向搜索标记为B,并令B=0;②-2、根据当前编码帧的参考帧列表,按前向搜索方式依次逐一搜索当前编码帧的参考帧列表中的前向参考帧并计算相应的率失真代价,记对当前前向参考帧进行前向搜索后得到的率失真代价为Rd<sub>forward</sub>;②-3、对于当前前向参考帧,如果满足条件:(Rd<sub>forward</sub>-T<sub>time</sub>)<aT<sub>time</sub>,其中a为(0,1]区间内的小数,则执行步骤②-4,否则,返回执行步骤②-2,继续按前向搜索方式依次逐一搜索当前编码帧的参考帧列表中的其它前向参考帧,直至搜索完当前编码帧的参考 帧列表中的所有前向参考帧,然后执行步骤②-4;②-4、根据当前编码帧的参考帧列表,按后向搜索方式依次逐一搜索当前编码帧的参考帧列表中的后向参考帧并计算相应的率失真代价,记对当前后向参考帧进行后向搜索后得到的率失真代价为Rd<sub>backward</sub>;②-5、对于当前后向参考帧,如果满足条件:(Rd<sub>backward</sub>-T<sub>time</sub>)<aT<sub>time</sub>,其中a为(0,1]区间内的小数,则执行步骤②-6,否则,返回执行步骤②-4,继续按后向搜索方式依次逐一搜索当前编码帧的参考帧列表中的其它后向参考帧,直至搜索完当前编码帧的参考帧列表中的所有后向参考帧,然后执行步骤②-6;②-6、判断当前编码宏块的双向搜索标记B是否为0,如果是,则不进行双向搜索而直接执行步骤②-7,否则,若当前编码宏块的双向搜索标记B为1,则进一步对当前编码宏块采用双向搜索方式进行搜索并计算率失真代价,然后执行步骤②-7;②-7、从前向、后向和可能进行过的双向搜索这三种搜索方式所获得的率失真代价中,选择具有最小率失真代价的参考帧中的匹配块,作为当前编码宏块的最优匹配块,以当前编码宏块的最优匹配块为当前编码宏块的预测值完成对当前编码宏块的编码;②-8、将当前编码帧中下一个处理的宏块作为当前编码宏块,重复执行步骤②-1至步骤②-8,直至完成对当前编码帧中的所有宏块的编码,结束当前编码帧的编码,然后执行步骤④;③如果当前编码帧属于C3,则继续执行,否则,执行步骤④;③-1、定义当前编码帧中当前正在处理的宏块为当前编码宏块,计算当前编码帧所在视点的前一个第二级辅助视点中与当前编码帧同一时刻的帧的视点间相关性系数,记为R<sub>v-1</sub>,<img file="FDA0000031048520000021.GIF" wi="259" he="114" />其中,<img file="FDA0000031048520000022.GIF" wi="95" he="55" />表示当前编码帧所在视点的前一个第二级辅助视点中与当前编码帧同一时刻的帧编码时选择视点间参考帧为最优参考帧的宏块的个数,N表示多视点深度视频信号一帧中包含的宏块的总数;计算当前编码帧所在视点中比当前编码帧层次更低的C3类帧的视点间相关性系数,记为R<sub>t-1</sub>,<img file="FDA0000031048520000023.GIF" wi="255" he="114" />其中,<img file="FDA0000031048520000024.GIF" wi="95" he="56" />表示当前编码帧所在视点中比当前编码帧层次更低的C3类帧编码时选择视点间参考帧为最优参考帧的宏块的个数;计算阈值T,<img file="FDA0000031048520000025.GIF" wi="307" he="119" />其中,n表示当前编码帧为当前编码帧所在视点的第n幅被编码的C3类帧,R<sub>i</sub>表示当前编码帧所在视点中第i幅已被编码的C3类帧的视点间相关性系数,<img file="FDA0000031048520000026.GIF" wi="225" he="115" /><img file="FDA0000031048520000027.GIF" wi="95" he="56" />表示当前编码帧所在视点中第i幅 已被编码的C3类帧编码时选择视点间参考帧为最优参考帧的宏块的个数;③-2、根据当前编码帧的参考帧列表,按前向搜索方式搜索当前编码帧的参考帧列表中的相应参考帧,其中对于当前编码帧的参考帧列表中的采用时间预测方式的所有前向参考帧均进行前向搜索,对于当前编码帧的参考帧列表中的采用视点间预测方式的所有前向参考帧,如果满足条件:R<sub>t-1</sub>>T且R<sub>v-1</sub>>T,则进行视点间预测方式的前向搜索,否则,不进行视点间预测方式的前向搜索;③-3、根据当前编码帧的参考帧列表,按后向搜索方式搜索当前编码帧的参考帧列表中的相应参考帧,其中对于当前编码帧的参考帧列表中的采用时间预测方式的所有后向参考帧均进行后向搜索,对于当前编码帧的参考帧列表中的采用视点间预测方式的所有后向参考帧,如果满足条件:R<sub>t-1</sub>>T且R<sub>v-1</sub>>T,则进行视点间预测方式的后向搜索,否则,不进行视点间预测方式的后向搜索;③-4、判断当前编码宏块的左相邻块、上相邻块、右上相邻块以及左上相邻块这些已编码宏块的最优匹配块的搜索方式,如果这四个相邻块中其最优匹配块采用双向搜索方式的相邻块个数大于2,则进一步对当前编码宏块采用双向搜索方式搜索当前编码帧的参考帧列表中的相应参考帧,否则,不进行双向搜索而直接执行步骤③-5;③-5、从前向、后向和可能进行过的双向搜索这三种搜索方式所获得的率失真代价中,选择具有最小率失真代价的参考帧中的匹配块,作为当前编码宏块的最优匹配块,以当前编码宏块的最优匹配块为当前编码宏块的预测值完成对当前编码宏块的编码;③-6、将当前编码帧中下一个处理的宏块作为当前编码宏块,重复执行步骤③-1至③-6,直至完成对当前编码帧中的所有宏块的编码,结束当前编码帧的编码,然后执行步骤④;④返回步骤①继续执行,直至多视点深度视频预测编码结构中的所有视点包括的帧处理完毕。 
地址 315211 浙江省宁波市江北区风华路818号