一种基于分形和h.264的视频压缩与解压缩方法

文档序号:7864440阅读:680来源:国知局
专利名称:一种基于分形和h.264的视频压缩与解压缩方法
技术领域
本发明属于信号处理中的视频压缩编码领域,特别针对新一代视频编码领域提出一种快速的分形视频压缩编码方法,在保证图像质量的前提下,大大加快了分形视频编码的速度和压缩比。
背景技术
视频编码标准H. 264具有更好的压缩性能以及面向网络传输的“友好性”。H. 264优秀的压缩性能是多种新技术产生效果的积累所致(参见Wiegand T Sullivan, GJ Bjontegard G,et al. Overview of the H. 264/AVC video coding standard[J].1EEETransaction on Circuits and Systems Video Technology,2003, 13(7):560-576.),包括4X4的整数变换、多种宏块分割模式、多参考帧和1/4像素精度的运动补偿等。新技术的应用使其具有更高的编码性能,但随之而来的是运算复杂度的大幅度增加。近年来陆续提出了许多对其进行简化和优化的方法。在以往的研究中多是从帧间宏块分割模式选择(参见 L. Yangj Y. Kemanj J. Li,S. L1. An effective variable block-sizeearly termination algorithm for H. 264video coding[J].1EEE Transactions onCircuits and Systems for Video Technology,2005,15 (6) : 784-788)和运动估计(参见 E. A. Al Qarallehj T.-S. Chang. Fast variable block size motion estimation byadaptive early termination[J].1EEE Transactions on Circuits and Systems forVideo Technology,2006,16(8) :1021-1026;李桂菊,刘刚,梁静秋.Η. 264 快速运动估计方法的改进[J].光学精密工程,2010,18(11) :2489-2496.)预测模式选择(参见Y. H. Moon, G. Y. Kimj J. H. Kim. An improved early detection algorithm for all-zeroblocks in H. 264 video encoding[J].1EEE Transactions on Circuits and Systems forVideo Technology, 2005,15 (8) : 1053-1057 ; J. You, W. Kimj J. Jeong. 16 X 16macroblockpartition size prediction for Η. 264P slices[J].1EEE Transactions on Consumer Electronics, 2006,52 (4) : 1377-1383.)等方面对Η. 264中消耗时间最多的帧间预测环节进行分析和改进,可以达到降低编码复杂度的效果,但是有进一步提高的可能性。分形理论最初由Mandelbrot于上世纪70年代提出(参见Benoit B. Mandelbrot.The FractalGeometry of Nature[Μ]. New York:W. H. Freeman and Company,1982.)。分形编码的数学基础是迭代函数系统(IFS)理论。Barnsley首先将分形编码用于交互式图像压缩(参见 Michael F. Barnsley,Alan D. Sloan. A better way to compress image [J].Byte Magazine,1988,13 (I) : 215-233·)。Jacqain提出了全自动的分形图像压缩方法(参见 Arnaud E. Jacquin. Anovel fractal blocking-coding technique for digitalimage[A].1EEE International Conference on Acoustics, Speech and Signal Processing[C],1990,4:2225-2228.),(参见 Arnaud E. Jacquin. Fractal image coding:areview [J]· Proceeding of the IEEE, 1993,81 (10) : 1451-1465.),该方法米用基于图像分块的方式以局部的仿射变换代替全局的仿射变换。之后,Fisher利用四叉树改进了这一方法(参见 Y. Fisher. Fractal Image Compression [J]. Fractals, 1994, 2 (3) : 347-361.),(参见 Y. Fisher, E. ff. Jacobs.1mage compression:A study the iterated transformmethod [J]. Signal Processing, 1992,29 (3),251-263.),(参见 Y. Fisher. FractalImage Compression:Theory and application to digital images[M]. NewYork: Spring-Verlag, 1995,55-77.),大大提高了编码效率,并成为目前分形图像编码中的主流方法。 在此基础之上,一些学者和研究人员把分形图像压缩的方法应用到视频序列的压缩上。Meiqing Wang等提出了综合基于数据立方体和基于帧的分形视频压缩方法(参见 Meiqing Wang, Cho1-Hong La1. A hybrid fractal video compression method[J].Computers&Mathematics with Applications, 2005,50(3-4):611-621.),(参见 MeiqingWang, Zhehuang Huang, Cho1-Hong La1. Matching search in fractal video compressionand its parallel implementation in distributed computing environments[J].Applied Mathematical Modeling, 2006,30 (8) : 677-687.),(参见 Meiqing Wang, RongLiu, Cho1-Hong La1. Adaptive partition and hybrid method in fractal videocompression[J]. Computers&Mathematics with Applications, 2006, 51 (11):1715-1726·)。其中最为经典和影响较大的参见(C. S. Kim,R.C. Kim, S. U. Lee. Fractal coding ofvideo sequence using circular prediction mapping and noncontractive interframemapping [J].1EEE Transactions on Image Processing, 1998,7 (4) : 601-605. X 该方法米用类似于标准视频编码方法所采用的运动估计/补偿技术,该方法利用了相邻帧之间的时间强相关性,对视频序列压缩取得了较好的效果。在CPM和NCIM中,子块域中的每个图像块都由来自相邻帧相同大小的父块域通过运动补偿得到。CPM和NCM两者间最大的不同在于CPM在解码的过程中需要具备收敛性,而NCIM不需要。但是在循环预测编码(CPM)方法中,为了保证起始帧经过自身的循环解码能够近似收敛到原来的图像,压缩过程需要经过复杂变换、搜索和迭代等,压缩时间和图像质量难以达到要求。目前典型的分形图像和视频压缩方法的运算量很大,编码速度较慢,并且解码的质量有待提高,使得分形图像和视频压缩方法还需要进一步的改进和提高。

发明内容
本发明提出了一种基于分形和H. 264的视频压缩与解压缩方法,首先对起始帧(I帧)采用基于H. 264的帧内预测编码得到预测帧,将预测帧与原始帧之差称为编码端残差帧,编码端残差帧进行DCT变换、量化、反量化和反DCT变换得到解码端残差帧。预测帧与解码端残差帧之和称为重建帧,可以作为下一帧的参考帧。对P帧进行块运动估计/补偿编码,计算与子块域和父块域相关子块的像素和与像素平方和,同时计算分数像素内插值对应块的像素和、像素平方和,在前一帧搜索窗中搜索方法寻找最相似的匹配块,记录块每次匹配过程的分形参数,将分形参数分别代入压缩迭代函数系统中得到P帧的预测帧,类似于I帧重建帧的获得方法得到P帧的重建帧。最后利用熵编码CALVC压缩I帧和P帧的残差帧和利用有符号指数哥伦布编码压缩分形系数。对应的解压缩过程为对I帧经过帧内预测得到预测帧,对于P帧经过前一帧的预测得到预测帧。有码流中的残差信息经过反量化,反DCT变换分别可以得到I帧和P帧的残差帧。每帧的预测帧和残差帧相加得到即为重建帧,可以作为下一帧的参考帧。一种基于分形和H. 264的视频压缩编码方法,包括以下步骤步骤一如果是P帧,转到步骤二 ;如果是I帧(第一帧必须为I帧,其它帧可以设置是否为I帧),采用H. 264帧内编码方式,对于每个当前块在各种可能的预测方式中选择具有最小代价的预测模式存储,完成所有块的预测后可以得到I帧的预测帧。通过原始帧和预测帧之差得到编码端残差帧。转入步骤四编码残差。步骤二 如果是P帧。在进行块匹配之前,首先对当前帧进行互不重叠的宏块划分,然后计算这些宏块以及经树状划分得到的小块的像素和、像素平方和,以及前一帧重建图像即参考帧中,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,以减少块匹配过程中的重复计算。转到步骤三。步骤三依次对当前帧的所有宏块进行编码。在参考帧中的搜索窗内首先对该宏块进行块匹配;在进行子块与父块的匹配过程中,子块的位置作为父块的起始搜索点,父块的大小与子块的大小相同;如果匹配误差RMS小于开始设定的阈值Y,保存当前的迭代函数系统系数即IFS系数,转入步骤五得到本块的重建块;否则,依次按照树状结构对该块进行划分,并对各个划分得到的小块分别计算匹配误差RMS,如果RMS小于设定阈值Y,停止划分并记录该小块IFS系数,转入步骤五得到本块的重建块;否则继续划分,直到将当前块划分为预先设定的最小块,记录IFS系数;转入步骤五得到本块的重建块。注搜索窗为在参考帧中的矩形搜索区域;I FS系数包括父块位置(X,y)和比例因子S、偏移因子ο ;如果当前帧所有的宏块都已编码完毕,所有的重建块组成重建图像(即下一帧的参考帧)。转到步骤四。步骤四残差图像的数据经过DCT、量化之后的系数一方面进行Zig-Zag扫描,然后用熵编码CALVC进行编码写入码流;另一方面经过反量化、反变换后得到解码端残差帧。再由预测帧和解码端残差帧之和得到重建图像(即下一帧的参考帧)。如果是P帧则还要对所有IFS系数进行有符号指数哥伦布编码。判断当前帧是否为最后一帧,如果是最后一帧结束编码;否则,返回步骤一继续处理下一帧图像。步骤五通过保存的迭代函数系统系数,通过解码方程计算得到预测值,然后原始块和预测块之差得到编码端残差块,再由预测块和解码端残差块之和得到重建块(即下一帧的参考块)。注解码端残差块是由编码端残差块经过DCT变换、量化、反量化和反DCT变换得到的。转入步骤三编码下一宏块。所述步骤四中对于P帧的所有分形系数的编码包括以下三个步骤I)如果当前块是处于I帧后的第一个P帧内,且是P帧的第一块,则按照有符号的指数哥伦布编码方式编码预测P帧所产生的所有分形系数;2)如果当前块是处于I帧后的第一个P帧内,但是不是P帧的第一块,则编码当前块与前一块的分形系数之差。如果当前块与前一块的预测方式不同,则按照4X4块的划分方式编码;3)如果当前块不是处于I帧后的第一个P帧内,则编码当前块与前一帧相同位置块的分形系数之差。如果两者的预测方式不同,则按照4X4块的划分方式编码。所述步骤三中对宏块采用树状划分,块匹配采用匹配误差准则,子块与父块的匹配误差RMS为
权利要求
1.一种基于分形和!1. 264的视频压缩与解压缩方法,其特征在于1帧采用H. 264的帧内预测编码;P帧采用分形的帧间运动估计/补偿预测方法ボ帧的残差经过DCT变换、量化之后使用熵编码CALVC写入码流;P帧形成的分形參数使用有符号指数哥伦布编码写入码流。具体步骤如下 步骤ー如果是P帧,转到步骤ニ ;如果是I帧(第一帧必须为I帧,其它帧可以设置是否为I帧),采用札264帧内编码方式,对于每个当前块在各种可能的预测方式中选择具有最小代价的预测模式存储,完成所有块的预测后可以得到I帧的预测帧。通过原始帧和预测帧之差得到编码端残差帧。转入步骤四编码残差。
步骤ニ 如果是P帧。在进行块匹配之前,首先对当前帧进行互不重叠的宏块划分,然后计算这些宏块以及经树状划分得到的小块的像素和、像素平方和,以及前ー帧重建图像即參考帧中,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,以减少块匹配过程中的重复计算。转到步骤三。
步骤三依次对当前帧的所有宏块进行编码。在參考帧中的捜索窗内对当前宏块进行块匹配;在进行子块与父块的匹配过程中,子块的位置作为父块的起始搜索点,父块的大小与子块的大小相同;如果匹配误差RMS小于开始设定的阈值Y,保存当前的迭代函数系统系数即IFS系数,转入步骤五得到本块的重建块;否则,依次按照树状结构对该块进行划分,并对各个划分得到的小块分别计算匹配误差RMS,如果RMS小于设定阈值Y,停止划分并记录该小块IFS系数,转入步骤五得到本块的重建块;否则继续划分,直到将当前块划分为预先设定的最小块,记录IFS系数;转入步骤五得到本块的重建块。注捜索窗为在參考帧中的矩形捜索区域;IFS系数包括父块位置(X,y)和比例因子S、偏移因子0 ;如果当前帧所有的宏块都已编码完毕,所有的重建块组成重建图像(即下ー帧的參考帧)。转到步骤四。
步骤四残差图像的数据经过DCT、量化之后的系数一方面进行Zig-Zag扫描,然后用熵编码CALVC进行编码写入码流;另一方面经过反量化、反变换后得到解码端残差帧。由预测帧和解码端残差帧之和得到重建帧(即下ー帧的參考帧)。如果是P帧则还要对所有IFS系数进行有符号指数哥伦布编码。判断当前帧是否为最后ー帧,如果是最后ー帧结束编码;否则,返回步骤ー继续处理下ー帧图像。
步骤五通过保存的迭代函数系统系数代入解码方程计算得到预测值,由原始块和预测块之差得到编码端残差块,再由预测块和解码端残差块之和得到重建块。注解码端残差块是由编码端残差块经过DCT变换、量化、反量化和反DCT变换得到的。转入步骤三编码下一宏块。
2.根据权利要求1所述ー种基于分形和H.264的分形视频压缩编码方法,其特征在于处理的视频序列为YUV格式,分别对3个分量中的每个采用上述五个步骤进行处理。
3.根据权利要求1所述ー种基于分形和H.264的视频压缩编码方法,其特征在于所述步骤四中P帧中分形系数的编码包括以下三个步骤 1)如果当前块是处于I帧后的第一个P帧内,且是P帧的第一块,则按照有符号的指数哥伦布编码方式编码预测P帧所产生的所有分形系数; 2)如果当前块是处于I帧后的第一个P帧内,但是不是P帧的第一块,则编码当前块与前一块的分形系数之差。如果当前块与前ー块的预测方式不同,则按照4X4块的划分方式编码;3)如果当前块不是处于I帧后的第一个P帧内,则编码当前块与前ー帧相同位置块的分形系数之差。如果两者的预测方式不同,则按照4X4块的划分方式编码。
4.根据权利要求1所述ー种基于分形和H.264的视频压缩编码方法,其特征在于所述步骤三中对宏块采用树状划分,块匹配采用匹配误差准则,子块与父块的匹配误差RMS为
5.一种基于分形和H. 264的视频解压缩方法,其特征在于包含以下步骤 步骤1:首先读入压缩信息,包括压缩帧数,每帧图像的宽和高,I帧压缩质量和插入I帧的间隔; 步骤I1:判断解码帧是否为I帧,若是I帧转入步骤III,否则转入步骤IV ; 步骤II1:对于I帧,读入码流得到I帧的残差帧数据,经过反量化和反变换得到解码端残差帧,再与解码端预测帧进行相加之后得到重建帧,帧数加ー转入步骤V ; 步骤IV :对于P帧,首先计算參考帧中按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,然后从码流中读入该帧所有宏块的划分方式、每ー个小块的迭代函数系统系数和残差帧数据,其中由各迭代函数系统系数分别计算出解码端的预测块形成解码端的预测帧,残差帧数据经过反量化和反变换得到解码端残差帧。解码端残差帧与预测帧之和得到重建帧。转到步骤V; 步骤V :判断此时所有帧是否都已解码,若都解码完毕,结束解码过程,否则转入步骤II。
6.根据权利要求5所述ー种基于分形和H.264的视频解压缩方法,其特征在于对于每ー个宏块进行解压缩时,首先判断该宏块在编码时的划分方式,对于每一个子块,首先在父块域找到与该子块相对应的区域,然后利用下面的公式获得该子块的像素值,r,=s dj+o (4) 其中A为待解码子块的像素值,Cli为父块域中的像素值,s为比例因子,0为偏移因子。
7.根据权利要求5所述ー种基于分形和H. 264的视频解压缩方法,其特征在于处理的视频序列为YUV格式,分别对3个分量中的每个采用上述五个步骤进行处理。
全文摘要
本发明提出了一种基于分形和H.264的视频压缩与解压缩方法。对I帧采用基于H.264的帧内预测编码得到预测帧。对P帧进行基于分形的块运动估计/补偿编码得到预测帧。原始帧与预测帧之差为残差帧。残差帧经过DCT变换,量化后,一方面写入码流,另一方面经过反量化,反DCT变换后与预测帧相加得到重建帧(可以作为参考帧)。P帧在进行预测编码时产生分形参数,最后利用熵编码CALCV压缩I帧和P帧的残差帧和利用有符号指数哥伦布编码压缩分形参数。对应的解压缩过程为对I帧经过帧内预测得到预测帧,对于P帧经过前一帧的预测得到预测帧。由码流中的残差信息经过反量化、反DCT变换分别得到I帧和P帧的残差帧。
文档编号H04N7/50GK103037219SQ201210404448
公开日2013年4月10日 申请日期2012年10月22日 优先权日2012年10月22日
发明者祝世平, 张玲, 李丽芸 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1