掌桥专利:专业的专利平台
掌桥专利
首页

空间音频合成方法、电子设备及计算机可读存储介质

文献发布时间:2024-04-18 19:54:45


空间音频合成方法、电子设备及计算机可读存储介质

技术领域

本申请实施例涉及音频处理技术领域,尤其涉及一种空间音频合成方法、电子设备及计算机可读存储介质。

背景技术

空间音频是一种远超立体声、环绕声的音频,能够提升用户的沉浸感和临场感。目前,空间音频的数量过少,可在对已有的非空间音频进行重放时,通过空间音频扩展技术对该非空间音频进行空间扩展,得到空间音频。该空间音频能够复刻出空间声场,模拟用户在该空间声场的声感体验。然而,通过空间音频扩展技术得到空间音频的效率较低。

发明内容

本申请提供了一种空间音频合成方法、电子设备及计算机可读存储介质,可以有效提升合成的空间音频的效率。

第一方面,本申请实施例提供了一种空间音频合成方法,该方法包括:基于目标空间中的目标对象所处的第一位置和目标空间中的各个麦克风的绝对位置,确定第一相对位置集合,第一相对位置集合包括各个麦克风相对于第一位置的相对位置;基于目标对象处于第一位置的头部运动信息,确定第一头动信息;基于第一相对位置集合、第一头动信息和第一音频集合,合成第一位置的空间音频;第一音频集合包括各个麦克风在目标对象处于第一位置时采集的环境音频。

在上述实施例中,由于各个麦克风采集的环境音频可以反映出在各个麦克风位置的空间声场,因此,基于各个麦克风采集的环境音频、第一相对位置集合和第一头动信息得到的第一位置的空间音频,可复刻出目标对象在处于第一位置时所能感受到的空间声场。这种利用已采集的环境音频得到空间音频的方式,可有效提升合成空间音频的效率。

在一种可能的实施方式中,该方法还包括:接收针对目标对象的位置设定请求;响应于位置设定请求,确定第一位置。

由于位置设定请求可以是用户针对自身需求设置的,因此基于该位置设定请求确定的第一位置可灵活适应于用户的自身需求,且得到的第一位置的空间音频可为用户提供更具临场感和沉浸感的声场体验。

在一种可能的实施方式中,该方法还包括:获取目标对象的第一传感器信息;第一传感器信息包括目标对象的走动信息;基于第一传感器信息,确定第一位置。

由于第一传感器信息包括走动信息,且该走动信息为真实感知到的走动信息,因此可基于第一传感器信息确定出更为准确的第一位置,并使得到的第一位置的空间音频能够复刻出更准确的第一位置的空间声场。

在一种可能的实施方式中,该方法还包括:接收针对目标对象的头部运动设定请求;响应于头部运动设定请求,确定目标对象处于第一位置的头部运动信息。

由于头部运动设定请求可以是用户针对自身需求设置的,因此基于该头部运动设定请求确定的第一位置的头部运动信息可灵活适应于用户的自身需求,且得到的第一位置的空间音频可为用户提供更具临场感和沉浸感的声场体验。

在一种可能的实施方式中,该方法还包括:获取目标对象的第二传感器信息;第二传感器信息包括目标对象处于第一位置的头部运动信息。

由于第二传感器信息包括在第一位置的头动信息,且该头动信息为真实感知到的头动信息,因此可得到更为准确的第一位置的头动信息,并使得到的第一位置的空间音频能够复刻出更准确的第一位置的空间声场。

在一种可能的实施方式中,基于第一相对位置集合、第一头动信息和第一音频集合,合成第一位置的空间音频,具体包括:基于第一头动信息和第一相对位置集合,从数据库中获取各个麦克风对应的头相关传递函数;基于各个麦克风的头相关传递函数和各个麦克风采集的环境音频,得到各个麦克风的映射环境音频;基于各个麦克风的映射环境音频,得到第一位置的空间音频。

在一种可能的实施方式中,该方法还包括以下至少一项:传输第一位置的空间音频;播放第一位置的空间音频;或者,保存第一位置的空间音频。

通过传输/播放/保存第一位置的空间音频,可以实现对第一位置的空间声场的事后重放或实时重放。

在一种可能的实施方式中,该方法还包括:响应于目标对象从第一位置移动至目标空间的第二位置,基于第二位置和各个麦克风的绝对位置确定第二相对位置集合,第二相对位置集合包括各个麦克风相对于第二位置的相对位置;基于目标对象处于第二位置的头部运动信息,确定第二头动信息;基于第二相对位置集合、第二头动信息和第二音频集合,合成第二位置的空间音频;第二音频集合包括目标对象处于第二位置时,各个麦克风采集的环境音频。

通过响应于目标对象的位置移动来合成第二位置的空间音频,且第二位置的空间音频可复刻出第二位置的空间声场,可使得到的空间声场根据移动的位置进行更新。

第二方面,本申请实施例提供了一种电子设备,包括存储器和一个或多个处理器;该存储器与该一个或多个处理器耦合,用于存储计算机程序,计算机程序包括程序指令;该一个或多个处理器调用该程序指令,使得该电子设备执行:基于目标空间中的目标对象所处的第一位置和目标空间中的各个麦克风的绝对位置,确定第一相对位置集合,第一相对位置集合包括各个麦克风相对于第一位置的相对位置;基于目标对象处于第一位置的头部运动信息,确定第一头动信息;基于第一相对位置集合、第一头动信息和第一音频集合,合成第一位置的空间音频;第一音频集合包括各个麦克风在目标对象处于第一位置时采集的环境音频。

在一种可能的实施方式中,该一个或多个处理器还调用该程序指令,使得该电子设备执行:接收针对目标对象的位置设定请求;响应于位置设定请求,确定第一位置。

在一种可能的实施方式中,该一个或多个处理器还调用该程序指令,使得该电子设备执行:获取目标对象的第一传感器信息;第一传感器信息包括目标对象的走动信息;基于第一传感器信息,确定第一位置。

在一种可能的实施方式中,该一个或多个处理器还调用该程序指令,使得该电子设备执行:接收针对目标对象的头部运动设定请求;响应于头部运动设定请求,确定目标对象处于第一位置的头部运动信息。

在一种可能的实施方式中,该一个或多个处理器还调用该程序指令,使得该电子设备执行:获取目标对象的第二传感器信息;第二传感器信息包括目标对象处于第一位置的头部运动信息。

在一种可能的实施方式中,该一个或多个处理器在调用该程序指令,使得该电子设备执行基于第一相对位置集合、第一头动信息和第一音频集合,合成第一位置的空间音频时,具体包括:基于第一头动信息和第一相对位置集合,从数据库中获取各个麦克风对应的头相关传递函数;基于各个麦克风的头相关传递函数和各个麦克风采集的环境音频,得到各个麦克风的映射环境音频;基于各个麦克风的映射环境音频,得到第一位置的空间音频。

在一种可能的实施方式中,该一个或多个处理器还调用该程序指令,使得该电子设备执行以下至少一项:传输第一位置的空间音频;播放第一位置的空间音频;或者,保存第一位置的空间音频。

在一种可能的实施方式中,该一个或多个处理器还调用该程序指令,使得该电子设备执行:响应于目标对象从第一位置移动至目标空间的第二位置,基于第二位置和各个麦克风的绝对位置确定第二相对位置集合,第二相对位置集合包括各个麦克风相对于第二位置的相对位置;基于目标对象处于第二位置的头部运动信息,确定第二头动信息;基于第二相对位置集合、第二头动信息和第二音频集合,合成第二位置的空间音频;第二音频集合包括目标对象处于第二位置时,各个麦克风采集的环境音频。

第三方面,本申请实施例提供了一种芯片系统,该芯片系统应用于电子设备,该芯片系统包括一个或多个处理器,该处理器用于调用程序指令,以使得该电子设备执行如第一方面或第一方面的任意一种可能的实施方式所描述的方法。

第四方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序包括程序指令,当该程序指令在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种可能的实施方式所描述的方法。

第五方面,本申请实施例提供了一种计算机可读存储介质,包括计算机程序,该计算机程序包括程序指令,当该程序指令在电子设备上运行时,使得该电子设备执行如第一方面或第一方面的任意一种可能实施方式所描述的方法。

附图说明

图1是本申请实施例提供的一种6DOF的示意图;

图2是本申请实施例提供的一种电子设备的硬件结构示意图;

图3A是本申请实施例提供的一种家居环境的示意图;

图3B是本申请实施例提供的一种办公环境的示意图;

图4是本申请实施例提供的一种空间音频合成方法的流程示意图;

图5是本申请实施例提供的一种二维坐标示意图;

图6是本申请实施例提供的一种应用程序的界面示意图;

图7是本申请实施例提供的另一种应用程序的界面示意图;

图8是本申请实施例提供的又一种应用程序的界面示意图;

图9是本申请实施例提供的另一种空间音频合成方法的流程示意图;

图10是本申请实施例提供的一种电子设备的软件结构示意图。

具体实施方式

下面将结合附图对本申请实施例中的技术方案进行清楚、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。

以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。

本申请以下实施例中的术语“用户界面 (user interface,UI)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markuplanguage,XML)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphicuser interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。

