CN111405359B - 处理视频数据的方法、装置、计算机设备和存储介质 - Google Patents
处理视频数据的方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111405359B CN111405359B CN202010216188.9A CN202010216188A CN111405359B CN 111405359 B CN111405359 B CN 111405359B CN 202010216188 A CN202010216188 A CN 202010216188A CN 111405359 B CN111405359 B CN 111405359B
- Authority
- CN
- China
- Prior art keywords
- region
- area
- speech
- text
- identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/635—Overlay text, e.g. embedded captions in a TV program
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/44008—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
Abstract
本申请涉及一种处理视频数据的方法、装置、计算机设备和存储介质。所述方法包括:对当前视频中当前帧进行文本检测得到当前帧的文本区域;获取当前视频的台词区域,当前视频的台词区域根据当前视频的多个视频序列帧文本区域确定;获取文本区域与台词区域的重叠区域的区域信息;分别计算重叠区域的高度与对应的文本区域和台词区域的高度的比值得到第一比值和第二比值;当第一比值和第二比值中任意一个比值大于预设比值,将该文本区域作为台词区域。不同视频的台词区域存在差异,根据同一视频中多个视频帧自适应确定的台词区域,对该视频的视频帧的文本区域与自适应的台词区域的重叠区域的高度比值直接定位出台词区域,提高了定位的准确度。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种处理视频数据的方法、装置、计算机设备和存储介质。
背景技术
在文本搜索,文本翻译等应用场景中,需要首先对视频中的台词区域的文本区域进行提取,以便后续进行ocr识别和翻译。目前的文本检测算法是通过直接检测预先设置的视频区域中的文本信息,将处于该位置上的文本信息作为目标文本,但是,视频中除了目标文本所在区域外,还会有多处文本区域,文本检测算法直接检测出文本,会导致检测出来的区域可能包含非台词区域的文本信息,从而降低检测结果的准确度。
发明内容
为了解决上述技术问题,本申请提供了一种处理视频数据的方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种处理视频数据的方法,包括:
获取当前视频中的当前帧,对当前帧进行文本检测,得到当前帧的至少一个文本区域;
获取当前视频的台词区域,当前视频的台词区域是根据当前视频的多个视频序列帧的文本区域确定的;
获取每个文本区域与台词区域的重叠区域的区域信息,区域信息包括高度;
分别计算各个重叠区域的高度与对应的文本区域和台词区域的高度的比值,得到第一比值和第二比值;
当第一比值和第二比值中的任意一个比值大于第一预设阈值,将文本区域的区域信息作为当前台词区域的区域信息。
第二方面,本申请提供了一种处理视频数据的装置,包括:
文本检测模块,用于获取当前视频中的当前帧,对当前帧进行文本检测,得到当前帧的至少一个文本区域;
台词区域获取模块,用于获取当前视频的台词区域,当前视频的台词区域是根据当前视频的多个视频序列帧的文本区域确定的;
重叠区域获取模块,用于获取每个文本区域与台词区域的重叠区域的区域信息,区域信息包括高度;
比值计算模块,用于分别计算各个重叠区域的高度与对应的文本区域和台词区域的高度的比值,得到第一比值和第二比值;
区域筛选模块,用于当第一比值和第二比值中的任意一个比值大于第一预设阈值,将文本区域的区域信息作为当前台词区域的区域信息。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取当前视频中的当前帧,对当前帧进行文本检测,得到当前帧的至少一个文本区域;
获取当前视频的台词区域,当前视频的台词区域是根据当前视频的多个视频序列帧的文本区域确定的;
获取每个文本区域与台词区域的重叠区域的区域信息,区域信息包括高度;
分别计算各个重叠区域的高度与对应的文本区域和台词区域的高度的比值,得到第一比值和第二比值;
当第一比值和第二比值中的任意一个比值大于第一预设阈值,将文本区域的区域信息作为当前台词区域的区域信息。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取当前视频中的当前帧,对当前帧进行文本检测,得到当前帧的至少一个文本区域;
获取当前视频的台词区域,当前视频的台词区域是根据当前视频的多个视频序列帧的文本区域确定的;
获取每个文本区域与台词区域的重叠区域的区域信息,区域信息包括高度;
分别计算各个重叠区域的高度与对应的文本区域和台词区域的高度的比值,得到第一比值和第二比值;
当第一比值和第二比值中的任意一个比值大于第一预设阈值,将文本区域的区域信息作为当前台词区域的区域信息。
上述处理视频数据的方法、装置、计算机设备和存储介质,所述方法包括:获取当前视频中的当前帧,对当前帧进行文本检测,得到当前帧的至少一个文本区域;获取当前视频的台词区域,当前视频的台词区域是根据当前视频的多个视频序列帧的文本区域确定的;获取每个文本区域与台词区域的重叠区域的区域信息,区域信息包括高度;分别计算各个重叠区域的高度与对应的文本区域和台词区域的高度的比值,得到第一比值和第二比值;当第一比值和第二比值中的任意一个比值大于第一预设阈值,将文本区域的区域信息作为当前台词区域的区域信息。不同视频的台词区域存在差异,根据同一视频中多个视频帧自适应确定的台词区域,对该视频的视频帧的文本区域与自适应的台词区域的重叠区域的高度比值直接定位出台词区域,提高了定位的准确度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中处理视频数据的方法的应用环境图;
图2为一个实施例中处理视频数据的方法的流程示意图;
图3为一个实施例中角点检测结果示意图;
图4为一个实施例中处理视频数据的装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为一个实施例中处理视频数据的方法的应用环境图。参照图1,该处理视频数据的方法应用于处理视频数据的系统。该处理视频数据的系统包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,在一个实施例中,提供了一种处理视频数据的方法。本实施例主要以该方法应用于上述图1中的终端110(或服务器120)来举例说明。参照图2,该处理视频数据的方法具体包括如下步骤:
步骤S201,获取当前视频中的当前帧,对当前帧进行文本检测,得到当前帧的至少一个文本区域。
具体地,当前视频是指正在处理的视频数据,当前视频可以为一部电视剧,也可以为一部电视剧中的一集,还可以是一部电影等等视频数据。当前帧是指正在处理的视频数据的视频帧,当检测到当前视频帧中存在文本区域时,得到文本区域,即文本区域包含的区域信息包括但不限于区域的大小、位置等等。其中文本检测算法可以采用常见的文本检测算法可以为深度学习算法、基于滑动窗口、基于连通分量、笔画宽度变换等。
在一个实施例中,视频帧中可能也可能不存在文本区域,对于未检测到文本信息的视频帧时,获取下一个视频帧,对下一个图像帧进行文本检测。
步骤S202,获取当前视频的台词区域。
在本具体实施例中,当前视频的台词区域是根据当前视频的多个视频序列帧的文本区域确定的。
具体地,对当前视频中的多个视频帧的文本区域进行筛选,在筛选时,对多个视频序列帧进行累加,对累积得到的视频帧进行区域筛选,得到台词区域,台词区域对应的信息为台词区域信息,台词区域信息包括区域大小、区域所在位置,其中位置可以用行和列的坐标表示。直接通过当前视频的多个视频序列帧的检测得到的文本区域自适应确定台词区域信息,可以得到较准确的台词区域。且视频序列帧可以是整个视频的序列帧,也可以是整个视频中的部分数据的序列帧。台词可以为电影的字幕、电视剧的字幕、或音乐片段的歌词等等。其中台词区域可以为一个或多个。
步骤S203,获取每个文本区域与台词区域的重叠区域的区域信息,区域信息包括高度的区域信息。
在本具体实施例中,区域信息包括高度。
步骤S204,分别计算各个重叠区域的高度与对应的文本区域和台词区域的高度的比值,得到第一比值和第二比值。
步骤S205,当第一比值和第二比值中的任意一个比值大于第一预设阈值,将文本区域的区域信息作为当前台词区域的区域信息。
具体地,重叠区域是指文本区域与台词区域之间存在重叠的区域。计算重叠区域的高度与文本区域的高度之间的比值,得到第一比值,计算该重叠区域与对应的台词区域的高度之间的比值,得到第二比值,判断第一比值和第二比值是否都小于第一预设阈值,当第一比值和第二比值都小于第一预设阈值时,重叠区域与文本区域和台词区域之间在高度方向的重叠部分较小,则该文本区域为非文本区域,反之当第一比值和第二比值中的任意一个比值大于第一预设阈值时,表示重叠区域在高度方向与文本区域或台词区域之间的重叠部分较大,大概率属于台词区域,故将比值大于第一预设阈值的文本区域作为台词区域,将该文本区域的区域信息作为当前台词区域的区域信息。
上述处理视频数据的方法,包括:获取当前视频中的当前帧,对当前帧进行文本检测,得到当前帧的至少一个文本区域;获取当前视频的台词区域,当前视频的台词区域是根据当前视频的多个视频序列帧的文本区域确定的;获取每个文本区域与台词区域的重叠区域的区域信息,区域信息包括高度的区域信息,区域信息包括高度;分别计算各个重叠区域的高度与对应的文本区域和台词区域的高度的比值,得到第一比值和第二比值;当第一比值和第二比值中的任意一个比值大于第一预设阈值,将文本区域的区域信息作为台词区域的区域信。不同视频的台词区域存在差异,根据同一视频中多个视频帧自适应确定的台词区域对该视频的视频帧的文本区域进行台词区域定位,提高了定位的准确度,从而提高台词区域的检测准确度。
在一个实施例中,获取当前视频中的当前帧之前,还包括:
步骤S301,获取当前视频对应的多个原始视频序列帧,对各个原始视频序列帧进行文本检测得到对应的视频序列帧。
在本具体实施例中,各个视频序列帧的文本区域和非文本区域的像素值分别为1和0。
步骤S302,对各个视频序列帧进行累加,得到热图。
步骤S303,二值化热图,得到二值图像。
在本具体实施例中,二值图像中包含至少一个封闭区域,封闭区域的像素值为1,封闭区域为交叉区域或非交叉区域。
具体地,原始视频序列帧是指对当前视频进行分帧得到的视频帧,视频序列帧是指可以包括全部或部分视频帧原始视频序列帧进行文本检测后得到的检测图像,其中视频序列帧为原始二值图像。当前视频在分帧时的分帧时长可以根据同一台词的显示时长确定。显示时长较长的视频数据,则分帧时长也可以较大,显示时长较短的视频数据,则分帧时长也可以设置的较小,分帧时长也可以为预先设置的固定时长,具体的设置方式根据需求可以自定义。如同一句台词的显示时长为1秒/3秒,则在分帧时,可以选择与1秒/3秒相近的时长,也可以是按照同样的分帧时长进行分帧,从分帧后的视频序列帧进行采样,在采样时可以根据台词的显示时长进行采样。其中各个视频序列帧中包括的区域有文本区域和非文本区域,其中文本区域和非文本区域的像素值分别为1和0。对各个视频序列帧进行叠加,得到叠加的视频帧,该视频帧为灰度图像,非文本区域的0进行累加时不会改变像素值的大小,文本区域得像素值1进行累加,得到一个热图,由于每个视频序列帧中的文本区域不同,则对各个每个视频序列帧进行累加,由于热图轮廓较为模糊,需对热图进行阈值分割,得到二值图像,该二值图像中包含一个或多个封闭区域,封闭区域的像素值为1。交叉区域是指封闭区域不是一个标准的矩形区域,即不同的封闭区域之间存在交叉。非交叉区域是指单独的与其他封闭区域不存在交叉的区域。交叉区域的交叉类型包括上下交叉和左右交叉。
步骤S304,当封闭区域中包含交叉区域时,按照预设划分规则对交叉区域进行区域划分得到非交叉区域,直至封闭区域均为非交叉区域。
步骤S305,按照预设台词区域约束规则对非交叉区域进行区域筛选,得到台词区域。
具体地,若封闭区域全部为非交叉区域,则按照预设台词区域约束规则对台词区域进行区域筛选,将满足预设台词区域约束规则的非交叉区域作为台词区域。反之,如封闭区域中包含交叉区域,则先对交叉区域进行区域划分,使得交叉区域在划分之后得到多个非交叉区域。将整个热图中的全部的交叉区域进行划分,直到热图中包含的封闭区域均为非交叉区域。对区域进行划分时可以根据区域的交叉类型进行划分,不同类型的交叉区域可以采用不同的划分方法,交叉类型可以自定义,各个类型对应的交叉区域的划分方法也可以自定义,如定义交叉类型包括上下交叉和左右交叉,其中上下交叉和左右交叉对应的区域划分规则不同。上下交叉区域可以采用检测到的角点信息进行区域构建,左右交叉区域可以根据区域的像素分布进行划分。对热图中的非交叉区域进行区域筛选,得到台词区域。在进行区域筛选时,采用预设台词区域约束规则对非交叉区域进行筛选,其中预设台词预设规则包括但不限高度约束规则、宽度约束规则、区域的像素分布约束规则和区域位置约束规则等等中的一个或多。将满足预设台词区域约束规则的非交叉区域作为台词区域。
在一个实施例中,在得到台词区域后对仅包含台词区域的热图进行二值化得到对应的二值化分割图像,并采用形态学对二值化分割图像进行去燥,得到包含台词区域的区域信息,其中形态学包括于腐蚀和膨胀操作,在进行去燥时,可以进行多次腐蚀和膨胀操作生成热点区域为255、其余区域为0的heatmask。
在一个实施例中,步骤S305,包括:
步骤S3051,判断各个非交叉区域的高度是否小于预设高度阈值,当非交叉区域的高度小于预设高度阈值时,将非交叉区域的区域标识设置为第一标识。
步骤S3052,判断各个非交叉区域的宽度是否小于第一预设宽度阈值,或是否大于第二预设宽度阈值,第二预设宽度阈值大于第一预设宽度阈值,当非交叉区域的宽度小于第一预设宽度阈值,或大于第二预设宽度阈值时,将非交叉区域的区域标识设置为第一标识。
步骤S3053,判断各个非交叉区域的起始像素是否位于预设位置的右边,当非交叉区域的起始像素位于预设位置的右边时,将非交叉区域的区域标识设置为第一标识。
步骤S3054,当二值图像对应的非交叉区域中的剩余非交叉区域的区域标识设置为第二标识,提取第二标识对应的非交叉区域的区域特征,并根据区域特征确定非交叉区域的格式类型,格式类型包括左对齐、中心对称。
步骤S3055,当第一标识对应的非交叉区域的数量为0时,根据第二标识对应的非交叉区域的格式类型筛选出台词区域。
具体地,步骤S3051、步骤S3052和步骤S3053分别是采用高度阈值、宽度阈值和位置信息对非交叉区域进行筛选,当不满足预设高度阈值,即非交叉区域的高度小于预设高度阈值,或非交叉区域的宽度小于第一预设宽度阈值、或非交叉区域的宽度大于第二预设宽度阈值、或非交叉区域的起止位置不位于预设位置时,则表示该非交叉区域不是台词区域,对不满足上述四个条件中的任意一个条件的非交叉区域的进行标记,且标记均为第一标识。将满足上述四个条件的非交叉区域标记为第二标识。提取第二标识对应的非交叉区域的区域特征,其中区域特可以为像素值的分布特征,其中像素值的分布特征包括由左至右递减、从中间向两边递减等。从左至右递减的分布特征的非交叉区域的台词格式为左对齐,从中间向两边递减分布特征的非交叉区域的台词格式为中心对称。若热图中的非交叉区域都满足上述高度、宽度和位置三个条件,则根据第二标识对应的非交叉区域的台词格式进行区域筛选,将包含台词格式的非交叉区域作为台词区域。
在一个实施例中,步骤S3055,包括:
步骤S30551,当第二标识对应的非交叉区域的台词格式中包含左对齐或中心对称中的任意一个台词格式,将台词格式为左对齐或中心对应的非交叉区域作为台词区域。
步骤S30552,当第二标识对应的非交叉区域中包含左对齐或中心对称中的任意一个台词格式的非交叉区域和不属于左对齐或中心对称中的任意一个台词格式的非交叉区域时,将不属于左对齐或中心对称中的任意一个台词格式的非交叉区域中的像素值置0。
步骤S30553,当第二标识对应的非交叉区域的台词格式不属于左对齐或中心对称中的任意一个格式,且非交叉区域的数量大于1时,计算各个第二标识对应的非交叉区域的区域方差,将区域方差中的最大值对应的非交叉区域作为台词区域。
具体地,当第一标识对应的非交叉区域的区域数量为0时,则判断第二标识对应的非交叉区域的台词格式是否为左对齐或中心对称,若全部为左对齐或全部为右对齐,则将第二标识对应的非交叉区域作为台词区域。若第二标识对应的非交叉区域的台词格式中部分为左对齐或部分为右对齐,部分既不属于左对齐,也不属于右对齐,则将既不属于左对齐也不属于右对齐的台词格式的非交叉区域删除,即将该区域的像素值置0。当第二标识对应的非交叉区域的台词格式不属于左对齐或中心对称中的任意一个格式,且非交叉区域的区域数量不止一个时,则计算各个第二标识对应的非交叉区域的区域方差,将区域方差中的最大值对应的非交叉区域作为台词区域。之所以保留方差最大的是因为方差越大表示像素之间的差异性越大,而台词区域中的像素之间的差异较大,故方差也会相对其他区域更大。
在一个实施例中,步骤S3054,包括:
步骤S30541,将第二标识对应的非交叉区域从左到右等分成多个子区域,计算每个子区域的像素均值。
步骤S30542,当第二标识对应的非交叉区域对应的像素均值从左到右递减时,将第二标识对应的非交叉区域对应的台词格式设置为左对齐。
步骤S30543,将第二标识对应的非交叉区域中从中间进行划分得到左边区域和右边区域,将左边区域划分从左到右等分成多个子区域,计算每个左边区域的子区域的像素均值,将右边区域划分从左到右等分成多个子区域,计算每个右边区域的子区域的像素均值,当左边区域的子区域的像素均值从左到右递增,且右边区域的像素均值从左到右递减时,将第二标识对应的非交叉区域对应的台词格式设置为中心对称。
具体地,对第二标识对应的非交叉区域进行区域划分,按照从左到右划分成多个区域面积大小相同的矩形区域,计算每个矩形区域内的像素点的像素均值,即对矩形区域内的全部的像素点的像素值求和,将求和得到的值比上矩形区域内的像素点的数量得到像素均值。判断像素均值是否从左到右为递减趋势,若是,在表示第二标识对应的该非交叉区域的台词格式为左对齐。将不属于左对齐的非交叉区域从中间划分,得到左右两个区域,对左边区域和右边区域分别进行等区域划分,得到左边区域和右边区域对应的多个区域面积大小相同的矩形区域。分别求取左边区域和右边区域对应的各个矩形区域的像素均值,判断左边区域从左到右是否属于递增,右边区域是否从左到右是否递减,即该非交叉区域是否从中间向两边递减,若是,则该非交叉区域的台词格式为中心对称。对第二标识对应的非交叉区域的台词格式进行定义,确定第二标识对应的非交叉区域是否为台词区域,若是台词区域,则该非交叉区域的台词格式一般为左对齐或中心对称。
在一个实施例中,上述处理视频数据的方法,还包括:
步骤S306,当第一标识对应的非交叉区域的数量不为0时,将第一标识对应的非交叉区域中的像素值置0,得到第二热图,执行二值化第二热图,直至得到第二热图的台词区域的区域信息。
具体地,当第一标识对应的非交叉区域的数量不为0时,则表示图中还存在不属于候选的台词区域,删除第一标识对应的非交叉区域,即将第一标识对应的非交叉区域的像素值置0,得到新的热图(第二热图),对新的热图进行二值化,即重新执行分割,直到第一标识对应的非交叉区域的数量为0时,重复进入步骤S3055,直至得到第二热图的台词区域的区域信息。
在一个实施例中,上述处理视频数据的方法,还包括:
步骤S307,将热图中的交叉区域划分成上下两个区域,得到第一区域和第二区域。
步骤S308,计算第一区域和第二区域的列均值。
步骤S309,查找第一区域和第二区域的列均值中的极大值的数量。
步骤S310,当第一区域的列均值的极大值与第二区域的列均值的极大值数量均为1时,将交叉区域的交叉类型设置为上下交叉。
步骤S311,当第一区域的列均值的极大值与第二区域的列均值的极大值数量均大于1时,将交叉区域的类型设置为左右交叉。
在本具体实施例中,步骤S304包括:根据交叉类型对应的预设划分规则对交叉类型对应的交叉区域进行区域划分,得到对应的非交叉区域。
具体地,将热图中的非交叉区域分成上下两个区域,得到第一区域和第二区域,第一区域和第二区域分别对应上边区域和下边区域。计算第一区域和第二区域的各个列的列均值,即对第一区域内的各个列对应的像素值求平均值,如第一区域内的第一列包含4个像素值{10,12,14,16},则第一列对应的列均值为13。分别查找第一区域和第二区域中的列均值中的极大值。若第一区域和第二区域中包含的列均值中包含的极大值的数量都大于一个,表示出现了列均值中出现了两个高峰,该交叉区域属于左右交叉,若第一区域和第二区域中包含的列均值中包含的极大值的数量都为一个,表示第一区域和第二区域中仅出现了一次峰值,属于上下交叉,其中上下交叉和左右交叉为交叉区域的交叉类型。在确定交叉区域的交叉类型后,根据交叉类型确定对交叉区域进行区域划分的方法,即获取交叉类型对应的预设划分规则,采用交叉类型对应的预设划分规则对对应的交叉区域进行区域划分,得到多个非交叉区域。其中上下交叉和左右交叉对应的预设划分规则可以自定义,如上下交叉区域的预设划分规则为根据检测到的角点构建矩形区域,左右交叉对应的预设划分规则为根据像素的分布特征确定矩形区域的边框位置。
在一个实施例中,步骤S304包括:当交叉类型为上下交叉时,对交叉区域进行角点检测,得到各个角点的角点信息,根据角点信息中的行坐标对各个角点进行分类,得到各个角点信息的类别标识,按照同一类别标识的交点构建矩形区域,将构建的矩形区域作为非交叉区域;当交叉类型为左右交叉时,计算交叉区域的列均值,根据列均值中的多个极大值之间的极小值所在的列对区域进行左右拆分,得到对应的非交叉区域。
具体地,角点检测算法可以采用常见的用于检测角点的算法,常见的角点检测算法包括但不限于harris角点检测算法、改进的harris角点检测算法、Moravec角点检测算法和FAST角点检测算法等等。采用角点检测算法对热图中交叉类型为上下交叉的交叉区域进行检测,得到对应的角点信息,按照角点所在的位置对交叉区域进行划分,如将位于上方的两个角点作为第一矩形区域的角点,位于下方的两个角点作为下方的矩形的角点,位于中间的角点根据交叉区域确定是否第一个矩形区域或第二矩形区域,选择三个不位于同一直线内的角点构建第一矩形和第二矩形。如图3所示,角点401、402和403用于构建第一矩形,角点403、404和405用于构建第二矩形。
当交叉类型为左右交叉时,计算交叉区域中各个列的列均值,查找列均值中的两个相邻的极大值之间的极小值所在的位置,以该极小值所在的列作为分界线,将该区域划分成左右两个区域。左右交叉区域采用列均值的分布进行区域划分是根据左右交叉的特定决定,左右交叉说明文字区域的区域中心不同,而文字区域的区域中心的在热图中的像素值较大,故其对应的列均值也较大。采用列均值的方法实现起来简单方便,且准确度高。
在一个具体的实施例中,上述处理视频数据的方法,包括:
对所有当前视频对应的全部的图像帧中的文本检测区域件累加,生成台词区域原始heatmap(Horigin)。heatmap与图像帧尺寸一致。判断存在文本区域的图像帧在所有图像帧中所占的比例是否超过阈值P,确定该视频是否不存在台词,对于不存在台词的视频,直接过滤所有台词区域并返回,否则,继续对Horigin进行判断。
对Horigin归一化后做二值化处理,提取边缘,分别对由多个边缘确定的多个不同封闭区域进行分割。若存在交叉区域,则对交叉区域进行区域划分,得到交叉类型,其中交叉类型包括上下交叉和左右交叉。判断交叉类型时,将交叉区域划分成上下两个区域,统计上下两个区域中的列均值的极大值,若上下两个区域存在多个极大值,则定位交叉区域的交叉类型为左右交叉,若上下两个区域存在1个极大值时,则定位交叉区域的交叉类型为上下交叉。
对于上下交叉区域,采用harris角点检测,根据角点的位置确定角点所属区域,分别做boundingbox求取两个区域的外接矩形作为分割后的区域,即多个非交叉区域。
对于左右交叉区域,将交叉区域分成上下两部分,分别求出纵向均值形成的曲线的极大值,如果任一条曲线有超过一个极大值,则根据极大值之间的极小值位置分割区域,得到多个非交叉区域。
对分割后的小区域分别判断是否不符合台词区域特征,主要的判断条件有如下三个:(1)区域高度在整幅图像的高度占比小于阈值Ph;(2)区域宽度在整幅图像的宽度占比小于阈值Pwmin或者大于阈值Pwmax;(3)区域起始横坐标在图像帧右半部分。得到满足上述三个条件的区域列表D1,对于不在D1区域分别计算区域左对齐和中心对齐特征。左对齐特征计算具体方法如下:将区域从左到右等分成N个子区域,对每一个子区域求取区域内像素均值,如果这N个子区域的均值从左到右递减,则该非交叉区域的台词格为是左对齐,加入左对齐区域列表L1。中心对齐特征则将区域分成左右两个部分,分别对两个部分计算左对齐和右对齐特征,即左部分区域符合右对齐特征,右部分区域符合左对齐特征,则认为该区域的台词格式为中心对称,加入中心对称S1。如果D1为空,并且所有区域要么属于L1要么属于S1,则完成台词区域heatmap(Hfinal)生成;如果D1为空,并且非交叉区域Darea既不属于L1也不属于S1,则删除Darea;如果D1为空,同时L1和S1也为空,且区域总数大于1,则仅保留像素方差最大的区域,其余区域加入D1,若区域总数为1,则完成台词区域heatmap(Hfinal)生成;如果D1不为空,则将heatmap中D1内所有区域的像素置为0,得到Htmp,并返回本步初始位置,重新开始区域分割和特征判断,直至生成仅包括台词区域的Hfinal。
对Hfinal进行二值化,多次腐蚀和膨胀操作后生成热点区域为255、其余区域为0的heatmask。
获取当前视频的当前帧,对当前帧的进行文本检测,得到当前帧的文本区域,分别计算每个文本区域与heatmask计算交叉区域,分别计算交叉区域的行在文本区域行占比和heatmask行占比是否均小于阈值,若是,则该文本区域为非台词区域,若否,则该文本区域是台词区域。
上述处理视频数据的方法通过累加所有图像帧的文本区域生成heatmap,并对heatmap各个热点区域进行分割,计算各个区域的左对齐和中心对齐特征,可以准确定位台词所在区域,能够适应左对齐、居中对齐等多种台词场景。
图2为一个实施例中处理视频数据的方法的流程示意图。应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种处理视频数据的装置200,包括:
文本检测模块201,用于获取当前视频中的当前帧,对当前帧进行文本检测,得到当前帧的至少一个文本区域。
台词区域获取模块202,用于获取当前视频的台词区域,当前视频的台词区域是根据当前视频的多个视频序列帧的文本区域确定的。
重叠区域获取模块203,用于获取每个文本区域与台词区域的重叠区域的区域信息,区域信息包括高度的区域信息,区域信息包括高度。
比值计算模块204,用于分别计算各个重叠区域的高度与对应的文本区域和台词区域的高度的比值,得到第一比值和第二比值。
区域筛选模块205,用于当第一比值和第二比值中的任意一个比值大于第一预设阈值,将文本区域的区域信息作为当前台词区域的区域信息。
在一个实施例中,上述处理视频数据的装置200,还包括:
序列帧获取模块,用于获取当前视频对应的多个原始视频序列帧,对各个原始视频序列帧进行文本检测得到对应的视频序列帧,各个视频序列帧的文本区域和非文本区域的像素值分别为1和0。
图像累加模块,用于对各个视频序列帧进行累加,得到热图。
二值化模块,用于二值化热图,得到二值图像,二值图像中包含至少一个封闭区域,封闭区域的像素值为1,封闭区域为交叉区域或非交叉区域。
交叉区域分割模块,当封闭区域中包含交叉区域时,按照预设划分规则对交叉区域进行区域划分得到非交叉区域,直至封闭区域均为非交叉区域。
台词区域筛选模块,用于按照预设台词区域约束规则对非交叉区域进行区域筛选,得到台词区域。
在一个实施例中,台词区域筛选模块具体用于判断各个非交叉区域的高度是否小于预设高度阈值,当非交叉区域的高度小于预设高度阈值时,将非交叉区域的区域标识设置为第一标识;判断各个非交叉区域的宽度是否小于第一预设宽度阈值,或是否大于第二预设宽度阈值,第二预设宽度阈值大于第一预设宽度阈值,当非交叉区域的宽度小于第一预设宽度阈值,或大于第二预设宽度阈值时,将非交叉区域的区域标识设置为第一标识;判断各个非交叉区域的起始像素是否位于预设位置的右边,当非交叉区域的起始像素位于预设位置的右边时,将非交叉区域的区域标识设置为第一标识;当二值图像对应的非交叉区域中的剩余非交叉区域的区域标识设置为第二标识,提取第二标识对应的非交叉区域的区域特征,并根据区域特征确定非交叉区域的格式类型,格式类型包括左对齐、中心对称;当第一标识对应的非交叉区域的数量为0时,根据第二标识对应的非交叉区域的格式类型筛选出台词区域。
在一个实施例中,台词区域筛选模块具体用于当第一标识对应的非交叉区域的数量为0,且第二标识对应的非交叉区域的台词格式中包含左对齐或中心对称中的任意一个台词格式,将台词格式为左对齐或中心对应的非交叉区域作为台词区域;当当第一标识对应的非交叉区域的数量为0,且第二标识对应的非交叉区域中包含左对齐或中心对称中的任意一个台词格式的非交叉区域和不属于左对齐或中心对称中的任意一个台词格式的非交叉区域时,将不属于左对齐或中心对称中的任意一个台词格式的非交叉区域中的像素值置0;当当第一标识对应的非交叉区域的数量为0,且第二标识对应的非交叉区域的台词格式不属于左对齐或中心对称中的任意一个格式,且非交叉区域的数量大于1时,计算各个第二标识对应的非交叉区域的区域方差,将区域方差中的最大值对应的非交叉区域作为台词区域。
在一个实施例中,台词区域筛选模块具体用于将第二标识对应的非交叉区域从左到右等分成多个子区域,计算每个子区域的像素均值;当第二标识对应的非交叉区域对应的像素均值从左到右递减时,将第二标识对应的非交叉区域对应的台词格式设置为左对齐;将第二标识对应的非交叉区域中从中间进行划分得到左边区域和右边区域,将左边区域划分从左到右等分成多个子区域,计算每个左边区域的子区域的像素均值,将右边区域划分从左到右等分成多个子区域,计算每个右边区域的子区域的像素均值,当左边区域的子区域的像素均值从左到右递增,且右边区域的像素均值从左到右递减时,将第二标识对应的非交叉区域对应的台词格式设置为中心对称。
在一个实施例中,台词区域筛选模块具体用于当第一标识对应的非交叉区域的数量不为0,将第一标识对应的非交叉区域中的像素值置0,得到第二热图,执行二值化第二热图,直至得到第二热图的台词区域的区域信息。
在一个实施例中,上述处理视频数据的装置200,还包括:
交叉区域数据处理模块,用于将热图中的交叉区域划分成上下两个区域,得到第一区域和第二区域;计算第一区域和第二区域的列均值;查找第一区域和第二区域的列均值中的极大值的数量;当第一区域的列均值的极大值与第二区域的列均值的极大值数量均为1时,将交叉区域的交叉类型设置为上下交叉;当第一区域的列均值的极大值与第二区域的列均值的极大值数量均大于1时,将交叉区域的类型设置为左右交叉。
交叉区域划分模块具体用于根据交叉类型对应的预设划分规则对交叉类型对应的交叉区域进行区域划分,得到对应的非交叉区域。
在一个实施例中,交叉区域划分模块具体用于当交叉类型为上下交叉时,对交叉区域进行角点检测,得到各个角点的角点信息,根据角点信息中的行坐标对各个角点进行分类,得到各个角点信息的类别标识,按照同一类别标识的交点构建矩形区域,将构建的矩形区域作为非交叉区域;当交叉类型为左右交叉时,计算交叉区域的列均值,根据列均值中的多个极大值之间的极小值所在的列对区域进行左右拆分,得到对应的非交叉区域。
图5示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110(或服务器120)。如图5所示,该计算机设备通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现处理视频数据的方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行处理视频数据的方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的处理视频数据的装置可以实现为一种计算机程序的形式,计算机程序可在如图5所示的计算机设备上运行。计算机设备的存储器中可存储组成该处理视频数据的装置的各个程序模块,比如,图4所示的文本检测模块201、台词区域获取模块202、重叠区域获取模块203、比值计算模块204和区域筛选模块205。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的处理视频数据的方法中的步骤。
例如,图5所示的计算机设备可以通过如图4所示的处理视频数据的装置中的文本检测模块201执行获取当前视频中的当前帧,对当前帧进行文本检测,得到当前帧的至少一个文本区域。计算机设备可以通过台词区域获取模块202执行获取当前视频的台词区域,当前视频的台词区域是根据当前视频的多个视频序列帧的文本区域确定的。计算机设备可以通过重叠区域获取模块203执行获取每个文本区域与台词区域的重叠区域的区域信息,区域信息包括高度。计算机设备可以通过比值计算模块204执行分别计算各个重叠区域的高度与对应的文本区域和台词区域的高度的比值,得到第一比值和第二比值。计算机设备可以通过区域筛选模块205执行当第一比值和第二比值中的任意一个比值大于第一预设阈值,将文本区域的区域信息作为当前台词区域的区域信息。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取当前视频中的当前帧,对当前帧进行文本检测,得到当前帧的至少一个文本区域;获取当前视频的台词区域,当前视频的台词区域是根据当前视频的多个视频序列帧的文本区域确定的;获取每个文本区域与台词区域的重叠区域的区域信息,区域信息包括高度;分别计算各个重叠区域的高度与对应的文本区域和台词区域的高度的比值,得到第一比值和第二比值;当第一比值和第二比值中的任意一个比值大于第一预设阈值,将文本区域的区域信息作为当前台词区域的区域信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取当前视频对应的多个原始视频序列帧,对各个原始视频序列帧进行文本检测得到对应的视频序列帧,各个视频序列帧的文本区域和非文本区域的像素值分别为1和0;对各个视频序列帧进行累加,得到热图;二值化热图,得到二值图像,二值图像中包含至少一个封闭区域,封闭区域的像素值为1,封闭区域为交叉区域或非交叉区域;当封闭区域中包含交叉区域时,按照预设划分规则对交叉区域进行区域划分得到非交叉区域,直至封闭区域均为非交叉区域;按照预设台词区域约束规则对非交叉区域进行区域筛选,得到台词区域。
在一个实施例中,按照预设台词区域约束规则对非交叉区域进行区域筛选,得到台词区域,包括:判断各个非交叉区域的高度是否小于预设高度阈值,当非交叉区域的高度小于预设高度阈值时,将非交叉区域的区域标识设置为第一标识;判断各个非交叉区域的宽度是否小于第一预设宽度阈值,或是否大于第二预设宽度阈值,第二预设宽度阈值大于第一预设宽度阈值,当非交叉区域的宽度小于第一预设宽度阈值,或大于第二预设宽度阈值时,将非交叉区域的区域标识设置为第一标识;判断各个非交叉区域的起始像素是否位于预设位置的右边,当非交叉区域的起始像素位于预设位置的右边时,将非交叉区域的区域标识设置为第一标识;当二值图像对应的非交叉区域中的剩余非交叉区域的区域标识设置为第二标识,提取第二标识对应的非交叉区域的区域特征,并根据区域特征确定非交叉区域的格式类型,格式类型包括左对齐、中心对称;当第一标识对应的非交叉区域的数量为0时,根据第二标识对应的非交叉区域的格式类型筛选出台词区域。
在一个实施例中,当第一标识对应的非交叉区域的数量为0时,根据第二标识对应的非交叉区域的格式类型筛选出台词区域,包括:当第二标识对应的非交叉区域的台词格式中包含左对齐或中心对称中的任意一个台词格式,将台词格式为左对齐或中心对应的非交叉区域作为台词区域;当第二标识对应的非交叉区域中包含左对齐或中心对称中的任意一个台词格式的非交叉区域和不属于左对齐或中心对称中的任意一个台词格式的非交叉区域时,将不属于左对齐或中心对称中的任意一个台词格式的非交叉区域中的像素值置0;当第二标识对应的非交叉区域的台词格式不属于左对齐或中心对称中的任意一个格式,且非交叉区域的数量大于1时,计算各个第二标识对应的非交叉区域的区域方差,将区域方差中的最大值对应的非交叉区域作为台词区域。
在一个实施例中,提取第二标识对应的非交叉区域的区域特征,并根据区域特征确定非交叉区域的格式类型,包括:将第二标识对应的非交叉区域从左到右等分成多个子区域,计算每个子区域的像素均值;当第二标识对应的非交叉区域对应的像素均值从左到右递减时,将第二标识对应的非交叉区域对应的台词格式设置为左对齐;将第二标识对应的非交叉区域中从中间进行划分得到左边区域和右边区域,将左边区域划分从左到右等分成多个子区域,计算每个左边区域的子区域的像素均值,将右边区域划分从左到右等分成多个子区域,计算每个右边区域的子区域的像素均值,当左边区域的子区域的像素均值从左到右递增,且右边区域的像素均值从左到右递减时,将第二标识对应的非交叉区域对应的台词格式设置为中心对称。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当第一标识对应的非交叉区域的数量不为0,将第一标识对应的非交叉区域中的像素值置0,得到第二热图,执行二值化第二热图,直至得到第二热图的台词区域的区域信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将热图中的交叉区域划分成上下两个区域,得到第一区域和第二区域;计算第一区域和第二区域的列均值;查找第一区域和第二区域的列均值中的极大值的数量;当第一区域的列均值的极大值与第二区域的列均值的极大值数量均为1时,将交叉区域的交叉类型设置为上下交叉;当第一区域的列均值的极大值与第二区域的列均值的极大值数量均大于1时,将交叉区域的类型设置为左右交叉;按照预设划分规则对交叉区域进行区域划分得到非交叉区域,包括:根据交叉类型对应的预设划分规则对交叉类型对应的交叉区域进行区域划分,得到对应的非交叉区域。
在一个实施例中,根据交叉类型对应的预设划分规则对交叉类型对应的交叉区域进行区域划分,得到对应的非交叉区域,包括:当交叉类型为上下交叉时,对交叉区域进行角点检测,得到各个角点的角点信息,根据角点信息中的行坐标对各个角点进行分类,得到各个角点信息的类别标识,按照同一类别标识的交点构建矩形区域,将构建的矩形区域作为非交叉区域;当交叉类型为左右交叉时,计算交叉区域的列均值,根据列均值中的多个极大值之间的极小值所在的列对区域进行左右拆分,得到对应的非交叉区域。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取当前视频中的当前帧,对当前帧进行文本检测,得到当前帧的至少一个文本区域;获取当前视频的台词区域,当前视频的台词区域是根据当前视频的多个视频序列帧的文本区域确定的;获取每个文本区域与台词区域的重叠区域的区域信息,区域信息包括高度;分别计算各个重叠区域的高度与对应的文本区域和台词区域的高度的比值,得到第一比值和第二比值;当第一比值和第二比值中的任意一个比值大于第一预设阈值,将文本区域的区域信息作为当前台词区域的区域信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取当前视频对应的多个原始视频序列帧,对各个原始视频序列帧进行文本检测得到对应的视频序列帧,各个视频序列帧的文本区域和非文本区域的像素值分别为1和0;对各个视频序列帧进行累加,得到热图;二值化热图,得到二值图像,二值图像中包含至少一个封闭区域,封闭区域的像素值为1,封闭区域为交叉区域或非交叉区域;当封闭区域中包含交叉区域时,按照预设划分规则对交叉区域进行区域划分得到非交叉区域,直至封闭区域均为非交叉区域;按照预设台词区域约束规则对非交叉区域进行区域筛选,得到台词区域。
在一个实施例中,按照预设台词区域约束规则对非交叉区域进行区域筛选,得到台词区域,包括:判断各个非交叉区域的高度是否小于预设高度阈值,当非交叉区域的高度小于预设高度阈值时,将非交叉区域的区域标识设置为第一标识;判断各个非交叉区域的宽度是否小于第一预设宽度阈值,或是否大于第二预设宽度阈值,第二预设宽度阈值大于第一预设宽度阈值,当非交叉区域的宽度小于第一预设宽度阈值,或大于第二预设宽度阈值时,将非交叉区域的区域标识设置为第一标识;判断各个非交叉区域的起始像素是否位于预设位置的右边,当非交叉区域的起始像素位于预设位置的右边时,将非交叉区域的区域标识设置为第一标识;当二值图像对应的非交叉区域中的剩余非交叉区域的区域标识设置为第二标识,提取第二标识对应的非交叉区域的区域特征,并根据区域特征确定非交叉区域的格式类型,格式类型包括左对齐、中心对称;当第一标识对应的非交叉区域的数量为0时,根据第二标识对应的非交叉区域的格式类型筛选出台词区域。
在一个实施例中,当第一标识对应的非交叉区域的数量为0时,根据第二标识对应的非交叉区域的格式类型筛选出台词区域,包括:当第二标识对应的非交叉区域的台词格式中包含左对齐或中心对称中的任意一个台词格式,将台词格式为左对齐或中心对应的非交叉区域作为台词区域;当第二标识对应的非交叉区域中包含左对齐或中心对称中的任意一个台词格式的非交叉区域和不属于左对齐或中心对称中的任意一个台词格式的非交叉区域时,将不属于左对齐或中心对称中的任意一个台词格式的非交叉区域中的像素值置0;当第二标识对应的非交叉区域的台词格式不属于左对齐或中心对称中的任意一个格式,且非交叉区域的数量大于1时,计算各个第二标识对应的非交叉区域的区域方差,将区域方差中的最大值对应的非交叉区域作为台词区域。
在一个实施例中,提取第二标识对应的非交叉区域的区域特征,并根据区域特征确定非交叉区域的格式类型,包括:将第二标识对应的非交叉区域从左到右等分成多个子区域,计算每个子区域的像素均值;当第二标识对应的非交叉区域对应的像素均值从左到右递减时,将第二标识对应的非交叉区域对应的台词格式设置为左对齐;将第二标识对应的非交叉区域中从中间进行划分得到左边区域和右边区域,将左边区域划分从左到右等分成多个子区域,计算每个左边区域的子区域的像素均值,将右边区域划分从左到右等分成多个子区域,计算每个右边区域的子区域的像素均值,当左边区域的子区域的像素均值从左到右递增,且右边区域的像素均值从左到右递减时,将第二标识对应的非交叉区域对应的台词格式设置为中心对称。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当第一标识对应的非交叉区域的数量不为0,将第一标识对应的非交叉区域中的像素值置0,得到第二热图,执行二值化第二热图,直至得到第二热图的台词区域的区域信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:将热图中的交叉区域划分成上下两个区域,得到第一区域和第二区域;计算第一区域和第二区域的列均值;查找第一区域和第二区域的列均值中的极大值的数量;当第一区域的列均值的极大值与第二区域的列均值的极大值数量均为1时,将交叉区域的交叉类型设置为上下交叉;当第一区域的列均值的极大值与第二区域的列均值的极大值数量均大于1时,将交叉区域的类型设置为左右交叉;按照预设划分规则对交叉区域进行区域划分得到非交叉区域,包括:根据交叉类型对应的预设划分规则对交叉类型对应的交叉区域进行区域划分,得到对应的非交叉区域。
在一个实施例中,根据交叉类型对应的预设划分规则对交叉类型对应的交叉区域进行区域划分,得到对应的非交叉区域,包括:当交叉类型为上下交叉时,对交叉区域进行角点检测,得到各个角点的角点信息,根据角点信息中的行坐标对各个角点进行分类,得到各个角点信息的类别标识,按照同一类别标识的交点构建矩形区域,将构建的矩形区域作为非交叉区域;当交叉类型为左右交叉时,计算交叉区域的列均值,根据列均值中的多个极大值之间的极小值所在的列对区域进行左右拆分,得到对应的非交叉区域。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种处理视频数据的方法,其特征在于,所述方法包括:
获取当前视频中的当前帧,对所述当前帧进行文本检测,得到所述当前帧的至少一个文本区域;
获取所述当前视频的台词区域,所述当前视频的台词区域是根据当前视频的多个视频序列帧的文本区域确定的;
获取每个所述文本区域与所述台词区域的重叠区域的区域信息,所述区域信息包括高度;
分别计算各个所述重叠区域的高度与对应的所述文本区域和所述台词区域的高度的比值,得到第一比值和第二比值;
当所述第一比值和所述第二比值中的任意一个比值大于第一预设阈值,将所述文本区域的区域信息作为当前台词区域的区域信息。
2.根据权利要求1所述的方法,其特征在于,所述获取当前视频中的当前帧之前,还包括:
获取所述当前视频对应的多个原始视频序列帧,对各个所述原始视频序列帧进行文本检测得到对应的视频序列帧,各个所述视频序列帧的文本区域和非文本区域的像素值分别为1和0;
对各个所述视频序列帧进行累加,得到热图;
二值化所述热图,得到二值图像,所述二值图像中包含至少一个封闭区域,所述封闭区域的像素值为1,所述封闭区域为交叉区域或非交叉区域;
当所述封闭区域中包含交叉区域时,按照预设划分规则对所述交叉区域进行区域划分得到非交叉区域,直至所述封闭区域均为非交叉区域;
按照预设台词区域约束规则对所述非交叉区域进行区域筛选,得到所述台词区域。
3.根据权利要求2所述的方法,其特征在于,所述按照预设台词区域约束规则对所述非交叉区域进行区域筛选,得到所述台词区域,包括:
判断各个所述非交叉区域的高度是否小于预设高度阈值,当所述非交叉区域的高度小于所述预设高度阈值时,将所述非交叉区域的区域标识设置为第一标识;
判断各个所述非交叉区域的宽度是否小于第一预设宽度阈值,或是否大于第二预设宽度阈值,所述第二预设宽度阈值大于所述第一预设宽度阈值,当所述非交叉区域的宽度小于所述第一预设宽度阈值,或大于第二预设宽度阈值时,将所述非交叉区域的区域标识设置为所述第一标识;判断各个所述非交叉区域的起始像素是否位于预设位置的右边,当所述非交叉区域的起始像素位于所述预设位置的右边时,将所述非交叉区域的区域标识设置为所述第一标识;
当所述二值图像对应的非交叉区域中的剩余非交叉区域的区域标识设置为第二标识,提取所述第二标识对应的非交叉区域的区域特征,并根据所述区域特征确定所述非交叉区域的格式类型,所述格式类型包括左对齐、中心对称;
当所述第一标识对应的非交叉区域的数量为0时,根据所述第二标识对应的非交叉区域的格式类型筛选出所述台词区域。
4.根据权利要求3所述的方法,其特征在于,当所述第一标识对应的非交叉区域的数量为0时,所述根据所述第二标识对应的非交叉区域的格式类型筛选出台词区域,包括:
当所述第二标识对应的非交叉区域的台词格式中包含左对齐或中心对称中的任意一个台词格式,将所述台词格式为左对齐或中心对称的非交叉区域作为所述台词区域;
当所述第二标识对应的非交叉区域中包含左对齐或中心对称中的任意一个台词格式的非交叉区域和不属于所述左对齐或中心对称中的任意一个台词格式的非交叉区域时,将不属于所述左对齐或中心对称中的任意一个台词格式的非交叉区域中的像素值置0;
当所述第二标识对应的非交叉区域的台词格式不属于所述左对齐或中心对称中的任意一个格式,且所述非交叉区域的数量大于1时,计算各个所述第二标识对应的非交叉区域的区域方差,将所述区域方差中的最大值对应的非交叉区域作为所述台词区域。
5.根据权利要求3所述的方法,其特征在于,所述提取所述第二标识对应的非交叉区域的区域特征,并根据所述区域特征确定所述非交叉区域的格式类型,包括:
将所述第二标识对应的非交叉区域从左到右等分成多个子区域,计算每个所述子区域的像素均值;
当所述第二标识对应的非交叉区域对应的像素均值从左到右递减时,将所述第二标识对应的非交叉区域对应的台词格式设置为所述左对齐;
将所述第二标识对应的非交叉区域中从中间进行划分得到左边区域和右边区域,将所述左边区域划分从左到右等分成多个子区域,计算每个所述左边区域的子区域的像素均值,将所述右边区域划分从左到右等分成多个子区域,计算每个所述右边区域的子区域的像素均值,当所述左边区域的子区域的像素均值从左到右递增,且所述右边区域的像素均值从左到右递减时,将所述第二标识对应的非交叉区域对应的台词格式设置为所述中心对称。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述第一标识对应的非交叉区域的数量不为0,将所述第一标识对应的非交叉区域中的像素值置0,得到第二热图,执行二值化所述第二热图,直至得到所述第二热图的台词区域的区域信息。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所述热图中的交叉区域划分成上下两个区域,得到第一区域和第二区域;
计算所述第一区域和所述第二区域的列均值;
查找所述第一区域和所述第二区域的列均值中的极大值的数量;
当所述第一区域的列均值的极大值与所述第二区域的列均值的极大值数量均为1时,将所述交叉区域的交叉类型设置为上下交叉;
当所述第一区域的列均值的极大值与所述第二区域的列均值的极大值数量均大于1时,将所述交叉区域的类型设置为左右交叉;
所述按照预设划分规则对所述交叉区域进行区域划分得到非交叉区域,包括:根据所述交叉类型对应的预设划分规则对所述交叉类型对应的交叉区域进行区域划分,得到对应的非交叉区域。
8.根据权利要求7所述的方法,其特征在于,所述根据所述交叉类型对应的预设划分规则对所述交叉类型对应的交叉区域进行区域划分,得到对应的非交叉区域,包括:
当所述交叉类型为上下交叉时,对所述交叉区域进行角点检测,得到各个角点的角点信息,根据所述角点信息中的行坐标对各个所述角点进行分类,得到各个所述角点信息的类别标识,按照同一类别标识的角点构建矩形区域,将构建的所述矩形区域作为所述非交叉区域;
当所述交叉类型为左右交叉时,计算所述交叉区域的列均值,根据所述列均值中的多个极大值之间的极小值所在的列对区域进行左右拆分,得到对应的非交叉区域。
9.一种处理视频数据的装置,其特征在于,所述装置包括:
文本检测模块,用于获取当前视频中的当前帧,对所述当前帧进行文本检测,得到所述当前帧的至少一个文本区域;
台词区域获取模块,用于获取所述当前视频的台词区域,所述当前视频的台词区域是根据当前视频的多个视频序列帧的文本区域确定的;
重叠区域获取模块,用于获取每个所述文本区域与所述台词区域的重叠区域的区域信息,所述区域信息包括高度;
比值计算模块,用于分别计算各个所述重叠区域的高度与对应的所述文本区域和所述台词区域的高度的比值,得到第一比值和第二比值;
区域筛选模块,用于当所述第一比值和所述第二比值中的任意一个比值大于第一预设阈值,将所述文本区域的区域信息作为当前台词区域的区域信息。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010216188.9A CN111405359B (zh) | 2020-03-25 | 2020-03-25 | 处理视频数据的方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010216188.9A CN111405359B (zh) | 2020-03-25 | 2020-03-25 | 处理视频数据的方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111405359A CN111405359A (zh) | 2020-07-10 |
CN111405359B true CN111405359B (zh) | 2022-05-10 |
Family
ID=71436564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010216188.9A Active CN111405359B (zh) | 2020-03-25 | 2020-03-25 | 处理视频数据的方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111405359B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021903A (zh) * | 2006-10-10 | 2007-08-22 | 鲍东山 | 视频字幕内容分析系统 |
JP2008252561A (ja) * | 2007-03-30 | 2008-10-16 | Toshiba Corp | 字幕領域検出装置及び方法及び画像処理装置 |
CN101453575A (zh) * | 2007-12-05 | 2009-06-10 | 中国科学院计算技术研究所 | 一种视频字幕信息提取方法 |
CN107302718A (zh) * | 2017-08-17 | 2017-10-27 | 河南科技大学 | 一种基于角点检测的视频字幕区域定位方法 |
CN110197177A (zh) * | 2019-04-22 | 2019-09-03 | 平安科技(深圳)有限公司 | 提取视频字幕的方法、装置、计算机设备及存储介质 |
-
2020
- 2020-03-25 CN CN202010216188.9A patent/CN111405359B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101021903A (zh) * | 2006-10-10 | 2007-08-22 | 鲍东山 | 视频字幕内容分析系统 |
JP2008252561A (ja) * | 2007-03-30 | 2008-10-16 | Toshiba Corp | 字幕領域検出装置及び方法及び画像処理装置 |
CN101453575A (zh) * | 2007-12-05 | 2009-06-10 | 中国科学院计算技术研究所 | 一种视频字幕信息提取方法 |
CN107302718A (zh) * | 2017-08-17 | 2017-10-27 | 河南科技大学 | 一种基于角点检测的视频字幕区域定位方法 |
CN110197177A (zh) * | 2019-04-22 | 2019-09-03 | 平安科技(深圳)有限公司 | 提取视频字幕的方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于灰度差分与变异直方图的新闻标题字幕探测;陈树越等;《常州大学学报(自然科学版)》;20101231;第22卷(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111405359A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10896349B2 (en) | Text detection method and apparatus, and storage medium | |
CN111860502A (zh) | 图片表格的识别方法、装置、电子设备及存储介质 | |
CN111882520B (zh) | 一种屏幕缺陷检测方法、装置及头戴显示设备 | |
CN109344824B (zh) | 一种文本行区域检测方法、装置、介质和电子设备 | |
JP7026165B2 (ja) | テキスト認識方法及びテキスト認識装置、電子設備、記憶媒体 | |
CN112101386B (zh) | 文本检测方法、装置、计算机设备和存储介质 | |
CN109360205B (zh) | 双录视频质检方法、装置、介质和电子设备 | |
CN109508716B (zh) | 一种图像文字的定位方法及装置 | |
JP3471578B2 (ja) | 行方向判定装置、画像傾き検出装置及び画像傾き補正装置 | |
US20090316219A1 (en) | Image processing apparatus, image processing method and computer-readable storage medium | |
CN111405359B (zh) | 处理视频数据的方法、装置、计算机设备和存储介质 | |
CN111857704A (zh) | 一种布局关系的代码生成方法及装置 | |
CN115019310B (zh) | 图文识别方法及设备 | |
CN111008987A (zh) | 基于灰色背景中边缘图像提取方法、装置及可读存储介质 | |
CN111047614A (zh) | 一种基于特征提取的复杂场景图像的目标角点提取方法 | |
CN111612726A (zh) | 图像数据筛选方法、装置、计算机设备和存储介质 | |
CN111444823A (zh) | 处理视频数据的方法、装置、计算机设备和存储介质 | |
CN112766269B (zh) | 一种图片文本检索方法、智能终端及存储介质 | |
CN115205113A (zh) | 一种图像拼接方法、装置、设备及存储介质 | |
US10970464B2 (en) | Method, device for processing webpage content and storage medium | |
CN114627456A (zh) | 一种票据文本信息检测方法、装置及系统 | |
CN107220981A (zh) | 字符分割方法、装置、设备及存储介质 | |
CN112991397A (zh) | 交通牌跟踪方法、装置、设备和存储介质 | |
Jang et al. | Robust detection of mosaic regions in visual image data | |
JP2001076094A (ja) | 文字列情報抽出装置及び方法及びその方法を記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |