论文部分内容阅读
摘要:文章提出了一种新的在MPEG-4编码过程中提高实时性的算法。算法采用双重筛选机制,充分利用了运动估计的结果提取运动对象。首先在运动估计过程中加入背景优先准则进行第一重筛选;然后根据运动估计后宏块的最小平均绝对差值利用区域自适应门限进行第二重筛选,从而获得运动区域掩模;最后对掩模进行形态滤波和填充消除噪声点,最终得到运动区域。算法分别在硬件和软件平台上进行测试,结果表明提出的算法得到了理想的分割效果,较传统的在编码前进行运动对象提取的方法实时性大大提高。
关键词:运动对象;运动估计;自适应门限;形态滤波
Abstract:A new algorithm is proposed, which improves the real-time capability in the process of MPFG-4 coding. The algorithm uses diplex-filtration mechanism, and takes full advantage of the result of motion estimation. First, some relevant rules are added to the process of motion estimation for the first filtration. Then the self-adapting filtration is carried through according to the minimum Sum of Absolute Difference (SAD), and the mask of the moving region is obtained. Finally, after the morphology filtering and noise removing, the accurate matrix of the motion regions is obtained, and the moving video object is thereby gained. The experimental results show this algorithm gets perfect segmentation, and improves the real-time capability greatly when compared with the traditional method of extracting the moving video object before coding.
Key words: moving video object; motion estimation; self-adapting threshold; morphology filter
自基于对象的视频压缩编码标准MPEG-4提出之后,人们加紧了对视频对象分割的研究,因为它是基于对象的视频检索、面向对象的视频压缩和编辑等应用的基础。
近年来提出的视频分割算法大体上可以分为基于运动的分割算法和时空分割算法两种:基于运动的分割算法又可以分为基于光流法的分割[1]和基于变化检测的分割[2-3]两大类,它们计算量都比较大,实时性不太好;时空分割算法又可分为时域分割和空域分割,时域分割检测相邻帧间的运动区域、空域分割检测帧内边界和边缘信息,时空结合才能达到满意的效果。在时空分割法中分水岭算法[4]得到了广泛的应用,但是容易产生过分割现象,需要后处理,即根据某些规则对相似区域合并,而且无论是区域分割还是合并过程,计算量都非常大。
文献[3]在分割过程中通过从视频序列中建立最新的背景信息并将每帧与之比较,任何与背景明显不同的像素都认为是运动区域,所以要取得运动物体就必须等待背景建立完善后才能进行,这在一定程度上损害了实时性。文献[4]中涉及到分水岭算法分割、时空合并以及分级运动估计等一些算法,并将大量的计算集中到全局运动估计上,文献[5]提出的算法是基于4×4块大小,从一定程度上减少了运算量,但是算法中模糊聚类的使用增加了运算复杂度。文献[6]提出的算法能取得非常好的分割效果,但算法中Gibbs(一种随机场分布的名称)势能函数的引入,利用迭代条件模式(ICM)方法求解得到最小化能量在一定程度上损害了实时性。
从上面可以看出,提出的算法要想取得好的分割效果,或多或少都增加了计算或者逻辑上的复杂度,即在注重分割效果的同时损害了实时性。
本文针对上述情况提出了一种在MPEG-4编码过程中快速提取运动对象的算法,适用于一些不需要完美分割效果的场合中,如视频会议、视频电话、实时监控等。该方法利用在MPEG-4编码过程中的运动估计的结果来进行视频对象的分割。在本文中视频序列的背景都假设为静止的(如果背景不是静止的可以首先采用全局运动估计取得全景图)。算法首先在运动估计过程中加入背景优先准则;然后根据运动估计的结果能进行第一重筛选,将属于运动物体的宏块和属于静止背景的宏块粗略地区分开来;再根据运动估计后宏块的最小平均绝对差值利用自适应门限进行第二次筛选,筛选出运动矢量为零但实际属于运动区域的宏块;最后经过适当的形态滤波和填充,消除噪声点和空洞,获得运动区域的掩模,从而获得运动对象。
1 分割算法
1.1 预处理
为了更好地获得运动估计的效果,减少图像中噪声点对运动估计结果的影响,在编码之前先对视频序列进行平滑滤波。中值滤波是一种抑制噪声的非线性处理方法,该方法运算简单,易于实现,而且能较好地保护边界。
1.2 第一重筛选
本文采用的分割算法是在编码过程中实现的,以编码过程中运动估计为基础。在运动估计中选用大小8×8的宏块。为了提高运动估计的搜索效率和搜索效果,采用搜索效率较高的钻石形搜索法[7],匹配准则为最小平均绝对差值函数(SAD):
式中 (i,j )-x’(i,j )分别为当前帧中待估计宏块和参考帧中候选宏块中像素点的亮度值,N为宏块大小。
为了减少后期处理中背景和运动区域宏块的误判,在运动估计过程中加一个限定准则:背景优先准则。具体如下:在搜索过程中如果当前待估计宏块和参考宏块的相对位移为零,且SAD
1.3 第二重筛选
第二重筛选是利用编码过程中运动估计产生的最小SAD值来进行的,将一帧中满足运动矢量为零,且所对应最小SAD值小于某一个门限的宏块划归静止背景区域,不满足条件的筛去。
首先对本文涉及到的一些参数做如下描述:
设视频序列中每一帧图像I 的大小为M×N,I(i,j )代表图像中像素点的亮度值,其中i,j 分别是像素点垂直和水平方向坐标(0≤i
1.3.1自适应门限的计算
由于搜索算法采用搜索效率较高的菱形搜索算法,得出的搜索结果只是局部最优,这样就使得运动矢量为零的宏块不一定真正属于背景区域。而这样类型的宏块,匹配程度相对于真正属于背景区域的宏块要差,也就是它们的MinSAD值要比真正属于背景区域宏块的MinSAD值要大,因此要从所有运动矢量为零宏块的MinSAD值中通过计算门限来对它们进行筛选。所有这些MinSAD值可以大致分为两个区域,一个是背景区域宏块对应的值比较小的区域,另一个是运动区域对应的比较大的区域,因此可以采取基于统计直方图求阈值的方法来计算门限,分开这两个区域。
由于帧间编码宏块的MinSAD<128,所以MinSAD值得取值范围为0~128。图1(a)是从选取Sign_irene序列(一种随机场分布)的第4帧计算得出运动矢量为零宏块的MinSAD值对应的直方图。
传统全局阈值的计算方法只对在直方图中会出现两个波峰,且波谷比较明显的情况有效[8],由于视频图像中亮度分布的不均匀性,也就是说在一帧图像中不同的区域亮度变化是不一样的。那么用传统的单一的全局阈值来区分整个图像中所有的运动矢量为零的宏块是不合理的。从图1中可以看出这样的直方图只出现一个尖峰,给分离造成了困难。
针对这样的情况,本文在文献[8]中所描述的自适应阈值的计算方法的基础上提出了适用的基于分区域的自适应阈值筛选方法:
(1)将所有运动矢量不为零的宏块的MinSAD值置为最大值128。
(2)计算所有宏块MinSAD值的数学期望值E。
(3)将图像划分成为大小相等的16个子区域,每个区域均包含99个宏块。
(4)分别计算这16个子区域内宏块MinSAD值的数学期望和方差。
(5)挑选方差大于500的区域,对这些区域分别进行全局阈值计算,那么这些区域中MinSAD值小于阈值的宏块则确定属于背景区域。
(6)挑选方差小于100,数学期望小于E 的区域,符合这样条件区域中的宏块全部确定为属于背景区域。
(7)将经过两次挑选剩下的宏块组成一个大的区域,这个组合的大区域中的MinSAD 值对应的直方图如图1(b)所示,可以看出图1(b)中有两个波峰,对这个大区域进行全局阈值计算,MinSAD 值小于阈值的宏块属于背景区域。
其中全局阈值计算方法如下:
(1)将所有运动矢量为零的宏块的MinSAD 值按从小到大排序。
(2)选取一个T 的初始估计值。
(3)这样将这些MinSAD值分为两组,G 1由所有大于T 的MinSAD值组成,G 2由所有小于T 的MinSAD值组成。
(4)对区域G 1、G 2中的所有MinSAD值计算出平均MinSAD值μ1和μ2。
(5)计算新的门限值:T =1/2(μ1+μ2)。
(6)重复步骤3到4,直到逐次迭代所得的T 值之差小于事先定义的参数T 。
1.3.2 获取运动区域的掩模矩阵
用二值矩阵C作为运动区域的掩模矩阵,C的大小和一帧图像分割出的宏块数相等,该矩阵行数为M /8,列数为N /8,C(m,n)代表C中第m行n列的元素的值。根据上一节筛选的结果就可以得出:
由公式(2)得出的C 就是运动区域的掩模矩阵。当C (m,n)=1时block (m,n)就属于运动区域,反之则属于背景区域。
由在MPEG-4标准中帧可以采用双向运动估计,所以在B 帧中可以有前向运动估计和后向运动估计两个运动估计产生的结果,因此可以利用这两个运动估计的结果分别求得相应运动区域的掩模矩阵。设求得的两个矩阵为C1、C2,将C1、C2做“或”运算有:
C (m,n)=C1 (m,n)|C2 (m,n)
(0 经过公式(3)处理后只要当前帧中的宏块相对前一帧发生运动了就作为运动区域,因此B 帧能获得更准确的运动区域。
1.4 形态学操作及填充
由上述处理得到的运动区域掩模难免会存在一些噪声点,这些噪声点可能导致背景区域的杂点和运动区域的一些空洞,因此要进行必要的形态滤波[8]首先用开运算滤除主要由噪声引起的离散的小区域,接着用闭运算填充一些小“空洞”或者掩模图像中小的细缝。
经过形态滤波之后能消除运动区域的一些小的空洞,但是对一些大的空洞有时候无法消除,所以还需要对这些大的空洞进行填充。本文采用的二次扫描方法[2]简单易行,而且可以进行有效填充。对掩模矩阵按横坐标扫描(按行扫描),得到每行的第一个和最后一个属于运动区域的元素,实际上是运动区域的边界。第一个和最后一个元素之间的元素就属于运动区域,用“1”填充这些区域得到水平方向上的候选运动区域。由于按行扫描所得运动区域不精确,再按纵坐标(按列)扫描,同样可以得到一个垂直方向上的候选分割区域。将两个候选运动区域进行“与”操作,即可得到分割的运动区域,由二进制“1”表示。
设经过填充之后的掩模矩阵为
C3,那么由C3中为“1”的元素所对应的宏块组成的就是运动区域。
2 实验分析
使用Visual C++6.0语言,用Sign_irene、MaD两组测试序列分别对本算法进行测试,这两组测试序列都是具有静止背景的视频格式——CIF格式(352×288),序列分别如图2(a)和图2(b)所示。
图3为经过第一重筛选的运动区域,由图3可以看出运动区域的很多宏块都被误判为背景,尤其对于运动不为明显的MaD序列。
图4为经过第二重筛选之后的运动区域,从结果中可以看出和图3相比运动区域宏块的误判明显减少了,但是还是存在一些噪声点的干扰,所以还要进行形态滤波进一步消除噪声点。
形态滤波之后的掩模所对应的运动区域结果如图5所示。从图中可以看出经过形态滤波之后背景区域的杂点已经基本消除。
由形态滤波之后的掩模矩阵所对应的运动区域有可能还存在些较大的空洞,从图5(b)中可以看出运动区域还有些空洞,所以还要进行填充操作。填充操作之后的运动区域如图6所示,从图6中可以看出这些空洞基本消除。
图7是从两个测试序列得出结果中抽取的部分图像。
我们还在MPEG-4编码器中使用该算法进行了测试,测试的硬件平台是DAM6416P图像处理平台,测试结果表明使用该算法的编码器平均处理一帧所需的时间为0.037 s,帧格式为CIF格式,其效果具有很好的实时性,而如果在编码前采用速度相对较快的对称差分法进行分割然后再进行编码,处理同样一帧所需的时间为0.09 s。
从对比中可以看出本文所采用的算法具有较高的实时性。
3 结束语
针对现有视频分割算法为了获取好的效果不便实时处理的情况,本文提出了上述算法。本算法的特点是避开在视频编码前花大量处理时间进行视频对象的分割,而在编码过程中利用运动估计的结果进行运动物体的分割。
在分割得到运动物体之后,无需再重新进行运动估计,只需将原先用于分割的运动估计的结果,根据分割出运动区域中心点的坐标位置,做相应的坐标变换即可。
从实验的结果中可以看出分割效果比较理想。另外本文的运动区域掩模矩阵的计算基于宏块,处理的数据量与基于像素的掩模矩阵的计算相比大为减少,仅为基于像素的掩模矩阵计算的1/64,从而使处理速度相应提高了很多,适合实时应用。在对视频会议、视频电话、视频监控这些具有静止背景特点的视频压缩编码时,通过本文的方法可以快速有效地只对感兴趣的运动区域进行编码,而不对背景编码,在解码端再进行背景和前景的合成,这样能较大地提高编码效率。
4 参考文献
[1] Arnell F, Petersson L. Fast object segmentation from a moving camera [C]//Proceedings of2005 Intelligent Vehicles Symposium, Jun 6-8,2005,Las Vegas, NV, USA. Piscataway, NJ,USA: IEEE, 2005:136-141.
[2] KIM Changick, Hwang Jenq-Neng. Fast and automatic video object segmentation and tracking for content-based applications [J]. IEEE Transactions on Circuits and Systems for Video Technology, 2002, 12 (2): 122-129.
[3] Chien Shao-Yi, MA Shyh-Yih, CHEN Liang-Gee. Efficient moving object segmentation algorithm using background registration technique [J]. IEEE Transactions on Circuits and Systems for Video Technology, 2002, 12(7):577-586.
[4] Tsaig Y, Averbush A. Automatic segmentation of moving object in video sequences: a region labeling approach [J]. IEEE Transactions on Circuits and Systems for Video Technology, 2002, 12(7):5972612.
[5] 黄波, 杨勇, 王桥, 等. 基于模糊聚类和时域跟踪的视频分割 [J]. 通信学报, 2001,22(12):22-28.
[6] 包红强, 张兆扬. 一种基于区域Gibbs 势能函数的视频运动对象分割算法 [J]. 通信学报, 2005, 26(6):57-61.
[7] 张旭东, 卢国栋, 冯健. 图像编码基础和小波压缩技术 [M]. 北京:清华大学出版社, 2004.
[8] Gonzalez R C, Woods R E. Digital image processing [M]. Second Edition. 北京: 电子工业出版社, 2004.
收稿日期:2007-01-17
鞠鸣,南京邮电大学通信与信息工程学院在读硕士研究生,研究方向为IP与宽带网络中语音与图像处理。
何鸿,江苏大学计算机科学与通信工程学院在读硕士研究生,研究方向为图像处理。
关键词:运动对象;运动估计;自适应门限;形态滤波
Abstract:A new algorithm is proposed, which improves the real-time capability in the process of MPFG-4 coding. The algorithm uses diplex-filtration mechanism, and takes full advantage of the result of motion estimation. First, some relevant rules are added to the process of motion estimation for the first filtration. Then the self-adapting filtration is carried through according to the minimum Sum of Absolute Difference (SAD), and the mask of the moving region is obtained. Finally, after the morphology filtering and noise removing, the accurate matrix of the motion regions is obtained, and the moving video object is thereby gained. The experimental results show this algorithm gets perfect segmentation, and improves the real-time capability greatly when compared with the traditional method of extracting the moving video object before coding.
Key words: moving video object; motion estimation; self-adapting threshold; morphology filter
自基于对象的视频压缩编码标准MPEG-4提出之后,人们加紧了对视频对象分割的研究,因为它是基于对象的视频检索、面向对象的视频压缩和编辑等应用的基础。
近年来提出的视频分割算法大体上可以分为基于运动的分割算法和时空分割算法两种:基于运动的分割算法又可以分为基于光流法的分割[1]和基于变化检测的分割[2-3]两大类,它们计算量都比较大,实时性不太好;时空分割算法又可分为时域分割和空域分割,时域分割检测相邻帧间的运动区域、空域分割检测帧内边界和边缘信息,时空结合才能达到满意的效果。在时空分割法中分水岭算法[4]得到了广泛的应用,但是容易产生过分割现象,需要后处理,即根据某些规则对相似区域合并,而且无论是区域分割还是合并过程,计算量都非常大。
文献[3]在分割过程中通过从视频序列中建立最新的背景信息并将每帧与之比较,任何与背景明显不同的像素都认为是运动区域,所以要取得运动物体就必须等待背景建立完善后才能进行,这在一定程度上损害了实时性。文献[4]中涉及到分水岭算法分割、时空合并以及分级运动估计等一些算法,并将大量的计算集中到全局运动估计上,文献[5]提出的算法是基于4×4块大小,从一定程度上减少了运算量,但是算法中模糊聚类的使用增加了运算复杂度。文献[6]提出的算法能取得非常好的分割效果,但算法中Gibbs(一种随机场分布的名称)势能函数的引入,利用迭代条件模式(ICM)方法求解得到最小化能量在一定程度上损害了实时性。
从上面可以看出,提出的算法要想取得好的分割效果,或多或少都增加了计算或者逻辑上的复杂度,即在注重分割效果的同时损害了实时性。
本文针对上述情况提出了一种在MPEG-4编码过程中快速提取运动对象的算法,适用于一些不需要完美分割效果的场合中,如视频会议、视频电话、实时监控等。该方法利用在MPEG-4编码过程中的运动估计的结果来进行视频对象的分割。在本文中视频序列的背景都假设为静止的(如果背景不是静止的可以首先采用全局运动估计取得全景图)。算法首先在运动估计过程中加入背景优先准则;然后根据运动估计的结果能进行第一重筛选,将属于运动物体的宏块和属于静止背景的宏块粗略地区分开来;再根据运动估计后宏块的最小平均绝对差值利用自适应门限进行第二次筛选,筛选出运动矢量为零但实际属于运动区域的宏块;最后经过适当的形态滤波和填充,消除噪声点和空洞,获得运动区域的掩模,从而获得运动对象。
1 分割算法
1.1 预处理
为了更好地获得运动估计的效果,减少图像中噪声点对运动估计结果的影响,在编码之前先对视频序列进行平滑滤波。中值滤波是一种抑制噪声的非线性处理方法,该方法运算简单,易于实现,而且能较好地保护边界。
1.2 第一重筛选
本文采用的分割算法是在编码过程中实现的,以编码过程中运动估计为基础。在运动估计中选用大小8×8的宏块。为了提高运动估计的搜索效率和搜索效果,采用搜索效率较高的钻石形搜索法[7],匹配准则为最小平均绝对差值函数(SAD):
式中 (i,j )-x’(i,j )分别为当前帧中待估计宏块和参考帧中候选宏块中像素点的亮度值,N为宏块大小。
为了减少后期处理中背景和运动区域宏块的误判,在运动估计过程中加一个限定准则:背景优先准则。具体如下:在搜索过程中如果当前待估计宏块和参考宏块的相对位移为零,且SAD
1.3 第二重筛选
第二重筛选是利用编码过程中运动估计产生的最小SAD值来进行的,将一帧中满足运动矢量为零,且所对应最小SAD值小于某一个门限的宏块划归静止背景区域,不满足条件的筛去。
首先对本文涉及到的一些参数做如下描述:
设视频序列中每一帧图像I 的大小为M×N,I(i,j )代表图像中像素点的亮度值,其中i,j 分别是像素点垂直和水平方向坐标(0≤i
1.3.1自适应门限的计算
由于搜索算法采用搜索效率较高的菱形搜索算法,得出的搜索结果只是局部最优,这样就使得运动矢量为零的宏块不一定真正属于背景区域。而这样类型的宏块,匹配程度相对于真正属于背景区域的宏块要差,也就是它们的MinSAD值要比真正属于背景区域宏块的MinSAD值要大,因此要从所有运动矢量为零宏块的MinSAD值中通过计算门限来对它们进行筛选。所有这些MinSAD值可以大致分为两个区域,一个是背景区域宏块对应的值比较小的区域,另一个是运动区域对应的比较大的区域,因此可以采取基于统计直方图求阈值的方法来计算门限,分开这两个区域。
由于帧间编码宏块的MinSAD<128,所以MinSAD值得取值范围为0~128。图1(a)是从选取Sign_irene序列(一种随机场分布)的第4帧计算得出运动矢量为零宏块的MinSAD值对应的直方图。
传统全局阈值的计算方法只对在直方图中会出现两个波峰,且波谷比较明显的情况有效[8],由于视频图像中亮度分布的不均匀性,也就是说在一帧图像中不同的区域亮度变化是不一样的。那么用传统的单一的全局阈值来区分整个图像中所有的运动矢量为零的宏块是不合理的。从图1中可以看出这样的直方图只出现一个尖峰,给分离造成了困难。
针对这样的情况,本文在文献[8]中所描述的自适应阈值的计算方法的基础上提出了适用的基于分区域的自适应阈值筛选方法:
(1)将所有运动矢量不为零的宏块的MinSAD值置为最大值128。
(2)计算所有宏块MinSAD值的数学期望值E。
(3)将图像划分成为大小相等的16个子区域,每个区域均包含99个宏块。
(4)分别计算这16个子区域内宏块MinSAD值的数学期望和方差。
(5)挑选方差大于500的区域,对这些区域分别进行全局阈值计算,那么这些区域中MinSAD值小于阈值的宏块则确定属于背景区域。
(6)挑选方差小于100,数学期望小于E 的区域,符合这样条件区域中的宏块全部确定为属于背景区域。
(7)将经过两次挑选剩下的宏块组成一个大的区域,这个组合的大区域中的MinSAD 值对应的直方图如图1(b)所示,可以看出图1(b)中有两个波峰,对这个大区域进行全局阈值计算,MinSAD 值小于阈值的宏块属于背景区域。
其中全局阈值计算方法如下:
(1)将所有运动矢量为零的宏块的MinSAD 值按从小到大排序。
(2)选取一个T 的初始估计值。
(3)这样将这些MinSAD值分为两组,G 1由所有大于T 的MinSAD值组成,G 2由所有小于T 的MinSAD值组成。
(4)对区域G 1、G 2中的所有MinSAD值计算出平均MinSAD值μ1和μ2。
(5)计算新的门限值:T =1/2(μ1+μ2)。
(6)重复步骤3到4,直到逐次迭代所得的T 值之差小于事先定义的参数T 。
1.3.2 获取运动区域的掩模矩阵
用二值矩阵C作为运动区域的掩模矩阵,C的大小和一帧图像分割出的宏块数相等,该矩阵行数为M /8,列数为N /8,C(m,n)代表C中第m行n列的元素的值。根据上一节筛选的结果就可以得出:
由公式(2)得出的C 就是运动区域的掩模矩阵。当C (m,n)=1时block (m,n)就属于运动区域,反之则属于背景区域。
由在MPEG-4标准中帧可以采用双向运动估计,所以在B 帧中可以有前向运动估计和后向运动估计两个运动估计产生的结果,因此可以利用这两个运动估计的结果分别求得相应运动区域的掩模矩阵。设求得的两个矩阵为C1、C2,将C1、C2做“或”运算有:
C (m,n)=C1 (m,n)|C2 (m,n)
(0
1.4 形态学操作及填充
由上述处理得到的运动区域掩模难免会存在一些噪声点,这些噪声点可能导致背景区域的杂点和运动区域的一些空洞,因此要进行必要的形态滤波[8]首先用开运算滤除主要由噪声引起的离散的小区域,接着用闭运算填充一些小“空洞”或者掩模图像中小的细缝。
经过形态滤波之后能消除运动区域的一些小的空洞,但是对一些大的空洞有时候无法消除,所以还需要对这些大的空洞进行填充。本文采用的二次扫描方法[2]简单易行,而且可以进行有效填充。对掩模矩阵按横坐标扫描(按行扫描),得到每行的第一个和最后一个属于运动区域的元素,实际上是运动区域的边界。第一个和最后一个元素之间的元素就属于运动区域,用“1”填充这些区域得到水平方向上的候选运动区域。由于按行扫描所得运动区域不精确,再按纵坐标(按列)扫描,同样可以得到一个垂直方向上的候选分割区域。将两个候选运动区域进行“与”操作,即可得到分割的运动区域,由二进制“1”表示。
设经过填充之后的掩模矩阵为
C3,那么由C3中为“1”的元素所对应的宏块组成的就是运动区域。
2 实验分析
使用Visual C++6.0语言,用Sign_irene、MaD两组测试序列分别对本算法进行测试,这两组测试序列都是具有静止背景的视频格式——CIF格式(352×288),序列分别如图2(a)和图2(b)所示。
图3为经过第一重筛选的运动区域,由图3可以看出运动区域的很多宏块都被误判为背景,尤其对于运动不为明显的MaD序列。
图4为经过第二重筛选之后的运动区域,从结果中可以看出和图3相比运动区域宏块的误判明显减少了,但是还是存在一些噪声点的干扰,所以还要进行形态滤波进一步消除噪声点。
形态滤波之后的掩模所对应的运动区域结果如图5所示。从图中可以看出经过形态滤波之后背景区域的杂点已经基本消除。
由形态滤波之后的掩模矩阵所对应的运动区域有可能还存在些较大的空洞,从图5(b)中可以看出运动区域还有些空洞,所以还要进行填充操作。填充操作之后的运动区域如图6所示,从图6中可以看出这些空洞基本消除。
图7是从两个测试序列得出结果中抽取的部分图像。
我们还在MPEG-4编码器中使用该算法进行了测试,测试的硬件平台是DAM6416P图像处理平台,测试结果表明使用该算法的编码器平均处理一帧所需的时间为0.037 s,帧格式为CIF格式,其效果具有很好的实时性,而如果在编码前采用速度相对较快的对称差分法进行分割然后再进行编码,处理同样一帧所需的时间为0.09 s。
从对比中可以看出本文所采用的算法具有较高的实时性。
3 结束语
针对现有视频分割算法为了获取好的效果不便实时处理的情况,本文提出了上述算法。本算法的特点是避开在视频编码前花大量处理时间进行视频对象的分割,而在编码过程中利用运动估计的结果进行运动物体的分割。
在分割得到运动物体之后,无需再重新进行运动估计,只需将原先用于分割的运动估计的结果,根据分割出运动区域中心点的坐标位置,做相应的坐标变换即可。
从实验的结果中可以看出分割效果比较理想。另外本文的运动区域掩模矩阵的计算基于宏块,处理的数据量与基于像素的掩模矩阵的计算相比大为减少,仅为基于像素的掩模矩阵计算的1/64,从而使处理速度相应提高了很多,适合实时应用。在对视频会议、视频电话、视频监控这些具有静止背景特点的视频压缩编码时,通过本文的方法可以快速有效地只对感兴趣的运动区域进行编码,而不对背景编码,在解码端再进行背景和前景的合成,这样能较大地提高编码效率。
4 参考文献
[1] Arnell F, Petersson L. Fast object segmentation from a moving camera [C]//Proceedings of2005 Intelligent Vehicles Symposium, Jun 6-8,2005,Las Vegas, NV, USA. Piscataway, NJ,USA: IEEE, 2005:136-141.
[2] KIM Changick, Hwang Jenq-Neng. Fast and automatic video object segmentation and tracking for content-based applications [J]. IEEE Transactions on Circuits and Systems for Video Technology, 2002, 12 (2): 122-129.
[3] Chien Shao-Yi, MA Shyh-Yih, CHEN Liang-Gee. Efficient moving object segmentation algorithm using background registration technique [J]. IEEE Transactions on Circuits and Systems for Video Technology, 2002, 12(7):577-586.
[4] Tsaig Y, Averbush A. Automatic segmentation of moving object in video sequences: a region labeling approach [J]. IEEE Transactions on Circuits and Systems for Video Technology, 2002, 12(7):5972612.
[5] 黄波, 杨勇, 王桥, 等. 基于模糊聚类和时域跟踪的视频分割 [J]. 通信学报, 2001,22(12):22-28.
[6] 包红强, 张兆扬. 一种基于区域Gibbs 势能函数的视频运动对象分割算法 [J]. 通信学报, 2005, 26(6):57-61.
[7] 张旭东, 卢国栋, 冯健. 图像编码基础和小波压缩技术 [M]. 北京:清华大学出版社, 2004.
[8] Gonzalez R C, Woods R E. Digital image processing [M]. Second Edition. 北京: 电子工业出版社, 2004.
收稿日期:2007-01-17
鞠鸣,南京邮电大学通信与信息工程学院在读硕士研究生,研究方向为IP与宽带网络中语音与图像处理。
何鸿,江苏大学计算机科学与通信工程学院在读硕士研究生,研究方向为图像处理。