CN1830224A - 缓冲器管理系统、数字音频接收器、耳机、扬声器、缓冲器管理的方法 - Google Patents
缓冲器管理系统、数字音频接收器、耳机、扬声器、缓冲器管理的方法 Download PDFInfo
- Publication number
- CN1830224A CN1830224A CNA2004800221530A CN200480022153A CN1830224A CN 1830224 A CN1830224 A CN 1830224A CN A2004800221530 A CNA2004800221530 A CN A2004800221530A CN 200480022153 A CN200480022153 A CN 200480022153A CN 1830224 A CN1830224 A CN 1830224A
- Authority
- CN
- China
- Prior art keywords
- buffer
- data
- management system
- delay
- sampling
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/10—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
- G06F5/12—Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
- G06F5/14—Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations for overflow or underflow handling, e.g. full or empty flags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2205/00—Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F2205/06—Indexing scheme relating to groups G06F5/06 - G06F5/16
- G06F2205/061—Adapt frequency, i.e. clock frequency at one side is adapted to clock frequency, or average clock frequency, at the other side; Not pulse stuffing only
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R2420/00—Details of connection covered by H04R, not provided for in its groups
- H04R2420/07—Applications of wireless loudspeakers or wireless microphones
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Stereophonic System (AREA)
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种缓冲器管理系统(100),被配置成在数据通信系统中控制数据单元(150)从输入到输出的端到端延迟(Δ)。以块写入速率(Rw)把数据单元(150,152)的块(104,106)写入缓冲器(102),并且以读取速率(Rr)从此缓冲器(102)中读取数据单元(154,156)。通过修改从缓冲器(102)中的读取速率(Rr)来控制端到端延迟(Δ),由此根据缓冲器管理系统(100)中的延迟测量来控制缓冲器填充(F)。为计算读取速率(Rr),至少要求在缓冲器管理系统(100)中把数据单元(150)的输入的输入时刻(Ta)的输入时间测量(mTa)。
Description
本发明涉及缓冲器管理系统,用于在数据通信系统中控制数据单元在输入所述缓冲器管理系统和从所述缓冲器管理系统输出之间的延迟,包括:
缓冲器,以块写入速率把所输入的数据单元的块写入所述缓冲器中,并且以读取速率从所述缓冲器中读取数据单元;
缓冲器填充测量组件,被配置成确定在指定的时刻缓冲器中的数据单元量,并且产生填充测量;和
数据速率转换组件,被配置成根据所述填充测量来设置所述读取速率和写入速率的比率。
本发明还涉及一种包括无线电接收器组件的数字音频接收器,所述无线电接收器组件具有连接到这种缓冲器管理系统的输出。
本发明还涉及包括这种数字音频接收器的耳机,所述数字音频接收器的输出连接到所述耳机的扬声器。
本发明还涉及包括这种数字音频接收器的独立环绕声扬声器箱,所述数字音频接收器的输出连接到所述箱中的扬声器。
本发明还涉及一种用于在数据通信系统中控制数据单元在输入数字音频接收器和从所述数字音频接收器输出之间的延迟的方法,包括:
以块写入速率把所输入的数据单元块写入到缓冲器中;
确定在指定的时刻所述缓冲器中数据单元量的填充测量;
根据所述填充测量来设置读取速率和所述写入速率的比率;并且
以所述读取速率从所述缓冲器中读取数据单元。
本发明还涉及一种计算机程序产品,所述计算机程序产品使处理器能够执行这种方法。
从国际专利申请WO99/35876中已知这种缓冲器管理系统的实施例。已知的系统是异步传输模式(asynchronous transfer mode ATM)网络的一部分,可用于流送脉冲编码调制(Pulse Code ModulatedPCM)音频。更特别地是,描述了在移动交换中心(mobile switchingcentre MSC)和基收发站(base transceiver station BTS)之间的链路,后者是典型情况下向移动电话发送无线数据的本地站。所述系统可以用于流送音频,这意味着在音频文件已经被完全下载之前就开始播放所述音频,以避免等待几分钟。在核对网络链路之前以由第一时钟clk_1所确定的块写入速率来把数据单元(在已知文献中被称为小组(cell))的块写入第一缓冲器中。所述块以由第二时钟clk_2所确定的读取速率从网络出来。由两个缓冲器组成并且在网络链路之间的完整系统被视为单个缓冲器。如果clk_2慢于clk_1,那么所述缓冲器由于实际上只有有限的大小所以开始装满运行。所以,数据将在某点上丢失,这导致降低了音频质量。类似地如果clk_2太快,那么缓冲器会用完数据,这就导致,例如,在接收器端重复先前的块。
缓冲器的大小被确定成使得对于典型的网络延迟,在接收器端始终有足够的块可用于可靠地播放音频。音频在延迟的时间被播放,对应于在缓冲器中所存在的数据单元量。例如,在播放开始之前,把10秒的音频加载到缓冲器中。如果在播放期间的任何时候,暂停下载音频块,那么接收器也可以继续播放来自缓冲器中所存储的内容。现有技术的缓冲器管理系统关注的是:使缓冲器中所存储的音频保持在合理的水平。例如在已知系统中,如果缓冲器填充超出上界水平,那么在发送器端的采样率转换器把输入采样分组成为具有较少采样的块,以便只有与在接收器端所读取的数据一样多的数据被写入到所述缓冲器中。类似地,如果由于接收器消耗了太多的采样以致缓冲器变空,那么采样率转换器就把比平均值更多的采样写入到缓冲器中。
已知系统的缺点是:因为焦点在于维持被很好填充的缓冲器,所以对应于填充控制策略的音频播放延迟可以有很大的变化。网络可能由于参与转送的许多组件而导致引入不同块的到达时间的较大延迟抖动。例如在多播主干网(multicast backbone Mbone)链路中,典型情况下块到达时间的改变可能高达正或负150ms,并且对于某些块来说,甚至可能出现更大的延迟。但是另一方面,在例如经由网际协议的语音(voice over internet protocol VOIP)电话会话中,高达100ms的延迟是可接受的——在此之上的延迟就会使这次会话中的另一方感觉好像是很吞吞吐吐的。
本发明的第一目的是提供一种如开头段所述的系统,其中可以控制在接收数据采样时间和输出所述数据采样时间之间的延迟。数据优选是音频数据,但也可以是任何连续函数的数据,所述数据可以被重新采样,在重新采样几乎不会被人所注意的情况下尤其如此。
此第一目的被实现是因为
包括输入时间测量组件,被配置成测量缓冲器管理系统中数据单元的输入的输入时刻,并且产生输入时间测量;并且
包括延迟控制组件,用于通过根据填充测量和输入时间测量来控制数据速率转换组件从而控制延迟。
注意,如果所述系统是室内无线音频连接系统,例如具有多个接收环绕扬声器,那么发送音频数据单元块的时间可以等同于接收时间。如果发送器对所有接收器来说都一样的话,通常不必考虑在所述发送器中的延迟。术语“室”应当在广义上被解释并且除消费者起居室之外还可以包含工厂、电影院甚至有限的户外空间。在一些音频系统中,例如,在播放音频采样的端到端延迟上希望有比对VOIP更大的控制度。例如无线耳机就可能要求30ms以下的延迟以便不致使在电视屏幕上所看到的嘴唇移动和在耳机上所听到的语音之间口型不同步。模拟系统几乎不表现出任何延迟,但是数字系统就会——例如由于分组发送、处理(诸如解压缩等等原因)而表现出延迟。当存在多个环绕扬声器——例如左右环绕扬声器时,对延迟的要求要严格得多。在这种情况下,不仅延迟的平均值应当相对较低,而且延迟的变化——所谓的延迟抖动——也应当相对较低,数量级大约为几个采样,例如,典型是在5个采样以下。换句话说,通过使每个扬声器具有恒定的端到端延迟,每个扬声器粗略地输出与采样相同的声音。然而,如果左环绕扬声器可能会输出采样x而右扬声器输出采样x+y,其中y是从0到例如50个采样的可变延迟,那么虚拟声源位置或立体声声象不再稳定,这是因为由左右扬声器所生成的声音到达人耳的延迟产生虚拟声源错觉。
在数字数据通信系统中可以识别三种类型的延迟。第一,存在处理元件的延迟,诸如解码延迟。这些延迟是可变的,但是常常保留固定时隙来进行处理,从而它们在延迟控制策略中可被忽视。第二,存在动作延迟,这由于动作出现的过早或过晚而出现,典型是因为用于控制所述动作的时钟相对于参考时钟运行得快或慢。例如数据块可以被输入到系统中,并且在从缓冲器中定期读出之前在可变时刻被写入到所述缓冲器。第三,存在对应于缓冲器填充的延迟。如果以特定的读出速率从缓冲器中读出数据单元,那么在读出缓冲器中的第一和最后数据单元之间存在延迟,所述延迟等于所述缓冲器中的数据单元数目除以读出速率。遍历一连串这样的处理元件、缓冲器和动作的数据采样将会经历总的端到端延迟。如果延迟的某些部分超出所述设备的影响,例如时钟延缓,那么它们可以由可控制的动作和缓冲器填充来补偿,以便总的端到端延迟基本上是恒定的,或至少是可控制的。
在依照本发明的系统中,由输入时间测量组件来测量数据单元的输入时刻。不是只测量缓冲器有多满,而是缓冲器填充量可以补偿延迟。于是此输入时间测量被发送到延迟控制组件,所述延迟控制组件确保:缓冲器的填充总会导致延迟是可控制的,并且,优选在某些系统中,所述延迟大致是恒定的。如下面在附图描述中所述,延迟控制组件通过使用考虑读取和输入时间以及缓冲器填充的流动方程来完成这点。注意,在附图描述的简单实施例中,在输入数据单元并且把所述数据单元写入缓冲器中之前没有延迟。在此简单的实施例中,存在只包括两个延迟分量的端到端延迟以及缓冲器的填充延迟,所述端到端延迟即为在输入时刻(从而等于写入时间;从而写入速率是输入速率)和读取时间之间的差异。还假定在从缓冲器中读取数据单元和由扬声器输出所述数据单元之间存在恒定的——从而是可忽视的——延迟。如果在系统中出现更多的延迟,那么如下面更复杂的实施例所说明,产生出更复杂的端到端延迟等式。
注意,数据单元被作为块写入缓冲器中。在数字传输系统中,典型情况下它们还以多个数据单元帧的形式来输入。然而,它们还可以逐个到达天线。在这种情况下,假定数据单元被累积直到有足够的数据单元来用于解码采样块,然后把所述采样块写入缓冲器中。
缓冲器管理系统的实施例包括读出时间测量组件,被配置成测量第一数据单元的读出时刻,并且产生读取时间测量,并且在缓冲器管理系统实施例中,延迟控制组件被配置成根据所述读取时间测量来控制数据速率转换组件。读取时间可以是固定的,例如由延迟控制组件规定,但是作为选择也可以被测量并发送到所述延迟控制组件。
在VCO实施例中,数据速率转换组件包括压控振荡器(voltagecontrolled oscillator VCO)。例如如果太慢地读出采样并且缓冲器遭受被填满的风险,这导致延迟的增加,那么就加大所述缓冲器的读取速率,即,所述采样以更快速率被发送到扬声器。
在SRC实施例中,数据速率转换组件包括采样率转换器(SRC),被配置成从第一数目的采样中生成第二数目的采样。在输出速率被系统所固定的情形中,如果必须读取增加的采样数以免增加缓冲器填充,但是必须输出相同的采样数,那么采样率转换器可以通过向作为输入的第一数目的采样内插采样来产生较低的第二数目采样。显然,可以在单个系统中组合VCO和SRC。如果时钟的容差较小,典型情况下在百万分之100(ppm)下,所述时钟容差是使时钟能够在特定的时刻从其平均值或标称值改变的时钟速率量,例如由于温度的改变而引起,那么VCO是优选的,否则SRC是优选的。
如果缓冲器管理系统包括解压器,并且延迟控制组件被配置成根据与解压缩相关联的解压缩延迟来控制数据速率转换组件,或者数据单元量处于第二缓冲器中,那么这更是有益的。系统中的另外延迟,诸如与解压缩、传输流解码或数字/模拟转换相关联的延迟,也还可以由延迟控制组件来补偿。典型情况下,音频通信系统在压缩流中发送数据,这是因为诸如可用带宽之类的资源是有限的。对于每个块,解压缩可以花费固定的时间量或者甚至可以花费可变的时间量。只要此解压缩时间是可测量的,那么该解压缩时间就可以被补偿。解压缩时间例如可以被显式地测量为数据单元或块进入和离开解压器的时间标记差异,或被隐式地测量为在所述解压器之前要解压缩的、缓冲器中排队的数据单元或块的量(解压器越慢,必须排队等候的数据单元就越多)。
所述缓冲器管理系统被有益地并入到数字音频接收器中,所述数字音频接收器还包括无线电接收器组件。典型情况下,此无线电接收器组件是存在的,这是由于接收器接收在载波上所调制的无线音频。缓冲器管理系统还可以被并入到硬接线网络中。无线音频产品特别适于家庭影院应用,在这种情况下把消费者从必须连接各种线路的工作中解放出来。这种产品的特定例子是无线耳机和独立环绕声扬声器。
本发明的第二目的是提供一种如开头段所述的缓冲器管理的方法,其中可以控制在发送音频采样时间和播放该音频采样时间之间的延迟。
第二目的被实现这是因为
执行数字音频接收器中数据单元输入的输入时刻的输入时间测量;并且
还通过根据所述输入时间测量来设置读取速率和写入速率的比率从而控制延迟。
现有技术包含许多方法,用于把缓冲器填充维持在合理水平(例如在空和满之间),以便使下溢和上溢的风险最小化,但是这些缓冲器控制技术并不关心端到端延迟。从而没有用于表示系统中延迟的测量(诸如输入时间测量),所述测量用于确定基本上恒定的或通常可控制的端到端延迟所要求的缓冲器填充。
参考以下描述的实施方式和实施例并且参考附图,依照本发明的缓冲器管理系统、数字音频接收器、耳机和独立环绕声扬声器的这些及其它方面将得到阐明并变得更加清楚,所述实施例和附图仅仅用于非限制性说明。
在附图中:
图1示意地示出了依照本发明缓冲器管理系统的实施例;
图2a示意地示出了写入到缓冲器中和从所述缓冲器中读取的时序图;
图2b示意地示出了作为改变读取速率结果的音频采样的输出;
图2c示意地示出了缓冲器中数据单元的块数目;
图3a示意地示出了用于在两个连续的写入步骤之后校正附加缓冲器填充的快速缓冲器读出策略;
图3b示意地示出了如在现有技术文献WO99/35876中的缓冲器管理;
图3c示意地示出了如在依照本发明的缓冲器管理系统的优选实施例中的恒定端到端延迟的缓冲器管理;
图4示意地示出了如果读取速率慢于写入速率,那么对于恒定的端到端延迟,数据单元就从缓冲器的读取;
图5示意地示出了包括缓冲器管理系统实施例的无线数字音频接收器的示例性实施例;
图6示意地示出了利用压控振荡器起作用的缓冲器管理系统的实施例;
图7是对于所有大致恒定的音频采样,数据速率转换怎样保持端到端延迟的例子的示意图;
图8是用于图示更高级的恒定的端到端延迟策略的示意性时序图;
图9示意地示出了用于在音频源部件和两个扬声器之间无线家用音频传输的系统;
图10示出了在发送器和两个接收器中数据处理的时间线的高级示例;和
图11示出了对应于图10在接收器中接受数据,经由数字/模拟转换器处理并输出所述数据;
在图1中,数据单元150、152的块104、106输入进接收器中的缓冲器管理系统100。尽管缓冲器管理系统100可以通过硬线与数据单元的发送器连接,不过优选地是,所述缓冲器管理系统100借助于天线130来无线连接。术语“数据单元”用来表明一段数据,例如包括至少一位的一段数字化音频、视频或其它时间连续的数据信号——诸如由传感器所捕获的信号。在某些实施例中,数据单元是16位PCM音频的采样。在其它实施例中,所述音频被压缩——例如子带编码(subband coded SBC),并且数据单元可以包括多个采样和/或部分采样。为便于解释,有时使用术语采样来代替数据单元,技术人员知道对于其它类型数据单元怎样修改系统。块是被分组在一起的多个数据单元——可能具有附加控制位,并且所述多个数据单元被一起读取和写入。在本文的示例性数值实施例中,块中的采样数目是128。为便于解释(如图2、4和7中),缓冲器管理系统100中数据单元块的第一数据单元到达(例如天线130)的输入时刻Ta等于把所述块写入缓冲器102的写入时间Tw,从而在数据单元到达天线130和数据单元写入所述缓冲器之间存在恒定延迟,为便于解释——把所述延迟设置为零。可以依照不同的方式来测量输入时刻Ta,例如当其输入进接收缓冲器506之时测量,或者由第一处理元件等等来测量。在更高级的实施例中,在端到端延迟控制中还必须考虑在Ta和Tw之间的所有延迟。从而,在写入时刻Tw块104、106被写入缓冲器102,每秒写入时刻Tw的数目,即写入速率Rw。在特定的时刻T1,缓冲器充满数据单元量F,例如一个数据单元块,准备由下一读取命令读出。以读取速率Rr读出数据单元。读出可以是每个数据单元——例如每个采样——或每个块而进行的。
在图2中图示了写入到缓冲器102中和从所述缓冲器102中读取。在第一写入时刻tw1,执行到缓冲器中的第一写入动作W1,212。例如,缓冲器在tw1之前可以是空的,并且在tw1之后包含一个块。在第一读出时刻tr1,所述块被读出,让所述缓冲器空着,用于第二写入动作W2。此后接收器将在时刻tr2从缓冲器102读出。所述写入动作在由第一时钟clk_1所规定的写入时间Tw出现。所述clk_1是发送器的时钟,并且在接收器中并不知道该时钟。然而,所述发送器发送块并且所述块几乎瞬间到达接收器,所以到达时刻可以由所述接收器用来测量所述发送器的第一时钟clk_1。但是接收器不能控制第一时钟clk_1或其在标称速率周围的变化。读取动作在由第二时钟clk_2所规定的读出时间tr出现,所述第二时钟clk_2是接收器的时钟。第一读出时间tr1的基准可以被视为读出特定块的第一数据单元154的时间,而不管是单独读出还是以块读出所述数据单元,所述第一数据单元154在tw1被写入缓冲器102中。如果在从缓冲器102读出之后其余的系统由固定延迟组成,那么基准点还可以被视为通过扬声器播放采样的再现时刻Ts。再现时刻Ts和写入时刻Tw—或者若在块104被写入缓冲器102中之前出现另一延迟,即块到达时间Ta——的差异是端到端延迟Δ,所述端到端延迟Δ由缓冲器管理系统100控制。在图2a中,为简化目的,在缓冲器102前后的所有处理组件都被忽视——假定引入恒定或可忽略的延迟——以致只考虑分别由第一时钟clk_1和第二时钟clk_2所规定的向缓冲器102中的写入和从所述缓冲器102中的读取。
如果clk_1和clk_2完美同步,那么将在写入之后在特定的时间间隔总是出现读取,产生第一延迟Δ1。以下假定由第一时钟clk_1与固定的写入时刻tw1、tw2等相比较,那么第二时钟clk_2抖动,更确切地说临时运行缓慢(实际上它是相对重要的时钟差异)。尽管在时钟变化属于另一类型的情形也可以使用缓冲器管理系统100,然而如果第一和第二时钟clk_1和clk_2具有相同的标称值,而在此值周围未知的抖动典型情况下高达百万分之1000,那么所述缓冲器管理系统100也将能够有益地使用。在本文中详细阐述这些情况。在图2a中,假定第二时钟clk_2比第一clk_1运行缓慢——一贯地是这样的,即,在多个写入/读取周期上都是如此,从而与写入动作相比,读取动作总出现较迟。在图2a中还用虚线箭头AR2示出了由(例如在第二独立扬声器中的)第二缓冲器管理系统读取第二块,这在时间tar2出现,所述时间tar2是与tr2相比较的偏移量。从而当这两个扬声器在特定的时刻播放它们各自的采样时,这些采样不会相一致,导致不正确的立体声声象。
返回到图2b,由于较慢运行的clk_2,所以所述采样被更慢地输出,在第三采样242和第四采样244之间的第二采样间距离246大于在第一采样232和第二采样234之间的第一采样间距离236。在确定的时刻,在所述例子中,第三读取动作R3被延迟了多于一个块的第三延迟Δ3,从而第四写入动作W4在第三读取动作R3之前出现。如在图2c中所见,从写入和读取动作之间的时刻开始,在缓冲器102中总有两个块,而不是一个块。如果第二时钟保持运行缓慢,那么不久之后在缓冲器102中将有三个块,诸如此类。但是比缓冲器填充的增加更为有害的是延迟Δ的相应增加。例如,如果左环绕扬声器的时钟相对于用于向环绕扬声器发送音频的发送器的第一时钟clk_1运行缓慢,并且右环绕扬声器的时钟与所述第一时钟clk_1同步也运行太快,或者太慢,那么由两个扬声器所输出的采样对应于更独立的音频信号时刻,从而立体声声象被严重地破坏。为了使缓冲器填充或延迟恢复为典型值,如图3所示可以尝试不同的策略。
在图3a中,代替每个读出时刻Tr读取128个采样的块,而是另外读取一个或几个采样。例如如果在每个读取动作期间读取8个附加采样,那么在16(=128/8)个读取动作之后缓冲器填充恢复到普通的1块填充——假设对于再次赶上先前读取动作的下一写入动作它花费了比这16个写入/读取周期更长的时间。如果时钟速率只相差百万分之几,那么这当然也是适应的,对于这种情况,由坡度小斜线302来表明相应的延迟变化。然而,这种快速校正动作304,尽管它自身可完美地用于缓冲器填充管理,却并不适于延迟管理。首先在长周期Twa期间,延迟保持上升,从而就持续产生差的立体声声象。于是在快速恢复周期Tco期间,所述延迟被再次还原为例如1块。然而,对于两个扬声器,恢复间隔可以出现不同的时间,甚至导致时钟随着几乎相同的趋势改变的事实,在某一时刻,一个扬声器仍然具有两个块延迟,而另一个却已有仅仅一个块延迟。这就相对迅速地恶化了立体声声象。图3b示出了如在WO99/35876中利用校正策略将出现的延迟。由于在此已知的系统中只有当把缓冲器填充到上限UL或下限LL时才出现缓冲器管理,所以典型情况下延迟位于对应于这种缓冲器填充值的周围,之间具有不可控制的短暂周期312。
用于维持良好的立体声声象的唯一方式就在于,如图3c所示,对所有的扬声器来说,控制延迟Δ——更确切地说使其保持大略等于预定义的值。
返回到图1,当读取多于一个块的采样时,数据速率转换组件108负责把第一数目140的读取采样154、156转换为要输出的第二数目142的采样174、176。输出音频典型情况下是在由扬声器所再现的数字/模拟(D/A)转换之后。当然所述采样还可以发送到另一设备,诸如存储装置。数据速率转换组件108例如可以是采样率转换器。现有技术中存在许多的SRC技术,例如内插滤波器,用于提取并代替诸如PSOLA等之类的重复模式的技术。有益的采样率转换器首先例如以系数10来对音频信号上转换,然后尼奎斯特(Nyquist)滤波,接着以系数7对所述音频信号下转换,以便可以容易地实现任何转换速率。利用SRC,第二时钟clk_2可以是相对便宜且固定的时钟,例如晶体振荡器。代替使用SRC,如图6所示可以应用用于生成可变的读取速率Rr的可变时钟610,诸如压控振荡器。如果应当从缓冲器102中读出更多采样以便使其填充保持在所要求的量F,其中所要求的量F对应于所要求的延迟Δ,那么加大读取速率Rr(clk_2速率),反之亦然。
现在焦点在于,根据第二时钟clk_2或者读取速率Rr的相对快或慢来修改读取策略,这是因为,给定上述例子,本领域技术人员就知道将应用哪个数据速率转换策略。借助于图4示意地图示了本发明的原理。
作为用于相对于输入时间Ta来补偿clk_2的失步的简单说明性的例子,假定在写入缓冲器102中之前存在固定延迟,而且刚好在块读取动作之前在缓冲器102中所要求的数据单元量F是128个采样的一个块420。此量F可以有益地被测量为刚好在已执行了读取命令之后缓冲器102中的零数据单元。作为选择,可以在读取命令之前检查缓冲器填充。这对应于固定延迟,例如图2a的第一延迟Δ1。图形400示出了由于第二时钟clk_2读取速率Rr相对时间的相对变化而导致的延迟δΔ的变化。如果发送器的第一时钟clk_1和接收器的第二时钟clk_2同步,那么δΔ是零,这由基线430所指示。在基线430的左方存在“快速接收器时钟”域402,并且在右方第二时钟clk_2与clk_1相比较慢。对于在“缓慢接收器时钟”域404中的出现408,必须读出比128个采样更多的采样BR,即BR=128+dF,以便把填充量F维持在1块(所述块可能在下一写入时刻被写入缓冲器中),或更精确地维持所要求的延迟Δ。如果,如在图2b中可见的是,在缓慢clk_2的间隔中,存在8个要输出的采样,那么它们可以由SRC根据1块+dF采样来构造。只要时钟没有太大不同,感觉上内插的采样很类似于一个实际的音频采样在该采样确切的正确时刻可能表现出的样子,其对应于所要求的延迟。从而,相当如实地再现立体声声象。并且,因为缓冲器填充再次与在先前写入/读取周期期间的相同——,所以没有附加的填充,导致增加的延迟——延迟Δ在连续的写入/读取周期上基本上保持恒定。
借助于图7更清楚地图示了这点。行702示出了数据单元——为简单起见被认为是采样——因为它们被写入到缓冲器102中,例如在tw1写入块730以及由此所述块的第一采样。行704示出了在标准操作下读出的采样,意思是:通过这些标准操作,时钟clk_1和clk_2恰好同步。在所述例子中,在t1从缓冲器读出此第一采样,这意味着当3个采样时存在等于Δ1的延迟。在标准操作下,与采样740相同的采样741可能被接下来读出;实际上新的8个采样的块可能被接下来读出。行706图示了使用缓慢第二时钟clk_2可能会发生什么,从而把对应于采样730的采样732作为矩形而不是正方形示意性地示出以便图示时间延伸。在下一读出时刻780,可能在缓慢clk_2的指导下读出对应于740的采样742,但是如上所述这可能会导致增加延迟。从而必须应用空载策略,这意味着读出采样755,对应于所写入的采样750。然而,这就会意味着从来没有读出采样740,即它们已经被丢弃,并且在时间t21、t31和t41的后面采样也具有不适当的延迟。如上所述,通过读出3个附加采样和采样速率变换(例如内插)来解决该问题。行708示出了内插的采样,为了简明起见只示出了两个。在块的开始,利用采样712的先前附加量来内插诸如采样720之类的采样。理论上这应当是时刻t1,但是在实践中也可以在时刻t11输出所述采样,这两个时刻只有极小地不同。在块的结束,例如在时刻t2,人们可以看见声音采样应当与附加采样741类似而不是与采样730的末尾类似,所以采样722的内插也考虑了附加读取采样742。如果时钟只抖动百万分之几,那么此模式当然被高度放大了,不过可以应用相同的原理。
在数学上这可以作为进出缓冲器102的恒定流的流动方程(公式1)写入,产生恒定的填充量F:
从而,要读取的采样的附加量dF等于在实际读取时间TR act和标称即所希望的读出时间TR nom之间的差异,即等于clk_2的缓慢度。换句话说,就缓冲器填充而言,延迟随时间不同的变化量δΔ=Δact-Δnom对应于特定采样量dF,写入时间TW nom被视为固定基准。
返回到图1,由延迟控制组件120来估算此等式。写入时间测量组件112在输入时刻Ta测量何时块被输入到数据管理系统中(或在简化例子中写入到缓冲器102中)——并且将此作为输入时间测量mTa——或时间标记——发送到延迟控制组件120。在指定的时刻T1,例如刚好在已经从缓冲器102中读取块之后,缓冲器填充测量组件110测量缓冲器中的数据单元量F,向延迟控制组件120发送填充测量mF。如果需要,也还可以由读取时间测量组件160把读取时间tr发送到延迟控制组件120。延迟控制组件120依照公式1来计算缓冲器中的附加数据单元量dF是否正确。如果不正确的话,那么它经由控制信号C指示数据速率转换组件108去读取或多或少的采样并且把它们转换为适当的数据输出速率Ro。当第二时钟clk_2仅仅在百万分之几的数量级上缓慢运行一点时,数据速率转换组件108只在小部分写入/读取周期中彼此适当间隔地内插采样或改变VCO时钟。所解释的策略实际上是维持
的策略。应当注意,还可以直接地计算附加量dF,并且任何速率转换策略可以利用这些计算。在此简化的描述中,假设在写入缓冲器102之前或从所述缓冲器102读取之后并没有任何可变的延迟。显然,如果存在另外的延迟源,所述延迟可以通过控制从缓冲器102(或者,如果想要的话,甚至更多的可控制的缓冲器)读出(即控制填充)来补偿,那么所述系统是特别有用的。
图5示意地示出了被并入数字音频接收器500的缓冲器管理系统100的实施例。无线数字音频流经由天线130进来。无线电接收组件502执行必要的调谐和解调。在其输出503出现数字基带传输流。同步组件504被配置成执行位和帧同步,即在出现采样之前恢复发送器的时钟。典型情况下使用同步字,诸如在每个块之前的巴克序列(Barkersequence)——常常也被称为帧,这在现有技术中是知道的。同步组件504还可以去除填补位。假定在发送器端的CD播放器的时钟具有1.4Mbit/s的时钟速率并且发送器时钟以140kbit/s发送,此时钟可能根据CD播放器时钟导出或独立地产生。如果在发送器想要发送数据块的某一时刻,CD播放器还没有把足够的位放入发送器缓冲器(未示出)中,那么所述发送器可以用填补位来填充空缺的采样。在去除填补位之后,数据在诸如CD播放器之类的音频源设备的时钟域中而不是在发送器的时钟域中再次处在接收器端,并且典型情况下此源设备时钟具有相对较大的容差,高达百万分之1000,即0.1%。
然后,把块写入接收缓冲器506中。音频传输流(ATS)解码器508剥去所有传输协议数据,并且把随后的块写入ATS缓冲器510中。例如子带解码器之类的解压器512对所压缩的音频块进行解压缩并且把PCM音频块写入缓冲器102中。在延迟控制组件120的控制之下采样率转换器514把采样写入两个DAC缓冲器516或518之一。D/A转换器522交替地从第一DAC缓冲器516或第二DAC缓冲器518读取,在这种情况下同时通过向其它缓冲器写入采样块来填充所述其它缓冲器。这利用可控开关520来实现。于是例如左L和右R信号之类的模拟音频信号在被左放大器526和右放大器524放大之后,例如被发送到耳机530的左扬声器532和右扬声器534。作为选择,接收器也可以被并入扬声器箱540中,在这种情况下所述音频信号被发送到扬声器528。接收器500可以被制造成OEM模块而被并入例如某个原始制造厂家的扬声器箱540中,或者它甚至可以是要附于例如预先形成的耳机530的连接器的模块插件,后者方便于终端消费者升级其系统。注意,为简单起见没有重新描绘在图1中已经示出的到测量组件的连接,而是只描绘了以下利用图8所图示的高级示例所需要的附加测量连接。
借助于图8,描述了更复杂的示例性恒定延迟策略,考虑在缓冲器102前后延迟的例子。
在第一时刻802,把字或字的帧写入到接收缓冲器506中。假定ATS帧由一方面为128个采样和另一方面为152个24位的字(即3648位)所组成。注意,此数目包括系数4的过采样。每秒进入250个帧。在第二时刻804,已经剥开传输数据,并且把音频内容写入ATS缓冲器510中。在第三时刻806,音频已经被解压缩并且最后写入缓冲器102。如果系统在32kHz工作,即每秒32000个采样,那么缓冲器102中的采样量F对应于F/32000秒的第一部分延迟890。通过处理并调度传输流解码器508和解压器512所引入的延迟可以由解码延迟测量组件599来测量,所述解码延迟测量组件599优选被配置成测量在解压器512已把块写入缓冲器102之后随即在接收缓冲器506中所剩下的字的量W。由于每秒有250帧并且每帧有152个字,所以这对应于W/(250*152)秒的第二部分延迟820。
不管缓冲器填充量F是多少,采样都经历读写延迟822,其对应于时间差Tr-Tw(读出时刻810-第三或写入时刻806)。如果在所述缓冲器中存在F个采样,那么这总是引入F/32000的附加的部分延迟。在第四时刻808,DAC切换到另一DAC缓冲器。理论上,紧挨在此第四时刻808以前可能会是读取时刻810(图1中的Tr),且不会有额外延迟。然而如果在另一时刻出现块读取,那么存在有额外的DAC延迟824直到从DAC缓冲器(例如514)中的缓冲器102所读取的块被最后访问以供数字/模拟转换为止。在两个DAC切换之间的时间是4ms。
可以利用下列等式(公式2)来获得总延迟:
Δ=W/(250*152)+F/32000+(Tr-Tw)+(TnxtDACint-Tr)[公式2]
DAC切换时间由DAC切换时间测量组件598来测量,产生下一DAC缓冲器切换时间TnxtDACint。
最坏情况分析得知对于数字示例,恒定的端到端延迟8ms是优选的。如果公式2的第一或特别是第三和第四项引入较少延迟,以获得恒定的8ms延迟,那么这必须通过增加缓冲器102中的量F来实现,从而临时增加了所读出的采样的数目,以及伴随的数据速率转换策略。优选地是,所述算法是控制算法:如果F使得当前延迟基本上等于8ms,那么不进行任何操作,但是如果延迟太高,那么使SRC处于下采样模式,反之亦然。所获得的准确性大约是两个采样,这对于高质量的立体声或环绕声应用来说是足够的。
同步组件504、传输流解码器508、解压器112、数据速率转换组件108、延迟控制组件120和测量组件112、110、160、598、599都可以在处理器(例如DSP)上或硬件(例如ASIC)中实现。
图11示出了用于无线家用音频传输的典型应用,其中可以有益地使用在本发明中所提出的缓冲器管理系统。所述应用由包含立体声音频源的音频源部件1100以及分别用于再现左和右音频声道的两个接收部件1110、1120组成。
在源部件1100中,具有音频采样时钟clk_1的CD播放器1101借助于数字连接1102连接到基站1103,携带左右音频信息和采样时钟速率信息。基站1103具有集成的发送部件,被配置成经由天线1104向两个接收部件1110、1120无线传输音频数据。在大部分无线系统中,基站1103包含用于比特率减缩(例如MP3或SBC编码)以便有效地使用可用的RF频谱的装置,并且包含用于帧格式化以便能够在接收端进行数据恢复的装置。所编码的左右音频声道一起被广播以便它们近似同一时刻到达接收天线1111和1121。接收部件1110和1120解码所接收的音频数据并经由DA转换器把所解码的左右音频声道的音频采样分别应用到扬声器1113和1123。每个目的地部件1112、1122具有本地DA时钟clk_2a、clk_2b(这被取为用于接收器中动作的主时钟)。此本地时钟具有与clk_1相同的标称值,但是由于容差、温度影响和老化,其频率可能偏离标称值百万分之1000那么多(0.1%)。
图10示出了用于图9的系统(和图5的接收器500)的数据流。在图10a中,示出了基站1103中的数据流。左右声道的音频采样1201以采样速率clk_1进入基站。假定音频编码器1202用来以系数5降低比特率。还假定音频编码器对60个音频采样(如箭头1203所示60个采样被转送到音频编码器)的输入块大小操作,产生12个数据单元的输出块大小(1204),使每个数据单元具有与音频采样相同的位数(例如16位)。为了使接收部件能够确定何时所编码的音频数据的新块开始,3个同步单元的块1205(每个数据单元具有相同的位数)和12个数据单元的块1204借助于ATS帧产生器1207被一起包装在音频传输流(ATS)帧1206中。这是用于把帧构建在一起的小的处理块。同步块1205可以包含用于位同步和帧同步的序列504(例如巴克序列)以及其它系统专用的信息。利用为此例子所选择的图,与传输TX速率相等的数据单元采样率是音频采样率clk_1的1/4(根据clk_1导出)。对于所示出的例子,ATS帧具有与音频编码器1202的输入块1201固定的相位关系,在块N的第一音频采样S1N(1208)和采样S1N所编码的版本(1209)之间产生固定的TX延迟1207,所述第一音频采样S1N(通过连接1102)进入到源部件的输入缓冲器,而所述采样S1N所编码的版本离开源部件的输出缓冲器(到发送部件和发送天线1104)。
缓冲器管理系统还可以利用与音频时钟clk_1无关的数据单元采样时钟工作。在这种情况下,ATS帧中的间隙可以选择性地用填补位来填充,在进一步处理数据单元之前必须在接收端去除所述填补位。
在更通常的情况下,TX延迟1207可以是可变的。如果需要整个恒定的端到端延迟(例如为避免出现与在源端的电视画面的对口型问题),可以通过在接收部件中适当实现缓冲器管理系统来补偿TX延迟1207的可变部分。如果在发送器测量输入时刻Ta(即,例如数据单元离开CD播放器的时刻,并且被发送到接收器作为时间标记),或者至少可在缓冲器管理系统100中的某处而不是只在接收器中导出,那么可以实现这种缓冲器管理系统100。
也可以把多个SBC块包装在一个ATS帧中。在这种情况下,接收部件中的缓冲器管理系统的算法必须考虑此(已知)帧的结构。
接收部件1110和1120在几乎与ATS帧被基站1100发送相同的时刻接收所述ATS帧。这在图10b和10c中由在所发送(图10a)和所接收(图10b和10c)的数据流(箭头1299)中参考采样S1N的相对位置来示出。当数据流1221、1241在输入缓冲器中被接收时,ATS解码器部件1222、1242检查所述数据流1221、1241并且寻找同步符号。在位和帧同步之后,数据块单元1223、1243的开始就被得知,并且当12个数据单元可用时音频解码器部件1224、1244可以开始对数据块进行解码。在解码之后,60个音频采样将被作为块1225、1245写入输出缓冲器中。在目的地部件1110中,只有左音频声道的采样将被使用,并且在目的地部件1120中,只有右音频声道的采样会被使用。
如果clk_2a和clk_2b正好等于clk_1,则在接收块N(1228,1248)所编码的第一采样S1N和向DAC和扬声器1113、1123输出块N(1229,1249)的此解码的第一采样S1N之间的RX延迟1226、1246对接收部件1110、1120两者来说是相同的。在这种情况下,两个扬声器之间将不会有相位差异。
另一方面,例如,如果clk_2a快于clk_1(图10b),输出块1225更短(块边缘用虚线表示),并且RXa延迟(1226)短于标称值。如果不采取校正动作,那么相对于标称值的偏差da(1227)将随时间累积。
以同样的方式,例如,如果clk_2b慢于clk_1(图10c),输出块1245更长(块边缘用虚线表示),并且RXb延迟(1246)长于标称值。如果不采取校正动作,那么相对于标称值的偏差db(1247)将随时间累积。
可以借助于采样率转换器(SRC)来补偿在clk_2a、clk_2b和clk_1之间的时钟差异。对于图10b的例子(clk_2a快于clk_1),SRC可以从SRC缓冲器读取60个以上的采样以便把60个采样1225写入到DAC缓冲器,从而补偿时间差异。对于图10c的例子(clk_2b慢于clk_1),图示了读取不到60个采样以便生成60个输出采样。
为了得到良好且稳定的立体声声象,这就需要,时钟域clk_2a(1110)和clk_2b(1120)中的音频信号彼此之间以及与源(1100)中的音频信号之间具有固定的相位关系。
用于SRC控制的已知算法不能用于此同步,这是因为这些算法被设计成用于只在两个时钟域(例如clk_2a与clk_1或clk_2b与clk_1)之间同步。如在本发明中所提出的缓冲器管理系统却能够在多个时钟域(clk_2a和clk_2b与clk_1以及相互彼此)之间提供同步,即便在所述域之间没有物理连接的话也是如此。
将参考在图11中所示出的数据流程图来解释用于获得恒定RX延迟1226、1246的同步机制,假定如图10a所示TX延迟1207的恒定的。如图5所示,这基于可能的接收器实现方式。
从无线电接收组件502,所接收的数据流以等于clk_1/4的写入速率Wr′被逐个数据单元地写入到接收缓冲器506中(见图10b或图10c)。当12个单元的新数据块可用于解压缩或解码时,同步组件504除去同步数据单元并且启动解压器512。所解压缩的音频数据被存储在SRC缓冲器102中。
当DAC缓冲器为空时,产生DAC中断,例如DAC中断N-1(DACint N-1)。在那时,缓冲器管理系统100测量或计算Tarrival,所述Tarrival是在数据块N的第一采样S1N和DAC中断之间的时间差。对于此实现方式,数据以已知的(标称)速率clk_1/4单调地输入进接收缓冲器506,以便Tarrival还可以由从块N的第一采样S1N(其是在最后同步块之后的第一采样)开始数起所接收的数目为W的字(采样)所代表。如果数据没有被单调地接收和/或如果发送器延迟是可变的,则Tarrival应当被计算成使得它表示在源部件的输入流1201中的第一采样S1N和接收部件中的DAC中断N-1之间延迟的可变部分。
DAC中断N-1启动SRC块,所述SRC块从SRC缓冲器102读取可变的采样量并且把它转换为固定的输出采样量(在此例子中为60;箭头(999))并且把这些采样写入到空的DAC缓冲器(在此例子中为DAC2缓冲器)中。输出完整的DAC缓冲器所需要的时间Tdecode可用于解码并处理所接收的数据。在此期间,必须执行三个过程:ATS解码(和验证,假如系统仍然处于同步的话)、音频解码(解压缩)和采样速率转换。Tdecode是固定的并且等于每个DAC块的采样数目(60)除以输出时钟速率(Clk_2)。
在DAC中断N-1之后并且在SRC之后,接收器系统会等待直到ATS处理器开始对数据块N进行解码。这将会在接收块N的最后数据单元之后完成。在解码之后,块N的第一采样S1N会在位置31处的SRC缓冲器中(对于所示出的例子;F=30)。因为SRC读取60个采样的块(在标称情况中,如果不需要校正的话),所以采样S1N位于DAC1缓冲器N的中间。此采样将在DAC中断N+1后面的时期被发送到DAC。可以看出,离开SRC缓冲器102的采样S1N和被发送到数字/模拟转换器522的采样S1N之间的时间差Tleave可以通过SRC缓冲器102中的采样数目F除以输出时钟速率Clk_2来计算。
因此可以如下计算RX延迟:
RX delay=Tarrival+Tdecode+Tleave[公式3]
或者RX delay=4*W/Clk_1+60/Clk_2+F/Clk_2[公式4]
因此,如果满足下列规则,那么可以实现恒定的RX延迟:
4*W+F=DR(延迟基准)=恒量[公式5]
在数字示例中的系数4是60与12个数据单元和三个同步单元之间的比率。
结果,如果W改变1个单元,那么应当通过在其它方向上使F改变4个单元来校正。这可以通过从SRC缓冲器读取56或64个采样而不是60个采样来完成。
对于在图11中所示出的例子,DR=58。在标称情况中(不需要校正),要由SRC所读取的采样数目等于要写入到DAC缓冲器(60)的采样数目。在图11的左部,这种标称情况由W=6和F=94来表示。如果Clk_2运行慢于Clk_1,那么在给定时刻这通过读取值W=7而不是W=6来检测。这由延迟δT的DAC中断N-1产生,δT=4/Clk_1。此偏差由缓冲器管理系统检测([公式3])并且导致由SRC块读取64个采样。这会产生新的稳态条件,其具有W=7和F=90,如图11右方所示。人们注意到,这些图满足[公式5]从而就不再需要校正并且可以从SRC缓冲器中再次读取60个采样。
可以看出,所提出的缓冲器管理系统采用这种方式提供了几乎恒定的RX延迟。关于延迟可以有一定的抖动δT,δT主要由Tarrival测量的准确性所引起。如果Tarrival是抖动的(这可能是数据块逐块且不是单调地进入RX缓冲块的情况),某些额外的低通滤波器或其它装置可以用来降低关于Rx延迟的抖动。应该清楚的是:这种机制能够在来自扬声器1113和1123的音频信号之间获得稳定的相位关系,时间抖动只存在于几个音频采样的两个信号之间。
使用计算机程序产品的情况下,应当被理解为命令集合的任何物理实现都能够使得处理器--通用或专用处理器--在把所述命令输入所述处理器的一系列加载步骤之后,执行本发明任何特有的功能。特别地是,计算机程序产品可以被实现为在载体(诸如磁盘或磁带)上的数据、存在于存储器的数据、穿过网络连接(硬接线或无线)的数据或纸上的程序代码。除程序代码之外,所述程序所要求的特性数据还可以被具体化为计算机程序产品。
应当注意,上述实施例图示而不是限制本发明。除按照在权利要求中所组合的本发明的元件组合之外,所述元件的其它组合也是可以的。元件的任何组合可以被实现在单个专用的元件中。
权利要求中括号内的任何附图标记并不意味着对权利要求的限制。词“包括”并不排除那些没有记载在权利要求中的元件或特征的存在。位于元件之前的词“一个”或“一种”并不排除存在多个这样元件。
本发明可以借助于硬件或借助于在处理器上运行的软件来实现。
Claims (10)
1.一种缓冲器管理系统(100),用于在数据通信系统中控制数据单元(150)在输入所述缓冲器管理系统(100)和从所述缓冲器管理系统(100)输出之间的延迟(Δ),包括:
缓冲器(102),以块写入速率(Rw)把所输入的数据单元(150,152)的块(104,106)写入所述缓冲器(102)中,并且以读取速率(Rr)从所述缓冲器(102)中读取数据单元(154,156);
缓冲器填充测量组件(110),被配置成确定在指定的时刻(T1)所述缓冲器(102)中的数据单元量(F),并且产生填充测量(mF);和
数据速率转换组件(108),被配置成根据所述填充测量(mF)来设置所述读取速率(Rr)和写入速率(Rw)的比率;
其特征在于:
包括输入时间测量组件(112),被配置成测量所述缓冲器管理系统(100)中数据单元(150)输入的输入时刻(Ta),并且产生输入时间测量(mTa);并且
包括延迟控制组件(120),用于通过根据填充测量(mF)和输入时间测量(mTa)来控制数据速率转换组件(108)从而控制所述延迟(Δ)。
2.如权利要求1所述的缓冲器管理系统(100),包括读出时间测量组件(160),被配置成测量第一数据单元(154)的读出时刻(Tr),并且产生读出时间测量(mTr),并且在所述缓冲器管理系统(100)中,所述延迟控制组件(120)被配置成根据所述读出时间测量(mTr)来控制数据速率转换组件(108)。
3.如权利要求1或2所述的缓冲器管理系统(100),其中所述数据速率转换组件(108)包括压控振荡器。
4.如权利要求1或2所述的缓冲器管理系统(100),其中所述数据速率转换组件(108)包括采样率转换器(514),被配置成从第一数目个采样(140)中生成第二数目个采样(142)。
5.如权利要求1所述的缓冲器管理系统(100),包括解压器(512),在所述缓冲器管理系统中所述延迟控制组件(120)被配置成根据与解码器相关联的解压缩延迟来控制数据速率转换组件(108),和/或数据单元量(W)处于第二缓冲器(506)中。
6.一种数字音频接收器(500),包括:
无线电接收组件(502),具有连接到如权利要求1所述的缓冲器管理系统(100)的输出(503)。
7.一种耳机(530),包括如权利要求6所述的数字音频接收器(500),所述数字音频接收器(500)的输出连接到所述耳机的扬声器。
8.一种独立环绕声扬声器箱(540),包括如权利要求6所述的数字音频接收器(500),所述数字音频接收器(500)的输出连接到所述箱中的扬声器(528)。
9.一种用于在数据通信系统中控制数据单元(150)在输入数字音频接收器(500)和从所述数字音频接收器(500)输出之间的延迟(Δ)的方法,包括:
以块写入速率(Rw)把所输入的数据单元(150,152)的块(104,106)写入缓冲器(102)中;
确定在指定的时刻(T1)所述缓冲器(102)中数据单元量(F)的填充测量(mF);
根据所述填充测量(mF)来设置读取速率(Rr)和所述写入速率(Rw)的比率;并且
以所述读取速率(Rr)来从所述缓冲器(102)中读取数据单元(154,156),所述方法的特征在于:
执行所述数字音频接收器(500)中数据单元(150)的输入的输入时刻(Ta)的输入时间测量(mTa);并且
还通过根据所述输入时间测量(mTa)来设置读取速率(Rr)和写入速率(Rw)的比率,从而控制所述延迟(Δ)。
10.一种计算机程序产品,用于使处理器能够执行如权利要求9所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03102434.2 | 2003-08-05 | ||
EP03102434 | 2003-08-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1830224A true CN1830224A (zh) | 2006-09-06 |
Family
ID=34112500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004800221530A Pending CN1830224A (zh) | 2003-08-05 | 2004-07-28 | 缓冲器管理系统、数字音频接收器、耳机、扬声器、缓冲器管理的方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20070008984A1 (zh) |
EP (1) | EP1654903A2 (zh) |
JP (1) | JP2007501428A (zh) |
KR (1) | KR20060125678A (zh) |
CN (1) | CN1830224A (zh) |
BR (1) | BRPI0413270A (zh) |
RU (1) | RU2006106703A (zh) |
WO (1) | WO2005013639A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107562370A (zh) * | 2016-07-01 | 2018-01-09 | 恩智浦有限公司 | 多源接收器 |
CN108170398A (zh) * | 2016-12-07 | 2018-06-15 | 博通集成电路(上海)股份有限公司 | 用于同步扬声器的装置和方法 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7672742B2 (en) * | 2005-02-16 | 2010-03-02 | Adaptec, Inc. | Method and system for reducing audio latency |
EP1905032A2 (en) | 2005-07-13 | 2008-04-02 | Koninklijke Philips Electronics N.V. | Method and apparatus for multi-layer disc recording |
US8140110B2 (en) * | 2005-08-08 | 2012-03-20 | Freescale Semiconductor, Inc. | Controlling input and output in a multi-mode wireless processing system |
US7802259B2 (en) * | 2005-08-08 | 2010-09-21 | Freescale Semiconductor, Inc. | System and method for wireless broadband context switching |
US7653675B2 (en) * | 2005-08-08 | 2010-01-26 | Freescale Semiconductor, Inc. | Convolution operation in a multi-mode wireless processing system |
US7734674B2 (en) | 2005-08-08 | 2010-06-08 | Freescale Semiconductor, Inc. | Fast fourier transform (FFT) architecture in a multi-mode wireless processing system |
US20070033349A1 (en) * | 2005-08-08 | 2007-02-08 | Freescale Semiconductor, Inc. | Multi-mode wireless processor interface |
DE102006004342B4 (de) * | 2006-01-30 | 2011-09-15 | Sennheiser Electronic Gmbh & Co. Kg | Drahtlos-Kopfhörereinrichtung |
US8155335B2 (en) * | 2007-03-14 | 2012-04-10 | Phillip Rutschman | Headset having wirelessly linked earpieces |
EP2498509B1 (en) | 2008-04-07 | 2018-08-15 | Koss Corporation | Wireless earphone that transitions between wireless networks |
US8208500B2 (en) * | 2009-12-30 | 2012-06-26 | Nxp B.V. | Low-jitter end-to-end latency control scheme for isochronous communications based on transmitter timestamp information |
AU2012345757A1 (en) * | 2011-12-02 | 2014-06-26 | No Strings Toys, Llc | Wireless devices and control method |
JP5397495B2 (ja) * | 2012-04-03 | 2014-01-22 | ヤマハ株式会社 | データ配信システムおよび中継装置 |
EP2683116A1 (en) * | 2012-07-02 | 2014-01-08 | Thomson Licensing | Method for monitoring a wireless link of a WI-FI node of a customer premises equipment device, and customer premises equipment device utilizing the method |
US9514094B2 (en) * | 2012-07-10 | 2016-12-06 | Maxeler Technologies Ltd | Processing data sets using dedicated logic units to prevent data collision in a pipelined stream processor |
KR101409713B1 (ko) * | 2013-01-22 | 2014-06-20 | 피앤피네트워크 주식회사 | 오디오 끊김 방지 기능을 구비한 오디오 신호 처리 시스템 |
US9377993B2 (en) | 2013-08-16 | 2016-06-28 | Dresser, Inc. | Method of sampling and storing data and implementation thereof |
EP2840721A1 (en) * | 2013-08-23 | 2015-02-25 | Harman Becker Automotive Systems GmbH | Audio processing for frequency diversity receivers |
CN109391578B (zh) * | 2017-08-11 | 2022-07-22 | 华为技术有限公司 | 信号发送方法、信号接收方法、终端设备及网络设备 |
GB2571526A (en) | 2018-02-28 | 2019-09-04 | Sony Corp | Data buffer and data buffer control |
US10534573B2 (en) * | 2018-05-29 | 2020-01-14 | Sonova Ag | Method for apparatus for sample rate conversion with unknown input and output clocks |
CN114631296B (zh) * | 2019-11-12 | 2024-09-24 | 索尼集团公司 | 数据处理设备、数据处理方法和计算机可读存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE1000415A7 (nl) * | 1987-03-18 | 1988-11-22 | Bell Telephone Mfg | Asynchroon op basis van tijdsverdeling werkend communicatiesysteem. |
JPH0564287A (ja) * | 1991-08-30 | 1993-03-12 | Kenwood Corp | オーデイオアンプ |
EP0784386A2 (en) * | 1996-01-11 | 1997-07-16 | Marikon Resources, Inc | Wireless audio signal transmission system |
US6965804B1 (en) * | 1997-09-24 | 2005-11-15 | Sony Corporation | Buffer management system for digital audio |
WO1999035876A1 (en) * | 1998-01-02 | 1999-07-15 | Nokia Networks Oy | A method for synchronization adaptation of asynchronous digital data streams |
SG71835A1 (en) * | 1998-09-07 | 2000-04-18 | Victor Company Of Japan | A dejittering and clock recovery technique for real-time audio/visual network applications |
US6778499B1 (en) * | 1999-06-18 | 2004-08-17 | Nortel Networks Limited | Method and apparatus for enabling the smooth transmission of bursty data in a wireless communications system |
US6715007B1 (en) * | 2000-07-13 | 2004-03-30 | General Dynamics Decision Systems, Inc. | Method of regulating a flow of data in a communication system and apparatus therefor |
US6766376B2 (en) * | 2000-09-12 | 2004-07-20 | Sn Acquisition, L.L.C | Streaming media buffering system |
JP2002112383A (ja) * | 2000-10-02 | 2002-04-12 | Toshiba Corp | 音楽再生装置及びオーディオプレーヤとヘッドフォン |
AU2001221712A1 (en) * | 2000-12-21 | 2002-07-01 | Nokia Corporation | Fifo buffer with output rate adjusting |
JP2002268662A (ja) * | 2001-03-12 | 2002-09-20 | Sony Corp | 音声データ受信方法及び音声データ受信装置 |
US6598132B2 (en) * | 2001-07-18 | 2003-07-22 | Zettacom, Inc. | Buffer manager for network switch port |
JP2003198517A (ja) * | 2001-12-28 | 2003-07-11 | Toa Corp | 受信機及び無線伝送システム |
-
2004
- 2004-07-28 EP EP04744662A patent/EP1654903A2/en not_active Withdrawn
- 2004-07-28 RU RU2006106703/09A patent/RU2006106703A/ru not_active Application Discontinuation
- 2004-07-28 WO PCT/IB2004/051309 patent/WO2005013639A2/en active Application Filing
- 2004-07-28 KR KR1020067002414A patent/KR20060125678A/ko not_active Application Discontinuation
- 2004-07-28 BR BRPI0413270-0A patent/BRPI0413270A/pt not_active IP Right Cessation
- 2004-07-28 US US10/567,206 patent/US20070008984A1/en not_active Abandoned
- 2004-07-28 CN CNA2004800221530A patent/CN1830224A/zh active Pending
- 2004-07-28 JP JP2006522455A patent/JP2007501428A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107562370A (zh) * | 2016-07-01 | 2018-01-09 | 恩智浦有限公司 | 多源接收器 |
CN107562370B (zh) * | 2016-07-01 | 2023-03-10 | 恩智浦有限公司 | 多源接收器 |
CN108170398A (zh) * | 2016-12-07 | 2018-06-15 | 博通集成电路(上海)股份有限公司 | 用于同步扬声器的装置和方法 |
CN108170398B (zh) * | 2016-12-07 | 2021-05-18 | 博通集成电路(上海)股份有限公司 | 用于同步扬声器的装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20070008984A1 (en) | 2007-01-11 |
EP1654903A2 (en) | 2006-05-10 |
JP2007501428A (ja) | 2007-01-25 |
BRPI0413270A (pt) | 2006-10-10 |
WO2005013639A2 (en) | 2005-02-10 |
KR20060125678A (ko) | 2006-12-06 |
RU2006106703A (ru) | 2006-07-10 |
WO2005013639A3 (en) | 2005-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1830224A (zh) | 缓冲器管理系统、数字音频接收器、耳机、扬声器、缓冲器管理的方法 | |
ES2836220T3 (es) | Sistema y procedimiento de recuperación de errores de transmisión de paquetes basada en redundancia | |
CN108111997A (zh) | 蓝牙设备音频同步方法和系统 | |
RU2423009C1 (ru) | Способ и устройство для измерения синхронизации воспроизведения речевых потоков в пределах предложения без влияния на разборчивость | |
KR100968928B1 (ko) | 오디오 스트림 및 비디오 스트림의 동기화 장치 및 방법 | |
CN100411423C (zh) | 数据同步再生装置 | |
JP2006135974A (ja) | 適応的バッファ遅延を有する音声受信機 | |
US7023488B2 (en) | Circuit and method for live switching of digital video programs containing embedded audio data | |
CN1726720A (zh) | 用于修改视频信号的时基的系统 | |
CN102779517A (zh) | 用于语音ip传输的自适应去抖动缓冲器 | |
CN1767424A (zh) | 播放电台同步方法和便携终端机 | |
CN102007741A (zh) | 通过数据插入使时序不匹配同步 | |
US20070111801A1 (en) | Method, apparatus and system for transmitting and receiving media data | |
US8217812B2 (en) | Adjustable sampling rate converter | |
CN102118243A (zh) | 基于发射机时间戳信息的用于同步通信的低抖动端到端延迟控制方案 | |
RU2596808C2 (ru) | Сглаживание дрожания в сети с уменьшенной задержкой | |
US20040258047A1 (en) | Clock difference compensation for a network | |
CN113055312A (zh) | 基于同步以太网的多路音频拾音方法和系统 | |
CN109413492B (zh) | 一种直播过程中音频数据混响处理方法及系统 | |
US7813566B2 (en) | Data processing apparatus and data processing method | |
US20050243625A1 (en) | Information processing device and method, recording medium, and program | |
JP3977784B2 (ja) | リアルタイムパケット処理装置及びその方法 | |
US20080084936A1 (en) | Data Communication System, Data Reproducing Device, and Method of Reproducing Data | |
JP2003152736A (ja) | 送信装置および方法、記録媒体、並びにプログラム | |
WO2002069644A3 (en) | Method of video transmission over a synchronous network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20060906 |