JP3444224B2 - パケット転送装置 - Google Patents
パケット転送装置Info
- Publication number
- JP3444224B2 JP3444224B2 JP07803699A JP7803699A JP3444224B2 JP 3444224 B2 JP3444224 B2 JP 3444224B2 JP 07803699 A JP07803699 A JP 07803699A JP 7803699 A JP7803699 A JP 7803699A JP 3444224 B2 JP3444224 B2 JP 3444224B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- packet
- audio
- time
- output
- 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
Landscapes
- Information Transfer Systems (AREA)
- Electrophonic Musical Instruments (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Description
された高速シリアルネットワークでオーディオデータ等
のイベントシーケンスデータを受信するパケット転送装
置に関するものである。
ブルで順々に接続して「IEEE1394」規格のシリ
アルネットワークを構成し、オーディオデータ(音声、
楽音)やMIDIデータを伝送する技術が、「オーディ
オおよび音楽データ転送に関するプロトコル」(Audio
and Music Data Transmission Protocol,Version1.0,19
97-5,1394Trade Association)として知られている。
れを示す説明図である。ネットワーク上には複数のノー
ド、この例では、3つの送信ノードA101、送信ノー
ドB102、送信ノードC103、および、受信ノード
104がある。図示の例では、複数の送信ノードA10
1,B102,C103において外部の機器から入力さ
れたオーディオデータを、受信ノードにおける外部の機
器で再生する。送信ノードA101,B102,C10
3は、それぞれパケットを送信し、受信ノード104で
は、複数の送信ノードから送信されたパケットを受信
し、所望の送信ノードからのパケットに含まれるオーデ
ィオデータを、所定のサンプリングレートで再生する。
105a〜105dは、送信ノードA101から送信さ
れるパケット、106a〜106cは、送信ノードB1
02から送信されるパケット、107は送信ノードC1
03から送信されるパケットである。
ードにより時間管理されている。サイクルマスターノー
ドから、他のノードに対し、125μsecごとにサイ
クルスタートパケットが送信される。他のノードでは、
このサイクルスタートパケットを受信する毎に、そのパ
ケット内の絶対時刻情報でノード内部のサイクルタイマ
の時刻合わせをすることにより、サイクルマスターノー
ドと同期化される。
3においては、自己のノードに接続された外部機器にて
所定サンプリングクロックで再生したオーディオデータ
に対し、サイクルタイマの時刻に基づいたタイムスタン
プ(以下、略号sytを用いる)を、8サンプリングク
ロック(8データブロック)に1個の割合で生成する。
そして、1または複数チャンネルのオーディオデータを
データフィールドに、sytフィールドにsytを入れ
て、パケットを作成して送信する。syt(タイムスタ
ンプ)によって、イベントシーケンス(オーディオチャ
ンネル)の受信側での再生時刻を指定する。DBC(Da
ta Block Count)は、これまでに送信されたデータブロ
ックの総数の値である。データブロックは、通常、同一
のサンプリングクロックで生成された複数のイベントシ
ーケンスのデータで構成される。
トフォーマットの説明図である。アイソクロナス転送と
は、IEEE1394のリンク層で定義されているデー
タ転送であって、送信遅延が保証されており、あらかじ
め、各ノードが「帯域」を確保している。パケットフォ
ーマットは、アイソクロナスヘッダ、CIP(Common i
sochronous packet format)ヘッダ、データフィールド
からなる。32ビットが基本単位となる。アイソクロナ
スヘッダ中には、データ長、タグ、チャンネル(アイソ
クロナス転送チャンネル)、アイソクロナスデータパケ
ットを表わす”1010”ビット列(tcode)、同
期(sync)、ヘッダCRCの各フィールドがある。
事項が入っており、DBS(Data Block Size:データ
ブロックサイズ)、DBC(Data Block Count:データ
ブロックカウント)、syt(タイムスタンプ)等のフ
ィールドがあり、sytが付加されないパケットのsy
tフィールドには、no dataの値が入る。データフィー
ルドには、オーディオデータ、MIDIデータ等が入
る。データフィールド内のデータフォーマットについて
は、図示を省略するが、(1)AM824:generic format、
(2)AM824:IEC958conformant、(3)AM824:Rawaudi
o、(4)AM824:MIDIconformant、(5)32bit Data fo
rmat、(6)24*4 Audio pack formatがある。
図である。この図は、転送制御の説明用のものである。
上述した図10においては、sytが8データブロック
(8サンプリングクロック)毎に付加されるが、この図
12では、4データブロック(4サンプリングクロッ
ク)毎にsytが付加され、サンプリング周波数Fs
は、26.7kHzである。上段は送信側であり、デー
タブロックに含まれる1つのイベントシーケンス(サン
プリングデータ)を示し、中段にパケットを示す。下段
は受信側であり、各データブロックに含まれる1つのイ
ベントシーケンス(サンプリングデータ)を示す。この
例では、所定のサンプリングクロックで再生されたサン
プリングデータがイベントシーケンスとして入力されて
いる。送信ノードのサイクルタイマは、時刻の値を出力
する。送信ノードは、公称アイソクロナスサイクル(1
25μsec)に1回、確保した帯域分のデータブロッ
クを作成し、伝送遅延を考慮した値のsytを付加して
パケットを送信する。
ータブロックとともに、DBC=3(既に3個のデータ
ブロックが送信済み),syt=R1がパケットに入れ
られている。第2番目のパケットにおいては、4個のデ
ータブロックとともに、DBC=6(既に6個のデータ
ブロックが送信済み),syt=R2が、所定のフィー
ルドに入れられている。同様にして、第3番目〜第5番
目のパケットが送信される。ただし、第4番目のパケッ
トにおいては、sytインターバルに対応するサンプリ
ングクロックのデータブロックを含まないので、syt
が付加されていない。
で受信される。そして、再生サンプリングクロックが生
成される。図中、インデックス値とは、パケットに含ま
れる複数のデータブロック中の何番目(0〜3)がsy
tインターバルの時刻に対応するデータブロックである
かを示す値であり、DBCの値とsytインターバルと
から演算により得られる。
ドA1が送信するパケット105aにおいては、DBC
=3が付加される。パケット105bにおいては、DB
C=7,syt=1000が付加される。このsyt=
1000の時刻と同じ時刻のデータブロックはDA0で
ある。パケット105dにおいては、DBC=16,s
yt=9000が付加される。このsyt=9000の
時刻と同じ時刻のデータブロックはDA8である。DA
8は、DA0から8データブロック後のデータブロック
である。一方、送信ノードB102が送信するパケット
106aにおいては、DBC=7,syt=7000が
付加される。パケット106bにおいては、DBC=1
2が付加され、パケット106cにおいては、DBC=
16,syt=F000が付加される。
ルは、各ノードにおいて、物理層を受け持つ物理層IC
(Integrated Circuit)に接続され、この物理層IC
は、リンク層を受け持つリンク層コントローラICに接
続される。このリンク層コントローラICには、IEE
E1394デジタルオーディオ/MIDI転送用LSI
(Large scale integration、以後、パケットハンドラ
という)が接続され、上述した「オーディオおよび音楽
データ転送に関するプロトコル」を実行する。リアルタ
イム性のあるオーディオおよび音楽データ等のイベント
シーケンスデータをアイソクロナス転送モードのパケッ
ト形式で伝送する場合には、同期伝送ではないので、受
信ノードへのパケットの到達時間、受信間隔は一定しな
い。そのため、受信したオーディオデータを、送信側で
指定された時刻に合わせて再生し、送信側の入力サンプ
リングクロックに同期して、オーディオデータを外部の
機器に出力する必要がある。
ーケンスデータを含むパケットを受信し、再生サンプリ
ングクロックを生成するパケット転送装置を提供するこ
とを目的とするものである。
載の発明においては、アイソクロナス転送を行うネット
ワークに接続され、複数のイベントシーケンスのデータ
で構成されるデータブロックを1または複数個含み、該
データブロックの所定数ごとにタイムスタンプが付加さ
れたパケットを、前記アイソクロナス転送により所定の
アイソクロナスサイクルに1回、ネットワーク上の所望
の送信ノードから送信されて、当該パケットを受信する
パケット転送装置であって、タイムスタンプ出力手段、
再生サンプリングクロック発生手段、比較手段、およ
び、データ出力手段を有し、前記タイムスタンプ出力手
段は、前記送信ノードから受信したパケットに、前記デ
ータブロックの所定数ごとに付加された前記タイムスタ
ンプを出力するものであり、前記比較手段は、前記タイ
ムスタンプ出力手段が出力する前記タイムスタンプに対
応した時刻が、前記アイソクロナス転送を行うネットワ
ークで同期化されているサイクルタイマ時刻と一致する
ときに、一致パルスを発生するものであり、前記再生サ
ンプリングクロック発生手段は、前記一致パルスに同期
して再生サンプリングクロックを出力するものであり、
前記データ出力手段は、複数の前記イベントシーケンス
のデータをそれぞれ記憶する複数の受信バッファを備え
ており、前記所望の送信ノードから受信したパケットに
含まれる各データブロックの前記複数のイベントシーケ
ンスのデータを、それぞれ前記各データ受信バッファに
記憶し、前記一致パルスと前記再生サンプリングクロッ
クとに応じて、前記各データ受信バッファに記憶された
前記各イベントシーケンスのデータを前記データブロッ
ク単位で出力するものである。したがって、1つの送信
ノードからのタイムスタンプを用いて再生サンプリング
クロックを生成することができ、各送信ノードからの前
記各イベントシーケンスデータをこの再生サンプリング
クロックに応じて出力することができる。
クロナス転送を行うネットワークに接続され、1または
複数のイベントシーケンスのデータで構成されるデータ
ブロックを1または複数個含み、該データブロックの所
定数ごとにタイムスタンプが付加されたパケットを、前
記アイソクロナス転送により所定のアイソクロナスサイ
クルに1回、ネットワーク上の所望の複数の送信ノード
の各々から送信されて、当該パケットを受信するパケッ
ト転送装置であって、タイムスタンプ出力手段、再生サ
ンプリングクロック発生手段、比較手段、および、デー
タ出力手段を有し、前記タイムスタンプ出力手段は、前
記送信ノードのうちの1つの送信ノードから受信したパ
ケットに、前記データブロックの所定数ごとに付加され
た前記タイムスタンプを出力するものであり、前記比較
手段は、前記タイムスタンプ出力手段が出力する前記タ
イムスタンプに対応した時刻が、前記アイソクロナス転
送を行うネットワークで同期化されているサイクルタイ
マ時刻と一致するときに、一致パルスを発生するもので
あり、前記再生サンプリングクロック発生手段は、前記
一致パルスに同期して再生サンプリングクロックを出力
するものであり、前記データ出力手段は、複数の前記イ
ベントシーケンスのデータをそれぞれ記憶する複数の受
信バッファを備えており、前記所望の複数の送信ノード
の各々から受信した各パケットに含まれる各データブロ
ックの前記1または複数のイベントシーケンスのデータ
を、それぞれ前記各データ受信バッファに記憶し、前記
再生サンプリングクロックに応じて、前記各データ受信
バッファに記憶された前記各イベントシーケンスのデー
タを前記データブロック単位で出力するものである。
置の実施の一形態のパケットハンドラの機能ブロック図
である。図中、1は送信部、2は受信部、3はDIR
(Digital audio receiver)、4a〜4eはオーディオ
インターフェース、5はCPU(Central Processing U
nit)インターフェース、6はCPUバス、7a,7b
は切替部、8aは全チャンネルの送信FIFO(first
in first out)、8b,8cは非オーディオ用送信FI
FO、8dはsyt用送信FIFO、9はパケット化
部、10はリンクインターフェースである。11はアン
パケット化部、12a〜12hはオーディオ用受信FI
FO、12i,12jは非オーディオ用受信バッファ、
12k,12lはsyt用受信バッファ、13はパッチ
部、14a〜14eはオーディオインターフェース部、
15はCPUインターフェース部、16a,16bは切
替部、17はDIT(Digital audio transmitter)、
18a,18bは加算器、19は同期化部、20はリン
ク層コントローラ、32a,32bはディレイオフセッ
トレジスタである。この機能ブロック図では図示してい
ないが、CPU、および、メモリ等のハードウエアを用
い、プログラムを実行することにより各機能が実行され
る。
オーディオ機器から出力された8チャンネルのオーディ
オデータが、入力端子DAI0〜DAI3からオーディ
オインターフェース4b〜4eに入力される。各入力端
子DAI0〜DAI3は、時分割で2チャンネルのオー
ディオデータが多重化されている。切替器7a,7bに
より、入力端子DAI0に代えて、IEC958規格の
データが入力端子IEC958IからDIR3を介して
入力される場合もある。DIR3の出力は、オーディオ
インターフェース4aを介して出力端子DIROに供給
される。
IDIインターフェースから入力され、CPUバス6お
よびCPUインターフェース5を介して送信FIFO8
b,8cに入力される。オーディオインターフェース4
b〜4eの出力(audio0〜audio7)、および、送信F
IFO8b,8cの出力は、送信FIFO8aに入力さ
れる。「FIFO」は、具体的なメモリの機能として、
入力要求時にデータを順に記憶し、入力要求とは非同期
で発生する読み出し要求に応じて、記憶されたデータを
先着順に読み出すものであるが、バッファの機能を実現
する手段として使用している。
ロック毎に送信FIFO8dに入力される。送信FIF
O8aの出力は、送信FIFO8dの出力とともにパケ
ット化部9に入力され、ヘッダを付加されて、リンクイ
ンターフェース10に出力される。リンクインターフェ
ース10は、リンク層コントローラ20にパケットを出
力する。リンク層コントローラ20は、パケットハンド
ラとの間で、16ビット幅のアイソクロナス用のバスを
介してパケットを送受信する。
は、リンク層コントローラ20を経由してリンクインタ
ーフェース10に入力され、アンパケット化部11に入
力されて、ヘッダ情報等に基づいてアンパケット化され
る。パケットが解釈され、複数のオーディオデータ等が
それぞれ複数の受信FIFO12a〜12jに一時記憶
される。パケットヘッダ中のアイソクロナス転送チャン
ネルを見て、所望の送信ノードからのパケットのみを受
信処理することもできる。
たsytの時刻情報を用いて、再生時刻を受信部のサイ
クルタイマの時刻に合わせ、かつ、送信側の入力サンプ
リングクロックに同期した再生タイミングクロックで、
外部機器に出力する。そのために、オーディオ用受信F
IFO12a〜12h、第1,第2のsyt用受信FI
FO12k,12lが設けられている。
されたオーディオデータの各々は、オーディオ用受信F
IFO12a〜12hに書き込まれる。同様に、非オー
ディオチャンネルのデータもまた、非オーディオ用受信
FIFO12i,12jに書き込まれる。パケットから
取り出されたsytは、第1のsyt用受信FIFO1
2kまたは第2のsyt用受信FIFO12lに、書き
込まれる。第1のsyt用受信FIFO12k,第2の
syt用受信FIFO12lから読み出されたsyt
は、それぞれ、加算部18a,18bにおいて送信ノー
ド毎に設定され、ディレイオフセットレジスタ32a,
32bに格納された所定のオフセット値と加算され同期
化部19に入力される。同期化部19は、オーディオ用
受信FIFO12a〜12hからのオーディオデータの
読み出しタイミングおよび読み出しポインタを制御す
る。同期化部19は、再生サンプリングクロックの外部
出力端子PLLoutおよび外部入力端子PLLinを
有し、再生サンプリングクロックの外部出力または外部
入力を可能としている。同期化部19の動作について
は、図2ないし図4を参照して詳述する。
が、送信ノード別であって、かつ、オーディオチャンネ
ル毎に設けられている。そのため、相異なる送信ノード
からのパケットから分離されたオーディオチャンネルが
混在していても、チャンネル毎に読み出しの開始および
同期再生を独立して行うことが容易になるだけでなく、
パケットハンドラの仕様変更に対しても、柔軟にチャン
ネル数を変更することが容易となる。
hの出力は、パッチ部13に出力される。ここで、8個
のオーディオ用受信FIFO12a〜12hから読み出
されたオーディオデータを、オーディオチャンネル(au
dio0〜audio7)に割り当てる。この8チャンネルのオ
ーディオデータは、オーディオインターフェース14b
〜14eから2チャンネルずつ時分割多重化されて出力
される。この割り当て(アサイン)は、パケットのデー
タブロック内に、どの送信ノードから、どのようなオー
ディオチャンネルのサンプリングデータがどのような配
列でフォーマット化されているのかを、アンパケット化
部11で取り出されたヘッダー内の情報から得て行われ
る。
トハンドラの外部に設けられた設定操作子等を用いて、
外部設定入力により行うこともできる。例えば、受信し
たオーディオデータを、本来の出力先とは異なる出力端
子に切り替え出力したり、受信した1つのオーディオデ
ータを、複数の出力端子に同時に供給することを可能と
している。このようなユーザ設定が可能となるのは、オ
ーディオ用受信FIFO12a〜12hが、送信ノード
別であって、かつ、オーディオチャンネル毎に設けられ
ていることによる。
i,12jの出力である2チャンネルのデータは、CP
Uインターフェース15およびCPUバス6を経由し
て、図示しない外部CPUのMIDI入出力インターフ
ェースに出力される。なお、IEC958用のデータが
受信されたときは、2チャンネルのオーディオチャンネ
ル(audio0,audio1)は、切替器16a,16bおよ
びDIT17を介して出力端子IEC958に出力され
る。なお、切替器16a,16bの他方への切替状態で
は、入力端子DITIからのオーディオデータがオーデ
ィオインターフェース14aを経由してDIT17に出
力される。
動作の概要を説明するためのフローチャートである。図
6(a)は送信ノードとしての処理の概要を説明するた
めのフローチャート、図6(b)は受信ノードとしての
処理の概要を説明するためのフローチャートである。図
6(a)に示す送信ノード処理において、S51におい
ては、外部入力端子DAI0〜DAI3から、複数チャ
ンネルのオーディオデータを、所定のサンプリングレー
トで取り込んで1データブロックとし、このデータブロ
ックを複数連結してデータフィールドを形成し、S52
に処理を進める。MIDIデータの場合には、外部のC
PUのMIDIインターフェースからCPUバスを経由
して取り込む。S52においては、ヘッダを形成し、デ
ータフィールドにこのヘッダを添付することによりパケ
ット化し、S53に処理を進める。
ラーが発生したか否かを判定し、エラーが発生していな
いときには、S54に処理を進め、何等かのエラーが発
生したときにはS55に処理を進める。処理エラーとし
ては、例えば、タイムスタンプの時刻に基づいて、デー
タブロックの入力タイミングであるサンプリングクロッ
クの周期を演算し、この演算出力と、あらかじめ設定さ
れたサンプリングクロック周期との差が許容範囲を超え
たときなどがある。S54においては、パケットの送信
を行う。S55においては、通常のパケットの送信を中
止することにより送信データのミュートを行い、エラー
を報告する割り込みパケットを送信することにより、割
り込み信号を受信ノード側に発生させる。
は、S61において、パケットデータを、ヘッダ情報に
基づきアンパケット化し、オーディオデータおよび非オ
ーディオデータ、sytを、各々、受信FIFO12a
〜12h、12i,12j、12k,12lに格納す
る。その際、各受信FIFO12a〜12lのライトポ
インタ(WP)の管理を行う。
ハンドラの受信ノード再生処理を説明するためのブロッ
ク構成図である。図中、図1と同様な部分には同じ符号
を付して説明を省略する。図1に示した同期化部19
は、比較器33a,33b、サイクルタイマ34、PL
L(Phaselocked loop)35、読み出し制御部36、切
替部37、CPUレジスタ38に対応する。31は書き
込み制御部である。サイクルタイマ34は、パケットハ
ンドラに内蔵する場合と、外部に設けられる場合があ
る。
または複数の送信ノードから送信されて来る。各送信ノ
ードからのパケット毎に、かつ、そのパケット内のオー
ディオチャンネル毎に、オーディオ用受信FIFO12
a〜12hが1つずつ割り当てられる。
る入力サンプリングクロックに同期した再生サンプリン
グクロックで、受信したオーディオデータを出力する。
この送信ノードにおける入力サンプリングクロックは、
送信されてきたsytの時刻に基づいて同期再生して復
元される。送信ノードは、それぞれ、パケットの所定の
ヘッダフィールドにsytを入れてパケットを送信して
いる。各送信ノード毎に、各送信ノードからのsytを
用いてサンプリングクロックを同期再生することも可能
であるが、サンプリングクロックの同期再生は、いずれ
か1つの送信ノード、例えば、最初にパケットを受信し
た送信ノードA1のパケットに含まれるsytを用いて
行う。以下、サンプリングクロックを同期再生するため
のsytを送信した送信ノードを、便宜的に、同期再生
基準ノードという。
t用受信バッファ12k,12l,オーディオ用の受信
FIFO12a〜12hに対する、ライトポインタ(W
P)の値および書き込みタイミング信号を出力するもの
である。同期再生基準ノードからのsytを、第1のs
yt用受信FIFO12kに書き込むごとに、第1のs
yt用受信バッファ12kのライトポインタ(WP)を
インクリメントする。一方、第1のsyt用受信FIF
O12kと同じ送信ノードのオーディオ用の受信FIF
Oのライトポインタ(WP)の値は、第1のsyt用の
受信FIFO12kのライトポインタ(WP)の値に基
づいて計算され、8データブロック(8サンプリングク
ロック分)のデータが順次書き込まれる。後述する矯正
用の第2のsyt用受信FIFO12lに対するライト
ポインタ(WP)は、第2のsyt用受信FIFO12
lに、ある1つの送信ノードからのsytが書き込まれ
るごとにインクリメントされる。この第2のsyt用受
信FIFO12lと同じ送信ノードのオーディオ用の受
信FIFOのライトポインタ(WP)の値は、第2のs
yt用受信FIFO12lにsytが書き込まれるごと
に、インクリメントされる。
トレジスタ32aに格納されている値が0であり、した
がって、加算器18aがない場合と同じ場合について説
明する。比較器33aにおいては、syt用の受信FI
FO12kから既に読み出されているsytの時刻と受
信ノードのサイクルタイマ34の時刻が一致したとき
に、一致パルスをPLL35、読み出し制御部36に出
力する。
で、内蔵のVCO(電圧制御発振器)の出力位相が0に
なるようにVCOの周波数を制御する。このVCOは、
一致パルスの周期の約8分の1(sytインターバルで
決まる)の周期で自走するように設計されている。PL
L35においては、VCOの出力を上述した一致パルス
に位相同期させることにより、第1のsyt用受信FI
FO12kから読み出された隣接するsytの時刻差の
1/8の周期でサンプリングクロックを同期再生する。
一致パルスの時間間隔は、隣接するsytの時刻差を有
するから、一致パルスを8逓倍して再生サンプリングク
ロックを取得していることになる。なお、PLL35
は、一致パルスが出力される毎に位相同期を行わなくて
もよく、適宜間引いた一致パルスで位相同期させるなど
してもよい。PLL35から出力された再生サンプリン
グクロックは、切替部37を介して読み出し制御部36
および再生サンプリングクロック出力端子PLLout
に出力される。
t用受信バッファ12k,12l,オーディオ用の受信
FIFO12a〜12hに対する、リードポインタ(R
P)の値および読み出しタイミング信号を出力するもの
である。同期再生基準ノードである送信ノードA101
からのオーディオデータが、例えば、オーディオ用受信
FIFO12a,12bに一時記憶されているものとす
る。読み出し制御部36においては、比較器33aから
一致パルスが発生するごとに、第1のsyt用受信FI
FO12kのリードポインタ(RP)を歩進させて、次
のsytを読み出させる。同時に、比較器33aから初
めて一致パルスが発生したときに、第1のsyt用受信
FIFO12kから読み出されているsytの時刻に対
応したデータブロックを読み出し開始するように、オー
ディオ用受信FIFO12a,12bのリードポインタ
の値を計算して矯正(時刻合わせ)し、データブロック
を読み出す。以後は、PLL35から出力される再生サ
ンプリングクロックで、リードポインタの値を歩進させ
るとともに、データブロックを読み出す。
時刻が受信ノードのサイクルタイマ34の時刻に初めて
一致した時点以降、送信ノードA101からのオーディ
オデータが、サイクルタイマ34に同期したPLL35
の再生サンプリングクロックに同期して、オーディオ用
受信FIFO12a,12bから読み出し開始される。
なお、この時点以前の期間においても、オーディオ用受
信FIFO12a,12bのリードポインタの値を、再
生サンプリングクロックごとに歩進させることにより、
時刻が保証されていないオーディオデータを読み出して
出力しておくこともできる。
ノードB102からのオーディオデータが、例えば、オ
ーディオ用受信FIFO12c,12dに一時記憶され
ているものとし、各リードポインタ(RP)の矯正(時
刻合わせ)を、第2のsyt用受信FIFO12lによ
り行う。CPUレジスタ38の各ビット位置は、オーデ
ィオ用受信FIFO12a〜12hに対応している。フ
ラグビットを入れるビット位置に対応したオーディオ用
受信FIFOが、第2のsyt用受信FIFO12lに
よる時刻合わせの対象とする。1回のリードポインタの
矯正対象とするオーディオ用受信FIFOを1つに限る
場合には、CPUレジスタ38の各ビット位置に1つの
フラグビットを順次シフトさせればよいため、構成が簡
単である。しかし、同じ送信ノードからのイベントシー
ケンス(オーディオデータ)を一時記憶している1また
は複数のオーディオ用受信FIFO12c,12dに対
し、同時に、リードポインタの矯正を行うようにすれ
ば、矯正を短時間で行うことができる。以下の動作例
は、後者の場合について例示する。
を、第2のsyt用受信FIFO12lに書き込む。送
信ノードB102からのオーディオデータは、受信FI
FO12c,12dに書き込まれているものとする。説
明を簡単にするため、ディレイオフセットレジスタ31
bに格納されている値は0であり、加算器18bがない
場合と同様な場合について説明する。
信FIFO12lに一時記憶され読み出されたsytの
時刻と、サイクルタイマ34の時刻とが一致して一致パ
ルスが出力されると、この一致パルスは、読み出し制御
部36に出力される。読み出し制御部36においては、
一致パルスが発生するごとに、第2のsyt用の受信F
IFO12lのリードポインタ(RP)を歩進させる。
同時に、初めて一致パルスが発生した時点で、第2のs
yt用受信FIFO12lから読み出されているsyt
の時刻に対応したデータブロックを読み出し開始するよ
うに、オーディオ用受信FIFO12c,12dのリー
ドポインタの値を算出し、データブロックを読み出す。
以後は、PLL35から出力される再生サンプリングク
ロックで、リードポインタの値を歩進させるとともに、
データブロックを読み出す。
時刻が受信ノードのサイクルタイマ34の時刻に初めて
一致した時点以降、送信ノードB102からのオーディ
オデータも、サイクルタイマ34に同期したPLL35
の再生サンプリングクロックに同期して、オーディオ用
受信FIFO12c,12dから読み出されることにな
る。なお、この時点以前の期間においても、時刻が保証
されていないオーディオデータを読み出して出力してお
くこともできる。
ンタが取得できれば、後は、同期外れが発生しない限
り、単に再生サンプリングクロック毎にポインタを歩進
させればよい。したがって、さらに他の送信ノード、例
えば、送信ノードC103からのオーディオデータが、
例えば、オーディオ用受信FIFO12e,12fに一
時記憶されている場合には、第2のsyt用受信FIF
O12lの機能を、オーディオ用受信FIFO12e,
12fの各リードポインタの矯正に切り換える。
tを、第2のsyt用受信FIFO12lに書き込む。
比較器33bにおいて、第2のsyt用受信FIFO1
2lに一時記憶され読み出されたsytの時刻と、サイ
クルタイマ34の時刻とが一致して一致パルスが出力さ
れると、読み出し制御部36は、第2のsyt用の受信
FIFO12lのリードポインタ(RP)を歩進させ
る。同時に、オーディオ用受信FIFO12e,12f
の各リードポインタの矯正に切り換えた後、初めて一致
パルスが発生した時点で、第2のsyt用受信FIFO
12lから読み出されているsytの時刻に対応したデ
ータブロックを読み出し開始するように、オーディオ用
受信FIFO12e,12fのリードポインタの値を算
出し、データブロックを読み出す。その結果、送信ノー
ドC103のsytの時刻が受信ノードのサイクルタイ
マ34の時刻に初めて一致した時点以降、送信ノードC
103からのオーディオデータも、サイクルタイマ34
に同期したPLL35の再生サンプリングクロックに同
期して、オーディオ用受信FIFO12e,12fから
読み出される。
個数をオーディオ用受信FIFOと同じ個数分設ける必
要がなく、受信ノードのサイクルタイマ34の時刻を基
準として、各送信ノードからのオーディオデータを各送
信ノードからsytにより時刻指定された時刻に出力す
ることができる。また、各送信ノードにおける入力サン
プリングクロックに同期した再生サンプリングクロック
で、オーディオデータを出力することができる。その結
果、1サンプリングクロックの精度で同期が可能とな
る。
は、第2の比較器33bから一致パルスが発生するごと
に、第2のsyt用の受信FIFO12lのリードポイ
ンタ(RP)を歩進させていた。しかし、第2のsyt
用の受信FIFO12lを、あるオーディオ用受信FI
FOに書き込まれたオーディオデータをサイクルタイマ
34の時刻に最初に1度だけ合わせるために用いる場合
には、時刻が合った時点以降は、その後の一致パルスの
発生時に、その送信ノードからのsytを読み出す必要
はない。
よび第2のsyt用受信FIFO12lから読み出され
たsytの時刻が、サイクルタイマ34の時刻と1回だ
け一致したときに行うのではなく、その後、読み出され
たsytの時刻と、サイクルタイマ34の時刻とが、複
数回連続して一致することを条件として矯正を行うよう
にして、時刻合わせを厳密に行ってもよい。また、1度
矯正を行った後、しばらくは、入力サンプリングクロッ
クに同期した再生サンプリングクロックでオーディオ用
受信FIFO12a〜12hからデータブロックを読み
出させるが、その後、所定時間経過後などにおいて、読
み出されたsytの時刻が、サイクルタイマ34の時刻
と一致したときに、再び時刻合わせの矯正を行うように
してもよい。このように、一致を判定するのには、1回
だけ、複数回連続一致、時間をあけた複数回一致など、
様々な態様があるが、実使用上に要求される時刻管理の
厳密さに応じて適宜決めればよい。これとは逆に、オー
ディオデータの厳密な時刻管理が必要でない、家庭利用
の場合には、時刻合わせは行わず、入力サンプリングク
ロックに同期した再生サンプリングクロックを得る機能
だけを持たせてもよい。この場合、第2のsyt用の受
信FIFO12l、第2の比較器33b等は必要ない。
の受信FIFO12k,12l、および第1,第2の比
較器33a,33b等を同時に動作させているため、同
時に2つの送信ノードからのオーディオデータの時刻合
わせを行うことができる。これに加えて、第2のsyt
用の受信FIFO12lと同様のものをさらに1個また
は複数個備えるようにすれば、同時に時刻合わせを行え
るオーディオデータのチャンネル数を増やすことができ
るため、時刻合わせの時間が短縮化される。また、同じ
送信ノードからのオーディオデータであるかどうかを区
別せずに、オーディオ用受信FIFO12a〜12h毎
に、第2のsyt用の受信FIFO12lと同様のもの
を1個ずつ割り当てることも可能である。
作の一例を示す第1の説明図である。図中、図1,図2
と同様な部分には同じ符号を付して説明を省略する。図
4は、図2に示したブロック構成図の動作の一例を示す
第2の説明図である。図7は、受信ノードの再生処理を
説明するためのフローチャートである。例示する具体例
は、図10に示したものである。各送信ノードは、1ブ
ロックデータについて、2つのオーディオチャンネル
(例えば、左チャンネルおよび右チャンネル)を有する
ものとする。
FO12aには、DA0〜DAf・・・の各データブロ
ックを構成する左チャンネルのオーディオデータが、ま
た、オーディオ用受信FIFO12bには、右チャンネ
ルのオーディオデータが一時記憶されている。DA0
は、syt=1000に対応する時刻のデータブロック
であり、DA8は、syt=9000に対応する時刻の
データブロックである。一方、オーディオ用受信FIF
O12c,12dには、DB0〜DBf・・・の各デー
タブロックを構成する2チャンネルのオーディオデータ
が一時記憶されている。DB0はsyt=7000に対
応するデータブロックであり、DB8はsyt=F00
0に対応するデータブロックである。
照しながら、受信ノードにおけるオーディオデータの再
生処理の動作を具体的に説明する。受信ノード再生処理
1は、syt用の受信FIFO12kを説明するもので
ある。S71においては、図2,図3に示した比較器3
3aにおいて、サイクルタイマ34の時刻と、第1のs
yt用受信FIFO12kから読み出されオフセット値
(0とする)を加算した後のsytの時刻とが一致した
か否かを判定する。あるいは、以前に第1のsyt用受
信FIFO12kが読み出しポインタを更新してから、
所定時間が経過したか否かも判定する。一致したとき、
あるいは、所定時間が経過したときにはS72に処理を
進め、それ以外のときにはS71に処理を戻す。
ードのサイクルタイマ34の時刻よりも早く(sytの
サイクルタイマ値が小さい)なっていたときには、いつ
までたっても、sytの時刻とサイクルタイマ34の時
刻が一致しない。そのため、所定時間が経過したときに
は、強制的にS72に処理を進め、時刻が進んだ次のs
ytを読み出すように制御している。図3に示した具体
例では、syt=1000が第1のsyt用受信バッフ
ァ12kから読み出されている。サイクルタイマ34の
時刻が1000になったときに、比較器33aは、図4
に示すように一致パルスを出力する。
の受信FIFO12kのリードポインタをインクリメン
トし、S73において、第1のsyt用受信FIFO1
2kのリードポインタに基づき、次のsytを読み出
し、S74において、読み出されたsytの時刻にオフ
セットの時刻を加算して比較器33aに送り、S75に
処理を進める。図3の具体例では、S72において、s
yt=9000が読み出され、比較器33aに送られ
る。
いて、一致パルスに同期した再生サンプリングクロック
を生成し、S76に処理を進める。同時に、後述する受
信ノード再生処理2を並行して実行する。S76におい
てはエラーが発生したか否かを判定する。例えば、受信
したデータブロックを計数するカウンタの値が、パケッ
トのCIPヘッダに含まれたDBCの値と一致しないこ
とにより、エラーの発生を検出する。あるいは、受信し
たsytに基づいて、受信したsytの時刻の変化(増
分値)が、設定されたsytの時間間隔と一致しない、
あるいは、隣接する一致パルスの間隔における再生サン
プリングクロック数の計数値が、sytインターバルに
よって決まる値(8個)と一致しない(PLL35にお
ける位相同期外れ)こと等により、エラーの発生を検出
する。同時に、送信ノードからのエラー発生を示す割り
込みパケットの受信も検出する。エラーが発生したと
き、あるいは、割り込みパケットを受信したときは、S
77に処理を進め、これ以外のときは、S71に処理を
戻し、再生処理を継続する。S77においては、オーデ
ィオ出力にミュートを行う(無音にする)。エラー復旧
処理を行う際には、再び、各送信ノードから受信された
sytの時刻がサイクルタイマーの時刻に合った時点
で、各オーディオ用受信FIFO12a〜12hの読み
出しが開始できるようにする。
ないので、S71に処理が戻される。受信ノードのサイ
クルタイマ34が、次に9000を出力したときに、図
4に示すように、比較器33aは一致パルスを出力す
る。第1のsyt用受信FIFO12kのリードポイン
タは、再び歩進され、syt=11000が読み出さ
れ、比較器33aに出力される。第1のsyt用の受信
FIFO12kと同時に動作し、送信ノードB102の
sytを書き込む第2のsyt用の受信FIFO12l
の処理フローは、図示を省略したが、S75がない点を
除いて、S71〜S77とほぼ同様である。
る。S78においては、オーディオ用受信FIFO12
a〜12hのリードポインタを取得および管理する。最
初に、オーディオ用受信FIFO12a,12bのリー
ドポインタについて説明する。比較器33aから一致パ
ルスが出力されたときのsytの時刻に対応したデータ
ブロックは、DA0である。したがって、読み出し制御
部36は、オーディオ用受信FIFO12a,12bの
各リードポインタをDA0の位置にして、DA0から読
み出しを開始する。以後は、PLL35から読み出し制
御部36を経由して出力される再生サンプリングクロッ
ク毎にリードポインタを歩進させる。
信FIFO12a,12bのリードポインタは、syt
=1000が出力されているときに一致パルスが出力さ
れた時点では、DA0が格納された位置にあり、DA0
が読み出される。次に、PLL35から読み出し制御部
36を経由して図4に示す再生サンプリングクロックが
出力されると、リードポインタがインクリメントされ
て、DA1が読み出される。同様にして、再生サンプリ
ングクロックに同期してDA2〜DA7が読み出され
る。syt=9000であるときに、図4に示す一致パ
ルスが出力された時点では、オーディオ用受信FIFO
12a,12bのリードポインタは、DA8が格納され
た位置にあり、DA8が読み出される。以後同様にし
て、以降のデータブロックが読み出される。
12dのリードポインタについて説明する。図3におい
て、第2のsyt用受信バッファ12lから、syt=
7000が読み出される。受信ノードのサイクルタイマ
34が、7000を出力したときに、比較器33bは、
図4に示す一致パルスを出力する。この時点が、オーデ
ィオ用受信FIFO12c,12dから読み出されるオ
ーディオデータが、時刻合わせされて読み出し開始され
るタイミングとなる。このsytの時刻に対応したデー
タブロックは、DB0であるから、読み出し制御部36
は、オーディオ用受信FIFO12c,12dの各リー
ドポインタをDB0の位置にして、DB0を読み出す。
その後は、リードポインタを、PLL34から出力され
る再生サンプリングクロック毎に歩進させる。
受信FIFO12a〜12fから、それぞれ、1データ
ブロックのオーディオデータをパッチ部13へ供給す
る。1データブロックは、通常モードでは、同じ再生サ
ンプリングクロックで出力される複数チャンネルのオー
ディオデータから構成されている。各オーディオデータ
は、再生サンプリングクロック毎に、並列データとして
同時に読み出される。S80においては、パッチ部13
に予め設定されている行き先の再生チャンネル(audio
0〜audio7)へ、読み出されたオーディオデータを供
給する。
送信ノードのパケット内のデータフィールド内のデータ
構造、あるいは、ユーザ設定により、複数チャンネルの
イベントシーケンス(オーディオデータ)を、どの再生
チャンネルに出力するかが設定されている。例えば、オ
ーディオ用受信FIFO12a,12bから読み出され
た送信ノードA101からのオーディオデータが、第1
および第2の再生チャンネル(audio0,audio1)へ供
給される。他の送信ノードB102等のオーディオデー
タも、同時に、他の再生チャンネルに出力されるように
アサインされる。S81においては、各再生チャンネル
(audio0〜audio7)において、このチャンネルに予め
設定されている条件(音量、効果等)でオーディオデー
タを再生して出力する。
複数個用いた例を説明するためのブロック構成図であ
る。図中、41〜43は図1に示したパケットハンドラ
である。図5においては、マスタースレーブ設定端子S
LV、および、同時使用のための制御入力端子SEQ
I、制御出力端子SEQOを明示している。パケットハ
ンドラ41のSLV端子をLOにすることにより、この
パケットハンドラ41はマスターに設定され、パケット
ハンドラ42,43のSLV端子をHIにすることによ
り、これらはスレーブに設定される。各パケットハンド
ラ41〜43の切替部37は、マスターであるかスレー
ブであるかによって切り換えられる。
コントローラ20に共通に並列バス接続される。最初
に、マスターとなるパケットハンドラ41がパケットを
受信する。しかし、新たに送信ノードが追加されたり、
あるいは既存の送信ノードに、新たなオーディオチャン
ネルが追加されたような場合に、オーディオ用受信FI
FO12a〜12hに空きがなくなると、自身のSEQ
O端子をHIにする。その結果、パケットハンドラ42
は、SEQI端子をHIにされて、上述した新たな送信
ノードあるいは、上述した新たなオーディオチャンネル
のパケットを受信するようになる。
用受信FIFO12a〜12hに空きがなくなると、自
身のSEQO端子をHIにする。その結果、パケットハ
ンドラ43は、SEQI端子をHIにされて、パケット
を受信するようになる。しかし、このパケットハンドラ
43も、オーディオ用受信FIFO12a〜12hに空
きがなくなると、自身のSEQO端子をHIにする。そ
の結果、マスターとなるパケットハンドラ41は、SE
QI端子をHIにされて、再び、パケットを受信するこ
とになる。
ィオ用受信FIFO12a〜12hに空きがあれば、S
EQO端子がLOであり、受信したパケットを処理する
ことになる。しかし、空きがないときには、パケットハ
ンドラ41のSEQO端子をHIにしている。全てのパ
ケットハンドラ41〜43に空きがなければ、全てのパ
ケットハンドラ41〜43のSEQO端子がHIであ
り、新たにパケットを受信処理できない。
いては、PLL35から出力される再生サンプリングク
ロックを、切替部37、PLLoutを経て、パケット
ハンドラ42のPLLinに出力する。パケットハンド
ラ42においては、スレーブであるため、切替部37が
PLLin側に切り換わっている。そのため、PLLi
nに入力された再生サンプリングクロックは、読み出し
制御部36に出力されるとともに、PLLoutを介
し、パケットハンドラ43のPLLinにも出力され
る。パケットハンドラ43については、パケットハンド
ラ42と同様である。
は、マスターで生成し、スレーブは、この再生サンプリ
ングクロックを受けることにより、パケットハンドラ4
1〜43の再生サンプリングクロックが共通化される。
ただし、各パケットハンドラ41〜43が受信するオー
ディオデータの発生時刻を、受信ノードのサイクルタイ
マ34に合わせるための構成は、それぞれのパケットハ
ンドラにおいて必要とされる。したがって、スレーブと
なるパケットハンドラ42,43においても、第2のs
yt用受信FIFO12lに、受信した複数の送信ノー
ドからのタイムスタンプを順次割り当てて出力させ、こ
のタイムスタンプの時刻に所定のオフセット値を加算し
た時刻がサイクルタイマ34の時刻と一致したときに、
このタイムスタンプの時刻に対応するデータブロックを
構成するオーディオデータの出力が読み出されるように
する。
2,43においては、第1のsyt用FIFO12kの
動作、PLL35の動作は不要になるため、これらの処
理機能を停止させれば、パケットハンドラ42,43に
内蔵されたCPUの処理負担を軽減したり、ハードウエ
アの消費電力を低減することができる。あるいは、第1
のsyt用FIFO12kに、矯正動作のみを行わせる
こともできる。この場合、特定の送信ノードに固定して
時刻合わせを行うほかに、第2のsyt用FIFO12
lと同時に動作させ、第1,第2のsyt用FIFO1
2k,12lに、複数の送信ノードからのsytを交互
に、順次割り当てて、矯正動作を行うようにしてもよ
い。
3を、全て同一の内部構成の装置としたが、マスター専
用,スレーブ専用のパケットハンドラを製作してもよ
い。この場合、不必要な機能を省略した構成とすること
ができる。例えば、図5からわかるように、切替部37
が当然不必要であり、マスター専用のパケットハンドラ
では、再生サンプリングクロック入力端子が不要であ
り、スレーブ専用のパケットハンドラでは、PLL35
が不要であり、パケットハンドラ43のように終端に接
続されるスレーブ専用のパケットハンドラでは、再生サ
ンプリングクロック出力端子も不要である。
41〜43を同時使用することにより、要求される受信
ノードの仕様に対して柔軟にシステム規模を変更するこ
とができる。これが可能となるのは、パケットハンドラ
41〜43の構造として、複数個の独立したオーディオ
チャンネル用受信FIFO12a〜12hがリンク層コ
ントローラ20を共有しているためである。また、送信
側では、パケットハンドラ41〜43毎に複数のデータ
入力端子を有し、それぞれが、独立してパケットを生成
して1つのリンク層コントローラ20に出力することが
可能となるため、自由度の高い送信方法が可能となる。
全て0にした場合について説明した。常に、ディレイオ
フセットを0にする場合には、オフセットレジスタ32
a,32bおよび加算器18a,18bを設ける必要は
ない。しかし、図1,図2に示したディレイオフセット
レジスタ32a,32bは、第1,第2のsytを受信
FIFO12k,12lから読み出すときの読み出しタ
イミングを、任意に遅らせるためのものである。ディレ
イオフセットレジスタ32aに格納される値は、基準同
期再生ノードに設定されるオフセット値であり、ディレ
イオフセットレジスタ32bに格納される値は、第2の
syt受信FIFOが読み出し制御をする対象の送信ノ
ードに設定されるオフセット値である。ディレイオフセ
ットレジスタ32a,32bに格納するオフセット値
は、パケットハンドラ41〜43の外部から設定するこ
とができる。送信ノードの識別は、アイソクロナスヘッ
ダフィールド内のアイソクロナス転送チャンネル番号に
よって識別することができる。
おける再生時刻の値としてsytの時刻が設定されてい
る。しかし、受信側において、このオフセット値を調整
することによって、各送信ノードからのオーディオデー
タの再生時刻を、sytの時刻からずらせることができ
る。その結果、受信ノード側において、シーケンスデー
タの送信元である送信ノード等に応じて、再生するオー
ディオデータの再生時刻を微調整することができる。ま
た、さまざまな要因により過去の時刻のシーケンスデー
タとなってしまったものを正常に再生することが可能と
なる。送信時に伝播遅延を見越してディレイを入れるの
は、あくまで予想値を入れることになる。これに対し
て、受信側でオフセット値を設定することにより、ディ
レイを自由に設定できれば、実際に複雑なネットワーク
経由の遅延した結果としての遅延時間に対応することも
できる。
第1の送受信動作例の説明図である。図8(a)は送信
側の説明図、図8(b)はリンク層コントローラ20と
の間で入出力されるパケットの説明図、図8(c)は受
信側の説明図である。図1に示したパケットハンドラの
ブロック構成図を参照しながら説明する。この第1の送
受信動作例は、入力サンプリングクロック48kHzの
6チャンネルのイベントシーケンスであるオーディオデ
ータをパケット化する場合の動作例である。サンプリン
グクロックWCKIに同期して、入力端子DAI0か
ら、オーディオデータD0,D1を、入力端子DAI1
からオーディオデータD2,D3を、入力端子DAI2
からオーディオデータD4,D5をそれぞれ入力する。
「5.1システム」を例にとると、フロント左(FL)
をD0に、フロント右(FR)をD1に、リア左(R
L)をD2に、リア右(RR)をD3に、センタ(C)
をD4に、サブウーファ(SU)をD5に割り当てる。
図8(a)において、各入力端子DAI0〜DAI2に
は、2チャンネルのオーディオデータが時分割多重化さ
れて入力されるが、オーディオインターフェース4b〜
4eにおいて、チャンネル(D0〜D5)毎に、並列デ
ータに多重分離され、図1に示すオーディオチャンネル
(audio0〜audio5)として出力される。送信FIFO
8aにおいては、サンプリングクロックWCKIの立ち
下がり時に、サンプリング周期(n)のデータD0
(n),D2(n),D4(n)を書き込み、サンプリ
ングクロックWCKIの立ち上がり時に、サンプリング
周期(n)のデータD1(n),D3(n),D5
(n)を書き込む。
の立ち下がり時に、サンプリング周期(n+1)のデー
タD0(n+1),D2(n+1),D4(n+1)を
書き込み、サンプリングクロックWCKIの立ち上がり
時に、サンプリング周期(n+1)のデータD1(n+
1),D3(n+1),D5(n+1)を書き込み、以
後同様にして、オーディオチャンネル(audio0〜audio
5)のオーディオデータを書き込む。送信FIFO8a
は、パケット化部9が要求するタイミングで、データD
0(n)〜D5(n),D0(n+1)〜D5(n+
1),D0(n+2)〜D5(n+2)を順次読み出
す。
は、ヘッダ、および、データブロックDA0,DA1,
DA2からなるパケットを形成して、並列データをリン
ク層コントローラ20に出力する。1データブロックは
32ビット単位であり、各データブロックは、6個のイ
ベントシーケンス、すなわち、6チャンネルのオーディ
オデータで構成されているから、ヘッダ部には、データ
ブロックサイズDBS=6が入れられる。
とは逆の処理が行なわれる。リンク層コントローラ20
からのパケットは、リンクインターフェース10を経由
して、アンパケット化部11において、ヘッダ、オーデ
ィオデータ、非オーディオデータ、syt等に分けられ
る。図8(b)に示したパケット内のオーディオデータ
については、DBS=6のヘッダ情報から、1データブ
ロックを6個のイベントシーケンス(6チャンネルのオ
ーディオデータ)に分離する。したがって、データブロ
ックDA0が、複数のオーディオチャンネルD0(n)
〜D5(n)(各32ビット)に分離されて出力され
る。
が、それぞれ、複数のオーディオチャンネルD0(n+
1)〜D5(n+1)、D0(n+2)〜D5(n+
2)に分離されて出力される。なお、既に説明した24
ビット*4オーディオパックフォーマットにおいては、
各オーディオデータは、32ビット化されてアンパケッ
ト化部11から出力される。
ディオデータD0〜D5を、それぞれ、データフィール
ド内の配列順序に従って、オーディオ用の受信FIFO
12a〜12fに割り当てる。オーディオ用の受信FI
FO12a〜12fは、32ビットの並列データを一時
記憶する。再生サンプリング周期で読み出されたオーデ
ィオデータD0〜D5は、パッチ部13において、あら
かじめ設定された通りに、オーディオ再生チャンネル0
〜7(audio0〜audio7)にアサインされる。この動作
例では、D0はオーディオ再生チャンネル0に、D1は
オーディオ再生チャンネル1に、D2はオーディオ再生
チャンネル2というようにアサインされる。
ターフェース14bは、オーディオ再生チャンネル0,
1のオーディオデータを時分割多重して出力端子DAO
0にシリアル出力する。同様にして、オーディオインタ
ーフェース14cにおいては、オーディオ再生チャンネ
ル2,3のオーディオデータを時分割多重して出力端子
DAO1にシリアル出力し、オーディオインターフェー
ス14dにおいては、オーディオ再生チャンネル4,5
のオーディオデータを時分割多重して出力端子DAO2
にシリアル出力する。その結果、図8(a)に対応した
オーディオデータが出力される。
第2の送受信動作例の説明図である。図9(a)は送信
側の説明図、図9(b)はリンク層コントローラとの間
で入出力されるパケットの説明図、図9(c)は受信側
の説明図である。この第2の送受信動作例は、送信側の
入力サンプリングクロックが48kHzのままであって
も、48kHzの2倍の96kHzのサンプリングクロ
ックでA/D変換された、3チャンネルオーディオデー
タをパケット化して伝送する場合の動作例である。サン
プリングクロックWCKの1/2周期に同期して、入力
端子DAI0から、オーディオデータD0を、入力端子
DAI1からオーディオデータD1を、入力端子DAI
2からオーディオデータD2をそれぞれシリアル入力す
る。
「2.1システム」を例に取ると、フロント左(FL)
をD0に、フロント右(FR)をD1に、センタ(C)
をD2に割り当てる。図9(a)に示すように、3チャ
ンネルのオーディオデータは、図1のオーディオインタ
ーフェース4b〜4eにおいて、入力チャンネル(D0
〜D2)毎に、並列データに変換されるとともに分配さ
れて、第1〜第5のオーディオチャンネル(audio0〜a
udio5)として出力される。送信FIFO8aにおいて
は、サンプリングクロックWCKIの立ち下がり時に、
サンプリング周期(n)のデータD0(n),D1
(n),D2(n)を入力し、サンプリングクロックW
CKIの立ち上がり時に、サンプリング周期(n+1)
のデータD0(n+1),D1(n+1),D2(n+
1)を入力する。
の立ち下がり時に、サンプリング周期(n+2)のデー
タD0(n+2),D1(n+2),D2(n+2)を
入力し、サンプリングクロックWCKIの立ち上がり時
に、サンプリング周期(n+3)のデータD0(n+
3),D1(n+3),D2(n+3)を入力して、以
後、同様にして、オーディオチャンネル(audio0〜aud
io5)のオーディオデータを書き込む。送信FIFO8
aは、パケット化部9が要求するタイミングで、オーデ
ィオデータD0(n)〜D2(n),D0(n+1)〜
D2(n+1),D0(n+2)〜D2(n+2),・
・・D0(n+5)〜D2(n+5)を読み出す。
は、ヘッダ、および、データブロックDA0〜DA5か
らなるパケットを形成して、リンク層コントローラ20
に出力する。1データブロックが32ビット単位であ
り、各データブロックは、3個のイベントシーケンス、
すなわち、3チャンネルのオーディオデータで構成され
ているから、ヘッダ部には、データブロックサイズDB
S=3が入れられる。
理が行なわれる。リンク層コントローラ20から出力さ
れたパケットは、リンクインターフェース10を経由し
て、アンパケット化部11において、ヘッダ、オーディ
オデータ、非オーディオデータ、syt等に分けられ
る。図9(b)に示したパケット内のオーディオデータ
については、DBS=3のヘッダ情報から、1データブ
ロックを3個のイベントシーケンス(オーディオチャン
ネル)に分離する。したがって、データブロックDA0
が、3チャンネルのオーディオデータD0(n)〜D2
(n)(各32ビット)に分離されて出力される。引き
続き、データブロックDA1〜DA5が、それぞれ、3
チャンネルのオーディオデータD0(n+1)〜D2
(n+1)、D0(n+2)〜D2(n+2)として出
力される。
フィールド内の配列順序に従って、オーディオデータD
0(n),D1(n),D2(n),D0(n+1),
D1(n+1),D2(n+1)をオーディオ用受信F
IFO12a〜FIFO12fに割り当てる。同様に、
次のオーディオデータD0(n+2),D1(n+
2),D2(n+2),D0(n+3),D1(n+
3),D2(n+3)を、再び、オーディオ用受信FI
FO12a〜FIFO12fに供給する。オーディオ用
の受信FIFO12a〜12fに、それぞれ、32ビッ
トの並列データとして一時記憶されたオーディオデータ
D0〜D2は、96kHzのサンプリング周期でA/D
変換されたものである。
された通りに、オーディオ再生チャンネル0〜5(audi
o0〜audio7)にアサインされる。この動作例では、オ
ーディオ用受信FIFO12aに格納されたD0はオー
ディオチャンネル0に、オーディオ用受信FIFO12
bに格納されたD0はオーディオチャンネル1に、オー
ディオ用受信FIFO12cに格納されたD1はオーデ
ィオチャンネル2に、というようにアサインされる。
ターフェース14bにおいては、オーディオチャンネル
0,1のオーディオデータを時分割多重して、出力端子
DA0にシリアル出力する。同様にして、オーディオイ
ンターフェース14cにおいては、オーディオチャンネ
ル2,3のオーディオデータを時分割多重して、出力端
子DA1にシリアル出力し、オーディオインターフェー
ス14dにおいては、オーディオチャンネル4,5のオ
ーディオデータを時分割多重して、出力端子DA2にシ
リアル出力する。その結果、図9(a)に対応したオー
ディオデータが出力されることにより、再生サンプリン
グクロックが48kHzのままであっても、96kHz
のサンプリング周期でA/D変換されたオーディオデー
タD0〜D2を読み出すことができる。
ドを切り換えるには、図11に示したパケットフォーマ
ットのヘッダ部に入れられた情報により行うことができ
る。その際、DBSの値により2つの転送モードを識別
することも可能である。上述したように、パッチ部13
は、転送モードに応じて、オーディオ用受信FIFO1
2aないし12fに記憶されたオーディオデータの出力
先をアサインしている。パッチ部13は、また、1つの
転送モードにおいても、受信ノードにおけるユーザ設定
により、アサインを変更することにより、オーディオデ
ータのアサイン先を変更することが可能である。例え
ば、上述した、「5.1システム」では、左チャンネル
(FL,RL)と右チャンネル(FR,RR)とを入れ
替えたり、前方チャンネル(FL,FR)と後方チャン
ネル(RL,RR)とを入れ替えたりして、音像定位の
変更を行うことができる。
サンプリングクロックがデューティ比50%であること
を利用して、サンプリングクロックの立ち上がりおよび
立ち下がりに同期して、1サンプリング周期当たり、2
サンプルを時分割多重で外部入力あるいは外部出力する
ものであった。この場合、サンプリングクロック信号に
同期させて入力および出力が容易に行えるという利点が
ある。これに代えて、1サンプリング周期当たりmサン
プル(mは3以上の自然数)を時分割多重で外部入力あ
るいは外部出力するようにして、同様にして、再生サン
プリングクロックfskHzの転送モードに加えて、再
生サンプリングクロックm×fskHzの転送モードを
設けることもできる。
FO12a〜12hの1つに一時記憶させるイベントシ
ーケンス(オーディデータ)は、1チャンネルのオーデ
ィオデータとしている。しかし、複数チャンネルのイベ
ントシーケンス(オーディオデータ)を1単位とし、単
位イベントシーケンスをオーディオ用受信FIFO12
a〜12hの1つに一時記憶させるようにしてもよい。
例えば、1つの入力端子に時分割多重化されて入力さ
れ、1つの出力端子に時分割多重化されて出力される、
例えば、オーディオチャンネル0,1(audio0,audio
1)・・・オーディオチャンネル6,7(audio6,aud
io7)をそれぞれ1単位とした、単位オーディオチャン
ネルを、同じオーディオ用受信FIFO12a,12
b,12c,12dに一時記憶させるようにしてもよ
い。
イミングクロック、および受信側の再生タイミングクロ
ックとして、オーディオデータのサンプリングクロック
を用いたが、このサンプリングクロックのn倍(nは2
以上の自然数)あるいは1/n倍の周波数のタイミング
クロックとして、このタイミングクロックを単位に1デ
ータブロックを構成するようにしてもよい。
うに、オーディオおよび音楽データ等のイベントシーケ
ンスデータを含むパケットを受信し、再生サンプリング
クロックを生成することができるという効果がある。
パケットハンドラの機能ブロック図である。
受信ノード再生処理を説明するためのブロック構成図で
ある。
示す第1の説明図である。
示す第2の説明図である。
た例を説明するためのブロック構成図である。
を説明するためのフローチャートである。
ーチャートである。
信動作例の説明図である。
信動作例の説明図である。
明図である。
ットの説明図である。
ターフェース、5 CPUインターフェース、6 CP
Uバス、11 アンパケット化部、12a〜12h オ
ーディオ用受信FIFO、12i,12j 非オーディ
オ用受信バッファ、12k,12l syt用受信バッ
ファ、13 パッチ部、14a〜14eオーディオイン
ターフェース部、16a,16b 切替部、18a,1
8b加算器、19 同期化部
Claims (2)
- 【請求項1】 アイソクロナス転送を行うネットワーク
に接続され、複数のイベントシーケンスのデータで構成
されるデータブロックを1または複数個含み、該データ
ブロックの所定数ごとにタイムスタンプが付加されたパ
ケットを、前記アイソクロナス転送により所定のアイソ
クロナスサイクルに1回、ネットワーク上の所望の送信
ノードから送信されて、当該パケットを受信するパケッ
ト転送装置であって、 タイムスタンプ出力手段、再生サンプリングクロック発
生手段、比較手段、および、データ出力手段を有し、 前記タイムスタンプ出力手段は、前記送信ノードから受
信したパケットに、前記データブロックの所定数ごとに
付加された前記タイムスタンプを出力するものであり、 前記比較手段は、前記タイムスタンプ出力手段が出力す
る前記タイムスタンプに対応した時刻が、前記アイソク
ロナス転送を行うネットワークで同期化されているサイ
クルタイマ時刻と一致するときに、一致パルスを発生す
るものであり、 前記再生サンプリングクロック発生手段は、前記一致パ
ルスに同期して再生サンプリングクロックを出力するも
のであり、 前記データ出力手段は、複数の前記イベントシーケンス
のデータをそれぞれ記憶する複数の受信バッファを備え
ており、前記所望の送信ノードから受信したパケットに
含まれる各データブロックの前記複数のイベントシーケ
ンスのデータを、それぞれ前記各データ受信バッファに
記憶し、前記一致パルスと前記再生サンプリングクロッ
クとに応じて、前記各データ受信バッファに記憶された
前記各イベントシーケンスのデータを前記データブロッ
ク単位で出力するものである、 ことを特徴とするパケット転送装置。 - 【請求項2】 アイソクロナス転送を行うネットワーク
に接続され、1または複数のイベントシーケンスのデー
タで構成されるデータブロックを1または複数個含み、
該データブロックの所定数ごとにタイムスタンプが付加
されたパケットを、前記アイソクロナス転送により所定
のアイソクロナスサイクルに1回、ネットワーク上の所
望の複数の送信ノードの各々から送信されて、当該パケ
ットを受信するパケット転送装置であって、 タイムスタンプ出力手段、再生サンプリングクロック発
生手段、比較手段、および、データ出力手段を有し、 前記タイムスタンプ出力手段は、前記送信ノードのうち
の1つの送信ノードから受信したパケットに、前記デー
タブロックの所定数ごとに付加された前記タイムスタン
プを出力するものであり、 前記比較手段は、前記タイムスタンプ出力手段が出力す
る前記タイムスタンプに対応した時刻が、前記アイソク
ロナス転送を行うネットワークで同期化されているサイ
クルタイマ時刻と一致するときに、一致パルスを発生す
るものであり、前記再生サンプリングクロック発生手段
は、前記一致パルスに同期して再生サンプリングクロッ
クを出力するものであり、 前記データ出力手段は、複数の前記イベントシーケンス
のデータをそれぞれ記憶する複数の受信バッファを備え
ており、前記所望の複数の送信ノードの各々から受信し
た各パケットに含まれる各データブロックの前記1また
は複数のイベントシーケンスのデータを、それぞれ前記
各データ受信バッファに記憶し、前記再生サンプリング
クロックに応じて、前記各データ受信バッファに記憶さ
れた前記各イベントシーケンスのデータを前記データブ
ロック単位で出力するものである、 ことを特徴とするパケット転送装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07803699A JP3444224B2 (ja) | 1999-03-23 | 1999-03-23 | パケット転送装置 |
US09/532,835 US6751228B1 (en) | 1999-03-23 | 2000-03-21 | Packet handler of audio data by isochronous mode |
US10/786,242 US6940855B2 (en) | 1999-03-23 | 2004-02-24 | Packet handler of audio data by isochronous mode |
US10/793,313 US6934287B2 (en) | 1999-03-23 | 2004-03-03 | Packet handler of audio data by isochronous mode |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07803699A JP3444224B2 (ja) | 1999-03-23 | 1999-03-23 | パケット転送装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000278353A JP2000278353A (ja) | 2000-10-06 |
JP3444224B2 true JP3444224B2 (ja) | 2003-09-08 |
Family
ID=13650605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07803699A Expired - Fee Related JP3444224B2 (ja) | 1999-03-23 | 1999-03-23 | パケット転送装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3444224B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1855887A (zh) * | 2005-04-29 | 2006-11-01 | 华硕电脑股份有限公司 | 在接收端中减少数据串流前后跳动的方法及其相关装置 |
-
1999
- 1999-03-23 JP JP07803699A patent/JP3444224B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000278353A (ja) | 2000-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6934287B2 (en) | Packet handler of audio data by isochronous mode | |
JP3371174B2 (ja) | パケット受信装置 | |
JP3698074B2 (ja) | ネットワーク同期方法、lsi、バスブリッジ、ネットワーク機器、およびプログラム | |
EP1256197B1 (en) | Reference time distribution over a network | |
JP3203978B2 (ja) | データ送受信装置、データ受信装置及びデータ送信装置 | |
US20070230462A1 (en) | Audio network system | |
JP4062807B2 (ja) | データクロック生成装置および記憶媒体 | |
MXPA04001263A (es) | Metodo y aparato para preprocesar en un procedimiento central de formato comun, senales de entrada de, o senales de salida para interfases de tipo diferente. | |
JP3451971B2 (ja) | パケット転送装置 | |
US20030063684A1 (en) | System and method for transmission of digital information of varying sample rates over a synchronous network | |
JP3451973B2 (ja) | パケット転送装置 | |
JP3358581B2 (ja) | パケット転送装置 | |
JP3444224B2 (ja) | パケット転送装置 | |
JP3499818B2 (ja) | タイムスタンプのオフセット調整方法及びそれを用いたパケット伝送装置 | |
JP3496562B2 (ja) | パケット転送装置 | |
JP3451972B2 (ja) | パケット転送装置 | |
JP3861873B2 (ja) | 音楽システム及び音楽データ送受装置 | |
JP3412550B2 (ja) | パケット転送装置 | |
JP2005217787A (ja) | 独立したクロック源を備えた複数の機器の同期方法、同期システム及びコンピュータプログラム | |
JPH10257096A (ja) | データ転送方法及び装置 | |
JP3546799B2 (ja) | データ送受信装置 | |
US7684530B2 (en) | Circuit arrangement and method for synchronised transmission of audio data streams in a bus system | |
JP2001144694A (ja) | サンプリングレートコンバータ | |
JP2000324088A (ja) | シリアルデータ送受信方法及び装置 | |
JP3578156B2 (ja) | パケット受信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20030527 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080627 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090627 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100627 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100627 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110627 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120627 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120627 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130627 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140627 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |