(57)【要約】【課題】  サイクルマスタノードからのサイクルスタートパケットを利用することなく、受信データの再生タイミングを送信側装置におけるサンプル化タイミングに同期させ、波形歪のないデータ再生を行う。【解決手段】  受信部２０１は、オーディオデータと送信タイマ値とを含むパケットを送信側装置１００から順次受信する。ＦＩＦＯ２０２は、受信パケットを順次記憶し、読み出し指令に応じて、古いものから順に出力する。ＰＬＬ２０４は、受信クロックを発生し、受信タイマ２０５は、受信クロックをカウントし、受信タイマ値を出力する。制御部２０６は、ＦＩＦＯ２０２から読み出されるパケット内の送信タイマ値の変化が受信タイマ値の変化に同期するように、読み出し指令の出力制御を行う一方、受信パケット内の送信タイマ値と受信タイマ値との差分値の時間勾配を統計処理により求め、この時間勾配に基づき、受信クロックの周波数の制御を行う。【選択図】      図１
2006324998.tif 000002
【特許請求の範囲】
【請求項１】
オーディオデータまたはオーディオデータと送信タイマ値とを含むパケットを順次受信する受信部と、
前記受信部により受信されるパケットを順次記憶し、読み出し指令に応じて、記憶したパケットを古いものから順に出力するＦＩＦＯと、
受信クロックを発生する受信クロック発生部と、
前記受信クロックをカウントし、受信タイマ値を出力する受信タイマと、
前記ＦＩＦＯから読み出されるパケットに含まれる送信タイマ値の変化が前記受信タイマ値の変化に同期するように、前記ＦＩＦＯに対する読み出し指令の出力を制御する一方、前記受信部によって受信されたパケットに含まれる送信タイマ値と前記受信タイマから出力された受信タイマ値との差分値を記憶し、この記憶した差分値に統計処理を施して、差分値の時間勾配を求め、この時間勾配に基づき、前記受信クロックの周波数の制御を行う制御手段と
を具備することを特徴とするパケット転送装置。
【請求項２】
前記ＦＩＦＯから読み出されるパケットに含まれるオーディオデータを音として再生するオーディオ再生部を有し、
前記制御手段は、前記統計処理により得られた差分値の時間勾配に基づき、前記受信クロックの周波数の補正または前記オーディオ再生部においてオーディオデータから再生されるオーディオ信号波形の時間軸方向の補正の少なくとも一方を行うことを特徴とする請求項１に記載のパケット転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オーディオストリームデータの転送などに好適なパケット転送装置に関する。
【背景技術】
【０００２】
送信側装置がサンプル化されたオーディオデータを受信側装置に転送するシステムがある。この種のシステムにおいて、受信側装置が波形歪を生じさせることなく、受信データの再生を行うためには、受信側装置において受信データを順次再生するトリガとなるサンプルクロックを、送信側装置におけるサンプルクロックに同期させる必要がある。このような送信側および受信側間においてサンプルクロックを同期させるための技術が例えば特許文献１に開示されている。この特許文献１に開示された技術において、ネットワーク内にはサイクルマスタノードが設けられており、このサイクルマスタノードは、絶対時刻情報を含んだサイクルスタートパケットを一定時間間隔でネットワーク内の各装置に送信する。ネットワーク内の各装置は、各々サイクルタイマと呼ばれる時計を持ち、このサイクルタイマのタイマ値を順次受信されるサイクルスタートパケット内の絶対時刻情報に同期化させる。オーディオデータの送信側装置は、オーディオデータを送信する際に、自装置内のサイクルタイマのタイマ値をオーディオデータに付加して送信する。受信側装置は、送信側装置から受信したオーディオデータをＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ；先入れ先出し方式のバッファ）に蓄積し、ＦＩＦＯ内の各オーディオデータを古いものから順に読み出して再生する。その際、受信側装置では、ＦＩＦＯから読み出されるオーディオデータのタイマ値の変化がサイクルタイマのタイマ値の変化と同期するように、ＦＩＦＯに供給するデータ読み出し用のサンプルクロックの周波数制御が行われる。
【特許文献１】特許第３４４４２２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、特許文献１に記載されたオーディオデータの伝送方法は、送信側装置と受信側装置とが属するネットワークにサイクルマスタノードがあり、送信側装置と受信側装置の両方がこのサイクルマスタノードからサイクルスタートパケットを受信してサイクルタイマの時刻合わせをする機能を有することが実施のための条件となる。しかし、例えば送信側装置がサイクルマスタノードから送信されるサイクルスタートパケットを利用しない装置である場合等、この条件が満たされない場合もあり、そのような場合、特許文献１に記載のオーディオデータの伝送方法は、実施をすることができない。
【０００４】
この発明は、以上説明した事情に鑑みてなされたものであり、サイクルマスタノードから送信されるサイクルスタートパケットを利用することなく、受信データの再生タイミングを送信側装置におけるデータのサンプル化のタイミングに同期させ、波形歪のないデータ再生を行うことができるパケット転送装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
この発明は、オーディオデータまたはオーディオデータと送信タイマ値とを含むパケットを順次受信する受信部と、前記受信部により受信されるパケットを順次記憶し、読み出し指令に応じて、記憶したパケットを古いものから順に出力するＦＩＦＯと、受信クロックを発生する受信クロック発生部と、前記受信クロックをカウントし、受信タイマ値を出力する受信タイマと、前記ＦＩＦＯから読み出されるパケットに含まれる送信タイマ値の変化が前記受信タイマ値の変化に同期するように、前記ＦＩＦＯに対する読み出し指令の出力を制御する一方、前記受信部によって受信されたパケットに含まれる送信タイマ値と前記受信タイマから出力された受信タイマ値との差分値を記憶し、この記憶した差分値に統計処理を施して、差分値の時間勾配を求め、この時間勾配に基づき、前記受信クロックの周波数の制御を行う制御手段とを具備することを特徴とするパケット転送装置を提供する。
かかる発明によれば、サイクルマスタノードから送信されるサイクルスタートパケットを利用することなく、オーディオデータの再生タイミングを送信側装置におけるオーディオデータのサンプル化のタイミングに同期させ、波形歪のないオーディオ再生を行うことができる。
【発明を実施するための最良の形態】
【０００６】
以下、図面を参照し、本発明の実施の形態について説明する。
図１は、この発明の一実施形態であるパケット転送装置を用いたオーディオパケット転送システムの構成を示すブロック図である。このオーディオパケット転送システムは、送信側装置１００と本実施形態に係るパケット転送装置である受信側装置２００とをネットワークを介して接続してなるものである。
【０００７】
送信側装置１００において、オーディオデータ生成部１０１は、送信対象であるオーディオデータを生成する装置であり、例えば演奏操作に応じて演奏音のオーディオデータを出力する電子楽器である。クロック発生器１０２は、一定周波数の送信クロックを発生する装置である。オーディオデータ生成部１０１は、このクロック発生器１０２から１個の送信クロックが発生される度に１サンプルのオーディオデータを出力する。送信タイマ１０３は、送信クロックをカウントし、カウント値を送信タイマ値として出力する装置である。制御部１０４は、オーディオデータ生成部１０１から出力されたオーディオデータを含むパケットを組み立てるパケット化処理１０４ａを行うとともに、送信側装置１００内の各部の制御を行う装置である。本実施形態において制御部１０４は、パケット化処理１０４ａにおいて、Ｎサンプル（Ｎは複数）のオーディオデータに対して１回の割合で、送信タイマ１０３から出力される送信タイマ値をオーディオデータとともにパケットに含める。送信部１０５は、パケット化処理１０４ａにより得られたパケットをネットワークを介して受信側装置２００に送信する。
【０００８】
次に受信側装置２００について説明する。受信部２０１は、ネットワークを介して送信側装置１００からパケットを受信する装置である。ＦＩＦＯ２０２は、受信部２０１によって受信されたパケットを蓄積し、蓄積したパケットを読み出し指令に応じて古いものから順に出力する装置である。オーディオ再生部２０３は、ＦＩＦＯ２０２から読み出されるパケットからオーディオデータを取り出し、音として出力する装置である。ＰＬＬ２０４は、発振周波数の制御が可能な発振器を有しており、後述する制御部２０６から供給される一致パルスに位相同期し、かつ、一致パルスのＮ倍の周波数を持った受信クロックを出力する。受信タイマ２０５は、受信クロックをカウントし、カウント値を受信タイマ値として出力する装置である。
【０００９】
制御部２０６は、受信側装置２００の各部を制御する装置である。この制御部２０６において、減算器２１１は、ＦＩＦＯ２０２内に記憶された読み出し未了の最も古いパケット内の送信タイマ値と受信タイマ値との差分を演算する。加算器２１２は、同送信タイマ値とオフセットとを加算して、読み出し対象パケットが持つべき送信タイマ値を示す目標タイマ値として出力する。なお、オフセットは、後述する補正処理２１４において設定されるデータであり、通信開始当初は適当な値（例えば０）に初期設定されている。比較器２１３は、受信タイマ２０５から出力される受信タイマ値を加算器２１２から出力される目標タイマ値と比較し、受信タイマ値が目標タイマ値と一致したときに一致パルスを出力する。この比較器２１３から出力される一致パルスが、前述のＰＬＬ２０４に供給される。読み出し制御部２１４は、読み出しクロックに応じて、読み出し指令をＦＩＦＯ２０２に送る装置である。
【００１０】
制御部２０６には、本実施形態に特有の機能として、記憶処理２２１、統計処理２２２および補正処理２２３を実行する機能が設けられている。ここで、記憶処理２２１では、受信部２０１によって受信されるパケットに含まれる送信タイマ値と受信タイマ２０５から出力される受信タイマ値との差分を過去一定個数記憶する。また、統計処理２２２は、記憶処理２２１により記憶された送信タイマ値と受信タイマ値の差分の集合に、最小自乗法などの統計処理を施し、差分（＝送信タイマ値−受信タイマ値）の時間勾配と、差分の最終値であるオフセットを求める。ここで、送信タイマ値の増加速度と受信タイマ値の増加速度の比、すなわち、送信クロックの周波数と受信クロックの周波数の比が１である場合には、統計処理２２２により得られる時間勾配は０となる。また、送信クロックと受信クロックの周波数比が１より大きい場合は、時間勾配は正の値となり、同周波数比が１より小さい場合は時間勾配は負の値となる。そして、補正処理２２３では、統計処理２２２において求めた時間勾配に基づき、ＰＬＬ２０４が発生する受信クロックの周波数の補正またはオーディオ再生部２０３において再生されるオーディオ信号波形を時間軸方向に圧縮または伸張させる補正を行う。
【００１１】
図２は送信側装置１００の制御部１０４の動作を示すフローチャートである。また、図３は受信側装置２００の制御部２０６の動作を示すフローチャートである。以下、これらのフローチャートを参照し、本実施形態の動作を説明する。送信側装置１００および受信側装置２００の電源が投入され、両者間の通信接続が確立されると、送信側装置１００の制御部１０４は、一定回数に渡り、送信タイマ値を含むパケットを受信側装置２００に送信する（ステップＳ１０１およびＳ１０２）。
【００１２】
この間、受信側装置２００における制御部２０６は、送信タイマ値を含んだパケットを受信する処理（ステップＳ２０１）と、受信タイマ２０５から受信タイマ値を取得する処理（ステップＳ２０２）と、送信タイマ値と受信タイマ値との差分を記憶する処理（ステップＳ２０３；図１における記憶処理２２１に相当）を一定回数に亙って繰り返す（ステップＳ２０４）。その後、制御部２０６は、図１における統計処理２２２を実行し、送信タイマ値と受信タイマ値との差分の時間勾配を求める（ステップＳ２０５）。そして、制御部２０６は、図１における補正処理２２３を実行する（ステップＳ２０６）。この補正処理２２３では、送信タイマ値と受信タイマ値の差の時間勾配が正である場合には、送信クロックの周波数に比べて受信クロックの周波数が低いと考えられるので、時間勾配の絶対値に応じた量だけＰＬＬ２０４が発生する受信クロックの周波数を高める補正動作を行う。逆に、送信タイマ値と受信タイマ値の差の時間勾配が負である場合には、送信クロックの周波数に比べて受信クロックの周波数が高いと考えられるので、時間勾配の絶対値に応じた量だけＰＬＬ２０４が発生する受信クロックの周波数を低くする補正動作を行う。以上の補正処理により、ＰＬＬ２０４が発生する受信クロックの周波数は、送信側装置１００における送信クロックと同じ周波数に補正される。そして、制御部２０６は、演奏開始、すなわち、オーディオデータを含んだ最初のパケットの受信まで待機する（ステップＳ２０７）。
【００１３】
送信側装置１００の制御部１０４は、上述したように一定回数に亙って、送信タイマ値を含んだパケットの送信を繰り返す処理（ステップＳ１０１〜Ｓ１０２）を行った後、演奏開始まで待機する（ステップＳ１０３）。そして、演奏が開始され、オーディオデータ生成部１０１によるオーディオデータの生成が開始されると、制御部１０４は、Ｎサンプルに１回の割合で、オーディオデータを含んだパケットを送信する動作を開始する。具体的には、制御部１０４は、Ｎサンプル分のオーディオデータを含んだパケットを送信し（ステップＳ１０４）、その後、一定時間が経過するまでこれを繰り返す（ステップＳ１０５）。一定時間が経過すると、送信するオーディオデータにその時点の送信タイマ値を付加し（ステップＳ１０６）、送信タイマ値の付加されたオーディオデータを送信する。
【００１４】
受信側装置２００の制御部２０６は、演奏開始を検知すると（ステップＳ２０７；ＹＥＳ）、送信タイマ値を含んだパケットを受信する処理（ステップＳ２０８）と、受信タイマ２０５から受信タイマ値を取得する処理（ステップＳ２０９）と、送信タイマ値と受信タイマ値との差分を記憶する処理（ステップＳ２１０）を一定回数に亙って繰り返す（ステップＳ２１１）。その後、制御部２０６は、図１における統計処理２２２を実行し、送信タイマ値と受信タイマ値との差分の時間勾配を求める（ステップＳ２１２）。そして、制御部２０６は、ステップＳ２１２において求めた時間勾配が許容範囲から外れているか否かを判断する（ステップＳ２１３）。この判断結果が「ＮＯ」である場合、制御部２０６は、再びステップＳ２０８〜Ｓ２１１の処理を繰り返す。一方、ステップＳ２１３の判断結果が「ＹＥＳ」である場合、制御部２０６は、補正処理を実行する（ステップＳ２１４）。
【００１５】
この補正処理の実行の態様には、２通りある。第１の態様では、ステップＳ２０６の補正処理と同様、ステップＳ２１２の統計処理において求めた時間勾配に基づき、ＰＬＬ２０４における受信クロックの周波数を補正する。また、ＦＩＦＯ２０３に記憶されたオーディオデータを含むパケットのうち、読み出し未了であり、かつ、もっとも古いパケットに含まれる送信タイマ値と一致した目標タイマ値が加算器２１２から出力されるように、加算器２１２に供給するオフセットを調整する。
【００１６】
第２の態様では、オーディオ再生部２０３の再生動作の補正制御を行う。さらに詳述すると、時間勾配が正である場合には、送信タイマ値が更新される時間間隔に比べて受信タイマ値が更新される時間間隔が長くなっていると考えられるので、制御部２０６は、オーディオ再生部２０３において再生されるオーディオ信号波形が時間軸方向に圧縮されるように、オーディオ再生部２０３の制御を行う。逆に、時間勾配が負である場合には、送信タイマ値が更新される時間間隔に比べて受信タイマ値が更新される時間間隔が短くなっていると考えられるので、制御部２０６は、オーディオ再生部２０３において再生されるオーディオ信号波形が時間軸方向に伸張されるように、オーディオ再生部２０３の制御を行う。
【００１７】
第１または第２の態様は、いずれか一方が選択されて実行されてもよいし、両方同時に実行されてもよい。どのような態様でステップＳ２１４の補正処理を実行するかは、例えば図示しない操作子の操作により選択するようにしてもよい。あるいは、例えば時間勾配の絶対値が閾値以内である場合には第２の態様の補正処理を実行し、時間勾配の絶対値が閾値を越えている場合には第１の態様の補正処理と第２の態様の補正処理の両方を実行するようにしてもよい。ステップＳ２１４の補正処理が終了すると、制御部２０６は、再びステップＳ２０８に戻って、上述と同様の処理を繰り返す。
【００１８】
以上説明したように、本実施形態によれば、受信側装置２００では、受信されるパケット内の送信タイマ値と受信タイマ値との差分の時間勾配に基づき、受信クロックが送信クロックに同期するように受信クロックの周波数補正が行われる。このため、サイクルマスタノードから送信されるサイクルスタートパケットを利用することができない状況化においても、受信データの再生タイミングを送信側装置１００におけるオーディオデータのサンプル化のタイミングに同期させ、波形歪のないオーディオ再生を行うことができる。
【００１９】
以上、本発明の一実施形態について説明したが、本発明には、これ以外にも他の実施形態が考えられる。例えば送信タイマ値をパケットに組み込む態様には各種考えられる。ある態様では、送信タイマ値は、例えばパケットのヘッダなど、オーディオデータとは区別できる態様で、パケットに組み込まれる。
【図面の簡単な説明】
【００２０】
【図１】この発明の一実施形態であるパケット転送装置を用いたオーディオパケット転送システムの構成を示すブロック図である。
【図２】同システムの動作を示すフローチャートである。
【図３】同システムの動作を示すフローチャートである。
【符号の説明】
【００２１】
２００…受信側装置（パケット転送装置）２０１…受信部、２０２…ＦＩＦＯ、２０３…オーディオ再生部、２０４…ＰＬＬ、２０５…受信タイマ、２０６…制御部、２２１…記憶処理、２２２…統計処理、２２３…補正処理。
【図１】
2006324998.tif 000003
【図２】
2006324998.tif 000004
【図３】
2006324998.tif 000005