多通道音频对准方案的制作方法

文档序号:11450193阅读:232来源:国知局
多通道音频对准方案的制造方法与工艺

优先权要求

本申请要求于2014年11月14日提交的题为“multi-channelaudioalignmentschemes(多通道音频对准方案)”的美国专利申请s/n.14/541,557的优先权,其通过援引整体纳入于此。

背景

i.公开领域

本公开的技术一般涉及由宣布的串行低功率芯片间媒体总线(slimbus)规范,并尤其涉及使用slimbus管理多个相关音频通道。

ii.

背景技术:

电子设备(诸如移动电话和平板计算机)在当代社会上已变得普及以供支持各种日常使用。这些电子设备通常各自包括话筒以及扬声器。电子设备中使用的典型的话筒和扬声器具有模拟接口,其要求有专用的两(2)个端口导线来连接每个设备的。然而,电子设备可包括多个音频设备,诸如多个话筒和/或扬声器。由此,可能期望允许此类电子设备中的微处理器或其他控制设备能够在公共通信总线上将音频数据传达至多个音频设备。进一步,还可能期望提供所定义的用于在公共通信总线上向电子设备中的不同音频设备传输涉及音频信道的数字数据的定义的通信协议。

联盟已经确立了串行低功率芯片间媒体总线(slimbustm)标准,该标准的版本1.01于2008年12月3日被公布给采纳者。联盟成员可以在

www.mipi.org/specifications/serial-low-power-inter-chip-media-bus-slimbussm-specification找到该标准的副本。slimbus被设计为移动终端产业中音频数据的接口,其允许调制解调器、应用处理器、和独立编解码芯片之间的通信。slimbus是具有承载给定音频通道的样本的毗连时隙的时分复用(tdm)总线。当带宽准许时,在总线上同时可以定义一个以上通道。slimbus已经被移动终端产业内的许多成员普遍采纳。

当使用slimbus的计算设备中提供一个以上通道时,slimbus标准并未解决这些数据通道如何能够在目的地侧对准从而提供最优的音频保真度。相应地,slimbus标准可以通过提供相关通道对准得到改进,随之音频保真度得到相应提高。

公开概述

详细描述中所公开的诸方面包括多音频通道对准方案。具体而言,本公开的诸方面提供了音频样本跨音频源处的多个相关音频通道的累积。诸相关音频通道指示了它们的互相关性,并且当所有相关的音频通道有数据要传送时,源将数据释放到串行低功率芯片间媒体总线(slimbus)的时隙上,从而相关的音频通道在时隙的给定分段窗口内。该累积在每个分段窗口的边界处被重复。类似地,累积可以在音频信宿处被执行。该音频信宿内的组件仅在来自所有相关信宿的状态信号指示已经达到预定阈值时才可读取接收到的数据通过提供此类累积选项,音频保真度被跨多个音频数据通道维持。

就此而言,在一方面定义了一种控制音频流的方法。该方法包括将与第一音频通道相关联的第一数据从音频流提供到音频服务中的第一端口。该方法还包括将与第二音频通道相关联的第二数据从该音频流提供到该音频源中的第二端口。该方法进一步包括,在该第一端口处,在第一先进先出(fifo)寄存器中累积该第一数据。该方法还包括,在该第二端口处,在第二fifo寄存器中累积该第二数据,以及将该第一和第二端口编程为以相同的通道速率进行操作。该方法进一步包括,在分段窗口边界,排空该第一和第二fifo寄存器,从而该第一音频通道和该第二音频通道中的等同音频样本能够被编组并被以时分格式对应于分段窗口边界地置于该分段窗口中。

