专利名称:用于组合多个媒体数据流的系统、方法或设备的制作方法
技术领域:
实施例涉及混合或组合媒体数据流的领域,且更明确地说,涉及组合多个数字媒 体数据流。
背景技术:
在一些情况下,例如移动电话、PDA、计算平台等等的媒体装置可至少部分地同时 地或并行地播放或执行多个数字媒体数据流。举例来说,在一些情况下,移动电话可以至少 部分地并行的方式来播放对应于音乐文件、语音呼叫、警报声音、游戏声音等等或其某一组 合的音频流。
本说明书的结束部分中特定地指出且清楚地主张标的物。然而,通过在与附图一 起进行阅读的情况下参考以下详细描述,可最好地理解所主张的标的物(关于组织及操作 方法两者)连同其目标、特征及优点,其中图1为根据一实施例的包括一个或一个以上累加器缓冲器的系统的示意图;图2为描绘图1的实施例的操作的一个或一个以上方面的示意图;图3为描绘图1的实施例的操作的一个或一个以上其它方面的示意图;图4为根据一实施例的过程的流程图表示;图5为根据一实施例的来自累加器缓冲器的读取指针读取操作的逻辑控制过程 的流程图;图6为根据一实施例的写入指针写入操作的逻辑控制过程的流程图;图7为根据一实施例的包括累加器缓冲器及一个或一个以上处理器的系统的示 意图;以及图8为根据一实施例的包括一个或一个以上虚拟累加器缓冲器及一个或一个以 上处理器的系统的示意图。
具体实施例方式在以下详细描述中,阐明众多特定细节以提供对所主张的标的物的透彻理解。然而,所属领域的技术人员应理解,可在无这些特定细节的情况下实践所主张的标的物。在其 它例子中,尚未详细地描述将由所属领域的技术人员已知的方法、程序、组件或电路,以便 不使所主张的标的物模糊不清。贯穿本说明书而对“一个实施例”或“一实施例”的参考意味着结合所述实施例而 描述的特定特征、结构或特性包括于所主张的标的物的至少一个实施例中。因此,在贯穿本 说明书的各种位置中短语“在一个实施例中”或“一实施例”的出现未必均指代同一实施例。 此外,在一个或一个以上实施例中,可组合所述特定特征、结构或特性。在一些情况下,例如移动电话、PDA、计算平台等等的媒体装置可至少部分地同时 地或并行地播放或执行多个数字媒体数据流。举例来说,在一些情况下,移动电话可以至少 部分地并行的方式来播放或执行对应于音乐文件、语音呼叫、警报声音、游戏声音等等或其 某一组合的音频流。如本文所使用,术语“数字媒体数据”指代表示能够由人类感知的物理 属性或物理表现的二进制数字信号,包括(例如)音频数据、视频数据、图像数据等。此情形 的一个可能解决方案是使用软件模块或硬件组件以对在时间上重叠在一起的数字媒体流 (例如音频流)进行求和,且将经求和的音频流馈送到数/模转换器(DAC)。举例来说,此可 在使用单一多线程处理器来播放音频流的情况下被实现。然而,如果系统使用产生多个数 字媒体数据流的多个处理器或产生多个数字媒体数据流的单一处理器,则可能具有挑战性 的是使如上文所论述的软件模块或硬件组件在多个媒体数据流当中适当地协调或同步。另 外,在一些情况下,可以不同取样速率或针对不同通道格式而产生不同音频流。举例来说, 可通过2个音频通道以44. IkHz的取样速率来产生mp3音乐文件的回放,而可通过单一音 频通道以8kHz的取样速率来产生语音数据(例如来自电话呼叫)。在此实例中,两个媒体 数据流可以单一取样速率而经重新取样且经转换到2音频通道格式以便被混合在一起。然 而,如此进行可涉及硬件及/或处理的某一复杂性。然而,相反地,如下文更详细地所描述的实施例涉及可操作以就地(in place)或 原位(in situ)混合多个数字媒体数据流的硬件组件。举例来说,硬件组件(例如累加器 缓冲器)可操作以混合多个数字媒体数据流且维持所述流的至少部分同步。在至少一个实 施例中,一个或一个以上硬件组件可将多个数字媒体数据流重新取样到单一或共同取样速 率,且将那些流转换到共同通道格式以至少部分地促进那些流的就地或原位混合。在一实 施例中,硬件组件(例如累加器缓冲器)(举例来说)可操作以混合来自多个源(例如多个 处理器)的媒体流,且可操作以混合源自单一处理器的多个媒体流。如本文所使用,“混合” 指代至少部分地组合两个或两个以上二进制数字信号以形成表示经混合信号的一个或一 个以上特性的二进制数字信号。如本文所使用,“共同通道格式”指代信号既定在可能未必 源自同一源的信号所共有的特定或相异通道配置(例如(不限于)具有左通道及右通道) 中被播放或执行的二进制数字信号的表示。举例来说,第一信号可具有左通道及右通道,且 具有共同通道格式的第二信号还可具有左通道及右通道。如本文所使用,“累加器缓冲器” 指代展现缓冲器及累加器两者的特征的硬件的装置或零件。缓冲器通常包括将存储有二进 制数字信号的存储器位置。累加器通常具有执行算术运算(特别是算术求和运算)的能力。 此处,如稍后更详细地所描述,对于此特定实施例,具有两者的特征的装置可包括可操作以 就地或原位混合多个媒体流的一个或一个以上存储器位置,如将被描述。举例来说,累加器 缓冲器可包含固态存储器缓冲器,其可操作以至少部分地通过允许将多个信号源写入到累加器缓冲器的存储器位置而就地或原位混合或组合多个媒体流。在使用数字媒体信号的实施例中,二进制数字信号其自身可相对于特定物理属性 或表现(例如(不限于)声音)而在时间上对应于特定例子或样本。因此,同样地,累加器 缓冲器内的一个或一个以上地址(例如(不限于)顺序地址)可对应于时间标度,使得累 加器缓冲器内的特定位置的特定地址可对应于特定时间例子。因此,在一实施例中,多个处 理器可写入累加器缓冲器的任何适当存储器位置,使得可就地或原位组合数字媒体数据流 (例如音频流)的在时间上重叠的部分,其中音频流的时序经对准;然而,如此进行无需使 用(例如)额外缓冲器。至少部分地通过将多个流写入到累加器缓冲器中的适当存储器位 置,可相对于多个流的在时间上相对于特定例子而重叠的部分,混合多个流。然而,应注意, 此仅为关于数字媒体数据流的说明性实例,且所主张的标的物在此方面不受限制。图1为根据一实施例的包括累加器缓冲器102的系统100的示意图。关于图1, 实施例可包含一个或一个以上存储器位置,例如累加器缓冲器102、104及106。另外,实施 例可进一步包含混合器108,例如可操作以(举例来说)进行重新取样或重新格式化及混 合的一个或一个以上电路。此外,实施例可进一步包含数/模转换(DAC)接口,例如DAC接 口 110。实施例还可包含中断产生单元,例如中断产生器112。在一实施例中,累加器缓冲 器102、104或106可(例如)经由总线仲裁器116而耦合到系统总线114。在一实施例中, 总线114可包含可使用与以下各者中的至少一者顺应或兼容的信令的总线高级微处理器 总线架构(AMBA);高速总线(AHB);高级可扩展接口(AXI);或其它总线信令协议(仅举几 个实例)。在一实施例中,累加器缓冲器102、104及106可耦合到总线114作为一个或一 个以上从属单元,使得累加器缓冲器102、104及106可至少部分地可由与系统100相关联 的一个或一个以上处理器(未图示)存取。在一实施例中,在一些情况下,混合器单元108 可由与系统100相关联的一个或一个以上处理器中的任一者编程,以执行一个或一个以上 混合任务,例如从具有一个或一个以上取样速率、通道格式等的一个或一个以上媒体流重 新取样。在一实施例中,取样速率、通道格式等可与累加器缓冲器中的一特定累加器缓冲器 相关联。举例来说,累加器缓冲器102可对应于第一取样速率、第一通道格式等,而累加器 缓冲器104及106可对应于不同取样速率、通道格式等。在一实施例中,系统100可进一步 包含求和缓冲器,例如求和缓冲器120。在一实施例中,混合器108可将一个或一个以上经 混合样本写入到求和缓冲器120,以用于通过DAC接口 110而对那些样本进行后续存取。举 例来说,DAC接口 110可将经混合样本发射到DAC 130,例如用于经由音频或视频系统而回 放。应注意,这些仅为关于系统或系统配置的说明性实例,且所主张的标的物在此方面不受 限制。在一实施例中,累加器缓冲器102、104及106可经配置以至少部分地与相应取样 速率、通道格式及/或其类似者对应。在此实施例中,一个或一个以上处理器(未图示)中 的任一者可将媒体流发射到具有对应于所述媒体流的取样速率、通道格式及/或其类似者 的累加器缓冲器中的任一者。举例来说,处理器可至少部分地通过向对应于累加器缓冲器 中的一适当累加器缓冲器的一部分的总线地址写入而对所述适当累加器缓冲器写入。另 外,经暂停的媒体流可将一个或一个以上零值写入到累加器缓冲器中。举例来说,如果已暂 停特定媒体流(例如由用户或至少部分地响应于事件),则特定累加器缓冲器中的对应读 取指针可经冻结且从所述累加器缓冲器到混合器的输出可由零替换。在此实例中,如果暂停经解除断言,则读取指针可从其已停止之处继续。视存储器字大小、音频流格式及音频样 本的每通道位而定,音频样本可由多个字组成。举例来说,32位存储器字大小、5. 1音频(六 个通道)及每通道16个位,每一音频样本由三个字组成。在这些情况下,当已从缓冲器读 出对于一样本的许多字或其倍数(视特定格式而定)时,可出现样本边界。在一些情况下, 样本边界的概念可为有用的,例如在应用暂停或零插入或改变特定音频源的音量期间。在 一实施例中,可能需要将所述零插入或音量改变应用于样本边界上,以至少部分地确保引 入了所述改变(暂停/音量)的样本中的所有通道均反映所述改变。另外,在一些情况下, 可能较不需要插入零值,因为所述插入可能导致声音失真,例如爆破声(pop)。在所述情况 下,可能需要使用(例如)线性、指数、对数及/或正弦模型而逐渐地减小到零值,以更加逐 渐地减小后续信号值(仅举几个实例)。举例来说,用于所述程序的逻辑可在本文所描述 的控制器电路中的一者或一者以上中,或者在用于使所述零插入值平滑的单独电路中。另 外,不同通道或处理器源可使用对于特定源来说可为更加需要的不同斜降过程(ramp down process)。可能需要维持样本边界的另一情况可在混合器108处。举例来说,如果使新流 能够进行混合,则应仅在样本边界上开始混合,以至少部分地确保来自所有流的相同通道 被加在一起。然而,应注意,此仅仅为关于混合音频样本的说明性实例,且所主张的标的物 在此方面不受限制。在一实施例中,累加器缓冲器内的地址可对应于特定时间标度的时间例子,使得 累加器缓冲器内的位置对应于特定时间例子。在一实施例中,多个处理器可对累加器缓冲 器的一个或一个以上部分写入。举例来说,累加器缓冲器内的媒体流可至少部分地在时间 上重叠。至少部分地通过将多个流写入到累加器缓冲器中的适当位置,可相对于多个流的 相对于时间而重叠的部分而混合所述多个流。在一实施例中,流可以至少部分地交错的格 式而存储于特定累加器缓冲器内。举例来说,媒体流的一个或一个以上通道可继之以所述 媒体流的一个或一个以上其它通道。举例来说,使2通道媒体流对应于立体声音频流。在 此实例中,媒体流可如下而存储于累加器缓冲器中L0 RO Ll Rl... Ln 1 ;其中Lx为信号 样本χ的左通道值且Rx为信号样本χ的右通道信号值。在一实施例中,一个或一个以上累 加器缓冲器可具有不同大小,但此并非总是必要的。举例来说,可能需要具有不同大小的累 加器缓冲器以至少部分地容纳经写入到所述一个或一个以上缓冲器的媒体流的一个或一 个以上不同方面,例如以处理关于相应媒体流的等待时间问题中的一个或一个以上差异。 举例来说,累加器缓冲器102可具有大约192kB的大小,至少部分地使得累加器缓冲器102 可容纳长达1秒的以48KHz取样且具有16位立体声格式的音频数据,而累加器缓冲器104 可具有大约1600个字节的大小,至少部分地使得累加器缓冲器104可容纳长达IOOms的15 位单声道格式化数据。然而,应注意,这些仅仅为关于存储器单元的说明性实例,且所主张 的标的物在此方面不受限制。在一实施例中,系统100还可包括缓冲器控制器单元,例如一个或一个以上缓冲 器控制电路的组合。举例来说,缓冲器控制单元可包括第一控制器,第一控制器可操作以间 歇地将累加器缓冲器清零,至少部分地使得一个或一个以上后续媒体流可经就地处理。进 一步举例来说,缓冲器控制单元还可包括第二控制器,第二控制器可操作以提供是否已将 所述累加器缓冲器清零的指示。在此实例中,所述指示可经提供到向缓冲器写入的一个或 一个以上处理器。作为又一实例,缓冲器控制单元可包括又一控制器,所述控制器可操作以至少部分地响应于对累加器缓冲器的含有多个媒体流的一部分的已完成读取操作而将所 述媒体流的一个或一个以上部分清零。应注意,所述缓冲器控制单元可实施为一个或一个 以上电路或单元。举例来说,单独电路可提供所述缓冲器控制单元的以上功能中的一者或 一者以上,且可操作以与提供以上功能中的其它者的一个或一个以上其它电路通信,但所 主张的标的物当然在此方面不受限制。在一实施例中,在对重设解除断言时或在软件组件 启动所述缓冲器控制单元的情况下,所述缓冲器控制单元可将累加器缓冲器清零。在一实 施例中,缓冲器控制单元可至少部分地响应于读取累加器缓冲器的任何特定位置而将累加 器缓冲器中的所述特定位置清零。另外,所述缓冲器控制单元的一个或一个以上部分可物 理地安置于一个或一个以上累加器缓冲器内。举例来说,缓冲器控制单元内的控制器中的 一者或一者以上可为读取电路或与累加器缓冲器相关联的电路的一部分。同样地,缓冲器 控制单元的其它控制器可为读取电路或与累加器缓冲器的读取机构或电路相关联的电路 的一部分。在一实施例中,混合单元108可操作以将来自一个或一个以上累加器缓冲器的媒 体数据上混合(up-mix)或下混合(down-mix)到与特定DAC编解码器相关联的特定取样速 率或通道格式。在一实施例中,任选音量控制方案可应用于一个或一个以上媒体流,例如在 (举例来说)上混合或下混合过程之前。在一实施例中,上混合过程可包含其中用于媒体 流的通道的现存数目可小于用于所述媒体流的通道的所要数目的过程。在一实施例中,下 混合过程可包含其中用于媒体流的通道的现存数目大于用于所述媒体流的通道的所要数 目的过程。混合单元108可使用多种上混合或下混合过程。举例来说,混合单元108可应 用矩阵变换过程,其中输出通道的信号样本的信号值可包含输入通道的信号样本的一个或 一个以上信号值的线性组合。进一步举例来说,其它过程可包括空间处理或其它滤波,例如 HRTF滤波器、室内声学处理、HR、nR等。然而,应注意,这些仅仅为关于混合单元的说明性 实例,且所主张的标的物在此方面不受限制。图2为描绘根据一实施例的累加器缓冲器200的操作的一个或一个以上方面的示 意图。关于图2,在一实施例中,读取指针202可经维持用于一个或一个以上累加器缓冲器, 例如累加器缓冲器200。在一实施例中,读取指针202可至少部分地用于从缓冲器200读出 一个或一个以上样本。此外,如果从缓冲器200中读出样本,则读取指针202可移动到下一 样本,如累加器缓冲器210中所示。在一实施例中,读取请求可源自来自图1的一个或一个 以上源,例如混合单元108。在一实施例中,读取指针202可至少部分地基于与累加器缓冲 器200中的媒体数据相关联的通道格式、取样速率等而在累加器缓冲器200内移动。举例 来说,如果累加器缓冲器200中的通道格式包含16位立体声媒体数据,且累加器缓冲器200 包含32位位置,则读取请求可导致读取指针202响应于完成的读取请求而在累加器缓冲器 200内移动1个32位字。对于额外实例,如果缓冲器200中的通道格式包含32位6通道音 频,且累加器缓冲器200包含16位存储器位置,则读取请求可导致读取指针202响应于完 成的读取请求而在累加器缓冲器200内移动12个16位字。本质上,读取指针202通常可 在累加器缓冲器200内前移对应于大体上完整样本的量。然而,应注意,此仅仅为关于累加 器缓冲器的说明性实例,且所主张的标的物在此方面不受限制。在一实施例中,混合单元108可操作以与DAC单元110通信以至少部分地向DAC 接口单元110提供来自一个或一个以上累加器缓冲器的样本以至少部分地用于音频回放,例如通过系统100。举例来说,DAC接口单元110可从混合单元108请求一个或一个以上 样本。在一实施例中,混合单元108可从一个或一个以上累加器缓冲器请求一个或一个以 上读取动作。在至少一个实施例中,任选音量控制动作可应用于一个或一个以上媒体数据 流,以便允许混合单元108针对多个媒体数据流而确定适当混合。在一实施例中,混合单元 108可以与DAC编解码器兼容的方式而重新取样或重新格式化来自一个或一个以上累加器 缓冲器的一个或一个以上样本。此外,经重新取样或重新格式化的数据可另外经混合且经 由DAC接口单元110而传递到DAC编解码器上。然而,应注意,这些仅仅为关于混合多个媒 体流的实例,且所主张的标的物在此方面不受限制。作为一个实例,数字媒体数据可包含除 了音频数据之外的数据。然而,在一实施例中,混合单元108可将发送到DAC接口单元110的样本存储到缓 冲器(例如求和缓冲器120)中。在一实施例中,累加器缓冲器210可附接到系统总线,例 如图1所示的总线114,至少部分地使得一个或一个以上处理器可从累加器缓冲器210读取 或向累加器缓冲器210写入。在一实施例中,写入指针212可维持于累加器缓冲器210内 以至少部分地指示此处媒体数据正被或将被写入到累加器缓冲器210中。在一实施例中, 水印214也维持于累加器缓冲器210中。如本文所使用,“水印”指代(例如)缓冲器或累 加器缓冲器的存储器位置之间的分界。举例来说,水印可包含对缓冲器内的位置的指示,所 述位置对应于来自一个或一个以上源的完成的样本的末端位置、来自一个或一个以上源的 完成的写入操作的末端位置或来自一个或一个以上源的完成的读取操作的末端位置。当 然,在替代实施例中,水印可指示另一分界。举例来说,其可指示完成的样本的开始位置,等 等。然而,在此实施例中,如果写入指针(例如写入指针212)到达水印214,则可产生中断 请求,如缓冲器220中所示。举例来说,至少部分地响应于中断请求,处理器可唤醒且从缓 冲器220读出样本的至少一部分。在一实施例中,累加器缓冲器230描绘在累加器缓冲器 230内前移超出与第一处理器相关联的写入指针及水印且朝向与第二处理器相关联的水印 前移的读取指针232。以此方式,多个处理器可至少部分地基于在缓冲器内到达其相应水 印的写入指针或读取指针而向缓冲器写入、从缓冲器读取且接收中断请求。另外,如图2所 示,累加器缓冲器可包括多个写入指针及水印。举例来说,向累加器缓冲器写入的一个或一 个以上处理器可具有对应的相应写入指针及水印,至少部分地使得多个处理器可向累加器 缓冲器写入,且至少部分地使得所述累加器缓冲器可就地或原位混合或处理来自一个或一 个以上处理器的多个流。应注意,如果读取指针到达累加器缓冲器的末端,则其可反转且移 动到所述缓冲器的开始。以此方式,如图2所描绘,缓冲器可包含循环缓冲器。然而,应注 意,这些仅仅为关于缓冲器的说明性实例,且所主张的标的物在此方面不受限制。图3为描绘根据一实施例的求和缓冲器300的一个或一个以上其它方面的示意 图。在一实施例中,求和缓冲器300可包括写入指针302及水印304。如图3所示,如果写 入指针302到达水印304,则可产生中断以至少部分地发信号通知一个或一个以上处理器 开始从求和缓冲器300读取数据。另外,从求和缓冲器300读取或向求和缓冲器300写入的 处理器可设定新水印。在此特定实施例中,应在写入指针302在求和缓冲器300内前移某 一量之前读取求和缓冲器300,例如在写入指针302前移到先前写入但尚未读取的数据之 前。因此,可能需要设定水印,使得存在充足时间以使处理器在数据通过后续写入过程而被 盖写之前从求和缓冲器300中读出所述数据,但所主张的标的物当然在此方面不受限制。
图4为根据一实施例的过程400的流程图表示。关于方框402,系统或过程可设定 对应于累加器缓冲器中的一个或一个以上处理器的一个或一个以上读取指针、写入指针或 水印。举例来说,相应处理器可在累加器缓冲器内针对其自身而设定读取指针、写入指针或 水印。关于方框404,累加器缓冲器可就地或原位处理多个媒体数据信号流。举例来说,如 果多个处理器正向累加器缓冲器写入,则当那些流正被写入到所述缓冲器时,所述缓冲器 可就地或原位处理或混合这些信号。关于方框406,系统或过程可就地或原位处理额外多个 媒体数据信号流。举例来说,系统或过程可包括额外累加器缓冲器(例如关于图1所示), 其中当那些流正被写入到那些额外累加器缓冲器时,那些额外累加器缓冲器就地或原位处 理或混合额外多个媒体数据信号。关于方框408,如果已到达一个或一个以上处理器的水 印,可将信号发送到所述处理器。举例来说,如果对应于处理器的写入指针已到达对应于所 述处理器的水印,则中断产生单元可将信号发送到所述处理器以至少部分地通知所述处理 器写入应用程序已完成。或者,如果与处理器相关联的读取指针已到达与所述处理器相关 联的水印,则中断产生器可将信号发送到所述处理器以至少部分地通知所述处理器其先前 写入的数据已被读取。在一实施例中,至少部分地响应于中断信号,处理器可在累加器缓冲 器内针对其自身而设定新写入指针及水印。所述处理器还可开始到所述累加器缓冲器的新 写入操作。然而,应注意,这些仅仅为关于系统或过程的说明性实例,且所主张的标的物在 此方面不受限制。图5为根据一实施例的包括硬件混合器单元502的系统500的示意图。关于图5, 系统500可包括一个或一个以上累加器缓冲器。在此实施例中,一个或一个以上累加器缓 冲器可包含物理存储器装置504,例如缓冲器或存储器队列。另外,系统500可包括缓冲器 管理器506。在此实施例中,缓冲器管理器506可操作以在存储器装置504内建立或维持一 个或一个以上虚拟累加器缓冲器。举例来说,缓冲器管理器506可在存储器装置504内建 立虚拟累加器缓冲器508、510及512。此外,在此实施例中,虚拟累加器缓冲器508、510及 512可操作以在所述虚拟累加器缓冲器内就地混合来自一个或一个以上源的信号。举例来 说,虚拟累加器缓冲器可操作以连同如上文所论述的一个或一个以上读取指针、写入指针 及水印而就地混合来自处理器514及调制解调器516的信号。进一步举例来说,虚拟累加 器缓冲器510可同样地可操作以连同如上文所论述的一个或一个以上读取指针、写入指针 及水印而就地混合来自第二处理器518及第三处理器520的信号。另外,系统500可包括 可操作以直接或间接与所述处理器中的一者或一者以上通信的控制器522。在此实例中,控 制器522可为可操作的以实施下文所描述的读取指针或写入指针过程中的一者或一者以 上,例如关于图6及图7。此外,虽然被描绘为处于硬件混合器单元502内,但控制器522或 者可实施于所描述的处理器中的一者或一者以上处,或连同所描述的处理器中的一者或一 者以上处的电路一起实施。系统500可进一步可操作以(例如)通过使用混合器(例如, 关于图1所论述的混合器10 来重新取样经混合信号,且将这些经重新取样信号输出到求 和缓冲器,例如求和缓冲器120。如关于图1所论述,可通过数字-音频编解码器接口(例 如DAC 110)读出经求和的经重新取样信号以供由数字音频编解码器(例如DAC 130)进一 步处理。然而,应注意,这些仅仅为关于混合来自一个或一个以上处理器的信号的说明性实 例,且所主张的标的物在此方面不受限制。图6说明根据一实施例的对从累加器缓冲器的读取指针602读取操作的逻辑控制的流程图600。所述逻辑控制可由一个或一个以上电路(例如上文所描述的那些电路)执 行。水印604可由处理器经由图6所示的逻辑而设定,且可通过缓冲器控制单元而连续地 与读取指针比较。在此实例中,处理器(例如由图5中的实例所说明的处理器中的一者) 可将一个或一个以上音频样本写入到累加器缓冲器。在此实例中,如果读取指针602等于 “是”(例如在方框606处),则可在方框610处将水印信号传送到缓冲器控制单元。所述水 印信号可指示对应处理器待加电。所述水印还可使用信号V_up而向功率管理器指示对应 处理器的操作电压经升高。对应处理器接着可开始正常音频位流解码。如果读取指针不等 于水印,则可在方框608处使读取指针递增且在其到达特定累加器缓冲器或虚拟累加器缓 冲器的最大地址的情况下设定回到零。图7说明根据一实施例的水印及写入指针的逻辑控制的流程图700。所述逻辑控 制可由如上文所描述的控制器中的一者或一者以上执行。所述逻辑应在框702处检查以确 定特定处理器是否开启。如果特定处理器未开启(“否”),则可将框702处的检查执行一 次或一次以上额外次数,直到特定处理器开启(“是”)。如果特定处理器开启,则其可在正 常位流解码且将音频输出写入到特定累加器缓冲器(例如图1所示的累加器缓冲器104) 的过程中。如果如此,则可使写入指针704递增以反映由处理器提供到累加器缓冲器的额 外音频输出。另外,可在框706处比较写入指针704与读取指针602。举例来说,如果指针 602与指针704相等(“是”),则在框708处将信号V_doWn发射到与所述特定处理器相关 联的功率管理器。所述V_d0Wn信号指示应降低特定处理器的操作电压以节省能量。然而, 如果写入指针704不等于读取指针602,则处理器可将更多音频样本写入到累加器缓冲器, 且可在框710处使写入指针704递增,并在其到达特定累加器缓冲器或虚拟累加器缓冲器 的最大地址的情况下设定回到零。在框712处,所述累加器缓冲器中的下一水印可等于写 入指针减去偏移加上最大存储器地址,且在其到达特定累加器缓冲器或虚拟累加器缓冲器 的最大地址的情况下设定回到零。在一实施例中,所述偏移可考虑到经发送到与特定处理 器相关联的功率管理器的信号V_up与为使所述功率管理器升高特定处理器的操作电压所 需要的时间之间的某一量的等待时间。如图6所说明,水印可用于与读取指针比较,以至少 部分地控制何时可升高特定处理器的操作电压,即,何时可唤醒特定处理器。图8为包括硬件混合器单元802的系统800的示意图。关于图8,硬件混合器单元 802可在结构及功能性上类似于图1所示的硬件混合器单元(系统100)。在此实施例中, 一个或一个以上处理器可操作地耦合到硬件混合器单元802。举例来说,一个或一个以上处 理器可包括数字信号处理器804及串流音频源806。在此实施例中,串流音频源806可包 含例如麦克风的音频源,其信号可由模/数转换器805处理。此外,在此实施例中,数字信 号处理器804及串流音频源806可在由硬件混合器单元802接收之前与一个或一个以上多 路复用器807组合。系统800可进一步包括一个或一个以上BDBT处理器808 (例如提供对 应于数字广播格式的信号的一个或一个以上处理器)、蓝牙装置810、MIDI硬件处理器812 或USB装置814(例如一个或一个以上USB兼容音频源)(仅举几个实例)。如上文所论述, 来自这些源中的一者或一者以上的信号可在硬件混合单元802中经就地组合,例如通过使 用一个或一个以上累加器缓冲器或虚拟累加器缓冲器连同(举例来说)混合器及求和缓冲 器。然而,应注意,这些仅为关于可由硬件混合器处理的一个或一个以上信号的源的说明性 实例,且所主张的标的物在此方面不应受限制。
应注意,虽然已以特定次序而描述上文的系统、方法或过程的方面,但如由这些实 例所提供的特定次序是非限制性的。还应注意,本文所描述的系统、方法或过程可能能够 由一个或一个以上计算平台执行。另外,本文所描述的方法或过程可能能够作为一个或一 个以上机器可读指令或软件指令而存储于存储媒体上,所述一个或一个以上机器可读指令 或软件指令在经执行的情况下可使计算平台能够执行一个或一个以上动作。如本文所提到 的“存储媒体”涉及能够存储可由一个或一个以上装置或机器操作或执行的信息或指令的 媒体。举例来说,存储媒体可包含用于存储机器可读指令或信息的一个或一个以上存储装 置。所述存储装置可包含若干媒体类型中的任一者,包括(例如)磁性、光学或半导体存储 媒体。进一步举例来说,根据所主张的标的物(例如本文所描述的方法或过程),一个或一 个以上计算平台可适于执行一个或一个以上过程或方法。然而,这些仅仅为关于存储媒体 及计算平台的实例,且所主张的标的物在此等方面不受限制。同样地,如本文所使用的术语“及”、“及/或”及“或”可包括将至少部分地视其被 使用的上下文而定的多种意义。通常,“及/或”以及“或”在用以使例如A、B或C的列表相 关联的情况下既定意味着A、B及C (此处在包括在内的意义上进行使用)以及A、B或C (此 处在排除在外的意义上进行使用)。另外,如本文所使用的术语“一个或一个以上”可用以 描述以单数形式的任何特征、结构或特性,或可用以描述特征、结构或特性的某一组合。然 而,应注意,此仅仅为说明性实例,且所主张的标的物不限制于此实例。上文所呈现的详细描述的一些部分是依据对存储于特定设备或专用计算装置、设 备或平台的存储器内的二进制数字信号的操作的算法或符号表示方面而呈现。在此特定说 明书的上下文中,术语特定设备、专用计算装置及/或其类似者可包括通用计算机或其它 计算装置,例如个人数字助理、便携式电话、蜂窝电话、智能电话等,一旦其经编程以依据来 自程序软件的指令而执行特定功能。算法描述或符号表示由信号处理或相关领域内的技 术人员用以将其工作的实质传送到其它所属领域的技术人员的技术的实例。此处且通常, 算法被视为导致所要结果的自相一致的运算序列或类似的信号处理。在此上下文中,运算 或处理涉及物理量的物理操纵。通常(但不必要),所述量可采取能够被存储、传送、组合、 比较或以另外方式操纵的电或磁信号的形式。有时已证明方便的是(主要出于普通使用的 原因)将所述信号称作位、数据、值、元素、符号、字符、项、数目、数字及/或类似者。然而, 应理解,所有这些或类似术语均待与适当物理量相关联且仅仅为方便的标记。除非另有特 定陈述,否则,如从以下论述中显而易见,应了解,贯穿本说明书,禾Ij用例如“处理”、“计算”、 “演算”、“确定”、“混合”及/或其类似者等术语的论述指代例如专用计算机、专用计算设备 或类似专用电子计算装置等特定设备的动作或过程。因此,在本说明书的上下文中,专用计 算机或类似专用电子计算装置能够操纵或变换信号,通常表示为专用计算机或类似专用电 子计算装置的存储器、寄存器或其它信息存储装置、发射装置、音频装置或显示装置内的物 理电子或磁量。在前述描述中,已描述所主张的标的物的各种方面。为了解释的目的,阐明特定数 目、系统或配置以提供对所主张的标的物的透彻理解。然而,对于受益于本发明的所属领域 的技术人员来说应显而易见的是,可在无特定细节的情况下实践所主张的标的物。在其它 例子中,省略或简化将被所属领域的技术人员所理解的特征,以便不使所主张的标的物模 糊不清。虽然本文已说明或描述某些特征,但所属领域的技术人员现将联想到许多修改、取代、改变或等效物。因此,应理解,希望所附权利要求书涵盖属于所主张的标的物的实际精 神内的所有所述修改或改变。
权利要求
1.一种设备,其包含累加器缓冲器,其经耦合以便就地处理多个媒体数据信号流。
2.根据权利要求1所述的设备,其中所述多个媒体数据信号流具有相同取样速率。
3.根据权利要求2所述的设备,其中所述多个媒体数据信号流包含音频信号。
4.根据权利要求2所述的设备,且其进一步包含一个或一个以上额外累加器缓冲器, 所述一个或一个以上额外累加器缓冲器经耦合以便就地处理相应多个媒体数据信号流,其 中所述一个或一个以上额外累加器缓冲器对应于一个或一个以上额外取样速率。
5.根据权利要求1所述的设备,其中所述多个媒体数据流至少部分地由多个源产生。
6.根据权利要求5所述的设备,其中所述累加器缓冲器包含对应于所述多个源中的至 少一者或一者以上的相应读取指针、写入指针及水印。
7.根据权利要求6所述的设备,且其进一步包含控制器,其可操作以间歇地将所述累加器缓冲器清零,至少部分地使得可就地处理一 个或一个以上后续媒体流。
8.根据权利要求7所述的设备,其中所述控制器进一步可操作以提供是否已将所述累 加器缓冲器清零的指示。
9.根据权利要求7所述的设备,其中所述控制器进一步可操作以至少部分地响应于完 成的读取操作而将所述多个媒体流的一个或一个以上部分清零。
10.根据权利要求1所述的设备,其中所述多个媒体数据流中的所述至少两者相对于 时间至少部分地重叠。
11.根据权利要求1所述的设备,其中所述多个媒体数据流包含数字化音频数据、数字 化视频数据、数字化成像数据、数字化无线电数据及数字化电视数据中的至少一者。
12.—种系统,其包含一个或一个以上处理器;以及累加器缓冲器,其经耦合以便就地处理多个媒体数据信号流。
13.根据权利要求12所述的系统,其中所述多个媒体数据信号流具有相同取样速率。
14.根据权利要求13所述的系统,其中所述多个媒体数据信号流包含音频信号。
15.根据权利要求13所述的系统,且其进一步包含一个或一个以上额外累加器缓冲 器,所述一个或一个以上额外累加器缓冲器经耦合以便就地处理相应多个媒体数据信号 流,其中所述一个或一个以上额外累加器缓冲器对应于一个或一个以上额外取样速率。
16.根据权利要求12所述的系统,其中所述多个媒体数据流至少部分地由所述一个或 一个以上处理器产生。
17.根据权利要求16所述的系统,其中所述累加器缓冲器包含对应于所述一个或一个 以上处理器中的至少一者或一者以上的相应读取指针、写入指针及水印。
18.根据权利要求12所述的系统,其中所述多个媒体数据流中的所述至少两者至少相 对于时间至少部分地重叠。
19.根据权利要求18所述的系统,其中所述多个媒体数据流包含数字化音频数据、数 字化视频数据、数字化成像数据、数字化无线电数据及数字化电视数据中的至少一者。
20.根据权利要求12所述的系统,且其进一步包含混合器,其至少部分地可操作以组合一个或一个以上经累加数据流。
21.根据权利要求20所述的系统,且其进一步包含求和缓冲器,其至少部分地可操作以存储一个或一个以上经组合数据流。
22.根据权利要求20所述的系统,且其进一步包含重新取样器,其至少部分地可操作以将一个或一个以上经累加数据流重新取样到不同 取样速率或格式。
23.根据权利要求22所述的系统,其中所述重新取样器进一步可操作以将至少两个经 累加数据流重新取样到共同取样速率或格式。
24.一种方法,其包含在累加器缓冲器中就地处理多个媒体数据信号流。
25.根据权利要求M所述的方法,其中所述累加器缓冲器耦合到多个媒体数据信号流 的一个或一个以上源。
26.根据权利要求M所述的方法,其中所述多个媒体数据信号流具有相同取样速率。
27.根据权利要求沈所述的方法,其中所述多个媒体数据信号流包含音频信号。
28.根据权利要求沈所述的方法,且其进一步包含在对应的一个或一个以上额外累加 器缓冲器中就地处理额外多个媒体数据信号流,其中所述一个或一个以上额外累加器缓冲 器对应于一个或一个以上额外取样速率。
29.根据权利要求M所述的方法,其中至少部分地由一个或一个以上源产生所述多个 媒体数据流。
30.根据权利要求四所述的方法,其中所述累加器缓冲器包含对应于所述一个或一个 以上处理器中的至少一者或一者以上的相应读取指针、写入指针及水印。
31.根据权利要求30所述的方法,且其进一步包含针对所述一个或一个以上处理器 中的至少一者设定所述读取指针、所述写入指针及所述水印。
32.根据权利要求31所述的方法,且其进一步包含如果已到达所述一个或一个以上 处理器中的所述至少一者的相应水印,则将信号发送到所述一个或一个以上处理器中的所 述至少一者。
33.根据权利要求M所述的方法,其中所述多个媒体数据流中的所述至少两者至少相 对于时间至少部分地重叠。
34.根据权利要求33所述的方法,其中所述多个媒体数据流包含数字化音频数据、数 字化视频数据、数字化成像数据、数字化无线电数据及数字化电视数据中的至少一者。
35.一种系统,其包含用于产生多个媒体数据信号流的装置;以及用于在累加器缓冲器中就地处理所述多个媒体数据信号流的装置。
36.根据权利要求35所述的系统,其中所述多个媒体数据信号流具有相同取样速率。
37.根据权利要求36所述的系统,其中所述多个媒体数据信号流包含音频信号。
38.根据权利要求36所述的系统,且其进一步包含用于在一个或一个以上额外累加器 缓冲器中就地处理额外相应多个媒体数据信号流的一个或一个以上额外装置,其中所述一 个或一个以上额外累加器缓冲器对应于一个或一个以上额外取样速率。
39.根据权利要求35所述的系统,其中所述累加器缓冲器包含对应于所述用于产生多 个媒体数据信号流的装置中的至少一者或一者以上的相应读取指针、写入指针及水印。
40.根据权利要求35所述的系统,其中所述多个媒体数据流中的所述至少两者至少相 对于时间至少部分地重叠。
41.根据权利要求40所述的系统,其中所述多个媒体数据流包含数字化音频数据、数 字化视频数据、数字化成像数据、数字化无线电数据及数字化电视数据中的至少一者。
全文摘要
本发明揭示与组合或混合数字媒体流相关联的方法、设备、装置及系统的实施例。
文档编号H04L29/06GK102067556SQ200980123137
公开日2011年5月18日 申请日期2009年7月23日 优先权日2008年7月23日
发明者亚历克斯·扬, 尼迪什·R·卡马特, 斯里瓦特桑·斯里尼瓦桑, 普拉加克特·库尔卡尼, 罗伯特·瓦尚, 萨蒂什·戈韦尔丹 申请人:高通股份有限公司