JP4337834B2 - オーディオサンプルずれの補正機能を有するオーディオネットワークシステム - Google Patents

オーディオサンプルずれの補正機能を有するオーディオネットワークシステム Download PDF

Info

Publication number
JP4337834B2
JP4337834B2 JP2006089508A JP2006089508A JP4337834B2 JP 4337834 B2 JP4337834 B2 JP 4337834B2 JP 2006089508 A JP2006089508 A JP 2006089508A JP 2006089508 A JP2006089508 A JP 2006089508A JP 4337834 B2 JP4337834 B2 JP 4337834B2
Authority
JP
Japan
Prior art keywords
node
packet
sample data
nodes
audio sample
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
Application number
JP2006089508A
Other languages
English (en)
Other versions
JP2007267029A (ja
Inventor
圭 中山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2006089508A priority Critical patent/JP4337834B2/ja
Priority to EP07104996A priority patent/EP1841139B1/en
Priority to AT07104996T priority patent/ATE549824T1/de
Priority to US11/729,325 priority patent/US7680135B2/en
Priority to EP11184996A priority patent/EP2408150B1/en
Priority to CN2007100914169A priority patent/CN101046954B/zh
Publication of JP2007267029A publication Critical patent/JP2007267029A/ja
Application granted granted Critical
Publication of JP4337834B2 publication Critical patent/JP4337834B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、リング型オーディオネットワークシステムにおけるノードの位置関係に基づいて各ノード間のサンプルずれを補正する技術に関する。
従来より、コンサート、演劇などのPA、音楽製作、構内放送などに使用されるオーディオネットワークシステムにおいて、音響信号の通信を行う技術として、非特許文献1に記載のCobraNet(登録商標)、非特許文献2に記載のSuperMAC(登録商標)、及び、非特許文献3に記載のEtherSound(登録商標)などが知られている。これらは、何れもイーサネット(登録商標)上で音響信号を伝送する技術である。
一方、電話回線用のネットワークに用いられる技術として、FDDI/TokenRingなどのリング型伝送ネットワークが知られている。この方式では、トークン(データ送信権)が、リング状に接続されたノード間を巡回しており、トークンを得たノードだけがデータの送信を実行できる。
http://www.balcom.co.jp/cobranet.htm http://www.sonyoxford.co.uk/pub/supermac/ http://www.ethersound.com/news/getnews.php?enews_key=101
音響信号(オーディオサンプルデータ)の伝送方式として、上述の従来から知られているリング型伝送ネットワークを用いることが考えられる。図13は、リング型のオーディオネットワークシステムの一例を示す。ノード1301→ノード1302→ノード1303→ノード1302→ノード1301のように往復する形式で信号が巡回する。図14も、同様のリング型のオーディオネットワークシステムの別の例を示す。この例では、ノード1401〜1406がこの順に物理的にリング状に接続されている。マスタノード1401から送信されたパケットが、ノード1401→ノード1402→ノード1403→ノード1404→ノード1405→ノード1406のように、1サンプリング周期で1回巡回する。このパケットには複数チャンネル(ch)のオーディオサンプルデータの格納領域が確保されており、各ノードは適宜必要なchにデータを乗せて伝送を行う。
しかし、このようなリング状にデータを伝送するシステムでは、例えばノード1404で格納したサンプルデータは、ノード1406では同一サンプリング時間のデータが取り出せるが、ノード1403では同一サンプリング時間のデータが取り出せない。ノード1404で格納したサンプルデータは、マスタノード1401に至って、次のサンプリング時間に巡回するパケットに乗せられ、そのパケットがノード1403に至って受信されるからである。以下、このことについて具体的に説明する。
図15(b)は、ノードA〜Dが、図13に示したような信号が往復する形式で接続されたリング型のオーディオネットワークシステムを示す。ノードBがマスタノードである。マスタノードBは、1サンプリング時間の開始のタイミングでパケットを送信する。いま図15(a)に示すように、巡回させるパケットのch1にはノードAがデータを格納し、ch2にはノードBがデータを格納し、ch3にはノードCがデータを格納し、ch4にはノードDがデータを格納するものとする。また、各ノードA〜Dは、それぞれch1〜ch4の全てのデータを取り込むものとする。1501は、あるサンプリング時間t−1にマスタノードBに戻っているデータであり、サンプリング時間t−1における各chのデータが設定されている。新たなサンプリング時間tに入ったとき、ノードBでは、パケットのch2の領域に時間tのデータを格納し、パケット1502として次のノードCに送信する。ノードCは、これをパケット1503のように受信し、そのch3の領域に時間tのデータを格納し、パケット1504として次のノードDに送信する。ノードDは、これをパケット1505のように受信し、そのch4の領域に時間tのデータを格納し、パケット1506として復路の経路に送信する。復路のノードCとBでは、1507,1508に示すようにパケットをそのまま通す(スルー)するだけである。次のノードAは、これをパケット1509のように受信し、そのch1の領域に時間tのデータを格納し、パケット1510として次のノードBに送信する。マスタノードBは、これをパケット1511のように受信し、再び次のサンプリング時間まで待ってから、同様の処理を行う。
以上のようにパケットが巡回している間に、各ノードA〜Dは、それぞれ楕円で囲んだパケット1510,1511,1504,1505のch1〜ch4のデータを取り込むことになる。この場合、マスタノードBやその直前のノードAでは時間tのサンプルを得られるが、ノードCやDではサンプルずれ(すなわち、時間t−1のサンプルと時間tのサンプルとが混在して取り込まれる)が発生する。これは、マスタノードから巡回を開始して1サンプリング周期でパケットが各ノードを一周巡回する場合に、ネットワーク中のノードの配置(データの格納場所と抽出場所の位置関係)によって、あるノードが時間tに格納したデータを別のノードが取り出す際、当該サンプリング時間tの間に取り出せるノードと、次のサンプリング時間になってから取り出せるノードがあるからである。
以上のようなサンプルずれは、通常はほとんど気にならない程度のずれである。しかし、プロ用の各種オーディオ機器では、このようなサンプルずれが許されない場合がある。
本発明は、リング型オーディオネットワークシステムにおいて、パケットを巡回させながらオーディオサンプルデータの伝送を行う場合に、ノードの位置関係にかかわりなく、絶対時間で入力される信号が全ノードから同一サンプリング時間で出力されるようにサンプルずれを補正する技術を提供することを目的とする。
上記目的を達成するため、本発明は、複数のノードをループ伝送可能となるようにリング状に接続し、それらの複数のノード間で一方向にデータ伝送を行って任意のノード間での通信を行うオーディオネットワークシステムにおいて、複数のノードのうちの1つだけをマスタノードとし、他のノードはスレーブノードとする。そして、サンプリング周期毎に、マスタノードからフレームデータを規則的に1パケットずつ送信して該サンプリング周期中に一巡するようにし、該パケットの中に、複数チャンネルのオーディオサンプルデータが入る領域を用意しておき、これによりノード間のオーディオサンプルデータの伝送を実現する。各ノードは、前記複数のノード夫々に関する前記リング状接続における接続位置および書き込み対象チャンネルに関する情報を予め記憶しているものとする。また、各ノードは、自ノードが読み出すべきチャンネルのオーディオサンプルデータを前記パケットから読み出したとき、現サンプリング周期で読み出したオーディオサンプルデータと1サンプリング周期前に読み出したオーディオサンプルデータをバッファに格納しておく。各ノードは、前記マスタノードから送信されて前記パケットがループ伝送され、再び前記マスタノードに戻るまでの流れに沿って、前記予め記憶された夫々のノードに対応する接続位置および書き込み対象チャンネルの情報に基づいて前記読み出したチャンネルのオーディオサンプルデータを前記パケットに乗せたノードが自ノードより上流にあるか下流にあるかについての情報を取得する。バッファのオーディオサンプルデータを外部に出力するときには、そのチャンネルのオーディオサンプルデータをパケットに乗せたノードが、自ノードより上流にある場合は1サンプリング周期前のオーディオサンプルデータを読み出して出力し、自ノードより下流にある場合は現サンプリング周期のオーディオサンプルデータを読み出して出力する。なお、バッファをn+1(nは1以上の整数)段構成としてもよい。
本発明によれば、同期リング型オーディオネットワークにおいて、データを入力するノードと出力するノードの位置関係に依存することなく、全てのノードで全てのチャンネルに対して同一サンプリング時間のデータを取り出すことができる。
以下、図面を用いて本発明の実施の形態を説明する。
図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も同様である。
各ノード101〜104は、それぞれバッファA及びBの2段構成のバッファを備えている。各バッファは、そのノードで取り込むべきオーディオデータを格納するバッファであり、2段構成になっているのは、各ch毎に最新のサンプルデータと1サンプリング時間前のサンプルデータとを格納するためである。記号Aが付されたバッファ(例えば110A)に最新の取り込みデータを格納し、記号Bが付されたバッファ(例えば110B)には1サンプリング時間前のサンプルを格納する。
図2は、各ノードのハードウェア構成を示す。1つのノードは、中央処理装置(CPU)201、ランダムアクセスメモリ(RAM)202、リードオンリメモリ(ROM)203、通信インタフェース(I/F)204、音声I/O(入出力インタフェース)206、および通信バス208を備える。
CPU201は、このノードの全体の動作を制御する処理装置である。RAM202は、CPU201が実行するプログラムのロード領域や各種のバッファなどを設定するワーク領域として用いる揮発性メモリである。ROM203は、CPU201が実行する各種のプログラムや定数データなどを記憶した不揮発性メモリである。通信I/F204には、外部機器として他のノード205が接続される。ここでは他のノード205を1つのブロックで示しているが、例えばノード102であれば、ノード103および101の両方と接続されるので、通信I/F204は、それらのノードと接続できるように複数設けられている。音声I/O206は、ADC、DAC、あるいはミキサなどの外部機器と接続するインタフェースである。
ここで本実施形態のオーディオネットワークシステムにおけるサンプルずれの補正手法について説明する。図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のように受信し、再び次のサンプリング時間まで待ってから、同様の処理を行う。
各ノードは、図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サンプリング時間前のサンプルと最新のサンプルとがバッファに保持されていることになる。
各ノードA〜Dは、バッファA及びBに格納されたサンプルデータを、サンプルずれが起こらないように出力(ノードから出力して、例えばミキサに渡したり、アンプを通して放音したりすること)する。そのためには、リング状に各ノードを流れるデータの流れに沿って、自ノードより上流のノード(マスタノードから自ノードの直前のノードまで)で書き込まれるchについてはバッファBに格納されている1サンプリング時間前のデータを出力し、自ノードより下流のノード(自ノードの直後のノードからマスタノードの直前のノードまで)で書き込まれるchについてはバッファAに格納されている現サンプリング時間のデータを出力すればよい。自ノードで書き込むchについては、図8の例では、書き込むべき現サンプリング時間のデータをパケットの当該chに格納してから、他のchのデータと共にバッファAに書き込んでいるので、バッファBの当該chのデータを出力するようにしている。(もちろん受信したパケットをバッファに格納してから、自ノードで書き込むchのデータを更新してもよいので、そのような手順で処理するときには、バッファAから出力すればよい。)図8で、楕円を付けてある各サンプルが、上述したルールに沿って各ノードから出力されるサンプルを示している。これにより、サンプルがずれることなく、時間t−1のサンプルが一斉に出力できることになる。
なお、各ノードの接続位置や各ノードでどのchに書き込むかについての情報は、予め全ノード間で共有しているものとする。例えば、本システムの立ち上げ時、ノード構成に変更があったとき、各ノードでパケットに書き込むchやパケットから取り込むchに変更があったときなどに、例えばマスタノードの主導で制御データをノード間でやり取りすることにより、これらの情報を共有すればよい。
図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で上書きすることにより自動的に破棄したことになるものである。
図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のオーディオデータを、指定された外部機器へ、出力する。
以上により、図8で説明したサンプルずれの補正が行われ、同一のサンプリング時間のサンプルが各ノードから一斉に出力される。
なお、図8ではバッファを2段構成としたが、バッファをn+1(nは1以上の整数)段構成として、現サンプリング周期で読み出したサンプルからnサンプリング周期前に読み出したサンプルまでのn+1個のオーディオサンプルデータを格納するようにし、出力時には、そのサンプルをパケットに乗せたノードが、自ノードより上流にある場合はnサンプリング周期前のサンプルを読み出して出力し、自ノードより下流にある場合はn−1サンプリング周期前のサンプルを読み出して出力するようにしてもよい。
次に、ステップ407のオーディオデータ出力時刻補正処理について詳しく説明する。上記のサンプルずれの補正により、サンプル単位で出力のタイミングを合わせることはできる。しかし、上述したリング状のネットワークを巡回するパケットにデータを乗せて各chのサンプルデータを伝送するので、ノード間の伝送路による遅れが発生する。この遅れは微少であり無視できる場合もあるが、プロ用のオーディオ機器では、このような微少な遅れも許されない場合がある。オーディオデータ出力時刻補正処理は、このような伝送路による遅延を補正して、各ノードから出力されるオーディオ信号の出力のタイミングを高い精度で一致させる処理である。
オーディオデータ出力時刻補正処理について具体的に説明する。なお、ここでは図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は、マスタノードのバックワード側から送信したデータが戻ってきてバックワード側で受信されるまでの遅延時間である。
なお、マスタノードがサンプリング周期の開始タイミングにパケットの送信を開始する向きを「フォワード側」と呼び、その逆の向きを「バックワード側」と呼ぶ。図9では、図の右側がフォワード側であり、左側がバックワード側である(これは図10や図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つの場合を例としたが、さらに多くのノードが接続される場合も同様に計算すればよい。
図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)のようになる。
図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を示す。
図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は、各ノードでの補正時間の計算方法を示す。
図12(b)は、フォワード側のスレーブノード用の補正時間の計算方法を示す。フォワード側のスレーブノードは、例えばノードS3,S4である。これらのノードでは、要するに、自ノードのバックワード側入力(TBR)にパケットが入力してから、該パケットがマスタノードに戻るまでの時間を計算すればよいと言うことであるから、Total Delay−{(Total Delay)−(Backward Delay)−(Node(Name) Delay)}/2で計算できる。これを整理して図12(b)の式を得ている。式1223と1224は、図12(b)の式に図11(f)を代入したものである。
図12(c)は、バックワード側のスレーブノード用の補正時間の計算方法を示す。バックワード側のスレーブノードは、例えばノードS1,S2である。これらのノードでも、要するに、自ノードのバックワード側入力(TBR)にパケットが入力してから、該パケットがマスタノードに戻るまでの時間を計算すればよいと言うことであるから、{(Total Delay)−(Forward Delay)−(Node(Name) Delay)}/2で計算できる。これは図12(c)の式である。式1221と1222は、図12(c)の式に図11(f)を代入したものである。
図5は、マスタノードの遅延時間算出ルーチンのフローチャートである。ステップ501で、ネットワーク全体の遅延時間(Total Delay)を算出する。ステップ502で、フォワード側の遅延時間(Forward Delay)を算出する。ステップ503で、バックワード側の遅延時間(Backward Delay)を算出する。ステップ504で、全ノードにこれらの情報を通知する。以上の処理により、図10で説明した各遅延時間が算出される。
図6は、スレーブノードの遅延時間算出ルーチンのフローチャートである。ステップ601で、ネットワーク全体、フォワード側、及びバックワード側の遅延時間情報(Total Delay,Forward Delay,Backward Delay)を取得する。ステップ602で、自ノードの位置がフォワード側かバックワード側かを判定する。フォワード側なら、ステップ603で自ノードのパケット時間受信差を求め、ステップ604で図12(b)に示す式により補正時間を算出する。バックワード側なら、ステップ605で自ノードのパケット時間受信差を求め、ステップ606で図12(c)に示す式により補正時間を算出する。
上記図5及び図6の処理により、図10及び図11で説明した各遅延時間が算出される。図5及び図6の処理は、オーディオデータの伝送を開始する前に事前に実行しておき、各スレーブノードで補正時間を算出しておく。
図7は、スレーブノードのオーディオデータ出力ルーチンのフローチャートである。この処理は図4のステップ407で実行される。ステップ701でタイマをリセットし、ステップ702,703でタイマが補正時間(このノードで上記ステップ604または606で算出してあるもの)を超えるまで待つ。補正時間を超えたらリターンする。その後、図4のステップ408でオーディオデータが出力されるので、これにより図12で説明したように各ノード毎の補正時間だけ遅延させて出力がなされ、全ノードで出力タイミングが合う。
なお、上記実施形態では、図13のような接続関係のオーディオネットワークシステムを例として説明したが、複数のノードをリング状に接続しパケットを巡回させるようなオーディオネットワークシステムであれば、どのようなものでも本発明は適用可能である。その場合は、各ノードにおいて、ノードでパケットが受信された時点から該パケットが前記マスタノードで受信される時点までの時間を求めて補正時間とすればよい。システム立ち上げ時などに、補正時間計測用のパケットを流し、これにより各ノードにおけるパケットが受信された時点から該パケットが前記マスタノードで受信される時点までの時間を求めてもよい。
本発明に係るオーディオネットワークシステムのモジュール構成図 各ノードのハードウェア構成図 オーディオデータ入力ルーチンのフローチャート オーディオデータ出力ルーチンのフローチャート マスタノードの遅延時間算出ルーチンのフローチャート スレーブノードの遅延時間算出ルーチンのフローチャート スレーブノードのオーディオデータ出力ルーチンのフローチャート サンプルずれの補正手法を説明するための図 遅延時間と送信/受信時刻の定義を示す図 マスタノードで計算する遅延時間を示す図 スレーブノードで計算する遅延時間を示す図 各ノードでの補正時間の計算例を示す図 リング型のオーディオネットワークシステムの一例を示す図 リング型のオーディオネットワークシステムの別の例を示す図 サンプルずれの発生例を示す図
符号の説明
101〜104…ノード、150…パケット、111…アナログディジタル変換器(ADC)、112…マイク、121…ミキサ、131,141…ディジタルアナログ変換器(DAC)、132,142…パワーアンプ、133,143…スピーカ。

Claims (2)

  1. 複数のノードをループ伝送可能となるようにリング状に接続し、それらの複数のノード間で一方向にデータ伝送を行って任意のノード間での通信を行うオーディオネットワークシステムであって、
    前記複数のノードのうちの1つだけをマスタノードとし、他のノードはスレーブノードとし、
    サンプリング周期毎に、前記マスタノードからフレームデータを規則的に1パケットずつ送信し、そのサンプリング周期中に、該パケットが前記リング状に接続した複数のノードを一巡するように伝送し、
    該パケットの中に、複数チャンネルのオーディオサンプルデータが入る領域が用意されており、
    各ノードは、
    前記複数のノード夫々に関する前記リング状接続における接続位置および書き込み対象チャンネルに関する情報を予め記憶しており、
    自ノードが読み出すべきチャンネルのオーディオサンプルデータを前記パケットから読み出す手段と、
    前記読み出したチャンネルのオーディオサンプルデータを格納する記憶手段であって、現サンプリング周期で読み出したオーディオサンプルデータと1サンプリング周期前に読み出したオーディオサンプルデータを格納する記憶手段と、
    前記マスタノードから送信されて前記パケットがループ伝送され、再び前記マスタノードに戻るまでの流れに沿って、前記予め記憶された夫々のノードに対応する接続位置および書き込み対象チャンネルの情報に基づいて前記読み出したチャンネルのオーディオサンプルデータを前記パケットに乗せたノードが自ノードより上流にあるか下流にあるかについての情報を取得する手段と、
    前記記憶手段に記憶されている前記チャンネルのオーディオサンプルデータを読み出して出力する出力手段であって、前記チャンネルのオーディオサンプルデータを前記パケットに乗せたノードが、自ノードより上流にある場合は、前記記憶手段から当該チャンネルの1サンプリング周期前のオーディオサンプルデータを読み出して出力し、自ノードより下流にある場合は、前記記憶手段から当該チャンネルの現サンプリング周期のオーディオサンプルデータを読み出して出力する手段と
    を備えることを特徴とするオーディオネットワークシステム。
  2. 複数のノードをループ伝送可能となるようにリング状に接続し、それらの複数のノード間で一方向にデータ伝送を行って任意のノード間での通信を行うオーディオネットワークシステムであって、
    前記複数のノードのうちの1つだけをマスタノードとし、他のノードはスレーブノードとし、
    サンプリング周期毎に、前記マスタノードからフレームデータを規則的に1パケットずつ送信し、そのサンプリング周期中に、該パケットが前記リング状に接続した複数のノードを一巡するように伝送し、
    該パケットの中に、複数チャンネルのオーディオサンプルデータが入る領域が用意されており、
    各ノードは、
    前記複数のノード夫々に関する前記リング状接続における接続位置および書き込み対象チャンネルに関する情報を予め記憶しており、
    自ノードが読み出すべきチャンネルのオーディオサンプルデータを前記パケットから読み出す手段と、
    前記読み出したチャンネルのオーディオサンプルデータを格納する記憶手段であって、現サンプリング周期で読み出したオーディオサンプルデータからnサンプリング周期前に読み出したオーディオサンプルデータまでのn+1個(nは1以上の整数)のオーディオサンプルデータを格納する記憶手段と、
    前記マスタノードから送信されて前記パケットがループ伝送され、再び前記マスタノードに戻るまでの流れに沿って、前記予め記憶された夫々のノードに対応する接続位置および書き込み対象チャンネルの情報に基づいて前記読み出したチャンネルのオーディオサンプルデータを前記パケットに乗せたノードが自ノードより上流にあるか下流にあるかについての情報を取得する手段と、
    前記記憶手段に記憶されている前記チャンネルのオーディオサンプルデータを読み出して出力する出力手段であって、前記チャンネルのオーディオサンプルデータを前記パケットに乗せたノードが、自ノードより上流にある場合は、前記記憶手段から当該チャンネルのnサンプリング周期前のオーディオサンプルデータを読み出して出力し、自ノードより下流にある場合は、前記記憶手段から当該チャンネルのn−1サンプリング周期前のオーディオサンプルデータを読み出して出力する手段と
    を備えることを特徴とするオーディオネットワークシステム。
JP2006089508A 2006-03-28 2006-03-28 オーディオサンプルずれの補正機能を有するオーディオネットワークシステム Expired - Fee Related JP4337834B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2006089508A JP4337834B2 (ja) 2006-03-28 2006-03-28 オーディオサンプルずれの補正機能を有するオーディオネットワークシステム
EP07104996A EP1841139B1 (en) 2006-03-28 2007-03-27 Audio network system having lag correction function of audio samples
AT07104996T ATE549824T1 (de) 2006-03-28 2007-03-27 Audionetzwerksystem mit verzögerungskorrekturfunktion für audiosamples
US11/729,325 US7680135B2 (en) 2006-03-28 2007-03-27 Audio network system having lag correction function of audio samples
EP11184996A EP2408150B1 (en) 2006-03-28 2007-03-27 Audio network system having lag correction function of audio samples
CN2007100914169A CN101046954B (zh) 2006-03-28 2007-03-28 具有音频样本滞后校正功能的音频网络系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006089508A JP4337834B2 (ja) 2006-03-28 2006-03-28 オーディオサンプルずれの補正機能を有するオーディオネットワークシステム

Publications (2)

Publication Number Publication Date
JP2007267029A JP2007267029A (ja) 2007-10-11
JP4337834B2 true JP4337834B2 (ja) 2009-09-30

Family

ID=38639569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006089508A Expired - Fee Related JP4337834B2 (ja) 2006-03-28 2006-03-28 オーディオサンプルずれの補正機能を有するオーディオネットワークシステム

Country Status (2)

Country Link
JP (1) JP4337834B2 (ja)
CN (1) CN101046954B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
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 オークマ株式会社 環状通信路におけるタイマー同期化システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000035928A (ja) * 1998-07-16 2000-02-02 Yazaki Corp ネットワーク監視システム及びその方法
JP4652646B2 (ja) * 1999-07-12 2011-03-16 テレフオンアクチーボラゲット エル エム エリクソン(パブル) マルチメディアネットワークのノード間で情報を交換する方法とシステム

Also Published As

Publication number Publication date
JP2007267029A (ja) 2007-10-11
CN101046954B (zh) 2011-05-11
CN101046954A (zh) 2007-10-03

Similar Documents

Publication Publication Date Title
CN113300956B (zh) 处理用于时间敏感网络中的数据流的路由路径的装置及方法
JP4187028B2 (ja) ネットワークシステム及び音響信号処理装置
JP4337835B2 (ja) 出力遅延補正機能を有するオーディオネットワークシステム
CN104137488A (zh) 具有时间认知介质访问控制器的网络设备
JP2013219764A (ja) 無線通信方法及び装置
JP2007020183A (ja) レジデンシャルイーサネットシステムにおける時刻同期化方法
US11133884B2 (en) Determining required processing time of a data network
JP6243050B2 (ja) 光バースト伝達網におけるノードによるタイムスロット同期のトレーニング方法、ノード装置及びネットワーク
EP1841139B1 (en) Audio network system having lag correction function of audio samples
JP4337834B2 (ja) オーディオサンプルずれの補正機能を有するオーディオネットワークシステム
JP2008072363A (ja) ネットワークシステム及び音響信号処理装置
US10686897B2 (en) Method and system for transmission and low-latency real-time output and/or processing of an audio data stream
CN108989246A (zh) 使用稀疏流的设备之间的音频传输
JP4337899B2 (ja) オーディオネットワークシステム
KR20180089926A (ko) 모의기 연동을 위한 최적화된 시간-동기화 방법 및 시스템
JP5045728B2 (ja) 通信ノード
JP5187281B2 (ja) ゲートウェイ装置
JP2007074086A (ja) データ通信装置、通信制御方法および通信制御プログラム
JP7284266B2 (ja) オーディオストリーム切り替え方法および装置
Gabrielli et al. Advancements and performance analysis on the wireless music studio (WeMUST) framework
JPH10190736A (ja) ネットワークデータの同期方法および装置
JP4593540B2 (ja) Hdlc多重モニター装置
KR101469939B1 (ko) 이더넷 오디오 전송 기능을 이용한 음악 반주 장치 및 음악 반주 시스템
JP4321442B2 (ja) マイクシステム及びその信号伝送方法
US20150189108A1 (en) Transmission circuit and camera system

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