CN117793611A - 生成立体声的方法、播放立体声的方法、设备及存储介质 - Google Patents
生成立体声的方法、播放立体声的方法、设备及存储介质 Download PDFInfo
- Publication number
- CN117793611A CN117793611A CN202410008204.3A CN202410008204A CN117793611A CN 117793611 A CN117793611 A CN 117793611A CN 202410008204 A CN202410008204 A CN 202410008204A CN 117793611 A CN117793611 A CN 117793611A
- Authority
- CN
- China
- Prior art keywords
- virtual sound
- sound source
- stereo
- virtual
- wearer
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 106
- 230000006870 function Effects 0.000 claims abstract description 98
- 238000012546 transfer Methods 0.000 claims abstract description 89
- 230000005236 sound signal Effects 0.000 claims abstract description 74
- 238000009877 rendering Methods 0.000 claims abstract description 16
- 230000015654 memory Effects 0.000 claims description 51
- 230000004044 response Effects 0.000 claims description 33
- 230000000694 effects Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 15
- 239000011159 matrix material Substances 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 abstract description 13
- 238000006243 chemical reaction Methods 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 15
- 230000009471 action Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 230000003190 augmentative effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000005259 measurement Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 210000005069 ears Anatomy 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001953 sensory effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 229920001621 AMOLED Polymers 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Stereophonic System (AREA)
Abstract
本公开提供生成立体声的方法、播放立体声的方法、设备及存储介质。该生成立体声的方法包括:根据佩戴者的姿态信息,获取多个虚拟声源中的每个虚拟声源与佩戴者之间的相对位置信息,其中,每个虚拟声源包括至少一个声道;根据每个虚拟声源的相对位置信息,确定每个虚拟声源对应的一组头传递函数;根据对应的一组头传递函数,对多个虚拟声源中的每个虚拟声源的声音信号进行渲染,得到多个渲染后的声音信号;对多个渲染后的声音信号进行混音,获取立体声信号。通过本实施例提供的方法,可以简单地实现空间音频的转换计算,减少对硬件的计算能力的要求并能降低功耗。
Description
技术领域
本公开的实施例涉及一种生成立体声的方法、播放立体声的方法、可穿戴设备、电子设备及存储介质。
背景技术
空间音频,也被称为空间音效,是一种通过操控立体声扬声器、环绕声扬声器、扬声器阵列或者耳机等发声设备所产生的声音,让听众感受到声音似乎是从三维空间中虚拟的位置发出的一种技术。
空间音频技术通过利用空间信息再现原始声音场景,其有提升佩戴者的听觉沉浸感的优势。在常见的空间音频方案中,基于Ambisonic的空间音频对多声源的声场旋转具有良好的效果,采用人耳建模的方式得到更符合佩戴者的个性化的空间音频。但是这些方案需要较多的计算资源,并且由于功耗和时延问题,对硬件设备的依赖性大,导致目前的空间音频技术对硬件设备的要求高。
发明内容
本公开实施例提供了一种生成立体声的方法、播放立体声的方法、可穿戴设备、电子设备及存储介质,用于解决现有技术中空间音频技术对硬件设备的要求高的问题。
本公开至少一个实施例提供一种生成立体声的方法,包括:根据佩戴者的姿态信息,获取多个虚拟声源中的每个虚拟声源与佩戴者之间的相对位置信息,其中,每个虚拟声源包括至少一个声道;根据每个虚拟声源的相对位置信息,确定每个虚拟声源对应的一组头传递函数;根据对应的一组头传递函数,对多个虚拟声源中的每个虚拟声源的声音信号进行渲染,得到多个渲染后的声音信号;对多个渲染后的声音信号进行混音,获取立体声信号。
例如,在本公开至少一个实施例提供的生成立体声的方法中,根据对应的一组头传递函数,对多个虚拟声源中的每个虚拟声源的声音信号进行渲染,得到多个渲染后的声音信号,包括:将每个虚拟声源的声音信号与对应的一组头传递函数进行复数相乘,以实现双耳渲染。
例如,在本公开至少一个实施例提供的生成立体声的方法中,方法还包括:周期性获取佩戴者的姿态信息,佩戴者的姿态信息包括四元数、欧拉角或旋转矩阵。
例如,在本公开至少一个实施例提供的生成立体声的方法中,方法还包括:响应于获取到的姿态信息与上一次获取的姿态信息的差异小于或等于预设阈值,不继续执行生成立体声的方法。
例如,在本公开至少一个实施例提供的生成立体声的方法中,在获取多个虚拟声源中的每个虚拟声源与佩戴者之间的相对位置信息之前,方法还包括:将多个虚拟声源的声音信号从时域转换到频域。
例如,在本公开至少一个实施例提供的生成立体声的方法中,根据佩戴者的姿态信息,获取多个虚拟声源中的每个虚拟声源与佩戴者之间的相对位置信息,包括:根据佩戴者的姿态信息,对每个虚拟声源的初始空间坐标进行旋转,获得每个虚拟声源的当前空间坐标;根据每个虚拟声源的当前空间坐标,获取每个虚拟声源的相对位置信息,其中相对位置信息包括角度信息和坐标信息,角度信息包括俯仰角和方位角,坐标信息包括空间坐标。
例如,在本公开至少一个实施例提供的生成立体声的方法中,根据每个虚拟声源的相对位置信息,确定每个虚拟声源对应的一组头传递函数,包括:根据每个虚拟声源的相对位置信息,对预先存储的查找表进行查询,以获取每个虚拟声源对应的一组头传递函数,其中查找表存储头传递函数或头频率响应。
例如,在本公开至少一个实施例提供的生成立体声的方法中,在查找表存储头频率响应时,根据每个虚拟声源的相对位置信息,对预先存储的查找表进行查询,以获取每个虚拟声源对应的一组头传递函数,包括:根据每个虚拟声源的相对位置信息,对预先存储的查找表进行查询,获取每个虚拟声源的头频率响应;根据每个虚拟声源的头频率响应,计算对应的一组头传递函数。
例如,在本公开至少一个实施例提供的生成立体声的方法中,确定每个虚拟声源对应的一组头传递函数,还包括:根据多个虚拟声源的排布方式,对每个虚拟声源对应的一组头传递函数进行处理,以使每个虚拟声源对应的一组头传递函数具有环绕音效。
例如,在本公开至少一个实施例提供的生成立体声的方法中,在对多个渲染后的声音信号进行混音之前,方法还包括:将多个渲染后的声音信号从的频域转换到时域。
例如,在本公开至少一个实施例提供的生成立体声的方法中,对多个渲染后的声音信号进行混音,获取立体声信号,包括:针对多个渲染后的声音信号的左声道和右声道分别进行归一化处理,以获取立体声信号。
本公开至少一个实施例提供一种可穿戴设备,包括:存储器,非瞬时性地存储有计算机可执行指令;和处理器,配置为运行计算机可执行指令,其中,计算机可执行指令被处理器运行时实现根据上述实施例中任一项的生成立体声的方法。
例如,在本公开至少一个实施例提供的可穿戴设备中,可穿戴设备还包括扬声器,扬声器被配置为输出根据上述实施例中任一项的生成立体声的方法生成的立体声信号。
本公开至少一个实施例提供一种非瞬时性计算机可读存储介质,其中,非瞬时性计算机可读存储介质存储有计算机可执行指令,计算机可执行指令被处理器执行时实现根据上述方法实施例中任一项的生成立体声的方法。
本公开至少一个实施例提供一种播放立体声的方法,包括:接收根据上述方法实施例中任一项的生成立体声的方法生成的立体声信号;播放立体声信号。
本公开至少一个实施例提供一种电子设备,包括:接收器,被配置为接收根据上述方法实施例中任一项的生成立体声的方法生成的立体声信号;扬声器,被配置播放立体声信号。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1示出了实现本文公开的一些示例的近眼显示器(例如,可穿戴设备)的示例电子系统1000的简化块图;
图2示出了根据本公开的实施例提供的一种生成立体声的方法的流程图;
图3示出了根据本公开的实施例提供的虚拟声源和佩戴者的相对关系的示意图;
图4a和图4b分别示出了根据本公开的实施例提供的一种可穿戴设备;
图5为本公开至少一个实施例提供的一种非瞬时性计算机可读存储介质的示意图;
图6示出了根据本公开的实施例提供的一种电子设备。
具体实施方式
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
为了保持本公开实施例的以下说明清楚且简明,本公开省略了部分已知功能和已知部件的详细说明。
需要说明的是,在本公开的实施例中,“至少一个”表示一个或多个,例如,“多个”可以表示两个、三个、四个、五个、十个、十五个、二十个等等。
空间音频使得佩戴者听到声音具有空间感,这能够提升佩戴者的听觉体验。实现空间音频时,基于Ambisonic的空间音频对多声源的声场旋转具有良好的效果,采用人耳建模的方式得到更符合佩戴者的个性化的空间音频。但是空间音频的传统实现方式依赖于硬件设备。这些实现方式对硬件要求高,例如基于Ambisonic的空间音频需要专用的采集声音的设备及编码设备。此外,在一些软件和硬件结合实现空间音频的方案中,往往需要进行复杂的计算,这对于硬件设备的计算能力和功耗都有较高要求。
有鉴于此,本公开提供了一种生成立体声的方法、播放立体声的方法、可穿戴设备、电子设备及存储介质。
本公开至少一个实施例提供一种生成立体声的方法,包括:根据佩戴者的姿态信息,获取多个虚拟声源中的每个虚拟声源与佩戴者之间的相对位置信息,其中,每个虚拟声源包括至少一个声道;根据每个虚拟声源的相对位置信息,确定每个虚拟声源对应的一组头传递函数;根据对应的一组头传递函数,对多个虚拟声源中的每个虚拟声源的声音信号进行渲染,得到多个渲染后的声音信号;对多个渲染后的声音信号进行混音,获取立体声信号。
本公开至少一个实施例提供一种可穿戴设备,包括:存储器,非瞬时性地存储有计算机可执行指令;和处理器,配置为运行计算机可执行指令,其中,计算机可执行指令被处理器运行时实现根据上述实施例中任一项的生成立体声的方法。
本公开至少一个实施例提供一种非瞬时性计算机可读存储介质,其中,非瞬时性计算机可读存储介质存储有计算机可执行指令,计算机可执行指令被处理器执行时实现根据上述方法实施例中任一项的生成立体声的方法。
本公开至少一个实施例提供一种播放立体声的方法,包括:接收根据上述方法实施例中任一项的生成立体声的方法生成的立体声信号;播放立体声信号。
本公开至少一个实施例提供一种电子设备,包括:接收器,被配置为接收根据上述方法实施例中任一项的生成立体声的方法生成的立体声信号;扬声器,被配置播放立体声信号。
在本公开的实施例提供的生成立体声的方法中,通过根据佩戴者的姿态信息,获取虚拟声源与佩戴者的相对位置信息,并根据该相对位置信息,确定虚拟声源对应的具有环绕音效的头传递函数并对声音信号进行渲染,再对渲染后的声音信号进行混音,获取立体声信号。根据本公开的实施例提供的生成立体声的方法,无需复杂的计算,减低了对硬件设备的计算能力和功耗的要求,并且可以提供较好的空间感,保证佩戴者体验。
下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。
图1是用于实现本文公开的一些示例的近眼显示器(例如,可穿戴设备)的示例电子系统1000的简化块图。
电子系统1000可以被用作可穿戴设备或以上描述的其他近眼显示器的电子系统。在该示例中,电子系统1000可以包括一个或多个处理器1010和存储器1020。(多个)处理器1010可以被配置为执行用于在许多部件处执行操作的指令,并且可以是例如适合于实现在便携式电子设备内的通用处理器或微处理器。(多个)处理器1010可以与电子系统1000内的多个部件通信地耦合。为了实现该通信耦合,(多个)处理器1010可以跨总线1040与其他图示的部件通信。总线1040可以是适于在电子系统1000内传输数据的任何子系统。总线1040可以包括传输数据的多个计算机总线和附加电路系统。
存储器1020可以被耦合到(多个)处理器1010。在一些实施例中,存储器1020可以提供短期和长期存储两者并且可以被划分成若干单元。存储器1020可以是易失性的,诸如静态随机接入存储器(SRAM)和/或动态随机接入存储器(DRAM),和/或非易失性的,诸如只读存储器(ROM)、闪存等等。另外,存储器1020可以包括可移除存储设备,诸如安全数字(ID)卡。存储器1020可以提供针对电子系统1000的计算机可读指令、数据结构、程序模块和其他数据的存储。在一些实施例中,存储器1020可以被分布到不同硬件模块中。一组指令和/或代码可以被存储在存储器120上。指令可以采取可以可由电子系统1000执行的可执行代码的形式,和/或可以采取源代码和/或可安装代码的形式,其(例如,使用各种一般可用编译器、安装程序、压缩/解压缩实用工具等等中的任何项)在电子系统1000上编译和/或安装后,可以采取可执行代码的形式。
在一些实施例中,存储器1020可以存储多个应用模块1022至1024,其可以包括任何数目的应用。应用的示例可以包括游戏应用、会议应用、视频回放应用或其他适当的应用。应用可以包括深度感测功能或眼球跟踪功能。应用模块1022-1024可以包括要由(多个)处理器1010运行的特定指令。在一些实施例中,应用模块1022-1024的某些应用或部分可以可由其他硬件模块1080执行。在某些实施例中,存储器1020可以附加地包括安全存储器,其可以包括附加的安全控制以防止复制安全信息或对安全信息的其他未授权的接入。
在一些实施例中,存储器1020可以包括加载于其中的操作系统1025。操作系统1025可以可操作用于发起由应用模块1022-1024提供的指令的执行和/或管理其他硬件模块1080以及与可以包括一个或多个无线收发器的无线通信子系统1030的接口。操作系统1025可以适用于跨电子系统1000的部件执行其他操作,包括线程化、资源管理、数据存储控制和其他类似功能。
在一些实施例中,存储器1020可以用来存储虚拟声源对应的头传递函数。
无线通信子系统1030可以包括例如红外通信设备、无线通信设备和/或芯片组(诸如设备、IEEE 802.11设备、Wi-Fi设备、WiMax设备、蜂窝通信设施等等)和/或类似通信接口。电子系统1000可以包括用于无线通信的一个或多个天线1034作为无线通信子系统1030的一部分或作为耦合到系统的任何部分的分离部件。取决于期望的功能,无线通信子系统1030可以包括分离的收发器以与基础收发器站以及其他无线设备和接入点通信,其可以包括与不同数据网络和/或网络类型(无线广域网(WWAN)、无线局域网(WLAN)或无线个人区域网络(WPAN))通信。WWAN可以是例如WiMax(IEEE 802.16)网络。WLAN可以是例如IEEE802.11x网络。WPAN可以是例如蓝牙网络、IEEE 802.15x或一些其他类型的网络。本文描述的技术还可以被用于WWAN、WLAN和/或WPAN的任何组合。无线通信子系统1030可以允许与网络、其他计算机系统和/或本文描述的任何其他设备交换数据。无线通信子系统1030可以包括用于使用(多个)天线1034和(多个)无线链路1032发送或接收数据(诸如可穿戴设备的标识符、位置数据、地理地图、热图、照片或视频)的部件。无线通信子系统1030、(多个)处理器1010和存储器1020可以一起至少包括用于执行本文公开的一些功能的部件中的一个或多个部件的一部分。
电子系统1000的实施例还可以包括一个或多个传感器1090。(多个)传感器1090可以包括例如图像传感器、加速度计、压力传感器、温度传感器、接近传感器、磁力计、陀螺仪、惯性传感器(例如,组合加速度计和陀螺仪的模块)、环境光传感器或可操作用于提供感官输出和/或接收感官输入的任何其他类似的模块,诸如深度传感器或位置传感器。例如,在一些实现中,(多个)传感器1090可以包括一个或多个惯性测量单元(IMU)和/或一个或多个位置传感器。IMU可以基于从位置传感器中的一个或多个位置传感器接收到的测量信号来生成指示相对于可穿戴设备的初始位置的可穿戴设备的估计位置的校准数据。位置传感器可以响应于可穿戴设备的运动而生成一个或多个测量信号。位置传感器的示例可以包括但不限于一个或多个加速度计、一个或多个陀螺仪、一个或多个磁力计、检测运动的另一适当类型的传感器、一种用于IMU的误差校正的传感器、或其任何组合。位置传感器可以位于IMU外部、IMU内部或其任何组合。至少一些传感器可以使用结构光样式用于感测。
电子系统1000可以包括显示模块1060。显示模块1060可以是近眼显示器,并且可以将来自电子系统1000的诸如图像、视频和各种指令的信息图形地呈现给用户。这样的信息可以从一个或多个应用模块1022-1024、增强/虚拟/混合现实引擎1026、一个或多个其他硬件模块1080、其组合或用于(例如,通过操作系统1025)为用户解析图形内容的任何其他适当的器件导出。显示模块1060可以使用LCD技术、LED技术(包括,例如,OLED、ILED、μ-LED、AMOLED、TOLED等等)、发光聚合物显示(LPD)技术或一些其他显示技术。
电子系统1000可以包括用户输入/输出模块1070。用户输入/输出模块1070可以允许用户向电子系统1000发送动作请求。动作请求可以是执行特定动作的请求。例如,动作请求可以是开始或结束应用或执行应用内的特定动作。用户输入/输出模块1070可以包括一个或多个输入设备。示例输入设备可以包括:触摸屏、触摸板、(多个)麦克风、(多个)按钮、(多个)拨盘、(多个)开关、键盘、鼠标、游戏控制器或用于接收动作请求并且将接收到的动作请求传递到电子系统1000的任何其他适当的设备。示例输出设备可以包括:音频电路和扬声器,音频电路可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出,例如输出本文实施例中的立体声信号。在一些实施例中,用户输入/输出模块1070可以根据从电子系统1000接收到的指令将触觉反馈提供给用户。例如,触觉反馈可以当动作请求被接收到或已经被执行时被提供。
电子系统1000可以包括可以被用于拍摄用户的照片或视频例如以用于跟踪用户的眼睛位置的相机1050。相机1050还可以被用于拍摄例如用于VR、AR或MR应用的环境的照片或视频。相机1050可以包括例如具有几百万或几千万或几亿甚至更多像素的互补金属氧化物半导体(CMOS)图像传感器。在一些实现中,相机4050可以包括可以被用于捕获3-D图像的两个或更多个相机。
在一些实施例中,电子系统1000可以包括多个其他硬件模块1080。其他硬件模块1080中的每个可以是电子系统1000内的物理模块。尽管其他硬件模块1080中的每个硬件模块可以被永久地配置为结构,但是其他硬件模块1080中的一些硬件模块可以被临时配置为执行特定功能或被临时活化。其他硬件模块1080的示例可以包括例如音频输出和/或输入模块(例如,麦克风或扬声器)、近场通信(NFC)模块、可再充电电池、电池管理系统、有线/无线电池充电系统等等。在一些实施例中,其他硬件模块1080的一个或多个功能可以以软件来实现。
在一些实施例中,电子系统1000的存储器1020还可以存储增强/虚拟/混合现实引擎1026。增强/虚拟/混合现实引擎1026可以执行电子系统1000内的应用并且从各种传感器接收可穿戴设备的位置信息、加速度信息、速度信息、预测的未来位置或其任何组合。在一些实施例中,由增强/虚拟/混合现实引擎1026接收到的信息可以被用于产生信号(例如,显示指令)以指示显示模块1060显示对应的内容。例如,如果接收到的信息指示用户已经看向左边,那么增强/虚拟/混合现实引擎1026可以生成用于指示可穿戴设备的在增强/虚拟/混合环境中相应显示的内容,例如拒绝/确定/播放下一首/镜像用户执行相应动作。附加地,增强/虚拟/混合现实引擎1026可以响应于从用户输入/输出模块1070接收到的动作请求而执行应用内的动作,并且将反馈提供给用户。所提供的反馈可以是视觉反馈、可听反馈或触觉反馈。在一些实现中,(多个)处理器1010可以包括可以执行增强/虚拟/混合现实引擎1026的一个或多个GPU。在一些示例中,增强/虚拟/混合现实引擎1026还可以被配置为提供一个或多个虚拟声源。
在各种实现中,以上描述的硬件和模块可以被实现于单个设备上或可以使用有线或无线连接与彼此通信的多个设备上。例如,在一些实现中,诸如GPU、增强/虚拟/混合现实引擎1026和应用(例如,跟踪应用)的一些部件或模块可以被实现于与头戴式显示设备分离的控制台上。在一些实现中,一个控制台可以被连接到或支持多于一个可穿戴设备。
在备选配置中,不同的和/或附加的部件可以被包括于电子系统1000中。类似地,部件中的一个或多个部件的功能可以以与以上描述的方式不同的方式被分布在部件之中。例如,在一些实施例中,电子系统1000可以被修改为包括其他系统环境。应当说明的是,上述示例的可穿戴设备可以以例如眼镜的形式、头盔的形式、头带的形式或者任何其它的形式被被佩戴于佩戴者的头部上,例如通过可穿戴设备的一个或多个惯性测量单元获取佩戴者的姿态信息。
图2示出了根据本公开的实施例提供的一种生成立体声的方法的流程图。
在图2中,生成立体声的方法包括以下步骤:
步骤S201,根据佩戴者的姿态信息,获取多个虚拟声源中的每个虚拟声源与佩戴者之间的相对位置信息,其中,每个虚拟声源包括至少一个声道。
步骤S202,根据每个虚拟声源的相对位置信息,确定每个虚拟声源对应的一组头传递函数。
步骤S203,根据对应的一组头传递函数,对多个虚拟声源中的每个虚拟声源的声音信号进行渲染,得到多个渲染后的声音信号。
步骤S204,对多个渲染后的声音信号进行混音,获取立体声信号。
例如,图2所示的生成立体声的方法可以由图1所示的电子系统1000执行。
通过本实施例提供的方法,可以简单地实现空间音频的转换计算,减少对硬件的计算能力的要求并能降低功耗。
本公开中,虚拟声源是预先设置的、位于三维空间中的虚拟的声源点。虚拟声源可以用三维空间中的三维坐标点表示,例如(x,y,z)。虚拟声源的位置是预先设置的,可以根据佩戴者的需求或者声源的种类等来设置虚拟声源的位置。例如,在三维空间中预先设置有16个虚拟声源,可以根据佩戴者的需求从这16个虚拟声源中选择合适的虚拟声源。又如,想要模拟的声音效果是交响乐,则可以设置位于用于前方的虚拟声源来模式交响乐的空间感。
例如,可以设置虚拟声源与佩戴者的相对位置关系,比如位于佩戴者的前方、后方、左侧、右侧、上侧、下侧等。例如,可以设置虚拟声源的数量,如4个、8个、10个等。虚拟声源的数量与需要达到的环绕效果、佩戴者需求等相关,在此不进行限制。
图3示出了根据本公开的实施例提供的虚拟声源和佩戴者的相对关系的示意图。
在图3中,为了便于示意,佩戴者300被认为位于三维空间中的原点处,而在上述生成立体声的方法中,佩戴者并不会被认为是一个坐标点。图3示出了多个虚拟声源,包括虚拟声源301、虚拟声源302、虚拟声源303、虚拟声源304、虚拟声源305和虚拟声源306。在图3中,虚拟声源用黑色圆点表示。虚拟声源301-306围绕佩戴者300。如图3所示,虚拟声源301在佩戴者300的上方、虚拟声源302和虚拟声源303在佩戴者300的左前方、虚拟声源304在佩戴者300的右侧、虚拟声源305在佩戴者300的左侧、虚拟声源306则在佩戴者300的右下方。本公开中所使用的“上”、“下”、“左”、“右”都是用来描述位置关系的相对方向的示意,并非是位置关系的限制。在本实施例中,不同的虚拟声源对应于不同的声音信号,例如图3中的虚拟声源303对应于钢琴的声音信号、虚拟声源304对应于小提琴的声音信号等。
返回参见图2,在执行步骤S201时,根据佩戴者的姿态信息,获取多个虚拟声源中的每个虚拟声源与佩戴者之间的相对位置信息。
例如,佩戴者具有初始姿态,虚拟声源在空间中的位置是预先设置的,从而虚拟声源和佩戴者的初始姿态之间的相对位置信息是确定的。但是在佩戴者的姿态发生变化时,佩戴者的实时姿态和虚拟声源的相对位置信息是变化的,从而根据佩戴者的姿态信息,来确定佩戴者和虚拟声源之间的相对位置信息。
可选地,佩戴者的姿态信息可以用四元数、欧拉角、旋转矩阵等表示。例如,四元数、欧拉角、旋转矩阵等可以表示佩戴者的实时姿态相对于该初始姿态发生的转动情况,比如佩戴者的头部进行的转动。
可选地,佩戴者的姿态信息是周期性的获取的,或者佩戴者的姿态信息是接收到的信息。例如,每隔20s获取一次佩戴者的姿态信息。又如,响应于接收到佩戴者的姿态信息,执行步骤S201。
可选地,在获取多个虚拟声源中的每个虚拟声源与佩戴者之间的相对位置信息之前,方法还包括:将多个虚拟声源的声音信号从时域转换到频域。例如,可以被扬声器播放的声音信号是属于时域的声音信号,为了便于计算,将声音信号从时域转换到频域。
例如,可以使用短时傅里叶变换将属于时域的声音信号变换到频域。比如,有N个虚拟声源,第n个虚拟声源的时域的声音信号表示为audioDatan,转化为频域后的声音信号表示为audioDataFreqn,其中n为大于或等于1且小于或等于N的整数。
本实施例中,虚拟声源包括至少一个声道。例如,虚拟声源可以是单声道的、双声道的或立体声的。在虚拟声源包括两个声道时,需要对两个声道对应的声音信号都进行时域到频域的变换。
可选地,根据佩戴者的姿态信息,获取多个虚拟声源中的每个虚拟声源与佩戴者之间的相对位置信息,包括:根据佩戴者的姿态信息,对每个虚拟声源的初始空间坐标进行旋转,获得每个虚拟声源的当前空间坐标;根据每个虚拟声源的当前空间坐标,获取每个虚拟声源的相对位置信息,其中相对位置信息包括角度信息和坐标信息,角度信息包括俯仰角和方位角,坐标信息包括空间坐标。
在执行步骤S201时,可以根据佩戴者的姿态信息,对每个虚拟声源的初始空间坐标进行选择,从而获取每个虚拟声源的当前空间坐标。该当前空间坐标可以理解为实时的空间坐标。然后根据每个虚拟声源的当前空间坐标,确定每个虚拟声源的相对位置信息。
以佩戴者的姿态信息为四元数为例。佩戴者的姿态信息表示为listenerRotation=(W,X,Y,Z)。佩戴者位于三维空间中的原点位置,可以表示为listenerPosition=(0,0,0)。假设第n个虚拟声源virtualSoundSourcen的初始坐标位置为sourcePositionn=(xn,yn,zn),虚拟声源virtualSoundSourcen的初始姿态信息sourceRotationn=(1,0,0,0),其中W,X,Y,Z是四元数的表示形式,(xn,yn,zn)是第n个虚拟声源在三维空间中的坐标,例如使用笛卡尔坐标系表示。
根据佩戴者的姿态信息旋转对第n个虚拟声源virtualSoundSourcen的初始姿态进行转化,可得第n个虚拟声源的相对姿态。
newSourceRotationn=listenerRotation-1,其中,newSourceRotationn为第n个虚拟声源的相对姿态,“-1”表示求逆运算。
计算第n个虚拟声源virtualSoundSourcen旋转后的坐标位置为:
rotatedSourcePositionn=newSourceRotationn*sourcePositionn*newSourceRotationn -1
=(xrn,yrn,zrn)
计算第n个虚拟声源旋转后的坐标位置下的俯仰角为:
计算第n个虚拟声源旋转后的坐标位置下的方位角为:
执行步骤S202,根据每个虚拟声源的相对位置信息,确定每个虚拟声源对应的一组头传递函数。
可选地,可以根据每个虚拟声源的相对位置信息,对预先存储的查找表进行查询,以获取每个虚拟声源对应的一组头传递函数,其中查找表存储头传递函数或头频率响应。
头传递函数也被称为头部相关传递函数(Head Related Transfer Functions,HRTF)。头频率响应也被称为头相关脉冲响应(Head Related Impulse Response,HRIR)。本实施例中,头传递函数和对应的头频率响应具有换算关系,从而在查找表中存储的是头频率响应时,也可以通过先查找到头频率响应,再换算出对应的头传递函数来确定每个虚拟声源对应的头传递函数。头传递函数所占用的存储空间比头频率响应大,在算力充足但内存相对不足的情况下,可以选择将头频率响应存储在查找表中,以节省存储空间。而在算力相对不足但内存充足的情况下,将头传递函数存储在查找表中,可以节省算力。通过算力和内容,可以对查找表存储的内容进行调整。例如,还可以设置查找表存储部分头传递函数和部分头频率响应。比如,将使用频率较高的头传递函数直接存储在查找表中,而对于使用频率较低的头传递函数,则在查找表中存储这部分头传递函数对应的头频率响应。本实施例中查找表的形式不限,例如是使用虚拟声源的标识作为索引、根据键-值方式或直接基于虚拟声源的标识进行检索均可。
不同的虚拟声源通常对应于不同组的头传递函数。一组头传递函数包括两个头传递函数,这两个头传递函数为左耳的头传递函数和右耳的头传递函数,可以将左耳的头传递函数记作右耳的HRTF为/>
可选地,在查找表中存储的是头频率响应时,先获取每个虚拟声源的头频率响应,然后计算对应的头传递函数。例如,虚拟声源的标识可以是角度信息,如根据第n个虚拟声源的俯仰角和方位角θn,从查找表中可以查询到两个头频率响应,例如分别是左耳的头频率响应和右耳的头频率响应。然后对头频率响应进行换算,得到第n个虚拟声源对应的头传递函数。
可选地,确定每个虚拟声源对应的一组头传递函数,还包括:根据所述多个虚拟声源的排布方式,对每个虚拟声源对应的一组头传递函数进行处理,以使每个虚拟声源对应的一组头传递函数具有环绕音效。
多个虚拟声源的排布方式可以是环绕声场的虚拟扬声器阵列结构。例如,多个虚拟声源可以是Ambisonic不同阶数对应的扬声器阵列结构,或者ITU-R BS.775-3(国际电信联盟无线电通信组BS.775-3标准)定义的5.1、7.1环绕声的扬声器阵列结构等。诸如此类的扬声器阵列结构对应有扬声器阵列的头传递函数HRTFS loudspeakers,可以根据扬声器阵列的头传递函数对从查找表获得的头传递函数进行渲染,使得渲染后的头传递函数具有环绕音效。
可选地,除了根据多个虚拟声源的排布方式,对每个虚拟声源对应的一组头传递函数进行处理之外,还可以根据其他的扬声器阵列结构或具有空间音效的扬声器的结构来对每个虚拟声源对应的一组头传递函数进行处理。
例如,可以在从查找表中获取到头传递函数之后,根据扬声器阵列的头传递函数对从查找表获得的头传递函数进行渲染。又如,在从查找表中获取到头传递函数之后,响应于用户选择或配置操作,再对每个虚拟声源对应的一组头传递函数进行处理,以使每个虚拟声源对应的一组头传递函数具有环绕音效。
又如,还可以将查找表中的所有头传递函数预先根据扬声器阵列的头传递函数进行渲染,使得查找表中存储的头传递函数都是渲染后的具有环绕音效的头传递函数。在一种实现方式中,对所有的头传递函数先进行预处理,得到具有环绕音效的头传递函数,并将具有环绕音效的头传递函数存储在查找表中。无论是在存储到查找表之前还是存储到查找表之后对头传递函数进行渲染,都可以弱化头中效应,保证空间音频的环绕效果。
类似地,若查找表中存储的是头频率响应,也可以预先根据扬声器阵列的头传递函数或扬声器阵列的头频率响应进行渲染,使得查找表中存储的头频率响应对应于渲染后的具有环绕音效的头传递函数。
通过在查找表中存储头传递函数,可以减少需要进行计算的步骤,从而进一步降低对计算能力的需求。
执行步骤S203,根据对应的一组头传递函数,对多个虚拟声源中的每个虚拟声源的声音信号进行渲染,得到多个渲染后的声音信号。
可选地,针对每个虚拟声源,可以根据对应的一组头传递函数进行双耳渲染,从而得到渲染后的声音信号。例如,将每个虚拟声源的声音信号与对应的一组头传递函数进行复数相乘,以实现双耳渲染。
例如,对于第n个虚拟声源,可以将audioDataFreqn与对应的进行复数相乘,完成双耳声渲染。
执行步骤S204,对多个渲染后的声音信号进行混音,获取立体声信号。
本实施例中,该立体声信号是可以由扬声器播放的信号。可选地,在多个渲染后的声音信号进行混音之前,方法还包括:将多个渲染后的声音信号从的频域转换到时域。在步骤S203之后,没有更多的计算步骤,则可以将声音信号转换到时域。例如,通过短时傅里叶逆变换,将频域的声音信号转换到时域。
可选地,多个渲染后的声音信号进行混音,包括对针对多个渲染后的声音信号的左声道和右声道分别进行归一化处理,以获取立体声信号。
可选地,本实施例的方法还包括:响应于获取到的姿态信息与上一次获取的姿态信息的差异小于或等于预设阈值,不继续执行生成立体声的方法。
例如,在执行步骤S201之前,如果获取到的姿态信息与上一次获取到的姿态信息的差异很小或没有差异,则可以沿用上一次确定的头传递函数,无需重新获取,从而可以减少计算量。
下面针对上述生成立体声的方法进行举例说明,可以理解地,举例说明是本公开的方案的解释而非限制。
步骤S1,通过短时傅里叶变换将虚拟声源的声音信号从时域信号转化为频域信号。
例如,立体声扬声器播放系统,如耳机,其左右声道的播放内容往往包含不同的信息,在进行空间音频处理时,需要的虚拟声源数量N=2,在本实例中设虚拟声源数量为2,且这两个虚拟声源的位置保持一致,第n个虚拟声源的声音信号在时域中表示为audioDatan,转化为频域信号后可得到第l帧第k个频点信号为audioDataFreqn(k,l)。此处的n取值为1和2,k和l的取值大于或等于1。在时域中,声音信号随时间变化,在对声音信号进行处理时,是每一帧声音信号进行处理,例如将第l帧声音信号从时域转换到频域。而在频域中的声音信号具有多个频点,在处理时,是对每个频点的信号都进行处理。本实施例中对于声音信号的帧数和频域中的频点数量都不进行限制。
步骤S2,将佩戴者的姿态信息转化为虚拟声源相对的音频坐标角度信息。
例如,佩戴者在头部旋转的过程中,得到表征佩戴者的当前姿态的第l帧的四元数为listenerRotationl=(Wl,Xl,Yl,Zl),佩戴者的笛卡尔坐标为listenerPosition=(0,0,0)。对于立体声音乐播放场景,两个虚拟声源virtualSoundSource的初始坐标位置和初始姿态一致,且在当前示例中将虚拟声源设置在佩戴者正前方3米距离即sourcePositionn=(-3,0,0),两个虚拟声源virtualSoundSource的初始姿态信息均为sourceRotation=(1,0,0,0)。根据佩戴者的当前姿态信息,可以得到虚拟声源的相对姿态如下:
newSourceRotationl=listenerRotationl -1
其中,*-1表示求逆运算。
计算虚拟声源旋转后的坐标位置为:
rotatedSourcePosition
=newSourceRotation*sourcePosition*newSourceRotation-1=(xr,yr,zr)
计算当前虚拟声源的声音信号的第l帧的俯仰角和方位角θ(l)为:
步骤S3,从预设的查找表中搜索当前虚拟声源的声音信号的第l帧对应的头部相关传递函数(HRTFs);
为了均衡算力和内存,选择存储头部相关传递函数HRTF在查找表中,根据计算得到的俯仰角和方位角θ(l)在该查找表中搜索对应的左右耳的HRTFs,其中左耳的HRTF为/>右耳的HRTF为/>
步骤S4,进行双耳声渲染。
将第l帧第n个虚拟声源的频域信号audioDataFreqn与对应的左右耳进行复数相乘得到双耳声渲染的频域信号renderedaudioDataFreqn(l),
步骤S5,通过短时傅里叶逆变换(ISTFT)将渲染后的声音信号从频域信号转化为时域信号。
这个过程中将第l帧第n个虚拟声源双耳渲染后的频域信号renderedaudioDataFreqn(l)通过短时傅立叶逆变换转化为时域信号renderedaudioDatan(l)。
步骤S6,将多个虚拟声源的声音信号混音成双耳立体声。
例如,虚拟声源的两个位置相同,混音过程可以采用叠加归一化的方式对虚拟声源的左右声道的声音信号分别进行处理,最后得到立体声信号。
本公开至少一个实施例提供一种可穿戴设备,包括:存储器,非瞬时性地存储有计算机可执行指令;和处理器,配置为运行计算机可执行指令,其中,计算机可执行指令被处理器运行时实现根据上述实施例中任一项的生成立体声的方法。
图4a示出了根据本公开的实施例提供的一种可穿戴设备。
例如,如图4a所示,可穿戴设备400可以包括:存储器410和处理器420。应当注意,图4a所示的可穿戴设备400的组件只是示例性的,而非限制性的,根据实际应用需要,该可穿戴设备400还可以具有其他组件。
存储器410可包括一个或多个存储器,处理器420也可以包括一个或多个处理器,图4a未示出存储器及处理器的数量,该数量可以根据实际需求进行设置。
例如,存储器410用于非瞬时性地存储有计算机可执行指令;420配置为运行计算机可执行指令,计算机可执行指令处理器420运行时执行根据上述任一实施例的生成立体声的方法中的一个或多个步骤。
例如,存储器410和处理器420之间可以直接或间接地互相通信。
例如,存储器410和处理器420等组件之间可以通过网络连接以进行通信。网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。网络可以包括局域网、互联网、电信网、基于互联网和/或电信网的物联网(Internet of Things)、和/或以上网络的任意组合等。有线网络例如可以采用双绞线、同轴电缆或光纤传输等方式进行通信,无线网络例如可以采用3G/4G/5G移动通信网络、蓝牙、Zigbee或者WiFi等通信方式。本公开对网络的类型和功能在此不作限制。
又例如,存储器410和处理器420也可以通过总线连接进行通信。总线可以是外设部件互连标准(PCI)总线或扩展工业标准结构(EISA)总线等。
例如,处理器420可以控制可穿戴设备400中的其它组件以执行期望的功能。处理器420可以是中央处理单元(CPU)、张量处理器(TPU)、者图形处理器(GPU)、微处理器等具有数据处理能力和/或程序执行能力的器件。中央处理元(CPU)可以为X83或ARM架构等。
例如,存储器410可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在计算机可读存储介质上可以存储一个或多个计算机可读指令,处理器420可以运行该计算机可读指令,以实现可穿戴设备400的各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据等。
关于可穿戴设备400可以实现的技术效果可以参考上述语音唤醒方法的实施例中的相关描述,重复之处不再赘述。
图4b示出了根据本公开的实施例提供的又一种可穿戴设备。
在图4b中,可穿戴设备400’包括存储器410、处理器420和扬声器430。可穿戴设备400’可以认作是在可穿戴设备400的基础上增加了扬声器430。扬声器430与处理器420连接,例如有线地或者无线地连接。
扬声器430被配置为输出根据上述实施例中任一项的生成立体声的方法生成的立体声信号。例如,在由处理器420执行上述生成立体声的方法后,得到立体声信号,然后将立体声信号发送给扬声器430,由扬声器430播放该立体声信号。
本公开至少一个实施例提供一种非瞬时性计算机可读存储介质,其中,非瞬时性计算机可读存储介质存储有计算机可执行指令,计算机可执行指令被处理器执行时实现根据上述方法实施例中任一项的生成立体声的方法。
图5为本公开至少一个实施例提供的一种非瞬时性计算机可读存储介质的示意图。例如,如图5所示,在非瞬时性计算机可读存储介质500上可以非暂时性地存储一个或多个计算机可执行指令501。例如,当计算机可执行指令501由处理器执行时可以执行根据本公开任一实施例的生成立体声的方法中的一个或多个步骤。
例如,该非瞬时性计算机可读存储介质500可以应用于上述可穿戴设备400和可穿戴设备400’中。例如,非瞬时性计算机可读存储介质500可以包括上述可穿戴设备400中的存储器410。
例如,关于非瞬时性计算机可读存储介质500的说明可以参考上述可穿戴设备400中的存储器410的描述,重复之处不再赘述。
上述实施例中提供的生成立体声的方法可以由可穿戴设备执行,并由可穿戴设备播放所生成的立体声信号。在另一种实现方式中,生成立体声的方法可以终端设备、服务器、客户端等设备执行,所生成的立体声信号则有其他带有扬声器的电子设备进行播放。
本公开至少一个实施例提供一种电子设备,包括:接收器,被配置为接收根据上述方法实施例中任一项的生成立体声的方法生成的立体声信号;扬声器,被配置播放立体声信号。
图6示出了根据本公开的实施例提供的一种电子设备。
在图6中,电子设备600包括接收器601和扬声器602。接收器601与扬声器602连接。
接收器601可以接收外部设备发送来的声音信号,例如立体声信号。接收器601将该声音信号发送给扬声器602。扬声器602则播放接收器601发送来的声音信号。例如,接收器601可以是接收机、收发芯片等。扬声器602可以包括一个或多个扬声器。
例如,电子设备600是有线耳机、无线耳机、智能眼镜、手机、平板电脑、车载终端等。由外部的设备执行上述生成立体声的方法,例如外部设备是服务器,然后由电子设备500来播放所生成的立体声信号。在本实施例中,对于计算能力较弱的电子设备,由电子设备播放由外部设备生成的立体声,从而电子设备结合外部设备一起能实现具有空间感的空间音频,可以显著的提升佩戴者体验。
本公开至少一个实施例提供一种播放立体声的方法,包括:接收根据上述方法实施例中任一项的生成立体声的方法生成的立体声信号;播放立体声信号。
例如,电子设备600可以接收根据生成立体声的方法生成的立体声信号,并播放该立体声信号。
本文中描述的所公开的和其他解决方案、示例、实施例、模块和功能操作可以在数字电子电路或计算机软件、固件或硬件中实现,包括本文中公开的结构及其结构等效物,或者一个或多个的组合。所公开的实施例和其他实施例可以实现为一个或多个计算机程序产品,即在计算机可读介质上编码以供数据处理装置执行或控制其操作的计算机程序指令的一个或多个模块。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储设备、影响机器可读传播信号的物质的组合,或者一个或多个它们的组合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。除硬件外,装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或其中一个或多个的组合的代码。传播的信号是人为生成的信号,例如,机器生成的电、光或电磁信号,其被生成以编码信息以传输到合适的接收器装置。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言(包括编译语言或解释语言)编写,并且可以以任何形式部署,包括作为独立程序或作为模块、分量、子程序或其他适合在计算环境中使用的单元。计算机程序不一定与文件系统中的文件对应。程序可以存储在保存其他程序或数据的文件的部分中(例如,存储在标志语言文档中的一个或多个脚本)、专用于所讨论的程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以部署在一台或多台计算机上来执行,这些计算机位于一个站点上或分布在多个站点上,并通过通信网络互连。
本文中描述的处理和逻辑流可以通过一个或多个可编程处理器执行,该处理器执行一个或多个计算机程序,通过在输入数据上操作并生成输出来执行功能。处理和逻辑流也可以通过特殊用途的逻辑电路来执行,并且装置也可以实现为特殊用途的逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型数字计算机的任何一个或多个。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是执行指令的处理器和存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如,磁盘、磁光盘或光盘,或通过操作耦合到一个或多个大容量存储设备来从其接收数据或将数据传输到一个或多个大容量存储设备,或两者兼有。然而,计算机不一定具有这样的设备。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动硬盘;磁光盘;以及CD ROM和DVD ROM盘。处理器和存储器可以由专用逻辑电路来补充,或合并到专用逻辑电路中。
虽然本专利文件包含许多细节,但不应将其解释为对任何主题或权利要求范围的限制,而应解释为对特定技术的特定实施例的特征的描述。本专利文件在分开的实施例的上下文描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种功能也可以在多个实施例中分开实施,或在任何合适的子组合中实施。此外,尽管上述特征可以描述为在某些组合中起作用,甚至最初要求是这样,但在某些情况下,可以从组合中移除权利要求组合中的一个或多个特征,并且权利要求的组合可以指向子组合或子组合的变体。
同样,尽管附图中以特定顺序描述了操作,但这不应理解为要实现期望的结果必须按照所示的特定顺序或先后顺序执行此类操作,或执行所有说明的操作。此外,本专利文件实施例中各种系统分量的分离不应理解为在所有实施例中都需要这样的分离。
仅描述了一些实现和示例,其他实现、增强和变体可以基于本专利文件中描述和说明的内容做出。
对于本公开,还有以下几点需要说明:(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。(2)为了清晰起见,在用于描述本发明的实施例的附图中,层或结构的厚度和尺寸被放大。可以理解,当诸如层、膜、区域或基板之类的元件被称作位于另一元件“上”或“下”时,该元件可以“直接”位于另一元件“上”或“下”,或者可以存在中间元件。(3)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以权利要求的保护范围为准。
Claims (16)
1.一种生成立体声的方法,包括:
根据佩戴者的姿态信息,获取多个虚拟声源中的每个虚拟声源与所述佩戴者之间的相对位置信息,其中,每个虚拟声源包括至少一个声道;
根据每个虚拟声源的相对位置信息,确定每个虚拟声源对应的一组头传递函数;
根据对应的一组头传递函数,对所述多个虚拟声源中的每个虚拟声源的声音信号进行渲染,得到多个渲染后的声音信号;
对所述多个渲染后的声音信号进行混音,获取立体声信号。
2.根据权利要求1所述的方法,其中,所述根据对应的一组头传递函数,对所述多个虚拟声源中的每个虚拟声源的声音信号进行渲染,得到多个渲染后的声音信号,包括:
将每个虚拟声源的声音信号与对应的一组头传递函数进行复数相乘,以实现双耳渲染。
3.根据权利要求1所述的方法,所述方法还包括:
周期性获取所述佩戴者的姿态信息,所述佩戴者的姿态信息包括四元数、欧拉角或旋转矩阵。
4.根据权利要求3所述的方法,所述方法还包括:
响应于获取到的所述姿态信息与上一次获取的姿态信息的差异小于或等于预设阈值,不继续执行所述生成立体声的方法。
5.根据权利要求1所述的方法,其中,在获取多个虚拟声源中的每个虚拟声源与所述佩戴者之间的相对位置信息之前,所述方法还包括:
将多个虚拟声源的声音信号从时域转换到频域。
6.根据权利要求1所述的方法,其中,所述根据佩戴者的姿态信息,获取多个虚拟声源中的每个虚拟声源与所述佩戴者之间的相对位置信息,包括:
根据所述佩戴者的姿态信息,对每个虚拟声源的初始空间坐标进行旋转,获得每个虚拟声源的当前空间坐标;
根据每个虚拟声源的当前空间坐标,获取每个虚拟声源的相对位置信息,其中相对位置信息包括角度信息和坐标信息,所述角度信息包括俯仰角和方位角,所述坐标信息包括空间坐标。
7.根据权利要求1所述的方法,其中,所述根据每个虚拟声源的相对位置信息,确定每个虚拟声源对应的一组头传递函数,包括:
根据每个虚拟声源的相对位置信息,对预先存储的查找表进行查询,以获取每个虚拟声源对应的一组头传递函数,其中所述查找表存储头传递函数或头频率响应。
8.根据权利要求7所述的方法,其中,在所述查找表存储头频率响应时,根据每个虚拟声源的相对位置信息,对预先存储的查找表进行查询,以获取每个虚拟声源对应的一组头传递函数,包括:
根据每个虚拟声源的相对位置信息,对预先存储的查找表进行查询,获取每个虚拟声源的头频率响应;
根据每个虚拟声源的头频率响应,计算对应的一组头传递函数。
9.根据权利要求7所述的方法,其中,确定每个虚拟声源对应的一组头传递函数,还包括:
根据所述多个虚拟声源的排布方式,对每个虚拟声源对应的一组头传递函数进行处理,以使每个虚拟声源对应的一组头传递函数具有环绕音效。
10.根据权利要求1所述的方法,其中,在对所述多个渲染后的声音信号进行混音之前,所述方法还包括:
将所述多个渲染后的声音信号从的频域转换到时域。
11.根据权利要求1所述的方法,其中,所述对所述多个渲染后的声音信号进行混音,获取立体声信号,包括:
针对所述多个渲染后的声音信号的左声道和右声道分别进行归一化处理,以获取所述立体声信号。
12.一种可穿戴设备,包括:
存储器,非瞬时性地存储有计算机可执行指令;和
处理器,配置为运行所述计算机可执行指令,
其中,所述计算机可执行指令被所述处理器运行时实现根据权利要求1-11中任一项所述的生成立体声的方法。
13.根据权利要求12所述的可穿戴设备,其中,所述可穿戴设备还包括扬声器,所述扬声器被配置为输出根据权利要求1-11中任一项所述的生成立体声的方法生成的立体声信号。
14.一种非瞬时性计算机可读存储介质,其中,所述非瞬时性计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现根据权利要求1-11中任一项所述的生成立体声的方法。
15.一种播放立体声的方法,包括:
接收根据权利要求1-11中任一项所述的生成立体声的方法生成的立体声信号;
播放所述立体声信号。
16.一种电子设备,包括:
接收器,被配置为接收权利要求1-11中任一项所述的生成立体声的方法生成的立体声信号;
扬声器,被配置播放所述立体声信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410008204.3A CN117793611A (zh) | 2024-01-03 | 2024-01-03 | 生成立体声的方法、播放立体声的方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410008204.3A CN117793611A (zh) | 2024-01-03 | 2024-01-03 | 生成立体声的方法、播放立体声的方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117793611A true CN117793611A (zh) | 2024-03-29 |
Family
ID=90383461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410008204.3A Pending CN117793611A (zh) | 2024-01-03 | 2024-01-03 | 生成立体声的方法、播放立体声的方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117793611A (zh) |
-
2024
- 2024-01-03 CN CN202410008204.3A patent/CN117793611A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11765541B2 (en) | Audio spatialization | |
US10979843B2 (en) | Spatialized audio output based on predicted position data | |
CN109564504A (zh) | 用于基于移动处理空间化音频的多媒体装置 | |
US20150061971A1 (en) | Method and system for presenting content | |
US11429340B2 (en) | Audio capture and rendering for extended reality experiences | |
CN111050271B (zh) | 用于处理音频信号的方法和装置 | |
US11580213B2 (en) | Password-based authorization for audio rendering | |
KR102226817B1 (ko) | 콘텐츠 재생 방법 및 그 방법을 처리하는 전자 장치 | |
US20210006976A1 (en) | Privacy restrictions for audio rendering | |
US10972852B2 (en) | Adapting audio streams for rendering | |
CN113556481A (zh) | 视频特效的生成方法、装置、电子设备及存储介质 | |
CN114040319B (zh) | 一种终端设备外放音质优化方法、装置、设备和介质 | |
CN117793611A (zh) | 生成立体声的方法、播放立体声的方法、设备及存储介质 | |
CN114339582A (zh) | 双通道音频处理、方向感滤波器生成方法、装置以及介质 | |
CN113658283B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
US20230262406A1 (en) | Visual content presentation with viewer position-based audio | |
US20240335751A1 (en) | Rendering ambisonics sound sources using fractional orders | |
CN117641040A (zh) | 视频处理方法、装置、电子设备和存储介质 | |
CN117676002A (zh) | 音频处理方法及电子设备 | |
CN116437284A (zh) | 空间音频合成方法、电子设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |