多种同时音频模式的方法与设备技术

技术编号:12953803 阅读:81 留言:0更新日期:2016-03-02 13:17
本文描述的实施例包括用于利用不同的基于硬件的音频处理模式来同时处理不同的音频流的设备和处理。用于这样的实施例的计算设备可以具有能够并行运行的多种硬件音频信号处理模式。操作系统或其音频堆栈可以管理音频路径或流,以便音频源产生各自类型的音频信号。根据音频信号的类型可以确定哪些音频路径或流将与哪些硬件音频信号处理模式相连接。第一硬件音频信号处理模式可能在处理第一音频路径或流的第一类型的音频信号,而同时第二硬件音频信号处理模式处理第二音频路径或流的第二类型的音频信号。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】
技术介绍
计算设备时常被配备有用于执行音频信号处理的专业音频硬件。通常,这样的音频硬件包括对利用计算设备捕获或生成的音频信号执行信号处理的一个或多个数字信号处理芯片或算法。这样的信号处理可以导致特定的音频效果,诸如增强音乐信号、从V0IP(voice over Internet Protocol)(因特网协议话音)信号中移除回声、降低噪声、模拟混响等等。在一些情况中,(时常经由主机总线连接的)这样的专用音频硬件或音频卡能够提供各种各样的这样的基于硬件的信号处理模式或效果。以前,甚至在专用的音频信号处理设备被配置有多种这样的模式时,计算设备也无法一次使用一种以上这样的基于硬件的信号处理模式。操作系统通常将通过交替地将所有的音频处理(针对所有的音频路径或流)从一种模式转到另一种模式来应付多种模式的可用性。在任何给定的时间,利用计算设备处理的所有音频将利用相同的基于硬件的音频信号处理模式来处理。这种方案具有只有本专利技术人认识到的缺陷。有时,计算设备上的不同应用可能具有不同的信号处理偏好。例如,V0IP应用可能需要在其输入上的回声消除处理以及在其输出上的最少处理,而同时再现(render)音乐的音乐播放器可能需要降噪信号处理来增强所再现的音频,而这有可能引入时延(latency)。另外,在前的单模方案已阻止音频硬件资源的充分利用。无论是否音频硬件能够进行同时的多模处理,管理这样的硬件的操作系统还没有被设计来利用这样的能力。下面讨论与提供同时的多模音频处理有关的技术。
技术实现思路
以下概述部分仅被包括来介绍下面在具体描述部分中讨论的一些概念。这个概述部分并不是全面的,并且非旨在描绘利用在末尾呈现的权利要求书来阐述的所请求保护的主题的范畴。本文描述的实施例包括用于利用不同的基于硬件的音频处理模式来同时处理不同的音频流的设备和处理。用于这样的实施例的计算设备可以具有能够并行运行的多种硬件音频信号处理模式。操作系统或其音频堆栈可以管理音频路径或流,以便音频源产生各自类型的音频信号。根据音频信号的类型可以确定哪些音频路径或流将与哪些硬件音频信号处理模式进行连接。第一硬件音频信号处理模式可能在处理第一音频路径或流的第一类型的音频信号,而同时第二硬件音频信号处理模式处理第二音频路径或流的第二类型的音频信号。下面将参考结合附图所考虑的以下具体描述来解释许多伴随特征。【附图说明】从依据附图阅读的以下具体描述中将更好地理解本描述,其中相类似的参考数字用于在随附的描述中标明相类似的部分。图1显示计算设备。图2显示利用音频硬件的音频处理模式同时处理的音频流的细节。图3显示音频堆栈以及通过音频堆栈接收音频数据的应用。图4显示音频堆栈的细节。图5显示在其上面可以实现上述实施例的计算设备的示例。【具体实施方式】下面讨论的实施例涉及提供能够同时应用于不同音频流的多种音频模式。讨论将利用被配置有音频信号处理硬件的计算设备的综述来开始。接下来,将讨论利用操作系统实现的音频流管理方案。紧接着将描述音频流堆栈的细节,紧随其后的是从而执行的处理的讨论。图1显示计算设备100。计算设备100具有音频硬件102。通常,音频硬件102是经由系统总线与中央处理单元(CPU)互操作的专用芯片或外设卡。音频硬件102提供可以利用一个或多个数字信号处理器来实现的多种音频信号处理模式(或效果)。每一种模式实现不同的音频信号处理算法。以下是在各种音频处理设备上可能出现的这样的模式的示例:3D音频,游戏,动态增益调节,话音,气氛,回声消除,声源定位等等。注意:模式可以用于所捕获的音频、将在扬声器上播放的所再现的音频或二者。另外,模式不一定需要变换信号。一些模式可以执行信号分析来针对应用产生关于信号的信息。模式也可以用于格式转换,例如变换比特率、采样率、通道计数或其他的信号特征。计算设备100上的操作系统104可能利用设备驱动器(未显示)来控制利用一个或多个应用106对于音频硬件102的访问和使用。特别地,音频堆栈108(操作系统104的音频功能)可以管理将至/自应用106的音频信号与音频硬件102相链接的音频通路(也被称为路径或流)。虽然实现细节对于不同的操作系统而言将变化,但是音频流是数字音频信号数据在源与目的地之间的流动(flow)。取决于音频流的方向,源和目的地可能是应用106、麦克风110、扩音器112、储存器等等。操作系统104可以提供应用编程接口(API),以使得应用106能够调用功能,诸如发起、读取、写入、关闭以及以其他方式管理音频流。操作系统104可以透明地执行其他的功能,诸如缓冲、链接音频通路中的组件、与音频设备驱动器交互来控制对于音频硬件102的使用和访问等等。图2显示利用音频硬件102的音频处理模式120、122、124同时处理的音频流118的细节。一些音频处理模式120可以被实现为在主机计算设备100的CPU上运行的软件模块。应用106能够是在计算设备106上运行的任何软件组件,例如用户启动的应用、后台服务、线程、托管代码环境、虚拟机等等。在图2的示例中的应用106是正在再现声音以便在扩音器112上输出的声源。如下面参考图3所讨论的,应用106也能够是声音接收器(sink);利用音频堆栈108来应付和输出的音频信号数据的受体。用于计算设备的音频处理系统的领域的技术人员将意识到:形成和管理音频流可以牵涉在图2和3中没有描述的复杂性。例如,用于拆分信号的三通(tee)、用于混合信号的混合器、实用信号处理模块(基于CPU)以及甚至可能多种信号处理模式(例如,基于软件的模式和基于硬件的模式)的实例可以采用各种方式进行组合,以形成音频数据流的复杂图形。不管这样的实现细节如何,操作系统104和/或其音频堆栈108提供数据通路,以使得能够通过音频信号处理硬件(音频硬件102)交换至/自应用106的音频信号数据,以及在一些情况中交换至/自声音生成设备或声音捕获设备(例如扩音器112、麦克风110)的音频信号数据。为了促进同时多模音频信号处理,音频堆栈108可以执行处理,诸如处理126。例如,当应用106需要音频流来输出利用应用106所再现的声音时,应用106或许经由音频API向操作系统104发出呼叫(call)或请求。当操作系统194或音频堆栈108接收到该请求时,识别用于所请求的音频流的音频类型。能够利用各种各样的手段来查明音频类型。例如,请求应用106能够利用作为请求新的音频流的呼叫的参数的打印信息来标记(tag)音频流。也可以使用用于分类、识别或确定音频类型的其他手段。例如,应用能够通过在音频数据中或在流本身中嵌入标识符来指定音频类型。音频堆栈108能够参考与请求应用106相关联的识别与该应用相关联的音频的类型的元数据。在另一实施例中,可以参考该应用曾使用的音频(或由该应用在使用的另一流)的最后类型来确定用于新的音频流的音频类型。在还一实施例中,音频堆栈108可以设置所请求的音频流而不知道音频类型、从应用106接收一些音频信号数据、缓冲从该应用提供的音频信号数据以及分析所缓冲的音频数据(声音数据)来确定音频数据中的声音的类型(例如音乐、话音等等)。返回到处理126,当确定所请求的音频流的音频类型时,音频信号处理模式120、122、本文档来自技高网...

【技术保护点】
一种在计算设备中管理音频数据的方法,所述计算设备包括处理器芯片、储存器和音频处理器芯片,所述音频处理器芯片提供多种信号处理模式,每一种信号处理模式包括不同类型的音频信号处理,所述方法利用所述计算设备的操作系统和/或内核模式组件来执行,所述方法包括:提供和管理在所述音频处理器芯片和运行在所述计算设备上的应用之间传送的音频流;从所述应用接收启动所述音频流的请求,每一个请求具有与之相关联的利用曾请求所述音频流的相应应用所指示的各自音频类型;以及每当从应用接收到请求时,通过为所述音频流选择所述信号处理模式之中的一种信号处理模式来启动相应的音频流,其中根据所述请求的音频类型来选择所述信号处理模式。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:F耶拉斯K科特里R钟
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1