发明名称 一种基于对象和分形的双目立体视频压缩编解码方法
摘要 本发明提出了一种基于对象和分形的双目立体视频压缩与解压缩方法,在双目立体视频编码中以左通道为基本层,右通道为增强层,左通道采用单独的运动补偿预测方式(MCP)进行编码。首先利用视频分割方法获得视频对象分割平面即Alpha平面,对左目的起始帧采用块DCT变换编码,对左目的非I帧进行块运动估计/补偿编码。然后利用Alpha平面判别该图像块的区域属性,如果该块不在当前编码的视频对象区域内,则对该外部块不做处理;如果该块全部都在当前编码的视频对象区域内,在内部块的前一帧即左目视频的参考帧搜索窗中利用全搜索方法寻找最相似的匹配块,最后利用Huffman编码方法压缩迭代函数系统系数;如果该块的部分像素在当前编码的视频对象区域内,部分像素不在当前编码的视频对象区域内,则对该边界块需要单独处理。右通道采用MCP加视差补偿预测方式(DCP)进行编码,MCP是与左目类似的处理,选择误差最小的作为预测结果。在进行DCP编码方式时,又充分利用立体平行摄像结构中的偏振性和方向性。
申请公布号 CN101980537A 申请公布日期 2011.02.23
申请号 CN201010522152.X 申请日期 2010.10.21
申请人 北京航空航天大学 发明人 祝世平;侯仰拴;陈菊嫱;王再阔
分类号 H04N7/26(2006.01)I;H04N7/50(2006.01)I;H04N13/00(2006.01)I 主分类号 H04N7/26(2006.01)I
代理机构 北京科迪生专利代理有限责任公司 11251 代理人 李新华
主权项 一种基于对象和分形的双目立体视频压缩编码方法,其特征在于具体步骤如下:步骤一:利用自动视频对象分割方法对视频序列进行自动分割,获取每一帧的视频对象分割平面即Alpha平面,根据得到的视频对象分割平面确定要编码的视频对象区域;把正在进行压缩的帧称为当前帧,把当前帧的已经编码并重建的前一帧称为参考帧;步骤二:对于左目,首先判断是否为I帧,若是I帧,则对该帧进行互不重叠的固定大小的块划分,对每一个图像块分别采用基于块DCT变换的帧内图像压缩方法,对该帧图像进行单独编码和解码,解码之后的像素若属于Alpha平面中待编码的视频对象则保留该像素值,否则将像素值置零后转到步骤十四;所述I帧为视频序列起始帧或者视频序列中只进行帧内编码的图像帧;所述将当前帧划分为固定大小的互不重叠的图像块称为宏块;所述将当前宏块进行树状划分得到的块称为小块;所述当前帧所有块的集合称为子块域;所述前一帧的所有块的集合称为父块域;所述块DCT变换中的块采用固定大小模式;对于右目,转到步骤六;步骤三:若左目为非I帧,用常规单目的运动补偿预测(MCP)编码,对当前帧进行互不重叠的宏块划分,然后计算这些宏块以及经树状划分得到的小块的像素和、像素平方和,以及左目前一帧重建图像即参考帧中,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和;步骤四:对当前正在处理的图像块即当前块,利用Alpha平面判别该图像块的区域属性;如果该块不在当前编码的视频对象区域内,对该块不做处理;如果该块全部都在当前编码的视频对象区域内,转入步骤五;如果该块的部分像素在当前编码的视频对象区域内,部分像素不在当前编码的视频对象区域内,需要单独处理,转入步骤十三;如果所有的宏块都已处理完毕,则转到步骤十四;所述不在当前编码的视频对象区域内的块称为外部块,所述全部都在当前编码的视频对象区域内的块称为内部块,所述部分像素不在当前编码的视频对象区域内的块为边界块;步骤五:依次对当前帧的所有宏块进行编码,在父块域中的搜索窗内首先对该宏块进行块匹配;在进行子块与父块的匹配过程中,子块的位置作为父块的起始搜索点,父块的大小与子块的大小相同;如果匹配误差RMS小于开始设定的阈值γ,保存当前的迭代函数系统系数即IFS系数,转入步骤五编码下一宏块;否则,依次按照树状结构对该块进行划分,并对各个划分得到的小块分别计算匹配误差RMS,如果RMS小于设定阈值γ,停止划分并记录该小块IFS系数,转入步骤五编码下一宏块;否则继续划分,直到将当前块划分为预先设定的最小块,记录IFS系数;转入步骤五编码下一宏块;所述搜索窗为在参考帧中的矩形搜索区域;所述IFS系数包括父块位置(x,y)和比例因子s、偏移因子o;如果当前帧所有的宏块都已编码完毕,且是左目,则转到步骤十四,若是右目,则继续执行步骤七;步骤六:对右目图像,首先进行互不重叠的宏块划分,然后计算这些宏块以及经树状划分得到的小块的像素和、像素平方和,以及右目前一帧重建图像参考帧,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,以减少块匹配过程中的重复计算,转到步骤五;步骤七:计算左目中对应帧图像参考帧,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,转到步骤八;步骤八:对当前正在处理的图像块即当前块,利用Alpha平面判别该图像块的区域属性;如果该块不在当前编码的视频对象区域内,对该块不做处理;如果该块全部都在当前编码的视频对象区域内,转入步骤九;如果该块的部分像素在当前编码的视频对象区域内,部分像素不在当前编码的视频对象区域内,需要单独处理,转入步骤十三;如果所有的宏块都已处理完毕,则转到步骤十四;步骤九:首先对与当前子块位置相同的父块进行块匹配,得到RMS,并保存迭代函数系统系数,该系数包括父块与子块的相对位移矢量(x,y),比例因子s和偏移因子o;依次对当前帧的所有宏块进行编码,在父块域中的搜索窗内首先对该宏块进行块匹配;在进行子块与父块的匹配过程中,子块的位置作为父块的起始搜索点,父块的大小与子块的大小相同并转入步骤十;如果所得的匹配误差RMS小于开始设定的阈值γ,保存当前的迭代函数系统系数即IFS系数,转入步骤九编码下一宏块;否则,依次按照树状结构对该块进行划分,并对各个划分得到的小块分别转入步骤十计算匹配误差RMS,如果RMS小于设定阈值γ,停止划分并记录该小块IFS系数,转入步骤九编码下一宏块;否则继续划分,直到将当前块划分为预先设定的最小块,转入步骤十计算RMS,记录IFS系数,转入步骤九编码下一宏块;最后与步骤五所得结果比较,选择误差最小的作为预测结果;如果当前帧所有的宏块都已编码完毕,则转到步骤十四;步骤十:在垂直方向上先上下隔行搜索两个点;如果这两个点的RMS均大于偏振线上点的RMS转到步骤十一,否则转到步骤十二;步骤十一:只沿初始点的右侧进行搜索,在搜索过程中进行跳跃式搜索;向右间隔两个点进行搜索,计算RMS,转入步骤十进行垂直方向搜索;如果当前点的RMS小于前一点的RMS,将当前点作为新的起始搜索点,转回到步骤十一开始位置,继续水平搜索下一点;否则说明当前点的RMS大于前一点的RMS,即最佳匹配点位于这两点之间,选择合适的小区域进行全搜索,至此选择RMS最小的点作为最终匹配结果,结束DCP搜索过程,继续执行步骤九;步骤十二:选择两点中RMS最小的点,在垂直方向上再搜索相邻两点之间的点,计算其RMS,选择误差最小的点作为此垂直方向上的最佳匹配点,转入步骤十一继续沿偏振线方向进行搜索;步骤十三:该步骤单独处理边界块,当前帧的边界块只在父块中的属于边界块和内部块中搜索匹配,当前块和父块的像素选取准则是:在当前块中只计算位于当前编码的视频对象区域内的像素值,只在参考帧的相同视频对象区域内进行块匹配;对于父块中,如果与当前块的相对应位置的父块中的某一像素也属于该视频对象区域,则采用原像素值,否则,用其它属于该视频对象区域像素的平均值代替;转到步骤五;步骤十四:对所有IFS系数进行Huffman编码,降低IFS系数数据的统计冗余;判断当前帧是否为最后一帧,如果是最后一帧结束编码;否则,返回步骤二继续处理下一帧图像。
地址 100191 北京市海淀区学院路37号