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

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

Info

Publication number
CN103037219A
CN103037219A CN2012104044480A CN201210404448A CN103037219A CN 103037219 A CN103037219 A CN 103037219A CN 2012104044480 A CN2012104044480 A CN 2012104044480A CN 201210404448 A CN201210404448 A CN 201210404448A CN 103037219 A CN103037219 A CN 103037219A
Authority
CN
China
Prior art keywords
frame
block
piece
fractal
residual
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
CN2012104044480A
Other languages
English (en)
Other versions
CN103037219B (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.)
Haining Economic Development Industrial Park Development and Construction Co., Ltd
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 CN201210404448.0A priority Critical patent/CN103037219B/zh
Publication of CN103037219A publication Critical patent/CN103037219A/zh
Application granted granted Critical
Publication of CN103037219B publication Critical patent/CN103037219B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提出了一种基于分形和H.264的视频压缩与解压缩方法。对I帧采用基于H.264的帧内预测编码得到预测帧。对P帧进行基于分形的块运动估计/补偿编码得到预测帧。原始帧与预测帧之差为残差帧。残差帧经过DCT变换,量化后,一方面写入码流,另一方面经过反量化,反DCT变换后与预测帧相加得到重建帧(可以作为参考帧)。P帧在进行预测编码时产生分形参数,最后利用熵编码CALCV压缩I帧和P帧的残差帧和利用有符号指数哥伦布编码压缩分形参数。对应的解压缩过程为:对I帧经过帧内预测得到预测帧,对于P帧经过前一帧的预测得到预测帧。由码流中的残差信息经过反量化、反DCT变换分别得到I帧和P帧的残差帧。

Description

一种基于分形和H.264的视频压缩与解压缩方法
技术领域:
本发明属于信号处理中的视频压缩编码领域,特别针对新一代视频编码领域提出一种快速的分形视频压缩编码方法,在保证图像质量的前提下,大大加快了分形视频编码的速度和压缩比。 
背景技术:
视频编码标准H.264具有更好的压缩性能以及面向网络传输的“友好性”。H.264优秀的压缩性能是多种新技术产生效果的积累所致(参见Wiegand T Sullivan,G J Bjontegard G,et al.Overview of the H.264/AVC video coding standard[J].IEEE Transaction on Circuits and Systems Video Technology,2003,13(7):560-576.),包括4×4的整数变换、多种宏块分割模式、多参考帧和1/4像素精度的运动补偿等。新技术的应用使其具有更高的编码性能,但随之而来的是运算复杂度的大幅度增加。近年来陆续提出了许多对其进行简化和优化的方法。在以往的研究中多是从帧间宏块分割模式选择(参见L.Yang,Y.Keman,J.Li,S.Li.An effective variable block-size early termination algorithm for H.264video coding[J].IEEE Transactions on Circuits and Systems for Video Technology,2005,15(6):784-788)和运动估计(参见E.A.Al Qaralleh,T.-S.Chang.Fast variable block size motion estimation by adaptive early termination[J].IEEE Transactions on Circuits and Systems for Video Technology,2006,16(8):1021-1026;李桂菊,刘刚,梁静秋.H.264快速运动估计方法的改进[J].光学精密工程,2010,18(11):2489-2496.)预测模式选择(参见Y.H.Moon,G.Y.Kim,J.H.Kim.An improved early detection algorithm for all-zero blocks in H.264video encoding[J].IEEE Transactions on Circuits and Systems for Video Technology,2005,15(8):1053-1057;J.You,W.Kim,J.Jeong.16×16macroblock partition size prediction for H.264P slices[J].IEEE Transactions on Consumer Electronics,2006,52(4):1377-1383.)等方面对H.264中消耗时间最多的帧间预测环节进行分析和改进,可以达到降低编码复杂度的效果,但是有进一步提高的可能性。 
分形理论最初由Mandelbrot于上世纪70年代提出(参见 
Figure BDA00002285567800011
B.Mandelbrot.The FractalGeometry 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].Byte Magazine,1988,13(1): 215-233.)。Jacqain提出了全自动的分形图像压缩方法(参见Arnaud E.Jacquin.Anovel fractal blocking-coding technique for digital image[A].IEEE International Conference on Acoustics,Speech and Signal Processing[C],1990,4:2225-2228.),(参见Arnaud E.Jacquin.Fractal image coding:a review[J].Proceeding ofthe IEEE,1993,81(10):1451-1465.),该方法采用基于图像分块的方式以局部的仿射变换代替全局的仿射变换。之后,Fisher利用四叉树改进了这一方法(参见Y.Fisher.Fractal Image Compression[J].Fractals,1994,2(3):347-361.),(参见Y.Fisher,E.W.Jacobs.Image compression:A study the iterated transform method[J].Signal Processing,1992,29(3),251-263.),(参见Y.Fisher.Fractal Image Compression:Theory and application to digital images[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,Zhehuang Huang,Choi-Hong Lai.Matching search in fractal video compression and its parallel implementation in distributed computing environments[J].Applied Mathematical Modeling,2006,30(8):677-687.),(参见Meiqing Wang,Rong Liu,Choi-Hong Lai.Adaptive partition and hybrid method in fractal video compression[J].Computers&Mathematics with Applications,2006,51(11):1715-1726.)。其中最为经典和影响较大的参见(C.S.Kim,R.C.Kim,S.U.Lee.Fractal coding of video sequence using circular prediction mapping and noncontractive interframe mapping[J].IEEE Transactions on Image Processing,1998,7(4):601-605.)。该方法采用类似于标准视频编码方法所采用的运动估计/补偿技术,该方法利用了相邻帧之间的时间强相关性,对视频序列压缩取得了较好的效果。在CPM和NCIM中,子块域中的每个图像块都由来自相邻帧相同大小的父块域通过运动补偿得到。CPM和NCIM两者间最大的不同在于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小于开始设定的阈值γ,保存当前的迭代函数***系数即IFS系数,转入步骤五得到本块的重建块;否则,依次按照树状结构对该块进行划分,并对各个划分得到的小块分别计算匹配误差RMS,如果RMS小于设定阈值γ,停止划分并记录该小块IFS系数,转入步骤五得到本块的重建块;否则继续划分,直到将当前块划分为预先设定的最小块,记录IFS系数;转入步骤五得到本块的重建块。注:搜索窗为在参考帧中的矩形搜索区域;IFS系数包括父块位置(x,y)和比例因子s、偏移因子o;如果当前帧所有的宏块都已编码完毕,所有的重建块组成重建图像(即下一帧的参考帧)。转到步骤四。 
步骤四:残差图像的数据经过DCT、量化之后的系数一方面进行Zig-Zag扫描,然后用熵编码CALVC进行编码写入码流;另一方面经过反量化、反变换后得到解码端残差帧。再 由预测帧和解码端残差帧之和得到重建图像(即下一帧的参考帧)。如果是P帧则还要对所有IFS系数进行有符号指数哥伦布编码。判断当前帧是否为最后一帧,如果是最后一帧结束编码;否则,返回步骤一继续处理下一帧图像。 
步骤五:通过保存的迭代函数***系数,通过解码方程计算得到预测值,然后原始块和预测块之差得到编码端残差块,再由预测块和解码端残差块之和得到重建块(即下一帧的参考块)。注:解码端残差块是由编码端残差块经过DCT变换、量化、反量化和反DCT变换得到的。转入步骤三编码下一宏块。 
所述步骤四中对于P帧的所有分形系数的编码包括以下三个步骤: 
1)如果当前块是处于I帧后的第一个P帧内,且是P帧的第一块,则按照有符号的指数哥伦布编码方式编码预测P帧所产生的所有分形系数; 
2)如果当前块是处于I帧后的第一个P帧内,但是不是P帧的第一块,则编码当前块与前一块的分形系数之差。如果当前块与前一块的预测方式不同,则按照4×4块的划分方式编码; 
3)如果当前块不是处于I帧后的第一个P帧内,则编码当前块与前一帧相同位置块的分形系数之差。如果两者的预测方式不同,则按照4×4块的划分方式编码。 
所述步骤三中对宏块采用树状划分,块匹配采用匹配误差准则,子块与父块的匹配误差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 ) ] - - - ( 1 )
其中参数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 ] - - - ( 2 )
o = 1 N [ Σ i = 1 N r i - s Σ i = 1 N d i ] - - - ( 3 )
其中,N为子块和父块像素的个数,ri为子块的像素值,di为父块的像素值; 
计算当前宏块在参考帧中的块匹配误差RMS,其中ri是子块的像素值,di是父块的像素值;如果RMS小于预先设定的阈值γ,记录IFS系数,IFS系数包括匹配块的位移矢量(x,y)和公式(7),(8)中的s和o,处理下一宏块;否则,对当前宏块进行树状划分,计算划分后小块的RMS,如果小于阈值γ,则停止划分,否则继续划分,直到子块达到预先设定的最小块 为止。 
所述一种基于分形和H.264的视频压缩编码方法,处理的视频序列为YUV格式,分别对3个分量中的每个采用上述五个步骤进行处理。 
一种基于分形和H.264的视频解压缩方法,其特征在于包含以下步骤: 
步骤Ⅰ:首先读入压缩信息,包括压缩帧数,每帧图像的宽和高,I帧压缩质量和***I帧的间隔; 
步骤Ⅱ:判断解码帧是否为I帧,若是I帧转入步骤Ⅲ,否则转入步骤Ⅳ; 
步骤Ⅲ:对于I帧,读入码流得到I帧的残差帧数据,经过反量化和反变换得到解码端残差帧,再与解码端预测帧进行相加得到重建帧,帧数加一转入步骤Ⅴ; 
步骤Ⅳ:对于P帧,首先计算参考帧中按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,然后从码流中读入该帧所有宏块的划分方式、每一个小块的迭代函数***系数和残差帧数据,其中由各迭代函数***系数分别计算出解码端的预测块形成解码端的预测帧,残差帧数据经过反量化和反变换得到解码端残差帧。解码端残差帧与预测帧之和得到重建帧。转到步骤Ⅴ; 
步骤Ⅴ:判断此时所有帧是否都已解码,若都解码完毕,结束解码过程,否则转入步骤Ⅱ。 
对于每一个宏块进行解压缩时,首先判断该宏块在编码时的划分方式,对于每一个子块,首先在父块域找到与该子块相对应的区域,然后利用下面的公式获得该子块的像素值, 
ri=s·di+o    (4) 
其中ri为待解码子块的像素值,di为父块域中的像素值,S为比例因子,O为偏移因子。 
所述一种基于分形和H.264的视频解压缩方法,处理的视频序列为YUV格式,分别对3个分量中的每个采用上述五个步骤进行处理。 
本发明所提出的基于分形和H.264的视频压缩方法的优点在于: 
(1)本方法用分形预测的方式预测P帧,用H.264帧内预测的方式预测I帧,且采用传递残差帧的方式,提高解码质量。 
(2)本方法I帧后首个P帧的分形参数的传递采用与首块间的差值传递,其它P帧的分形参数采用与参考帧的差值传递。这样就避免了码流的增加。 
(3)本方法在进行子块的块匹配之前,计算当前帧互不重叠的宏块及其经树状划分之后得到的小块的像素和与像素平方和。在参考帧中,按照匹配步长分别计算各宏块以及经树状划分以后得到的小块的像素和与像素平方和,同时计算分数像素内插值对应小块的像素和、 像素平方和。这样就避免了在块匹配过程中出现重复计算的弊端,大大节约了子块的匹配时间。 
附图说明:
图1为本发明一种基于分形和H.264的视频压缩编码流程框图; 
图2为4×4亮度块的9种预测方式; 
图316×16亮度块和8×8色度块的四种预测模式; 
图4对P帧的所有宏块进行编码的流程图; 
图5为本发明一种基于分形和H.264的视频压缩与解码压缩方法对宏块的四种划分模式图; 
图6为本发明一种基于分形和H.264的视频压缩与解码压缩方法对宏块的划分模式四进一步进行划分的四种划分模式图; 
图7Zig-Zag的扫描方式示意图; 
图8一种基于分形和H.264的视频解压缩流程框图; 
图9为本发明一种基于分形和H.264的视频压缩与解压缩方法与H.264测试标准模型对标准测试视频序列“foreman.cif”的2~50帧进行压缩的峰值信噪比的对比图; 
图10为本发明一种基于分形和H.264的视频压缩与H.264测试标准模型对标准测试视频序列“foreman.cif”的2~50帧进行压缩的压缩比的对比图; 
图11为本发明一种基于分形和H.264的视频压缩与解压缩方法与H.264测试标准模型对标准测试视频序列“foreman.cif”的2~50帧进行压缩的压缩时间的对比图。 
具体实施方式:
下面将结合附图对本发明方法作进一步的详细说明,仅以亮度分量Y为例,色差分量U和V的压缩步骤与亮度分量基本相同。 
本发明提出了一种基于分形和H.264的视频压缩与解压缩方法,首先对起始帧(I帧)采用基于H.264的帧内预测编码得到预测帧,将预测帧与原始帧之差称为编码端残差帧,编码端残差帧进行DCT变换、量化、反量化和反DCT变换得到解码端残差帧。预测帧与解码端残差帧之和称为重建帧,可以作为下一帧的参考帧。对P帧进行块运动估计/补偿编码,计算与子块域和父块域相关子块的像素和与像素平方和,同时计算分数像素内插值对应块的像素和、像素平方和,在前一帧搜索窗中搜索方法寻找最相似的匹配块,记录块每次匹配过程的分形参数,将分形参数分别代入压缩迭代函数***中得到P帧的预测帧,类似于I帧重建帧 的获得方法得到P帧的重建帧。最后利用熵编码CALVC压缩I帧和P帧的残差帧和利用有符号指数哥伦布编码压缩分形系数。对应的解压缩过程为:对I帧经过帧内预测得到预测帧,对于P帧经过前一帧的预测得到预测帧。***流中的残差信息经过反量化,反DCT变换分别可以得到I帧和P帧的残差帧。每帧的预测帧和残差帧相加即为重建帧,可以作为下一帧的参考帧。 
如附图1所示,一种基于分形和H.264视频压缩编码流程框图。以标准测试视频序列“bus.cif”的前50帧为例。所述I帧为视频序列起始帧或者视频序列中只进行帧内编码的图像帧;所述P帧是以前一帧为参考帧进行帧间预测编码的图像帧;所述将当前帧划分为固定大小的互不重叠的图像块称为宏块;所述将当前宏块进行树状划分得到的块称为亚宏块;所述当前帧为正在进行压缩的帧,所述参考帧为当前帧的已经编码并重建的前一帧;所述当前帧所有块的集合称为子块域;所述前一帧的所有块的集合称为父块域,具体包括以下步骤: 
步骤一:如果是P帧,转到步骤二;如果是I帧,采用H.264视频编码标准中的I帧帧内图像压缩方法。其中4×4亮度块有9种预测方式如附图2,16×16亮度块和8×8色度块有四种预测模式如附图3。每个宏块的预测要对各种可能的宏块预测模式进行搜索,采用基于率失真优化(RDO)的模式判决方法,编码器对每个宏块所有可能的模式分别计算率失真代价,然后对它们进行比较。选择率失真代价最小的模式为最佳模式。率失真代价函数J定义如下: 
J(s,c,MODE|QP,λMODE)=SSD(s,c,MODE|QP)+λMODE*R(s,c,MODE|QP)    (5) 
得到预测帧后转到步骤五处理残差帧的编码问题和得到重建帧; 
步骤二:对当前P帧图像进行互不重叠的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×16宏块进行编码,具体流程图如附图4,在父块域中的搜索窗内对整个宏块进行块运动估计/补偿;在进行子块与父块的匹配过程中,子块的位置作为父块的起始搜索点,父块的大小与子块的大小相同。父块与子块的匹配准则是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 ) ] - - - ( 6 )
其中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 ] - - - ( 7 )
o = 1 N [ Σ i = 1 N r i - s Σ i = 1 N d i ] - - - ( 8 )
其中,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,继续下一宏块的匹配。 
否则,按照树状结构对该宏块进行划分,对宏块的划分有四种模式,如附图5,模式一为一个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、否则对模式四中的每一个小块按照附图6中的模式划分顺序进行划分,可依次划分为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、继续下一宏块的编码。 
如果所有的宏块都已编码完毕,转到步骤四处理残差帧的编码问题和得到重建帧,之后返回再转到步骤五处理分形参数的编码问题; 
步骤四:(处理残差帧的编码问题)由原始帧和预测帧之差得到编码端残差帧,编码端残差帧经过DCT变换和量化之后的系数按照Zig-Zag扫描的方式进行编码。其中DCT变换是以4×4的亚宏块为单位进行的,具体过程如下: 
Y = ( C f X C f T ) &CircleTimes; E f = ( 1 1 1 1 2 1 - 1 - 2 1 - 1 - 1 1 1 - 2 2 - 1 X 1 2 1 1 1 1 - 1 - 2 1 - 1 - 1 2 1 - 2 1 - 1 &CircleTimes; a 2 ab 2 a 2 ab 2 ab 2 b 2 4 ab 2 b 2 4 a 2 ab 2 a 2 ab 2 ab 2 b 2 4 ab 2 b 2 4 ) - - - ( 9 )
其中,X是4×4残差块, 
Figure BDA00002285567800092
Figure BDA00002285567800093
Y是经过DCT变换后的块。再对Y进行量化参数QP=28时的量化,量化步长Qstep=16,量化公式为: 
Figure BDA00002285567800094
Yij是矩阵Y中的转换系数,Zij是输出的量化系数。round()为取整函数(其输出为与输入数值最近的整数)。然后按照Zig-Zag的扫描(如附图7)重排序后经过熵编码CALVC后生成压缩比特流。残差量化系数经过反量化和反DCT变换得到解码端残差帧。解码端残差帧和预测帧之和得到重建帧,可以作为下一帧的参考帧。判断当前帧是否为最后一帧,如果是则结束编码;否则返回步骤一继续处理下一帧图像。 
步骤五:分形系数的编码包括以下三个步骤: 
1)如果当前块是处于I帧内,且是I帧的第一块,则按照有符号的指数哥伦布编码方式编码预测I帧所产生的所有分形系数; 
2)如果当前块是处于I帧内,但是不是I帧的第一块,则编码当前块与前一块的分形系数之差。如果当前块与前一块的预测方式不同,则按照4×4块的划分方式编码; 
3)如果当前块是处于P帧之内,则编码当前块与前一帧相同位置块的分形系数之差。如果两者的预测方式不同,则按照4×4块的划分方式编码。 
处理的视频序列为YUV格式,分别对3个分量中的每个采用上述五个步骤进行处理。 
如附图8所示,一种基于分形和H.264的视频解压缩方法,包括以下步骤: 
步骤Ⅰ:首先读入压缩信息,包括压缩帧数,每帧图像的宽和高,I帧重建质量,***I帧的间隔等; 
步骤Ⅱ:判断解码帧是否为I帧,若是I帧转入步骤Ⅲ,否则转入步骤Ⅳ; 
步骤Ⅲ:对于I帧,读入码流得到I帧的残差帧数据,经过反量化和反变换得到解码端残差帧,再与解码端预测帧进行相加得到重建帧,帧数加一转入步骤Ⅵ; 
步骤Ⅳ:对于P帧,首先计算参考帧中按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,然后从码流中读入该帧所有宏块的划分方式、每一个小块的迭代函数***系数和残差帧数据,其中由各迭代函数***系数分别计算出解码端的预测块形成解码端的预测帧,残差帧数据经过反量化和反变换得到解码端残差帧。转到步骤Ⅴ; 
步骤Ⅴ:判断此时所有帧是否都已解码,若都解码完毕,结束解码过程,否则转入步骤Ⅱ。 
处理的视频序列为YUV格式,分别对3个分量中的每个采用上述五个步骤进行处理。 
本方法选择Visual C++6.0作为所述方法的实现平台,CPU为Intel CoreTM 2Duo T8300,2.4GHz主频,内存大小为2G。配置参数如下:总帧数为50帧,只有首帧为I帧,搜索范围为±7,量化参数QP为28。其中△PSNR、△比特率、△压缩时间的定义如下: 
PSNR=PSNROURS-PSNRH.264                                    (10) 
△比特率=(比特率OURS-比特率H.264)/比特率H.264            (11) 
△压缩时间=(压缩时间OURS-压缩时间H.264)/压缩时间H.264    (12) 
分别采用传统的国际视频编码标准H.264标准测试模型JM15.1和本发明方法对“foreman.cif”的2~50帧进行压缩编码的峰值信噪比的对比图如附图9所示;分别采用JM15.1和本发明方法对“foreman.cif”的前2~50帧进行压缩编码的压缩比的对比图如附图10所示;分别采用H.264标准测试模型JM15.1和本发明方法对“foreman.cif”的前2~50帧进行压缩的时间的对比图如附图11所示。 
对4个典型的视频序列:“foreman”,“bridge-close”,“coastguard”and“bus”(图像尺寸为352×288像素的CIF格式,取2-50帧图像),宏块尺寸为16×16像素,最小分块尺寸为4×4像素。压缩性能对比结果如表1所示,各项指标均为49帧的均值。本发明提出的方法于H.264标准测试模型JM15.1,在几乎不影响PSNR(平均降低0.08dB)的情况下,压缩时间降低了 81%,码流比特率降低了47%。这是因为本发明方法结合了分形编码的快速性、低码流和H.264的解码质量高的特点,提出了一种基于分形和H.264的视频编码***表现了优良的视频压缩性能。 
  视频序列   △PSNR/dB   △比特率   △压缩时间
  foreman   -0.28   -5%   -82%
  bridge_close   0.33   -45%   -78%
  coastguard   0.01   -71%   -84%
  bus   -0.38   -66%   -74%
  △Mean   -0.08   -47%   -81%
表1H.264测试标准模型JM15.1和本文方法对4个视频序列压缩性能均值对比 。

Claims (7)

1.一种基于分形和H.264的视频压缩与解压缩方法,其特征在于:I帧采用H.264的帧内预测编码;P帧采用分形的帧间运动估计/补偿预测方法;P帧的残差经过DCT变换、量化之后使用熵编码CALVC写入码流;P帧形成的分形参数使用有符号指数哥伦布编码写入码流。具体步骤如下:
步骤一:如果是P帧,转到步骤二;如果是I帧(第一帧必须为I帧,其它帧可以设置是否为I帧),采用H.264帧内编码方式,对于每个当前块在各种可能的预测方式中选择具有最小代价的预测模式存储,完成所有块的预测后可以得到I帧的预测帧。通过原始帧和预测帧之差得到编码端残差帧。转入步骤四编码残差。
步骤二:如果是P帧。在进行块匹配之前,首先对当前帧进行互不重叠的宏块划分,然后计算这些宏块以及经树状划分得到的小块的像素和、像素平方和,以及前一帧重建图像即参考帧中,按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,以减少块匹配过程中的重复计算。转到步骤三。
步骤三:依次对当前帧的所有宏块进行编码。在参考帧中的搜索窗内对当前宏块进行块匹配;在进行子块与父块的匹配过程中,子块的位置作为父块的起始搜索点,父块的大小与子块的大小相同;如果匹配误差RMS小于开始设定的阈值γ,保存当前的迭代函数***系数即IFS系数,转入步骤五得到本块的重建块;否则,依次按照树状结构对该块进行划分,并对各个划分得到的小块分别计算匹配误差RMS,如果RMS小于设定阈值γ,停止划分并记录该小块IFS系数,转入步骤五得到本块的重建块;否则继续划分,直到将当前块划分为预先设定的最小块,记录IFS系数;转入步骤五得到本块的重建块。注:搜索窗为在参考帧中的矩形搜索区域;IFS系数包括父块位置(x,y)和比例因子s、偏移因子o;如果当前帧所有的宏块都已编码完毕,所有的重建块组成重建图像(即下一帧的参考帧)。转到步骤四。
步骤四:残差图像的数据经过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帧的第一块,则编码当前块与前一块的分形系数之差。如果当前块与前一块的预测方式不同,则按照4×4块的划分方式编码;
3)如果当前块不是处于I帧后的第一个P帧内,则编码当前块与前一帧相同位置块的分形系数之差。如果两者的预测方式不同,则按照4×4块的划分方式编码。
4.根据权利要求1所述一种基于分形和H.264的视频压缩编码方法,其特征在于:所述步骤三中对宏块采用树状划分,块匹配采用匹配误差准则,子块与父块的匹配误差RMS为:
RMS = 1 N [ &Sigma; i = 1 N r i 2 + s ( s &Sigma; i - 1 N d i 2 - 2 &Sigma; i = 1 N r i d i + 2 o &Sigma; i = 1 N d i 2 ) + o ( N &CenterDot; o - 2 &Sigma; i = 1 N r i ) ] - - - ( 1 )
其中参数s和o分别为:
s = [ N &Sigma; i = 1 N r i d i - &Sigma; i = 1 N r i &Sigma; i = 1 N d i ] [ N &Sigma; i = 1 N d i 2 - ( &Sigma; i = 1 N d i ) 2 ] - - - ( 2 )
o = 1 N [ &Sigma; i = 1 N r i - s &Sigma; i = 1 N d i ] - - - ( 3 )
其中,N为子块和父块像素的个数,ri为子块的像素值,di为父块的像素值;
计算当前宏块在参考帧中的块匹配误差RMS,其中ri是子块的像素值,di是父块的像素值;如果RMS小于预先设定的阈值γ,记录IFS系数,IFS系数包括匹配块的位移矢量(x,y)和公式(2),(3)中的s和o,处理下一宏块;否则,对当前宏块进行树状划分,计算划分后小块的RMS,如果小于阈值γ,则停止划分,否则继续划分,直到子块达到预先设定的最小块为止。
5.一种基于分形和H.264的视频解压缩方法,其特征在于包含以下步骤:
步骤Ⅰ:首先读入压缩信息,包括压缩帧数,每帧图像的宽和高,I帧压缩质量和***I帧的间隔;
步骤Ⅱ:判断解码帧是否为I帧,若是I帧转入步骤Ⅲ,否则转入步骤Ⅳ;
步骤Ⅲ:对于I帧,读入码流得到I帧的残差帧数据,经过反量化和反变换得到解码端残差帧,再与解码端预测帧进行相加之后得到重建帧,帧数加一转入步骤Ⅴ;
步骤Ⅳ:对于P帧,首先计算参考帧中按照设定步长划分的所有宏块以及经树状划分得到的小块的像素和、像素平方和,然后从码流中读入该帧所有宏块的划分方式、每一个小块的迭代函数***系数和残差帧数据,其中由各迭代函数***系数分别计算出解码端的预测块形成解码端的预测帧,残差帧数据经过反量化和反变换得到解码端残差帧。解码端残差帧与预测帧之和得到重建帧。转到步骤Ⅴ;
步骤Ⅴ:判断此时所有帧是否都已解码,若都解码完毕,结束解码过程,否则转入步骤Ⅱ。
6.根据权利要求5所述一种基于分形和H.264的视频解压缩方法,其特征在于:对于每一个宏块进行解压缩时,首先判断该宏块在编码时的划分方式,对于每一个子块,首先在父块域找到与该子块相对应的区域,然后利用下面的公式获得该子块的像素值,
ri=s·di+o    (4)
其中ri为待解码子块的像素值,di为父块域中的像素值,s为比例因子,o为偏移因子。
7.根据权利要求5所述一种基于分形和H.264的视频解压缩方法,其特征在于:处理的视频序列为YUV格式,分别对3个分量中的每个采用上述五个步骤进行处理。
CN201210404448.0A 2012-10-22 2012-10-22 一种基于分形和h.264的视频压缩与解压缩方法 Active CN103037219B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210404448.0A CN103037219B (zh) 2012-10-22 2012-10-22 一种基于分形和h.264的视频压缩与解压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210404448.0A CN103037219B (zh) 2012-10-22 2012-10-22 一种基于分形和h.264的视频压缩与解压缩方法

Publications (2)

Publication Number Publication Date
CN103037219A true CN103037219A (zh) 2013-04-10
CN103037219B CN103037219B (zh) 2016-08-10

Family

ID=48023640

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210404448.0A Active CN103037219B (zh) 2012-10-22 2012-10-22 一种基于分形和h.264的视频压缩与解压缩方法

Country Status (1)

Country Link
CN (1) CN103037219B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104301730A (zh) * 2014-10-14 2015-01-21 河海大学常州校区 基于视频移动设备的双向视频编解码***及其方法
CN104602001A (zh) * 2015-01-19 2015-05-06 北京工业大学 一种基于帧差图像的低码率视频编码方法
WO2015149699A1 (en) * 2014-04-01 2015-10-08 Mediatek Inc. Method of adaptive interpolation filtering in video coding
CN105141872A (zh) * 2015-08-20 2015-12-09 成都鹰眼视觉科技有限公司 一种缩时处理视频图像的方法
CN107637079A (zh) * 2015-06-11 2018-01-26 索尼公司 数据装载阶段数据压缩架构
CN107679551A (zh) * 2017-09-11 2018-02-09 电子科技大学 一种基于分形的涌现现象的识别方法
CN109451308A (zh) * 2018-11-29 2019-03-08 北京市商汤科技开发有限公司 视频压缩处理方法及装置、电子设备及存储介质
CN110351560A (zh) * 2019-07-17 2019-10-18 深圳市网心科技有限公司 一种编码方法、***及电子设备和存储介质
CN111163320A (zh) * 2018-11-07 2020-05-15 合肥图鸭信息科技有限公司 一种视频压缩方法及***
CN113298894A (zh) * 2021-05-19 2021-08-24 北京航空航天大学 一种基于深度学习特征空间的视频压缩方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101827268A (zh) * 2010-04-30 2010-09-08 北京航空航天大学 一种基于对象的分形视频压缩与解压缩方法
CN101860753A (zh) * 2010-04-30 2010-10-13 北京航空航天大学 一种基于分形的视频压缩与解压缩方法
CN101980537A (zh) * 2010-10-21 2011-02-23 北京航空航天大学 一种基于对象和分形的双目立体视频压缩编解码方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101827268A (zh) * 2010-04-30 2010-09-08 北京航空航天大学 一种基于对象的分形视频压缩与解压缩方法
CN101860753A (zh) * 2010-04-30 2010-10-13 北京航空航天大学 一种基于分形的视频压缩与解压缩方法
CN101980537A (zh) * 2010-10-21 2011-02-23 北京航空航天大学 一种基于对象和分形的双目立体视频压缩编解码方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10321151B2 (en) 2014-04-01 2019-06-11 Mediatek Inc. Method of adaptive interpolation filtering in video coding
WO2015149699A1 (en) * 2014-04-01 2015-10-08 Mediatek Inc. Method of adaptive interpolation filtering in video coding
US10986365B2 (en) 2014-04-01 2021-04-20 Mediatek Inc. Method of adaptive interpolation filtering in video coding
CN104301730A (zh) * 2014-10-14 2015-01-21 河海大学常州校区 基于视频移动设备的双向视频编解码***及其方法
CN104602001A (zh) * 2015-01-19 2015-05-06 北京工业大学 一种基于帧差图像的低码率视频编码方法
CN107637079A (zh) * 2015-06-11 2018-01-26 索尼公司 数据装载阶段数据压缩架构
CN107637079B (zh) * 2015-06-11 2020-06-30 索尼公司 数据装载阶段数据压缩架构
CN105141872B (zh) * 2015-08-20 2019-02-05 成都鹰眼视觉科技有限公司 一种缩时处理视频图像的方法
CN105141872A (zh) * 2015-08-20 2015-12-09 成都鹰眼视觉科技有限公司 一种缩时处理视频图像的方法
CN107679551A (zh) * 2017-09-11 2018-02-09 电子科技大学 一种基于分形的涌现现象的识别方法
CN107679551B (zh) * 2017-09-11 2020-06-16 电子科技大学 一种基于分形的涌现现象的识别方法
CN111163320A (zh) * 2018-11-07 2020-05-15 合肥图鸭信息科技有限公司 一种视频压缩方法及***
CN109451308A (zh) * 2018-11-29 2019-03-08 北京市商汤科技开发有限公司 视频压缩处理方法及装置、电子设备及存储介质
CN109451308B (zh) * 2018-11-29 2021-03-09 北京市商汤科技开发有限公司 视频压缩处理方法及装置、电子设备及存储介质
US11290723B2 (en) 2018-11-29 2022-03-29 Beijing Sensetime Technology Development Co., Ltd. Method for video compression processing, electronic device and storage medium
CN110351560A (zh) * 2019-07-17 2019-10-18 深圳市网心科技有限公司 一种编码方法、***及电子设备和存储介质
CN113298894A (zh) * 2021-05-19 2021-08-24 北京航空航天大学 一种基于深度学习特征空间的视频压缩方法

Also Published As

Publication number Publication date
CN103037219B (zh) 2016-08-10

Similar Documents

Publication Publication Date Title
CN103037219A (zh) 一种基于分形和h.264的视频压缩与解压缩方法
RU2689129C1 (ru) Способ для интерполяции изображений с использованием асимметричного интерполяционного фильтра и устройство для этого
JP6388685B2 (ja) 固定小数点変換のためのビット深度調節を伴うビデオ符号化方法及びその装置、並びにビデオ復号化方法及びその装置
CN103037218B (zh) 一种基于分形和h.264的多目立体视频压缩与解压缩方法
CN102263951B (zh) 一种快速的分形视频压缩与解压缩方法
CN101980537B (zh) 一种基于对象和分形的双目立体视频压缩编解码方法
CN102026000B (zh) 像素域-变换域联合的分布式视频编码***
CN101980538B (zh) 一种基于分形的双目立体视频压缩编解码方法
CN103051894B (zh) 一种基于分形和h.264的双目立体视频压缩与解压缩方法
KR100846512B1 (ko) 영상의 부호화, 복호화 방법 및 장치
CN102291579B (zh) 一种快速的多目立体视频分形压缩与解压缩方法
CN103098473A (zh) 对帧内预测使用自适应dct/dst的低复杂度变换编码
CN106170093B (zh) 一种帧内预测性能提升编码方法
JP2013538471A (ja) 辞書を用いてビデオをコード化する方法
WO2005120077A1 (ja) 画像処理装置、そのプログラムおよびその方法
KR20110010324A (ko) 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
CN101827268B (zh) 一种基于对象的分形视频压缩与解压缩方法
CN101860753B (zh) 一种基于分形的视频压缩与解压缩方法
CN102316323B (zh) 一种快速的双目立体视频分形压缩与解压缩方法
CN101980536B (zh) 一种基于对象和分形的多目立体视频压缩编解码方法
CN101980539B (zh) 一种基于分形的多目立体视频压缩编解码方法
CN102263954B (zh) 一种基于对象的快速分形视频压缩与解压缩方法
CN102263952B (zh) 一种基于对象的快速双目立体视频分形压缩与解压缩方法
CN102263953B (zh) 一种基于对象的快速多目立体视频分形压缩与解压缩方法
CN103647969B (zh) 一种基于对象的快速分形视频压缩与解压缩方法

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
TR01 Transfer of patent right

Effective date of registration: 20191106

Address after: Room 1609, Jian'an building, No. 3, Section 1, Wanjiali Middle Road, Martian street, Furong district, Changsha City, Hunan Province

Patentee after: Changsha liuteng Technology Co., Ltd

Address before: 100191 Haidian District, Xueyuan Road, No. 37,

Patentee before: Beijing University of Aeronautics and Astronautics

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191216

Address after: Room 207, main office building, No.118 Longxing Road, Haining Economic Development Zone, Haining City, Jiaxing City, Zhejiang Province

Patentee after: Haining Economic Development Industrial Park Development and Construction Co., Ltd

Address before: Room 1609, Jian'an building, No. 3, Section 1, Wanjiali Middle Road, Martian street, Furong district, Changsha City, Hunan Province

Patentee before: Changsha liuteng Technology Co., Ltd

TR01 Transfer of patent right