一种定位视频字幕区域的方法转让专利

申请号 : CN200710118594.6

文献号 : CN101102419B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 彭宇新李鸿肖建国

申请人 : 北京大学

摘要 :

本发明提供了一种定位视频字幕区域的方法,属于视频分析和检索技术领域。该方法包括以下步骤:(1)抽取视频帧,把视频帧转换成边缘强度图;(2)多次应用水平和垂直投影的方法从边缘强度图中分割出字幕区域;(3)利用视频在时间上的冗余信息,对检测到的字幕区域进行过滤,去除误判为字幕区域的背景块和重复出现的字幕区域。本发明充分考虑了视频字幕的多样性和复杂性,并利用视频在时间上的冗余信息提高识别效果,对检测到的字幕区域进行过滤,去除误判为字幕区域的背景块和重复出现的字幕区域,因此可以取得更高的视频字幕区域的查全率和查准率,从而充分发挥视频字幕信息在视频检索和视频搜索引擎中的巨大作用。

权利要求 :

1.一种定位视频字幕区域的方法,其特征在于,包括以下步骤:

(1)抽取视频帧,把视频帧转换成边缘强度图;所述转换边缘强度图时采用改进后的Sobel边缘检测算子计算每个像素点的边缘强度值,公式如下:S=Max(|SH|,|SV|,|SLD|,|SRD|)

其中,SH、SV、SLD、SRD分别表示水平、垂直、左对角线、右对角线这四个方向上的Sobe l边缘强度值,Max是计算最大值;

(2)多次应用水平和垂直投影的方法从边缘强度图中分割出字幕区域;

(3)利用视频在时间上的冗余信息,对检测到的字幕区域进行过滤,去除误判为字幕区域的背景块和重复出现的字幕区域;

所述去除误判为字幕区域的背景块的方法是:在单帧字幕区域检测过程中,把若干等时间间隔抽取帧的结果放在一个队列中,先进先出,对于一个新的抽取帧,把它加入队尾,然后队首的抽取帧退出队列,对退出队列的抽取帧中所有检测到的字幕区域进行分析;如果某个字幕区域A在队列的后面连续几个抽取帧中找到相同的字幕区域,就通过验证,确认该区域A确实是字幕区域,同时删除队列中抽取帧的相同字幕区域;否则该区域A不能通过验证而确认为被误判为字幕区域的背景块并去除;

所述去除重复出现的字幕区域的方法是:把所有和当前抽取帧的播放时间点小于一定时间间隔的抽取帧中的所有字幕区域结果备份在一个缓存集合中,在检测下一个抽取帧时,定期清除此集合中超过预先定义时间间隔的字幕区域;对于每一个通过多帧确认的字幕区域,如果能在所述缓存集合中找到相同的字幕区域,则确认该区域为一个重复出现的字幕区域并去除;如果不能在所述缓存集合中找到相同的区域,则把该字幕区域放入最终结果中,同时在所述缓存集合中保持一个备份。

2.如权利要求1所述的一种定位视频字幕区域的方法,其特征在于,所述步骤(2)采用如下方法从边缘强度图中分割出字幕区域:需要一个待处理区域集合S,刚开始时,集合S中只有当前抽取的视频帧的边缘强度图区域,处理的过程中,每次在S中取一个区域A0进行处理,直到集合S为空为止;对区域A0处理的方法是:首先对区域A0进行水平方向的投影,统计每行边缘像素的数目;然后根据A0的水平投影图进行垂直方向的分割,如果A0在垂直方向是不可分割的,就把它作为一个整体进行垂直方向的投影和水平方向的分割,否则,把所有从A0中分割出来的区域A1,A2...An进行垂直方向的投影和水平方向的分割;如果区域Ai根据其垂直投影图不能再进行水平方向的分割,就把它放入结果集合R中,否则把从Ai分割出来的区域放入集合S中等待处理,i=1,2,......,n。

3.如权利要求2所述的一种定位视频字幕区域的方法,其特征在于,所述步骤(2)中,对于一个待分割的区域,垂直分割的方法是从下往上扫描边缘强度图的水平投影图做分割;水平分割的方法是从左往右扫描边缘强度图的垂直投影图做分割;所述水平和垂直分割在扫描的过程中,把强度相近的行归为一组,并随时更新这个组所有行的边缘像素数目的平均值,如果当前扫描行的边缘像素数目和当前组的平均值差别很大,就进行分割,然后继续扫描下一行,只有扫描行的强度值大于一个阈值时,才开始一个新的组,当扫描到最后一行时,对这个区域的分割就完成了。

4.如权利要求1所述的一种定位视频字幕区域的方法,其特征在于,确定两个字幕区域A与B相同的充分条件是下述三个公式同时成立:公式1:abs(area(A),area(B))<R1×max(area(A),area(B))

其中abs(area(A),area(B))是字幕区域A与B的面积之差的绝

对值,max(area(A),area(B))是A与B中较大的面积;

公式2:Cord(SP)>(R2×SameSec(A,B))

其中SP={Pixel|(Pixela==0&&Pixelb==0)||(Pixela>0&&Pixelb>0)},Cord(SP)表示集合SP中元素的数目;

公式3:Average(abs(Pixela,Pixelb)|Pixel∈SNZP)<R3

其中SNZP={Pixel|(Pixela>0&&Pixelb>0)};

对于不同视频帧的字幕区域A和字幕区域B,设它们左上角的坐标分别为(xa,ya)和(xb,yb),宽高分别为[wa,ha]和[wb,hb],设w=min(wa,wb),h=min(ha,hb),两个区域的重叠区域SameSec为区域A中的矩形(xa,ya)(xa+w,ya+h)和区域B中的矩形(xb,yb)(xb+w,yb+h);Pixela,Pixelb为重叠区域SameSec中的相应像素对,R1、R2、R3为比率系数。

说明书 :

一种定位视频字幕区域的方法

技术领域

[0001] 本发明属于视频分析和检索技术领域,具体涉及一种定位视频字幕区域的方法。

背景技术

[0002] 随着互联网视频内容的不断增加,以及数字图书馆、视频点播、远程教学等大量的多媒体应用,如何在海量视频中检索出所需要的资料显得至关重要。传统的基于关键词描述的视频检索因为描述能力有限、主观性强、手工标注等原因,已经不能满足海量视频检索的需求。因此从20世纪90年代开始,基于内容的视频检索技术成为研究的热点问题,而视频字幕的识别技术正是实现视频检索的关键技术,如果能够自动识别出视频中的字幕信息,则可以建立高效的文本索引结构,从而实现基于查询文本的视频检索。因此,该技术不仅是下一代搜索引擎的关键技术,也是互联网视频管理和监控的关键技术,具有十分重要的研究和应用价值。现有的视频字幕提取技术,一般都是针对特定的视频,没有考虑视频字幕的多样性和复杂性,以及视频在时间上的冗余信息,因此不能有效提取视频中的字幕信息。
[0003] 2005年在IEEE Transactions on Circuits and Systems for VideoTechnology上发表的文献“A comprehensive method for multilingualvideo text detection,localization,and extraction”(作者是Michael R.Lyu,Jiqiang Song,Min Cai,页码是243-255),提出了一种基于边缘的视频字幕提取方法。该文献提出利用Sobel算子把视频帧转换成边缘强度图,然后通过水平和垂直投影的方式找出可能的字幕区域。他们更多地分析了中文文字的特点,并针对这些特点来寻找字幕区域,区分笔画和背景等。但是,该系统侧重于文字的细节分析,因此适应面并不广,视频字幕区域的定位效果还需要提高。

发明内容

[0004] 针对现有技术的不足,本发明提出了一种定位视频字幕区域的方法,用于定位视频中的字幕文字信息。
[0005] 为达到以上目的,本发明采用的技术方案是:一种定位视频字幕区域的方法,包括以下步骤:
[0006] (1)抽取视频帧,把视频帧转换成边缘强度图;所述转换边缘强度图时运用改进后的Sobel边缘检测算子计算每个像素点的边缘强度值,公式如下:
[0007] S=Max(|SH|,|SV|,|SLD|,|SRD|)
[0008] 其中,SH、SV、SLD、SRD分别表示水平、垂直、左对角线、右对角线这四个方向上的Sobel边缘强度值,Max是计算最大值。
[0009] (2)多次应用水平和垂直投影的方法从边缘强度图中分割出字幕区域;
[0010] (3)利用视频在时间上的冗余信息,对检测到的字幕区域进行过滤,去除误判为字幕区域的背景块和重复出现的字幕区域。去除误判为字幕区域的背景块的具体方法是:在单帧字幕区域检测过程中,把若干等时间间隔抽取帧的结果放在一个队列中,先进先出,对于一个新的抽取帧结果,把它加入队尾,然后队首的抽取帧退出队列,对退出队列的抽取帧中所有检测到的字幕区域进行分析;如果某个字幕区域A在队列的后面连续几个抽取帧中找到相同的字幕区域,就通过验证,确认该区域A确实是字幕区域,同时删除队列中抽取帧的相同字幕区域(短时间内重复出现),否则该区域A不能通过验证而确认为被误判为字幕区域的背景块并去除。去除重复出现的字幕区域的具体方法是:把所有和当前抽取帧的播放时间点小于一定时间间隔的抽取帧中的所有字幕区域结果备份在一个缓存集合中,在检测下一个抽取帧时,定期清除此缓存集合中超过预先定义时间间隔的字幕区域。对于每一个通过多帧确认的字幕区域,如果能在此缓存集合中找到相同的字幕区域,则认为是短期内重复出现的,忽略此区域,确认该字幕区域为一个重复出现的字幕区域并去除。如果不能在所述缓存集合中找到相同的区域,则表明此文字行在一段时间内没有出现,是新的字幕区域,因此把该字幕区域放入最终结果中,同时在所述缓存集合中保持一个备份。
[0011] 进一步,上述的一种定位视频字幕区域的方法,所述步骤(2)采用如下方法从边缘强度图中分割出字幕区域:需要一个待处理区域集合S,刚开始时,集合S中只有当前抽取的视频帧的边缘强度图区域。在处理的过程中,每次在S中取一个区域A0进行处理,直到集合S为空为止。对区域A0处理的方法是:首先对区域A0进行水平方向的投影,统计每行边缘像素的数目,然后根据A0的水平投影图进行垂直方向的分割。如果A0在垂直方向是不可分割的,就把它作为一个整体进行垂直方向的投影和水平方向的分割;否则,把所有从A0中分割出来的区域A1,A2...An进行垂直方向的投影和水平方向的分割。如果区域Ai根据其垂直投影图不能再进行水平方向的分割,就把它放入结果集合R中,否则把从Ai分割出来的区域放入集合S中等待处理,i=1,2,......,n。
[0012] 进一步,上述的一种定位视频字幕区域的方法,所述步骤(2)使用如下算法自动调整分割尺度对区域进行分割:对于一个待分割的区域,垂直分割的方法是从下往上扫描边缘强度图的水平投影图做分割。水平分割的方法是从左往右扫描边缘强度图的垂直投影图做分割。上述水平和垂直分割在扫描的过程中,把强度相近的行归为一组,并随时更新这个组所有行的边缘像素数目的平均值。如果当前扫描行的边缘像素数目和当前组的平均值差别很大,就进行分割,然后继续扫描下一行。只有扫描行的强度值大于一个阈值时,才开始一个新的组。当扫描到最后一行时,对这个区域的分割就完成了。
[0013] 进一步,上述的一种定位视频字幕区域的方法,所述步骤(3)采用如下三个公式判断两个字幕区域是否相同:
[0014] 公式1:abs(area(A)area(B))<R1×max(area(A),area(B))
[0015] 其中abs(area(A),area(B))是字幕区域A与B的面积之差的绝
[0016] 对值,max(area(A),area(B))是A与B中较大的面积;
[0017] 公式2:Cord(SP)>(R2×SameSec(A,B))
[0018] 其中SP={Pixel|(Pixela==0 && Pixelb==0)||(Pixela>0 &&Pixelb>0)},Cord(SP)表示集合SP中元素的数目;
[0019] 公式3:Average(abs(Pixela Pixelb)|Pixel∈SNZP)<R3
[0020] 其中SNZP={Pixel|(Pixela>0 && Pixelb>0)}。
[0021] 对于在不同视频帧的字幕区域A和字幕区域B,设它们左上角的坐标分别为(xa,ya)和(xb,yb),宽高分别为[wa,ha]和[wb,hb],设w=min(wa,wb),h=min(ha,hb),两个区域的重叠区域SameSec为区域A中的矩形(xa,ya)(xa+w,ya+h)和区域B中的矩形(xb,yb)(xb+w,yb+h)。Pixela,Pixelb为重叠区域SameSec中的相应的像素对,R1、R2、R3为比率系数。当上述三个公式同时满足时,确认字幕区域A和字幕区域B相同,否则不同。
[0022] 本发明的效果在于:与现有方法相比,本发明可以取得更高的视频字幕的查全率和查准率,从而充分发挥视频字幕信息在视频检索和视频搜索引擎中的巨大作用。
[0023] 本发明之所以具有上述发明效果,其原因在于:现有技术中,没有考虑如何利用视频在时间上的冗余信息提高识别效果,因此不能有效提取视频中的字幕信息。针对现有技术的问题,本发明充分利用视频在时间上的冗余信息,对检测到的字幕区域进行过滤,去除误判为字幕区域的背景块和重复出现的字幕区域。进一步,本发明充分考虑视频字幕的多样性和复杂性,首先用改进的Sobel边缘算子把视频帧转换成边缘强度图,然后分析字幕和背景不同的边缘特征,反复应用水平和垂直投影,分割出字幕区域。通过本发明的方法定位视频字幕区域后,可以进一步通过OCR软件识别字幕区域的二值化图片,以获取视频的字幕文本。

