一种字幕生成方法和装置转让专利

申请号 : CN201811355311.4

文献号 : CN109379641A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张宇露陈联武陈祺蔡建伟

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请实施例公开了一种字幕生成方法和装置,针对来自同一个音频流、且根据静音片段切分的多个语音片段生成字幕的过程中,通过语音识别得到多个语音片段分别对应的文本。在根据其中目标语音片段所对应文本确定字幕时,确定包括了该目标语音片段所对应文本的待处理文本组。之后,以待处理文本组中的分隔符作为从待处理文本组中确定字幕文本的依据,由于分隔符是在识别语音片段中文字时基于语义添加的,分隔符间的文本部分属于完整的句子,能够体现合理的语义,故通过分隔符确定的字幕文本中出现不完整句子的可能性大大降低,将该字幕文本作为所对应音频流时间轴区间的字幕进行展示时,能够帮助收看音视频的用户理解音视频内容,提高了用户体验。

权利要求 :

1.一种字幕生成方法,其特征在于,所述方法包括:获取来自同一个音频流、且根据静音片段切分的多个语音片段;

对所述多个语音片段进行语音识别,得到所述多个语音片段分别对应的文本,所述多个语音片段分别对应的文本中包括根据文本语义添加的分隔符;

在根据所述多个语音片段中目标语音片段所对应文本确定字幕时,确定待处理文本组,所述待处理文本组至少包括所述目标语音片段对应的文本;

根据所述待处理文本组中的分隔符从所述待处理文本组中确定字幕文本;

将所述字幕文本作为所对应音频流时间轴区间的字幕。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:确定所述多个语音片段之间静音片段的时间长度;

所述确定待处理文本组,包括:

根据音频流时间轴的顺序,从所述目标语音片段开始依次确定静音片段的时间长度是否大于预设时长;

若确定出目标静音片段的时间长度大于预设时长,将处于所述目标静音片段与所述目标语音片段之间的语音片段所对应文本加入所述待处理文本组。

3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:判断所述待处理文本组的字符数量是否大于预设数量,所述预设数量是根据显示字幕长度确定的;

若是,执行所述根据所述待处理文本组中的分隔符从所述待处理文本组中确定出字幕文本的步骤;

若否,将所述待处理文本组确定为所述字幕文本。

4.根据权利要求1或2所述的方法,其特征在于,所述根据所述待处理文本组中的分隔符从所述待处理文本组中确定字幕文本,包括:将所述待处理文本组中从第一个字符到最后一个分隔符之间的部分确定为字幕文本;

或者,

将所述待处理文本组中从第一个字符到所述待处理文本组前预设数量字符中最后一个分隔符之间的部分确定为字幕文本,所述预设数量是根据显示字幕长度确定的。

5.根据权利要求3所述的方法,其特征在于,若判断所述待处理文本组的字符数量大于所述预设数量,且所述待处理文本组中不包括分隔符,所述方法还包括:判断所述待处理文本组的字符数量是否大于最大数量,所述最大数量为显示字幕最长长度所对应的字符数量;

若是,将所述待处理文本组前所述最大数量的字符确定为所述字幕文本;

若否,将所述待处理文本组确定为所述字幕文本。

6.根据权利要求1所述的方法,其特征在于,在所述根据所述待处理文本组中的分隔符从所述待处理文本组中确定字幕文本之后,所述方法还包括:确定所述字幕文本中第一个字符在所对应语音片段中的相对开始时刻;

根据所述相对开始时刻与所述第一个字符所对应语音片段在音频流时间轴上的时间偏移,确定出所述字幕文本所对应音频流时间轴区间的开始时刻;

确定所述字幕文本中最后一个字符在所对应语音片段中的相对结束时刻;

根据所述相对结束时刻与所述最后一个字符所对应语音片段在音频流时间轴上的时间偏移,确定出所述字幕文本所对应音频流时间轴区间的结束时刻。

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据字幕展示语种对所述字幕文本进行翻译,得到翻译后的字幕文本;

所述将所述字幕文本作为所对应音频流时间轴区间的字幕,包括:将所述翻译后的字幕文本作为所对应音频流时间轴区间的字幕。

8.一种字幕生成装置,其特征在于,所述装置包括获取单元、识别单元、第一确定单元、第二确定单元和生成单元:所述获取单元,用于获取来自同一个音频流、且根据静音片段切分的多个语音片段;

所述识别单元,用于对所述多个语音片段进行语音识别,得到所述多个语音片段分别对应的文本,所述多个语音片段分别对应的文本中包括根据文本语义添加的分隔符;

所述第一确定单元,用于在根据所述多个语音片段中目标语音片段所对应文本确定字幕时,确定待处理文本组,所述待处理文本组至少包括所述目标语音片段的文本;

所述第二确定单元,用于根据所述待处理文本组中的分隔符从所述待处理文本组中确定字幕文本;

所述生成单元,用于将所述字幕文本作为所对应音频流时间轴区间的字幕。

9.根据权利要求8所述的装置,其特征在于,所述装置还包括第三确定单元:所述第三确定单元,用于确定所述多个语音片段之间静音片段的时间长度;

所述第一确定单元,具体用于根据音频流时间轴的顺序,从所述目标语音片段开始依次确定静音片段的时间长度是否大于预设时长;

若确定出目标静音片段的时间长度大于预设时长,将处于所述目标静音片段与所述目标语音片段之间的语音片段所对应文本加入所述待处理文本组。

10.根据权利要求8或9所述的装置,其特征在于,所述装置还包括第一判断单元和第四确定单元:所述第一判断单元,用于判断所述待处理文本组的字符数量是否大于预设数量,所述预设数量是根据显示字幕长度确定的;

若所述第一判断单元判断所述待处理文本组的字符数量大于预设数量,触发所述第二确定单元执行所述根据所述待处理文本组中的分隔符从所述待处理文本组中确定字幕文本的步骤;

所述第四确定单元,用于若所述第一判断单元判断所述待处理文本组的字符数量不大于预设数量,将所述待处理文本组确定为所述字幕文本。

11.根据权利要求8或9所述的装置,其特征在于,所述第二确定单元,具体用于:将所述待处理文本组中从第一个字符到最后一个分隔符之间的部分确定为字幕文本;

或者,

将所述待处理文本组中从第一个字符到所述待处理文本组前预设数量字符中最后一个分隔符之间的部分确定为字幕文本,所述预设数量是根据显示字幕长度确定的。

12.根据权利要求10所述的装置,其特征在于,若所述第一判断单元判断所述待处理文本组的字符数量大于所述预设数量,且所述待处理文本组中不包括分隔符,所述装置还包括第二判断单元和第五确定单元:所述第二判断单元,用于判断所述待处理文本组的字符数量是否大于最大数量,所述最大数量为显示字幕最长长度所对应的字符数量;

所述第五确定单元,用于若所述第二判断单元判断所述待处理文本组的字符数量大于最大数量,将所述待处理文本组前所述最大数量的字符确定为所述字幕文本;

若所述第二判断单元判断所述待处理文本组的字符数量不大于最大数量,触发所述第四确定单元执行将所述待处理文本组确定为所述字幕文本的步骤。

13.根据权利要求8所述的装置,其特征在于,所述装置还包括第六确定单元、第七确定单元、第八确定单元和第九确定单元:所述第六确定单元,用于确定所述字幕文本中第一个字符在所对应语音片段中的相对开始时刻;

所述第七确定单元,用于根据所述相对开始时刻与所述第一个字符所对应语音片段在音频流时间轴上的时间偏移,确定出所述字幕文本所对应音频流时间轴区间的开始时刻;

所述第八确定单元,用于确定所述字幕文本中最后一个字符在所对应语音片段中的相对结束时刻;

所述第九确定单元,用于根据所述相对结束时刻与所述最后一个字符所对应语音片段在音频流时间轴上的时间偏移,确定出所述字幕文本所对应音频流时间轴区间的结束时刻。

14.一种用于字幕生成的设备,其特征在于,所述设备包括处理器以及存储器:所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;

所述处理器用于根据所述程序代码中的指令执行权利要求1-7任一项所述的字幕生成方法。

15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-7中任一项所述的字幕生成方法。

说明书 :

一种字幕生成方法和装置

技术领域

[0001] 本申请涉及音频处理领域,特别是涉及一种字幕生成方法和装置。

背景技术

[0002] 用户在收看一些音视频例如网络直播、电影时,可以通过音视频展示画面上显示的字幕理解音视频内容。
[0003] 在传统的音视频字幕生成方式中,主要根据静音片段来处理音频流,以便生成字幕。静音片段可以是音视频的音频流中没有语音的片段,根据静音片段将音频流切分为多个语音片段,其中,可以将任一个语音片段中语音对应的文本生成这一语音片段的字幕。
[0004] 然而,由于传统方式只是根据静音片段这种单一的音频信号特征来切分音频流,难以区分人物表达中一句话内的表达停顿和句子间的表达停顿,从而经常会切分出不当的语音片段,从而以此生成的字幕将包括不完整的句子,难以帮助用户理解音视频内容,甚至还会误导用户,造成不良体验。

发明内容

[0005] 为了解决上述技术问题,本申请提供了一种字幕生成方法和装置,通过分隔符确定出的字幕文本中出现不完整句子的可能性大大降低,将该字幕文本作为所对应音频流时间轴区间的字幕进行展示时,能够帮助收看音视频的用户理解音视频内容,提高了用户体验。
[0006] 本申请实施例公开了如下技术方案:
[0007] 第一方面,本申请实施例提供一种字幕生成方法,所述方法包括
[0008] 获取来自同一个音频流、且根据静音片段切分的多个语音片段;
[0009] 对所述多个语音片段进行语音识别,得到所述多个语音片段分别对应的文本,所述多个语音片段分别对应的文本中包括根据文本语义添加的分隔符;
[0010] 在根据所述多个语音片段中目标语音片段所对应文本确定字幕时,确定待处理文本组,所述待处理文本组至少包括所述目标语音片段对应的文本;
[0011] 根据所述待处理文本组中的分隔符从所述待处理文本组中确定字幕文本;
[0012] 将所述字幕文本作为所对应音频流时间轴区间的字幕。
[0013] 第二方面,本申请实施例提供一种字幕生成装置,所述装置包括获取单元、识别单元、第一确定单元、第二确定单元和生成单元:
[0014] 所述获取单元,用于获取来自同一个音频流、且根据静音片段切分的多个语音片段;
[0015] 所述识别单元,用于对所述多个语音片段进行语音识别,得到所述多个语音片段分别对应的文本,所述多个语音片段分别对应的文本中包括根据文本语义添加的分隔符;
[0016] 所述第一确定单元,用于在根据所述多个语音片段中目标语音片段所对应文本确定字幕时,确定待处理文本组,所述待处理文本组至少包括所述目标语音片段的文本;
[0017] 所述第二确定单元,用于根据所述待处理文本组中的分隔符从所述待处理文本组中确定字幕文本;
[0018] 所述生成单元,用于将所述字幕文本作为所对应音频流时间轴区间的字幕。
[0019] 第三方面,本申请实施例提供一种用于字幕生成的设备,所述设备包括处理器以及存储器:
[0020] 所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
[0021] 所述处理器用于根据所述程序代码中的指令执行第一方面任一项所述的字幕生成方法。
[0022] 第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面中任一项所述的字幕生成方法。
[0023] 由上述技术方案可以看出,针对来自同一个音频流、且根据静音片段切分的多个语音片段生成字幕的过程中,对多个语音片段进行语音识别,得到所述多个语音片段分别对应的文本,多个语音片段分别对应的文本中包括根据文本语义添加的分隔符。在根据其中目标语音片段所对应文本确定字幕时,确定用于生成字幕的待处理文本组,该待处理文本组中至少包括了该目标语音片段对应的文本。在确定出待处理文本组后,可以根据该待处理文本组中的分隔符作为从待处理文本组中确定字幕文本的依据,由于待处理文本组中的分隔符是在识别语音片段中文字时基于语义所添加的,分隔符间的文本部分属于完整的句子,能够体现合理的语义,故通过分隔符确定的字幕文本中出现不完整句子的可能性大大降低,将该字幕文本作为所对应音频流时间轴区间的字幕进行展示时,能够帮助收看音视频的用户理解音视频内容,提高了用户体验。

附图说明

[0024] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0025] 图1为本申请实施例提供的字幕生成方法的应用场景示意图;
[0026] 图2为本申请实施例提供的音频流、静音片段和语音片段之间的关系示意图;
[0027] 图3为本申请实施例提供的一种字幕生成方法的流程图;
[0028] 图4为本申请实施例提供的一种确定待处理文本组的方法流程图;
[0029] 图5为本申请实施例提供的一种根据字幕文本生成所对应音频流时间轴区间的字幕方法流程图;
[0030] 图6为本申请实施例提供的确定字幕文本所对应音频流时间轴区间的示例图;
[0031] 图7为本申请实施例提供的一种字幕生成方法的流程图;
[0032] 图8为本申请实施例提供的一种字幕生成的结构流程图;
[0033] 图9a为本申请实施例提供的一种字幕生成装置的结构图;
[0034] 图9b为本申请实施例提供的一种字幕生成装置的结构图;
[0035] 图9c为本申请实施例提供的一种字幕生成装置的结构图;
[0036] 图9d为本申请实施例提供的一种字幕生成装置的结构图;
[0037] 图9e为本申请实施例提供的一种字幕生成装置的结构图;
[0038] 图10为本申请实施例提供的一种用于字幕生成的设备结构图;
[0039] 图11为本申请实施例提供的一种用于字幕生成的设备结构图。

具体实施方式

[0040] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0041] 在传统的字幕生成方法中,主要根据静音片段来处理音频流,以便生成字幕。静音片段可以在一定程度上体现出用户在表达时句子间的停顿,但是不同的用户有不同的表达习惯,有些用户可能在一句话中存在表达停顿。例如在“在这个晴朗的日子里,两个小朋友在玩捉迷藏”这句话中,其中,空格表示“在这个晴朗的日子里”中的表达停顿,由于用户的表达习惯或用户在表达一句话时需要思考等,使得这句话中“在这个晴”和“朗的日子里”之间出现了表达停顿。
[0042] 如果通过静音片段进行切分,那么,可能会把“在这个晴”所在的音频流切分成一个语音片段,把“朗的日子里,两个小朋友在玩捉迷藏”所在的音频流切分成一个语音片段,一个语音片段对应一条字幕,这样,就会把“在这个晴”作为一条字幕,把“朗的日子里,两个小朋友在玩捉迷藏”作为另一条字幕,生成的字幕将包括不完整的句子。当显示字幕时,用户首先看到的字幕是“在这个晴”,然后,才看到字幕“朗的日子里,两个小朋友在玩捉迷藏”,故,可能会影响用户的理解,造成不良体验。
[0043] 为此,本申请实施例提供了一种字幕生成方法,该方法在根据静音片段将音频流切分成多个语音片段的基础上,采用了一种新的字幕生成方法,该方法以分隔符作为确定字幕文本的依据,由于分隔符是在识别语音片段中文字时基于语义所添加的,分隔符间的文本部分属于完整的句子,能够体现合理的语义,故,通过分隔符从待处理文本组中确定字幕文本,可以大大降低字幕文本中出现不完整句子的可能性,显示出的字幕能够帮助收看音视频的用户理解音视频内容,提高了用户体验。
[0044] 可以理解的是,本申请实施例提供的字幕生成方法与传统的字幕生成方法相比,降低了字幕文本中出现不完整句子的可能性,不需要后期人工校对,因此,本申请实施例提供的字幕生成方法可以应用于视频直播中、视频聊天、游戏等需要实时场景中,当然,本申请实施例所提供的字幕生成方法也可以应用于非直播场景中,例如,可以针对录制好的音视频文件生成字幕。
[0045] 本申请实施例提供的字幕生成方法可以应用于具有字幕生成能力的音视频处理设备上,该音视频处理设备可以是终端设备,也可以是服务器。其中,终端设备例如可以是智能终端、计算机、个人数字助理(Personal Digital Assistant,简称PDA)、平板电脑等。
[0046] 若该音视频处理设备是服务器,则服务器可以为独立服务器,也可以为集群服务器。当服务器利用该字幕生成方法得到字幕文本时,将该字幕文本作为所对应音频流时间轴区间的字幕在用户对应的终端设备上进行展示,从而实现在视频直播过程中实时显示字幕。
[0047] 为了便于理解本申请的技术方案,下面结合实际应用场景对本申请实施例提供的字幕生成方法进行介绍。
[0048] 参见图1,图1为本申请实施例提供的字幕生成方法的应用场景示意图。该应用场景以该字幕生成方法应用于服务器(音视频处理设备为服务器)为例进行介绍。该应用场景中包括服务器101,服务器101可以获取来自同一个音频流、且根据静音片段切分的多个语音片段,例如,图1中的语音片段1、语音片段2、语音片段3等,这些语音片段是来自于同一个音频流的、且按照语音片段的生成时间顺序获取的。
[0049] 其中,音频流包括了待处理对象中人物所发出的语音,待处理对象可以是基于直播场景生成的音视频,也可以是确定好的音视频文件,例如录制、下载好的音视频文件,待处理对象中包括音频流;人物所发出的语音可以是指直播场景中直播者说话,也可以是播放的包括语音的音频文件,例如录音、播放歌曲等。
[0050] 语音片段可以是指音频流中包括语音信息的部分;而静音片段可以是指音频流中没有语音信息的部分,可以体现用户在表达时出现的一句话内的表达停顿或句子间的表达停顿。
[0051] 音频流、静音片段和语音片段之间的关系可以如图2所示,从图2中可以看出,针对时间轴上0-t1时刻对应的音频流,在获取该音频流的过程中,根据获取到的静音片段,可以将该音频流切分成多个语音片段,例如,图2中语音片段1、语音片段2、语音片段3和语音片段4。
[0052] 需要说明的是,语音片段可以是由服务器在获取音频流时根据静音片段切分的,也可以是服务器直接获取已经切分好的语音片段。
[0053] 服务器101对获取的多个语音片段进行语音识别,得到多个语音片段分别对应的文本,多个语音片段分别对应的文本中包括根据文本语义添加的分隔符。
[0054] 由于分隔符是在识别语音片段中文字时基于语义所添加的,因此,分隔符间的文本部分属于完整的句子,能够体现合理的语义,故后续通过分隔符确定的字幕文本中出现不完整句子的可能性大大降低。
[0055] 分隔符可以包括标点符号和特殊符号,其中,标点符号可以包括句号、逗号、叹号、问号等等;特殊符号可以包括空格符、下划线、竖线、斜线等等。
[0056] 在服务器101根据多个语音片段中某个语音片段例如目标语音片段所对应文本确定字幕时(图1以语音片段2作为目标语音片段),可以确定待处理文本组,所述待处理文本组至少包括目标语音片段对应的文本。
[0057] 需要说明的是,本申请实施例针对每个语音片段都是基于分隔符来确定字幕文本的,当根据目标语音片段所对应文本确定字幕时,由于目标语音片段不一定是音频流中第一个被处理的语音片段,那么,在上一次基于分隔符确定字幕文本时,目标语音片段对应的部分文本可能已经被用于确定字幕文本,从而使得目标语音片段所对应文本可能并不是目标语音片段对应的全部文本,而是上一次生成字幕后目标语音片段对应的剩余部分文本。
[0058] 以“在这个晴朗的日子里,两个小朋友在玩捉迷藏”为例,切分的语音片段分别对应的文本可以为“在这个晴”和“朗的日子里,两个小朋友在玩捉迷藏”,其中,“,”为分隔符,在基于分隔符“,”确定字幕文本时,会将语音片段所对应文本“朗的日子里,两个小朋友在玩捉迷藏”中的文本“朗的日子里”与语音片段所对应文本“在这个晴”一起生成字幕文本,因此,当语音片段“朗的日子里,两个小朋友在玩捉迷藏”作为目标语音片段时,目标语音片段所对应文本为“两个小朋友在玩捉迷藏”,是目标语音片段对应的部分文本。
[0059] 当然,目标语音片段所对应文本也可以是目标语音片段对应的全部文本,本申请实施例对此不做限定。
[0060] 例如,目标语音片段是针对该音频流首次进行处理的语音片段,或,在上一次依据分隔符确定字幕文本时,该目标语音片段对应的文本没有被用于生成字幕文本,则目标语音片段所对应文本为目标语音片段对应的全部文本。
[0061] 需要说明的是,待处理文本组可以仅包括该目标语音片段对应的文本,也可以包括目标语音片段对应的文本在内的多个语音片段分别对应的文本。当待处理文本组包括多个语音片段分别对应的文本时,待处理文本组可以是由目标语音片段对应的文本和该目标语音片段之后的一个或多个语音片段对应的文本拼接而成的,具体如何确定待处理文本组将在后续进行介绍。之后都是基于待处理文本组,通过分隔符确定字幕文本,进而生成所对应音频流时间轴区间的字幕的。
[0062] 在本实施例中,字幕文本可以是基于语音片段中的语种识别出来的,但是字幕不限于语音片段中的语种,字幕的语种可以是基于用户需求确定出来的,可以是语音片段中的语种,也可以是其他语种,还可以包括多种语种。例如,字幕文本是英文,那么,展示的字幕可以是英文字幕,也可以是中文字幕,当然也可以是中英字幕等。
[0063] 接下来,将结合附图对本申请实施例提供的字幕生成方法进行介绍。
[0064] 参见图3,图3示出了一种字幕生成方法的流程图,所述方法包括:
[0065] S301、获取来自同一个音频流、且根据静音片段切分的多个语音片段。
[0066] 根据静音片段切分的得到的语音片段可能包括很多,这些语音片段可能属于不同的音频流,在本实施例中,获取的语音片段是来自同一音频流的语音片段,且按照语音片段的生成时间顺序依次获取。
[0067] S302、对所述多个语音片段进行语音识别,得到所述多个语音片段分别对应的文本。
[0068] 在通过语音识别得到多个语音片段分别对应的文本时,可以基于文本语义添加为多个语音片段分别对应的文本添加分隔符,以便后续通过分隔符确定字幕文本。
[0069] S303、在根据所述多个语音片段中目标语音片段所对应文本确定字幕时,确定待处理文本组。
[0070] 针对同一音频流的语音片段,需要按照语音片段的生成时间顺序对语音片段所对应的文本进行处理,当前确定字幕所依据的语音片段所对应的文本即目标语音片段所对应的文本,确定出的待处理文本组至少包括目标语音片段的文本。
[0071] 语音片段的切分可能是根据句子间的表达停顿,也可能是根据一句话内的表达停顿,为了降低由于一句话中的表达停顿而导致待处理文本组包括不完整的句子的可能性,本实施例提供了一种确定待处理文本组的方法。
[0072] 参见图4,该方法包括:
[0073] S401、确定所述多个语音片段之间静音片段的时间长度。
[0074] 静音片段的时间长度可以在一定程度上可以体现该静音片段是句子间的表达停顿,还是一句话中的表达停顿。一般情况下,一句话中的表达停顿所生成的静音片段的时间长度比较小,而句子间的表达停顿所生成的静音片段的时间长度比较大,因此,根据确定出的静音片段的时间长度可以知晓哪些语音片段有可能与目标语音片段拼接起来形成待处
理文本组。
[0075] 静音片段的时间长度的确定方式可以是:在获取语音片段时,针对当前语音片段,记录语音片段的结束时间戳Tsil_begin和下一个语音片段的开始时间戳Tsil_end,依次计算当前语音片段后静音片段的时间长度Tsil,即Tsil=Tsil_end-Tsil_begin。
[0076] S402、根据音频流时间轴的顺序,从所述目标语音片段开始依次确定静音片段的时间长度是否大于预设时长。
[0077] 其中,预设时长是根据通常情况下,用户在表达时句子间的表达停顿的时长确定的,根据预设时长可以确定出静音片段可能是句子间的表达停顿,还是一句话中的表达停顿。
[0078] 参见图2,根据音频流时间轴的顺序,依次是语音片段1、静音片段A、语音片段2、静音片段B、语音片段3、静音片段C、语音片段4,其中,静音片段A的时间长度为Tsil-1、静音片段B的时间长度为Tsil-2、静音片段C的时间长度为Tsil-3,若语音片段1为目标语音片段,则需要从静音片段A开始依次确定静音片段的时间长度是否大于预设时长,若不大于,可以认为该静音片段可能是一句话中的表达停顿,则继续确定静音片段B的时间长度是否大于预设时长,依次类推,直到确定出某个静音片段的时间长度大于预设时长为止,此时,可以认为该静音片段可能是句子间的表达停顿,即该静音片段的前后两个语音片段所对应的文本可能是处于两个不同的句子中。
[0079] S403、若确定出目标静音片段的时间长度大于预设时长,将处于所述目标静音片段与所述目标语音片段之间的语音片段所对应文本加入所述待处理文本组。
[0080] 在依次确定静音片段的时间长度是否大于预设时长过程中,目标静音片段之前的静音片段的时间长度均小于预设时长,则目标静音片段与目标语音片段之间的语音片段对应的文本可能处于同一个句子,故这些语音片段对应的文本可以进行拼接。一旦确定出某个静音片段(例如目标静音片段)的时间长度大于预设时长,则可以停止执行确定静音片段的时间长度是否大于预设时长的步骤,为了降低由于一句话中的表达停顿导致待处理文本组包括不完整的句子的可能性,可以将处于目标静音片段与目标语音片段之间的语音片段所对应文本进行拼接形成待处理文本组。
[0081] 参见图2,若依次确定出Tsil-1小于预设时长,Tsil-2小于预设时长,而Tsil-3大于预设时长,那么,可以认为静音片段A和静音片段B可能为一句话中的表达停顿、静音片段C可能为句子间的表达停顿,可以将静音片段C作为目标静音片段,语音片段1、语音片段2和语音片段3所对应文本可以拼接成待处理文本组。
[0082] 该方法通过静音片段的时间长度,来依次确定目标语音片段之后的静音片段是否体现了一句话中的表达停顿,从而将通过一句话中的表达停顿切分出来的语音片段对应的文本拼接起来构成待处理文本组,降低了由于一句话中的表达停顿导致待处理文本组包括不完整的句子的可能性。
[0083] S304、根据所述待处理文本组中的分隔符从所述待处理文本组中确定字幕文本。
[0084] 由于待处理文本组中的分隔符是在识别语音片段中文字时基于语义所添加的,分隔符间的文本部分属于完整的句子,能够体现合理的语义,故通过分隔符确定出的字幕文本中出现不完整句子的可能性大大降低。
[0085] 例如,语音片段1对应的文本为“在这个晴”,语音片段2对应的文本为“朗的日子里,两个小朋友在玩捉迷藏”,当将语音片段1作为目标语音片段时,通过S303确定出待处理文本组为“在这个晴朗的日子里,两个小朋友在玩捉迷藏”,其中“,”为分隔符,那么,根据该待处理文本组中的分隔符可以确定“在这个晴朗的日子里”为字幕文本;当继续处理时,语音片段2对应的文本中“朗的日子里”被用于上一次处理过程生成字幕文本,但是语音片段2对应的文本中还剩余文本“两个小朋友在玩捉迷藏”,则当根据语音片段2(目标语音片段)所对应文本确定字幕时,目标语音片段所对应文本为语音片段2对应的部分文本“两个小朋友在玩捉迷藏”,而非“朗的日子里,两个小朋友在玩捉迷藏”,这时,针对目标语音片段所对应文本“两个小朋友在玩捉迷藏”继续执行S303-S305。
[0086] 与传统的方式相比,传统方式中语音片段1所对应文本“在这个晴”,语音片段2所对应文本“朗的日子里,两个小朋友在玩捉迷藏”分别对应一条字幕文本,该这两个字幕文本包括了不完整的句子,而通过本申请实施例的方法,确定出的字幕文本中,可以保证“在这个晴朗的日子里”和“两个小朋友在玩捉迷藏”是完整的句子,从而降低了字幕文本中出现不完整句子的可能性。
[0087] S305、将所述字幕文本作为所对应音频流时间轴区间的字幕。
[0088] 将该字幕文本作为所对应音频流时间轴区间的字幕进行展示时,能够帮助收看音视频的用户理解音视频内容,提高了用户体验。
[0089] 由上述技术方案可以看出,针对来自同一个音频流、且根据静音片段切分的多个语音片段生成字幕的过程中,对多个语音片段进行语音识别,得到所述多个语音片段分别对应的文本,多个语音片段分别对应的文本中包括根据文本语义添加的分隔符。在根据其中目标语音片段所对应文本确定字幕时,确定用于生成字幕的待处理文本组,该待处理文本组中至少包括了该目标语音片段对应的文本。在确定出待处理文本组后,可以根据该待处理文本组中的分隔符作为从待处理文本组中确定字幕文本的依据,由于待处理文本组中的分隔符是在识别语音片段中文字时基于语义所添加的,分隔符间的文本部分属于完整的句子,能够体现合理的语义,故通过分隔符确定的字幕文本中出现不完整句子的可能性大大降低,将该字幕文本作为所对应音频流时间轴区间的字幕进行展示时,能够帮助收看音视频的用户理解音视频内容,提高了用户体验。
[0090] 上述实施例介绍了字幕生成方法,在生成字幕过程中,需要根据分隔符从待处理文本组中确定字幕文本,由于待处理文本组以及待处理文本组中的分隔符可能有不同的情况,例如,在确定字幕文本时可能还需要考虑显示字幕长度以及根据哪个分隔符确定字幕文本是恰当的,在不同情况下确定字幕文本的方式可以有所不同。在本实施例中,在不同情况下可以参考以下公式确定字幕文本:
[0091]
[0092] 其中,Ltext可以表示确定出的字幕文本长度,Lsil可以表示待处理文本组的文本长度;Lseg可以表示预设数量,是根据显示字幕长度确定的;Lpunc可以为待处理文本组中从第一个字符到所述待处理文本组前预设数量字符中最后一个分隔符之间的文本长度,或为第一个字符到最后一个分隔符之间的文本长度;L max可以为最大数量,即为显示字幕最长长度所对应的字符数量。
[0093] 基于上述公式,可以在不同情况下确定出恰当的字幕文本。接下来,将对不同情况下,从待处理文本组中确定字幕文本的方式一一进行介绍。
[0094] 第一种情况可以是,待处理文本组的文本长度小于预设数量,即Lsil<Lseg,此时,可以用公式Ltext=Lsil确定字幕文本。
[0095] 具体的,在一般情况下,显示字幕长度受到字幕的字体大小、显示屏大小、用户体验等影响,显示的字幕需要具有一个合理的长度,即显示字幕长度。显示字幕长度可以用显示字幕中字符数量来表示。这样,在得到待处理文本组后,可以判断所述待处理文本组的字符数量是否大于预设数量,即判断Lsil是否大于Lseg,所述预设数量是根据显示字幕长度确定的,所述预设数量即符合显示字幕长度时显示字幕中字符数量;若否,可以认为待处理文本组符合显示字幕长度要求,可以直接将所述待处理文本组确定为所述字幕文本,即Ltext=Lsil。
[0096] 第二种情况可以是,待处理文本组的文本长度大于预设数量且存在分隔符,即Lsil>Lseg&Lpunc>0,此时,可以用公式Ltext=Lpunc确定字幕文本。
[0097] 若判断出待处理文本组的字符数量大于预设数量,即Lsil>Lseg,可以认为待处理文本组的字符数量过多,需要对待处理文本组进行截取,从而从待处理文本组中得到符合显示字幕长度要求的字幕文本,若确定出待处理文本组中存在分隔符,即Lpunc>0,则可以执行S304,进而确定出字幕文本,即Ltext=Lpunc。
[0098] 需要说明的是,根据分隔符确定字幕文本的方式在图3对应的实施例中(S304中)已经进行了简单介绍,接下来,将介绍如何根据分隔符从待处理文本组中确定字幕文本,也就是如何确定Lpunc。
[0099] 需要说明的是,根据分隔符从待处理文本组中确定字幕文本包括两种确定方式,其中,第一种确定方式可以是:将所述待处理文本组中从第一个字符到最后一个分隔符之间的部分确定为字幕文本,即Lpunc为待处理文本组中从第一个字符到最后一个分隔符之间的文本长度。
[0100] 例如,待处理文本组为“在晴朗的日子里,两个小朋友在玩捉迷藏,他们玩得很开心。但是”,根据第一种确定方式,待处理文本组中第一个字符为“在”,最后一个分隔符为“。”,那么,“在”和“。”之间的部分可以作为字幕文本,即字幕文本为“在晴朗的日子里,两个小朋友在玩捉迷藏,他们玩得很开心。”。
[0101] 然而,在一些情况下,为了进一步保证根据分隔符从待处理文本组中确定出的字幕文本符合显示字幕长度要求,在根据分隔符从待处理文本组中确定字幕文本的同时,还可以将显示字幕长度考虑进来,即第二种确定方式可以是:将所述待处理文本组中从第一个字符到所述待处理文本组前预设数量字符中最后一个分隔符之间的部分确定为字幕文本,所述预设数量是根据显示字幕长度确定的,即Lpunc为待处理文本组中从第一个字符到待处理文本组前预设数量字符中最后一个分隔符之间的文本长度。
[0102] 例如,待处理文本组为“在晴朗的日子里,两个小朋友在玩捉迷藏,他们玩得很开心。但是”、预设数量为25,根据第二种确定方式,待处理文本组中第一个字符为“在”,第25个字符为“开”,第一个字符“在”到待处理文本组前25个字符中最后一个分隔符为第二个“,”,那么,“在”和第二个“,”之间的部分可以作为字幕文本,即字幕文本为“在晴朗的日子里,两个小朋友在玩捉迷藏,”。可见,第二种确定方式确定出的字幕文本包括19个字符,符合显示字幕长度要求,用户体验更好。
[0103] 第三种情况可以是,待处理文本组的文本长度大于预设数量且不存在分隔符,即Lsil>Lseg&Lpunc=0,此时,可以用公式Ltext=min(Lsil,Lmax)确定字幕文本。
[0104] 需要说明的是,S304中根据待处理文本组中的分隔符从待处理文本组中确定字幕文本的前提是待处理文本组中包括分隔符,然而,在一些情况下,待处理文本组中可能不包括分隔符,例如待处理文本组可以为“那个穿着红色衣服的小朋友的家庭住址为北京市海淀区中关村南大街5号院3单元2号楼301室”。接下来,将对待处理文本组的字符数量是否大于预设数量,且待处理文本组中不包括分隔符时,从待处理文本组中确定字幕文本的方式进行介绍。
[0105] 显示字幕长度是显示字幕时比较合理的字幕长度,字幕长度还受到显示字幕最长长度的限制,因此,除了利用显示字幕长度来确定字幕文本,还可以根据显示字幕最长长度来确定字幕文本。待处理文本组的字符数量大于预设数量,只能说明待处理文本组的字符数量超出了一般情况下显示字幕长度,但是并不表示不可以接受,即并不表示待处理文本组一定不能作为字幕文本,只要待处理文本组的字符数量没有超出显示字幕最长长度所对应的字符数量。
[0106] 具体的,在确定出待处理文本组的字符数量是否大于预设数量,且待处理文本组中不包括分隔符时,还可以进一步判断所述待处理文本组的字符数量是否大于最大数量,即判断Lsil是否大于L max,所述最大数量L max为显示字幕最长长度所对应的字符数量;若是,则说明待处理文本组的字符数量已经超出了所能接受的显示字幕最长长度,需要从待处理文本组中截出一部分字符作为字幕文本,例如可以将所述待处理文本组前最大数量的字符确定为字幕文本;若否,则说明待处理文本组的字符数量在所能接受的显示字幕最长长度内,可以直接将待处理文本组确定为字幕文本,从而实现从待处理文本组中确定出文本长度比较小的文本作为字幕文本,即Ltext=min(Lsil,Lmax)。
[0107] 例如,待处理文本组为“那个穿着红色衣服的小朋友的家庭住址为北京市海淀区中关村南大街5号院3单元2号楼301室”,最大数量为30,此时,待处理文本组的字符数量为43,那么,待处理文本组的字符数量43大于最大数量30,则可以将待处理文本组前30的字符确定为字幕文本,即字幕文本为“那个穿着红色衣服的小朋友的家庭住址为北京市海淀区中关村南大街”。
[0108] 又如,待处理文本组可以为“那个小朋友的家庭住址为北京市海淀区中关村南大街5号院”,最大数量为30,此时,待处理文本组的字符数量为26,那么,待处理文本组的字符数量26小于最大数量30,则可以将待处理文本组确定为字幕文本,即字幕文本为“那个小朋友的家庭住址为北京市海淀区中关村南大街5号院”。
[0109] 确定出字幕文本的目的是为对应的音频流生成字幕,接下来,将对如何根据字幕文本生成所对应音频流时间轴区间的字幕进行介绍。
[0110] 需要说明的是,传统的根据字幕生成方法中,仅依靠静音片段切分确定字幕文本,进而根据字幕文本生成对应音频流时间轴区间的字幕,因此,只需要在切分时记录语音片段的时间偏移即可。而在本申请实施例中,由于根据分隔符从待处理文本组中确定出字幕文本时,可能还会根据分隔符进行重新划分,仅依靠语音片段的时间偏移难以保证确定出的字幕文本在时间轴上对应时刻的准确性。因此,本实施例提供一种根据字幕文本生成所对应音频流时间轴区间的字幕方法,参见图5,该方法包括:
[0111] S501、确定所述字幕文本中第一个字符在所对应语音片段中的相对开始时刻。
[0112] S502、根据所述相对开始时刻与所述第一个字符所对应语音片段在音频流时间轴上的时间偏移,确定出所述字幕文本所对应音频流时间轴区间的开始时刻。
[0113] S503、确定所述字幕文本中最后一个字符在所对应语音片段中的相对结束时刻。
[0114] S504、根据所述相对结束时刻与所述最后一个字符所对应语音片段在音频流时间轴上的时间偏移,确定出所述字幕文本所对应音频流时间轴区间的结束时刻。
[0115] 这样,根据字幕文本所对应音频流时间轴区间的开始时刻和结束时刻,就可以根据字幕文本生成所对应音频流时间轴区间的字幕。
[0116] 可以理解的是,在根据分隔符重新划分字幕文本时,通过语音识别引擎可以确定每个字符在字幕文本中的相对开始时刻和相对结束时刻。其中,每个字符的相对开始时刻和相对结束时刻的表达格式可以如下所示:
[0117]
[0118] 例如,针对字幕文本中Word_1可以确定出其相对开始时刻start为500ms和相对结束时刻end为750ms等等。
[0119] 参见图6,若确定出的字幕文本如图中A、B之间所示,其中,A所在的位置为字幕文本中第一个字符所对应的位置,B所在的位置为字幕文本中最后一个字符所对应的位置,字幕文本所对应音频流时间轴区间的开始时刻为A位置所对应的时刻,字幕文本所对应音频流时间轴区间的结束时刻为B位置所对应的时刻。
[0120] 从图6中可以看出,第一个字符在所对应语音片段中的相对开始时刻为t1,第一个字符所对应的语音片段为语音片段2,其在音频流时间轴上的时间偏移为t2,这样,根据相对开始时刻t1和语音片段2在音频流时间轴上的时间偏移t2,可以确定出字幕文本所对应音频流时间轴区间的开始时刻为t1+t2;最后一个字符在所对应语音片段中的相对结束时刻为t3,最后一个字符所对应的语音片段为语音片段3,其在音频流时间轴上的时间偏移为t4,这样,根据相对结束时刻t3和语音片段3在音频流时间轴上的时间偏移t4,可以确定出字幕文本所对应音频流时间轴区间的结束时刻为t3+t4。
[0121] 该方法在基于语音片段的时间偏移基础上,还需要结合字符在所对应语音片段中的相对时刻,从而保证确定出的字幕文本在时间轴上对应时刻的准确性。
[0122] 可以理解的是,在很多情况下,音视频中语音片段的语种并不是用户日常使用的语种,此时,为了帮助收看音视频的用户理解音视频内容,作为字幕的字幕文本应该利用用户日常使用的语种来表示。因此,在本实施例中,还可以根据字幕展示语种对S304中确定的字幕文本进行翻译,得到翻译后的字幕文本,并将翻译后的字幕文本作为所对应音频流时间轴区间的字幕。
[0123] 其中,字幕展示语种可以包括中文、中英双语、英语等,字幕展示语种可以是用户根据自身需求设置的,例如,音视频中语音片段的语种是英语、用户是中国人,那么,字幕展示语种可以是中文,这样,便可将语种为英文的字幕文本翻译成语种为中文的字幕文本,语种为中文的字幕文本作为翻译后的字幕文本,从而将语种为中文的字幕文本作为所对应音频流时间轴区间的字幕,便于用户理解音视频内容。
[0124] 接下来,将结合具体场景对本申请实施例提供的字幕生成方法进行介绍,该场景为针对演讲者的视频直播场景,假设演讲者使用英语进行演讲,那么,为了帮助观看视频直播的观众理解演讲者的演讲内容,需要针对演讲者的讲话实时生成字幕,此时,为了便于观众学习和理解,生成的字幕可以是中英双语字幕。在该场景中,参见图7,字幕生成方法包括:
[0125] S701、获取来自同一个音频流、且根据静音片段切分的多个语音片段。S702、确定所述多个语音片段之间静音片段的时间长度。
[0126] S703、对多个语音片段进行语音识别,得到多个语音片段分别对应的文本。
[0127] S704、在根据所述多个语音片段中目标语音片段所对应文本确定字幕时,根据音频流时间轴的顺序,从所述目标语音片段开始依次确定静音片段的时间长度是否大于预设时长,若是,则执行S705,若否,则执行S704。
[0128] S705、将处于所述目标静音片段与所述目标语音片段之间的语音片段所对应文本加入所述待处理文本组。
[0129] S706、判断所述待处理文本组的字符数量是否大于预设数量,若是,则执行S707,若否,则执行S711。
[0130] S707、确定所述待处理文本组中是否包括分隔符,若是,则执行S708,若否,则执行S709。
[0131] S708、根据所述待处理文本组中的分隔符从所述待处理文本组中确定字幕文本。
[0132] S709、判断所述待处理文本组的字符数量是否大于最大数量,若是,则执行S710,若否,则执行S711。
[0133] S710、将所述待处理文本组前所述最大数量的字符确定为所述字幕文本。
[0134] S711、将所述待处理文本组确定为所述字幕文本。
[0135] S712、通过机器翻译对所述字幕文本进行翻译。
[0136] S713、将所述字幕文本和翻译后的字幕文本作为所对应音频流时间轴区间的字幕。
[0137] 在该应用场景中,字幕生成的结构流程可以参见图8所示。其中,基于静音片段切分得到语音片段1、……语音片段4等对应于图7中S701;基于静音片段/语义结合重新对语音片段对应的文本进行划分,从而得到字幕文本,对应于图7中S702-S711;通过机器翻译对字幕文本进行翻译,得到翻译后的字幕文本,例如,针对字幕文本1进行机器翻译得到字幕文本1’等,对应于图7中S712;根据音频流时间轴,将音频流时间轴与经过机器翻译后得到的字幕文本与时间轴合并,生成对应的字幕,对应于图7中S713。在得到字幕后,可以推送字幕进行实时播放。
[0138] 由上述技术方案可以看出,针对来自同一个音频流、且根据静音片段切分的多个语音片段生成字幕的过程中,对多个语音片段进行语音识别,得到所述多个语音片段分别对应的文本,多个语音片段分别对应的文本中包括根据文本语义添加的分隔符。在根据其中目标语音片段所对应文本确定字幕时,确定用于生成字幕的待处理文本组,该待处理文本组中至少包括了该目标语音片段对应的文本。在确定出待处理文本组后,可以根据该待处理文本组中的分隔符作为从待处理文本组中确定字幕文本的依据,由于待处理文本组中的分隔符是在识别语音片段中文字时基于语义所添加的,分隔符间的文本部分属于完整的句子,能够体现合理的语义,故通过分隔符确定的字幕文本中出现不完整句子的可能性大大降低,将该字幕文本作为所对应音频流时间轴区间的字幕进行展示时,能够帮助收看音视频的用户理解音视频内容,提高了用户体验。
[0139] 基于前述实施例提供的一种字幕生成方法,本实施例提供一种字幕生成装置900,参见图9a,所述装置900包括获取单元901、识别单元902、第一确定单元903、第二确定单元904和生成单元905:
[0140] 所述获取单元901,用于获取来自同一个音频流、且根据静音片段切分的多个语音片段;
[0141] 所述识别单元902,用于对所述多个语音片段进行语音识别,得到所述多个语音片段分别对应的文本,所述多个语音片段分别对应的文本中包括根据文本语义添加的分隔符;
[0142] 所述第一确定单元903,用于在处理到所述多个语音片段中目标语音片段的文本时,确定出待处理文本组,所述待处理文本组至少包括所述目标语音片段的文本;
[0143] 所述第二确定单元904,用于根据所述待处理文本组中的分隔符从所述待处理文本组中确定出字幕文本;
[0144] 所述生成单元905,用于将所述字幕文本作为所对应音频流时间轴区间的字幕。
[0145] 在一种实现方式中,参见图9b,所述装置900还包括第三确定单元906:
[0146] 所述第三确定单元906,用于确定所述多个语音片段之间静音片段的时间长度;
[0147] 所述第一确定单元903,具体用于根据音频流时间轴的顺序,从所述目标语音片段开始依次确定静音片段的时间长度是否大于预设时长;
[0148] 若确定出目标静音片段的时间长度大于预设时长,将处于所述目标静音片段与所述目标语音片段之间的语音片段所对应文本加入所述待处理文本组。
[0149] 在一种实现方式中,参见图9c,所述装置900还包括第一判断单元907和第四确定单元908:
[0150] 所述第一判断单元907,用于判断所述待处理文本组的字符数量是否大于预设数量,所述预设数量是根据显示字幕长度确定的;
[0151] 若所述第一判断单元907判断所述待处理文本组的字符数量大于预设数量,触发所述第二确定单元904执行所述根据所述待处理文本组中的分隔符从所述待处理文本组中确定出字幕文本的步骤;
[0152] 所述第四确定单元908,用于若所述第一判断单元907判断所述待处理文本组的字符数量不大于预设数量,将所述待处理文本组确定为所述字幕文本。
[0153] 在一种实现方式中,所述第二确定单元904,具体用于:
[0154] 将所述待处理文本组中从第一个字符到最后一个分隔符之间的部分确定为字幕文本;或者,
[0155] 将所述待处理文本组中从第一个字符到所述待处理文本组前预设数量字符中最后一个分隔符之间的部分确定为字幕文本,所述预设数量是根据显示字幕长度确定的。
[0156] 在一种实现方式中,若所述第一判断单元907判断所述待处理文本组的字符数量大于所述预设数量,且所述待处理文本组中不包括分隔符,参见图9d,所述装置900还包括第二判断单元909和第五确定单元910:
[0157] 所述第二判断单元909,用于判断所述待处理文本组的字符数量是否大于最大数量,所述最大数量为显示字幕最长长度所对应的字符数量;
[0158] 所述第五确定单元910,用于若所述第二判断单元909判断所述待处理文本组的字符数量大于最大数量,将所述待处理文本组前所述最大数量的字符确定为所述字幕文本;
[0159] 若所述第二判断单元909判断所述待处理文本组的字符数量不大于最大数量,触发所述第四确定单元908执行将所述待处理文本组确定为所述字幕文本的步骤。
[0160] 在一种实现方式中,参见图9e,所述装置900还包括第六确定单元911、第七确定单元912、第八确定单元913和第九确定单元914:
[0161] 所述第六确定单元911,用于确定所述字幕文本中第一个字符在所对应语音片段中的相对开始时刻;
[0162] 所述第七确定单元912,用于根据所述相对开始时刻与所述第一个字符所对应语音片段在音频流时间轴上的时间偏移,确定出所述字幕文本所对应音频流时间轴区间的开始时刻;
[0163] 所述第八确定单元913,用于确定所述字幕文本中最后一个字符在所对应语音片段中的相对结束时刻;
[0164] 所述第九确定单元914,用于根据所述相对结束时刻与所述最后一个字符所对应语音片段在音频流时间轴上的时间偏移,确定出所述字幕文本所对应音频流时间轴区间的结束时刻。
[0165] 由上述技术方案可以看出,针对来自同一个音频流、且根据静音片段切分的多个语音片段生成字幕的过程中,对多个语音片段进行语音识别,得到所述多个语音片段分别对应的文本,多个语音片段分别对应的文本中包括根据文本语义添加的分隔符。在根据其中目标语音片段所对应文本确定字幕时,确定用于生成字幕的待处理文本组,该待处理文本组中至少包括了该目标语音片段对应的文本。在确定出待处理文本组后,可以根据该待处理文本组中的分隔符作为从待处理文本组中确定字幕文本的依据,由于待处理文本组中的分隔符是在识别语音片段中文字时基于语义所添加的,分隔符间的文本部分属于完整的句子,能够体现合理的语义,故通过分隔符确定的字幕文本中出现不完整句子的可能性大大降低,将该字幕文本作为所对应音频流时间轴区间的字幕进行展示时,能够帮助收看音视频的用户理解音视频内容,提高了用户体验。
[0166] 本申请实施例还提供了一种用于字幕生成的设备,下面结合附图对用于字幕生成的设备进行介绍。请参见图10所示,本申请实施例提供了一种用于字幕生成的设备1000,该设备1000可以是服务器,可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,简称CPU)1022(例如,一个或一个以上处理器)和存储器1032,一个或一个以上存储应用程序1042或数据1044的存储介质1030(例如一个或一个以上海量存储设备)。其中,存储器1032和存储介质1030可以是短暂存储或持久存储。存储在存储介质1030的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1022可以设置为与存储介质1030通信,在用于字幕生成的设备1000上执行存储介质1030中的一系列指令操作。
[0167] 用于字幕生成的设备1000还可以包括一个或一个以上电源1026,一个或一个以上有线或无线网络接口1050,一个或一个以上输入输出接口1058,和/或,一个或一个以上操作系统1041,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
[0168] 上述实施例中由服务器所执行的步骤可以基于该图10所示的服务器结构。
[0169] 其中,CPU 1022用于执行如下步骤:
[0170] 获取来自同一个音频流、且根据静音片段切分的多个语音片段;
[0171] 对所述多个语音片段进行语音识别,得到所述多个语音片段分别对应的文本,所述多个语音片段分别对应的文本中包括根据文本语义添加的分隔符;
[0172] 在根据所述多个语音片段中目标语音片段所对应文本确定字幕时,确定待处理文本组,所述待处理文本组至少包括所述目标语音片段对应的文本;
[0173] 根据所述待处理文本组中的分隔符从所述待处理文本组中确定字幕文本;
[0174] 将所述字幕文本作为所对应音频流时间轴区间的字幕。
[0175] 请参见图11所示,本申请实施例提供了一种用于字幕生成的设备1100,该设备1100还可以是终端设备,该终端设备可以为包括手机、平板电脑、个人数字助理(Personal Digital Assistant,简称PDA)、销售终端(Point of Sales,简称POS)、车载电脑等任意终端设备,以终端设备为手机为例:
[0176] 图11示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图11,手机包括:射频(Radio Frequency,简称RF)电路1110、存储器1120、输入单元1130、显示单元1140、传感器1150、音频电路1160、无线保真(wireless fidelity,简称WiFi)模块1170、处理器1180、以及电源1190等部件。本领域技术人员可以理解,图11中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0177] 下面结合图11对手机的各个构成部件进行具体的介绍:
[0178] RF电路1110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1180处理;另外,将设计上行的数据发送给基站。通常,RF电路1110包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,简称LNA)、双工器等。此外,RF电路1110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统
(Global System of Mobile communication,简称GSM)、通用分组无线服务(General 
Packet Radio Service,简称GPRS)、码分多址(Code Division Multiple Access,简称CDMA)、宽带码分多址(Wideband Code Division Multiple Access,简称WCDMA)、长期演进(Long Term Evolution,简称LTE)、电子邮件、短消息服务(Short Messaging Service,简称SMS)等。
[0179] 存储器1120可用于存储软件程序以及模块,处理器1180通过运行存储在存储器1120的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0180] 输入单元1130可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1130可包括触控面板1131以及其他输入设备1132。触控面板1131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1131上或在触控面板1131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1180,并能接收处理器1180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1131。除了触控面板1131,输入单元1130还可以包括其他输入设备1132。具体地,其他输入设备1132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0181] 显示单元1140可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1140可包括显示面板1141,可选的,可以采用液晶显示器(Liquid 
Crystal Display,简称LCD)、有机发光二极管(Organic Light-Emitting Diode,简称
OLED)等形式来配置显示面板1141。进一步的,触控面板1131可覆盖显示面板1141,当触控面板1131检测到在其上或附近的触摸操作后,传送给处理器1180以确定触摸事件的类型,随后处理器1180根据触摸事件的类型在显示面板1141上提供相应的视觉输出。虽然在图11中,触控面板1131与显示面板1141是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1131与显示面板1141集成而实现手机的输入和输出功能。
[0182] 手机还可包括至少一种传感器1150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1141的亮度,接近传感器可在手机移动到耳边时,关闭显示面板
1141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0183] 音频电路1160、扬声器1161,传声器1162可提供用户与手机之间的音频接口。音频电路1160可将接收到的音频数据转换后的电信号,传输到扬声器1161,由扬声器1161转换为声音信号输出;另一方面,传声器1162将收集的声音信号转换为电信号,由音频电路1160接收后转换为音频数据,再将音频数据输出处理器1180处理后,经RF电路1110以发送给比如另一手机,或者将音频数据输出至存储器1120以便进一步处理。
[0184] WiFi属于短距离无线传输技术,手机通过WiFi模块1170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图11示出了WiFi模块1170,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0185] 处理器1180是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1120内的软件程序和/或模块,以及调用存储在存储器1120内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1180可包括一个或多个处理单元;优选的,处理器1180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1180中。
[0186] 手机还包括给各个部件供电的电源1190(比如电池),优选的,电源可以通过电源管理系统与处理器1180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0187] 尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
[0188] 在本实施例中,该终端设备所包括的处理器1180还具有以下功能:
[0189] 获取来自同一个音频流、且根据静音片段切分的多个语音片段;
[0190] 对所述多个语音片段进行语音识别,得到所述多个语音片段分别对应的文本,所述多个语音片段分别对应的文本中包括根据文本语义添加的分隔符;
[0191] 在根据所述多个语音片段中目标语音片段所对应文本确定字幕时,确定待处理文本组,所述待处理文本组至少包括所述目标语音片段对应的文本;
[0192] 根据所述待处理文本组中的分隔符从所述待处理文本组中确定字幕文本;
[0193] 将所述字幕文本作为所对应音频流时间轴区间的字幕。
[0194] 本申请实施例还提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例所述的一种字幕生成方法中的任意一种实施方式。
[0195] 本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0196] 应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
[0197] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0198] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0199] 另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0200] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式
体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0201] 以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。