发明名称 一种基于分形和H.264的双目立体视频压缩与解压缩方法
摘要 本发明提出了一种基于分形和H.264的双目立体视频压缩与解压缩方法。首先对左目的起始帧(I帧)采用基于H.264的帧内预测编码,滤波后得到重建帧(可作为参考帧),然后对左目的P帧进行块运动补偿预测(MCP)编码,记录块每次最匹配过程的分形参数,将分形参数分别代入压缩迭代函数系统中得到P帧的预测帧,滤波后得到重建帧。右通道的起始帧采用视差补偿预测(DCP)的方式从基本层的I帧进行预测;而P帧采用MCP和DCP两种方式,选择误差最小的作为预测结果进行编码。利用熵编码CALCV压缩I帧和P帧的残差帧和利用有符号指数哥伦布编码压缩分形参数。
申请公布号 CN103051894B 申请公布日期 2015.09.09
申请号 CN201210402451.9 申请日期 2012.10.22
申请人 北京航空航天大学 发明人 祝世平;张玲;李丽芸
分类号 H04N19/597(2014.01)I;H04N13/00(2006.01)I 主分类号 H04N19/597(2014.01)I
代理机构 代理人
主权项 一种基于分形和H.264的双目立体视频压缩编码方法,其特征在于:左目I帧采用基于H.264的帧内预测进行编码,P帧采用分形的MCP方法编码;右目首帧采用视差补偿预测(DCP)的方式从基本层的I帧进行预测;其它帧采用右目前一帧为参考帧的分形MCP方法和左目相同帧号的帧为参考帧进行分形的DCP方法选择最优进行预测编码;残差帧经过DCT变换、量化之后使用熵编码CALVC写入码流;P帧形成的分形参数使用有符号指数哥伦布编码写入码流;具体步骤如下:步骤一:如果是右目,转到步骤六;如果是左目,若是P帧,转到步骤二;若是I帧,采用基于H.264的帧内预测编码方式,对于每个当前块在各种可能的预测方式中选择具有最小代价的的预测模式存储,完成所有块的预测后可以得到I帧的预测帧;通过原始帧和预测帧之差得到编码端残差帧;残差图像的数据经过DCT、量化之后的系数进行Zig‑Zag扫描,然后用熵编码CALVC进行编码写入码流;预测帧和解码端残差帧之和滤波后得到重建图像;判断当前帧是否为最后一帧,如果是最后一帧则结束编码,如果不是最后一帧则返回步骤一开始下一帧的编码;所述I帧为视频序列起始帧或者视频序列中只进行帧内编码的图像帧;步骤二:若是左目的P帧,用常规分形的运动补偿预测(MCP)编码,在进行块匹配之前,首先对该帧进行互不重叠的宏块划分,然后计算这些宏块以及经树状划分得到的小块的像素和、像素平方和,以及左目前一帧重建图像即参考帧中,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,同时计算分数像素内插值对应块的像素和、像素平方和,转到步骤三;所述P帧为视频序列中通过其它已编码帧进行预测的图像帧;所述宏块为将当前帧划分为固定大小的互不重叠的图像块;所述小块为将当前宏块进行树状划分得到的块;所述当前帧为正在进行压缩的帧,所述参考帧为本目或相邻目中已经编码并重建的一帧;所述当前帧所有块的集合称为子块域;所述前一帧的所有块的集合称为父块域;所述块DCT变换中的块采用固定大小模式;步骤三:依次对当前帧的所有宏块进行编码,在参考帧的搜索窗内首先对该宏块进行块匹配;在进行子块与父块的匹配过程中,子块的位置作为父块的起始搜索点,父块的大小与子块的大小相同;利用基于运动矢量场的自适应六边形搜索算法,然后利用分数像素块匹配,搜索分数像素内插值对应小块处的RMS点,搜索出最佳的匹配误差RMS;如果匹配误差RMS小于开始设定的阈值γ,保存当前的迭代函数系统系数即IFS系数,转入步骤五得到本块的重建块;否则,依次按照树状结构对该块进行划分,并对各个划分得到的小块利用分数像素块匹配和基于运动矢量场的自适应六边形搜索算法,分别计算匹配误差RMS,如果RMS小于设定阈值γ,则停止划分并记录该小块IFS系数,转入步骤五得到本块的重建块;否则继续划分,直到将当前块划分为预先设定的最小块,记录IFS系数;转入步骤五得到本块的重建块;所述搜索窗为在参考帧中的矩形搜索区域;所述IFS系数包括父块位置(x,y)和比例因子s、偏移因子o;如果当前帧所有的宏块都已编码完毕,所有的重建块组成重建图像;如果且是左目,则转到步骤四;若是右目,则执行步骤七;步骤四:残差图像的数据经过DCT、量化之后的系数进行Zig‑Zag扫描,然后用熵编码CALVC进行编码写入码流;如果是P帧则还要对所有IFS系数进行有符号指数哥伦布编码;判断当前帧是否为最后一帧,如果是最后一帧结束编码;否则,返回步骤一继续处理下一帧图像;步骤五:通过保存的IFS系数代入解码方程计算得到预测值,由原始块和预测块之差得到编码端残差块,再将预测块和解码端残差块之和得到重建块;注:解码端残差块是由编码端残差块经过DCT变换、量化、反量化和反DCT变换得到的;转回步骤三编码下一宏块;步骤六:对右目图像,首先进行互不重叠的宏块划分,然后计算这些宏块以及经树状划分得到的小块的像素和、像素平方和,以及右目前一帧重建图像参考帧,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,同时计算分数像素内插值对应块的像素和、像素平方和,以减少块匹配过程中的重复计算,转到步骤三;步骤七:计算左目中对应帧图像的参考帧,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,同时计算分数像素内插值对应块的像素和、像素平方和,以减少块匹配过程中的重复计算;转到步骤八;步骤八:首先对与当前子块位置相同的父块进行块匹配,得到RMS,并保存迭代函数系统系数,该系数包括父块与子块的相对位移矢量(x,y),比例因子s和偏移因子o;依次对当前帧的所有宏块进行编码,在父块域中的搜索窗内首先对该宏块进行块匹配;在进行子块与父块的匹配过程中,子块的位置作为父块的起始搜索点,父块的大小与子块的大小相同并转入步骤九,执行完步骤九返回之后,如果所得的匹配误差RMS小于开始设定的阈值γ,则保存当前的迭代函数系统系数即IFS系数,转入步骤八编码下一宏块;否则,依次按照树状结构对该块进行划分,并对各个划分得到的小块分别转入步骤九,执行完步骤九返回之后计算匹配误差RMS,如果RMS小于设定阈值γ,则停止划分并记录该小块IFS系数,转入步骤八编码下一宏块;否则继续划分,直到将当前块划分为预先设定的最小块,转入步骤九计算RMS,执行完步骤九返回之后记录IFS系数,转入步骤八编码下一宏块;最后与步骤六所得结果比较,选择误差最小的作为预测结果;所述搜索窗为在参考帧中的矩形搜索区域;所述IFS系数包括父块位置(x,y)和比例因子s、偏移因子o;如果当前帧所有的宏块都已编码完毕,则转到步骤十;步骤九:充分利用分数像素块匹配和视差分布约束条件:将上一个视差估计矢量作为为当前帧的搜索中心,在水平方向沿初始点的右侧进行搜索,在搜索过程中进行跳跃式搜索;点匹配完之后,向右间隔三个点进行搜索,进行比较,直到找到最小的RMS;然后对分数像素位置进行相同的操作,比较得到更小的RMS,结束DCP搜索过程;步骤十:残差图像的数据经过DCT、量化之后的系数进行Zig‑Zag扫描,然后用熵编码CALVC进行编码写入码流;如果是P帧则还要对所有IFS系数进行有符号指数哥伦布编码;判断当前帧是否为最后一帧,如果是最后一帧结束编码;否则,返回步骤一继续处理下一帧图像。
地址 100191 北京市海淀区学院路37号