一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种视频字幕调整方法、装置、电子设备和存储介质与流程

2022-11-13 10:39:56 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种机器学习技术领域,提供一种视频字幕调整方法、装置、电子设备和存储介质。


背景技术:

2.随着互联网的普及,用户可以通过便捷的渠道获取到想要观看的视频。而录像带和碟片等视频承载介质已经渐渐淡出了大众的视野,网络下载和在线观看等视频传播方式则被越来越多的用户所接受,多种类型的终端设备出现在人们的工作和日常生活中。但是,在相关技术中,各种类型的终端设备在播放视频时,显示屏上显示的字幕样式是固定的,在环境光线亮度变化时,带屏幕的设备,如手机,会根据当前环境光进行屏幕的亮度进行调节。但当进行带字幕视频播放时,屏幕亮度的自动调节会使原本按照固定颜色渲染好的字幕变得过于刺眼或者过于暗淡,导致字幕观感体验变差,从而降低了用户体验和视频播放效率。


技术实现要素:

3.本技术实施例提供一种视频字幕调整方法、装置、电子设备和存储介质,用以提高视频播放效率。
4.本技术实施例提供的一种视频字幕调整方法,包括:
5.获取待处理视频对应的视频文件,并将所述视频文件进行解码,获得所述待处理视频对应的视频画面数据和字幕数据;
6.基于所述视频画面数据进行画面渲染,得到所述待处理视频中对应的渲染后的各帧视频画面;
7.基于所述待处理视频的播放界面对应的屏幕亮度数据,对所述字幕数据进行样式调整,并基于调整后的字幕数据渲染生成字幕文本;
8.将所述字幕文本和所述渲染后的各帧视频画面进行合成,获得所述待处理视频对应的各帧目标视频画面。
9.本技术实施例提供的一种视频字幕调整装置,包括:
10.数据获取单元,用于获取待处理视频对应的视频文件,并将所述视频文件进行解码,获得所述待处理视频对应的视频画面数据和字幕数据;
11.第一渲染单元,用于基于所述视频画面数据进行画面渲染,得到所述待处理视频中对应的渲染后的各帧视频画面;
12.第二渲染单元,用于基于所述待处理视频的播放界面对应的屏幕亮度数据,对所述字幕数据进行样式调整,并基于调整后的字幕数据渲染生成字幕文本;
13.合成单元,用于将所述字幕文本和所述渲染后的各帧视频画面进行合成,获得所述待处理视频对应的各帧目标视频画面。
14.可选的,所述字幕数据包括字体颜色数据,所述第二渲染单元具体用于:
15.将所述屏幕亮度数据,所述字体颜色数据中的原始字体颜色参数,以及所述预设动态调整值的乘积,作为调整后的字体颜色参数;
16.基于所述调整后的字体颜色参数,渲染生成相应字幕文本的颜色。
17.可选的,所述字幕数据包括字体边框数据,所述第二渲染单元具体用于:
18.将所述屏幕亮度数据,所述字体边框数据中的原始字体边框宽度,以及所述预设动态调整值的乘积,作为调整后的字体边框宽度;以及
19.将所述屏幕亮度数据,所述字体边框数据中的原始字体边框颜色,以及所述预设动态调整值的乘积,作为调整后的字体边框颜色;
20.基于所述调整后的字体边框宽度以及所述调整后的字体边框颜色,渲染生成相应字幕文本的边框。
21.可选的,所述字幕数据包括字体阴影数据,所述第二渲染单元具体用于:
22.将所述屏幕亮度数据,所述字体阴影数据中的原始字体阴影深度,以及预设动态调整值的乘积,作为调整后的字体阴影深度;
23.基于所述调整后的字体阴影深度,渲染生成相应字幕文本的阴影。
24.本技术实施例提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述任意一种视频字幕调整方法的步骤。
25.本技术实施例提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述任意一种视频字幕调整方法的步骤。
26.本技术实施例提供一种计算机可读存储介质,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行上述任意一种视频字幕调整方法的步骤。
27.本技术有益效果如下:
28.本技术实施例提供的视频字幕调整方法、装置、电子设备和存储介质,可以将视频文件解码为两大类,视频画面数据和字幕数据。进而,可分别基于视频画面数据渲染视频帧,基于字幕数据渲染生成字幕文本。其中,在本技术中,基于字幕数据渲染字幕文本之前,还需要基于屏幕亮度对字幕数据进行样式调整,由于本技术实施例可以通过屏幕亮度动态改变当前视频展示的字幕样式,不需要用户手动调整,因而可有效提高视频播放效率。
29.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
30.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
31.图1为本技术实施例中的一种应用场景的一个可选的示意图;
32.图2为本技术实施例中的一种视频字幕调整方法的流程示意图;
33.图3为本技术实施例中的一种视频字幕调整装置的虚拟结构示意图;
34.图4为本技术实施例中的一种视频字幕调整方法的模块交互示意图;
35.图5为本技术实施例中的一种对字幕数据进行样式调整的方法的流程示意图;
36.图6为本技术实施例中的一种通过归一化的方式计算各个屏幕亮度数据的方法的流程示意图;
37.图7为本技术实施例中的一种屏幕亮度数据读取模块的详细流程图;
38.图8为本技术实施例中的一种获得待处理视频对应的各帧目标视频画面的方法的流程示意图;
39.图9为本技术实施例中的一种字幕关键样式数据解释图;
40.图10为本技术实施例中的一种视频字幕调整方法的详细流程示意图;
41.图11为本技术实施例中的一种视频字幕调整的完整方法实现时序流程示意图;
42.图12为本技术实施例中的一种视频字幕调整装置的组成结构示意图;
43.图13为应用本技术实施例的一种电子设备的一个硬件组成结构示意图;
44.图14为应用本技术实施例的另一种电子设备的一个硬件组成结构示意图。
具体实施方式
45.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术技术方案的一部分实施例,而不是全部的实施例。基于本技术文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术技术方案保护的范围。
46.下面对本技术实施例中涉及的部分概念进行介绍。
47.播放器:是指将以数字信号形式存储的可以用来读取视频或音频文件的软件,也指具有播放视频或音频文件功能的电子器件产品,或者,指在设备上进行声音和画面渲染的程序。
48.字幕:是指以文字形式显示电视、电影、舞台作品中的对话等非影像内容,也泛指影视作品后期加工的文字。影视作品的对话字幕,一般出现在屏幕下方,而戏剧作品的字幕,则可能显示于舞台两旁或上方。其作用为:将节目的语音内容以字幕方式显示,可以帮助听力较弱的观众理解节目内容。另外,字幕也能用于翻译外语节目,让不理解该外语的观众,既能听见原作的声带,同时理解节目内容。在本技术实施例中,主要是指使用播放器进行视频播放时,屏幕上展示当前视频声音内容或者视频内容的文字。
49.字幕数据:通过对视频文件进行解码获得的,用于表征将被显示在图像上的字幕内容的对话信息和样式信息的数据,基于字幕数据可渲染生成视频中的字幕文本。本技术实施例中的字幕数据包括但不限于字体颜色数据、字体边框数据、字体阴影数据。
50.视频画面数据:通过对视频文件进行解码获得的,用于表征视频画面的内容信息的数据,基于视频画面数据可渲染生成一帧帧的视频画面。
51.播放界面:一种面向用户的,用于播放待处理视频的界面,可以是浮层,网页,弹窗等形式,在本技术实施例中不做具体限定。
52.下面对本技术实施例的设计思想进行简要介绍:
53.随着科技水平的进步,多种类型的终端设备出现在人们的工作和日常生活中,例如,可将显示屏与跑步机相结合,从而使用户能够在使用跑步机的同时观看视频,或者,在冰箱的面板上设置显示屏,从而使用户能够在烹饪过程中,通过显示屏观看视频。
54.但是,发明人在本技术的研究过程中发现,相关技术中各种类型的终端设备在播放视频时,显示屏上显示的字幕样式是固定的,不便于用户观看。
55.例如,在环境光太亮时,屏幕亮度变高,字幕边框、阴影、颜色不调整,相对于视频画面看起来比较暗淡。
56.再比如,环境光较暗时,如关灯看视频,屏幕亮度变低,字幕颜色偏白,相对于视频画面字幕看起来很刺眼。
57.有鉴于此,本技术实施例提出了一种视频字幕调整方法、装置、电子设备和存储介质。本技术实施例可以将视频文件解码为两大类,视频画面数据和字幕数据。进而,可分别基于视频画面数据渲染视频帧,基于字幕数据渲染生成字幕文本。其中,在本技术中,基于字幕数据渲染字幕文本之前,还需要基于屏幕亮度对字幕数据进行样式调整,由于本技术实施例可以通过屏幕亮度动态改变当前视频展示的字幕样式,不需要用户手动调整,因而可有效提高视频播放效率。
58.以下结合说明书附图对本技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本技术,并不用于限定本技术,并且在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
59.如图1所示,其为本技术实施例的应用场景示意图。该应用场景图中包括两个终端设备110和一个服务器120,用户可通过终端设备110登录播放界面。终端设备110与服务器120之间可以通过通信网络进行通信。
60.例如,终端设备110获取待处理视频对应的视频文件,并将该视频文件反馈给服务器120,由服务器120对视频文件进行解码,并把解码后的视频画面数据和字幕数据返回给终端设备110等等。
61.在一种可选的实施方式中,通信网络是有线网络或无线网络。
62.在本技术实施例中,终端设备110可以是手机、平板电脑、笔记本电脑、台式电脑、电子书阅读器、智能电视、智能家居等具有一定计算能力并且运行有即时通讯类软件及网站或者社交类软件及网站的电子设备。各终端设备110通过无线网络与服务器120,服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
63.另外需要说明的是,图1所示只是举例说明,实际上终端设备和服务器的数量不受限制,在本技术实施例中不做具体限定。
64.在本技术实施例中,终端设备110上安装有与视频播放相关的应用,本技术实施例涉及的应用可以是软件,也可以是网页、小程序等客户端,服务器120则是与软件或是网页、小程序等相对应的后端服务器,不限制客户端的具体类型。
65.需要说明的是,本技术实施例中的视频字幕调整方法可以由服务器或终端设备单独执行,也可以由服务器和终端设备共同执行,通过终端设备和服务器的交互实现。
66.参阅图2所示,为本技术实施例提供的一种视频字幕调整方法的实施流程图,这里是以由终端设备执行为例来说明的,该方法的具体实施流程如下:
67.s21:终端设备获取待处理视频对应的视频文件,并将视频文件进行解码,获得待处理视频对应的视频画面数据和字幕数据;
68.参阅图3所示,其为本技术实施例中的一种视频字幕调整装置的虚拟结构示意图,主要包括播放器解码器模块,播放器渲染模块和屏幕亮度数据读取模块。其中,终端设备可基于播放器解码器模块,从视频文件中,将被编码的视频画面数据和字幕数据进行解码,获得对应的视频画面数据和字幕数据。其中,播放器渲染模块和屏幕亮度数据读取模块为关键模块。终端设备基于这两个模块最终渲染视频画面和字幕文本,并输出至设备屏幕进行展示。
69.s22:终端设备基于视频画面数据进行画面渲染,得到待处理视频中对应的渲染后的各帧视频画面;
70.s23:终端设备基于待处理视频的播放界面对应的屏幕亮度数据,对字幕数据进行样式调整,并基于调整后的字幕数据渲染生成字幕文本;
71.其中,终端设备通过播放器渲染模块接受视频画面数据,渲染各帧视频画面;另外,在基于播放器渲染模块渲染字幕数据时,需要先从屏幕亮度数据读取模块,读取当前屏幕亮度值和字幕数据,并进行处理。
72.s24:终端设备将字幕文本和渲染后的各帧视频画面进行合成,获得待处理视频对应的各帧目标视频画面。
73.参阅图4所示,其为本技术实施例中的一种视频字幕调整方法的模块交互示意图。
74.具体的,终端设备从网络或者本地获取视频文件,并向播放器解码器输出视频文件的文件数据(被合成在一起的视频、音频、字幕数据),进而基于播放器解码模块,将视频文件输入的数据,解码出2路数据,一路为视频画面数据、一路为字幕数据,并向渲染模块输入,进而基于渲染模块渲染视频画面和字幕文本,具体参见步骤s22、s23。其中,在步骤s23中进行字幕文本渲染时,还需要依据屏幕亮度数据对字幕数据进行调整。在本技术实施例中,终端设备主要是基于屏幕亮度数据读取模块获取待处理视频的播放界面对应的屏幕亮度数据,并传输给渲染模块的。
75.最终,终端设备将字幕和视频画面通过时间点对齐,合成最终要输出到设备屏幕的一帧帧目标视频画面,终端设备基于目标视频画面数据,通过屏幕展示对应的视频画面和经过调整后的字幕。
76.在上述实施方式中,通过将视频文件解码为两大类,视频画面数据和字幕数据。进而,可分别基于视频画面数据渲染视频帧,基于字幕数据渲染生成字幕文本。其中,在本技术中,基于字幕数据渲染字幕文本之前,还需要基于屏幕亮度对字幕数据进行样式调整,由于本技术实施例可以通过屏幕亮度动态改变当前视频展示的字幕样式,因而可有效提高视频播放效率。
77.一种可选的实施方式为,可以按照如图5所示的流程图实施s23,包括以下步骤:
78.s501:分别获取基于播放界面,播放待处理视频中渲染后的各个视频帧时,播放界面对应的各个屏幕亮度数据;
79.s502:分别基于播放界面对应的各个屏幕亮度数据,对相应的字幕数据进行样式
调整。
80.即,对于每个视频帧而言,都需要获取播放界面在播放该视频帧时对应的屏幕亮度数据,进而,再依据各个屏幕亮度数据,对相应的字幕数据进行样式调整。
81.比如,对于视频帧1,对应屏幕亮度数据l1,对于视频帧2,对应屏幕亮度数据l2,

。在依据各个屏幕亮度数据,对相应的字幕数据进行样式调整时,即基于屏幕亮度数据l1,对与视频帧1相关的字幕数据进行样式调整,基于屏幕亮度数据l2,对与视频帧2相关的字幕数据进行样式调整,以此类推即可。
82.在上述实施方式中,在本技术实施例中,屏幕亮度较高时,对应的屏幕亮度数据较大,屏幕亮度较低时,对应的屏幕亮度数据较小,有效基于播放界面对应的屏幕亮度数据对字幕数据进行样式调整,保证字幕样式与播放界面的屏幕亮度更加匹配,有效减少环境光太亮,屏幕亮度变高时,字幕相对于视频画面看起来比较暗淡的问题,同样,也可有效减少环境光较暗,屏幕亮度变低时,相对于视频画面字幕看起来很刺眼的问题,不需要用户手动调整,提高视频播放效率和播放效果。
83.在一种可选的实施方式中,可以按照如图6所示的流程图中归一化的方式计算各个屏幕亮度数据,具体包括如下步骤:
84.s601:分别获取基于播放界面播放渲染后的各个视频帧时,对应的各个当前屏幕亮度值,以及播放界面对应的最大屏幕亮度值;
85.s602:基于最大屏幕亮度值,分别对各个当前屏幕亮度值进行归一化处理,获得各个屏幕亮度数据。
86.在本技术实施例中,播放界面对应的最大屏幕亮度值是与播放设备相关的,不同的播放设备的播放界面对应的最大屏幕亮度值可能不同,但是对于同一播放设备而言,其播放界面对应的最大屏幕亮度值是固定的,而在播放不同视频帧时对应当前屏幕亮度值则可以是动态变化的。
87.假设,最大屏幕亮度值为a。对于视频帧1,在基于播放界面播放视频帧1时,当前播放界面的屏幕亮度即当前屏幕亮度值为b1,则对应的屏幕亮度数据为b1/a。对于视频2,在基于播放界面播放视频帧2时,当前播放界面的屏幕亮度即当前屏幕亮度值为b2,则对应的屏幕亮度数据为b2/a,以此类推。
88.参阅图7所示,其为本技术实施例中的一种屏幕亮度数据读取模块的详细流程图,其工作原理如下:
89.首先,从屏幕硬件中获取其最大屏幕亮度值lmax,进而,从屏幕硬件中获取当前屏幕亮度值lcurrent;基于lmax和lcurrent进行数据归一处理,归一取值l=lcurrent/lmax,其中结果l取值范围为[0,1];最终,将归一值l(即屏幕亮度数据)作为播放器渲染模块的输入值。
[0090]
需要说明的是,上述流程是以一帧视频画面为例进行举例说明的,当前屏幕亮度值是指基于播放器播放一帧视频画面时,该帧视频画面时的屏幕亮度值。实际上,每一帧视频画面都需要基于上述过程计算对应的屏幕亮度数据,重复之处不再赘述。
[0091]
在上述实施方式中,通过归一化的方式计算对每一帧视频画面对应的屏幕亮度数据,可有效统一屏幕亮度数据到[0,1]之间,方便计算,提高视频播放的处理效率。
[0092]
在一种可选的实施方式中,可以按照如图8所示的流程图实施s24,包括以下步骤:
[0093]
s801:基于字幕文本中各条文本片段的时间标识信息,将各条文本片段与渲染后的各帧视频画面之间进行时间对齐;
[0094]
s802:分别将渲染后的各帧视频画面以及与各自对齐的文本片段进行合成,获得待处理视频对应的各帧目标视频画面。
[0095]
其中,字幕文本包含多条文本片段,一条文本片段可以指一句话,在此不做具体限定,本技术中是以一条文本片段指一句话为例进行举例说明的,每句话都有各自对应的时间标识信息,每一帧视频画面也有对应的时间标识信息,因而,在将字幕文本与视频画面进行合成时,可以基于字幕文本中的各条文本片段对应的时间标识信息,以及渲染后的各帧视频画面对应的时间标识信息,将时间标识信息相关联的字幕文本片段和视频画面进行合成,获得目标视频画面。
[0096]
在上述实施方式中,通过时间对齐的方式对视频画面和字幕文本进行对齐合成,其中,与渲染后的各帧视频画面各自对齐的文本片段也是基于相应的屏幕亮度数据调整后渲染得到的,即文本片段和视频画面之间相匹配,可有效提高视频展示效果。
[0097]
在本技术实施例中,除了仅仅基于屏幕亮度数据对字幕数据进行样式调整之外,还可设置预设动态调整值,以对字幕数据进行微调,以提高实用性和渲染效果。
[0098]
一种可选的实施方式为,基于屏幕亮度数据以及预设动态调整值,对字幕数据进行样式调整,其中,预设动态调整值用于对字幕数据进行微调,字幕数据至少包括以下一种:字体颜色数据、字体阴影数据、字体边框数据。
[0099]
其中,预设动态调整值可由相关工作人员设置,或者是根据经验设置,在此不做具体限定,用于对字幕数据进行微调,即对字幕数据稍微的调动一下,但调动的幅度很小,也就是指通过细微的调整,使调整后的字幕数据更加精确,与当前屏幕亮度下的视频画面更加匹配。
[0100]
在本技术实施例中,通过对字幕关键数据拆分,提取出关键数据并定义:
[0101]
字体颜色c、阴影深度s、边框宽度b、边框颜色bc。
[0102]
首先,例如图9所示,其为本技术实施例中的一种字幕关键样式数据解释图。对于图中的字幕文本“猛”,其主要包含字体颜色,字体阴影和字体边框三部分,字幕边框又进一步包括边框宽度和边框颜色向部分。图中所示的字幕“猛”的字体颜色为白色,边框颜色为黑色,另外,字体边框的宽度为某个数值,字体阴影的深度为某个数值。
[0103]
下面分别对上述所列举的几类字幕数据的调整进行详细介绍:
[0104]
在一种可选的实施方式中,字幕数据包括字体颜色数据,此时,在基于待处理视频的播放界面对应的屏幕亮度数据,对字幕数据中的字体颜色数据进行样式调整,并基于调整后的字幕数据渲染生成字幕文本时,主要过程如下:
[0105]
首先,将屏幕亮度数据,字体颜色数据中的原始字体颜色参数,以及预设动态调整值的乘积,作为调整后的字体颜色参数;进而,基于调整后的字体颜色参数,渲染生成相应字幕文本的颜色。
[0106]
例如,对于视频帧1,归一化后得到的屏幕亮度数据为l,相应的某一个字幕文本的原始字体颜色参数为c,预设动态调整值为d,则在计算最终字体颜色c时,输入参数l(屏幕亮度数据)、输入参数c(原始字体颜色参数),输入参数d(预设动态调整值),计算公式如下:
[0107]
c=f(l,c,d)=l*c*d;
[0108]
即,将屏幕亮度数据,字体颜色数据中的原始字体颜色参数,以及预设动态调整值的乘积,作为调整后的字体颜色参数。
[0109]
在本技术实施例中,环境光太亮时,屏幕亮度变高,对应的屏幕亮度数据的数值较大,此时可基于屏幕亮度数据对字体颜色参数进行调整,例如调整字体颜色偏亮,以保证和视频画面亮度相匹配。环境光较暗时,屏幕亮度变低,对应的屏幕亮度数据的数值较小,此时可基于屏幕亮度数据对字体颜色参数进行调整,例如调整字体颜色偏暗,以保证和视频画面亮度相匹配,不至于刺眼等。
[0110]
在一种可选的实施方式中,字幕数据包括字体边框数据,此时,基于待处理视频的播放界面对应的屏幕亮度数据,对字幕数据进行样式调整,并基于调整后的字幕数据渲染生成字幕文本时,主要过程如下:
[0111]
首先,将屏幕亮度数据,字体边框数据中的原始字体边框宽度,以及预设动态调整值的乘积,作为调整后的字体边框宽度;以及,将屏幕亮度数据,字体边框数据中的原始字体边框颜色,以及预设动态调整值的乘积,作为调整后的字体边框颜色;进而,基于调整后的字体边框宽度以及调整后的字体边框颜色,渲染生成相应字幕文本的边框。
[0112]
例如,对于视频帧1,归一化后得到的屏幕亮度数据为l,相应的某一个字幕文本的原始字体边框宽度为b,原始字体边框颜色为bc,预设动态调整值为d,则在计算最终字体边框宽度b时,输入参数l(屏幕亮度数据)、输入参数b(原始字体边框宽度)、输入参数d(预设动态调整值),计算公式如下:
[0113]
b=f(l,b,d)=l*b*d;
[0114]
即,将屏幕亮度数据,字体边框数据中的原始字体边框宽度,以及预设动态调整值的乘积,作为调整后的字体边框宽度。
[0115]
另外,在计算最终字体边框颜色bc时,输入参数l(屏幕亮度数据)、输入参数bc(原始字体边框颜色)、输入参数d(预设动态调整值),计算公式如下:
[0116]
bc=f(l,bc,d)=l*bc*d;
[0117]
即,将屏幕亮度数据,字体边框数据中的原始字体边框颜色,以及预设动态调整值的乘积,作为调整后的字体边框颜色。
[0118]
在本技术实施例中,屏幕亮度较高时,对应的屏幕亮度数据的数值较大,此时可基于屏幕亮度数据对字体边框数据进行调整,例如调整字体边框颜色偏暗,以保证和视频画面亮度相匹配。环境光较暗时,屏幕亮度变低,对应的屏幕亮度数据的数值较小,此时可基于屏幕亮度数据对字体边框数据进行调整,例如调整字体边框颜色偏亮,以保证和视频画面亮度相匹配等。
[0119]
在一种可选的实施方式中,字幕数据包括字体阴影数据,此时,基于待处理视频的播放界面对应的屏幕亮度数据,对字幕数据进行样式调整,并基于调整后的字幕数据渲染生成字幕文本时,主要过程如下:
[0120]
首先,将屏幕亮度数据,字体阴影数据中的原始字体阴影深度,以及预设动态调整值的乘积,作为调整后的字体阴影深度;进而,基于调整后的字体阴影深度,渲染生成相应字幕文本的阴影。
[0121]
例如,对于视频帧1,归一化后得到的屏幕亮度数据为l,相应的某一个字幕文本的原始字体阴影深度为s,预设动态调整值为d,则在计算最终字体阴影深度s时,输入参数l
(屏幕亮度数据)、输入参数s(原始字体阴影深度),输入参数d(预设动态调整值),计算公式如下:
[0122]
s=f(l,s,d)=l*s*d;
[0123]
即,将屏幕亮度数据,字体阴影数据中的原始字体阴影深度,以及预设动态调整值的乘积,作为调整后的字体阴影深度。
[0124]
在本技术实施例中,屏幕亮度较高时,对应的屏幕亮度数据的数值较大,此时可基于屏幕亮度数据对字体阴影数据进行调整,例如调整字体阴影深度更深一些,以保证和视频画面亮度相匹配。环境光较暗时,屏幕亮度变低,对应的屏幕亮度数据的数值较小,此时可基于屏幕亮度数据对字体阴影数据进行调整,例如调整字体阴影深度更浅一些,以保证和视频画面亮度相匹配等。
[0125]
需要说明的是,本技术实施例中的字幕数据的样式调整,可以仅调整字体颜色,或者,可以仅调整字体边框颜色与字体边框宽度中的至少一种,或者,也可以仅调整字体阴影。另外,还可以调整其中的至少两类,在此不做具体限定。
[0126]
参阅图10所示,其为本技术实施例中的一种视频字幕调整方法的详细流程示意图。图10是以字体颜色,字体边框和字体阴影都调整为例进行举例说明的,具体过程为:
[0127]
将屏幕亮度数据和字幕数据,视频画面数据输入渲染模块,基于字幕关键样式计算,可以得到最终字体颜色,最终字体边框,最终字体阴影对应的各个参数,即上述所列举的调整后的字体颜色参数、调整后的字体边框宽度、调整后的字体边框颜色、调整后的字体阴影深度等,基于这些参数进行字幕渲染。此外,还基于视频画面数据进行视频画面的渲染。然后,基于通过上述所列举的时间点对齐的方式,将字幕和视频画面进行对齐,得到最终画面(即目标视频画面),并将最终画面对应的数据(即图10中的屏幕显示用数据)输出并显示到屏幕中。
[0128]
需要说明的是,上述流程是以一帧视频画面为例进行举例说明的,实际上,每一帧视频画面都需要基于上述过程进行渲染,并与相应的调整后的字幕进行合成,获得最终的目标视频画面并显示,重复之处不再赘述。
[0129]
参阅图11所示,为一种视频字幕调整的完整方法时序图。这里是以由终端设备执行为例来说明的,该方法的具体实施流程如下:
[0130]
步骤s1101:终端设备获取待处理视频对应的视频文件;
[0131]
步骤s1102:终端设备对该视频文件进行解码,获得待处理视频对应的视频画面数据和字幕数据;
[0132]
步骤s1103:终端设备基于视频画面数据进行画面渲染,得到待处理视频中对应的渲染后的各帧视频画面;
[0133]
步骤s1104:终端设备分别获取基于播放界面,播放待处理视频中渲染后的各个视频帧时,对应的各个当前屏幕亮度值,以及播放界面对应的最大屏幕亮度值;
[0134]
步骤s1105:终端设备基于最大屏幕亮度值,分别对各个当前屏幕亮度值进行归一化处理,获得各个屏幕亮度数据;
[0135]
步骤s1106:终端设备分别基于播放界面对应的各个屏幕亮度数据,对相应的字幕数据进行样式调整;
[0136]
步骤s1107:终端设备基于调整后的字幕数据渲染生成字幕文本;
[0137]
步骤s1108:终端设备基于字幕文本中各条文本片段的时间标识信息,将各条文本片段与渲染后的各帧视频画面之间进行时间对齐;
[0138]
步骤s1109:终端设备分别将渲染后的各帧视频画面以及与各自对齐的文本片段进行合成,获得待处理视频对应的各帧目标视频画面;
[0139]
步骤s1110:终端设备通过播放界面展示各帧目标视频画面。
[0140]
基于相同的发明构思,本技术实施例还提供一种视频字幕调整装置。参阅图12所示,如图12所示,其为本技术实施例中的一种视频字幕调整装置1200的结构示意图,可以包括:
[0141]
数据获取单元1201,用于获取待处理视频对应的视频文件,并将视频文件进行解码,获得待处理视频对应的视频画面数据和字幕数据;
[0142]
第一渲染单元1202,用于基于视频画面数据进行画面渲染,得到待处理视频中对应的渲染后的各帧视频画面;
[0143]
第二渲染单元1203,用于基于待处理视频的播放界面对应的屏幕亮度数据,对字幕数据进行样式调整,并基于调整后的字幕数据渲染生成字幕文本;
[0144]
合成单元1204,用于将字幕文本和渲染后的各帧视频画面进行合成,获得待处理视频对应的各帧目标视频画面。
[0145]
可选的,第二渲染单元1203具体用于:
[0146]
分别获取基于播放界面,播放待处理视频中渲染后的各个视频帧时,播放界面对应的各个屏幕亮度数据;
[0147]
分别基于播放界面对应的各个屏幕亮度数据,对相应的字幕数据进行样式调整。
[0148]
可选的,第二渲染单元1203具体用于:
[0149]
分别获取基于播放界面播放渲染后的各个视频帧时,对应的各个当前屏幕亮度值,以及播放界面对应的最大屏幕亮度值;
[0150]
基于最大屏幕亮度值,分别对各个当前屏幕亮度值进行归一化处理,获得各个屏幕亮度数据。
[0151]
可选的,合成单元1204具体用于:
[0152]
基于字幕文本中各条文本片段的时间标识信息,将各条文本片段与渲染后的各帧视频画面之间进行时间对齐;
[0153]
分别将渲染后的各帧视频画面以及与各自对齐的文本片段进行合成,获得待处理视频对应的各帧目标视频画面。
[0154]
可选的,第二渲染单元1203具体用于:
[0155]
基于屏幕亮度数据以及预设动态调整值,对字幕数据进行样式调整,并基于调整后的字幕数据渲染生成字幕文本,其中,所述预设动态调整值用于对所述字幕数据进行微调,字幕数据至少包括以下一种:字体颜色数据、字体阴影数据、字体边框数据。
[0156]
可选的,字幕数据包括字体颜色数据,第二渲染单元1203具体用于:
[0157]
将屏幕亮度数据,字体颜色数据中的原始字体颜色参数,以及预设动态调整值的乘积,作为调整后的字体颜色参数;
[0158]
基于调整后的字体颜色参数,渲染生成相应字幕文本的颜色。
[0159]
可选的,字幕数据包括字体边框数据,第二渲染单元1203具体用于:
[0160]
将屏幕亮度数据,字体边框数据中的原始字体边框宽度,以及预设动态调整值的乘积,作为调整后的字体边框宽度;以及
[0161]
将屏幕亮度数据,字体边框数据中的原始字体边框颜色,以及预设动态调整值的乘积,作为调整后的字体边框颜色;
[0162]
基于调整后的字体边框宽度以及调整后的字体边框颜色,渲染生成相应字幕文本的边框。
[0163]
可选的,字幕数据包括字体阴影数据,第二渲染单元1203具体用于:
[0164]
将屏幕亮度数据,字体阴影数据中的原始字体阴影深度,以及预设动态调整值的乘积,作为调整后的字体阴影深度;
[0165]
基于调整后的字体阴影深度,渲染生成相应字幕文本的阴影。
[0166]
在上述实施方式中,可以将视频文件解码为两大类,视频画面数据和字幕数据。进而,可分别基于视频画面数据渲染视频帧,基于字幕数据渲染生成字幕文本。其中,在本技术中,基于字幕数据渲染字幕文本之前,还需要基于屏幕亮度对字幕数据进行样式调整,由于本技术实施例可以通过屏幕亮度动态改变当前视频展示的字幕样式,因而可有效提高视频播放效率。
[0167]
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本技术时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
[0168]
在介绍了本技术示例性实施方式的视频字幕调整方法和装置之后,接下来,介绍根据本技术的另一示例性实施方式的视频字幕调整装置。
[0169]
所属技术领域的技术人员能够理解,本技术的各个方面可以实现为系统、方法或程序产品。因此,本技术的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0170]
在介绍了本技术示例性实施方式的视频字幕调整方法和装置之后,接下来,介绍根据本技术的另一示例性实施方式的电子设备。
[0171]
所属技术领域的技术人员能够理解,本技术的各个方面可以实现为系统、方法或程序产品。因此,本技术的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0172]
与上述方法实施例基于同一发明构思,本技术实施例中还提供了一种电子设备。在一种实施例中,该电子设备可以是服务器,如图1所示的服务器120。在该实施例中,电子设备的结构可以如图13所示,包括存储器1301,通讯模块1303以及一个或多个处理器1302。
[0173]
存储器1301,用于存储处理器1302执行的计算机程序。存储器1301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
[0174]
存储器1301可以是易失性存储器(volatile memory),例如ram(random-access memory,随机存取存储器);存储器1301也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flash memory),hdd(hard disk drive,硬盘)或ssd(solid-state drive,固态硬盘);或者存储器1301是能够用于携带或存储具有指令或数据结构形
式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1301可以是上述存储器的组合。
[0175]
处理器1302,可以包括一个或多个cpu(central processing unit,中央处理单元)或者为数字处理单元等等。处理器1302,用于调用存储器1301中存储的计算机程序时实现上述视频字幕调整方法。
[0176]
通讯模块1303用于与终端设备和其他服务器进行通信。
[0177]
本技术实施例中不限定上述存储器1301、通讯模块1303和处理器1302之间的具体连接介质。本技术实施例在图13中以存储器1301和处理器1302之间通过总线1304连接,总线1304在图13中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线1304可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0178]
存储器1301中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本技术实施例的视频字幕调整方法。处理器1302用于执行上述的视频字幕调整方法,如图2所示方法的步骤。
[0179]
在另一种实施例中,电子设备也可以是其他电子设备,如图1所示的终端设备110。在该实施例中,电子设备的结构可以如图14所示,包括:通信组件1410、存储器1420、显示单元1430、摄像头1440、传感器1450、音频电路1460、蓝牙模块1470、处理器1480等部件。
[0180]
通信组件1410用于与服务器进行通信。在一些实施例中,可以包括电路wifi(wireless fidelity,无线保真)模块,wifi模块属于短距离无线传输技术,电子设备通过wifi模块可以帮助用户收发信息。
[0181]
存储器1420可用于存储软件程序及数据。处理器1480通过运行存储在存储器1420的软件程序或数据,从而执行终端设备110的各种功能以及数据处理。存储器1420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器1420存储有使得终端设备110能运行的操作系统。本技术中存储器1420可以存储操作系统及各种应用程序,还可以存储执行本技术实施例视频字幕调整方法的代码。
[0182]
显示单元1430还可用于显示由用户输入的信息或提供给用户的信息以及终端设备110的各种菜单的图形用户界面(graphical user interface,gui)。具体地,显示单元1430可以包括设置在终端设备110正面的显示屏1432。其中,显示屏1432可以采用液晶显示器、发光二极管等形式来配置。显示单元1430可以用于显示本技术实施例中的播放界面等等。
[0183]
显示单元1430还可用于接收输入的数字或字符信息,产生与终端设备110的用户设置以及功能控制有关的信号输入,具体地,显示单元1430可以包括设置在终端设备110正面的触摸屏1431,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
[0184]
其中,触摸屏1431可以覆盖在显示屏1432之上,也可以将触摸屏1431与显示屏1432集成而实现终端设备110的输入和输出功能,集成后可以简称触摸显示屏。本技术中显示单元1430可以显示应用程序以及对应的操作步骤。
[0185]
摄像头1440可用于捕获静态图像,用户可以将摄像头1440拍摄的图像通过视频客户端上传评论。摄像头1440可以是一个,也可以是多个。物体通过镜头生成光学图像投射到
感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器1480转换成数字图像信号。
[0186]
终端设备还可以包括至少一种传感器1450,比如加速度传感器1451、距离传感器1452、指纹传感器1453、温度传感器1454。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
[0187]
音频电路1460、扬声器1461、传声器1462可提供用户与终端设备110之间的音频接口。音频电路1460可将接收到的音频数据转换后的电信号,传输到扬声器1461,由扬声器1461转换为声音信号输出。终端设备110还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器1462将收集的声音信号转换为电信号,由音频电路1460接收后转换为音频数据,再将音频数据输出至通信组件1410以发送给比如另一终端设备110,或者将音频数据输出至存储器1420以便进一步处理。
[0188]
蓝牙模块1470用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块1470与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
[0189]
处理器1480是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1420内的软件程序,以及调用存储在存储器1420内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器1480可包括一个或多个处理单元;处理器1480还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器1480中。本技术中处理器1480可以运行操作系统、应用程序、用户界面显示及触控响应,以及本技术实施例的视频字幕调整方法。另外,处理器1480与显示单元1430耦接。
[0190]
在一些可能的实施方式中,本技术提供的视频字幕调整方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述描述的根据本技术各种示例性实施方式的视频字幕调整方法中的步骤,例如,电子设备可以执行如图2所示的步骤。
[0191]
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0192]
本技术的实施方式的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在计算装置上运行。然而,本技术的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
[0193]
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号
或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
[0194]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0195]
可以以一种或多种程序设计语言的任意组合来编写用于执行本技术操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络包括局域网(lan)或广域网(wan)连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。
[0196]
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
[0197]
此外,尽管在附图中以特定顺序描述了本技术方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0198]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0199]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
[0200]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献