(57)【特許請求の範囲】
【請求項１】
データ伝送装置において通信に用いられる帯域を確保する方法であって、
データの転送に用いられるデータ転送チャンネルの帯域と、前記データの送信に対応したフロー制御情報の転送に用いられるフロー制御チャンネルの帯域との合計帯域を算出する算出ステップと、
前記データ転送チャンネルを用いてデータの転送を開始する際に、前記合計帯域を含む情報を送出する要求ステップと、
を含む帯域確保方法。
【請求項２】
前記算出ステップにおいて、
前記データ転送チャンネルの帯域は、前記データの送信に用いられる帯域であり、
前記フロー制御チャンネルの帯域は、前記フロー制御情報の受信に用いられる帯域であること、を特徴とする請求項１記載の帯域確保方法。
【請求項３】
前記データ転送チャンネルの帯域を算出するステップと、
前記フロー制御チャンネルの帯域を算出するステップとを有する請求項１又は請求項２記載の帯域確保方法。
【請求項４】
請求項１又は請求項２に記載の帯域確保方法を用いて前記データ転送チャンネルの帯域と前記フロー制御チャンネルの帯域との合計帯域の確保を行った後、
前記データ転送チャネルを用いて、前記データの転送を開始するステップを有することを特徴とするデータ転送方法。
【請求項５】
前記通信は、アイソクロノス転送であることを特徴とする請求項１または２に記載の帯域確保方法。
【請求項６】
データ伝送装置であって、
データの転送に用いられるデータ転送チャンネルの帯域と、前記データの送信に対応したフロー制御情報の転送に用いられるフロー制御チャンネルの帯域との合計帯域を算出する算出手段と、
前記合計帯域を含む情報を送出する要求手段と、
前記データ転送チャンネルを用いてデータを送出する送出手段と、
前記フロー制御チャンネルから前記フロー制御を受信する受信手段と、
を含む、データ伝送装置。
【請求項７】
前記算出手段において、
前記データ転送チャンネルの帯域は、前記データの送信に用いられる帯域であり、
前記フロー制御チャンネルの帯域は、前記データの送信に対応したフロー制御情報の受信に用いられる帯域であること、を特徴とする請求項６記載のデータ伝送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＡＶ機器やコンピュータ機器を、アイソクロノス転送機能をもつデジタルインターフェース（例えばＩＥＥＥ１３９４）により接続したときの、各機器間のデータ伝送方法に関するものである。
【０００２】
【従来の技術】
ＡＶ機器やコンピュータ機器を接続するデジタルインターフェースの中で、例えばＩＥＥＥ１３９４は２種類のデータ転送モード、すなわちアシンクロナス（非同期）転送とアイソクロノス（同期）転送とを備えており、100Ｍビット／秒から400Ｍビット／秒といった高速な転送を可能とするものである。
【０００３】
アイソクロノス転送は、データを送受信しあう複数のデータ伝送機器間において、あらかじめ帯域を確保し伝送遅延の保証されている伝送方法である。
【０００４】
アイソクロノス転送は、動画や音声といったマルチメディアデータを転送するためのもので、あらかじめマルチメディアデータ転送用に転送速度を確保し、リアルタイムなデータ転送を可能とする。
【０００５】
一方リアルタイム性の必要のないデータ転送にはアシンクロナス転送を用いる。これらの転送は、１２５μｓｅｃ毎のサイクルにより行われ、アイソクロノス転送については各サイクルの前半で、アシンクロナス転送についてはアイソクロノス転送後に残された時間で実行される。すなわちアイソクロノス転送はアシンクロナス転送よりも優先して実行される。なお１サイクル中に各転送モードが占める割合には制限があり、アイソクロノス転送では100Ｍビット／秒の場合最大1024ｂｙｔｅで１サイクルの約２／３程度、アシンクロナス転送では最大63.5μｓｅｃと規定されている。
【０００６】
アイソクロノス転送においては、一定の転送速度を保証するために転送に先だって、１サイクル中で使用する帯域を帯域の管理を行うノードから取得する必要がある。ノードとはネットワーク上の各機器ごとに割り当てられるものである。帯域の管理を行う機能は、ネットワーク上でマスタとなっている機器のノードに存在する。アイソクロノス転送ではこのノードにより確保した帯域内で、データの転送を行うことができる。
【０００７】
ところで、ＤＶＤ（デジタルビデオディスク）ドライブのような可変転送レートのドライブにデータを記録する場合、アイソクロノス転送の転送速度をある一定以上に設定していると、あるいは固定転送レートの受信機器であっても、その固定転送レートがアイソクロノス転送の転送速度より低い場合には、送信されたデータを受信側の機器で受信できなくなることが生じることがある。
【０００８】
よって、受信側の機器が受信できなくなることを防ぐためには、受信側の機器からデータ送信機器に対して、データの転送を制御するフロー制御をかける必要がある。そのためには、データ転送の開始や停止といったコマンドをアシンクロナス転送により、データ送信機器に送っていた。
【０００９】
【発明が解決しようとする課題】
前述したようにアシンクロナス転送とアイソクロノス転送において、非同期転送であるアシンクロナス転送より、アイソクロノス転送は優先して実行される。すると、各サイクルにおいてデータをパケットと呼ばれるある単位にして転送する際に、アシンクロナス転送はアイソクロノス転送より優先度が低いために、または別のデータによりアシンクロナスパケットの全てを一時的に占有されているときには、所望のサイクルで転送できないことが生じる。
【００１０】
図４は従来の、アシンクロナス転送によるフロー制御を用いた、各サイクルごとのパケットの使用方法を示す図である。図４において、４０１、４０５はサイクルスタートパケットであり、サイクルが開始するときに転送されるものである。４０２、４０６はアイソクロノスパケット、４０３、４０７はアシンクロナスパケットである。
【００１１】
なおこれらのパケットは便宜上それぞれ１つのパケットであるかのように示されているが、実際上はいくつかのパケットに分割されており、概念上１つのパケットであるように記しているに過ぎない。４０４、４０８はアシンクロナスパケットの転送に対して必ず返される応答で、ａｃｋというコードを送ってデータの転送結果を確認する動作を示すものである。
【００１２】
ここで、アイソクロノスパケット４０２、４０６は、チャンネルｉを用いて特定の送信側の機器から特定の受信側の機器へ、あるデータ１を転送しているとする。アシンクロナスパケット４０７はデータ１の転送をフロー制御するコマンドを転送するものとする。アシンクロナスパケット４０３は、それらの機器間でのデータ１の転送とは無関係な機器間でのあるデータ２を転送するものとする。
【００１３】
図４に示されるように、もしアイソクロノス転送されているデータ１をフロー制御するアシンクロナスパケット４０７をサイクルｍで送ろうとしても、すでに別のアシンクロナスパケット４０３に転送の優先権がありアシンクロナス転送の帯域を占領されてしまっているなら、そのサイクルで送ることはできない。図４では、サイクルｍ＋１で、フロー制御用のアシンクロナスパケット４０７に転送権が与えられ、転送が実行されているが、もし他にも優先度の高いアシンクロナス転送がすでに存在するときには、さらにフロー制御を実行できるサイクルが遅くなることになる。その場合、その間もデータ１のアイソクロノス転送は続くことになり、受信側のバッファ容量を超えてしまう等の結果を招くことがある。
【００１４】
【課題を解決するための手段】
本発明は上記問題点を鑑みて、データ受信側がフロー制御をかけようとするときに、確実なタイミングでその命令をデータ送信側に伝送することを可能とするものである。
【００１５】
請求項１記載のデータ伝送方法は、あらかじめ送信側の機器から受信側の機器へデータの転送を開始するときに、受信側の機器から送信側の機器へのフロー制御用にアイソクロノス転送の帯域を確保するものである。
【００１６】
また請求項２記載のデータ伝送方法は、データ転送用とそのデータ転送のフロー制御用の帯域を一括して確保し、その中から必要に応じてデータ転送用とフロー制御用の帯域を割り当てるものである。
【００１７】
また請求項１３記載のデータ伝送装置は、受信側の機器の受信バッファに蓄えられているデータ量に応じて、データをフロー制御する命令をアイソクロノス転送で送信側の機器に伝送するものである。
【００１８】
【発明の実施の形態】
以下に本発明を実施する方法を図面を用いて説明する。
【００１９】
（第１の実施例）
図１は本発明の第１の実施方法のデータ伝送方法を示す図である。図１において、１０１、１０６はサイクルスタートパケット、１０２、１０３、１０７、１０８はアイソクロノスパケット、１０４はアシンクロナスパケット、１０５はアシンクロナスパケット用の応答である。
【００２０】
アイソクロノスパケット１０２、１０７はチャンネルｉを用いて特定の送信側の機器から特定の受信側の機器へ、あるデータ１を転送をしているとする。アイソクロノスパケット１０３、１０８はそれらの機器間におけるデータ１の転送のフローを制御するために、データ転送開始時点でチャンネルｊとしてあらかじめ確保されているものである。すなわちフローを制御する必要がないときには、フロー制御用のアイソクロノスパケットは空のパケットを転送するが、フローを制御する命令を送りたいときには、その命令をこのアイソクロノスパケットにのせて送信する。
【００２１】
つまりあるサイクルｍでフロー制御の命令を送ろうとすれば、確実にそのサイクルで命令の送信を実行することができ、データ１のアイソクロノスパケットによる転送を制御することができる。
【００２２】
（第２の実施例）
図２は本発明の第２の実施方法のデータ伝送方法を示す図である。図２において、図１と異なる２０９と２１０はデータ転送用のパケットとフロー制御用のパケットを一括してセットとして管理する場合の単位である。
【００２３】
すなわち第２の実施方法において、第１の実施方法と異なる点は、データ転送用の帯域とフロー制御用の帯域を合計して、データ転送開始時にあらかじめ一度に確保する点である。その確保した帯域が１セットとして管理される。そしてその１セットの中で、データ転送用とフロー制御用に２つのチャンネルとそれぞれのチャンネルごとの帯域を割り当てる。またデータ転送用とフロー制御用の各パケットのヘッダー領域には、そのパケットがデータ転送用であるかフロー制御用であるかを区別するフラグ領域と、互いにセットであることを示すセットナンバーを表す領域とを付加する。
【００２４】
図３はアイソクロノスパケットのデータ部の前に位置する従来のＣＩＰ（Common Isochronous Packet）ヘッダーに、それらの新しい２つの領域を付加する例を示す図である。
【００２５】
図３において、３０１のＳＩＤはパケットを送信する機器のノードを特定するためにつけられたＩＤである。３０２のＤＢＳは送信データをパケット化するときの大きさの単位であり、３０３のＦＮは送信データをパケット化する時の分割数である。３０４のＱＰＣは送信データをパケットに分割するときに送信データに付加するダミーデータの大きさを示す。３０５のＳＰＨはパケットヘッダーの有無を示すフラグであり、３０６のＲＳＶは将来の拡張用の領域である。
【００２６】
３０７のＤＢＣはパケットの欠落を検出するためのパケットのカウンタであり、３０８のＦＭＴはＭＰＥＧ（Moving Picture Experts Group）などのデータのフォーマットを表すＩＤである。３０９のＤＦが、そのパケットがデータを転送するものかフローを制御するものかを区別する１ビットのフラグである。例えばＤＦが０であるときそのパケットはフローの制御を表すとし、ＤＦが１であるときそのパケットはデータの転送を表すものとする。
【００２７】
また３１０のＳＥＴが、互いに対応するデータ転送とフロー制御とに同じセットナンバーを指定するための領域である。２チャンネルを１組としてセットナンバーを規定するので、ＩＥＥＥ１３９４のようにチャンネルが６４種類である場合、セットナンバーは３２種類すなわち５ビットあれば足りる。３１１のＦＤＦはＦＭＴ３０８で規定されるデータのフォーマットに応じて、必要な情報が付加される領域である。
【００２８】
このように新たに規定されたＣＩＰヘッダーを用いれば、データの転送とフローの制御の向きを逆方向に切り替えるように、データ伝送機器間あるいは別の機器からコマンド要求があった場合にも、容易に対応することができる。すなわちその場合には、データ転送とそれに対応するフロー制御を行う機器が入れ替わるわけであるから、データ転送とそれに対応するフロー制御のパケットのＳＩＤ３０１を互いのものと置き換えればよく、使用するチャンネルや帯域については変更する必要はない。
【００２９】
なお、アイソクロノス転送が行われるとき、ＣＩＰヘッダーよりさらに前に位置する、すなわちパケットヘッダと呼ばれる各パケットの先頭部の領域には、転送が行われているチャンネルを示す領域がある。データ転送とそれに対応したフロー制御の組を特定するためには、ＳＥＴ３１０を用いる代わりに、チャンネルを特定できる領域を確保し、同じ組となる相手のフローのチャンネルナンバーを示してもよい。
【００３０】
またあるいは、ＳＥＴ３１０を用いる代わりに、転送するパケットを受信する機器のノードＩＤを示しても、対応するデータとフロー制御の組を特定できる。なぜならもともと各パケットのＣＩＰヘッダーには、パケットを送信するノードＩＤであるＳＩＤ３０１が付加されているので、別のフローのパケットの受信ノードＩＤを示すものがＳＩＤ３０１と一致すれば、互いに対応していることがわかるからである。
【００３１】
またあるいは、データの種別を表す領域であるＦＭＴ３０８において、以上述べたような方法を用いて、対応するデータ転送とフロー制御の組を特定することもできる。例えば図３においては、ＦＭＴ３０８のところがＤＦ３０９とＳＥＴ３１０に置き換えられ、もとのＤＦ３０９とＳＥＴ３１０のところを含めてＦＤＦ３１１とするということである。
【００３２】
（第３の実施例）
図５は本発明の第３の実施例となるデータ伝送装置について示した図である。図５において、５０１はデータ伝送装置全体の制御を行うホストコントローラ、５０２はホストコントローラとの命令のやりとりを行うホストインターフェースである。５０３、５０４、５０５はデータを蓄えておくバッファであり、５０３はアシンクロナス転送するデータ、５０４はアイソクロノス転送するデータ、５０５は受信したデータを蓄えておくものである。
【００３３】
５０６は受信バッファに蓄えられたデータ量に応じてデータの転送を制御するフロー制御手段である。５１１はケーブルであり、５１０はケーブル５１１が接続するフィジカルレイヤであり、５０９はフィジカルレイヤとの命令のやりとりを行うフィジカルインターフェースであり、５０７は送信データバッファ５０３あるいは５０４に蓄えられたデータをフィジカルインターフェース５０９に送信するトランスミッタであり、５０８はフィジカルインターフェース５０９から受け取ったデータを受信バッファに送るレシーバである。
【００３４】
受信側機器の受信バッファ５０５に蓄えられたデータがある一定量を超えると、受信バッファ５０５があふれることを防ぐためにデータの送信を一時止めるよう送信側機器に伝える必要がある。またその結果受信バッファ５０５に蓄えられたデータが別のある一定量より少なくなると、送信側機器にデータの送信を再開するよう伝える必要がある。そのためフロー制御手段５０６により送られたフロー制御情報が、ホストコントローラ５０１の制御によりフロー制御のコマンドとして、アイソクロノス転送用バッファ５０４へと送信される。
【００３５】
以上こうした構成を用いることによりデータのフロー制御をアイソクロノス転送で行うことが可能となる。
【００３６】
（第４の実施例）
図６は本発明の第４の実施例となるデータ伝送装置について示した図である。図６において６０１はデータ転送帯域算出手段、６０２はフロー制御帯域算出手段、６０３は全体必要帯域算出手段である。
【００３７】
これらは第３の実施例の図５におけるホストコントローラの内部において構成することができる。
【００３８】
データ転送帯域算出手段６０１によって得られるデータのアイソクロノス転送に必要な帯域と、フロー制御帯域算出手段６０２によって得られるフロー制御のアイソクロノス転送に必要な帯域とが、全体必要帯域算出手段６０３によって合算され、全体として必要な帯域を要求する命令が伝送路上を通して、帯域の管理を行うノードへと送られる。その結果、全体として必要な帯域が確保されたならば、データ転送用とフロー制御用にそれぞれの帯域が送受信機器間で割り当てられ、データの転送が開始される。
【００３９】
【発明の効果】
データ転送のフロー制御用にもアイソクロノス転送の１チャンネルを確保する発明によれば、フロー制御をコマンドのアシンクロナス転送により実行するときに起こりうる不確定な遅延を生じることもなく、確実なタイミングでフロー制御用の命令を送信することができる。
【００４０】
また対応するデータ転送とフロー制御で使用する帯域を合わせて確保し、各パケットのヘッダーに対応するデータ転送とフロー制御のセットを特定する領域を設ける発明によれば、対応するデータ転送とフロー制御をチャンネルやノードＩＤにより互いに対応づけて管理することができ、データ転送を実行している機器間にデータ転送の方向を切り替える命令が生じたときにも、それまでに使用していたそれぞれのパケットの送信側ノードを表すフィールドの値を互いのものと置き換えるだけで（受信側ノードを示す領域を用いる方法を用いているときは、その領域も置き換える）、新たに帯域を確保し直す必要もなく、新たな方向でデータ転送とフロー制御を確実に実行することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施例において、データの転送とフロー制御をともにアイソクロノスパケットで行うことを示す図
【図２】本発明の第２の実施例において、アイソクロノス転送するためのデータ転送とフロー制御の帯域を合わせて確保することを示す図
【図３】本発明の第２の実施例において、ＣＩＰヘッダーの構成方法を示す図
【図４】従来のアシンクロナスパケットによるフロー制御を示す図
【図５】本発明の第３の実施例におけるデータ伝送装置の構成を示す図
【図６】本発明の第４の実施例におけるデータ伝送装置の構成を示す図
【符号の説明】
１０１，１０６，２０１，２０６，４０１，４０５  サイクルスタートパケット
１０２，１０３，１０７，１０８，２０２，２０３，２０７，４０２，４０６アイソクロノスパケット
１０４，２０４，４０３，４０７  アシンクロナスパケット
１０５，２０５，４０４，４０８  アシンクロナス転送に対する応答
３０１  送信ノードのＩＤ
３０２  データパケットの大きさ
３０３  データをパケット化するときの分割数
３０４  データをパケット化するときにデータに付加するダミーデータの大きさ
３０５  パケットヘッダーの有無を示すフラグ
３０６  将来用の拡張領域
３０７  パケットカウンタ
３０８  データフォーマット
３０９  データとフロー制御を区別するフラグ
３１０  対応するデータ転送とフロー制御を特定する組のナンバー
３１１  データフォーマットごとに必要な情報を表す領域
５０１  ホストコントローラ
５０２  ホストインターフェース
５０３  アシンクロナス転送用バッファ
５０４  アイソクロノス転送用バッファ
５０５  受信バッファ
５０６  フロー制御手段
５０７  トランスミッタ
５０８  レシーバ
５０９  フィジカルインターフェース
５１０  フィジカルレイヤ
５１１  ケーブル
６０１  データ転送帯域算出手段
６０２  フロー制御帯域算出手段
６０３  全体必要帯域算出手段
【図１】
0003728846.tif 000002
【図２】
0003728846.tif 000003
【図３】
0003728846.tif 000004
【図４】
0003728846.tif 000005
【図５】
0003728846.tif 000006
【図６】
0003728846.tif 000007