附图说明

[0024] 图1是本发明的流程示意图。
[0025] 图2是利用视频冗余信息过滤背景区域和重复字幕区域的示意图。

具体实施方式

[0026] 下面结合附图和具体实施例对本发明作进一步详细的描述。
[0027] 如图1所示,本发明的一种定位视频字幕区域的方法具体包括以下步骤:
[0028] (1)抽取视频帧,把视频帧转换成边缘强度图。
[0029] 利用改进后的Sobel边缘检测算子计算每个像素点的边缘强度值,公式如下:
[0030] S=Max(|SH|,|SV|,|SLD|,|SRD|)
[0031] 其中,SH、SV、SLD、SRD分别表示水平、垂直、左对角线、右对角线这四个方向上的Sobel边缘强度值,Max是计算最大值。
[0032] (2)根据背景的复杂程度自动调整分割尺度,多次应用水平和垂直投影的方法分割出字幕区域。
[0033] 需要一个待处理区域集合S,刚开始时,集合S中只有当前抽取的视频帧的边缘强度图区域。在处理的过程中,每次在S中取一个区域A0进行处理,直到集合S为空为止。对区域A0处理的方法是:首先对区域A0进行水平方向的投影,统计每行边缘像素的数目,然后根据A0的水平投影图进行垂直方向的分割。如果A0在垂直方向是不可分割的,就把它作为一个整体进行垂直方向的投影和水平方向的分割;否则,把所有从A0中分割出来的区域A1,A2...An进行垂直方向的投影和水平方向的分割。如果区域Ai根据其垂直投影图不能再进行水平方向的分割,就把它放入结果集合R中,否则把从Ai分割出来的区域放入集合S中等待处理,i=1,2,......,n。
[0034] 在上述过程中,对于一个待分割的区域,根据背景复杂程度自动调整分割尺度对其进行分割。方法描述如下:对于一个待分割的区域,垂直分割的方法是从下往上扫描边缘强度的水平投影图做分割。水平分割的方法是从左往右扫描边缘强度的垂直投影图做分割。上述水平和垂直分割在扫描的过程中,把强度相近的行归为一组,并随时更新这个组所有行的边缘像素数目的平均值。如果当前扫描行的边缘像素数目和当前组的平均值差别很大,就进行分割,然后继续扫描下一行。只有扫描行的强度值大于一个阈值时,才开始一个新的组。当扫描到最后一行时,对这个区域的分割就完成了。
[0035] (3)利用视频在时间上的冗余信息,对检测到的字幕区域进行过滤,去除误判为字幕区域的背景块和重复出现的字幕区域。
[0036] 去除误判为字幕区域的背景块的具体方法是:在单帧字幕区域检测过程中,本发明首先在每6个连续视频帧抽取1帧,把5个抽取帧的结果放在一个队列中,先进先出,对于一个新的抽取帧结果,把它加入队尾,然后队首的抽取帧退出队列,对退出队列的抽取帧中所有检测到的字幕区域进行分析;如果某个字幕区域A在队列的后面连续3个视频抽取帧中找到相同的字幕区域,就通过验证,确认该区域A确实是字幕区域,同时删除队列中抽取帧的相同字幕区域(短时间内重复出现),否则该区域A不能通过验证而确认为被误判为字幕区域的背景块并去除。
[0037] 最后去除重复出现的字幕区域的具体方法是:把所有和当前抽取帧的播放时间点小于一定时间间隔的抽取帧中的所有字幕区域结果备份在一个缓存集合中,在检测下一个抽取帧时,定期清除此集合中超过预先定义时间间隔的字幕区域。对于每一个通过多帧确认的字幕区域,如果能在此集合中找到相同的字幕区域,则认为是短期内重复出现的,忽略此区域,确认该字幕区域为一个重复出现的字幕区域并去除。如果找不到,则表明此字幕区域在一段时间内没有出现,是新的区域,因此把此区域放入最终结果中,同时在所述缓存集合中保持一个备份。
[0038] 上述去除误判为字幕区域的背景块和重复出现的字幕区域的步骤中,使用如下公式判断两个字幕区域是否相同,当下述三个公式同时满足时,确认字幕区域A和字幕区域B相同,否则不同:
[0039] 公式1:abs(area(A)area(B))<R1×max(area(A),area(B))
[0040] 其中abs(area(A),area(B))是字幕区域A与B的面积之差的绝
[0041] 对值,max(area(A),area(B))是A与B中较大的面积;
[0042] 公式2:Cord(SP)>(R2×SameSec(A,B))
[0043] 其中SP={Pixel|(Pixela==0 && Pixelb==0)||(Pixela>0 &&Pixelb>0)},Cord(SP)表示集合SP中元素的数目;
[0044] 公式3:Average(abs(Pixela Pixelb)|Pixel∈SNZP)<R3
[0045] 其中SNZP={Pixel|(Pixela>0 && Pixelb>0)}。
[0046] 对于在不同视频帧的字幕区域A和字幕区域B,设它们左上角的坐标分别为(xa,ya)和(xb,yb),宽高分别为[wa,ha]和[wb,hb],设w=min(wa,wb),h=min(ha,hb),两个区域的重叠区域SameSec为区域A中的矩形(xa,ya)(xa+w,ya+h)和区域B中的矩形(xb,yb)(xb+w,yb+h)。Pixela,Pixelb为重叠区域SameSec中的相应的像素对,R1、R2、R3为比率系数。
[0047] 对于采用本发明的上述定位视频字幕区域的方法检测到的字幕区域,本具体实施方法中,进一步按照如下方法把视频字幕区域检测结果由灰度图转换成二值图片,并利用OCR软件获取文字识别结果:
[0048] (1)对定位得到的视频字幕区域进行灰度值调整。
[0049] 对字幕区域的每一个像素x,按照下列公式调整它的灰度值。
[0050] 公式一:I’(x)=128+(I(x)-med)×ratio
[0051] 公式二:med=(max-min)×0.5
[0052] 公式三:ratio=255/(max-min)
[0053] 其中,I’(x)是经过调整后像素x的新灰度值,I(x)是调整之前像素x的灰度值,med是字幕区域内所有像素的最大灰度值max与最小灰度值mi n的平均值,ratio表示灰度值调整的幅度。
[0054] (2)对视频字幕区域进行基于连通区统计的字幕颜色判断,确认字幕颜色是深色还是浅色,同时反转浅色字幕的灰度图片为深色字幕图片。
[0055] 利用Otsu方法把灰度图片二值化,然后查找白色和黑色的4连通块,去除连通块外接矩形的宽高都极小的那些连通块,最后统计出的白色连通块个数COMwhite和黑色连通块个数COMblack。如果COMwhite>COMblack,则字幕是浅色的,反之则为深色。同时反转浅色字幕的灰度图片为深色字幕图片。
[0056] (3)对步骤(2)获得的灰度图片进行基于局部窗口分析的灰度图片二值化。
[0057] 利用一个小窗口从左到右依次重叠扫描灰度字幕区域,然后对小窗口中的灰度值进行分析得到Otsu阈值,进行二值化。
[0058] (4)对步骤(3)获得的二值图片进行周边融合去噪。
[0059] 具体方法为:
[0060] A:把二值图片周边一定像素宽的所有像素都变成黑色;
[0061] B:寻找有周边像素的连通区,把这个连通区转成和背景相同的白色。
[0062] (5)进行OCR软件识别,提取文字结果。
[0063] 最后把处理后的字幕区域二值化图片输入给OCR软件进行识别,以得到视频字幕文本。
[0064] 下面的实验结果表明,与现有方法相比,本发明可以取得更高的查全率和查准率,从而充分发挥视频字幕信息在视频检索和视频搜索引擎中的巨大作用。
[0065] 本实施例中建立了25个小时的视频数据库,其中RMVB格式的视频有10个,大约15个小时,包括电影和记录片;MPEG格式的电视节目有6个,大约10个小时,包括新闻和电视剧等视频节目。这些视频内容丰富,字幕的字体特征、颜色风格和排列走向也变化多样,这些都有助于证明本文方法对各种情况的适应性以及最终结果的有效性。
[0066] 为了证明本发明在定位视频字幕区域方面的有效性,我们测试了以下2种方法作为实验对比:
[0067] 1、本发明;
[0068] 2、现有方法:2005年在IEEE Transactions on Circuits andSystems for Video Technology上发表的文献“A comprehensive methodfor multilingual video text detection,localization,andextraction”(作者是Michael R.Lyu,Jiqiang Song,Min Cai,页码是243-255)。该文献首先利用边缘检测算子求得视频帧的边缘图,然后用分析边缘投影图的波峰和波谷的方法来找到可能的字幕区域。
[0069] 实验采用了三个评价指标:字幕区域查全率(recall)、字幕区域查准率(precision)和字幕区域重复率(repetition)。它们的定义如下所示,查全率和查准率都是越高越好,而重复率则是越小越好。
[0070] 查全率=检测到的正确字幕区域/视频中所有字幕区域
[0071] 查准率=检测到的正确字幕区域/检测到的所有区域
[0072] 重复率=检测到的重复字幕区域/检测到的正确字幕区域
[0073] 表1本发明与现有方法的对比实验结果
[0074]
[0075] 从表1可以看到,本发明在上述三个指标上,都取得了比现有方法更好的结果,这主要是因为:(1)本发明考虑了视频字幕的多样性和复杂性,分析了字幕和背景不同的边缘特征,反复应用水平和垂直投影自适应分割字幕区域;(2)本发明充分利用了视频在时间上的冗余信息,对检测到的字幕区域进行了过滤,去除误判为字幕区域的背景块和重复出现的字幕区域。
[0076] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。