字幕质量检测方法、装置、计算机设备和存储介质与流程

文档序号:25538728发布日期:2021-06-18 20:33阅读:127来源:国知局
字幕质量检测方法、装置、计算机设备和存储介质与流程

本申请涉及互联网技术领域,尤其涉及一种字幕质量检测方法、装置、计算机设备和存储介质。



背景技术:

随着网络视频行业的快速发展,网络视频的数量增长迅猛,越来越多的视频面临着字幕翻译的需求,而对于需求的不同,如今的视频字幕翻译途径主要有两种:机器翻译和人工翻译。机器翻译的发展十分迅猛,通过诸多算法的训练,当今的机器翻译在许多时候已经能满足人们的需求,有着快速、低成本的优点,然而其也存在信息完整度缺失、术语不规范、行文不通顺等翻译质量问题。专业人工翻译质量最高,但会面临较大的时间成本和翻译效率问题,并且,由于专业翻译人员的水平不齐,在大量的翻译工作中也难免会存在着漏翻、字幕错位等信息完整度问题。可以看到,无论是机器翻译还是人工翻译,都有可能出现字幕问题,尤其是字幕信息完整性问题最为关键,这将很大程度上影响用户的视频观看体验。

面对上述的字幕问题,当前最多的检测方法依然是人工检测,这无疑是一个效率低且耗时的过程。检测人员也需要通过反复观看视频复查找出所在问题点,这不仅增加了时间成本,随着时间的增加,检测人员也可能精力衰减,容易犯下漏检、误检的错误。

由于机器翻译和专业翻译人员的疏漏都可能会造成翻译字幕信息完整度缺失的问题,这会造成一些视频字幕文本存在漏翻或者时间轴错位的问题,严重影响用户的观看体验。



技术实现要素:

为了解决上述字幕遗漏或错误的技术问题,本申请实施例提供了一种字幕质量检测方法、装置、计算机设备和存储介质。

第一方面,本申请实施例提供了一种字幕质量检测方法,该方法包括:从目标视频中提取人物音频数据和字幕文本;对人物音频数据进行预处理,以得到人物音频数据中静音片段和非静音片段的分布;根据人物音频数据中静音片段和非静音片段的分布和目标视频的总时长,获取人物音频数据中每个静音片段和非静音片段在目标视频中的第一时间戳;获取字幕文本中每段字幕在目标视频中的第二时间戳;根据第一时间戳和第二时间戳判断每段人物语音数据是否有匹配的字幕;其中,人物语音数据包括至少一段非静音片段。

第二方面,本申请实施例提供了一种字幕质量检测装置,该装置包括:

提取模块,用于从目标视频中提取出人物音频数据和字幕文本;

处理模块,用于对所述人物音频数据进行预处理,以得到所述人物音频数据中静音片段和非静音片段的分布;

第一时间戳获取模块,用于根据人物音频数据中静音片段和非静音片段的分布以及目标视频的总时长,获取人物音频数据中每个静音片段和非静音片段在目标视频中的第一时间戳;

第二时间戳获取模块,用于获取字幕文本中每段字幕在目标视频中的第二时间戳;

匹配模块,用于根据第一时间戳和第二时间戳判断人物音频数据中的每段人物语音数据是否有匹配的字幕;其中,每段人物语音数据包括至少一个非静音片段。

第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现前面任一项的字幕质量检测方法的步骤。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现前面任一项的字幕质量检测方法的步骤。

上述字幕质量检测方法、装置、计算机设备和存储介质,该方法包括:从目标视频中提取出人物音频数据和字幕文本;获取人物音频数据中静音片段和非静音片段的分布,以及每个静音片段和非静音片段在目标视频中的第一时间戳;获取字幕文本中每段字幕在目标视频中的第二时间戳;根据第一时间戳和第二时间戳判断每段人物语音数据是否有匹配的字幕。通过本申请能够精准找出有问题的字幕部分,不仅可以节约检测的时间成本,也能辅助检测人员快速核对问题字幕段。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一个实施例中字幕质量检测方法的流程示意图;

图2为本申请一个实施例中人物语音数据的提取示意图;

图3为本申请一个实施例中第一数组和第二数组的比对示意图;

图4为本申请一个实施例中字幕质量检测的流程框图;

图5为本申请一个实施例中字幕质量检测装置的结构框图;

图6为本申请一个实施例中计算机设备的内部结构图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1为本申请一个实施例中字幕质量检测方法的流程示意图;参照图1,提供了一种字幕质量检测方法。该字幕质量检测方法具体包括如下步骤:

s100:从目标视频中提取出人物音频数据和字幕文本。

具体地,目标视频为具有一定时长的视频。人物音频数据为目标视频中纯人物音频对应的音频数据(包含纯人物语音数据,可能包含静音数据,但是不包含其他非人物语音数据),人物音频数据包括多段人物语音数据。人物语音数据可能全部是人物语音片段,还可能是静音片段和人物语音片段(非静音片段)的混合。人物语音数据中的人物语音片段包括例如人物对话的语音数据、目标视频中的插曲数据等不局限于此。人物音频数据的总时长与目标视频的总时长相同。

字幕文本为目标视频中以文字形式显示目标视频中的人物语音数据的一种非影像内容,即,后期加工的文字。字幕文本主要用于将人物语音数据对话以文字形式展示。特别是对于外语语种的目标视频,字幕文本可以包括人物语音数据对应的原文字幕和/或翻译字幕。字幕是用户理解人物语音数据的辅助工具。通常情况下,字幕与对应的人物语音数据要尽可能同时出现在屏幕上和播放出来的。这样可以保证字幕的及时性和有效性,也利于观看者对视频内容的理解。如果字幕与对应的人物语音数据在时间上错位或者部分人物语音数据遗漏字幕,则会给观看者带来不好的体验,甚至干扰视频的观看。字幕文本包括有字幕的字幕部分和字幕为空白的空白字幕部分。字幕文本中字幕与字幕在时间上大部分是不连续的,因此,大部分字幕是一段一段的出现在目标视频上的。

s200:对人物音频数据进行预处理,以得到人物音频数据中静音片段和非静音片段的分布。

具体地,预处理具体可以为语音活性检测。静音片段为没有人物对话的片段,非静音片段为有人物对话的片段。但是由于人物对话或人物发声并不是连续的,中间会有停顿,因此人物音频数据是由静音片段和非静音片段混合组成的。

语音活性检测用于检测人物音频数据中哪些时间段是静音部分,哪些时间段是人物语音部分。静音片段和非静音片段的分布具体为每个静音片段和非静音片段的时间分布,当然还可以包括持续时长。

s300:根据人物音频数据中静音片段和非静音片段的分布以及目标视频的总时长,获取人物音频数据中每个静音片段和非静音片段在目标视频中的第一时间戳。

具体地,人物音频数据中所有人物语音数据和静音数据的时长的总和为目标视频的总时长。即,所有静音片段和非静音片段的总时长为目标视频的总时长。因此,结合静音片段和非静音片段的分布,可以计算得到每个静音片段和非静音片段在目标视频中的第一时间戳。例如:人物音频数据包括n个片段(静音片段和非静音片段),则每个片段的第一时间戳可以如下表示:

t1=[t11,t12],t2=[t21,t22],…,tn=[tn1,tn2]。其中,n为大于等于1的正整数。

其中,t1、t2…tn为第一个至第n个片段的第一时间戳;t11和t12为第一时间戳t1的起始时刻和结束时刻,t21和t22为第一时间戳t2的起始时刻和结束时刻,tn1和tn2为第一时间戳tn的起始时刻和结束时刻。依此类推,每个第一时间戳都有一个起始时刻和一个结束时刻。

s400:获取字幕文本中每段字幕在目标视频中的第二时间戳。

具体地,一段具有一定时长的视频不可能每分每秒都有字幕,因此,字幕文本包括多段不完全连续的字幕,字幕与字幕之间在时间上不重合。

每段字幕在目标视频中都有对应的第二时间戳。例如:字幕文本包括m段字幕,则每段字幕的第二时间戳可以如下表示:

p1=[p11,p12],p2=[p21,p22],…,pn=[pm1,pm2]。

其中,p1、p2…pm为第一段至第m段字幕的第二时间戳;p11和p12为第二时间戳p1的起始时刻和结束时刻,p21和p22为第二时间戳p2的起始时刻和结束时刻,pm1和pm2为第二时间戳pm的起始时刻和结束时刻。依此类推,每个第二时间戳都有一个起始时刻和一个结束时刻。

s500:根据第一时间戳和第二时间戳判断人物音频数据中的每段人物语音数据是否有匹配的字幕。

具体地,每段人物语音数据包括至少一个非静音片段,即,人物语音数据可能全部由非静音片段按照时间先后顺序组成,也可能由静音片段和非静音片段按照时间先后顺序组成。通常情况下,如果每段人物语音数据都有匹配的字幕,则第一段人物语音数据中的每段非静音片段的第一时间戳在第一段字幕的第二时间戳范围内,或者,时间差在可容忍范围内。第二段人物语音数据中的每段非静音片段的第一时间戳在第二段字幕的第二时间戳范围内,或者,时间差在可容忍范围内。依此类推,第n段人物语音数据中的每段非静音片段的第一时间戳在第n段字幕的第二时间戳进行差异化对比,如果第n段人物语音数据中的每段非静音片段的第一时间戳在第n段字幕的第二时间戳范围内,或者,时间差在可容忍范围内。

根据上述理论分析,本申请根据人物语音数据中每段非静音片段的第一时间戳和字幕的第二时间戳从字幕文本中查找匹配的字幕。人物语音数据中每段非静音片段的第一时间戳在匹配的字幕的第二时间戳范围内或时间差在预设容忍范围内。某个人物语音数据中存在任意一个非静音片段的第一时间戳的时间差超过预设容忍范围,则判定该人物语音数据没有匹配的字幕或没有完全匹配的字幕。

人物语音数据没有匹配的字幕或没有完全匹配的字幕的原因可能是字幕遗漏缺失导致,也可能是字幕严重时移导致。

更具体地,分别将每段人物语音数据中每段非静音片段的第一时间戳与字幕的第二时间戳进行比对,以判断每段人物语音数据中每段非静音片段与对应的字幕在时间上是否匹配。

为了加快匹配的速度,可以设定每段人物语音数据只与预设时间范围内的字幕进行匹配。预设时间范围是根据人物语音数据中每段非静音片段的第一时间戳确定的。具体地,每个人物语音数据中每段非静音片段的第一时间戳包含于对应的预设时间范围内。

更具体地,将第一时间戳的起始时刻减去第一时长得到对应的预设时间范围的起始时刻,将第一时间戳的结束时刻加上第二时长得到对应的预设时间范围的结束时刻,进而得到预设时间范围。

本实施例通过原始视频与字幕文本,进行自动的语音识别处理和字幕检测功能。将此方法应用到日常的字幕检测工作中,可以极大简化日常字幕检测过程。利用本申请的初步检测后的结果用于专业检测人员进行辅助检测,可以大大缩短检测时间,提高检测的效率和准确率,节约了检测环节的人工成本。

在一个实施例中,在步骤s200之前,该方法还包括以下步骤:

对提取的人物音频数据进行去噪处理。

具体地,人物音频数据可能包括一些噪音,例如背景音乐声、兵器碰撞声、下雨声、车辆声、动物叫声、街道熙熙攘攘的声音等各种背景声音,为了防止将背景声音误判为人物音频数据引起字幕匹配误差,需要对人物音频数据进行去噪处理。去噪处理可以避免噪音对字幕匹配的干扰,提高字幕匹配的精确度,进而提高字幕质量检测的准确性。

在一个实施例中,步骤s100中的从目标视频中提取人物音频数据,具体包括以下步骤:

s110:从目标视频中提取出原始音频数据。

具体地,原始音频数据为目标视频中包括所有对话、音乐等在内的音频。更具体地,可以采用多媒体处理工具(ffmpeg)从目标视频中提取出原始音频数据。提取的原始音频数据可以为wav格式、ape格式、flac格式、mp3格式等任意一种格式的音频文件。

优选地,提取的原始音频数据为wav格式。由于wav的文件不存在音源上的损失,有44.1k的取样频率,16位量化数字,文件质量极高。因此,利用ffmpeg多媒体处理工具从视频中提取wav格式的音源文件,能最准确的对应视频时间戳的切分,方便后续音频处理。

s120:按照预设切分长度对原始音频数据进行切分处理得到多个音频数据段。

具体地,由于目标视频提取出的原始音频数据是一段有一定时长的音频,事实上,大部分应用场景的原始音频数据的总时长都非常长。如果原始音频数据的总时长大于音频处理工具一次处理的最大处理时长,则音频处理工具无法正确地处理该原始音频数据。因此,需要对原始音频数据进行切分处理。切分处理可以将原始音频数据切分为多个时长较短的音频片段,进而提高音频处理工具的处理效率和速度。

预设切分长度表征切分后每个音频数据段的时长(最后一个音频数据段的时长可能小于预设切分时长)。预设切分长度根据实际应用场景和处理工具的最大处理时长确定。例如,预设切分时长小于等于5分钟等不局限于此。更具体地,可以采用多媒体处理工具(ffmpeg)按照预设切分长度对原始音频数据进行切分处理,以得到多个音频数据段。

下面以预设切分长度q(单位:s)为例,具体说明切分过程:

1.自动求取以切分长度q切分原始音频数据得到a段音频数据段。

a为目标音频的总时长与预设切分长度的比值取上界。

其中,t_length(单位为s)为原始音频数据即目标音频的总时长,每个音频数据段的时长为q。

2.采用音频切分工具以切分长度q对原始音频数据进行切分,得到a段音频数据段。

例如,利用ffmpeg以每5分钟(q=5min)的长度剪切音频至第a段时,则每段音频数据段的时间戳为:

n_1=[0,300]

n_2=[1*300,2*300]

……

n_(a-1)=[(a-2)*300,(a-1)*300]

n_a=[(a-1)*300,t_length]。其中,300为5min即300s。

s130:提取出每个音频数据段对应的人物音轨数据。

具体地,所有人物音轨数据按照时间先后顺序组成人物音频数据。可以采用已训练好的音轨分离模型对每个音频数据段进行音轨分离处理,以提取出对应的人物音轨数据。人物音轨数据可能只包括静音片段,也可能包括静音片段与人物语音(非静音片段)的混合,还可能全部包括人物语音(非静音片段)。

原始音频数据中包含了各种背景声,例如:背景音乐声、兵器碰撞声、下雨声等。音频数据段是从原始音频数据中切分的,因此音频数据段中也同样包含了各自背景声音。这些背景声都会对后续的语音处理造成干扰,因此需要对音频数据段进行“提纯”,使其只包含相应的人声语音部分。这样可以方便后续的语音处理,使得字幕质量检测判断更加精准。

本申请已训练好的音轨分离模型可以为spleeter模型,spleeter模型是一种采用人工智能算法训练的神经网络模型。spleeter模型基于tensorflow开发,运行速度非常快。本申请的音轨分离过程可以在gpu,也可以在cpu上执行。利用spleeter模型对每个音频数据段进行音轨分离处理,可以提取出每个音频数据段对应的人物音轨数据。

spleeter模型由于采用了神经网络算法,处理的参数量巨大,因此spleeter模型一次处理的音频长度是有限制的。根据实际应用,步骤s120中每个音频数据段的时长不能超过一个时长阈值,时长阈值即切分长度。例如,不能超过5分钟,时长阈值的设置具体根据实际应用设置或修改。

上述获取纯人物音频数据处理过程如图2所示。原始音频数据被切分后,采用spleeter模型依次对切分后的音频数据段进行音轨分离处理,得到各段音频数据段的人物音轨数据vocal1、vocal2、vocal3…vocaln。

本实施例采用预训练好的spleeter模型进行音乐源分离,去除了由于背景声和背景音乐带来的语音识别干扰,能够很好地提高语音活性检测的准确性。

另外,在本实施例中,即使一段时长较长的完整的人物语音数据被切分到了至少2段相邻的其他人物语音数据中,若这段完成的人物语音数据有对应的字幕,则该字幕也是上述所述的其他人物语音数据的共同字幕。

在一个实施例中,步骤s200包括以下步骤:

s210:将所有人物音轨数据按照时间先后顺序融合成人物音频数据;

s220:按照第二切分长度对人物音频数据进行切分处理,得到多段子音频数据;

s230:分别对每段子音频数据进行语音活性检测,以检测对应的子音频数据中静音片段和非静音片段的分布。

具体地,静音片段为没有人物对话的片段,非静音片段为有人物对话的片段。每段子音频数据虽然是经过音轨分离处理的纯人声文件。但是由于人物对话或人物发声并不是连续的,中间会有停顿,因此每段子音频数据是由混合的静音片段和非静音片段组成的。具体地,每段子音频数据可能全部包括非静音片段,也可能全部包括静音片段,也可能既包括静音片段也包括非静音片段。

本申请通过语音活性检测工具对每段子音频数据进行活性检测和识别。语音活性检测的目的是识别出每段子音频数据中静音片段和非静音片段,即静音片段和非静音片段的分布。

语音活性检测工具可以采用包含pydub音频处理库的语音活性检测工具对每段子音频数据进行自动识别。包含pydub音频处理库的语音活性检测工具提供了简洁的高层开源api,极大的扩展了python处理音频文件的能力,pydub音频处理库的可调参数更多,并且可调范围大,包括但不限于普通的音频处理功能,还具有语音识别的各项阈值设定。使得可以根据实际应用需要,更改识别的阈值,使模型达到更好的鲁棒性。

其中,应用于语音活性检测的调用函数如下:

detect_nonsilent(audio_segment,min_silence_len,silence_thresh,seek_step)

该调用函数包含多个参数,其中audio_segment表示待检测的子音频数据;min_silence_len表示每次活性检测的步长,单位为ms;silence_thresh表示被检测为静音片段的预设分贝阈值,单位为dbfs,silence_thresh的取值为负数;seek_step表示两次活性检测的时间间隔。

调用函数detect_nonsilent(),通过步长为min_silence_len和时间间隔为seek_step的检测窗口对待检测的子音频数据逐段进行活性检测。通过检测窗口将待检测的子音频数据分割为多个检测片段进行检测。检测窗口对应一个检测片段,待检测的子音频数据每滑动seek_step的长度一次,就有下一个检测片段到达检测窗口。每个检测片段的长度为min_silence_len,相邻检测片段之间的时间间隔为seek_step。步长min_silence_len越小,待检测的子音频数据被切分成的检测片段的数量越多,每个检测片段被判定为静音片段或非静音片段的准确性越高。

检测片段被判定为静音片段还是非静音片段是根据检测片段的分贝值来确定的。通过调用函数detect_nonsilent()还会对每个检测片段的分贝值进行计算。如果检测片段的分贝值低于预设分贝阈值silence_thresh,则判定该检测片段为静音片段;如果检测片段的分贝值不低于预设分贝阈值silence_thresh,则判定该检测片段为非静音片段。

对每个检测片段的分贝值进行计算具体是通过对检测片段内的声音计算均方根得到每个检测片段的分贝值。

通过上述的活性检测方法可以对每个子音频数据进行活性检测,以获得每个子音频数据中静音片段和非静音片段的分布。

本申请可以根据实际需求调整调用函数detect_nonsilent()中的各个参数,例如调整判断是否为静音片段的预设分贝阈值silence_thresh的大小,调整时间间隔seek_step等等。

在另外一个具体实施例中,在步骤s130的基础上,步骤s200具体包括以下步骤:分别对每段人物音轨数据进行语音活性检测,以检测对应的人物音轨数据中静音片段和非静音片段的分布。语音活性检测的具体步骤参见上述描述,此处不再赘述。

本实施例,人物音轨数据相当于子音频数据。不需要将人物音轨数据进行融合得到人物音频数据,后又重新切分得到子音频数据,节省了本申请方法的执行开销。

本实施例通过调用pydub的api得到对应参数下的每个人物语音数据的静音片段和非静音片段的子时间戳,将此子时间戳部分与字幕文本中的字幕的第二时间戳进行匹配比对,可以自动检测是否存在遗漏字幕或字幕严重移位现象(字幕出现的时间与对应的人物语音数据出现的时间不匹配)。

采用pydub模块进行语活性识别,pydub的可调参数更多,并且可调范围大,包括但不限于普通的音频处理功能,还具有语音识别的各项阈值设定。使得可以根据系统检测情况反馈结果来更改识别的阈值,使模型达到更好的鲁棒性。

由于语音活性检测是通过语音活性检测工具来完成的,因此通过语音活性检测得到每个静音片段和非静音片段在语音活性检测中对应的检测时间戳,实质上并不在目标视频所在的时间轴上。为了得到静音片段和非静音片段在目标视频所在的时间轴上的第一时间戳,需要将静音片段和非静音片段的检测时间戳映射到目标视频所在的时间轴上,以得到每个静音片段和非静音片段在目标视频所在的时间轴上的第一时间戳。具体地,可以通过时间戳映射算法实现。

对a段人物音轨数据分别进行语音活性检测,得到每段人物音轨数据对应的静音片段和非静音片段的检测时间戳如下:

……

每段人物音轨数据所包括的静音片段和非静音片段的个数为p个。

以第d段的人物音轨数据为例进行说明(d小于等于a),对第d段人物音轨数据进行语音活性检测后得到静音片段和非静音片段的检测时间戳如下:

根据时间戳映射算法和静音片段的检测时间戳、非静音片段的检测时间戳,得到每个静音片段和非静音片段在目标视频所在的时间轴上的第一时间戳:

……

其中,p为每段人物音轨数据在语音活性检测时被检测出的静音片段和非静音片段的数量总和。

在一个实施例中,步骤s500具体包括以下步骤:

s510:分别将各个静音片段标记为第一数值,将非静音片段标记为第二数值,以得到人物音频数据对应的人物语音和静音的音频分布。

具体地,根据上述步骤,人物音频数据由所有静音片段和非静音片段按照时间先后顺序组成,将所有静音片段统一标记为第一数值,将所有非静音片段统一标记为第二数值,可以非常清楚明了的表示出整个人物音频数据中人物语音和静音的音频分布情况。

由于静音片段、非静音片段的时长不可能完全相同,因此,使用第一数值标记静音片段具体是使用第一数值从静音片段的起始时刻和结束时刻均标记为第一数值;使用第二数值标记非静音片段具体是使用第二数值从非静音片段的起始时刻和结束时刻均标记为第二数值。

s520:根据字幕文本中每段字幕的第二时间戳和目标视频的总时长,获取字幕文本中每段空白字幕的第三时间戳,空白字幕为字幕与字幕之间字幕为空的片段。

具体地,字幕文本中的每段字幕基本属于不连续的,字幕的第二时间戳是不连续的,因此,字幕与字幕之间存在没有字幕的时间段,没有字幕即为空白字幕,空白字幕为字幕与字幕之间字幕为空的片段;字幕文本的总时长为目标视频的总时长,已知字幕的第二时间戳,可以计算得到空白字幕的第三时间戳。所有字幕和空白字幕按照时间先后顺序依次排序组成字幕文本。

s530:将字幕文本中的每段字幕标记为第二数值,将每段空白字幕标记为第一数值,以得到字幕文本对应的字幕和空白字幕的字幕分布。

具体地,由于字幕、空白字幕的时长不可能完全相同,因此,使用第一数值标记空白字幕具体是使用第一数值从空白字幕的起始时刻和结束时刻均标记为第一数值;使用第二数值标记字幕具体是使用第二数值从字幕的起始时刻和结束时刻均标记为第二数值。

s540:根据音频分布和字幕分布,判断每个人物语音数据中非静音片段是否有匹配的字幕。

具体地,音频分布表征了静音片段和非静音片段的分布以及各个片段的时长,字幕分布表征了空白字幕和字幕的分布以及各个字幕和空白字幕的时长。静音片段与空白字幕使用相同的第一数值标记,非静音片段与字幕使用相同的第二数值标记。人物音频数据对应的音频分布与字幕文本对应的字幕分布进行比对,即可判断出非静音片段是否存在匹配的字幕。

具体地,如果非静音片段的第一时间戳对应的字幕的数值不是第二数值而是第一数值,则判定该非静音片段没有匹配的字幕。

如果非静音片段的第一时间戳对应的字幕的数值部分为第一数值,部分为第二数值,则若第一数值与第二数值的占比大于等于预设占比,则判定该非静音片段没有匹配的字幕;若第一数值与第二数值的占比小于预设占比,则判定该非静音片段有匹配的字幕。

在一个实施例中,步骤s500具体包括以下步骤:

s510:分别将各个静音片段和非静音片段以预设时间单元进行划分得到对应的多个第一元素。

具体地,可以将静音片段和非静音片段以预设时间单元进行划分以得到每个片段对应的多个第一元素。

预设时间单元是最小的划分单元,例如,设置1s为预设时间单元,再例如设置0.5s为预设时间单元,等等不局限于此。预设时间单元取值越小,静音片段和非静音片段被划分后得到的第一元素的个数越多,同理,静音片段和非静音片段被划分得越精细。

s520:根据人物音频数据中静音片段和非静音片段的第一时间戳,将属于静音片段的第一元素标记为第一标记值,将属于非静音片段的第一元素标记为第二标记值,以得到每个静音片段和非静音片段对应的第一子数组,第一子数组包含对应的多个按照时间先后顺序依次排序的第一元素。

具体地,每个人物语音数据包括按照时间先后顺序分布的静音片段和非静音片段,每个第一元素要不是静音片段中划分的,要不就是非静音片段中划分的。

再根据已经获取到的每个静音片段和非静音片段的第一时间戳,可以确定每个第一元素所属的片段的类型(静音片段或非静音片段)。

本申请将属于同一种类型的片段的第一元素标记为相同的标记值。具体地,将属于静音片段的第一元素标记为第一标记值,例如,标记为0;将属于非静音片段的第一元素标记为第二标记值,例如,标记为1。这样,可以将对应的静音片段和非静音片段通过第一子数组表示。第一子数组包含了对应的静音片段或非静音片段的全部第一元素的标记值,且,这些第一元素的标记值按照时间先后顺序在第一子数组中依次排序。第一子数组表征了静音片段和非静音片段的分布。

s530:根据所有静音片段和非静音片段对应的第一子数组得到人物音频数据对应的第一数组,第一数组中的所有第一元素按照时间先后顺序依次排序。

具体地,根据步骤s520可以获取到每个静音片段和非静音片段对应的第一子数组。由于从目标视频中提取的人物音频数据中包含多段具有时间先后顺序的静音片段和非静音片段,因此,整个人物音频数据对应的第一数组包含了所有静音片段和非静音片段的第一子数组,且第一子数组均按照时间先后顺序排序。

本申请具体可以对所有第一子数组的第一元素的标记值按照时间先后顺序进行融合以得到第一数组。第一数组包含了所有静音片段和非静音片段的第一元素的标记值。

s540:根据字幕文本中每段字幕的第二时间戳和目标视频的总时长,获取字幕文本中每段空白字幕的第三时间戳。

具体地,字幕文本中的每段字幕基本属于不连续的,字幕的第二时间戳是不连续的,因此,字幕与字幕之间存在没有字幕的时间段,没有字幕即为空白字幕,空白字幕为字幕与字幕之间字幕为空的片段;字幕文本的总时长为目标视频的总时长,已知字幕的第二时间戳,可以计算得到空白字幕的第三时间戳。所有字幕和空白字幕按照时间先后顺序依次排序组成字幕文本。

s550:将字幕文本以预设时间单元进行划分得到对应的多个第二元素字幕文本。

s560:根据字幕的第二时间戳和空白字幕的第三时间戳,将属于字幕的第二元素标记为第二标记值,将属于空白字幕的第二元素标记为第一标记值,以得到包括所述多个第二元素的第二数组,所述多个第二元素按照时间先后顺序依次排序。

具体地,第二元素为字幕和空白字幕经过预设时间单元划分后的最小单元。

通常,非静音片段才需要有对应的字幕,静音片段可以不需要字幕,因此,本实施例中,字幕所对应的第二元素的标记值与非静音片段对应的第一元素的第二标记值相同,例如,标记值为1。空白字幕对应的第二元素的标记值与静音片段对应第一元素的第一标记值相同,例如,标记值为0。

第二数组表征对应的字幕文本中字幕与空白字幕的分布,第二数组包含的第二元素的数量与目标视频的长度有关,目标视频长度越长,被切分得到的第二元素的数量越多,长度越短,被切分得到的第二元素的数量越少。

具体地,因为数组中的元素都是按照时间先后顺序排序的,因此空白字幕相当于是对字幕文本中没有字幕的时间段进行填充,使字幕文本对应的第二数组与人物音频数据对应的第一数组在时间上能够保持一致或对齐,以排除字幕文本中空白字幕的缺失对检测的干扰,提高检测的精确度。

s570:遍历第一数组和第二数组,对相同时间戳的第一元素的标记值与第二元素的标记值进行比对,以判断每个非静音片段是否都有匹配的字幕。

具体地,第一元素的标记值为第一标记值或第二标记值,第二元素的标记值为第一标记值或第二标记值。本申请相同时间戳的第一元素和第二元素即为数组中相同索引位置的第一元素和第二元素。

人物音频数据对应的第一数组与字幕文本对应的第二数组所包含的元素的数量需要相同,即,在时间上保持完全对应。为了精确检测第一元素的标记值与第二元素的标记值是否相同,需要排除数组元素不对齐的干扰因素,本申请通过将空白字幕所对应的第二元素填充为第一数值,将静音片段对应的第一元素填充为第一数值,消除了元素在时间上不对齐的干扰,同时通过将相同时间戳的第一元素与相同时间戳的第二元素进行比对进一步解决了不对齐对检测结果的干扰。

本实施例通过第一数组表征人物音频数据中静音片段和非静音片段的长度和时间分布。通过第二数组表征字幕文本中字幕和空白字幕的长度和时间分布。通过对比第一数组和第二数组,可以非常直观且精确地判断非静音片段对应的时间段内是否有对应的字幕出现,高效且精确度高。

在一个实施例中,s570具体包括以下步骤:

若连续且超过预设数量的第一元素的标记值与相同时间戳的第二元素的标记值不同,则判定连续且超过预设数量的第一元素所对应的时间段内的字幕为错误字幕。

具体地,字幕文本中的字幕与人物音频数据中的人物语音数据在通常情况下很难做到完全的匹配,即,很难做到人物发声的时刻即出现对应字幕的效果,因此,本实施例允许人物语音数据与对应的字幕存在一定的时间误差。在时间误差范围内,则判定人物语音数据与字幕匹配。

每个第一元素、第二元素都属于相同大小的预设时间单元,第一元素的标记值与相同时间戳的第二元素的标记值不同,则表示在该时间单元,人物语音数据与字幕不匹配。本实施例会在出现连续一段时间内(连续且超过预设数量的第一元素)每个第一元素的标记值与相同时间戳的第二元素的标记值不同时,判定该连续一段时间内的字幕为错误字幕。

字幕存在错误的情况包括字幕缺失或字幕与人物语音数据在时间上存在严重的时移等问题。

以1s作为预设时间单元为例,将静音片段对应的元素标记为0,将非静音片段对应的元素标记为1。创建第一数组a,第一数组a中每一个元素的标记值代表人物音频数据中在该索引位置这一秒内是否有声音,第一数组a的形式可表示为:

a=[0000111110000……111000110000]

同样,读取字幕文本中字幕的第二时间戳,创建第二数组b,第二数组b的形式可表示为:

b=[0000001110010……101000111100]

其中标记值为1表示该秒内有字幕,标记值为0表示该秒内无字幕。

对数组a和数组b进行遍历比对,可以看出正数第5元素、第6元素、第12元素不相同,倒数第3元素、第4元素、第11元素不相同,其中,正数第5元素和第6元素是连续的2个不相同的元素,倒数第3元素和第4元素是连续的2个不相同的元素。

如果预设数量设置为0或1,则正数第5元素和第6元素对应的时间段内的字幕为错误字幕,倒数第3元素和第4元素对应的时间段内的字幕也存在错误,正数第12元素对应的时间段内的字幕不存在错误,倒数第11元素对应的时间段内的字幕不存在错误。

如果预设数量设置为2及以上的值,则不存在错误字幕。当然,本申请仅仅是一个举例,实际应用中,预设数量的取值根据具体情况而定。

参考图3,为本申请一个实施例中第一数组和第二数组的比对示意图;第一数组c为:c=[00011111100…011000000111100000]

第一数组d为:d=[00000000000…011110001111000000]

设置预设数量为6,则正数第4元素至第9元素对应的时间段内的不同的元素的数量为7,超过了预设数量6,因此时间戳tm内字幕存在错误。

倒数第6元素至第9元素对应的时间段内的不同的元素的数量为4,不超过预设数量6,因此对应时间戳内字幕不存在错误。

倒数第16元素至第17元素对应的时间段内的不同的元素的数量为2,不超过预设数量6,因此对应时间戳内字幕不存在错误。

本实施例是将相同索引位置或相同时间戳的第一元素和第二元素进行比对,只要连续且超过预设数量的第一元素的标记值与相同时间戳的第二元素的标记值不同,则判定连续且超过预设数量的第一元素所对应的时间段内的字幕为错误字幕。

但是,在有的情况下,没有语音有字幕是影视作品中可以接受且经常出现的情况。因此,在另一个具体实施例中,可以将上述错误字幕中“没有语音有字幕”所对应的字幕判定为正确字幕。当然,还可以展示给复核人员进行人工复核来判断“没有语音有字幕”所对应的字幕是否为正确字幕。

本实施例通过字幕匹配比对算法自动检测字幕与人物语音数据的匹配度,精准找出有问题的字幕部分。具体地,可以精准找出每段人物语音数据是否有匹配的字幕,而且还能够找出没有语音对应的多余字幕,对于与对应的语音有较大偏移的字幕也能够精确查找出来。不仅可以节约检测的时间成本,也能辅助检测人员快速核对问题字幕段。

在一个实施例中,s570具体包括以下步骤:

若连续且超过预设数量的第一元素的标记值与相同时间戳的第二元素的标记值不同,则将连续且超过预设数量的第一元素作为疑似元素;

获取疑似元素的时间戳;

根据疑似元素的时间戳从目标视频中提取相同时间戳的音频片段;

对音频片段进行象声词识别;

将音频片段中除象声词对应的音频片段以外的其他音频片段作为目标音频片段;

根据目标音频片段的时间戳从目标视频中提取相同时间戳的字幕片段,判定字幕片段为错误字幕。

具体地,利用ffmpeg多媒体处理工具可以从目标视频中将疑似元素对应时间戳的音频片段截取下来,并对该音频片段进行象声词判断,检查该音频片段是否为象声词,由于象声词可以不需要字幕,或者在字幕翻译时可以不做翻译,因此,如果是象声词,则可以判定为象声词的部分对应的字幕没有错误。

象声词的识别可以通过调用了语音识别工具,语音识别工具采用神经网络模型训练方式训练得到。语音识别工具适用于手机应用语音交互、语音内容分析、智能硬件、呼叫中心智能客服等多种场景。语音识别工具包含了音频文件转写的功能,该功能可将批量上传的音频识别为文字,即实现将语音识别为文字,支持普通话和略带口音的中文识别,支持英文识别。适合录音质检、会议内容总结、音频内容分析等场景。

具体地,可以通过调用api接口的方式调用语音识别工具。调用语音识别工具的音频文件转写接口创建音频转写任务,可以将大批量的音频文件异步转写为文字。调用语音识别工具的结果返回接口,完成转写后,查询转写任务结果。

本实施例加入了象声词识别情况,减少了字幕匹配中象声词匹配带来的干扰情况。

查询转写任务结果具体步骤为:预先将常用的象声词存储于象声词参考表中,象声词例如“哈,啊,嘿,嗯,噢”等词,象声词参考表中的象声词可以增加或修改。将初始判断认为有问题的部分对应音频片段进行剪切,利用语音识别工具对这些音频片段进行识别,转写输出对应识别后的文字,将转写的文字与象声词参考表中的常用象声词进行遍历对比,如果在识别的语音转写文字中象声词占比整段文字的比例超过某比例阈值v(例如取80%),则判定该段文字是象声词部分,可以不进行翻译,以此二次判断筛查出象声词对应的音频片段。其他非象声词对应的其他音频片段的时间戳对应的字幕片段则认为是错误字幕。将这些错误字幕的时间戳进行记录输出。这些部分均表明为系统确定为“有声音,无字幕”的部分,或是因为漏翻,或是存在着严重的时移误差。

本申请的语音识别工具可以用于批量录音质检、音频内容分析,来判断对应的语段是否为象声词部分。

本申请的字幕质量自动检测的机制,运用了ai音乐源提取算法、语音活动检测技术、语音自动识别算法对视频进行处理,提取得到字幕文本的理想时间戳,通过字幕自动匹配算法与实际字幕文本进行比对,从而自动判断可能存在问题的字幕段。这样可以完成一套全自动化的字幕质量检测流程,并且得到存在问题的时间戳,方便专业翻译人员进行再次检测和修改,提高字幕翻译的质量检测和修改效率。

在一个实施例中,本申请还可以截取错误字幕对应的视频段,以通过人工检测界面展示的方式提供给复核人员复核,复核人员会对错误字幕的错误类型(错误类型包括漏翻、移位、机器程序误判等)进行判断并标记。

在另一个实施例中,本申请还可以自动判断错误字幕的错误类型。具体地,获取当前错误字幕的上一段字幕对应的上一数组,获取当前错误字幕的下一段字幕对应的下一数组,获取与当前错误字幕的时间戳对应的非静音片段的子数组;分别获取上一数组与子数组的相似度、下一数组与子数组的相似度;如果上一数组和下一数组中的任一数组与子数组的相似度都不超过预设相似度,则判定当前错误字幕的错误类型为漏翻;如果上一数组和下一数组中的任一数组与子数组的相似度超过预设相似度,则判定当前错误字幕的错误类型为移位。

在一个实施例中,该方法还包括以下步骤:

截取错误字幕所对应的视频段,以提供给复核人员复核;

接收复核人员对视频段进行复核后的复核结果;

将复核结果为确定存在错误字幕的视频段所对应的错误字幕标记为最终错误字幕。

具体地,可以通过截取问题字幕段对应的视频找到“有声音,无字幕”的问题视频段,将这些问题视频段提供给复核人员或检测人员进行人工检测,相当于只检测问题部分的视频段。对于有问题的视频段进行复核后,可以判断检测的正确性与否,可以根据人工复核的结果,进行记录,例如是否有误检部分,哪部分误检了。输出机器检测的正确性,以及误检比例。复核后,确定了真正漏翻或时移严重部分的字幕,交由专业人员进行字幕修正,得到新的字幕文本,将此字幕应用于目标视频即可。

本申请对于检测人员,利用本申请初步检测后的结果进行辅助检测,可以大大缩短检测时间,提高检测的效率和准确率,节约了检测环节的人工成本。

本申请还可以通过上述复核的最终结果的反馈情况反馈调节整个字幕质量检测系统中的可调参数,比如调节语音活性检测工具(例如:pydub)识别语音段的阈值参数、字幕匹配算法中元素差别的预设数量、象声词比例参数等。甚至对于音轨分离模型(spleeter模型)以及语音识别工具的神经网络模型,可以加入样本进行优化训练调节。

本申请实现了面向提高字幕翻译质量的自动检测。采用模块化设计思想,建立了一个完整的、端到端的数据流处理过程,实现更准确、自适应、可调参的处理流程。

应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

图4为本申请一个实施例中字幕质量检测的流程框图;参考图4,该字幕质量检测的流程包括以下步骤:

数据预处理模块:从原视频中提取wav格式音源,对音源分离得到只包含人声的vocal人声文件。

自动语音活性检测识别:调用开源的api,通过pydub进行语音活性检测处理,提取语音时间戳。

字幕自动检测,将提取的语音时间戳与字幕文本时间戳进行匹配对比,判断漏检、误检部分,再进行象声词自动识别,剔除这当中象声词的语音部分,得到系统检测的有人声无字幕问题字段。

人工字幕复核,将系统判断的漏检部分,进行人工二次确认。具体包括:

a.查看原始视频中有人声无字幕问题字段对应时间戳部分是否真正漏翻或字幕严重移位

b.记录人工检测的相应结果,便于技术上进行参数调节更新

c.交由专业字幕人员进行字幕更新

本申请能够通过原始视频与字幕文本,进行自动的语音识别处理和字幕检测功能。将本申请的技术方案应用到日常的字幕检测工作中,可以极大简化日常字幕检测过程。利用本申请的技术方案初步检测后的结果用于专业检测人员进行辅助检测,可以大大缩短检测时间,提高检测的效率和准确率,节约了检测环节的人工成本。

本申请只需要高效地在后台运行,将判断结果交互给前端,前端可以极快地得到问题字幕位置信息,定位到问题字幕部分,检测人员只需在前端界面进行判断,对系统判断为“有声音,无字幕”问题部分进行视频字幕的二次快速检测,做出适当的记录,便于后台技术和的参数调整与优化。

图5为本申请一个实施例中字幕质量检测装置的结构框图;该字幕质量检测装置包括:

提取模块100,用于从目标视频中提取出人物音频数据和字幕文本;

处理模块200,用于对人物音频数据进行预处理,以得到人物音频数据中静音片段和非静音片段的分布;

第一时间戳获取模块300,用于根据人物音频数据中静音片段和非静音片段的分布以及目标视频的总时长,获取人物音频数据中每个静音片段和非静音片段在目标视频中的第一时间戳;

第二时间戳获取模块400,用于获取字幕文本中每段字幕在目标视频中的第二时间戳;

匹配模块500,用于根据第一时间戳和第二时间戳判断人物音频数据中每段人物语音数据是否有匹配的字幕;

其中,每段人物语音数据包括至少一个非静音片段。

在一个实施例中,该装置还包括:

去噪模块,用于对提取的人物音频数据进行去噪处理。

在一个实施例中,提取模块100,具体包括:

音频提取模块,用于从目标视频中提取出原始音频数据,

切分模块,用于按照预设切分长度对原始音频数据进行切分处理,得到多个音频数据段,

分离模块,用于提取出每个音频数据段对应的人物音轨数据,

其中,所有人物音轨数据按照时间先后顺序组成人物音频数据。

在一个实施例中,匹配模块500,具体包括:

第一划分模块,用于分别将各个静音片段和非静音片段以预设时间单元进行划分得到对应的多个第一元素;

第一标记模块,用于根据人物语音数据中静音片段和非静音片段的第一时间戳,将属于静音片段的第一元素标记为第一标记值,将属于非静音片段的第一元素标记为第二标记值,以得到每个静音片段和非静音片段对应的第一子数组,每个第一子数组包含对应的多个按照时间先后顺序依次排序的第一元素;

第一融合模块,用于根据所有静音片段和非静音片段对应的第一子数组得到人物音频数据对应的第一数组,第一数组中的所有第一元素按照时间先后顺序依次排序;

空白字幕获取模块,用于根据字幕文本中每段字幕的第二时间戳和目标视频的总时长,获取字幕文本中每段空白字幕的第三时间戳,空白字幕为字幕与字幕之间字幕为空的片段;

第二划分模块,用于将字幕文本以预设时间单元进行划分得到对应的多个第二元素;

第二标记模块,用于根据字幕的第二时间戳和空白字幕的第三时间戳,将属于字幕的第二元素标记为第二标记值,将属于空白字幕的第二元素标记为第一标记值,以得到包括所述多个第二元素的第二数组,第二数组中多个第二元素按照时间先后顺序依次排序;

比对模块,用于遍历第一数组和第二数组,对相同时间戳的第一元素的标记值与第二元素的标记值进行比对,以判断每个非静音片段是否都有匹配的字幕。

在一个实施例中,比对模块,具体用于:

若连续且超过预设数量的第一元素的标记值与相同时间戳的第二元素的标记值的标记值不同,则判定连续且超过预设数量的第一元素所对应的时间段内的字幕为错误字幕。

在一个实施例中,比对模块,具体包括:

疑似判定模块,用于若连续且超过预设数量的第一元素的标记值与相同时间戳的第二元素的标记值不同,则将连续且超过预设数量的第一元素作为疑似元素;

第二子时间戳获取模块,用于获取疑似元素的时间戳;

截取模块,用于根据疑似元素的时间戳从目标视频中提取相同时间戳的音频片段;

象声识别模块,用于对音频片段进行象声词识别;

子判断模块,用于将音频片段中除象声词对应的音频片段以外的其他音频片段作为目标音频片段;

错误字幕提取模块,用于根据目标音频片段的时间戳从目标视频中提取相同时间戳的字幕片段,判定字幕片段为错误字幕。

在一个实施例中,该装置还包括:

视频截取模块,用于截取错误字幕所对应的视频段,以提供给复核人员复核;

复核结果接收模块,用于接收复核人员对存在错误的字幕视频段进行复核后的复核结果;

错误字幕标记模块,用于根据复核结果,将存在错误的字幕中复核结果为确定存在错误字幕的视频段所对应的错误字幕标记为最终错误字幕。

图6为本申请一个实施例中计算机设备的内部结构图。如图6所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现字幕质量检测方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行字幕质量检测方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本申请提供的字幕质量检测装置可以实现为一种计算机程序的形式,计算机程序可在如图6所示的计算机设备上运行。计算机设备的存储器中可存储组成该字幕质量检测装置的各个程序模块,比如,图5所示的提取模块100、处理模块200、第一时间戳获取模块300、第二时间戳获取模块400和匹配模块500。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的字幕质量检测方法中的步骤。

图6所示的计算机设备可以通过如图5所示的字幕质量检测装置中的提取模块100执行步骤s100:从目标视频中提取出人物音频数据和字幕文本;通过处理模块200执行步骤s200:对人物音频数据进行预处理,以得到人物音频数据中静音片段和非静音片段的分布;通过第一时间戳获取模块300执行步骤s300:根据人物音频数据中静音片段和非静音片段的分布以及目标视频的总时长,获取人物音频数据中每个静音片段和非静音片段在目标视频中的第一时间戳;通过第二时间戳获取模块400执行步骤s400:获取字幕文本中每段字幕在目标视频中的第二时间戳;通过匹配模块400执行步骤s400:根据第一时间戳和第二时间戳判断人物音频数据中每段人物语音数据是否有匹配的字幕。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:从目标视频中提取出人物音频数据和字幕文本;对人物音频数据进行预处理,以得到人物音频数据中静音片段和非静音片段的分布;根据人物音频数据中静音片段和非静音片段的分布以及目标视频的总时长,获取人物音频数据中每个静音片段和非静音片段在目标视频中的第一时间戳;获取字幕文本中每段字幕在目标视频中的第二时间戳;根据第一时间戳和第二时间戳判断人物音频数据中每段人物语音数据是否有匹配的字幕。

在一个实施例中,处理器执行计算机程序时还实现上述任一项的字幕质量检测方法的各个步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:从目标视频中提取出人物音频数据和字幕文本;对人物音频数据进行预处理,以得到人物音频数据中静音片段和非静音片段的分布;根据人物音频数据中静音片段和非静音片段的分布以及目标视频的总时长,获取人物音频数据中每个静音片段和非静音片段在目标视频中的第一时间戳;获取字幕文本中每段字幕在目标视频中的第二时间戳;根据第一时间戳和第二时间戳判断人物音频数据中每段人物语音数据是否有匹配的字幕。

在一个实施例中,计算机程序被处理器执行时还实现上述任一项的字幕质量检测方法的各个步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指示相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1