1.本发明涉及通信领域,具体而言,涉及一种视频流的发送方法和装置、存储介质及电子装置。
背景技术:2.日前随着科技的发展和人民生活水平的不断提高,越来越多的家庭使用智能设备,并且现在智能设备都可以支持显示虚拟对象。
3.常见的虚拟对象方案,通过在用户的智能设备集成3d引擎的方式,来实现虚拟对象的显示。但是这种方案受限于智能设备的硬件性能,在性能较弱的智能设备上,往往无法实现流畅的显示效果,甚至会出现画面卡顿、撕裂的情况。
4.此外,还可以通过实行并行优化的方式,来提高计算效率,进而达到提高帧率的效果。但是这种方案只是提升了引擎的渲染效率,但是并没有解决由硬件性能带来的局限性,在低性能的智能设备上,即使对算力实现100%的利用,也无法实现理想的显示效果。
5.针对相关技术中,在低性能的智能设备上生成虚拟对象对应的视频流的速度较慢等问题,尚未提出有效的解决方案。
技术实现要素:6.本发明实施例提供了一种视频流的发送方法和装置、存储介质及电子装置,以至少解决相关技术中,在低性能的智能设备上生成虚拟对象对应的视频流的速度较慢等问题。
7.根据本发明实施例的一个实施例,提供了一种视频流的发送方法,包括:云端服务器根据获取到的请求事件确定用于响应所述请求事件的音频信息、所述音频信息对应虚拟对象的动作信息;其中,所述请求事件为目标对象向终端设备上的虚拟对象请求的事件;所述云端服务器根据所述音频信息对应虚拟对象的动作信息配置所述虚拟对象的展示动画;所述云端服务器确定所述展示动画对应的所有关键帧和/或所有向前帧,并根据所述所有关键帧和/或所有向前帧对预设模型进行渲染,生成所述虚拟对象响应所述请求事件的第一视频流;其中,所述第一视频流中不包含音频信息;所述云端服务器根据所述第一视频流和所述音频信息生成第二视频流。
8.在一个示例性实施例中,所述云端服务器根据所述音频信息对应虚拟对象的动作信息配置所述虚拟对象的展示动画,包括:确定所述虚拟对象响应所述请求事件的文本信息;根据预先设置的虚拟对象的音色信息和音调信息确定所述文本信息对应的音频信息,并确定所述虚拟对象在所述终端设备播放所述音频信息时的唇部运动轨迹和肢体动作;其中,所述动作信息包括:所述唇部运动轨迹和肢体动作;根据所述唇部运动轨迹和所述肢体动作配置所述虚拟对象的展示动画。
9.在一个示例性实施例中,确定所述展示动画对应的所有关键帧和/或所有向前帧,包括:解析所述动作信息和所述展示动画对应的所有帧数据,一一确定相邻的第一帧数据
和第二帧数据之间未发生变化的第一单元数据和发生变化的第二单元数据;根据所述第一单元数据和所述第二单元数据确定所述展示动画的所有关键帧和/或所有向前帧。
10.在一个示例性实施例中,根据所述所有关键帧对预设模型进行渲染,以生成第一视频流,包括:第一渲染步骤:根据所述所有关键帧对应的播放时间顺序在所述所有关键帧中确定第一关键帧;根据所述第一关键帧对所述预设模型进行渲染,生成第一视频帧;循环执行所述第一渲染步骤,直至根据最后一个关键帧对所述预设模型进行渲染,生成最后一个关键帧对应的最后一个视频帧;根据所有视频帧的时间戳对所述所有视频帧进行排序,以生成所述第一视频流。
11.在一个示例性实施例中,根据所述所有向前帧对预设模型进行渲染,以生成第一视频流,包括:根据所述所有向前帧对应的播放时间顺序在所述所有向前帧中确定第一向前帧;根据所述第一向前帧对所述预设模型进行渲染,生成第一视频帧;第二渲染步骤:根据播放时间顺序在所述所有向前帧中确定第二向前帧;根据所述第二向前帧和所述第一视频帧对所述预设模型进行渲染,生成第二视频帧;循环执行所述第二渲染步骤,直至根据最后一个向前帧和前一个视频帧对所述预设模型进行渲染,生成所述最后一个向前帧对应的最后一个视频帧;根据所有视频帧的时间戳对所述所有视频帧进行排序,以生成所述第一视频流。
12.在一个示例性实施例中,根据所述第一视频流和所述音频信息生成第二视频流,包括:获取所述第一视频流中的每一视频帧与所述音频信息中的每一音频帧的对应关系;根据所述对应关系对所述第一视频流和所述音频信息进行音视频编码,以生成所述虚拟对象响应所述请求事件的第二视频流。
13.在一个示例性实施例中,一一确定相邻的第一帧数据和第二帧数据之间未发生变化的第一单元数据和发生变化的第二单元数据,包括:将相邻的第一帧数据和第二帧数据进行对比,确定所述第二帧数据相对于所述第一帧数据中发生变化的第二单元数据,以及确定所述第二帧数据相对于所述第一帧数据中未发生变化的第一单元数据。
14.根据本发明实施例的另一个实施例,还提供了一种视频流的发送装置,应用于云端服务器,包括:确定模块,用于根据获取到的请求事件确定用于响应所述请求事件的音频信息、所述音频信息对应虚拟对象的动作信息;其中,所述请求事件为目标对象向终端设备上的虚拟对象请求的事件;配置模块,用于根据所述音频信息对应虚拟对象的动作信息配置所述虚拟对象的展示动画;第一生成模块,用于确定所述展示动画对应的所有关键帧和/或所有向前帧,并根据所述所有关键帧和/或所有向前帧对预设模型进行渲染,生成所述虚拟对象响应所述请求事件的第一视频流;其中,所述第一视频流中不包含音频信息;第二生成模块,用于根据所述第一视频流和所述音频信息生成第二视频流。
15.根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述视频流的发送方法。
16.根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的视频流的发送方法。
17.在本发明实施例中,云端服务器根据获取到的请求事件确定用于响应所述请求事
件的音频信息、所述音频信息对应虚拟对象的动作信息;其中,所述请求事件为目标对象向终端设备上的虚拟对象请求的事件;所述云端服务器根据所述音频信息对应虚拟对象的动作信息配置所述虚拟对象的展示动画;所述云端服务器确定所述展示动画对应的所有关键帧和/或所有向前帧,并根据所述所有关键帧和/或所有向前帧对预设模型进行渲染,生成所述虚拟对象响应所述请求事件的第一视频流;其中,所述第一视频流中不包含音频信息;所述云端服务器根据所述第一视频流和所述音频信息生成第二视频流;采用上述技术方案,解决了在低性能的智能设备上生成虚拟对象对应的视频流的速度较慢等问题,本发明将计算量从终端设备转移到云端服务器,来大幅降低虚拟对象对终端设备的性能要求,进而在云端服务器上生成虚拟对象对应的视频流,以使虚拟对象能在终端设备上流畅地显示所述视频流。
附图说明
18.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
19.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
20.图1是根据本技术实施例的一种视频流的发送方法的硬件环境示意图;
21.图2是根据本发明实施例的视频流的发送方法的流程图;
22.图3是现有技术的视频流的发送方法的示意图;
23.图4是根据本发明实施例的视频流的发送方法的示意图;
24.图5是根据本发明实施例的一种视频流的发送装置的结构框图。
具体实施方式
25.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
26.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.根据本技术实施例的一个方面,提供了一种视频流的发送方法。该视频流的发送方法广泛应用于智慧家庭(smart home)、智能家居、智能家用设备生态、智慧住宅(intelligence house)生态等全屋智能数字化控制应用场景。可选地,在本实施例中,上述
视频流的发送方法可以应用于如图1所示的由终端设备102和服务器104所构成的硬件环境中。如图1所示,服务器104通过网络与终端设备102进行连接,可用于为终端或终端上安装的客户端提供服务(如应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器104提供数据存储服务,可在服务器上或独立于服务器配置云计算和/或边缘计算服务,用于为服务器104提供数据运算服务。
28.上述网络可以包括但不限于以下至少之一:有线网络,无线网络。上述有线网络可以包括但不限于以下至少之一:广域网,城域网,局域网,上述无线网络可以包括但不限于以下至少之一:wifi(wireless fidelity,无线保真),蓝牙。终端设备102可以并不限定于为pc、手机、平板电脑、智能空调、智能烟机、智能冰箱、智能烤箱、智能炉灶、智能洗衣机、智能热水器、智能洗涤设备、智能洗碗机、智能投影设备、智能电视、智能晾衣架、智能窗帘、智能影音、智能插座、智能音响、智能音箱、智能新风设备、智能厨卫设备、智能卫浴设备、智能扫地机器人、智能擦窗机器人、智能拖地机器人、智能空气净化设备、智能蒸箱、智能微波炉、智能厨宝、智能净化器、智能饮水机、智能门锁等。
29.在本实施例中提供了一种视频流的发送方法,应用于云端服务器,图2是根据本发明实施例的视频流的发送方法的流程图,该流程包括如下步骤:
30.步骤s202,云端服务器根据获取到的请求事件确定用于响应所述请求事件的音频信息、所述音频信息对应虚拟对象的动作信息;其中,所述请求事件为目标对象向终端设备上的虚拟对象请求的事件;
31.举例来讲,请求事件可以包括但不限于:“向终端设备上的虚拟对象询问现在几点”、“向终端设备上的虚拟对象询问今天天气”、“请求终端设备上的虚拟对象设置闹钟”等。
32.步骤s204,所述云端服务器根据所述音频信息对应虚拟对象的动作信息配置所述虚拟对象的展示动画;
33.其中,动作信息可以用于指示在播放音频信息的情况下,虚拟对象的肢体动作,唇部动作等。需要说明的是,本发明实施例还可以获取预置动画,预置动画可以理解为与音频信息相关联的动画,举例来讲,音频信息为“今天下雨”,预置动画可以为与雨相关的动画,例如,下雨的动画;进而根据音频信息、所述音频信息对应虚拟对象的动作信息以及预置动画,配置所述虚拟对象的展示动画。
34.步骤s206,所述云端服务器确定所述展示动画对应的所有关键帧和/或所有向前帧,并根据所述所有关键帧和/或所有向前帧对预设模型进行渲染,生成所述虚拟对象响应所述请求事件的第一视频流;其中,所述第一视频流中不包含音频信息;
35.步骤s208,所述云端服务器根据所述第一视频流和所述音频信息生成第二视频流。
36.通过上述步骤,云端服务器根据获取到的请求事件确定用于响应所述请求事件的音频信息、所述音频信息对应虚拟对象的动作信息;其中,所述请求事件为目标对象向终端设备上的虚拟对象请求的事件;所述云端服务器根据所述音频信息对应虚拟对象的动作信息配置所述虚拟对象的展示动画;所述云端服务器确定所述展示动画对应的所有关键帧和/或所有向前帧,并根据所述所有关键帧和/或所有向前帧对预设模型进行渲染,生成所述虚拟对象响应所述请求事件的第一视频流;其中,所述第一视频流中不包含音频信息;所
述云端服务器根据所述第一视频流和所述音频信息生成第二视频流,解决了相关技术中,在低性能的智能设备上生成虚拟对象对应的视频流的速度较慢等问题,本发明将计算量从终端设备转移到云端服务器,来大幅降低虚拟对象对终端设备的性能要求,进而在云端服务器上生成虚拟对象对应的视频流,以使虚拟对象能在终端设备上流畅地显示。
37.在一个示例性实施例中,所述云端服务器根据所述音频信息对应虚拟对象的动作信息配置所述虚拟对象的展示动画,包括:确定所述虚拟对象响应所述请求事件的文本信息;根据预先设置的虚拟对象的音色信息和音调信息确定所述文本信息对应的音频信息,并确定所述虚拟对象在所述终端设备播放所述音频信息时的唇部运动轨迹和肢体动作;以及提取所述文本信息中的关键字,并确定与所述关键字具有关联关系的预置动画;其中,所述动作信息包括:所述唇部运动轨迹和肢体动作;根据所述唇部运动轨迹、所述肢体动作、所述预置动画配置所述虚拟对象的展示动画。
38.也就是说,云端服务器在接收到请求事件的情况下,确定请求事件对应的文本形式的响应信息(即文本信息),在确定文本信息的情况下,需要执行以下步骤:
39.步骤1、获取目标对象或者开发人员预设设置的虚拟对象的音色信息和音调信息;根据虚拟对象的音色信息和音调信息确定对应的音频信息;
40.步骤2、确定在所述终端设备播放所述音频信息时,虚拟对象的唇部运动轨迹和肢体动作;
41.步骤3、确定与文本信息中的关键字具有关联关系的预置动画;
42.步骤4、根据所述唇部运动轨迹、所述肢体动作、所述预置动画配置所述虚拟对象的展示动画。
43.需要说明的是,步骤2在步骤1之后执行,对于步骤3和步骤1的执行顺序本发明实施例不做限定,也就是说,在确定文本信息的情况下,需要执行的步骤顺序可以为:步骤1、步骤2、步骤3;也可以为:步骤1、步骤3、步骤2;还可以为:步骤3、步骤1、步骤2。
44.进一步的,确定所述虚拟对象在所述终端设备播放所述音频信息时的唇部运动轨迹和肢体动作,包括:确定所述音频信息中每一帧音频对应的音频特征;根据所述音频特征和唇部运动的第一对应关系确定每一帧音频分别对应的唇部运动信息;根据所述音频特征和肢体动作的第二对应关系确定每一帧音频分别对应的肢体动作信息;根据音频信息的播放顺序将每一帧音频分别对应的唇部运动信息进行排序得到所述唇部运动轨迹,以及根据音频信息的播放顺序将每一帧音频分别对应的肢体动作信息进行排序得到肢体动作。
45.在一个示例性实施例中,确定所述展示动画对应的所有关键帧和/或所有向前帧,包括:解析展示动画对应的所有帧数据,一一确定相邻的第一帧数据和第二帧数据之间未发生变化的第一单元数据和发生变化的第二单元数据;根据所述第一单元数据和所述第二单元数据确定所述展示动画的所有关键帧和/或所有向前帧。
46.也就是说,将展示动画对应的帧数据进行解析,以得到单元数据,并将相邻的两两单元数据进行对比得到所述展示动画的所有关键帧和/或所有向前帧,并根据所有关键帧和/或所有向前帧生成不包含音频信息的第一视频流。
47.在一个示例性实施例中,根据所述所有关键帧对预设模型进行渲染,以生成第一视频流,包括:第一渲染步骤:根据所述所有关键帧对应的播放时间顺序在所述所有关键帧中确定第一关键帧;根据所述第一关键帧对所述预设模型进行渲染,生成第一视频帧;循环
执行所述第一渲染步骤,直至根据最后一个关键帧对所述预设模型进行渲染,生成最后一个关键帧对应的最后一个视频帧;根据所有视频帧的时间戳对所述所有视频帧进行排序,以生成所述第一视频流。
48.本发明实施例,给出了一种根据关键帧生成第一视频流的方法,具体的,由于关键帧为一帧画面的完整保存,因此只需将所述关键帧进行解码,则可以得到一帧完整的视频帧,因此在根据所述所有关键帧对预设模型进行渲染,以生成第二视频流的情况下,只需根据关键帧对应的播放时间顺序一一对预设模型进行渲染,得到所有关键帧对应的视频帧,并根据所有视频帧的时间戳对所述所有视频帧进行排序,就生成所述第一视频流。
49.在一个示例性实施例中,根据所述所有向前帧对预设模型进行渲染,以生成第一视频流,包括:根据所述所有向前帧对应的播放时间顺序在所述所有向前帧中确定第一向前帧;根据所述第一向前帧对所述预设模型进行渲染,生成第一视频帧;第二渲染步骤:根据播放时间顺序在所述所有向前帧中确定第二向前帧;根据所述第二向前帧和所述第一视频帧对所述预设模型进行渲染,生成第二视频帧;循环执行所述第二渲染步骤,直至根据最后一个向前帧和前一个视频帧对所述预设模型进行渲染,生成所述最后一个向前帧对应的最后一个视频帧;根据所有视频帧的时间戳对所述所有视频帧进行排序,以生成所述第一视频流。
50.本发明实施例,给出了一种根据向前帧生成第一视频流的方法,具体的,由于向前帧用于指示此帧和前一帧画面的差别,因此需要将所述向前帧进行解码,根据前一帧视频和向前帧结合,以得到一帧完整的视频信息,因此,需根据向前帧和向前帧之前的视频帧对预设模型进行渲染,得到所有向前帧对应的视频帧,并根据所有视频帧的时间戳对所述所有视频帧进行排序,就生成所述第一视频流。
51.在一个示例性实施例中,根据所述第一视频流和所述音频信息确定所述第二视频流,包括:获取所述第一视频流中的每一视频帧与所述音频信息中的每一音频帧的对应关系;根据所述对应关系对所述第一视频流和所述音频信息进行音视频编码,以生成所述虚拟对象响应所述请求事件的第二视频流。
52.也就是说,在生成不包含音频信息的第一视频流的情况下,需要对所述第一视频流和所述音频信息进行音视频编码,以得到包含音频信息的第二视频流。
53.在一个示例性实施例中,一一确定相邻的第一帧数据和第二帧数据之间未发生变化的第一单元数据和发生变化的第二单元数据,包括:将相邻的第一帧数据和第二帧数据进行对比,确定所述第二帧数据相对于所述第一帧数据中发生变化的第二单元数据,以及确定所述第二帧数据相对于所述第一帧数据中未发生变化的第一单元数据。
54.将第二帧数据与第一帧数据进行比对,确定第二帧数据中发生变化的单元数据,从而找出相邻帧之间重复的单元数据。对于重复的单元数据可以直接进行压缩,对于发生变化的单元数据,需要确定发生变化的单元数据所属的物体数据、单元数据下标,通过这种方式可以有效的找出相邻帧之间的重复单元,并对其进行压缩编码,以提高传输层的传输速度和减小带宽压力。
55.为了更好的理解上述视频流的发送方法的过程,以下再结合可选实施例对上述视频流的发送的实现方法流程进行说明,但不用于限定本发明实施例的技术方案。
56.图3是现有技术的视频流的发送方法的示意图;现有方案中,虚拟对象的模型渲染
和动画生成环节在终端设备进行,云端服务器在进行动作处理后,将参数数据下发到终端处理,这样节省了网络传输的数据要求,但是大幅提高了对终端设备的性能的要求。在中低端的终端设备上的表现难以满足流畅展示的需求。
57.在本实施例中提供了一种视频流的发送方法,图4是根据本发明实施例的视频流的发送方法的示意图,如图4所示,本发明实施例中,将资源消耗最大的unity模型渲染、动画生成环节,转移到云端服务器进行处理。这样云端服务器生成的就不只是参数数据,而是经过渲染和合成后的视频流。云端进行unity数据采集、帧数据解析、单元数据对比、编码i帧/p帧、解码i帧/p帧、unity模型渲染、动画生成环节,因此云端生成经过渲染和合成后的视频流。将所述视频流发送至终端,终端调用播放器解码播放视频流。终端设备只需调用播放器解码播放视频流即可,无需进行其他环节的处理,因此,对于中低端的终端设备上也可以流畅展示虚拟对象。
58.由于传输到是视频流,在终端设备未收到展示视频时,显示本地的待机动画,当云端服务器视频流下发后,可以直接实现动画的无缝切换,避免给用户带来卡顿的直观感受。
59.通过上述实施例,解决了相关技术中,在低性能的智能设备无法实现流畅的显示虚拟对象,甚至会出现画面卡顿、撕裂的情况等问题,本发明将计算量从终端设备转移到云端服务器,来大幅降低虚拟对象对终端设备的性能要求,进而使虚拟对象能在终端设备上流畅地显示。
60.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
61.在本实施例中还提供了视频流的发送装置,该视频流的发送装置,应用于云端服务器,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
62.图5是根据本发明实施例的一种视频流的发送装置的结构框图;如图5所示,包括:
63.确定模块52,用于根据获取到的请求事件确定用于响应所述请求事件的音频信息、所述音频信息对应虚拟对象的动作信息;其中,所述请求事件为目标对象向终端设备上的虚拟对象请求的事件;
64.配置模块54,用于根据所述音频信息对应虚拟对象的动作信息配置所述虚拟对象的展示动画;
65.第一生成模块56,用于确定所述展示动画对应的所有关键帧和/或所有向前帧,并根据所述所有关键帧和/或所有向前帧对预设模型进行渲染,生成所述虚拟对象响应所述请求事件的第一视频流;其中,所述第一视频流中不包含音频信息;
66.第二生成模块58,用于根据所述第一视频流和所述音频信息生成第二视频流。
67.通过上述装置,云端服务器根据获取到的请求事件确定用于响应所述请求事件的音频信息、所述音频信息对应虚拟对象的动作信息;其中,所述请求事件为目标对象向终端
设备上的虚拟对象请求的事件;所述云端服务器根据所述音频信息对应虚拟对象的动作信息配置所述虚拟对象的展示动画;所述云端服务器确定所述展示动画对应的所有关键帧和/或所有向前帧,并根据所述所有关键帧和/或所有向前帧对预设模型进行渲染,生成所述虚拟对象响应所述请求事件的第一视频流;其中,所述第一视频流中不包含音频信息;所述云端服务器根据所述第一视频流和所述音频信息生成第二视频流,解决了相关技术中,在低性能的智能设备上生成虚拟对象对应的视频流的速度较慢等问题,本发明将计算量从终端设备转移到云端服务器,来大幅降低虚拟对象对终端设备的性能要求,进而在云端服务器上生成虚拟对象对应的视频流,以使虚拟对象能在终端设备上流畅地显示。
68.在一个示例性实施例中,配置模块,用于确定所述虚拟对象响应所述请求事件的文本信息;根据预先设置的虚拟对象的音色信息和音调信息确定所述文本信息对应的音频信息,并确定所述虚拟对象在所述终端设备播放所述音频信息时的唇部运动轨迹和肢体动作;其中,所述动作信息包括:所述唇部运动轨迹和肢体动作;根据所述唇部运动轨迹和所述肢体动作配置所述虚拟对象的展示动画。
69.在一个示例性实施例中,第一生成模块,用于解析所述动作信息和所述展示动画对应的所有帧数据,一一确定相邻的第一帧数据和第二帧数据之间未发生变化的第一单元数据和发生变化的第二单元数据;根据所述第一单元数据和所述第二单元数据确定所述展示动画的所有关键帧和/或所有向前帧。
70.在一个示例性实施例中,第一生成模块,用于执行第一渲染步骤:根据所述所有关键帧对应的播放时间顺序在所述所有关键帧中确定第一关键帧;根据所述第一关键帧对所述预设模型进行渲染,生成第一视频帧;循环执行所述第一渲染步骤,直至根据最后一个关键帧对所述预设模型进行渲染,生成最后一个关键帧对应的最后一个视频帧;根据所有视频帧的时间戳对所述所有视频帧进行排序,以生成所述第一视频流。
71.在一个示例性实施例中,第一生成模块,用于根据所述所有向前帧对应的播放时间顺序在所述所有向前帧中确定第一向前帧;根据所述第一向前帧对所述预设模型进行渲染,生成第一视频帧;第二渲染步骤:根据播放时间顺序在所述所有向前帧中确定第二向前帧;根据所述第二向前帧和所述第一视频帧对所述预设模型进行渲染,生成第二视频帧;循环执行所述第二渲染步骤,直至根据最后一个向前帧和前一个视频帧对所述预设模型进行渲染,生成所述最后一个向前帧对应的最后一个视频帧;根据所有视频帧的时间戳对所述所有视频帧进行排序,以生成所述第一视频流。
72.在一个示例性实施例中,第二生成模块,用于获取所述第一视频流中的每一视频帧与所述音频信息中的每一音频帧的对应关系;根据所述对应关系对所述第一视频流和所述音频信息进行音视频编码,以生成所述虚拟对象响应所述请求事件的第二视频流。
73.在一个示例性实施例中,第一生成模块,用于将相邻的第一帧数据和第二帧数据进行对比,确定所述第二帧数据相对于所述第一帧数据中发生变化的第二单元数据,以及确定所述第二帧数据相对于所述第一帧数据中未发生变化的第一单元数据。
74.本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
75.可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
76.s1,云端服务器根据获取到的请求事件确定用于响应所述请求事件的音频信息、所述音频信息对应虚拟对象的动作信息;其中,所述请求事件为目标对象向终端设备上的虚拟对象请求的事件;
77.s2,所述云端服务器根据所述音频信息对应虚拟对象的动作信息配置所述虚拟对象的展示动画;
78.s3,所述云端服务器确定所述展示动画对应的所有关键帧和/或所有向前帧,并根据所述所有关键帧和/或所有向前帧对预设模型进行渲染,生成所述虚拟对象响应所述请求事件的第一视频流;其中,所述第一视频流中不包含音频信息;
79.s4,所述云端服务器根据所述第一视频流和所述音频信息生成第二视频流。
80.本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
81.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
82.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
83.s1,云端服务器根据获取到的请求事件确定用于响应所述请求事件的音频信息、所述音频信息对应虚拟对象的动作信息;其中,所述请求事件为目标对象向终端设备上的虚拟对象请求的事件;
84.s2,所述云端服务器根据所述音频信息对应虚拟对象的动作信息配置所述虚拟对象的展示动画;
85.s3,所述云端服务器确定所述展示动画对应的所有关键帧和/或所有向前帧,并根据所述所有关键帧和/或所有向前帧对预设模型进行渲染,生成所述虚拟对象响应所述请求事件的第一视频流;其中,所述第一视频流中不包含音频信息;
86.s4,所述云端服务器根据所述第一视频流和所述音频信息生成第二视频流。
87.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
88.可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
89.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
90.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。