本发明涉及视频技术领域,尤其涉及视频字幕识别方法及系统。
背景技术:
伴随信息技术和通讯技术的不断发展,大量广播视频信息不断涌现,比如各类新闻报道、电视剧目、网络视频等,使得广播电视视频逐渐成为人们获取日常信息的一种重要媒介。根据2014年国家统计局发布的数据显示,截至2014年,我国广播电视节目综合人口覆盖率已达到98.60%,成为世界上覆盖人口最多、公众信息传送量最大,有线、无线、卫星等多种现代技术手段并用的广播电视网络。可以看出,面向三网融合的广播电视新媒体的内容管理与分发,具有巨大的社会效益和商业价值。
广播视频中的字幕字符是一种高级语义信息,能够为媒体内容管理与分发提供重要的辅助信息,若能将广播电视新媒体的视频字符准确识别出来,这将对分析视频字幕了解视频属性具有重大意义。
目前在视频字幕识别领域,通常是直接从视频流里面解码得到字幕信息,然后将得到的字幕直接与预设的字幕进行比对测试,测试对象单一;对提取出来的文本信息大都通过人眼比对的形式进行测试,采用人工方式进行识别率的计算,效率低下,且准确性得不到认可;对于不同字体大小、不同字体种类的识别效果的测试程序也非常麻烦;同时由于视频字幕背景复杂,识别引擎难以全部有效识别,识别率很难提升。
技术实现要素:
为了解决上述技术问题,本发明提出了视频字幕识别方法及系统。
本发明是以如下技术方案实现的:
一种视频字幕识别方法,包括:
将原始字幕文本中的字符渲染生成字幕图片,将所述字幕图片叠加至无字幕源视频中,编码生成字幕视频;
从所述字幕视频中提取出新的字幕文本,所述新的字幕文本为测试字幕文本;
比对所述字幕视频中的字符与所述原始字幕文本,并输出对应的识别率;
其中,所述字幕图片为一种样式或多种样式,所述多种样式为不同字号和/或不同字体的样式,相同的样式保存在相同的测试字幕文本中。
一种视频字幕识别系统,包括:
视频生成模块,用于将原始字幕文本中的字符渲染生成字幕图片,将所述字幕图片叠加至无字幕源视频中,编码生成字幕视频;
字幕提取模块,用于从所述字幕视频中提取出新的字幕文本,所述新的字幕文本为测试字幕文本;
文本对比模块,用于比对所述测试字幕文本与原始字幕文本,并输出对应的识别率;
其中,所述字幕图片为一种样式或多种样式,所述多种样式为不同字号和/或不同字体的样式,相同的样式保存在相同的测试字幕文本中。
本发明提供的视频字幕识别方法及系统,有益效果是:能够对原始字幕文本进行渲染,提取出一种或多种不同样式字幕作为测试对象,测试范围广;通过算法自动比对测试字幕文本与原始字幕文本,识别效率明显得到提升。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是实施例一提供的视频字幕识别方法的流程图;
图2是实施例一中的字号为28、字体为黑体的字幕视频图像;
图3是实施例一中的字号为32、字体为黑体的字幕视频图像;
图4是实施例一中的字号为28、字体为简准圆的字幕视频图像;
图5是实施例一中的字号为32、字体为简准圆的字幕视频图像;
图6是实施例二提供的视频字幕识别方法的流程图;
图7是实施例二提供的对错误字符进行判断的流程图;
图8是实施例三提供的视频字幕识别方法的流程图;
图9是实施例四提供的视频字幕识别系统的结构框图;
图10是实施例五提供的视频字幕识别系统的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本技术方案运行的环境如下:
(1)硬件运行环境:
CPU:Genuine Intel(R)@1.73GHz或以上服务器;
内存:1GB或以上服务器;
硬盘:120GB或以上服务器。
(2)软件运行环境:
操作系统:64bit的tlinux 1.2以上版本;
数据库:redis以及mysql。
实施例一:
本实施例提供了一种视频字幕识别方法,如图1所示,所述方法包括:
S101.将原始字幕文本中的字符渲染生成字幕图片,将所述字幕图片叠加至无字幕源视频中,编码生成字幕视频;
现有技术中,通常是直接从视频流里面解码得到字幕信息,然后将得到的字幕直接与预设的字幕进行比对测试;而本步骤能够将原始字幕文本中的字符渲染生成一种样式或多种样式的字幕图片,进而编码得到带有一种或多种字幕的视频,对应的多种字幕的视频能够同时满足对多种不同样式的字幕视频的测试。
具体地,所述原始字幕文本为完全正确的文本;所述一种或多种样式的字符通过成熟的字体渲染技术,生成以像素形式存在的字幕图片;利用x264视频编码函数库编码,将所述字幕图片叠加至无字幕源视频中,进而生成带有多种字幕的视频。
其中,对所述渲染技术举例说明,若需要渲染得到20号、楷体的“王”,则调用楷体文字图片库,从楷体文字图片库中查找“王”字,找到之后,将楷体的“王”缩放到需要的20号字体大小,这样就完成一次渲染过程。
S102.从所述字幕视频中提取出新的字幕文本,所述新的字幕文本为测试字幕文本;
进一步地,所述多种样式为不同字号和/或不同字体的样式,相同样式的字幕图片保存在相同的测试字幕文本中;
具体地,不同的字号和/或不同字体中,不同的字号为不同的字符大小,不同字体为不同的字符风格。
需要说明的是,所述字符不仅包括汉字,还包括英文字符等可识别的字符;本实施例以所述字符为汉字为例,多种样式中,不同的字号可以为三号、小四、18或35等大小的字符;不同字体可以为黑体、简准圆、微软雅黑或宋体等风格的字符。原始字幕文本中的字符通过渲染得到一种样式或多种样式的字幕图片,将字幕图片叠加在无字幕源视频的图像上得到对应的字幕视频图像,如图2-5所示,图2为字号为28、字体为黑体的字幕视频图像,图3为字号为32、字体为黑体的字幕视频图像,图4为字号为28、字体为简准圆的字幕视频图像,图5为字号为32、字体为简准圆的字幕视频图像。
需要说明的是,所述不同字号和/或不同字体不仅仅限于本实施例,还能够包括目前视频中常用的其他字号和/或字体的类型,所述多种字幕视频能够涵盖广播电视或网络视频中使用的大多数字幕的种类。
S103.比对所述测试字幕文本中的字符与原始字幕文本中的字符,得到识别结果;
具体地,本实施例通过OCR识别算法,逐字符逐语句的将测试字幕文本中的字符分别与原始字幕文本中的字符对比。其中,OCR(Optical Character Recognition)识别为光学字符识别,通过光学输入方式获取字符图像信息,利用各种模式识别算法分析字符形态特征,判断出字符的标准编码,并按通用格式存储在文本文件中;OCR识别引擎能够支持用户自定义识别模式,能够在多种平台上高效运行,满足应用程序多平台支持的需求,且代码的统一性保证了在各个平台应用效果的一致性,使用场景灵活。
其中,所述识别结果分为识别正确和识别错误两种,在识别测试过程中,若测试字幕文本与原始字幕文本在相同位置的字符相同,则识别正确,否则识别错误。
S104.比对所述测试字幕文本与原始字幕文本,并输出对应的识别率。
具体地,文本匹配算法比对测试字幕文本与原始字幕文本,是通过文本匹配算法统计所述文本中所有字符的识别结果,得出整个测试字幕文件的识别率,这为后续视频字幕的优化提供一定的数据支撑。
综上所述,本实施例提供了一种视频字幕识别方法,将原始字幕文本中的字符渲染生成一种样式或多种样式的字幕图片,能够实现对需要的多种视频字幕进行测试,测试范围广;从生成的字幕视频中提取出测试字幕文本,采用文本匹配算法,自动地比对测试字幕文本与原始字幕文本,相比较传统的人工方式进行字幕比对测试,测试效率和准确率明显得到提升。
实施例二:
本实施例提供了一种视频字幕识别方法,如图6所示,所述方法包括:
S201.将原始字幕文本中的字符渲染生成字幕图片,将所述字幕图片叠加至无字幕源视频中,编码生成字幕视频;
S202.从所述字幕视频中提取出新的字幕文本,所述新的字幕文本为测试字幕文本;
S203.比对所述测试字幕文本中的字符与原始字幕文本中的字符,得到识别结果;
S204.比对所述测试字幕文本与原始字幕文本,并输出对应的识别率;
S205.根据识别结果的置信度定位错误字符;
其中,置信度,也称为可靠度或可信度,低的置信度就说明识别出来的结果可信度比较低,若字符的可信度低于预设的置信度,则所述字符为错误字符。
S206.计算错误字符出现的概率,判断所述概率是否达到常见错误字符的概率,若是,则进一步判断所述错误字符是否存在错误典籍中,若否,则根据错误字符出现的时间,标记对应字幕在测试字幕文本中的位置,对所述错误字符进行人工更正。
其中,字幕文本保存为标准的.srt字幕文本格式,所述.srt字幕文本的中的存储方式如表1所示,表1为原始字幕文本中截取的部分内容:
表1
其中,每三行为一组,构成一句字幕的信息。其中,三行中的第一行是字幕序号;三行中的第二行是字幕出现的时间,所述字幕出现的时间精确到微秒;三行中的第三行是所述字幕的内容。
例如,所述字幕图片为一种样式或多种样式,将上述的原始字幕文本渲染得到一种或多种测试字幕图片,将所述字幕图片叠加至无字幕源视频中,编码生成字幕视频;从所述字幕视频中提取出测试字幕文本;对于多种测试字幕文本,先选择多种测试字幕文本中的一个字幕文本进行测试,利用OCR识别算法对测试字幕中的字符分别对应测试;原始字幕文本在字幕序号为2,字幕出现的时间为00:51:42,510-->00:51:45,510,字幕的内容为“这小子将来必定能当国王”;而测试字幕文本在字幕序号为2,字幕出现的时间为00:51:42,510-->00:51:45,510,字幕的内容却为“这小子将来必定能当圃王”;在测试中发现,在相同的字幕序号和字幕出现的时间的情况下,对应字幕中的字符“圃”与原始字幕文本中字符“园”不相同,字幕内容比对结果为识别错误;进一步地,对所述错误字符“圃”进行判断,若“圃”出现错误的概率没有达到常见错误概率,则根据错误字符“圃”出现的时间00:51:42,510-->00:51:45,510对错误字符“圃”所在字幕的位置进行标记,根据标记找到错误字符“圃”,进行人工更正。
具体地,所述判断所述错误字符是否存在错误典籍中,包括:
若存在错误典籍中,则直接调用错误典籍进行正确替换,若否,则将所述错误字符添至错误典籍。
其中,错误典籍包括错误汉字典籍和错误英文典籍,以所述错误汉字典籍为例,所述错误汉字典籍包括错误字典和错误词典,如表2和表3所示,错误字典中包含错误汉字、对应的正确汉字和汉字编号;错误词典中包含错误词语、对应的正确词语和词语编号。
如表2所示,表2是错误字典的举例描述:
表2
如表3所示,表3是错误词典的举例描述:
表3
具体地,如图7所示,图7为对错误字符进行判断的流程图:根据测试字幕文本中字符的识别结果统计出某一错误字符出现的概率,通过所得概率判断所述错误字符是否为常见错误字符,如果是常见错误字符,则进一步判断所述错误字符是否存在错误典籍中,如果不是常见错误字符,则根据错误字符出现的PST(Pacific Standard Time)太平洋标准时间进行标记,标记出对应字幕在视频中出现的位置,通过标记找到错误字符,借助媒资打点后台,对所述错误字符进行人工修正;其中,在判断所述错误字符是否存在错误典籍的过程中,若通过自动查找错误典籍,发现所述错误字符存在错误典籍中,则直接调用错误典籍,利用错误典籍中记录的错误字符对应的正确字符,进行自动替换,若所述错误字符没有存在错误典籍中,则将所述错误字符自动添至错误典籍,然后采用人工的方式补充完整所述错误字符在词典中的编号和对应的正确字符,这样错误典籍不断地新增和扩充之后,字幕识别率会逐减上升,识别效果会越来越好,识别效率也越来越高。
综上所述,本实施例在识别操作之后,对测试字幕文件中的错误字符进行判断,然后分情况进行修正,从而提高测试字幕文件中字符的正确率;在修正测试字幕文本中的错误字符过程中,错误典籍在不断地新增和扩充,从而使得常用错误字符的识别率逐减上升,识别效果越来越好,识别效率越来越高。
实施例三:
本实施例提供了一种视频字幕识别方法,如图8所示,所述方法包括:
S301.将原始字幕文本中的字符渲染生成字幕图片,将所述字幕图片叠加至无字幕源视频中,编码生成字幕视频;
S302.从所述字幕视频中提取出新的字幕文本,所述新的字幕文本为测试字幕文本;
S303.比对测试字幕文本中的字符与原始字幕文本中的字符,得到识别结果;
S304.比对所述测试字幕文本与原始字幕文本,并输出对应的识别率;
S305.根据识别结果的置信度定位错误字符,显示所述错误字符对应字幕的识别结果;
S306.计算错误字符出现的概率,判断所述概率是否达到常见错误字符的概率,若达到常见错误字符的概率,则进一步判断所述错误字符是否存在错误典籍中,若存在错误典籍中,则直接调用错误典籍进行正确替换;若没有达到常见错误字符的概率,则根据错误字符出现的时间,标记对应字幕在测试字幕文本中的位置,对所述错误字符进行人工更正;
S307.更新所述错误字符对应字幕的识别结果,更新对应的整个字幕文本的识别率。
具体地,若判断出所述错误字符不是常见错误字符,则通过标记错误字符对应字幕的位置,采用人工方式进行错误修正,进一步更新字幕的识别结果,更新对应的测试字幕文本的识别率;若判断出所述错误字符为常见错误字符,且存在错误典籍中,则调用错误典籍直接进行正确替换,在错误更正后,同样更新字幕的识别结果,更新对应的测试字幕文本识别率,这样使得测试字幕的识别率在不断提升。
综上所述,本实施例在识别操作之后,对错误字符进行判断,根据判断结果分情况进行错误修正,这样针对性地错误修正,使测试字幕文件中字符的正确性得到提高,从而使得测试字幕的识别率得到提升;在修正测试字幕的错误字符之后,对先前的识别结果和识别率进行更新,从而使测试者能够时时获知测试字幕更新之后的识别情况,有助于比较和分析优化前后测试字幕文件的识别效果。
实施例四:
如图9所示,本实施例提供了一种视频字幕识别系统,包括:
视频生成模块110,用于将原始字幕文本中的字符渲染生成字幕图片,将所述字幕图片叠加至无字幕源视频中,编码生成字幕视频;
字幕提取模块120,用于从所述字幕视频中提取出新的字幕文本,所述新的字幕文本为测试字幕文本;
进一步地,所述原始字幕文本为完全正确的文本,所述字幕文本为一种样式或多种样式,所述多种样式为不同字号和/或不同字体的样式,相同样式的字幕图片保存在相同的测试字幕文本中;
文本对比模块130,用于比对所述测试字幕文本与原始字幕文本,并输出对应的识别率。
进一步地,所述文本对比模块包括字符识别单元131,所述字符识别单元131用于比对测试字幕文本中的字符与原始字幕文本中的字符,得到识别结果。
所述系统还包括:
定位错误模块140,用于根据识别结果带有的置信度定位错误字符;
错误判断模块150,用于计算错误字符出现的概率,判断所述概率是否达到常见错误字符的概率,若是,则进一步判断所述错误字符是否存在错误典籍中,若否,则根据错误字符出现的时间,标记对应字幕在测试字幕文本中的位置,对所述错误字符进行人工更正。
进一步地,所述错误判断模块150中包括错误典籍单元151,所述错误典籍单元151用于判断所述错误字符是否存在错误典籍中,若存在错误典籍中,则直接调用错误典籍进行正确替换,若否,则将所述错误字符添至错误典籍。
其中,错误典籍包括错误汉字典籍和错误英文典籍,以所述错误汉字典籍为例,所述错误汉字典籍包括错误字典和错误词典,错误字典中包含错误汉字、对应的正确汉字和汉字编号;错误词典中包含错误词语、对应的正确词语和词语编号。
如表4所示,表4是错误字典的举例描述:
表4
如表5所示,表5是错误词典的举例描述:
表5
综上所述,本实施例提供的视频字幕识别系统,能够通过渲染得到一种或多种样式的字幕图片,进而得到一种或多种样式的测试字幕文本,具有广阔的测试范围和应用前景;通过算法自动对比得到字符的识别结果以及整个文本的识别率,识别效率高;并且,能够对测试出错误的字符分情况进行更正,便于准确分析视频字幕了解视频属性。
实施例五:
如图10所示,本实施例提供了一种视频字幕识别系统,包括:
视频生成模块210,用于将原始字幕文本中的字符渲染生成字幕图片,将所述字幕图片叠加至无字幕源视频中,编码生成字幕视频;
字幕提取模块220,用于从所述字幕视频中提取出新的字幕文本,所述新的字幕文本为测试字幕文本;
进一步地,所述原始字幕文本为完全正确的文本,所述字幕图片为一种样式或多种样式,所述多种样式为不同字号和/或不同字体的样式,相同样式的字幕图片保存在相同的测试字幕文本中;
文本对比模块230,用于比对所述测试字幕文本与原始字幕文本,并输出对应的识别率;所述文本对比模块230包括字符识别单元231,所述字符识别单元231用于比对测试字幕文本中的字符与原始字幕文本中的字符,得到识别结果。
所述系统还包括:
定位错误模块240,用于根据识别结果带有的置信度定位错误字符,显示所述错误字符对应字幕的识别结果;
错误判断模块250,用于计算错误字符出现的概率,判断所述概率是否
达到常见错误字符的概率,若是,则进一步判断所述错误字符是否存在错误典籍中,若否,则根据错误字符出现的时间,标记对应字幕在测试字幕文本中的位置,对所述错误字符进行人工更正;错误判断模块250中包括错误典籍单元251,所述错误典籍单元251用于判断所述错误字符是否存在错误典籍中,若存在错误典籍中,则直接调用错误典籍进行正确替换,若否,则将所述错误字符添至错误典籍。
所述系统还包括:
识别更新模块260,用于更新所述错误字符对应字幕的识别结果,更新对应的整个字幕文本的识别率。
综上所述,本实施例提供的视频字幕识别系统,能够对识别错误的字符进行更正,对测试文本的识别率进行时时更新,便于准确分析视频字幕了解视频属性,提升后期视频个性化推荐的精准性,且视频字幕搜索的准确性也得到提升,从而使用户寻找视频更加方便和高效。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本发明中的技术方案中的各个模块均可通过计算机终端或其它设备实现。所述计算机终端包括处理器和存储器。所述存储器用于存储本发明中的程序指令/模块,所述处理器通过运行存储在存储器内的程序指令/模块,实现本发明相应功能。
本发明中的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
本发明中所述模块/单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。可以根据实际的需要选择其中的部分或者全部模块/单元来达到实现本发明方案的目的。
另外,在本发明各个实施例中的各模块/单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应
视为本发明的保护范围。