下面先对本申请中涉及的概念或术语进行解释说明,以便于本领域技术人员理解。

1、空间音频

对于位于某一空间中的声源而言,该声源发出的声音可在经过空间传播以及双耳反射之后,被听者收听到。听者可根据收听到的声音的特性,感受到该声源与听者之间的距离以及该声源所在的方位等,从而判断该声源所在的位置。换句话说,听者可通过听到的声音感知到丰富的空间信息(即空间声场)。这类包含空间信息的声音即是空间音频。

目前,可通过空间音频扩展技术对非空间音频进行空间扩展,得到空间音频。例如,采用多个不同位置的扬声器同时播放同一音频,以模拟来自不同方向的声音。或者,基于声源和听者的位置信息处理声源发出的声音,从而得到空间音频。然而,基于空间音频扩展技术得到空间音频的效率较低。

2、空间音频的影响因素

空间音频可受到环境效应和双耳效应的影响而有所区别。

其中,环境效应是指:声音在从声源传播至听者的过程中会随着传播距离产生衰减、失真等现象,且遇到空间中的障碍物时会经历反射从而改变声音的特性。双耳效应是指:不同听者的双耳形状、轮廓等有所不同,声源发出的声音在经过双耳反射时有不同的反射路径,因此不同听者收听到的声音的特性有所不同。

3、6DOF六自由度(six degrees of freedom,6DOF)

6DOF可包括头动3DOF和走动3DOF。

请参见图1,图1是本申请实施例提供的一种6DOF的示意图。其中,以对象是人为例,人体的躯干中心点为O点,以O点为坐标原点建立三维坐标轴:x轴、y轴、z轴,走动3DOF是指在这三个坐标轴方向上的平移运动。头动3DOF是指在绕三个坐标轴方向的旋转运动,绕这三个坐标轴方向的旋转运动可以由图示中的偏航角Raw、俯仰角Pitch以及翻滚角Roll表示。其中,偏航角Raw表示绕y轴进行旋转运动的角度,俯仰角Pitch表示绕x轴进行的旋转运动的角度,翻滚角Roll表示绕z轴进行旋转运动的角度。

走动3DOF可导致对象所在的绝对位置发生变化,头部3DOF可导致对象的头部运动信息发生变化。

为了提升合成空间音频的效率,本申请提出了一种空间音频合成方法、电子设备及计算机可读存储介质。其中,该电子设备可以为具有数据处理功能的终端设备或服务器等,例如该终端设备可以为智能手机、平板电脑、笔记本电脑、台式计算机、智能手表等,该服务器可以为独立的物理服务器,或者多个物理服务器构成的服务器集群或者分布式系统,或者提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器等。

下面分别对电子设备的硬件结构进行举例说明。

请参见图2,图2是本申请提出的一种电子设备的硬件结构示意图。示例地,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。

可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

其中,处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。

处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从设置的存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。

在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。

电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。

显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicrOLED,Micro-OLED,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。

电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。

数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。

视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。

NPU为神经网络(neural-network ,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。

电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如,在本申请中,电子设备100可播放空间音频。

音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。

扬声器170A,也称“ 喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。

受话器170B,也称“ 听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。

麦克风170C,也称“ 话筒”,“ 传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号、降噪、还可以识别声音来源,实现定向录音功能等。

耳机接口170D用于连接有线耳机。

耳机接口170D用于连接有线耳机。

压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。

陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。

气压传感器180C用于测量气压。

磁传感器180D包括霍尔传感器。

加速度传感器180E可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备100的姿态。

距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。

接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。

环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。

指纹传感器180H用于采集指纹。

温度传感器180J用于检测温度。在一些实施例中,电子设备100利用温度传感器180J检测的温度,执行温度处理策略。

触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。

骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。

按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。

下面介绍本申请所提供的空间音频合成方法的应用场景:

本申请提供的空间音频合成方法可应用于重放各种空间环境的空间音频,该空间环境可以是家居环境、办公环境、K歌环境等。

以家居环境为例,如图3A所示提出了一种家居环境,当用户不在该家居环境中时,可通过本申请提出的方法获取到该家居环境中任意位置的空间音频,并通过收听该空间音频得到位于该家居环境中任意位置的声感体验。其中,该家居环境包括客厅区域和卧室区域,且示出了多个位于该家居环境的智能设备:客厅区域包括智能音响、智能电视和智能监控,卧室区域包括智能电脑和智能手机。例如,用户可假设自身处于该家居环境中客厅区域的沙发处,且假设自己的头动信息如下:头部朝向智能电视的方向,头部的旋转角、俯仰角、翻滚角均为零。然后,通过上述各个智能设备中携带的麦克风相对于该沙发处的相对位置,以及用户的头动信息,将这些麦克风所采集的家居环境音频映射到该沙发处,得到该沙发处的空间音频。通过收听得到该沙发处的空间音频,可使用户得到处于该沙发处的声感体验。

以办公环境为例,如图3B所示提出了一种办公环境,当用户不在该办公环境中时,可通过本申请提出的方法获取到该办公环境中任意位置的空间音频,并通过收听该空间音频从而得到位于该办公环境中任意位置的声感体验。其中,示出了多个位于该办公环境的智能设备:智能打印机、智能投影仪、智能音响、智能电脑和智能手机。例如,若用户假设处于该办公环境中办公桌处,并假设自己的头动信息如下:头部朝向智能电脑的方向,头部的旋转角、俯仰角、翻滚角均为零。然后,通过上述智能设备中携带的麦克风相对于该办公桌处的相对位置,以及用户的头动信息,将这些麦克风所采集的办公环境音频映射到该办公桌处,得到该办公桌处的空间音频。通过收听得到该办公桌处的空间音频,可使用户得到处于该办公桌处的声感体验。

以K歌环境为例,用户在录制完歌唱音频之后,可在修音APP中为歌唱音频添加不同的空间音频,以模拟用户在不同空间下的歌唱效果。例如,用户可以添加KTV的空间音频、浴室的空间音频、演唱会的空间音频等,这些空间音频均可以通过本申请提出的方法得到。如KTV的空间音频可以是该KTV环境的中心位置的空间音频(中心位置为预设的,或者可以由用户选定),通过真实KTV环境中各个智能设备的麦克风采集的KTV环境音频,然后基于各个麦克风相对于该中心位置的相对位置以及假设的头动信息(头动信息可以为预设的,或者可以由用户选定),将各个麦克风采集的KTV环境音频映射到该中心位置,得到该中心位置的空间音频。通过添加该中心位置的空间音频,可使用户的歌唱音频具有处于该中心位置的空间信息。

可选的,在对上述各个空间环境的空间音频进行重放时,可以采用实时重放方式或事后重放方式。

可选的,在对空间音频进行重放时,可以与视频播放设备、传感设备等结合使用,以增强用户的真实感。例如,在VR/AR场景下,通过传感设备得到用户的位置信息和头动信息,然后根据该位置信息和该头动信息对空间环境中各个麦克风采集的环境音频进行映射,得到用户的空间音频。最后,通过播放空间音频,并同步播放相应的空间视频,可模拟用户位于该空间环境的视觉体验和听觉体验。

本申请实施例所提供的空间音频合成方法还可以应用于更多的场景,在此不作限定。

下面通过图4对本申请实施例提供的空间音频合成方法进行具体说明:

请参见图4,图4是本申请实施例提供的一种空间音频合成方法的流程示意图,该方法包括步骤401~步骤403。图4所示的方法的执行主体可以为电子设备,或电子设备中的芯片。下面以电子设备为方法的执行主体为例进行说明,该电子设备可以为上述内容中介绍的电子设备100。其中:

步骤401、基于目标空间中的目标对象所处的第一位置和目标空间中的各个麦克风的绝对位置,确定第一相对位置集合。

其中,目标空间为一个封闭空间环境。例如,目标空间可以是上述列举出的家居环境、办公环境、K歌环境等。

目标对象位于目标空间中,该目标对象可以为虚拟对象(例如虚拟人)或真实对象(例如机器人),用于模拟目标空间中的真实用户。例如,当真实用户不在目标空间中时,可将虚拟对象(虚拟人)作为目标对象;或者,目标空间中存在机器人或生物体等,该机器人或生物体等可在目标空间中运动,则当真实用户不在目标空间中时,可将该机器人或生物体等作为目标对象。

目标对象所处的第一位置是指目标对象在目标空间中的绝对位置。示例地,以目标空间为图3A中的家居环境为例,目标对象所在的第一位置可以是家居环境中客厅区域的沙发处。以目标空间为图3B中的办公环境为例,目标对象所处的第一位置可以是办公环境中的办公桌处。

各个麦克风为目标空间中各个智能设备携带的麦克风。示例地,以目标空间为图3A中的家居环境为例,多种携带麦克风的智能设备可以包括:智能电脑、智能音箱、智能监控、智能手机、智能电视等。以目标空间为图3B中的办公环境为例,多种携带麦克风的智能设备可以包括:智能打印机、智能投影仪、智能音响、智能电脑和智能手机。

可选的,这些携带麦克风的智能设备可分布与目标空间的不同位置处并连接在同一个通信网络中。

各个麦克风的绝对位置是指当各个麦克风所在的智能设备均保持固定不动时,各个麦克风在目标空间的绝对位置。

第一相对位置集合是指各个麦克风相对于第一位置的相对位置。具体地,可先确定各个麦克风的绝对位置,再根据第一位置和各个麦克风的绝对位置确定出各个麦克风相对于第一位置的相对位置。

可选的,上述提及的各个麦克风的绝对位置、第一位置以及各个麦克风相对于第一位置的相对位置可以以二维坐标的形式表示,或者以三维坐标的形式表示,本申请对此不做限定。

示例地,如图5所示,以二维坐标的形式为例,可以先以目标对象的头部中心为原点建立二维坐标系,然后根据麦克风1~麦克风5的绝对位置以及第一位置,得到麦克风1~麦克风5在该二维坐标系下的坐标:(

下面分别对各个麦克风的绝对位置以及第一位置的确定方式进行说明:

一、各个麦克风的绝对位置的确定方式

可选的,可将各个麦克风在目标空间中的绝对位置作为各个麦克风的绝对位置;或者,可将各个麦克风关联的电子设备在目标空间中的绝对位置作为各个麦克风的绝对位置。

其中,各个麦克风在目标空间中的绝对位置,或者各个关联的电子设备在目标空间中的绝对位置可借助已有的定位算法确定以及更新。示例地,该定位算法包括但不限于室内WIFI定位算法、超声波定位算法、视觉定位算法等。

二、第一位置的确定方式

在一种可能的实施方式中,电子设备可接收针对目标对象的位置设定请求;响应于位置设定请求,确定第一位置。

示例地,电子设备中安装有收听空间音频的应用程序(application,APP),用户可通过操作该APP触发电子设备接收到位置设定请求,并使电子设备进而确定出第一位置。

例如,该APP可支持用户自定义收听空间音频的位置,如图6所示,图6是本申请提供的一种该应用程序的界面示意图,该界面显示有目标空间示意图(以目标空间是图3A中的家居环境为例),用户可通过在目标空间示意图自定义选取一个位置作为第一位置,以模拟目标对象(虚拟对象)处于第一位置的场景,并触发电子设备接收到位置设定请求。示例地,用户通过操作601自定义选取到目标空间中的A点作为目标对象的第一位置,并通过针对“确定”控件的操作602触发电子设备接收到位置设定请求,该位置设定请求中包括A点的位置。

或者,该APP可支持用户选择收听空间音频的位置,如图7所示,图7是本申请提供的另一种该应用程序的界面示意图,该界面显示有目标空间示意图以及待选择位置点。其中待选择位置点位于目标空间中,包括位于客厅沙发旁的B点,位于床上的C点,以及位于书桌旁的D点。用户可从各个待选择位置点中选择任一个位置点,以模拟目标对象处于选择的位置点的场景,并触发电子设备接收到位置设定请求。示例地,用户通过操作701选择B点作为目标对象的第一位置,并通过针对“确定”控件的操作702触发电子设备接收到位置设定请求,该位置设定请求中包括B点的位置。

可以理解的是,上述通过APP触发电子设备接收到位置设定请求的方式仅为举例。在具体实现时,还可以采用其余方式触发电子设备接收到位置设定请求,在此不做限定。

基于该方式,用户可根据自身需求触发电子设备接收到位置设定请求,从而使确定出的第一位置可灵活适应于用户的自身需求。

在另一种可能的实施方式中,电子设备可获取目标对象的第一传感器信息;第一传感器信息包括目标对象的走动信息;基于第一传感器信息,确定第一位置。

可选的,第一传感器信息可以是实时获取的,或者是历史时期内获取的。

例如,在实时重放的场景下,第一传感器信息可以包括用户的实时走动信息(如用户佩戴AR/VR设备时的实时采集的走动信息)。

又如,在事后重放的场景下,第一传感器信息可以包括在历史时期内的特定时刻,机器人或任意生物体的历史走动信息(如在聚会时,通过机器人行进对聚会现场进行记录,在后续可生成该特定时刻的空间音频)。其中,特定时刻可以是用户选择的,或者可以是自动选择的。例如,在聚会时,机器人在聚会现场行进了3分钟,其中,机器人在第1分钟时位于聚会现场的中心,因此用户可选择第1分钟对应的历史走动信息,将其作为第一传感器信息。或者,对于覆盖3分钟的历史走动信息,可以以30s为间隔,先将第30s对应的历史走动信息作为第一传感器信息以生成第30s所在位置的空间音频;再将第1分钟对应的历史走动信息作为第一传感器信息以生成第1分钟所在位置的空间音频,依次类推。

可选的,第一传感器信息可以包括但不限于:图像信息、位姿信息、通信信息等。

例如,图像信息包括在目标对象走动时,通过摄像头采集的图像信息,电子设备可对采集到图像信息的进行环境特征提取,并将环境特征与已存储的环境特征库匹配,从而得到目标对象所在的第一位置。

又如,位姿信息包括根据惯导传感器所采集的三个方向的加速度,电子设备可根据三个方向的加速度以及目标对象的初始位置,推导出目标对象所在的第一位置。其中,目标对象的初始位置可由用户设定得到,或根据初始位置的传感器信息得到(如根据初始时的图像信息等识别出目标对象的初始位置)。

再如,通信信息包括通过无线保真(wireless fidelity,Wi-Fi)信号,电子设备可根据目标对象获取到的Wi-Fi信息以及Wi-Fi指纹库,匹配得到目标对象所在的第一位置。

基于该方式,由于第一传感器信息包括的走动信息为真实感知到的实时/历史走动信息,因此可基于第一传感器信息确定出更为准确的第一位置。

步骤402、基于目标对象处于第一位置的头部运动信息,确定第一头动信息。

其中,目标对象的头部信息包括但不限于:目标对象的朝向、目标对象在x轴、y轴、z轴三个方向轴上的旋转角(即偏航角Raw、俯仰角Pitch以及翻滚角Roll)等。

在一种可能的实施方式中,电子设备可接收针对目标对象的头部运动设定请求;响应于头部运动设定请求,确定目标对象处于第一位置的头部运动信息。

例如,针对收听空间音频的APP,在电子设备显示该APP的图6或图7所示的界面之后,可显示图8所示的界面。如图8所示,该界面显示有输入框801~输入框803,以及“确定”控件804。用户可先在输入框801中输入头部俯仰角Pitch(绕x轴的旋转角度),在输入框802中输入头部偏航角Raw(绕y轴的旋转角度),在输入框803中输入头部翻滚角Roll(绕z轴的旋转角度),然后点击“确定”控件804,从而触发电子设备接收到头部运动设定请求,该头部运动设定请求中包含用户输入的Pitch、Raw以及Roll。

或者,电子设备可显示有目标对象的头部形象,用户可通过朝预设方向滑动屏幕,模拟目标对象的头部运动,从而触发电子设备接收到头部运动设定请求。例如,用户可上下滑动屏幕中显示的头部形象,以模拟目标对象的头部绕y轴的旋转角度。

本申请对接收到头部运动设定请求的触发条件不限定。

基于该方式,用户可根据自身需求触发电子设备接收到头部运动设定请求,从而使确定出的处于第一位置的头动信息可灵活适应于用户的自身需求。

在另一种可能的实施方式中,电子设备可获取目标对象的第二传感器信息;第二传感器信息包括目标对象处于第一位置的头部运动信息。

可选的,第二传感器信息可以是实时获取的,或者是历史时期内获取的。

例如,在实时重放的场景下,第二传感器信息可以包括用户的实时头部运动信息。如用户佩戴AR/VR设备时的实时采集的走动信息。

又如,在事后重放的场景下,第二传感器信息可以包括在历史时期内的特定时刻,机器人或任意生物体的历史头部运动信息。其中,特定时刻可根据上述描述确定,在此不赘述。

可选的,第二传感器信息可以包括但不限于:位姿信息、图像信息等。例如,位姿信息包括根据惯导传感器所采集的三个方向的旋转角。又如,图像信息包括在目标对象走动时,通过摄像头采集的图像信息,电子设备可对采集到图像信息的进行环境特征提取,并将环境特征与已存储的环境特征库匹配,从而得到目标对象处于第一位置的头部运动信息。

基于该方式,由于第二传感器信息包括的头部运动信息为真实感知到的实时/历史的头部运动信息,因此可基于第二传感器信息确定出更为准确的第一位置的头动信息。

步骤403、基于第一相对位置集合、第一头动信息和第一音频集合,合成第一位置的空间音频。

其中,第一音频集合包括各个麦克风在目标对象处于第一位置时采集的环境音频。

可选的,第一音频集合可以是由本次合成第一位置的空间音频触发采集的。例如,当电子设备接收到上述位置设定请求或头部运动设定请求之后,可通知各个麦克风开始采集环境音频,从而得到第一音频集合。

可选的,第一音频集合可以是由各个麦克风位置移动时触发采集的。例如,当各个麦克风从其余位置移动至上述各个麦克风的绝对位置时,可采集环境音频,从而得到第一音频集合。

可选的,第一音频集合可以是由上一次目标空间的状态发生变化触发采集的。例如,目标空间的状态可由天气变化、目标空间内的布局变化、目标空间的外部环境变化等因素引起。当目标空间的状态变化时,声音在目标空间中的传播也会发生变化,在这种情况下,需要触发各个麦克风采集变化后的环境音频,从而得到第一音频集合。

本申请中触发各个麦克风采集第一音频集合的方式可不限于上述列举出的方式。

在一种可能的实施方式中,电子设备可基于第一头动信息和第一相对位置集合,从数据库中获取各个麦克风对应的头相关传递函数;基于各个麦克风的头相关传递函数和各个麦克风采集的环境音频,得到各个麦克风的映射环境音频;基于各个麦克风的映射环境音频,得到第一位置的空间音频。

其中,各个麦克风对应的头相关传递函数用于指示:各个麦克风采集的声音从各个麦克风传递至目标对象的双耳中时,环境效应和双耳效应对于空间音频的特性影响(即空间声场的变化)。数据库中存储有与第一头动信息、第一相对位置集合以及各个麦克风对应的头相关传递函数的对应关系。

可选的,各个麦克风对应的头相关传递函数包括左耳头相关传递函数和右耳头相关传递函数,各个麦克风的映射环境音频包括各个麦克风的左耳映射环境音频和右耳映射环境音频。第一位置的空间音频包括当目标对象处于第一位置时,左耳对应的空间音频和右耳对应的空间音频。

示例地,可基于下述公式1得到当目标对象处于第一位置时左耳对应的空间音频

(公式1)

(公式2)/>

其中,

在一种可能的实施方式中,电子设备在得到第一位置的空间音频之后,还可执行下述一项或者多项:传输第一位置的空间音频;播放第一位置的空间音频;或者,保存第一位置的空间音频。基于该方式,可实现对第一位置的空间音频的事后重放以及实时重放。

在上述描述的实施例中,由于各个麦克风采集的环境音频可以反映出在各个麦克风位置的空间声场,且各个麦克风对应的头相关传递函数可以指示:各个麦克风采集的声音从各个麦克风传递至目标对象的双耳中时,环境效应和双耳效应对于空间声场的影响。因此,基于各个麦克风采集的环境音频、第一相对位置集合和第一头动信息得到的第一位置的空间音频,可复刻出目标对象在处于第一位置时所能感受到的空间声场。这种利用已采集的环境音频得到空间音频的方式,可有效提升合成空间音频的效率。并且,由于该方式可循环利用已采集到的第一音频集合,因此可以有效简化合成空间音频的处理流程,降低处理复杂度。

通过图4所示的实施例,可得到第一位置的空间音频,下面通过图9所示的流程对得到多个位置的空间音频的方法进行介绍,该方法包括步骤901~步骤905:

步骤901、基于目标空间中的目标对象当前所处的位置和目标空间中的各个麦克风的绝对位置,确定相对位置集合。

步骤902、基于目标对象处于当前所处的位置的头部运动信息,确定头动信息。

步骤903、基于相对位置集合、头动信息和音频集合,合成目标对象当前所处的位置的空间音频。

步骤904、判断目标对象当前所处的位置是否存在更新。

若电子设备确定目标对象当前所处的位置存在更新,则执行步骤905。

步骤905、更新目标对象当前所处的位置。

在电子设备执行步骤905之后,可再跳转执行步骤901。

示例地,当目标对象当前所处的位置为第一位置时,电子设备可通过执行步骤901至步骤904,从而确定出目标对象处于第一位置的空间音频。然后电子设备可通过执行步骤905更新目标对象从第一位置移动至第二位置,即确定目标对象当前所处的位置为第二位置。接着,电子设备通过再次执行步骤901至步骤904,从而确定出目标对象处于第二位置的空间音频。其中,电子设备执行步骤901至步骤904,确定目标对象处于第一位置的空间音频的具体实现方式可参照图4所示的实施例,在此不赘述。

下面对电子设备再次执行步骤901至步骤904,确定出目标对象处于第二位置的空间音频的具体实现方式进行说明:

在一种可能的实施方式中,响应于目标对象从第一位置移动至目标空间的第二位置,基于第二位置和各个麦克风的绝对位置确定第二相对位置集合;基于目标对象处于第二位置的头部运动信息,确定第二头动信息;基于第二相对位置集合、第二头动信息和第二音频集合,合成第二位置的空间音频。

其中,第二位置的确定方式可以参照第一位置的确定方式进行确定。第二相对位置集合的确定方式可以参照第一相对位置集合的确定方式进行确定。第二头动信息可以参照第一头动信息的确定方式进行确定。

第二音频集合包括目标对象处于第二位置时,各个麦克风采集的环境音频。第二音频集合与第一音频集合相同或者不同。

例如,若在采集第一音频集合之后,各个麦克风的绝对位置未变化以及目标空间的状态未变化,则第一音频集合和第二音频集合相同。反之,若在采集第一音频集合之后,各个麦克风的绝对位置未变化和/或目标空间的状态变化,则可以重新控制各个麦克风采集环境音频,并在需确定第二位置的空间音频时,将各个麦克风重新采集到的环境音频作为第二音频集合。

基于第二相对位置集合、第二头动信息和第二音频集合,合成第二位置的空间音频的具体实现方式,可以参照上述步骤403的实现方式。

基于图9所描述的方式,若目标对象当前所处的位置一直变化,则可以根据目标对象当前所处的位置的变化,得到多个不同位置的空间音频。

在一种可能的实施方式中,电子设备在得到多个不同位置的空间音频时,可按照预设顺序,播放这多个空间音频,从而提高用户的沉浸感。其中,预设顺序可以是这多个不同位置对应的时间顺序,例如,用户先通过位置设定操作选择第一位置再选择第二位置,则第一位置的时间顺序先于第二位置的时间顺序。或者,在电子设备可接收到目标对象共3分钟的传感器信息中,第一位置为3分钟的传感器信息中,根据第1分钟的传感器信息所确定的位置,第二位置根据第1分30s的传感器信息所确定的位置,则第一位置的时间顺序先于第二位置的时间顺序。因此,电子设备可以先播放第一位置的空间音频,再播放第二位置的空间音频。

下面对本申请电子设备的软件结构进行介绍:

请参见图10,图10是本申请提出的一种电子设备的软件结构示意图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,硬件抽象层(hardware abstraction layer,HAL)层以及内核层。

应用程序层可以包括一系列应用程序包。如图10所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序(也可以称为应用)。

应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图9所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。

其中,窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。

内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。这些数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。

视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。

电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。

资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。

通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话界面形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。

硬件抽象层可以包括多个功能模块。例如位置处理模块、头部信息处理模块以及音频处理模块等。

位置处理模块,用于基于目标空间中的目标对象所处的第一位置和目标空间中的各个麦克风的绝对位置,确定第一相对位置集合,第一相对位置集合包括各个麦克风相对于第一位置的相对位置。

头部信息处理模块用于基于目标对象处于第一位置的头部运动信息,确定第一头动信息。

音频处理模块,用于基于第一相对位置集合、第一头动信息和第一音频集合,合成第一位置的空间音频;第一音频集合包括各个麦克风在目标对象处于第一位置时采集的环境音频。

位置处理模块、头部信息处理模块以及音频处理模块的功能可根据上述方法实施例中所描述的方法具体实现。

内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。

应理解,本申请提供的上述方法实施例中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

本申请还提供一种电子设备,该电子设备可以包括:存储器和处理器。其中,存储器可用于存储计算机程序,计算机程序包括程序指令;处理器可用于调用该存储器中的程序指令,以使得该电子设备执行上述任意一个实施例中的方法。

本申请还提供了一种芯片系统,该芯片系统包括至少一个处理器,用于实现上述任意一个实施例中电子设备执行的方法中所涉及的功能。

在一种可能的设计中,该芯片系统还包括存储器,该存储器用于保存程序指令和数据,存储器位于处理器之内或处理器之外。

该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。

可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。

可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请实施例并不限定。示例性地,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型,以及存储器与处理器的设置方式不作具体限定。

示例性地,该芯片系统可以是现场可编程门阵列(field programmable gatearray,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processorunit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。

本申请还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序包括程序指令。当该程序指令被运行时,使得计算机执行上述任一个实施例中电子设备执行的方法。

本申请的各实施方式可以任意进行组合,以实现不同的技术效果。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机程序,计算机程序包括程序指令。在计算机上加载和执行程序指令时,全部或部分地产生按照本申请所描述的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机程序可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。

总之,以上所描述的仅为本发明技术方案的实施例而已,并非用于限定本发明的保护范围。凡根据本发明的揭露,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 模态框构建方法、装置、电子设备、计算机可读存储介质
  • 电子设备、音量调节方法及装置、计算机可读存储介质
  • 数据库同步恢复方法、装置、计算机可读存储介质和电子设备
  • 数据处理方法、装置、计算机可读存储介质和电子设备
  • 任务执行方法、装置、电子设备及计算机可读存储介质
  • 音频合成方法、装置、电子设备及计算机可读存储介质
  • 音频合成方法、装置、电子设备和计算机可读存储介质
技术分类

06120116380376