一种低码率下视觉关注区域的视频编码方法

文档序号:7869442阅读:272来源:国知局
专利名称:一种低码率下视觉关注区域的视频编码方法
技术领域
本发明涉及视频编码领域,具体涉及一种低码率下基于H.264的视觉关注区域的视频编码方法。
背景技术
在码率充足的情况下,视频各帧各个部分的质量都能够得以保证;然而,在码率非常有限的情况下,如手机视频通信等,编码时如果仍依照图像内容进行统计并平等对待,视频整体的质量会因码率低而急剧下降。生理和心理研究表明:人类总是主动地特别关注于某些特定的、能够产生新异刺激的区域。因此,在这种情况下有必要对人眼视觉重点关注区域分配相对多的码率,保证该区域的质量,从而提高人对视频的主观评价。1998年Itti等提出了自底向上的视觉显著性注意检测模型。该模型首先通过线性滤波将输入图像分解成多个多尺度的低级视觉特征(灰度、颜色、方向)通道;对于每个特征空间通道,利用中央刺激-周围抑制策略(中心-周围尺度差分)计算视觉感受野,并应用一种非线性空间竞争机制将不同尺度信息进行合并得到特征显著图;接着,通过使用预设的权值对各特征显著图进行线性合并得到一张显著图;最后,神经网络的赢者全胜和抑制返回机制相互作用,并按照显著级别从高到低产生人们的注意焦点。其后,该模型进一步得到完善,中国专利第CN102164281A号提出一种基于Itti视觉显著度模型的视频编码码率控制方法,考虑了运动特征在视频内容感知中的重要作用。然而,该模型是基于像素点显著值的统计,实现视觉关注区域的检测过程异常复杂,无法实际应用到实时的编码环境中。在码率有限的情况下,如何在特定的码率和失真度之间进行取舍,有赖于率失真优化(RDO)技术的应用。在H.264标准中,RDO大大提高了编码的压缩效率。而RDO中失真的衡量是使用绝对误差和(SAD)、频域绝对误差和(SATD)或平方误差和(SSD)等函数,这些测度由来已久并成为了传统,但由于只对图像块中单个像素进行统计而忽略了像素间的联系,不能很好地适应人眼视觉系统的特点。结构相似度(SSIM)准则是基于人眼在观察图像时对结构信息的变化更敏感的视觉特点而提出的一种图像质量评价方法,与其它准则相t匕,它更加符合人眼的视觉特点,并已引入至H.264各开源编码器中作为评价编码视频质量的标准。已经有学者开展了基于SSIM的感知率失真优化编码的研究,研究结果显示在RDO中采用SSIM代替原有的失真度量函数能实现更有效的视频压缩。

发明内容
本发明的目的是提供一种低码率下视觉关注区域的视频编码方法,该方法在低码率下能检测出视频内容中的视觉关注区域并保证其视觉质量,可以实现快速的、准确的码率分配优化,解决了现有技术实现视觉关注区域的检测过程异常复杂,无法实际应用到实时的编码环境中的问题。为实现上述发明目的,本发明采用如下技术方案:一种低码率下视觉关注区域的视频编码方法,包含以下几个步骤:
S1、读取当前编码帧,判断当前编码帧类别,确定当前编码帧视觉关注区域;S2、确定当前编码帧所有宏块的量化参数调整等级;S3、确定当前编码帧所有宏块的视觉关注度权值;S4、采用结构相似度SSIM作为宏块预测模式选择时RDO失真衡量标准;S5、根据视觉关注度权值确定新的RDO代价计算公式;S6、确定新的RDO代价计算公式中的经验值;S7、根据新的RDO代价计算公式计算每种预测模式下的RDO代价;S8、根据宏块等级重新分配每个宏块的编码量化参数;S9、根据重新分配的量化参数编码当前编码帧的每个宏块;重复步骤SI到S9,直到编码结束。优选的,所述的步骤SI中,如果当前编码帧是I帧,则通过Canny边缘检测算法检测视觉关注区域,并统计该帧的边缘点总数;如果当前编码帧是P帧或B帧,则根据运动矢量特征分布得到视觉关注区域,对所有宏块进行运动估计,得到宏块运动矢量,如果宏块运动矢量为(X,I),则其强度为再计算宏块运动矢量强度均值以及方差,并统计该帧所有运动矢量强度方差之和。优选的,所述的步骤S2中,如果当前编码帧是I帧,根据宏块包含的边缘像素点个数对宏块进行分级;如果当前编码帧是P帧或B帧,根据宏块运动矢量强度与所在帧运动矢量强度均值的关系判定该宏块的量化参数等级。优选的,所述的步骤S3中,对于I帧中的宏块,视觉关注度权值等于该宏块包含边缘像素点占整帧边缘像素点的比例;对于P帧和B帧的宏块,视觉关注度权值等于该宏块运动矢量强度方差和该帧所有宏块的运动矢量强度方差总和之比。优选的,所述的步骤S4中,在采用结构相似度SSIM作为失真准则进行宏块预测模式选择时,假设原图像为X,重建图像为y,则X和I的结构相似度SSIM可表示为:SSIM(x,y) = I (X,y).c (X, y).s (X, y)其中 I (x, y)、c (x, y)、s (x, y)分别表示两图像的亮度相关性、对比度相关性以及结构相关性。优选的,所述的步骤S5中,新的RDO代价计算公式为:Jcmsst =K.Dssim.( a +w) + λ SSIM.Rmb ;其中Rmb为码率大小;λ SSIM为率失真平衡参数,取值与x264原有SSD失真标准下的相同;DSSIM为失真度,取值范围为
;w为视觉关注度权值;1(和α为经验值;w的大小直接影响失真度在RDO代价中所占的比重,从而对视觉关注区域的宏块在率失真优化阶段优先考虑视觉失真度,保证宏块的视觉质量。优选的,所述的步骤S6中,确定经验值α为0.01,并确定经验值K为:1帧中非精细化RDO以及16x16分块下精细化RDO的K值为300000,4x4分块下精细化RDO的K值为5000 ;对于P帧和B帧非精细化RD0,统计帧中运动矢量强度不为O的宏块数占帧宏块总数的比例,若比例大于60%则K值设为300000,否则K值设为100000 ;精细化RDO下K值设为30000。优选的,所述的步骤S8中,量化参数的调整根据宏块级别得到,重新分配的量化参数随着宏块等级的递增而线性递减,对I帧宏块降低其量化参数,而对P帧或B帧宏块则提高其量化参数,以使视频序列的码率分配趋于均衡。本发明的原理为:对于视频的内容,在空域上,物体边缘对人眼的视觉感知起着重要的作用,而在时域上,一个区域的运动属性相对于其周围区域运动具有显著变化会能引起人眼的重点关注。因此,在使用H.264标准进行视频编码时,可利用其本身基于宏块的分析机制实现快速的人眼视觉关注区域的检测。本发明提出通过边缘检测算法识别视频I帧中的视觉关注区域,边缘检测的目的是提取图像中亮度变化明显的区域。实现边缘检测的方法有许多种,目前最常用的是Canny边缘检测算法,该算法可以很好地降低图像中的噪声,同时较为准确地确定图像边缘的位置;而对于视频时域的运动显著特征捕捉,目前已存在多种相关的视频图像运动检测算法包括帧间差分法、背景差分法、光流法等,以上运动检测方式均在实际应用中取得过一定效果,但却都是基于像素的分析,复杂度较高。本发明中将利用H.264中原有的帧间编码运动矢量分析机制,提出一种运动显著特征模型检测P/B帧中的视觉关注区域,对视觉关注区域重点编码;为保证视觉关注区域失真度衡量优先,本发明将建立基于视觉关注度权值与SSIM的RDO代价函数,可以进一步提高视觉关注区域的图像质量。本发明以实际应用为出发点,针对低带宽网络环境下的移动视频应用而提出,并在x264 (版本为0.76.X)编码器上验证了本方法的有效性。本发明应用于低码率情况下的视频编码系统中。区别于传统的编码方法,本发明能够在码率非常有限的情况下,智能地识别出人视觉关注的区域并调整宏块的码率分配,进而结合结构相似度重新构造了与视觉关注区域权重相关的率失真模型,实现快速的、更符合人眼视觉特征的视频编码。与现有技术相比,本发明具有如下有益效果及主要优点:1、边缘检测技术的应用有利于帧内编码实现符合人眼视觉特征的码率分配。2、基于块的运动矢量特征检测模型的建立有利于帧间编码实现符合人眼视觉特征的码率分配。3、基于块的运动矢量特征检测模型嵌入在编码过程,不需要任何离线操作,能够对视频序列进行实时运动检测。4、能够应用于各种基于H.264标准的视频编码系统中,可移植性强。


图1是基于H.264的视觉关注区域编码方法框图;图2是基于视觉关注区域的编码方法流程图;图3是基于视觉关注度权值和SSM的RDO流程图。
具体实施例方式下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。实施例根据H.264编码流程,基于本发明的编码方法流程图如图1所示。该方法利用Canny边缘检测技术检测出I帧中包含重要边缘信息的宏块,依据各宏块包含边缘信息的多少调整编码量化参数,实现帧内编码比特率的合理分配;对于P帧和B帧,建立了基于宏块级的运动特征检测模型,该模型根据宏块的运动矢量与所在帧的平均运动矢量的方差分布调整编码量化参数,实现帧间编码比特率的合理分配;并在率失真优化技术的基础上,建立基于结构相似度的与视觉关注区域权重相关的率失真优化函数。
本发明提供的编码方法主要应用于解决低码率下基于H.264的视频编码系统中的码率分配的快速优化,实现在码率有限情况下人眼对视频视觉感知的更佳效果。如图1、2及3所示,具体实施方法按以下三方面的具体步骤完成:一、基于边缘检测算法的I帧视觉关注区域检测在本发明中,由于I帧采用帧内模式编码,对视频图像的细节如纹理、边缘能更好地保存,因而边缘检测算法将主要应用于I帧,包含较多边缘点的宏块可以认为是I帧的视觉关注区域,再根据宏块包含的边缘点所占帧边缘点比例大小分配I帧率失真优化权值以及量化参数调整等级,进而达到动态调整每个宏块码率大小的目的。其主要流程原理如下:①在编码I帧之前,应用Canny边缘检测算法检测视觉关注区域,并统计该帧的边缘点总数;②对于每个16x16宏块,根据宏块包含的边缘像素点个数对宏块进行分级,边缘像素点越多,宏块级别越高,在稍后的编码中将会分配更低的量化参数以提高宏块编码质量;③根据宏块包含边缘像素点占整帧边缘像素点的比例计算出每个宏块用于率失真优化的视觉关注度权值w ;④根据宏块等级重新分配量化参数,重新分配的量化参数随着宏块等级的递增而线性递减;⑤根据重新分配的量化参数编码I帧的每个宏块。本实施例中,采用边缘检测算法对I帧视觉关注区域进行检测时,具体步骤如下:①初始化结构空间和变量;②读取一巾贞为当前巾贞curFrame,判断当前巾贞curFrame是否是I巾贞,如果是I巾贞,将I帧Y分量数据拷贝进临时结构空间;③对I帧Y分量进行Canny边缘检测算法检测边缘;④对于每个16x16宏块,根据边缘像素点的个数m分配量化参数等级level:a)若m为0,则level为O ;否贝丨J,转b);b)若m小于8,则level为I ;否则,转c);c)若m小于24,则level为2 ;否则,转d);d)若m小于56,则level为3 ;否则,转e);e)若m大于或等于56,贝丨J level为4 ;结束level赋值。⑤统计该巾贞所有边缘像素点的个数s,对于每个16x16宏块,根据边缘像素点占该帧帧边缘像素点的比例,确定该宏块用于率失真优化的视觉关注度权值w=m/s ;⑥对当前帧curFrame进行编码,在编码宏块过程中,根据宏块的量化参数等级level,对该宏块进行编码量化参数调整,具体如下:如果level为O级,则量化参数qp减少O ;如果level为I级,则量化参数qp减少I ;如果level为2级,则量化参数qp减少2 ;如果level为3级,则量化参数qp减少3 ;如果level为4级,则量化参数qp减少4 ;
⑦使用调整后的量化参数对当前巾贞curFrame进行编码,直至当前巾贞curFrame所有宏块编码完成;⑧若当前巾贞curFrame不是最后一巾贞,跳至第②步;否则编码结束。二、基于运动矢量特征的P帧和B帧视觉关注区域检测在视频序列中,物体的运动特征越突出越容易吸引人眼的关注。P帧和B帧中运动物体所占据的宏块一般具备较大的运动矢量强度,通过分析宏块的矢量强度与帧整体的运动趋势之间的关系,就可判定宏块的运动特征是否突出,将运动特征突出的宏块作为视觉关注区域进行重点编码,其他宏块则相对降低编码质量,以达到P帧和B帧码率均衡分配的效果。对于在P帧和B帧中检测到的视觉关注区域,将根据其运动矢量强度方差分配率失真优化权值,并根据运动矢量强度均值分配量化参数调整等级,以此达到动态调整宏块码率分配的目的。其主要流程原理如下:①对于P帧或B帧中采用帧间编码模式的宏块,本发明先对所有宏块进行运动估计,得到所有宏块的运动矢量,再计算其强度;②计算整帧所有宏块的运动矢量强度均值以及每个宏块的运动矢量强度的方差;③根据运动矢量强度方差和该帧所有宏块的运动矢量强度方差总和之比确定每个宏块用于率失真优化的视觉关注度权值w ;④根据宏块运动矢量强度与所在帧运动矢量强度均值的关系对宏块进行分级,运动矢量强度越大等级越高;⑤根据宏块等级重新分配量化参数,重新分配的量化参数随着宏块等级的递增而线性递减;⑥根据重新分配的量化参数编码P帧或B帧的每个宏块。在本实施例中,基于运动矢量特征对P帧和B帧视觉关注区域检测,具体包括以下步骤:①初始化用于运动矢量强度计算结构体和变量;②如果当前巾贞curFrame是P巾贞,遍历巾贞中所有宏块进行运动估计后提取运动矢量(X,y),将运动矢量转化为强度,强度intensity=sqrt (x*x+y*y);③为所有宏块运动矢量强度求和,计算强度平均值avg_intenSity,再根据均值确定每个宏块运动矢量强度的方差Oi,并统计所有宏块强度方差的总和Σ oi;④确定每个宏块用于率失真优化的视觉关注度权值Wi= σ y Σ Qi⑤根据强度均值avg_intensity确定每个宏块量化参数等级level:a)如果宏块运动矢量强度为0,则level为O ;否则,转b);b)如果宏块运动矢量强度小于或等于avg_intensity*0.5,则level为I ;否则,转c);c)如果宏块运动矢量强度小于或等于avg_intensity,则level为2 ;否则,转d);d)如果宏块运动矢量强度小于或等于avg_intensity*2,则level为3 ;否则,转e);e)如果宏块运动矢量强度大于avg_intensity*2,则level为4 ;level赋值结束。⑥对宏块进行编码时,根据宏块的量化参数等级level对该宏块的量化参数进行调整,具体如下:如果level为O级,则量化参数qp增加4 ;如果level为I级,则量化参数qp增加3 ;如果level为2级,则量化参数qp增加2 ;如果level为3级,则量化参数qp增加I ;如果level为4级,则量化参数qp增加O ;⑦使用调整后的量化参数对当前巾贞curFrame进行编码,直至当前巾贞curFrame所有宏块编码完成;⑧若当前巾贞curFrame不是最后一巾贞,跳至第②步;否则编码结束。三、基于视觉关注度权值以及SSM的RDO改进实施方案本发明中采用了结构相似度(SSIM)作为了 RDO失真衡量标准,取代原x264编码器中使用的SSD标准,以使编码模式的选择更为准确,同时结合前述I和2中提到的视觉关注度权值w的计算,得到本发明使用的率失真优化公式:Jcost — K.Dssim.( ct +w) + λ SSIM.Rmb (I)(I)式中Rmb为码率大小;Xssim为率失真平衡参数,本发明中它的取值与χ264原有SSD失真标准下的相同;DSSIM为失真度,这里表示为1-SSM,SSM取值范围是
。假设原图像为X,重建图像为y,则X和I的结构相似度SSIM可表示为:SSIM (X, y) = I (x, y).c(x, y).s (x, y) (2)(2)式中,I(x, y)、c(x, y)、s(x, y)分别表示两图像的亮度相关性、对比度相关性以及结构相关性。(具体见Wang Zhou, Bovik AC等人著的A universal image qualityindex 一文)。(I)式中K和α是经验值,通过大量的实验表明,给I帧和P帧、B帧分配不同的K值可以得到较好的率失真优化效果。本发明中设置α为0.01,对于K的设置如下:①I帧中非精细化RDO以及16x16分块下精细化RDO的K值为300000,4x4分块下精细化RDO的K值为5000 ;②对于P帧和B帧非精细化RD0,统计帧中运动矢量强度不为O的宏块数占帧宏块总数的比例,若比例大于60%则K值设为300000,否则K值设为100000 ;精细化RDO下K值设为30000。在本实施例中,改进后的χ264基于视觉关注度权值和SSM的RDO可分为以下步骤:①使用SSM计算函数替换χ264编码器Ι、Ρ、Β通用RDO函数x264_rd_cost_mb、I中贞4x4分块下精细化RDO函数264_rd_cost_i4x4以及P巾贞精细化RDO函数x264_rd_cost_part>x264_rd_cost_subpart中原有的SSD计算函数,I巾贞8x8分块下精细化RDO函数由于未启用而不替换,SSIM的计算由公式(2)得到;②在第一轮RDO中,确定宏块的最佳分块模式,此阶段的RDO函数是1、P、B帧通用RDO函数。根据公式(I ),如果当前编码帧是I帧,则经验值K设为300000,如果是P或B帧,则根据当前编码帧中运动矢量不为O的比例分配K值,如果该比例大于60%,则设置K值为300000,否则设为100000 ;③在精细化RDO中,对最佳分块模式下各种预测模式进行率失真代价计算,以确定最佳预测模式。此阶段I帧16x16分块下精细化RDO函数的K值设为300000,4x4分块下精细化RDO函数K值设为5000,P帧和B帧精细化RDO函数K值设为30000 ;④根据公式(1),在1、P、B帧通用RDO函数以及各精细化RDO函数中加入每个宏块的视觉关注度权值的影响,即K* (1-SSIM) * ( a +w),经验值α设为0.01,w为每个宏块视觉关注度权值;⑤公式(I)中λ SSIM.Rmb的计算按照x264原有计算完成,接着各RDO函数返回公式(I)计算的结果,即RDO代价Jkbt用于帧内预测或帧间预测模式的选择。表I本方法定义的主要数据结构和变量
权利要求
1.一种低码率下视觉关注区域的视频编码方法,其特征在于,包含以下几个步骤: 51、读取当前编码帧,判断当前编码帧类别,确定当前编码帧视觉关注区域; 52、确定当前编码帧所有宏块的量化参数调整等级; 53、确定当前编码帧所有宏块的视觉关注度权值; 54、采用结构相似度SSIM作为宏块预测模式选择时RDO失真衡量标准; 55、根据视觉关注度权值确定新的RDO代价计算公式; 56、确定新的RDO代价计算公式中的经验值; 57、根据新的RDO代价计算公式计算每种预测模式下的RDO代价; 58、根据宏块等级重新分配每个宏块的编码量化参数; 59、根据重新分配 的量化参数编码当前编码帧的每个宏块; 重复步骤SI到S9,直到编码结束。
2.根据权利要求1所述的低码率下视觉关注区域的视频编码方法,其特征在于,所述的步骤SI中,如果当前编码帧是I帧,则通过Canny边缘检测算法检测视觉关注区域,并统计该帧的边缘点总数;如果当前编码帧是P帧或B帧,则根据运动矢量特征分布得到视觉关注区域,对所有宏块进行运动估计,得到宏块运动矢量,如果宏块运动矢量为(x,y),则其强度为再计算宏块运动矢量强度均值以及方差,并统计该帧所有运动矢量强度方差之和。
3.根据权利要求1所述的低码率下视觉关注区域的视频编码方法,其特征在于,所述的步骤S2中,如果当前编码帧是I帧,根据宏块包含的边缘像素点个数对宏块进行分级;如果当前编码帧是P帧或B帧,根据宏块运动矢量强度与所在帧运动矢量强度均值的关系判定该宏块的量化参数等级。
4.根据权利要求1所述的低码率下视觉关注区域的视频编码方法,其特征在于,所述的步骤S3中,对于I帧中的宏块,视觉关注度权值等于该宏块包含边缘像素点占整帧边缘像素点的比例;对于P帧和B帧的宏块,视觉关注度权值等于该宏块运动矢量强度方差和该帧所有宏块的运动矢量强度方差总和之比。
5.根据权利要求1所述的低码率下视觉关注区域的视频编码方法,其特征在于,所述的步骤S4中,在采用结构相似度SSIM作为失真准则进行宏块预测模式选择时,假设原图像为X,重建图像为y,则X和y的结构相似度SSIM可表示为:SSIM(x,y) = I (x, y).c(x,y) *s(x,y),其中I (x, y)、c(x, y)、s(x, y)分别表示两图像的亮度相关性、对比度相关性以及结构相关性。
6.根据权利要求1或5所述的低码率下视觉关注区域的视频编码方法,其特征在于,所述的步骤S5中,新的RDO代价计算公式为-Jcost = K.Dssim.( a +w) + λ SSIM.Rmb ;其中Rmb为码率大小;λ ssiM为率失真平衡参数,取值与x264原有SSD失真标准下的相同;Dssim为失真度,取值范围为
;w为视觉关注度权值;K和α为经验值。
7.根据权利要求6所述的低码率下视觉关注区域的视频编码方法,其特征在于,所述的步骤S6中,确定经验值α为0.01,并确定经验值K为:1帧中非精细化RDO以及16x16分块下精细化RDO的K值为300000,4x4分块下精细化RDO的K值为5000 ;对于P帧和B帧非精细化RD0,统计帧中运动矢量强度不为O的宏块数占帧宏块总数的比例,若比例大于60%则K值设为300000,否则K值设为100000 ;精细化RDO下K值设为30000。
8.根据权利要求6所述的低码率下视觉关注区域的视频编码方法,其特征在于,所述的步骤S8中,量化参数的调整根据宏块级别得到,重新分配的量化参数随着宏块等级的递增而线性递减,对 I帧宏块降低其量化参数,而对P帧或B帧宏块则提高其量化参数。
全文摘要
本发明为一种低码率下基于H.264的视觉关注区域的视频编码方法,包括步骤判断当前编码帧类别,确定视觉关注区域、当前编码帧所有宏块的量化参数调整等级、当前编码帧所有宏块的视觉关注度权值;采用结构相似度SSIM作为失真准则进行宏块预测模式选择时RDO失真衡量标准;根据视觉关注度权值确定新的RDO代价计算公式;确定新的RDO代价计算公式中的经验值;根据新的RDO代价计算公式计算每种预测模式下的RDO代价;根据宏块等级重新分配每个宏块的编码量化参数;根据重新分配的量化参数编码当前编码帧的每个宏块;重复上述步骤直到编码结束。本发明可在码率非常有限的情况下优化码率分配,实现更符合人眼视觉特征的视频编码。
文档编号H04N7/26GK103079063SQ20121055741
公开日2013年5月1日 申请日期2012年12月19日 优先权日2012年12月19日
发明者张星明, 林育蓓, 张吉, 陈铭洙 申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1