以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
[第1の実施形態]
図1は、第1の実施形態におけるネットワークシステムの構成の一例を示す図である。図1では、1個のマスタノード装置からデイジーチェーン状に3個の中継ノード装置及び1個の終端ノード装置が接続されている。以下、それぞれのノード装置を単に「ノード」と称す。
図1において、101はマスタノードであり、オーディオデータ源110から出力されるオーディオ信号(48Khzサンプリング、左右各16bit)を元に、各中継ノードに送るべきデータに加工し、伝送フレームを生成する。
102〜104はそれぞれ中継ノードであり、伝送方向上流から入力された伝送フレームに対して詳細は後述する中継処理を含む所定の処理を行い、処理された伝送フレームを伝送方向下流の中継ノード又は終端ノードに中継する。
105は終端ノードであり、伝送方向上流から入力される伝送フレームに対して詳細は後述する所定の処理を行う。
106〜109はそれぞれ伝送路であり、マスタノード101、中継ノード102〜104、終端ノード105の間で伝送フレームを伝送する伝送路として機能する。
110はオーディオデータ源であり、再生すべきオーディオデータの元データをマスタノード101に提供する。
111〜114はそれぞれスピーカであり、中継ノード102〜104及び終端ノード105から出力されるオーディオデータを音声に変換して出力する。
図2は、第1の実施形態における伝送フレームの構成の一例を示す図である。図2において、207はフレームヘッダであり、伝送フレームの先頭に位置し、各種同期の確立に用いられる。201はスタートコードであり、中継ノード102〜104及び終端ノード105が取り込むべきデータ位置を示すコードである。つまり、スタートコード201は自中継ノード装置宛てのデータを特定するための特定情報である。
202〜205はオーディオデータであり、スタートコード201に続く所定の位置に中継ノード102〜104及び終端ノード105の配列順に並べられている。
206はストップコードであり、中継ノード102〜104及び終端ノード105が同期して所定の動作を行うタイミングを指示するコードである。208はフレームテーラであり、伝送フレームの終わりを示す。
中継ノード102〜104及び終端ノード105がフレームヘッダ207によって伝送フレームを検出すると、スタートコード201に続く所定の位置のデータを自ノード宛てのオーディオデータとしてノード内に取り込む。そして、スタートコード201を所定の位置(取り込んだデータの後ろ)に再設定し、ストップコードを検出すると、取り込んだオーディオデータを音声へ変換する。
このように、スタートコード201は、中継ノード102〜104で中継伝送時に必要に応じて書き換えられるものである。この伝送フレームの伝送周期は、オーディオデータ源のサンプリング周期と等しい48Khzが用いられる。
また、第1の実施形態における伝送フレームは、以下の表1に示すような4B5B符号が用いられる。即ち、オーディオデータに関しては、4bitデータの最上位ビット(bit4)に0を付加し、下位4bitは符号化前の元のオーディオデータの4bitを用い、5bitのデータに変換される。一方、スタートコード201及びストップコード206に関しては、最上位ビット(bit5)が1である符号が割り当てられる。
尚、ヌルコードは、後述する移動前のスタートコード位置や、取得されたデータ位置に書き込まれるデータであり、このヌルコードに対しては後述するコード検出部がコードの読み取りのみを行い、その他の動作は行わない。
次に、中継ノード102〜104及び終端ノード105の構成及び動作を、図3を用いて説明する。図3は、第1の実施形態における中継ノードの構成の一例を示すブロック図である。
図3に示すように、中継ノードは、受信部301、中継処理部302、送信部303、コード検出部304、データカウンタ305、データバッファ306、及びAMP307で構成される。
受信部301は、伝送方向上流に位置するマスタノード101或いは中継ノード102〜104から送出された伝送フレームを受信する。また、受信部301は伝送フレームのフレームヘッダ207に基づいて送信側との同期を確立し、受信した伝送フレームを中継処理部302とコード検出部304に出力する。
中継処理部302は、受信部301から出力された伝送フレームのスタートコード201の位置をコード検出部304の指示により所定の位置に再設定し、送信部303に出力する。送信部303は、中継処理部302でスタートコード201の位置が再設定された伝送フレームを伝送路を介して下流方向(次段)のノードに出力する。
コード検出部304は、受信部301から出力される伝送フレームからスタートコード201及びストップコード206を検出する。スタートコード201を検出すると、そのスタートコード201に隣接するオーディオデータを自ノード宛てのデータとしてデータバッファ306に取り込む。そして、データカウンタ305を介して中継処理部302にスタートコード201の再設定を指示する。更に、ストップコード206を検出すると、データバッファ306に書き込まれたオーディオデータの読み出しを開始し、その出力をAMP307に出力する。
データカウンタ305は、受信部301で受信するデータの量をカウントすることにより、データバッファ306に書き込む自ノード宛てのデータ量を制御すると共に、中継処理部302で再設定するスタートコード201の位置を指示する。データバッファ306は、コード検出部304の指示により取り込んだ自ノード宛てのオーディオデータを一時保持する。そして、コード検出部304がストップコード206を検出したタイミングでオーディオデータを読み出し、AMP307を介してスピーカに出力する。AMP307は、オーディオデータをスピーカ駆動可能な信号に変換し、スピーカに出力する。
尚、終端ノード105は、図3に示す中継ノードから中継処理部302と送信部303が除去されている点を除き、中継ノードと同様な構成である。
次に、図3に示す中継ノードへ伝送フレームを送信するマスタノードの構成及び動作を、図4を用いて説明する。
図4は、第1の実施形態におけるマスタノードの構成の一例を示すブロック図である。図4に示すように、マスタノード101はサラウンド処理部401、伝送フレーム生成部402、送信部403、及びシステムコントローラ404で構成される。
サラウンド処理部401は、オーディオデータ源110から出力される2chオーディオデータに基づいてサラウンド処理を行う。具体的には、4つのスピーカを用いて利用者が希望する適切なサランド音響となるように、右前方、右後方、左前方、左後方の4chのオーディオデータを生成する。
伝送フレーム生成部402は、システムコントローラ404の指示に従い、中継ノード102〜104及び終端ノード105の接続順に対応する所定のオーディオデータを伝送フレームに配置する。そして、スタートコード201及びストップコード206を設定し、フレームヘッダ207及びフレームテーラ208を付加し、図2に示す伝送フレームを生成する。
送信部403は、伝送フレーム生成部402が生成した伝送フレームを、伝送路106を介して中継ノード102に送信する。システムコントローラ404は、ユーザが設定したスピーカの配置情報と、中継ノード102〜104及び終端ノード105の接続関係を表2に示すように記憶する。そして、その記憶内容に基づいて伝送フレーム生成部402に対してオーディオデータの格納位置を指示する。
ここで、第1の実施形態におけるマスタノード101、中継ノード102〜104及び終端ノード105の動作を、図1〜図4及び図5を用いて説明する。図5は、第1の実施形態における伝送フレームを中継する中継ノードの処理を説明するための図である。
マスタノード101がオーディオデータ源110から2chオーディオデータを入力すると、サラウンド処理部401が右前方、右後方、左前方、左後方の4chのオーディオデータを生成し、伝送フレーム生成部402に出力する。システムコントローラ404は、表2に示す内容を参照し、伝送フレーム生成部402に4chのオーディオデータの格納位置を指示する。
伝送フレーム生成部402では、システムコントローラ404の指示に従い、4chのオーディオデータを所定の位置に格納する。また、スタートコード201及びストップコード206を設定し、フレームヘッダ207及びフレームテーラ208を付加して図2に示す伝送フレームを生成する。そして、生成された伝送フレームを送信部403が伝送路106を介して中継ノード102の受信部301に送信し、この受信部301から図5に示す(A)の伝送フレームが出力される。
一方、中継ノード102では、受信部301が伝送フレームのフレームヘッダ207で同期を確立した後、受信した伝送フレームをコード検出部304及び中継処理部302に出力する。そして、コード検出部304が、受信部301から出力された伝送フレームのスタートコード201を検出し、スタートコード201に続くオーディオデータ202を中継ノード102宛てのデータとしてデータバッファ306に格納する。
この格納に際し、データカウンタ305がデータのカウントを行い、オーディオデータ202の全データがデータバッファ306に格納されたことを確認する。そして、確認されたデータの最後尾の位置をスタートコード201の再設定位置として中継処理部302に指示する。
中継処理部302では、受信部301から出力された伝送フレームのスタートコード201を除去して送信部303に出力すると共に、データカウンタ305から指示されたスタートコード201の再設定位置に、新たにスタートコード201を再設定する。また、移動前のスタートコード位置やデータバッファ306に格納されたオーディオデータ位置にヌルコードを書き込む。
送信部303では、中継処理部302で中継処理された伝送フレームを、伝送路107を介して中継ノード103の受信部301に送信する。
また、中継ノード102のコード検出部304は、引き続き伝送フレーム内のストップコード206の検出を行う。その後、ストップコード206を検出すると、コード検出部304はデータバッファ306からオーディオデータの読み出しを開始し、AMP307を介してスピーカ111に出力する。
中継ノード103では、受信部301が伝送フレームのフレームヘッダ207で同期を確立した後、受信した伝送フレームをコード検出部304及び中継処理部302に出力する。尚、受信部301から出力される伝送フレームは、図5に示す(B)のように、スタートコード201の位置が再設定されたものである。コード検出部304が、受信部301から出力された伝送フレームのスタートコード201を検出し、スタートコード201に続くオーディオデータ203を中継ノード103宛てのデータとしてデータバッファ306に格納する。
ここで、中継処理部302が、中継ノード102の中継処理と同様に、伝送フレームのスタートコード201をオーディオデータ203の最後尾に再設定し、移動前のスタートコード位置や格納されたデータ位置にヌルコードを書き込む。
そして、送信部303では、中継処理部302で中継処理された伝送フレームを、伝送路108を介して中継ノード104の受信部301に送信する。
また、中継ノード103のコード検出部304は、引き続き伝送フレーム内のストップコード206の検出を行う。その後、ストップコード206を検出すると、コード検出部304はデータバッファ306からオーディオデータの読み出しを開始し、AMP307を介してスピーカ112に出力する。
中継ノード104では、受信部301が伝送フレームのフレームヘッダ207で同期を確立した後、受信した伝送フレームをコード検出部304及び中継処理部302に出力する。尚、受信部301から出力される伝送フレームは、図5に示す(C)のように、スタートコード201の位置が再設定されたものである。コード検出部304が、受信部301から出力された伝送フレームのスタートコード201を検出し、スタートコード201に続くオーディオデータ204を中継ノード104宛てのデータとしてデータバッファ306に格納する。
ここで、中継処理部302が、中継ノード102の中継処理と同様に、伝送フレームのスタートコード201をオーディオデータ204の最後尾に再設定し、移動前のスタートコード位置や格納されたデータ位置にヌルコードを書き込む。
そして、送信部303では、中継処理部302で中継処理された伝送フレームを、伝送路109を介して終端ノード105の受信部301に送信する。
また、中継ノード104のコード検出部304は、引き続き伝送フレーム内のストップコード206の検出を行う。その後、ストップコード206を検出すると、コード検出部304はデータバッファ306からオーディオデータの読み出しを開始し、AMP307を介してスピーカ113に出力する。
終端ノード105では、受信部301が伝送フレームのフレームヘッダ207で同期を確立した後、受信した伝送フレームをコード検出部304に出力する。尚、受信部301から出力される伝送フレームは、図5に示す(D)のように、スタートコード201の位置が再設定されたものである。
そして、コード検出部304が、受信部301から出力された伝送フレームのスタートコード201を検出し、スタートコード201に続くオーディオデータ205を終端ノード105宛てのデータとしてデータバッファ306に格納する。
また、終端ノード105のコード検出部304は、引き続き伝送フレーム内のストップコード206の検出を行う。その後、ストップコード206を検出すると、コード検出部304はデータバッファ306からオーディオデータの読み出しを開始し、AMP307を介してスピーカ114に出力する。
このように、伝送フレームが中継ノード102〜104を経て終端ノード105に伝送される間にスタートコード201の位置が再設定される。これにより、中継ノード102〜104及び終端ノード105では、スタートコード201に隣接するデータを取り込むことで、自ノード宛てのオーディオデータを取得することができる。そして、各ノードのコード検出部304が伝送フレーム内のストップコード206の検出を継続し、検出すると、オーディオデータをスピーカに出力する。
第1の実施形態によれば、中継ノード102〜104における伝送フレームの中継処理でスタートコード201の位置を変更し、中継ノード102〜104と終端ノード105でほぼ同時にストップコード206を検出できる。これは、中継時の伝送遅延時間を除いて、伝送フレームのデータ長に変更が無いためである。そして、中継ノード102〜104と終端ノード105でデータバッファ306内のデータをAMP307に出力し、スピーカから音声として同期して出力させることができる。
[第2の実施形態]
次に、図面を参照しながら本発明に係る第2の実施形態を詳細に説明する。第2の実施形態は、中継ノードで中継伝送遅延が発生した場合に、中継ノード間で出力タイミングのずれが生じるのを補正する機能を実現するものである。
尚、第2の実施形態におけるネットワークシステムの構成は、第1の実施形態の構成と同じであるが、マスタノード、中継ノード及び終端ノードの構成は異なる。マスタノード及び中継ノードの構成及び動作は更に後述する。
図6は、第2の実施形態における伝送フレームの構成の一例を示す図である。図6において、601〜608は、第1の実施形態で説明した図2に示す201〜208に相当するものであり、その説明は省略する。
609〜611はタイミング補正コード又はスタートコード601が書き込まれる領域であり、マスタノード101から送信された際には、タイミング補正コードが書き込まれている。そして、中継ノード102〜104における中継処理で、随時、スタートコード601に書き換えられる。
尚、タイミング補正コードは、中継ノード102〜104の中継処理における伝送遅延を補正するために用いられるタイミング補正情報である。
また、第2の実施形態における伝送フレームは、以下の表3に示すような4B5B符号が用いられる。即ち、オーディオデータに関しては、4bitデータの最上位ビット(bit4)に0を付加し、下位4bitは符号化前の元のオーディオデータの4bitを用い、5bitのデータに変換される。一方、スタートコード601及びストップコード606に関しては、最上位(bit5)が1である符号が割り当てられる。
次に、第2の実施形態における中継ノード102〜104及び終端ノード105の構成及び動作を説明する。
図7は、第2の実施形態における中継ノードの構成の一例を示すブロック図である。図7に示す701〜707は、第1の実施形態で説明した図3に示す301〜307に相当するものである。
図7に示すように、第2の実施形態では、中継処理における伝送遅延を補正するために、タイミング抽出部708、カウンタ709、及び出力制御部710を更に含む。
ここで、受信部701、送信部703、データカウンタ705、AMP707は、第1の実施形態の受信部301、送信部303、データカウンタ305、AMP307と同様に機能する。
コード検出部704は、受信部701から出力される伝送フレームからスタートコード601、タイミング補正コード、ヌルコード及びストップコード606を検出する。スタートコード601を検出すると、そのスタートコード601に隣接するオーディオデータ領域のデータを自ノード宛てのデータとしてデータバッファ706に取り込む。また、データカウンタ705を介して中継処理部702に受信したスタートコード601をヌルコードに書き換える指示を行う。また同様に、取り込んだオーディオデータ領域に隣接するタイミング補正コードをスタートコード601に書き換える指示も行う。このデータ取り込みに続き、伝送フレーム全体の検出を継続し、タイミング補正コードを検出すると、カウンタ709に対してカウントアップの指示を行う。このとき、カウントアップされる値は、各中継ノードで中継伝送のために必要なクロック数に応じた値(N)である。更に、ストップコード606を検出すると、カウンタ709にカウントダウンを指示する。
データバッファ706は、コード検出部704の指示で取り込んだ自ノード宛てのオーディオデータを一時保持し、出力制御部710からの出力許可信号に基づいてオーディオデータをAMP707を介してスピーカに出力する。
タイミング抽出部708は、受信部701が受信した伝送フレームから、伝送クロック及びフレーム同期信号を抽出し、これらのタイミング信号を中継ノードの各部に供給することにより、クロック同期型の処理を実現している。
カウンタ709は、タイミング補正用のカウンタであり、フレームの伝送開始時には、リセットされている。そして、コード検出部704がタイミング補正コードを検出することにより、中継ノードにおいて中継伝送のために必要なクロック数に応じた値(N)だけカウントアップされる。また、コード検出部704がストップコード606を検出すると、タイミング抽出部708からのクロック信号に同期してカウントダウンを行い、ボローの発生時において、出力制御部710にボロー信号を出力する。
出力制御部710は、カウンタ709からのボロー信号を受けてデータバッファ706に出力許可信号を出力する。
次に、図7に示す中継ノードへ伝送フレームを送信する第2の実施形態におけるマスタノードの構成及び動作を、図8を用いて説明する。
図8は、第2の実施形態におけるマスタノードの構成の一例を示すブロック図である。図8に示す801から804は、第1の実施形態で説明した図4に示す401〜404に相当するものである。
図8に示すように、第2の実施形態では、中継処理における伝送遅延を補正するために、タイミング生成部805を更に含む。
ここで、サラウンド処理部801、システムコントローラ804は、第1の実施形態のサラウンド処理部401、システムコントローラ404と同様に機能する。
伝送フレーム生成部802は、システムコントローラ804とタイミング生成部805の指示に従い、中継ノード102〜104及び終端ノード105の接続順に対応する所定のオーディオデータを伝送フレームに配置する。そして、スタートコード601、タイミング補正コード、ストップコード606を設定し、フレームヘッダ607及びフレームテーラ608を付加し、図6に示す伝送フレームを生成する。
送信部803は、タイミング生成部805からのクロック信号により伝送フレーム生成部802から出力される伝送フレームを、伝送路106を介して中継ノード102に送信する。システムコントローラ804は、ユーザが設定したスピーカの配置情報と、中継ノード102〜104及び終端ノード105の接続関係を表2に示すように記憶する。そして、その記憶内容に基づいて伝送フレーム生成部802に対してオーディオデータの格納位置を指示する。
タイミング生成部805は、図6に示す伝送フレームを生成するためのフレーム信号を生成し、伝送フレーム生成部802に供給し、伝送フレームを送信するためのクロック信号を生成し、送信部803に供給する。
尚、フレーム信号の周期は、オーディオデータのサンプリングクロックと同程度の周期であり、具体的には、48KHzや96KHz、更には192KHzが用いられる。また、クロック信号は、これらの100から1000分の1程度の周期の信号である。
ここで、第2の実施形態におけるマスタノード101、中継ノード102〜104及び終端ノード105の動作を、図1及び図6〜図9を用いて説明する。図9は、第2の実施形態における伝送フレームを中継する中継ノードの処理を説明するための図である。
マスタノード101がオーディオデータ源110から2chオーディオデータを入力すると、サラウンド処理部801が右前方、右後方、左前方、左後方の4chのオーディオデータを生成し、伝送フレーム生成部802に出力する。サラウンド処理部801は、2chオーディオデータとして、左右各24bitの1サンプリングデータを入力する。システムコントローラ804は、表2に示す内容を参照し、伝送フレーム生成部802に4chのオーディオデータの格納位置を指示する。
伝送フレーム生成部802では、システムコントローラ804の指示に従い、4chのオーディオデータを所定の位置に格納する。また、タイミング生成部805の指示に従い、スタートコード601、タイミング補正コード及びストップコード606を設定し、フレームヘッダ607及びフレームテーラ608を付加して図6に示す伝送フレームを生成する。そして、送信部803が生成された伝送フレームを、伝送路106を介して中継ノード102の受信部701に送信し、受信部701から図9に示す(A)の伝送フレームが出力される。ここで、伝送フレームの領域609〜611には、タイミング補正コードが格納されている。
一方、中継ノード102では、受信部701が伝送フレームのフレームヘッダ607で同期を確立した後、受信した伝送フレームをコード検出部704及び中継処理部702に出力する。そして、コード検出部704が、受信部701から出力された伝送フレームのスタートコード601を検出し、スタートコード601に続くオーディオデータ602を中継ノード102宛てのデータとしてデータバッファ706に格納する。この格納に際し、データカウンタ705がデータのカウントを行い、オーディオデータ602の全データがデータバッファ706に格納されたことを確認する。
中継処理部702では、受信部701から出力された伝送フレームのスタートコード601をヌルコード901に書き換える。そして、コード検出部704から指示されたタイミング補正コードの領域609にスタートコード601を設定し、送信部703に出力する。
送信部703では、中継処理部702で中継処理された伝送フレームを、伝送路107を介して中継ノード103の受信部701に送信する。このとき、中継ノード103にて受信、中継伝送、送信などの処理のために生じる伝送遅延のクロック数をNとし、これをカウンタ709の1回のカウントアップ値として設定する。
また、中継ノード102のコード検出部704は、引き続き伝送フレーム内のタイミング補正コードの検出を行う。ここで、受信部701からコード検出部704へは、図9に示す(A)の伝送フレームが出力される。従って、コード検出部704は、伝送フレームの領域609〜611に書き込まれた3つのタイミング補正コードを検出する。そして、カウンタ709に対してNbitのカウントアップ指示を3回出力し、カウンタ709がカウント値3Nを保持する。
その後、コード検出部704は、伝送フレーム内のストップコード606の検出を継続し、ストップコード606を検出すると、カウンタ709にカウントダウンを指示する。ここで、中継ノード102の場合、カウンタ709には3Nが設定されている。従って、カウンタ709が3Nのカウントダウンを終了すると、図9に示す時刻Toutで、ボロー信号が発生する。このボロー信号は出力制御部710に出力され、データバッファ706に出力許可信号を出力する。
これにより、図9に示す時刻Toutで、中継ノード102のデータバッファ706からオーディオデータの読み出しが開始され、AMP707を介してスピーカ111から音声が出力される。
中継ノード103では、受信部701が伝送フレームのフレームヘッダ607で同期を確立した後、受信した伝送フレームをコード検出部704及び中継処理部702に出力する。尚、受信部701から出力される伝送フレームは、図9に示す(B)のように、スタートコードがヌルコードに書き換えられ、タイミング補正コードの領域に新たに設定されたものである。コード検出部704が受信部701から出力された伝送フレームのスタートコード601を検出し、スタートコード601に続くオーディオデータ603を中継ノード103宛てのデータとしてデータバッファ706に格納する。
ここで、中継処理部702が、中継ノード102の中継処理と同様に、オーディオデータ603の最後尾に隣接するタイミング補正コードをスタートコード601に書き換え、前のスタートコード位置にヌルコード901を書き込む。
そして、送信部703では、中継処理部702で中継処理された伝送フレームを、伝送路108を介して中継ノード104の受信部701に送信する。
また、中継ノード103のコード検出部704は、引き続き伝送フレーム内のタイミング補正コードの検出を行う。ここで、受信部701からコード検出部704へは、図9に示す(B)の伝送フレームが出力される。従って、コード検出部704は、伝送フレームの領域610及び611に書き込まれた2つのタイミング補正コードを検出する。そして、カウンタ709に対してNbitのカウントアップ指示を2回出力し、カウンタ709がカウント値2Nを保持する。
その後、コード検出部704は、伝送フレーム内のストップコード606の検出を継続し、ストップコード606を検出すると、カウンタ709にカウントダウンを指示する。ここで、中継ノード103の場合、カウンタ709には2Nが設定されている。従って、カウンタ709が2Nのカウントダウンを終了すると、図9に示す時刻Toutで、ボロー信号が発生する。このボロー信号は出力制御部710に出力され、データバッファ706に出力許可信号を出力する。
これにより、図9に示す時刻Toutで、中継ノード103のデータバッファ706からオーディオデータの読み出しが開始され、AMP707を介してスピーカ112から音声が出力される。
中継ノード104では、受信部701が伝送フレームのフレームヘッダ607で同期を確立した後、受信した伝送フレームをコード検出部704及び中継処理部702に出力する。尚、受信部701から出力される伝送フレームは、図9に示す(C)のように、スタートコードがヌルコードに書き換えられ、タイミング補正コードの位置に新たに設定されたものである。コード検出部704が受信部701から出力された伝送フレームのスタートコード601を検出し、スタートコード601に続くオーディオデータ604を中継ノード104宛てのデータとしてデータバッファ706に格納する。
ここで、中継処理部702が、中継ノード102及び103の中継処理と同様に、オーディオデータ604の最後尾に隣接するタイミング補正コードをスタートコード601に書き換え、前のスタートコード位置にヌルコード901を書き込む。
そして、送信部703では、中継処理部702で中継処理された伝送フレームを、伝送路109を介して終端ノード105の受信部701に送信する。
また、中継ノード104のコード検出部704は、引き続き伝送フレーム内のタイミング補正コードの検出を行う。ここで、受信部701からコード検出部704へは、図9に示す(C)の伝送フレームが出力される。従って、コード検出部704は、伝送フレームの領域611に書き込まれた1つのタイミング補正コードを検出する。そして、カウンタ709に対してNbitのカウントアップ指示を1回出力し、カウンタ709がカウント値Nを保持する。
その後、コード検出部704は、伝送フレーム内のストップコード606の検出を継続し、ストップコード606を検出すると、カウンタ709にカウントダウンを指示する。ここで、中継ノード104の場合、カウンタ709にはNが設定されている。従って、カウンタ709が1Nのカウントダウンを終了すると、図9に示す時刻Toutで、ボロー信号が発生する。このボロー信号は出力制御部710に出力され、データバッファ706に出力許可信号を出力する。
これにより、図9に示す時刻Toutで、中継ノード104のデータバッファ706からオーディオデータの読み出しが開始され、AMP707を介してスピーカ113から音声が出力される。
終端ノード105では、受信部701が伝送フレームのフレームヘッダ607で同期を確立した後、受信した伝送フレームをコード検出部704に出力する。尚、受信部701から出力される伝送フレームは、図9に示す(D)のように、スタートコードがヌルコードに書き換えられ、タイミング補正コードの位置に設定されたものである。コード検出部704が、受信部701から出力された伝送フレームのスタートコード601を検出し、スタートコード601に続くオーディオデータ605を終端ノード105宛てのデータとしてデータバッファ706に格納する。
また、終端ノード105のコード検出部704は、引き続き伝送フレーム内のストップコード606の検出を行う。その後、ストップコード606を検出すると、コード検出部704はデータバッファ706からオーディオデータの読み出しを開始し、AMP707を介してスピーカ114に出力する。
第2の実施形態によれば、タイミング補正コードを用いて、各ノードでの中継伝送時の遅延クロック数に相当する補正情報をデータの中継伝送時に設定することにより、各中継ノード及び終端ノードでデータの出力を同時に開始させることが可能となる。
[第3の実施形態]
次に、図面を参照しながら本発明に係る第3の実施形態を詳細に説明する。第3の実施形態は、スタートコードを書き換える代わりに、データ取得位置を示すポインタコード、位置指定コード及び区切りコードを用いて中継ノード及び終端ノードが取得すべきデータ位置を指定するものである。
尚、第3の実施形態におけるネットワークシステムの構成は、第1の実施形態の構成と同じであるが、マスタノード、中継ノード及び終端ノードの構成は異なる。マスタノード及び中継ノードの構成及び動作は更に後述する。
図10は、第3の実施形態における伝送フレームの構成の一例を示す図である。図10において、1001はポインタコードであり、中継ノード102〜104及び終端ノード105はこのポインタコード1001に続く位置指定コードを参照して自ノードのデータ取り込み位置を判別する。
1002〜1005はそれぞれ中継ノード102〜104及び終端ノード105宛てに配置されたオーディオデータである。1006〜1008は第1の実施形態で説明した図2に示す206〜208に相当するものであり、その説明は省略する。
1009は位置指定コードであり、このコードの下位2Bitの値が中継ノード102〜104及び終端ノード105が取り込むべき位置を示す。1010〜1013は区切りコードであり、中継ノード102〜104及び終端ノード105宛てのオーディオデータを区切るコードである。
ここで、位置指定コード1009の値がPである場合、伝送フレームの先頭から数えて、P番目の区切りコードと次の区切りコードに挟まれたデータが当該中継ノード又は終端ノードが取得すべきデータとなる。位置指定コード1009の値は、伝送フレームの伝送時に初期値として1が設定されており、中継ノード102〜104が中継伝送時にその値をインクリメントする。
また、第3の実施形態における伝送フレームは、以下の表4に示すような4B5B符号が用いられる。即ち、オーディオデータに関しては、4bitデータの最上位ビット(bit5)に0を付加し、下位4bitは符号化前の元のオーディオデータの4bitを用い、5bitのデータに変換される。一方、オーディオデータ以外のコードに関しては、最上位(bit5)が1である符号が割り当てられる。
次に、第3の実施形態における中継ノード102〜104及び終端ノード105の構成及び動作を説明する。
図11は、第3の実施形態における中継ノードの構成の一例を示すブロック図である。図11に示すように、中継ノードは、受信部1101、中継処理部1102、送信部1103、コード検出部1104、データカウンタ1105、データバッファ1106、及びAMP307で構成される。ここで、受信部1101、送信部1103、データバッファ1106、AMP1107は、第1の実施形態で説明した受信部301、送信部303、データバッファ306、AMP307と同様に機能する。
中継処理部1102は、受信部1101から出力された伝送フレームの位置指定コード1009の値をコード検出部1104の指示によりインクリメントし、送信部1103に出力する。
コード検出部1104は、受信部1101から出力された伝送フレームから、ポインタコード1001、位置指定コード1009、及び区切りコード1010〜1013を検出する。まず、ポインタコード1001を検出すると、ポインタコード1001に隣接する位置指定コード1009の値を読み取って記憶する。次に、区切りコード1010〜1013の検出を行い、検出した区切りコードの数が記憶した位置指定コード1009の値と等しくなると、その区切りコードに隣接するオーディオデータを自ノード宛てのデータとしてデータバッファ1106に取り込む。
また、コード検出部1104は、データカウンタ1105を介して中継処理部1102に位置指定コード1009の値をインクリメントするように指示する。そして、ストップコード1006を検出すると、データバッファ1106に書き込まれたオーディオデータを読み出し、AMP1107を介してスピーカに出力する。
データカウンタ1105は、受信部1101で受信するデータの量をカウントすることにより、データバッファ1106に書き込む自ノード宛てのデータ量を制御する。そして、コード検出部1104から指示された位置指定コード1009の値のインクリメントを中継処理部1102に通知する。
次に、図11に示す中継ノードへ伝送フレームを送信する第3の実施形態におけるマスタノードの構成及び動作を、図12を用いて説明する。
図12は、第3の実施形態におけるマスタノードの構成の一例を示すブロック図である。図12に示すように、マスタノードは、サラウンド処理部1201、伝送フレーム生成部1202、送信部1203、及びシステムコントローラ1204で構成される。ここで、サラウンド処理部1201、送信部1203、システムコントローラ1204は、第1の実施形態のサラウンド処理部401、送信部403、及びシステムコントローラ404と同様に機能する。
伝送フレーム生成部1202は、システムコントローラ1204の指示に従い、中継ノード102〜104及び終端ノード105の接続順に対応する所定のオーディオデータを伝送フレームに配置する。そして、ポインタコード1001、位置指定コード1009及び区切りコード1010〜1013を設定し、フレームヘッダ1007及びフレームテーラ1008を付加し、図10に示す伝送フレームを生成する。
ここで、第3の実施形態におけるマスタノード101、中継ノード102〜104及び終端ノード105の動作を、図1及び図10〜図12を用いて説明する。
マスタノード101がオーディオデータ源110から2chオーディオデータを入力すると、サラウンド処理部1201が右前方、右後方、左前方、左後方の4chのオーディオデータを生成し、伝送フレーム生成部1202に出力する。システムコントローラ1204は、表2に示す内容を参照し、伝送フレーム生成部1202に4chのオーディオデータの格納位置を指示する。
伝送フレーム生成部1202では、システムコントローラ1204の指示に従い、4chのオーディオデータを所定の位置に格納する。また、ポインタコード1001、位置指定コード1009及び区切りコード1010〜1013を設定し、フレームヘッダ1007及びフレームテーラ1008を付加し、図10に示す伝送フレームを生成する。そして、生成された伝送フレームを送信部1203が伝送路106を介して中継ノード102の受信部1101に送信する。
一方、中継ノード102では、受信部1101が、伝送フレームのフレームヘッダ1007で同期を確立した後、受信した伝送フレームをコード検出部1104及び中継処理部1102に出力する。そして、コード検出部1104がポインタコード1001を検出すると、ポインタコード1001に隣接する位置指定コード1009の値を読み取って記憶する。引き続き、コード検出部1104は記憶した位置指定コード1009の値と等しい数だけ伝送フレームから区切りコード1010〜1013の検出を行う。
つまり、中継ノード102の場合には、位置指定コード1009の値が「1」なので、区切りコード1010(1回目)に隣接するオーディオデータ1002を自ノード宛てのデータとしてデータバッファ1106に取り込む。この取り込みに際し、データカウンタ1105がデータのカウントを行い、オーディオデータ1002の全てがデータバッファ1106に格納されたことを確認する。
また、コード検出部1104はデータカウンタ1105を介して中継処理部1102に位置指定コード1009の値をインクリメントするよう指示する。これにより、中継処理部1102では、受信部1101から出力された伝送フレームの位置指定コード1009の値(下位2bit)をインクリメントし、「2」として送信部1103に出力する。
尚、送信部1103の動作及びコード検出部1104がストップコード1006を検出した際の動作は、第1の実施形態と同様である。
中継ノード103では、受信部1101が、伝送フレームのフレームヘッダ1007で同期を確立した後、受信した伝送フレームをコード検出部1104及び中継処理部1102に出力する。そして、コード検出部1104がポインタコード1001を検出すると、ポインタコード1001に隣接する位置指定コード1009の値を読み取って記憶する。引き続き、コード検出部1104は記憶した位置指定コード1009の値と等しい数だけ伝送フレームから区切りコード1010〜1013の検出を行う。
つまり、中継ノード103の場合には、位置指定コード1009の値が「2」なので、区切りコード1011(2回目)に隣接するオーディオデータ1003を自ノード宛てのデータとしてデータバッファ1106に取り込む。この取り込みに際し、データカウンタ1105がデータのカウントを行い、オーディオデータ1002の全てがデータバッファ1106に格納されたことを確認する。
また、コード検出部1104はデータカウンタ1105を介して中継処理部1102に位置指定コード1009の値をインクリメントするよう指示する。これにより、中継処理部1102では、受信部1101から出力された伝送フレームの位置指定コード1009の値(下位2bit)をインクリメントし、「3」として送信部1103に出力する。
尚、送信部1103の動作及びコード検出部1104がストップコード1006を検出した際の動作は、第1の実施形態と同様である。
中継ノード104では、受信部1101が、伝送フレームのフレームヘッダ1007で同期を確立した後、受信した伝送フレームをコード検出部1104及び中継処理部1102に出力する。そして、コード検出部1104がポインタコード1001を検出すると、ポインタコード1001に隣接する位置指定コード1009の値を読み取って記憶する。引き続き、コード検出部1104は記憶した位置指定コード1009の値と等しい数だけ伝送フレームから区切りコード1010〜1013の検出を行う。
つまり、中継ノード104の場合には、位置指定コード1009の値が「3」なので、区切りコード1012(3回目)に隣接するオーディオデータ1004を自ノード宛てのデータとしてデータバッファ1106に取り込む。この取り込みに際し、データカウンタ1105がデータのカウントを行い、オーディオデータ1004の全てがデータバッファ1106に格納されたことを確認する。
また、コード検出部1104はデータカウンタ1105を介して中継処理部1102に位置指定コード1009の値をインクリメントするよう指示する。これにより、中継処理部1102では、受信部1101から出力された伝送フレームの位置指定コード1009の値(下位2bit)をインクリメントし、「4」として送信部1103に出力する。
尚、送信部1103の動作及びコード検出部1104がストップコード1006を検出した際の動作は、第1の実施形態と同様である。
終端ノード105では、受信部1101が、伝送フレームのフレームヘッダ1007で同期を確立した後、受信した伝送フレームをコード検出部1104及び中継処理部1102に出力する。そして、コード検出部1104がポインタコード1001を検出すると、ポインタコード1001に隣接する位置指定コード1009の値を読み取って記憶する。引き続き、コード検出部1104は記憶した位置指定コード1009の値と等しい数だけ伝送フレームから区切りコード1010〜1013の検出を行う。
つまり、終端ノード105の場合には、位置指定コード1009の値が「4」なので、区切りコード1013(4回目)に隣接するオーディオデータ1005を自ノード宛てのデータとしてデータバッファ1106に取り込む。この取り込みに際し、データカウンタ1105がデータのカウントを行い、オーディオデータ1005の全てがデータバッファ1106に格納されたことを確認する。
尚、送信部1103の動作及びコード検出部1104がストップコード1006を検出した際の動作は、第1の実施形態と同様である。
第3の実施形態によれば、伝送フレームの位置指定コードの下位2bitの値に従ってオーディオデータを自ノード宛てのデータとして取り込むことができ、第1の実施形態と同様な効果を得ることができる。
[第4の実施形態]
次に、図面を参照しながら本発明に係る第4の実施形態を詳細に説明する。第4の実施形態は、第2の実施形態の中継ノードで中継伝送遅延が発生する場合に、伝送路の一部が他の伝送路と異なり、中継伝送遅延が異なる場合である。
図13は、第4の実施形態におけるネットワークシステムの構成の一例を示す図である。図1に示す構成と同様に、1個のマスタノードからデイジーチェーン状に、3個の中継ノード及び1個の終端ノードが接続されている。尚、図13では、伝送路3108が他の伝送路と異なり、無線の伝送路が用いられている。
図13において、図1と同じ機能を持つものには同じ符号を付し、その説明は割愛する。1301はマスタノードであり、生成する伝送フレームが後述する図14に示す構成である点が図1に示すマスタノード101と異なる。
1303は中継ノードであり、送信部が無線送信部を用いている点及びコード検出部が図14に示す伝送フレーム構成に対応している点が中継ノード102と異なる。
1304は中継ノードであり、受信部が無線受信部を用いている点及びコード検出部が図14に示す伝送フレーム構成に対応している点が中継ノード102と異なる。
1308は無線伝送路であり、無線伝送路を用いるために、中継ノード1303、1304にはそれぞれ無線送信部及び無線受信部が搭載される。そのため、他の中継ノードでの伝送遅延と異なる遅延時間が発生する。
図14は、第4の実施形態における伝送フレームの構成の一例を示す図である。この例では、中継伝送での伝送遅延時間が中継ノードで異なることに対応して複数のタイミング補正コードを用いている。
図14において、1401〜1408は、第2の実施形態で説明した図6に示す601〜608に相当する。1409〜1411はタイミング補正コード又はスタートコードを書き込むための領域であり、第2の実施形態と同様に、マスタノード1301から送信された際には、タイミング補正コードが書きこまれている。そして、中継ノードにおける中継処理で、随時、スタートコード1401に書き換えられる。
尚、タイミング補正コードには、伝送路106、107及び109の伝送遅延を補正するタイミング補正コードAと、無線伝送路1308の伝送遅延を補正するタイミング補正コードBの2種類のコードが用いられる。図14に示す領域1409及び1411がタイミング補正コードAであり、領域1410がタイミング補正コードBである。
また、第4の実施形態における伝送フレームは、以下の表5に示すような4B5B符号が用いられる。
次に、図13に示す中継ノード1303と1304の構成及び動作を説明する。尚、中継ノード102と終端ノード105は、第2の実施形態と同様な構成である。
図15は、第4の実施形態における中継ノード1303の構成の一例を示すブロック図である。ここで、図15に示す1501〜1510は、第2の実施形態で説明した図7に示す701〜710に相当する。ただし、1503は無線送信部であり、中継処理部1502から出力される伝送フレームを、無線伝送路1308を介して下流方向の中継ノード1304に出力する。
図16は、第4の実施形態における中継ノード1304の構成の一例を示すブロック図である。ここで、図16に示す1601〜1610は、第2の実施形態で説明した図7に示す701〜710に相当する。ただし、1601は無線受信部であり、無線伝送路1308を介して上流方向の中継ノード1303から入力される伝送フレームを受信する。
また、中継ノードのコード検出部は、第2の実施形態で説明した図7に示すコード検出部704と次の点で相違する。即ち、伝送フレームからタイミング補正コードBを検出した場合、カウンタに対して中継ノード1303から中継ノード1304への中継伝送に要するクロック数に応じた値(P)のカウントアップを指示する機能が付加されている。
次に、第4の実施形態におけるマスタノード1301、中継ノード102、1303、1304及び終端ノード105の動作を説明する。図17は、第4の実施形態における伝送フレームを中継する中継ノードの処理を説明するための図である。
第2の実施形態と同様に、マスタノード1301がオーディオデータ源110から2chオーディオデータの1サンプリングデータ(左右各24bit)を入力する。サラウンド処理部801が右前方、右後方、左前方、左後方の4chのオーディオデータを生成し、伝送フレーム生成部802に出力する。システムコントローラ804は、表2に示す内容を参照し、伝送フレーム生成部802に4chのオーディオデータの格納位置を指示する。
伝送フレーム生成部802では、システムコントローラ804の指示に従い、4chのオーディオデータを所定の位置に格納する。また、タイミング生成部805の指示に従い、スタートコード1401、タイミング補正コードA、タイミング補正コードB、ヌルコード及びストップコード1406を設定する。更に、フレームヘッダ1407及びフレームテーラ1408を付加して図14に示す伝送フレームを生成し、送信部803から伝送路106を介して中継ノード102の受信部701に送信する。ここで、伝送フレームの領域1409及び1411にはタイミング補正コードAが格納されており、領域1410にはタイミング補正コードBが格納されている。
一方、中継ノード102では、第2の実施形態と同様に、受信部701が伝送フレームのフレームヘッダ1407で同期を確立した後、受信した伝送フレームをコード検出部704及び中継処理部702に出力する。そして、コード検出部704が、受信部701から出力された伝送フレームのスタートコード1401を検出し、スタートコード1401に続くオーディオデータ1402を中継ノード102宛てのデータとしてデータバッファ706に格納する。この格納に際し、データカウンタ705がデータのカウントを行い、オーディオデータ1402の全データがデータバッファ706に格納されたことを確認する。
中継処理部702では、受信部701から出力された伝送フレームのスタートコード1401をヌルコード1701に書き換える。そして、コード検出部704から指示されたタイミング補正コードAの領域1409にスタートコード1401を設定し、送信部703に出力する。
送信部703では、中継処理部702で中継処理された伝送フレームを、伝送路107を介して中継ノード1303の受信部1501に送信する。このとき、中継ノード1303及び1304にて受信、中継伝送、送信などの処理のために生じる伝送遅延のクロック数をN及びPとし、カウンタ709のカウントアップ値として設定する。
また、中継ノード102のコード検出部704は、引き続き伝送フレーム内のタイミング補正コードB、Aの検出を行う。ここで、受信部701からコード検出部704へは、図17に示す(A)の伝送フレームが出力される。従って、コード検出部704は、伝送フレームの領域1409〜1411に書き込まれた2つのタイミング補正コードAと1つのタイミング補正コードBを検出する。そして、カウンタ709に対してNbitのカウントアップ指示を2回と、Pbitのカウントアップ指示を1回出力し、カウンタ709がカウント値2N+Pを保持する。
その後、コード検出部704は、伝送フレーム内のストップコード1406の検出を継続し、ストップコード1406を検出すると、カウンタ709にカウントダウンを指示する。ここで、中継ノード102の場合、カウンタ709には2N+Pが設定されている。従って、カウンタ709が2N+Pのカウントダウンを終了すると、図17に示す時刻Toutで、ボロー信号が発生する。このボロー信号は出力制御部710に出力され、データバッファ706に出力許可信号を出力する。
これにより、図17に示す時刻Toutで、中継ノード102のデータバッファ706からオーディオデータの読み出しが開始され、AMP707を介してスピーカ111から音声が出力される。
中継ノード1303では、受信部1501が伝送フレームのフレームヘッダ1407で同期を確立した後、受信した伝送フレームをコード検出部1504及び中継処理部1502に出力する。尚、受信部1501から出力される伝送フレームは、図17に示す(B)のように、スタートコードがヌルコードに書き換えられ、タイミング補正コードAの領域に新たに設定されたものである。コード検出部1504が受信部1501から出力された伝送フレームのスタートコード1401を検出し、スタートコード1401に続くオーディオデータ1403を中継ノード1303宛てのデータとしてデータバッファ1506に格納する。
ここで、中継処理部1502が、中継ノード102の中継処理と同様に、オーディオデータ1403の最後尾に隣接するタイミング補正コードBをスタートコード1401に書き換え、前のスタートコード位置にヌルコード1701を書き込む。
そして、無線送信部1503では、中継処理部1502で中継処理された伝送フレームを、無線伝送路1308を介して中継ノード1304の無線受信部1601に送信する。
また、中継ノード1303のコード検出部1504は、引き続き伝送フレーム内のタイミング補正コードA及びBの検出を行う。ここで、受信部1501からコード検出部1504へは、図17に示す(B)の伝送フレームが出力される。従って、コード検出部1504は、伝送フレームの領域1410及び1411に書き込まれた2つのタイミング補正コードA及びBを検出する。そして、カウンタ1509に対してNbitのカウントアップ指示を1回と、Pbitのカウントアップ指示を1回出力し、カウンタ1509がカウント値N+Pを保持する。
その後、コード検出部1504は、伝送フレーム内のストップコード1406の検出を継続し、ストップコード1406を検出すると、カウンタ1509にカウントダウンを指示する。ここで、中継ノード1303の場合、カウンタ1509にはN+Pが設定されている。従って、カウンタ1509がN+Pのカウントダウンを終了すると、図17に示す時刻Toutで、ボロー信号が発生する。このボロー信号は出力制御部1510に出力され、データバッファ1506に出力許可信号を出力する。
これにより、図17に示す時刻Toutで、中継ノード1303のデータバッファ1506からオーディオデータの読み出しが開始され、AMP1507を介してスピーカ112から音声が出力される。
中継ノード1304では、無線受信部1601が伝送フレームのフレームヘッダ1407で同期を確立した後、受信した伝送フレームをコード検出部1604及び中継処理部1602に出力する。尚、無線受信部1601から出力される伝送フレームは、図17に示す(C)のように、スタートコードがヌルコードに書き換えられ、タイミング補正コードBの位置に新たに設定されたものである。コード検出部1604が無線受信部1601から出力された伝送フレームのスタートコード1401を検出し、スタートコード1401に続くオーディオデータ1404を中継ノード1304宛てのデータとしてデータバッファ1606に格納する。
ここで、中継処理部1602が、中継ノード102及び1303の中継処理と同様に、オーディオデータ1404の最後尾に隣接するタイミング補正コードAをスタートコード1401に書き換え、前のスタートコード位置にヌルコード1701を書き込む。
そして、送信部1603では、中継処理部1602で中継処理された伝送フレームを、伝送路109を介して終端ノード105の受信部701に送信する。
また、中継ノード1304のコード検出部1604は、引き続き伝送フレーム内のタイミング補正コードAの検出を行う。ここで、無線受信部1601からコード検出部1604へは、図17に示す(C)の伝送フレームが出力される。従って、コード検出部1604は、伝送フレームの領域1411に書き込まれた1つのタイミング補正コードAを検出する。そして、カウンタ1609に対してNbitのカウントアップ指示を1回出力し、カウンタ1609がカウント値Nを保持する。
その後、コード検出部1604は、伝送フレーム内のストップコード1406の検出を継続し、ストップコード1406を検出すると、カウンタ1609にカウントダウンを指示する。ここで、中継ノード1304の場合、カウンタ1609にはNが設定されている。従って、カウンタ1609がNのカウントダウンを終了すると、図17に示す時刻Toutで、ボロー信号が発生する。このボロー信号は出力制御部1610に出力され、データバッファ1606に出力許可信号を出力する。
これにより、図17に示す時刻Toutで、中継ノード1304のデータバッファ1606からオーディオデータの読み出しが開始され、AMP1607を介してスピーカ113から音声が出力される。
終端ノード105では、第2の実施形態と同様に、受信部701が伝送フレームのフレームヘッダ1407で同期を確立した後、受信した伝送フレームをコード検出部704に出力する。尚、受信部701から出力される伝送フレームは、図17に示す(D)のように、スタートコードがヌルコードに書き換えられ、タイミング補正コードの位置に新たに設定されたものである。コード検出部704が、受信部701から出力された伝送フレームのスタートコード1401を検出し、スタートコード1401に続くオーディオデータ1405を終端ノード105宛てのデータとしてデータバッファ706に格納する。
また、終端ノード105のコード検出部704は、引き続き伝送フレーム内のストップコード1406の検出を行う。その後、ストップコード1406を検出すると、コード検出部704はデータバッファ706からオーディオデータの読み出しを開始し、AMP707を介してスピーカ114に出力する。
第4の実施形態によれば、複数の異なる伝送路を含むシステムの場合にも、第2の実施形態と同様な効果が得られる。例えば、複数のタイミング補正コードを用いて、各ノードでの中継伝送時の遅延クロック数に相当する補正情報をデータの中継伝送時に設定することにより、各中継ノード及び終端ノードでデータの出力を同時に開始させることが可能となる。
以上説明した実施形態によれば、多くのプロトコルを必要とすることなく、簡単な機器構成で実現可能なネットワークシステム、ノード装置、ノード制御方法を提供することが可能となる。
更に、ネットワークシステムを構成するノード装置の出力同期を精度良く実現し、サラウンドシステムへの適応も可能となる。
尚、本発明は複数の機器(例えば、ホストコンピュータ,インターフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用しても良い。
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
この場合、コンピュータ読み取り可能な記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
このプログラムコードを供給するための記録媒体として、例えばフレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合である。
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。