用于可变采样速率的数字音频滤波器的制作方法

文档序号:11333775阅读:312来源:国知局
用于可变采样速率的数字音频滤波器的制造方法与工艺

相关申请的交叉引用

本申请要求2014年10月3日提交的标题为“用于可变采样速率的数字音频滤波器(digitalaudiofiltersforvariablesamplerates)”的美国专利申请系列号14/506,187的权益,该申请的全部内容通过引用并入本文。



背景技术:

在传统的音频再现中,数字音频滤波器针对特定采样速率被设计。如果音频被以与设计的采样速率不同的采样速率再现,则数字音频滤波器必须被重新设计,或者所应用的滤波器效果需要在频率上被缩放(scale)。因此将期望的是具有递送适于可变采样速率的灵活滤波器设计的方法和装置。



技术实现要素:

呈现了各种示例性实施例的简要综述。在以下综述中可以做出一些简化和省略,这意图强调和介绍各种示例性实施例的一些方面,而不是限制本发明的范围。足以使得本领域的普通技术人员可以做出和使用本发明的概念的对优选示例性实施例的详细描述将在后面的章节中接着进行。

各种示例性实施例涉及用于处理音频信号以影响音频信号的再现的方法和装置。该装置可以包括扬声器、耳机(外挂式、耳上式或入耳式)、麦克风、计算机、移动设备、家庭影院接收器、电视机、蓝光(bd)播放器、紧凑盘(cd)播放器、数字媒体播放器等。该装置可以被配置为接收包括具有设计采样速率的数字音频滤波器的虚拟化配置文件、将虚拟化配置文件重新采样到不同的采样速率、用重新采样的虚拟化配置文件对音频信号进行滤波、并且将滤波后的音频信号再现为声音。

各种示例性实施例进一步涉及一种用于处理音频信号以影响音频信号的再现的方法,该方法包括:将对虚拟化配置文件的请求发送到服务器计算机,其中,该请求指定用于虚拟化配置文件的被请求采样速率,并且其中,虚拟化配置文件限定数字音频滤波器;从服务器计算机接收具有被请求采样速率的虚拟化配置文件;并且通过执行音频信号与具有被请求采样速率的虚拟化配置文件的卷积来至少基于虚拟化配置文件对音频信号进行滤波。

在一些实施例中,虚拟化配置文件表示制作环境的声学模型。在一些实施例中,该方法进一步包括使音频信号通过音频换能器被再现为声音。

各种示例性实施例进一步涉及一种用于处理音频信号以影响音频信号的再现的方法,该方法包括:从服务器计算机请求虚拟化配置文件,其中,虚拟化配置文件限定数字音频滤波器;从服务器计算机接收具有设计采样速率的被请求虚拟化配置文件;响应于用于音频信号的需求采样速率和设计采样速率之间的差异,以需求采样速率对虚拟化配置文件重新采样;并且至少基于具有需求采样速率的虚拟化配置文件来对音频信号进行滤波。

在一些实施例中,对虚拟化配置文件重新采样包括:对虚拟化配置文件进行插值以获得连续时间带限脉冲响应(cbir)的表示;并且以需求采样速率对cbir重新采样。在一些实施例中,对音频信号进行滤波包括执行音频信号与具有需求采样速率的虚拟化配置文件的卷积。在一些实施例中,该方法进一步包括使音频信号通过对制作环境进行仿真(simulate)的音频换能器被再现为声音。

各种示例性实施例进一步涉及一种用于用虚拟化配置文件影响音频信号的再现的方法,该方法包括:存储具有设计采样速率的虚拟化配置文件,其中,虚拟化配置文件限定数字音频滤波器;从客户端设备接收对虚拟化配置文件的请求,其中,该请求指定用于虚拟化配置文件的被请求采样速率;计算机处理器响应于被请求采样速率和设计采样速率之间的差异,以被请求采样速率对存储的虚拟化配置文件重新采样;并且将具有被请求采样速率的虚拟化配置文件发送到客户端设备。

在一些实施例中,数字音频滤波器表示制作环境的声学模型,该声学模型包括有限脉冲响应(fir)滤波器、无限脉冲响应(iir)滤波器和反馈延迟网络(fdn)滤波器中的至少一个。在一些实施例中,虚拟化配置文件使音频信号通过对制作环境进行仿真的音频换能器被再现。在一些实施例中,虚拟化配置文件被存储为一系列定点值或浮点值的滤波器系数。在一些实施例中,对虚拟化配置文件重新采样包括:对虚拟化配置文件进行插值以获得连续时间带限脉冲响应(cbir)的表示;并且以被请求采样速率对cbir重新采样。在一些实施例中,以比设计采样速率低的采样速率对cbir重新采样导致更少的滤波器系数,并且以比设计采样速率高的采样速率对cbir重新采样导致更多的滤波器系数。在一些实施例中,该方法进一步包括将虚拟化配置文件缩放到不同的采样速率以实现主观的音频效果。

各种示例性实施例进一步涉及一种非暂时性计算机可读存储介质,该非暂时性计算机可读存储介质存储当被执行时使一个或多个处理器执行以下操作的计算机可执行指令,该操作包括:存储具有设计采样速率的虚拟化配置文件,其中,虚拟化配置文件限定数字音频滤波器;从客户端设备接收对虚拟化配置文件的请求,其中,该请求指定用于虚拟化配置文件的被请求采样速率;响应于被请求采样速率和设计采样速率之间的差异,以被请求采样速率对存储的虚拟化配置文件重新采样;并且将具有被请求采样速率的虚拟化配置文件发送到客户端设备。

在一些实施例中,数字音频滤波器表示制作环境的声学模型,该声学模型包括有限脉冲响应(fir)滤波器、无限脉冲响应(iir)滤波器和反馈延迟网络(fdn)滤波器中的至少一个。在一些实施例中,虚拟化配置文件使音频信号通过对制作环境进行仿真的音频换能器被再现。在一些实施例中,对虚拟化配置文件重新采样包括:对虚拟化配置文件进行插值以获得连续时间带限脉冲响应(cbir)的表示;并且以被请求采样速率对cbir重新采样。

各种示例性实施例进一步涉及一种用于处理音频信号的音频设备,该音频设备包括:通信接口,其被配置为将对虚拟化配置文件的请求发送到服务器计算机,其中,该请求指定用于虚拟化配置文件的被请求采样速率,并且其中,虚拟化配置文件限定对虚拟化环境进行仿真的数字音频滤波器;并且从服务器计算机接收具有被请求采样速率的被请求虚拟化配置文件;存储设备,其用于存储接收的虚拟化配置文件;以及处理器,其与存储设备和通信接口进行通信,该处理器被编程为通过执行音频信号与具有被请求采样速率的虚拟化配置文件的卷积来至少基于虚拟化配置文件对音频信号进行滤波。

各种示例性实施例进一步涉及一种用于处理音频信号的音频设备,该音频设备包括:通信接口,其被配置为从服务器计算机请求虚拟化配置文件,其中,虚拟化配置文件限定对虚拟化环境进行仿真的数字音频滤波器;并且从服务器计算机接收具有设计采样速率的被请求虚拟化配置文件;存储设备,其用于存储接收的虚拟化配置文件;以及处理器,其与存储设备和通信接口进行通信,该处理器被编程为:响应于用于音频信号的需求采样速率和设计采样速率之间的差异,以需求采样速率对虚拟化配置文件重新采样;并且至少基于具有需求采样速率的虚拟化配置文件来对音频信号进行滤波。

在一些实施例中,对虚拟化配置文件重新采样包括:对虚拟化配置文件进行插值以获得连续时间带限脉冲响应(cbir)的表示;并且以需求采样速率对cbir重新采样。在一些实施例中,对音频信号进行滤波包括执行音频信号与需求采样速率处的虚拟化配置文件的卷积。

附图说明

本文中所公开的各种实施例的这些及其他特征和优点参照以下描述和附图将被更好地理解,在附图中,相同的附图标记始终指代相同的部分,其中:

图1是示出根据一个实施例的用于基于云的数字音频虚拟化服务的示例环境100的高级框图。

图2是示出根据一个实施例的用于基于云的数字音频虚拟化服务的示例计算机系统的部件的框图。

图3是示出根据一个实施例的用于基于云的数字音频虚拟化服务的云服务器内的功能模块的框图。

图4a是示出根据一个实施例的以比设计采样速率低的速率进行的cbir重新采样的带限效果的框图。

图4b是示出根据一个实施例的以比设计采样速率高的速率进行的cbir重新采样的带限效果的框图。

图5是示出根据一个实施例的用于基于云的数字音频虚拟化服务的用户设备内的功能模块的框图。

图6是示出根据一个实施例的用于提供基于云的数字音频虚拟化的示例过程的详细交互图。

具体实施方式

下面结合附图阐述的具体实施方式意图作为本发明的目前优选的实施例的描述,而不意图表示本发明可以被构造或利用的唯一形式。该描述结合示出的实施例阐述了用于开发和操作本发明的功能和步骤序列。但是,要理解的是,相同的或等同的功能和序列可以通过也意图包含在本发明的精神和范围内的不同实施例来实现。进一步理解的是,诸如第一和第二之类的关系术语的使用仅用来将一个实体与另一实体区分,而不一定需求或暗示这样的实体之间的任何实际的这样的关系或次序。

声波是由物体的振动引起的通过可压缩介质(诸如空气)传播的一种类型的压力波。声波周期性地使介质(例如空气)中的物质(matter)位移,使该物质振荡。声波的频率描述一段时间段内的完整周期(cycle)的数量,并且以赫兹(hz)为单位表达。12hz至20,000hz频率范围内的声波对于人类是可听的。

本申请涉及用于处理音频信号(也就是说,表示物理声音的信号)的方法和装置。这些信号可以由数字电子信号表示。在下面的讨论中,模拟波形可以被示出或者被讨论以示出概念;但是,应理解的是,本发明的典型实施例可以在数字字节(byte)或字(word)的时间系列的上下文下操作,所述字节或字形成模拟信号或(最终地)物理声音的离散近似。离散数字信号可以对应于周期性地采样的音频波形的数字表示。如本领域中已知的,对于均匀采样,波形可以以至少足以满足用于感兴趣频率的奈奎斯特(nyquist)采样定理的速率被采样。例如,在典型的实施例中,可以使用近似44.1khz的均匀采样速率。可替代地可以使用更高的采样速率,诸如96khz或192khz。根据本领域中众所周知的原理,可以选择量化方案和位分辨率以满足特定应用的需求。本发明的技术和装置通常将被独立地应用于若干个信道(channel)中。例如,它可以被用于“环绕”音频系统(其具有多于两个信道)的上下文中。

如本文中所使用的,“数字音频信号”或“音频信号”不描述单纯数学抽象,而是意指能够由机器或装置检测的物理介质中所包含的或由该物理介质所携带的信息。该术语包括记录的或发送的信号,并且应被理解为包括通过任何形式的编码(包括脉冲编码调制(pcm),但不限于pcm)的输送(conveyance)。输出或输入或者事实上中间音频信号可以用各种已知方法(包括mpeg、atrac、ac3、或如美国专利5,974,380、5,978,762和6,487,535中所描述的dts,inc.的专有方法)中的任何一种来编码或压缩。如对于本领域技术人员将清楚的是,计算的一些修改可能被要求适应该特定压缩或编码方法。

本发明可以在消费者电子设备(诸如数字视频盘(dvd)或蓝光盘(bd)播放器、电视(tv)调谐器、紧凑盘(cd)播放器、手持播放器、互联网音频/视频设备、游戏控制台、移动电话等)中实现。消费者电子设备包括中央处理单元(cpu)或数字信号处理器(dsp),cpu或dsp可以表示一种或多种常规类型的这样的处理器,诸如ibmpowerpc、intelpentium(x86)处理器等。随机存取存储器(ram)暂时存储由cpu或dsp执行的数据处理操作的结果,并且通常经由专用存储器信道互连到cpu或dsp。消费者电子设备还可以包括也通过i/o总线与cpu或dsp进行通信的永久存储设备,诸如硬盘驱动器。其他类型的存储设备(诸如磁带驱动器和光学盘驱动器)也可以被连接。显卡(graphicscard)也经由视频总线连接到cpu,并且将表示显示数据的信号发送到显示监视器。外设数据输入设备(诸如键盘或鼠标)可以通过usb端口连接到音频再现系统。usb控制器为连接到usb端口的外设转译(translate)到cpu和来自cpu的数据和指令。附加设备(诸如打印机、麦克风、扬声器等)可以连接到消费者电子设备。

消费者电子设备可以利用具有图形用户界面(gui)的操作系统,诸如华盛顿州雷德蒙德的microsoft公司的windows、加利福尼亚州库比蒂诺的apple公司的macos、被设计用于移动操作系统(诸如android)的各种版本的移动gui等。消费者电子设备可以执行一个或多个计算机程序。一般来说,操作系统和计算机程序被有形地包含在计算机可读介质(例如,固定的和/或可移动的数据存储设备(包括硬盘驱动器)中的一个或多个)中。操作系统和计算机程序两者都可以从前述数据存储设备被加载到ram中以用于由cpu执行。计算机程序可以包括当被cpu读取和执行时使cpu进行用以执行本发明的步骤或特征的步骤的指令。

本发明可以具有许多不同的配置和架构。在不违背本发明的范围的情况下,任何这样的配置或架构可以被容易地替代。本领域的普通技术人员将认识到上述序列在计算机可读介质中被最普遍地利用,但是存在可以在不违背本发明的范围的情况下被替代的其他现存序列。

本发明的一个实施例的元件可以用硬件、固件、软件或它们的任何组合来实现。当被实现为硬件时,音频编解码器可以被运用在一个音频信号处理器上,或者被分布在各种处理部件之间。当用软件实现时,本发明的实施例的元件可以是用以执行各种任务的代码段。软件可以包括用以实施本发明的一个实施例中所描述的操作的实际代码、或可以模仿或仿真该操作的代码。程序或代码段可以存储在处理器或机器可访问介质中,或者可以通过传输介质用载波中所包含的计算机数据信号或用由载波调制的信号发送。“处理器可读或可访问介质”或“机器可读或可访问介质”可以包括被配置为存储、发送或传递信息的任何介质。

处理器可读介质的示例可以包括电子电路、半导体存储器设备、只读存储器(rom)、闪存、可擦除rom(epom)、软盘、紧凑盘(cd)rom、光盘、硬盘、光纤介质、射频(rf)链路等。计算机数据信号包括可以通过传输介质(诸如电子网络信道、光纤、空气、电磁、rf链路等)传播的任何信号。代码段可以经由计算机网络(诸如互联网、内联网等)下载。机器可访问介质可以包含在制造品中。机器可访问介质可以包括当被机器访问时可以使机器执行下面描述的操作的数据。术语“数据”在这里是指可以为了机器可读的目的被编码的任何类型的信息。因此,它可以包括程序、代码、数据、文件等。

本发明的实施例的全部或部分可以用软件实现。软件可以具有彼此耦合的几个模块。软件模块可以耦合到另一个模块以接收变量、参数、自变量、指针等和/或以生成或传送结果、更新的变量、指针等。软件模块也可以是与在平台上运行的操作系统交互的软件驱动器或接口。软件模块也可以是用以配置、设置、初始化数据、向硬件设备发出数据和接收来自硬件设备的数据的硬件驱动器。

本发明的一个实施例可以被描述为通常被描绘为流程表、流程图、结构图或框图的过程。虽然框图可以将操作描述为顺序过程,但是这些操作中的许多可以并行地或并发地执行。另外,操作的次序可以被重新布置。当过程的操作完成时,该过程可以被终止。过程可以对应于方法、程序、进程等。

概述

本发明的实施例提供用于基于云的数字音频虚拟化的系统和方法。该方法和系统是围绕被配置为聚合、管理和分布音频内容的虚拟化配置文件的云计算平台组织的。虚拟化配置文件一般是从制作环境的声学测量得出的,并且被上载到云服务器。当收听者用用户设备回放某个音频内容时,用户设备可以从云服务器请求对应的虚拟化配置文件,并且将虚拟化配置文件应用于音频内容以再现具有期望制作性质的音频内容。

图1是示出根据一个实施例的用于基于云的数字音频虚拟化服务的示例环境100的高级框图。服务环境100包括测量房间110、测量服务器112、云服务器120、网络140以及用户设备160。测量服务器112、用户设备160和云服务器120之间的通信由网络140启用。网络140通常是构建在互联网上的内容递送网络(cdn),但是可以包括任何网络,该任何网络包括但不限于lan、man、wan、移动有线或无线网络、私有网络或虚拟私有网络。

对虚拟化配置文件的声学测量可以在包含高保真度的音频装备的房间(例如,混合工作室或收听房间)中进行。房间可以包括多个扩音器,并且扩音器可以按传统的扬声器布局(诸如立体声、5.1、7.1、11.1或22.2布局)布置。也可以使用其他非标准或定制扬声器布局或排列。图1中所示的测量房间110包含传统的5.1环绕布置,该布置包括左前扩音器、右前扩音器、中心前置扩音器、左环绕扩音器、右环绕扩音器以及次低音扬声器(subwoofer)。虽然具有环绕扩音器的混合工作室被作为示例提供,但是测量可以在包含一个或多个扩音器的任何期望位置中进行。

房间声学测量在测量服务器112的控制下实施。例如,测量服务器112可以将一个或多个测试信号发出到测量房间110内部的一个或多个扩音器。测试信号可以包括频率扫描或啁啾信号(chirpsignal)。可替代地或另外地,测试信号可以是噪声序列,诸如golay码或最大长度序列。声学测量可以通过将测量装置放置在最佳的收听定位(诸如制作者的椅子)中来获得。测量装置可以是独立式麦克风、放置在仿制头(dummyhead)内的双耳麦克风、或放置在测试主体的耳朵内的双耳麦克风。当每个扩音器播放测试信号时,测量装置可以记录在收听定位处接收的音频信号,并且将测量数据传递到服务器112。测量服务器112可以根据记录的音频信号对每个扬声器位置和测量装置的每个麦克风生成房间测量配置文件。附加房间测量可以在房间中的其他位置或方位处(例如,在“绝佳点(sweetspot)外”定位处)进行。“绝佳点外”测量可以帮助确定测量房间110对于不在最佳收听定位中的收听者的声学,或者帮助改进包括最佳收听定位的房间空间的声学模型。

在一个实施例中,由测量服务器112生成的虚拟化配置文件可以被分成数字音频滤波器(诸如头部相关传递函数(hrtf)和双耳房间脉冲响应(brir))、和/或房间均衡化(eq)或其他独立建模的特性(诸如早期房间响应或后期混响(reverberation))。hrtf和brir滤波器表征测量装置怎样独立于房间的声学效果从每个扩音器接收声音。早期房间响应表征在来自每个扩音器的声音反射远离房间表面之后的早期反射,而后期混响表征早期反射之后房间里的声音。hrtf和brir滤波器可以被数字化并且被存储为音频滤波器系数,并且房间eq可以由重新创建房间的声学的声学模型表示。类似地,早期和后期混响可以被数字化为用于仿真的音频滤波器系数或声学模型。hrtf或brir滤波器、房间eq和其他声学模型都可以作为虚拟化配置文件的一部分被发送和/或存储。

测量服务器112可以在将虚拟化配置文件上载到云服务器120之前处理虚拟化配置文件。除了其他处理工作之外,由测量服务器112对虚拟化配置文件的处理包括但不限于验证、聚合、概述、归类(sort)、编码、加密和压缩。然后,由测量服务器112处理的虚拟化配置文件被上载到云服务器120以用于分布。云服务器120维护虚拟化配置文件,该虚拟化配置文件包括一个或多个测量房间和每个测量房间内的一个或多个收听定位的全房间测量数据和/或hrtf滤波器系数、早期房间响应参数以及后期混响参数。虚拟化配置文件可以进一步包括其他信息,诸如耳机频率响应信息、耳机识别信息、所测量的扩音器布局信息、回放模式信息、测量位置信息、测量装备信息和/或许可/所有权信息。

云服务器120存储、管理和分布用于相关联的音频内容的虚拟化配置文件。虚拟化配置文件可以作为被包括在基于声道的或基于对象的音频位流中的元数据而被存储和分布。在这种情况下,虚拟化配置文件可以被嵌入或复用在音频内容的文件头中或者音频文件或帧的任何其他部分中。虚拟化数据还可以在音频位流的多帧中重复。可替代地或另外地,虚拟化配置文件可以作为独立的数据包与相关联的音频内容分开地被请求和下载。虚拟化配置文件可以与被请求音频内容一起被传递到用户设备160或者可以与音频内容分开传递。

当虚拟化配置文件由用户设备160针对某个音频内容请求时,云服务器120可能需要在将虚拟化配置文件发送到用户设备160之前处理虚拟化配置文件。除了其他处理工作之外,云服务器120处的虚拟化配置文件的处理包括但不限于搜索、排名(ranking)、解码、解密、重新采样和解压缩。例如,在从用户设备160接收到对虚拟化配置文件的请求之后,云服务器120可以搜索与标识符、相关联的音频内容或请求中的任何其他的识别信息匹配的虚拟化配置文件。在多于一个的虚拟化配置文件被找到的情况下,云服务器120可以对搜索结果进行排名,和/或将配置文件的列表发出到用户设备160以用于选择。如果被请求虚拟化配置文件被编码、加密或压缩,则云服务器120可以应用户设备160的请求对虚拟化配置文件进行解码、解密或解压缩。

在一些实施例中,存储在云服务器120处的虚拟化配置文件由测量服务器112以设计采样速率(例如,48khz)测量。如果用户设备160请求具有与设计采样速率不同的被请求采样速率的虚拟化配置文件,则云服务器120可能需要响应于该请求对虚拟化配置文件重新采样。下面参照图4来进一步描述重新采样过程的细节。在替代实施例中,如果期望如此,并且由用户设备160在请求时指示,则虚拟化配置文件的重新采样也可以由用户设备160执行。

用户设备160是可以用对应的虚拟化配置文件计算、传达(communicate)和渲染音频信号的任何回放或附属设备。用户设备160包括例如耳机162、智能电话164和膝上型计算机164。虽然在图1中仅示出了三个用户设备162、164和166,但是任何数量的用户设备160(诸如个人计算机(pc)、平板pc、移动设备、机顶盒(stb)、web设备、网络路由器、交换机或桥接器(bridge)、或音频/视频系统)可以与云服务器120进行通信以获取用于虚拟化回放的虚拟化配置文件。在一个实施例中,用户可以与云服务器120上的账户相关联,并且由用户下载/购买的虚拟化配置文件可以通过与用户账户相关联的全部用户设备使用。

在一个实施例中,当音频内容开始在用户设备上播放时,音频内容可以包括在其位流中的标志,该标志向用户设备指示云服务器120处的用于下载/购买的可用虚拟化配置文件。一旦虚拟化配置文件被下载,用户设备就可以处理该虚拟化配置文件,例如,对虚拟化配置文件重新采样以与用户设备处的数字音频采样速率匹配。然后,处理后的虚拟化配置文件被应用来为了虚拟化收听体验而对音频内容进行滤波。例如,音频内容可以在混合工作室(例如,测量房间110)中被处理,允许音频制作者测量终端用户听到的空间化耳机混合。继而,耳机162可以从云服务器120下载并且存储由测量服务器112根据对音频内容的测量而生成的虚拟化配置文件。如果耳机162将虚拟化配置文件应用于音频内容,则被测量的房间的声学和扩音器位置将被重新创建,并且音频内容将听起来类似于通过被测混合工作室中的扩音器回放的音频。

计算机架构

图2是示出示例计算机的部件的框图,该示例计算机能够从计算机可读介质读取指令并且在处理器(或控制器)中执行它们以实现所公开的用于基于云的数字音频虚拟化服务的系统。具体地,图2示出了计算机200的以示例形式的机器的图解表示,在计算机200内,用于使计算机执行本文中所讨论的方法中的任何一种或多种的指令235(例如,软件)可以被执行。在各种实施例中,计算机作为独立的设备操作,或者被连接(例如,联网)到其他计算机进行操作。在联网部署中,计算机可以以服务器-客户端网络环境中的服务器机器或客户端机器的身份(capacity)进行操作,或者作为对等(或分布式)网络环境中的对等机器进行操作。

计算机200是用作图1中所示的基于云的数字音频虚拟化环境100中的测量服务器112、云服务器120和用户设备160的这样的示例。示出了耦合到芯片组212的至少一个处理器210。芯片组212包括存储器控制器集线器(hub)214和输入/输出(i/o)控制器集线器216。存储器220和图形适配器240耦合到存储器控制器集线器214。存储单元230、网络适配器260和输入设备250耦合到i/o控制器集线器216。计算机200适于执行用于提供本文中所描述的功能的计算机程序指令235。在图2中所示的示例中,可执行计算机程序指令235被存储在存储单元230上,被加载到存储器220中,并且被处理器210执行。计算机200的其他实施例可以具有不同的架构。例如,在一些实施例中,存储器220可以直接耦合到处理器210。

处理器210包括一个或多个中央处理单元(cpu)、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、射频集成电路(rfic)或这些的任何组合。存储单元230包括非暂时性计算机可读存储介质232,该非暂时性计算机可读存储介质232包括固态存储器设备、硬盘驱动器、光盘或磁带。在由计算机200执行指令235期间,指令235也可以完全地或至少部分地驻存在存储器220内或处理器210的高速缓存存储器内,存储器220和处理器210也构成计算机可读存储介质。指令235可以经由网络接口260通过网络140被发送或接收。

输入设备250包括键盘、鼠标、轨迹球、或可以用于将数据输入到计算机200中的其他类型的字母数字和指向设备。图形适配器212在一个或多个显示设备(诸如监视器和投影仪(未示出))上显示图像和其他信息。网络适配器260将计算机200耦合到网络(例如,网络140)。计算机200的一些实施例具有与图2中所示的部件不同的部件和/或其他的部件。计算机200的类型可以依赖于实施例和期望处理能力而变化。此外,虽然只有单个计算机被示出,但是术语“计算机”应该也可看作包括独立地或联合地执行指令235以执行本文中所讨论的方法中的任何一种或多种的计算机的任何集合。

虚拟化配置文件重新采样

云服务器120存储由测量服务器112上载的虚拟化配置文件,并且通过网络140将虚拟化配置文件分布到用户设备160。图3是示出用于基于云的数字音频虚拟化服务的云服务器120内的功能模块的框图。在一个实施例中,云服务器120包括配置文件管理器310、配置文件数据库320、配置文件处理模块330以及网络接口340。如本文中所使用的,术语“模块”是指用于提供一个或多个指定功能的硬件和/或软件单元。因而,模块可以用硬件、软件或固件或它们的组合来实现。云服务器120的其他实施例可以包括不同的和/或更少的或更多的模块。

配置文件管理器310接收由测量服务器112上载的测量数据305。测量数据305可以包括原始房间测量和/或由测量服务器112处理的虚拟化配置文件。配置文件管理器310还可以在将处理后的测量数据305存储在配置文件数据库320中之前对测量数据305进行验证、编码、加密和压缩。例如,房间响应测量(例如,房间110)可以以192khz被采样,并且由测量服务器112和/或配置文件管理器310使用64位模数转换器(a/d)编码。然后,得出的滤波器系数作为与测量房间110相关联的虚拟化配置文件被存储在配置文件数据库320处。

当被存储在配置文件数据库320处时,虚拟化配置文件可以由唯一标识符(诸如md5校验和或由其他哈希(hash)函数生成的任何哈希值)被编排索引和检索。虚拟化配置文件的唯一标识符也可以从其他识别信息(诸如测量房间信息、所测量的扩音器布局信息、测量位置信息、测量装备信息、相关联的音频内容标识符和/或许可和所有权信息)得出。虚拟化配置文件标识符可以由配置文件管理器310生成或者从测量服务器112接收。除了虚拟化配置文件之外,配置文件数据库320还可以存储其他音频制作配置文件,诸如回放设备配置文件和收听者听力配置文件。

来自用户设备160的对虚拟化配置文件的请求由网络接口340处置。配置文件请求335可以包括被请求虚拟化配置文件的识别信息。例如,请求335可以指定唯一配置文件标识符或其他识别信息(诸如相关联的音频内容、测量房间和/或制作或许可所有者)。配置文件请求335可以进一步指定被请求虚拟化配置文件的参数,诸如采样速率、a/d长度和位速率。请求335可以由用户设备160基于预先配置的用户设备配置文件和/或用户偏好自动生成。可替代地或另外,网络接口340可以将图形用户界面(gui)(诸如网页)提供给用户设备160并且提示用户事先或动态(onthefly)填写被请求虚拟化配置文件的识别信息或其他参数。

在一些实施例中,网络接口340将对虚拟化配置文件的请求传送给配置文件管理器310,配置文件管理器310从配置文件数据库320搜索被请求配置文件。然后搜索结果被转发到配置文件处理模块330。搜索结果可以包括多于一个虚拟化配置文件,例如,多个房间的测量的配置文件的列表。配置文件处理模块330可以从搜索结果选择一个或多个配置文件并且将所得出的虚拟化配置文件传送到网络接口340,网络接口340将虚拟化配置文件作为对配置文件请求335的响应345发送回请求用户设备160。在一些实施例中,除了其他偏好数据之外,配置文件数据库还可以记录虚拟化配置文件的类型、请求数量。这可以允许云服务器基于使用历史向用户提供定制推荐。

在一个实施例中,配置文件处理模块330帮助选择哪个房间的声学应被返回到请求用户。例如,用户可以优选要用最类似于他/她的当前房间的声学的虚拟化配置文件被处理的音频内容。在这种情况下,配置文件处理模块330可能需要与客户端设备160进行通信以用于用一个或多个测试对用户的房间进行声学测量。例如,用户可以在当前房间中拍他/她的手,并且拍手被记录并被处理以确定房间的声学参数。可替代地或另外,其他环境声音(诸如语音)可以被分析。测试可以或者由云服务器120处理或者在客户端设备160处被处理。在替代实施例中,配置文件处理模块330可以简单地用一个或多个虚拟化配置文件对用户请求进行响应,并且让请求用户选择。

在许多场合中,用户可以请求具有与被测量服务器112捕获和/或被存储在配置文件数据库320处的设计采样速率不同的采样速率的虚拟化配置文件或滤波器。一种解决方案是设计具有要被动态自动执行的简单操作的滤波器,诸如无限脉冲响应(iir)巴特沃斯(butterworth)滤波器。但是,这样的“简单的”设计经常需求跨全部平台不一致的或不能以足够高精度使用的操作(例如,正弦/余弦或对数)。该精度缺乏在与定点系统耦合时进一步加重。对于从所测量的房间响应得出的基于云的虚拟化滤波器(例如,hrtf、brir和房间eq),可能不存在足够的测量数据以在运行时环境中检索需要的采样速率。

另一个选择是离线设计全部可能的采样速率处的滤波器,并且通过对可能需要的每个采样速率预测和测量房间响应来将滤波器存储在数据库中。该方法可能消耗大量存储器和储存器,因为需要多个滤波器并且每个滤波器具有若干个采样速率,使得它尤其是对嵌入式系统是不可接受的。第三个选择是以相同采样速率分布音频内容和滤波器两者。但是,需求跨各种软件平台的许多音频应用全部以特定采样速率处理数字音频和滤波器是不现实的。固定音频采样速率还可以引起可移植性问题和许可问题。除了其他物料成本清单之外,就计算资源(诸如cpu能力、存储器消耗和电池寿命)来说,让终端用户使他们的全局音频路径达到(clock)固定采样速率的要求可能是过高的。

优选解决方案是设计包含适合于任何采样速率的频谱分辨率并且自动地动态适应任何回放速率的滤波器。众所周知的是,被采样信号被带限到采样速率(即,nyquist频率)的一半。香农(shannon)的采样定理也建议,如果采样速率高于nyquist频率,则可以通过在被采样值之间插值来准确地且唯一地重构原始信号。因此,以nyquist-shannon采样定理为基础进行操作的带限插值方法提供根据房间测量、而不是仅在设计采样速率处的“滤波器系数”来再现连续时间、但带限的脉冲响应的手段。

在一个实施例中,配置文件处理模块330对虚拟化配置文件重新采样以与被请求采样速率匹配。虚拟化配置文件的重新采样涉及对虚拟化配置文件(诸如hrtf和brir滤波器)应用插值来获得连续带限脉冲响应(cbir)。然后插值后的cbir在发送到用户设备160之前被以被请求采样速率重新采样。如果存储空间允许,则插值后的cbir和重新采样的虚拟化配置文件可以被云服务器120存储和/或高速缓存以用于进一步使用。结果,该方法允许滤波器被设计一次并且以后在不依赖于可能由于不同实现而有所偏离的任何特殊函数的情况下被调整到任何被请求采样速率。这样的设计不仅维护了跨各种平台一致的音频保真度,而且还同时使存储器占用空间最小化并且允许在用户设备处进行可缩放的处理。

带限插值完美地配合(fit)音频滤波器设计选择,因为感兴趣的音频频率位于20hz-20khz的可听范围内。为了在“连续时间”内对音频滤波器进行测量或建模,人们只需要以40khz或更高的频率对脉冲响应进行采样以使专用于滤波器抽头的存储器和/或存储空间最小化。在运行时,这些滤波器抽头可以被插值并且以任何速率被重新采样以覆盖感兴趣频谱。例如,如果插值后的cbir以比设计采样速率高的速率被重新采样,则传送cbir的输入音频信号在滤波器的原始nyquist频率(即,20khz)处被自动地“带限”。但是在重新采样速率较低的情况下,带限插值有效地变成截止频率在较低的重新采样速率的nyquist频率处的、对于cbir的低通滤波器。在后一种情况下,对于较高频的滤波器规范的丢失是可接受的,因为这些频率不在最初被处理的输入音频信号中。

图4a是示出根据一个实施例的以比设计采样速率低的速率进行cbir重新采样的带限效果的图。如图4a中所示,脉冲响应原型400是存储在配置文件数据库320处的具有设计采样速率rd的虚拟化配置文件。音频输入401具有采样速率rl,其中rl<rd。配置文件处理模块330首先对脉冲响应原型400进行插值405以获得cbir410,cbir410随后被重新采样407以产生具有目标采样速率rl的脉冲响应420。音频输出422是通过重新采样的脉冲响应420对音频输入401进行滤波的结果。清楚的是,音频输出422具有与由cbir滤波的理想的音频输出412相比较窄的带宽。该过程演示了基于对由插值后的cbir所表示的理想滤波器的连续脉冲响应进行采样的有限脉冲响应(fir)设计技术。

类似地,图4b是示出根据一个实施例的以比设计采样速率高的速率进行cbir重新采样的带限效果的图。在图4b中,音频输入402具有采样速率rh,其中rh>rd。配置文件处理模块330对插值后的cbir410重新采样409以产生具有目标采样速率rh的脉冲响应430。音频输出432是通过重新采样的脉冲响应430对音频输入402进行滤波的结果。得出的音频输出422在原始脉冲响应的原始nyquist频率处被带限。可替代地,另外的带宽扩展技术可以被应用以重新采样脉冲响应430,这可以使音频输出432的音频带宽扩展到由音频输入402的rh限定的音频带宽。但是,当足够的原型400被捕获时,这一般不是必需的。

返回参照图3。在一个实施例中,测量服务器112和/或配置文件数据库320可以具有用于每个虚拟化配置文件(例如,脉冲响应原型)的有限存储器块或存储空间。例如,可以针对1k或1024抽头的固定长度对配置文件或滤波器进行优化。另一方面,在某个时间量内对滤波器进行测量和采样。在设计速率的一半处,仅有一半数量的抽头将被采样,而在两倍设计速率处,将有两倍数量的抽头被记录。因此优选的是以最高的可能速率设计滤波器,该滤波器配合固定的滤波器块长度。如果以较低速率采样滤波器,则剩余的存储器空间将被填充零抽头。

注意,因为它们不依靠反馈,所以fir滤波器(包括通过带限插值重新采样的那些)是固有地稳定的,并且对单个的滤波器系数中的小误差是相对容许的。因此,该方法适合于各种分辨率和定点实现的应用。但是,像任何操作那样,累积误差最终可能积累(accrue)音频应用中的可听噪声。这样,优选的是对于每个插值和重新采样操作总是参考存储在配置文件数据库320中的原始滤波器系数。

带限插值适合于对音频重新采样,特别是因为它重构在给定点处采样的信号,而不是通过或围绕采样点逼近信号。在一个实施例中,利用移动sinc函数来对脉冲响应原型进行插值;sinc函数用作带限低通滤波器。在实践中,因为将每个采样评估到无限大的理想的sinc不存在,所以可以改为使用特殊的加窗sinc函数。一般来说,用控制阻带衰减和通带转变宽度之间的权衡的kaiser窗来实现这一点。通过组合该窗和sinc函数,可以构造高效的表格实现,该表格实现通过采样速率之间的相对时间步长(timestep)编排索引。

在一个实施例中,配置文件处理模块330还提供受控频率缩放。例如,高频谐振的缩放可以给予hrtf与耳朵大小和/或形状大致相关联的个性化效果。为了实现该效果,用相对于真实的音频采样速率的因子来调整滤波器的采样速率。因子1(即,等于真实的音频速率)意指没有缩放。小于1的因子缩放在频率上较高的频谱特征,而大于1的因子缩放在频率上较低的频谱特征。频率缩放反映了由滤波器和信号的采样速率之间的差异引起的在时域中的脉冲响应的压缩或扩张。

图5是示出用于基于云的数字音频虚拟化服务的耳机162内的功能模块的框图。在一个实施例中,耳机162包括网络接口510、配置文件数据库520、配置文件处理模块530以及音频处理器540。如本文中所使用的,术语“模块”是指用于提供一个或多个指定功能的硬件和/或软件单元。因而,模块可以用硬件、软件或固件或它们的组合来实现。耳机162仅仅是可以包括不同的和/或更少的或更多的功能模块的许多用户设备160(例如,智能电话163、膝上型计算机166、个人音频播放器、a/v接收器、电视机或能够播放音频和接收用户输入的任何其他的设备)的一个示例。在一些实施例中,耳机162可以耦合到包括本文中所描述的模块中的部分或全部的另一回放设备。

耳机162经由网络接口510与云服务器120通信,网络接口510可以是有线的或无线的。耳机162可以与用于云服务器120处的音频虚拟化服务的唯一用户账户相关联。用户账户可以包括关于耳机162的用户的信息,诸如用户的识别信息、用户的听力配置文件和/或回放设备配置文件以及其他用户偏好。网络接口510将对虚拟化配置文件的用户请求325转发到云服务器120,并且从云服务器120接收包括一个或多个虚拟化或房间测量配置文件的响应345。由网络接口510接收的虚拟化配置文件可以与用户账户相关联,并且被传送给配置文件存储器520以用于使用和存储。虚拟化配置文件可以被嵌入音频内容的元数据中而发送到耳机162或者可以与音频内容分开发送到耳机162。

在虚拟化配置文件与音频内容分开获取的情况下,当用户试图回放一些音频内容时,耳机162可以事先或动态地与云服务器120通信以确定一个或多个虚拟化配置文件是否与音频内容相关联或意图用于音频内容。因此,虚拟化配置文件可以在接收音频内容之前、在接收音频内容之后或者在接收音频内容期间被接收。一旦包括一个或多个虚拟化配置文件的响应345在网络接口510处被下载,配置文件处理模块530就可以对虚拟化配置文件进行处理,并且音频处理器540对音频内容应用虚拟化配置文件。在一个实施例中,在下载的配置文件以后再次被需要的情况下,它们可以在回放之后被存储在配置文件存储器520中。

在一些实施例中,下载的虚拟化配置文件包括重新采样的房间测量配置文件,诸如被重新采样以与音频内容的采样速率匹配的hrtf滤波器系数。在这种情况下,虚拟化配置文件的插值和重新采样由云服务器120应耳机162的指示音频内容的目标采样速率的请求而执行。然后配置文件存储器520将虚拟化配置文件传送到音频处理器540,音频处理器540通过执行音频内容与下载的虚拟化配置文件的直接卷积来对音频内容进行处理。另外,如果虚拟化配置文件包括早期房间响应参数和后期混响参数,则配置文件处理模块530可以创建测量房间110的声学模型并且将该声学模型转发到音频处理器以对音频内容进行处理。在这种情况下,可以由音频处理器540将早期房间响应参数和后期混响参数与音频内容卷积。

可替代地,耳机162或任何其他用户设备可以从云服务器120请求没有任何处理的、设计采样速率处的原始虚拟化配置文件,诸如hrtf滤波器系数。在原始虚拟化配置文件在网络接口510处被接收到并且被存储在配置文件存储器520处之后,配置文件处理模块530可以在本地对虚拟化配置文件进行处理。例如,如果原始虚拟化配置文件的设计采样速率不同于音频内容的目标采样速率,则配置文件处理模块530首先需要对原始hrtf和brir滤波器执行插值,以获得连续带限脉冲响应(cbir)。然后插值后的cbir在传送到音频处理器之前被以目标采样速率重新采样。如果必需的话,重新采样的滤波器系数还可以被配置文件存储器520存储和/或高速缓存。

在一些实施例中,配置文件处理模块530和音频处理器540可以在回放时和/或在回放时间之前对虚拟化配置文件和音频内容进行处理。可替代地,在其他实施例中,音频内容和虚拟化配置文件的处理可以被分布到其他用户设备。例如,音频内容可以在本地服务器处用一些虚拟化配置文件被预先处理,并且被发送到耳机162。此外,基于云的虚拟化可以以允许由内容制作者对音频进行预先处理的这样的方式来构造。该处理可以生成优化音轨,该优化音轨被设计为以由内容制作者指定的方式增强用户设备回放或者保持在原始工作室中为收听者提供声音体验的原始混合的环绕声轨的期望属性。

由配置文件处理模块530和音频处理器540进行的音频处理的结果可以是可以使用任何音频解码器解码的位流。该位流可以包括指示音频是否已经被用虚拟化配置文件处理的标志。如果使用不辨识该标志的传统解码器回放位流,则内容仍然可以被播放,但是不示出关于音频内容的虚拟化的任何指示。

图6是示出根据一个实施例的用于提供基于云的数字音频虚拟化的示例过程的详细交互图。应注意到,图6仅演示了可以实现基于云的虚拟化的实施例的许多方式中的一种方式。用于提供数字音频虚拟化服务的方法涉及测量服务器112、云服务器120以及用户设备160。该方法从测量服务器112捕获610具有高保真度音频装备的混合工作室或收听房间中(例如,从测量房间110)的测量而开始。基于房间测量,测量服务器112生成612虚拟化配置文件,诸如头部相关传递函数(hrtf)或双耳房间脉冲响应(brir)滤波器,然后将虚拟化配置文件上载614到云服务器120。

云服务器120可以对由测量服务器112上载的虚拟化配置文件进行处理620。例如,云服务器120可以在将虚拟化配置文件存储在其数据库(例如,配置文件数据库320)中之前对虚拟化配置文件进行验证、编码、加密和压缩。虚拟化配置文件(诸如hrtf和brir滤波器)经常被存储为以设计采样速率采样的滤波器系数。如上所述,优选的是以最高的可能的采样速率设计滤波器,该滤波器为了插值和重新采样的目的而配合滤波器存储块长度。例如,虚拟化滤波器可以在64位a/d转换器长度的情况下以高达192khz的频率被采样。

假定用户设备160现在请求630用于具有特定采样速率的某个数字音频内容的虚拟化配置文件,该特定采样速率可以与存储在云服务器120处的虚拟化配置文件的设计采样速率相同或不相同。在接收到请求的情况下,云服务器120首先确定632被请求采样速率是否等于虚拟化配置文件的设计采样速率。如果被请求采样速率不同于设计采样速率,则云服务器120可以响应于该请求来对虚拟化配置文件重新采样634。重新采样过程可以包括例如:对原始hrtf或brir滤波器进行插值以获得连续带限脉冲响应(cbir),并且对插值后的cbir重新采样以与由来自用户设备160的请求所指示的目标采样速率匹配。然后云服务器120将具有被请求采样速率的重新采样的虚拟化配置文件发送636到用户设备160。如果被请求采样速率与设计采样速率相同,则云服务器120可以在不进行重新采样的情况下简单地将请求虚拟化配置文件发送636到用户设备160。

在用户设备160接收到来自云服务器160的响应之后,用户设备160可以用虚拟化配置文件对数字音频内容进行滤波638以用于再现对由虚拟化配置文件所表示的制作环境进行仿真的数字音频内容。例如,用户设备160可以通过执行音频内容与下载的配置文件的虚拟化滤波器的直接卷积来处理音频内容,使得音频内容通过测量房间110中的扩音器以类似的回放效果被虚拟化。

用户设备160还可以从云服务器160直接请求640原始虚拟化配置文件640而不指定任何采样速率,云服务器160将通过发送642具有设计采样速率的被请求虚拟化配置文件(不进行任何重新采样)来响应。在接收到来自云服务器160的响应之后,用户设备160可以在至少用虚拟化配置文件对音频内容进行滤波646以用于以环境虚拟化效果回放之前将配置文件的虚拟化滤波器重新采样644到音频内容的需求采样速率。在用户设备160处执行的重新采样操作例如可以包括音频内容与配置文件的重新采样的虚拟化滤波器的直接卷积。

总之,实施例中所公开的方法和装置递送适应可变采样速率以用于影响音频信号的再现的灵活滤波器设计。为了插值和重新采样到不同的目标采样速率的目的,存储在云服务器中的数字滤波器用最高的可能的采样速率被设计。用户设备在回放数字音频内容时可以直接下载由云服务器重新采样到适当的采样速率的那些数字滤波器,或者在本地获取数字滤波器并且对这些数字滤波器重新采样以用于虚拟化收听体验。

本文中所示的详情仅仅是以示例的方式和为了说明性地讨论本发明的实施例的目的,并且是在提供据相信是本发明的原理和概念方面的最有用的且容易理解的描述的情况下呈现的。在这方面,并不试图比本发明的基本理解所必需的程度更详细地示出本发明的详情,结合附图进行的描述使得本领域技术人员清楚本发明的几种形式在实践中可以被怎样实现。

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