CN102263952A - 一种基于对象的快速双目立体视频分形压缩与解压缩方法 - Google Patents

一种基于对象的快速双目立体视频分形压缩与解压缩方法 Download PDF

Info

Publication number
CN102263952A
CN102263952A CN2011101879309A CN201110187930A CN102263952A CN 102263952 A CN102263952 A CN 102263952A CN 2011101879309 A CN2011101879309 A CN 2011101879309A CN 201110187930 A CN201110187930 A CN 201110187930A CN 102263952 A CN102263952 A CN 102263952A
Authority
CN
China
Prior art keywords
piece
pixel
frame
block
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011101879309A
Other languages
English (en)
Other versions
CN102263952B (zh
Inventor
祝世平
陈菊嫱
王再阔
侯仰拴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN2011101879309A priority Critical patent/CN102263952B/zh
Publication of CN102263952A publication Critical patent/CN102263952A/zh
Application granted granted Critical
Publication of CN102263952B publication Critical patent/CN102263952B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提出了一种基于对象的快速双目立体视频分形压缩与解压缩方法,在编码中以左通道为基本层,采用运动补偿预测方式(MCP)进行编码,利用视频分割方法获得视频对象分割平面即Alpha平面,对左目的起始帧采用块DCT变换编码,对非I帧进行块运动估计/补偿编码,计算与子块域和父块域相关子块的像素和与像素平方和,计算分数像素内插值对应块的像素和、像素平方和,进行预搜索限制条件判断,并在前一帧搜索窗中利用分数像素块匹配和改进的非对称十字形多层次六边形格点搜索算法寻找最相似的匹配块。右通道为增强层,采用MCP加视差补偿预测方式(DCP)进行编码,选择误差最小的作为预测结果。在DCP编码时,利用视差分布约束条件。在解码过程中利用去方块环路滤波。

Description

一种基于对象的快速双目立体视频分形压缩与解压缩方法
技术领域
本发明属于视频压缩编码领域,涉及双目立体视频的压缩编码,特别涉及一种基于对象和分形的视频压缩编码方法。在保证峰值信噪比PSNR基本保持不变的前提下,极大地降低了运算复杂度和提高压缩比,为双目立体视频编码的实时性应用奠定了基础,进一步提高了分形视频压缩编码的性能。
背景技术
基于对象(Object-Based,简称OB)编码的概念最早由MPEG-4标准提出,使用基于对象的视频压缩编码方法使得每一帧视频的前景对象和背景对象得以独立的进行编码,可以进一步提高压缩比,同时在解码端可以实现一些新的功能,比如针对每一个视频对象的独立的传输和解码、对象和背景的替换、基于对象的视频检索、特别是相对于标准的编码方法,在对象的边界上可以获得更好的图像质量,因为物体的边界通常和图像中的边缘相重合,它是编码困难的部分。MPEG-4提出了基于对象的视频编码技术标准,在视频分析中,以视频对象为基本单位,每一个视频事件和场景都可以视为由视频中所有语义对象的静态属性(如形状、色彩、纹理)及其动态属性(运动强度、方向、节奏)组合而成的。在以对象为基本分析单位的视频分析方法,符合人类的思维方式和视觉特点,排除了视频中不重要的部分对视频分析的干扰(参见Liang Zhang.Object-basedMethod of important video clips Extraction[J].Journal of Beijing Information Science andTechnology University,2009,24(4):83-86),(参见Bo Huang,Yujian Huang.A ScalableObject-based Wavelet Coder[J].Radio Communications Technology,2009,35(1):35-38),(参见Kassim Ashraf a,Zhao L F.Rate-scalable object-based wavelet codec with implicitshape coding[J].IEEE Transactions on Circuits and Systems for Video Technology,2000,10(7):1068-1079)。基于对象的视频编码方法可以提高视频压缩编码的性能并使其具有更多的灵活性。
分形理论最初由Mandelbrot于上世纪70年代提出(参见
Figure BDA0000073992330000011
B.Mandelbrot.TheFractal Geometry of Nature[M].New York:W.H.Freeman and Company,1982.)。分形编码的数学基础是迭代函数系统(IFS)理论。Barnsley首先将分形编码用于交互式图像压缩(参见Michael F.Barnsley,Alan D.Sloan.A better way to compress image[J].ByteMagazine,1988,13(1):215-233.)。Jacqain提出了全自动的分形图像压缩方法(参见Arnaud E.Jacquin.A novel fractal blocking-coding technique for digital image[C].IEEEInternational Conference on Acoustics,Speech and Signal Processing,1990,4:2225-2228.),(参见Arnaud E.Jacquin.Fractal image coding:a review[J].Proceeding of the IEEE,1993,81(10):1451-1465.),该方法采用基于图像分块的方式以局部的仿射变换代替全局的仿射变换。之后,Fisher利用四叉树改进了这一方法(参见Y.Fisher.Fractal ImageCompression[J].Fractals,1994,2(3):347-361.),(参见Y.Fisher,E.W.Jacobs.Imagecompression:A study the iterated transform method[J].Signal Processing,1992,29(3),251-263.),(参见Y.Fisher.Fractal Image Compression:Theory and application to digitalimages[M].New York:Spring-Verlag,1995,55-77.),大大提高了编码效率,并成为目前分形图像编码中的主流方法。
在此基础之上,一些学者和研究人员把分形图像压缩的方法应用到视频序列的压缩上。Meiqing Wang等提出了综合基于数据立方体和基于帧的分形视频压缩方法(参见Meiqing Wang,Choi-Hong Lai.A hybrid fractal video compression method[J].Computers &Mathematics with Applications,2005,50(3-4):611-621.),(参见Meiqing Wang,ZhehuangHuang,Choi-Hong Lai.Matching search in fractal video compression and its parallelimplementation in distributed computing environments[J].Applied Mathematical Modeling,2006,30(8):677-687.),(参见Meiqing Wang,Rong Liu,Choi-Hong Lai.Adaptive partitionand hybrid method in fractal video compression[J].Computers & Mathematics withApplications,2006,51(11):1715-1726.)。其中最为经典和影响较大的参见(C.S.Kim,R.C.Kim,S.U.Lee.Fractal coding of video sequence using circular prediction mapping andnoncontractive interframe mapping[J].IEEE Transactions on Image Processing,1998,7(4):601-605.)。该方法采用类似于标准视频编码方法所采用的运动估计/补偿技术,该方法利用了相邻帧之间的时间强相关性,对视频序列压缩取得了较好的效果。在CPM和NCIM中,子块域中的每个图像块都由来自相邻帧相同大小的父块域通过运动补偿得到。CPM和NCIM两者间最大的不同在于CPM在解码的过程中需要具备收敛性,而NCIM不需要。但是在循环预测编码(CPM)方法中,为了保证起始帧经过自身的循环解码能够近似收敛到原来的图像,压缩过程需要经过复杂变换、搜索和迭代等,压缩时间和图像质量难以达到要求。目前典型的分形图像和视频压缩方法的运算量很大,编码速度较慢,并且解码的质量有待提高,使得分形图像和视频压缩方法还需要进一步的改进和提高。
随着多媒体技术的不断发展,多视点视频因其具有单目视频无法比拟的优越性渐渐成为研究的热点。而双目立体视频是多视点视频中应用最为广泛的一种形式,它增加了场景的深度信息,使欣赏到的图像有强烈的现实感和逼真感,可以应用于立体电视,远程教育,远程工业控制,远程医学诊断和虚拟现实等众多领域(参见A Schertz.Sourcecoding of stereoscopic television pictures[C].Proceedings of the IEEE InternationalConference on Image Processing and its Applications.Maastricht,The Netherlands,1992,462-464)。双目立体视频是利用人眼睛的双目视差原理,双目各自独立地接收来自同一场景的特定摄像点的左右图像,左眼看偏左的图像,右眼看偏右的图像,形成双目视差,大脑能得到图像的深度信息,使欣赏到的图像有强烈深度感、逼真感,观众能欣赏到超强的立体视觉效果。但是相对于单目视频,双目立体视频系统必须传输和存储翻番的数据量,所以必须对其进行有效地压缩。(参见Shigang Wang,Xuejun Wang,Hexin Chen.Stereoscopic video compression coding based on H.264[J].Chinese Journal of Stereologyand Image Analysis,2008,13(1):11-16)
在双目立体视频编码过程中,不但要考虑各通道内前后帧图像之间的时域相关性和帧内图像的空域相关性,还要充分利用通道之间的空域相关性进行编码。前者可以利用运动补偿预测(MCP)去除冗余,后者可以采用视差补偿预测(DCP)去除通道间冗余。DCP与MCP相比要复杂的多,其中的关键技术是视差匹配。Michael E.Lukaces是双目立体视频编码的早期研究者,他探索了将视差补偿(DC-based)(指使用双目视差关系在两幅图像之间建立对应)用于从双目立体视频序列中的一个视频序列预测另一个视频序列,并提出了多种基于视差补偿的方法(参见Lukacs M E.Predictive coding ofmulti-viewpoint image sets[C].IEEE International Conference on Acoustics,Speech andSignal Processing,1986,521-524)。Perkins将基于视差补偿的方法归纳为一种条件编码方法,对于无损编码来说是最优的,对于有损编码则是次优的(参见Perkins M G.Datacompression of stereo pairs[J].IEEE Transactions on Communications,1992,40(4):684-696)。Tzovaras等人提出了视差估计的分层块匹配以及运动视差双向补偿方法,称之为聚合估计(参见Tzovaras D,Grammalidis N,Strintzis M G.Object-based codingof stereoscopic image sequences using joint 3D motion/disparity segmentation[C].Proceedings of SPIE:Visual Communication and Image Processing,1995,1678-1689)。另外Franich还提出了基于通用块匹配算法的视差估计方法,并引入一种平滑检测手段来评价视差匹配好坏(参见Franch R E H,Lagendijk R L,J.Stereo-enhanceddisplacement estimation by genetic block matching[C].Proceedings of SPIE:Volume2094-Visual Communications and Image Processing.Cambridge,MA,USA,1993,362-371)。Siram Sethuramn以及M.Siegel等人提出了基于视差和运动的可变块四叉树多分辨率分割方法,针对基于MPEG视频编码标准的双目立体视频流的编码,按在解码端是否有合成中间视图的需要,提出了两个双目立体视频流的混合分辨率编码方法(参见Sethuraman S,Siegel M W,Jordan A G.Segmentation based coding of stereoscopic imagesequences[C].Proceedings of SPIE:Volume 2668-Digital Video Compression:Algorithmsand Technologies.San Jose,CA,USA,1996,420-429)。常用的双目立体视频编码方案有:独立MCP(Motion Compensated Prediction)编码,层间DCP(Disparity CompensatedPrediction)编码和MCP与DCP相结合编码。其中在MCP与DCP相结合编码中,基本层采用独立MCP编码,增强层采用MCP与DCP两种方式进行预测,从中选择误差较小的一种作为预测结果。
本专利申请人已于2010年10月申请了两个有关分形双目视频编码的专利:一种基于分形的双目立体视频压缩编解码方法(201010522161.9 CN 101980538A)和一种基于对象和分形的双目立体视频压缩编解码方法(201010522152.X CN 101980537A)。本发明与上述公开文献不同在于:1)利用了预搜索限定条件;2)利用了分数像素块匹配;3)利用了改进的非对称十字形多层次六边形格点搜索算法;4)DCP编码方式时,充分利用视差分布约束条件;5)解码中,利用了去方块环路滤波。因此,编码性能有了很大的改善和提高。
发明内容
本发明提出了一种基于对象的快速双目立体视频分形压缩与解压缩方法,在编码中以左通道为基本层,采用运动补偿预测方式(MCP)进行编码,利用视频分割方法获得视频对象分割平面即Alpha平面,对左目的起始帧采用块DCT变换编码,对非I帧进行块运动估计/补偿编码,计算与子块域和父块域相关子块的像素和与像素平方和,计算分数像素内插值对应块的像素和、像素平方和,进行预搜索限制条件判断,并在前一帧搜索窗中利用分数像素块匹配和改进的非对称十字形多层次六边形格点搜索算法寻找最相似的匹配块。右通道为增强层,采用MCP加视差补偿预测方式(DCP)进行编码,选择误差最小的作为预测结果。在DCP编码时,利用视差分布约束条件。在解码过程中利用去方块环路滤波。
一种基于对象的快速双目立体视频分形压缩方法,包括以下步骤:
步骤一:利用自动视频对象分割方法对视频序列进行自动分割,获取每一帧的视频对象分割平面即Alpha平面,根据得到的视频对象分割平面确定要编码的视频对象区域;
步骤二:对于左目,首先判断起始帧是否为I帧,若是I帧,则对该帧进行互不重叠的固定大小的块划分,对每一个图像块分别采用基于块DCT变换的I帧帧内图像压缩方法,对图像进行单独编码和解码,转到步骤十五;否则,转到步骤三;所述I帧为视频序列起始帧或者视频序列中只进行帧内编码的图像帧;所述块DCT变换中的块采用固定大小模式;对于右目,转到步骤九;
步骤三:若左目为非I帧,用常规单目的运动补偿预测(MCP)编码,将当前帧划分为固定大小的互不重叠的宏块,然后计算这些宏块以及经树状划分得到的小块的像素和、像素平方和,以及当前帧的已经编码并重建的前一帧即参考帧中,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,同时计算分数像素内插值对应块的像素和、像素平方和,转到步骤四;所述当前帧为正在进行压缩的帧;所述当前帧所有块的集合称为子块域;所述前一帧的所有块的集合称为父块域;
步骤四:对当前正在处理的图像块即当前块,利用Alpha平面判别该图像块的区域属性;如果该块不在当前编码的视频对象区域内,对该块不做处理;如果该块全部都在当前编码的视频对象区域内,转入步骤五;如果该块的部分像素在当前编码的视频对象区域内,部分像素不在当前编码的视频对象区域内,需要单独处理,转入步骤十四;如果所有的宏块都已处理完毕,则转到步骤十五;所述不在当前编码的视频对象区域内的块称为外部块,所述全部都在当前编码的视频对象区域内的块称为内部块,所述部分像素不在当前编码的视频对象区域内的块为边界块;
步骤五:依次对当前帧的所有宏块进行编码,在父块域中的搜索窗内首先对该宏块进行块匹配;在进行子块与父块的匹配过程中,子块的位置作为父块的起始搜索点,父块的大小与子块的大小相同,转到步骤六;
步骤六:利用改进的非对称十字形多层次六边形格点搜索算法,然后利用分数像素块匹配,搜索分数像素内插值对应小块处的RMS点,搜索出最佳的匹配误差RMS,转到步骤七;
步骤七:预搜索限制条件判断:对于特定的子块,若与父块对应值满足预搜索限制条件,则转到步骤八;否则直接保存当前的迭代函数系统系数即IFS系数,转入步骤四编码下一宏块;
步骤八:如果匹配误差RMS小于开始设定的阈值γ,保存当前的迭代函数系统系数即IFS系数,转入步骤四编码下一宏块;否则,依次按照树状结构对该块进行划分,并对各个划分得到的小块利用分数像素块匹配和改进的非对称十字形多层次六边形格点搜索算法,分别计算匹配误差RMS,如果RMS小于设定阈值γ,则停止划分并记录该小块IFS系数,转入步骤四编码下一宏块;否则继续划分,直到将当前块划分为预先设定的最小块,记录IFS系数;转入步骤四编码下一宏块;所述搜索窗为在参考帧中的矩形搜索区域;所述IFS系数包括父块位置(x,y)和比例因子s、偏移因子o;如果当前帧所有的宏块都已编码完毕,且是左目,则转到步骤十五;若是右目,则执行步骤十;
步骤九:对右目图像,首先进行互不重叠的宏块划分,然后计算这些宏块以及经树状划分得到的小块的像素和、像素平方和,以及右目前一帧重建图像参考帧,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,同时计算分数像素内插值对应块的像素和、像素平方和,以减少块匹配过程中的重复计算,转到步骤四;
步骤十:计算左目中对应帧图像的参考帧,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,同时计算分数像素内插值对应块的像素和、像素平方和,以减少块匹配过程中的重复计算,转到步骤十一;
步骤十一:对当前正在处理的图像块即当前块,利用Alpha平面判别该图像块的区域属性;如果该块不在当前编码的视频对象区域内,对该块不做处理;如果该块全部都在当前编码的视频对象区域内,转入步骤十二;如果该块的部分像素在当前编码的视频对象区域内,部分像素不在当前编码的视频对象区域内,需要单独处理,转入步骤十四;如果所有的宏块都已处理完毕,则转到步骤十五;
步骤十二:首先对与当前子块位置相同的父块进行块匹配,得到RMS,并保存迭代函数系统系数,该系数包括父块与子块的相对位移矢量(x,y),比例因子s和偏移因子o;依次对当前帧的所有宏块进行编码,在父块域中的搜索窗内首先对该宏块进行块匹配;在进行子块与父块的匹配过程中,子块的位置作为父块的起始搜索点,父块的大小与子块的大小相同并转入步骤十三,执行完步骤十三返回之后,如果所得的匹配误差RMS小于开始设定的阈值γ,则保存当前的迭代函数系统系数即IFS系数,转入步骤十二编码下一宏块;否则,依次按照树状结构对该块进行划分,并对各个划分得到的小块分别转入步骤十三,执行完步骤十三返回之后计算匹配误差RMS,如果RMS小于设定阈值γ,则停止划分并记录该小块IFS系数,转入步骤十二编码下一宏块;否则继续划分,直到将当前块划分为预先设定的最小块,转入步骤十三计算RMS,执行完步骤十三返回之后记录IFS系数,转入步骤十二编码下一宏块;最后与步骤八所得结果比较,选择误差最小的作为预测结果;所述搜索窗为在参考帧中的矩形搜索区域;所述IFS系数包括父块位置(x,y)和比例因子s、偏移因子o;如果当前帧所有的宏块都已编码完毕,则转到步骤十五;
步骤十三:充分利用分数像素块匹配和视差分布约束条件:将上一个视差估计矢量作为当前帧的搜索中心,在水平方向沿初始点的右侧进行搜索,在搜索过程中进行跳跃式搜索;点匹配完之后,向右间隔三个点进行搜索,进行比较,直到找到最小的RMS;然后对分数像素位置进行相同的操作,比较得到更小的RMS,结束视差补偿预测DCP搜索过程;
步骤十四:单独处理边界块,当前帧的边界块只在父块中的属于边界块和内部块中搜索匹配,当前块和父块的像素选取准则是:在当前块中只计算位于当前编码的视频对象区域内的像素值,只在参考帧的相同视频对象区域内进行块匹配;对于父块中,如果与当前块的相对应位置的父块中的某一像素也属于该视频对象区域,则采用原像素值,否则,用其它属于该视频对象区域像素的平均值代替;转到步骤五;
步骤十五:对所有IFS系数进行Huffman编码,降低IFS系数数据的统计冗余;判断当前帧是否为最后一帧,如果是最后一帧结束编码;否则,返回步骤二继续处理下一帧图像。
所述一种基于对象的快速双目立体视频分形压缩方法,处理的视频序列为YUV格式,分别对3个分量中的每个采用上述十五个步骤进行处理。
所述步骤六中分数像素块匹配,包括以下三个步骤:
1)对参考帧中搜索区域内的像素进行内插形成一个相对于在整数位置的像素更高分辨率的区域;
2)在内插区域进行整数像素和半像素位置搜索找到最佳匹配;
3)用匹配块的仿射变换来替代当前块。
所述步骤六中改进的非对称十字形多层次六边形格点搜索算法,相比于H.264中的非对称六边形算法,本算法的改进主要体现在以下三点:
1)起始点预测
基于分形的视频编码算法没有涉及到多参考帧,并且宏块和子块具有不同的大小,故利用三种方式进行起始点预测:
a)空域中值预测:取当前子块的左、上、右相邻块的运动矢量中间值为预测运动矢量;
b)原点预测:根据时间相关性,令运动矢量取值为(0,0);
c)相邻参考帧预测:利用前一参考帧中对应位置块的MV按比例进行预测;
2)非对称十字模板搜索时的阈值转移条件
分形编码的子块和父块的误差匹配准则R为式(3)、(4)、(5)。根据块的大小不同选择不同的阈值,非对称十字模板搜索完毕,择最佳匹配点作为新的起始点进行后续模版的匹配;
3)提前终止条件
根据分形编码算法的特点将提前终止分为两种情况:一是在非均匀多层次六边形格点整像素运动搜索过程中,除了该算法本身的提前终止条件外,为了减少搜索复杂度如果最优点位于六边形中心,可停止搜索;二是基于分形的视频编码算法采用树状划分结构。
所述步骤七中预搜索限制条件为以下形式,其中,bi为子块的像素值,ai为父块的像素值,s为分形编码中的比例因子,o为偏移因子,||a||代表二维范数,即||a||=(|a1|2+|a2|2+…+|an|2)1/2
RMS = Σ i = 1 n ( s · a i + o - b i ) 2
= Σ i = 1 n ( s · a i + 1 n [ Σ i = 1 n b i - s Σ i = 1 n a i ] - b i ) 2
= Σ i = 1 n ( ( a i - Σ i = 1 n a i n ) · [ n Σ i = 1 n a i b i - Σ i = 1 n a i Σ i = 1 n b i ] [ n Σ i = 1 n a i 2 - ( Σ i = 1 n a i ) 2 ] + Σ i = 1 n b i n - b i ) 2
= Σ i = 1 n ( ( a i - a ‾ ) · [ Σ i = 1 n a i b i - n a ‾ b ‾ ] [ Σ i = 1 n a i 2 - n a ‾ 2 ] + b ‾ - b i ) 2
= Σ i = 1 n ( ( a i - a ‾ ) · Σ i = 1 n ( b i - b ‾ ) ( a i - a ‾ ) | | a i - a ‾ | | 2 + b ‾ - b i ) 2
= | | b i - b ‾ | | 2 Σ i = 1 n ( ( a i - a ‾ ) | | a i - a ‾ | | · Σ i = 1 n ( b i - b ‾ ) ( a i - a ‾ ) | | b i - b ‾ | | | | a i - a ‾ | | - b i - b ‾ | | b i - b ‾ | | ) 2 - - - ( 1 )
a ^ = ( a i - a ‾ ) | | a i - a ‾ | | , b ^ = ( b i - b ‾ ) | | b i - b ‾ | | , 且可知 | | a ^ | | 2 = 1 , | | b ^ | | 2 = 1 , 则R可推导如下:
RMS = | | b i - b ‾ | | 2 Σ i = 1 n ( a ^ · Σ i = 1 n b ^ a ^ - b ^ ) 2
= | | b i - b ‾ | | 2 ( 1 - ( Σ i = 1 n b ^ a ^ ) 2 ) - - - ( 2 )
其中对于每个确定的子块,
Figure BDA0000073992330000091
是已知的,为了得到最小匹配误差RMS,
Figure BDA0000073992330000092
的取值要求越小越好,在每个子块的匹配过程中,预搜索限制条件为:0.9<m<1。
所述步骤八中对该块采用树状划分,块匹配采用匹配误差准则,子块与父块的匹配误差RMS为:
RMS = 1 N [ Σ i = 1 N r i 2 + s ( s Σ i = 1 N d i 2 - 2 Σ i = 1 N r i d i + 2 o Σ i = 1 N d i 2 ) + o ( N · o - 2 Σ i = 1 N r i ) ] - - - ( 3 )
其中参数s和o分别为:
s = [ N Σ i = 1 N r i d i - Σ i = 1 N r i Σ i = 1 N d i ] [ N Σ i = 1 N d i 2 - ( Σ i = 1 N d i ) 2 ] - - - ( 4 )
o = 1 N [ Σ i = 1 N r i - s Σ i = 1 N d i ] - - - ( 5 )
其中,N为子块和父块像素的个数,ri为子块的像素值,di为父块的像素值;
计算当前宏块在参考帧中的块匹配误差RMS,其中ri是子块的像素值,di是父块的像素值;如果RMS小于预先设定的阈值γ,记录IFS系数,IFS系数包括匹配块的位移矢量(x,y)和公式4,5中的s和o,处理下一宏块;否则,对当前宏块进行树状划分,计算划分后小块的RMS,如果小于阈值γ,则停止划分,否则继续划分,直到子块达到预先设定的最小块为止。
所述步骤十三中视差分布约束条件如下:
1)外极线约束;对于左目中的图像上的一点,通过相对定向参数找出右目中的图像上与其对应的极线,其对应点在上述极线上搜索;对于平行系统的视差搜索,沿扫描线,进行x方向的搜索即可;最佳匹配点位于偏振线上即水平线上;在立体平行摄像系统中,沿水平方向进行DCP搜索;
两摄像机在同一时刻观看空间同一特征点P(xc,yc,zc),在左目中的图像和右目中的图像的坐标分别为pleft=(Xleft,Yleft),pright=(Xright,Yright);其中点P(xc,yc,zc)与两个光心所确定的平面称为偏振平面,偏振平面与左右图像的交线称为偏振线;由几何关系得到,其中:f表示摄像机的焦距,B为两摄像机的投影中心连线的距离,即基线距,zc为世界坐标系下特征点P的Z坐标:
X left = f x c z c X right = f ( x c - B ) z c Y = f y c z c - - - ( 6 )
2)方向性约束;对于同一个景物,其透视投影左目中的图像相对于右目中的图像局部地向左移动;同一空间点在两图像平面中的投影位置差矢量即视差
Figure BDA0000073992330000102
视差D表示相对深度,对于同一特征点,其透视投影左目中的图像是右目中的图像沿水平负向的局部平移;同一空间点在右目中的图像上的图像坐标比在左目中的图像上的图像坐标偏右,在搜索时沿一个方向进行;
3)空域相关性与时域相关性:连续变化视差场中的视差矢量有相关性,即同一帧内视差矢量之间存在相关性;对于相邻两帧图像,仅有少数像素发生了运动,多数像素的位置并没有变化;对于位置不变的像素来说,其视差基本不变,在进行视差估计时,用前一帧图像的对应视差矢量作为搜索起始点进行小范围内的搜索,从而快速找到实际视差矢量。
一种基于对象的快速双目立体视频分形解压缩方法,其特征在于包含以下步骤:
步骤I:首先读入左目压缩信息,包括压缩帧数,每帧图像的宽和高,I帧压缩质量和插入I帧的间隔;
步骤II:判断解码帧是否为I帧,若是I帧转入步骤III,否则转入步骤IV;
步骤III:对于I帧,从压缩文件中读入码流,并读入该帧的Alpha平面进行解码,解码之后的文件包括基于不同对象的视频文件和完整的视频文件,在基于对象的视频文件中,根据Alpha平面,判断对应的对象属性,属于该对象的像素保留,不属于该对象的像素置零,帧数加一转入步骤VIII;
步骤IV:对于非I帧,计算左目前一帧中按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和;
步骤V:读入右目压缩信息,包括压缩帧数,每帧图像的宽和高,I帧压缩质量和插入I帧的间隔;计算右目前一帧和左目对应帧中按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,转入步骤VI;
步骤VI:从对应的压缩文件中读入块的划分信息和Huffman码流以及非I帧的Alpha平面,从而得到非I帧所有宏块的划分方式和每一个小块的迭代函数系统系数,利用Alpha平面判别该图像块的区域属性,将当前块分成内部块、外部块和边界块;对于内部块,按照每一宏块进行分形解码;外部块不用处理;边界块用均值代替,进行分形解码,转入步骤VII;所述参考帧为当前帧的已经编码并重建的前一帧;
步骤VII:采用去方块环路滤波方法:首先对边界的类型进行判断,定义参数块边缘强度,针对不同强度的块边缘,选择的滤波器和所需要滤波的像素点数也不一样,如果为帧内编码且为宏块边界,则采用强滤波;若不是帧内编码且不是宏块边界,仿射块边界采用一级滤波,非仿射块边界不需要滤波;其他情况采用二级滤波;最后按照每一宏块进行解码;所述仿射块为由仿射变换得到的块,所述非仿射块为不是由仿射变换得到的块;
步骤VIII:判断此时所有帧是否都已解码,若都解码完毕,结束解码过程,否则转入步骤II。
对于每一个宏块进行解压缩时,首先判断该宏块在编码时的划分方式,对于每一个子块,首先在父块域找到与该子块相对应的区域,然后利用下面的公式获得该子块的像素值:
ri=s·di+o                       (7)
其中ri为待解码子块的像素值,di为父块域中的像素值,s为比例因子,o为偏移因子。
在基于对象的解码过程中,利用Alpha平面判别该图像块的区域属性,将当前块分成内部块、外部块和边界块;当前块中只有属于该对象区域的像素,即内部块才进行解码;在父块域中只利用属于同一对象区域的像素进行解码,假如父块域中的某个子块中部分像素不属于该视频对象即边界块,这部分像素的值用该子块中属于该对象区域的像素的平均值代替。
所述步骤VII中的块边缘强度用BS表示;其中,P0′,Q0′,P1′,Q1′表示滤波后的像素值,P0,P1,Q0,Q1表示原始的像素值,不同的BS和对应的滤波器如下:
BS=3时,需要进行强滤波,滤波器表示为:
P0′=(P1+P0+Q0)/3
Q0′=(P0+Q0+Q1)/3
(8)
P1′=(2·P1+Q0′)/3
Q1′=(2·Q1+Q0′)/3
BS=2时,二级滤波器表示为:
P0′=(P1+2·P0+Q0)/4               (9)
Q0′=(P0+2·Q0+Q1)/4
BS=1时,一级滤波器表示为:
P0′=(P1+3·P0+Q0)/5               (10)
Q0′=(P0+3·Q0+Q1)/5
当BS=0时,不进行滤波。
在快速的双目立体视频分形解码过程中,左目用常规单目的运动补偿预测(MCP)编码,右目的每个图像块通过运动补偿预测(MCP)和视差补偿预测(DCP)两种方式进行预测,从中选择误差较小的一种作为预测结果。
处理的视频序列为YUV格式,分别对3个分量中的每个采用上述七个步骤进行处理。
本发明所提出的快速双目立体视频分形压缩方法的优点在于:
(1)本方法在每个子块的匹配过程中,充分利用分形编码特点,采用了预搜索限制条件,提前去除不太匹配的父块,提高了编码性能和速度。
(2)本方法在分形编码算法中引入了分数像素块匹配技术,对于很多块,在一个内插到半像素精度的区域进行搜索可能会找到更好的匹配,为了获得更精确的运动向量和更高的压缩比。
(3)本方法在每个子块的匹配过程中利用改进的非对称十字形多层次六边形格点搜索算法,充分将图像特征和分形压缩相结合,大大提高了编码速度。
(4)本方法在进行子块的块匹配之前,计算当前帧互不重叠的宏块及其经树状划分之后得到的小块的像素和与像素平方和。在参考帧中,按照匹配步长分别计算各宏块以及经树状划分以后得到的小块的像素和与像素平方和,同时计算分数像素内插值对应小块的像素和、像素平方和。这样就避免了在块匹配过程中出现重复计算的弊端,大大节约了子块的匹配时间。
(5)本方法中,在进行DCP编码方式时,充分利用视差分布约束条件,包括外极线约束、方向性约束和空域相关性与时域相关性三个方面,对DCP搜索方式进行了简化运算,提出了一种新型快速搜索算法。
(6)本方法引入了基于对象的视频编码方法,利用Alpha平面判别该图像块的区域属性,将当前块分成内部块、外部块和边界块;基于对象的编码方法在非基于对象方法的基础之上又进一步提高了分形压缩的性能,不但增加了压缩比和峰值信噪比,而且使得压缩具有更大的灵活性。
(7)本方法在解码时,利用去方块环路滤波方法,来提高解码后图像质量,为后续的子块编码提供更佳的参考帧。
附图说明
图1(a)为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法的左目MCP压缩流程图;
图1(b)为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法的右目DCP压缩流程图;
图1(c)为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法的左目MCP解压缩流程图;
图1(d)为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法的右目DCP解压缩流程图;
图1(e)为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法的DCP快速算法流程图;
图2(a)为标准测试视频序列“ion.cif”的第2帧的左目图像;
图2(b)为标准测试视频序列“ion.cif”的第2帧的右目图像;
图2(c)为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法得到的标准测试视频序列“ion.cif”的第2帧左目的Alpha分割平面;
图2(d)为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法得到的标准测试视频序列“ion.cif”的第2帧右目的Alpha分割平面;
图2(e)为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法单独解码经本发明方法压缩编码以后的标准测试视频序列“ion.cif”的第2帧左目的前景视频对象的结果图像;
图2(f)为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法单独解码经本发明方法压缩编码以后的标准测试视频序列“ion.cif”的第2帧右目的前景视频对象的结果图像;
图2(g)为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法单独解码经本发明方法压缩编码以后的标准测试视频序列“ion.cif”的第2帧左目的结果图像;
图2(h)为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法单独解码经本发明方法压缩编码以后的标准测试视频序列“ion.cif”的第2帧右目的结果图像;
图2(i)为经全搜索方法解码以后的双目立体视频序列“ion.cif”的第2帧左目结果图像;
图2(j)为经全搜索方法解码以后的双目立体视频序列“ion.cif”的第2帧右目结果图像;
图3(a)为本发明一种基于对象的快速双目立体视频分形压缩与解码缩方法中的UMHexagonS算法搜索路线图;
图3(b)为本发明一种基于对象的快速双目立体视频分形压缩与解码缩方法中的UMHexagonS算法的起始点预测图;
图4(a)为本发明一种基于对象的快速双目立体视频分形压缩与解码缩方法中的分数像素块匹配的半像素内插示意图;
图4(b)为本发明一种基于对象的快速双目立体视频分形压缩与解码缩方法中的分数像素块匹配的整数点分数匹配示意图;
图5(a)为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法对宏块的四种划分模式图;
图5(b)为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法对宏块的划分模式四进一步进行划分的四种划分模式图;
图6为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法的MCP和DCP结构示意图;
图7为双目立体平行摄像系统成像原理图;
图8(a)为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法对基于对象的三种图像块的标记图;
图8(b)为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法对边界块属于不同视频对象区域的像素的标记图;
图9(a)为本发明一种基于对象的快速双目立体视频分形压缩与解码缩方法中的去方块环路滤波的垂直边界临域的采样示意图;
图9(b)为本发明一种基于对象的快速双目立体视频分形压缩与解码缩方法中的去方块环路滤波的块边缘强度判决树示意图;
图10(a)为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法的DCP快速算法与传统的全搜索方法对“ion.cif”双目立体视频序列左右两个通道的2~5帧进行压缩的前景对象1压缩比的对比图。
图10(b)为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法的DCP快速算法与传统的全搜索方法对“ion.cif”双目立体视频序列左右两个通道的2~5帧进行压缩的前景对象1PSNR的对比图。
图10(c)为本发明一种基于对象的快速双目立体视频分形压缩与解压缩方法的DCP快速算法与传统的全搜索方法对“ion.cif”双目立体视频序列左的2~5帧进行压缩的压缩时间的对比图。
具体实施方式
下面将结合附图对本发明方法作进一步的详细说明,仅以亮度分量Y为例,色差分量U和V的压缩步骤与亮度分量相同。
本发明提出了一种基于对象的快速双目立体视频分形压缩与解压缩方法,在编码中以左通道为基本层,采用单独的运动补偿预测方式(MCP)进行编码,首先对左目的起始帧采用块DCT变换编码,对左目的非I帧进行块运动估计/补偿编码,计算与子块域和父块域相关子块的像素和与像素平方和,同时计算分数像素内插值对应块的像素和、像素平方和,然后进行预搜索限制条件判断,并在前一帧搜索窗中利用分数像素块匹配和改进的非对称十字形多层次六边形格点搜索算法寻找最相似的匹配块。右通道为增强层,采用MCP加视差补偿预测方式(DCP)进行编码,选择误差最小的作为预测结果。在进行DCP编码方式时,充分利用分数像素块匹配和视差分布约束条件。在解码过程中利用去方块环路滤波进行解码。
如附图1(a)和图1(b)所示,一种基于对象的快速双目立体视频分形压缩方法,包括以下步骤:
步骤一:以标准测试立体视频序列“ion.cif”的前5帧为例。利用自动视频对象分割方法对视频序列进行自动分割,获取Alpha平面。视频中的对象可以通过Alpha平面进行定义,并且可以独立进行压缩编码。附图2(a)是标准测试立体视频序列“ion.cif”左目的第2帧,附图2(b)是标准测试立体视频序列“ion.cif”右目的第2帧,附图2(c)为该帧左目的Alpha平面,前景用白色表示,背景用黑色表示。附图2(d)为该帧右目的Alpha平面;如附图2(a)所示,图像中有两个视频对象,那么Alpha平面就可以是一个二值图像,用白色代表前景,黑色代表背景。每个对象都可以独立地进行压缩,使得每个对象组成一个码流。所以在解压缩时,不需要得到整幅图像,而是可以单独恢复和控制每个对象。单独解压缩左目前景视频对象的结果为附图2(e),单独解压缩右目前景视频对象的结果为附图2(f),整帧左目解压缩的结果为附图2(g),整帧右目解压缩的结果为附图2(h),利用全搜索方法之后的左目解压缩图像为附图2(i),右目解压缩图像为附图2(j)。引入基于对象的编码不但提高了压缩性能,而且增加了视频编码方法的灵活性。
步骤二:以双目立体视频序列“ion.cif”的前5帧为例。所述I帧为视频序列起始帧或者视频序列中只进行帧内编码的图像帧;所述块DCT变换中的块采用固定大小模式。对于右目,转到步骤九;
对视频序列“ion.cif”左目的起始帧,首先判断是否为I帧,若是I帧,对每一个图像块分别采用基于块DCT变换的I帧帧内图像压缩方法,将起始帧划分为8×8的互不重叠的子块,对每一子块分别进行DCT变换。离散余弦变换将8×8的图像样本X,变换成8×8的系数矩阵Y。变换过程(包括反变换)可以用变换矩阵A来表示。
8×8样本块的正向DCT(FDCT)变换如下:
Y=AXAT                          (11)
反向DCT(IDCT)如下:
X=ATYA                          (12)
其中A是8×8的变换矩阵。A中的各个元素如下:
A ij = C i cos ( 2 j + 1 ) iπ 16 - - - ( 13 )
其中
C i = 1 8 ( i = 0 ) C i = 1 2 ( i > 0 ) - - - ( 14 )
i,j分别为矩阵A的行和列。
对变换系数进行量化和编码,转入步骤十五;否则,转到步骤三;
步骤三:若左目为非I帧,用常规单目的运动补偿预测(MCP)编码,对图像进行互不重叠的16×16宏块划分,分别计算当前帧互不重叠的16×16,16×8,8×16,8×8,8×4,4×8,4×4的小块的像素和与像素的平方和。然后分别计算参考帧也就是前一帧的解压缩图像中以1为步长的大小分别为16×16,16×8,8×16,8×8,8×4,4×8,4×4的小块的像素和与像素的平方和,同时计算分数像素内插值对应16×16,16×8,8×16,8×8,8×4,4×8,4×4的小块的像素和、像素平方和,以减少块匹配过程中的重复计算。从第一个宏块开始处理,依次对当前帧的所有16×16宏块进行编码,转到步骤四;所述将当前帧划分为固定大小的互不重叠的图像块称为宏块;所述将当前宏块进行树状划分得到的块称为小块;所述当前帧为正在进行压缩的帧,所述参考帧为当前帧的已经编码并重建的前一帧;所述当前帧所有块的集合称为子块域;所述前一帧的所有块的集合称为父块域;
步骤四:在当前帧中按照互不重叠的16×16的宏块进行块匹配,利用Alpha平面判别该图像块的区域属性;根据该宏块的类型,做出如下的选择,如果该宏块不在Alpha平面内,对该块不做处理,继续处理下一宏块;如果该宏块全部位于Alpha平面内,转入步骤五;如果该宏块部分位于Alpha平面内,转入步骤十四。如果当前帧宏块全部匹配完毕后,转入步骤十五。所述不在当前编码的视频对象区域内的块称为外部块,所述全部都在当前编码的视频对象区域内的块称为内部块,所述部分像素不在当前编码的视频对象区域内的块为边界块。
步骤五:依次对当前帧的所有16×16宏块进行编码,在父块域中的搜索窗内对整个宏块进行块运动估计/补偿;在进行子块与父块的匹配过程中,子块的位置作为父块的起始搜索点,父块的大小与子块的大小相同,转到步骤六;
步骤六:利用分数像素块匹配和改进的非对称十字形多层次六边形格点搜索算法,充分根据分形编码的特点,搜索出最佳的匹配误差。改进的非对称十字形多层次六边形格点搜索算法,其原始搜索路线如图3(a)所示,相比于H.264中的非对称六边形算法,本方法的改进主要体现在以下三点:
1)起始点预测
基于分形的视频编码算法没有涉及到多参考帧,并且宏块和子块具有不同的大小,故利用如图3(b)所示的三种方式进行起始点预测:
a)空域中值预测:取当前子块的左、上、右相邻块的运动矢量中间值为预测运动矢量;
b)原点预测:根据时间相关性,令运动矢量取值为(0,0);
c)相邻参考帧预测:利用前一参考帧中对应位置块的MV按比例进行预测;
2)非对称十字模板搜索时的阈值转移条件
分形编码的子块和父块的误差匹配准则R为式(3)、(4)、(5)。根据块的大小不同选择不同的阈值,非对称十字模板搜索完毕,择最佳匹配点作为新的起始点进行后续模版的匹配;
3)提前终止条件
根据分形编码算法的特点将提前终止分为两种情况:一是在非均匀多层次六边形格点整像素运动搜索过程中,除了该算法本身的提前终止条件外,为了减少搜索复杂度如果最优点位于六边形中心,可停止搜索;二是基于分形的视频编码算法采用树状划分结构。如图5(a)所示,首先按照模式1进行非均匀多层次六边形格点整像素运动搜索方法,如果满足阈值条件,那么终止该宏块的编码,进行下一宏块的编码,否则按照模式2将模式1的宏块进行划分,对每个子块进行非均匀多层次六边形格点整像素运动搜索方法的运动估计,并以此类推。
然后搜索分数像素内插值对应小块处的RMS点,步骤如下
1)对参考帧中搜索区域内的像素进行内插形成一个相对于在整数位置的像素更高分辨率的区域;
2)在内插区域进行整数像素和半像素位置搜索找到最佳匹配;
3)用匹配块的仿射变换来替代当前块。
如图4(a)所示,a代表原来的整数像素,b和c代表通过一对整数像素a线性插值后的像素值,d代表通过周围四个整数像素a线性插值后的像素值,箭头表示内插方向。直到找到最小的RMS点,如图4(b)所示,假设A点为整数像素搜索最优点,在其周围进行分数像素的运动搜索,如点1、2、3、4、5、6、7、8,虽然计算量有所增加,但是半像素运动估计和运动补偿的性能明显好于整数像素的运动估计和运动补偿,转到步骤七;
步骤七:预搜索限制条件判断:对于特定的子块,有如下推导,其中,bi为子块的像素值,ai为父块的像素值,s为分形编码中的比例因子,o为偏移因子,||a||代表二维范数,即||a||=(|a1|2+|a2|2+…+|an|2)1/2
RMS = Σ i = 1 n ( s · a i + o - b i ) 2
= Σ i = 1 n ( s · a i + 1 n [ Σ i = 1 n b i - s Σ i = 1 n a i ] - b i ) 2
= Σ i = 1 n ( ( a i - Σ i = 1 n a i n ) · [ n Σ i = 1 n a i b i - Σ i = 1 n a i Σ i = 1 n b i ] [ n Σ i = 1 n a i 2 - ( Σ i = 1 n a i ) 2 ] + Σ i = 1 n b i n - b i ) 2
= Σ i = 1 n ( ( a i - a ‾ ) · [ Σ i = 1 n a i b i - n a ‾ b ‾ ] [ Σ i = 1 n a i 2 - n a ‾ 2 ] + b ‾ - b i ) 2
= Σ i = 1 n ( ( a i - a ‾ ) · Σ i = 1 n ( b i - b ‾ ) ( a i - a ‾ ) | | a i - a ‾ | | 2 + b ‾ - b i ) 2
= | | b i - b ‾ | | 2 Σ i = 1 n ( ( a i - a ‾ ) | | a i - a ‾ | | · Σ i = 1 n ( b i - b ‾ ) ( a i - a ‾ ) | | b i - b ‾ | | | | a i - a ‾ | | - b i - b ‾ | | b i - b ‾ | | ) 2 - - - ( 15 )
a ^ = ( a i - a ‾ ) | | a i - a ‾ | | , b ^ = ( b i - b ‾ ) | | b i - b ‾ | | , 且可知 | | a ^ | | 2 = 1 , | | b ^ | | 2 = 1 , 则R可推导如下:
RMS = | | b i - b ‾ | | 2 Σ i = 1 n ( a ^ · Σ i = 1 n b ^ a ^ - b ^ ) 2
= | | b i - b ‾ | | 2 ( 1 - ( Σ i = 1 n b ^ a ^ ) 2 ) - - - ( 16 )
其中对于每个确定的子块,是已知的,为了得到最小匹配误差RMS,
Figure BDA0000073992330000194
的取值要求越小越好,在每个子块的匹配过程中,预搜索限制条件为:0.9<m<1。若与父块对应值满足预搜索限制条件,则转到步骤八;否则直接保存当前的迭代函数系统系数即IFS系数,转入步骤四编码下一宏块;
步骤八:树状划分进一步匹配:匹配的依据是分形迭代函数系统原理,简要介绍一下分形图像压缩的数学基础-迭代函数系统(IFS:Iterative Function System)理论。设D是Rn欧氏空间的子集,ω为D→D的映射,如果存在一个实数C,0≤C<1,使得对于Rn上的度量d,满足对任意x,y∈D,有d(ω(x),ω(y))≤C(d(x,y)),则称ω为压缩映射,实数C称为ω的压缩因子。完备的度量空间(X,d)以及n个压缩映射ωi:X→X(其压缩因子分别为C1,C2,...Cn)一起,就组成一个迭代函数系统(Iterated Function System),简称IFS,记作{X:ω1,ω2,...,ωn}。C=max(C1,C2,...,Cn)称为IFS的压缩因子。因此{R2:ω1,ω2,ω3}就是一个IFS。
分形图像压缩中,一般的匹配准则是RMS,即:
RMS = 1 N [ Σ i = 1 N r i 2 + s ( s Σ i = 1 N d i 2 - 2 Σ i = 1 N r i d i + 2 o Σ i = 1 N d i 2 ) + o ( N · o - 2 Σ i = 1 N r i ) ] - - - ( 17 )
其中s,o分别为:
s = [ N Σ i = 1 N r i d i - Σ i = 1 N r i Σ i = 1 N d i ] [ N Σ i = 1 N d i 2 - ( Σ i = 1 N d i ) 2 ] - - - ( 18 )
o = 1 N [ Σ i = 1 N r i - s Σ i = 1 N d i ] - - - ( 19 )
其中,N为子块和父块像素的个数,ri为子块的像素值,di为父块的像素值。
首先设定子块的匹配误差阈值γ=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,返回步骤四,继续下一宏块的匹配。
否则,按照树状结构对该宏块进行划分,对宏块的划分有四种模式,如附图4(a),模式一为一个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、否则对模式四中的每一个小块按照附图4(b)中的模式划分顺序进行划分,可依次划分为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、返回步骤四,继续下一宏块的编码。
如果当前帧所有的宏块都已编码完毕,且是左目,则转到步骤十五,若是右目,则执行步骤十;
步骤九:对于右目,首先进行互不重叠的16×16宏块划分,分别计算当前帧互不重叠的16×16,16×8,8×16,8×8,8×4,4×8,4×4的小块的像素和与像素的平方和。然后分别计算参考帧也就是前一帧的解压缩图像中以1为步长的大小分别为16×16,16×8,8×16,8×8,8×4,4×8,4×4的小块的像素和与像素的平方和,同时计算分数像素内插值对应16×16,16×8,8×16,8×8,8×4,4×8,4×4的小块的像素和、像素平方和,以减少块匹配过程中的重复计算。附图6为双目立体视频编码的MCP和DCP结构示意图,右目中,每个宏块使用DCP从左目中预测,使用MCP从右目的前一帧预测。编码器首先在右目的前一帧中搜索,选择最匹配的D块;从第一个宏块开始处理,依次对当前帧的所有16×16宏块进行编码,转入步骤四;
步骤十:然后编码器在左目对应帧的解压缩图像中以1为步长的大小分别为16×16,16×8,8×16,8×8,8×4,4×8,4×4的小块的像素和与像素的平方和,同时计算分数像素内插值对应16×16,16×8,8×16,8×8,8×4,4×8,4×4的小块的像素和、像素平方和,进行搜索选择最匹配的D块。从第一个宏块开始处理,依次对当前帧的所有16×16宏块进行编码,转入步骤十一;
步骤十一:对当前正在处理的图像块即当前块,利用Alpha平面判别该图像块的区域属性;如果该块不在当前编码的视频对象区域内,对该块不做处理;如果该块全部都在当前编码的视频对象区域内,转入步骤十二;如果该块的部分像素在当前编码的视频对象区域内,部分像素不在当前编码的视频对象区域内,需要单独处理,转入步骤十四;如果所有的宏块都已处理完毕,则转到步骤十五;
步骤十二:首先对与当前子块位置相同的父块进行块匹配,得到RMS,并保存迭代函数系统系数,该系数包括父块与子块的相对位移矢量(x,y),比例因子s和偏移因子o;依次对当前帧的所有宏块进行编码,在父块域中的搜索窗内首先对该宏块进行块匹配;在进行子块与父块的匹配过程中,子块的位置作为父块的起始搜索点,父块的大小与子块的大小相同并转入步骤十三,执行完步骤十三返回之后,如果所得的匹配误差RMS小于开始设定的阈值γ,则保存当前的迭代函数系统系数即IFS系数,转入步骤十二编码下一宏块;否则,依次按照树状结构对该块进行划分,并对各个划分得到的小块分别转入步骤十三,执行完步骤十三返回之后计算匹配误差RMS,如果RMS小于设定阈值γ,则停止划分并记录该小块IFS系数,转入步骤十二编码下一宏块;否则继续划分,直到将当前块划分为预先设定的最小块,转入步骤十三计算RMS,执行完步骤十三返回之后记录IFS系数,转入步骤十二编码下一宏块;最后与步骤八所得结果比较,选择误差最小的作为预测结果;所述搜索窗为在参考帧中的矩形搜索区域;所述IFS系数包括父块位置(x,y)和比例因子s、偏移因子o;如果当前帧所有的宏块都已编码完毕,则转到步骤十五;
步骤十三:充分利用分数像素块匹配和视差分布约束条件:将上一个视差估计矢量作为当前帧的搜索中心,在水平方向沿初始点的右侧进行搜索,在搜索过程中进行跳跃式搜索;点匹配完之后,向右间隔三个点进行搜索,进行比较,直到找到最小的RMS;同时对分数像素位置进行相同的操作,比较得到更小的RMS,图1(e)为视差补偿预测DCP快速算法流程图,具体实现如下:
视差分布约束条件包括:
1)外极线约束;对于左目中的图像上的一点,通过相对定向参数找出右目中的图像上与其对应的极线,其对应点在上述极线上搜索;对于平行系统的视差搜索,沿扫描线,进行x方向的搜索即可;最佳匹配点位于偏振线上即水平线上;在立体平行摄像系统中,沿水平方向进行DCP搜索;
如图7,两摄像机在同一时刻观看空间同一特征点P(xc,yc,zc),在左目中的图像和右目中的图像的坐标分别为pleft=(Xleft,Yleft),pright=(Xright,Yright);其中点P(xc,yc,zc)与两个光心所确定的平面称为偏振平面,偏振平面与左右图像的交线称为偏振线;由几何关系得到,其中:f表示摄像机的焦距,B为两摄像机的投影中心连线的距离,即基线距,zc为世界坐标系下特征点P的Z坐标:
X left = f x c z c X right = f ( x c - B ) z c Y = f y c z c - - - ( 20 )
2)方向性约束;对于同一个景物,其透视投影左目中的图像相对于右目中的图像局部地向左移动;同一空间点在两图像平面中的投影位置差矢量即视差视差D表示相对深度,对于同一特征点,其透视投影左目中的图像是右目中的图像沿水平负向的局部平移;同一空间点在右目中的图像上的图像坐标比在左目中的图像上的图像坐标偏右,在搜索时沿一个方向进行;
3)空域相关性与时域相关性:连续变化视差场中的视差矢量有相关性,即同一帧内视差矢量之间存在相关性;对于相邻两帧图像,仅有少数像素发生了运动,多数像素的位置并没有变化;对于位置不变的像素来说,其视差基本不变;在进行视差估计时,用前一帧图像的对应视差矢量作为搜索起始点进行小范围内的搜索,从而快速找到实际视差矢量;
结束DCP搜索过程;
步骤十四:为了在匹配子块与父块时,避免将属于不同对象的像素相混淆,对每一个像素在Alpha平面中做一个标记,标明被标记的像素是属于哪一对象的,如附图8(a)所示,此边界块的像素被标记为S1和S2两个部分。
边界块的具体压缩方法:假设当前压缩的是对象1(压缩对象2时,方法相同),即S1所在的对象。对于与子块相关的量,只计算在S1区域内的像素值,而S2区域内的像素不予以考虑;对于与父块有关的量,若与子块相对应的位置的父块中的某一像素di也属于S1区域,则使用di的原像素值,否则,按照特定的计算值来代替di,本发明中使用的是父块中属于S1区域的像素均值来代替di。需要说明的是,匹配映射只在同类块之间进行,即子块和父块必须同时是边界块或者同时是内部块(外部块),返回步骤五进行处理;
步骤十五:对所有IFS系数进行Huffman编码,Huffman编码是根据出现的概率将每个符号映射到一个变长码字的集合(VLC)上,降低IFS系数数据的统计冗余。判断当前帧是否为最后一帧,如果是最后一帧结束编码,否则,返回步骤二继续处理下一帧图像。
如附图1(c)和图1(d)所示,一种基于对象的快速双目立体视频分形解压缩方法,包括以下步骤:
步骤I:首先读入左目压缩信息,包括压缩帧数,每帧的宽和高,I帧重建质量,插入I帧的间隔;
步骤II:判断解码帧是否为I帧,若是I帧转入步骤III,否则转入步骤IV;
步骤III:对于I帧,从压缩文件中读入码流,并读入该帧的Alpha平面进行解码,进行反DCT变换,得到每一个8×8的块的像素值,解码之后的文件包括基于不同对象的视频文件和完整的视频文件,在基于对象的视频文件中,根据Alpha平面,判断对应的对象属性,属于该对象的像素保留,不属于该对象的像素置零,帧数加一转入步骤VIII;
步骤IV:对于非I帧,计算左目前一帧即参考帧中按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和;
步骤V:读入右目压缩信息,包括压缩帧数,每帧图像的宽和高,I帧压缩质量和插入I帧的间隔;计算右目前一帧和左目对应帧即参考帧中按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,转入步骤VI;
步骤VI:从压缩文件中读入块的划分信息和Huffman码流及非I帧的Alpha平面,从而得到非I帧所有宏块的划分方式和每一个小块的迭代函数系统系数,转入步骤VII;所述参考帧为当前帧的已经编码并重建的前一帧;
步骤VII:采用去方块环路滤波方法:首先对边界的类型进行判断,定义参数块边缘强度,针对不同强度的块边缘,选择的滤波器和所需要滤波的像素点数也不一样,如图9(a)所示,垂直边界临域的采样示意图,如果为帧内编码且为宏块边界,则采用强滤波;若不是帧内编码且不是宏块边界,仿射块边界采用一级滤波,非仿射块边界不需要滤波;其他情况采用二级滤波;最后按照每一宏块进行解码;具体选择如图9(b)所示,块边缘强度用BS表示;其中,P0′,Q0′,P1′,Q1′表示滤波后的像素值,P0,P1,Q0,Q1表示原始的像素值,不同的BS和对应的滤波器如下,所述仿射块为由仿射变换得到的块,所述非仿射块为不是由仿射变换得到的块;
BS=3时,需要进行强滤波,滤波器表示为:
P0′=(P1+P0+Q0)/3
Q0′=(P0+Q0+Q1)/3
(21)
P1′=(2·P1+P0′)/3
Q1′=(2·Q1+Q0′)/3
BS=2时,二级滤波器表示为:
P0′=(P1+2·P0+Q0)/4
(22)
Q0′=(P0+2·Q0+Q1)/4
BS=1时,一级滤波器表示为:
P0′=(P1+3·P0+Q0)/5
(23)
Q0′=(P0+3·Q0+Q1)/5
当BS=0时,不进行滤波。
按照每一宏块进行解码,对于每一个宏块进行解压缩时,首先判断该宏块在编码时的划分方式,对于每一个子块,首先在父块域找到与该子块相对应的区域,然后利用下面的公式获得该子块的像素值,
ri=s·di+o                  (24)
其中ri为待解码子块的像素值,di为父块域中的像素值,s为比例因子,o为偏移因子。
在基于对象的解码过程中,利用Alpha平面判别该图像块的区域属性,将当前块分成内部块、外部块和边界块;当前块中只有属于该对象区域的像素才进行解码,在父块域中只利用属于同一对象区域的像素进行解码,假如父块域中的某个子块中部分像素不属于该视频对象,这部分像素的值用该子块中属于该对象区域的像素的平均值代替,进行分形解码。
步骤VIII:判断此时所有帧是否都已解码,若都解码完毕,结束解码过程,否则转入步骤II。
处理的双目立体视频序列为YUV格式,分别对3个分量中的每个采用上述八个步骤进行处理。
本方法选择Visual C++6.0作为所述方法的实现语言,CPU为
Figure BDA0000073992330000251
CoreTM 2DuoT8300,2.4GHz主频,内存大小为2G,对标准测试立体视频序列“ion.cif”进行了快速的双目立体视频分形编码实验。
表1、表2和表3分别为双目立体视频基于对象1和对象2的平均性能参数结果,其中压缩时间是处理完二目的总时间平均值。对“ion.cif”双目立体视频序列2~5帧采用全搜索算法和本文所提出的快速搜索算法进行编码结果的平均值如表1所示。从图10、表1、表2和表3可以看到,对“ion.cif”双目立体视频序列,采用快速搜索算法的搜索时间仅为全搜索算法的0.342倍,PSNR值减少了0.75~1.58dB,但是压缩比增加了10~48.3。
Figure BDA0000073992330000252
表1立体视频序列压缩性能均值对比
Figure BDA0000073992330000253
表2立体视频序列PSNR均值对比
Figure BDA0000073992330000261
表3立体视频序列压缩时间对比
对“ion.cif”双目立体视频序列左右两个通道1~5帧进行了实验,大小为352×288像素,YUV 4:2:0制式的双目立体视频序列。本文基于快速分形立体视频编码算法,比较的对象为基本层为分形编码方法,而增强层在进行DCP编码时一种采用传统全搜索算法,另一种采用本文所提出的快速搜索算法和其他改进。主要从增强目视频图像重建质量、压缩比和运算复杂度三方面对二者进行对比。其中重建帧质量用峰值信噪比(PSNR)表示,编码度用压缩时间表示。MCP水平和垂直搜索范围都是[-7,7],DCP全搜索水平搜索范围为[-50,50],本文所提快速DCP水平搜索范围[0,6],垂直搜索范围,所得实验结果如图10所示。

Claims (13)

1.一种基于对象的快速双目立体视频分形压缩方法,其特征在于具体步骤如下:
步骤一:利用自动视频对象分割方法对视频序列进行自动分割,获取每一帧的视频对象分割平面即Alpha平面,根据得到的视频对象分割平面确定要编码的视频对象区域;
步骤二:对于左目,首先判断起始帧是否为I帧,若是I帧,则对该帧进行互不重叠的固定大小的块划分,对每一个图像块分别采用基于块DCT变换的I帧帧内图像压缩方法,对图像进行单独编码和解码,转到步骤十五;否则,转到步骤三;所述I帧为视频序列起始帧或者视频序列中只进行帧内编码的图像帧;所述块DCT变换中的块采用固定大小模式;对于右目,转到步骤九;
步骤三:若左目为非I帧,用常规单目的运动补偿预测(MCP)编码,将当前帧划分为固定大小的互不重叠的宏块,然后计算这些宏块以及经树状划分得到的小块的像素和、像素平方和,以及当前帧的已经编码并重建的前一帧即参考帧中,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,同时计算分数像素内插值对应块的像素和、像素平方和,转到步骤四;所述当前帧为正在进行压缩的帧;所述当前帧所有块的集合称为子块域;所述前一帧的所有块的集合称为父块域;
步骤四:对当前正在处理的图像块即当前块,利用Alpha平面判别该图像块的区域属性;如果该块不在当前编码的视频对象区域内,对该块不做处理;如果该块全部都在当前编码的视频对象区域内,转入步骤五;如果该块的部分像素在当前编码的视频对象区域内,部分像素不在当前编码的视频对象区域内,需要单独处理,转入步骤十四;如果所有的宏块都已处理完毕,则转到步骤十五;所述不在当前编码的视频对象区域内的块称为外部块,所述全部都在当前编码的视频对象区域内的块称为内部块,所述部分像素不在当前编码的视频对象区域内的块为边界块;
步骤五:依次对当前帧的所有宏块进行编码,在父块域中的搜索窗内首先对该宏块进行块匹配;在进行子块与父块的匹配过程中,子块的位置作为父块的起始搜索点,父块的大小与子块的大小相同,转到步骤六;
步骤六:利用改进的非对称十字形多层次六边形格点搜索算法,然后利用分数像素块匹配,搜索分数像素内插值对应小块处的RMS点,搜索出最佳的匹配误差RMS,转到步骤七;
步骤七:预搜索限制条件判断:对于特定的子块,若与父块对应值满足预搜索限制条件,则转到步骤八;否则直接保存当前的迭代函数系统系数即IFS系数,转入步骤四编码下一宏块;
步骤八:如果匹配误差RMS小于开始设定的阈值γ,保存当前的迭代函数系统系数即IFS系数,转入步骤四编码下一宏块;否则,依次按照树状结构对该块进行划分,并对各个划分得到的小块利用分数像素块匹配和改进的非对称十字形多层次六边形格点搜索算法,分别计算匹配误差RMS,如果RMS小于设定阈值γ,则停止划分并记录该小块IFS系数,转入步骤四编码下一宏块;否则继续划分,直到将当前块划分为预先设定的最小块,记录IFS系数;转入步骤四编码下一宏块;所述搜索窗为在参考帧中的矩形搜索区域;所述IFS系数包括父块位置(x,y)和比例因子s、偏移因子o;如果当前帧所有的宏块都已编码完毕,且是左目,则转到步骤十五;若是右目,则执行步骤十;
步骤九:对右目图像,首先进行互不重叠的宏块划分,然后计算这些宏块以及经树状划分得到的小块的像素和、像素平方和,以及右目前一帧重建图像参考帧,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,同时计算分数像素内插值对应块的像素和、像素平方和,以减少块匹配过程中的重复计算,转到步骤四;
步骤十:计算左目中对应帧图像的参考帧,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,同时计算分数像素内插值对应块的像素和、像素平方和,以减少块匹配过程中的重复计算,转到步骤十一;
步骤十一:对当前正在处理的图像块即当前块,利用Alpha平面判别该图像块的区域属性;如果该块不在当前编码的视频对象区域内,对该块不做处理;如果该块全部都在当前编码的视频对象区域内,转入步骤十二;如果该块的部分像素在当前编码的视频对象区域内,部分像素不在当前编码的视频对象区域内,需要单独处理,转入步骤十四;如果所有的宏块都已处理完毕,则转到步骤十五;
步骤十二:首先对与当前子块位置相同的父块进行块匹配,得到RMS,并保存迭代函数系统系数,该系数包括父块与子块的相对位移矢量(x,y),比例因子s和偏移因子o;依次对当前帧的所有宏块进行编码,在父块域中的搜索窗内首先对该宏块进行块匹配;在进行子块与父块的匹配过程中,子块的位置作为父块的起始搜索点,父块的大小与子块的大小相同并转入步骤十三,执行完步骤十三返回之后,如果所得的匹配误差RMS小于开始设定的阈值γ,则保存当前的迭代函数系统系数即IFS系数,转入步骤十二编码下一宏块;否则,依次按照树状结构对该块进行划分,并对各个划分得到的小块分别转入步骤十三,执行完步骤十三返回之后计算匹配误差RMS,如果RMS小于设定阈值γ,则停止划分并记录该小块IFS系数,转入步骤十二编码下一宏块;否则继续划分,直到将当前块划分为预先设定的最小块,转入步骤十三计算RMS,执行完步骤十三返回之后记录IFS系数,转入步骤十二编码下一宏块;最后与步骤八所得结果比较,选择误差最小的作为预测结果;所述搜索窗为在参考帧中的矩形搜索区域;所述IFS系数包括父块位置(x,y)和比例因子s、偏移因子o;如果当前帧所有的宏块都已编码完毕,则转到步骤十五;
步骤十三:充分利用分数像素块匹配和视差分布约束条件:将上一个视差估计矢量作为当前帧的搜索中心,在水平方向沿初始点的右侧进行搜索,在搜索过程中进行跳跃式搜索;点匹配完之后,向右间隔三个点进行搜索,进行比较,直到找到最小的RMS;然后对分数像素位置进行相同的操作,比较得到更小的RMS,结束视差补偿预测DCP搜索过程;
步骤十四:单独处理边界块,当前帧的边界块只在父块中的属于边界块和内部块中搜索匹配,当前块和父块的像素选取准则是:在当前块中只计算位于当前编码的视频对象区域内的像素值,只在参考帧的相同视频对象区域内进行块匹配;对于父块中,如果与当前块的相对应位置的父块中的某一像素也属于该视频对象区域,则采用原像素值,否则,用其它属于该视频对象区域像素的平均值代替;转到步骤五;
步骤十五:对所有IFS系数进行Huffman编码,降低IFS系数数据的统计冗余;判断当前帧是否为最后一帧,如果是最后一帧结束编码;否则,返回步骤二继续处理下一帧图像。
2.根据权利要求1所述的一种基于对象的快速双目立体视频分形压缩方法,其特征在于:处理的视频序列为YUV格式,分别对3个分量中的每个采用上述十五个步骤进行处理。
3.根据权利要求1所述的一种基于对象的快速双目立体视频分形压缩方法,其特征在于:所述步骤六中分数像素块匹配,包括以下步骤:
1)对参考帧中搜索区域内的像素进行内插形成一个相对于在整数位置的像素更高分辨率的区域;
2)在内插区域进行整数像素和半像素位置搜索找到最佳匹配;
3)用匹配块的仿射变换来替代当前块。
4.根据权利要求1所述的一种基于对象的快速双目立体视频分形压缩方法,其特征在于:所述步骤六中改进的非对称十字形多层次六边形格点搜索算法,相比于H.264中的非对称六边形算法,本方法的改进主要体现在以下三点:
1)起始点预测
基于分形的视频编码算法没有涉及到多参考帧,并且宏块和子块具有不同的大小,故利用三种方式进行起始点预测:
a)空域中值预测:取当前子块的左、上、右相邻块的运动矢量中间值为预测运动矢量;
b)原点预测:根据时间相关性,令运动矢量取值为(0,0);
c)相邻参考帧预测:利用前一参考帧中对应位置块的MV按比例进行预测;
2)非对称十字模板搜索时的阈值转移条件
分形编码的子块和父块的误差匹配准则R为式(3)、(4)、(5);根据块的大小不同选择不同的阈值,非对称十字模板搜索完毕,择最佳匹配点作为新的起始点进行后续模版的匹配;
3)提前终止条件
根据分形编码算法的特点将提前终止分为两种情况:一是在非均匀多层次六边形格点整像素运动搜索过程中,除了该算法本身的提前终止条件外,为了减少搜索复杂度如果最优点位于六边形中心,可停止搜索;二是基于分形的视频编码算法采用树状划分结构。
5.根据权利要求1所述的一种基于对象的快速双目立体视频分形压缩方法,其特征在于:所述步骤七中预搜索限制条件为以下形式,其中,bi为子块的像素值,ai为父块的像素值,s为分形编码中的比例因子,o为偏移因子:
RMS = Σ i = 1 n ( s · a i + o - b i ) 2
= Σ i = 1 n ( s · a i + 1 n [ Σ i = 1 n b i - s Σ i = 1 n a i ] - b i ) 2
= Σ i = 1 n ( ( a i - Σ i = 1 n a i n ) · [ n Σ i = 1 n a i b i - Σ i = 1 n a i Σ i = 1 n b i ] [ n Σ i = 1 n a i 2 - ( Σ i = 1 n a i ) 2 ] + Σ i = 1 n b i n - b i ) 2
= Σ i = 1 n ( ( a i - a ‾ ) · [ Σ i = 1 n a i b i - n a ‾ b ‾ ] [ Σ i = 1 n a i 2 - n a ‾ 2 ] + b ‾ - b i ) 2
= Σ i = 1 n ( ( a i - a ‾ ) · Σ i = 1 n ( b i - b ‾ ) ( a i - a ‾ ) | | a i - a ‾ | | 2 + b ‾ - b i ) 2
= | | b i - b ‾ | | 2 Σ i = 1 n ( ( a i - a ‾ ) | | a i - a ‾ | | · Σ i = 1 n ( b i - b ‾ ) ( a i - a ‾ ) | | b i - b ‾ | | | | a i - a ‾ | | - b i - b ‾ | | b i - b ‾ | | ) 2 - - - ( 1 )
a ^ = ( a i - a ‾ ) | | a i - a ‾ | | , b ^ = ( b i - b ‾ ) | | b i - b ‾ | | , 且可知 | | a ^ | | 2 = 1 , | | b ^ | | 2 = 1 , 则R可推导如下:
RMS = | | b i - b ‾ | | 2 Σ i = 1 n ( a ^ · Σ i = 1 n b ^ a ^ - b ^ ) 2
= | | b i - b ‾ | | 2 ( 1 - ( Σ i = 1 n b ^ a ^ ) 2 ) - - - ( 2 )
其中对于每个确定的子块,
Figure FDA0000073992320000059
是已知的,为了得到最小匹配误差RMS,
Figure FDA00000739923200000510
的取值要求越小越好,在每个子块的匹配过程中,预搜索限制条件为:0.9<m<1。
6.根据权利要求1所述的一种基于对象的快速双目立体视频分形压缩方法,其特征在于:所述步骤八中对该块采用树状划分,块匹配采用匹配误差准则,子块与父块的匹配误差RMS为:
RMS = 1 N [ Σ i = 1 N r i 2 + s ( s Σ i = 1 N d i 2 - 2 Σ i = 1 N r i d i + 2 o Σ i = 1 N d i 2 ) + o ( N · o - 2 Σ i = 1 N r i ) ] - - - ( 3 )
其中参数s和o分别为:
s = [ N Σ i = 1 N r i d i - Σ i = 1 N r i Σ i = 1 N d i ] [ N Σ i = 1 N d i 2 - ( Σ i = 1 N d i ) 2 ] - - - ( 4 )
o = 1 N [ Σ i = 1 N r i - s Σ i = 1 N d i ] - - - ( 5 )
其中,N为子块和父块像素的个数,ri为子块的像素值,di为父块的像素值;
计算当前宏块在参考帧中的块匹配误差RMS,其中ri是子块的像素值,di是父块的像素值;如果RMS小于预先设定的阈值γ,记录IFS系数,IFS系数包括匹配块的位移矢量(x,y)和公式(4),(5)中的s和o,处理下一宏块;否则,对当前宏块进行树状划分,计算划分后小块的RMS,如果小于阈值γ,则停止划分,否则继续划分,直到子块达到预先设定的最小块为止。
7.根据权利要求1所述的一种基于对象的快速双目立体视频分形压缩方法,其特征在于:所述步骤十三中视差分布约束条件如下:
1)外极线约束;对于左目中的图像上的一点,通过相对定向参数找出右目中的图像上与其对应的极线,其对应点在上述极线上搜索;对于平行系统的视差搜索,沿扫描线,进行x方向的搜索即可;最佳匹配点位于偏振线上即水平线上;在立体平行摄像系统中,沿水平方向进行DCP搜索;
两摄像机在同一时刻观看空间同一特征点P(xc,yc,zc),在左目中的图像和右目中的图像的坐标分别为pleft=(Xleft,Yleft),pright=(Xright,Yright);其中点P(xc,yc,zc)与两个光心所确定的平面称为偏振平面,偏振平面与左右图像的交线称为偏振线;由几何关系得到,其中:f表示摄像机的焦距,B为两摄像机的投影中心连线的距离,即基线距,zc为世界坐标系下特征点P的Z坐标:
X left = f x c z c X right = f ( x c - B ) z c Y = f y c z c - - - ( 6 )
2)方向性约束;对于同一个景物,其透视投影左目中的图像相对于右目中的图像局部地向左移动;同一空间点在两图像平面中的投影位置差矢量即视差
Figure FDA0000073992320000062
视差D表示相对深度,对于同一特征点,其透视投影左目中的图像是右目中的图像沿水平负向的局部平移;同一空间点在右目中的图像上的图像坐标比在左目中的图像上的图像坐标偏右,在搜索时沿一个方向进行;
3)空域相关性与时域相关性:连续变化视差场中的视差矢量有相关性,即同一帧内视差矢量之间存在相关性;对于相邻两帧图像,仅有少数像素发生了运动,多数像素的位置并没有变化;对于位置不变的像素来说,其视差基本不变,在进行视差估计时,用前一帧图像的对应视差矢量作为搜索起始点进行小范围内的搜索,从而快速找到实际视差矢量。
8.一种基于对象的快速双目立体视频分形解压缩方法,包含以下步骤:
步骤I:首先读入左目压缩信息,包括压缩帧数,每帧图像的宽和高,I帧压缩质量和插入I帧的间隔;
步骤II:判断解码帧是否为I帧,若是I帧转入步骤III,否则转入步骤IV;
步骤III:对于I帧,从压缩文件中读入码流,并读入该帧的Alpha平面进行解码,解码之后的文件包括基于不同对象的视频文件和完整的视频文件,在基于对象的视频文件中,根据Alpha平面,判断对应的对象属性,属于该对象的像素保留,不属于该对象的像素置零,帧数加一转入步骤VIII;
步骤IV:对于非I帧,计算左目前一帧中按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和;
步骤V:读入右目压缩信息,包括压缩帧数,每帧图像的宽和高,I帧压缩质量和插入I帧的间隔;计算右目前一帧和左目对应帧中按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,转入步骤VI;
步骤VI:从对应的压缩文件中读入块的划分信息和Huffman码流以及非I帧的Alpha平面,从而得到非I帧所有宏块的划分方式和每一个小块的迭代函数系统系数,利用Alpha平面判别该图像块的区域属性,将当前块分成内部块、外部块和边界块;对于内部块,按照每一宏块进行分形解码;外部块不用处理;边界块用均值代替,进行分形解码,转入步骤VII;所述参考帧为当前帧的已经编码并重建的前一帧;
步骤VII:采用去方块环路滤波方法:首先对边界的类型进行判断,定义参数块边缘强度,针对不同强度的块边缘,选择的滤波器和所需要滤波的像素点数也不一样,如果为帧内编码且为宏块边界,则采用强滤波;若不是帧内编码且不是宏块边界,仿射块边界采用一级滤波,非仿射块边界不需要滤波;其他情况采用二级滤波;最后按照每一宏块进行解码;所述仿射块为由仿射变换得到的块,所述非仿射块为不是由仿射变换得到的块;
步骤VIII:判断此时所有帧是否都已解码,若都解码完毕,结束解码过程,否则转入步骤II。
9.根据权利要求8所述的一种基于对象的快速双目立体视频分形解压缩方法,其特征在于:对于每一个宏块进行解压缩时,首先判断该宏块在编码时的划分方式,对于每一个子块,首先在父块域找到与该子块相对应的区域,然后利用下面的公式获得该子块的像素值,
ri=s·di+o                        (7)
其中ri为待解码子块的像素值,di为父块域中的像素值,s为比例因子,o为偏移因子。
10.根据权利要求8所述的一种基于对象的快速双目立体分形视频解压缩方法,其特征在于:在基于对象的解码过程中,利用Alpha平面判别该图像块的区域属性,将当前块分成内部块、外部块和边界块;当前块中只有属于该对象区域的像素,即内部块才进行解码,在父块域中只利用属于同一对象区域的像素进行解码,假如父块域中的某个子块中部分像素不属于该视频对象即边界块,这部分像素的值用该子块中属于该对象区域的像素的平均值代替。
11.根据权利要求8所述的一种基于对象的快速双目立体分形视频解压缩方法,所述步骤VII中的块边缘强度用BS表示;其中,P0′,Q0′,P1′,Q1′表示滤波后的像素值,P0,P1,Q0,Q1表示原始的像素值,不同的BS和对应的滤波器如下:
BS=3时,需要进行强滤波,滤波器表示为:
P0′=(P1+P0+Q0)/3
Q0′=(P0+Q0+Q1)/3
(8)
P1′=(2·P1+P0′)/3
Q1′=(2·Q1+Q0′)/3
BS=2时,二级滤波器表示为:
P0′=(P1+2·P0+Q0)/4
(9)
Q0′=(P0+2·Q0+Q1)/4
BS=1时,一级滤波器表示为:
P0′=(P1+3·P0+Q0)/5
(10)
Q0′=(P0+3·Q0+Q1)/5
当BS=0时,不进行滤波。
12.根据权利要求8所述的一种基于对象的快速双目立体视频分形解压缩方法,其特征在于:在快速的双目分形视频解压缩方法过程中,左目用常规单目的运动补偿预测(MCP)编码,右目的每个图像块通过运动补偿预测(MCP)和视差补偿预测(DCP)两种方式进行预测,从中选择误差较小的一种作为预测结果。
13.根据权利要求8所述的一种基于对象的快速双目立体视频分形解压缩方法,其特征在于:处理的视频序列为YUV格式,分别对3个分量中的每个采用上述八个步骤进行处理。
CN2011101879309A 2011-07-06 2011-07-06 一种基于对象的快速双目立体视频分形压缩与解压缩方法 Expired - Fee Related CN102263952B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011101879309A CN102263952B (zh) 2011-07-06 2011-07-06 一种基于对象的快速双目立体视频分形压缩与解压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011101879309A CN102263952B (zh) 2011-07-06 2011-07-06 一种基于对象的快速双目立体视频分形压缩与解压缩方法

Publications (2)

Publication Number Publication Date
CN102263952A true CN102263952A (zh) 2011-11-30
CN102263952B CN102263952B (zh) 2013-12-11

Family

ID=45010380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011101879309A Expired - Fee Related CN102263952B (zh) 2011-07-06 2011-07-06 一种基于对象的快速双目立体视频分形压缩与解压缩方法

Country Status (1)

Country Link
CN (1) CN102263952B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581647A (zh) * 2013-09-29 2014-02-12 北京航空航天大学 一种基于彩色视频运动矢量的深度图序列分形编码方法
CN105874788A (zh) * 2013-12-30 2016-08-17 高通股份有限公司 对3d视频译码中较大预测块的逐段dc译码的简化
CN111770342A (zh) * 2020-06-19 2020-10-13 艾索信息股份有限公司 一种视频无级缩放方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1716316A (zh) * 2004-06-28 2006-01-04 微软公司 基于彩色分割的立体3d重构系统和方法
CN1812580A (zh) * 2005-01-04 2006-08-02 三星电子株式会社 去块控制方法及使用该方法的多层视频编码器/解码器
CN101420617A (zh) * 2008-11-24 2009-04-29 北京航空航天大学 一种十字六边形运动估计搜索方法
CN101980537A (zh) * 2010-10-21 2011-02-23 北京航空航天大学 一种基于对象和分形的双目立体视频压缩编解码方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1716316A (zh) * 2004-06-28 2006-01-04 微软公司 基于彩色分割的立体3d重构系统和方法
CN1812580A (zh) * 2005-01-04 2006-08-02 三星电子株式会社 去块控制方法及使用该方法的多层视频编码器/解码器
CN101420617A (zh) * 2008-11-24 2009-04-29 北京航空航天大学 一种十字六边形运动估计搜索方法
CN101980537A (zh) * 2010-10-21 2011-02-23 北京航空航天大学 一种基于对象和分形的双目立体视频压缩编解码方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581647A (zh) * 2013-09-29 2014-02-12 北京航空航天大学 一种基于彩色视频运动矢量的深度图序列分形编码方法
CN103581647B (zh) * 2013-09-29 2017-01-04 北京航空航天大学 一种基于彩色视频运动矢量的深度图序列分形编码方法
CN105874788A (zh) * 2013-12-30 2016-08-17 高通股份有限公司 对3d视频译码中较大预测块的逐段dc译码的简化
CN105874788B (zh) * 2013-12-30 2017-11-14 高通股份有限公司 对3d视频译码中较大预测块的逐段dc译码的简化
US10306265B2 (en) 2013-12-30 2019-05-28 Qualcomm Incorporated Simplification of segment-wise DC coding of large prediction blocks in 3D video coding
CN111770342A (zh) * 2020-06-19 2020-10-13 艾索信息股份有限公司 一种视频无级缩放方法
CN111770342B (zh) * 2020-06-19 2023-09-05 艾索信息股份有限公司 一种视频无级缩放方法

Also Published As

Publication number Publication date
CN102263952B (zh) 2013-12-11

Similar Documents

Publication Publication Date Title
CN101980537B (zh) 一种基于对象和分形的双目立体视频压缩编解码方法
CN101980538B (zh) 一种基于分形的双目立体视频压缩编解码方法
CN102970529B (zh) 一种基于对象的多视点视频分形编码压缩与解压缩方法
CN102291579B (zh) 一种快速的多目立体视频分形压缩与解压缩方法
CN102905150B (zh) 一种新的多视点视频分形编码压缩与解压缩方法
CN103503460B (zh) 译码视频数据的方法和设备
CN103037218B (zh) 一种基于分形和h.264的多目立体视频压缩与解压缩方法
CN102263951B (zh) 一种快速的分形视频压缩与解压缩方法
CN103051894B (zh) 一种基于分形和h.264的双目立体视频压缩与解压缩方法
KR100738867B1 (ko) 다시점 동영상 부호화/복호화 시스템의 부호화 방법 및시점간 보정 변이 추정 방법
CN101496412A (zh) 具有域变换的基于网络的视频压缩
CN102316323B (zh) 一种快速的双目立体视频分形压缩与解压缩方法
CN102685532A (zh) 自由视点四维空间视频编码系统的编码方法
CN103098475B (zh) 图像编码方法和装置、图像解码方法和装置
CN101980536B (zh) 一种基于对象和分形的多目立体视频压缩编解码方法
CN101980539B (zh) 一种基于分形的多目立体视频压缩编解码方法
CN102917233A (zh) 空间遥操作环境下立体视频编码优化方法
CN102263952B (zh) 一种基于对象的快速双目立体视频分形压缩与解压缩方法
US20160037172A1 (en) Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, image encoding program, and image decoding program
CN102263953B (zh) 一种基于对象的快速多目立体视频分形压缩与解压缩方法
CN102263954B (zh) 一种基于对象的快速分形视频压缩与解压缩方法
CN103647969B (zh) 一种基于对象的快速分形视频压缩与解压缩方法
Lee et al. 3D motion estimation algorithm in 3D video coding
Huang et al. Prediction-oriented disparity rectification model for geometry-based light field compression
Daribo et al. Dense disparity estimation in multiview video coding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131211

Termination date: 20140706

EXPY Termination of patent right or utility model