CN115671730A - 声音数据计算模型获取方法、装置、计算设备及存储介质 - Google Patents

声音数据计算模型获取方法、装置、计算设备及存储介质 Download PDF

Info

Publication number
CN115671730A
CN115671730A CN202110827186.8A CN202110827186A CN115671730A CN 115671730 A CN115671730 A CN 115671730A CN 202110827186 A CN202110827186 A CN 202110827186A CN 115671730 A CN115671730 A CN 115671730A
Authority
CN
China
Prior art keywords
sound data
sound
calculation model
data calculation
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110827186.8A
Other languages
English (en)
Inventor
涂赟
余洲
尹青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN202110827186.8A priority Critical patent/CN115671730A/zh
Publication of CN115671730A publication Critical patent/CN115671730A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stereophonic System (AREA)

Abstract

本申请公开了一种声音数据计算模型获取方法、装置、计算设备及存储介质,属于声音处理技术领域。本方法通过在接收到对目标场景中指定位置处的声音数据计算模型获取请求后,计算设备无需重复计算目标场景中指定位置处的声音数据计算模型,而是根据声音数据计算模型库中与所述指定位置对应的声音数据计算模型信息,获取当前时刻指定位置处的声音数据计算模型,从而降低了计算设备计算声音数据计算模型的计算量,降低了该计算设备所消耗的计算资源。

Description

声音数据计算模型获取方法、装置、计算设备及存储介质
技术领域
本申请涉及声音处理技术领域,特别涉及一种声音数据计算模型获取方法、装置、计算设备及存储介质。
背景技术
随着网络技术的发展,终端内能够安装的游戏应用也越来越多,为了降低终端计算资源的消耗,可以由服务器计算游戏应用的视频数据和声音数据,并将计算出的视频数据和声音数据发送给终端,终端同步播放游戏应用的视频数据以及声音数据,以给用户较好的游戏体验。
目前,服务器计算游戏应用的声音数据的过程包括:对于每个用户,服务器计算每个用户控制的虚拟对象在游戏场景所在位置处的声音数据计算模型,再采用计算到的各个声音数据计算模型,计算每个游戏用户控制的虚拟对象在游戏场景所在位置处的声音数据。
但是,一般游戏应用的用户比较多且每个用户可以控制虚拟对象在游戏场景中移动,则服务器针对每个用户控制的虚拟对象在游戏场景中的各个位置,均需计算一次声音数据计算模型,导致服务器的计算量增加,服务器的计算资源消耗大。
发明内容
本申请实施例提供了一种声音数据计算模型获取方法、装置、计算设备及存储介质,能够在计算设备获取声音数据计算模型时,降低计算设备计算资源的消耗。该技术方案如下:
第一方面,提供了一种声音数据计算模型获取方法,所述方法用于获取目标场景中的声音数据计算模型,所述方法由计算设备执行,所述方法包括:
接收声音数据计算模型获取请求,所述声音数据计算模型获取请求指示获取当前时刻所述目标场景中指定位置处的声音数据计算模型;
根据声音数据计算模型库中与所述指定位置对应的声音数据计算模型信息,获取目标声音数据计算模型,所述声音数据计算模型库包括多个声音数据计算模型信息,其中,每一声音数据计算模型信息用于计算所述目标场景中一个位置处的声音数据。
本方法通过在接收到对目标场景中指定位置处的声音数据计算模型获取请求后,计算设备无需重复计算目标场景中指定位置处的声音数据计算模型,而是根据声音数据计算模型库中与所述指定位置对应的声音数据计算模型信息,获取当前时刻指定位置处的声音数据计算模型,从而降低了计算设备计算声音数据计算模型的计算量,降低了该计算设备所消耗的计算资源。
在一种可能的实现方式中,所述与所述指定位置对应的声音数据计算模型信息包括:
与所述指定位置对应的声音数据计算模型、所述目标场景中的各声源的位置信息和所述指定位置的位置信息。
在一种可能的实现方式中,所述根据声音数据计算模型库中与所述指定位置对应的声音数据计算模型信息,获取目标声音数据计算模型包括:
确定所述目标场景中的至少一个声源的位置出现变化;
根据所述位置出现变化的至少一个声源的位置信息以及所述与所述指定位置对应的声音数据计算模型信息,计算所述目标声音数据计算模型。
在一种可能的实现方式中,所述根据所述位置出现变化的至少一个声源的位置信息以及所述与所述指定位置对应的声音数据计算模型信息,计算所述目标声音数据计算模型包括:
将所述位置出现变化的至少一个声源的位置信息以及所述与所述指定位置对应的声音数据计算模型信息发送至子计算设备;
接收所述子计算设备发送的所述目标声音数据计算模型。
在一种可能的实现方式中,所述根据声音数据计算模型库中与所述指定位置对应的声音数据计算模型信息,获取目标声音数据计算模型包括:
确定所述目标场景中的各个声源的位置均未发生变化;
将所述声音数据计算模型信息内的声音数据计算模型,确定为所述目标声音数据计算模型。
在一种可能的实现方式中,所述获取目标声音数据计算模型之后,所述方法还包括:
将所述目标声音数据计算模型、所述指定位置的位置信息和所述位置出现变化的至少一个声源的位置信息存储至所述声音数据计算模型库。
在一种可能的实现方式中,所述接收声音数据计算模型获取请求之前,所述方法还包括:
在所述目标场景中选取一个预计算位置;
计算所述预计算位置的声音数据计算模型;
将所述预计算位置的声音数据计算模型、所述预计算位置的位置信息和所述预计算位置所在目标场景中的各声源的位置信息存储至所述声音数据计算模型库。
在一种可能的实现方式中,所述计算所述预计算位置的声音数据计算模型包括:
将所述预计算位置的位置信息、所述预计算位置所在目标场景的声源信息发送至子计算设备;
接收所述子计算设备发送的所述预计算位置的声音数据计算模型。
在一种可能的实现方式中,所述目标场景为游戏场景或对任一真实环境的仿真场景。
在一种可能的实现方式中,所述计算所述预计算位置的声音数据计算模型包括:
根据所述目标场景中每个遮挡物的声音传播影响因素以及所述预计算位置的位置信息,计算所述预计算位置的声音数据计算模型。
在一种可能的实现方式中,所述声音传播影响因素包括所述遮挡物在所述目标场景中的位置信息、所述遮挡物的材质信息以及所述遮挡物的遮挡面积中的至少一个。
在一种可能的实现方式中,所述接收声音数据计算模型获取请求包括:
若所述目标场景中的目标虚拟对象发生移动,且移动至所述指定位置,则接收所述声音数据计算模型获取请求。
在一种可能的实现方式中,所述若所述目标场景中的目标虚拟对象发生移动,且移动至所述指定位置,则接收所述声音数据计算模型获取请求包括:
若所述目标虚拟对象在所述目标场景从第一位置移动到所述指定位置,且所述第一位置和所述指定位置之间的距离大于或等于距离阈值,则接收所述声音数据计算模型获取请求。
在一种可能的实现方式中,所述获取目标声音数据计算模型之后,所述方法还包括:
将所述目标声音数据计算模型发送至目标设备,所述目标设备为发送所述声音数据计算模型获取请求的设备。
在一种可能的实现方式中,所述目标设备为终端或者服务器。
在一种可能的实现方式中,所述获取目标声音数据计算模型后,所述方法还包括:
根据所述目标声音数据计算模型和所述目标场景中的声源,计算所述指定位置处的声音数据;
将所述指定位置处的声音数据发送至终端设备。
第二方面,提供了一种声音数据计算模型获取装置,用于执行上述声音数据计算模型获取方法。具体地,该声音数据计算模型获取装置包括用于执行上述第一方面或上述第一方面的任一种可选方式提供的方法的功能模块。
第三方面,提供一种计算设备集群,计算设备集群包括至少一个计算设备,每个计算设备包括处理器和存储器,所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的程序代码,以使得所述计算设备集群执行如上述第一方面或上述第一方面的任一种可选方式提供的方法。
第四方面,提供一种计算机可读存储介质,该存储介质中存储有至少一条程序代码,该程序代码由处理器读取以使计算设备集群执行如上述声音数据计算模型获取方法所执行的操作。
第五方面,提供了一种计算机程序产品,该计算机程序产品包括程序代码,该程序代码存储在计算机可读存储介质中,计算设备集群的处理器从计算机可读存储介质读取该程序代码,处理器运行该程序代码,使得该计算设备集群执行上述第一方面或者第一方面的各种可选实现方式中提供的方法。
附图说明
图1是本申请实施例提供的一种模拟虚拟场景中声音传播的几何示意图;
图2是本申请实施例提供的一种声音数据计算模型获取系统的示意图;
图3是本申请实施例提供的一种声音数据计算模型获取方法的流程图;
图4是本申请实施例提供的一种声音数据计算模型存储方法的流程图;
图5是本申请实施例提供的一种目标场景的示意图;
图6是本申请实施例提供的一种声音数据计算模型获取方法的流程图;
图7是本申请实施例提供的一种声音数据计算模型获取方法的示意图;
图8是本申请实施例提供的一种声音获取装置的结构示意图;
图9是本申请实施例提供的一种计算设备的结构示意图;
图10是本申请实施例提供的一种终端的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
某一应用的声音引擎可以计算该应用的虚拟场景内各个位置的声音数据,每个位置的声音数据用于模拟该虚拟场景中每个位置处的声音。其中,该应用的虚拟场景可以有至少一个,该声音引擎计算该应用的某一虚拟场景内任一位置的声音数据包括:该声音引擎根据该虚拟场景内的声源以及遮挡物,确定该任一位置对应的声音数据计算模型,再根据该声音数据计算模型,计算该目标场景中该任一位置的声音数据。
但是,若该虚拟场景比较复杂,例如虚拟场景中的遮挡物以及声源(source)比较多,各个遮挡物对声音的传播均有影响,而为了保证该虚拟场景中各个位置处声音的逼真度,则该任一位置对应的声音数据计算模型比较复杂,该声音引擎确定复杂的声音数据计算模型所消耗的计算资源就会增加。例如图1所示的本申请实施例提供的一种模拟虚拟场景中声音传播的几何示意图,图1中虚拟场景内的遮挡物包括物体(object)1/网格(mesh)1、物体2/网格2、物体3/网格3、物体4/网格4以及窗帘,该虚拟场景内的声源包括声源1和2,声源1发出的声音可以被物体1/网格1、物体3/网格3以及窗帘(curtain)等遮挡物,反射/扩散(reflection/diffusion,R/D)传播(transmit)至用户的虚拟对象处,也可以直接(direct)传播至该虚拟对象处,可见声源1发出的声音传播至该虚拟对象所在位置处的路径有多条,声音传播过程复杂,该虚拟对象处的声音数据计算模型能够模拟该虚拟场景中的声源发生出的声音传播至该虚拟对象处的声音传播过程,则相应地,该虚拟对象处的声音数据计算模型较为复杂,声音引擎确定该声音数据计算模型所消耗的计算资源较大。并且,该声音引擎需要计算虚拟场景中的每个用户的虚拟对象提供对应虚拟对象所在位置的声音数据计算模型,更进一步增加了声音引擎所消耗的计算资源。
在一种可能的实现方式中,声音引擎安装在终端上,声音引擎所消耗的计算资源也即是终端的计算资源。对于这种情况,若该虚拟场景比较复杂,相应地,终端的计算资源消耗增加,如该终端的模型加速工具(TensorRT)/统一计算设备架(compute unifieddevice architecture,CUDA)所消耗的计算资源增加。
而在另一种可能的实现方式中,为了减少终端计算资源的消耗,可以将声音引擎安装在服务器上,服务器将声音引擎计算出的声音数据发送给终端,由终端在该游戏场景中播放该声音数据。则声音引擎所消耗的计算资源也即是服务器的计算资源,对于这种情况,若该虚拟场景比较复杂,相应地,服务器的计算资源消耗增加,如该服务器的TensorRT/CUDA所消耗的计算资源增加。
为了减少声音引擎所消耗的计算资源,本申请提出多用户共享同一位置的声音数据计算模型,则声音引擎在计算游戏场景中每个用户的虚拟对象位置处的声音数据计算模型时,无须重复计算声音数据计算模型,从而降低了声音引擎所消耗的计算资源。
需要说明的是,本申请提出的降低声音引擎消耗计算资源的构思,不仅适用于游戏场景等虚拟场景,还适用于其他场景。本申请涉及到目标场景,在此对目标场景进行如下介绍:
该目标场景为目标应用的任一虚拟场景,如游戏场景或对任一真实环境的仿真场景。例如,若该目标应用为游戏应用,该目标场景可以是该游戏应用的任一游戏场景。若该目标应用为声音仿真应用,则该目标应用为该任一真实环境的仿真场景。其中,该任一真实环境的仿真场景如建筑物的仿真场景、各类活动现场的仿真场景等。活动现场如音乐会现场、电影院的电影播放现场等。
在一种可能的实现方式中,该目标场景包括至少一个虚拟对象,每个虚拟对象对应一个用户的用户账号,每个虚拟对象也可以称为用户角色或者玩家角色。该目标场景显示在终端,用户通过为该终端下达指令,控制该用户的用户账号所对应的虚拟对象(即该用户的虚拟对象)在该目标场景中移动。
在一种可能的实现方式中,该目标场景包括一个或多个声源,该一个或多个声源所发出的声音可以在该目标场景中传播。该一个或多个声源包括固定声源,其中,固定声源为在该目标场景内一直存在的声源,固定声源是目标场景这个三维空间/二维空间包含的不发生移动的声源或者移动距离不超过目标范围的声源,为预先在目标场景中设置的声源,例如目标场景中能够发出声音的非玩家角色(non-player character,NPC)。在一种可能的实现方式中,一个或多个声源还包括非固定声源,非固定声源为在该目标场景中位置出现明显变化的声源,非固定声源包括在该目标场景中发生移动且移动距离超过目标范围的声源、在该目标场景内新增加的声源。例如若该目标场景中能够发出声音的虚拟对象,在该目标场景中发生移动且移动距离超过目标范围,则该虚拟对象为该目标场景中的一个非固定声源。若该目标场景中新增加一个能够发出声音的虚拟对象,则该虚拟对象为目标场景中的一个非固定声源。例如,该目标场景为游戏场景,当用户没有进行游戏时,该游戏场景内的声源均是固定声源,当用户进行游戏时,该用户的虚拟对象增加到该游戏场景中,若用户可以控制对应的虚拟对象在游戏场景中移动,且该用户的虚拟对象能够发出声音,则用户的虚拟对象为该目标场景中新增加的一个声源,也即时的一个非固定声源。
在一种可能的实现方式,该目标场景还包括遮挡物,该任一声音传播区域内的遮挡物可以有至少一个,例如假山、墙壁、窗帘等。
在一种可能的实现方式中,该目标场景包括至少一个声音传播区域,每个声音传播区域均包括该一个或多个声源。一个声音传播区域为该声音传播区域中各个声源所发出的声音的最大传播区域。该声音传播区域内声源也可以分为固定声源和非固定声源,其中声音传播区域中的固定声源为预先在声音传播区域中设置的声源。
在另一种可能的实现方式中,该目标应用的任一虚拟场景包括至少一个声音传播区域。该目标场景为该任一虚拟场景中任一声音传播区域所覆盖的子场景。
在一种可能的实现方式中,终端在目标场景中播放用户的虚拟对象所在位置的声音数据,该声音数据用于模拟该虚拟对象所在位置处的声音,从而能够达到模拟该虚拟对象在该目标场景中所能听到的声音。例如,当该虚拟对象位于该目标场景中任一位置时,该任一位置的声音数据模拟的声音为:在当前时刻该目标场景内的各个声源或该目标场景中该任一位置所在的声音传播区域内的各个声源所发出的声音传播至该任一位置的声音。
图2是本申请实施例提供的一种声音获取系统的示意图,该系统200包括声音数据计算模型库201以及计算设备202,其中,该声音数据计算模型库201用于存储目标应用中每个虚拟场景中至少一个位置对应的声音数据计算模型,一个位置对应的声音数据计算模型用于计算历史时刻该任一位置的声音数据。该声音数据模型库201可以配置在该计算设备202内,或者配置在该计算设备202以外的任一存储设备内。
在一种可能的实现方式中,当该计算设备202接收到用于获取目标场景中任一位置的声音数据计算模型的请求后,该计算设备202查询该声音数据模型库201中是否存在该任一位置对应的声音数据计算模型,若查询到该任一位置对应的声音数据计算模型,则该计算设备202根据查询到该任一位置对应的声音数据计算模型,获取当前时刻该任一位置对应的声音数据计算模型。若没有查询到该任一位置对应的声音数据计算模型,则该计算设备202根据该任一位置的位置信息以及该目标场景内的声源,计算当前时刻该任一位置对应的声音数据计算模型。
在一种可能的实现方式中,该计算设备202也可以在云端计算当前时刻该任一位置对应的声音数据计算模型。例如,系统200还包括子计算设备(node)203,子计算设备203位于云端,例如图2中的子计算设备203a-d。子计算设备203可以作为该计算设备202的远端计算设备或旁挂计算设备,为该计算设备202提供计算服务。其中,子计算设备203为该计算设备202所提供的计算服务可以是:计算目标场景中各个位置的声音数据计算模型,或者,用于计算目标场景中各个位置的子声音数据计算模型。子计算设备203可以是包括一个或多个服务器的服务器集群。
在一种可能的实现方式中,若没有查询到该任一位置对应的声音数据计算模型,该计算设备202请求子计算设备203计算目标场景中当前时刻该任一位置的声音数据计算模型。子计算设备203计算目标场景中当前时刻该任一位置的声音数据计算模型,并向计算设备202返回当前时刻该任一位置的声音数据计算模型。
在另一种可能的实现方式中,若没有查询到该任一位置对应的声音数据计算模型,该计算设备202请求子计算设备203计算目标场景中当前时刻该任一位置的子声音数据计算模型,子计算设备203计算目标场景中当前时刻该任一位置的子声音数据计算模型,并向计算设备202返回当前时刻该任一位置的子声音数据计算模型。该计算设备202根据当前时刻任一位置的各个子声音数据计算模型,生成当前时刻该任一位置的声音数据计算模型。
在一种可能的实现方式中,若该系统200中的子计算设备203的个数大于1,该系统200还包括调度设备204,该调度设备204和该系统200中的子计算设备203均可以位于云端,该调度设备204和为云端服务器。在一种可能的实现方式中,该调度设备204包括通信接口41和调度节点42,如图2所示。其中,该通信接口41接收该计算设备202的请求,该调度节点42根据该计算设备202的请求,调度子计算设备203来计算声音数据计算模型或者子声音数据计算模型,并通过通信接口41向该计算设备202返回子计算设备203计算出的声音数据计算模型或者子声音数据计算模型。在一种可能的实现方式中,该调度节点42还可以根据各个子计算设备203计算出的子声音数据计算模型,生成声音数据计算模型,并将声音数据计算模型返回给计算设备202,而不将各个子计算设备203计算出的子声音数据计算模型返回给计算设备202。
在一种可能的实现方式中,调度设备204和/或子计算设备203也可以访问声音数据计算模型库201,在声音数据计算模型库201中存储各自计算出的声音数据计算模型或子声音数据计算模型。需要说明的是,调度设备204和子计算设备203为可选设备。
在一种可能的实现方式中,该计算设备202包括引擎插件21(如声音引擎),由引擎插件21执行上述获取当前时刻该任一位置对应的声音数据计算模型的过程。
在一种可能的实现方式中,该计算设备202为至少一个计算设备所组成的计算设备集群,可以位于云端。例如一个或多个服务器所组成的服务器集群,该计算设备202为目标应用的服务器。此时,该系统200还包括终端205(如安装有目标应用的客户端),该计算设备202可以根据当前时刻该任一位置对应的声音数据计算模型,获取当前时刻该任一位置的声音数据,并将声音数据返回为终端,由终端播放通过声音播放设备在目标场景中播放该声音数据,声音播放设备例如声卡或者耳机。
在一种可能的实现方式中,该计算设备202为终端,该计算设备202可以从声音数据计算模型库查询当前时刻该任一位置的声音数据计算模型,若查询不到,请求子计算设备203计算当前时刻该任一位置的声音数据计算模型。计算设备202根据子计算设备203返回的当前时刻该任一位置对应的声音数据计算模型,获取当前时刻该任一位置的声音数据,并通过声音播放设备在目标场景中该播放声音数据。
本申请涉及到的该终端可以为用户设备,也可以称为终端站点、用户终端、用户装置,接入装置,订户站,订户单元,移动站,用户代理,用户装备、便携式终端、膝上型终端、台式终端等其他名称。例如,终端可以是移动电话、笔记本电脑、平板电脑、台式电脑、智能电视、智能可穿戴设备、计算机、人工智能(artificial intelligence,AI)产品智能汽车、智能仪器或物联网(internet of things,IoT)终端等。
为了进一步说明计算设备实时获取目标场景中的声音数据计算模型的过程,参见图3所示的本申请实施提供的一种声音数据计算模型获取方法的流程图。该方法用于获取目标场景中的声音数据计算模型。图3所示的方法流程图,以计算设备为终端为例进行说明。
301、计算设备获取声音获取请求,该声音获取请求指示获取当前时刻目标场景中第一位置处的声音。
其中,该声音获取请求包括目标场景中指定位置的位置信息,该位置信息可以是该指定位置在该目标场景中的坐标。该指定位置为当前时刻该目标场景中该目标虚拟对象的位置,该目标虚拟对象为该目标场景中的任一虚拟对象。可选地,当目标应用中虚拟场景的个数大于1,该目标场景为该目标应用中的任一虚拟场景时,该声音获取请求还包括该目标场景的场景标识。当目标应用中虚拟场景的个数为1,则该声音获取请求也可以不包括该目标场景的场景标识。可选地,该声音获取请求还包括该目标虚拟对象对应的用户标识。
在一种可能的实现方式中,若该目标虚拟对象在该目标场景中发生移动,该计算设备获取该声音获取请求。例如若该目标虚拟对象在该目标场景从第一位置移动至该指定位置,且该第一位置和该指定位置之间的距离大于或等于距离阈值,说明该目标虚拟对象在该目标场景中发生了移动,该第一位置处的声音和指定位置处的声音可能不相同,则触发该计算设备获取该声音获取请求。其中,该第一位置为该目标场景中该指定位置以外的任一位置,该距离阈值可以根据实际应用场景来设置,在此,本申请实施例对该距离阈值不作限定。
在一种可能的实现方式中,若该计算设备为终端,目标用户通过该目标用户的用户标识登录该目标应用,当该目标应用运行后,该计算设备显示该目标场景。该目标用户通过该计算设备,对该目标场景中该用户标识所对应的目标虚拟对象进行移动操作,则该计算设备基于对该目标虚拟对象的移动操作,控制该目标虚拟对象在该目标场景中移动。若该目标虚拟对象的移动距离(例如第一位置与指定位置之间的距离)大于或等于该距离阈值,则触发该计算设备基于当前时刻该目标场景中该目标虚拟对象的位置(即指定位置),生成该声音获取请求,从而该计算设备获取到该声音获取请求。
302、该计算设备在声音数据计算模型库查询与该指定位置对应的声音数据计算模型信息,若查询到与该指定位置对应的声音数据计算模型信息,则执行步骤303,若没有查询到该指定位置对应的声音数据计算模型信息,则执行步骤304-308所示的过程或步骤309-314所示的过程。
其中,该声音数据计算模型库包括多个声音数据计算模型信息,其中,每一声音数据计算模型信息用于计算该目标场景中一个位置处的声音数据,或者说每一声音数据计算模型信息用于计算一个历史时刻该目标场景中一个位置处的声音数据。每个声音数据计算模型信息对应目标场景中一个的位置。任一声音数据计算模型信息包括目标场景中一个位置的位置信息、该位置对应的声音数据计算模型以及该目标场景中的各个声源的位置信息。其中,该目标场景中的各个声源为历史时刻该目标场景中的各个声源,该位置对应的声音数据计算模型用于计算历史时刻该位置的声音数据。相应地,与该指定位置对应的声音数据计算模型信息包括与该指定位置对应的声音数据计算模型、该目标场景中的各声源的位置信息和该指定位置的位置信息。
在一种可能的实现方式中,若该目标场景包括至少一个声音传播区域,任一声音数据计算模型信息不包括该目标场景中的各个声源的位置信息,而是包括历史时刻该任一位置所在声音传播区域内的各个声源的位置信息。
在不同历史时刻或不同用户对应的虚拟对象在目标场景中的任一位置时,目标场景或者该任一位置所在的任一声音传播区域内的部分声源的位置可能发生变化,出现位置变化的声源所发出到声音在该目标场景或者该任一声音传播区域内的传播路径可能不同,则在该任一位置处的声音数据不同,相应地,在不同历史时刻或不同用户对应的虚拟对象在目标场景中的该任一位置的声音数据计算模型不同。例如,在第一时刻,第一用户的第一虚拟对象位于该任一位置,此时,该任一位置所在的任一声音传播区域内的声源包括声源1和2,其中,声源1和2为该任一声音传播区域内的固定声源,该第一虚拟对象在该任一位置能够听到声源1和2所发出的声音。之后,该第一虚拟对象发生了移动,并在第二时刻移动至该任一声音传播区域内该任一位置之外的其他位置处,且在第二时刻,第二用户的第二虚拟对象位于之前第一虚拟对象所在的第一位置,第一虚拟对象与第二虚拟对象进行互动。若第一虚拟对象和第二虚拟对象在互动过程中发出了声音,则此时该目标场景或者该任一声音传播区域内的声源发生了变化,即增加了第一虚拟对象和第二虚拟对象这2个声源,则此时在该任一位置处的声源包括声源1和2、第一虚拟对象以及第二虚拟对象,则与第一时刻相比,在第二时刻第一位置处的声音发生了变化。可见,在某一时刻该任一位置处的声音由该某一时刻该任一声音传播区域内的声源所决定。
因此,对于该目标场景中的任一位置,该任一位置对应的声音数据计算模型信息可以有至少一个,该任一位置对应的每个声音数据计算模型信息分别对应一个历史时刻或者一个用户。
在一种可能的实现方式中,为了区分出该任一位置的对应的各个声音数据计算模型信息,该任一位置对应的任一声音数据计算模型信息包括在一个历史时刻目标场景或该任一位置所在任一声音传播区域内的各个声源的标识以及各个声源的位置信息,一个声源的标识用于指示该声源,该声源的位置信息用于指示该声源在该目标场景中的位置。为了便于描述,在一个历史时刻目标场景或该任一位置所在任一声音传播区域内的各个声源的标识以及各个声源的位置信息可以记为目标场景或该任一位置所在任一声音传播区域的声源信息。
在一种可能的实现方式中,若该目标场景包括至少一个声音传播区域,为了便于查询,该声音数据计算模型库在存储声音数据计算模型信息时,分声音传播区域存储。例如,对于任一声音传播区域,该声音数据计算模型库将该任一声音传播区域的区域范围与该任一声音传播区域内各个位置对应的声音数据计算模型信息进行关联存储,如下述表1所示,表1以目标场景包括声音传播区域1和2为例,声音传播区域1和2的区域范围分别为区域范围1和2。其中,区域范围1中的位置1和位置2的位置信息分别为位置信息1和2,位置1对应2个声音数据计算模型,分别为声音数据计算模型1和2,声音数据计算模型1和2对应的声音传播区域1的2个声源位置信息,分别为声源位置信息1和2。同理,位置2的声音数据计算模型为声音数据计算模型3,对应声音传播区域1的声源位置信息3。声音传播区域2中位置3的位置信息为位置信息3,位置3的声音数据计算模型为声音数据计算模型4,对应声音传播区域2的声源位置信息3。
表1
Figure BDA0003174170080000091
在一种可能的实现方式中,本步骤302包括下述步骤3021-3024。
步骤3021、该计算设备向该声音数据计算模型库发送模型查询请求,该模型查询请求包括该指定位置的位置信息。
步骤3022、该声音数据计算模型库接收该模型查询请求,并基于该模型查询请求,查询与该指定位置对应的声音数据计算模型信息。
该声音数据计算模型库在接收到该模型查询请求后,从该模型查询请求中获取该指定位置的位置信息,并基于该指定位置的位置信息,从存储的声音数据计算模型信息中,查询与该指定位置对应的声音数据计算模型信息。若能够查询到与该指定位置对应的声音数据计算模型信息,则该声音数据计算模型库生成查询成功响应,该查询成功响应包括与该指定位置对应的声音数据计算模型信息。若没有查询到与该指定位置对应的声音数据计算模型信息,则该声音数据计算模型库生成查询失败响应,该查询失败响应指示该指定位置对应的声音数据计算模型信息查询失败。
其中,该声音数据计算模型库从存储的声音数据计算模型信息中,查询与该指定位置对应的声音数据计算模型信息包括:该声音数据计算模型库从存储的声音数据计算模型信息中查询包括该指定位置的位置信息的声音数据计算模型信息,若查询到包括该指定位置的位置信息的声音数据计算模型信息,则声音数据计算模型库将包括该指定位置的位置信息的声音数据计算模型信息,确定与为该指定位置对应的声音数据计算模型信息。
步骤3023、若查询到与该指定位置对应的声音数据计算模型信息,该声音数据计算模型库向该计算设备发送查询成功响应,若没有查询到与该指定位置对应的声音数据计算模型信息,该声音数据计算模型库向该计算设备发送查询失败响应。
步骤3024、该计算设备接收查询成功响应或者查询失败响应。
若该计算设备接收到查询成功响应,则该计算设备从该查询成功响应中获取与该指定位置对应的声音数据计算模型。若该计算设备接收到查询失败响应,则说明没有查询到该指定位置对应的声音数据计算模型。
303、该计算设备根据与该指定位置对应的声音数据计算模型信息,确定目标声音数据计算模型。
其中,该目标声音数据计算模型为当前时刻该指定位置的声音数据计算模型,用于计算当前时刻该指定位置处的声音数据。
在一种可能的实现方式中,若该目标场景或者该指定位置所在的目标声音传播区域中的各个声源的位置均未发生变化,该计算设备将与该指定位置对应的声音数据计算模型信息内的声音数据计算模型,确定为该目标声音数据计算模型。其中,该目标场景或者该目标声音传播区域中的各个声源的位置未发生变化是指当前时刻与该指定位置对应的声音数据计算模型信息所对应的历史时刻相比,该目标场景或者该目标声音传播区域中的各个声源的位置没有发生变化,且没有新增的声源,也没有减少的声源。
该计算设备确定当前时刻该指定位置对应的声源信息,该声源信息包括当前时刻该目标场景或者目标声音传播区域中各个声源的标识以及各个声源的位置信息。若与该指定位置对应的声音数据计算模型信息有至少一个,对于与该指定位置对应的任一声音数据计算模型信息,若该任一声音数据计算模型信息中的声源信息与当前时刻该指定位置对应的声源信息相同,则说明该目标场景或者该目标声音传播区域中的声源的位置没有发生变化,且没有增加新的声源,声源也没有减少,该计算设备将任一声音数据计算模型信息中的声音数据计算模型确定为该目标声音数据计算模型。
在另一种可能的实现方式中,该计算设备确定该目标场景或该目标声音传播区域中的至少一个声源的位置出现变化,该计算设备根据该位置出现变化的至少一个声源的位置信息以及与该指定位置对应的声音数据计算模型信息,计算该目标声音数据计算模型。其中,该位置出现变化的至少一个声源包括当前时刻与该指定位置对应的声音数据计算模型信息所对应的历史时刻相比,该目标场景或该目标声音传播区域中出现移动且移动距离大于目标范围的声源、新增加的声源或者减少的声源中的至少一种。在一种可能的实现方式中,位置发生变化的声源包括该目标场景或者目标声音传播区域内的非固定声源。
其中,该计算设备确定该目标场景或该目标声音传播区域中的至少一个声源的位置出现变化包括:该计算设备基于当前时刻该指定位置对应的声源信息以及与该指定位置对应的任一声音数据计算模型信息内的声源信息,确定该目标场景或者目标声音传播区域中的至少一个声源的位置出现变化。例如该计算设备通过对当前时刻该指定位置对应的声源信息以及与该指定位置对应的任一声音数据计算模型信息内的声源信息进行对比,确定该目标场景或者目标声音传播区域中新增的声源、减少的声源以及出现移动且移动距离大于目标范围的声源,并将新增的声源、减少的声源以及出现移动且移动距离大于目标范围的声源确定为目标场景或者该目标声音传播区域内位置出现变化的声源。
在一种可能的实现方式中,若该目标场景或者目标声音传播区域中的至少一个声源的位置出现变化,该计算设备根据当前时刻的至少一个声源的位置信息,对与该指定位置对应的任一声音数据计算模型信息内的声音数据计算模型进行更新,得到该目标声音数据计算模型。
例如,对于位置出现变化的该至少一个声源中的任一声源,若该任一声源为新增的声源,则该计算设备基于该任一声源的位置信息以及该指定位置的位置信息,生成任一声源对应的子目标声音数据计算模型,该子目标声音数据计算模型用于计算当前时刻该任一声源发出的声音传输至该指定位置的声音,也即是用于计算当前时刻该指定位置处该任一声源的声音数据。该计算设备在该任一声音数据计算模型信息内的声音数据计算模型中增加该子目标声音数据计算模型。若该任一声源为减少的声源,则该计算设备在该任一声音数据计算模型信息内的声音数据计算模型中去除该任一声源对应的子声音数据计算模型,该子声音数据计算模型用于计算历史时刻该任一声源发出的声音传输至该指定位置的声音,也即是用于计算历史时刻该指定位置处该任一声源的声音数据。若该任一声源为发生移动且移动距离超过该目标范围的声源,该计算设备将该任一声音数据计算模型信息内的声音数据计算模型中该任一声源对应的子声音数据计算模型更新为该任一声源对应的子目标声音数据计算模型。
在另一种可能的实现方式中,该计算设备将该位置出现变化的至少一个声源的位置信息,以及与该指定位置对应的声音数据计算模型信息发送至子计算设备。子计算设备根据该至少一个声源的位置信息,对与该指定位置对应的任一声音数据计算模型信息内的声音数据计算模型进行更新,得到该目标声音数据计算模型,并向该计算设备发送该目标声音数据计算模型。该计算设备接收该目标声音数据计算模型。其中,子计算设备根据该至少一个声源的位置信息,对与该指定位置对应的任一声音数据计算模型信息内的声音数据计算模型进行更新的过程与该计算设备根据当前时刻该至少一个声源的位置信息,对与该指定位置对应的任一声音数据计算模型信息内的声音数据计算模型进行更新的过程同理。
本步骤303所示的过程也即是计算设备根据声音数据计算模型库中与该指定位置对应的声音数据计算模型信息,获取目标声音数据计算模型的过程。
304、若没有查询到该指定位置对应的声音数据计算模型信息,该计算设备向子计算设备发送该声音数据计算模型获取请求。
其中,该声音数据计算模型获取请求包括该指定位置的位置信息。可选地,若子计算设备不知晓当前时刻目标场景中各个声源的位置信息,则该声音数据计算模型请求还包括该指定位置所在目标场景或所在目标声音传播区域的声源信息,其中,所在目标场景的声源信息包括当前时刻该目标场景中各个声源的位置信息。目标声音传播区域的声源信息包括当前时刻目标声音传播区域中各个声源的位置信息。可选地,该目标场景的声源信息还包括当前时刻该目标场景中各个声源的标识。目标声音传播区域的声源信息还包括当前时刻该目标声音传播区域中各个声源的标识。当然,若子计算设备不知晓当前时刻目标场景中各个声源的位置信息,则该声音数据计算模型获取请求可以不包括该目标场景或目标声音传播的声源信息。
可选地,当目标应用中虚拟场景的个数大于1,该目标场景为该目标应用中的任一虚拟场景时,该声音数据计算模型获取请求还包括该目标场景的场景标识。
在一种可能的实现方式中,该计算设备根据该目标场景或者目标声音传播区域内的声源以及该各个遮挡物的声音传播影响因素,预测计算出该目标声音数据计算模型所需要消耗的计算资源,若需要消耗的计算资源大于或者等于计算资源阈值,则该计算设备执行本步骤304,以降低该计算设备计算资源的消耗。其中,一个遮挡物的声音传播影响因素包括该遮挡物在该目标场景中的位置信息、该遮挡物的材质信息以及该遮挡物的遮挡面积中的至少一个。该计算资源可以是该计算设备的图像处理器(graphics processing unit,GPU)或者中央处理器(central processing unit,CPU)的负载,例如,若该计算设备采用RTX/optix系列的显卡进行加速计算,则该计算资源为GPU的负载,该计算设备采用光线追踪内核(embree)进行加速计算,该计算资源为CPU的负载。该计算资源阈值可根据具体应用场景来设置,在此本申请实施例对该计算资源阈值不作赘述。
305、该子计算设备接收该声音数据计算模型获取请求。
306、该子计算设备基于该声音数据计算模型获取请求,获取该目标声音数据计算模型。
当该子计算设备接收到该声音数据计算模型获取请求后,该子计算设备从该声音数据计算模型获取请求中解析出该指定位置的位置信息、该目标场景的场景标识、该目标场景的声源信息或者该目标声音传播区域的声源信息中的至少一个。
该子计算设备基于该指定位置的位置信息以及该目标场景的场景标识,确定当前时刻目标场景或者该目标声音传播区域内各个声源的位置信息以及各个遮挡物的声音传播影响因素。该子计算设备基于该目标场景或者该目标声音传播区域内各个声源的位置信息、各个遮挡物的声音传播影响因素以及该指定位置的位置信息,计算该目标声音数据计算模型。
例如,该子计算设备基于声音传播原理,当前时刻该目标场景或目标声音传播区域内各个声源的位置信息以及遮挡物的声音传播影响因素,模拟每个声源发出的声音经过该目标场景或该目标声音传播区域内的各个遮挡物,传播至该指定位置的传播路径。该计算设备基于确定出的传播路径,构建该目标声音计算模型。该目标声音计算模型以数学公式的形式体现当前时刻该目标场景或目标声音传播区域内声源所发出的声音的传播过程。如声音传播的直径路径和间接路径、直接路径和间接路径中遮挡物的遮挡导致声音传播变向、遮挡物对声源发出的声音的反射、吸收以及投射、近似直接路径对声源发出的声音的衍射、声音传播的方向、声音在传播过程中的衰减以及头相关传递函数(head-relatedtransfer function,HRTF)等。
在一种可能的实现方式中,子计算设备基于该目标声音数据计算模型、该指定位置的位置信息以及该目标场景或该目标声音传播区域内各个声源的位置信息,生成该指定位置对应的声音数据计算模型信息,并将该声音数据计算模型信息存储至声音数据计算模型库。
在另一种可能的实现方式中,该计算设备无权访问声音数据计算模型库,而该计算设备有权限访问声音数据计算模型库,该计算设备不执行上述步骤302-303所示的过程,而是直接执行步骤304。该子计算设备接收到该声音数据计算模型获取请求,该子计算设备执行上述步骤302-303,或执行本步骤306,或执行下述步骤309。
307、该子计算设备向该计算设备发送该目标声音数据计算模型。
308、该计算设备接收该目标声音数据计算模型。
需要说明的是,上述步骤304-308所示的过程为该计算设备从一个子计算设备获取目标声音数据计算模型的过程,该步骤304-308所示的为可选过程。
309、若没有查询到该指定位置对应的声音数据计算模型信息,该计算设备向多个子计算设备分别发送子声音数据计算模型获取请求,该子声音数据计算模型获取请求指示获取当前时刻该目标场景中该指定位置的子声音数据计算模型,该子声音数据计算模型用于计算该目标场景中该指定位置处的部分声音数据。
其中,该子声音数据计算模型获取请求包括该指定位置的位置信息。可选地,若子计算设备不知晓当前时刻目标场景中各个声源的位置信息,则该子声音数据计算模型请求还包括该目标场景或目标声音传播区域的声源信息。当然,若子计算设备知晓当前时刻目标场景中各个声源的位置信息,则该子声音数据计算模型获取请求可以不包括该目标场景或目标声音传播区域的声源信息。可选地,当目标应用中的虚拟场景的个数大于1,该目标场景为该目标应用中的任一虚拟场景时,该子声音数据计算模型获取请求还包括该目标场景的场景标识。可选地,该子声音数据计算模型获取请求包括当前时刻目标场景或目标声音传播区域内的部分声源的标识。
在一种可能的实现方式中,该计算设备根据目标场景或该目标声音传播区域中的各个声源以及该各个遮挡物的声音传播影响因素,预测计算出该目标声音数据计算模型所需要消耗的计算资源,若需要消耗的计算资源大于或者等于计算资源阈值,则该计算设备执行本步骤309,以降低该计算设备计算资源的消耗。
310、对于该多个子计算设备中的任一子计算设备,该任一子计算设备接收该子声音数据计算模型获取请求。
311、该任一子计算设备基于该指定位置以及当前时刻该目标场景内或者目标声音传播区域内的部分声源,获取子目标声音数据计算模型。
其中,该子目标计算模型用于计算当前时刻该目标场景中该指定位置处的部分声音数据,则部分声音数据用于模拟当前时刻该指定位置处该目标场景或目标声音传播区域内的部分声源所发出的声音。
当该任一子计算设备接收到该子声音数据计算模型获取请求后,该任一子计算设备从该子声音数据计算模型获取请求中解析出该指定位置的位置信息、该目标场景的场景标识以及部分声源的标识。该任一子计算设备基于该目标场景的场景标识、部分声源的标识,确定当前时刻该目标场景或该目标声音传播区域内该部分声源的位置以及遮挡物的声音传播影响因素,并执行本步骤311。
在一种可能的实现方式中,该任一子计算设备基于声音传播原理,当前时刻该目标场景或该目标声音传播区域内该部分声源的位置信息以及遮挡物的声音传播影响因素,确定当前时刻该部分声源发出的声音,经过该目标场景或该目标声音传播区域的各个遮挡物,传播至该指定位置的传播路径。该计算设备基于确定出的传播路径,构建该子目标声音数据计算模型。
312、该任一子计算设备向该计算设备发送该子目标声音数据计算模型。
313、该计算设备接收多个子计算设备发送的子目标声音数据计算模型。
314、该计算设备基于接收到的多个子目标声音数据计算模型,生成该目标声音数据计算模型。
在一种可能的实现方式中,该计算设备将该多个子目标声音数据计算模型合并为该目标声音数据计算模型。
在一种可能的实现方式中,该计算设备基于该目标声音数据计算模型、该指定位置的位置信息以及该目标场景或该目标声音传播区域内各个声源的位置信息,生成该指定位置对应的声音数据计算模型信息,并将该声音数据计算模型信息存储至声音数据计算模型库。
需要说明的是,上述步骤309-314所示的过程,为该计算设备通过分布式计算,获取该目标声音数据计算模型的过程。步骤309-314所示的过程为可选过程。
315、该计算设备根据该目标场景中的声源以及该目标声音数据计算模型,获取目标声音数据,该目标声音数据用于模拟当前时刻该目标场景中该指定位置处的声音。
其中,该目标声音数据用于模拟当前时刻该目标场景中该指定位置处的目标虚拟对象所能听到的声音,或者也可以理解为用于模拟当前时刻该目标场景中该指定位置处该目标场景内的各个声源的总声音。
在一种可能的实现方式中,该计算设备获取当前时刻该目标场景或该目标声音传播区域中各个声源的声源数据,一个声源的声源数据用于模拟该声源所发出的声音。之后,该计算设备将获取到的各个声源的声源数据作为输入数据,输入该目标声音数据计算模型,该目标声音数据计算模型基于输入的各个声源的声源数据,模拟将各个声源发出的声音传播至该指定位置的传播过程,输出该目标声音数据。
316、该计算设备在该目标场景中的该指定位置处播放该目标声音数据。
本步骤316所示的过程也即是该计算设备输出目标声音数据的过程。
本申请实施例提供的方法,通过在接收到对目标场景中指定位置处的声音数据计算模型获取请求后,计算设备无需重复计算目标场景中指定位置处的声音数据计算模型,而是根据声音数据计算模型库中与所述指定位置对应的声音数据计算模型信息,获取当前时刻指定位置处的声音数据计算模型,从而降低了计算设备计算声音数据计算模型的计算量。并且,当查询不到指定位对应的声音数据计算模型信息时,该计算设备还可以从子计算设备获取该目标声音数据计算模型,或者通过分布式计算的方式,获取目标声音数据计算模型,从而避免计算设备实时计算该目标场景中各个位置的声音数据计算模型,进一步,降低了该计算设备所消耗的计算资源,提高了计算设备获取声音数据计算模型的效率。
在一种可能的实现方式中,当该计算设备为服务器时,该计算设备还可以先预计算多个声音数据计算模型,并将该多个声音数据计算模型存储在声音数据计算模型库。如图4所示。其中,图4是本申请实施例提供的一种声音数据计算模型存储方法的流程图,图4以存储一个声音数据计算模型为例进行说明。
401、该计算设备在目标场景中选取一个预计算位置。
其中,该预设计算位置为该目标场景中的任一位置。在一种可能的实现方式中,该计算设备按照预设规则,从该目标场景中选取一个预计算位置,其中,该预设规则可以是随机选取规则或者其他选取规则。其他选取规则,例如选取当前时刻目标场景中任一虚拟对象所在的位置为预计算位置。
402、该计算设备基于该预计算位置的位置信息以及当前时刻目标场景中的声源的位置信息,计算该预计算位置的声音数据计算模型。
在一种可能的实现方式中,该计算设备基于该目标场景或该预计算位置所在声音传播区域内各个声源的位置信息、各个遮挡物的声音传播影响因素以及该预计算位置的位置信息,计算该预计算位置的声音数据计算模型。本步骤401所示的过程与上述步骤306中子计算设备基于该目标场景或该目标声音传播区域内各个声源的位置信息、各个遮挡物的声音传播影响因素以及该指定位置的位置信息,计算该目标声音数据计算模型的过程同理,在此,本申请实施例对本步骤402不作赘述。其中,上述步骤402为可选步骤。该计算设备可以不执行402,执行下述步骤403-406所示的过程获取该预计算位置的声音数据计算模型。
403、该计算设备向子计算设备发送声音数据计算模型获取请求,该声音数据计算模型获取请求指示获取当前时刻该目标场景中该预计算位置的声音数据计算模型。
其中,该声音数据计算模型获取请求包括该预计算位置的位置信息。可选地,若子计算设备不知晓当前时刻目标场景中各个声源的位置信息,则该声音数据计算模型请求还包括该预计算位置所在目标场景或所在声音传播区域的声源信息,其中,所在目标场景的声源信息包括当前时刻该目标场景中各个声源的位置信息。所在声音传播区域的声源信息包括当前时刻该预设位置所在的声音传播区域中各个声源的位置信息。可选地,该目标场景的声源信息还包括当前时刻该目标场景中各个声源的标识,所在声音传播区域的声源信息还包括当前时刻该预设位置所在的声音传播区域中各个声源的标识。此时,本步骤403所示的过程也即是计算设备将该预计算位置的位置信息、该预计算位置所在目标场景的声源信息发送至子计算设备的过程。当然,若子计算设备知晓当前时刻目标场景中各个声源的位置信息,则该声音数据计算模型获取请求可以不包括该预计算位置所在目标场景或所在声音传播区域的声源信息。
可选地,当目标应用中虚拟场景的个数大于1,该目标场景为该目标应用中的任一虚拟场景时,该声音数据计算模型获取请求还包括该目标场景的场景标识。
404、该子计算设备接收该声音数据计算模型获取请求。
405、该子计算设备基于该声音数据计算模型获取请求,获取该预计算位置的声音数据计算模型。
本步骤405所示的过程与上述步骤306所示的过程同理,在此,本申请实施例对本步骤405不作赘述。
406、该子计算设备向该计算设备发送该声音数据计算模型。
407、该计算设备接收该声音数据计算模型。
上述步骤403-407所示的过程为该计算设备从子计算设备获取该预计算位置的声音数据计算模型的过程。其中,上述步骤403-407所示的过程为可选过程。在一种可能的实现方式中,不执行403-407所示的过程,通过执行下述步骤408-413所示的过程,来获取该预计算位置的声音数据计算模型。
408、该计算设备向多个子计算设备分别发送子声音数据计算模型获取请求,该子声音数据计算模型获取请求指示获取当前时刻该目标场景中该预计算位置的子声音数据计算模型,该子声音数据计算模型用于计算该目标场景中该预计算位置处的部分声音数据。
其中,该子声音数据计算模型获取请求包括该预设位置的位置信息。可选地,当目标应用中虚拟场景的个数大于1,该目标场景为该目标应用中的任一虚拟场景时,该子声音数据计算模型获取请求还包括该目标场景的场景标识。可选地,该子声音数据计算模型请求包括当前时刻该目标场景或者该预计算位置所在声音传播区域内的部分声源的标识。可选地,若子计算设备不知晓当前时刻目标场景中各个声源的位置信息,则该子声音数据计算模型请求还包括该预计算位置所在目标场景或者所在声音传播区域的声源信息。当然,若子计算设备知晓当前时刻目标场景中各个声源的位置信息,则该子声音数据计算模型获取请求可以不包括该预计算位置所在目标场景或所在声音传播区域的声源信息。
409、对于该多个计算设备中的任一子计算设备,该任一子计算设备接收该子声音数据计算模型获取请求。
410、该任一子计算设备基于该预计算位置以及当前时刻该目标场景内的部分声源,获取该预计算位置的子声音数据计算模型。
其中,该子声音数据计算模型用于计算当前时刻该目标场景中该预计算位置处的部分声音。该任一子计算设备基于该预计算位置以及当前时刻该目标场景或所在声音传播区域内的部分声源,获取该预计算位置的子声音数据计算模型,该过程与上述步骤311所示的过程同理,在此,本申请实施例对本步骤410不作赘述。
411、该任一子计算设备向该计算设备发送该子声音数据计算模型。
412、该计算设备接收多个子计算设备发送的子声音数据计算模型。
413、该计算设备基于接收到的多个子声音数据计算模型,生成该预计算位置的声音数据计算模型。
在一种可能的实现方式中,该计算设备将该多个子声音数据计算模型合并为该预计算位置的声音数据计算模型。
需要说明的是,上述步骤408-413所示的过程,为该计算设备通过分布式计算,获该预计算位置的一个声音数据计算模型的过程。上述步骤408-413所示的过程为可选过程。
414、当该获取到该预计算位置的声音数据计算模型后,该计算设备将该预计算位置的声音数据计算模型、该预计算位置的位置信息和该预计算位置所在目标场景中的各声源的位置信息存储至该声音数据计算模型库。
在一种可能的实现方式中,该计算设备将将该预计算位置的声音数据计算模型、该预计算位置的位置信息和该预计算位置所在目标场景中的各声源的位置信息作为该预设位置对应的声音数据计算模型信息,并将该声音数据计算模型信息发送至该声音数据计算模型库,由声音数据计算模型库存储该声音数据计算模型信息。
当该计算设备每获取到目标场景中一个预计算位置的声音数据计算模型后,均生成与该预计算位置对应的声音数据计算模型信息,并将该声音数据计算模型信息存储至声音数据计算模型库,以便后续能够复用声音数据计算模型库中存储的与该预计算位置对应的声音数据计算模型,以达到多用户共用同一声音数据计算模型的目的。
在一种可能的实现方式中,一个位置对应的声音数据计算模型也可以称为滤波器(filter),该计算设备可以预计算该目标场景中各个位置对应的filter,并将各个位置与对应的filter存储在声音数据计算模型库。例如图5所示的本申请实施例提供的一种目标场景的示意图,图5所示的目标场景内的多个位置所对应的filter已经预计算完成,且已经在声音数据计算模型库中存储于多个位置对应的filter。
本申请实施例提供的方法,该计算设备预计算目标场景中预计算位置处的声音数据计算模型,或者从子计算设备获取该目标场景中预计算位置的声音数据计算模型,或者通过分布式计算的方式,获取该目标场景中预计算位置的声音数据计算模型,以便后续当各个用户的虚拟对象移动到该预计算位置时,该终端或者服务器可以根据该预计算位置的声音数据计算模型,获取未来时刻该预计算位置的声音数据计算模型,从而避免计算设备实时计算该目标场景中各个位置的声音数据计算模型,降低了该计算设备的计算资源的消耗,提高了计算设备获取声音数据计算模型的效率,例如图4中的声音数据计算模型库中的各个声音数据计算模型信息,为服务器预计算的声音数据计算模型信息,例如下述图6中的各个声音数据计算模型信息,为服务器预计算的声音数据计算模型信息。
在一种可能的实现方式中,该计算设备为目标应用的服务器,该计算设备实时向终端提供目标场景中各个位置的声音数据,为了进一步说明该过程,参见图6所示的本申请实施提供的一种声音数据计算模型获取方法的流程图。
601、终端向该计算设备发送声音获取请求,该声音获取请求指示获取当前时刻目标场景中指定位置处的声音。
该目标用户通过该终端,对该目标场景中该目标用户的用户标识所对应的目标虚拟对象进行移动操作,则该终端基于对该目标虚拟对象的移动操作,控制该目标虚拟对象在该目标场景中移动。若该目标虚拟对象的移动距离(例如第一位置与指定位置之间的距离)大于或等于该距离阈值,则触发该终端基于当前时刻该目标场景中该目标虚拟对象的位置(即该指定位置),生成该声音获取请求,并向该计算设备发送该声音获取请求。
602、该计算设备接收终端的声音获取请求。
603、该计算设备获取当前时刻该指定位置的目标声音数据计算模型。
其中,计算设备通过执行上述步骤302-314所示的过程,来获取该目标声音数据计算模型,或者,该计算设备基于该指定位置的位置信息以及当前时刻目标场景中声源的位置信息,计算当前时刻该指定位置的声音数据计算模型。
在一种可能的实现方式中,该计算设备基于该目标场景或者该指定位置所在的目标声音传播区域内各个声源的位置信息、各个遮挡物的声音传播影响因素以及该指定位置的位置信息,计算该指定位置的声音数据计算模型。该过程与上述步骤306中该子计算设备基于该目标场景或该目标声音传播区域内各个声源的位置信息、各个遮挡物的声音传播影响因素以及该指定位置的位置信息,计算该目标声音数据计算模型的过程同理。
604、该计算设备根据该目标场景中的声源以及该目标声音数据计算模型,获取目标声音数据,该目标声音数据用于模拟当前时刻该目标场景中该指定位置处的声音。
其中,本步骤604所示的过程与上述步骤315所示的过程同理,在此,本申请实施例对本步骤604不作赘述。
605、该计算设备向终端发送该目标声音数据。
其中,本步骤605所示的过程也即是该计算设备输出目标声音数据的过程。
606、该终端接收该目标声音数据,并在该目标场景中的该指定位置播放该目标声音数据。
本申请实施例提供的方法,通过计算设备根据声音数据计算模型库中与所述指定位置对应的声音数据计算模型信息,获取当前时刻指定位置处的声音数据计算模型,而无需重复计算目标场景中指定位置处的声音数据计算模型,从而降低了计算设备计算声音数据计算模型的计算量,降低了该计算设备所消耗的计算资源,提高了该计算设备获取声音计算模型的效率。
需要说明是,在一种可能的实现方式中,该图6中的终端可以作为目标设备。在另一种可能的实现方式中,目标应用的服务器可以作为目标设备,而终端不作为目标设备。对于这种情况,该终端向目标设备发送声音获取请求,该目标设备基于该声音获取请求,生成该指定位置的声音数据计算模型获取请求,并向该计算设备发送该声音数据计算模型获取请求。计算设备在接收到声音数据计算模型获取请求后,基于声音数据计算模型获取请求,获取目标声音数据计算模型,并向目标设备发送目标声音数据计算模型。之后,目标设备根据该目标场景中的声源以及该目标声音数据计算模型,获取目标声音数据,将目标声音数据发送至终端,由终端在目标场景中的指定位置播放该目标声音数据。
在一种可能的实现方式中,本申请中的计算设备包括目标应用的声音引擎,图3和图6中计算设备所执行的步骤可以由目标应用的声音引擎来执行。例如图7所示的本申请实施例提供的一种声音数据计算模型获取方法的示意图,目标应用向该声音引擎上传虚拟对象的场景信息(scene information),例如虚拟对象在目标应用的目标场景中的任一位置的位置信息。该声音引擎接收到该场景信息后,仿真模拟(simulation)目标场景中的声源发出的声音传播至任一位置的过程,得到该任一位置的filters(即声音数据计算模型),为了提高计算速度,仿真模拟的过程可以在显卡上执行。声音引擎中的过滤器应用(filterapplication)获取目标场景中的声源的干音频(dry audio),其中,干音频也即是声源的声源数据。过滤器应用并将干音频输入任一位置的filters中,filters输出该任一位置的湿音频(wet audio),其中,湿音频也即是用于模拟该任一位置的声音数据。
以上介绍了本申请实施例的方法,以下介绍本申请实施例的装置。应理解,以下介绍的装置具有上述方法中计算设备的任意功能。
图8是本申请实施例提供了一种声音数据计算模型获取装置的结构示意图,所述装置800可以为前面各个实施例或图3、图4或图6中的计算设备的部分,所述装置800用于获取目标场景中的声音数据计算模型,所述装置800包括:
通信模块801,用于接收声音数据计算模型获取请求,所述声音数据计算模型获取请求指示获取当前时刻所述目标场景中指定位置处的声音数据计算模型;
处理模块802,用于根据声音数据计算模型库中与所述指定位置对应的声音数据计算模型信息,获取目标声音数据计算模型,所述声音数据计算模型库包括多个声音数据计算模型信息,其中,每一声音数据计算模型信息用于计算所述目标场景中一个位置处的声音数据。
可选地,所述与所述指定位置对应的声音数据计算模型信息包括:
与所述指定位置对应的声音数据计算模型、所述目标场景中的各声源的位置信息和所述指定位置的位置信息。
可选地,所述处理模块802包括:
确定单元,用于确定所述目标场景中的至少一个声源的位置出现变化;
计算单元,用于根据所述位置出现变化的至少一个声源的位置信息以及所述与所述指定位置对应的声音数据计算模型信息,计算所述目标声音数据计算模型。
可选地,所述计算单元用于:
将所述位置出现变化的至少一个声源的位置信息以及所述与所述指定位置对应的声音数据计算模型信息发送至子计算设备;
接收所述子计算设备发送的所述目标声音数据计算模型。
可选地,所述处理模块802还用于:
将所述目标声音数据计算模型、所述指定位置的位置信息和所述位置出现变化的至少一个声源的位置信息存储至所述声音数据计算模型库。
可选地,所述处理模块还用于:
在所述目标场景中选取一个预计算位置;
计算所述预计算位置的声音数据计算模型;
将所述预计算位置的声音数据计算模型、所述预计算位置的位置信息和所述预计算位置所在目标场景中的各声源的位置信息存储至所述声音数据计算模型库。
可选地,所述处理模块还用于:
将所述预计算位置的位置信息、所述预计算位置所在目标场景的声源信息发送至子计算设备;
接收所述子计算设备发送的所述预计算位置的声音数据计算模型。
可选地,所述目标场景为游戏场景或对任一真实环境的仿真场景。
应理解,装置800对应于上述方法实施例中的计算设备,装置800中的各模块和上述其他操作和/或功能分别为了实现方法实施例中的计算设备所实施的各种步骤和方法,具体细节可参见上述方法实施例,为了简洁,在此不再赘述。
应理解,装置800在获取声音数据计算模型时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置800的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置800与上述方法实施例属于同一构思,其具体实现过程详见上述方法实施例,这里不再赘述。
应理解,装置800可以相当于系统200中的计算设备202,或者相当于计算设备202中的执行部件。
图9是根据本申请实施例示出的一种计算设备的结构示意图,该计算设备900可以是图3、图4或图6部分描述的内容中涉及的计算设备。该计算设备900包括至少一个处理器901。可选地,该计算设备900还包括通信总线902、存储器903以及至少一个通信接口904。
处理器901可以是一个通用中央处理器(central processing unit,CPU)、网络处理器(NP)、微处理器、或者可以是一个或多个用于实现本申请方案的集成电路,例如,专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
通信总线902用于在上述组件之间传送信息。通信总线902可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器903可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器903可以是独立存在,并通过通信总线902与处理器901相连接。存储器903也可以和处理器901集成在一起。
通信接口904使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口904包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合等。
在具体实现中,作为一种实施例,处理器901可以包括一个或多个CPU,如图9中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,计算设备900可以包括多个处理器,如图9中所示的处理器901和处理器905。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,计算设备900还可以包括输出设备906和输入设备907。输出设备906和处理器901通信,可以以多种方式来显示信息。例如,输出设备906可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备907和处理器901通信,可以以多种方式接收用户的输入。例如,输入设备907可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器903用于存储执行本申请方案的程序代码910,处理器901可以执行存储器903中存储的程序代码910。也即是,该计算设备900可以通过处理器901以及存储器903中的程序代码910,来实现上文图3、图4或图6实施例提供的声音数据计算模型获取方法。
图10示出了本申请一个示例性实施例提供的终端的结构示意图。该终端1000可以是:智能手机、平板电脑、动态影像专家压缩标准音频层面3(moving picture expertsgroup audio layer III,MP3)播放器、动态影像专家压缩标准音频层面4(moving pictureexperts group audio layer IV,MP4)播放器、笔记本电脑或台式电脑。终端1000还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1000包括有:处理器1001和存储器1002。
处理器1001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1001可以采用数字信号处理(digital signal processing,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑阵列(programmable logicarray,PLA)中的至少一种硬件形式来实现。处理器1001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(centralprocessing unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1001可以在集成有图像处理器(graphics processing unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1001还可以包括人工智能(artificial intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1002中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1001所执行以实现本申请中方法实施例提供的终端所执行的步骤。
在一些实施例中,终端1000还可选包括有:外围设备接口1003和至少一个外围设备。处理器1001、存储器1002和外围设备接口1003之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1003相连。具体地,外围设备包括:射频电路1004、显示屏1005、摄像头组件1006、音频电路1007、定位组件1008和电源1009中的至少一种。
外围设备接口1003可被用于将输入/输出(input/output,I/O)相关的至少一个外围设备连接到处理器1001和存储器1002。在一些实施例中,处理器1001、存储器1002和外围设备接口1003被集成在同一芯片或电路板上;在一些其他实施例中,处理器1001、存储器1002和外围设备接口1003中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1004用于接收和发射射频(radio frequency,RF)信号,也称电磁信号。射频电路1004通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1004将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1004包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1004可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或无线保真(wireless fidelity,WiFi)网络。在一些实施例中,射频电路1004还可以包括近距离无线通信(near field communication,NFC)有关的电路,本申请对此不加以限定。
显示屏1005用于显示用户界面(user interface,UI)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1005是触摸显示屏时,显示屏1005还具有采集在显示屏1005的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1001进行处理。此时,显示屏1005还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1005可以为一个,设置终端1000的前面板;在另一些实施例中,显示屏1005可以为至少两个,分别设置在终端1000的不同表面或呈折叠设计;在再一些实施例中,显示屏1005可以是柔性显示屏,设置在终端1000的弯曲表面上或折叠面上。甚至,显示屏1005还可以设置成非矩形的不规则图形,也即异形屏。显示屏1005可以采用液晶显示屏(liquid crystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)等材质制备。
摄像头组件1006用于采集图像或视频。可选地,摄像头组件1006包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及虚拟现实(virtual reality,VR)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1006还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1007可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1001进行处理,或者输入至射频电路1004以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1000的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1001或射频电路1004的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1007还可以包括耳机插孔。
定位组件1008用于定位终端1000的当前地理位置,以实现导航或基于位置的服务(location based service,LBS)。定位组件1008可以是基于美国的全球定位系统(globalpositioning system,GPS)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源1009用于为终端1000中的各个组件进行供电。电源1009可以是交流电、直流电、一次性电池或可充电电池。当电源1009包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1000还包括有一个或多个传感器1010。该一个或多个传感器1010包括但不限于:加速度传感器1011、陀螺仪传感器1012、压力传感器1013、指纹传感器1014、光学传感器1015以及接近传感器1016。
加速度传感器1011可以检测以终端1000建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1011可以用于检测重力加速度在三个坐标轴上的分量。处理器1001可以根据加速度传感器1011采集的重力加速度信号,控制触摸显示屏1005以横向视图或纵向视图进行用户界面的显示。加速度传感器1011还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1012可以检测终端1000的机体方向及转动角度,陀螺仪传感器1012可以与加速度传感器1011协同采集用户对终端1000的3D动作。处理器1001根据陀螺仪传感器1012采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1013可以设置在终端1000的侧边框和/或触摸显示屏1005的下层。当压力传感器1013设置在终端1000的侧边框时,可以检测用户对终端1000的握持信号,由处理器1001根据压力传感器1013采集的握持信号进行左右手识别或快捷操作。当压力传感器1013设置在触摸显示屏1005的下层时,由处理器1001根据用户对触摸显示屏1005的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1014用于采集用户的指纹,由处理器1001根据指纹传感器1014采集到的指纹识别用户的身份,或者,由指纹传感器1014根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1001授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1014可以被设置终端1000的正面、背面或侧面。当终端1000上设置有物理按键或厂商Logo时,指纹传感器1014可以与物理按键或厂商Logo集成在一起。
光学传感器1015用于采集环境光强度。在一个实施例中,处理器1001可以根据光学传感器1015采集的环境光强度,控制触摸显示屏1005的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1005的显示亮度;当环境光强度较低时,调低触摸显示屏1005的显示亮度。在另一个实施例中,处理器1001还可以根据光学传感器1015采集的环境光强度,动态调整摄像头组件1006的拍摄参数。
接近传感器1016,也称距离传感器,通常设置在终端1000的前面板。接近传感器1016用于采集用户与终端1000的正面之间的距离。在一个实施例中,当接近传感器1016检测到用户与终端1000的正面之间的距离逐渐变小时,由处理器1001控制触摸显示屏1005从亮屏状态切换为息屏状态;当接近传感器1016检测到用户与终端1000的正面之间的距离逐渐变大时,由处理器1001控制触摸显示屏1005从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图10中示出的结构并不构成对终端1000的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由计算设备中的处理器执行以完成上述实施例中的声音数据计算模型获取方法。例如,该计算机可读存储介质是非临时计算机可读存储介质,如只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、只读光盘(compact disc read-only memory,CD-ROM)、磁带、软盘和光数据存储设备等。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中,计算设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得计算设备执行上述声音数据计算模型获取方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中声音方法。
其中,本实施例提供的装置、设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,与上述实施例提供的声音数据计算模型获取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (19)

1.一种声音数据计算模型获取方法,其特征在于,所述方法用于获取目标场景中的声音数据计算模型,所述方法由计算设备执行,所述方法包括:
接收声音数据计算模型获取请求,所述声音数据计算模型获取请求指示获取当前时刻所述目标场景中指定位置处的声音数据计算模型;
根据声音数据计算模型库中与所述指定位置对应的声音数据计算模型信息,获取目标声音数据计算模型,所述声音数据计算模型库包括多个声音数据计算模型信息,其中,每一声音数据计算模型信息用于计算所述目标场景中一个位置处的声音数据。
2.根据权利要求1所述的方法,其特征在于,所述与所述指定位置对应的声音数据计算模型信息包括:
与所述指定位置对应的声音数据计算模型、所述目标场景中的各声源的位置信息和所述指定位置的位置信息。
3.根据权利要求1或2所述的方法,其特征在于,所述根据声音数据计算模型库中与所述指定位置对应的声音数据计算模型信息,获取目标声音数据计算模型包括:
确定所述目标场景中的至少一个声源的位置出现变化;
根据所述位置出现变化的至少一个声源的位置信息以及所述与所述指定位置对应的声音数据计算模型信息,计算所述目标声音数据计算模型。
4.根据权利要求3所述的方法,其特征在于,所述根据所述位置出现变化的至少一个声源的位置信息以及所述与所述指定位置对应的声音数据计算模型信息,计算所述目标声音数据计算模型包括:
将所述位置出现变化的至少一个声源的位置信息以及所述与所述指定位置对应的声音数据计算模型信息发送至子计算设备;
接收所述子计算设备发送的所述目标声音数据计算模型。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述获取目标声音数据计算模型之后,所述方法还包括:
将所述目标声音数据计算模型、所述指定位置的位置信息和所述位置出现变化的至少一个声源的位置信息存储至所述声音数据计算模型库。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述接收声音数据计算模型获取请求之前,所述方法还包括:
在所述目标场景中选取一个预计算位置;
计算所述预计算位置的声音数据计算模型;
将所述预计算位置的声音数据计算模型、所述预计算位置的位置信息和所述预计算位置所在目标场景中的各声源的位置信息存储至所述声音数据计算模型库。
7.根据权利要求6所述的方法,其特征在于,所述计算所述预计算位置的声音数据计算模型包括:
将所述预计算位置的位置信息、所述预计算位置所在目标场景的声源信息发送至子计算设备;
接收所述子计算设备发送的所述预计算位置的声音数据计算模型。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述目标场景为游戏场景或对任一真实环境的仿真场景。
9.一种声音数据计算模型获取装置,其特征在于,所述装置用于获取目标场景中的声音数据计算模型,所述装置包括:
通信模块,用于接收声音数据计算模型获取请求,所述声音数据计算模型获取请求指示获取当前时刻所述目标场景中指定位置处的声音数据计算模型;
处理模块,用于根据声音数据计算模型库中与所述指定位置对应的声音数据计算模型信息,获取目标声音数据计算模型,所述声音数据计算模型库包括多个声音数据计算模型信息,其中,每一声音数据计算模型信息用于计算所述目标场景中一个位置处的声音数据。
10.根据权利要求9所述的装置,其特征在于,所述与所述指定位置对应的声音数据计算模型信息包括:
与所述指定位置对应的声音数据计算模型、所述目标场景中的各声源的位置信息和所述指定位置的位置信息。
11.根据权利要求9或10所述的装置,其特征在于,所述处理模块包括:
确定单元,用于确定所述目标场景中的至少一个声源的位置出现变化;
计算单元,用于根据所述位置出现变化的至少一个声源的位置信息以及所述与所述指定位置对应的声音数据计算模型信息,计算所述目标声音数据计算模型。
12.根据权利要求11所述的装置,其特征在于,所述计算单元用于:
将所述位置出现变化的至少一个声源的位置信息以及所述与所述指定位置对应的声音数据计算模型信息发送至子计算设备;
接收所述子计算设备发送的所述目标声音数据计算模型。
13.根据权利要求9-12中任一项所述的装置,其特征在于,所述处理模块还用于:
将所述目标声音数据计算模型、所述指定位置的位置信息和所述位置出现变化的至少一个声源的位置信息存储至所述声音数据计算模型库。
14.根据权利要求9-13中任一项所述的装置,其特征在于,所述处理模块还用于:
在所述目标场景中选取一个预计算位置;
计算所述预计算位置的声音数据计算模型;
将所述预计算位置的声音数据计算模型、所述预计算位置的位置信息和所述预计算位置所在目标场景中的各声源的位置信息存储至所述声音数据计算模型库。
15.根据权利要求14所述的装置,其特征在于,所述处理模块还用于:
将所述预计算位置的位置信息、所述预计算位置所在目标场景的声源信息发送至子计算设备;
接收所述子计算设备发送的所述预计算位置的声音数据计算模型。
16.根据权利要求9-15中任一项所述的装置,其特征在于,所述目标场景为游戏场景或对任一真实环境的仿真场景。
17.一种计算机程序产品,其特征在于,所述计算机程序产品包括程序代码,当所述程序代码被计算设备集群运行时,使得所述计算设备集群执行如权利要求的1至8中任一所述的方法。
18.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的程序代码,以使得所述计算设备集群执行如权利要求1至8中任一项所述的方法。
19.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器读取以使计算设备集群执行如权利要求1至8中任一项所述的方法。
CN202110827186.8A 2021-07-21 2021-07-21 声音数据计算模型获取方法、装置、计算设备及存储介质 Pending CN115671730A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110827186.8A CN115671730A (zh) 2021-07-21 2021-07-21 声音数据计算模型获取方法、装置、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110827186.8A CN115671730A (zh) 2021-07-21 2021-07-21 声音数据计算模型获取方法、装置、计算设备及存储介质

Publications (1)

Publication Number Publication Date
CN115671730A true CN115671730A (zh) 2023-02-03

Family

ID=85044345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110827186.8A Pending CN115671730A (zh) 2021-07-21 2021-07-21 声音数据计算模型获取方法、装置、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN115671730A (zh)

Similar Documents

Publication Publication Date Title
US20200293154A1 (en) Marker point location display method, electronic device, and computer-readable storage medium
CN109598777B (zh) 图像渲染方法、装置、设备及存储介质
US11962930B2 (en) Method and apparatus for controlling a plurality of virtual characters, device, and storage medium
CN110022363B (zh) 虚拟对象的运动状态修正方法、装置、设备及存储介质
CN110841285B (zh) 界面元素的显示方法、装置、计算机设备及存储介质
JP7026819B2 (ja) カメラの位置決め方法および装置、端末並びにコンピュータプログラム
US20220164159A1 (en) Method for playing audio, terminal and computer-readable storage medium
CN110401898B (zh) 输出音频数据的方法、装置、设备和存储介质
US11962897B2 (en) Camera movement control method and apparatus, device, and storage medium
KR102633468B1 (ko) 핫스팟 맵 표시 방법 및 장치, 그리고 컴퓨터 기기와 판독 가능한 저장 매체
CN111327928A (zh) 歌曲播放方法、装置及系统、计算机存储介质
CN113269877B (zh) 获取房间布局平面图的方法和电子设备
TW202243713A (zh) 虛擬物件的控制方法與裝置、電子設備、非臨時性電腦可讀存儲介質及電腦程式產品
CN109089137A (zh) 卡顿检测方法及装置
CN112559795A (zh) 歌曲播放方法、歌曲推荐方法、装置及系统
CN110152309B (zh) 语音通信方法、装置、电子设备及存储介质
CN112927718B (zh) 感知周围环境的方法、装置、终端和存储介质
CN115671730A (zh) 声音数据计算模型获取方法、装置、计算设备及存储介质
CN113099373B (zh) 声场宽度扩展的方法、装置、终端及存储介质
CN110708582B (zh) 同步播放的方法、装置、电子设备及介质
CN112233146B (zh) 位置推荐方法及装置、计算机可读存储介质和电子设备
CN110428802B (zh) 声音混响方法、装置、计算机设备及计算机存储介质
CN114093020A (zh) 动作捕捉方法、装置、电子设备及存储介质
CN111523876A (zh) 支付方式的显示方法、装置、系统及存储介质
CN113282242B (zh) 分布式存储方法、装置、设备及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication