发明名称 一种基于彩色视频运动矢量的深度图序列分形编码方法
摘要 本发明提出了一种基于彩色视频运动矢量的深度图序列分形编码方法。首先使用分形视频压缩方法编码彩色视频,然后用分形视频解压缩方法解码彩色视频,以获得彩色视频各宏块及小块的运动矢量。深度图序列的I帧编码,在H.264帧内预测编码方法基础上定义了平滑块,平滑块直接复制相邻参考像素值,而无需遍历各种预测方向;深度图序列的P帧进行块运动估计/补偿分形编码,利用深度图序列帧宏块与相应彩色视频宏块运动矢量相关性,进行深度图序列帧宏块运动矢量预测,并设计增强型非均匀多层次六边形搜索模板代替原非对称型多层次六边形格点搜索算法(UMHexagonS)中的非均匀多层次六边形搜索模板,利用改进的UMHexagonS算法搜索最相似匹配块,记录分形参数。最后利用熵编码CABAC压缩I帧和P帧的残差帧和P帧的分形参数。
申请公布号 CN103581647B 申请公布日期 2017.01.04
申请号 CN201310453270.3 申请日期 2013.09.29
申请人 北京航空航天大学 发明人 祝世平;赵冬玉
分类号 H04N13/00(2006.01)I 主分类号 H04N13/00(2006.01)I
代理机构 北京慕达星云知识产权代理事务所(特殊普通合伙) 11465 代理人 苗青盛
主权项 一种基于彩色视频运动矢量的深度图序列分形编码方法,其特征在于如下步骤:步骤一:使用基于分形的视频压缩方法编码彩色视频;步骤二:使用基于分形的视频解压缩方法解码彩色视频,获得彩色视频各宏块及小块编码运动矢量,作为相应深度图序列帧宏块或小块的候选预测运动矢量;步骤三:若为深度图序列的I帧,其中,第一帧必须为I帧,其它帧可以设置是否为I帧,使用改进的H.264帧内预测编码方法预测I帧;通过原始帧和预测帧之差得到编码端残差帧;转入步骤五编码残差;若为深度图序列的P帧,转到步骤四;步骤四:若为深度图序列的P帧,依次对当前帧的所有宏块进行运动估计/补偿分形编码;在参考帧中的搜索窗内对当前宏块进行块匹配,父块的大小与子块的大小相同;利用改进的非对称十字型多层次六边形格点搜索算法,即UMHexagonS,搜索出匹配误差MSE最小的点;如果匹配误差MSE小于开始设定的阈值,保存当前的迭代函数系统系数即IFS系数,转入步骤六得到本块的重建块;否则,依次按照树状结构对该块进行划分,并对各个划分得到的小块,利用改进的UMHexagonS算法,分别计算最小匹配误差MSE,如果最小匹配误差MSE小于设定阈值,停止划分并记录该小块IFS系数,转入步骤六得到本块的重建块;否则继续划分,直到将当前块划分为预先设定的最小块4×4块,记录IFS系数,转入步骤六得到本块的重建块;如果当前帧所有的宏块都已编码完毕,所有的重建块组成重建图像,即下一帧的参考帧,通过原始图像与重建图像之差得到编码端残差图像,转到步骤五编码残差;所述搜索窗为在参考帧中的矩形搜索区域;所述IFS系数包括父块与子块的位置偏移,即运动矢量(x,y)和比例因子s、偏移因子o;步骤五:残差图像的数据经过DCT、量化之后的系数一方面进行Zig‑Zag扫描,然后用熵编码CABAC进行编码写入码流;另一方面经过反量化、反DCT变换后得到解码端残差帧,由预测帧和解码端残差帧之和得到重建帧,即下一帧的参考帧,如果是P帧则还要对所有IFS系数进行有符号指数哥伦布编码;判断当前帧是否为最后一帧,如果是最后一帧结束编码;否则,返回步骤三继续处理下一帧图像;步骤六:通过保存的IFS系数代入解码方程计算得到预测值,由原始块和预测块之差得到编码端残差块,编码端残差块经过DCT变换、量化、反量化和反DCT变换得到解码端残差块,再由预测块和解码端残差块之和得到重建块;转入步骤四编码深度图序列P帧下一宏块;其中,所述步骤三中改进的H.264帧内预测编码方法,相比于原H.264帧内预测编码方法,本方法的改进主要体现在以下三点:1)首先定义“平滑块”的概念;统计发现,在深度图中除了包含尖锐的对象边缘的块外,大部分块中包含的各像素亮度值相等,基于此定义“平滑块”:若当前块不包含对象边缘,且其各相邻参考像素值相等,则定义当前块为“平滑块”,其中16×16宏块的相邻参考像素位于该宏块左方与上方,4×4块的相邻参考像素位于该4×4块左方、上方与右上方;2)若当前编码宏块模式为16×16,且为平滑块,则无需选择预测方向,预测块像素值直接复制该块相邻参考像素的值,且无需将语法元素Pred<sub>y</sub>写入码流;若为非平滑块,则按照传统H.264帧内预测编码方法编码宏块;3)若当前编码宏块模式为4×4,且宏块包含有N个4×4平滑块,则每个4×4平滑块预测像素值直接复制该4×4块相邻参考像素的值,相应预测方向Pred<sub>y</sub>无需写入码流;非平滑块按照传统H.264帧内预测编码方法在9种可能的预测方向中选择率失真代价最小的预测方向;则此时码流中共有16‑N个Pred<sub>y</sub>语法元素,为了在解码时知道正确的Pred<sub>y</sub>的个数,需要对语法元素重排序,并且该方法不使用8×8块,将语法元素T8移去,则最终码流中语法元素依次为:MBtype,Pred<sub>uv</sub>,Pred<sub>y</sub>,CBP,QP,Coeff,(16‑N)Pred<sub>y</sub>;其中,所述MBtype代表宏块类型;所述Pred<sub>uv</sub>代表色度预测方向,所述Pred<sub>y</sub>代表亮度预测方向,所述CBP代表编码块模式,所述QP代表量化参数,所述Coeff代表变换系数,所述T8代表8×8分块标志位,所述(16‑N)Pred<sub>y</sub>表示16‑N个Pred<sub>y</sub>语法元素;所述步骤四中改进的UMHexagonS算法相比于H.264中的UMHexagonS算法,本方法的改进主要体现在以下两点:1)起始点预测:深度图序列帧宏块的运动矢量与相应彩色视频宏块运动矢量具有相关性,且基于分形的深度图序列编码算法没有涉及到多参考帧,故利用四种方式进行起始点预测:a)空域中值预测:取当前子块的左、上、右相邻块的运动矢量中间值为预测运动矢量;b)相应彩色视频宏块运动矢量预测:根据深度图序列帧宏块与相应彩色视频宏块运动矢量的相关性,取相应彩色视频宏块的运动矢量为当前编码深度图序列帧宏块的预测运动矢量;c)原点预测:令预测运动矢量为(0,0);d)相邻参考帧预测:利用前一参考帧中对应位置块的运动矢量作为当前块的预测运动矢量;2)用增强型非均匀多层次六边形搜索模板代替原非均匀多层次六边形搜索模板:UMHexagonS算法采用了多种搜索模板,但搜索过程中并不记录前一步骤已搜索区域内的检测点,造成多个检测点重复搜索;因此设计了增强型非均匀多层次六边形搜索模板,既避免了运动矢量密集区域重复搜索现象,又兼顾了自然深度图序列的运动规律,使分布在水平方向±45°区域的搜索点数多于在垂直方向±45°区域的搜索点数,取代原非均匀多层次六边形搜索模板;所述增强型非均匀多层次六边形搜索模板由内至外,在第1至第4层上分布的搜索点数分别为8、12、16、16,其中第1、2层减少了原非均匀多层次六边形搜索模板第1、2层垂直方向的搜索点数,仅保留了垂直方向最上、最下与中间的检测点,第1层斜边中点的检测点也未保留,第3、4层与原非均匀多层次六边形搜索模板第3、4层相应检测点相同。
地址 100191 北京市海淀区学院路37号