CN118020320A - 一种音频渲染系统和方法 - Google Patents
一种音频渲染系统和方法 Download PDFInfo
- Publication number
- CN118020320A CN118020320A CN202280064989.5A CN202280064989A CN118020320A CN 118020320 A CN118020320 A CN 118020320A CN 202280064989 A CN202280064989 A CN 202280064989A CN 118020320 A CN118020320 A CN 118020320A
- Authority
- CN
- China
- Prior art keywords
- scene
- point cloud
- room
- scene point
- determining
- 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
- 238000009877 rendering Methods 0.000 title claims abstract description 114
- 238000000034 method Methods 0.000 title claims abstract description 63
- 230000005236 sound signal Effects 0.000 claims abstract description 48
- 230000015654 memory Effects 0.000 claims description 41
- 239000000463 material Substances 0.000 claims description 29
- 238000000926 separation method Methods 0.000 claims description 21
- 230000008859 change Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 24
- 238000004364 calculation method Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 14
- 239000011159 matrix material Substances 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 238000002834 transmittance Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 210000005069 ears Anatomy 0.000 description 6
- 230000007613 environmental effect Effects 0.000 description 6
- 241000282414 Homo sapiens Species 0.000 description 5
- 238000010521 absorption reaction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 238000002835 absorbance Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 239000000872 buffer Substances 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006854 communication Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 241000288673 Chiroptera Species 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 2
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 208000003443 Unconsciousness Diseases 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000422 nocturnal effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S7/00—Indicating arrangements; Control arrangements, e.g. balance control
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Signal Processing (AREA)
- Stereophonic System (AREA)
Abstract
本公开涉及一种音频渲染方法,包括获取音频元数据,所述音频元数据包括声学环境信息;根据所述声学环境信息来设置用于音频渲染的参数,所述用于音频渲染的参数包括场景近似长方体房间的声学信息;根据所述用于音频渲染的参数对音频信号进行渲染。
Description
本申请是以申请号为PCT/CN2021/121718,申请日为2021年9月29日的申请为基础,并主张其优先权,该申请的公开内容在此作为整体引入本申请中。
本公开涉及一种音频渲染系统和方法,更具体地涉及一种估计场景近似长方体房间的声学信息的系统和方法。
真实世界中的所有声音,都是空间音频。声音来源于物体振动,经由介质传播,被我们听到。现实世界中,振动的物体可以出现在任何地方,振动的物体与人的头部会形成一个三维的方向向量。由于人体是通过双耳来接收声音,方向向量的水平角会影响声音到达我们双耳中的响度差、时间差和相位差;方向向量的垂直角还会影响声音到达我们双耳中的频率响应。我们人类正是依靠这些物理信息,在后天大量无意识的训练之下,得到了根据双耳声音信号判断声源所处位置的能力。
发明内容
在本公开的一些实施例中,公开了一种音频渲染方法,包括获取音频元数据,所述音频元数据包括声学环境信息;根据所述声学环境信息来设置用于音频渲染的参数,所述用于音频渲染的参数包括场景近似长方体房间的声学信息;根据所述用于音频渲染的参数对音频信号进行渲染。
在一些实施例中,所述长方体房间包括正方体房间。
在一些实施例中,根据所述用于音频渲染的参数对音频信号进行渲染包括:基于用于音频渲染的参数对音频信号进行空间编码,以及对空间编码的音频信号进行空间解码,以得到被解码的经音频渲染的音频信号。
在一些实施例中,所述音频信号包括空间音频信号。
在一些实施例中,所述空间音频信号包括以下中的至少一者:基于对象的空间音频信号、基于场景的空间音频信号以及基于声道的空间音频信号。
在一些实施例中,所述场景近似长方体房间的声学信息包括以下中的至少一者:房间大小、房间中心坐标、朝向以及墙壁的材质近似声学特性。
在一些实施例中,所述声学环境信息包括从虚拟场景中采集的由多个场景点组成的场景点云。
在一些实施例中,从虚拟场景中采集由多个场景点组成的场景点云包括将以听者为原点向各个方向射出的N条射线与场景的N个交点设置为场景点。
在一些实施例中,根据从虚拟场景中采集的场景点云来估计场景近似长方体房间的声学信息包括:根据所采集的场景点云确定最小边界框;以及根据所述最小边界框,确定所估计的所述场景长方体房间的大小和中心坐标。
在一些实施例中,确定最小边界框包括确定场景点云的平均位置;根据所述平均位置,将场景点云的位置坐标转换到房间坐标系;根据场景点云以及场景点云的平均位置,将转换到房间坐标系的场景点云分组,其中每组场景点云对应于房屋的一个墙壁;以及针对每个分组,确定分组后的场景点云所对应的墙壁与所述场景点云的所述平均位置之间的间隔距离为最小边界框。
在一些实施例中,确定分组后的场景点云所对应的墙与所述场景点云的平均位置之间的间隔距离包括确定转换到房间坐标系的场景点云到坐标原点的距离被投影到分组所指的墙壁的投影长度;以及确定当前分组的所有投影长度的最大值为分组后的场景点云所对应的墙与所述平均位置之间的间隔距离。
在一些实施例中,确定分组后的场景点云所对应的墙与所述场景点云的平均位置之间的间隔距离包括当分组不为空时,确定所述间隔距离;以及当分组为空时,确定墙丢失。
在一些实施例中,所述场景近似长方体房间的声学信息包括房间墙壁的材质近似声学信息,并且根据从虚拟场景中采集的场景点云来估计场景近似长方体房间的声学信息还包括:根据分组中的所有点云的平均吸收率、平均散射率以及平均透射率确定分组所指墙壁的材质近似声学特性。
在一些实施例中,所述场景近似长方体房间的声学信息包括房间的朝向,并且根据从虚拟场景中采集的场景点云来估计场景近似长方体房间的声学信息还包括:根据分组中的所有点云的平均法向量以及与分组所指墙壁的法向量夹角来确定近似长方体房间的朝向。
在一些实施例中,所述方法进一步包括根据从虚拟场景中采集的场景点云来逐帧地估计场景近似长方体房间的声学信息,包括根据当前帧所采集的场景点云和先前帧所采集的场景点云确定最小边界框;以及根据所述最小边界框,确定当前帧所估计的所述场景长方体房间的大小和中心坐标。
在一些实施例中,所述先前帧的数量是根据场景近似长方体房间的声学信息估算的特性确定的。
在一些实施例中,根据当前帧所采集的场景点云和先前帧所采集的场景点云确定最小边界框,包括确定当前帧的场景点云的平均位置;根据所述平均位置和上一帧所估计的近似长方体房间的朝向,将场景点云的位置坐标转换到房间坐标系;根据上一帧估计的近似长方体房间的大小,将转换到房间坐标系的场景点云分组,其中每组场景点云对应于房屋的一个墙壁;针对每个分组,确定分组后的场景点云所对应的墙壁与所述场景点云的所述平均位置之间的间隔距离;以及从1)当前帧的间隔距离以及2)多个先前帧的间隔距离与房间朝向改变和平均位置改变的乘积的差中,确定最大值为当前帧的最小边界框。
在一些实施例中,基于如下公式来根据所采集的场景点云来确定最小边界框:
其中mcd(w)表示待求解的最小边界框中,每面墙壁w到当前
的距离;rot(t)表示第t帧的近似长方体房间的朝向信息;以及
表示第t帧的场景点云的平均位置。
在本公开的一些实施例中,公开了一种音频渲染系统,包括音频元数据模块,所述音频元数据模块被配置为获取声学环境信息;其中,所述音频元数据模块被配置为根据所述声学环境信息来设置用于音频渲染的参数,所述用于音频渲染的参数包括场景近似长方体房间的声学信息,所述用于音频渲染的参数用于为对音频信号进行渲染。
在一些实施例中,所述长方体房间包括正方体房间。
在一些实施例中,所述系统进一步包括空间编码模块,所述空间编码模块被配置为基于用于音频渲染的参数对音频信号进行空间编码;以及空间解码模块,所述空间解码模块被配置为对空间编码的音频信号进行空间解码,以得到被解码的经音频渲染的音频信号。
在一些实施例中,所述音频信号包括空间音频信号。
在一些实施例中,所述空间音频信号包括以下中的至少一者:基于对象的空间音频信号、基于场景的空间音频信号以及基于声道的空间音频信号。
在一些实施例中,所述场景近似长方体房间的声学信息包括以下中的至少一者:大小、中心坐标、朝向以及墙壁的材质近似声学特性。
在一些实施例中,所述声学环境信息包括从虚拟场景中采集的由多个场景点组成的场景点云。
在一些实施例中,从虚拟场景中采集由多个场景点组成的场景点云包括将以听者为原点向各个方向射出的N条射线与场景的N个交点设置为场景点。
在一些实施例中,根据从虚拟场景中采集的场景点云来估计场景近似长方体房间的声学信息包括:根据所采集的场景点云确定最小边界框;以及根据所述最小边界框,确定所估计的所述场景长方体房间的大小和中心坐标。
在一些实施例中,确定最小边界框包括确定场景点云的平均位置;根据所述平均位置,将场景点云的位置坐标转换到房间坐标系;根据场景点云以及场景点云的平均位置,将转换到房间坐标系的场景点云分组,其中每组场景点云对应于房屋的一个墙壁;以及针对每个分组,确定分组后的场景点云所对应的墙壁与所述场景点云的所述平均位置之间的间隔距离为最小边界框。
在一些实施例中,确定分组后的场景点云所对应的墙与所述场景点云的平均位置之间的间隔距离包括:确定转换到房间坐标系的场景点云到坐标原点的距离被投影到分组所指的墙壁的投影长度;以及确定当前分组的所有投影长度的最大值为分组后的场景点云所对应的墙与所述平均位置之间的间隔距离。
在一些实施例中,确定分组后的场景点云所对应的墙与所述场景点云的平均位置之间的间隔距离包括:当分组不为空时,确定所述间隔距离;以及当分组为空时,确定墙丢失。
在一些实施例中,所述场景近似长方体房间的声学信息包括房间墙壁的材质近似声学信息,并且根据从虚拟场景中采集的场景点云来估计场景近似长方体房间的声学信息还包括:根据分组中的所有点云的平均吸收率、平均散射率以及平均透射率确定分组所指墙壁的材质近似声学特性。
在一些实施例中,所述场景近似长方体房间的声学信息包括房间的朝向,并且根据从虚拟场景中采集的场景点云来估计场景近似长方体房间的声学信息还包括:根据分组中的所有点云的平均法向量以及与分组所指墙壁的法向量夹角来确定近似长方体房间的朝向。
在一些实施例中,所述系统进一步包括根据从虚拟场景中采集的场景点云来逐帧地估计场景近似长方体房间的声学信息,包括:根据当前帧所采集的场景点云和先前帧所采集的场景点云确定最小边界框;以及根据所述最小边界框,确定当前帧所估计的所述场景长方体房间的大小和中心坐标。
在一些实施例中,所述先前帧的数量是根据场景近似长方体房间的声学信息估算的特性确定的。
在一些实施例中,根据当前帧所采集的场景点云和先前帧所采集的场景点云确定最小边界框,包括确定当前帧的场景点云的平均位置;根据所述平均位置和上一帧所估计的近似长方体房间的朝向,将场景点云的位置坐标转换到房间坐标系;根据上一帧估计的近似长方体房间的大小,将转换到房间坐标系的场景点云分组,其中每组场景点云对应于房屋的一个墙壁;针对每个分组,确定分组后的场景点云所对应的墙壁与所述场景点云的所述平均位置之间的间隔距离;以及从1)当前帧的间隔距离以及2)多个先前帧的间隔距离与房间朝向改变和平均位置改变的乘积的差中,确定最大值为当前帧的最小边界框。
在一些实施例中,基于如下公式来根据所采集的场景点云来确定最小边界框:
其中mcd(w)表示待求解的最小边界框中,每面墙壁w到当前
的距离;rot(t)表示第t帧的近似长方体房间的朝向信息;以及
表示第t帧的场景点云的平均位置。
在本公开的一些实施例中,公开了一种芯片,包括:至少一个处理器和接口,所述接口,用于为所述至少一个处理器提供计算机执行指令,所述至少一个处理器用于执行所述计算机执行指令,实现根据如上所述的方法。
在本公开的一些实施例中,公开了一种电子设备,包括存储器;和耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器装置中的指令,执行如上所述的方法。
在本公开的一些实施例中,公开了一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据如上所述的方法。
在本公开的一些实施例中,公开了一种一种计算机程序产品,包括指令,所述指令当由处理器执行时使所述处理器执行根据如上所述的方法。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
图1为根据本公开一些实施例的音频渲染系统的示意图;
图2为根据本公开一些实施例的音频渲染系统的示意图;
图3为根据本公开一些实施例的音频渲染系统设置用于音频渲染的参数的步骤框图;
图4为根据本公开一些实施例的音频渲染系统设置用于音频渲染的参数的步骤框图;
图5为根据本公开另一些实施例的音频渲染系统设置用于音频渲染的参数的步骤框图;
图6为根据本公开另一些实施例的音频渲染系统设置用于音频渲染的参数的步骤框图;
图7示出所估计的场景近似长方体房间的示意图;
图8示出根据本公开一些实施例的电子设备的示意图;
图9示出根据本公开一些实施例的电子设备的结构的示意图;
图10为根据本公开一些实施例的音频渲染器的示意图;
图11为根据本公开一些实施例的虚拟现实音频内容表达框架的示意图;以及
图12示出能够实现根据本公开的一些实施例的芯片的示意图。
在一个沉浸式的虚拟环境里,为了尽可能模拟现实世界给予人的各种信息,从而不打破用户的沉浸感,我们也要高质量地模拟声音位置对于我们听到的双耳信号的影响。
这个影响,在静态环境中确定了声源位置和听者位置的情况下,可以用人头响应函数(HRTF)表示。HRTF是一个双声道的FIR滤波器;将原始信号与指定位置的HRTF进行卷积,我们就能得到声源在该位置时我们听到的信号。
然而一个HRTF只能表示一个固定的声源和一个确定的听者的相对位置关系。当我门需要渲染N个声源的时候,理论上我们需要N个HRTF,对N个原始信号进行2N次卷积;并且当听者发生旋转时,我们需要更新所有的N个HRTF,才能正确地渲染虚拟的空间音频场景。这么做的计算量很大。
为了解决多声源渲染以及听者3DOF的旋转,球谐波函数被应用到了空间音频渲染中来。球谐波函数(ambisonic)的基本思路是想象声音分布在一个球面之上,N个指向不同方向的信号通道各司其职,负责对应方向部分的声音。基于ambisonics的空间音频渲染算法如下:
1.各个ambisonics通道中采样点均设置为0;
2.利用声源相对听者的水平角和俯仰角,计算出各个ambisonics通道的权重值;
3.将原始信号乘以各个ambisonics通道的权重值,并叠加到各个通道;
4.对场景中所有声源重复步骤3;
5.双耳输出信号的所有采样点设置为0;
6.将各个ambisonics通道信号与通道对应方向的HRTF做卷积,并叠加到双耳输出信号上;
7.对所有ambisonics通道重复步骤6。
如此,做卷积的次数只与amnisonics通道数有关,与声源个数无关,而声源编码到ambisonics比起卷积要快得多。不仅如此,如果听者旋转了,可以对所有的ambisonics通道进行旋转,同样计算量与声源个数无关。除了将ambisonics信号渲染到双耳,还可以简单的将它渲染到扬声器阵列。
另一方面,在现实世界中,我们人类,包括其他动物,感知到的声音并非只有声源直达我们耳朵的直达声,还有声源振动波经由环境反射、散射以及衍射传到我们的耳朵。其中,环境反射和散射声直接影响了我们对声源和听者自身所处环境的 听觉感知。这种感知能力是蝙蝠等夜行性动物能够在黑暗中定位自己位置,并且理解自身所处环境的基本原理。
我们人类也许没有蝙蝠的听觉灵敏,但是我们也可以通过聆听环境对声源的影响获得大量的信息。请想象如下场景:同样是在聆听一位歌手演唱,我们可以明显听出我们现在是在一个大型教堂内听歌,还是在停车场上听歌,因为混响时长不同;就算在教堂内,我们也能明确分辨我们是在歌手正前方1米处听歌,还是在歌手正前方20米处听歌,因为混响和直达声的比例不同。还是在教堂中,我们能明确分辨我们是在教堂的中心听歌手唱歌;还是有一个耳朵,在离墙壁只有10厘米处听歌;这是因为早期反射声的响度不同。
环境声学现象在现实中无所不在,所以在一个沉浸式的虚拟环境里,为了尽可能模拟现实世界给予人的各种信息,从而不打破用户的沉浸感,我们也要高质量地模拟虚拟场景对于场景中的声音的影响。
现有的对环境声学现象的模拟主要有三大类方法:基于有限元分析的波动求解器、射线追踪以及化简环境的几何形状。
基于有限元分析的波动求解器(波动物理模拟)
这种算法会把需计算的空间分割成密集排列的立方体,称之为“体素”(voxel)(与像素的概念类似,不过像素是二维平面上的极小面积单位,体素是三维空间中的极小体积单位)。微软的ProjectAcoustics运用了这个算法思想。算法的基本过程如下:
1.在虚拟场景中,从声源的位置上的体素内激发一个脉冲;
2.在下一个时间片段,根据体素大小以及邻接体素是否包含场景形状,计算该体素的所有邻接体素的脉冲;
3.重复步骤2很多次,就可计算出场景中的声波场。重复次数越多,声波场计算得越精确;
4.取听者的位置,该位置体素上的所有历史振幅的数组即为当前场景下,该声源到这个听者位置的脉冲响应;
5.对场景中所有的声源重复步骤1~4。
基于波形求解器的房间声学模拟算法有如下优点:
1.时间和空间精度非常高,只要给到足够小的体素,以及足够短的时间片长。
2.可适应于任意形状、材质的场景。
同时该算法有如下缺点:
1.计算量巨大。计算量与体素的大小的三次方成反比,与时间片长成正比。在现实应用场景下,我们几乎不可能在保证合理的时间和空间精度的同时,实时计算波动物理。
2.因为上述缺陷,在需要实时渲染房间声学现象的时候,软件开发者会选择预渲染不同位置组合下,大量的声源和听者之间的脉冲响应,并将之参数化,并在实时演算时,根据听者和声源的不同位置,实时切换渲染参数。但这会需要一台强大的计算设备(微软使用了自家的Azure云)进行预渲染计算,需要额外的存储空间用以存放大量的参数。
3.如上所述,这种方法不能在场景发生预渲染时没考虑到的变化时正确的反应出场景声学特性的变化,因为并没有保存对应的渲染参数。
射线追踪
这种算法的核心思想是:找到尽可能多的从声源到听者之间的声音传播路径,从而获得该路径会带来的能量方向、延迟、以及滤波特性。此类算法是Oculus与Wwise的房间声学模拟系统的核心。
寻找声源到听者的传播路径算法可以简单的归结于如下步骤:
1.会以听者位置为原点,向空间中放射若干条在球面上均匀分布的射线;
2.对每一条射线:
a.若射线与某一声源的垂直距离小于一个预设值的话,则将当前路径记为该声源的有效路径,加以保存;
b.当射线与场景相交时,会根据相交点所在的三角形预设的材质信息,改变射线方向,继续在场景中发射;
c.重复步骤a、b,直到该射线反射的次数到达预设的最大反射深度,则回到步骤2,对下一个射线初始方向进行a~c的步骤;
至此,每个声源都记录了一些路径信息。我们接着利用这些信息计算出每个声源每个路径的能量方向、延迟、以及滤波特性。我们把这些信息统称为声源与听者之间的空间脉冲响应。
最后,我们只要可听化(auralize)每个声源的空间脉冲响应,即可模拟出非常真实的声源方位、距离,以及声源与听者所处环境的特征。空间脉冲响应可听化有两种方法:
1.将空间脉冲响应编码到球形谐波域(ambisonics domain),然后用该球形谐波域生成双耳房间脉冲响应(BRIR),最后把声源原始信号与该BRIR进行卷积,即可得带房间反射和混响的空间音频了。
2.利用空间脉冲响应的信息,将声源原始信号编码到球形谐波域,然后把该球型谐波渲染到双耳输出(binaural)即可
基于射线追踪的环境声学模拟算法有如下优势:
1.相比起波动物理仿真低得多的计算量,不需要预渲染;
2.可适应动态变化的场景(开门,材质变化,屋顶被打飞了,等等);
3.可适应任何形状的场景。
同时,此类算法也有如下劣势:
1.算法的精度极其依赖于射线初始方向的采样量,即更多的射线;然而,由于光线追踪算法的复杂度是O(nlog(n)),更多的射线势必会带来爆炸式增长的计算量;
2.无论是BRIR卷积,还是原始信号编码到球型谐波,计算量都十分可观。随着场景中声源个数的增加,计算量会线性上涨。这对于计算能力有限的移动端设备不是很友好。
化简环境的几何形状
最后一种算法思路是在给定当前场景的几何形状和表面材质后,试图去寻找一种近似的,但是简单许多的几何图形以及表面材质,从而大幅度降低环境声学模拟的计算量。此类做法不是很常见,一些实施例是Google的Resonance引擎:
1.在预渲染阶段,估计一个正方体的房间形状;
2.利用正方体的几何特性,同时假设声源和听者在同一位置,用查表的方法快速计算出场景中声源到听者之间的直达声以及早期反射;
3.在预渲染阶段,利用立方体房间混响时长的经验公式,推算出当前场景中晚期混响的时长,从而控制一个人工混响来模拟场景的晚期混响效果。
此类算法有如下优势:
1.极少的计算量;
2.理论上可模拟无限长的混响时长,并且没有额外的CPU和内存开销。
但是此类算法,至少目前公开的方法,有如下劣势:
1.场景近似形状是在预渲染阶段计算的,无法适应动态变化的场景(开门,材质变化,屋顶被打飞了,等等);
2.假设了声源和听者永远处在同一位置,极不符合现实;
3.假设了所有场景形状都可近似为三边和世界坐标平行的立方体,不能正确渲染很多现实场景(狭长的走廊,倾斜的楼梯间,废旧的歪着的集装箱,等等)。
综上所述:此类算法极大的牺牲了渲染质量,来换取极致的渲染速度。其中问题的核心之一,正是对于场景形状的过于粗糙的简化;这也正是本公开意图解决的问题。
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项, 因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1为根据本公开一些实施例的音频渲染系统的示意图。如图1所示,所述音频渲染系统100包括音频元数据模块101,所述音频元数据模块101被配置为获取声学环境信息;所述音频元数据模块101被配置为根据所述声学环境信息来设置用于音频渲染的参数,所述用于音频渲染的参数包括场景近似长方体房间的声学信息,根据所述用于音频渲染的参数对音频信号进行渲染。在本公开的一些实施例中,所述长方体房间包括正方体房间。
图2为根据本公开一些实施例的音频渲染系统的示意图。如图2所示,音频元数据模块201获取从虚拟场景中采集的由多个场景点组成的场景点云,所述音频元数据模块201被配置为根据所采集的场景点云来估计场景近似长方体房间的声学信息。在本公开的一些实施例中,所述场景近似长方体房间的声学信息包括以下中的至少一者:大小、中心坐标、朝向以及墙壁的材质近似声学特性。在本公开的一些实施例中,从虚拟场景中采集由多个场景点组成的场景点云包括将以听者为原点向各个方向射出的N条射线与虚拟场景的N个交点设置为场景点。
图3为根据本公开一些实施例的音频渲染系统设置用于音频渲染的参数的步骤框图。在步骤S301中,采集虚拟场景中由多个场景点组成的场景点云。在步骤S302中,根据所采集的场景点云确定最小边界框。在步骤S303中,根据所述最小边界框,确定所估计的所述场景长方体房间的大小和中心坐标。
图4为根据本公开一些实施例的音频渲染系统设置用于音频渲染的参数的步骤框图。图4给出了实现图3中S302根据所采集的场景点云确定最小边界框的一个实施方式。图4所给出的实施例仅是本公开所实现的确定最小边界框的一个实施方式,本公开不限于此实施方式。在步骤S401中,确定场景点云的平均位置。在步骤S402中,根据所述平均位置,将场景点云的位置坐标转换到房间坐标系。在S403中,根据场景点云以及场景点云的平均位置,将转换到房间坐标系的场景点云分组,其中每组场景点云对应于房屋的一个墙壁。在本公开的一些实施例中,墙壁指的是近似长方体房间的墙、地板和天花板中的任一个。在步骤S404中,针对每个分组,确定分组后的场景点云所对应的墙壁与所述场景点云的所述平均位置之间的间隔距离为最小边界框。
在本公开的一些实施例中,采集虚拟场景中的多个场景点组成的场景点云P。在本公开的一些实施例中,每个点云P包含点的位置、法向量以及点所在网格(mesh)的材质信息。在本公开的一些实施例中,上述场景点云可以通过以听者为原点,向各个方向均匀地射出N条射线,取射线与场景的N个交点为点云。在本公开的一些实施例中,综合考虑房间声学信息估算的稳定性、实时性以及总计算量,来动态地确定N的数值。计算场景点云P的平均位置
在本公开的一些实施例中,根据场景点云中的场景点到
的距离,剔除距离长度前x%以及后y%的点,其中x和y可以为预先确定的值。将场景点云的位置坐标转换到房间坐标系。在本公开的一些实施例中,所述转换根据场景点云的平均位置
来执行。根据场景点云以及场景点云的平均位置
将转换到房间坐标系的场景点云分组,其中每组场景点云对应于房屋的一个墙壁。针对每个分组,确定分组后的场景点云所对应的墙壁与所述场景点云的所述平均位置
之间的间隔距离为最小边界框。确定最小边界框后,回到图3的步骤S303中,根据所述最小边界框,确定所估计的所述场景长方体房间的大小和中心坐标。
在本公开的一些实施例中,对于所采集的场景点云P的每个点云分组,计算分组所指墙壁的材质近似声学特性。如果分组不为空,则该分组当前材质设置为:吸收率被设置为分组中所有点的平均吸收率;散射率被设置为分组中所有点的平均散射率;透射率被设置为分组中所有点的平均透射率。如果分组为空,则该分组当前材质设置为:吸收率被设置为100%吸收;散射率被设置为0%散射;透射率被设置为100%透射。
在本公开的一些实施例中,对于所采集的场景点云P估算近似的长方体房间朝向。对每个点云分组,计算平均法向量
计算和w墙壁的法向量夹角,包含水平角θ(w),俯仰角
计算长方体房间朝向的全局水平角和俯仰角:
图5为根据本公开另一些实施例的音频渲染系统设置用于音频渲染的参数的步骤框图。图5是在图3的基础上的进一步的实施例。在步骤S501中,采集当前帧的虚拟场景中由多个场景点组成的场景点云。在步骤S502中,根据当前帧所采集的场景点云和先前帧所采集的场景点云确定最小边界框。在步骤S503中,根据所述最小边界框,确定当前帧所估计的所述场景长方体房间的大小和中心坐标。在本公开的 一些实施例中,逐帧地执行图5的步骤流程以动态地估计场景近似长方体房间的声学信息。
图6为根据本公开另一些实施例的音频渲染系统设置用于音频渲染的参数的步骤框图。图6给出了实现图5中S502根据当前帧所采集的场景点云和先前帧所采集的场景点云确定最小边界框一个具体实施例。图6所给出的实施例仅是本公开所实现的确定最小边界框的一个实施方式,本公开不限于此实施方式。在步骤S601中,确定当前帧的所采集的场景点云的平均位置。在步骤S602中,根据所述平均位置和上一帧所估计的近似长方体房间的朝向,将场景点云的位置坐标转换到房间坐标系。在步骤S603中,根据上一帧估计的近似长方体房间的大小,将转换到房间坐标系的场景点云分组,其中每组场景点云对应于房屋的一个墙壁。在步骤S604中,针对每个分组,确定分组后的场景点云所对应的墙壁与所述场景点云的所述平均位置之间的间隔距离。在步骤S605中,从1)当前帧的间隔距离以及2)多个先前帧的间隔距离与房间朝向改变和平均位置改变的乘积的差中,确定最大值为当前帧的最小边界框。确定最小边界框后,回到图5的步骤S503中,根据所述最小边界框,确定所估计的所述场景长方体房间的大小和中心坐标。
图7示出所估计的场景近似长方体房间的示意图。以下详细描述用于估计场景近似长方体房间的声学信息的一些实施例算法,其中所有和几何属性相关的信息(位置,角度,etc)均为世界坐标,为举例说明,以下所有长度单位均为米,但也可以根据需要使用其他距离单位。图7所给出的实施例仅是本公开所实现的所估计的场景近似长方体房间的一个实施方式,本公开不限于此实施方式。
以下结合图6详述根据当前帧所采集的场景点云和先前帧所采集的场景点云确定最小边界框的实施例。
首先,在本公开的一些实施例中,确定初始条件以及变量定义。具体请见如下:
定义长方体房间中心位置c=(0,0,0);
定义长方体房间的朝向水平角θ和俯仰角
都为0;定义长方体房间大小d=(1,1,1);
定义长方体房间墙壁/地板/天花板材质:
i.吸收率=100%;
ii.散射率=0%;
iii.透射率=100%
估计墙壁到中心距离所用的历史记录个数h(w)=1,其中w为墙壁下标,是六个整数,代表长方体的六个墙壁。为方便表述,本文取值0~5。墙壁和下标的对应关系如下:
图表1
针对每帧执行用于动态估计场景近似长方体房间的逼近过程,以下描述用于动态估计场景近似长方体房间的逼近过程的一个实施方式。
在本公开的一些实施例中,如图7所示,采集当前帧的虚拟场景中的多个场景点组成的场景点云P。在本公开的一些实施例中,每个点云P包含点的位置、法向量以及点所在网格(mesh)的材质信息。在本公开的一些实施例中,上述场景点云可以通过以听者为原点,向各个方向均匀地射出N条射线,取射线与场景的N个交点为点云。在本公开的一些实施例中,综合考虑房间声学信息估算的稳定性、实时性以及总计算量,来动态地确定N的数值。
计算场景点云
的平均位置
在本公开的一些实施例中,根据场景点云中的场景点到
的距离,剔除距离长度前x%以及后y%的点,其中x和y可以为预先确定的值,也可以在每帧逼近开始时作为参数输入。
将场景点云的位置坐标转换到房间坐标系。在本公开的一些实施例中,所述转换根据
和上一帧所估计的长方体房间的水平角和俯仰角来执行。
根据上一帧估计的房间大小d,将转换到房间坐标系的点云分成6组,每组对应一个墙壁/地板/天花板。对每个点云分组,计算分组所指的墙到
的距离wcd(w),w为墙壁下标。在本公开的一些实施例中,如果分组不为空,则对分组中每个点:计算房间坐标系的点到坐标原点的距离投影至分组所指墙壁的法向量;取当前分组所有投影长度的最大值,计作当前帧的当前分组所指的墙壁到长方体中心的距离wcd。如果分组为空,则针对当前帧的当前分组所指的墙壁:墙壁w丢失flag设为真(true),墙壁w使用的h(w)=1。
根据过去h(w)帧的
wcd(w)以及长方体房间朝向信息rot,计算可以满足所有历史记录的最小边界框mcd(w)。根据本公开的一些实施例的求解最小边界框mcd(w)的方案在公式1中给出,其中t表示从当前帧算起,未来第t帧;-t表示从当前帧算起,过去第t帧;
表示从t=0帧到t=h(w)-1帧为止的最大值;rot(0)*rot(-t)
-1则表示当前帧(即,t=0)与过去第t帧的房间朝向的变化;
表示当前帧(即,t=0)与过去第t帧的场景点云的平均位置的变化;h(w)代表估计墙w到中心距离所用的历史记录个数,mcd(w)表示代求解的最小边界框中,每面墙w到当前
的距离。
在本公开的一些实施例中,将
写入一个h
max长度的队列
将wcd(w)写入另一个h
max长度的队列wcd(t)(w)。根据过去h(w)帧的
和wcd(w)历史,计算可以满足所有历史记录的最小边界框(boundingbox)mcd(w)。具体来讲,从当前帧的间隔距离wcd(0)(w)以及多个先前帧的间隔距离与房间朝向改变和平均位置改变的乘积的差
(其中t=0:(h(w)-1))中,确定最大值为当前帧的最小边界框mcd(w)。mcd(w)表示待求解的最小边界框中,每面墙壁到当前
的距离。具体地,对每个点云分组w:
其中,rot(h)是一个h
max长度的四元数队列,保存着过去h
max帧估计的长方体房间朝向信息。
h(w)=max(h(w)+1,h
max) 公式3
根据所述最小边界框,确定当前帧所估计的所述场景长方体房间的大小d和房间中心坐标c
虽然本公开结合图6以及公式1-4描述了根据当前帧以及先前多个帧来动态地估计场景近似长方体房间的声学信息,但是可以理解的是,公式1-4同样适用于在某些情况下根据本帧所采集的场景点云来确定场景近似长方体房间的声学信息的实施例,即t=0。
在本公开的一些实施例中,不同于相关技术中假设听者和估计的虚拟房间永远处在同一位置这一不符合现实的情况,本公开中并没有将听者和估计的虚拟房间绑 定,而是假设听者在场景中是可以自由运动的。由于每一帧听者的位置都可能不同,所以当在不同帧处以听者为原点,向周围的墙均匀地射出的N条射线时,N条射线与周围的墙(即,墙壁、地板和天花板)的交点的数量和密度在每面墙处都可能不相同。例如,当听者靠近某一面墙时,从该听者发出的射线与临近的这面墙的交点会较多,而与其他墙的交点会根据墙与该听者的距离不同而相应地减少。由此,在估算场景近似长方体房间的房屋声学信息(例如,房间大小、朝向、场景点云的平均位置)时,该较临近的墙所占的权重便会较大。而这面权重较大的墙,在之后的房间大小、房间朝向和场景点云的平均位置计算中发挥较大的决定性作用,例如场景点云的平均位置会更靠近该面权重较大的墙。这样,在不同帧处,由于听者位置的可能不同,所估算出的房间大小、房间朝向与场景点云的平均位置也会不同。因此,为了降低由于不同帧处听者位置不同所带来的影响,在计算当前帧的最小边界框时,从1)当前帧的间隔距离wcd(w)以及2)过去多个帧的wcd(w)与房间朝向变化和平均位置变化的乘积的差中,将最大值确定为当前帧的最小边界框,即通过减去房间朝向变化和平均位置变化的乘积来尽量规避不同帧处听者位置不同所带来的影响。根据所确定的最小边界框,进而确定当前帧的房间大小和房间中心坐标。
在本公开的一些实施例中,根据当前帧所采集的场景点云以及过去多个帧所采集的场景点云来确定最小边界框,同时还考虑了当前帧与过去多个帧中的每一帧由于听者位置不同而导致的房间朝向以及场景点云的平均位置的变化,从而尽量地规避由于不同帧处听者位置不同而导致所估算的房间声学信息(例如,房间朝向以及场景点云的平均位置)的差异、进而尽量地降低不同帧处由于听者位置不同给房间声学信息估算所带来的影响、并且同时能够适应动态变化的场景(开门、材质变化、屋顶被打飞了等等)。在本公开的一些实施例中,综合考虑房间声学信息估算特性,例如稳定性以及实时性,来动态地确定所复用的过去多个帧的帧数量,使得获得可靠的估算数据的同时也能够及时有效地反映出来场景的瞬态变化(例如,开门、材质变化、屋顶被打飞了等等),例如为了保证估计的稳定性而采用较大量的先前帧,而为了保证估计的实时性而采用叫少量的先前帧。
对每个点云分组,计算分组所指墙壁的材质近似声学特性。在本公开的一些实施例中,如果分组不为空,则该分组当前材质设置为:吸收率被设置为分组中所有点的平均吸收率;散射率被设置为分组中所有点的平均散射率;透射率被设置为分 组中所有点的平均透射率。如果分组为空,则该分组当前材质设置为:吸收率被设置为100%吸收;散射率被设置为0%散射;透射率被设置为100%透射。
估算近似的长方体房间朝向。在本公开的一些实施例中,对每个点云分组,计算平均法向量
计算和w墙壁的法向量夹角,包含水平角θ(w),俯仰角
计算长方体房间朝向的全局水平角和俯仰角:
将全局水平角和俯仰角
转换成四元数表示rot,将rot写入一个h
max长度的队列rot(t)。
至此,每帧的逼近估计过程结束。
本公开渐进式地实时估计房间近似长方体模型;通过场景点云的法向量估计房间朝向;以及通过复用前h
max帧的计算结果,大幅度降低每帧所需的场景采样点的数量(即,以听者为原点向各个方向发射的射线数N),进而加快算法每帧的计算速度。通过不停的运行每帧的逼近估计过程,本公开的算法可以估计出一个越来越准确的长方体近似房间模型,从而能够快速渲染场景反射声和混响。本公开可以实时估计听者所处场景的近似长方体模型,并获得该模型的位置,大小,以及朝向。本公开使得基于近似长方体模型估计的房间声学模拟算法可以在不牺牲交互性、不需要预渲染,以及可支持可变场景的情况下,维持它相对于其他算法(波动物理模拟,射线追踪)极高的计算效率。本算法的运行频率可以远低于其他音频和渲染线程,也不会影响直达声和早期反射声方位感的更新速度。
图8示出根据本公开一些实施例的电子设备的示意图。
如图8所示,电子设备800包括:存储器801以及耦接至该存储器801的处理器802,处理器802被配置为基于存储在存储器801中的指令,执行本公开中任意一个或一些实施例所述的方法。其中,存储器801例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。
图9示出根据本公开一些实施例的电子设备的结构的示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如 车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。如图9所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储装置908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有电子设备操作所需的各种程序和数据。处理装置901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
通常,以下装置可以连接至I/O接口905:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置906;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置907;包括例如磁带、硬盘等的存储装置908;以及通信装置909。通信装置909可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图9示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
图10为根据本公开一些实施例的音频渲染器的示意图。为了例示的目的,图10示出基于双耳输出的渲染器,但本公开不限于基于双耳输出的渲染器,还适用于基于其他方式的渲染器。图10所示的音频渲染器600接收元数据601和空间音频表示信号602。空间音频表示信号602包括基于对象的空间音频表示信号、基于场景的空间音频表示信号以及基于声道的空间音频表示信号。元数据601包括用于音频渲染的参数,例如,指示音频载荷的输入形式是单通道、双声道、多声道,Object,或者声场HOA的音频载荷信息、指示动态的声源和听者的位置的位置信息、以及指示渲染的声学环境的声学环境信息(例如房间形状、大小、朝向、墙体材质等)。所述用于音频渲染的参数指导空间编码模块604对空间音频表示信号602进行信号处理。根据本公开的一些实施例,元数据601经过场景信息处理器603被环境声学模拟算法处理以确定用于音频渲染的参数。根据本公开的一些实施例,所述环境声学模拟算法包括动态估计场景近似长方体房间的声学信息的算法。所述经处理的信号经过中间信号介质被空间解码模块606解码。所解码的数据经过输出信号后处理模块607处理以输出信号608,所述输出信号608包括标准扬声器阵列信号、自定义扬声器阵列信号、特殊扬声器阵列信号以及双耳回放信号。
图11为根据本公开一些实施例的虚拟现实音频内容表达框架的示意图。虚拟现实音频内容表达广义上涉及元数据、音频编解码器和音频渲染器,在本公开的一些实施例中,采用元数据、渲染器、编解码器在逻辑上相互分离的方式。在本公开的一些实施例中,当用于本地存储和制作时,只需要渲染器对元数据进行解析,不涉及音频编解码过程;当用于传输时(例如直播或双向通信),需要定义元数据+音频流的传输格式。如图11所示的虚拟现实音频内容表达框架示意图,在本公开的一些实施例中,在采集端,输入音频信号例如包括channel、object、hoa或它们的混合形式,并且根据元数据定义生成元数据信息。动态元数据可以伴随音频流传输,具体封装格式根据系统层采用的传输协议类型进行定义;静态元数据单独传输。在回放端,渲染器将根据解码后的元数据对解码后的音频文件进行渲染输出。逻辑上元数据和音频编解码互相独立,且解码器和渲染器之间解耦合。渲染器采取注册制。在本公开的一些实施例中,渲染器包括ID1(基于双耳输出的渲染器)、ID2(基于扬声器输出的渲染器)、ID3(其他方式的渲染器)以及ID4(其他方式的渲染器),其中每个注册的渲染器支持同一套元数据定义。渲染器系统首先进行注册渲染器的选择,之后每个注册渲染器分别进行元数据读取和音频文件的读取。渲染器的输入数据由注册渲染器标号以及元数据和音频数据构成。在本公开的一些实施例中,元数据和音频数据组成BW64文件格式。在本公开的一些实施例中,元数据主要使用可扩展标记语言XML(Extensible Markup Language)编码来实现,XML格式的元数据可包含在BW64格式的音频文件的“axml”或“bxml”块中进行传输。生成的元数据中的“音频包格式标识”、“音频轨道格式标识”和“音轨唯一标识”,将提供给BW64文件的“chna”块,用以将元数据与实际的音轨链接。元数据基础元素(audioformatExtended)包括:音频节目(audioProgramme)、音频内容(audioContent)、音频对象(audioObject)、音频包格式(audioPackFormat)、音频通道格式(audioChannelFormat)、音频流格式(audioStreamFormat)、音频轨道格式(audioTrackFormat)、音轨唯一标识(audioTrackUID)、音频块格式(audioBlockFormat)。
根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在 这样的实施例中,该计算机程序可以通过通信装置909从网络上被下载和安装,或者从存储装置408被安装,或者从ROM 402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的方法中限定的上述功能。
在一些实施例中,还提供了芯片,包括:至少一个处理器和接口,接口,用于为至少一个处理器提供计算机执行指令,至少一个处理器用于执行计算机执行指令,实现上述任一些实施例的混响时长的估计方法,或者音频信号的渲染方法。
图12示出能够实现根据本公开的一些实施例的芯片的示意图。如图12所示,芯片的处理器70作为协处理器挂载到主CPU(Host CPU)上,由Host CPU分配任务。处理器70的核心部分为运算电路,控制器1004控制运算电路1003提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实施例中,运算电路1003内部包括多个处理单元(Process Engine,PE)。在一些实施例中,运算电路1003是二维脉动阵列。运算电路1003还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实施例中,运算电路1003是通用的矩阵处理器。
例如,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器1002中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器1001中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)708中。
向量计算单元1007可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。
在一些实施例中,向量计算单元能1007将经处理的输出的向量存储到统一缓存器1006。例如,向量计算单元1007可以将非线性函数应用到运算电路1003的输出,例如累加值的向量,用以生成激活值。在一些实施例中,向量计算单元1007生成归一化的值、合并值,或二者均有。在一些实施例中,处理过的输出的向量能够用作到运算电路1003的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器1006用于存放输入数据以及输出数据。
存储单元访问控制器1005(Direct Memory Access Controller,DMAC)将外部存储器中的输入数据搬运到输入存储器1001和/或统一存储器706、将外部存储器中的权重数据存入权重存储器1002,以及将统一存储器1006中的数据存入外部存储器。
总线接口单元(Bus Interface Unit,BIU)1010,用于通过总线实现主CPU、DMAC和取指存储器1009之间进行交互。
与控制器1004连接的取指存储器(instruction fetch buffer)1009,用于存储控制器1004使用的指令;
控制器1004,用于调用指存储器1009中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器1006、输入存储器1001、权重存储器1002以及取指存储器1009均为片上(On-Chip)存储器,外部存储器为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random AccessMemory,DDR SDRAM)、高带宽存储器(High Bandwidth Memory,HBM)或其他可读可写的存储器。
在一些实施例中,还提供了一种计算机程序,包括:指令,指令当由处理器执行时使处理器执行上述任一些实施例的音频渲染方法,尤其是音频信号渲染过程中的任何处理。
本领域内的技术人员应当明白,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。在使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行计算机指令或计算机程序时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。
Claims (40)
- 一种音频渲染方法,包括:获取音频元数据,所述音频元数据包括声学环境信息;根据所述声学环境信息来设置用于音频渲染的参数,所述用于音频渲染的参数包括场景近似长方体房间的声学信息;根据所述用于音频渲染的参数对音频信号进行渲染。
- 根据权利要求1所述的音频渲染方法,其中所述长方体房间包括正方体房间。
- 根据权利要求1-2中任一项所述的音频渲染方法,其中所述根据所述用于音频渲染的参数对音频信号进行渲染包括:基于用于音频渲染的参数对音频信号进行空间编码,以及对空间编码的音频信号进行空间解码,以得到被解码的经音频渲染的音频信号。
- 根据权利要求1-3中任一项所述的音频渲染方法,其中所述音频信号包括空间音频信号。
- 根据权利要求1-4中任一项所述的音频渲染方法,其中所述空间音频信号包括以下中的至少一者:基于对象的空间音频信号、基于场景的空间音频信号以及基于声道的空间音频信号。
- 根据权利要求1-5中任一项所述的音频渲染方法,其中所述场景近似长方体房间的声学信息包括以下中的至少一者:房间大小、房间中心坐标、朝向以及墙壁的材质近似声学特性。
- 根据权利要求1-6中任一项所述的音频渲染方法,其中所述声学环境信息包括从虚拟场景中采集的由多个场景点组成的场景点云。
- 根据权利要求7所述的音频渲染方法,其中从虚拟场景中采集由多个场景点组成的场景点云包括将以听者为原点向各个方向射出的N条射线与场景的N个交点设置为场景点。
- 根据权利要求7-8中任一项所述的音频渲染方法,其中根据从虚拟场景中采集的场景点云来估计场景近似长方体房间的声学信息包括:根据所采集的场景点云确定最小边界框;以及根据所述最小边界框,确定所估计的所述场景长方体房间的大小和中心坐标。
- 根据权利要求9所述的音频渲染方法,其中确定最小边界框包括:确定场景点云的平均位置;根据所述平均位置,将场景点云的位置坐标转换到房间坐标系;根据场景点云以及场景点云的平均位置,将转换到房间坐标系的场景点云分组,其中每组场景点云对应于房屋的一个墙壁;以及针对每个分组,确定分组后的场景点云所对应的墙壁与所述场景点云的所述平均位置之间的间隔距离为最小边界框。
- 根据权利要求10所述的音频渲染方法,其中确定分组后的场景点云所对应的墙与所述场景点云的平均位置之间的间隔距离包括:确定转换到房间坐标系的场景点云到坐标原点的距离被投影到分组所指的墙壁的投影长度;以及确定当前分组的所有投影长度的最大值为分组后的场景点云所对应的墙与所述平均位置之间的间隔距离。
- 根据权利要求10-11中任一项所述的音频渲染方法,其中确定分组后的场景点云所对应的墙与所述场景点云的平均位置之间的间隔距离包括:当分组不为空时,确定所述间隔距离;以及当分组为空时,确定墙丢失。
- 根据权利要求10-12中任一项所述的音频渲染方法,其中所述场景近似长方体房间的声学信息包括房间墙壁的材质近似声学信息,并且根据从虚拟场景中采集的场景点云来估计场景近似长方体房间的声学信息还包括:根据分组中的所有点云的平均吸收率、平均散射率以及平均透射率确定分组所指墙壁的材质近似声学特性。
- 根据权利要求10-13中任一项所述的音频渲染方法,其中所述场景近似长方体房间的声学信息包括房间的朝向,并且根据从虚拟场景中采集的场景点云来估计场景近似长方体房间的声学信息还包括:根据分组中的所有点云的平均法向量以及与分组所指墙壁的法向量夹角来确定近似长方体房间的朝向。
- 根据权利要求7-14中任一项所述的音频渲染方法,进一步包括根据从虚拟场景中采集的场景点云来逐帧地估计场景近似长方体房间的声学信息,包括:根据当前帧所采集的场景点云和先前帧所采集的场景点云确定最小边界框;以及根据所述最小边界框,确定当前帧所估计的所述场景长方体房间的大小和中心坐标。
- 根据权利要求15所述的音频渲染方法,其中所述先前帧的数量是根据场景近似长方体房间的声学信息估算的特性确定的。
- 根据权利要求15-16中任一项所述的音频渲染方法,其中根据当前帧所采集的场景点云和先前帧所采集的场景点云确定最小边界框,包括:确定当前帧的场景点云的平均位置;根据所述平均位置和上一帧所估计的近似长方体房间的朝向,将场景点云的位置坐标转换到房间坐标系;根据上一帧估计的近似长方体房间的大小,将转换到房间坐标系的场景点云分组,其中每组场景点云对应于房屋的一个墙壁;针对每个分组,确定分组后的场景点云所对应的墙壁与所述场景点云的所述平均位置之间的间隔距离;以及从1)当前帧的间隔距离以及2)多个先前帧的间隔距离与房间朝向改变和平均位置改变的乘积的差中,确定最大值为当前帧的最小边界框。
- 根据权利要求7-17所述的音频渲染方法,其中基于如下公式来根据所采集的场景点云来确定最小边界框:其中mcd(w)表示待求解的最小边界框中,每面墙壁w到当前 的距离;rot(t)表示第t帧的近似长方体房间的朝向信息;以及 表示第t帧的场景点云的平均位置。
- 一种音频渲染系统,包括:音频元数据模块,所述音频元数据模块被配置为获取声学环境信息;其中,所述音频元数据模块被配置为根据所述声学环境信息来设置用于音频渲染的参数,所述用于音频渲染的参数包括场景近似长方体房间的声学信息,所述用于音频渲染的参数用于为对音频信号进行渲染。
- 根据权利要求19所述的音频渲染系统,其中所述长方体房间包括正方体房间。
- 根据权利要求19-20中任一项所述的音频渲染系统,进一步包括空间编码模块,所述空间编码模块被配置为基于用于音频渲染的参数对音频信号进行空间编码;以及空间解码模块,所述空间解码模块被配置为对空间编码的音频信号进行空间解码,以得到被解码的经音频渲染的音频信号。
- 根据权利要求19-21中任一项所述的音频渲染系统,其中所述音频信号包括空间音频信号。
- 根据权利要求19-22中任一项所述的音频渲染系统,其中所述空间音频信号包括以下中的至少一者:基于对象的空间音频信号、基于场景的空间音频信号以及基于声道的空间音频信号。
- 根据权利要求19-23中任一项所述的音频渲染系统,其中所述场景近似长方体房间的声学信息包括以下中的至少一者:大小、中心坐标、朝向以及墙壁的材质近似声学特性。
- 根据权利要求19-24中任一项所述的音频渲染系统,其中所述声学环境信息包括从虚拟场景中采集的由多个场景点组成的场景点云。
- 根据权利要求25中任一项所述的音频渲染系统,其中从虚拟场景中采集由多个场景点组成的场景点云包括将以听者为原点向各个方向射出的N条射线与场景的N个交点设置为场景点。
- 根据权利要求25-26中任一项所述的音频渲染系统,其中根据从虚拟场景中采集的场景点云来估计场景近似长方体房间的声学信息包括:根据所采集的场景点云确定最小边界框;以及根据所述最小边界框,确定所估计的所述场景长方体房间的大小和中心坐标。
- 根据权利要求27所述的音频渲染系统,其中确定最小边界框包括:确定场景点云的平均位置;根据所述平均位置,将场景点云的位置坐标转换到房间坐标系;根据场景点云以及场景点云的平均位置,将转换到房间坐标系的场景点云分组,其中每组场景点云对应于房屋的一个墙壁;以及针对每个分组,确定分组后的场景点云所对应的墙壁与所述场景点云的所述平均位置之间的间隔距离为最小边界框。
- 根据权利要求28所述的音频渲染系统,其中确定分组后的场景点云所对应的墙与所述场景点云的平均位置之间的间隔距离包括:确定转换到房间坐标系的场景点云到坐标原点的距离被投影到分组所指的墙壁的投影长度;以及确定当前分组的所有投影长度的最大值为分组后的场景点云所对应的墙与所述平均位置之间的间隔距离。
- 根据权利要求28-29中任一项所述的音频渲染系统,其中确定分组后的场景点云所对应的墙与所述场景点云的平均位置之间的间隔距离包括:当分组不为空时,确定所述间隔距离;以及当分组为空时,确定墙丢失。
- 根据权利要求28-30中任一项所述的音频渲染系统,其中所述场景近似长方体房间的声学信息包括房间墙壁的材质近似声学信息,并且根据从虚拟场景中采集的场景点云来估计场景近似长方体房间的声学信息还包括:根据分组中的所有点云的平均吸收率、平均散射率以及平均透射率确定分组所指墙壁的材质近似声学特性。
- 根据权利要求28-31中任一项所述的音频渲染系统,其中所述场景近似长方体房间的声学信息包括房间的朝向,并且根据从虚拟场景中采集的场景点云来估计场景近似长方体房间的声学信息还包括:根据分组中的所有点云的平均法向量以及与分组所指墙壁的法向量夹角来确定近似长方体房间的朝向。
- 根据权利要求25-32中任一项所述的音频渲染系统,进一步包括根据从虚拟场景中采集的场景点云来逐帧地估计场景近似长方体房间的声学信息,包括:根据当前帧所采集的场景点云和先前帧所采集的场景点云确定最小边界框;以及根据所述最小边界框,确定当前帧所估计的所述场景长方体房间的大小和中心坐标。
- 根据权利要求33所述的音频渲染系统,其中所述先前帧的数量是根据场景近似长方体房间的声学信息估算的特性确定的。
- 根据权利要求33-34中任一项所述的音频渲染系统,其中根据当前帧所采集的场景点云和先前帧所采集的场景点云确定最小边界框,包括:确定当前帧的场景点云的平均位置;根据所述平均位置和上一帧所估计的近似长方体房间的朝向,将场景点云的位置坐标转换到房间坐标系;根据上一帧估计的近似长方体房间的大小,将转换到房间坐标系的场景点云分组,其中每组场景点云对应于房屋的一个墙壁;针对每个分组,确定分组后的场景点云所对应的墙壁与所述场景点云的所述平均位置之间的间隔距离;以及从1)当前帧的间隔距离以及2)多个先前帧的间隔距离与房间朝向改变和平均位置改变的乘积的差中,确定最大值为当前帧的最小边界框。
- 根据权利要求25-35中任一项所述的音频渲染系统,其中基于如下公式来根据所采集的场景点云来确定最小边界框:其中mcd(w)表示待求解的最小边界框中,每面墙壁w到当前 的距离;rot(t)表示第t帧的近似长方体房间的朝向信息;以及 表示第t帧的场景点云的平均位置。
- 一种芯片,包括:至少一个处理器和接口,所述接口,用于为所述至少一个处理器提供计算机执行指令,所述至少一个处理器用于执行所述计算机执行指令,实现根据权利要求1-18中任一项所述的方法。
- 一种电子设备,包括:存储器;和耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器装置中的指令,执行根据权利要求1-18中任一项所述的方法。
- 一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据权利要求1-18中任一项所述的方法。
- 一种计算机程序产品,包括指令,所述指令当由处理器执行时使所述处理器执行根据权利要求1-18中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNPCT/CN2021/121718 | 2021-09-29 | ||
CN2021121718 | 2021-09-29 | ||
PCT/CN2022/122635 WO2023051703A1 (zh) | 2021-09-29 | 2022-09-29 | 一种音频渲染系统和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118020320A true CN118020320A (zh) | 2024-05-10 |
Family
ID=85781369
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280064989.5A Pending CN118020320A (zh) | 2021-09-29 | 2022-09-29 | 一种音频渲染系统和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118020320A (zh) |
WO (1) | WO2023051703A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004348647A (ja) * | 2003-05-26 | 2004-12-09 | Hitachi Ltd | ヒューマン・コミュニケーション・システム |
US8908875B2 (en) * | 2012-02-02 | 2014-12-09 | King's College London | Electronic device with digital reverberator and method |
WO2018182274A1 (ko) * | 2017-03-27 | 2018-10-04 | 가우디오디오랩 주식회사 | 오디오 신호 처리 방법 및 장치 |
CN109753847B (zh) * | 2017-11-02 | 2021-03-30 | 华为技术有限公司 | 一种数据的处理方法以及ar设备 |
EP3797529A1 (en) * | 2018-05-23 | 2021-03-31 | Koninklijke KPN N.V. | Adapting acoustic rendering to image-based object |
CN110035250A (zh) * | 2019-03-29 | 2019-07-19 | 维沃移动通信有限公司 | 音频处理方法、处理设备、终端及计算机可读存储介质 |
-
2022
- 2022-09-29 CN CN202280064989.5A patent/CN118020320A/zh active Pending
- 2022-09-29 WO PCT/CN2022/122635 patent/WO2023051703A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023051703A1 (zh) | 2023-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112567768B (zh) | 用于交互式音频环境的空间音频 | |
Raghuvanshi et al. | Parametric directional coding for precomputed sound propagation | |
EP3684083A1 (en) | Processing audio signals | |
US9888333B2 (en) | Three-dimensional audio rendering techniques | |
Tsingos et al. | Soundtracks for computer animation: sound rendering in dynamic environments with occlusions | |
US20230188920A1 (en) | Methods, apparatus and systems for diffraction modelling based on grid pathfinding | |
US11062714B2 (en) | Ambisonic encoder for a sound source having a plurality of reflections | |
WO2021158273A1 (en) | Augmented reality virtual audio source enhancement | |
US9672807B2 (en) | Positioning method and apparatus in three-dimensional space of reverberation | |
EP3807872B1 (en) | Reverberation gain normalization | |
WO2023246327A1 (zh) | 音频信号处理方法、装置和计算机设备 | |
Oliveira et al. | Real-time dynamic image-source implementation for auralisation | |
WO2023051703A1 (zh) | 一种音频渲染系统和方法 | |
CN117581297A (zh) | 音频信号的渲染方法、装置和电子设备 | |
CN117837173A (zh) | 用于音频渲染的信号处理方法、装置和电子设备 | |
WO2023051708A1 (zh) | 用于空间音频渲染的系统、方法和电子设备 | |
Vorländer et al. | Virtual room acoustics | |
WO2024067543A1 (zh) | 混响的处理方法、装置和非易失性计算机可读存储介质 | |
Betlehem et al. | Sound field of a directional source in a reverberant room | |
Foale et al. | Portal-based sound propagation for first-person computer games | |
TWI797587B (zh) | 基於柵格路徑尋找之繞射模型化 | |
WO2023199817A1 (ja) | 情報処理方法、情報処理装置、音響再生システム、及び、プログラム | |
CN116421971A (zh) | 空间音频信号的生成方法及装置、存储介质、电子设备 | |
Yngman et al. | Advanced RealTime sound techniques for Virtual Reality headsets | |
IEETA | REAL-TIME DYNAMIC IMAGE-SOURCE IMPLEMENTATION FOR AURALISATION |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |