678
1.3 分析B帧的运动矢量时空分布特性缩小检索范围 Journal of Software 软件学报 2003,14(3)
上面的粗检只能保证结果与样本粗略相似,因为在MPEG码流中I帧只占较小比例,用小部分数据分析整体数据的相似性必然会降低准确性.事实上,上文所述改进的I帧检索的基本原理也可用于JPEG格式的图像检索[8],连续帧随时间变化的相关性还未使用.另外,检索算法需根据样本精确定位视频结果的起止点,仅分析I帧显然是不足的,还需进一步分析其他类型帧的相关特性.
在MPEG码流中,B帧和P帧主要根据相邻预测帧间的相关性采用预测编码,包含的主要数据有:宏块编码类型、运动矢量和预测误差.因预测误差极不稳定,参考价值较小,很少有算法将其作为检索特征.运动矢量表示向前或向后预测的参考宏块的相对位置,它反映了连续帧间对应宏块的相关性,分析其特性可以得到一段视频内部的运动结构,运动矢量分析在视频分析中得到广泛应用.参考其他检索方法,在保证一定精度的前提下,为减少计算量,在本级检测中仅分析B帧的运动矢量.
具体的情况我们需要分析连续B帧运动矢量的空间和时间分布特性来定.空间分布特性是指单帧内各宏块的运动矢量在本帧内的分布特性.时间分布特性是指一段时间内连续帧各宏块的运动矢量随时间变化的分布特性.文献[2]仅利用了运动矢量的空间分布特性,忽略了时间分布特性.为分析方便,我们将连续帧的时空图像序列组成图2所示的立方体,x-y平面表示单帧的运动矢量的空间分布图,坐标大小由视频分辨率决定,x-t和y-t平面表示连续帧的运动矢量随时间变化的分布图,坐标大小由视频分辨率和帧数量决定.
我们用断层摄影法分析该三维空间,计算机断层摄影CT(computed tomography)技术已成功应用在医学疾病检测上,文献[9]用该方法进行镜头分割.断层摄影法首先将三维空间中某点的x或y或z坐标固定,然后再分析其他两维坐标平面的分布特性.图2给出一个断层摄影法的示意图.例如x轴的投影可表示如下:
(10) ftomo(y,t|x*)=f(x*,y,t),
式(10)中,ftomo(y,t|x*)表示x为常数时f(x,y,t)的y-t投影函数,代表x坐标固定时y轴上的运动矢量随时间变化的过程,我们也可将空间特性形成的x-y平面看做是t为常数时的断层摄影.这样,运动矢量的空间分布特性可直接在x-y平面上分析,运动矢量的时间特性用断层摄影法在x-t和y-t平面上分析.运动矢量的时空分布特性可采用统一的二维平面分析方法,以下论述的二维平面上的运动矢量特性的分析方法以x-y平面为例,同样也适用于x-t和y-t平面.
y-t
tomography Fig.2 Tomography method for spatial and temporal distribution feature of motion vector
图2 运动矢量的时空分布特性的断层摄影法示意图
视频分析中可用直方图、方差分析、边界提取等方法进行特征比较,文献[10]通过试验比较指出,直方图分析是最为有效的方法.直方图通过比较元素分布到预先设定的各离散小区间的分布差异性来判定相似性,
其缺
点是丢失了元素的空间信息,两个不同的视频可能有相同直方图.为了在一定程度上克服此缺陷,我们将坐标平面平分为U×V个子区域,在每个子区域中分别进行直方图分析,这样可保留部分的空间信息.具体的UV取值可综合视频分辨率和计算复杂度等因素综合考虑,例如,一般地,当视频分辨率为352×288时,可分解为2×2个子 区域.
运动矢量是二维向量,在MPEG码流中分别以其横坐标分量和纵坐标分量表示,可直接分别对它们进行直方图分析,避免用大小和方向分析而引入的额外的转换计算量.结合预测编码的搜索范围,在具体实现中,可将分析区间限制在[ 15,15]之间,对极少数此范围之外的元素采取饱和化(saturate)处理.另外,对内部编码宏块单独统计.
在对样本和被比较片断的某对B帧子区域(u,v)内的运动矢量进行分析时,首先对其横坐标分量的直方图距离定义如下:
1L(11) ∑Hrx(z) Hcx(z), Lz=1
其中Cx(u,v)表示横坐标分量的直方图距离,L表示对横坐标分量划分的区间数,Hrx(z)和Hcx(z)分别表示样本和Cx(u,v)=被比较片断在该子区域内横坐标分量位于第z个区间的数量.采用同样的方法,我们可以得到纵坐标分量的直方图距离.
对该子区域内运动矢量的横坐标分量和纵坐标分量的直方图距离之和定义如下:
(12) C(u,v)=áCx(u,v)+(1 á)Cy(u,v),
其中C(u,v)表示在子区域(u,v)内运动矢量的直方图距离,Cx(u,v)和Cy(u,v)分别表示式(11)定义的横坐标分量和纵坐标分量的直方图距离,α表示横坐标分量的加权值,1 α表示纵坐标分量的加权值,一般地,取α=0.5.
对分解为U×V个子区域的每对B帧的运动矢量的帧间差定义如下:
1V 1U 1C(u,v), ∑∑U×Vv=0u=0
其中Gt(t)表示如图2所示的三维空间中时间坐标为常数t时x-y平面上的帧间差. Gt(t)=
B帧运动矢量的空间和时间分布的差值定义如下:
G=∑Gt(t)+∑Gx(x)+∑Gy(y),
t=0x=0y=0R 1M 1N 1(13) 用上文所述的断层摄影法,同样可得到x-t和y-t平面上的所有B帧运动矢量的时间分布的帧间差.对连续(14)
其中G表示连续R个B帧的时空分布总差值,Gt(t)已在式(13)中给出其定义,Gx(x)表示如图2所示的三维空间中横坐标为常数x时y-t平面上的帧间差,Gy(y)表示纵坐标为常数y时x-t平面上的帧间差,视频的分辨率为16M×16N.
定义如下不等式以判断样本与被比较片断是否相似:
G ≤ç2, (15) 3R
其中η2是判断是否相似的阈值,调整其大小可控制检索精度,一般地,当视频分辨率为352×288时,η2应小于10,它也可采用与η1一样的灵活设置方法.
1.4 利用DC图像的精确匹配法验证检索结果
满足以上两级检测条件的视频片断基本保证与样本相似,为进一步验证检索结果,可采用比前两级检测更严格的检测方法,对DC图像进行精确匹配分析.DC图像是由压缩域的DC系数组成的图像,每个块用其DC系数近似代替.可将DC图像看做是原始图像的近似缩影,验证其相似性可得到原始视频片断的相似性.I帧的DC系数可直接在视频流中提取,B帧和P帧的DC系数可用文献[11]的算法近似求得,这样形成的DC图像与帧类型无关,验证过程不必区分帧类型.
DC图像的相似性可通过计算由样本和被比较片断中DC图像的系数组成的矩阵间的距离来实现,我们用欧式距离(euclidean distance)计算其差异性,该法对噪声有较好的鲁棒性.对DC图像的帧间差定义如下: