增强虚拟现实的音频效果的方法和电子装置与流程

文档序号:11594973阅读:163来源:国知局

本发明涉及虚拟现实(virtualreality,vr),更具体地涉及用于增强虚拟现实的音频效果的实现。



背景技术:

除非本文另有指出,否则本小节所描述的内容相对于本发明的权利要求而言不构成现有技术,且其也不会被承认为现有技术。

除了现实的视觉体验之外,从用户角度来看的真实的听觉体验也是用户在虚拟现实中具有沉浸式体验的关键因素。通常,vr中的声音可以由有限的频道产生,例如用户佩戴的两个耳机。在实践中,听觉体验往往不同于在真实世界中的声音,其通常来自给定环境中的所有方向。例如,在音乐源位于用户北部的vr应用中,当用户面向西和当用户面向东时,频道输出将不同。此外,通常使用者不能在长时间段内将他/她的头部固定在给定位置;相反,用户可能不断地移动他/她的头部,并且这将需要根据用户的头部运动随时间改变频道输出。因此,通过有限频道渲染(render)音频效果以匹配或以其他方式模拟真实世界听觉体验的能力是在vr的背景下的音频相关技术的目标。



技术实现要素:

有鉴于此,本发明提供一种增强虚拟现实的音频效果的方法和电子装置。

依据本发明一实施方式,提供一种增强虚拟现实的音频效果的方法,包括:接收在虚拟现实环境中的数据,所述数据与来自一个或多个声源的音频样本、所述一个或多个声源的运动、以及用户的运动相关;基于接收的所述数据执行用于实现一个或多个音频效果的物理模拟;使用所述物理模拟的结果来执行信号处理;以及使用所述信号处理的结果来生成音频输出。

依据本发明另一实施方式,提供一种电子装置,包括处理器。所述处理器包括:模拟电路,可执行以下操作:接收在虚拟现实环境中的数据,所述数据与来自一个或多个声源的音频样本、所述一个或多个声源的运动、以及用户的运动相关;以及基于接收的所述数据执行用于实现一个或多个音频效果的物理模拟。以及,耦接到所述模拟电路的信号处理电路,所述信号处理电路可执行以下操作:使用所述物理模拟的结果来执行信号处理;以及使用所述信号处理的结果来生成音频输出。

本发明所提供的增强虚拟现实的音频效果的方法和电子装置,可提高在虚拟现实中的音频效果,提升用户的听觉体验。

对于已经阅读后续由各附图及内容所显示的较佳实施方式的本领域的技术人员来说,本发明的各目的是明显的。

附图说明

本发明提供了附图以更好地理解本发明,附图并入本发明且构成本发明的一部分。附图揭露了本发明的实施方式,并同说明书一起共同解释本发明的原理。可以理解的是,附图并不一定是按照比例绘制的,因而,某些绘制的元件可能同其在实际的实施方式中的尺寸不成比例,这样做可更清晰地阐释本发明的构思。

图1是本发明所提出的方案的概念的示意图。

图2是根据本发明的实施方式的示例场景的示意图。

图3是根据本发明的实施方式的示例场景的示意图。

图4是根据本发明的实施方式的示例场景的示意图。

图5是根据本发明的实施方式的示例方案的示意图。

图6是根据本发明的实施方式的示例场景的示意图。

图7是根据本发明的实施方式的示例场景的示意图。

图8是根据本发明的实施方式的示例场景的示意图。

图9是根据本发明的实施方式的示例场景的示意图。

图10是根据本发明的实施方式的示例场景的示意图。

图11是根据本发明的实施方式的示例场景的示意图。

图12是根据本发明的实施方式的示例场景的示意图。

图13是根据本发明的实施方式的示例装置的框图。

图14是根据本发明的实施方式的示例装置的框图。

图15是根据本发明的实施方式的示例处理的流程图。

具体实施方式

以下描述为本发明的较佳实施例。以下实施例仅用来举例阐释本发明的技术特征,并非用以限定本发明。本发明的保护范围当视权利要求书所界定为准。

概述

从用户角度来实现真实听觉体验的关键是模拟各种音频效果,包括但不限于,方向、混响(reverberation)、衰减(attenuation)、遮挡(occlusion)、传输时间和多普勒效应(dopplereffect)等。“方向”的音频效果是指区分相对于用户在不同方向上的不同声源的能力。“混响”的音频效果是指在封闭空间中收集反射声音。“衰减”的音频效果是指当声音通过一个或多个介质传输时的能量损失。“遮挡”的音频效果是指当声音的传输路径被一个或多个物体(例如,墙壁)阻挡或以其它方式阻挡时声音信号的改变。“传输时间”的音频效果是指通过给定介质来传输声音的时间。“多普勒效应”的音频效果是指观察到的频率偏移,其在观察者和声源之间存在相对速度或运动时发生。

在vr应用中,多普勒效应是一种难以渲染的音频效果。多普勒效应可以由方程式f=[(c+vr)/(c+vs)]*f0来表示。这里,f0表示来自声源的声音的频率,c表示声音给定介质中的速度,vr表示观察者的速度,vs表示声源的速度,f表示由于多普勒效应而产生的结果或其他的频率偏移。基于该方程式,存在两种类型的频率变化(这里可互换地称为“频率偏移”),即:向上偏移和向下偏移(upshiftanddownshift)。当观察者和声源之间的距离减小(例如,他们越来越近)时,发生频率向上偏移,因此,观察者接收或听到的声音的频率向上偏移。当观察者和声源之间的距离增加(例如,他们变得越来越远)时,发生频率向下偏移,因此观察者接收或听到的声音的频率向下偏移。

尽管通过应用滤波器可以渲染上述音频效果中的一些,但是由于声源和观察者(例如,vr应用的用户)可能会不断地运动,关于vr中的多普勒效应的频率变化,通过简单地应用滤波器是难以渲染的。例如,利用纯信号处理以在常规方法下实现多普勒效应,纯信号处理不能确定应当应用哪种类型的频率偏移。此外,纯信号处理无法得知频率偏移的程度。因此,根据本发明的所提出的方案提供了在vr应用中实时实现多普勒效应的技术、方法和装置。

图1是本发明的所提出的方案的概念100的示意图。概念100可以包括由一个或多个块(例如图1中所示的方框110和120)表示的一个或多个操作、动作和/或功能。虽然被示为相互分离的块,但是根据期望的实施方式,概念100的多个块可以被划分为额外的块、组合成更少的块或被移除。概念100可以由控制逻辑、一个或多个处理器和/或电子装置来实现,其中的每个可以在由适当的固件、软件和/或中间件来操作的硬件中实现。为了说明的目的而非限制本发明,以下描述的概念100可在电子装置(例如,智能手机,平板电脑或膝上型计算机)中实施的处理器(数字信号处理器(dsp)、应用处理器(ap)等)的情况下提供。

在方框110中,概念100可以包括处理器,基于声音数据102和用户运动数据104执行用于实现一个或多个音频效果的物理模拟。声音数据102可以包括,例如,来自一个或多个声源的声音的音频数据,以及该一个或多个声源中的每一个的运动的运动数据。用户运动数据104可以包括,例如,用户头部运动的运动数据(例如,由用户佩戴的vr头盔的运动来表示)。在多普勒效应的情况下,物理模拟的结果可以包括关于来自一个或多个声源中的每一个的声音的频率偏移类型和偏移程度。概念100可以从方框110进行到方框120。

在方框120处,概念100可以包括处理器,使用物理学模拟的结果(例如,多普勒效应的频率偏移类型和偏移程度),执行信号处理以生成音频输出106,音频输出106可以是声音输出以发送到用户佩戴的vr头盔的左耳机和右耳机的扬声器。例如,概念100可以包括处理器可以执行关于信号处理的重采样、样本渲染和样本混合。在多普勒效应的情况下,概念100下的信号处理可以包括根据频率偏移类型和偏移程度,通过重采样来修改、调整或以其它方式修改音频样本。

图2是根据本发明的实施方式的示例场景200的示意图。场景200表示关于多普勒效应的物理模拟的物理模拟和重采样的场景。关于物理模拟,可以从每个声源扩展(spread)音频样本,并且这种处理被称为样本扩展(samplespreading)。扩展原点(spreadingorigin)是声源发射样本的位置。扩展速度等于声速。音频样本的扩展位置形成波前(wavefront),其指示音频样本可被用户听到的最大范围。

在场景200中,声源以恒定速度移动,并且在时间点t1、t2、t3、t4和t5中的每一个时间点由声源发射相应的音频样本。因此,t5和t4之间的时间间隔、t4和t3之间的时间间隔、t3和t2之间的时间间隔、以及t2和t1之间的时间间隔相等。声速可以由方程来表示,声速=d/(t5–t4),其中d表示两个样本之间的距离或扩展量。场景200的部分(a)是在时间点t4已经生成和展开的由样本-1、样本-2和样本-3表示的三个波前。场景200的部分(b)是在时间点t5已经生成和展开的由样本-1、样本-2、样本-3和样本4表示的四个波前。

图3是根据本发明的实施方式的示例场景300的示意图。场景300表示关于多普勒效应的重采样的场景。在重采样中,跟踪每个声源的运动、样本扩展波前和在虚拟现实环境(virtualrealitysetting)中用户的运动,以便确定频率偏移类型(例如,向上偏移或向下偏移)。然后,基于所确定的频率偏移类型对音频数据或音频样本进行重采样。

在场景300的部分(a)中,声源停留不动或以其它方式静止。因此,不需要重采样,因为音频样本不会比采样率更快或更慢地到达。在场景300的部分(b)中,声源以恒定速度移动。在声源远离观察者的情况下,音频样本将比原始声音的采样率更慢地到达。因此,可以通过上采样来实现频率向下偏移,以保持采样率。在声源移动得更靠近观察者的情况下,音频样本将比原始声音的采样率更快地到达。因此,可以通过下采样来实现频率向上偏移,以保持采样率。

图4是根据本发明的实施方式的示例场景400的示意图。场景400表示关于多普勒效应的下采样和上采样的场景。场景400的部分(a)显示了一系列的输入音频样本。场景400的部分(b)显示了在输入音频样本更快地到达(例如,当声源移动更接近观察者时)的情况下,相对于输入音频样本的输出样本。场景400的部分(c)显示了在输入音频样本到达较慢(例如,当声源移动离开观察者时)的情况下,相对于输入音频样本的输出样本。场景400的部分(d)显示了在输入音频样本更快到达的情况下,对输入音频样本的下采样,以实现部分(b)中的输出样本。场景400的部分(e)显示了在输入音频样本到达较慢的情况下,对输入音频样本的上采样,以实现部分(c)中的输出样本。

图5是根据概念100的实施方式的示例方案500的示意图。图6-图10是根据方案500的实现的相应的示例场景的示意图。因此,下面参照图6-图10来描述方案500。

在方案500下,可以执行或以其他方式执行多个任务以实现一个或多个音频效果。在图5所示的例子中,在概念100的方框110中作为物理模拟以模拟多普勒效应的情况下,方案500可以包括执行以下任务以完成多普勒效应的实现:(1)样本波前生成,(2)波前扩展,(3)频率偏移类型的确定,(4)重采样,(5)样本渲染,以及(6)样本混合。在方案500中,调度器510可以用于确定执行每个任务的适当时机并且触发其执行。在方案500中,定时器520还可以用于向调度器510提供时间信息。当触发任务的执行时,调度器510可以提供一个或多个声源的vr内容的数据530、以及用户的vr内容的数据540,以作为任务的输入。例如,在方案500中实现概念100时,一个或多个声源的vr内容的数据530可以是图1所示的声音数据102。类似地,在方案500中的实现概念100时,用户的vr内容的数据540可以是图1所示的用户运动数据104。数据530可以包括,例如但不限于,关于一个或多个声源中的每一个的音频样本和声音运动(例如,位置和速度)。数据540可以包括,例如但不限于,用户的用户运动(例如,位置和速度)。执行这些任务的结果是,样本波前550和音频输出560的生成。在一些实施方式中,可以以软件的形式实现调度器510和定时器520中的任一个或两者。或者,调度器510和定时器520中的任一个或两者可以以硬件的形式实现。

在一些实施方式中,根据本发明,调度器510可以通过时间轴的概念来实现,并且时间轴可以用于模拟随时间变化的行为。在时间轴的概念下,多个任务的执行可以被视为一流程(aprocess),并且执行流程的时间可以被划分为多个小的时间片段或时间段。代替直接执行整个流程,可以通过将流程划分为多个子流程来执行给定的流程,并且可以在相应的时间段触发每个子流程的执行。每个子流程可以对应于相应的任务。关于用于实现多普勒效应的任务,每个任务可以被看作或被视为调度器510的流程。此外,每个子流程的行为可以在其相应的时间段期间被调整。例如,可以响应于vr设置中的用户的运动和/或一个或多个声源的运动来调整子流程的行为。鉴于上述,调度器510是用于实现vr应用的实时音频渲染的方案500中的关键。

时间轴的概念可以参考如图6-10所示的场景600、700、800、900和1000来详细解释。在场景600中,可以沿时间轴利用时间刻度(timetick)以指示时间单位(例如,前述时间段)。每个时间刻度可以对应于一个或多个子流程的执行。在一些实施方式中,每个子流程可以由相应的代码集来实现,并且因此给定子流程的执行可以包括相应代码集的执行。在执行给定子流程之后,可以生成一个或多个子流程以在某个未来时间刻度插回到时间轴中。在一些实施方式中,子流程集合和所生成的子流程可以形成完整的流程。另外,生成子流程的方式可以定义整个流程的行为。值得注意的是,对时间刻度之间的间隔没有限制。例如,但不限于,间隔可以是1秒、1毫秒或1/48毫秒。间隔的确切值可以取决于具体实现的要求。

场景700是定时器520和调度器510的执行流程之间的工作关系的示意图。在场景700中,对于每个时间刻度,调度器510可以执行与所关注的时间刻度相对应的一个或多个子流程,并且可选地,生成一个或多个子流程以供将来执行。调度器510还可以沿着时间轴将所生成的子流程插入未来的目标时间刻度中。然后,调度器510可以根据由定时器520提供的时间信息,通过等待直到该时间到达来继续到下一时间刻度。例如,调度器510将在没有用于执行的子流程的那些时间刻度中进行等待而不执行。

场景800是执行作为子流程的任务的示意图。在图1所示的例子中,如图8所示,对于时间轴上的给定时间刻度,可以执行多个子流程(或任务)以实现多普勒效应,包括:样本波前生成、频率偏移类型的确定或检查、重采样(下采样或上采样)、样本渲染和样本混合。在执行样本波前生成的子流程之后,可以生成波前扩展的子流程,并将其插入到随后的时间刻度中。这可以对多个样本执行。值得注意的是,在子流程的执行期间,调度器510可以继续提供关于一个或多个声源的更新的vr内容以及用户的vr内容的新数据530和新数据540。另外,可以生成新的样本波前550。

在一些实施方案中,可为时间轴利用较高分辨率(例如,每两个相邻时间刻度之间的较短间隔)。例如,对于48khz的音频输出,每两个相邻时间刻度之间的间隔可以是1/48毫秒,以便满足采样率。

在方案500中,对于每个声源,样本波前生成的任务可以在每个时间刻度(例如,在场景800中的时间刻度t1、t2、t3、t4等)处生成音频样本的波前。也就是说,每个波前可以被映射到用于一个或多个声源的vr内容的数据530的音频数据中的特定音频样本。对于每个生成的波前,波前扩展的任务可以基于声速(例如,在场景800中的时间刻度t2、t3、t4等等处)扩展波前位置。此外,当波前的扩展半径超过用户在vr设置中可以听到声音的可听范围时,方案500可以停止维持给定波前。值得注意的是,在波前扩展的模拟期间,声音的传输时间也可以同时被模拟。因此,本文中关于波前扩展的模拟的描述也可以应用于声音的传输时间的模拟。因此,为了简洁起见,不重复这样的描述以避免冗余。

在方案500中,确定(或检查)频率偏移类型的任务可以观察用户附近的波前,以确定该类型是向上偏移还是向下偏移,并且该任务可以在每个时间刻度(例如,在场景800中的时间刻度t1、t2、t3、t4等处)执行。例如,当多个波前命中(hit)用户时,频率偏移类型可以被确定为向上偏移。作为另一示例,当没有波前命中用户并且在用户的可听范围中存在波前时,频率偏移类型可以被确定为向下偏移。

在方案500中,重采样的任务可以对音频样本进行重采样以满足输出采样率,并且该任务可以在每个时间刻度(例如,在场景800中的时间刻度t1、t2、t3、t4等处)执行。例如,可以基于命中波前来执行下采样,以生成具有更高频率的样本。相反,可以基于用户的可听范围中的波前来执行上采样,以生成具有较低频率的样本。值得注意的是,由于一个或多个声源和的运动用户的运动可能随时间不断变化,因此没有用于重采样的固定结果数量的样本。

在方案500中,样本渲染的任务可以对一个或多个音频效果的重采样样本执行滤波,以生成每个声源的最终样本,并且该任务可以在每个时间刻度(例如,在场景800中的时间刻度t1、t2、t3、t4等处)执行。一个或多个音频效果可以包括,例如但不限于,方向、混响、衰减、遮挡和多普勒效应。

在方案500中,样本混合的任务可以混合来自所有声源的最终样本,以生成音频输出560,并且该任务可以在每个时间刻度(例如,在场景800中的时间刻度t1、t2、t3、t4等处)执行。在一些实施方式中,音频输出560可以至少表示由用户佩戴的vr头盔中的耳机的左和右音轨或扬声器。

场景900是根据本发明的时间轴的替代使用的示意图。在场景900中,样本波前生成的任务可以为一音频样本集合而不是一个音频样本来生成一个波前。也就是说,每个波前可以表示一音频样本集合。因此,可基于音频样本集合来执行重采样的任务。

在一些实施方案中,较低分辨率(例如,每两个相邻时间刻度之间的较长间隔)可用于时间轴。例如,对于48khz的音频输出,每两个相邻时间刻度之间的间隔可以是1毫秒,以便满足采样率。为了使用较低的分辨率,每个子流程可以一次操作一音频样本集合而不是单个音频样本。

场景1000是根据本发明的方案500的附加特征的示意图。

场景1000的部分(a)是在方案500下的附加任务。例如,用户运动更新的任务可以包括在每个时间刻度处的多个子流程,以提取关于用户的运动的信息,包括由用户佩戴的头戴装置感测的头部方向以及vr设置中的用户位置。另外,声音运动更新的任务可以包括在每个时间刻度处的多个子流程,以模拟声音的移动行为,例如但不限于,具有恒定速度的直线路径(straightlinepath)或具有变化速度的环路(circularpath)。

场景1000的部分(b)是可以在相同时间刻度处并行执行的独立子流程以及独立流程。例如,多核处理器的多个核的计算能力可以用于并行执行多个子流程/流程。

图11是根据本发明的实施方式的示例场景1100的示意图。场景1100表示在方案500下的频率向上偏移的场景。场景1100的部分(a)对应于较早的时间刻度,而场景1100的部分(b)对应于稍后的时间刻度。在场景1100的部分(a)中,方案500可以包括生成波前并保持波前的轨迹。方案500还可以包括基于声速来扩展每个波前。在场景1100的部分(b)中,第一音频样本和第二音频样本的波前可以命中在vr设置中用户。因此,方案500可以包括基于两个样本来执行下采样以输出多普勒效应的一个正确的样本。

图12是根据本发明的实施方式的示例场景1200的示意图。场景1200表示在方案500下的频率向下偏移的场景。场景1200的部分(a)对应于较早的时间刻度,而场景1200的部分(b)对应于稍后的时间刻度。在场景1200的部分(a)中,方案500可以包括生成波前并保持波前的轨迹。方案500还可以包括基于声速来扩展每个波前。在场景1200的部分(b)中,在第一音频样本的波前命中用户之后,第二音频样本的波前可能不会命中用户,因为声源可能正在移动远离用户。为了输出下一个样本,方案500可以包括在用户的可听范围(例如,最接近的波前)中找到波前,并且基于已经命中用户的先前波前和最接近的波前的音频样本来执行上采样。

说明性实施方式

图13是根据本发明的实施方式的示例装置1300。装置1300可执行各种功能以实现本文所述的关于虚拟现实的增强的音频效果实现的方案、技术、过程和方法,所述虚拟现实包括概念100、方案500和场景200、300、400、600、700、800、900、1000、1100和1200、以及下面描述的流程1500。装置1300可以是电子装置的一部分,其可以是便携式或移动装置、可穿戴装置、无线通信装置或计算装置。例如,装置1300可以在智能电话、智能手表、个人数字助理、数字照相机或例如平板计算机、膝上型计算机、笔记本计算机、台式计算机或服务器的计算装置中实现。或者,装置1300可以以一个或多个集成电路芯片的形式来实现,例如但不限于,一个或多个单核处理器、一个或多个多核处理器或一个或多个复杂指令集计算(complex-instruction-set-computing,cisc)处理器。装置1300可以包括至少图13所示的那些组件,例如处理器1305。装置1300还可以包括与本发明的所提出的方案不相关的一个或多个其他组件(例如,内部电源、通信装置、显示装置和/或用户接口装置),并且,因此,为了简单和简洁起见,这样的组件在图13中未示出,下面也未描述。例如,在一些实施方式中,装置1300可以是vr相关装置,并且还可以包括例如头戴式装置、听筒(或耳机)和一个或多个传感器(例如,加速度计、陀螺仪、图像传感器、红外传感器、超声传感器等)。为了简洁起见,由于装置1300可以在各种应用中实现,所以这里未示出或描述这样的附加组件。

一方面,处理器1305可以以一个或多个单核处理器、一个或多个多核处理器、或者一个或多个cisc处理器的形式实现。也就是说,尽管本文中使用单数术语“处理器”来指代处理器1305,但是根据本发明,处理器1305可以在一些实施方式中包括多个处理器,而在其他实现中可以包括单个处理器。另一方面,处理器1305可以以具有电子组件的硬件(可选地,以及固件)的形式来实现,电子组件包括,例如但不限于,一个或多个晶体管、一个或多个二极管、一个或多个电容器、一个或多个电阻器、一个或多个电感器、一个或多个忆阻器和/或一个或多个变容二极管,其用于实现根据本发明的特定目的。换句话说,在至少一些实施方式中,处理器1305是专门设计、用于根据本发明的各种实施方式执行包括用于虚拟现实的增强音频效果实现的特定任务的专用机器。

处理器1305可以包括模拟电路1310和耦接到模拟电路1310的信号处理电路1320。模拟电路1310可以接收虚拟现实环境中的数据。该数据可以与来自一个或多个声源的音频样本、一个或多个声源的运动以及用户的运动相关。模拟电路1310可以基于接收的数据执行物理模拟以实现一个或多个音频效果。信号处理电路1320可以使用物理模拟的结果来执行信号处理。信号处理电路1320还可以使用信号处理的结果来生成音频输出。

在一些实施方式中,在执行用于实现一个或多个音频效果的物理模拟时,模拟电路1310可以执行多个操作。例如,模拟电路1310可以生成音频样本的样本波前。另外,模拟电路1310可以扩展样本波前。此外,模拟电路1310可以基于在虚拟现实环境中在用户附近观察到的样本波前中的相应一个来确定每个音频样本的频率偏移类型和偏移程度。

在一些实施方案中,在执行信号处理时,信号处理电路1320可以执行若干操作。例如,对于一个或多个声源的每个声源,信号处理电路1320可以根据相应的频率偏移类型和相应的偏移程度对每个音频样本重采样,以提供重采样的音频样本。此外,对于一个或多个声源的每个声源,信号处理电路1320可以通过对一个或多个音频效果进行滤波,对重采样的音频样本执行样本渲染,以提供最终样本。此外,信号处理电路1320可以混合来自一个或多个声源的最终样本以生成音频输出。

在一些实施方案中,每一样本波前可表示音频样本的相应样本集合。在这种情况下,在对每个音频样本进行重采样时,信号处理电路1320可以对音频样本的多个样本集合进行重采样。

在一些实施方式中,在执行用于实现一个或多个音频效果的物理模拟时,模拟电路1310可以模拟与在虚拟现实环境中用户经历的多普勒效应有关的物理学,以获得关于每个音频样本的频率偏移类型和偏移程度的信息。在一些实施方案中,在执行信号处理时,信号处理电路1320可以通过根据每一音频样本的相应的频率偏移类型和相应的偏移程度,对音频样本进行重采样,来修正音频样本。

在一些实施方式中,在执行用于实现一个或多个音频效果的物理模拟时,模拟电路1310可以模拟一个或多个声源的一个或多个行为以及用户的一个或多个行为沿时间轴随着时间的改变。

在一些实施方式中,在模拟一个或多个声源的一个或多个行为以及用户的一个或多个行为沿时间轴随着时间的改变时,模拟电路1310可以执行多个的任务以实现在虚拟现实环境中用户经历的多普勒效应。例如,模拟电路1310可以生成音频样本的样本波前。另外,模拟电路1310可以扩展样本波前。另外,模拟电路1310可以基于在虚拟现实环境中在用户附近观察到的样本波前中的相应一个,来确定每个音频样本的频率偏移类型和偏移程度。对于一个或多个声源中的每个声源,信号处理电路1320可以根据相应的频率偏移类型和相应的偏移程度来对每个音频样本重采样,以提供重采样的音频样本。此外,对于一个或多个声源中的每个声源,信号处理电路1320可以通过对一个或多个音频效果进行滤波来对重采样的音频样本执行样本渲染,以提供最终样本。此外,信号处理电路1320可以混合来自一个或多个声源的最终样本以生成音频输出。在一些实施方式中,调度器(例如调度器510)可以根据来自定时器(例如,定时器520)的时间信息,来确定用于执行每个任务的时机并触发执行。

在一些实施方式中,在执行多个任务以实现在虚拟现实环境中用户经历的多普勒效应时,模拟电路1310可以执行多个操作。例如,模拟电路1310可以将每个任务的流程划分为相应的多个子流程,使得每个子流程对应于沿着时间轴的多个时间段中的相应时间段。另外,模拟电路1310可以根据在相应时间段期间一个或多个声源的运动和用户的运动来调整每个子流程。

在一些实施方式中,在模拟一个或多个声源的一个或多个行为以及用户的一个或多个行为沿时间轴随着时间的改变时,模拟电路1310可以通过执行多个操作,来执行多个任务,以实现在虚拟现实环境中用户经历的多普勒效应。例如,模拟电路1310可以将每个任务的流程划分为相应的多个子流程,使得每个子流程对应于沿着时间轴的多个时间段中的相应时间段。在每个时间段期间,模拟电路1310可以执行的操作包括:执行相应的子流程;确定是否要生成沿时间轴在时间上稍晚的一个或多个目标时间段的下一个子流程;响应于所述确定操作的肯定结果,生成所述下一个子流程;将所述下一个子流程插入到所述一个或多个目标时间段中;在所述一个或多个目标时间段到达时执行所述下一个子流程;基于与所述时间段的用户的运动相关的数据来更新所述用户的运动;以及基于与所述时间段的所述一个或多个声源的运动相关的数据来更新所述一个或多个声源中的每一个的相应运动。在一些实施方式中,可以并行执行用户的运动的更新和一个或多个声源中的每一个的相应运动的更新。

图14是根据本发明的实施方式的示例装置1400的框图。装置1400可执行各种功能以实施本文所述的关于虚拟现实的增强的音频效果实现的方案、技术、流程和方法,所述虚拟现实包括概念100、方案500和场景200、300、400、600、700、800、900、1000、1100和1200以及下面描述的流程1500。装置1400可以是电子装置的一部分,其可以是便携式或移动装置、可穿戴装置、无线通信装置或计算装置。例如,装置1400可以在智能电话、智能手表、个人数字助理、数字相机或例如平板计算机、膝上型计算机、笔记本计算机、台式计算机或服务器的计算装置中实现。装置1400还可以包括与本发明的所提出的方案不相关的一个或多个其他组件(例如,内部电源、通信装置、显示装置和/或用户接口装置),并且为了简洁和简洁起见,这样的组件在图14中均未示出,下面也未描述。例如,在一些实施方式中,装置1400可以是vr相关装置,并且还可以包括例如头戴式装置、听筒(或耳机)以及一个或多个传感器(例如,加速度计、陀螺仪、图像传感器、红外传感器、超声传感器等)。为了简洁起见,由于装置1400可以在各种应用中实现,所以这里未示出或描述这样的附加组件。

装置1400可以包括图14中所示的那些组件中的一个,一些或全部,例如处理器1410(例如,数字信号处理器(dsp)或应用处理器(ap))。装置1400还可以包括与本发明的所提出的方案不相关的一个或多个其他组件(例如,内部电源、通信装置、显示装置和/或用户接口装置),并且为了简洁和简洁起见,这样的组件在图14中均未示出,下面也未描述。处理器1410(在图14中标记为“dsp”,尽管处理器1410在各种实现中可以是不同类型的处理器)可以是处理器1305的示例实现。因此,与处理器1305及其组件相关的特征、功能和描述适用于处理器1410,并且在此不再重复以避免冗余。处理器1410可以通过利用如上面在场景600-1000中描述的时间轴1450来执行操作或以其它方式执行流程、子流程和/或任务。

在一些实施方案中,装置1400还可包括音频组件1420,其可表示来自处理器1410的输出音频样本的集合。虽然展示为与处理器1410相分离,但在一些实施方案中,音频组件1420可以位于处理器1410中。在一些其它实施方案中,音频组件1420可位于存储器或存储装置(未图示)中。附加地或可替代地,装置1400可以包括传感器集线器(sensorhub)1430和多个传感器1435(1)-1435(n)。例如,传感器1435(1)-1435(n)可以包括一个或多个加速度计和/或一个或多个陀螺仪,以感测用户的运动(例如,用户头部的运动),其可以表示为由用户佩戴的头盔的运动。传感器集线器1430可以从传感器1435(1)-1435(n)收集数据并且将收集的数据作为用户的运动的数据提供给处理器1410。有利地,使用例如用于传感器数据的传感器集线器1430和用于实现所提出的方案(例如,方案500)的dsp来作为处理器1410的低级单元(low-levelunits),可以减少通常与高级和低级计算单元之间的通信相关的延迟时间(latency)。在一些实现中,装置1400还可以包括并行执行流程/子流程的一个或多个并行计算单元1440(例如,多核处理器的一个或多个核)。

