一种字幕处理方法、装置、终端及存储介质与流程

文档序号:17628443发布日期:2019-05-10 23:54阅读:136来源:国知局
一种字幕处理方法、装置、终端及存储介质与流程

本发明涉及计算机技术领域,尤其涉及一种字幕处理方法、装置、终端及存储介质。



背景技术:

在播放音频或者视频文件时,显示字幕通常采用逐行播放显示的方法,即根据音频或者视频的播放时间,将对应字幕显示到终端的显示区域中。但是由于终端的显示区域的宽度限制,当字幕过长(即字幕长度大于显示区域的显示宽度)时,显示字幕可能超出显示区域而不能完全显示,可见,当前的字幕显示方法存在造成长字幕显示不完全的问题。



技术实现要素:

本发明实施例提供了一种字幕处理方法、装置、终端及存储介质,可避免待显示字幕显示到终端屏幕不完全的问题。

一方面,本发明实施例提供了一种字幕处理方法,所述方法包括:

根据待显示字幕的内容确定字幕宽度,并确定用于进行字幕显示的显示区的显示宽度;

若所述字幕宽度和所述显示宽度满足换行条件,从所述待显示字幕中确定出目标字符,所述目标字符是在所述待显示字幕中播放时长最长的字符;

根据所述目标字符确定所述待显示字幕的换行位置,并基于所述换行位置,将所述待显示字幕进行换行显示处理。

另一方面,本发明实施例提供了一种字幕处理装置,所述装置包括:

确定单元,用于根据待显示字幕的内容确定字幕宽度,并确定用于进行字幕显示的显示区的显示宽度;

所述确定单元,还用于若所述字幕宽度和所述显示宽度满足换行条件,从所述待显示字幕中确定出目标字符,所述目标字符是在所述待显示字幕中播放时长最长的字符;

显示单元,用于根据所述目标字符确定所述待显示字幕的换行位置,并基于所述换行位置,将所述待显示字幕进行换行显示处理。

再一方面,本发明实施例提供了一种终端,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如下步骤:

根据待显示字幕的内容确定字幕宽度,并确定用于进行字幕显示的显示区的显示宽度;

若所述字幕宽度和所述显示宽度满足换行条件,从所述待显示字幕中确定出目标字符,所述目标字符是在所述待显示字幕中播放时长最长的字符;

根据所述目标字符确定所述待显示字幕的换行位置,并基于所述换行位置,将所述待显示字幕进行换行显示处理。

再一方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时用于实现上述的字幕处理方法。

在本发明实施例中,智能终端在播放视频或者音频文件时,可根据待显示字幕的字幕宽度以及该智能终端显示的显示区对应的显示宽度,对所述待显示字幕进行换行处理,使得较长的待显示字幕可完全显示到所述智能终端中,从而可提升用户对智能终端的使用满意度。

附图说明

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

图1是本发明实施例提供的一种字幕处理方法的流程示意图;

图2是本发明另一实施例提供的一种字幕处理方法的流程示意图;

图3a是本发明实施例提供的一种字幕在显示区进行显示的示意图;

图3b是本发明另一实施例提供的一种字幕在显示区进行显示的示意图;

图4是本发明又一实施例提供的一种字幕处理方法的流程示意图;

图5是本发明实施例提供的一种待显示字幕的示意图;

图6是本发明实施例提供的一种对待显示字幕中的基准字符进行标记后的示意图;

图7a是本发明实施例提供的一种对待显示字幕中的目标字符进行标记后的示意图;

图7b是本发明另一实施例提供的一种对待显示字幕中的目标字符进行标记后的示意图;

图8a是本发明实施例提供的一种将待显示字幕进行换行处理后的示意图;

图8b是本发明另一实施例提供的一种将待显示字幕进行换行处理后的示意图;

图9是本发明实施例提供的一种字幕处理装置的示意性框图;

图10是本发明实施例提供的一种终端的示意性框图。

具体实施方式

本发明实施例提出了一种字幕处理方法,主要用于对终端中的待显示字幕进行处理,使得较长待显示字幕能完全显示到终端的显示区域中,所述待显示字幕例如可以是视频或者音频中超过显示区域的字幕,或者带有动画效果且字幕间间距较大的字幕,所述终端例如可以是手机、平板电脑以及等等。

