JP4337835B2 - Audio network system with output delay correction function - Google Patents
Audio network system with output delay correction function Download PDFInfo
- Publication number
- JP4337835B2 JP4337835B2 JP2006089509A JP2006089509A JP4337835B2 JP 4337835 B2 JP4337835 B2 JP 4337835B2 JP 2006089509 A JP2006089509 A JP 2006089509A JP 2006089509 A JP2006089509 A JP 2006089509A JP 4337835 B2 JP4337835 B2 JP 4337835B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- packet
- nodes
- data
- time
- 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
Landscapes
- Circuit For Audible Band Transducer (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
本発明は、リング型オーディオネットワークシステムにおける伝送遅延時間を考慮し、ノードから音響信号を出力する時刻を補正することで、全ノードにおける位相差までも補正する技術に関する。 The present invention relates to a technique for correcting even a phase difference in all nodes by correcting a time at which an acoustic signal is output from a node in consideration of a transmission delay time in a ring audio network system.
従来より、コンサート、演劇などのPA、音楽製作、構内放送などに使用されるオーディオネットワークシステムにおいて、音響信号の通信を行う技術として、非特許文献1に記載のCobraNet(登録商標)、非特許文献2に記載のSuperMAC(登録商標)、及び、非特許文献3に記載のEtherSound(登録商標)などが知られている。これらは、何れもイーサネット(登録商標)上で音響信号を伝送する技術である。
Conventionally, CobraNet (registered trademark) described in Non-Patent
一方、電話回線用のネットワークに用いられる技術として、FDDI/TokenRingなどのリング型伝送ネットワークが知られている。この方式では、トークン(データ送信権)が、リング状に接続されたノード間を巡回しており、トークンを得たノードだけがデータの送信を実行できる。
音響信号(オーディオサンプルデータ)の伝送方式として、上述の従来から知られているリング型伝送ネットワークを用いることが考えられる。図13は、リング型のオーディオネットワークシステムの一例を示す。ノード1301→ノード1302→ノード1303→ノード1302→ノード1301のように往復する形式で信号が巡回する。図14も、同様のリング型のオーディオネットワークシステムの別の例を示す。この例では、ノード1401〜1406がこの順に物理的にリング状に接続されている。マスタノード1401から送信されたパケットが、ノード1401→ノード1402→ノード1403→ノード1404→ノード1405→ノード1406のように、1サンプリング周期で1回巡回する。このパケットには複数チャンネル(ch)のオーディオサンプルデータの格納領域が確保されており、各ノードは適宜必要なchにデータを乗せて伝送を行う。
As a transmission method of acoustic signals (audio sample data), it is conceivable to use the above-described conventionally known ring transmission network. FIG. 13 shows an example of a ring type audio network system. The signal circulates in a reciprocating manner such as
しかし、このようなリング状にデータを伝送するシステムでは、全ノードで音響信号の出力タイミングを正確に一致させるのが難しかった。特に、伝送線を利用している以上、その伝送線による信号伝送には遅れがあるし、各ノードでの処理による遅れもあるが、そのような微少な遅れは通常はほとんど気にならない程度である。しかし、プロ用の各種オーディオ機器では、このような微少時間の遅れも許されず、全ノードから出力される音響信号の位相差までも無くしたい場合がある。例えば、ラインアレイスピーカシステムを厳密に設計/設営するためには、この程度の微小時間をも考慮しなければならない場合がある。 However, in such a system that transmits data in a ring shape, it is difficult to accurately match the output timings of the acoustic signals at all nodes. In particular, as long as a transmission line is used, there is a delay in signal transmission through that transmission line, and there is also a delay due to processing at each node. However, such a small delay is usually of little concern. is there. However, in various professional audio devices, such a slight delay is not allowed, and there is a case where it is desired to eliminate even the phase difference of the acoustic signals output from all nodes. For example, in order to strictly design / install a line array speaker system, it may be necessary to consider such a minute time.
本発明は、リング型オーディオネットワークシステムにおいて、パケットを巡回させながらオーディオサンプルデータの伝送を行う場合に、伝送線における遅れなどの微少な遅れも考慮し、全ノードから位相差も無しに音響信号を出力できるような遅延補正の技術を提供することを目的とする。 When transmitting audio sample data while circulating packets in a ring-type audio network system, the present invention takes into account a minute delay such as a delay in a transmission line, and an acoustic signal is transmitted from all nodes without any phase difference. An object of the present invention is to provide a delay correction technique that can be output.
上記目的を達成するため、本発明は、複数のノードをループ伝送可能となるようにリング状に接続し、それらの複数のノード間で一方向にデータ伝送を行って任意のノード間での通信を行うオーディオネットワークシステムにおいて、複数のノードのうちの1つだけをマスタノードとし、他のノードはスレーブノードとし、サンプリング周期毎に、前記マスタノードからフレームデータを規則的に1パケットずつ送信して該サンプリング周期中に一巡するようにし、該パケットの中には、ノード間でオーディオサンプルデータの伝送を行うための、複数チャンネルのオーディオサンプルデータが入る領域が用意されているようなシステムで、各ノード毎に、当該ノードでパケットが受信された時点から該パケットが前記マスタノードで受信される時点までの時間を補正時間として予め算出しておき、各ノードからオーディオサンプルデータを外部機器に出力する際には、その出力時刻を前記補正時間だけ遅延させて出力することを特徴とするものである。 In order to achieve the above object, the present invention connects a plurality of nodes in a ring shape so that loop transmission is possible, and performs data transmission in one direction between the plurality of nodes to perform communication between arbitrary nodes. In the audio network system that performs the above, only one of the plurality of nodes is set as a master node, and the other nodes are set as slave nodes, and frame data is regularly transmitted from the master node packet by packet at each sampling period. In a system in which a round is taken during the sampling period, and in the packet, an area for storing audio sample data of a plurality of channels is provided for transmitting audio sample data between nodes. For each node, the master node receives the packet from the time the packet is received by the node. We calculated in advance the time to the point that a correction time, when outputting the audio sample data to an external device from each node, which is characterized in that outputs the output time and delayed by the correction time It is.
特に、マスタノードから順方向にデータが送られるように任意の数のスレーブノードが順方向に連鎖的に接続され、順方向で末端のスレーブノードに至ったら該スレーブノードでデータが折り返され、順方向末端のスレーブノードからマスタノードまで逆方向にデータが送られるようにスレーブノードが逆方向に連鎖的に接続され、さらにマスタノードから逆方向にデータが送られるように任意の数のスレーブノードが逆方向に連鎖的に接続され、逆方向で末端のスレーブノードに至ったら該スレーブノードでデータが折り返され、逆方向末端のスレーブノードからマスタノードまで順方向にデータが送られるようにスレーブノードが順方向に連鎖的に接続され、そのようなノードの接続関係によりリング状のネットワークを構成するものであれば、マスタノードにおいて、リング状のネットワークを巡回して戻ってくるまでのネットワーク全体の遅延時間と、パケットが順方向に送信されて逆方向から戻ってくるまでのフォワード側遅延時間と、前記パケットが逆方向に送信されて順方向から戻ってくるまでのバックワード側遅延時間とを求め、各スレーブノードにおいて、順方向から送られてくるパケットと逆方向から送られてくるパケットの受信時刻の差を相対的に算出する手段を設けておき、これらの情報から各ノードは、自ノードでパケットが受信された時点から該パケットが前記マスタノードで受信される時点までの時間を補正時間として算出するようにする。各ノードからオーディオサンプルデータの出力を行うときには、その出力時刻を前記補正時間だけ遅延させて出力するようにする。 In particular, an arbitrary number of slave nodes are connected in a chain in the forward direction so that data can be transmitted in the forward direction from the master node. When the slave node reaches the terminal slave in the forward direction, the data is looped back at the slave node. Slave nodes are connected in a chain in the reverse direction so that data can be sent in the reverse direction from the slave node at the end of the direction to the master node, and any number of slave nodes can be connected so that data can be sent in the reverse direction from the master node. When the slave node is connected in a chain in the reverse direction and reaches the slave node at the end in the reverse direction, the slave node wraps the data and sends the data in the forward direction from the slave node at the reverse end to the master node. It is connected in a chain in the forward direction and constitutes a ring network by the connection relationship of such nodes. Then, in the master node, the delay time of the entire network until it circulates around the ring network and returns, the forward delay time until the packet is transmitted in the forward direction and returns from the reverse direction, The backward delay time from when the packet is transmitted in the reverse direction until it returns from the forward direction is obtained, and at each slave node, the reception time of the packet sent from the forward direction and the packet sent from the reverse direction A means for relatively calculating the difference is provided, and from these pieces of information, each node uses the time from when the packet is received at its own node to the time when the packet is received at the master node as a correction time. Try to calculate. When outputting audio sample data from each node, the output time is delayed by the correction time and output.
本発明によれば、伝送遅延があるオーディオネットワークにおいても、各ノードから同時刻に音響信号が出力されるようにすることができ、全ノードから同位相の音響信号を出力することができる。これは、各ノードの音響出力の位相差までも厳密に考慮するオーディオシステム、例えばラインアレイスピーカシステムなどに対して適用して好適である。 According to the present invention, even in an audio network having a transmission delay, an acoustic signal can be output from each node at the same time, and an acoustic signal having the same phase can be output from all nodes. This is suitable for application to an audio system that strictly considers even the phase difference of the sound output of each node, such as a line array speaker system.
以下、図面を用いて本発明の実施の形態を説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は、本発明に係るオーディオネットワークシステムのモジュール構成を示す。ノード101〜104は、パケット150を点線151に示すようにリング状に巡回させるように接続された4つのノードである。ノード101には、アナログディジタル変換器(ADC)111経由でマイク112が接続されている。ノード101は、ADC111経由で入力したオーディオデータを、巡回するパケット150の任意のchを用いて、他のノードに伝送できる。ノード102には、ミキサ121が接続されている。ノード102は、巡回するパケット150の任意のchからオーディオデータを取り込み、ミキサ121に送ることができる。ミキサ121は、入力したオーディオデータのミキシング処理、音量レベル制御処理、及び効果付与処理などの各種の信号処理を実行する。信号処理の結果のオーディオデータは、ミキサ121からノード102に入力し、ノード102は、入力したオーディオデータを、巡回するパケット150の任意のchを用いて、他のノードに伝送できる。ノード103には、ディジタルアナログ変換器(DAC)131を経由してパワーアンプ132とスピーカ133が接続されている。同様に、ノード104には、DAC141を経由してパワーアンプ142とスピーカ143が接続されている。ノード103は、巡回するパケット150の任意のchからオーディオデータを取り込み、DAC131経由でパワーアンプ132に送り、スピーカ133で放音することができる。ノード104も同様である。
FIG. 1 shows a module configuration of an audio network system according to the present invention. The
各ノード101〜104は、それぞれバッファA及びBの2段構成のバッファを備えている。各バッファは、そのノードで取り込むべきオーディオデータを格納するバッファであり、2段構成になっているのは、各ch毎に最新のサンプルデータと1サンプリング時間前のサンプルデータとを格納するためである。記号Aが付されたバッファ(例えば110A)に最新の取り込みデータを格納し、記号Bが付されたバッファ(例えば110B)には1サンプリング時間前のサンプルを格納する。
Each of the
図2は、各ノードのハードウェア構成を示す。1つのノードは、中央処理装置(CPU)201、ランダムアクセスメモリ(RAM)202、リードオンリメモリ(ROM)203、通信インタフェース(I/F)204、音声I/O(入出力インタフェース)206、および通信バス208を備える。
FIG. 2 shows the hardware configuration of each node. One node includes a central processing unit (CPU) 201, a random access memory (RAM) 202, a read only memory (ROM) 203, a communication interface (I / F) 204, an audio I / O (input / output interface) 206, and A
CPU201は、このノードの全体の動作を制御する処理装置である。RAM202は、CPU201が実行するプログラムのロード領域や各種のバッファなどを設定するワーク領域として用いる揮発性メモリである。ROM203は、CPU201が実行する各種のプログラムや定数データなどを記憶した不揮発性メモリである。通信I/F204には、外部機器として他のノード205が接続される。ここでは他のノード205を1つのブロックで示しているが、例えばノード102であれば、ノード103および101の両方と接続されるので、通信I/F204は、それらのノードと接続できるように複数設けられている。音声I/O206は、ADC、DAC、あるいはミキサなどの外部機器と接続するインタフェースである。
The
ここで本実施形態のオーディオネットワークシステムにおけるサンプルずれの補正手法について説明する。図8は、サンプルずれの補正手法を説明するための図である。ノードA〜Dは、信号が往復する形式でリング状に接続されており、ノードBがマスタノードとする。マスタノードBは、1サンプリング時間の開始のタイミングでパケットを送信する。巡回させるパケットのch1にはノードAがデータを格納し、ch2にはノードBがデータを格納し、ch3にはノードCがデータを格納し、ch4にはノードDがデータを格納するものとする。また、各ノードA〜Dは、それぞれch1〜ch4の全てのデータを取り込むものとする。801は、あるサンプリング時間t−1にマスタノードBに戻っているデータであり、サンプリング時間t−1における各chのデータが設定されている。新たなサンプリング時間tに入ったとき、ノードBでは、パケットのch2の領域に時間tのデータを格納し、パケット802として次のノードCに送信する。ノードCは、これをパケット803のように受信し、そのch3の領域に時間tのデータを格納し、パケット804として次のノードDに送信する。ノードDは、これをパケット805のように受信し、そのch4の領域に時間tのデータを格納し、パケット806として復路の経路に送信する。復路のノードCとBでは、807,808に示すようにパケットをそのまま通す(スルー)するだけである。次のノードAは、これをパケット809のように受信し、そのch1の領域に時間tのデータを格納し、パケット810として次のノードBに送信する。マスタノードBは、これをパケット811のように受信し、再び次のサンプリング時間まで待ってから、同様の処理を行う。
Here, a method of correcting the sample deviation in the audio network system of the present embodiment will be described. FIG. 8 is a diagram for explaining a sample deviation correction method. Nodes A to D are connected in a ring shape so that signals reciprocate, and node B is a master node. The master node B transmits a packet at the start timing of one sampling time. Node A stores data in ch1 of the packet to be circulated, node B stores data in ch2, node C stores data in ch3, and node D stores data in ch4. . Each node A to D captures all data of ch1 to ch4. Data 801 returns to the master node B at a certain sampling time t−1, and data of each channel at the sampling time t−1 is set. When the new sampling time t is entered, the node B stores the data of the time t in the ch2 area of the packet and transmits it to the next node C as the packet 802. Node C receives this as
各ノードは、図1で説明したように、それぞれバッファAとBを備えている。例えば、マスタノードBであれば、822Aで示す1行が各chの最新のサンプルデータを格納するバッファAであり、822Bで示す1行が各chの1サンプリング時間前のサンプルデータを格納するバッファBである。他のノードも同様である。各ノードA〜Dでは、それぞれ、パケットを次のノードに送信するとき、その送信パケットのch1〜ch4のデータをバッファAに格納する。このとき、それまでにバッファAに格納されていたデータはバッファBにコピーされ、その後、バッファAへのデータの格納が行われるものとする。これにより、各ノードA〜Dでは、ch1〜ch4毎に、常に1サンプリング時間前のサンプルと最新のサンプルとがバッファに保持されていることになる。 Each node includes buffers A and B as described with reference to FIG. For example, in the case of the master node B, one row indicated by 822A is a buffer A for storing the latest sample data of each channel, and one row indicated by 822B is a buffer for storing sample data by one sampling time before each channel. B. The same applies to the other nodes. Each of the nodes A to D stores the data of ch1 to ch4 of the transmission packet in the buffer A when transmitting the packet to the next node. At this time, the data stored in the buffer A so far is copied to the buffer B, and then the data is stored in the buffer A. As a result, in each of the nodes A to D, the sample one sampling time before and the latest sample are always held in the buffer for each of ch1 to ch4.
各ノードA〜Dは、バッファA及びBに格納されたサンプルデータを、サンプルずれが起こらないように出力(ノードから出力して、例えばミキサに渡したり、アンプを通して放音したりすること)する。そのためには、リング状に各ノードを流れるデータの流れに沿って、自ノードより上流のノード(マスタノードから自ノードの直前のノードまで)で書き込まれるchについてはバッファBに格納されている1サンプリング時間前のデータを出力し、自ノードより下流のノード(自ノードの直後のノードからマスタノードの直前のノードまで)で書き込まれるchについてはバッファAに格納されている現サンプリング時間のデータを出力すればよい。自ノードで書き込むchについては、図8の例では、書き込むべき現サンプリング時間のデータをパケットの当該chに格納してから、他のchのデータと共にバッファAに書き込んでいるので、バッファBの当該chのデータを出力するようにしている。(もちろん受信したパケットをバッファに格納してから、自ノードで書き込むchのデータを更新してもよいので、そのような手順で処理するときには、バッファAから出力すればよい。)図8で、楕円を付けてある各サンプルが、上述したルールに沿って各ノードから出力されるサンプルを示している。これにより、サンプルがずれることなく、時間t−1のサンプルが一斉に出力できることになる。
Each of the nodes A to D outputs the sample data stored in the buffers A and B so as not to cause a sample shift (output from the node, for example, pass to a mixer or emit sound through an amplifier). . For this purpose, the ch written in the node upstream from the self node (from the master node to the node immediately before the self node) along the data flow flowing through each node in a ring shape is stored in the
なお、各ノードの接続位置や各ノードでどのchに書き込むかについての情報は、予め全ノード間で共有しているものとする。例えば、本システムの立ち上げ時、ノード構成に変更があったとき、各ノードでパケットに書き込むchやパケットから取り込むchに変更があったときなどに、例えばマスタノードの主導で制御データをノード間でやり取りすることにより、これらの情報を共有すればよい。 It is assumed that information on the connection position of each node and which channel is written in each node is shared in advance among all nodes. For example, when this system is started up, when the node configuration is changed, or when the channel to be written to the packet at each node or the channel to be fetched from the packet is changed, for example, the control data is transferred between the nodes at the initiative of the master node. It is only necessary to share these information by exchanging with each other.
図3は、各ノードを巡回するパケットを受信したときに、当該ノードで実行されるオーディオデータ入力ルーチンのフローチャートである。ステップ301で、このノードで入力するべきchのオーディオデータを入力する。これは、例えば図1のノード101においてマイク112からの音響信号をADC111経由で入力したり、ミキサ121から出力されるディジタル音響信号をノード102に入力するということである。ステップ302では、受信したパケット中の当該chのデータを、ステップ301で入力した最新のサンプルで上書き更新する。ステップ303では、1つ前のサンプリング時間(サイクル)のサンプルを格納してあるバッファBの当該chのデータを破棄する。ステップ304では、バッファBの当該chのデータを、現在のサイクル用のサンプルが格納されたバッファAの当該chのデータで上書きする。ステップ305では、バッファAの当該chのデータをパケットの当該chのデータで上書きする。複数chの入力を行うときは、以上の処理を繰り返せばよい。なお、ステップ303のデータの破棄は、ステップ304で上書きすることにより自動的に破棄したことになるものである。
FIG. 3 is a flowchart of an audio data input routine executed at a node when a packet that goes around each node is received. In
図4は、各ノードでバッファに取り込んだサンプルデータを外部機器に出力するオーディオデータ出力ルーチンのフローチャートである。これは、例えば図1のノード102からミキサ121にサンプルデータを出力したり、ノード103,104でDAC及びアンプを経由して放音するということである。ステップ401で、このノードで外部に出力するべき全chの出力データを更新したか判別する。これは、出力すべきchのサンプルデータが全て所定のワーク領域(出力データ)に集まったかを判別する処理である。まだであれば、ステップ402で、該当chのサンプルをパケットに格納したノードの位置情報を取得する。ステップ403で、そのノード位置が自ノードよりも前段(マスタノードから自ノードの直前のノードまで)か後段(自ノードの直後のノードからマスタノードの直前のノードまで)かを判定する。前段のノードであるときは、ステップ404で、1つ前のサイクル用のバッファBから該当chのサンプルデータを取得する。後段であるときは、ステップ405で、現在のサイクル用のバッファAから該当chのサンプルデータを取得する。次にステップ406で、取得したデータで出力データを更新し、ステップ401に戻る。出力すべき全chのサンプルデータが出力データとして揃ったら、ステップ401から407に進み、オーディオデータ出力時刻補正処理(後に詳述する)を行う。次に、ステップ408で、このノードで出力するべきchのオーディオデータを、指定された外部機器へ、出力する。
FIG. 4 is a flowchart of an audio data output routine for outputting sample data taken into the buffer at each node to an external device. This means that, for example, sample data is output from the
以上により、図8で説明したサンプルずれの補正が行われ、同一のサンプリング時間のサンプルが各ノードから一斉に出力される。 As described above, the sample deviation correction described with reference to FIG. 8 is performed, and samples having the same sampling time are simultaneously output from the respective nodes.
なお、図8ではバッファを2段構成としたが、バッファをn+1(nは1以上の整数)段構成として、現サンプリング周期で読み出したサンプルからnサンプリング周期前に読み出したサンプルまでのn+1個のオーディオサンプルデータを格納するようにし、出力時には、そのサンプルをパケットに乗せたノードが、自ノードより上流にある場合はnサンプリング周期前のサンプルを読み出して出力し、自ノードより下流にある場合はn−1サンプリング周期前のサンプルを読み出して出力するようにしてもよい。 In FIG. 8, the buffer has a two-stage configuration, but the buffer has an n + 1 (n is an integer of 1 or more) stage configuration, and n + 1 number of samples from a sample read in the current sampling period to a sample read out before n sampling periods. Audio sample data is stored, and at the time of output, if the node that puts the sample in the packet is upstream from its own node, the sample before n sampling periods is read and output, and if it is downstream from its own node The sample before the n-1 sampling period may be read and output.
次に、ステップ407のオーディオデータ出力時刻補正処理について詳しく説明する。上記のサンプルずれの補正により、サンプル単位で出力のタイミングを合わせることはできる。しかし、上述したリング状のネットワークを巡回するパケットにデータを乗せて各chのサンプルデータを伝送するので、ノード間の伝送路による遅れが発生する。この遅れは微少であり無視できる場合もあるが、プロ用のオーディオ機器では、このような微少な遅れも許されない場合がある。オーディオデータ出力時刻補正処理は、このような伝送路による遅延を補正して、各ノードから出力されるオーディオ信号の出力のタイミングを高い精度で一致させる処理である。
Next, the audio data output time correction process in
オーディオデータ出力時刻補正処理について具体的に説明する。なお、ここでは図13に示したように信号が往復するような接続形態のネットワークを前提として説明する。各ノードにおけるパケットへのデータの書き込みとパケットからのデータの取り込みは、往路のルート中で行うものとし、復路のルートはパケットをスルーするのみとする。まず、説明のために、図9に示すように、配線長aにおける遅延時間をt(a)、各ノード901,902ごとのフォワード側の送信/受信時刻をTFT,TFR、バックワード側の送信/受信時刻をTBT,TBRと、それぞれ表記する。また、ネットワーク全体の遅延時間をTotal Delayと、マスタノードを起点としたフォワード側/バックワード側の遅延時間をForward Delay,Backward Delayと、各ノードにおけるパケット受信時間差をNode(Name) Delayと、それぞれ表記する。Total Delayは、ネットワークを1回巡回したときの遅延時間である。Forward Delayは、マスタノードのフォワード側から送信したデータが戻ってきてフォワード側で受信されるまでの遅延時間である。Backward Delayは、マスタノードのバックワード側から送信したデータが戻ってきてバックワード側で受信されるまでの遅延時間である。
The audio data output time correction process will be specifically described. Here, description will be made on the assumption of a network having a connection form in which signals reciprocate as shown in FIG. It is assumed that the writing of data into the packet and the capturing of data from the packet at each node are performed in the forward route, and the return route only passes through the packet. First, for explanation, as shown in FIG. 9, the delay time in the wiring length a is t (a), the transmission / reception times on the forward side for each
なお、マスタノードがサンプリング周期の開始タイミングにパケットの送信を開始する向きを「フォワード側」と呼び、その逆の向きを「バックワード側」と呼ぶ。図9では、図の右側がフォワード側であり、左側がバックワード側である(これは図10や図11でも同じ)。 The direction in which the master node starts packet transmission at the start timing of the sampling period is called “forward side”, and the opposite direction is called “backward side”. In FIG. 9, the right side of the figure is the forward side, and the left side is the backward side (the same applies to FIGS. 10 and 11).
図10は、マスタノードで計算する遅延時間を示す。図10(a)は、マスタノード1001がバックワード側の末端に配置され、マスタノード1001のバックワード側出力がマスタノード内で直接バックワード側入力に結線されている例である。図10(b)は、マスタノード1012がスレーブノード1011と1013の間にあり、マスタノード1012のフォワード側の入出力とバックワード側の入出力のそれぞれにスレーブノード1011,1013が接続されている例である。図10(c)は、マスタノード1023がフォワード側の末端に配置され、マスタノード1001のフォワード側出力がマスタノード内で直接フォワード側入力に結線されている例である。これらの各例毎に、図に示すように、Total Delay,Forward Delay,Backward Delayを計算する。ここではノードが3つの場合を例としたが、さらに多くのノードが接続される場合も同様に計算すればよい。
FIG. 10 shows the delay time calculated in the master node. FIG. 10A shows an example in which the
図11は、スレーブノードで計算する遅延時間を示す。各スレーブノードでは、フォワード側とバックワード側のパケットデータの受信時間差(遅延時間)を計算する。この遅延時間は、マスタノードとの位置関係で計算方法が異なる。例えば、図11(a)に示すように、マスタノード1101に対してフォワード側にあるスレーブノード1102,1103(それぞれS3,S4と名前が付けてある)では、図11(d)及び(e)に示すように、TFR−TBRで上記遅延時間を計算する。一方、マスタノード1101に対してバックワード側にあるスレーブノード1104,1105(それぞれS1,S2と名前が付けてある)では、図11(b)及び(c)に示すように、TBR−TFRで上記遅延時間を計算する。また、図11(a)の接続例で、マスタノード1101で計算される遅延時間は図11(f)のようになる。
FIG. 11 shows a delay time calculated in the slave node. Each slave node calculates a reception time difference (delay time) between forward and backward packet data. The calculation method of this delay time differs depending on the positional relationship with the master node. For example, as shown in FIG. 11 (a), in
図12は、各ノードでサンプルデータを外部機器(ミキサやアンプなど)に出力するときに、出力時刻をどれ程遅らせるか、その補正時間の計算例を示す。図12(a)の横軸は時間の経過方向を示し、縦軸に並べたS1,S2,M,S3,S4は図11(a)のマスタノード及びスレーブノードを示す。M→S3→S4→S3→M→S2→S1→S2→Mの矢印は、図11(a)のネットワーク構成でこの矢印に従うようにパケットデータが巡回することを示している(右下がりの向きの矢印は往路、右上がりの向きの矢印は復路を示す)。この矢印に従ってパケットデータが巡回するとき、各ノード間の遅延時間は1204にそれぞれ示した。また、1201はTotal Delay、1202はForward Delay、1203はBackward Delayを示す。
FIG. 12 shows a calculation example of the correction time for how much the output time is delayed when sample data is output to an external device (such as a mixer or an amplifier) at each node. In FIG. 12A, the horizontal axis indicates the direction of passage of time, and S1, S2, M, S3, and S4 arranged on the vertical axis indicate the master node and the slave node in FIG. The arrows of M → S3 → S4 → S3 → M → S2 → S1 → S2 → M indicate that the packet data circulates in accordance with this arrow in the network configuration of FIG. The arrow indicates the forward path, and the arrow pointing upward to the right indicates the return path.) When the packet data circulates according to this arrow, the delay time between the nodes is indicated by 1204.
図12(a)の1213は、マスタノードMから送信されたパケットがスレーブノードS3で受信されたタイミングを示す。このパケットの受信により、当該ノードS3で上述の図4の処理が実行される。同様に、タイミング1214ではノードS4で、タイミング1211ではノードS1で、タイミング1212ではノードS2で、それぞれ図4の処理が実行される。これら各ノードにおける図4の処理で、ステップ407の出力時刻補正を行わないとすると、ノードS3はタイミング1213でオーディオデータを出力し、ノードS4はタイミング1214でオーディオデータを出力し、…というように処理されるため各ノードで出力タイミングがずれてしまう。そこで、本実施形態では各ノードでの上記各タイミング1213,1214,1211,1212をそれぞれタイミング1210まで遅延させる。タイミング1210はパケットがマスタノードに戻ったタイミングである。このタイミング1210まで待てば、全ノードで同じサンプリング時間のサンプルが揃い、一斉に出力することでオーディオ信号の出力のタイミングを高い精度で一致させることができる。各ノードにおけるパケットの受信タイミングからタイミング1210までの遅延時間を補正時間と呼ぶ。1221〜1224は、各ノードでの補正時間の計算方法を示す。
1213 in FIG. 12A indicates the timing at which the packet transmitted from the master node M is received by the slave node S3. Upon reception of this packet, the processing of FIG. 4 described above is executed in the node S3. Similarly, the processing of FIG. 4 is executed at the node S4 at the
図12(b)は、フォワード側のスレーブノード用の補正時間の計算方法を示す。フォワード側のスレーブノードは、例えばノードS3,S4である。これらのノードでは、要するに、自ノードのバックワード側入力(TBR)にパケットが入力してから、該パケットがマスタノードに戻るまでの時間を計算すればよいと言うことであるから、Total Delay−{(Total Delay)−(Backward Delay)−(Node(Name) Delay)}/2で計算できる。これを整理して図12(b)の式を得ている。式1223と1224は、図12(b)の式に図11(f)を代入したものである。
FIG. 12B shows a calculation method of the correction time for the slave node on the forward side. The forward-side slave nodes are, for example, nodes S3 and S4. In short, these nodes only need to calculate the time from when a packet is input to the backward input (T BR ) of the own node until the packet returns to the master node. − {(Total Delay) − (Backward Delay) − (Node (Name) Delay)} / 2 This is rearranged to obtain the equation of FIG.
図12(c)は、バックワード側のスレーブノード用の補正時間の計算方法を示す。バックワード側のスレーブノードは、例えばノードS1,S2である。これらのノードでも、要するに、自ノードのバックワード側入力(TBR)にパケットが入力してから、該パケットがマスタノードに戻るまでの時間を計算すればよいと言うことであるから、{(Total Delay)−(Forward Delay)−(Node(Name) Delay)}/2で計算できる。これは図12(c)の式である。式1221と1222は、図12(c)の式に図11(f)を代入したものである。
FIG. 12C shows a method of calculating the correction time for the slave node on the backward side. The slave nodes on the backward side are, for example, nodes S1 and S2. In short, in these nodes, it is only necessary to calculate the time from when a packet is input to the backward input (T BR ) of the own node until the packet returns to the master node. Total Delay)-(Forward Delay)-(Node (Name) Delay)} / 2. This is the equation of FIG.
図5は、マスタノードの遅延時間算出ルーチンのフローチャートである。ステップ501で、ネットワーク全体の遅延時間(Total Delay)を算出する。ステップ502で、フォワード側の遅延時間(Forward Delay)を算出する。ステップ503で、バックワード側の遅延時間(Backward Delay)を算出する。ステップ504で、全ノードにこれらの情報を通知する。以上の処理により、図10で説明した各遅延時間が算出される。
FIG. 5 is a flowchart of the master node delay time calculation routine. In
図6は、スレーブノードの遅延時間算出ルーチンのフローチャートである。ステップ601で、ネットワーク全体、フォワード側、及びバックワード側の遅延時間情報(Total Delay,Forward Delay,Backward Delay)を取得する。ステップ602で、自ノードの位置がフォワード側かバックワード側かを判定する。フォワード側なら、ステップ603で自ノードのパケット時間受信差を求め、ステップ604で図12(b)に示す式により補正時間を算出する。バックワード側なら、ステップ605で自ノードのパケット時間受信差を求め、ステップ606で図12(c)に示す式により補正時間を算出する。
FIG. 6 is a flowchart of a slave node delay time calculation routine. In
上記図5及び図6の処理により、図10及び図11で説明した各遅延時間が算出される。図5及び図6の処理は、オーディオデータの伝送を開始する前に事前に実行しておき、各スレーブノードで補正時間を算出しておく。 The delay times described in FIGS. 10 and 11 are calculated by the processes in FIGS. The processing in FIGS. 5 and 6 is executed in advance before starting transmission of audio data, and the correction time is calculated in each slave node.
図7は、スレーブノードのオーディオデータ出力ルーチンのフローチャートである。この処理は図4のステップ407で実行される。ステップ701でタイマをリセットし、ステップ702,703でタイマが補正時間(このノードで上記ステップ604または606で算出してあるもの)を超えるまで待つ。補正時間を超えたらリターンする。その後、図4のステップ408でオーディオデータが出力されるので、これにより図12で説明したように各ノード毎の補正時間だけ遅延させて出力がなされ、全ノードで出力タイミングが合う。
FIG. 7 is a flowchart of an audio data output routine of the slave node. This process is executed in
なお、上記実施形態では、図13のような接続関係のオーディオネットワークシステムを例として説明したが、複数のノードをリング状に接続しパケットを巡回させるようなオーディオネットワークシステムであれば、どのようなものでも本発明は適用可能である。その場合は、各ノードにおいて、ノードでパケットが受信された時点から該パケットが前記マスタノードで受信される時点までの時間を求めて補正時間とすればよい。システム立ち上げ時などに、補正時間計測用のパケットを流し、これにより各ノードにおけるパケットが受信された時点から該パケットが前記マスタノードで受信される時点までの時間を求めてもよい。 In the above embodiment, the connection-related audio network system as shown in FIG. 13 has been described as an example. However, any audio network system that connects a plurality of nodes in a ring shape and circulates packets can be used. The present invention can be applied even if it is a thing. In that case, in each node, the time from when the packet is received at the node to the time when the packet is received at the master node may be obtained and used as the correction time. When the system is started up, a correction time measurement packet is sent, and thereby the time from when the packet is received at each node to when the packet is received at the master node may be obtained.
101〜104…ノード、150…パケット、111…アナログディジタル変換器(ADC)、112…マイク、121…ミキサ、131,141…ディジタルアナログ変換器(DAC)、132,142…パワーアンプ、133,143…スピーカ。 DESCRIPTION OF SYMBOLS 101-104 ... Node, 150 ... Packet, 111 ... Analog-digital converter (ADC), 112 ... Microphone, 121 ... Mixer, 131, 141 ... Digital-analog converter (DAC), 132, 142 ... Power amplifier, 133, 143 … Speaker.
Claims (2)
前記複数のノードのうちの1つだけをマスタノードとし、他のノードはスレーブノードとし、
これらのノードは、前記マスタノードから順方向にデータが送られるように任意の数のスレーブノードが順方向に連鎖的に接続され、順方向で末端のスレーブノードに至ったら該スレーブノードでデータが折り返され、前記順方向末端のスレーブノードから前記マスタノードまで逆方向にデータが送られるように前記スレーブノードが逆方向に連鎖的に接続され、さらに前記マスタノードから逆方向にデータが送られるように任意の数のスレーブノードが逆方向に連鎖的に接続され、逆方向で末端のスレーブノードに至ったら該スレーブノードでデータが折り返され、前記逆方向末端のスレーブノードから前記マスタノードまで順方向にデータが送られるように前記スレーブノードが順方向に連鎖的に接続され、そのようなノードの接続関係によりリング状のネットワークを構成するものであり、
サンプリング周期毎に、前記マスタノードからフレームデータを規則的に1パケットずつ送信し、そのサンプリング周期中に、該パケットが前記リング状に接続した複数のノードを一巡するように伝送し、
該パケットの中に、複数チャンネルのオーディオサンプルデータが入る領域が用意されており、
前記マスタノードは、
前記パケットが前記リング状のネットワークを巡回して戻ってくるまでのネットワーク全体の遅延時間と、前記パケットが順方向に送信されて逆方向から戻ってくるまでのフォワード側遅延時間と、前記パケットが逆方向に送信されて順方向から戻ってくるまでのバックワード側遅延時間とを求める手段と、
求めたネットワーク全体の遅延時間、フォワード側遅延時間、及びバックワード側遅延時間を、全てのスレーブノードに通知する手段と
を備え、
前記各スレーブノードは、
順方向から送られてくるパケットと逆方向から送られてくるパケットの受信時刻の差を相対的に算出する手段と、
算出した受信時刻の差と、前記マスタノードから通知された情報とを用いて、自ノードでパケットが受信された時点から該パケットが前記マスタノードで受信される時点までの時間を補正時間として予め算出する手段と、
順方向または逆方向から送られてくるパケットを受信するとともに、前記受信した順方向から送られてきたパケットから自ノードが読み出すべきチャンネルのオーディオサンプルデータを読み出し、前記受信したパケットを該パケットの伝送方向に従って次のノードへ転送する手段と、
前記読み出したチャンネルのオーディオサンプルデータを格納する記憶手段と、
前記記憶手段に記憶されたオーディオサンプルデータを出力するオーディオサンプルデータ出力手段と、
前記記憶手段に記憶されたオーディオサンプルデータが前記オーディオサンプルデータ出力手段より出力されるタイミングを前記補正時間だけ遅延させる手段と
を備えることを特徴とするオーディオネットワークシステム。 An audio network system in which a plurality of nodes are connected in a ring shape so that loop transmission is possible, data transmission is performed in one direction between the plurality of nodes, and communication between arbitrary nodes is performed,
Only one of the plurality of nodes is a master node, the other nodes are slave nodes,
In these nodes, an arbitrary number of slave nodes are connected in a chain in the forward direction so that data can be sent in the forward direction from the master node. The slave nodes are connected in a chain in the reverse direction so that data is sent in the reverse direction from the slave node at the forward end to the master node, and the data is further sent in the reverse direction from the master node. Any number of slave nodes are connected in a chain in the reverse direction. When the slave node reaches the end slave node in the reverse direction, the data is looped back at the slave node, and forward from the reverse end slave node to the master node. The slave nodes are connected in a chain in the forward direction so that data can be sent to them, and the connection relationship of such nodes It constitutes a more ring network,
At each sampling period, the master node regularly transmits frame data one packet at a time, and during the sampling period, the packet is transmitted so as to make a round of a plurality of nodes connected in the ring shape,
In the packet, an area for storing audio sample data of a plurality of channels is prepared,
The master node is
A delay time of the whole network until the packet circulates around the ring-shaped network and returns; a forward delay time until the packet is transmitted in the forward direction and returns from the reverse direction; and Means for obtaining the backward delay time from the transmission in the reverse direction to the return from the forward direction;
Means for notifying all the slave nodes of the obtained delay time of the entire network, forward delay time, and backward delay time;
Each slave node is
Means for relatively calculating a difference between reception times of a packet sent from the forward direction and a packet sent from the reverse direction;
Using the difference between the calculated reception times and the information notified from the master node, the time from when the packet is received at the own node to the time when the packet is received at the master node is set in advance as a correction time. Means for calculating;
Which receives the packet transmitted from the forward or reverse direction, the received self from packets sent from the forward node exits readings audio sample data of the channel to be read, said the received packet Means for forwarding to the next node according to the packet transmission direction ;
Storage means for storing audio sample data of the read channel;
Audio sample data output means for outputting audio sample data stored in the storage means;
Audio network system characterized in that it comprises means for audio sample data stored in said storage means Ru delayed by said correction time to the timing output from the audio sample data output means.
前記複数のノードのうちの1つだけをマスタノードとし、他のノードはスレーブノードとし、
サンプリング周期毎に、前記マスタノードからフレームデータを規則的に1パケットずつ送信し、そのサンプリング周期中に、該パケットが前記リング状に接続した複数のノードを一巡するように伝送し、
該パケットの中には、ノード間でオーディオサンプルデータの伝送を行うための、複数チャンネルのオーディオサンプルデータが入る領域が用意されており、
前記各ノード毎に、当該ノードでパケットが受信された時点から該パケットが前記マスタノードで受信される時点までの時間を補正時間として予め算出しておき、
前記各ノードは、リング状に接続されている一方のノードから前記パケットデータを受信するとともに、該受信したパケットから自ノードが読み出すべきチャンネルのオーディオサンプルデータを読出し、前記受信したパケットを前記リング状に接続されている他方のノードに転送し、
前記各ノードは、前記パケットから読み出したオーディオサンプルデータを当該ノードに接続された外部機器に出力する際には、その出力タイミングを前記補正時間だけ遅延させて出力する
ことを特徴とするオーディオネットワークシステム。 An audio network system in which a plurality of nodes are connected in a ring shape so that loop transmission is possible, data transmission is performed in one direction between the plurality of nodes, and communication between arbitrary nodes is performed,
Only one of the plurality of nodes is a master node, the other nodes are slave nodes,
At each sampling period, the master node regularly transmits frame data one packet at a time, and during the sampling period, the packet is transmitted so as to make a round of a plurality of nodes connected in the ring shape,
In the packet, an area for storing audio sample data of a plurality of channels for transmitting audio sample data between nodes is prepared,
For each of the nodes, the time from when the packet is received at the node to the time when the packet is received at the master node is calculated in advance as a correction time,
Each of the nodes receives the packet data from one node connected in a ring shape, reads audio sample data of a channel to be read by the node from the received packet, and reads the received packet in the ring shape Forward to the other node connected to
When each node outputs the audio sample data read from the packet to an external device connected to the node , the output timing is delayed by the correction time and output. .
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006089509A JP4337835B2 (en) | 2006-03-28 | 2006-03-28 | Audio network system with output delay correction function |
US11/729,325 US7680135B2 (en) | 2006-03-28 | 2007-03-27 | Audio network system having lag correction function of audio samples |
AT07104996T ATE549824T1 (en) | 2006-03-28 | 2007-03-27 | AUDIO NETWORK SYSTEM WITH DELAY CORRECTION FUNCTION FOR AUDIO SAMPLES |
EP11184996A EP2408150B1 (en) | 2006-03-28 | 2007-03-27 | Audio network system having lag correction function of audio samples |
EP07104996A EP1841139B1 (en) | 2006-03-28 | 2007-03-27 | Audio network system having lag correction function of audio samples |
CN2007100914169A CN101046954B (en) | 2006-03-28 | 2007-03-28 | Audio network system having lag correction function of audio samples |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006089509A JP4337835B2 (en) | 2006-03-28 | 2006-03-28 | Audio network system with output delay correction function |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007267030A JP2007267030A (en) | 2007-10-11 |
JP4337835B2 true JP4337835B2 (en) | 2009-09-30 |
Family
ID=38639570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006089509A Expired - Fee Related JP4337835B2 (en) | 2006-03-28 | 2006-03-28 | Audio network system with output delay correction function |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4337835B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5127416B2 (en) * | 2007-11-21 | 2013-01-23 | 三菱電機株式会社 | Synchronization system |
JP5160263B2 (en) * | 2008-02-20 | 2013-03-13 | ローム株式会社 | Audio signal processing circuit, audio apparatus using the same, and volume switching method |
KR101484871B1 (en) * | 2011-02-25 | 2015-01-28 | 미쓰비시덴키 가부시키가이샤 | Master device and slave device and time synchronization method |
JP5127977B2 (en) * | 2011-11-30 | 2013-01-23 | 三菱電機株式会社 | Synchronization system, time master device, time slave device, and synchronization method |
US9544690B2 (en) * | 2014-11-21 | 2017-01-10 | Avnera Corporation | Ring network of bluetooth speakers |
-
2006
- 2006-03-28 JP JP2006089509A patent/JP4337835B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007267030A (en) | 2007-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4337835B2 (en) | Audio network system with output delay correction function | |
JP3993508B2 (en) | Wireless access network system, wireless communication method, synchronization server, and node device | |
JP4187028B2 (en) | Network system and acoustic signal processing apparatus | |
EP1841137A2 (en) | Audio network system | |
JP5076413B2 (en) | Network system and acoustic signal processing apparatus | |
US11632617B2 (en) | Method, apparatus and device for synchronously playing audio | |
JP6243050B2 (en) | Time slot synchronization training method, node apparatus, and network by nodes in optical burst transmission network | |
JP2006148907A (en) | Time synchronizing method in periodically operating communication system | |
EP2408150B1 (en) | Audio network system having lag correction function of audio samples | |
JP4337834B2 (en) | Audio network system with audio sample shift correction function | |
US20100128658A1 (en) | Audio Network System and Method of Detecting Topology in Audio Signal Transmitting System | |
KR20230116903A (en) | Methods and Heterogeneous Computing Systems for Clock Synchronization | |
EP3868043B1 (en) | Wireless audio synchronization | |
Diarra et al. | Improved clock synchronization start-up time for Ethernet AVB-based in-vehicle networks | |
JP2008099264A (en) | Network system and audio signal processor | |
CN108989246A (en) | Use the audio transmission between the equipment of rarefied flow | |
JP2017163322A (en) | Audio system | |
JP4337899B2 (en) | Audio network system | |
KR100682444B1 (en) | Audio signal processor | |
JP2009239450A (en) | Route change type network device and system | |
KR20120051632A (en) | Method for clock synchronization in distributed system having ring topology and apparatus for the same | |
JP2007028631A (en) | Residential ethernet(r) switching device for switching of subframe base | |
JP5187281B2 (en) | Gateway device | |
JP5045728B2 (en) | Communication node | |
JP2010098775A (en) | Codec converter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090310 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090319 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090518 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090609 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090622 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120710 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130710 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |