发明名称 一种快速的多目立体视频分形压缩与解压缩方法
摘要 本发明提出了一种快速的多目立体视频分形压缩与解压缩方法,选取中间目作为参考目,使用MCP原理压缩,其它目使用DCP+MCP的原理压缩。以三目为例,中间目作为参考目,采用单独的运动补偿预测方式(MCP)进行编码,对起始帧采用块DCT变换编码,对非I帧进行块运动估计/补偿编码,计算与子块域和父块域相关子块的像素和与像素平方和,计算分数像素内插值对应块的像素和、像素平方和,然后判断预搜索限制条件,并在前一帧搜索窗中,利用分数像素块匹配和基于运动矢量场的自适应六边形搜索算法寻找最相似的块。左目和右目采用MCP加视差补偿预测方式(DCP)进行编码,在DCP编码中,利用分数像素块匹配和视差分布约束条件。在解码过程中利用去方块环路滤波进行解码。
申请公布号 CN102291579B 申请公布日期 2014.03.05
申请号 CN201110187590.X 申请日期 2011.07.06
申请人 北京航空航天大学 发明人 祝世平;陈菊嫱;侯仰拴;王再阔
分类号 H04N19/597(2014.01)I;H04N19/61(2014.01)I;H04N19/51(2014.01)I;H04N19/176(2014.01)I;H04N19/122(2014.01)I 主分类号 H04N19/597(2014.01)I
代理机构 北京科迪生专利代理有限责任公司 11251 代理人 李新华
主权项 一种快速的多目立体视频分形压缩方法,其特征在于具体步骤如下:步骤一:对于中间目,首先判断是否为I帧,若是I帧,则对该帧进行互不重叠的固定大小的块划分,对每一个图像块分别采用基于块DCT变换的I帧帧内图像压缩方法,对图像进行单独编码和解码,转到步骤十二;否则,转到步骤二;所述I帧为视频序列起始帧或者视频序列中只进行帧内编码的图像帧;将当前帧划分为固定大小的互不重叠的图像块称为宏块;所述当前帧为正在进行压缩的帧;所述当前帧所有块的集合称为子块域;所述当前帧的前一帧的所有块的集合称为父块域;所述块DCT变换中的块采用固定大小模式;对于左目转到步骤七;对于右目转到步骤十一;步骤二:若中间目为非I帧,用常规单目的运动补偿预测(MCP)编码,对该帧进行互不重叠的宏块划分,然后计算这些宏块以及经树状划分得到的小块的像素和、像素平方和,以及中间目前一帧重建图像即参考帧中,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,同时计算分数像素内插值对应块的像素和、像素平方和,转到步骤三;步骤三:依次对当前帧的所有宏块进行编码,在父块域中的搜索窗内首先对该宏块进行块匹配;在进行子块与父块的匹配过程中,子块的位置作为父块的起始搜索点,父块的大小与子块的大小相同,转到步骤四;所述搜索窗为在参考帧中的矩形搜索区域;步骤四:利用基于运动矢量场的自适应六边形搜索算法,然后利用分数像素块匹配,搜索分数像素内插值对应小块处的RMS点,搜索出最佳的匹配误差RMS,转到步骤五;步骤五:预搜索限制条件判断:对于特定的子块,若与父块对应值满足预搜索限制条件,则转到步骤六;否则直接保存当前的迭代函数系统系数即IFS系数,转入步骤三编码下一宏块;步骤六:如果匹配误差RMS小于开始设定的阈值γ,则保存当前的迭代函数系统系数即IFS系数,转入步骤三编码下一宏块;否则,依次按照树状结构对该块进行划分,并对各个划分得到的小块利用分数像素块匹配和基于运动矢量场的自适应六边形搜索算法,分别计算匹配误差RMS,如果RMS小于设定阈值γ,则停止划分并记录该小块IFS系数,转入步骤三编码下一宏块;否则继续划分,直到将当前块划分为预先设定的最小块,记录IFS系数;转入步骤三编码下一宏块;所述IFS系数包括父块位置(x,y)和比例因子s、偏移因子o;如果当前帧所有的宏块都已编码完毕,且是中间目,则转 到步骤十二;若是左目或右目,则转到步骤八;具体为:首先设定子块的匹配误差阈值γ=tol×tol×no,其中tol根据不同的子块大小而改变,大的子块tol就越大,小的子块tol就小;取16×16宏块的tol为10.0,8×8子块的tol为8.0,4×4子块的tol为6.0,no为当前子块属于该视频对象区域的像素个数;首先设定16×16宏块的匹配误差阈值γ16=10.0×10.0×no,在参考帧的父块域中以当前子块的位置开始在15×15的搜索窗内对整个宏块进行块匹配,如果匹配误差RMS小于开始设定的阈值γ16,则保存当前的IFS系数包括比例因子s,偏移o,父块相对于当前子块的坐标偏移x,y,返回步骤三,继续下一宏块的匹配;否则,按照树状结构对该宏块进行划分,对宏块的划分有四种模式,模式一为一个16×16小块,模式二为两个8×16的小块,模式三为两个16×8的小块,模式四为四个8×8的小块;(1)首先按模式二的划分计算,利用分数像素块匹配和基于运动矢量场的自适应六边形搜索算法,若模式二中两个小块都满足RMS<γ16,则保存当前的IFS系数包括比例因子s,偏移o,以及父块相对于当前子块的坐标偏移x,y,并停止块的划分,转到(5);(2)否则按模式三划分,利用分数像素块匹配和基于运动矢量场的自适应六边形搜索算法,若模式三中两个小块都满足RMS<γ16,则保存当前的IFS系数包括比例因子s,偏移o,以及父块相对于当前子块的坐标偏移x,y,并停止块的划分,转到(5);(3)否则按照模式四对当前宏块进行划分,利用分数像素块匹配和基于运动矢量场的自适应六边形搜索算法,此时匹配误差阈值设置为γ8=8.0×8.0×no,如果模式四中的4个小块都满足RMS<γ8,则保存当前的IFS系数包括比例因子s,偏移o,以及父块相对于当前子块的坐标偏移x,y,并停止块的划分,转到(5);(4)否则对模式四中的每一个小块进行划分,可依次划分为1个8×8的小块,2个4×8的小块,2个8×4的小块,4个4×4的小块;只对第一个8×8小块的匹配过程进行阐述,其它3个8×8小块的匹配过程与第一个相同,不再赘述;首先按照2个4×8的小块划分,进行块匹配,如果两个子块的匹配误差RMS全部小于γ8时,则保存当前的IFS系数包括比例因子s,偏移o,以及父块相对于当前子块的坐标偏移x,y,并停止块的划分;否则,按照2个8×4的划分方式进行块的划分,对这两个子块进行块匹配,如果两个子块的匹配误差RMS全部小于γ8时,则保存当前的IFS系数包括比例因子s,偏移o,以及父块相对于当前子块的坐标偏移x,y,并停止块的划分;否则,对该子块划 分为4个4×4的小块,同时匹配误差阈值设为γ4=6.0×6.0×no,对四个小块分别进行块匹配,并分别记录每个子块的IFS系数包括比例因子s,偏移o,以及父块相对于当前子块的坐标偏移x,y,并停止块的划分,转到(5);(5)返回步骤三,继续下一宏块的编码;步骤七:对左目图像,首先进行互不重叠的宏块划分,然后计算这些宏块以及经树状划分得到的小块的像素和、像素平方和,以及左目前一帧重建图像参考帧,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,同时计算分数像素内插值对应块的像素和、像素平方和,以减少块匹配过程中的重复计算,转到步骤三;步骤八:计算中间目中对应帧图像的参考帧,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,同时计算分数像素内插值对应块的像素和、像素平方和,以减少块匹配过程中的重复计算,转到步骤九;步骤九:首先对与当前子块位置相同的父块进行块匹配,得到RMS,并保存迭代函数系统系数,该系数包括父块与子块的相对位移矢量(x,y),比例因子s和偏移因子o;依次对当前帧的所有宏块进行编码,在父块域中的搜索窗内首先对该宏块进行块匹配;在进行子块与父块的匹配过程中,子块的位置作为父块的起始搜索点,父块的大小与子块的大小相同并转入步骤十,执行完步骤十返回之后,如果所得的匹配误差RMS小于开始设定的阈值γ,则保存当前的迭代函数系统系数即IFS系数,转入步骤九编码下一宏块;否则,依次按照树状结构对该块进行划分,并对各个划分得到的小块分别转入步骤十,执行完步骤十返回之后计算匹配误差RMS,如果RMS小于设定阈值γ,则停止划分并记录该小块IFS系数,转入步骤九编码下一宏块;否则继续划分,直到将当前块划分为预先设定的最小块,转入步骤十计算RMS,执行完步骤十返回之后记录IFS系数,转入步骤九编码下一宏块;最后与步骤六所得结果比较,选择误差最小的作为预测结果;所述搜索窗为在参考帧中的矩形搜索区域;所述IFS系数包括父块位置(x,y)和比例因子s、偏移因子o;如果当前帧所有的宏块都已编码完毕,则转到步骤十二;具体为:首先设定子块的匹配误差阈值γ=tol×tol×no,其中tol根据不同的子块大小而改变,大的子块tol就越大,小的子块tol就小;取16×16宏块的tol为10.0,8×8子块的tol为8.0,4×4子块的tol为6.0,no为当前子块属于该视频对象区域的像素个数;首先设定16×16宏块的匹配误差阈值γ16=10.0×10.0×no,在参考帧的父块域中以当前子块的位置开始在15×15的搜索窗内对整个宏块进行块匹配,如果匹配误差RMS小 于开始设定的阈值γ16,则保存当前的IFS系数包括比例因子s,偏移o,父块相对于当前子块的坐标偏移x,y,返回步骤九,继续下一宏块的匹配;否则,按照树状结构对该宏块进行划分,对宏块的划分有四种模式,模式一为一个16×16小块,模式二为两个8×16的小块,模式三为两个16×8的小块,模式四为四个8×8的小块;(1)首先按模式二的划分计算,利用分数像素块匹配和基于运动矢量场的自适应六边形搜索算法,若模式二中两个小块都满足RMS<γ16,则保存当前的IFS系数包括比例因子s,偏移o,以及父块相对于当前子块的坐标偏移x,y,并停止块的划分,转到(5);(2)否则按模式三划分,利用分数像素块匹配和基于运动矢量场的自适应六边形搜索算法,若模式三中两个小块都满足RMS<γ16,则保存当前的IFS系数包括比例因子s,偏移o,以及父块相对于当前子块的坐标偏移x,y,并停止块的划分,转到(5);(3)否则按照模式四对当前宏块进行划分,利用分数像素块匹配和基于运动矢量场的自适应六边形搜索算法,此时匹配误差阈值设置为γ8=8.0×8.0×no,如果模式四中的4个小块都满足RMS<γ8,则保存当前的IFS系数包括比例因子s,偏移o,以及父块相对于当前子块的坐标偏移x,y,并停止块的划分,转到(5);(4)否则对模式四中的每一个小块进行划分,可依次划分为1个8×8的小块,2个4×8的小块,2个8×4的小块,4个4×4的小块;只对第一个8×8小块的匹配过程进行阐述,其它3个8×8小块的匹配过程与第一个相同,不再赘述;首先按照2个4×8的小块划分,进行块匹配,如果两个子块的匹配误差RMS全部小于γ8时,则保存当前的IFS系数包括比例因子s,偏移o,以及父块相对于当前子块的坐标偏移x,y,并停止块的划分;否则,按照2个8×4的划分方式进行块的划分,对这两个子块进行块匹配,如果两个子块的匹配误差RMS全部小于γ8时,则保存当前的IFS系数包括比例因子s,偏移o,以及父块相对于当前子块的坐标偏移x,y,并停止块的划分;否则,对该子块划分为4个4×4的小块,同时匹配误差阈值设为γ4=6.0×6.0×no,对四个小块分别进行块匹配,并分别记录每个子块的IFS系数包括比例因子s,偏移o,以及父块相对于当前子块的坐标偏移x,y,并停止块的划分,转到(5);(5)返回步骤九,继续下一宏块的编码;步骤十:充分利用分数像素块匹配和视差分布约束条件:将上一个视差估计矢量作为当前帧的搜索中心,在水平方向沿初始点的右侧进行搜索,在搜索过程中进行跳跃式搜索;点匹配完之后,向右间隔三个点进行搜索,进行比较,直到找到最小的RMS;同 时对分数像素位置进行相同的操作,比较得到更小的RMS,结束视差补偿预测DCP搜索过程;步骤十一:对于右目图像,首先进行互不重叠的宏块划分,然后计算这些宏块以及经树状划分得到的小块的像素和、像素平方和,以及右目前一帧重建图像参考帧,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,同时计算分数像素内插值对应块的像素和、像素平方和,以减少块匹配过程中的重复计算,转到步骤三;步骤十二:对所有IFS系数进行Huffman编码,降低IFS系数数据的统计冗余;判断当前帧是否为最后一帧,如果是最后一帧结束编码;否则,返回步骤一继续处理下一帧图像;所述步骤四中基于运动矢量场的自适应六边形搜索算法,充分根据分形编码的特点,具体如下:1)在小十字模式中的五个搜索点中搜索最小匹配误差所在点;应用块匹配准则搜索,如果最小匹配误差点在小十字模式的中心,此时即得到最终要求的最佳匹配误差;否则,转入步骤2);2)以步骤1)搜索到的最小匹配误差点为中心构造新的小十字模式,应用块匹配准则,搜寻3个新的搜索点;再搜索最小匹配误差点,如果搜索到的最小匹配误差点在小十字模式的中心,即得到最终要求的最佳匹配误差;否则,进入步骤3);3)搜索大十字模式3个还没有搜索到的点,应用块匹配准则,搜索新的最小匹配误差点,以作为下一步搜索的中心;4)以上一步的最小匹配误差点为中心,构造六边形搜索模式,应用块匹配准则搜索,找出新的最小匹配误差点,如果该点在六边形的中心,进入步骤5);否则,继续步骤4),直到最小匹配误差点在六边形的中心;5)以步骤4)所搜索到的位于六边形的中心的最小匹配误差点为中心,构造小十字搜索模式,应用块匹配准则搜索,找出最小匹配误差点,即得到最终要求的最佳匹配误差。
地址 100191 北京市海淀区学院路37号