发明内容
本发明不同于现有的光流法、帧差法、运动能量检测法、背景差法等视频运动对象提取方法,是以视频码流中的预测模式、运动矢量等编码信息为基础,根据编码信息与视觉感兴趣区域的关联性,识别视频编码内容中的空域视觉特征显著度区域和时域特征视觉显著度区域,从而实现视频感兴趣区域的自动标识和获取。
根据HVS特征,人眼对亮度信息较之色度信息更加敏感,本发明方法针对视频序列中的亮度分量的编码信息,进行视频感兴趣区域的自动标识和获取。
本发明方法具体包括下述步骤:
步骤一:输入YUV格式、GOP(Group of Picture,GOP)结构为IPPP的视频序列,读取编码宏块的亮度分量Y,进行编码参数配置和初始化参数;
步骤二:对视频序列的首帧,即I帧进行帧内预测编码;
在视频编码标准中,I帧做为随机访问的参考点,含有大量信息,由于其不能利用相邻帧之间的时间相关性进行编码,因而采用帧内预测编码方法,利用当前帧中己编码重建宏块的编码信息对当前宏块进行预测,以消除空间冗余。对视频序列首帧,即I帧进行帧内预测编码是视频编码中惯用的一种常规编码方式。
步骤三:对当前p帧进行帧间预测编码,利用相邻帧视频内容的相关性消除时间冗余。记录当前帧内所有编码宏块的帧间预测模式类型,记为Modepn;
其中,p=1,2,3,…,L-1,代表第p个进行帧间编码的视频帧,L为整个视频序列进行编码的总帧数;n表示在当前编码帧中的第n个编码宏块的序号。
步骤四:标识当前p帧的空域视觉特征显著度区域,具体为:若当前编码宏块的帧间预测模式Modepn属于亚分割模式集合或者帧内预测模式集合,即Modepn∈{8×8,8×4,4×8,4×4}or{Intra16×16,Intra4×4},则将该宏块标记为SYp(x,y,Modepn)=1,属于空域视觉特征显著度区域,否则标记SYp(x,y,Modepn)=0;其中,Y表示编码宏块的亮度分量,(x,y)表示该编码宏块的位置坐标,p和Modepn的定义同上,遍历当前p帧中的所有编码宏块;
图1给出了H.264标准帧间预测模式选择流程示意图。
经过实验,发现在H.264/AVC标准编码中,预测编码结果与人眼感兴趣区域之间具有较强相关性:对于人眼关注度较高的运动区域或者纹理丰富区域,Modepn大多选择亚分割模式集合{8×8,8×4,4×8,4×4};在镜头切换,视频内容发生突变,或者出现运动幅度较大的运动对象时,人眼关注度最高,此时Modepn才会选择帧内预测模式集合{Intra16×16,Intra4×4};对于人眼关注度较低的背景平滑区域,Modepn大多选择宏块分割模式集合{Skip,16×16,16×8,8×16}。图2以Claire序列为例,给出了Claire序列第50帧帧间预测模式分布图,从图中可以发现在人眼关注度较高的区域中,编码宏块大都选择了帧间亚分割预测模式集合。
步骤五:记录第p帧中每一个编码宏块在水平方向上的运动矢量V
xpn和在垂直方向上的运动矢量V
ypn;并计算前一个编码帧中所有编码宏块在水平方向上的平均运动矢量
以及垂直方向上的平均运动矢量
其中, Vx(p-1)n和Vy(p-1)n表示前一个编码帧中每一个编码宏块在水平和垂直方向上的运动矢量,p和n的定义与步骤三相同;Num表示一个编码帧中包含的宏块个数,也就是累加次数。图3以QCIF格式(176×144)的视频为例,给出了一个编码帧中所有编码宏块(16×16)的位置及其序号n,此时,
步骤六:标识当前p帧的时域视觉特征显著度区域,具体为:若当前编码宏块的水平方向运动矢量V
xpn大于前一帧编码宏块在水平方向运动矢量平均值
或者当前编码宏块的垂直方向运动矢量V
ypn大于前一帧编码宏块在垂直方向运动矢量平均值
则该宏块属于时域视觉特征显著度区域,标记T
Yp(x,y,V
xpn,V
ypn)=1,否则标记T
Yp(x,y,V
xpn,V
ypn)=0,遍历当前p帧中的所有编码宏块;
其中,Y表示编码宏块的亮度分量,(x,y)表示该编码宏块的位置坐标,p的定义与步骤三相同。
运动感知是人眼视觉***中最重要的视觉处理机制之一。经过实验,发现具有较大运动矢量的编码内容恰好是人眼感兴趣的运动区域(如头部、手臂、人物等);而运动矢量较小甚至为零的编码内容正是人眼关注度较低的静止背景区域。图4以Akiyo序列为例,给出了Akiyo序列第50帧运动矢量分布图,从图中可以发现在人眼关注度较高的人脸及头肩区域中,编码宏块通常具有较大的运动矢量。
当前编码宏块的运动程度剧烈与否,判定阈值的设定对结果的影响较大。为降低误判率,本发明将水平方向和垂直方向的运动程度判定阈值分别记为
和
表示前一帧中所有编码宏块在水平方向上的平均运动矢量,
表示前一帧中所有编码宏块在垂直方向上的平均运动矢量。本发明中动态阈值的设定,充分考虑了视频序列的时间相关性,使阈值能够随前一帧编码宏块运动矢量平均值的变化而改变,有效减少了误判,能够快速、准确地获得时域视觉特征显著度区域。
步骤七:标记当前p帧的视频感兴趣区域,具体为:遍历当前p帧中的所有编码宏块,根据每个编码宏块的空域特征显著度和时域视觉特征显著度进行标记,具体标记公式如下:
标记视频感兴趣区域,分为以下几类情况:
如果当前编码宏块同时具有空域和时域视觉特征显著度,即SYp(x,y,Modepn)=1并且TYp(x,y,Vxpn,Vypn)=1,说明当前编码宏块不仅纹理细节丰富,而且产生了较大的运动矢量,则人眼感兴趣程度最高,标记ROIYp(x,y)=3;
若仅具有时域视觉特征显著度,不具有空域视觉特征显著度,即TYp(x,y,Vxpn,Vypn)=1并且SYp(x,y,Modepn)=0,说明当前编码宏块产生了较大的运动矢量,根据HVS的感知特征,人眼对物体的运动具有高度敏感性,人眼感兴趣程度次之,标记ROIYp(x,y)=2;
若宏块运动程度较低,不具有时域视觉特征显著度,但具有丰富的纹理信息,仅具有空域视觉特征显著度,即SYp(x,y,Modepn)=1并且TYp(x,y,Vxpn,Vypn)=0,人眼感兴趣程度再次,标记ROIYp(x,y)=1;
若既不具有空域视觉特征显著度也不具有时域视觉特征显著度,即SYp(x,y,Modepn)=0并且TYp(x,y,Vxpn,Vypn)=0,说明当前编码宏块纹理平坦、运动平缓或者静止,通常是静止的背景区域,则为人眼非感兴趣区域,人眼感兴趣程度最低,标记ROIYp(x,y)=0;
其中,ROIYp(x,y)代表当前编码宏块视觉感兴趣优先级;TYp(x,y,Vxpn,Vypn)代表当前编码宏块的时域视觉特征显著度;SYp(x,y,Modepn)代表当前编码宏块的空域视觉特征显著度;(x,y)表示当前编码宏块的位置坐标;Y代表宏块的亮度分量;p表示第p个进行帧间编码的视频帧;n表示在当前编码帧中的第n个编码宏块的序号。
步骤八:输出视频编码码流,具体为:根据标记的ROIYp(x,y)感兴趣优先级别高低,对当前p帧中所有宏块的亮度分量Y做如下处理,并输出标记后的视频流,
由于编码宏块的亮度分量的取值范围为Y∈[0,255],从0到255代表宏块亮度分量从全黑到全白的256个级别。根据标记的ROIYp(x,y)感兴趣优先级别高低,本发明针对宏块的亮度分量Y做如下处理,并输出标记后的视频流。
如果ROIYp(x,y)=3,感兴趣程度最高,人眼关注度最高,将该编码宏块的亮度分量设为255,输出宏块亮度分量值最高,即Yp(x,y)=255;
如果ROIYp(x,y)=2,感兴趣程度次之,人眼关注度较高,将该编码宏块的亮度分量设为150,输出宏块亮度分量值较高,即Yp(x,y)=150;
如果ROIYp(x,y)=1,感兴趣程度再次,人眼关注度较低,将该编码宏块的亮度分量设为100,输出宏块亮度分量值较低,即Yp(x,y)=100;
如果ROIYp(x,y)=0,是非感兴趣区域,人眼关注度最低,将该编码宏块的亮度分量设为0,输出宏块亮度分量值最低,即Yp(x,y)=0。
步骤九:返回步骤三,对下一帧进行处理,直到遍历整个视频序列。
图5给出了视频感兴趣区域标识与提取方法流程图。
图6给出了典型视频序列的标记后的视频感兴趣区域输出结果。有益效果
本方法根据基本编码信息实现了视频感兴趣区域的快速提取。本方法利用基本编码信息与人眼视觉感兴趣区域之间的关联性,分别识别视频编码内容中的空域视觉特征显著度区域和时域特征视觉显著度区域,再结合空域和时域视觉特征显著度区域的标识结果,定义视频感兴趣优先级,最终实现了视频感兴趣的自动提取。本发明方法可为基于感兴趣区域ROI(Region of Interest,ROI)的视频编码技术提供重要编码依据。
具体实施方式
鉴于人眼对亮度信息较之色度信息更加敏感,本发明方法针对视频帧的亮度分量进行编码。先读入视频序列,提取其亮度分量,调用本发明的视频感兴趣区域提取模块完成感兴趣区域的自动标识与提取。
本发明实施中是采用视频摄取装置(如数码摄像机等)实现视频图像的采集,并将图象传输至计算机,在计算机中根据视频码流中的编码信息实现视频感兴趣区域的自动标识。依据当前编码宏块的预测编码模式标识空域视觉特征显著度区域;再依据当前编码宏块在水平或垂直方向上的运动矢量,标识时域视觉特征显著度区域,通过设定动态运动矢量判定阈值减小由于不同的视频运动类型对于感兴趣区域提取准确度的影响;最后依据空域/时域视觉特征显著度得到视频感兴趣分类结果,实现视频感兴趣区域的自动提取。
具体实施中,在计算机中完成以下程序:
第一步:根据编码配置文件encoder.cfg读入视频序列,按照配置文件中的参数配置编码器。例如:完成视频码流结构GOP=IPPP…;编码帧数FramesToBeEncoded=100;帧率FrameRate=30f/s;视频文件宽度SourceWidth=176,高度SourceHeight=144;输出文件名称OutputFile=ROI.264;量化步长值QPISlice=28,QPPSlice=28;运动估计搜索范围SearchRange=±16;参考帧数NumberReferenceFrames=5;激活率失真代价函数RDOptimization=on;设置熵编码类型SymbolMode=CAVLC等参数配置,初始化参数L=编码帧数,p=1;
第二步:从输入视频序列中按顺序逐帧读取编码宏块亮度分量值Y;
第三步:对视频序列首帧,即I帧进行帧内预测编码;
第四步:对当前p帧进行帧间预测编码;记录当前编码宏块的帧间预测模式类型Modepn;其中,p=1,2,3,…,L-1,代表第p个进行帧间编码的视频帧,L为整个视频序列进行编码的总帧数;n表示在当前编码帧中的第n个编码宏块的序号。
第五步:标识空域视觉特征显著度区域,若当前编码宏块的帧间预测模式Modepn属于亚分割模式集合或者帧内预测模式集合,Modepn∈{8×8,8×4,4×8,4×4}or{Intra16×16,Intra4×4},则将该宏块标记为SYp(x,y,Modepn)=1,属于空域视觉特征显著度区域,否则标记SYp(x,y,Modepn)=0;
第六步:若p≠1,记录第p帧中每一个编码宏块在水平方向上的运动矢量V
xpn和在垂直方向上的运动矢量V
ypn;并计算前一个编码帧中所有编码宏块在水平方向上的平均运动矢量
以及垂直方向上的平均运动矢量
否则,跳转至第十步;
第七步:标识时域视觉特征显著度区域,若当前编码宏块的水平方向运动矢量V
xpn大于前一帧编码宏块在水平方向运动矢量平均值
或者当前编码宏块的垂直方向运动矢量V
ypn大于前一帧编码宏块在垂直方向运动矢量平均值
满足其中任何一个判别条件,则该宏块属于时域视觉特征显著度区域,标记T
Yp(x,y,V
xpn,V
ypn)=1,否则标记T
Yp(x,y,V
xpn,V
ypn)=0;
第八步:标记视频感兴趣区域。
如果当前编码宏块同时具有空域和时域视觉特征显著度,即SYp(x,y,Modepn)=1并且TYp(x,y,Vxpn,Vypn)=1,则人眼感兴趣程度最高,标记ROIYp(x,y)=3;
若仅具有时域视觉特征显著度,即TYp(x,y,Vxpn,Vypn)=1并且SYp(x,y,Modepn)=0,人眼感兴趣程度次之,标记ROIYp(x,y)=2;
若仅具有空域视觉特征显著度,即SYp(x,y,Modepn)=1并且TYp(x,y,Vxpn,Vypn)=0,人眼感兴趣程度再次,标记ROIYp(x,y)=1;
若既不具有空域视觉特征显著度也不具有时域视觉特征显著度,即SYp(x,y,Modepn)=0并且TYp(x,y,Vxpn,Vypn)=0,则为人眼非感兴趣区域,标记ROIYp(x,y)=0;
第九步:输出视频编码码流。
如果ROIYp(x,y)=3,感兴趣程度最高,人眼关注度最高,将该编码宏块的亮度分量设为255,输出宏块亮度分量值最高,即Yp(x,y)=255;
如果ROIYp(x,y)=2,感兴趣程度次之,人眼关注度较高,将该编码宏块的亮度分量设为150,输出宏块亮度分量值较高,即Yp(x,y)=150;
如果ROIYp(x,y)=1,感兴趣程度再次,人眼关注度较低,将该编码宏块的亮度分量设为100,输出宏块亮度分量值较低,即Yp(x,y)=100;
如果ROIYp(x,y)=0,是非感兴趣区域,人眼关注度最低,将该编码宏块的亮度分量设为0,输出宏块亮度分量值最低,即Yp(x,y)=0。
第十步:若p≠L-1,p=p+1,跳转至第三步;否则,结束编码。
利用本发明方法标记视频感兴趣区域的输出结果示意图,如图6所示。以典型的视频监控序列(Hall)和室内活动视频序列(Salesman)为例,利用运动矢量分布结果和帧间预测模式选择结果,标记视频感兴趣区域,若某宏块的人眼感兴趣程度越高,则在输出视频中该位置处的亮度值越高,反之亮度值越低。从图6中最右侧一列的标记结果可以发现,采用本发明方法获得的视频感兴趣区域的形状是不规则的,与传统的采用固定形状模板的运动目标检测方法获得的感兴趣区域相比较,本发明方法标记结果更接近人眼所关注的感兴趣目标形状,能够更准确地标记感兴趣区域。
本发明方法还可与其他快速编码技术结合,在保证对人眼感兴趣区域编码质量的前提下,降低人眼不感兴趣的背景区域编码复杂度,进一步减少编码时间,也可用于基于H.264的可伸缩编码中,实现感兴趣区域的选择性增强编码。