CN101046954B - 具有音频样本滞后校正功能的音频网络系统 - Google Patents
具有音频样本滞后校正功能的音频网络系统 Download PDFInfo
- Publication number
- CN101046954B CN101046954B CN2007100914169A CN200710091416A CN101046954B CN 101046954 B CN101046954 B CN 101046954B CN 2007100914169 A CN2007100914169 A CN 2007100914169A CN 200710091416 A CN200710091416 A CN 200710091416A CN 101046954 B CN101046954 B CN 101046954B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- audio samples
- samples data
- audio
- 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
Images
Abstract
本发明提供一种具有音频样本滞后校正功能的音频网络系统,其中多个节点连接成环形式,主节点在每个采样周期中定期发送帧数据包,以使包在采样周期中经由多个节点循环。所述包设置有与多个信道相对应的包含音频样本数据的多个区。第一节点从所述包的特定区中读出音频样本数据并将所读出的音频样本数据存储在缓冲器中,其中所述特定区与分配给所述第一节点的特定信道相对应。第一节点获取位置信息,该信息指示将音频样本数据写入到特定区中的第二节点是位于第一节点的上游还是下游。如果第二节点是位于第一节点的上游,则第一节点从所述缓冲器中读出并输出一先前音频样本数据;如果第二节点是位于第一节点的下游,则输出当前音频样本数据。
Description
技术领域
本发明涉及一种音频样本的滞后校正技术,其中根据节点的位置关系校正环形音频网络系统中节点之间的样本失配。
本发明还涉及一种环形音频网络系统的技术,其中考虑系统中的发送延迟时间并校正音频信号从节点的输出时间,从而校正系统中的所有节点的相位差。
背景技术
用于PA(例如演奏和音乐会)、音乐制作和专用广播的音频网络系统中的音频信号通信的现有技术包括:非专利文献1中描述的CobraNet(注册商标)、非专利文献2中描述的SuperMAC(注册商标)、和非专利文献3中描述的EtherSound(注册商标)。这些技术均为通过以太网传输音频信号的技术。
[非专利文献1]
http://www.balcom.co.jp/cobranet.htm
[非专利文献2]
http://www.sonyoxford.co.uk/pub/supermac/
[非专利文献3]
http://www.ethersound.com/news/getnews.php?enews_key=101
电话线网络中所用的现有技术包括环形通信网,例如FDDI/令牌环(TokenRing)。在这种技术中,令牌(即,发送数据的权力)经由连接成环的节点循环,以仅允许获得该令牌的节点发送数据。
人们可以考虑利用现有技术的环形通信网的音频信号(音频样本数据)发送技术。图13示出环形音频网络系统的实例。信号以节点1301→节点1302→节点1303→节点1302→节点1301的次序沿各节点往复地经由节点循环。图14示出相同环形音频网络系统的另一实例。在该实例中,节点1401至1406以命名的次序物理地连接成环。从主节点1401发送的包在一个采样周期(或时间)中以1401→1402→1403→1404→1405→1406的次序循环一次。在该包中分配多个信道(Ch)的音频样本数据的存储区,并且各节点通过将数据加载在该包中的适当信道的存储区中来发送数据。
但是,在如上所述的数据以环形方式发送的系统中,从节点1406提取相同采样周期的样本数据,而从节点1403提取不同采样周期的样本数据,其中在所述相同采样周期中通过节点1404在循环包中存储相应的样本数据。这是因为,当存储在节点1404中的样本数据到达主节点1401时,该样本数据被结合到在下一采样周期中循环的包中,然后节点1403接收该包。通过这种方式,导致现有技术的环形音频网络系统中的各节点之间样本时间失配。通常,这种样本失配几乎不会导致问题。但是,多种专业音频设备不允许这种样本失配。
此外,在如上所述的数据以环形方式发送的现有技术的系统中,难以准确地匹配该系统的所有节点的音频信号的输出定时。具体地,只要该系统使用传输线,该系统就有通过所述传输线的信号发送延迟问题。各节点中的处理也导致延迟。通常,这种小的延迟几乎不导致问题。然而,多种专业音频设备甚至不允许这种小的时间延迟,因此甚至可能需要消除从所有节点输出的音频信号的相位差。例如,为了严格地设计和设置线性阵列扬声器系统,可能需要甚至将这种小延迟考虑进去。
发明内容
本发明的第一目的是提供一种环形音频网络系统的样本失配校正技术,其中在包经由各节点循环的同时执行音频样本数据发送时,校正样本失配以使在绝对时间输入的各信号在相同的采样周期(或时间)从所有节点输出,而与各节点的位置关系无关。
本发明的第二目的是提供一种延迟校正技术,该技术在包经由各节点循环的同时执行音频样本数据发送时通过将非常小的延迟(例如传输线上的延迟)考虑进来,确保环形音频网络系统能够输出无节点的任何相位差的音频信号。
为了实现第一目的,本发明提供一种音频网络系统,其使多个节点连接成环以允许数据的循环发送,并经由所述多个节点的环在一个方向上执行数据发送以在所述多个节点中的任何节点之间进行通信,其中所述多个节点中的一个节点为主节点,其它节点为从节点,其中所述主节点在每个采样周期中定期发送帧数据包,以使所述包在所述采样周期中经由连接成环的所述多个节点循环,其中所述包设置有与多个信道相对应的包含音频样本数据的多个区,以及其中所述多个节点中的每个节点包括:读出装置,用于从所述包的特定区中读出音频样本数据,其中所述特定区与分配给所述节点的特定信道相对应,所述音频样本数据通过另一节点被写入到所述特定区;存储装置,用于存储分配给所述节点的信道的读出音频样本数据,其中所述存储装置存储在当前采样周期中读出的当前音频样本数据和在前一采样周期中读出的一先前音频样本数据;获取装置,用于获取位置信息,其中所述位置信息指示将所分配信道的音频样本数据写入到所述包中的所述另一节点沿所述包的数据流是位于所述节点的上游还是下游,其中所述包从所述主节点被发送,然后流经各节点并返回至所述主节点;以及输出装置,用于输出所述存储装置中存储的、所分配信道的音频样本数据,其中如果将所分配信道的音频样本数据写入到所述包中的所述另一节点是位于所述节点的上游,则所述输出装置从所述存储装置中输出所分配信道的一先前音频样本数据,以及如果所述另一节点是位于所述节点的下游,则所述输出装置从所述存储装置中输出分配信道的当前音频样本数据。
在一扩展方案中,所述存储装置存储n+1个音频样本数据,所述n+1个音频样本数据的范围为从在当前采样周期中读出的当前音频样本数据到在当前采样周期之前的第1至n个采样周期中读出的先前音频样本数据,其中n为大于等于1的整数。如果将所分配信道的音频样本数据写入到所述包中的所述另一节点是位于所述节点的上游,则所述输出装置输出在当前采样周期之前的第n个采样周期中已经存储的、所分配信道的一先前音频样本数据;如果所述另一节点是位于所述节点下游,则所述输出装置输出在当前采样周期之前的第n-1个采样周期中已经存储的、所分配信道的又一先前音频样本数据。
为了实现第二目的,本发明提供一种音频网络系统,其使多个节点连接成环以允许数据的循环发送,并经由所述多个节点的环在一个方向上执行数据发送以在所述多个节点中的任何节点之间进行通信,其中所述多个节点中的一个节点为主节点,其它节点为从节点,其中所述主节点在每个采样周期中定期发送帧数据包,以使所述包在所述采样周期中经由连接成环的所述多个节点循环,其中所述包设置有与多个信道相对应的包含音频样本数据的多个区,所述多个信道被分配给各节点以在各节点之间传送所述音频样本数据, 其中所述多个节点中的每个节点计算在所述节点接收所述包之后直到所述主节点接收所述包所经过的校正时间,以及其中,当所述多个节点中的每个节点将所分配信道的音频样本数据输出到外部设备时,所述节点在利用所述校正时间调整的输出时间输出所述音频样本数据。
在一具体方案中,本发明的音频网络系统使多个节点连接成环以允许数据的循环发送,并经由所述多个节点在一个方向上执行数据发送以在所述多个节点中的任何节点之间进行通信,其中所述多个节点中的一个节点为主节点,其它节点为从节点,其中节点的环的构造如下:所述多个从节点的第一部分在前向方向上连接成链,以在所述前向方向上从所述主节点发送数据,并且所述多个从节点的第一部分也在后向方向上连接成链,以在所述数据在到达所述前向方向的端部从节点并转向之后,使得在所述后向方向上从所述前向方向的端部从节点发送数据直到所述数据到达所述主节点为止;所述多个从节点的第二部分在后向方向上连接成链,以在所述后向方向上从所述主节点发送数据,并且所述多个从节点的第二部分也在前向方向上连接成链,以在所述数据在到达所述后向方向的端部从节点并转向之后,使得在所述前向方向上从所述后向方向的端部从节点发送数据直到所述数据到达所述主节点为止,其中所述主节点在每个采样周期中定期发送帧数据包,以使所述包在所述采样周期中经由连接成环的所述多个节点循环,其中所述包设置有与分配给各节点的多个信道相对应的包含音频样本数据的多个区,其中所述主节点包括:获取装置,用于获取延迟信息,所述延迟信息包括总网络延迟时间、前向侧延迟时间和后向侧延迟时间,其中在所述总网络延迟时间期间所述包经由所述多个节点的环循环然后返回至所述主节点,所述前向侧延迟时间为所述包在所述前向方向上被发送之后直到所述包在所述后向方向上返回至所述主节点所经过的时间,所述后向侧延迟时间为所述包在所述后向方向上被发送之后直到所述包在所述前向方向上返回至所述主节点所经过的时间;以及通知装置,用于将包括所述总网络延迟时间、前向侧延迟时间和后向侧延迟时间在内的所获取的延迟信息通知给所有从节点。其中每个从节点包括:第一计算装置,用于计算在所述前向方向上接收所述包的接收时间与在所述后向方向上接收所述包的另一接收时间之间的接收时间差;第二计算装置,利用从所述主节点通知的延迟信息和所计算的接收时间差计算校正时间,所述校正时间为从所述节点接收所述包的时间到所述主节点接收所述包的另一时间所经过的时间;读出装置,用于从所述包的特定区中读出音频样本数据,其中所述特定区与所分配的信道相对应;存储装置,用于存储所分配的信道的读出音频样本数据;以及输出装置,用于在利用所述校正时间调整的适当输出时间输出所述存储装置中存储的音频样本数据。
根据本发明的第一方案,能够从同步环形音频网络中的各节点提取所有信道的相同采样周期的数据,而与向其输入数据的节点与从其输出数据的节点的位置关系无关。
根据本发明的第二方案,即使在具有发送延迟的音频网络中,也能够同时从各节点输出音频信号以及从所有节点输出同相的音频信号。因此,本发明适合应用于各节点的输出音频信号之间的相位差被认为严重的音频系统(例如,线性阵列扬声器系统)。
附图说明
图1为根据本发明的音频网络系统的模块结构示意图。
图2为各节点的硬件结构示意图。
图3为音频数据输入例程的流程图。
图4为音频数据输出例程的流程图。
图5为主节点的延迟时间计算例程的流程图。
图6为从节点的延迟时间计算例程的流程图。
图7为从节点的音频数据输出例程的流程图。
图8示出样本失配校正方法。
图9示出延迟和发送/接收时间的定义。
图10a、图10b和图10c示出通过主节点计算的延迟时间。
图11示出通过从节点计算的延迟时间。
图12示出各节点的校正时间计算的实例。
图13示出环形音频网络系统的实例。
图14示出环形音频网络系统的另一实例。
图15a和图15b示出出现样本失配的实例。
具体实施方式
以下参照附图说明本发明的各实施例。
图1示出根据本发明的音频网络系统的模块结构。标号“101”至“104”代表四个节点,所述节点被连接以在如虚线151所示的环中循环包150。麦克风112通过模数转换器(ADC)111连接至节点101。利用循环包150的信道,节点101可以将通过ADC 111输入的音频数据发送到另一节点。节点102连接至混频器121。节点102可以从循环包150的信道中读出音频数据,并将该音频数据发送到混频器121。混频器121对所输入的音频数据进行各种信号处理,例如混合、音量调整、音效处理。混频器121将信号处理所产生的音频数据输入到节点102。然后利用循环包150的信道,节点102可以将输入的音频数据发送到另一节点。节点103通过数模转换器(DAC)131连接至功率放大器132和扬声器133。类似地,节点104通过DAC 141连接至功率放大器142和扬声器143。节点103可以从循环包150的信道中读出音频数据,并通过DAC 131将该音频数据发送到功率放大器132,然后通过扬声器133输出该音频数据的声音。节点104也是如此。
节点101至104中的每个节点均包括两级缓冲器(缓冲器A和缓冲器B)。每个缓冲器存储可由相应节点读出的音频数据。设置两级缓冲器的目的是为了存储各信道的前一个采样周期的样本数据以及最新的样本数据。最近读出的数据存储在标有符号“A”的一个缓冲器(例如,110A)中,前一个采样周期的样本数据存储在标有符号“B”的另一个缓冲器(例如,110B)中。
图2示出各节点的硬件结构。每个节点包括中央处理单元(CPU)201、随机存取存储器(RAM)202、只读存储器(ROM)203、通信接口(I/F)204、音频I/O(输入/输出接口)206和通信总线208。
CPU 201为控制节点的总体操作的处理单元。RAM 202为易失性存储器,其用作由CPU 201执行的程序的加载区,或者用作设定各种缓冲器的工作区。ROM 203为非易失性存储器,其存储由CPU 201执行的各种程序、常数数据等。通信接口204连接至另一节点205(其为外部设备)。例如,虽然在图2中示出作为一个区块(block)的节点205,但由于节点102连接至节点103和节点101,因此节点102包括用于连接至节点103和节点101的多个通信接口204。音频I/O 206为用于与诸如ADC、DAC、混频器等的外部设备连接的接口。
以下说明本实施例的用于音频网络系统的样本失配校正方法或采样周期滞后校正方法。图8示出样本失配校正方法或采样周期滞后校正方法。节点A至D连接成环,以允许信号通过节点往复。节点B为主节点。主节点B在一个采样周期的开始时间发送包。这里,假定节点A在循环包的信道Ch1中存储数据,节点B在循环包的信道Ch2中存储数据,节点C在循环包的信道Ch3中存储数据,节点D在循环包的信道Ch4中存储数据。还假定节点A至D中的每个节点读出所有信道Ch1至Ch4的数据。标号“801”为在采样周期“t-1”中已经返回至主节点B的数据,并包含在采样周期“t-1”中在各信道中设置的数据。当新的采样周期“t”开始时,节点B将周期“t”的数据存储在包的Ch2区中,并将该包作为包802发送到下一节点C。节点C接收该包作为包803,并将周期“t”的数据存储在包的Ch3区中,然后将该包作为包804发送到下一节点D。节点D接收该包作为包805,并将周期“t”的数据存储在包的Ch4区中,然后将该包作为包806发送到后向线路(backward line)的路径中。该包在后向线路上无变化地通过节点C和节点B,如“807”和“808”所示。下一节点A接收该包作为包809,并将周期“t”的数据存储在包的Ch1区中,然后将该包作为包810发送到下一节点B。主节点B接收该包作为包811,并进行等待直到下一采样周期开始,然后执行相同的过程。
每个节点包括缓冲器A和B,如图1所示。例如,在主节点B中,由“822A”代表的一行(row)为缓冲器A,其存储各信道的最新样本数据;由“822B”代表的另一行(row)为缓冲器B,其存储前一个采样周期的各信道的样本数据。其它节点也是如此。当发送包到下一节点时,节点A至D中的每个节点将该包的信道Ch1至Ch4的数据存储在缓冲器A中。在这之前将存储在缓冲器A中的数据复制到缓冲器B。在进行数据复制之后进行缓冲器A中的数据存储。因而,节点A至D中的每个节点在其缓冲器中总是包含信道Ch1至Ch4中的每个信道的最新样本和前一个采样周期的样本。
节点A至D中的每个节点在不导致样本失配的情况下输出缓冲器A和B中存储的样本数据,例如将该样本数据传送到混频器或者通过放大器输出该样本数据的声音。为了防止样本失配,对于在沿数据(其以环形流经各节点)流动方向上的各节点的上游节点(包括从主节点到紧邻的前节点的节点范围)进行写入的信道,各节点输出缓冲器B中存储的前一个采样周期的数据;而对于在各节点的下游节点(包括从紧邻的后节点到紧邻主节点的前节点的节点范围)进行写入的信道,各节点输出缓冲器A中存储的当前采样周期的数据。在图8所示的实例中,由于节点将当前采样周期写入的数据存储在相应的信道中,然后将其与其它信道的数据一起写入缓冲器A中,所以各节点输出缓冲器B中的相应信道的数据。当然,各节点可以在将其接收的包存储在缓冲器中之后更新用于在节点写入的信道的数据。当以上述次序进行处理时,节点输出来自缓冲器A的数据。在图8中,由椭圆包围的各项代表各节点根据上述规则输出的样本。由此,可以防止样本的失配,并可以同时输出周期“t-1”的样本。
这里,假定在所有节点之间已经共享各节点的连接位置信息和关于在各节点哪个信道用于写入的信息。例如,当系统已经启动时,当改变各节点的从属关系时,或者当改变用于在各节点向或从包写入或读出的信道设置时,各节点例如通过在主节点的初始时彼此交换控制数据来共享所述信息。
即,在音频网络系统启动时,主节点将至少代表音频网络系统中各节点的连接位置以及分配给各节点的信道的控制信息通知给所有从节点。
图3为音频数据输入例程的流程图,该流程为各节点在接收经由各节点循环的包时进行的过程。在步骤301,将用于在节点处输入的信道的音频数据输入到该节点。在该过程中,例如,将来自麦克风112的音频信号通过ADC 111输入到图1的节点101,或者将从混频器121输出的数字音频信号输入到节点102。在步骤302,通过用在步骤301中输入的最新样本重写信道的数据,来更新所接收包中的信道的数据。在步骤303,节点丢弃其中已经存储前一采样周期的样本的缓冲器B中的信道的数据。在步骤304,用其中存储当前采样周期的样本的缓冲器A的信道的数据重写缓冲器B的信道的数据。在步骤305,用包的信道的数据重写缓冲器A的信道的数据。当输入多个信道的数据时,节点重复上述过程。通过步骤304中的重写来自动地执行步骤303中的数据丢弃。
如上所述,节点101通过模数转换器111连接至麦克风112,以使模数转换器111将从麦克风112馈送的音频信号转换为音频样本数据;并且节点101将从模数转换器111馈送的音频样本数据写入到包150的区中,以将该音频样本数据发送到另一节点102。
图4为音频数据输出例程的流程图,其中各节点将缓冲器中接收的样本数据输出到外部设备。在该过程中,例如,图1的节点102将样本数据输出到混频器121或者节点103或104通过DAC和放大器输出样本数据的声音。在步骤401,节点确定是否所有信道的输出数据已经被更新,其中所述输出数据将从节点被输出。该过程是为了确定是否待输出的信道的所有样本数据已经被收集在特定工作区(用于输出数据)。如果所有数据还没有被更新,则在步骤402,节点(即,当前节点)获得其中存储相应信道的样本的相应节点的位置信息。在步骤403,当前节点确定相应节点是它的上游节点(即,在从主节点到当前节点紧邻的前节点的范围内的一个节点)还是下游节点(即,从当前节点紧邻的后节点到主节点紧邻的前节点的范围内的一个节点)。如果相应节点为上游节点,则在步骤404,当前节点从用于前一个周期的缓冲器B中获得相应信道的样本数据。如果相应节点为下游节点,则在步骤405,当前节点从用于当前周期的缓冲器A中获得相应信道的样本数据。然后,在步骤406,节点用所获得的数据更新输出数据,并返回至步骤401。如果待输出的所有信道的样本数据作为输出数据被收集在一起,则节点从步骤401前进到步骤407,并执行下面将说明的音频数据输出时间校正处理。然后,在步骤408,节点将被设置为从节点输出的信道的音频数据输出到特定的外部设备。
如上所述,一个节点102连接至混频器121。节点102将所分配信道的音频样本数据输出到混频器121,以使混频器121对从节点102发送的音频样本数据进行预定信号处理,并馈送已经进行所述预定信号处理的音频样本数据。节点102包括更新装置,更新装置用于将从混频器121馈送的音频样本数据写入到包150的区中,以将音频样本数据发送到另一节点103。
节点103通过数模转换器131连接至扬声器133的放大器132。节点103将所分配信道的音频样本数据输出到数模转换器131,以使数模转换器131将所输出的音频样本数据转换为模拟音频信号,并且放大器132将用于驱动扬声器133的模拟音频信号放大。
在上述方式中,各节点执行参照图8描述的采样周期滞后校正,同时输出相同采样周期的样本。
尽管图8中设置2级缓冲器,但是可以设置(n+1)级缓冲器,其中“n”为大于等于1的整数。在这种情况下,存储n+1个音频样本数据,其包括从在当前采样周期中读出的样本到在当前采样周期之前的第n个采样周期中读出的样本的样本范围。当包中的样本将被从已经接收到该包的当前节点输出时,如果将该样本结合到该包中的相应节点为当前节点的上游节点,则当前节点可以读出并输出当前采样周期之前的第n个采样周期(即从当前采样周期倒数的第n个采样周期)的相应样本;如果相应节点为当前节点的下游节点,则当前节点可以读出并输出当前采样周期之前的第n-1个采样周期(即从当前采样周期倒数的第n-1个采样周期)的相应样本。
以下将详细说明步骤407的音频数据输出时间校正处理。上述样本偏移校正可以基于样本的输出定时匹配。然而,由于通过将数据结合到通过环形网络循环的包中来发送各信道的样本数据,所以环形网络上的节点之间的各传输路径导致延迟。尽管这种延迟可能非常小从而可忽略不计,但是在专业音频设备中即使这种小延迟也不能允许。进行音频数据输出时间校正处理,以校正由于传输路径导致的延迟,从而非常准确地匹配来自节点的音频信号的输出定时。
以下为音频数据输出时间校正处理的详细说明。以下的说明将参照具有如图13所示的允许信号通过网络往复的连接结构的网络给出。也假定各节点在前向路径上向/从包写入/读出数据,并且该包在后向路径上仅通过各节点。在以下说明中,“t(a)”代表线路长度(line length)“a”的延迟时间,“TFT”和“TFR”代表节点901和902中的每个节点的前向侧发送/接收时间,“TBT”和“TBR”代表后向侧发送/接收时间,如图9所示。此外,“总延迟”代表网络的总延迟时间,“前向延迟”和“后向延迟”代表主节点的前向侧和后向侧的延迟时间,“节点(名)延迟”代表各节点的包接收时间之间的差异。换言之,“总延迟”为与包经由网络循环一次的时间段相对应的延迟时间。“前向延迟”为与数据从主节点在其前向侧被发送后直至主节点在其前向侧接收数据所经过的时间相对应的延迟时间。“后向延迟”为与数据从主节点在其后向侧被发送后直至主节点在其后向侧接收数据所经过的时间相对应的延迟时间。
术语“前向侧”指在采样周期开始时主节点开始发送包所在的主节点一侧,术语“后向侧”指相反侧。在图9中,右侧为前向侧,左侧为后向侧。图10和11也是如此。
图10a至图10c示出通过主节点计算的延迟时间。图10a示出一个实例,其中主节点1001设置在网络的后向侧末端,并且在主节点1001的内部,主节点1001的后向侧输出直接连接至主节点1001的后向侧输入。图10b示出一个实例,其中主节点1012连接在从节点1011和1013之间,从节点1011和1013分别连接至主节点1012的后向侧输入和输出以及前向侧输入和输出。图10c示出一个实例,其中主节点1023设置在网络的前向侧末端,并且在主节点1023的内部,主节点1023的前向侧输出直接连接至主节点1023的前向侧输入。如图10a至图10c所示,计算各实例的各延迟时间“总延迟”、“前向延迟”和“后向延迟”。尽管在这些实例中以三个节点为例示出延迟时间的计算,但是当连接更大数目的节点时,也以相同方式计算延迟时间。
如上所述,主节点根据用于连接各节点的线路长度“a”和“b”确定总网络延迟时间、前向侧延迟时间和后向侧延迟时间。在主节点未连接有多个从节点的第一部分或第二部分情况下,主节点将前向侧延迟时间或后向侧延迟时间确定为0,如图10a和10c所示。
图11a至11f示出通过从节点计算的延迟时间。各从节点计算从节点的前向侧和后向侧的包数据接收时间之间的差值作为延迟时间。根据与主节点的位置关系可以采用不同的计算方法计算该延迟时间。例如,位于主节点1101的前向侧的从节点1102和1103(命名为“S3”和“S4”)将延迟时间计算为“TFR-TBR”,如图11d和11e所示。另一方面,位于主节点1101的后向侧的从节点1104和1105(命名为“S1”和“S2”)将延迟时间计算为“TBR-TFR”,如图11b和11c所示。在图11a的连接实例中,主节点1101如图11f所示计算延迟时间。
如上所述,端部从节点S1和S4将其接收时间差值计算为0,如图11b和图11e所示。
图12a至12c示出各节点的校正时间的计算实例,其中该校正时间为节点在将样本数据输出到诸如混频器或放大器之类的外部设备时将样本数据的输出时间延迟的时间。图12a的水平轴代表经过时间,沿垂直轴排列的符号“S1”、“S2”、“M”、“S3”和“S4”代表图11a的主和从节点。图12a的“M→S3→S4→S3→M→S2→S1→S2→M”中的箭头表示在图11a的网络结构中包数据沿箭头经由各节点循环,其中向右的箭头指示前向路径,向左箭头指示后向路径。“1204”代表在包数据沿箭头循环时各节点之间的延迟时间。“1201”代表总延迟,“1202”代表前向延迟,“1203”代表后向延迟。
图12a的标号“1213”代表当从节点S3接收从主节点M发送的包时的定时。在接收该包时,节点S3执行图4的上述处理。类似地,节点S4在定时1214处执行图4的处理,节点S1在定时1211处执行处理,节点S2在定时1212处执行处理。如果各节点不执行图4的处理中的步骤407的输出时间校正,则由于节点S3在定时1213处输出音频数据、节点S4在定时1214处输出音频数据等等,因此各节点在不同的定时处输出音频数据。因而,在本实施例中,各节点的定时1213、1214、1211和1212被延迟直到定时1210。定时1210是包返回至主节点时的定时。如果所有节点进行等待直到定时1210,则它们将相同采样周期的样本聚集在一起。通过同时输出样本,能够非常准确地匹配来自各节点的音频信号的输出定时。将各节点接收包之后直至到达定时1210的各节点的延迟时间称为校正时间。在图12a中,“1221”至“1224”分别表示各节点的校正时间计算方法。
图12b示出前向侧从节点的校正时间计算方法。前向侧从节点例如为节点S3和S4。节点S3和S4中的每个节点的校正时间基本上可以计算为如下时间:在包通过该节点的后向侧输入(TBR)被输入到该节点之后直到包返回到主节点所经过的时间;因而该校正时间可以被计算为“总延迟-{(总延迟)-(后向延迟)-(节点(名)延迟)}/2”。该表达式可以被重新整理以获得图12b的表达式。通过将图11f的公式代入到图12b的表达式中获得公式1223和]224。
图12c示出后向侧从节点的校正时间计算方法。后向侧从节点例如为节点S1和S2。节点S1和S2中的每个节点的校正时间基本上也可以计算为如下时间:在包通过该节点的后向侧输入(TBR)被输入到该节点之后直到包返回到主节点所经过的时间;因而该校正时间可以被计算为“{(总延迟)-(前向延迟)-(节点(名)延迟)}/2”。该表达式可以被重新整理以获得图12c的表达式。通过将图11f的公式代入到图12c的表达式中获得公式1221和1222。
图5为主节点的延迟时间计算例程的流程图。在步骤501,主节点计算网络的总延迟时间(总延迟)。在步骤502,主节点计算前向侧延迟时间(前向延迟)。在步骤503,主节点计算后向侧延迟时间(后向延迟)。在步骤504,主节点将计算结果通知所有节点。通过上述处理,主节点计算上面参照图10所述的各延迟时间。
图6为各从节点的延迟时间计算例程的流程图。在步骤601,各从节点获得总网络、前向侧和后向侧延迟时间信息(总延迟、前向延迟和后向延迟)。在步骤602,确定节点是位于前向侧还是后向侧。如果节点位于前向侧,则在步骤603节点获得其包接收时间差值,并在步骤604利用图12b的数学表达式计算校正时间。如果节点位于后向侧,则在步骤605节点获得其包接收时间差值,并在步骤606利用图12c的数学表达式计算校正时间。
通过图5和图6中的处理,各节点可以计算上面参照图10和图11所述的它们的延迟时间。在开始音频数据发送之前,从节点进行图5和图6中的处理,并计算其校正时间。
图7为从节点的音频数据输出例程的流程图。节点在图4的步骤407执行该过程。在步骤701,节点重新设置定时器,并在步骤702和步骤703进行等待直至定时器值超过节点在步骤604或步骤606计算的校正时间。如果定时器值超过该校正时间,则节点返回至图4的处理。之后,节点在图4的步骤408输出音频数据。以这种方式,各节点通过将音频数据延迟如上参照图12所述的节点的校正时间来输出音频数据,从而匹配所有节点的输出定时。
尽管上述实施例以具有如图13所示的连接关系的音频网络系统为例,但是本发明可以适用于将多个节点连接成环以经由节点来循环包的任何音频网络系统。在这种情况下,各节点获得从节点接收包时到主节点接收该包时所经过的时间,并将该时间确定为校正时间。例如,当系统启动时,它可以循环校正时间测量包,以使各节点获得从节点接收包的时间到主节点接收该包的另一时间所经过的时间作为校正时间。
最后,以下说明在各节点间产生的样本的时间滞后的详细机制。该说明的目的仅是为了有助于更好地评价本发明。图15b示出环形音频网络系统,其中节点A至D以如图13所示的使信号沿节点往复的方式连接。节点B为主节点。主节点B在一个采样周期的开始时间发送包。
这里,如图15a所示,假定节点A在循环包的信道Ch1中存储数据,节点B在循环包的信道Ch2中存储数据,节点C在循环包的信道Ch3中存储数据,节点D在循环包的信道Ch4中存储数据。还假定节点A至D中的每个节点读出所有信道Ch1到Ch4的数据。标号“1501”为在采样周期“t-1”中已经返回至主节点B的数据,并且该数据包含在采样周期“t-1”中设置在各信道中的数据。当新的采样周期“t”开始时,节点B将周期“t”的数据存储在包的Ch2区中,并将该包作为包1502发送到下一节点C。节点C接收该包作为包1503,并将周期“t”的数据存储在包的Ch3区中,然后将该包作为包1504发送到下一节点D。节点D接收该包作为包1505,并将周期“t”的数据存储在包的Ch4区中,然后将该包作为包1506发送到后向线路的路径中。该包在后向线路上无变化地通过节点C和节点B,如“1507”和“1508”所示。下一节点A接收该包作为包1509,并在该包的Ch1区中存储周期“t”的数据,然后将该包作为包1510发送到下一节点B。主节点B接收该包作为包1511,并进行等待直至下一采样周期开始,然后执行相同的过程。
在包以上述方式循环时,节点A至节点D分别读出由椭圆包围的包1510、1511、1504和1506的信道Ch1至Ch4的数据。在这种情况下,在主节点A和其紧邻的前节点B获得周期“t”的样本时,在节点C和节点D中发生样本失配。换言之,节点C和节点D中的每个节点读出周期“t-1”的样本和周期“t”的样本的混合样本。样本失配由于以下原因而发生。在包从主节点开始经由网络上的节点循环的情况下,根据网络上节点的排列(即,根据其中存储数据的节点和从其提取数据的节点的位置关系),在一个采样周期中,在采样周期“t”中存储在节点中的数据可以从采样周期“t”中的一个不同节点提取,而该数据在下一采样周期可以从另一不同节点提取。
Claims (14)
1.一种音频网络系统,其使多个节点连接成环以允许数据的循环发送,并经由所述多个节点的环在一个方向上执行数据发送以在所述多个节点中的任何节点之间进行通信,
其中所述多个节点中的一个节点为主节点,其它节点为从节点,
其中所述主节点在每个采样周期中定期发送帧数据包,以使所述包在所述采样周期中经由连接成环的所述多个节点循环,
其中所述包设置有与多个信道相对应的包含音频样本数据的多个区,
其中在所有节点之间共享各节点的连接位置信息和关于在各节点哪个信道用于写入的信息,以及
其中所述多个节点中的每个节点包括:
读出装置,用于从所述包的特定区中读出音频样本数据,其中所述特定区与分配给所述节点的特定信道相对应,所述音频样本数据通过另一节点被写入到所述特定区;
存储装置,用于存储分配给所述节点的信道的读出音频样本数据,其中所述存储装置存储在当前采样周期中读出的当前音频样本数据和在前一采样周期中读出的一先前音频样本数据;
获取装置,用于获取位置信息,其中所述位置信息指示用于将所分配信道的音频样本数据写入到所述包中的所述另一节点沿所述包的数据流是位于所述节点的上游还是下游,其中所述包从所述主节点被发送,然后流经所述多个节点并返回至所述主节点;以及
输出装置,用于输出所述存储装置中存储的、所分配信道的音频样本数据,其中如果用于将所分配信道的音频样本数据写入到所述包中的所述另一节点是位于所述节点的上游,则所述输出装置从所述存储装置中输出所分配信道的一先前音频样本数据;如果所述另一节点是位于所述节点的下游,则所述输出装置从所述存储装置中输出所分配信道的当前音频样本数据。
2.根据权利要求1所述的音频网络系统,其中至少一个节点连接至混频器,其中所述连接至混频器的节点的输出装置将所分配信道的音频样本数据输出到所述混频器,以使所述混频器对从所述连接至混频器的节点发送的音频样本数据进行预定信号处理并馈送进行了所述预定信号处理后的音频样本数据,并且其中所述连接至混频器的节点包括更新装置,所述更新装置用于将从所述混频器馈送的音频样本数据写入到所述包的区中以将所述音频样本数据发送到另一节点。
3.根据权利要求1所述的音频网络系统,其中至少一个节点通过数模转换器连接至扬声器的放大器,并且其中所述连接至放大器的节点的输出装置将所分配信道的音频样本数据输出到所述数模转换器,以使所述数模转换器将所输出的音频样本数据转换为模拟音频信号,并且所述放大器放大用于驱动所述扬声器的所述模拟音频信号。
4.根据权利要求1所述的音频网络系统,其中至少一个节点通过模数转换器连接至麦克风,以使所述模数转换器将从所述麦克风馈送的音频信号转换为音频样本数据,并且其中所述连接至麦克风的节点包括更新装置,用于将从所述模数转换器馈送的音频样本数据写入到所述包的区中以将所述音频样本数据发送到另一节点。
5.一种音频网络系统,其使多个节点连接成环以允许数据的循环发送,并经由所述多个节点的环在一个方向上执行数据发送以在所述多个节点中的任何节点之间进行通信,
其中所述多个节点中的一个节点为主节点,其它节点为从节点,
其中所述主节点在每个采样周期中定期发送帧数据包,以使所述包在所述采样周期中经由连接成环的所述多个节点循环,
其中所述包设置有与多个信道相对应的包含音频样本数据的多个区,
其中在所有节点之间共享各节点的连接位置信息和关于在各节点哪个信道用于写入的信息,以及
其中所述多个节点中的每个节点包括:
读出装置,用于从所述包的特定区中读出音频样本数据,其中所述特定区与分配给所述节点的特定信道相对应,所述音频样本数据通过另一节点被写入到所述特定区;
存储装置,用于存储分配给所述节点的信道的读出音频样本数据,其中所述存储装置存储n+1个音频样本数据,所述n+1个音频样本数据的范围为从在当前采样周期中读出的当前音频样本数据到在当前采样周期之前的第1至n个采样周期中读出的先前音频样本数据,其中n为大于等于1的整数;
获取装置,用于获取位置信息,其中所述位置信息指示将所分配信道的音频样本数据写入到所述包中的所述另一节点沿所述包的数据流是位于所述节点的上游还是下游,其中所述包从所述主节点被发送,然后流经所述多个节点并返回至所述主节点;以及
输出装置,用于输出所述存储装置中存储的、所分配信道的音频样本数据,其中如果将所分配信道的音频样本数据写入到所述包中的所述另一节点是位于所述节点的上游,则所述输出装置输出在当前采样周期之前的第n个采样周期中已经存储的、所分配信道的一先前音频样本数据;如果所述另一节点是位于所述节点的下游,则所述输出装置输出在当前采样周期之前的第n-1个采样周期中已经存储的、所分配信道的又一先前音频样本数据。
6.根据权利要求5所述的音频网络系统,其中至少一个节点连接至混频器,其中所述连接至混频器的节点的输出装置将所分配信道的音频样本数据输出到所述混频器,以使所述混频器对从所述连接至混频器的节点发送的音频样本数据进行预定信号处理并馈送进行了所述预定信号处理后的音频样本数据,并且其中所述连接至混频器的节点包括更新装置,所述更新装置用于将从所述混频器馈送的音频样本数据写入到所述包的区中以将所述音频样本数据发送到另一节点。
7.根据权利要求5所述的音频网络系统,其中至少一个节点通过数模转换器连接至扬声器的放大器,并且其中所述连接至放大器的节点的输出装置将所分配信道的音频样本数据输出到所述数模转换器,以使所述数模转换器将所输出的音频样本数据转换为模拟音频信号,并且所述放大器放大用于驱动所述扬声器的所述模拟音频信号。
8.根据权利要求5所述的音频网络系统,其中至少一个节点通过模数转换器连接至麦克风,以使所述模数转换器将从所述麦克风馈送的音频信号转换为音频样本数据,并且其中所述连接至麦克风的节点包括更新装置,所述更新装置用于将从所述模数转换器馈送的音频样本数据写入到所述包的区中以将所述音频样本数据发送到另一节点。
9.一种音频网络系统,其使多个节点连接成环以允许数据的循环发送,并经由所述多个节点在一个方向上执行数据发送以在所述多个节点中的任何节点之间进行通信,
其中所述多个节点中的一个节点为主节点,其它节点为从节点,
其中所述主节点在每个采样周期中定期发送帧数据包,以使所述包在所述采样周期中经由连接成环的所述多个节点循环,
其中所述包设置有与多个信道相对应的包含音频样本数据的多个区,所述多个信道被分配给各节点以在各节点之间执行所述音频样本数据的传送,
其中在所有节点之间共享各节点的连接位置信息和关于在各节点哪个信道用于写入的信息,
其中所述多个节点中的每个节点计算在其接收所述包之后直到所述主节点接收所述包所经过的校正时间,以及
其中,当所述多个节点中的每个节点将所分配信道的音频样本数据输出到外部设备时,所述节点在利用所述校正时间调整的输出时间输出所述音频样本数据。
10.一种音频网络系统,其使多个节点连接成环以允许数据的循环发送,并经由所述多个节点在一个方向上执行数据发送以在所述多个节点中的任何节点之间进行通信,
其中所述多个节点中的一个节点为主节点,其它节点为多个从节点,
其中所述多个节点的环的构造如下:所述多个从节点的第一部分在前向方向上连接成链,以在所述前向方向上从所述主节点发送数据,并且所述多个从节点的第一部分也在后向方向上连接成链,以在所述数据到达所述前向方向的端部从节点并转向之后,使得在所述后向方向上从所述前向方向的端部从节点发送数据直到所述数据到达所述主节点为止;所述多个从节点的第二部分在后向方向上连接成链,以在所述后向方向上从所述主节点发送数据,并且所述多个从节点的第二部分也在前向方向上连接成链,以在所述数据在到达所述后向方向的端部从节点并转向之后,使得在所述前向方向上从所述后向方向的端部从节点发送数据直到所述数据到达所述主节点为止,
其中所述主节点在每个采样周期中定期发送帧数据包,以使所述包在所述采样周期中经由连接成环的所述多个节点循环,
其中所述包设置有与多个信道相对应的包含音频样本数据的多个区,所述多个信道被分配给各节点,
其中所述主节点包括:
获取装置,用于获取延迟信息,所述延迟信息包括总网络延迟时间、前向侧延迟时间和后向侧延迟时间,其中在所述总网络延迟时间期间所述包经由所述多个节点的环循环然后返回至所述主节点,所述前向侧延迟时间为所述包在所述前向方向上被发送之后直到所述包在所述后向方向上返回至所述主节点所经过的时间,所述后向侧延迟时间为所述包在所述后向方向上被发送之后直到所述包在所述前向方向上返回至所述主节点所经过的时间;以及
通知装置,用于将包括所述总网络延迟时间、前向侧延迟时间和后向侧延迟时间在内的所获取的延迟信息通知给所有从节点,
其中所述多个从节点中的每个从节点包括:
第一计算装置,用于计算在所述前向方向上接收所述包的接收时间与在所述后向方向上接收所述包的另一接收时间之间的接收时间差;
第二计算装置,利用从所述主节点通知的延迟信息和所计算的接收时间差计算校正时间,所述校正时间为从所述节点接收所述包的时间到所述主节点接收所述包的另一时间所经过的时间;
读出装置,用于从所述包的特定区中读出音频样本数据,其中所述特定区与所分配的信道相对应;
存储装置,用于存储所分配信道的读出音频样本数据;以及
输出装置,用于在利用所述校正时间调整的适当的输出时间输出所述存储装置中存储的音频样本数据。
11.根据权利要求10所述的音频网络系统,其中所述主节点的获取装置根据连接所述多个节点的线路长度确定所述总网络延迟时间、所述前向侧延迟时间和所述后向侧延迟时间。
12.根据权利要求11所述的音频网络系统,其中所述主节点的获取装置在所述多个从节点的第一部分或第二部分未连接至所述主节点的情况下将所述前向侧延迟时间和所述后向侧延迟时间的其中之一确定为0。
13.根据权利要求10所述的音频网络系统,其中所述端部从节点的第一计算装置将所述接收时间差计算为0。
14.根据权利要求10所述的音频网络系统,其中所述主节点的通知装置在所述音频网络系统启动时将控制信息通知给所有从节点,所述控制信息至少表示各节点在所述音频网络系统中的连接位置和分配给各节点的信道。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006089508A JP4337834B2 (ja) | 2006-03-28 | 2006-03-28 | オーディオサンプルずれの補正機能を有するオーディオネットワークシステム |
JP2006089509A JP4337835B2 (ja) | 2006-03-28 | 2006-03-28 | 出力遅延補正機能を有するオーディオネットワークシステム |
JP2006089508 | 2006-03-28 | ||
JP2006-089509 | 2006-03-28 | ||
JP2006089509 | 2006-03-28 | ||
JP2006-089508 | 2006-03-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101046954A CN101046954A (zh) | 2007-10-03 |
CN101046954B true CN101046954B (zh) | 2011-05-11 |
Family
ID=38639569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100914169A Expired - Fee Related CN101046954B (zh) | 2006-03-28 | 2007-03-28 | 具有音频样本滞后校正功能的音频网络系统 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4337834B2 (zh) |
CN (1) | CN101046954B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5012382B2 (ja) * | 2007-10-03 | 2012-08-29 | ヤマハ株式会社 | 音響信号処理装置及びネットワークシステム |
JP2011066544A (ja) * | 2009-09-15 | 2011-03-31 | Nippon Telegr & Teleph Corp <Ntt> | ネットワーク・スピーカシステム、送信装置、再生制御方法、およびネットワーク・スピーカプログラム |
JP2017108280A (ja) * | 2015-12-09 | 2017-06-15 | オークマ株式会社 | 環状通信路におけるタイマー同期化システム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1360780A (zh) * | 1999-07-12 | 2002-07-24 | 艾利森电话股份有限公司 | 用于在多媒体网络节点之间交换信息的方法和系统 |
US6504823B1 (en) * | 1998-07-16 | 2003-01-07 | Yazaki Corporation | Network monitoring system and method thereof |
-
2006
- 2006-03-28 JP JP2006089508A patent/JP4337834B2/ja not_active Expired - Fee Related
-
2007
- 2007-03-28 CN CN2007100914169A patent/CN101046954B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6504823B1 (en) * | 1998-07-16 | 2003-01-07 | Yazaki Corporation | Network monitoring system and method thereof |
CN1360780A (zh) * | 1999-07-12 | 2002-07-24 | 艾利森电话股份有限公司 | 用于在多媒体网络节点之间交换信息的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
JP2007267029A (ja) | 2007-10-11 |
JP4337834B2 (ja) | 2009-09-30 |
CN101046954A (zh) | 2007-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101046952B (zh) | 音频网络系统 | |
JP3698074B2 (ja) | ネットワーク同期方法、lsi、バスブリッジ、ネットワーク機器、およびプログラム | |
US20150172220A1 (en) | Ethercat packet forwarding with distributed clocking | |
US7826580B2 (en) | Network system and audio signal processor | |
CN101046954B (zh) | 具有音频样本滞后校正功能的音频网络系统 | |
US20080232380A1 (en) | Network system and audio signal processor | |
EP2408150B1 (en) | Audio network system having lag correction function of audio samples | |
JP4337835B2 (ja) | 出力遅延補正機能を有するオーディオネットワークシステム | |
US7987381B2 (en) | Cyclemaster synchronization in a distributed bridge | |
JP2001358766A (ja) | パケット通信システム、パケット通信方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US6909728B1 (en) | Synchronous communication | |
JP3697949B2 (ja) | 通信装置 | |
JP2004128756A (ja) | タイムスタンプ補正回路および補正方法 | |
JP3451971B2 (ja) | パケット転送装置 | |
US6153820A (en) | Communication technologies for musical tone signals | |
JP3358581B2 (ja) | パケット転送装置 | |
JPH09321727A (ja) | 多重化装置 | |
JP5187281B2 (ja) | ゲートウェイ装置 | |
JP3451973B2 (ja) | パケット転送装置 | |
US7684530B2 (en) | Circuit arrangement and method for synchronised transmission of audio data streams in a bus system | |
JP3496562B2 (ja) | パケット転送装置 | |
JP3412550B2 (ja) | パケット転送装置 | |
JP3451972B2 (ja) | パケット転送装置 | |
JP4151649B2 (ja) | 通信制御装置及び他ノードを管理する通信装置 | |
KR101469939B1 (ko) | 이더넷 오디오 전송 기능을 이용한 음악 반주 장치 및 음악 반주 시스템 |
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: 20110511 Termination date: 20170328 |
|
CF01 | Termination of patent right due to non-payment of annual fee |