图15是根据本发明的实现的示例流程1500。关于根据本发明的用于虚拟现实的增强的音频效果实现,无论是部分地还是完全地,流程1500可以是概念100、方案500以及场景200、300、400、600、700、800、900、1000、1100和1200中的任一个的示例实现。流程1500可以表示装置1300和装置1400的特征的实现一方面。流程1500可以包括如方框1510、1520、1530和1540中的一个或多个所示的一个或多个操作、动作或功能。尽管表示为离散的方框,根据期望的实现,流程1500的各个方框可以被划分为额外的方框、组合成更少的方框或者被移除。此外,流程1500的方框可以以图15中所示的顺序来执行。或者,以不同的顺序来执行。流程1500可以由装置1300和/或装置1400来实施。仅为了说明的目的而非限制,流程1500在由装置1400实施的情况下,描述如下。流程1500可以从方框1510或方框1520开始。

在方框1510中,流程1500可以包括装置1400的处理器1410(例如,从传感器集线器1430)接收在虚拟现实环境中的数据。数据可以与来自一个或多个声源的音频样本、一个或多个声源的运动以及用户的运动相关。流程1500可以从方框1510前进到方框1520。

在方框1520中,流程1500可以包括处理器1410基于接收的数据执行物理模拟以实现一个或多个音频效果。流程1500可以从方框1520前进到方框1530。

在方框1530中,流程1500可以包括处理器1410使用物理模拟的结果来执行信号处理。流程1500可以从前进1530前进到前进1540。

在方框1540中,流程1500可以包括处理器1410使用信号处理的结果来生成音频输出(例如,输出到音频组件1420)。

在一些实施方式中,在执行用于实现一个或多个音频效果的物理模拟时,流程1500可以包括处理器1410执行多个操作。例如,流程1500可以包括处理器1410生成音频样本的样本波前、扩展样本波前、以及基于观察到的在虚拟现实环境中靠近用户的样本波前中的相应一个来确定每个音频样本的频率偏移类型和偏移程度。

在一些实施方式中,在执行信号处理时,流程1500可以包括处理器1410执行多个操作。例如,对于一个或多个声源中的每个声源,流程1500可以包括处理器1410根据相应的频率偏移类型和相应的偏移程度对每个音频样本进行重采样,以提供重采样的音频样本。此外,对于一个或多个声源中的每个声源,流程1500可以包括处理器1410通过对一个或多个音频效果进行滤波来对重采样的音频样本执行样本渲染,以提供最终样本。此外,流程1500可以包括处理器1410混合来自一个或多个声源的最终样本以生成音频输出。

在一些实施方案中,样本波前中的每一个可表示音频样本的相应样本集合。在这种情况下,在对每个音频样本进行重采样中,流程1500可以包括处理器1410对音频样本的多个样本集合进行重采样。

在一些实施方式中,在执行用于实现一个或多个音频效果的物理模拟时,流程1500可以包括处理器1410模拟与在虚拟现实环境中用户经历的多普勒效应有关的物理学,以获得关于每个音频样本的频率偏移类型和偏移程度。此外,在执行信号处理时,流程1500可以包括处理器1410通过根据每个音频样本的相应的频率偏移类型和相应的偏移程度来对音频样本进行重采样,来修正音频样本。

在一些实施方式中,频率偏移类型可以包括向上偏移或向下偏移。向上偏移可以归因于虚拟现实环境中的用户与一个或多个声源中的至少一个之间的距离的减小。向下偏移可以归因于在虚拟现实环境中的用户与一个或多个声源中的至少一个之间的距离增加。

在一些实施方式中,在执行用于实现一个或多个音频效果的物理模拟时,流程1500可以包括处理器1410模拟一个或多个声源的一个或多个行为以及用户的一个或多个行为沿时间轴随着时间的改变。

在一些实施方式中,在模拟一个或多个声源的一个或多个行为以及用户的一个或多个行为沿时间轴随着时间的改变时,流程1500可以包括处理器1410执行多个操作。例如,流程1500可以包括处理器1410执行多个任务以实现在虚拟现实环境中用户经历的多普勒效应。多个任务可以包括:生成音频样本的样本波前;扩展样本波前;基于在所述虚拟现实环境中在所述用户附近观察到的样本波前中的相应一个来确定每个所述音频样本的频率偏移类型和偏移程度;对于所述一个或多个声源中的每个声源,根据相应的频率偏移类型和相应的偏移程度对每个音频样本进行重采样,以提供重采样的音频样本;对于所述一个或多个声源中的每个声源,通过对所述一个或多个音频效果进行滤波来对所述重采样的音频样本执行样本渲染,以提供最终样本;以及混合来自所述一个或多个声源的最终样本以生成音频输出。可以使用调度器和定时器,使得调度器可以用于基于来自定时器的时间信息来确定用于执行每个任务的时机并触发执行。

在一些实施方式中,在执行多个任务以实现在虚拟现实环境中用户经历的多普勒效应时,流程1500可以包括处理器1410将每个任务的流程划分成相应的多个子流程,使得每个子流程对应于沿着时间轴的多个时间段中的相应时间段。另外,流程1500可以包括处理器1410根据在对应的时间段期间一个或多个声源的运动和用户的运动来调整每个子流程。

在一些实施方式中,在模拟一个或多个声源的一个或多个行为以及用户的一个或多个行为沿时间轴随时间的改变时,流程1500可以包括处理器1410执行多个任务以实现在虚拟现实环境中用户经历的多普勒效应。例如,流程1500可以包括处理器1410将每个任务的流程划分成相应的多个子流程,使得每个子流程对应于沿着时间轴的多个时间段中的相应时间段。在每个时间段期间,流程1500可以包括处理器1410执行多个操作,包括:执行相应的子流程;确定是否要生成沿时间轴在时间上较晚的一个或多个目标时间段的下一个子流程;响应于所述确定操作的肯定结果,生成所述下一个子流程;将所述下一个子流程插入到所述一个或多个目标时间段中;以及在所述一个或多个目标时间段到达时执行所述下一个子流程。在一些实施方式中,在每个时间段期间,流程1500可以包括处理器1410执行额外的操作,包括:基于与用户在时间段中的运动相关的数据更新用户的运动;以及基于与在所述时间段中的所述一个或多个声源的运动相关的数据,更新所述一个或多个声源中的每一个的相应运动。在一些实施方式中,可以并行执行用户的运动的更新和一个或多个声源中的每一个的相应运动的更新。

附注

本文中有时会描述不同的元件包括在其他不同的元件内,或同其他不同的元件相连接。应当理解的是,所描述的这种结构关系仅仅作为示例,事实上,也可以通过实施其他的结构以实现相同的功能。从概念上讲,任何可实现相同功能的元件的配置均是有效的“相关联的”,从而实现所需要的功能。因此,本文为实现某特定功能所组合的任意两个元件均可被看作是彼此“相关联的”,以此实现所需要的功能,而不管其架构或者中间元件如何。类似地,以这种方式相关联的任意两个元件也可被看作是彼此间“操作上相连接的”或“操作上相耦合的”,从而实现所需要的功能,并且,能够以这种方式相关联的任意两个元件还可被看作是彼此间“操作上可耦合的”,从而实现所需要的功能。操作上可耦合的具体实例包括但不限于物理上可配对的和/或物理上相互交互的元件、和/或无线地可交互的和/或无线地相互交互的元件、和/或逻辑上相互交互的和/或逻辑上可交互的元件。

此外,对于本文所使用的任何复数和/或单数形式的词语,本领域的技术人员可根据其语境和/或应用场景是否合适而将复数转换至单数和/或将单数转换至复数。为清晰起见,此处即对单数/复数之间的各种置换作出明确规定。

并且,本领域的熟练技术人员可以理解的是,一般地,本文所使用的词语,特别是所附权利要求如权利要求主体中所使用的词语通常具有“开放性”意义,例如,词语“包括”应该理解为“包括但不限于”,词语|“具有”应该理解为“至少具有”等等。本领域的熟练技术人员可进一步理解的是,若某权利要求意图将其引入的权利要求列举中某一具体的数值包括进来,那么这种意图将会明确地列举于该权利要求中,而如果没有列举的话,这种意图即不存在。为帮助理解,可举例如,下面的权利要求可能包括引导性短语的使用如“至少一个”和“一个或多个”来引入权利要求列举。然而,类似这种短语不应将该权利要求列举解释为:对不定冠词“一个”的引入意味着把包括这种引入权利要求列举的任何特定权利要求限制为仅包括一个这种列举的实施方式,甚至当同一权利要求包括引导性短语“一个或多个”或“至少一个”和不定冠词例如“一个”时同样符合这种情况,例如,“一个”应该解释为“至少一个”或“一个或多个”;同样的,使用定冠词来引入权利要求列举也是这样。另外,即使某一引入的权利要求列举中明确列举了一具体数值,本领域的熟练技术人员会认识到,这种列举应该理解为至少包括所列举的数值,例如,仅“两个列举”而没有任何其他限定时,其意味着至少两个列举,或者说两个或多个列举。此外,在某些情况下,如使用了类似“a、b和c等中的至少一个”,通常,本领域的熟练技术人员可以理解的是,如“具有a、b和c中至少一个的系统”将包括但不限于:只具有a的系统、只具有b的系统、只具有c的系统、具有a和b的系统、具有a和c的系统、具有b和c的系统,和/或具有a、b和c的系统等等。另外一些情况下,若使用了类似“a、b或c等中至少一个”,通常,本领域的熟练技术人员可以理解的是,如“具有a、b或c中至少一个的系统”将包括但不限于:只具有a的系统、只具有b的系统、只具有c的系统、具有a和b的系统、具有a和c的系统、具有b和c的系统,和/或具有a、b和c的系统等等。本领域的技术人员可进一步理解的是,无论是说明书、权利要求书或附图中所出现的几乎所有连接两个或多个替代性词语的析取词语和/或短语,均应理解为其考虑到了所有的可能性,即包括所有词语中某一个、两个词语中任一个或包括两个词语。例如,短语“a或b”应该理解为包括可能性:“a”、“b”或“a和b”。

上述内容已经描述了本发明的各个实施方式以对本发明作出解释,并且,可在不背离本发明的范畴和精神的情况下对各个实施方式做出多种修改。相应地,本文所公开的各个实施方式不应理解为具有限制意义,真实的范畴和精神通过所附权利要求进行限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1