在一个实施例中,在对待显示字幕进行处理时,需先确定所述待显示字幕对应的字幕宽度是否过长,如果该字幕并没有过长,则在终端屏幕的显示区域中进行正常显示,如果该字幕过长,为了使得终端屏幕的显示区域可显示出完整的待显示字幕,可先对该待显示字幕进行处理,以便于将该待显示字幕换行为两行或者多行字幕后,显示到终端屏幕的显示区域中。

在对该待显示字幕进行处理时,可参见如图1所示的一种字幕处理方法的流程示意图,首先,终端可读取将该待显示字幕显示到的终端屏幕对应的屏幕分辨率,并根据该屏幕分辨率确定该终端的显示区对应的显示宽度,在一个实施例中,终端预先存储有分辨率与显示宽度之间的换算关系,分辨率常以每英寸的像素数(pixelperinch,ppi)来衡量,如分辨率为640*480时对应的显示宽度为7.2厘米(centimeter,cm),分辨率为480*320时对应的显示宽度为8.2cm。

其次,可读取所有字幕,并从中确定出一条作为待显示字幕,在确定出待显示字幕后,通过遍历该待显示字幕中的所有字符,以确定出该待显示字幕对应的字幕宽度。在一个实施例中,终端可通过累加该待显示字幕中每个字符的字符宽度,确定该待显示字幕对应的字幕宽度,其中,所述每个字符对应的字符宽度可以通过开源库freetype实时获取,也可通过计算每个字符对应的字符宽度获取得到。在计算每个字符对应的字符宽度时,可先将每个字符转换为字符图形,从而可通过计算该字符图形对应的图形宽度,该图形宽度即为该字符对应的字符宽度,在一个实施例中,可通过统一码(unicode)将字符编码成对应的字符图形。

在确定该字幕宽度以及该终端显示区对应的显示宽度后,可判断该字幕宽度是否超出该显示宽度,在一个实施例中,可从该待显示字幕的第一个字符的字符宽度开始累加,得到累加字符宽度,当累加字符宽度大于该显示宽度时,确定该字幕宽度超出该显示宽度,从而可向前遍历找到该字幕中时长最长的一个字作为目标字符,在确定目标字符之后,可根据该目标字符进行词库分析,从而确定出该待显示字幕的拆分位置,从而可将所述待显示字幕拆行显示。

在一个实施例中,根据所述目标字符进行词库分析时,可先将该目标字符与该目标字符之前的前一个字符进行词库分析,判断该目标字符与该目标字符之前的前一个字符之间是否能组成一个词,若是,则将处于所述目标字符之后的所有字符拆行显示到下一行中;或者,也可将该目标字符与该目标字符之后的后一个字符进行词库分析,判断该目标字符与该目标字符之后的后一个字符之间是否能组成一个词,若是,则将该目标字符以及处于该目标字符之后的所有字符拆行显示到下一行中,以实现对较长待显示字幕的完全显示。

在一个实施例中,请参见如图2所示的一种字幕处理方法的示意流程图,该字幕处理方法可以由智能手机、平板电脑、智能可穿戴设备等智能终端来执行,所述智能终端首先在s201中,根据待显示字幕的内容确定字幕宽度,并确定用于进行字幕显示的显示区的显示宽度,其中,所述待显示字幕为当前播放的视频或者音频中所有字幕中的任一条字幕,所述显示区为所述智能终端显示屏的部分或者全部,因此所述显示区的显示宽度小于或等于所述智能终端的屏幕宽度,所述显示区的显示宽度为用户使用智能终端时,显示区域中和水平面相互平行,且距离该水平面最近的显示区边界线的长度。

在一个实施例中,可根据所述智能终端的屏幕分辨率配置,确定该显示区的显示宽度,所述智能终端可先获取其屏幕分辨率,并根据预先存储的屏幕分辨率与显示宽度的对应关系,确定出该智能终端进行字幕显示的显示区的显示宽度。

在所述智能终端确定所述字幕宽度以及显示宽度后,可将所述字幕宽度和所述显示宽度进行对比,以确定所述字幕宽度是否大于所述显示宽度,如果所述字幕宽度小于或等于所述显示宽度,说明所述待显示字幕可直接完全显示到所述显示区中,则可将所述待显示字幕直接显示到所述显示区中;如果所述字幕宽度大于所述显示宽度,说明如果将所述待显示字幕直接显示到所述显区中,可能导致所述显示区对所述待显示字幕显示不完全而影响用户体验,则确定该待显示字幕满足换行条件,并在s202中,若所述字幕宽度和所述显示宽度满足换行条件,从所述待显示字幕中确定出目标字符,其中,所述目标字符是在所述待显示字幕中播放时长最长的字符。

在一个实施例中,所述字幕宽度可通过累加待显示字幕中每个字符的字符宽度得到,所述目标字符可以是所述待显示字幕中处于中间的一个字符,也可以是所述待显示字幕中占用播放时间最长的一个字符,还可以是所述待显示字幕中处于所述显示区边界的一个字符,还可以将所述待显示字幕中的任一字符作为所述目标字符,所述字符包括任一汉字或者一个单词中的任一字母。

在所述智能终端从所述待显示字幕中确定出目标字符后,可在s203中,根据所述目标字符确定所述待显示字幕的换行位置,并基于所述换行位置,将所述待显示字幕进行换行显示处理,处理器预先记录有所述待显示字幕中处于不同播放时间的字符在所述待显示字幕中的位置,从而可确定该待显示字幕中各字符在显示区中的显示位置以及显示顺序,因此,在将所述待显示字幕进行换行显示处理时,可根据所述目标字符对应于所述待显示字幕的换行位置进行换行处理,以实现将所述待显示字幕换行成两行或者多行进行显示。

在一个实施例中,在将所述待显示字幕进行换行显示时,可先将所述待显示字幕换行成两行,从而进一步判断位于第二行的字幕是否超过显示区的显示宽度,如果没有超过则确定将该待显示字幕换行成两行进行显示,如果超过,则将位于所述第二行的待显示字幕作为新的待显示字幕,并重复步骤s201-步骤s203,以实现将所述待显示字幕换行为多行进行显示,其中,进行换行显示处理的所述待显示字幕的每一行字幕对应的字幕宽度均小于所述智能终端的显示区的显示宽度。

在一个实施例中,所述智能终端在对所述待显示字幕进行换行显示处理时,可将所述待显示字幕换成至少两行,并将所述至少两行进行同时显示。或者在另一个实施例中,也可将所述待显示字幕拆分成至少两个待显示子字幕,并将所述至少两个待显示子字幕分别进行显示,每一个待显示的子字幕可以作为一个新的字幕,按照常规显示逻辑来显示这些新的字幕,比如:作为歌词的字幕,可以根据音乐播放的时间顺序,先后显示第一个待显示子字幕和第二个待显示子字幕。

举例来说,若所述待显示字幕为“这是由a明星在演唱会上所演唱的一首非常非常好听的歌”,用于进行字幕显示的显示区为如图所示由虚线标识的区域,则将所述待显示字幕中的各个字符的字符宽度进行累加,得到所述待显示字幕对应的字幕宽度,假设为18cm,并可通过获取智能终端的显示分辨率确定进行字幕显示的显示宽度,假设为10cm,则确定该字幕宽度大于该显示宽度,则从该待显示字幕中确定出目标字符,假设确定出的目标字符为“上”,则在获取“上”字对应于待显示字幕的换行位置后,将换行位置处于所述“上”字之后的所有字符换行显示到第二行中,由于所述“上”字之后的所有字符的字符宽度小于所述显示宽度,则确定将所述待显示字幕换行为两行,并将所述两行同时显示在显示区中,换行显示后的效果可如图3a所示,在另一实施例中,也可将所述待显示字幕拆分为两个待显示子字幕,并在显示区中对所述待显示子字幕进行分别显示,此时,换行显示后的效果可如图3b所示,将原来的待显示字幕“这是由a明星在演唱会上所演唱的一首非常非常好听的歌”,拆分成两个子字幕,分别为第一子字幕301和第二子字幕302,在图3b中作为两个独立的字幕先后进行显示。

在本发明实施例中,智能终端在播放视频或者音频文件时,可根据待显示字幕的字幕宽度以及该智能终端显示的显示区对应的显示宽度,对所述待显示字幕进行换行处理,使得较长的待显示字幕可完全显示到所述智能终端中,从而可提升用户对智能终端的使用满意度。

在一个实施例中,请参见如图4所示的一种字幕处理方法的示意流程图,该字幕处理方法也可以由智能手机、平板电脑、智能可穿戴设备等智能终端来执行,所述智能终端首先在s401中,根据待显示字幕的内容确定字幕宽度,并确定用于进行字幕显示的显示区的显示宽度,在一个实施例中,所述智能终端在确定所述待显示字幕的字幕宽度时,可先从数据库中获取所述待显示字幕中各个字符对应的字符宽度,所述数据量中存储有多个字符,以及每个字符在不同字号下对应的字符宽度,从而可在确定所述待显示字幕中各个字符对应的字符宽度后,将所述各个字符对应的字符宽度进行累加,以得到所述待显示字幕对应的字幕宽度,其中,所述数据库例如可以是开源库freetype。

在另一实施例中,所述智能终端还可首先获取待显示字幕中各个字符对应的字符图形,所述字符图像是所述智能终端在进行视频或音频缓存时,通过unicode将所述字幕中的各个字符进行编码后得到的,在所述智能终端对字幕中的各个字符进行编码得到所述各个字符对应的字符图形后,可将所述字符图形存储在存储模块中,以便于所述智能终端可从所述存储模块中获取到所述待显示字幕中各个字符对应的字符图形,进一步地,所述智能终端可通过计算所述各个字符图形对应的图形宽度,并将所述图形宽度作为所述各个字符对应的字符宽度,从而将所述各个字符对应的字符宽度进行累加,则可得到所述待显示字幕对应的字幕宽度。

在一个实施例中,所述字符图形例如可以是正方形、长方形或者圆形等,所述待显示字幕中各个字符对应的字符图形是相同的,所述字符图形为用于框住所述待显示字幕中字符的图形。如图5所示,待显示字幕中每个正方形虚线框为该字符对应的字符图形,其中,501标注的长度即为所述待显示字幕中“这”字对应的字符图形的图形宽度,也即是“这”字对应的字符宽度,从而可将如图所示的每个字符对应的字符宽度进行累加,得到所述待显示字幕对应的字幕宽度,所述字幕宽度即是图5中标识的502所指示的长度。。

在所述智能终端确定所述字幕宽度以及所述显示宽度后,如果将所述字幕宽度和所述显示宽度进行对比,并在确定所述字幕宽度大于所述显示宽度时,确定满足换行条件,则在s402中,所述显示宽度从所述待显示字幕中确定出基准字符,所述基准字符可通过从所述待显示字幕中的第一个字符开始进行字符宽度累加后,根据累加结果确定得到,所述基准字符为所述待显示字幕中最靠近智能终端的显示区的显示边界的字符,在一个实施例中,当所述累加结果对应的累加字符宽度小于所述显示宽度、且所述累加字符宽度与所述显示宽度之间的差值小于预设的阈值时,可将得到所述累加结果的最后一个字符作为所述基准字符。其中,所述预设的阈值小于或等于上述的一个字符宽度,所述预设的阈值例如可以是一个字符宽度,或者半个字符宽度等,在本发明实施例中不做限定。

在确定出所述基准字符后,可在该基准字符出添加一识别标记,以将所述基准字符和所述待显示字幕中的其他字符区别开来,所述识别标记例如可以是“.”等等。例如,如图6所示,如果待显示字幕为“这是由a明星在演唱会上演唱的一首非常好听的歌”,则从所述第一个“这”字的字符宽度开始进行字符宽度累加,如果累加到“一”字得到的累加字符宽度小于显示区的显示宽度,累加到“首”字得到的累加字符宽度大于所述显示宽度,则将所述“一”字确定为基准字符,并在“一”字处添加识别标记,例如在“一”字下面添加标记“.”,以使得所述智能终端可将所述基准字符与所述显示字幕中的其他字符区别开来,在一个实施例中,可将图6中601所标识的长度作为显示宽度,对应的602所标识的长度则为所述待显示字幕对应的字幕宽度。

在所述智能终端从所述待显示字幕中确定出基准字符后,在s403中,以所述基准字符为参考,从所述待显示字幕中确定出目标字符,在一个实施例中,可将所述待显示字幕中占用播放时间最长的字符确定为目标字符,并在确定出所述目标字符后,为所述目标字符添加识别标记,以将所述目标字符和其他字符进行区分,例如可为所述目标字符添加的标记为“!”等。需要说明的是,为所述目标字符和为上述的基准字符添加的标签时不同的,以用于区分所述目标字符和所述基准字符。

在一个实施例中,在确定出目标字符,并为所述目标字符添加标记后,可将取消为基准字符添加的标记,也可保留为所述基准字符添加的标记,在本发明实施例中不作限定。

在从所述待显示字幕中确定出目标字符时,可以所述基准字符为参考,通过将所述待显示字幕的各位置与所述基准字符对应的位置进行比对,可遍历所有字符从而找出所述待显示字幕中处于所述基准字符之前的字符,进一步地,可从处于所述基准字符之前的字符中,将占用播放时间最长的字符确定为目标字符。其中,确定的所述目标字符包括:位置在所述基准字符对应于所述待显示字幕的位置之前、且播放时长最长的字符。

由于所述目标字符为所述基准字符之前,且播放时长最长的字符,也就是说按照步骤s403确定出的目标字符是根据音频或者视频的播放节奏确定出的,因此,所述目标字符更符合观看字幕的用户的观看体验,所述目标字符为所述基准字符之前的字符中占用播放时间最长的字符,但可能不是所述待显示字幕中占用播放时间最长的字符。

举例来说,如果待显示字幕如图6所示,且确定出的基准字符为“一”,则基于所述播放时间向前遍历确定出处于所述基准字符之前的所有字符,并从处于所述基准字符之前的所有字符,将占用播放时间最长的字符确定为目标字符,假设“上”字占用播放时间最长,则将“上”字确定为目标字符,并可对“上”字进行标记,对“上”字进行标记后的待显示字幕可如图7a所示,也可如图7b所示。

其中,为所述目标字符和为所述基准字符添加的标记为智能终端在后台进行添加,并不显示给用户,图6以及图7a、图7b的示例说明只为了更形象阐述所述智能终端为所述目标字符以及所述基准字符添加标记或者删除标记的过程,并不是展示到用户界面中的示例说明。

在为所述目标字符添加标记后,可用过查找所述标记从所述待显示字幕中确定出目标字符,从而可在s404中,根据所述目标字符确定所述待显示字幕的换行位置,并基于所述换行位置,将所述待显示字幕进行换行显示处理,以将所述待显示字幕换行为两行或者多行进行显示。

在一个实施例中,所述智能终端在将所述待显示字幕进行换行显示时,可先确定所述待显示字幕中在所述目标字符之前的前n(其中,所述n为正整数)个字符,例如可先确定所述待显示字幕中在所述目标字符之前的前一个或者两个字符,从而可通过词库匹配,对该目标字符与该前n个字符进行语义识别,如果所述目标字符与所述前n个字符满足语义识别,则将所述待显示字幕中在所述目标字符之后的字符作为下一行的起始字符,具体地,可将所述待显示字幕中在所述目标字符之后的第一个字符作为下一行的起始字符。

在一个实施例中,对所述目标字符与该前n个字符进行语义识别时,可确定该目标字符与该前n个字符是否能组成一个词,或者是否能组成一句话,若确定该目标字符与该前n个字符能组成一个词,或者能组成一句话,则将将所述待显示字幕中在所述目标字符之后的第一个字符作为下一行的起始字符,也就是说将所述待显示字幕中在所述目标字符之后的字符显示到下一行。

在确定所述目标字符与所述前n个字符是否能组成一个词时,所述n的取值范围具体可以是大于或等于1且小于等于3的整数,从而可结合词库进行分析,以确定出所述目标字符与所述前n个字符是否能组成一个词。

在确定所述目标字符与所述前n个字符是否能组成一句话时,所述n的取值范围具体可以是大于或等于1的整数,从而可进行语义分析,确定所述目标字符与所述前n个字符是否能组成一句话。

例如,如果待显示字幕如图7a所示,且确定的目标字符为“上”,由于上述“上”字与前三个字符组成的词为“演唱会上”,且“演唱会上”通过词库匹配可确定为一个词,因此可将“上”字之后的第一个字符作为下一行的起始字符,并将在所述“上”字之后的所有字符换行显示到下一行,换行显示后的结果可如图8a所示。

在另一个实施例中,所述智能终端在将所述待显示字幕进行换行显示时,也可先确定待显示字幕中在所述目标字符之后的后m(其中,所述m为正整数)个字符,例如可先确定所述待显示字幕中在所述目标字符之后的后一个或者两个字符,从而可通过词库匹配,对该目标字符与该后m个字符进行语义识别,如果所述目标字符与所述后m个字符满足语义识别条件,则将所述待显示字幕中在所述后m个字符之后的字符作为下一行的起始字符,具体地,可将所述待显示字幕中在所述后m个字符之后的第一个字符作为下一行的起始字符,并将在所述待显示字幕中在所述后m个字符之后的字符显示到下一行。

在一个实施例中,对所述目标字符与该后m个字符进行语义识别时,可确定该目标字符与该后m个字符是否能组成一个词,或者是否能组成一句话,若确定该目标字符与该后m个字符能组成一个词,或者能组成一句话,则将所述待显示字幕中在所述后m个字符之后的字符显示到下一行。

在确定所述目标字符与所述后m个字符是否能组成一个词时,所述m的取值范围具体可以是大于或等于1且小于等于3的整数,从而可结合词库进行分析,以确定出所述目标字符与所述后m个字符是否能组成一个词。

在确定所述目标字符与所述后m个字符是否能组成一句话时,所述m的取值范围具体可以是大于或等于1的整数,从而可进行语义分析,确定所述目标字符与所述后m个字符是否能组成一句话。

例如,如果待显示字幕为“这是由a明星在演唱会上演唱的一首非常好听的歌”,确定出的目标字符为“演”字,由于该“演”字可和处于该“演”字的后一个字组成词语“演唱”,则可将该“唱”字之后的第一个字符作为下一行的起始字符,并将在所述“唱”字之后的所有字符换行显示到下一行,如图8b所示。

在一个实施例中,如果在确定所述待显示字幕中在所述目标字符之后的后m(其中,所述m为正整数)个字符后,且所述目标字符与所述后m个字符满足语义识别条件,可先累加所述待显示字幕中在所述目标字符之前的所有字符,所述目标字符以及所述后m个字符对应的字符宽度,从而得到针对所述目标字符之前的所有字符、所述目标字符以及所述后m个字符的目标字符宽度,从而可判断所述目标宽度是否超过所述显示宽度,如果没有超过,即在所述目标字符宽度小于或等于所述显示宽度时,将所述待显示字幕中在所述后m个字符之后的字符作为下一行的起始字符;如果确定超过,即在所述目标字符宽度大于所述显示宽度时,则将所述待显示字幕中的所述目标字符作为下一行的起始字符。

例如,如果待显示字幕为“这是由a明星在演唱会上演唱的一首非常好听的歌”,确定出的目标字符为“演”字,如果确定满足语义识别条件的为“演唱”,则将处于目标字符“演”字之前的所有字符,即包括“这、是、由、a、明、星、在、演、唱、会、上”,所述目标字符“演”以及字符“唱”进行累加,得到目标字符宽度,所述目标字符宽度对应的是“这是由a明星在演唱会上演唱”的字符宽度。

进一步地,可将所述目标字符宽度与显示宽度进行对比,如果所述目标字符宽度小于或等于显示宽度,则说明“这是由a明星在演唱会上演唱”可在显示屏幕中进行一行显示,从而可将处于“唱”后面的第一个字符作为下一行的起始字符,并折行显示到下一行,如图8b所示;如果所述目标字符宽度大于显示宽度,则说明“这是由a明星在演唱会上演唱”不能在屏幕中进行一行显示,从而可将所述“演”字作为下一行的起始字符,也是就是说可将目标字符以及目标字符之后的字符显示到下一行,即将“演”字以及在“演”之后的字符显示到下一行,如图8a所示。

在另一个实施例中,若所述目标字符为所述基准字符,也就是说,所述基准字符和所述目标字符对应的换行位置重合,所述智能终端在将所述待显示字幕进行换行显示时,可将在所述目标字符之后的所有字符换行显示到下一行,或者,将所述目标字符以及在所述目标字符之后的字符换行显示到下一行。例如,如果待显示字幕如图6所示,且确定出的目标字符以及基准字符均为“一”字,则可将所述“一”字之后的字符显示到下一行中,或者将所述“一”字以及处于所述“一”字之后的字符显示到下一行中。

在本发明实施例中,智能终端在确定待显示字幕的字幕宽度以及进行字幕显示的显示区的显示宽度后,可在该字幕宽度以及该显示宽度满足换行条件时,从待显示字幕中确定出基准字符,并基于该基准字符确定出目标字符,从而可根据该目标字符对应于待显示字幕的换行位置,将待显示字幕进行换行显示出来,使得确定出的目标字符更贴合与用户的观看习惯,实现了智能终端屏幕对较长待显示字幕的完整显示,从而使用户获得较高的观看体验。

基于上述方法实施例的描述,在一个实施例中,本发明实施例还提供了一种如图9所示的字幕处理装置的结构示意性框图。如图9所示,本发明实施例中的字幕处理装置,包括确定单元901和显示单元902,在本发明实施例中,所述字幕处理装置可以设置在需要对字幕播放进行控制的设备中。

在一个实施例中,确定单元901,用于根据待显示字幕的内容确定字幕宽度,并确定用于进行字幕显示的显示区的显示宽度;所述确定单元901,还用于若所述字幕宽度和所述显示宽度满足换行条件,从所述待显示字幕中确定出目标字符,所述目标字符是在所述待显示字幕中播放时长最长的字符;显示单元902,用于根据所述目标字符确定所述待显示字幕的换行位置,并基于所述换行位置,将所述待显示字幕进行换行显示处理。

在一个实施例中,所述确定单元901在根据待显示字幕的内容确定字幕宽度时,具体用于:获取所述待显示字幕中各个字符对应的字符宽度,其中,数据库存储了多个字符,以及每个字符在不同字号下对应的字符宽度;将所述各个字符对应的字符宽度进行累加,得到所述待显示字幕对应的字幕宽度。

在一个实施例中,所述显示单元902在根据待显示字幕的内容确定字幕宽度时,具体用于:获取所述待显示字幕中各个字符对应的字符图形,并计算各个所述字符图形对应的图形宽度;将所述图形宽度作为所述各个字符对应的字符宽度;将所述各个字符对应的字符宽度进行累加,得到所述待显示字幕对应的字幕宽度。

在一个实施例中,所述确定单元901在从所述待显示字幕中确定出目标字符时,具体用于:根据所述显示宽度从所述待显示字幕中确定出基准字符;以所述基准字符为参考,从所述待显示字幕中确定出目标字符;其中,确定的所述目标字符包括:在所述待显示字幕中的换行位置在所述基准字符的换行位置之前、且播放时长最长的字符。

在一个实施例中,所述确定单元901在根据所述显示宽度从所述待显示字幕中确定出基准字符时,具体用于:从所述待显示字幕中的第一个字符开始进行字符宽度累加,并根据累加结果确定基准字符;其中,当所述累加结果对应的累加字符宽度小于所述显示宽度、且所述累加字符宽度与所述显示宽度之间的差值小于预设的阈值时,将得到所述累加结果的最后一个字符作为基准字符。

在一个实施例中,所述显示单元902在基于所述换行位置,将所述待显示字幕进行换行显示处理时,具体用于:确定所述待显示字幕中在所述目标字符之前的前n个字符,若所述目标字符与所述前n个字符满足语义识别条件,则将所述待显示字幕中在所述目标字符之后的字符作为下一行的起始字符,所述n为正整数。

在一个实施例中,所述显示单元902在基于所述换行位置,将所述待显示字幕进行换行显示处理时,具体用于:确定所述待显示字幕中在所述目标字符之后的后m个字符,若所述目标字符与所述后m个字符满足语义识别条件,则将所述待显示字幕中在所述后m个字符之后的字符作为下一行的起始字符,所述m为正整数。

在一个实施例中,所述显示单元902在基于所述换行位置,将所述待显示字幕进行换行显示处理时,具体用于:确定所述待显示字幕中在所述目标字符之后的后m个字符,若所述目标字符与所述后m个字符满足语义识别条件,则累加所述待显示字幕中在所述目标字符之前的所有字符、所述目标字符以及所述后m个字符对应的字符宽度,得到目标字符宽度,所述m为正整数;若所述目标字符宽度小于或等于所述显示宽度,则将所述待显示字幕中在所述后m个字符之后的字符作为下一行的起始字符;若所述目标字符宽度大于所述显示宽度,则将所述待显示字幕中的所述目标字符作为下一行的起始字符。

在一个实施例中,若所述目标字符为所述基准字符,所述显示单元902在基于所述换行位置,将所述待显示字幕进行换行显示处理时,具体用于:将所述待显示字幕中在所述目标字符之后的字符换行显示到下一行,或者,将所述目标字符以及在所述目标字符之后的字符换行显示到下一行。

在一个实施例中,所述显示单元902在将所述待显示字幕进行换行显示处理时,具体用于:将所述待显示字幕换成至少两行,并将所述至少两行进行同时显示;或者,将所述待显示字幕拆分成至少两个待显示子字幕,并将所述至少两个待显示子字幕分别进行显示。

在本发明实施例中,在播放视频或者音频文件时,确定单元901可根据待显示字幕的字幕宽度以及该智能终端显示的显示区对应的显示宽度,使得显示单元902对所述待显示字幕进行换行显示处理,使得较长的待显示字幕可完全显示到所述智能终端中,从而可提升用户对智能终端的使用满意度。

请参见图10,是本发明实施例提供的一种终端的结构示意性框图,如图10所示的本实施例中的终端可包括:一个或多个处理器101;一个或多个输入设备102,一个或多个输出设备103和存储器104。上述处理器101、输入设备102、输出设备103和存储器104通过总线105连接。存储器104用于存储计算机程序,所述计算机程序包括程序指令,处理器101用于执行所述存储器104存储的程序指令。

所述存储器104可以包括易失性存储器(volatilememory),如随机存取存储器(random-accessmemory,ram);存储器104也可以包括非易失性存储器(non-volatilememory),如快闪存储器(flashmemory),固态硬盘(solid-statedrive,ssd)等;存储器104还可以包括上述种类的存储器的组合。

所述处理器101可以是中央处理器(centralprocessingunit,cpu)。所述处理器101还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)等。该pld可以是现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)等。所述处理器101也可以为上述结构的组合。

本发明实施例中,所述存储器104用于存储计算机程序,所述计算机程序包括程序指令,处理器101用于执行存储器104存储的程序指令,用来实现上述实施例中的相应方法的步骤。

在一个实施例中,所述处理器101被配置调用所述程序指令,用于根据待显示字幕的内容确定字幕宽度,并确定用于进行字幕显示的显示区的显示宽度;若所述字幕宽度和所述显示宽度满足换行条件,从所述待显示字幕中确定出目标字符,所述目标字符是在所述待显示字幕中播放时长最长的字符;根据所述目标字符确定所述待显示字幕的换行位置,并基于所述换行位置,将所述待显示字幕进行换行显示处理。

在一个实施例中,所述处理器101还被配置调用所述程序指令,用于获取所述待显示字幕中各个字符对应的字符宽度,其中,数据库存储了多个字符,以及每个字符在不同字号下对应的字符宽度;将所述各个字符对应的字符宽度进行累加,得到所述待显示字幕对应的字幕宽度。

在一个实施例中,所述处理器101还被配置调用所述程序指令,用于获取所述待显示字幕中各个字符对应的字符图形,并计算各个所述字符图形对应的图形宽度;将所述图形宽度作为所述各个字符对应的字符宽度;将所述各个字符对应的字符宽度进行累加,得到所述待显示字幕对应的字幕宽度。

在一个实施例中,所述处理器101还被配置调用所述程序指令,用于根据所述显示宽度从所述待显示字幕中确定出基准字符;以所述基准字符为参考,从所述待显示字幕中确定出目标字符;其中,确定的所述目标字符包括:在所述待显示字幕中的换行位置在所述基准字符的换行位置之前、且播放时长最长的字符。

在一个实施例中,所述处理器101还被配置调用所述程序指令,用于从所述待显示字幕中的第一个字符开始进行字符宽度累加,并根据累加结果确定基准字符;其中,当所述累加结果对应的累加字符宽度小于所述显示宽度、且所述累加字符宽度与所述显示宽度之间的差值小于预设的阈值时,将得到所述累加结果的最后一个字符作为基准字符。

在一个实施例中,所述处理器101还被配置调用所述程序指令,用于确定所述待显示字幕中在所述目标字符之前的前n个字符,若所述目标字符与所述前n个字符符合满足语义识别条件,则将所述待显示字幕中在所述目标字符之后的字符作为下一行的起始字符,所述n为正整数。

在一个实施例中,所述处理器101还被配置调用所述程序指令,用于确定所述待显示字幕中在所述目标字符之后的后m个字符,若所述目标字符与所述后m个字符满足语义识别条件,则将所述待显示字幕中在所述后m个字符之后的字符作为下一行的起始字符,所述m为正整数。

在一个实施例中,所述处理器101还被配置调用所述程序指令,用于确定所述待显示字幕中在所述目标字符之后的后m个字符,若所述目标字符与所述后m个字符满足语义识别条件,则累加所述待显示字幕中在所述目标字符之前的所有字符、所述目标字符以及所述后m个字符对应的字符宽度,得到目标字符宽度,所述m为正整数;若所述目标字符宽度小于或等于所述显示宽度,则将所述待显示字幕中在所述后m个字符之后的字符作为下一行的起始字符;若所述目标字符宽度大于所述显示宽度,则将所述待显示字幕中的所述目标字符作为下一行的起始字符。

在一个实施例中,若所述目标字符为所述基准字符,所述处理器101还被配置调用所述程序指令,用于将所述待显示字幕中在所述目标字符之后的字符换行显示到下一行,或者,将所述目标字符以及在所述目标字符之后的字符换行显示到下一行。

在一个实施例中,所述处理器101还被配置调用所述程序指令,用于将所述待显示字幕换成至少两行,并将所述至少两行进行同时显示;或者,将所述待显示字幕拆分成至少两个待显示子字幕,并将所述至少两个待显示子字幕分别进行显示。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所揭露的仅为本发明部分实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

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