CN1934646B - 使音频处理模块同步的方法和系统 - Google Patents
使音频处理模块同步的方法和系统 Download PDFInfo
- Publication number
- CN1934646B CN1934646B CN2005800093838A CN200580009383A CN1934646B CN 1934646 B CN1934646 B CN 1934646B CN 2005800093838 A CN2005800093838 A CN 2005800093838A CN 200580009383 A CN200580009383 A CN 200580009383A CN 1934646 B CN1934646 B CN 1934646B
- Authority
- CN
- China
- Prior art keywords
- processing modules
- audio processing
- clock source
- audio
- voice data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims abstract description 185
- 238000000034 method Methods 0.000 title claims description 27
- 238000005070 sampling Methods 0.000 claims description 56
- 230000001360 synchronised effect Effects 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 10
- 239000004615 ingredient Substances 0.000 claims description 7
- 230000000875 corresponding effect Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 5
- 238000010168 coupling process Methods 0.000 description 5
- 238000005859 coupling reaction Methods 0.000 description 5
- 241001269238 Data Species 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 244000188472 Ilex paraguariensis Species 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10009—Improvement or modification of read or write signals
- G11B20/10037—A/D conversion, D/A conversion, sampling, slicing and digital quantisation or adjusting parameters thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/10537—Audio or video recording
- G11B2020/10546—Audio or video recording specifically adapted for audio data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Stereophonic System (AREA)
- Electrophonic Musical Instruments (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
本发明提供一种具有完全独立的音频处理模块的音频系统。所述音频系统包含复数个音频处理模块、一时钟管理器、一抽样率转换器和一缓冲器。所述音频处理模块通信地耦合到所述时钟管理器和所述缓冲器。所述抽样率转换器通信地耦合到所述时钟管理器和所述缓冲器。所述缓冲器用于存储由所述音频处理模块产生并消耗的音频数据。所述时钟管理器用于确定每一音频处理模块的时钟源。所述时钟管理器还用于将所述音频处理模块和所述抽样率转换器配置成每一音频处理模块的所述时钟源的一函数。当一第一与第二音频处理模块的所述时钟源不同时,所述抽样率转换器用于使由所述第一音频处理模块产生的音频数据的一流速与由所述第二音频处理模块消耗的音频数据的一流速同步。
Description
技术领域
本文涉及一种使音频处理模块同步的方法和系统。
背景技术
利用遗留计算装置(Legacy computing device)来创建文档、电子数据表和电子邮件。这些计算装置提供单声道声音,主要利用所述声音来指示系统事件的发生。现在计算装置还用来玩游戏、因特网上冲浪、收听音乐、观看电影和类似用途。因此,常规的计算装置提供多信道音频能力。
参看图1,展示根据常规技术计算机系统的音频部分的方框图。如图1所描绘,计算机包含处理器110、存储器120、音频系统130和输出装置(例如,扬声器)140。音频系统130通信地耦合在处理器110、存储器120与输出装置140之间。
处理器110提供操作系统和一个或一个以上应用程序。所述应用程序的一者或一者以上可促使处理器110提供一个或一个以上声音。处理器110向音频系统130发布命令,所述命令含有将要播放的一个或一个以上波表在存储器120中的位置(例如,地址)和将要用来播放声音的参数。波表由声音的一系列数字样本组成。参数可包含将要从波表产生的声音的频率(例如,音调)、描述随着时间的过去声音的振幅的包络(例如,起声、维持、衰落),和调制频率的颤音。音频系统130响应于来自处理器110的命令而从存储在存储器120中的波表检索一个或一个以上声音。音频系统130根据参数来处理声音,藉此产生音频数据。音频系统130接着将音频数据转换为可在给定的输出装置(例如,扬声器)140上播放的模拟输出。
预期计算机用户将继续需求用于传递高清晰度视频、高清晰度音频、流动视频、流动音频、多人游戏和/或其它随选音频和视频内容的改进的音频系统。因此,音频系统需要提供不断增强的音频处理能力,同时使处理器利用和总线流通量最小化。因此,需要一种能够处理来自复数个应用程序的多个声音的改进的音频系统,所述声音可在处理器利用减小、总线流通量的产生减小且等待时间缩短的情况下输出到任何数目的输出装置。
发明内容
本揭示案的实施例针对一种能够处理来自复数个应用程序的多个声音的改进的音频系统,所述声音可在处理器利用减小、总线流通量的产生减小且等待时间缩短的情况下输出到任何数目的输出装置。在一个实施例中,音频系统包含复数个音频处理模块、时钟管理器、抽样率转换器和缓冲器。音频处理模块通信地耦合到时钟管理器和缓冲器。抽样率转换器通信地耦合到时钟管理器和缓冲器。缓冲器为存储由音频处理模块产生并消耗的音频数据作准备。时钟管理器为确定每一音频处理模块的时钟源作准备。时钟管理器也为将音频处理模块和抽样率转换器配置成每一音频处理模块的时钟源的函数作准备。当第一与第二音频处理模块的时钟源不同时,所述抽样率转换器为使由第一音频处理模块产生的音频数据的流速与由第二音频处理模块消耗的音频数据的流速同步作准备。
在另一实施例中,一种使音频系统的音频处理模块同步的方法,包含当一组音频处理模块利用共同的时钟源时,配置相关组的音频处理模块的第一者(例如,音频硬件加速器)以便通过缓冲器将第一组音频数据传送到相关组的音频处理模块的第二者(例如,音频硬件渲染器)。因此,当发现两个或两个以上装置具有相同时钟源(例如,硬件时钟)时,软件接着可回避在装置之间引入速率控制或抽样率转换器以防止数据的下溢或溢出的需要。当所述组音频处理模块不利用共同的时钟源时,所述方法包含配置相关组的音频处理模块的第一者以便将第一组音频数据存储在第一缓冲器中。抽样率转换器经配置以便从第一缓冲器接收第一组音频数据,并将第二组音频数据存储在第二缓冲器中。抽样率转换器还经配置以便使进入第一缓冲器中的第一组音频数据的流率与离开第二缓冲器的第二组音频数据的流率同步。相关组的音频处理模块的第二者经配置以便当所述组音频处理模块不利用共同的时钟源时从第二缓冲器接收第二组音频数据。
在另一实施例中,一种使音频处理模块同步的方法,包含当相关组的音频处理模块共享共同的时钟源时在第一模式下操作音频系统。第一模式包含将由相关组的音频处理模块的第一者产生的音频数据存储在共享缓冲器中。第一模式进一步包含从共享缓冲器接收由相关组的音频处理模块的第二者消耗的音频数据。当相关组的音频处理模不共享共同的时钟源时,音频系统在第二模式下操作。第二模式包含将由相关组的音频处理模块的第一者产生的音频数据存储在输入缓冲器中,和从输出缓冲器接收由相关组的音频处理模块的第二者消耗的音频数据。第二模式进一步包含使存储在输入缓冲器中的音频数据的流率与从输出缓冲器接收的音频数据的流率同步。
在另一实施例中,一种计算装置实施的音频系统包含存储器控制器集线器、处理器、主存储器和音频系统。处理器、主存储器和音频系统每一者通信地耦合到存储器控制器集线器。音频系统包含时钟管理器、复数个音频处理模块、抽样率转换器和缓冲器。复数个音频处理模块通信地耦合到时钟管理器和缓冲器。抽样率转换器通信地耦合到时钟管理器和缓冲器。
本揭示案的实施例有利地允许音频处理模块充当完全独立的装置。本揭示案的实施例有利地当音频处理模块不共享共同的时钟源时使音频处理模块同步。当音频处理模块共享共同的时钟源时,本揭示案的实施例可排除使音频处理模块同步的开销。
附图说明
附图的图式中以举例的方式而不以限定的方式说明本揭示案,附图中相似参考标号表示类似元件,且其中:
图1展示根据现有技术计算机系统的音频部分的方框图。
图2展示根据本揭示案的一个实施例电子音频系统的方框图。
图3展示根据本揭示案的一个实施例包含一个或一个以上加速器和渲染器的音频系统的方框图。
图4展示根据本揭示案的一个实施例包含一个或一个以上局域级(local stage)和一全局级(global stage)的音频系统的方框图。
图5展示根据本揭示案的一个实施例使音频处理模块同步的方法的流程图。
图6展示用于实施本揭示案的实施例的示范性计算平台。
具体实施方式
现将详细参照本揭示案的实施例,其实例在附图中予以说明。虽然将结合这些实施例来描述本揭示案,但应了解,不希望它们将本揭示案限于这些实施例。相反,希望本揭示案涵盖可包含在由所附权利要求书界定的本揭示案范围内的替代形式、修改和等效物。此外,在本揭示案的以下具体实施方式中,陈述大量特定细节以便提供对本揭示案的彻底理解。然而,应了解,可在没有这些特定细节的前提下实践本揭示案。在其它情况下,为了不会不必要地混淆本揭示案的各方面,并未详细描述众所周知的方法、程序、组件和电路。
参看图2,展示根据本揭示案的一个实施例电子音频系统200的方框图。如图2所描绘,音频系统200耦合在一个或一个以上应用程序(例如,音乐播放器、游戏和/或类似物)210、212、214与一个或一个以上输出装置(例如,扬声器、PCI控制器、USB控制器、火线控制器和/或类似物)290、292之间。通常,特定应用程序210产生一个或一个以上声音。所述声音由音频系统200处理并输出到适当的输出装置290。
音频系统200包含复数个音频处理模块220、225、240、245、时钟管理器260、抽样率转换器270和缓冲器280。音频处理模块220、225、240、245可通信地耦合到时钟管理器260并耦合到缓冲器280。抽样率转换器270可通信地耦合到时钟管理器260并耦合到缓冲器280。
在一个实施方案中,如下文参看图3详细描述,第一音频处理模块可为加速器模块,且第二音频处理模块可为渲染器模块。在另一实施方案中,如下文参看图4详细描述,第一音频处理模块可为局域极,且第二音频处理模块可为全局级。
一个或一个以上音频处理模块(例如,加速器模块和渲染器模块,或局域极和全局级)220、245可彼此关联以便处理由特定应用程序210产生的声音。当相关的音频处理模块220、245正由于不同的时钟源230、255而操作时,音频数据的产生和消耗的速率将不同。即使两个音频处理模块220、245正由于以相同速率操作的不同的时钟源而操作,也将存在某一偏差(例如,48.1KHz和47.9KHz)。当音频处现模块220、245正由于相同的时钟源230而操作时,时钟率准确地匹配(例如,48KHz)。
根据本揭示案的实施例,时钟管理器260将音频处理模块220、245和抽样率转换器270配置成音频处理模块220、245的每一者的时钟源230、250的函数。如果相关的音频处理模块220、245共享共同的时钟源230,那么音频处理模块220、245分别由时钟管理器260配置以便在共享缓冲器282中存储并检索音频数据。如果相关的音频处理模块220、245不由于共同的时钟源230、255而操作,那么第一音频处理模块220由时钟管理器260配置以便将其输出音频数据存储在输入缓冲器284中。第二音频处理模块245由时钟管理器260配置以便从输出缓冲器286接收音频数据。抽样率转换器270由时钟管理器260配置以便通过在音频数据中插入和/或删除额外样本来修改音频数据,藉此使存储在输入缓冲器284中的音频数据的流率与从输出缓冲器286接收的音频数据的流率同步。
或者,抽样率转换器270可通过监控共享缓冲器的输入指针和共享缓冲器的输出指针来提供产生/消耗速率匹配。抽样率转换器270可视输入和输出指针值而定促使第一音频处理模块220和/或第二音频处理模块245加速或减速。因此,第二音频处理模块245的输出率与第一音频处理模块220的输入率匹配,使得两者保持锁定在同步状态。
应了解,在另一实施方案中,复数个音频处理模块220、225可产生对应于每一音频处理模块220、225所接收声音的音频数据。单个音频处理模块245可消耗所述音频数据。在另一实施方案中,单个音频处理模块220可产生对应于接收到的一个或一个以上声音的音频数据。复数个音频处理模块240、245可消耗所述音频数据。在又一实施方案中,第一复数个音频处理模块220、225可产生对应于接收到的一个或一个以上声音的音频数据。第二复数个音频处理模块240、245可消耗所述音频数据。
现参看图3,其展示根据本揭示案的一个实施例包含一个或一个以上加速器320、325和渲染器340、345的音频系统300的方框图。如图3所描绘,音频系统300可耦合在一个或一个以上应用程序310、315与一个或一个以上输出装置390之间。通常,特定应用程序310产生一个或一个以上声音。所述声音由音频系统300处理并输出到适当的输出装置390。
音频系统300可包含复数个音频处理模块320、325、340、345、时钟管理器360、抽样率转换器370和缓冲器380。音频处理模块的一者或一者以上可为加速器模块320、325。音频处理模块的一者或一者以上可为渲染器模块340、345。特定加速器模块320通常与特定渲染器模块340关联以便处理来自特定应用程序310的声音。相关的加速器和渲染器模块320、340可通信地耦合到时钟管理器360和缓冲器380。抽样率转换器370可通信地耦合到时钟管理器360和缓冲器380。
分别由相关的加速器和渲染器模块320、340产生或消耗的音频数据的流率是驱动给定的模块的时钟的函数。每一相关的时钟可来自不同的时钟源330、350,或相关的时钟的一者或一者以上可来自相同的时钟源330。如果时钟源330对于一组相关的加速器和渲染器模块320、340来说是相同的,那么所产生与所消耗的音频数据的速率将相等。如果时钟源330、350对于一组相关的加速器和渲染器模块320、340来说是不同的,那么所产生与所消耗的音频数据的速率将不相等。即使两个时钟源330、350正以相同的频率操作,也将存在操作频率上的某一偏差,且因此相关的加速器和渲染器模块320、340的产生和消耗的速率将不同。只有当加速器和渲染器模块320、340正由于相同的时钟源330而操作时,操作频率才会匹配,且因此相关的模块320、340之间的产生和消耗的速率也将匹配。
因此,时钟管理器360将确定每一相关的加速器和渲染器模块320、340的时钟源330、350。在一个实施方案中,每一加速器和渲染器模块320、340向时钟管理器360登记全局唯一识别符(GUID)。每一GUID识别特定加速器或渲染器模块的时钟源。时钟管理器360接着部分地基于相关的加速器模块320的时钟源330和相关的渲染器模块340的时钟源350来配置每一相关的加速器和渲染器模块320、340以及抽样率转换器370。
当发现相关的加速器和渲染器模块320、340使用相同的时钟源330(例如,48KHz)时,时钟管理器360配置加速器模块320在第一模式下操作。在第一模式下,加速器模块320将其音频数据输出到缓冲器382的共享部分。相关的渲染器模块340经配置以便从缓冲器382的共享部分接收其输入音频数据。因此,加速器模块320将音频数据直接输出到缓冲器382的共享部分,渲染器模块340从缓冲器382的共享部分消耗音频数据。在第一模式下,加速器模块320输出音频数据与渲染器模块340输入音频数据之间的等待时间约为2ms或更少。在一个实施方案中,缓冲器382的共享部分可约为1-10KB。
当相关的加速器和渲染器模块320、340使用不同的时钟源330、350时,时钟管理器360配置模块320、340和抽样率转换器370在第二模式下操作。在第二模式下,相关的加速器模块320经配置以便将其音频数据输出到缓冲器384的输入部分。相关的渲染器模块340经配置以便从缓冲器386的输出部分接收其输入音频数据。抽样率转换器370经配置以便将进入缓冲器384的输入部分的流率与离开缓冲器386的输出部分的流率匹配。因此,抽样率转换器370从缓冲器384的输入部分检索音频数据,且可引入和/或排除额外的数据样本。抽样率转换器370接着将经修改的音频数据输出到缓冲器386的输出部分。因此,加速器模块320的输出率与渲染器模块340的输入率匹配,使得两者保持锁定在同步状态。在第二模式下,当利用抽样率转换时,从加速器模块320输出音频数据与渲染器模块340进行输入之间的等待时间通常约为15-20ms。在一个实施方案中,缓冲器384、386的输入部分和输出部分每一者可约为100-200KB。
应了解,音频系统可实施在硬件、软件、韧件或其组合中。举例来说,加速器模块、时钟管理器和抽样率转换器可实施在软件中。渲染器模块可包含实施在软件中的渲染器驱动器和渲染器硬件(例如,编码器/解码器(CODEC))。缓冲器可实施在系统存储器(例如,动态随机访问存储器(DRAM))中。
尽管已参考音频输出流(例如,重播)描述了音频系统300的操作,但应了解,音频系统300也可为处理输入流(例如,记录)作准备。举例来说,渲染器模块(例如,CODEC)345可从输入装置(例如,麦克风)395接收模拟音频信号。渲染器模块345可将模拟音频信号转换成数字音频数据,数字音频数据存储在缓冲器380中。时钟管理器360将加速器模块325、渲染器模块345、抽样率转换器370和缓冲器380配置成渲染器和加速器模块325、345的时钟源330、350的函数。如果渲染器和加速器模块325、345不由于共同的时钟源而操作,那么插入抽样率转换器以便使加速器与渲染器模块325、345之间的数据的流率同步。加速器模块325从缓冲器380接收音频数据,并根据给定的应用程序315来处理所述音频数据。接着通常将经处理的音频数据存储在主存储器中且/或存储在大容量存储装置(例如,硬盘驱动器)中供将来重播。
现参看图4,展示根据本揭示案的一个实施例包含一个或一个以上局域级423、425和全局级427的音频系统的方框图。如图4所描绘,音频系统包含加速器模块420、时钟管理器460、抽样率转换器470、缓冲器480和渲染器(未图示)。加速器模块420包含一个或一个以上局域级423、425和全局级427。局域级423、425和全局级427每一者通信地耦合到时钟管理器460和缓冲器480。抽样率转换器470通信地耦合到时钟管理器460和缓冲器480。时钟管理器460将局域级423、425、全局级427和抽样率转换器470配置成局域级423、425和全局级427的每一者的时钟源的函数。
局域级423、425和全局级427的每一者向时钟管理器460登记全局唯一识别符(GUID)。GUID识别每一局域级423、425和全局级427的时钟的来源。此后,一个或一个以上局域级423、425从一个或一个以上应用程序接收声音,并产生对应于一个或一个以上声音的音频数据。如果特定局域级423和全局级427共享共同的时钟源,那么局域级423和全局级427分别由时钟管理器460配置以便在缓冲器482的共享部分中存储并检索音频数据。如果特定局域级423和全局级427由于不同的时钟源而操作,那么时钟管理器460配置局域级423以便将其音频数据输出到缓冲器484的输入部分。全局级427经配置以便从缓冲器486的输出部分接收其输入音频数据。抽样率转换器470经配置以便从缓冲器484的输入部分接收音频数据并引入且/或排除额外的数据样本。抽样率转换器470接着将经修改的音频数据输出到缓冲器486的输出部分。因此,在局域级423与全局级427之间维持同步。
举例来说,应用程序(例如,视频游戏)可以是产生复数个声音(枪击、尖叫、火车等)。对应于应用程序的特定局域级423将复数个声音混合并将其输出到缓冲器480。当局域级423和全局级427不具有共同的时钟源时,抽样率转换器470使由局域级423产生的音频数据的流率与由全局级427消耗的音频数据的流率同步。否则,当级423、427具有共同的时钟源时,在不需要同步的情况下,局域级423将音频数据存储在缓冲器482的共享部分中,且全局级427消耗所述音频数据。全局级可提供对音频数据的处理,例如混响。由全局级427输出的音频数据可存储在缓冲器中供一个或一个以上渲染器模块消耗。
在另一实例中,缓冲器480存储由复数个局域级423、425的每一者产生并由全局级427消耗的音频数据。当一个或一个以上级不具有共同的时钟源时,抽样率转换器470使由局域级423、425产生的音频数据的流率与由全局级427消耗的音频数据的流率同步。否则,当级423、425、427具有共同的时钟源时,在不需要同步的情况下,局域级423、425将音频数据存储在缓冲器480中,且全局级427消耗所述音频数据。此后,全局级427将由每一局域级423、425产生的音频数据混合在一起以产生供输出(例如,由渲染器模块进行进一步处理)的音频数据。
尽管已参考音频输出流(例如,重播)描述了音频系统的操作,但应了解,音频系统也可为处理输入流(例如,记录)作准备。还应了解,渲染器模块还可包含一个或一个以上局域级和一全局级。
现参看图5,展示根据本揭示案的一个实施例使音频处理模块同步的计算机实施的方法的流程图。如图5所描述,在510处,所述方法以每一音频处理模块(例如,加速器、渲染器、局域级、全局级)向时钟管理器登记开始。登记过程包含识别每一音频处理模块的源时钟。在一个实施方案中,例如,音频处理模块的每一者通过提供全局唯一识别符(GUID)向时钟管理器登记。
在520处,时钟管理器确定相关组的音频处理模块的时钟是否来自相同时钟源。在一个实施方案中,每一加速器和渲染器模块的GUID识别其时钟源。类似地,每一局域和全局级的GUID识别其源时钟。
在530处,如果模块由于相同的时钟源而操作,那么时钟管理器配置相关的音频处理模块在第一模式下操作。在一个实施方案中,相关的加速器模块经配置以便将其音频数据输出到缓冲器的共享部分。相关的渲染器模块经配置以便从缓冲器的共享部分检索音频数据。类似地,局域级经配置以便将其音频数据输出到缓冲器的共享部分。全局级经配置以便从缓冲器的共享部分检索音频数据。
如果音频处理模块由于不同的时钟源而操作,那么本揭示案的时钟管理器配置相关的音频处理模块和抽样率转换器在第二模式下操作。在540处,当相关的音频处理模块不利用共同的时钟源时,产生音频的音频处理模块经配置以便通过缓冲器的输入部分将其音频数据传送到抽样率转换器。在一个实施方案中,加速器模块将音频数据存储在缓冲器的输入部分中。类似地,当局域和全局级不利用共同的时钟源时,局域级将音频数据存储在缓冲器的输入部分中。
在550处,抽样率转换器经配置以便使缓冲器的输入与输出部分之间的流率同步。在一个实施方案中,当相关的加速器和渲染器模块不利用共同的时钟源时,抽样率转换器从输入缓冲器检索音频数据。抽样率转换器监控加速器模块的音频数据产生的速率和渲染器模块的消耗的速率,并引入且/或排除额外的数据样本以便维持同步。类似地,抽样率转换器监控局域级的音频数据产生的速率和全局级的消耗的速率,并引入且/或排除额外的数据样本以便维持同步。在引入且/或排除额外的数据样本之后,抽样率转换器将音频数据输出到缓冲器的输出部分。
在图5的560处,消耗音频数据的音频处理模块经配置以便通过缓冲器的输出部分从抽样率转换器接收音频数据。在一个实施方案中,当加速器和渲染器模块不利用共同的时钟源时,相关的渲染器模块从缓冲器的输出部分接收音频数据。类似地,当局域和全局级不利用共同的时钟源时,全局级从缓冲器的输出部分接收音频数据。
现参看图6,展示用于实施本揭示案的实施例的示范性计算平台。尽管参考计算装置进行说明,但应了解,本发明实施例可实施在游戏控制台、便携式游戏系统、个人数字设备、组合式机顶盒/游戏控制台、智能电话,或其它移动电话、基于计算机的模拟器、便携式娱乐中心,或产生声音的类似装置中。如图6所描绘,示范性计算装置包含处理器(CPU)610、存储器控制器集线器(例如,北桥)615、主存储器620、图形处理器(GPU)625和输入/输出控制器集线器(例如,南桥)630。处理器610、图形处理器625、主存储器620和I/O集线器控制器集线器630可能通信地耦合到存储器控制器集线器615。或者,图形处理器625可实施成存储器控制器集线器615的组成部分(未图示)。示范性计算装置还可包含外围组件,例如显示器、键盘、定点装置、大容量数据存储装置(一个或一个以上)、扬声器(一个或一个以上)和类似物,它们通过可适用的总线635-655(PCI总线、USB、火线、以太网、ISA总线等)而耦合到输入/输出控制器集线器630。
存储器控制器集线器615为在处理器610、主存储器620、图形处理器625与输入/输出控制器集线器630之间传输信息和指令作准备。输入/输出控制器集线器630为在存储器控制器集线器615与由各种总线635-655连接的各种输入/输出装置之间传输信息和指令作准备。主存储器620为存储信息和指令作准备。处理器610处理信息和指令,藉此提供操作系统和一个或一个以上应用程序。类似地,图形处理器处理信息和指令,藉此提供供显示给用户的视频数据。
计算装置进一步包含根据本揭示案的上述实施例中的一者或一者以上的音频系统660。在一个实施方案中,音频系统660是输入/输出控制器集线器630的组成部分。音频系统660包含一个或一个以上音频处理模块、时钟管理器、抽样率转换器。每一音频处理模块可提供一个或一个以上功能,例如混合、多信道转换(例如,立体声、环绕声)、三维位置计算(例如,与头有关的转移功能(head related transfer function),高度、方向等)和各种效果(例如,齐声、混响、堵塞(obstruction)、阻塞(occlusion)、均衡、串音取消等)。
音频系统660的时钟管理器轮询音频处理模块以确定每一模块的时钟的来源。此后,音频处理模块的一者或一者以上(例如,加速器、局域级)可产生音频数据,同时一个或一个以上音频处理模块的(例如,加速器、局域级、渲染器、全局级)消耗所述音频数据。举例来说,第一音频处理模块产生对应于接收到的一个或一个以上声音的音频数据。第二音频处理模块消耗所述音频数据。如果第一和第二音频处理模块共享共同的时钟源,那么时钟管理器配置第一音频处理模块以便将产生的音频数据输出到缓冲器的共享部分。时钟管理器还配置第二音频处理模块以便从缓冲器的共享部分消耗音频数据。如果第一和第二音频处理模块由于不同的时钟源而操作,那么时钟管理器配置第一音频处理模块以便将产生的音频数据输出到缓冲器的输入部分。抽样率转换器由时钟管理器配置以便从缓冲器的输入部分检索音频数据,并引入或排除额外的数据样本以维持同步。抽样率转换器接着将音频数据输出到缓冲器的输出部分。当第一和第二音频处理模块由于不同的时钟源而操作时,时钟管理器还配置第二音频处理模块以便从缓冲器的输出部分消耗音频数据。
音频系统660的缓冲器可实施在主存储器(例如,共享存储器访问(SMA))620中。缓冲器的共享部分可约为1-10KB(例如,64个样本,其中每一样本为24位),而输入和输出部分每一者可约为100-500KB。尽管将缓冲器描述为包括共享部分、输入部分和输出部分,但应了解,根据音频系统660的操作模式,所述缓冲器可实施成复数个分离的缓冲器或实施成被划分的单个缓冲器。
尽管将音频系统660描述为输入/输出控制器集线器630的组成部分,但应了解,音频系统660可耦合到为音频系统660提供到达主存储器620的直接连接的任何元件。音频系统660也可实施成存储器控制器集线器的组成部分。音频系统660的实施也可分布在计算装置的上文提及的元件的一者或一者以上之间。音频系统660的实施也可分布在计算装置的上文提及的元件的一者或一者以上之间,并实施在驻存在主存储器620中且由处理器610、存储器控制器集线器615和/或输入/输出控制器集线器执行的信息和指令中。举例来说,加速器模块可实施在软件(例如,信息和指令)中,时钟管理器和抽样率转换器可实施成输入/输出控制器集线器630的组成部分,缓冲器可实施在主存储器620中,且渲染器模块可实施在音频控制器中。
因此,存储器控制器集线器615、图形处理器625、输入/输出控制器集线器630和音频系统660提供分布式处理平台。音频系统660通过卸载从处理器处处理并渲染的音频效果来有利地增强计算装置性能。此外,本揭示案的实施例有利地允许音频处理模块充当完全独立的装置。本揭示案的实施例有利地当音频处理模块不共享共同的时钟源时使音频处理模块同步。当音频处理模块共享共同的时钟源时,本揭示案的实施例可排除使音频处理模块同步的开销。
总之,本揭示内容的一些实施例提供一种具有完全独立的音频处理模块的音频系统。所述音频系统包含复数个音频处理模块、时钟管理器、抽样率转换器和缓冲器。音频处理模块通信地耦合到时钟管理器和缓冲器。抽样率转换器通信地耦合到时钟管理器和缓冲器。缓冲器用于存储由音频处理模块产生并消耗的音频数据。时钟管理器用于确定每一音频处理模块的时钟源。时钟管理器还用于将音频处理模块和抽样率转换器配置成每一音频处理模块的时钟源的函数。当第一与第二音频处理模块的时钟源不同时,抽样率转换器用于使由第一音频处理模块产生的音频数据的流速与由第二音频处理模块消耗的音频数据的流速同步。
为了说明和描述的目的,已提供对本揭示内容的特定实施例的以上描述。这些特定实施例并非意欲详尽或将本发明限于所揭示的精确形式,且显然依据上述教示可能作出许多修改和变化。选择并描述所述实施例是为了最佳地解释本揭示内容的原理及其实际应用,藉此使所属领域的技术人员能够最佳地利用本揭示内容和各种实施例,并作出适于所预期的特定用途的各种修改。希望本发明范围由所附权利要求书及其等效物界定。
Claims (22)
1.一种电子音频系统,其包括:
一缓冲器,其通信地耦合到一第一音频处理模块和一第二音频处理模块,用于存储由所述第一音频处理模块产生并由所述第二音频处理模块消耗的音频数据;
一时钟管理器,其通信地耦合到所述第一和第二音频处理模块,用于确定所述第一音频处理模块的一第一时钟源,用于确定所述第二音频处理模块的一第二时钟源,且用于将所述第一和第二音频处理模块以及一抽样率转换器配置成所述第一时钟源和所述第二时钟源的一函数;和
所述抽样率转换器,其通信地耦合到所述缓冲器和所述时钟管理器,用于当所述第一时钟源不同于所述第二时钟源时使由所述第一音频处理模块产生的所述音频数据的一第一流速与由所述第二音频处理模块消耗的所述音频数据的一第二流速同步。
2.根据权利要求1所述的音频系统,其中:
所述第一音频处理模块包括一加速器模块;且
所述第二音频处理模块包括一渲染器模块。
3.根据权利要求1所述的音频系统,其中:
所述第一音频处理模块包括一局域级;且
所述第二音频处理模块包括一全局级。
4.根据权利要求1所述的音频系统,其中:
所述第一音频处理模块包括一第一加速器模块;且
所述第二音频处理模块包括一第二加速器模块。
5.根据权利要求1所述的音频系统,其中:
所述第一音频处理模块包括一第一局域级;且
所述第二音频处理模块包括一第二局域级。
6.根据权利要求1所述的音频系统,其中:
所述第一音频处理模块经配置以便当所述第一和第二音频处理模块共享一共同的时钟源时将音频数据存储在所述缓冲器的一共享部分中;且
所述第二音频处理模块经配置以便当所述第一和第二音频处理模块共享所述共同的时钟源时从所述缓冲器的所述共享部分检索音频数据。
7.根据权利要求1所述的音频系统,其中:
所述第一音频处理模块经配置以便当所述第一和第二音频处理模块不共享一共同的时钟源时将所述音频数据存储在所述缓冲器的一输入部分中;
所述抽样率转换器经配置以便当所述第一和第二音频处理模块不共享所述共同的时钟源时从所述缓冲器的所述输入部分检索所述音频数据,通过插入或删除一额外的样本来修改所述音频数据,并将所述经修改的音频数据存储在所述缓冲器的一输出部分中;且
所述第二音频处理模块经配置以便当所述第一和第二音频处理模块不共享所述共同的时钟源时从所述缓冲器的所述输出部分检索所述音频数据。
8.根据权利要求1所述的音频系统,其中:
所述第一音频处理模块经配置以便当所述第一和第二音频处理模块不共享一共同的时钟源时将音频数据存储在所述缓冲器的一共享部分中;
所述第二音频处理模块经配置以便当所述第一和第二音频处理模块不共享所述共同的时钟源时从所述缓冲器的所述共享部分检索音频数据;且
所述抽样率转换器经配置以便当所述第一和第二音频处理模块不共享所述共同的时钟源时,增大所述第一音频处理模块的一产生速率或减小所述第二音频处理模块的一消耗速率。
9.根据权利要求1所述的音频系统,其中:
所述第一音频处理模块的所述第一时钟源是根据所述第一音频处理模块的一第一全局唯一识别符而确定;且
所述第二音频处理模块的所述第二时钟源是根据所述第二音频处理模块的一第二全局唯一识别符而确定。
10.根据权利要求1所述的音频系统,其中所述第一音频处理模块的所述第一时钟源是根据从所述第一音频处理模块接收的所述第一时钟源的全局唯一识别符GUID而确定。
11.根据权利要求1所述的音频系统,其中所述第二音频处理模块的所述第二时钟源是根据从所述第二音频处理模块接收的所述第二时钟源的全局唯一识别符GUID而确定。
12.一种用于使音频处理模块同步的方法,其包括:
确定多个音频处理模块的时钟源;
当一相关组的音频处理模块共享一共同的时钟源时在一第一模式下操作,其包括:
将由所述相关组的音频处理模块中的一第一者产生的音频数据存储在一共享缓冲器中;和
从所述共享缓冲器接收由所述相关组的音频处理模块中的一第二者消耗的音频数据;以及
当所述相关组的音频处理模块不共享一共同的时钟源时在一第二模式下操作,其包括:
将由所述相关组的音频处理模块中的所述第一者产生的音频数据存储在一输入缓冲器中;
从一输出缓冲器接收由所述相关组的音频处理模块中的所述第二者消耗的音频数据;和
使存储在所述输入缓冲器中的音频数据的一第一流率与从所述输出缓冲器接收的音频数据的一第二流率同步。
13.根据权利要求12所述的方法,其进一步包括确定每一音频处理模块的一时钟源。
14.根据权利要求13所述的方法,其中所述确定每一音频处理模块的一时钟源包括:
轮询每一音频处理模块;和
接收每一音频处理模块的所述时钟源的一识别符。
15.根据权利要求12-14中任一权利要求所述的方法,其中所述同步包括:
从所述输入缓冲器接收所述音频数据;
在所述音频数据中插入或删除一额外的样本以产生经修改的音频数据;
将所述经修改的音频数据存储在所述输出缓冲器中。
16.根据权利要求12所述的方法,其进一步包括:
根据从每一音频处理模块接收的一时钟源的全局唯一识别符GUID来确定所述相关组音频处理模块的每一音频处理模块的所述时钟源。
17.一种计算装置,其包括:
一存储器控制器集线器;
一处理器,其通信地耦合到所述存储器控制器集线器;
一主存储器,其通信地耦合到所述存储器控制器集线器;和
一音频系统,其通信地耦合到所述存储器控制器集线器,所述音频系统包括:
一时钟管理器;
复数个音频处理模块,其通信地耦合到所述时钟管理器,且所述时钟管理器用于确定所述复数个音频处理模块的时钟源;
一抽样率转换器,其通信地耦合到所述时钟源;和
一缓冲器,其通信地耦合到所述复数个音频处理模块和所述抽样率转换器。
18.根据权利要求17所述的计算装置,其中所述时钟管理器和所述抽样率转换器由存储在所述主存储器中并由所述处理器处理的信息和指令实施。
19.根据权利要求17或权利要求18所述的计算装置,其中所述复数个音频处理模块中的至少一者是所述存储器控制器集线器的一组成部分。
20.根据权利要求17或权利要求18所述的计算装置,其进一步包括通信地耦合到所述存储器控制器集线器的一输入/输出控制器集线器,其中所述复数个音频处理模块中的至少一者是所述输入/输出控制器集线器的一组成部分。
21.根据权利要求17或权利要求18所述的计算装置,其中所述缓冲器构建在所述主存储器中。
22.根据权利要求17所述的计算装置,其中所述时钟管理器通信地耦合到所述复数个音频处理模块、所述抽样率转换器和所述缓冲器,以确定所述复数个音频处理模块是否根据从所述复数个音频处理模块的每一者接收的全局唯一识别符GUID来利用一共同的时钟源。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/824,759 US7574274B2 (en) | 2004-04-14 | 2004-04-14 | Method and system for synchronizing audio processing modules |
US10/824,759 | 2004-04-14 | ||
PCT/US2005/012529 WO2005106872A1 (en) | 2004-04-14 | 2005-04-12 | Method and system for synchronizing audio processing modules |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1934646A CN1934646A (zh) | 2007-03-21 |
CN1934646B true CN1934646B (zh) | 2012-05-30 |
Family
ID=34965545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800093838A Expired - Fee Related CN1934646B (zh) | 2004-04-14 | 2005-04-12 | 使音频处理模块同步的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US7574274B2 (zh) |
CN (1) | CN1934646B (zh) |
TW (1) | TWI309011B (zh) |
WO (1) | WO2005106872A1 (zh) |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002165148A (ja) * | 2000-11-29 | 2002-06-07 | Sony Corp | データ処理装置および方法、並びに記録媒体 |
JP3876855B2 (ja) * | 2003-07-10 | 2007-02-07 | ヤマハ株式会社 | オートミックスシステム |
US11106425B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
US11650784B2 (en) | 2003-07-28 | 2023-05-16 | Sonos, Inc. | Adjusting volume levels |
US8086752B2 (en) * | 2006-11-22 | 2011-12-27 | Sonos, Inc. | Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data |
US11106424B2 (en) | 2003-07-28 | 2021-08-31 | Sonos, Inc. | Synchronizing operations among a plurality of independently clocked digital data processing devices |
US11294618B2 (en) | 2003-07-28 | 2022-04-05 | Sonos, Inc. | Media player system |
US9207905B2 (en) | 2003-07-28 | 2015-12-08 | Sonos, Inc. | Method and apparatus for providing synchrony group status information |
US8234395B2 (en) | 2003-07-28 | 2012-07-31 | Sonos, Inc. | System and method for synchronizing operations among a plurality of independently clocked digital data processing devices |
US8290603B1 (en) | 2004-06-05 | 2012-10-16 | Sonos, Inc. | User interfaces for controlling and manipulating groupings in a multi-zone media system |
US8768494B1 (en) | 2003-12-22 | 2014-07-01 | Nvidia Corporation | System and method for generating policy-based audio |
US9977561B2 (en) | 2004-04-01 | 2018-05-22 | Sonos, Inc. | Systems, methods, apparatus, and articles of manufacture to provide guest access |
US9374607B2 (en) | 2012-06-26 | 2016-06-21 | Sonos, Inc. | Media playback system with guest access |
TWI238638B (en) * | 2004-04-22 | 2005-08-21 | Benq Corp | Method and device for multimedia processing |
US8868698B2 (en) | 2004-06-05 | 2014-10-21 | Sonos, Inc. | Establishing a secure wireless network with minimum human intervention |
US8326951B1 (en) | 2004-06-05 | 2012-12-04 | Sonos, Inc. | Establishing a secure wireless network with minimum human intervention |
US8515741B2 (en) * | 2004-06-18 | 2013-08-20 | Broadcom Corporation | System (s), method (s) and apparatus for reducing on-chip memory requirements for audio decoding |
US7519845B2 (en) * | 2005-01-05 | 2009-04-14 | Microsoft Corporation | Software-based audio rendering |
TW200627258A (en) * | 2005-01-27 | 2006-08-01 | Lite On Technology Corp | Medium transfer-recording control method and the embedded system using the same |
US7672742B2 (en) * | 2005-02-16 | 2010-03-02 | Adaptec, Inc. | Method and system for reducing audio latency |
EP2410681A3 (en) * | 2005-03-31 | 2012-05-02 | Yamaha Corporation | Control apparatus for music system comprising a plurality of equipments connected together via network, and integrated software for controlling the music system |
JP4184397B2 (ja) * | 2005-11-11 | 2008-11-19 | シャープ株式会社 | 映像音声処理システムおよびその制御方法、音声処理システム、映像音声処理システム制御プログラム、ならびに該プログラムを記録した記録媒体 |
US7813823B2 (en) * | 2006-01-17 | 2010-10-12 | Sigmatel, Inc. | Computer audio system and method |
US9420332B2 (en) * | 2006-07-06 | 2016-08-16 | Qualcomm Incorporated | Clock compensation techniques for audio decoding |
US9202509B2 (en) | 2006-09-12 | 2015-12-01 | Sonos, Inc. | Controlling and grouping in a multi-zone media system |
US8483853B1 (en) | 2006-09-12 | 2013-07-09 | Sonos, Inc. | Controlling and manipulating groupings in a multi-zone media system |
US8788080B1 (en) | 2006-09-12 | 2014-07-22 | Sonos, Inc. | Multi-channel pairing in a media system |
US7890472B2 (en) | 2007-09-18 | 2011-02-15 | Microsoft Corporation | Parallel nested transactions in transactional memory |
US20110015769A1 (en) * | 2008-03-12 | 2011-01-20 | Genelec Oy | Data transfer method and system for loudspeakers in a digital sound reproduction system |
US11265652B2 (en) | 2011-01-25 | 2022-03-01 | Sonos, Inc. | Playback device pairing |
US11429343B2 (en) | 2011-01-25 | 2022-08-30 | Sonos, Inc. | Stereo playback configuration and control |
US20120250877A1 (en) * | 2011-03-31 | 2012-10-04 | Taiyi Cheng | Method and system for processing audio signals in a central audio hub |
US9729115B2 (en) | 2012-04-27 | 2017-08-08 | Sonos, Inc. | Intelligently increasing the sound level of player |
US8910191B2 (en) | 2012-09-13 | 2014-12-09 | Nvidia Corporation | Encoder and decoder driver development techniques |
US9008330B2 (en) | 2012-09-28 | 2015-04-14 | Sonos, Inc. | Crossover frequency adjustments for audio speakers |
US9510055B2 (en) | 2013-01-23 | 2016-11-29 | Sonos, Inc. | System and method for a media experience social interface |
US9338015B2 (en) * | 2013-03-06 | 2016-05-10 | National Chung-Shan Institute Of Science And Technology | Real time power monitor and management system |
TWI517592B (zh) * | 2013-06-05 | 2016-01-11 | 晨星半導體股份有限公司 | 通訊系統及其取樣率轉換器 |
US9035808B2 (en) * | 2013-06-05 | 2015-05-19 | Mstar Semiconductor, Inc. | Communication system and sample rate converter thereof |
US9300647B2 (en) | 2014-01-15 | 2016-03-29 | Sonos, Inc. | Software application and zones |
US20150220498A1 (en) | 2014-02-05 | 2015-08-06 | Sonos, Inc. | Remote Creation of a Playback Queue for a Future Event |
US9226073B2 (en) | 2014-02-06 | 2015-12-29 | Sonos, Inc. | Audio output balancing during synchronized playback |
US9226087B2 (en) | 2014-02-06 | 2015-12-29 | Sonos, Inc. | Audio output balancing during synchronized playback |
US9679054B2 (en) | 2014-03-05 | 2017-06-13 | Sonos, Inc. | Webpage media playback |
US10587693B2 (en) | 2014-04-01 | 2020-03-10 | Sonos, Inc. | Mirrored queues |
US20150324552A1 (en) | 2014-05-12 | 2015-11-12 | Sonos, Inc. | Share Restriction for Media Items |
US20150356084A1 (en) | 2014-06-05 | 2015-12-10 | Sonos, Inc. | Social Queue |
US9874997B2 (en) | 2014-08-08 | 2018-01-23 | Sonos, Inc. | Social playback queues |
US9860286B2 (en) | 2014-09-24 | 2018-01-02 | Sonos, Inc. | Associating a captured image with a media item |
US10645130B2 (en) | 2014-09-24 | 2020-05-05 | Sonos, Inc. | Playback updates |
US9959087B2 (en) | 2014-09-24 | 2018-05-01 | Sonos, Inc. | Media item context from social media |
WO2016049342A1 (en) | 2014-09-24 | 2016-03-31 | Sonos, Inc. | Social media connection recommendations based on playback information |
US9723038B2 (en) | 2014-09-24 | 2017-08-01 | Sonos, Inc. | Social media connection recommendations based on playback information |
US9667679B2 (en) | 2014-09-24 | 2017-05-30 | Sonos, Inc. | Indicating an association between a social-media account and a media playback system |
US9690540B2 (en) | 2014-09-24 | 2017-06-27 | Sonos, Inc. | Social media queue |
TWI554089B (zh) * | 2014-09-29 | 2016-10-11 | 緯創資通股份有限公司 | 影音分享方法與系統 |
US10248376B2 (en) | 2015-06-11 | 2019-04-02 | Sonos, Inc. | Multiple groupings in a playback system |
US10303422B1 (en) | 2016-01-05 | 2019-05-28 | Sonos, Inc. | Multiple-device setup |
US9886234B2 (en) | 2016-01-28 | 2018-02-06 | Sonos, Inc. | Systems and methods of distributing audio to one or more playback devices |
CN106126159B (zh) * | 2016-06-16 | 2018-01-23 | 广东欧珀移动通信有限公司 | 一种音频流处理方法及移动终端 |
US10353424B2 (en) * | 2016-07-01 | 2019-07-16 | Imagination Technologies Limited | Clock synchronisation |
US10310897B2 (en) * | 2016-09-30 | 2019-06-04 | Intel Corporation | Hardware accelerators and methods for offload operations |
US10712997B2 (en) | 2016-10-17 | 2020-07-14 | Sonos, Inc. | Room association based on name |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6005901A (en) * | 1997-02-27 | 1999-12-21 | Advanced Micro Devices | Arrangement for asynchronous decimation using a frequency ratio estimator and method thereof |
US6226758B1 (en) * | 1997-09-30 | 2001-05-01 | Cirrus Logic, Inc. | Sample rate conversion of non-audio AES data channels |
US20020012324A1 (en) * | 1998-06-22 | 2002-01-31 | Roger D. Hayward | Echo cancellation with dynamic latency adjustment |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3173022A (en) * | 1961-06-14 | 1965-03-09 | North American Aviation Inc | Overload protected switching circuit |
JP3056866B2 (ja) * | 1992-02-17 | 2000-06-26 | アルパイン株式会社 | 自動音量制御方式 |
US5768628A (en) * | 1995-04-14 | 1998-06-16 | Nvidia Corporation | Method for providing high quality audio by storing wave tables in system memory and having a DMA controller on the sound card for transferring the wave tables |
DE19522074A1 (de) * | 1995-06-17 | 1996-12-19 | Bosch Gmbh Robert | Kraftstoffzuführvorrichtung für einen Verbrennungsmotor |
US5875354A (en) * | 1996-03-01 | 1999-02-23 | Apple Computer, Inc. | System for synchronization by modifying the rate of conversion by difference of rate between first clock and audio clock during a second time period |
US5815689A (en) | 1997-04-04 | 1998-09-29 | Microsoft Corporation | Method and computer program product for synchronizing the processing of multiple data streams and matching disparate processing rates using a standardized clock mechanism |
US5918073A (en) * | 1997-06-27 | 1999-06-29 | Advanced Micro Devices, Inc. | System and method for equalizing data buffer storage and fetch rates of peripheral devices |
JP2001043062A (ja) * | 1999-07-27 | 2001-02-16 | Nec Corp | パーソナルコンピュータ、その音量調整方法及び記録媒体 |
US6260011B1 (en) * | 2000-03-20 | 2001-07-10 | Microsoft Corporation | Methods and apparatus for automatically synchronizing electronic audio files with electronic text files |
US6646195B1 (en) * | 2000-04-12 | 2003-11-11 | Microsoft Corporation | Kernel-mode audio processing modules |
US7599753B2 (en) * | 2000-09-23 | 2009-10-06 | Microsoft Corporation | Systems and methods for running priority-based application threads on a realtime component |
SE0004838D0 (sv) * | 2000-12-22 | 2000-12-22 | Ericsson Telefon Ab L M | Method and communication apparatus in a communication system |
US7376475B2 (en) * | 2001-03-05 | 2008-05-20 | Microsoft Corporation | Audio buffer configuration |
US7305097B2 (en) * | 2003-02-14 | 2007-12-04 | Bose Corporation | Controlling fading and surround signal level |
US7272235B2 (en) * | 2003-06-26 | 2007-09-18 | Microsoft Corporation | Method and apparatus for audio normalization |
US7216221B2 (en) * | 2003-09-30 | 2007-05-08 | Microsoft Corporation | Method and system for unified audio control on a personal computer |
-
2004
- 2004-04-14 US US10/824,759 patent/US7574274B2/en active Active
-
2005
- 2005-04-12 CN CN2005800093838A patent/CN1934646B/zh not_active Expired - Fee Related
- 2005-04-12 WO PCT/US2005/012529 patent/WO2005106872A1/en active Application Filing
- 2005-04-14 TW TW094111828A patent/TWI309011B/zh active
-
2007
- 2007-12-27 US US12/005,911 patent/US7983772B2/en not_active Expired - Lifetime
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6005901A (en) * | 1997-02-27 | 1999-12-21 | Advanced Micro Devices | Arrangement for asynchronous decimation using a frequency ratio estimator and method thereof |
US6226758B1 (en) * | 1997-09-30 | 2001-05-01 | Cirrus Logic, Inc. | Sample rate conversion of non-audio AES data channels |
US20020012324A1 (en) * | 1998-06-22 | 2002-01-31 | Roger D. Hayward | Echo cancellation with dynamic latency adjustment |
Also Published As
Publication number | Publication date |
---|---|
WO2005106872A1 (en) | 2005-11-10 |
TW200604851A (en) | 2006-02-01 |
TWI309011B (en) | 2009-04-21 |
US20080109574A1 (en) | 2008-05-08 |
US20050234571A1 (en) | 2005-10-20 |
US7574274B2 (en) | 2009-08-11 |
CN1934646A (zh) | 2007-03-21 |
US7983772B2 (en) | 2011-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1934646B (zh) | 使音频处理模块同步的方法和系统 | |
US6665409B1 (en) | Methods for surround sound simulation and circuits and systems using the same | |
CN101405790B (zh) | 多个输入设备对系统资源的同时共享 | |
CN101641730B (zh) | 乐器数字接口硬件装置和方法 | |
JP2011098205A (ja) | タイミング・オフセット許容型カラオケゲーム | |
d'Escrivan | Music technology | |
US8645141B2 (en) | Method and system for text to speech conversion | |
US7369665B1 (en) | Method and apparatus for mixing sound signals | |
CN105989824A (zh) | 一种移动设备的卡拉ok系统及移动设备 | |
US7663052B2 (en) | Musical instrument digital interface hardware instruction set | |
CN103475979A (zh) | 降低回放音频延迟伴唱系统及其方法 | |
US7718882B2 (en) | Efficient identification of sets of audio parameters | |
CN110191745A (zh) | 利用空间音频的游戏流式传输 | |
CN100552657C (zh) | 音讯媒体储存及播放装置 | |
KR101260017B1 (ko) | 오디오 채널 간의 동기화를 위한 오디오 재생 장치 | |
CN109243472B (zh) | 一种音频处理方法及音频处理系统 | |
Meikle | Examining the effects of experimental/academic electroacoustic and popular electronic musics on the evolution and development of human–computer interaction in music | |
CN201378076Y (zh) | 一种播放器 | |
Moorer | Audio in the New Millennium-Redux | |
CN1632859B (zh) | 一种实现midi合成器同时播放midi音乐和音效的方法 | |
AudioBeam | Products of Interest | |
CN1588953A (zh) | 一种下载及再现互联网数据的终端及下载系统和方法 | |
CN110265017A (zh) | 语音处理方法和装置 | |
Rincón | Music technology | |
Stewart | Digital signal processing: technology and marketing for audio systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120530 |
|
CF01 | Termination of patent right due to non-payment of annual fee |