环境立体声的定向增强的制作方法

文档序号:22260336发布日期:2020-09-18 14:27阅读:109来源:国知局
环境立体声的定向增强的制作方法

相关申请的交叉引用

本申请是2018年2月9日提交的题为“directionalemphasisinambisonics(环境立体声的定向增强)”的美国非临时专利申请no.15/893,138的继续,并要求其优先权,其公开内容通过引用完整合并于此。

本说明书涉及声场在虚拟现实(vr)和类似环境中的渲染,并且特别地涉及环境立体声的定向增强。



背景技术:

环境立体声提供了一种全球面环绕声技术。除了在水平面提供环绕声外,环境立体声还覆盖了收听者上方和下方的声源。与其他多声道环绕声格式不同,环境立体声传输通道不携带扬声器信号,而是包含与扬声器无关的声场表示,其称为b格式,然后将其解码为收听者的扬声器设置。这个额外的步骤允许生成者根据源方向而不是扬声器的位置来设计音频,并为收听者提供关于用于回放的扬声器的布局和数量上的极大的灵活性。

在环境立体声中,围绕收听者的虚拟扬声器阵列可以通过对从各向同性记录的声源生成的b格式声音文件进行解码来生成声场。在示例实现中,可以在虚拟现实(vr)系统中通过耳机扬声器的音频的传递中使用这种解码。双耳渲染的高阶环境立体声(hoa)是指创建许多(例如,至少16个)虚拟扬声器,这些扬声器组合在一起以向左声道和右声道扬声器提供一对信号。



技术实现要素:

在一个总体方面,一种方法可以包括:通过被配置为向收听者渲染定向声场的声音渲染计算机的控制电路,接收由在麦克风处检测到的声场产生的声音数据,所述声场被表示为球谐(sh)函数的第一扩展,并且包括所述第一扩展的系数的向量。该方法还可以包括:通过所述控制电路获得sh函数中的方向增强场的第二扩展的系数的向量,所述方向增强场在与单极密度场相乘时产生方向增强的单极密度场。该方法可以进一步包括:通过所述控制电路,基于所述第二扩展的所述系数的向量对所述第一扩展的所述系数的向量执行方向增强操作,以生成第三扩展的系数的向量到sh函数中,所述第三扩展表示方向增强的声场,所述方向增强的声场再现具有感知方向性和音色的定向声场。

在随附的附图和以下描述中阐述一种或多种实现的细节。根据说明书和附图以及根据权利要求书,其他特征将显而易见。

附图说明

图1是示出用于实施本文描述的改进技术的示例电子环境的图。

图2是示出根据本文描述的改进技术的示例观察者位置和沿其相对于麦克风分布单极源的参考球面的图。

图3是示出在图1所示的电子环境内执行改进技术的示例方法的流程图。

图4示出了可以用于这里描述的电路的计算机设备和移动计算机设备的示例。

具体实施方式

渲染hoa声场可以涉及对来自每个hoa声道和每个源方向的分量的加权序列求和。当以球坐标表示时,每个分量本身可以具有时间、角度和径向项。角度项可以表示为球谐函数,而径向因数可以表示为球贝塞尔函数。截断分量的序列会导致在一定半径(足够保真度或sf的区域)内以及某个频率以下的声场的准确描述。对于某些应用,sf可以达到人头大小的数量级。

然而,由于sf的大小与频率成反比,因此对于给定截断长度,低频将具有更大的覆盖范围,并且因此信号音色通常会随着远离原点的移动而发生变化。增加分量的数量是提高性能的一种无效方法,因为对于特定频率,sf的大小大约与分量的数量的平方根成正比。在某些情况下,此大小可能小于人头。

用于在sf之外渲染环境立体声的一种常规方法涉及确定一组源驱动信号,这些信号会产生sf中测量出的声场的球谐(sh)扩展的q系数(“环境立体声信号”)b。确定这些源驱动信号涉及解决源驱动信号的不确定线性系统。因为这种不确定的系统导致产生测量出的声场的多个可能信号,所以可以施加使信号的能量最小化的附加约束以获得单个解或减少数目的解。

然而,由于使源驱动信号的能量最小化的附加限制趋于将音频能量均匀地散布在放置源的球面上,因此这种常规方法会在sf之外导致不自然的声场。音频能量的这种扩散最小化了解码器描述方向性的能力。

因此,如本文所述,并且与上述渲染hoa声场的常规方法相反,改进技术可以包括基于增强函数的球面谐波(sh)扩展的系数调节系数b,该增强函数乘以单极密度,单极密度当其与格林函数的乘积积分到单位球面上时,会产生声场。改进技术的优点在于能够以计算有效的方式更好地再现给定声场的方向性。声场可以是时间函数或时频函数。

图1是示出其中可以实现上述改进技术的示例系统100的图。系统100可以包括声音渲染计算机120,其被配置为向收听者渲染声场。声音渲染计算机120可以包括网络接口122、一个或多个处理单元124和存储器126。网络接口122可以包括例如用于将从网络接收到的电子和/或光学信号转换成电子形式以供声音渲染计算机120使用的以太网适配器、令牌环适配器等。该组处理单元124可以包括一个或多个处理芯片和/或组件。存储器126可包括易失性存储器(例如,ram)和非易失性存储器,例如一个或多个rom、磁盘驱动器、固态驱动器等。该组处理单元124和存储器126一起形成控制电路,其被配置和布置为执行本文所述的各种方法和功能。

在一些实施例中,声音渲染计算机120的一个或多个组件可以包括被配置为处理存储在存储器126中的指令的处理器(例如,处理单元124)。这样的指令的示例包括声音获取管理器130、方向增强获取管理器140和方向增强操作管理器150。另外,存储器126可以被配置为存储各种数据,关于使用这种数据的各个管理器进行描述该各种数据。

声音获取管理器130可以被配置为获取声场球谐(sh)系数数据132。声音获取管理器130可以从光驱或通过网络接口122获得声场sh系数数据132,并且可以在存储器126中存储所获得的声场sh系数数据132。

在一些实现中,声场sh系数数据132对应于b格式或具有四个分量的一阶环境立体声或环境立体声声道。在一些实现中,声场sh系数数据132对应于高阶环境立体声,例如对应于阶,在这种情况下,存在个环境立体声声道,每个声道对应于从球面上的远处源发出的声场的球形谐波(sh)扩展中的一个项。

通常,声场可以表示为压力场p向球谐函数的扩展如下:

其中,k是波数,c是声波的速度,jn是第一类球贝塞尔函数,是球谐函数,(θ,φ)是单位球面上的一个点,是压力场p的球谐扩展的(与频率相关的)系数。球形谐波可以采取以下形式:

其中,是相关的legendre函数。

压力场可以被截断为阶,使得如上所述,在总和中有项。这些q项可以由具有q个元素的系数向量b(q)定义,使得b(q)的第q个元素是其中,系数向量b(q)的元素可以形成声场sh系数数据132。

上面定义的压力场p具有分布在以原点为中心并具有半径r′的球面上的单极密度μ的另一种表示形式如下:

p(r,θ,φ,k)=∫∫ωμ(θ′,φ′,k)g(x,x′,k)sinθ′r′2dθ′dφ′,#(3)

其中,ω是球面的表面(即4π球面度,其中,θ′∈[0,π]]和φ′∈[0,2π]),x=(r,θ,φ)是观察点,x′=(r′,θ′,φ′)是其上分布单极密度的球面的点,格林函数g被写为

或者,对于r′>r,作为在sh中的扩展:

其中,是第二类球形hankel函数。因此,单极密度可以被认为是提供压力场源的驱动场。

在图2中示出了上述的驾驶场/观察者情况的几何形状,图2示出了根据改进技术的示例声场环境200。在该环境200内,存在收听者可以定位在的原点210(开圆盘(opendisk))。单极密度/驱动场μ分布在以麦克风为中心的球面230上,该麦克风可以是位于原点210的球形麦克风,其根据远离原点的方向测量和记录声场振幅。

声音渲染计算机120被配置为基于在原点210处记录的声场数据132,忠实地再现在观察点220(灰色盘)处将存在的声场。在这样做时,声音渲染计算机120被配置为通过确定球面230上的驱动场的振幅来提供在观察点220处的声场的方向性。声场的方向性是允许收听者辨别特定声音似乎从哪个方向起源的属性。在这个意义上,在第一时间窗口(例如,一秒)上的压力信号的第一样本将导致驱动信号的第一系数,并且在第二时间窗口上的压力信号的第二样本将导致第二系数,等等。对于时间窗口上的声场的每个样本,如等式(1)中表达的压力信号在频率上的系数是声场的球谐扩展系数在时间上的傅立叶变换。

如图2所示,观察点220相对于麦克风210在位置x。观察点220的位置x在足够保真度(sf)250的区域之外但在球面230的内部。在一些实现中,可以定义sf250的大小r,使得常见的情况涉及收听者的耳朵位于sf250之外,以获得更高的频率。

返回图1,单极密度μ可以写为sh中的扩展如下:

可以根据压力场系数来表达系数为了看到这一点,等式(5)中的单极密度μ和等式(4b)中的格林函数的表达式可以插入到(3)。使用sh的正交性,压力场p的以下表达式导致:

通过匹配等式(6)和(1)中的模式,压力场的系数与单极密度可以相关如下:

令人感兴趣的是单极密度分布在其上的球面的半径r'远大于sf的大小。在这种情况下,汉克尔函数可以用其渐近逼近来代替,从而使等式(7a)中的关系式简化为

使得单极密度可以简化为

在一些实现中,压力场具有明确的时间依赖性,并且在时域中进行操作。在一些实现中,压力场具有时间依赖性和频率依赖性两者,并且在混合的时域和频域中进行操作。在这种情况下,可以考虑压力信号p(r,θ,φ,k,t)和驱动场信号μ(θ′,φ′,k,t),其中,t表示时间。在一些实现中,当评估信号时,对频率进行采样,使得k∈[0,2π]/c,其中,c是声速,而另外,声场sh系数数据132包括与时间上的压力信号的样本相对应的多个sh系数集合。

返回图1,方向增强获取管理器140被配置为产生方向增强函数v,通过该方向增强函数v可以增强压力信号p的方向性。在一些实现中,方向增强函数v依赖于时间t。在一些实现中,方向增强函数v独立于时间t。因此,方向增强函数v可以定义如下:

其中,是方向增强的驱动场。因此,方向增强函数v可以是驱动信号μ(θ′,φ′,k,t)的乘数。然而,感兴趣的不是驱动场或单极密度,而是压力信号或场。

于是,目的是在不计算驱动信号的情况下导出方向增强的压力信号的sh系数的表达式。因此,方向增强获取管理器140可以被配置为获取方向增强sh系数数据142,该方向增强sh系数数据142封装了方向增强函数v的sh扩展的系数

为了导出方向增强的压力信号的sh系数,可以以sh扩展表示乘积vμ。首先,再次认识到,因子μ和v中的每一个的扩展都被截断而不是无限大。特别地,驱动信号μ像压力场一样被截断为阶从而如上所述,在总和中存在项。这些q项由具有q个元素的系数向量γ(q)定义,使得γ(q)的第q个元素为其中,如前,类似地,方向增强函数v被截断为阶,从而如上所述,在总和中存在项。这些l项由具有l个元素的系数向量v(l)定义,因此v(l)的第个元素是其中,如前,然后,在特定时间t样本的各个sh扩展采用以下形式

其中,项是sh向量y(q)(θ′,φ′)=[y0(θ′,φ′),y1(θ′,φ′),...,yq-1(θ′,φ′)]t的元素。类似地,项是sh向量y(l)(θ′,φ′)=[y0(θ′,φ′),y1(θ′,φ′),...,yl-1(θ′,φ′)]t的元素。

分别在度数之上的两个sh扩展的乘积可以写为度数的单个sh扩展。可以使用克莱布施-戈登(clebsch-gordan)系数来生成这种sh扩展。结果是与上述sh向量y(q)(θ′,φ′)和y(l)(θ′,φ′)相关的sh向量y(p)(θ′,φ′)上的扩展如下:

其中,是包含克莱布斯-戈登系数作为元素的变换矩阵,并且表示克罗内克乘积。转换矩阵c仅取决于驱动信号的sh表示的度数和方向增强函数。因此,转换矩阵c可以离线计算一次并存储。另外,转换矩阵c是稀疏的,即它具有很少的非零条目。

方向增强操作管理器150可以被配置为生成上述乘积的sh扩展的系数,即,增强方向的声场sh系数数据156。具体地,方向增强操作管理器150可以包括转换矩阵管理器152,其被配置为生成封装转换矩阵c的转换矩阵数据154。

在一些实现中,转换矩阵管理器152可被配置为基于单位球面{(θi,φi)}i∈{0,...,p-1}上的p个点的随机样本从等式(13)生成转换矩阵数据154。一旦确定了单位球面上的点,就可以将转换矩阵管理器152配置为在多个点中的每个点处生成y(q)、y(l)和y(p)的样本以形成p列向量vect[y(q)(θi,φi)y(l)(θi,φi)](即前两个向量的克罗内克乘积)和p列向量y(p)(θi,φi)。然后,转换矩阵管理器152被配置为将p×p矩阵[y(p)(θ0,φ0),...,y(p)(θp-1,φp-1)]]反转以生成转换矩阵数据154。

通过将等式(13)中的关系和等式(11)和(12)中的sh扩展代入等式(9),方向增强驱动信号的以下sh扩展导致:

将等式(7b)中的结果代入等式(14)产生由方向增强声场sh系数数据156封装的方向增强压力信号sh扩展系数:

其中,g(q)是其第q个元素是(-j)n(q)的向量,依此类推。因此,等式(15)暗示方向增强会导致更高阶的环境立体声表达。将定义为hadamard(按元素)乘积,因此通过等式(1),方向增强压力信号为:

其中,因此,方向增强操作管理器150可以被配置为如等式(15)中生成系数并生成方向增强压力信号(或场(如果是静态的话)),如在等式(16)中那样。

因为转换矩阵c是稀疏的,所以方向增强压力信号sh扩展系数的计算是有效的。例如,当(即1度压力信号)并且(2度方向增强函数)时,转换矩阵ct的转置具有尺寸16×36。但是,在576个矩阵元素中只有48个非零,导致每个时间样本的每个输出通道有四个乘法。一个问题是方向增强操作管理器150对那些非零条目的选择可能需要附加操作。

在一些实现中,当方向增强函数v与时间t无关时,方向增强操作管理器150被配置为使用更有效的过程来生成方向增强声场sh系数数据156。将1(q)定义为1的q维向量,将i(q)定义为q×q单位矩阵,矩阵使得则等式(15)可以改写为:

其中,diag是对角矩阵,其参量向量沿对角线,其中,因为在等式(17)中的括号中的数量是时间不变的,可以离线计算该数量。因此,对于由方向增强操作管理器150执行的方向增强操作的每个时间样本仅需要pq个乘法。再次,当q=1并且l=2时,每个输出通道有四个乘法。

在一些实现中,方向增强获取管理器140可以被配置为基于声场sh系数数据132来生成方向增强函数的sh扩展的系数。在这种情况下,该生成是基于关于时间相关的驱动信号的方向增强函数的特定表达的,假设压力信号是平稳的随机过程,如下所示:

其中,e是实际中可以通过时间上(即时间样本)的平均值近似的集合平均值,而α>1是实常数。等式(18)中的分母表示归一化,因此v在单位球面上的积分为1。当kr′→∞时,可以以与等式(8)中所示的时间无关的公式类似的方式写入时间相关的驱动信号:

或者,以单个总和而言,

在相同的极限(kr′→∞)下,驱动信号的复共轭可以写为

其中,同样,sh函数的系数与时间有关。

当α=2时,可以基于声场sh系数数据132确定方向增强函数。因此,可以示出:

然后如前所述,可以根据单个sh扩展来写等式(21)。这里假设驱动信号μ具有被以度截断的sh扩展,该扩展中的项数为当归一化方向增强函数使得v(θ′,φ′,k)=r′2e[|μ(θ′,φ′,k,t)|2]时,方向增强功能的sh扩展变为

其中,注意,在等式中(22)得出的该表达式可用于通过分别使用公式(14)和(16)计算增强的单极密度和增强的压力场。

因此,在以上假设的情况下,方向增强获取管理器140可以被配置为根据等式(22)生成方向增强sh系数数据142。方向增强获取管理器140还可以被配置为生成声场sh系数数据132的集合平均值,以执行方向增强sh系数数据142的生成。

图3是示出渲染高阶环境立体声(hoa)的示例方法300的流程图。方法300可以由结合图1描述的软件构造来执行,软件构造位于声音渲染计算机120的存储器126中,并且由一组处理单元124运行。

在302处,声音获取管理器130接收由在麦克风处检测到的声场产生的声音数据。声场被表示为球形谐波(sh)函数中的第一扩展,其包括该第一扩展的系数的向量,例如,向量b(q)

在304处,方向增强获取管理器140获得sh函数中的方向增强场的第二扩展的系数的向量,例如向量v(l)。方向增强场v定义了在与单极密度场μ相乘时的方向增强单极密度场例如,如等式(9)中所示。注意,既不计算单极密度场,也不计算方向增强单极密度场。而是,这些场的概念提供了用于定义方向增强场的基础。当表示为sh函数中的扩展时,单极密度场μ包括系数的向量。扩展的系数的向量基于第一扩展的系数的向量,例如,如等式7b中所示。

在306处,方向增强操作管理器150基于第二扩展的系数的向量,对第一扩展的系数的向量执行方向增强操作,例如,等式(15),以生成第三扩展的系数的向量到sh函数中,例如,第三扩展表示方向增强声场,例如其再现具有感知的方向性和音色的定向声场。

在一些实现中,转换矩阵生成管理器152转换矩阵数据,例如,表示转换矩阵(例如在等式(13)中定义的c)的转换矩阵数据152,其由sh对中的扩展到单个sh上的扩展的转换产生。方向增强操作管理器150然后基于转换矩阵生成第三扩展的系数的向量。

在一些实现中,转换矩阵生成管理器152生成克莱布施-戈登系数作为转换矩阵的元素,该系数表示在sh对中的扩展中的sh函数的权重。在一些实现中,转换矩阵生成管理器152通过以下来生成转换矩阵的元素:在单位球面{(θi,φi)}i∈{0,...,p-1}上生成多个点;在多个点中的每个点处生成sh函数的第一向量y(q)的样本以生成第一矩阵,生成sh函数的第二向量y(l)的样本以生成第二矩阵,并且生成sh函数的第三向量y(p)的样本以生成第三矩阵;产生sh函数的第三矩阵的逆的乘积(例如p列向量y(p)(θi,φi)以及sh函数的第一矩阵和第二矩阵的克罗内克乘积(例如vect[y(q)(θi,φi)y(l)(θi,φi)]),作为转换矩阵。

在一些实现中,方向增强操作管理器150生成第一扩展的系数的向量和第二扩展的系数的向量的克罗内克乘积,以生成系数乘积的向量,例如,等式(15)中的方向增强操作管理器150然后产生转换矩阵的转置和系数乘积的向量的乘积作为第三扩展的系数的向量,例如,如等式(15)中所示。

在一些实现中,方向增强操作管理器150生成第二扩展的系数的向量和1的第一向量的克罗内克乘积以生成第一乘积向量,例如,等式(17)中的方向增强操作管理器150然后生成1的第二向量和该第一乘积向量的转置的乘积以生成第二乘积向量,例如等式(17)中的方向增强操作管理器150然后生成转换矩阵的转置和第二乘积向量的哈达玛乘积,以产生第二转换矩阵,例如,等式(17)中的然后,方向增强操作管理器150生成单位矩阵和1的第三向量的克罗内克乘积,以产生单元矩阵,例如,等式(17)中的然后,方向增强操作管理器150产生第二转换矩阵的转置、单元矩阵和第一扩展的系数的向量的乘积作为第四扩展的系数的向量,例如,等式(17)中的其中,g(q)是其第q个元素是(-j)n(q)的向量,依此类推。

在一些实现中,方向增强获取管理器140例如如在等式(18)中那样执行单极密度场的大小的幂在时间上的集合平均。在一些实现中,幂等于2。在那种情况下,方向增强获取管理器140生成第一扩展的系数的向量与系数的向量的复共轭的克罗内克乘积在时间上的集合平均,以产生集合平均系数乘积的第一向量,例如,如等式(22)中那样,其中,复共轭是向量方向增强获取管理器140然后生成虚数单元的幂的向量(例如,g)与集合平均系数乘积的第一向量的哈达玛乘积,以产生集合平均系数乘积的第二向量,例如如等式(22)中那样。方向增强获取管理器140然后生成转换矩阵的转置和集合平均系数乘积的第二向量的对应元素的乘积作为第二扩展的系数的向量的元素,例如如在等式(22)中那样。再次注意,在这里描述的框架中,可以用时间平均值来近似集合平均。

在一些实现中,第二扩展的系数的向量基于第一扩展的系数的向量。

在一些实现中,存储器126可以是任何类型的存储器,诸如随机存取存储器、磁盘驱动器存储器和/或闪存等等。在一些实现中,存储器126可以被实现为与声音渲染计算机120的组件相关联的多个存储器组件(例如,多个ram组件或磁盘驱动器存储器)。在一些实现中,存储器126可以是数据库存储器。在一些实现中,存储器126可以是或可以包括非本地存储器。例如,存储器126可以是或可以包括由多个设备(未示出)共享的存储器。在一些实现中,存储器126可以与网络内的服务器设备(未示出)相关联并且被配置为服务于声音渲染计算机120的组件。

声音渲染计算机120的组件(例如,管理器、处理单元124)可以被配置为基于可以包括一种或多种类型硬件、软件、固件、操作系统和/或运行时库等的一个或多个平台(例如,一个或多个相似或不同的平台)进行操作。。

声音渲染计算机120的组件可以是或可以包括配置为处理属性的任何类型的硬件和/或软件。在一些实现中,图1中的声音渲染计算机120的组件中所示的组件的一个或多个部分可以是或可以包括基于硬件的模块(例如,数字信号处理器(dsp)、现场可编程门阵列(fpga)、存储器)、固件模块和/或基于软件的模块(例如,计算机代码模块、可以在计算机上执行的一组计算机可读指令)。例如,在一些实现中,声音渲染计算机120的组件的一个或多个部分可以是或可以包括被配置为由至少一个处理器(未示出)执行的软件模块。在一些实现中,组件的功能可以被包括在与图1所示的那些不同的模块和/或不同的组件中。

在一些实现中,声音渲染计算机120的组件(或其部分)可以被配置为在网络内操作。因此,声音渲染计算机120的组件(或其部分)可以配置为在各种类型的网络环境中运行,这些网络环境可以包括一个或多个设备和/或一个或多个服务器设备。例如,该网络可以是或可以包括局域网(lan)和/或广域网(wan)等。该网络可以是或可以包括无线网络和/或使用例如网关设备、网桥、交换机等实现的无线网络。该网络可以包括一个或多个网段和/或可以具有基于各种协议(例如互联网协议(ip)和/或专有协议)的部分。该网络可以包括互联网的至少一部分。

在一些实施例中,声音渲染计算机120的一个或多个组件可以是或可以包括被配置为处理存储在存储器中的指令的处理器。例如,声音获取管理器130(和/或其一部分)、方向增强获取管理器140(和/或其一部分)和方向增强操作管理器150(和/或其一部分)可以包括存储与实现一个或多个功能的过程有关的指令并且被配置为执行指令的存储器的组合。

图4示出了可以用于这里描述的技术的计算机设备400和移动计算机设备450的示例。计算设备400旨在代表各种形式的数字计算机,例如膝上型计算机、台式计算机、平板电脑、工作站、个人数字助理、电视、服务器、刀片服务器、大型机和其他适当的计算设备。计算设备450旨在代表各种形式的移动设备,例如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。此处所示的组件、它们的连接和关系以及它们的功能仅是示例性的,并不意味着限制本文档中描述和/或要求保护的发明的实现。

计算设备400包括处理器402、存储器404、存储设备406、连接到存储器404和高速扩展端口410的高速接口408以及连接到低速总线414和存储设备406的低速接口412。处理器402可以是基于半导体的处理器。存储器404可以是基于半导体的存储器。组件402、404、406、408、410和412中的每个组件均使用各种总线互连,并且可以视情况安装在通用主板上或以其他方式安装。处理器402可以处理在计算设备400内执行的指令,包括存储在存储器404或存储设备406上的指令,以在外部输入/输出设备上显示gui的图形信息,例如耦合到高速接口408的显示器416。在其他实现中,可以适当地使用多个处理器和/或多条总线,以及多个存储器和存储器类型。而且,可以连接多个计算设备400,每个设备提供必要操作的部分(例如,作为服务器银行、一组刀片服务器或多处理器系统)。

存储器404在计算设备400内存储信息。在一种实实现中,存储器404是一个或多个易失性存储器单元。在另一实现中,存储器404是一个或多个非易失性存储单元。存储器404也可以是另一种形式的计算机可读介质,例如磁盘或光盘。

存储设备406能够为计算设备400提供大容量存储。在一种实现中,存储设备406可以是或包含计算机可读介质,例如软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其他类似的固态存储设备或设备阵列,包括存储区域网络或其他配置中的设备。计算机程序产品可以有形地体现在信息载体中。该计算机程序产品还可以包含在被执行时执行一种或多种方法(例如上述方法)的指令。信息载体是计算机或机器可读介质,例如存储器404、存储设备406或处理器402上的存储器。

高速控制器408管理计算设备400的带宽密集型操作,而低速控制器412管理较低带宽密集型操作。这种功能分配仅是示例性的。在一种实现中,高速控制器408耦合到存储器404、显示器416(例如,通过图形处理器或加速器)以及耦合到可以接受各种扩展卡(未示出)的高速扩展端口410。在该实现中,低速控制器412耦合到存储设备406和低速扩展端口414。可以包括各种通信端口(例如,usb、蓝牙、以太网、无线以太网)的低速扩展端口可以通过网络适配器耦合到一个或多个输入/输出设备,例如键盘、定点设备、扫描仪或网络设备,例如交换机或路由器。

如图所示,可以以多种不同形式来实现计算设备400。例如,它可以被实现为标准服务器420,或者在一组这样的服务器中被实现多次。它也可以实现为机架服务器系统424的一部分。此外,它还可以实现在诸如膝上型计算机422之类的个人计算机中。可替代地,来自计算设备400的组件可以与诸如设备450的移动设备(未示出)中的其他组件组合。每个这样的设备可以包含一个或多个计算设备400、450,并且整个系统可以由彼此通信的多个计算设备400、450组成。

除其他组件之外,计算设备450包括处理器452、存储器464、诸如显示器454的输入/输出设备、通信接口466和收发器468。设备450还可以配备有存储设备,例如微驱动器或其他设备,以提供附加的存储。组件450、452、464、454、466和468中的每一个使用各种总线互连,并且若干个组件可以视情况安装在通用主板上或以其他方式安装。

处理器452可以在计算设备450内执行指令,包括存储在存储器464中的指令。处理器可以被实现为包括分离的以及多个模拟和数字处理器的芯片的芯片组。处理器可以提供例如用于设备450的其他组件的协调,例如对用户界面、由设备450运行的应用程序以及由设备450进行的无线通信的控制。

处理器452可以通过控制接口458和耦合到显示器454的显示接口456与用户通信。显示器454可以是例如tftlcd(薄膜晶体管液晶显示器)或oled(有机发光二极管)显示器或其他合适的显示技术。显示接口456可以包括用于驱动显示器454以向用户渲染图形和其他信息的适当电路。控制接口458可以从用户接收命令并且将其转换以提交给处理器452。此外,可以提供与处理器452通信的外部接口462,以使得设备450可以与其他设备进行近距离通信。外部接口462可以例如在一些实现中提供用于有线通信,或者在其他实现中提供用于无线通信,并且也可以使用多个接口。

存储器464在计算设备450内存储信息。存储器464可以被实现为一种或多种计算机可读介质、一个或多个易失性存储单元或一个或多个非易失性存储单元。还可以提供扩展存储器474,并通过扩展接口472将其连接到设备450,扩展接口472可以包括例如simm(单列存储模块)卡接口。这样的扩展存储器474可以为设备450提供额外的存储空间,或者还可以为设备450存储应用或其他信息。具体地说,扩展存储器474可以包括用于执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器474可以被提供为设备450的安全模块,并且可以用允许安全使用设备450的指令来编程。此外,可以经由simm卡来提供安全应用以及附加信息,例如以不可入侵的方式在simm卡上放置标识信息。

存储器可包括例如闪存和/或nvram存储器,如下所述。在一种实现中,计算机程序产品有形地体现在信息载体中。该计算机程序产品包含在执行时执行诸如上述方法的一种或多种方法的指令。信息载体是计算机或机器可读介质,例如存储器464、扩展存储器474或处理器452上的存储器,其可以例如通过收发器468或外部接口462接收。

计算设备450可以通过通信接口466进行无线通信,通信接口466在必要时可以包括数字信号处理电路。通信接口466可以提供用于各种模式或协议下的通信,例如gsm语音呼叫、sms、ems或mms消息收发、cdma、tdma、pdc、wcdma、cdma2000或gprs等等。这样的通信可以例如通过射频收发器468发生。此外,可以诸如使用蓝牙、wi-fi或其他这样的收发器(未示出)进行短距离通信。此外,gps(全球定位系统)接收器模块470可以向设备450提供其他与导航和位置相关的无线数据,设备450上运行的应用程序可以适当使用这些数据。

计算设备450还可以使用音频编解码器460进行听觉通信,音频编解码器460可以从用户接收语音信息,并将其转换为可用的数字信息。音频编解码器460可以类似地例如通过例如在设备450的手机中的扬声器为用户生成可听见的声音。这种声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等),并且还可能包含在设备450上运行的应用程序生成的声音。

计算设备450可以以多种不同的形式实现,如图所示。例如,它可以被实现为蜂窝电话480。它也可以被实现为智能电话482、个人数字助理或其他类似的移动设备的一部分。

这里描述的系统和技术的各种实现可以在数字电子电路、集成电路、专门设计的asic(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实现可以包括在一个或多个计算机程序中的实现,该程序可以在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用的或通用的,其耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并向存储系统、至少一个输入设备和至少一个输出设备传输数据和指令。

这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或以汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”是指任何计算机程序产品、非暂时性计算机可读介质、装置和/或设备(例如,磁盘、光盘、存储器、用于向可编程处理器提供机器指令和/或数据的可编程逻辑设备(pld),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。

为了提供与用户的交互,本说明书中描述的主题的实施例可以在具有用于向用户显示信息的显示设备(例如,crt(阴极射线管)或lcd(液晶显示器)监视器)和键盘以及指示设备(例如,鼠标或轨迹球)的计算机上实现,用户可以通过显示设备和键盘以及指示设备向计算机提供输入。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。

这里描述的系统和技术可以实现在计算系统中,该计算系统包括诸如作为数据服务器的后端组件,或者包括诸如应用服务器的中间件组件,或者包括诸如具有图形用户界面、web浏览器或app的客户端计算机的前端组件,或者包括一个或多个这样的后端、中间件或前端组件的任何组合,用户可以通过该图形用户界面、web浏览器或app与本说明书中描述的主题的实现交互。系统的组件可以通过任何形式或介质的数字数据通信——例如,通信网络——互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)(例如,因特网)。

计算系统可包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系借助于在各个计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。

尽管本文已经描述了某些示例性方法、装置和制品,但是本专利的覆盖范围不限于此。应当理解,本文采用的术语是出于描述特定方面的目的,而不是限制性的。相反,该专利涵盖了完全落入本专利权利要求范围内的所有方法、装置和制品。

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