在另一方面,定义了一种控制音频流的方法。该方法包括在音频信宿中的第一端口从音频总线接收与第一音频通道相关联的第一数据。该方法还包括在该音频信宿中的第二端口从该音频总线接收与第二音频通道相关联的第二数据。该方法进一步包括,在该第一端口处,在第一fifo寄存器中累积该第一数据,以及在该第二端口处,在第二fifo寄存器中累积该第二数据。该方法进一步包括将该第一和第二端口编程为以相同通道速率操作,并将该第一fifo寄存器处的第一计数和第一预定义阈值作比较。该方法还包括若该第一计数超过该第一预定阈值,则设置第一就绪信号。该方法进一步包括将该第二fifo寄存器处的第二计数和第二预定阈值作比较。该方法还包括若该第二计数超过该第二预定阈值,则设置第二就绪信号,以及若该第一就绪信号和该第二就绪信号被设置,则允许该第一和第二fifo寄存器的内容被读取。

在另一方面,定义了音频源。该音频源包括配置成耦合到总线的接口,包括第一fifo寄存器的第一端口,以及包括第二fifo寄存器的第二端口。该音频源还包括操作地耦合到该第一端口和该第二端口的控制系统。该控制系统配置成将来自音频流的与第一音频通道相关联的第一数据提供给该第一端口,以及将来自音频流的与第二音频通道相关联的第二数据提供给该第二端口。该控制系统还配置成指令该第一端口在该第一fifo寄存器中累积该第一数据,以及指令该第二端口在该第二fifo寄存器中累积该第二数据。该控制系统被进一步配置成将该第一端口和第二端口编程为以相同的通道速率操作,以及在分段窗口边界,排空该第一和第二fifo寄存器,从而该第一音频通道和该第二音频通道中的等同音频样本可以被编组并以时分格式对应于分段窗口边界地置于该分段窗口中。

在另一方面,定义了音频信宿。该音频信宿包括配置成耦合到总线的接口。该音频信宿还包括第一端口,该第一端口包括第一fifo寄存器,该第一端口配置成从该接口接收与第一音频通道相关联的第一数据。该音频信宿还包括第二端口,该第二端口包括第二fifo寄存器,该第二端口配置成从该接口接收与第二音频通道相关联的第二数据。该音频信宿进一步包括操作地耦合到该第一端口和该第二端口的控制系统。该控制系统配置成指令该第一端口在该第一fifo寄存器中累积该第一数据,以及指令该第二端口在该第二fifo寄存器中累积该第二数据。该控制系统还配置成将该第一和第二端口编程为以相同通道速率操作。该控制系统被进一步配置成若来自该第一fifo寄存器的第一计数超过第一预定阈值,则接收第一就绪信号,以及若来自该第二fifo寄存器的第二计数超过第二预定阈值,则接收第二就绪信号。该控制系统进一步配置成若接收到该第一就绪信号和该第二就绪信号,则允许该第一和第二fifo寄存器的内容被读取。

附图简述

图1是具有音频元件的示例性移动终端的框图;

图2是驱动外部音频系统的示例性移动终端的框图;

图3是具有相关联组件的slimbus的简化示图;

图4是slimbus组件内的端口和在两个组件之间延伸的slimbus的简化框图;

图5是如何在slimbus上的单个分段窗口内提供相关音频通道的简化时序图;

图6是根据本公开的示例性方面的音频源组件内的元件的简化框图;

图7是根据本公开的示例性方面的音频信宿组件内的元件的简化框图;

图8是源累积以及传送相关通道的过程的流程图;以及

图9是信宿接收以及累积相关通道的过程的流程图。

详细描述

现在参照附图,描述了本公开的若干示例性方面。措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。

详细描述中所公开的诸方面包括多通道音频对准方案。具体而言,本公开的诸方面提供了音频样本跨音频源处的多个相关音频通道的累积。诸相关音频通道指示了它们的互相关性,并且当所有相关的音频通道有数据要传送时,源将数据释放到slimbus的时隙上,从而相关的音频通道在时隙的给定分段窗口内。该累积在每个分段窗口的边界处被重复。类似地,累积可以在音频信宿处被执行。该音频信宿内的组件仅在来自所有相关信宿的状态信号指示已经达到预定阈值时才可读取接收到的数据通过提供此类累积选项,音频保真度被跨多个音频数据通道维持。

在述及与本公开相关联的示例性方法和过程之前,参照图1-7提供了此类方法和过程可以在其中实现的硬件元件的概览。参照图8和9提供了诸示例性过程。

就此而言,图1解说了移动终端10的示例。虽然具体解说了移动终端10,但是针对多通道音频采用时分复用总线的其他基于处理器的系统也可以受益于本公开的诸方面。在此示例中,移动终端10包括一个或多个中央处理单元(cpu)12,每个cpu12包括一个或多个处理器14。处理器14可包括处置音频处理的一个或多个应用处理器。(诸)cpu12可具有耦合到(诸)处理器14以用于对临时存储的数据快速访问的高速缓存存储器16。(诸)cpu12被耦合至系统总线18,并且可将移动终端10中所包括的诸设备进行相互耦合。如众所周知的,(诸)cpu12通过在系统总线18上交换地址、控制、以及数据信息来与这些其他设备通信。例如,(诸)cpu12可将总线事务请求传达给存储器控制器20以访问存储器单元22(0)-22(n)。尽管未在图1中解说,但可提供多个系统总线18,其中每个系统总线18构成不同的构造。类似地,在一示例性方面,诸系统总线18中的一者可以是用于音频的串行低功率芯片间媒体总线(slimbus)。在另一示例性方面,slimbus可以针对一个或多个输入设备(例如,话筒)存在,以及针对一个或多个输出设备(例如,扬声器)存在。

其它设备可连接到系统总线18。如图1中所解说的,作为示例,这些设备可包括存储器系统,该存储器系统包括存储器控制器20和存储器单元20(0)-22(n),一个或多个输入设备24、一个或多个输出设备26、一个或多个网络接口设备28、以及一个或多个显示器控制器30。(诸)输入设备24可包括任何类型的输入设备,包括但不限于输入键、开关、话筒、语音处理器等。如果输入设备24是话筒,其可以连接到slimbus。(诸)输出设备26可包括任何类型的输出设备,包括但不限于音频(诸如扬声器)、视频、其他视觉指示器等。如果输出设备26是扬声器,其可以连接到slimbus。(诸)网络接口设备28可以是被配置成允许去往和来自网络32的数据交换的任何设备。网络32可以是任何类型的网络,包括但不限于:有线或无线网络、私有或公共网络、局域网(lan)、广域网(wan)、无线局域网(wlan)和因特网。(诸)网络接口设备28可被配置成支持所期望的任何类型的通信协议。

(诸)cpu12还可被配置成在系统总线18上访问(诸)显示器控制器30以控制发送至一个或多个显示器34的信息。(诸)显示器控制器30经由一个或多个视频处理器36向(诸)显示器34发送要显示的信息,视频处理器36将要显示的信息处理成适于(诸)显示器34的格式。(诸)显示器34可包括任何类型的显示器,包括但不限于:阴极射线管(crt)、发光二极管(led)显示器、液晶显示器(lcd)、等离子显示器等。

虽然移动终端10可包括由slimbus耦合的数个扬声器和/或数个话筒,但是移动终端10可以诸如通过扩展坞站(或无线地)耦合到外部声音系统。就此而言,图2解说了5.1通道环绕声系统40,其中移动终端10与扩展坞站42相关联。扩展坞站42可包括中央扬声器44并耦合到前扬声器46(l)和46(r),以及后扬声器48(l)和48(r)以及次重低扬声器50。很好理解,每个扬声器44、46(l)、46(r)、48(l)和48(r)以及次重低扬声器50可以具有单独的音频通道。当扬声器和次重低扬声器50、44、46(l)、46(r)、48(l)和48(r)的输出被正确对准时,听众52可以体验高音频保真度。

不管诸音频组件是移动终端10(或其他基于处理器的设备)的内部系统还是外部系统,移动终端10(或其他基于处理器的设备)可包括slimbus以在音频组件(诸如,调制解调器、编解码器和/或应用处理器)之间移动音频数据。就此而言,简化音频系统60在图3中解说。简化音频系统60可包括主控方62(有时被称作主控方设备,但是因为“设备”有时候具有特定的惯用含义,所以下文中主要简称为“主控方”)和从属方设备64(1)-64(4),这些从属方设备通信地耦合到slimbus通信总线66作为组件。在示例性方面,从属方设备64(1)-64(4)可以是话筒、扬声器、或其他音频设备。主控方62可以是应用处理器、编解码器或调试解调器,并使用两个信号:在共用时钟线70上传达的时钟信号68,和在共用数据线74上传达的数据信号72来与从属方设备64(1)-64(4)通信。虽然图3中仅解说了四个从属方设备64(1)-64(4),应领会更多或更少的组件可以耦合到slimbus通信总线66。应领会,主控方62可具有与其相关联的控制系统(cs)76,控制系统76可以是硬件实现的处理器,该处理器具有存储在与该处理器相关联的存储器中的相关联软件。在示例性方面,控制系统76是主控方62的片上系统(soc)的一部分。在替换的示例性方面,控制系统76可以与移动终端10的cpu12相关联。在进一步的示例性方面,从属方设备64(1)-64(4)各自具有相应的从属方控制系统78(1)-78(4)。

应当领会,简化音频系统60内的每个组件可包括多个端口,每个端口可以被指派给不同的音频通道。图4中解说了该布置的示例性方面。具体而言,音频系统80可包括第一组件82(1)和第二组件82(2)。第一组件82(1)可包括数个端口84,其中解说了端口84(m)和84(n)。类似地,第二组件82(2)可包括数个端口84,其中解说了端口84(x)和84(y)。端口84接收音频通道86。具体而言,端口84(m)接收第一音频通道86(1),而端口84(n)接收第二音频通道86(2)。串行化器(未解说)组装了音频数据并将音频数据放置在数据线74上。第二组件82(2)使用解串器(未解说)来提取数据并将数据传递到恰适的端口84。在该示例中,第一音频通道86(1)的数据被传递给端口84(x),而第二音频通道86(2)的数据被传递给端口84(y)。端口84将单独的音频通道86(1)和86(2)传递给恰适的信号处理块88(1)和88(2)。

本公开的示例性方面提供了累积相关音频通道86的音频数据并将相应相关音频通道86的对应样本放置在共用数据导线74上的tdm信号内的分段窗口中。就此而言,图5提供了信号流90的解说,其中通道样本s11和s12从第一音频通道86(1)采样,而通道样本s21和s22从第二音频通道86(2)采样。来自相同一般采样点的样本被累积并在同一分段窗口92中被放置到共用数据导线74上。在每个分段窗口边界处完成累积。第二组件82(2)将共用数据导线74上的数据串行化并重组样本。经重组的样本94在接收机处被对准。

为了使得样本在每个源处对准,可以在每个端口处使用先进先出(fifo)寄存器。图6提供了源内的fifo寄存器的框图。在该示例中,源是第一组件82(1)(并且还可以是主控方62)。第一组件82(1)包括控制系统,该控制系统可以是cs76。虽然在图6中被解说为处理器,但是应当领会处理器可以用一些其他信号处理实体来代替并且仍然是cs76。cs76与直接存储器访问(dma)模块100通信。虽然解说为dma,但是应当领会可以是使用一些其他数据获取实体。dma模块100生成了第一音频通道86(1)和第二音频通道86(2)。第一音频通道86(1)在端口84(m)处被提供给fifo102。串行化器(并行到串行(p2s))104撷取fifo102的输出并将经串行化的信号传递给复用器(mux)106。类似地,第二音频通道86(2)在端口84(n)处被提供给fifo108。串行化器110撷取fifo108的输出并将经串行化的信号传递该mux106。来自时钟线70的时钟信号被按需或按期望提供给端口84。tdm控制信号控制mux106将相应的样本放在数据线74上。信号通过由分段窗口逻辑116控制的开关112、114从端口84传递给mux106。在使用中,fifo102、108为相应的音频通道86收集(或累积)数据,并且当已经累积了预定量的数据时,设置标志或状态指示符。基于何时所有的相关通道已经指示了足量的数据累积,分段窗口逻辑116向mux106释放数据。用这种方式,音频通道86的相关样本的数据最终处于数据线74上的同一分段窗口中。由此,累积提供了在初始化之后每个分段窗口处的样本对准。该对准帮助改进了音频保真度。

在接收侧,样本和相位对准二者对于帮助改进音频保真度而言可以是合需的。参照图7提供了此类接收侧组件的结构。音频数据在分用器(demux)120处接收自数据导线74,该demux120将接收到的信号拆分并将拆分信号122(x)和122(y)提供给相应端口84(x)、84(y)。端口84还从时钟线70接收了时钟信号68。端口84(x)在与fifo126(x)相关联的解串器(串行到并行(s2p))124(x)处接收拆分信号122(x)。fifo126(x)向差错生成逻辑128(x)提供状态消息,以及向比较器130(x)提供计数。比较器130(x)比较计数和水印(或其他预定义阈值)132(x)并基于该比较输出就绪信号134(x)(即,若计数超过水印132(x),则就绪信号134被启用)。差错生成逻辑128(x)选择性地向差错总线136提供差错信号。就绪信号134(x)被提供给就绪总线138。

继续参照图7,本公开的示例性方面通过评估差错总线136上的信息来检查是否有多通道群组中的任何通道具有差错情况(诸如下溢或上溢情况)来执行差错处置。若存在差错情况,那么本公开的示例性方面中止该通道并替之以空数据直到该流恢复或采取其他纠正动作。当采取纠正动作时,该流被复原或恢复为群组。

继续参照图7,端口84(x)还包括为第一比较器142(x)和第二比较器144(x)设置状态的编组寄存器140(x)。第一比较器142(x)从就绪总线138接收信号。第二比较器144(x)从差错总线136接收信号。基于比较器142(x)、144(x)的比较,开关146(x)、148(x)被打开或闭合以将来自时钟150的时钟信号提供给fifo126(x)。基于时钟信号是否被提供到fifo126(x),数据被从fifo126(x)拉至信号处理块152(x)以供进一步处理(例如,传递给扬声器)。来自时钟150的时钟信号还被传递给信号处理块152(x)和152(y)。通过与fifo126(x)和fifo126(y)联用的相同时钟信号来为信号处理块152(x)和152(y)定时,样本对准被保留并且音频保真度被改进。

继续参照图7,端口84(y)具有执行类似功能的类似元件,尽管被用a(y)指定。应当领会,水印132的值和编组寄存器140中的信息可以按需或按期望由消息控制或编程实体来编程。

为了克服该结构缺陷,示例性过程160被提供来解说第一组件82(1)处的相关端口是如何被链接的。如所解说的,第一组件82(1)是源组件。过程160始于控制系统76搜集要通过两个(或更多)音频通道发送出去的音频数据(框162)。控制系统76和dma100用第一通道音频数据预填充端口(m)的fifo102(框164)。控制系统76和dma100随后用第二通道音频数据预填充端口(n)的fifo108(框166)。管理设备(未示出)将端口84编程为具有相同的通道速率(例如,48khz)(框168)。

继续参照图8,管理设备同时在两个端口84上激活通道(框170)。来自两个端口84的两个音频通道的给定数目个样本填充在同一分段窗口中(框172)。管理器确定这是否是数据的结束(框174),其中该过程如上所述重复,或若框174得到确认的回答,那么该过程就结束并重置端口(框176)。

图9解说了解说用以在接收侧上链接通道的示例性技术的过程180。即,第二组件82(2)是信宿组件。就此而言,过程180始于处理器编程水印132(x)以及端口(x)的编组寄存器140(x)(框182)。处理器编程水印132(y)和端口(y)的编组寄存器140(y)(框184)。注意,处理器可以在第二组件82(2)中或者可以在第一组件82(1)中,并且编程可以由跨数据线74发送的消息来实现。

继续参照图9,管理设备(未示出)可以用相同的通道速率来编程端口84(x)和84(y)(框186)。管理设备同时在两个端口上激活通道(框188)。各种各样的事情可能发生。在第一实例中,fifo126(x)开始填充,并且就绪信号134(x)也被恒定更新(框190)。就绪信号134(x)被通过就绪总线138传递给端口84(y)。在第二实例中,fifo126(y)开始填充,并且就绪信号134(y)也被恒定更新(框192)。就绪信号134(y)被通过就绪总线138传递给端口84(x)。同时,时钟150被打开并被提供给端口84(x)和84(y)以及其他信号处理块152(x)和152(y)(框194)。一旦所有涉及端口发信号通知就绪就绪(框196),读时钟就在端口84(x)和84(y)二者发信号通知就绪时遍历fifo126(x)和126(y)(框198)。

继续参照图9,端口84(x)和84(y)持续用来自数据线74的数据填充(框200),并且两个音频通道的相同数目的样本同时被从fifo126(x)和126(y)拉到相应的信号处理块152(x)和152(y)(框202)。控制器检查是否有来自任何端口的差错信号(框204)。若存在差错,控制器禁用对fifo126(x)和126(y)的读取,并等待处理器干预(框206)。若在框204没有差错,那么控制器检查是否有音频数据的结束(框208)。若存在结束,那么过程180结束(框210)。否则,过程180如所指示的那样重复。

如上文所提及的,根据本文所公开的诸方面的多通道音频对准方案在任何基于处理器的设备中提供或被集成到任何基于处理器的设备中。不作为限定性的示例包括机顶盒、娱乐单元、导航设备、通信设备、固定位置数据单元、移动位置数据单元、移动电话、蜂窝电话、计算机、便携式计算机、台式计算机、个人数字助理(pda)、监视器、计算机监视器、电视机、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频碟(dvd)播放器、以及便携式数字视频播放器。虽然任何此类设备可以受益于本公开的诸方面,但是本公开尤其适合于与根据slimbus协议操作的设备联用。

本领域技术人员将进一步领会,结合本文所公开的诸方面描述的各种解说性逻辑块、模块、电路和算法可被实现为电子硬件、存储在存储器中或另一计算机可读介质中并由处理器或其它处理设备执行的指令、或这两者的组合。作为示例,本文中描述的设备可在任何电路、硬件组件、集成电路(ic)、或ic芯片中采用。本文所公开的存储器可以是任何类型和大小的存储器,且可配置成存储所需的任何类型的信息。为清楚地解说这种可互换性,以上已经以其功能性的形式一般地描述了各种解说性组件、框、模块、电路和步骤。此类功能性如何被实现取决于具体应用、设计选择、和/或加诸于整体系统上的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本公开的范围。

结合本文中公开的诸方面描述的各种解说性逻辑块、模块、以及电路可用设计成执行本文中描述的功能的处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。处理器可以是微处理器,但在替换方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合,例如dsp与微处理器的组合、多个微处理器、与dsp核心协同的一个或多个微处理器、或任何其它此类配置。

本文所公开的各方面可被体现为硬件和存储在硬件中的指令,并且可驻留在例如随机存取存储器(ram)、闪存、只读存储器(rom)、电可编程rom(eprom)、电可擦可编程rom(eeprom)、寄存器、硬盘、可移动盘、cd-rom、或本领域中所知的任何其它形式的计算机可读介质中。示例性存储介质被耦合到处理器,以使得处理器能从/向该存储介质读取/写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在asic中。asic可驻留在远程站中。在替换方案中,处理器和存储介质可作为分立组件驻留在远程站、基站或服务器中。

还注意到,本文任何示例性方面中描述的操作步骤是为了提供示例和讨论而被描述的。所描述的操作可按除了所解说的顺序之外的众多不同顺序来执行。此外,在单个操作步骤中描述的操作实际上可在多个不同步骤中执行。另外,示例性方面中讨论的一个或多个操作步骤可被组合。将理解,如对本领域技术人员显而易见地,在流程图中解说的操作步骤可进行众多不同的修改。本领域技术人员还将理解,可使用各种不同技术中的任何一种来表示信息和信号。例如,贯穿上面说明始终可能被述及的数据、指令、命令、信息、信号、比特、码元、和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子、或其任何组合来表示。

提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员而言将容易是显而易见的,并且本文中所定义的普适原理可被应用到其他变型而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖特征一致的最广义的范围。

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