使用有效中间衍射路径渲染音频场景的装置和方法与流程

文档序号:32299058发布日期:2022-11-23 07:04阅读:180来源:国知局
使用有效中间衍射路径渲染音频场景的装置和方法与流程
使用有效中间衍射路径渲染音频场景的装置和方法
1.本发明涉及音频信号处理,并且具体地,涉及几何声学的上下文中的音频信号处理,其可以用于例如虚拟现实或增强现实应用。
2.当声音信号被处理为包含模拟的声学空间的特征并且使用双耳或使用多声道技术在空间上再现声音时,通常会应用术语“虚拟声学”。因此,虚拟声学包括空间声音再现和室内声学建模[1]。
[0003]
在室内建模技术方面,最准确的传播建模方法是在一组边界条件下求解理论波动方程。然而,由于计算复杂性,大多数基于数值求解器的方法局限于预先计算相关的声学特征(诸如参数模型)来近似脉冲响应:当感兴趣的频率和/或场景空间(体积/表面)的尺寸增大,甚至存在动态移动对象时,它会变成一团乱。鉴于最近的虚拟场景变得越来越大且越来越复杂以实现场景内的玩家与对象之间或玩家之间的非常详细且敏感的交互这一事实,当前的数值方法不足以处理交互式、动态和大规模的虚拟场景。一些算法通过使用用于预先计算的声音传播的参数方向编码[2,3]和用于声波方程的高效的基于gpu的时域求解器[4]来预先计算相关的声学特征,已经展示了它们的渲染能力。然而,这些方法需要高质量的系统资源,例如图形卡、多核计算系统。
[0004]
对于交互式声音传播环境,几何声学(ga)技术是一种实用可靠的方法。常用的ga技术包括像源法(ism)和射线追踪法(rtm)[5,6],并且针对交互式环境开发了使用波束追踪和视锥体追踪的改进方法[7,8]。对于衍射声音建模,kouryoumjian[9]提出了一致性衍射理论(utd),而svensson[10]提出了biot-tolstoy-medwin(btm)模型以在数值意义上更好地近似衍射声音。然而,当前的交互算法局限于静态场景[11]、或动态场景中的第一阶衍射[12]。
[0005]
通过结合以下两种类别,有可能实现混合方法[13]:针对低频的数值方法和针对高频的ga方法。
[0006]
特别是在具有若干个衍射对象的复杂声音场景中,对边的周围的声音衍射进行建模的处理要求变得很高。因此,需要非常强大的计算资源来充分地对具有多个衍射对象的音频场景中的声音的衍射效应进行建模。
[0007]
本发明的目的是提供一种用于渲染音频场景的改进概念。
[0008]
该目的通过权利要求1的用于渲染音频场景的装置或权利要求19的渲染音频场景的方法或权利要求20的计算机程序来实现。
[0009]
本发明基于以下发现:通过使用已经具有关联的滤波器信息的声音场景的起始边或输入边与最终边或输出边之间的中间衍射路径,可以显著增强对声音衍射的处理。该关联的滤波器信息已经覆盖了起始边与最终边之间的整条路径,无论起始边与最终边之间是存在单个衍射还是若干个衍射。该过程依赖于这样的事实:起始边与最终边之间的路(即,由于衍射效应声波必须经过的路线)不取决于通常可变的听者位置,并且也不取决于音频源位置。即使在音频源也具有可变位置的情况下,仅可变的源位置或可变的听者位置可随时间改变,但衍射对象的起始边与最终边之间的任何中间衍射路径只取决于几何图形,不取决于其他任何东西。该衍射路径是恒定的,因为它仅由音频场景几何图形所提供的衍射
对象来定义。仅当多个衍射对象之一的形状改变时,这种路径才会可随时间变化,并且这意味着对于可移动的刚性几何体,这种路径不会改变。此外,音频场景中的多个对象是静态的,即是不可移动的。提供针对整条中间衍射路径的完整的滤波器信息可以提高处理效率,尤其是在运行时。即使由于未被肯定验证而最终未被使用的中间衍射路径的滤波器信息也必须被计算,但该计算可以在初始化/编码步骤中执行而不必在运行时执行。换言之,任何关于滤波器信息或关于中间衍射路径的运行时处理仅是针对通常很少出现的动态对象必须进行,但对于通常会出现的静态对象,与特定中间衍射路径相关联的滤波器信息始终保持不变,与任何移动的听者和任何移动的音频源无关。
[0010]
一种用于渲染包括位于音频源位置处的音频源和多个衍射对象的音频场景的装置包括:用于提供通过多个衍射对象的多条中间衍射路径的衍射路径提供器,其中,中间衍射路径具有多个衍射对象的起始点或起始边和输出边或最终边以及中间衍射路径的关联的滤波器信息,所述信息描述由于从起始点或起始边直到输出边或者输出或最终点的衍射所导致的整个声音传播。通常,多条中间衍射路径由预处理器在初始化步骤中或在预先计算步骤中提供,初始化步骤和预先计算步骤在例如虚拟现实环境中的实际运行时处理之前发生。衍射路径提供器不必在运行时计算所有这些信息,但可以例如将这些信息提供为中间衍射路径的列表,渲染器在运行时处理期间可以访问该列表。
[0011]
渲染器被配置用于在听者位置处渲染音频源,其中渲染器被配置为基于中间衍射路径的输出边和听者位置来确定从音频源位置到听者位置的一条或多条有效中间衍射路径。渲染器被配置用于:针对一条或多条有效中间衍射路径中的每条有效中间衍射路径,使用该有效中间衍射路径的关联的滤波器信息与描述从该有效中间衍射路径的输出边或从最终边到听者位置的音频信号传播的滤波器信息的组合,来确定与一条或多条有效中间衍射路径中的有效中间衍射路径对应的从音频源位置到听者位置的完整衍射路径的滤波器表示。可以使用与音频源相关联的音频信号和每条完整衍射路径的完整滤波器表示来计算音频场景的音频输出信号。
[0012]
取决于应用,音频源位置是固定的,于是衍射路径提供器确定每条有效中间衍射路径,使得每条有效中间衍射路径的起始点对应于固定的音频源位置。备选地,当音频源位置可变时,于是衍射路径提供器将多个衍射对象的输入或起始边确定为中间衍射路径的起始点。渲染器被配置为:附加地基于一条或多条中间衍射路径的输入边和音频源的音频源位置来确定一条或多条有效中间衍射路径,即,确定可以属于特定音频源位置的路径,以便附加地基于从源到输入边的另外滤波器信息来确定完整衍射路径的最终滤波器表示,使得在这种情况下,完整的滤波器表示由三个部分确定。第一部分是从声源位置到输入边的声音传播的滤波器信息。第二部分是属于有效中间衍射路径的关联信息,而第三部分是从输出或最终边到实际听者位置的声音传播。
[0013]
本发明是有利的,因为它提供了一种模拟复杂虚拟现实场景中的衍射声音的有效方法和系统。本发明是有利的,因为它允许经由静态几何对象和动态几何对象对声音传播进行建模。特别地,本发明的优点在于:它提供了关于如何基于一组先验已知的几何图元来计算和存储衍射路径信息的方法和系统。特别地,衍射声音路径包括一组属性,例如针对潜在衍射边、衍射角和介于两者之间的衍射边等的一组几何图元。
[0014]
本发明是有利的,因为它允许经由预处理器分析给定图元的几何信息和提取有用
的数据库以便提高实时渲染声音的速度。具体地,例如在美国申请2015/0378019 a1中公开的过程或稍后描述的关于能够预先计算边之间的可见性图的其他过程,该可见性图的结构最小化了在运行时需要考虑的衍射边的数量。两条边之间的可见性并不一定意味着指定了从源到听者的确切路径,因为在预先计算阶段,源和听者的位置通常是未知的。相反,所有可能的边对之间的可见性图是从来自源的一组可见边导航到来自听者的一组可见边的地图。
[0015]
随后参考附图讨论本发明的优选实施例,其中:
[0016]
图1是具有四个静态对象的示例场景的俯视图;
[0017]
图2a是具有四个静态对象和单个动态对象的示例场景的俯视图;
[0018]
图2b是用于描述没有动态对象(do)的情况下和具有动态对象(do)的情况下的衍射路径的列表;
[0019]
图3是具有六个静态对象的示例场景的俯视图;
[0020]
图4是具有六个静态对象的示例场景的俯视图,用于示出如何根据第一或输入边计算高阶衍射路径;
[0021]
图5示出了预先计算中间衍射路径(包括高阶路径)并实时渲染衍射声音的算法的框图;
[0022]
图6示出了根据优选的第三实施例的预先计算中间衍射路径(包括高阶路径)并实时渲染考虑动态对象的衍射声音的算法的框图;
[0023]
图7示出了根据优选实施例的用于渲染声音场景的装置;
[0024]
图8示出了具有图4和图3所示的两条中间衍射路径的示例性路径列表;
[0025]
图9示出了用于计算完整衍射路径的滤波器表示的过程;
[0026]
图10示出了用于检索与有效中间衍射路径相关联的滤波器信息的优选实施方式;
[0027]
图11示出了用于验证一条或多条潜在有效的中间衍射路径以便获得有效中间衍射路径的过程;以及
[0028]
图12示出了对未旋转的或原始的源位置执行的旋转,用于提高所渲染的音频场景的音频质量。
[0029]
图7示出了一种用于渲染包括位于音频源位置处的具有音频源信号的音频源和多个衍射对象的音频场景的装置。衍射路径提供器100包括例如由预处理器填满的存储器,该预处理器已经在初始化步骤中(即,在由渲染器200执行的运行时处理操作之前)执行了对中间衍射路径的计算。取决于由衍射路径提供器100获得的中间衍射路径的列表的信息,渲染器被配置为计算所期望输出格式(例如,双耳格式、立体声格式、5.1格式或任何其他输出格式)的音频输出信号,给耳机的扬声器或音箱或者仅用于存储或传输。为此,渲染器200不仅接收中间衍射路径的列表,而且一方面接收听者位置和音频源信号,并另一方面接收音频源位置。
[0030]
具体地,渲染器200被配置为在听者位置处渲染音频源,使得计算到达听者位置的声音信号。该声音信号由于音频源被放置在音频源位置而存在。为此,渲染器被配置用于基于中间衍射路径的输出边和实际听者位置来确定从音频源位置到听者位置的一条或多条有效中间衍射路径。渲染器还被配置用于:针对一条或多条有效中间衍射路径中的每条有效中间衍射路径,使用该有效中间衍射路径的关联的滤波器信息与描述从该有效中间衍射
路径的输出边到听者位置的音频信号传播的滤波器信息的组合,来确定与一条或多条有效中间衍射路径中的有效中间衍射路径对应的从音频源位置到听者位置的完整衍射路径的滤波器表示。
[0031]
渲染器使用与音频源相关联的音频信号并使用每条完整衍射路径的滤波器表示来计算音频场景的音频输出信号。取决于实施方式,渲染器还可以被配置为:除了衍射计算之外,还附加地计算一阶反射、二阶反射或更高阶反射,并且另外,渲染器还可以被配置为:计算来自一个或多个附加音频源的贡献以及来自具有未被衍射对象遮挡的直接声音传播路径的源的直接声音传播的贡献,如果其存在于声音场景中的话。
[0032]
随后,更详细地描述本发明的优选实施例。具体地,如有必要,实际上可以实时地计算任何一阶衍射路径,但这在具有若干个衍射对象的复杂场景的情况下甚至是非常有问题的。
[0033]
特别是对于高阶衍射路径,由于如us 2015/0378019 a1中所示的可见性地图中的大量冗余信息,实时地计算这种衍射路径是有问题的。例如,在与图1中的场景类似的场景中,当源位于第一边的右侧并且听者位于第五边的左侧时,可以想象衍射声音经由第一边和第五边从源传到听者。然而,基于可见性图实时地逐个边地构建衍射路径的方法在计算上变得复杂,尤其是当可见边的平均数量增加并且衍射阶数变得更高时更是如此。此外,不执行运行时边到边可见性检查,这限制了动态对象之间的以及一个静态对象与一个动态对象之间的衍射效应。仅可能关心静态对象或单个动态对象的衍射效应。将动态对象的衍射效应和与静态对象相关联的效应相结合的唯一方式是使用重新定位后的动态对象的图元来更新所有可见性图。然而,这在运行时几乎是不可能的。
[0034]
本发明的方法旨在减少指定从源到听者的通过静态对象和动态对象的边的可能的(一阶/更高阶)衍射路径所需的运行时计算。结果,以适当的延迟渲染一组多个衍射声音/音频流。使用utd模型将优选概念的实施例应用于具有新设计的系统层次结构的多条可见且正确定向的边。结果,实施例可以通过静态几何体、通过动态对象、通过静态几何体和动态对象的组合、或者也可以通过多个动态对象的组合来渲染高阶衍射效应。关于优选概念的更多详细信息将在以下小节中介绍。
[0035]
发起该实施例的主要想法始于以下问题;“我们需要一直计算中间衍射路径吗?”例如,如图3所示,从源到听者,我们可以说存在三条可能的衍射路径;(源)-(1)-(5)-(听者)、(源)-(9)-(13)-(听者)、以及(源)-(1)-(7)-(11)-(听者)。为了说明简单起见,经由包括(1)、(7)和(11)在内的三条中间边的最后一条路径是个好的示例。在交互环境中,源可以移动并且听者也可以移动。然而,在任何情况下,包括(1)-(7)、(7)-(11)、以及(11)-(13)在内的中间路径不会改变,除非存在遮挡这些中间路径的动态对象。(注意,如何处理/组合动态对象的衍射效应将在本节的末尾介绍)因此,一旦可以通过中间路径内的边、相邻多边形(例如,三角形网格)和衍射角来预先计算从一阶到被允许的更高阶的中间路径,那么它将最小化运行时所需的计算。
[0036]
例如,图4示出了具有六个静态对象的示例场景,用于示出如何根据边来计算高阶衍射路径。在此例中,它从第一边开始,并且边可能包含如下若干条相关信息:
[0037][0038]
例如,parentgeometry或meshid指示所选边所属的几何体。此外,边可以在物理上被定义为两个顶点(通过它们的坐标或顶点id)构成的线,并且相邻三角形将有助于根据边、源或听者来计算角度。internalangle是两个相邻三角形之间的角度,其指示绕该边的最大可能衍射角。并且这也是可以决定该边是否会是潜在衍射边的指示符。
[0039]
从所选边(在此例中,如图4所示的第一边)出发,可以想象从三角形网格之一进入到开放空间以及从三角形网格中的另一个进入到开放空间的两个可能的衍射方向。这些方向由相邻三角形的法向向量(示出为红色箭头和蓝色箭头)可视化。例如,沿着红色表面法线(沿着逆时针方向),通过检查是否存在要衍射的波的边缘区空间(即,暗区),2号边、4号边、5号边和7号边将是用于衍射的接下来的几条边。例如,声波不能从1号边衍射到6号边,因为在6号边处,从1号边可见到6号边的两侧,这意味着6号边对于来自1号边的声波不存在任何暗区。并且作为下一步骤,可以从7号边找到下一可能的衍射边,即10号边和11号边。例如,如果导航到11号边,于是可以计算从1号边、7号边到11号边的中间角。该中间角被定义为向内波与向外波之间的角,并且在此例中,到7号边的向内波是从1号边到7号边的向量,而向外波是从7号到11号边的向量。并且可以将其表示为然而,在路径的开始处或结束处,并不存在这种中间角。相反,可以分配源的最大允许角度(maas)和听者的最小允许角度(maal)。这意味着,如果相对于关联的表面法线(在此例中,1号边处的红色)的源角度大于maas,则源可以看见第二边(例如,7号边)。在同一概念下,如果听者具有小于给定maal的角度,则听者可以看见该路径中的最后一条边之前的边。基于maal值和maas值,可以实时计算源和听者相对于关联的表面法线的角度,于是可以验证该路径。因此,图4的场景中的预先计算的四阶路径400可以被定义为如图8的上部所示的边、三角形和角度的向量。
[0040]
优选的对中间路径的预先计算和相关的实时渲染算法的总体过程如图5所示。一旦预先计算了场景内的所有可能的衍射路径,那么仅需仅当源与听者之间的直接路径被遮挡时找到从作为衍射的起始点的源位置可见的边的列表,以及找到从作为最终点的听者位置可见的边的列表。然后,需要计算相对于关联的三角形(例如,表1中的1-r)的源角度和相对于三角形(例如,表1中的12-b)的听者角度。如果源角度小于maas且听者角度大于maal,则它将是声源信号将沿其传播的有效路径。然后可以使用边顶点信息和关联的角度来更新源位置和衍射滤波器。双耳渲染模块将使用适当的定向滤波器(例如,与头部相关的传递函
数(hrtf))合成(旋转后的和滤波后的)衍射源信息。有可能将更多的特征添加到衍射框架,诸如方向性或距离效应。
[0041]
图1示出了具有四个衍射对象的音频场景,其中边1与边5之间存在一阶衍射路径。图2b的上部示出了从边1到边5的一阶衍射路径,其中,角度标准是相对于起始或输入边1的源角度必须小于源的最大允许角度。这是图1中的情况。听者的最小允许角度(maal)也是如此。具体地,相对于根据图1中顶点5和顶点6之间的边所计算的输出或最终边的听者位置角度大于听者的最小允许角度(maal)。对于图1中的当前源位置和图1中的当前听者位置,图2b的上部所示的衍射路径是有效的,并且边1与边5之间的衍射特性(会是关联的滤波器信息)可被关于没有动态对象的衍射路径预先存储,或者可以使用图2b的边列表来简单地计算得到。
[0042]
图4示出了从输入或起始边到输出或最终边12的中间衍射路径400。图3示出了从起始边1到最终边13的另一中间衍射路径300。图3和图4中的音频场景具有附加衍射路径,所述附加衍射路径从源到边9、然后到边13再然后到听者,或者从源到边1并从那到边5再从该边到听者。然而,图3中的路径300仅对于图3中指示的听者位置(其满足听者的最小允许角度,即角度标准maal)被确定为是有效中间衍射路径。然而,图4中所示的听者位置将不满足路径300的这个maal标准。
[0043]
另一方面,图3中的听者位置将不满足图4所示的路径400的maal标准。因此,衍射路径提供器100或预处理器将转发图8所示的多条中间衍射路径,其包括作为第一列表条目的图4所示的中间衍射路径400,并提供图3所示的其他中间衍射路径300。中间衍射路径的这个列表将被提供给渲染器,并且渲染器确定从音频源位置到听者位置的一条或多条有效中间衍射路径。在图3中所示的听者位置的情况下,仅图8的列表中的路径300将被确定为有效中间衍射路径,而对于图4中所示的听者位置,仅路径400将被确定为是有效中间衍射路径。
[0044]
参考图3或图4中的场景,具有最终边或输出边15、10、7或2的任何中间衍射路径都不会被确定为是有效中间衍射路径,因为从听者那根本看不到这些边。图7中的渲染器200将从理论上可能通过图4中的音频场景的所有中间衍射路径中仅选择具有对于听者而言可见的最终边或输出边(即,本示例中的边4、5、12、13)的中间衍射路径。这将对应于edgelist(lis)。
[0045]
类似地,相对于源位置,在来自图7的衍射路径提供器100的中间衍射路径列表中提供的以例如边3、6、11或14作为起始边的任何预先计算的中间衍射路径根本不会被选中。仅那些具有起始边1、8、9、16的衍射路径会被选择进行使用maas角度标准的特定验证。这些边将在edgelist(src)中。
[0046]
总之,对实际有效中间衍射路径的确定是在三阶段过程中选择的,所述实际有效中间衍射路径用于最终确定从源到听者的声音传播的滤波器表示。在第一阶段,仅选择具有与源位置相匹配的起始边的预存储的衍射路径。在第二阶段,仅选择具有与听者位置相匹配的输出边的那些中间衍射路径,而在第三阶段中,一方面使用针对源的角度标准以及另一方面使用针对听者的角度标准来验证所选那些路径中的每一条。然后,渲染器仅使用成功通过所有三个阶段的中间衍射路径来计算音频输出信号。
[0047]
图10示出了选择信息的优选实施方式。在步骤102中,使用音频场景的几何信息、
使用源位置、并且特别地使用预处理器已经预先计算的多条中间衍射路径来确定针对特定源位置的潜在起始边。在步骤104中,确定针对特定听者位置的潜在最终边。在步骤106中,基于步骤102的结果以及步骤104的结果来确定潜在中间衍射路径,其中步骤102和步骤104与上述第一阶段和第二阶段相对应。在步骤108中,通过下述方式验证潜在中间衍射路径:使用角度条件maas或maal或者一般地通过可见性确定来确定某条边是否是衍射边。步骤108示出了上述第三阶段。输入数据maas和maals从例如图8所示的中间衍射路径的列表获得。
[0048]
图11示出了用于在框108中执行的用于验证潜在中间衍射路径的步骤的集合的另一过程。在步骤112中,相对于起始边计算源位置角度。这对应于对例如图1中的角度113的计算。在步骤114中,相对于最终边计算听者位置角度。这对应于对图1中的角度115的计算。在步骤116中,将源位置角度与源maas的最大允许角度进行比较,并且如果确定比较结果属于该角度大于maas的情况,则测试已经失败,如框120所示。然而,当确定角度113小于maas时,第一有效性测试已经通过。
[0049]
然而,该中间衍射路径仅当第二验证也通过时才是有效中间衍射路径。这通过框118(即将maal与听者位置角115进行比较)的结果来获得。当角度115大于maal时,如框122所示获得通过有效性测试的第二贡献,并且如步骤126所示从中间衍射路径列表中检索滤波器信息,或者在例如参数化表示的情况下,根据列表中的数据,例如根据图8的列表中指示的中间角度,来计算滤波器信息。
[0050]
一旦获得与有效中间衍射路径相关联的滤波器信息(如图11中的步骤126之后的情况),图7的音频渲染器200就必须计算最终滤波器信息,如图9所示。具体地,图9中的步骤126对应于图11中的步骤126。在步骤128中,确定从源位置到有效中间衍射路径的起始边的起始滤波器信息。具体地,这是描述例如图1中的源直到边的顶点(1)的音频传播的滤波器信息。该传播信息不仅指由于距离导致的衰减,还取决于角度。如从几何衍射理论(gtd)或一致性衍射理论(utd)或可能用于本发明的声音衍射的任何其他模型已知的,衍射声音的频率特性取决于衍射角。当源角度113非常小时,与源角度113更接近图1中的maas角度的情况相比,通常仅声音的低频部分被衍射,而高频部分被更大地衰减。在这种情况下,与源角度接近0或非常小的情况相比,高频衰减减小了。
[0051]
类似地,再次基于相对于maal的听者角度115来确定从最终或输出边5到听者位置的最终滤波器信息。于是,一旦确定了这三个滤波器信息项或滤波器贡献,就在步骤132中将它们组合起来以便获得完整衍射路径的滤波器表示,其中完整衍射路径包括从源到起始边的路径、中间衍射路径、以及从输出或最终边直到听者位置的路径。该组合可以通过多种方式进行,并且一种有效方式是将步骤128、126和130中获得的三个滤波器表示中的每一个变换为频谱表示以获得对应的传递函数,然后在频谱域中将这三个传递函数相乘以便获得最终滤波器表示,该最终滤波器表示在音频渲染器在频域中操作的情况下可被使用。在备选方案中,在音频渲染器在时域中操作的情况下,频域滤波器信息可被变换为时域滤波器信息。备选地,三个滤波器项可以使用表示各个滤波器贡献的时域滤波器脉冲响应来进行卷积运算,然后音频渲染器可以使用所得时域滤波器脉冲响应进行渲染。在这种情况下,渲染器将在一方面的音频源信号与另一方面的完整滤波器表示之间执行卷积操作。
[0052]
随后,示出了图5以便提供用于静态衍射对象的渲染的优选实施方式的流程图。该
过程开始于框202。然后,提供了预先计算步骤以便生成如由图7的衍射路径提供器100提供的列表。在步骤204中,跟踪器被设置有用于遮挡测试的网格。该步骤确定边之间的所有不同衍射路径,其中根据定义仅当两条不相邻的边之间的直接路径被遮挡时,才会出现衍射路径。当考虑例如图3时,边1与边11之间的路径被边7遮挡,因此会发生衍射。这种情况例如由框204确定。在框206中,使用两个相邻三角形之间的内角来计算潜在衍射边列表。该过程确定这种衍射路径部分(即,例如边1与边11之间的部分)的中间角或内角。该步骤206还将确定在边7经由边11到边12之间的或者在边7经由边11到边13之间的另一衍射路径部分。对应的衍射路径被预先计算(例如如图8所示),使得例如图3的路径300或例如图4的路径400与描述整个声音传播(对于路径300,从边1到边13,或者对于图4的路径400,从边1到边12)的关联的滤波器信息一起被预先计算。完成预先计算过程并执行运行时步骤。在步骤210中,渲染器200获得源位置数据和听者位置数据。在步骤212中,执行源与听者之间的定向路径遮挡测试。仅当框212中的测试的结果是定向路径被遮挡时,该过程才继续。如果直接路径未被遮挡,则发生直接传播,并且任何衍射对于该路径都不是问题。
[0053]
在步骤214中,一方面确定来自源的可见边列表,另一方面确定来自听者的可见边列表。该过程对应于图6的步骤102和104和106。在步骤216中,验证从边列表的输入边开始并在听者的边列表的输出边结束的路径。这对应于在图10的框108中执行的过程。在步骤218中,确定滤波器表示,使得可以通过相对于关联的边的旋转来更新源位置,并且可以更新例如来自utd模型数据库的衍射滤波器。然而,一般而言,本发明不限于utd模型数据库应用,而是可以使用对来自衍射路径的滤波器信息的任何特定计算和应用来应用本发明。在步骤220中,例如借助于使用关联的延迟线模块的双耳渲染来计算音频场景的音频输出信号,该关联的延迟线模块的存在是为了在距离效应没被包括在对应的双耳渲染定向滤波器(例如,某些hrtf滤波器)内的情况下渲染距离效应。
[0054]
图12示出了对未旋转源位置执行的旋转,用于提高所渲染的音频场景的音频质量。该旋转被优选应用于图5的步骤218或图6的步骤218。出于渲染或空间化的目的对源位置进行旋转有助于提高关于原始源位置的空间感知。因此,关于图12,在新位置142处渲染声源,该新位置142是通过从原始声源位置143绕着边9旋转角度da_9到中间位置141而获得的。该角度由连接边13和边9的线来确定,从而获得直线。然后中间位置141绕着边13旋转角度da_13以便具有从听者到最终旋转后的源位置142的直线。因此,不仅取决于频率的均衡或衰减值被空间化,而且原始源的被感知方向(其在旋转后的源位置142处)也被空间化。由于在每个衍射过程中声音衍射效应改变声音传播的角度,因此该最终旋转后的源位置是被感知的源位置。
[0055]
参考从源到听者的一条示例性衍射路径“源-(9)-(13)-听者”。使用旋转后的源位置142来生成用于再现空间声音的附加(phi)、θ(theta)信息。
[0056]
考虑了确切的源/听者位置的完整的关联的滤波器信息已经提供了每个频率的确切的eq信息,即衍射效应引起的衰减效应。使用原始源位置以及到原始源的距离已经构成了低级实施方式。通过附加地创建选择适当hrtf滤波器所需的信息来增强这种低级实施方式。为此,将原始声源相对于相关边旋转一定数量的衍射角度,以生成衍射源的位置。然后,方位角和仰角可以从该位置相对于听者来导出,并且可获得沿着该路径的总的传播距离。
[0057]
图12还示出了对最终渲染的声源位置142与通过旋转过程获得的听者位置之间的
距离的计算。优选地,附加地使用该距离来确定两者的距离相关衰减的延迟以用于对源的渲染。
[0058]
随后,给出了关于原始源位置143的旋转后的位置143的使用和确定的进一步说明。用于获得有效路径的计算的每一步骤都处理原始源位置143。但是,为了实现让配备有耳机的用户在vr空间中感受更好的沉浸式声音的双耳渲染,优选地将声源的位置提供给双耳器,使得双耳器可以将适当的空间滤波(h_l和h_r)应用于原始音频信号,其中h_l/h_r被称为与头部相关的传递函数(hrtf),如例如https://www.ece.ucdavis.edu/cipic/spatial-sound/tutorial/hrtf/中所描述的。
[0059][0060][0061]
单声道信号s(w)并不具可以用来生成空间声音的任何位置提示。但经hrtf滤波的声音可以再现空间印象。为此,应通过该过程给出和θ(即,衍射源的相对方位角和仰角)。这就是旋转原始声源的原因。因此,渲染器除了接收滤波器信息之外,还接收图12的最终源位置142的信息。尽管对于低级实施方式来说通常可能使用原始声源143的方向,使得可以避免声源旋转的复杂性,但该过程受到图12中可见的定向误差的影响。然而,对于低级实施方式,该误差被接受。对于距离影响,也是如此。如图12所示,旋转后的源142到听者的距离稍长于原始源143到听者的距离。为了降低复杂性,该距离误差对于低级实施方式是可以接受的。然而,对于高级应用,该误差可被避免。
[0062]
因此,通过将原始源相对于相关边旋转来生成衍射声源的位置也可以提供从源和听者的传播距离,其中该距离被用于因距离引起的衰减。
[0063]
该用于生成θ和距离的附加信息的过程对于多声道回放系统也是有用的。唯一的区别在于:对于多声道回放系统,会将不同的一组空间滤波器应用于s(w)以将filtered_s_i馈送给第i扬声器,如“filterd_s_i=h_i(θ、w、其他参数)*s(w)”。
[0064]
优选实施例涉及渲染器的操作,该渲染器被配置为:取决于有效中间衍射路径或取决于完整衍射路径来计算旋转后的音频源位置,该旋转后的音频源位置由于该有效中间衍射路径产生的衍射效应或取决于完整衍射路径而不同于音频源位置,并且在计算(220)音频场景的音频输出信号时使用旋转后的音频源位置,或者该渲染器被配置为:除了使用滤波器表示之外,还使用与完整衍射路径相关联的边序列以及与完整衍射路径相关联的衍射角度序列来计算音频场景的音频输出信号。
[0065]
在另一实施例中,渲染器被配置为:确定从听者位置到旋转后的源位置的距离,并且在计算音频场景的音频输出信号时使用该距离。
[0066]
在另一实施例中,渲染器被配置为:取决于旋转后的源位置和用于音频输出信号的预定输出格式来选择一个或多个定向滤波器,并且在计算音频输出信号时将所述一个或多个定向滤波器和滤波器表示应用于音频信号。
[0067]
在另一实施例中,渲染器被配置为:取决于旋转后的源位置与听者位置之间的距离来确定衰减值;并且附加地取决于音频源位置或旋转后的音频源位置将滤波器表示或者一个或多个定向滤波器应用于音频信号。
[0068]
在另一实施例中,渲染器被配置为:在包括至少一个旋转操作的一系列旋转操作
中确定旋转后的源位置。
[0069]
在该序列的第一步骤中,从完整衍射路径的第一衍射边开始,在第一旋转操作中旋转从第一衍射边到源位置的路径部分以获得从第二衍射边(或者在完整衍射路径仅具有第一衍射边的情况下,从听者位置)到第一中间旋转后的源位置的直线,其中,当完整衍射路径仅具有第一衍射边时,第一中间旋转后的源位置就是旋转后的源位置。该序列将针对单条衍射边完成。在具有两条衍射边的情况下,第一边将是图12中的边9,而第一中间位置是项目141。
[0070]
在多于一条衍射边的情况下,在第二旋转操作中将第一旋转操作的结果绕着第二衍射边旋转以获得从第三衍射边(或者在完整衍射路径仅具有第一衍射边和第二衍射边的情况下,从听者位置)到第二中间旋转后的源位置的直线,其中,当完整衍射路径仅具有第一衍射边和第二衍射边时,第二中间旋转后的源位置就是旋转后的源位置。该序列将针对两条衍射边完成。在具有两条衍射边的情况下,第一边将是图12中的边9,而第二边是边13。
[0071]
在具有多于两条衍射边的路径(例如,图3的路径300)的情况下,继续该过程,其中,利用图3中的第三衍射边11,然后利用图3中的边13或利用图3中的边12,附加地执行一个或多个旋转操作,并且通常直到处理完完整衍射路径并获得从听者位置到那时获得的旋转后的源位置的直线。
[0072]
随后,示出了用于处理动态对象(do)的优选实施方式。为此,参考图2b,图2b示出了:从一个时刻到另一时刻,相对于图1中的情况已经被放置在音频场景的中央位置的动态对象do。这意味着图2d的上面的行所示的从边1到边5的中间衍射路径被衍射对象do中断,并且已经生成了两条新的衍射路径,一条从边1到边7然后到边5,而另一条从边1到边3然后到边5。在听者被放置在图2a左侧的情况下,这些衍射路径是相关的。由于动态对象已经被放置到声音场景中这一事实,因此maas和maal条件也已经相对于没有动态对象的情况发生了改变。通过图2b的下部所示的两条附加中间衍射路径来增强图1的中间衍射路径列表,如例如图6的项目226所示。具体地,当假设图5中的从边1到边5的原始路径仅是较大反射情形(在所述较大反射情形中,源没有靠近边1放置,而是例如在对象之间存在一条或多条另外的反射路径,并且对于听者而言情况类似)的一部分时,可以在运行时通过以下方式容易地更新针对图1在没有动态对象的情况下存在的预先计算的衍射路径:仅用两条附加路径替换从边1到边5的衍射路径,仍然让衍射路径的从边1到任何起始边的较早部分保持原样,以及还让从边5到任何输出边或最终边的路径部分保持原样。
[0073]
图6示出了在具有动态对象的情况下执行的过程的情况。在步骤222中,确定动态对象do是否已经例如通过平移和旋转改变其位置。附接到动态对象的边被更新。在图2a的示例中,步骤222将确定:与图1所示的较早时刻相比,存在动态对象,具有特定的边70、60、20、30。在步骤214中,将找到包括边1和边5的中间衍射路径。在步骤224中,将确定:由于动态对象被放置在边1与边5之间的路径中而存在中断。在步骤224中,将找到如图2b的下部所示的附加路径,一方面从边1通过动态对象边30到边5,而另一方面从边1通过动态对象边60到边5。在步骤226中,非中断路径将通过两条附加路径得到增强。这意味着,将通过用图2b所示的两个其他路径部分替换边1与边5之间的路径部分来修改从任何(未示出的)输入边到边1并从边5到任何(未示出的)输出边的路径(图中未显示)。从输入边到边1的第一路径部分将与这两个路径部分拼接在一起以获得两条附加中间衍射路径,并且原始路径的从边
5延伸到输出边的输出部分也将被拼接到两条对应的被增强的中间衍射路径,使得由于动态对象,已经从一条早期的中间衍射路径(没有动态对象)生成两条新的被增强的早期衍射路径。图6所示的其他步骤与图5中已经示出的类似。
[0074]
(在运行时)渲染动态对象的衍射效应是利用沉浸式媒体呈现用于娱乐的互动印象的最佳方式之一。考虑动态对象的衍射的优选策略如下:
[0075]
1)在预先计算步骤中:
[0076]
a.如果存在动态对象/几何体,则预先计算给定动态对象周围的可能(中间)衍射路径。
[0077]
b.如果存在多个动态对象/几何体,则基于不同动态对象之间不允许衍射的假设来预先计算单个对象周围的可能(中间)衍射路径。
[0078]
c.如果存在动态/几何体和静态对象/几何体,则基于静态对象与动态对象之间不允许衍射的假设来预先计算动态对象或静态对象周围的可能路径。
[0079]
2)在运行时步骤中:
[0080]
a.仅当动态网格被重新定位(在平移和旋转方面)时,才更新属于被重新定位的动态网格的潜在边。
[0081]
b.找到源的可见边列表和听者的可见边列表。
[0082]
c.验证从源的边列表开始并在听者的边列表处结束的路径。
[0083]
d.测试中间边对之间的可见性,并且如果存在中断对象(其可能是动态对象或静态对象)的入侵,则通过边、三角形和角度来增强已验证路径内的路径。
[0084]
图6中示出了用于处理动态对象/几何体的扩展算法,其与静态场景相比,具有附加步骤。
[0085]
考虑到优选方法预先计算(中间)衍射路径信息,所述衍射路径信息除了特殊情况之外不需要被重新访问,这与不允许更新预先计算的数据的现有技术相比,出现了许多实际优点。此外,组合多条衍射路径以生成被增强路径的灵活特征使得可能将静态对象和动态对象一起考虑。
[0086]
(1)较低计算复杂度:优选方法不需要在运行时构建从给定源位置到听者位置的完整路径。相反,它仅需要找到两点之间的有效中间路径。
[0087]
(2)渲染静态对象和动态对象的组合或多个动态对象的衍射效应的能力:现有技术需要在运行时更新(静态或动态)边之间的整个可见性图以同时考虑静态对象和动态对象的衍射效应。优选方法需要对两条有效路径/路径部分的有效拼接过程。
[0088]
另一方面,与现有技术相比,预先计算(中间)衍射路径需要更多时间。然而,有可能通过应用合理的约束(例如,一条完整路径中的最大允许衰减水平、最大传播距离、衍射的最大阶数等)来控制预先计算的路径数据的大小。
[0089]
1)[基于几何声学的方法]发明了基于预先计算的(中间)路径信息将utd模型应用于多个可见/正确定向的边的优选方法。除了极少数情况(例如,动态对象造成的中断)之外,(大部分时间)不需要实时监视该预先计算的数据。因此,本发明最小化了实时计算。
[0090]
2)[模块化]每条预先计算的路径工作为一个模块。
[0091]
a.对于静态场景,在实时步骤中,我们仅需要找到两个空间点之间的有效模块。
[0092]
b.对于动态场景,即使在对象(b)的有效路径中存在另一对象(a)造成的中断,我
们也需要使用通过a的有效路径来增强通过b的路径。(想象拼接两个不同的图像)。
[0093]
3)[支持全动态交互]可实现实时渲染衍射效应,包括静态对象和动态对象的组合或多个动态对象。
[0094]
这里要提及的是,之前讨论的所有替代方案或方面以及由所附权利要求中的独立权利要求定义的所有方面可以被单独使用,即,可以在没有除所设想的替代方案、目标或独立权利要求之外的任何其他替代方案或目标的情况下使用。然而,在其他实施例中,两个或更多个备选方案或方面或独立权利要求可以彼此组合,并且在其他实施例中,所有方面或备选方案和所有独立权利要求可以彼此组合。
[0095]
本发明的编码信号可被存储在数字存储介质或非暂时性存储介质上,或者可以在传输介质上传输,所述传输介质诸如是无线传输介质或有线传输介质(如互联网)。
[0096]
虽然已经在装置的上下文中描述了一些方面,但是将清楚的是,这些方面还表示关于对应方法的描述,其中,块或设备对应于方法步骤或方法步骤的特征。类似地,在方法步骤上下文中描述的方面也指示对相应块或项或者相应装置的特征的描述。
[0097]
取决于某些实现要求,可以在硬件中或在软件中实现本发明的实施例。实现方式可以使用其上存储有电子可读控制信号的数字存储介质(例如,软盘、dvd、cd、rom、prom、eprom、eeprom或flash存储器)来执行,与可编程计算机系统协作(或能够协作),使得执行相应方法。
[0098]
根据本发明的一些实施例包括具有电子可读控制信号的数据载体,其能够与可编程计算机系统协作以便执行本文所述的方法之一。
[0099]
通常,本发明的实施例可以实现为具有程序代码的计算机程序产品,程序代码可操作以在计算机程序产品在计算机上运行时执行方法之一。程序代码可以例如存储在机器可读载体上。
[0100]
其他实施例包括存储在机器可读载体或非暂时性存储介质上的用于执行本文描述的方法之一的计算机程序。
[0101]
换言之,本发明方法的实施例因此是具有程序代码的计算机程序,该程序代码用于在计算机程序在计算机上运行时执行本文所述的方法之一。
[0102]
因此,本发明方法的另一实施例是其上记录有计算机程序的数据载体(或者数字存储介质或计算机可读介质),该计算机程序用于执行本文所述的方法之一。
[0103]
因此,本发明方法的另一实施例是表示计算机程序的数据流或信号序列,所述计算机程序用于执行本文所述的方法之一。数据流或信号序列可以例如被配置为经由数据通信连接(例如,经由互联网)传送。
[0104]
另一实施例包括处理装置,例如,计算机或可编程逻辑器件,所述处理装置被配置为或适于执行本文所述的方法之一。
[0105]
另一实施例包括其上安装有计算机程序的计算机,该计算机程序用于执行本文所述的方法之一。
[0106]
在一些实施例中,可编程逻辑器件(例如,现场可编程门阵列)可以用于执行本文所述的方法的功能中的一些或全部。在一些实施例中,现场可编程门阵列可以与微处理器协作以执行本文所述的方法之一。通常,这些方法优选地由任意硬件装置来执行。
[0107]
上述实施例对于本发明的原理仅是说明性的。应当理解的是,本文所述的布置和
visualization and computer graphics 18,1797-1810,2012
[0121]
[13]h.yeh,r.mehra,z.ren,l.antani,d.manocha,and m.lin,wave-ray coupling for interactive sound propagation in large complex scenes,acm trans.graph.32,6,165:1-165:11,2013。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1