本发明涉及一种基于压缩感知的质量可分级快速编码方法,属于视频编码技术领域。
背景技术:
在许多实际的视频压缩传输应用中,由于网络的异构、用户要求不同、终端能力不同、信道所能提供的qos(qualityofservice)不同等因素的存在,需要为用户提供不同质量、不同速率的视频图像信号。而解决此类问题的最好方法之一便是采用可分级视频编码,让单个编码器产生多个层次的压缩码流,对于不同层次的码流进行解码,便可以获得不同质量的视频图像信号。然而,可分级视频编码中由于一个甚至多个增强层的精细量化而导致的编码复杂度以及码率急剧增加的问题始终未能很好地解决。压缩感知理论的研究为这一问题的解决提供了可能。压缩感知理论的优点在于信号的投影测量数据量远远小于传统采样方法所获的数据量,突破了香农采样定理的瓶颈,使得高分辨率信号的采集成为了可能。
近年来,已有一些利用压缩感知来改进可分级视频编码的方法。例如,siyuanxiang和lincai于2011年提出一种应用于无线网络环境下的基于压缩感知的可分级视频编码框架,该编码框架在主要通过不使用运动估计、运动补偿以及帧间预测时只将部分i帧的变换系数进行重构后作为参考帧来降低编码的计算复杂度,但其编码方法总体效果并不理想。此外,s.n.karishma等人也在2016年提出一种适用于空间应用的压缩感知可分级编码框架。以上两种方法虽然利用了压缩感知达到了降低编码复杂度的目的,但是并没有很好地解决由于多层编码以及压缩感知重构所带来的时延问题,因此总体编码时间有再次被减少的空间。
技术实现要素:
目的:为了克服现有技术中存在的不足,本发明提供一种基于压缩感知的质量可分级快速编码方法,首先利用基本层和增强层之间的相关性快速选择增强层子块候选模式,之后根据实验选择适合的子块经过量化,稀疏编码后传输。
本发明面向h.264和hevc视频编码标准,在质量可分级视频编码的基本层保持不变的情况下,对精细量化后的增强层加入压缩感知理论,结合压缩感知的稀疏性有选择地对待编码子块进行编码传输,降低原有可分级视频编码增强层编码复杂度,从而提高整体编码框架的编码效率。
由于压缩感知中所用到的稀疏矩阵和测量矩阵需要满足有限等距性(restrictedisometryproperty,rip)原则,实际实验中常用dct或dwt作为稀疏矩阵而采用高斯随机矩阵或贝努利矩阵作为测量矩阵,而在jvt(jointvideoteam)开发的标准视频编码参考软件jsvm中已使用到整数dct变换,因而本发明采用整数dct作为稀疏矩阵,高斯随机矩阵为测量矩阵。且通过实验总结分析,当增强层残差块的大小为8x8时,对其进行压缩感知获得的实验效果明显优于对其他尺寸残差块进行稀疏处理的结果,故本发明只对增强层8x8尺寸大小的子块进行稀疏表示。
技术方案:为解决上述技术问题,本发明采用的技术方案为:
一种基于压缩感知的质量可分级快速编码方法,其特征在于:包括如下步骤:
步骤1:初始化参数:
1.1:利用高斯随机函数生成大小为64x64高斯随机矩阵φ;
1.2:设置可分级视频编码层数为2;
步骤2:判断当前编码帧是否是增强层编码,若不是,表示当前编码帧是基本层编码,对其按照原先方式进行编码;
步骤3:用快速模式选择得到增强层待编码子块的模式;根据子块之间的层间相关性和空间相关性,快速得到当前编码单元的最佳子块划分模式;
步骤4:判断增强层的残差子块transform_size_8x8_flag标志位是否为1,若不是进行步骤5,否则进行步骤6;
步骤5:对残差子块进行原有的细量化和熵编码过程;
步骤6:对8x8大小的残差子块进行细量化,之后利用压缩感知技术对其进行稀疏编码;
步骤7:在解码端判断待解码块是否含有标志位fm,若没有,进行正常的解码步骤;
步骤8:利用传输得到的φ以及m计算出y以及φ,再根据正交匹配追踪算法重构得到原信号。
作为优选方案:步骤3.1:若基本层编码块的最优编码模式为intra4x4,则增强层对应位置编码块采用intra_bl模式进行编码;
步骤3.2:若基本层编码块的最优编码模式为intra16x16,则增强层编码块的候选模式为intra_bl、mode_16x16、mode_skip、intra16x16、intra4x4其中一种,之后通过率失真优化函数选择其中最优的一种作为增强层对应位置的最优编码模式;
步骤3.3:当基本层的最优编码模式为mode_skip时,
3.3.1:若增强层中对应编码位置的左面、上面、左上面已编码的宏块的最优编码模式均为mode_skip,则此增强层对应编码位置采用mode_skip模式进行编码;
3.3.2:若增强层中对应编码位置的左面、上面、左上面已编码的宏块的最优编码模式包含mode_skip和mode_16x16的组合,则增强层对应编码位置的候选模式为mode_skip、mode_16x16、bl_skip其中一种;
3.3.3若增强层中对应编码位置的左面、上面、左上面已编码的宏块的最优编码模式包含mode_skip、mode_16x16、mode_16x8、mode_8x16的组合,则增强层对应编码位置的候选模式为bl_skip、mode_skip、mode_16x16、mode_16x8、mode_8x16其中一种;
步骤3.4:当基本层编码块的最优编码模式为mode_16x16时;
3.4.1:若增强层中对应编码位置的左面、上面、左上面已编码的宏块的最优编码模包含mode_skip和mode_16x16的组合,则增强层对应编码位置的候选模式为mode_skip、mode_16x16、bl_skip其中一种;
3.4.2:若增强层中对应编码位置的左面、上面、左上面已编码的宏块的最优编码模式包含mode_skip、mode_16x16、mode_16x8、mode_8x16的组合,则增强层对应编码位置的候选模式为bl_skip、mode_skip、mode_16x16、mode_16x8、mode_8x16其中一种;
3.4.3:否则,增强层对应位置编码候选模式为bl_skip、mode_skip、mode_16x16、mode_16x8、mode_8x16、mode_8x8其中一种;
步骤3.5:当基本层编码块的最优编码模式为mode_16x8或mode_8x16时;
3.5.1:若增强层中对应编码位置的左面、上面、左上面已编码的宏块的最优编码模式包含mode_skip、mode_16x16、mode_16x8、mode_8x16的组合,则增强层对应编码位置的候选模式为bl_skip、mode_skip、mode_16x16、mode_16x8、mode_8x16其中一种;
3.5.2:否则,增强层对应位置编码候选模式为bl_skip、mode_skip、mode_16x16、mode_16x8、mode_8x16、mode_8x8其中一种;
步骤3.6:若基本层编码块的最优编码模式为mode_8x8时;
3.6.1:若增强层中对应编码位置的左面、上面、左上面已编码的宏块的最优编码模式均为mode_8x8模式,则增强层对应位置候选模式为bl_skip模式、mode_8x8模式其中一种;
3.6.2:否则,增强层对应位置编码候选模式为bl_skip、mode_skip、mode_16x16、mode_8x8其中一种。
作为优选方案:步骤3.7:对于步骤3.3至3.6中涉及的候选模式,利用层间关联度提前结束模式决策;假设ze和zb分别为基本层和增强层量化后的系数,则通过层间关联度提前模式选择的条件为:ze-zb≤k1,k1为通过实验综合考虑所得的阈值;可重写为re≤qerb/qb+k1qe,其中qb,qe分别为基本层和增强层的量化步长;rb,re分别为基本层和增强层的dct系数,dct系数的计算公式为r=∑∑diuxuvdjv,其中diu为整数dct变换中(i,u)位置所对应的值,xuv为残差信号值,由于diu的取值小于
作为优选方案:所述步骤3中空间相关性子块快速模式选择,当步骤3.7没有生效时,进入步骤3.8;所述步骤3.8:利用空间相关性提前结束模式选择的条件为:|z1-z2|-|z3-z4|≤k2,其中z1,z2为增强层两相邻子块的量化系数,z3,z4为基本层两相邻子块的量化系数,k2为通过实验所得阈值;该条件可重写为|r1-r2|≤qe|r3-r4|/qb+k2qe,其中r1,r2,r3,r4分别为z1,z2,z3,z4的dct系数,qb,qe分别为基本层和增强层的量化步长;根据dct系数的计算公式r=∑∑diuxuvdjv,可以得到
有益效果:本发明提供的一种基于压缩感知的质量可分级快速编码方法,面向h.264和hevc视频编码标准,提出一种基于压缩感知的质量可分级快速编码方法,利用压缩感知理论的稀疏性,在快速得到增强层待编码子块之后对其有选择地进行稀疏编码,有效地降低了可分级视频编码的码率。相比于原有的质量可分级编码,本发明在信号比衰减可忽略的情况下,有效地提高了编码效率。
附图说明
图1为可分级视频编码编码器的结构框图;
图2基于压缩感知的质量可分级编码示意图;
图3模式选择快速算法流程图;
图4增强层子块模式预测示意图;
图5压缩感知过程示意图。
具体实施方式
下面结合附图对本发明作更进一步的说明。
可分级视频编码分为时间可分级、空间可分级和质量可分级。如图1所示,此框图为一个基本层和一个增强层的可分级编码情形,在此需要指出的是增强层可以有多层。从图1可知,除去基本层和增强层之间的层间预测技术,基本层和增强层是两个独立的视频编解码过程。由于可分级视频编码基层和增强层的视频序列是同一个视频,只是分辨率、帧率、或者质量不同或者相同而已,对于质量可分级而言,基本层和增强层的视频分辨率是相同的,在基本层和增强层中使用了不同的量化步长来使基本层和增强层得到不同质量的视频以适应不同网络及设备,通常基本层的量化步长要大于增强层的量化步长,这就会导致增强层由于精细量化带来码率的急剧增加,尽管当前已有一些研究通过利用压缩感知来处理该问题,但是它们并没有很好地解决压缩感知重构带来的编码复杂度过大的问题。
本发明提出一种基于压缩感知的质量可分级快速编码方法,利用压缩感知理论对信号采样时完成压缩的优点,本发明方法对可分级视频编码中的增强层的数据进行有选择地稀疏表示,减少增强层残差信号的数据量的同时也不会过多的增强压缩感知的计算复杂度。
如图2所示,一种基于压缩感知的质量可分级快速编码方法,从此流程图上可以看出本发明的改进算法对基本层和增强层有不同的算法。
步骤1:初始化参数:
1.1:利用高斯随机函数生成大小为64x64高斯随机矩阵φ;
1.2:设置可分级视频编码层数为2。
步骤2:判断当前编码帧是否是增强层编码,若不是,表示当前编码帧是基本层编码,对其按照原先方式进行编码。
步骤3:用快速模式选择得到增强层待编码子块的模式。根据子块之间的层间相关性和空间相关性,快速得到当前编码单元的最佳子块划分模式,如图3所示,具体步骤如下:
步骤3.1:若基本层编码块的最优编码模式为intra4x4,则增强层对应位置编码块采用intra_bl模式进行编码。
步骤3.2:若基本层编码块的最优编码模式为intra16x16,则增强层编码块的候选模式为intra_bl、mode_16x16、mode_skip、intra16x16、intra4x4其中一种,之后通过率失真优化函数选择其中最优的一种作为增强层对应位置的最优编码模式。
步骤3.3:当基本层的最优编码模式为mode_skip时,如图4所示,
3.3.1:若增强层中对应编码位置的左面、上面、左上面已编码的宏块的最优编码模式均为mode_skip,则此增强层对应编码位置采用mode_skip模式进行编码。
3.3.2:若增强层中对应编码位置的左面、上面、左上面已编码的宏块的最优编码模式包含mode_skip和mode_16x16的组合,则增强层对应编码位置的候选模式为mode_skip、mode_16x16、bl_skip其中一种。
3.3.3若增强层中对应编码位置的左面、上面、左上面已编码的宏块的最优编码模式包含mode_skip、mode_16x16、mode_16x8、mode_8x16的组合,则增强层对应编码位置的候选模式为bl_skip、mode_skip、mode_16x16、mode_16x8、mode_8x16其中一种。
步骤3.4:当基本层编码块的最优编码模式为mode_16x16时。
3.4.1:若增强层中对应编码位置的左面、上面、左上面已编码的宏块的最优编码模包含mode_skip和mode_16x16的组合,则增强层对应编码位置的候选模式为mode_skip、mode_16x16、bl_skip其中一种。
3.4.2:若增强层中对应编码位置的左面、上面、左上面已编码的宏块的最优编码模式包含mode_skip、mode_16x16、mode_16x8、mode_8x16的组合,则增强层对应编码位置的候选模式为bl_skip、mode_skip、mode_16x16、mode_16x8、mode_8x16其中一种。
3.4.3:否则,增强层对应位置编码候选模式为bl_skip、mode_skip、mode_16x16、mode_16x8、mode_8x16、mode_8x8其中一种。
步骤3.5:当基本层编码块的最优编码模式为mode_16x8或mode_8x16时。
3.5.1:若增强层中对应编码位置的左面、上面、左上面已编码的宏块的最优编码模式包含mode_skip、mode_16x16、mode_16x8、mode_8x16的组合,则增强层对应编码位置的候选模式为bl_skip、mode_skip、mode_16x16、mode_16x8、mode_8x16其中一种。
3.5.2:否则,增强层对应位置编码候选模式为bl_skip、mode_skip、mode_16x16、mode_16x8、mode_8x16、mode_8x8其中一种。
步骤3.6:若基本层编码块的最优编码模式为mode_8x8时。
3.6.1:若增强层中对应编码位置的左面、上面、左上面已编码的宏块的最优编码模式均为mode_8x8模式,则增强层对应位置候选模式为bl_skip模式、mode_8x8模式其中一种。
3.6.2:否则,增强层对应位置编码候选模式为bl_skip、mode_skip、mode_16x16、mode_8x8其中一种。
步骤3.7:对于步骤3.3至3.6中涉及的候选模式,利用层间关联度提前结束模式决策。假设ze和zb分别为基本层和增强层量化后的系数,则通过层间关联度提前模式选择的条件为:ze-zb≤k1,k1为通过实验综合考虑所得的阈值,最佳为2.43。可重写为re≤qerb/qb+k1qe,其中qb,qe分别为基本层和增强层的量化步长;rb,re分别为基本层和增强层的dct系数,dct系数的计算公式为r=∑∑diuxuvdjv,其中diu为整数dct变换中(i,u)位置所对应的值,xuv为残差信号值,由于diu的取值小于
步骤3.8:利用空间相关性提前结束模式选择的条件为:z1-z2|-|z3-z4|≤k2,其中z1,z2为增强层两相邻子块的量化系数,z3,z4为基本层两相邻子块的量化系数,k2为通过实验所得阈值,最佳设定为4.31。该条件可重写为|r1-r2|≤qe|r3-r4|/qb+k2qe,其中r1,r2,r3,r4分别为z1,z2,z3,z4的dct系数,qb,qe分别为基本层和增强层的量化步长。根据dct系数的计算公式r=∑∑diuxuvdjv,可以得到
步骤4:判断增强层的残差子块transform_size_8x8_flag标志位是否为1,若不是进行步骤5,否则进行步骤6。
步骤5:对残差子块进行原有的细量化和熵编码过程。
步骤6:对8x8大小的残差子块进行细量化,之后利用压缩感知技术对其进行稀疏编码。具体步骤如下所示:
步骤6.1:如图5所示,首先将8x8大小的残差矩阵变为长度为n的一维稀疏信号θ,利用整数dct变换(稀疏基ψ)对残差子块进行稀疏表示,得到稀疏信号x。
步骤6.2:选用一个与稀疏基ψ满足rip原则、大小为mx64高斯随机测量矩阵φ,其中m的计算公式为:m=klog2(n/k),其中k为稀疏信号中的稀疏度,即不为0的个数。
步骤6.3:将稀疏信号x投影到测量矩阵φ上,得到信号y,计算公式为y=φ·x。
步骤6.4:设立标志位fm并对测量值后面补上(64-m)个0后的数据进行熵编码。
步骤7:在解码端判断待解码块是否含有标志位fm,若没有,进行正常的解码步骤。
步骤8:利用传输得到的φ以及m计算出y以及φ,再根据正交匹配追踪算法(orthogonalmatchingpursuit,omp)重构得到原信号,具体重构步骤如下所示:
步骤8.1:初始化参数设置:残差r(0)=y,重建信号x(0)=0,信号的索引集为γ(0)=φ,迭代次数为n=0,停止迭代判决误差ε>0。
步骤8.2:计算残差和观测矩阵的每行内积g(n)=φ·r(n-1)。
步骤8.3:找出g(n)中绝对值最大的元素,即
步骤8.4:更新索引集γ(n)=γ(n-1)∪{k},及原子集合
步骤8.5:利用最小二乘法求得近似解
步骤8.6:更新残差r(n)=y-x(n)。
步骤8.7:判断是否满足迭代停止条件,若满足则停止,令x=x(n),输出x,否则n=n+1,返回步骤8.1。
为验证本发明方法相比于原标准中方法所取得的有益效果,进行以下验证实验:选取三段不同的视频序列,利用本发明的方法进行编码,三段视频序列(partyscene,flowervase,parkrunner)均为分辨率为1280x720,帧率为30。本发明编码方法在h.264的可分级参考软件jsvm9.18上实现并与参考软件进行对比实验一,与另一篇在ieeeinternationalconferenceoncommunications发表的结合压缩感知的可分级视频编码框架(scalablevideocodingwithcompressivesensingforwirelessvideocast)进行对比试验二。
所得得到实验数据如下图的表1,表2所示:
表1
表2
从表1的实验数据可以看出相比参考软件本发明的方法能够在维持编码质量衰减在可忽略的提前下一定程度地降低编码码率。
从表2的实验数据可以看出相比与比较算法,本文的算法在视频图像质量衰减效果可忽略的情况下,大幅度的降低了编码时间,提高算法的编码效率。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。