CN102263953B - 一种基于对象的快速多目立体视频分形压缩与解压缩方法 - Google Patents
一种基于对象的快速多目立体视频分形压缩与解压缩方法 Download PDFInfo
- Publication number
- CN102263953B CN102263953B CN2011101881385A CN201110188138A CN102263953B CN 102263953 B CN102263953 B CN 102263953B CN 2011101881385 A CN2011101881385 A CN 2011101881385A CN 201110188138 A CN201110188138 A CN 201110188138A CN 102263953 B CN102263953 B CN 102263953B
- Authority
- CN
- China
- Prior art keywords
- block
- piece
- pixel
- sub
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种基于对象的快速多目立体视频分形压缩与解压缩方法,选取中间目为参考目,使用MCP压缩,其它目使用DCP+MCP压缩。中间目为参考目,采用单独的运动补偿预测方式MCP编码,利用视频分割方法获得视频对象分割平面即Alpha平面对起始帧采用块DCT变换编码,对非I帧进行块运动估计/补偿编码,计算与子块域和父块域相关子块的像素和与像素平方和,计算分数像素内插值对应块的像素和、像素平方和,判断预搜索限制条件,在前一帧搜索窗中利用分数像素块匹配和改进的非对称十字形多层次六边形格点搜索算法寻找最相似的块。左目和右目采用MCP加视差补偿预测方式DCP编码,在DCP编码中,利用分数像素块匹配和视差分布约束条件。在解码过程中利用去方块环路滤波解码。
Description
技术领域
本发明属于视频压缩编码领域,涉及多目立体视频的压缩编码,特别涉及一种基于对象和分形的视频压缩编码方法,为立体视频编码的实时性应用奠定了基础,进一步提高了分形多目立体视频压缩编码的性能。
背景技术
基于对象(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年代提出(参见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)方法中,为了保证起始帧经过自身的循环解码能够近似收敛到原来的图像,压缩过程需要经过复杂变换、搜索和迭代等,压缩时间和图像质量难以达到要求。目前典型的分形图像和视频压缩方法的运算量很大,编码速度较慢,并且解码的质量有待提高,使得分形图像和视频压缩方法还需要进一步的改进和提高。
多视点视频(Multi-view Video)是一种新型的具有立体感和交互操作功能的视频,通过在场景中放置多台摄像机,记录下多个视点数据,提供给用户以视点选择和场景漫游的交互能力。多视点视频将在自由视点视频、立体电视、立体视频会议、多视点视频点播等数字娱乐领域有着非常广泛的应用前景。随着相机数目的增加,多视点视频的数据量也成倍增加(参见Chun Li,Lini MA.A Study ofMulti-view Video Coding Technology[J]Computers & Moderns,2009,1:104-108.)。拍摄场景不同角度的视频信息,利用其中的一个或多个视点信息可以合成任意视点的信息,达到自由视点显示和自由切换任意视点的目的(参见ISO/IEC JTC1/SC29/WG111 Call for Evidence on Multi-View Video Coding.DOC.N6720,Palma de Mallorca,Spain,2004.),(参见ISO IEC JTC 1/SC29/WG111 Surveyof Algorithms used for Multi-view Video Coding(MVC).DOC 1.N6909,Hong Kong,China,2005.),(参见ISO/IEC JTC1/SC29/WG111Requirements on Multi-view Video Coding 4.DOC.N7282,Poznan,Poland,2005.)。
本专利申请人已于2010年10月申请了两个有关分形多目视频编码的专利:一种基于对象的快速多目立体视频分形压缩编解码方法(201010522165.7CN 101980539A)和一种基于对象和分形的多目立体视频压缩编解码方法(201010522132.2CN101980536A)。本发明与上述公开文献不同在于:1)利用了预搜索限定条件;2)利用了分数像素块匹配;3)利用了改进的非对称十字形多层次六边形格点搜索算法;4)DCP编码方式时,充分利用视差分布约束条件;5)解码中,利用了去方块环路滤波。因此,编码性能有了很大的改善和提高。
发明内容
一种基于对象的快速多目立体视频分形压缩与解压缩方法,选取中间目为参考目,使用MCP压缩,其它目使用DCP+MCP压缩。中间目为参考目,采用单独的运动补偿预测方式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系数数据的统计冗余;判断当前帧是否为最后一帧,如果是最后一帧结束编码;否则,返回步骤二继续处理下一帧图像。
和中间目等距的左右目构成三目,所述三目分别进行MCP+DCP处理,每个处理彼此独立,左目内部或右目内部之间没有对应联系。
所述一种基于对象的快速多目立体视频分形压缩方法,处理的视频序列为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:
让 且可知 则R可推导如下:
的取值越小越好,在每个子块的匹配过程中,预搜索限制条件为:0.9<m<1。
所述步骤八中对该块采用树状划分,块匹配采用匹配误差准则,子块与父块的匹配误差RMS为:
其中参数s和o分别为:
其中,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坐标:
2)方向性约束;对于同一个景物,其透视投影左目中的图像相对于右目中的图像局部地向左移动;同一空间点在两图像平面中的投影位置差矢量即视差视差D表示相对深度,对于同一特征点,其透视投影左目中的图像是右目中的图像沿水平负向的局部平移;同一空间点在右目中的图像上的图像坐标比在左目中的图像上的图像坐标偏右,在搜索时沿一个方向进行;
3)空域相关性与时域相关性:连续变化视差场中的视差矢量有相关性,即同一帧内视差矢量之间存在相关性;对于相邻两帧图像,仅有少数像素发生了运动,多数像素的位置并没有变化;对于位置不变的像素来说,其视差基本不变;在进行视差估计时,用前一帧图像的对应视差矢量作为搜索起始点进行小范围内的搜索,从而快速找到实际视差矢量。
一种基于对象的快速多目立体视频分形解压缩方法,其特征在于包含以下步骤:
步骤I:首先读入中间目压缩信息,包括压缩帧数,每帧图像的宽和高,I帧压缩质量和插入I帧的间隔;
步骤II:判断解码帧是否为I帧,若是I帧转入步骤III,否则转入步骤IV;
步骤III:对于I帧,从压缩文件中读入码流,并读入该帧的Alpha平面进行解码,解码之后的文件包括基于不同对象的视频文件和完整的视频文件,在基于对象的视频文件中,根据Alpha平面,判断对应的对象属性,属于该对象的像素保留,不属于该对象的像素置零,帧数加一转入步骤IX;
步骤IV:对于非I帧,计算中间目前一帧中按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和;
步骤V:读入左目压缩信息,包括压缩帧数,每帧图像的宽和高,I帧压缩质量和插入I帧的间隔;计算左目前一帧和中间目对应帧中按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和;
步骤VI:读入右目压缩信息,包括压缩帧数,每帧图像的宽和高,I帧压缩质量和插入I帧的间隔;计算右目前一帧和中间目对应帧中按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和;
步骤VII:从对应的压缩文件中读入块的划分信息和Huffman码流,以及非I帧的Alpha平面,从而得到非I帧所有宏块的划分方式和每一个小块的迭代函数系统系数,利用Alpha平面判别该图像块的区域属性,将当前块分成内部块、外部块和边界块;对于内部块,按照每一宏块进行分形解码;外部块不用处理;边界块用均值代替,进行分形解码;转入步骤VIII;所述参考帧为当前帧的已经编码并重建的前一帧;
步骤VIII:采用去方块环路滤波方法:首先对边界的类型进行判断,定义参数块边缘强度,针对不同强度的块边缘,选择的滤波器和所需要滤波的像素点数也不一样,如果为帧内编码且为宏块边界,则采用强滤波;若不是帧内编码且不是宏块边界,仿射块边界采用一级滤波,非仿射块边界不需要滤波;其他情况采用二级滤波;最后按照每一宏块进行解码;所述仿射块为由仿射变换得到的块,所述非仿射块为不是由仿射变换得到的块;
步骤IX:判断此时所有帧是否都已解码,若都解码完毕,结束解码过程,否则转入步骤II。
对于每一个宏块进行解压缩时,首先判断该宏块在编码时的划分方式,对于每一个子块,首先在父块域找到与该子块相对应的区域,然后利用下面的公式获得该子块的像素值:
ri=s·di+o (7)
其中ri为待解码子块的像素值,di为父块域中的像素值,s为比例因子,o为偏移因子。
在基于对象的解码过程中,利用Alpha平面判别该图像块的区域属性,将当前块分成内部块、外部块和边界块;当前块中只有属于该对象区域的像素,即内部块才进行解码;在父块域中只利用属于同一对象区域的像素进行解码,假如父块域中的某个子块中部分像素不属于该视频对象即边界块,这部分像素的值用该子块中属于该对象区域的像素的平均值代替。
所述步骤VIII中的块边缘强度用BS表示;其中,P0′,Q0′,P1′,Q1′表示滤波后的像素值,P0,P1,Q0,Q1表示原始的像素值,不同的BS和对应的滤波器如下:
BS=3时,需要进行强滤波,滤波器表示为:
P0′=(P1+P0+P0)/3
Q0′=(P0+Q0+Q1)/3
P1′=(2·P1+P0′)/3(8)
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)本方法中,中间目的编码方式与单目分形编码相同;左目和右目中,除了采用前一帧作为参考帧外,加入了中间目对应的帧共同作为参考帧,选取误差最小的块作为父块,使得面向的范围更广,实现更好的效果。
(8)本方法在解码时,利用去方块环路滤波方法,来提高解码后图像质量,为后续的子块编码提供更佳的参考帧。
附图说明
图1(a)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法的左目DCP压缩流程图;
图1(b)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法的中间目MCP压缩流程图;
图1(c)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法的右目DCP压缩流程图;
图1(d)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法的左目DCP解压缩流程图;
图1(e)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法的中间目MCP解压缩流程图;
图1(f)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法的右目DCP解压缩流程图;
图1(g)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法的DCP快速算法流程图;
图2(a)为标准测试视频序列“anne.cif”的第2帧的左目图像;
图2(b)为标准测试视频序列“anne.cif”的第2帧的中间目图像;
图2(c)为标准测试视频序列“anne.cif”的第2帧的右目图像;
图2(d)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法得到的标准测试视频序列“anne.cif”的第2帧左目的Alpha分割平面;
图2(e)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法得到的标准测试视频序列“anne.cif”的第2帧的中间目Alpha分割平面;
图2(f)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法得到的标准测试视频序列“anne.cif”的第2帧右目的Alpha分割平面;
图2(g)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法单独解码经本发明方法压缩编码以后的标准测试视频序列“anne.cif”的第2帧左目的前景视频对象的结果图像;
图2(h)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法单独解码经本发明方法压缩编码以后的标准测试视频序列“anne.cif”的第2帧中间目的前景视频对象的结果图像;
图2(i)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法单独解码经本发明方法压缩编码以后的标准测试视频序列“anne.cif”的第2帧右目的前景视频对象的结果图像;
图2(j)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法单独解码经本发明方法压缩编码以后的标准测试视频序列“anne.cif”的第2帧左目视频的结果图像;
图2(k)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法单独解码经本发明方法压缩编码以后的标准测试视频序列“anne.cif”的第2帧中间目视频的结果图像;
图2(l)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法单独解码经本发明方法压缩编码以后的标准测试视频序列“anne.cif”的第2帧右目视频的结果图像;
图2(m)为经全搜索方法解码以后的多目立体视频序列“anne.cif”的第2帧左目视频的结果图像;
图2(n)为经全搜索方法解码以后的多目立体视频序列“anne.cif”的第2帧中间目视频的结果图像;
图2(o)为经全搜索方法解码以后的多目立体视频序列“anne.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)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法与传统的全搜索方法对“anne.cif”多目立体视频序列的2~5帧进行压缩的压缩比的对比图。
图10(b)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法与传统的全搜索方法对“anne.cif”多目立体视频序列的2~5帧进行压缩的PSNR的对比图。
图10(c)为本发明一种基于对象的快速多目立体视频分形压缩与解压缩方法与传统的全搜索方法对“anne.cif”多目立体视频序列的2~5帧进行压缩的压缩时间的对比图。
具体实施方式
下面将结合附图对本发明方法作进一步的详细说明,仅以亮度分量Y为例,色差分量U和V的压缩步骤与亮度分量相同。
一种基于对象的快速多目立体视频分形压缩与解压缩方法,选取中间目为参考目,使用MCP压缩,其它目使用DCP+MCP压缩。中间目为参考目,采用单独的运动补偿预测方式MCP编码,利用视频分割方法获得视频对象分割平面即Alpha平面对起始帧采用块DCT变换编码,对非I帧进行块运动估计/补偿编码,计算与子块域和父块域相关子块的像素和与像素平方和,计算分数像素内插值对应块的像素和、像素平方和,判断预搜索限制条件,在前一帧搜索窗中利用分数像素块匹配和改进的非对称十字形多层次六边形格点搜索算法寻找最相似的块。左目和右目采用MCP加视差补偿预测方式DCP编码,在DCP编码中,利用分数像素块匹配和视差分布约束条件。在解码过程中利用去方块环路滤波解码。
如附图1(a)、图1(b)和图1(c)所示,一种基于对象的快速多目立体视频分形压缩方法,包括以下步骤:
步骤一:以标准测试多目立体视频序列“anne.cif”的前5帧为例。利用自动视频对象分割方法对视频序列进行自动分割,获取Alpha平面。视频中的对象可以通过Alpha平面进行定义,并且可以独立进行压缩编码。附图2(a)是标准测试多目立体视频序列“anne.cif”左目的第2帧,附图2(b)是标准测试多目立体视频序列“anne.cif”中间目的第2帧,附图2(c)是标准测试多目立体视频序列“anne.cif”右目的第2帧,附图2(d)为该帧左目的Alpha平面,前景用白色表示,背景用黑色表示。附图2(e)为该帧中间目的Alpha平面;附图2(f)为该帧右目的Alpha平面;如附图2(a)所示,图像中有两个视频对象,那么Alpha平面就可以是一个二值图像,用白色代表前景,黑色代表背景。每个对象都可以独立地进行压缩,使得每个对象组成一个码流。所以在解压缩时,不需要得到整幅图像,而是可以单独恢复和控制每个对象。单独解压缩左目前景视频对象的结果为附图2(g),单独解压缩中间目前景视频对象的结果为附图2(h),单独解压缩右目前景视频对象的结果为附图2(i),整帧左目解压缩的结果为附图2(j),整帧中间目解压缩的结果为附图2(k),整帧右目解压缩的结果为附图2(l),利用全搜索方法之后的左目解压缩图像为附图2(m),中间目解压缩图像为附图2(n),右目解压缩图像为附图2(o)。引入基于对象的编码不但提高了压缩性能,而且增加了视频编码方法的灵活性。所述把正在进行压缩的帧称为当前帧,所述把当前帧的已经压缩并重建的前一帧称为参考帧。
步骤二:以多目立体视频序列“anne.cif”的前5帧为例。所述I帧为视频序列起始帧或者视频序列中只进行帧内编码的图像帧;所述块DCT变换中的块采用固定大小模式。对于左目转到步骤九;对于右目转到步骤十五。
对视频序列“anne.cif”中间目的起始帧,和中间目等距的左右目构成三目,所述三目分别进行MCP+DCP处理,每个处理彼此独立,左目内部或右目内部之间没有对应联系。首先判断是否为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中的各个元素如下:
其中
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:
让 且可知 则R可推导如下:
其中对于每个确定的子块,是已知的,为了得到最小匹配误差RMS,的取值越小越好,在每个子块的匹配过程中,预搜索限制条件为: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,即:
其中s,o分别为:
其中,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的小块的像素和、像素平方和,以减少块匹配过程中的重复计算。附图5为多目立体视频编码的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宏块进行编码,转入步骤十一;
步骤十一:在当前帧中按照互不重叠的16×16的宏块进行块匹配,利用Alpha平面判别该图像块的区域属性;根据该宏块的类型,做出如下的选择,如果该宏块不在Alpha平面内,对该块不做处理,继续处理下一宏块;如果该宏块全部位于Alpha平面内,转入步骤十二;如果该宏块部分位于Alpha平面内,转入步骤十四。如果当前帧宏块全部匹配完毕后,转入步骤十六。所述不在当前编码的视频对象区域内的块称为外部块,所述全部都在当前编码的视频对象区域内的块称为内部块,所述部分像素不在当前编码的视频对象区域内的块为边界块。
步骤十二:首先对与当前子块位置相同的父块进行块匹配,得到RMS,并保存迭代函数系统系数,该系数包括父块与子块的相对位移矢量(x,y),比例因子s和偏移因子o;依次对当前帧的所有宏块进行编码,在父块域中的搜索窗内首先对该宏块进行块匹配;在进行子块与父块的匹配过程中,子块的位置作为父块的起始搜索点,父块的大小与子块的大小相同并转入步骤十三,执行完步骤十三返回之后,如果所得的匹配误差RMS小于开始设定的阈值γ,则保存当前的迭代函数系统系数即IFS系数,转入步骤十二编码下一宏块;否则,依次按照树状结构对该块进行划分,并对各个划分得到的小块分别转入步骤十三,执行完步骤十三返回之后计算匹配误差RMS,如果RMS小于设定阈值γ,则停止划分并记录该小块IFS系数,转入步骤十二编码下一宏块;否则继续划分,直到将当前块划分为预先设定的最小块,转入步骤十三计算RMS,执行完步骤十三返回之后记录IFS系数,转入步骤十二编码下一宏块;最后与步骤六所得结果比较,选择误差最小的作为预测结果;所述搜索窗为在参考帧中的矩形搜索区域;所述IFS系数包括父块位置(x,y)和比例因子s、偏移因子o;如果当前帧所有的宏块都已编码完毕,则转到步骤十六;
步骤十三:充分利用分数像素块匹配和视差分布约束条件:将上一个视差估计矢量作为当前帧的搜索中心,在水平方向沿初始点的右侧进行搜索,在搜索过程中进行跳跃式搜索;点匹配完之后,向右间隔三个点进行搜索,进行比较,直到找到最小的RMS;同时对分数像素位置进行相同的操作,比较得到更小的RMS,图1(g)为视差补偿预测DCP快速算法流程图,具体实现如下:
视差分布约束条件包括:
1)外极线约束;对于左目中的图像上的一点,通过相对定向参数找出右目中的图像上与其对应的极线,其对应点在上述极线上搜索;对于平行系统的视差搜索,沿扫描线,进行x方向的搜索;最佳匹配点位于偏振线上即水平线上;在立体平行摄像系统中,沿水平方向进行DCP搜索;
如图7,两摄像机在同一时刻观看空间同一特征点P(xc,yc,zc),在左目中的图像和右目中的图像的坐标分别为pleft=(Xleft,Yleft),pright=(Xright,Yright);其中点P(xc,yc,zc)与两个光心所确定的平面称为偏振平面,偏振平面与左右图像的交线称为偏振线;由几何关系得到,其中:f表示摄像机的焦距,B为两摄像机的投影中心连线的距离,即基线距,zc为世界坐标系下特征点P的Z坐标:
2)方向性约束;对于同一个景物,其透视投影左目中的图像相对于右目中的图像局部地向左移动;同一空间点在两图像平面中的投影位置差矢量即视差视差D表示相对深度,对于同一特征点,其透视投影左目中的图像是右目中的图像沿水平负向的局部平移;同一空间点在右目中的图像上的图像坐标比在左目中的图像上的图像坐标偏右,在搜索时沿一个方向进行;
3)空域相关性与时域相关性:连续变化视差场中的视差矢量有相关性,即同一帧内视差矢量之间存在相关性;对于相邻两帧图像,仅有少数像素发生了运动,多数像素的位置并没有变化;对于位置不变的像素来说,其视差基本不变;在进行视差估计时,用前一帧图像的对应视差矢量作为搜索起始点进行小范围内的搜索,从而快速找到实际视差矢量;
结束DCP搜索过程;
步骤十四:为了在匹配子块与父块时,避免将属于不同对象的像素相混淆,对每一个像素在Alpha平面中做一个标记,标明被标记的像素是属于哪一对象的,如附图8(a)所示,此边界块的像素被标记为S1和S2两个部分。
边界块的具体压缩方法:假设当前压缩的是对象1(压缩对象2时,方法相同),即S1所在的对象。对于与子块相关的量,只计算在S1区域内的像素值,而S2区域内的像素不予以考虑;对于与父块有关的量,若与子块相对应的位置的父块中的某一像素di也属于S1区域,则使用di的原像素值,否则,按照特定的计算值来代替di,本发明中使用的是父块中属于S1区域的像素均值来代替di。需要说明的是,匹配映射只在同类块之间进行,即子块和父块必须同时是边界块或者同时是内部块(外部块),返回步骤五进行处理;
步骤十五:对于右目图像,首先进行互不重叠的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的小块的像素和、像素平方和,以减少块匹配过程中的重复计算,转到步骤四;
步骤十六:对所有IFS系数进行Huffman编码,Huffman编码是根据出现的概率将每个符号映射到一个变长码字的集合(VLC)上,降低IFS系数数据的统计冗余。判断当前帧是否为最后一帧,如果是最后一帧结束编码,否则,返回步骤二继续处理下一帧图像。
如附图1(d)、图1(e)和图1(f)所示,一种基于对象的快速多目立体视频分形解压缩方法,包括以下步骤:
步骤I:首先读入中间目压缩信息,包括压缩帧数,每帧的宽和高,I帧重建质量,插入I帧的间隔;
步骤II:判断解码帧是否为I帧,若是I帧转入步骤III,否则转入步骤IV;
步骤III:对于I帧,从压缩文件中读入码流,并读入该帧的Alpha平面进行解码,进行反DCT变换,得到每一个8×8的块的像素值,解码之后的文件包括基于不同对象的视频文件和完整的视频文件,在基于对象的视频文件中,根据Alpha平面,判断对应的对象属性,属于该对象的像素保留,不属于该对象的像素置零,帧数加一转入步骤IX;
步骤IV:对于非I帧,计算中间目前一帧即参考帧中按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和;
步骤V:读入左目压缩信息,包括压缩帧数,每帧图像的宽和高,I帧压缩质量和插入I帧的间隔;计算左目前一帧和中间目对应帧即参考帧中按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和;
步骤VI:读入右目压缩信息,包括压缩帧数,每帧图像的宽和高,I帧压缩质量和插入I帧的间隔;计算右目前一帧和中间目对应帧中按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,转入步骤VII;
步骤VII:从压缩文件中读入块的划分信息和Huffman码流及非I帧的Alpha平面,从而得到非I帧所有宏块的划分方式和每一个小块的迭代函数系统系数,转入步骤VIII;所述参考帧为当前帧的已经编码并重建的前一帧;
步骤VIII:采用去方块环路滤波方法:首先对边界的类型进行判断,定义参数块边缘强度,针对不同强度的块边缘,选择的滤波器和所需要滤波的像素点数也不一样,如图8(a)所示,垂直边界临域的采样示意图,如果为帧内编码且为宏块边界,则采用强滤波;若不是帧内编码且不是宏块边界,仿射块边界采用一级滤波,非仿射块边界不需要滤波;其他情况采用二级滤波;最后按照每一宏块进行解码;具体选择如图8(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平面判别该图像块的区域属性,将当前块分成内部块、外部块和边界块;当前块中只有属于该对象区域的像素才进行解码,在父块域中只利用属于同一对象区域的像素进行解码,假如父块域中的某个子块中部分像素不属于该视频对象,这部分像素的值用该子块中属于该对象区域的像素的平均值代替;
步骤IX:判断此时所有帧是否都已解码,若都解码完毕,结束解码过程,否则转入步骤II。
处理的立体视频序列为YUV格式,分别对3个分量中的每个采用上述九个步骤进行处理。
本方法选择Visual C++6.0作为所述方法的实现语言,CPU为CoreTM 2DuoT8300,2.4GHz主频,内存大小为2G,对标准测试多目视频序列“anne.cif”进行了快速的多目立体视频分形编码实验。
表1为视频中的三目视频的平均性能参数结果,其中压缩时间是处理完三目的总时间平均值。对“anne.cif”多目立体视频序列2~5帧采用全搜索算法和本文所提出的算法进行编码结果的平均值如表1所示。从图10和表1可以看到,对“anne.cif”多目立体视频序列,采用快速搜索算法的搜索时间仅为全搜索算法的0.26倍,PSNR值减少了1~2dB,但是压缩比增加了12~18。
表1多目立体视频序列压缩性能均值对比
Claims (7)
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;如果当前帧所有的宏块都已编码完毕,且是中间目,则转到步骤十六;若是左目或右目,则转到步骤十;
具体为:
首先设定子块的匹配误差阈值γ=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)返回步骤四,继续下一宏块的编码;
步骤九:对左目图像,首先进行互不重叠的宏块划分,然后计算这些宏块以及经树状划分得到的小块的像素和、像素平方和,以及左目前一帧重建图像参考帧,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,同时计算分数像素内插值对应块的像素和、像素平方和,以减少块匹配过程中的重复计算,转到步骤四;
步骤十:计算中间目中对应帧图像的参考帧,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,同时计算分数像素内插值对应块的像素和、像素平方和,以减少块匹配过程中的重复计算,转到步骤十一;
步骤十一:对当前正在处理的图像块即当前块,利用Alpha平面判别该图像块的区域属性;如果该块不在当前编码的视频对象区域内,对该块不做处理;如果该块全部都在当前编码的视频对象区域内,转入步骤十二;如果该块的部分像素在当前编码的视频对象区域内,部分像素不在当前编码的视频对象区域内,需要单独处理,转入步骤十四;如果所有的宏块都已处理完毕,则转到步骤十六;
步骤十二:首先对与当前子块位置相同的父块进行块匹配,得到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系数数据的统计冗余;判断当前帧是否为最后一帧,如果是最后一帧结束编码;否则,返回步骤二继续处理下一帧图像;
所述改进的非对称十字形多层次六边形格点搜索算法,相比于H.264中的非对称六边形算法,改进主要体现在以下三点:
1)起始点预测
基于分形的视频编码算法没有涉及到多参考帧,并且宏块和子块具有不同的大小,故利用三种方式进行起始点预测:
a)空域中值预测:取当前子块的左、上、右相邻块的运动矢量中间值为预测运动矢量;
b)原点预测:根据时间相关性,令运动矢量取值为(0,0);
c)相邻参考帧预测:利用前一参考帧中对应位置块的MV按比例进行预测;
2)非对称十字模板搜索时的阈值转移条件
根据块的大小不同选择不同的阈值,非对称十字模板搜索完毕,择最佳匹配点作为新的起始点进行后续模版的匹配;
3)提前终止条件
根据分形编码算法的特点将提前终止分为两种情况:一是在非均匀多层次六边形格点整像素运动搜索过程中,除了该算法本身的提前终止条件外,为了减少搜索复杂度如果最优点位于六边形中心,可停止搜索;二是基于分形的视频编码算法采用树状划分结构。
2.根据权利要求1所述的一种基于对象的快速多目立体视频分形压缩方法,其特征在于:和中间目等距的左右目构成三目,所述三目分别进行MCP+DCP处理,每个处理彼此独立,左目内部或右目内部之间没有对应联系。
3.根据权利要求1所述的一种基于对象的快速多目立体视频分形压缩方法,其特征在于:所述步骤六中分数像素块匹配,包括以下三个步骤:
1)对参考帧中搜索区域内的像素进行内插形成一个相对于在整数位置的像素更高分辨率的区域;
2)在内插区域进行整数像素和半像素位置搜索找到最佳匹配;
3)用匹配块的仿射变换来替代当前块。
4.根据权利要求1所述的一种基于对象的快速多目立体视频分形压缩方法,其特征在于:处理的视频序列为YUV格式,分别对3个分量中的每个采用上述十六个步骤进行处理。
6.根据权利要求1所述的一种基于对象的快速多目立体视频分形压缩方法,其特征在于:所述步骤八中对该块采用树状划分,块匹配采用匹配误差准则,子块与父块的匹配误差RMS为:
其中参数s和o分别为:
其中,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坐标:
2)方向性约束;对于同一个景物,其透视投影左目中的图像相对于右目中的图像局部地向左移动;同一空间点在两图像平面中的投影位置差矢量即视差视差D是深度z的函数,表示相对深度,对于同一特征点,其透视投影左目中的图像是右目中的图像沿水平负向的局部平移;同一空间点在右目中的图像上的图像坐标比在左目中的图像上的图像坐标偏右,在搜索时沿一个方向进行;
3)空域相关性与时域相关性:连续变化视差场中的视差矢量有相关性,即同一帧内视差矢量之间存在相关性;对于相邻两帧图像,仅有少数像素发生了运动,多数像素的位置并没有变化;对于位置不变的像素来说,其视差基本不变;在进行视差估计时,用前一帧图像的对应视差矢量作为搜索起始点进行小范围内的搜索,从而快速找到实际视差矢量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101881385A CN102263953B (zh) | 2011-07-06 | 2011-07-06 | 一种基于对象的快速多目立体视频分形压缩与解压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101881385A CN102263953B (zh) | 2011-07-06 | 2011-07-06 | 一种基于对象的快速多目立体视频分形压缩与解压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102263953A CN102263953A (zh) | 2011-11-30 |
CN102263953B true CN102263953B (zh) | 2013-12-11 |
Family
ID=45010381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101881385A Expired - Fee Related CN102263953B (zh) | 2011-07-06 | 2011-07-06 | 一种基于对象的快速多目立体视频分形压缩与解压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102263953B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103051894B (zh) * | 2012-10-22 | 2015-09-09 | 北京航空航天大学 | 一种基于分形和h.264的双目立体视频压缩与解压缩方法 |
CN103024390B (zh) * | 2012-12-21 | 2015-09-09 | 天津大学 | 用于视频编码中的运动估计的自适应搜索方法 |
US10375371B2 (en) * | 2016-07-15 | 2019-08-06 | Mediatek Inc. | Method and apparatus for filtering 360-degree video boundaries |
Citations (5)
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 | 北京航空航天大学 | 一种十字六边形运动估计搜索方法 |
CN101980536A (zh) * | 2010-10-21 | 2011-02-23 | 北京航空航天大学 | 一种基于对象和分形的多目立体视频压缩编解码方法 |
CN101980537A (zh) * | 2010-10-21 | 2011-02-23 | 北京航空航天大学 | 一种基于对象和分形的双目立体视频压缩编解码方法 |
-
2011
- 2011-07-06 CN CN2011101881385A patent/CN102263953B/zh not_active Expired - Fee Related
Patent Citations (5)
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 | 北京航空航天大学 | 一种十字六边形运动估计搜索方法 |
CN101980536A (zh) * | 2010-10-21 | 2011-02-23 | 北京航空航天大学 | 一种基于对象和分形的多目立体视频压缩编解码方法 |
CN101980537A (zh) * | 2010-10-21 | 2011-02-23 | 北京航空航天大学 | 一种基于对象和分形的双目立体视频压缩编解码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102263953A (zh) | 2011-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101980537B (zh) | 一种基于对象和分形的双目立体视频压缩编解码方法 | |
CN102291579B (zh) | 一种快速的多目立体视频分形压缩与解压缩方法 | |
CN102970529B (zh) | 一种基于对象的多视点视频分形编码压缩与解压缩方法 | |
CN102905150B (zh) | 一种新的多视点视频分形编码压缩与解压缩方法 | |
CN103037218B (zh) | 一种基于分形和h.264的多目立体视频压缩与解压缩方法 | |
CN101980538B (zh) | 一种基于分形的双目立体视频压缩编解码方法 | |
CN102263951B (zh) | 一种快速的分形视频压缩与解压缩方法 | |
CN102685532B (zh) | 自由视点四维空间视频编码系统的编码方法 | |
CN103051894B (zh) | 一种基于分形和h.264的双目立体视频压缩与解压缩方法 | |
CN101990103B (zh) | 用于多视点视频编码的方法和装置 | |
CN101986716A (zh) | 一种快速深度视频编码方法 | |
CN102438167B (zh) | 一种基于深度图像绘制的立体视频编码方法 | |
CN102316323B (zh) | 一种快速的双目立体视频分形压缩与解压缩方法 | |
CN101980536B (zh) | 一种基于对象和分形的多目立体视频压缩编解码方法 | |
Shen et al. | Inter mode selection for depth map coding in 3D video | |
CN101980539B (zh) | 一种基于分形的多目立体视频压缩编解码方法 | |
CN101242530B (zh) | 运动估计方法、基于运动估计的多视编解码方法及装置 | |
CN102263953B (zh) | 一种基于对象的快速多目立体视频分形压缩与解压缩方法 | |
CN102263952B (zh) | 一种基于对象的快速双目立体视频分形压缩与解压缩方法 | |
US20230328282A1 (en) | Decoding method, inter-view prediction method, decoder, and encoder | |
CN103647969B (zh) | 一种基于对象的快速分形视频压缩与解压缩方法 | |
WO2015056712A1 (ja) | 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラム、及び動画像復号プログラム | |
CN102263954B (zh) | 一种基于对象的快速分形视频压缩与解压缩方法 | |
Lee et al. | 3D motion estimation algorithm in 3D video coding | |
Xiang et al. | Auto-regressive model based error concealment scheme for stereoscopic 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 |