(57)【特許請求の範囲】
【請求項１】
データの伝送路上からデータを入力するデータ受信装置において、
データをパケット単位で受信する際に、受信したデータを一時蓄えるバッファと、
前記バッファに蓄えられたデータ量に応じてデータの受信を続けるかどうかを判定するデータ受信判定手段と、
前記データ受信判定手段の結果に応じて、データ送信装置にデータを載せたパケットを送らせるか空のパケットを送らせるかを命令するデータ送信制御要求手段とを備えたことを特徴とするデータ受信装置。
【請求項２】
請求項１記載のデータ受信装置において、
前記データ送信制御要求手段から前記データ送信装置に送られるデータ送信制御命令がデータを載せたパケットを送らせる命令か空のパケットを送らせる命令かの区別を、
前記データ送信制御命令を構成するパケットのデータ列の特定のｎビット（ｎは１以上の整数）のフラグで行うことを特徴とするデータ受信装置。
【請求項３】
データをパケット単位で送信する際に、データを載せたパケットを送るか空のパケットを送るかを制御するための制御情報を記憶するデータ送信制御情報記憶手段と、該データ送信制御情報記憶手段におけるデータ送信制御情報に基づき、前記データを載せたパケットか空のパケットかのいずれか一方を出力することによりデータの送信を行うデータ送信手段とを有するデータ送信装置と、
データをパケット単位で受信する際に、受信したデータを一時蓄えるバッファと、前記バッファに蓄えられたデータ量に応じてデータの受信を続けるかどうかを判定するデータ受信判定手段と、前記データ受信判定手段の結果に応じて、データ送信装置にデータを載せたパケットを送らせるか空のパケットを送らせるかを命令するデータ送信制御要求手段とを有するデータ受信装置とを備え、
前記データ受信装置はデータを載せたパケットを送るか空のパケットを送るかを指示するデータ送信制御命令を発し、
前記データ送信装置は前記データ送信制御命令に基づいて、データ送信制御情報記憶手段が記憶する，データを載せたパケットを送るか空のパケットを送るかを区別するデータ送信制御情報を書き換えるとともに、
当該データ送信装置はパケットを送る毎に、前記データ送信制御情報を参照しながら、データを載せたパケットか空のパケットかのいずれか一方を送ることを特徴とするデータ伝送システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ受信装置およびデータ伝送システムに関し、特に、デジタルＡＶ(Audio Visual)機器やコンピュータ機器を、例えばＩＥＥＥ１３９４インターフェースのような，アイソクロノス転送機能をもつデジタルインターフェースにより接続したときの、各機器間のデータ伝送のプロトコルの改良を図ったものに関する。
【０００２】
【従来の技術】
デジタルＡＶ機器（以下、ＡＶ機器と称す）やコンピュータ機器を接続するデジタルインターフェースの中で、ＩＥＥＥ１３９４インターフェースはリアルタイムなデータ転送を可能とするアイソクロノス（同期）転送モードと、アシンクロナス（非同期）転送モードの両方の転送モードを併せ持つシリアルインターフェースである。アシンクロナス転送は随時発生する，通常のデータを転送するためのものであるのに対し、アイソクロノス転送は、データを一定周期毎に転送するためのもので、動画や音声といったマルチメディアデータのリアルタイム転送に適しており、あらかじめマルチメディアデータ転送用に転送速度を確保し、伝送遅延量を保証したデータ転送を可能にするものである。このアイソクロノス転送によるリアルタイム伝送は８ｋＨｚ、即ち１２５μｓごとのサイクルにより、パケット化されたデータを転送する。
【０００３】
このＩＥＥＥ１３９４インターフェースは、図６に示すような３つのレイヤによって定義されている。その３つのレイヤとは、バスと電気的信号との物理的インターフェース等を行うフィジカルレイヤＰＬ、パケットの送受信等を行うリンクレイヤＬＬ、アシンクロナスデータに関する処理等を行うトランザクションレイヤＴＬである。
【０００４】
なお、フィジカルレイヤＰＬにおいて、ＩＦは媒体（バス）とのインターフェースを行うインターフェース部、ＡＢはバスのアービトレーションを行うアービトレーション部、ＥＤは信号のエンコードおよびデコードを行うエンコードおよびデコード部である。また、リンクレイヤＬＬにおいて、ＰＲはパケット受信を行うパケット受信部、ＰＳはパケット送信を行うパケット送信部、ＣＣは送受信のサイクル制御を行うサイクル制御部である。さらに、トランザクションレイヤＴＬの側において、ＢＭはバスの管理および制御を行うバス管理制御部、ＮＣはノードの制御を行うノード制御部、ＩＲＭはアイソクロノス資源の管理を行うアイソクロノス資源管理部、ＢＭＧはバスの管理を行うバスマネージャである。
そしてこのＩＥＥＥ１３９４インターフェース上にオーディオやビデオデータを流す規格として、例えばＩＥＣ１８８３があり、これはＡＶプロトコルとも呼ばれている。
【０００５】
図７はこのＡＶプロトコルのパケットフォーマットを示すもので、７０１はパケットヘッダ、７０２はパケットヘッダ７０１に対するＣＲＣ(Cycric Redundancy Check）、７０３はＣＩＰヘッダ、７０４はデータ、７０５はデータ７０４に対するＣＲＣである。そしてこれらのうちでパケットヘッダ７０１，ヘッダＣＲＣ７０２，データ７０４，データＣＲＣ７０５がＩＥＥＥ１３９４インターフェース上に流れるアイソクロノス転送用のデータパケットのフォーマットであり、ＡＶプロトコルはこれにさらに、ＣＩＰヘッダ７０３を付加したものである。
【０００６】
このＣＩＰヘッダ７０３はデータフィールドの先頭にＡＶ信号特有の情報やヘッダを付加したものであり、ＣＩＰヘッダ７０３において、ＳＩＤは送信ノードのノードＩＤ、ＤＢＳはパケット化の単位、ＦＮはパケット化を行う前の分割数、ＱＰＣは分割するために加えたquadlet 数、ＳＰＨはソースパケットヘッダのフラグ、ＤＢＣはパケットの欠落を検出するためのカウンタ、ＦＭＴは信号フォーマットのＩＤ、５０／６０は１秒間のフィールド数、ＳＴＹＰＥはビデオのフォーマットがＳＤまたはＨＤのいずれに該当するかの情報をそれぞれ示すものである。
【０００７】
このＩＥＣ１８８３において、アイソクロノス転送によりデータをやりとりする，送信側の機器と受信側の機器との接続管理を行っているのは、各機器ごとに割り当てられた仮想的なプラグの概念とプラグコントロールレジスタ（ＰＣＲ）である。プラグは各機器に複数個存在することができ、プラグを介してデータの入出力が行われると考える。
【０００８】
ある機器からアイソクロノス転送により送信されるデータは、その機器のアウトプットプラグを通ってバス上のアイソクロノスチャンネルを通過し、受信側のインプットプラグを通って別の機器へと転送される。アウトプットプラグを管理するものが、アウトプットプラグコントロールレジスタ（ｏＰＣＲ）とアウトプットマスタープラグレジスタ（ｏＭＰＲ）であり、インプットプラグを管理するものがインプットプラグコントロールレジスタ（ｉＰＣＲ）とインプットマスタープラグレジスタ（ｉＭＰＲ）である。アウトプットマスタープラグレジスタとインプットマスタープラグレジスタは、対応する機器でそれぞれ出力あるいは入力される全てのアイソクロノス転送データに共通な属性を制御するものであり、アウトプットプラグコントロールレジスタとインプットプラグコントロールレジスタは、個々のアイソクロノス転送データの属性を制御するものである。
【０００９】
そして、コンピュータやＡＶ機器等のデータ伝送機器間をデータ転送する接続形態としては、ある機器の１つのインプットプラグと別の機器の１つのアウトプットプラグを接続するポイントツーポイントコネクション(point-to-point connection）と、ある機器の１つのインプットプラグあるいはアウトプットプラグとバス上のチャンネルとを接続するブロードキャストコネクション（broadcast connection）とがある。ブロードキャストコネクションは１つの機器が同時に複数の機器とのデータのやりとりをするときに用いられる。
【００１０】
次に図８に例えばＩＥＥＥ１３９４インターフェースに２つのＡＶ機器を接続する場合の、プラグによる接続を行った状態のイメージを示す。なおプラグは前述のように概念であって物理的に存在するものではなく、各機器がデータの入出力を行う際の仮想的な入出力点を表すものである。
【００１１】
図８において、８０１はＩＥＥＥ１３９４のバスを表し、８０２はアイソクロノス転送が行われるチャンネルを表す。８０３、８０８、８０９はインプットプラグコントロールレジスタであり、仮想的にここにデータ入力用のインプットプラグが存在すると考える。８０４、８１０はインプットマスタープラグレジスタであり、各機器ごとのインプットプラグコントロールレジスタに共通な属性を管理する。８０５はアウトプットプラグコントロールレジスタであり、仮想的にここにデータ出力用のアウトプットプラグが存在すると考える。８０６はアウトプットマスタープラグレジスタであり、各機器ごとのアウトプットプラグコントロールレジスタに共通な属性を管理する。なおインプットプラグコントロールレジスタ、アウトプットプラグコントロールレジスタに付けられた番号［０］，［１］は個々のレジスタを区別するためのものである。また、８０７、８１１はこのＩＥＥＥ１３９４インターフェースを有する機器の一例としてのＡＶ機器を表す。
【００１２】
なお、図８におけるこれらプラグコントロールレジスタの配置はその一例であり、この図８のように、ＩＥＥＥ１３９４インターフェースを有する機器が共にＡＶ機器であり、かつ２つのＡＶ機器の一方が入力専用で他方が入出力兼用、という配置に限定するものでは全くない。
【００１３】
図９はＩＥＥＥ１３９４インターフェースにおけるパケット転送の様子を示すもので、図９において、ＣＹＳはサイクル・スタートを表わすパケット、ＣＨ１，ＣＨ２，…，ＣＨｎはアイソクロノス転送されるアイソクロノス・パケットであり、その，チャネル１，チャネル２，…，チャネルｎに相当するパケットを示すものである。なお、ＰＡ，ＰＢはアシンクロナス転送すべきデータが発生した時に限り追加されるアシンクロナス・パケットであり、その，パケットａ，パケットｂに相当するパケットを示すものである。また、ＡＣＫはこれらアシンクロナス・パケットの送達確認のためのアクノリッジである。
【００１４】
次に、図８の動作について説明する。送信側ＡＶ機器８０７で発生したマルチメディアデータは、図９に示すようなデータパケットとなり、アウトプットプラグコントロールレジスタ８０５に仮想的に存在するアウトプットプラグを介してＩＥＥＥ１３９４バス８０１のアイソクロノスチャンネル８０２に送出される。アイソクロノスチャンネル８０２に乗ったデータパケットは当該ＩＥＥＥ１３９４バス８０１に接続された全ての機器に到達するが、そのデータパケットに含まれるヘッダによって受信されるべき機器が特定され、この図８の例では、受信側ＡＶ機器８１１により、そのインプットプラグコントロールレジスタ８０８に仮想的に存在するインプットプラグを介して受信される。
次に図１０に、コンピュータやＡＶ機器等の，ＩＥＥＥ１３９４インターフェースを備えたデータ伝送機器における、当該インターフェース部分の実際の内部構成を示す。図１０において、１００１は或るデータ伝送機器に設けられたＩＥＥＥ１３９４インターフェース全体の制御を行うホストコントローラ装置であり、ＩＥＥＥ１３９４インターフェースで実際に行われる，リード、ライトのトランザクションを管理するトランザクションレイヤに相当する機能を実行する。
【００１５】
１０００はホストコントローラ装置１００１側がその内部のレジスタを読み書きすることによりＩＥＥＥ１３９４規格に基づいたデータ転送を行うリンクレイヤ装置である。これはＩＥＥＥ１３９４インターフェースのリンクレイヤに相当するものであり、ホストインターフェース１００２、バッファ部１０００ａ、送受信部１０００ｂ、レジスタ１０１１、コントローラ部１０１２から構成され、例えば１つのＩＣチップにより実現される。１００２はホストコントローラ装置１００１との命令のやりとりを行うホストインターフェースである。１０００ａはデータを蓄えておくバッファ部であり、アシンクロナス転送用バッファ１００３、アイソクロノス転送用バッファ１００４、受信バッファ１００５から構成されるものである。このアシンクロナス転送用バッファ１００３はアシンクロナス転送を行うデータを、アイソクロノス転送用バッファ１００４はアイソクロノス転送を行うデータを、受信バッファ１００５は受信したデータを、それぞれ蓄えておくものである。
【００１６】
１０００ｂはデータの送受信を行う送受信部であり、トランスミッタ１００６、レシーバ１００７、フィジカルインターフェース１００８から構成されている。トランスミッタ１００６は送信データバッファ１００３あるいは１００４に蓄えられたデータをフィジカルインターフェース１００８に送信するものであり、レシーバ１００７はフィジカルインターフェース１００８から受け取ったデータを受信バッファ１００５に送るものであり、フィジカルインターフェース１００８はフィジカルレイヤ装置１００９とのデータのやりとりを行うものである。１０１１はレジスタであり、図８で示したプラグコントロールレジスタやマスタープラグレジスタなどを含んでいる。１０１２はレジスタ１０１１の内容に応じてリンクレイヤ装置１０００全体を制御するコントローラ部である。
【００１７】
１０１０は他の機器のＩＥＥＥ１３９４インターフェースとの接続を行うケーブルであり、図８のＩＥＥＥ１３９４バスがこれに相当する。１００９はケーブル１０１０とリンクレイヤ装置１０００とを接続するフィジカルレイヤ装置であり、これはＩＥＥＥ１３９４インターフェースのフィジカルレイヤに相当し、例えば１つのＩＣチップにより実現される。
【００１８】
図１１は図１０のフィジカルレイヤ装置１００９によりＩＥＥＥ１３９４ケーブルに送られる，物理的なレベルでの信号の形式を示すものである。この物理的なレベルでの信号は、データ信号とストローブ信号とが組になってＩＥＥＥ１３９４ケーブルに送出されるものであり、ストローブ信号は、データ信号とこのストローブ信号との排他的論理和をとればクロック信号が再生できるように生成されている。
【００１９】
次に図１０のＩＥＥＥ１３９４インターフェース内部の動作について説明する。ホストコントローラ装置１００１はＡＶ機器等のデータ伝送機器で発生したデータをホストインターフェース１００２を介してリンクレイヤ装置１０００に伝達する。リンクレイヤ装置１０００には送信すべきデータの性質に応じてアシンクロナス転送用バッファ１００３とアイソクロノス転送用バッファ１００４の両者が用意されており、ホストコントローラ装置１００１の制御により，送信すべきデータはその種類に応じてアシンクロナス転送用バッファ１００３とアイソクロノス転送用バッファ１００４のいずれかに蓄積される。次にこのアシンクロナス転送用バッファ１００３やアイソクロノス転送用バッファ１００４に蓄積されたデータをトランスミッタ１００６により、フィジカルインターフェース１００８を介してフィジカルレイヤ装置１００９に向けて送信するが、その際、アシンクロナス転送よりもアイソクロノス転送が優先して実行される。フィジカルレイヤ装置１００９ではこれらのデータを図１１に示すような，実際にケーブル１０１０に乗せる信号形式に変換して、相手の機器のＩＥＥＥ１３９４インターフェースに向けて送り出す。
【００２０】
逆に他の機器のＩＥＥＥ１３９４インターフェースから送出されたデータは、ケーブル１０１０を介してフィジカルレイヤ装置１００９に伝達され、フィジカルレイヤ装置１００９によってリンクレイヤ装置１０００の内部信号形式に変換され、フィジカルインターフェース１００８によってリンクレイヤ装置１０００に取り込まれる。このデータはレシーバ１００７によって受信され、受信バッファ１００５によって蓄積された後、ホストインターフェース１００２を介して当該機器のホストコントローラ装置１００１に伝達され、当該機器内部の他の部分に送られる。
【００２１】
ところで、図１０のレジスタ１０１１、すなわち図８におけるアウトプットプラグコントロールレジスタなどのレジスタは、図１０のコントローラ部によってその内容を参照されることにより、上述のような送受信動作の制御に用いられるが、以下のようなフロー制御にも利用される。
【００２２】
すなわち、図１０において、受信側機器の受信バッファ１００５に蓄えられたデータがある一定量を超えると、受信バッファ１００５があふれることを防ぐためにデータの送信を一時止めるように送信側機器に伝える必要がある。またその結果受信バッファ１００５に蓄えられたデータが上記ある一定量とは別のある一定量より少なくなると、即ち上記ある一定量以下の別の一定量よりさらにデータが少なくなると、送信側機器にデータの送信を再開するように伝える必要がある。
【００２３】
図１２はこのようなフロー制御にも用いられる，従来のアウトプットプラグコントロールレジスタに書き込むべきデータのフォーマットを示すものである。図１２において、１２０１はオンラインフラグ領域であり、対応するアウトプットプラグがオンラインか，オフラインか、即ち接続オン状態か，接続オフ状態かを示すものである。１２０２はブロードキャストコネクションカウンタ領域であり、ＩＥＥＥ１３９４バスに接続された全機器への伝送が可能なブロードキャスト接続があるかどうかを示す。１２０３はポイントツーポイントコネクションカウンタ領域であり、１つのアウトプットプラグに存在するポイントツーポイントコネクションの数を示す。１２０４は将来の機能拡張用の予備領域であり、現状ではその役割は規定されていない。１２０５はアウトプットプラグがアイソクロノスデータ転送するときに使用するバス上のチャンネルナンバーを示すチャンネルナンバー領域である。また１２０６はデータの転送速度を表すデータレート領域、１２０７はアイソクロノス転送する際にデータに付加されるオーバーヘッド量を示すオーバーヘッドＩＤ領域、１２０８はペイロード領域であり、１サイクルごとに転送する純然たるデータ量を示すものである。
【００２４】
また、図１３は従来のインプットプラグコントロールレジスタに書き込むべきデータのフォーマットを示すものである。図１３において、１３０１はオンラインフラグ領域であり、対応するインプットプラグがオンラインか，オフラインか、即ち接続オン状態か，接続オフ状態かを示すものである。１３０２はブロードキャストコネクションカウンタ領域であり、ＩＥＥＥ１３９４バスに接続された全機器への伝送が可能なブロードキャスト接続があるかどうかを示す。１３０３はポイントツーポイントコネクションカウンタ領域であり、１つのインプットプラグに存在するポイントツーポイントコネクションの数を示す。１３０４は将来の機能拡張用の予備領域であり、現状ではその役割は規定されていない。１３０５はインプットプラグがアイソクロノスデータ転送するときに使用するバス上のチャンネルナンバーを示すチャンネルナンバー領域、１３０６も将来の機能拡張用の予備領域である。
【００２５】
このようなプラグコントロールレジスタの内容は、そのレジスタを所有する機器自らが変更することも可能であるが、外部の機器がＩＥＥＥ１３９４インターフェースを通してロックトランザクションを用いて変更することも可能である。なおロックトランザクションとは、リクエスト側から応答側にデータを転送し、応答側の特定のアドレスでデータを処理し、リクエスト側に送り返すものであり、このロックトランザクション用のパケットとしては、例えば、図９に示すような、アイソクロノスデータ用とは別に用意される、アシンクロナスパケットＰＡ等を用いることができる。
【００２６】
次に、以上の各動作をフロー制御の際の動作とともに説明する。既に述べたように、図８において、送信側ＡＶ機器８０７で発生したマルチメディアデータは、図９に示すようなデータパケットとなり、アウトプットプラグコントロールレジスタ８０５に仮想的に存在するアウトプットプラグを介してＩＥＥＥ１３９４バス８０１のアイソクロノスチャンネル８０２に送出される。アイソクロノスチャンネル８０２に乗ったデータパケットは当該ＩＥＥＥ１３９４バス８０１に接続されている全ての機器に到達するが、そのデータパケットに含まれるヘッダによって受信されるべき機器が特定され、ここでは、図８の受信側ＡＶ機器８１１により、そのインプットプラグコントロールレジスタ８０８に仮想的に存在するインプットプラグによって受信される。
【００２７】
図１４に示すように、送信側ＡＶ機器８０７からのデータを受信した受信側ＡＶ機器８１１のコントローラ部１０１２は、ステップ１４０１において、図１０に示す，受信側ＡＶ機器８１１の受信バッファ１００５に蓄えられたデータ量を知ることにより、ステップ１４０２ａにおいて、受信側ＡＶ機器のホストコントローラ装置１００１は受信バッファ１００５のデータ量がある一定量を越えたとき、送信側ＡＶ機器のデータの送信を停止するように判定し、ステップ１４０２ｂにおいて、受信バッファ１００５のデータ量が別のある一定量以下のとき、送信側ＡＶ機器のデータの送信を実行するように判定する。そして、送信側ＡＶ機器のデータの送信を停止するように判定した場合は、ステップ１４０３ａにおいて、受信側ＡＶ機器のホストコントローラ装置１００１はデータの送信の停止を要求するコマンドを発行し、送信側ＡＶ機器のデータの送信を実行するように判定した場合は、ステップ１４０３ｂにおいて、受信側ＡＶ機器のホストコントローラ装置１００１はデータの送信の開始を要求するコマンドを発行する。
【００２８】
受信側ＡＶ機器のホストコントローラ装置１００１によって判定され発行された，データの送信の実行あるいは停止といった要求のコマンドは、ＩＥＥＥ１３９４インターフェースのロックトランザクションにより、図９に示すようなアシンクロナス・パケットＰＡ，ＰＢ等を用いて送信側ＡＶ機器８０７に転送され、送信側ＡＶ機器のアウトプットプラグコントロールレジスタ８０５のオンラインフラグの内容を直接書き換える。また、受信側ＡＶ機器のホストコントローラ装置１００１によって判定され発行された，データの送信の実行あるいは停止といった要求のコマンドは、当該受信側ＡＶ機器のインプットプラグコントロールレジスタ８０８のオンラインフラグの内容を直接書き換える。
【００２９】
すなわち例えば受信装置のバッファ量が一定以上となり、データの送信を停止するときは、ステップ１４０４ａにおいて、送信側で図１２に示す，アウトプットプラグコントロールレジスタ８０５のうちのオンラインフラグ１２０１を“０”とするように設定するとともに、受信側で図１３に示すインプットプラグコントロールレジスタ８０８のうちのオンラインフラグ１３０１を“０”とするように設定する。一方、データの送信を実行するときは、ステップ１４０４ｂにおいて、送信側で図１２に示す，アウトプットプラグコントロールレジスタ８０５のうちのオンラインフラグ１２０１を“１”とするように設定するとともに、受信側で図１３に示すインプットプラグコントロールレジスタ８０８のうちのオンラインフラグ１３０１を“１”とするように設定する。
【００３０】
送信側ＡＶ機器８０７のコントローラ部１０１２はそのアウトプットプラグコントロールレジスタを参照しながらデータの送信を行っているため、ステップ１４０５ａに示すように、アウトプットプラグコントロールレジスタのオンライン制御ビット１２０１がオフ、即ち“０”となった瞬間からデータの送信を停止する。
【００３１】
また、受信側ＡＶ機器８１１のコントローラ部１０１２は、上述のデータの送信の実行あるいは停止といった要求のコマンドによって例えばデータの送信を停止する場合、インプットプラグコントロールレジスタ８０８のうちのオンライン制御ビット１３０１を“０”に書き換える。次いで、インプットプラグコントロールレジスタ８０８のオンライン制御ビットが“０”となった瞬間からデータの受信を停止する。
【００３２】
一方、送信側ＡＶ機器８０７のコントローラ部１０１２は、ステップ１４０５ｂに示すように、アウトプットプラグコントロールレジスタ８０５のオンライン制御ビット１２０１がオン、即ち“１”となった瞬間からデータの送信を開始する。
【００３３】
また、受信側ＡＶ機器８１１のコントローラ部１０１２は、データの送信を開始する場合、インプットプラグコントロールレジスタ８０８のうちのオンライン制御ビット１３０１を“１”に書き換える。次いで、インプットプラグコントロールレジスタ８０８のオンライン制御ビット１３０１が“１”となった瞬間からデータの受信を開始する。
【００３４】
図１５および図１６はこのプラグコントロールレジスタのオンラインフラグ、即ちオンライン制御ビットへのデータの設定によりリンクレイヤ装置のコントローラ部がいかなる制御を行うかを示すものである。
【００３５】
次にこのコントローラ部の動作について説明する。受信側ＡＶ機器では、図１５のステップ１５０１において、図１０のコントローラ部１０１２がレジスタ１０１１の内容を観察しており、ステップ１５０２において、レジスタ１０１１の最上位ビットに位置するオンラインフラグ１３０１の内容が“０”か“１”かを判定する。
【００３６】
次に、コントローラ部１０１２はオンラインフラグ１３０１の内容が“０”となった場合、ステップ１５０３において、送受信部１０００ｂのレシーバ１００７にデータの受信動作を停止させ、オンラインフラグ１３０１の内容が“１”となった場合、ステップ１５０４において、レシーバ１００７にデータの受信動作を開始させる。
【００３７】
また、送信側ＡＶ機器では、図１６のステップ１６０１において、図１０のコントローラ部１０１２がレジスタ１０１１の内容を観察しており、ステップ１６０２において、レジスタ１０１１の最上位ビットに位置するオンラインフラグ１２０１の内容が“０”か“１”かを判定する。
【００３８】
次に、コントローラ部１０１２はオンラインフラグ１２０１の内容が“０”となった場合、ステップ１６０３において、送受信部１０００ｂのトランスミッタ１００６にデータの送信動作を停止させ、オンラインフラグ１２０１の内容が“１”となった場合、ステップ１６０４において、当該トランスミッタ１００６にデータの送信動作を開始させる。
【００３９】
従来のデータ転送方式は以上のように構成されており、通常のデータ送信用のアシンクロナス（非同期）転送モードの他に、マルチメディアデータの転送に最適な転送帯域を保証するアイソクロノス転送モードを有しており、これにより、送信中の画像や音声をとぎれることなく確実に転送することができる。
【００４０】
また、そのバスが、高速のシリアル・バスであり、かつその接続方式が、汎用性の高い，デイジーチェーン接続やノード分岐接続による接続が可能であるため、例えば、図１７に示すように、ワークステーション１７０１やＣＤ−ＲＯＭドライブ１７０２、カメラ１７０３やパソコン（ＰＣ）１７０４、ハードディスクドライブ（ＨＤＤ）１７０５、プリンタ１７０６、スキャナ１７０７といった種々の機器を自由度の高い接続形態で接続することが可能である。
【００４１】
そして、このようにシリアル・バスによって構成されたネットワークに接続された種々の機器（ノード）のうちで最も起動が遅かった機器のＩＥＥＥ１３９４インターフェースが自動的に親のノードとなり、ネットワークに接続された全ての機器のＩＥＥＥ１３９４インターフェースに対してその接続構成の認識や管理等を実行する。このため電源を投入したままで各種の機器をＩＥＥＥ１３９４インターフェースによるネットワークに追加したり取り外したりする、いわゆるプラグアンドプレイが可能となっている。
【００４２】
また、図１８に示すように、パソコン等の１台の機器に様々な周辺機器を接続するような場合、例えばＳＣＳＩ用のＩ／Ｏポート１８０２や、ビデオ信号出力用のＩ／Ｏポート１８０３、オーディオ信号出力用のＩ／Ｏポート１８０４、シリアルＩ／Ｏポート１８０５、電源供給用のポート１８０６、キーボード用のＩ／Ｏポート１８０７、パラレルＩ／Ｏポート１８０８等の，機器毎に異なるＩ／Ｏポートを設けて種々の機器を接続するのが一般的であるが、このＩＥＥＥ１３９４インターフェースを採用することによって、１本のＩＥＥＥ１３９４用のＩ／Ｏポート１８０１によって統一的に入出力を行うことが可能となり、Ｉ／Ｏポートの設置スペースや設置コストの点で大きな改善を図ることが可能となる。
【００４３】
ところで、ＤＶＤ（デジタルビデオディスク）ドライブのような可変転送レートのドライブにデータを記録する場合、アイソクロノス転送の転送速度をある一定以上に設定していたり、あるいは固定転送レートの受信機器であっても、その固定転送レートがアイソクロノス転送の転送速度より低い場合には、受信側のバッファがオーバーフローするため、送信されたデータを受信側の機器で受信できなくなる場合が生じる。
【００４４】
よって、受信側の機器で受信できなくなることを防ぐためには、受信側の機器から送信側の機器に対して、データの転送を制御する，いわゆるフロー制御を行う必要がある。そして、このフロー制御を実現する方法の１つとして、前述したように、アウトプットプラグコントロールレジスタやインプットプラグコントロールレジスタを用いてオンラインフラグ１２０１や１３０１を切り替えることにより、機器間の接続をオンラインにしたりオフラインにしたりする方法がある。
【００４５】
【発明が解決しようとする課題】
しかしながら、この従来のプロトコルによれば、受信側の装置がデータ送信の停止を要求するコマンドを発行すると、送信側はアウトプットコントロールレジスタのオンラインフラグを書き換えるとともに、受信側はインプットコントロールレジスタのオンラインフラグを書き換えるが、その際、送信側には書き換え用のコマンドをロックトランザクション用のパケットを送信して伝送する必要があるため、送信側と受信側とは必ずしも同期して書き換えが行われるものではなく、このため送信側では受信側よりも遅れて書き換えが行われることがある。
【００４６】
即ち、送信側はアウトプットコントロールレジスタのオンラインビットが“０”になった瞬間からデータの送信を停止し、受信側はインプットコントロールレジスタのオンラインビットが“０”になった瞬間からデータの受信を停止するが、送信側の書き換えが遅れて先に受信側がオフラインとなった場合、オンラインからオフラインに切り替わった後にインターフェースに到着したデータはバス上に残ったまま捨てられてしまい、また、オフライン中は一切のパケットは送信されない，という事態に陥る。
【００４７】
これをより具体的に述べると、オフライン中には一切のデータの受信ができなくなるため、オンラインからオフラインに切り替えたときに、バス上に残っているデータが受信機器に到着したとしても、この到着したデータは捨てられてしまい、受信機器においてデータの取りこぼしが生じることがある，という問題があった。
【００４８】
本発明は上記のような従来のものの問題点を鑑みてなされたもので、データ受信側がフロー制御をかけようとするときに、データの取りこぼしを生じることなく容易な方法でフロー制御を実行することができる、データ受信装置およびデータ伝送システムを提供せんとするものである。
【００４９】
【課題を解決するための手段】
本発明の請求項１記載のデータ受信装置は、データの伝送路上からデータを入力するデータ受信装置において、データをパケット単位で受信する際に、受信したデータを一時蓄えるバッファと、前記バッファに蓄えられたデータ量に応じてデータの受信を続けるかどうかを判定するデータ受信判定手段と、前記データ受信判定手段の結果に応じて、データ送信装置にデータを載せたパケットを送らせるか空のパケットを送らせるかを命令するデータ送信制御要求手段とを備えるようにしたものである。
【００５０】
また、本発明の請求項２記載のデータ受信装置は、請求項１記載のデータ受信装置において、前記データ送信制御要求手段から前記データ送信装置に送られるデータ送信制御命令がデータを載せたパケットを送らせる命令か空のパケットを送らせる命令かの区別を、前記データ送信制御命令を構成するパケットのデータ列の特定のｎビット（ｎは１以上の整数）のフラグで行うようにしたものである。
【００５１】
また、本発明の請求項３記載のデータ伝送システムは、データをパケット単位で送信する際に、データを載せたパケットを送るか空のパケットを送るかを制御するための制御情報を記憶するデータ送信制御情報記憶手段と、該データ送信制御情報記憶手段におけるデータ送信制御情報に基づき、前記データを載せたパケットか空のパケットかのいずれか一方を出力することによりデータの送信を行うデータ送信手段とを有するデータ送信装置と、データをパケット単位で受信する際に、受信したデータを一時蓄えるバッファと、前記バッファに蓄えられたデータ量に応じてデータの受信を続けるかどうかを判定するデータ受信判定手段と、前記データ受信判定手段の結果に応じて、データ送信装置にデータを載せたパケットを送らせるか空のパケットを送らせるかを命令するデータ送信制御要求手段とを有するデータ受信装置とを備え、前記データ受信装置はデータを載せたパケットを送るか空のパケットを送るかを指示するデータ送信制御命令を発し、前記データ送信装置は前記データ送信制御命令に基づいて、データ送信制御情報記憶手段が記憶する，データを載せたパケットを送るか空のパケットを送るかを区別するデータ送信制御情報を書き換えるとともに、当該データ送信装置はパケットを送る毎に、前記データ送信制御情報を参照しながら、データを載せたパケットか空のパケットかのいずれか一方を送るようにしたものである。
【００５５】
【発明の実施の形態】
実施の形態１．
本発明の実施の形態１は、フロー制御によりデータの送信を中止すべき時も送信側と受信側の機器間のオンライン状態は維持しておき、送信側でデータパケットに代えて空のパケットを送出することにより、受信側のデータの取りこぼしを防止できるようにしたものである。
【００５６】
以下に、本発明の実施の形態１を図面を用いて説明する。
図１は本発明の実施の形態１によるデータ伝送システムを示し、ＩＥＥＥ１３９４インターフェースに２つのＡＶ機器を接続する場合を例にとり、プラグによる接続のイメージを示しているものである。
【００５７】
図１において、１０１はＩＥＥＥ１３９４のバスを表し、１０２はアイソクロノス転送が行われるチャンネルを表す。１０３、１０８、１０９はインプットプラグコントロールレジスタであり、仮想的にここにデータ入力用のインプットプラグが存在すると考える。１０４、１１０はインプットマスタープラグレジスタであり、各機器ごとのインプットプラグコントロールレジスタに共通な属性を管理する。１０５はアウトプットプラグコントロールレジスタであり、仮想的にここにデータ出力用のアウトプットプラグがあると考える。１０６はアウトプットマスタープラグレジスタであり、各機器ごとのアウトプットプラグコントロールレジスタに共通な属性を管理する。なおインプットプラグコントロールレジスタ、アウトプットプラグコントロールレジスタに付けられた番号［０］，［１］は個々のレジスタを区別するためのものである。また、１０７、１１１はＩＥＥＥ１３９４インターフェースに接続される機器の一例としてのＡＶ機器を表す。
【００５８】
なお、図１におけるこれらのプラグコントロールレジスタの配置は一例であり、この図１のように、ＩＥＥＥ１３９４インターフェースに接続される機器がともにＡＶ機器であり、かつその２つのＡＶ機器の一方が入力専用で他方が入出力兼用、という配置に限定するものでは全くない。
【００５９】
次に、図１の動作について説明する。送信側ＡＶ機器１０７で発生したマルチメディアデータは、図９に示すようなデータパケットとなり、アウトプットプラグコントロールレジスタ１０５に仮想的に存在するアウトプットプラグを介してＩＥＥＥ１３９４バス１０１のアイソクロノスチャンネル１０２に送出される。アイソクロノスチャンネル１０２に乗ったデータパケットは当該ＩＥＥＥ１３９４バス１０１に接続された全ての機器に到達するが、そのデータパケットに含まれるヘッダによって受信されるべき機器が特定され、この図１の例では、受信側ＡＶ機器１１１により、そのインプットプラグコントロールレジスタ１０８に仮想的に存在するインプットプラグを介して受信される。
【００６０】
このように、この図１で図示しているのはブロック構成にすぎないため、従来の図８のものと同様の構成，動作となっているが、本実施の形態１は、そのアウトプットプラグコントロールレジスタに書き込まれるデータのフォーマットが従来のものとは異なるものである。
【００６１】
次に図２は各機器のＩＥＥＥ１３９４インターフェースの実際の内部構成を表す図である。
図２において、２０１はあるデータ伝送機器に設けられたＩＥＥＥ１３９４インターフェース全体の制御を行うホストコントローラ装置であり、ＩＥＥＥ１３９４インターフェースで実際に行われる，リード、ライトのトランザクションを管理するトランザクションレイヤに相当する機能を実行する。
【００６２】
２００はホストコントローラ装置２０１側がその内部のレジスタを読み書きすることによりＩＥＥＥ１３９４規格に基づいたデータ転送を行うリンクレイヤ装置である。これはＩＥＥＥ１３９４インターフェースのリンクレイヤに相当するものであり、ホストインターフェース２０２、バッファ部２００ａ、送受信部２００ｂ、レジスタ２１１、コントローラ部２１２から構成され、例えば１つのＩＣチップから構成される。２０２はホストコントローラ装置との命令のやりとりを行うホストインターフェースである。２００ａはデータを蓄えておくバッファ部であり、アシンクロナス転送用バッファ２０３、アイソクロノス転送用バッファ２０４、受信バッファ２０５から構成されるものである。このアシンクロナス転送用バッファ２０３はアシンクロナス転送を行うデータを、アイソクロノス転送用バッファ２０４はアイソクロノス転送を行うデータを、受信バッファ２０５は受信したデータを、それぞれ蓄えておくものである。
【００６３】
２００ｂはデータの送受信を行う送受信部であり、トランスミッタ２０６、レシーバ２０７、フィジカルインターフェース２０８から構成され、トランスミッタ２０６は送信データバッファ２０３あるいは２０４に蓄えられたデータをフィジカルインターフェース２０８に送信するものであり、レシーバ２０７はフィジカルインターフェース２０８から受け取ったデータを受信バッファ２０５に送るものであり、フィジカルインターフェース２０８はフィジカルレイヤ装置２０９とのデータのやりとりを行うものである。２１１はレジスタであり、図１で示したプラグコントロールレジスタやマスタープラグレジスタなどを含んでいる。２１２はレジスタ２１１の内容に応じてリンクレイヤ装置２００全体を制御するコントローラ部である。
【００６４】
２１０は他の機器のＩＥＥＥ１３９４インターフェースとの接続を行うケーブルであり、図１のＩＥＥＥ１３９４バスがこれに相当する。２０９はケーブル２１０とリンクレイヤ装置２００とを接続するフィジカルレイヤ装置であり、これはＩＥＥＥ１３９４インターフェースのフィジカルレイヤに相当し、例えば１つのＩＣチップにより実現される。
【００６５】
次に図２のＩＥＥＥ１３９４インターフェース内部の動作について説明する。ホストコントローラ装置２０１はＡＶ機器等のデータ伝送機器で発生したデータをホストインターフェース２０２を介してリンクレイヤ装置２００に伝達する。リンクレイヤ装置２００には送信すべきデータの性質に応じてアシンクロナス転送用バッファ２０３とアイソクロノス転送用バッファ２０４の両者が用意されており、ホストコントローラ装置２０１の制御により送信すべきデータはその種類に応じてアシンクロナス転送用バッファ２０３とアイソクロノス転送用バッファ２０４のいずれかに蓄積される。次にこのアシンクロナス転送用バッファ２０３やアイソクロノス転送用バッファ２０４に蓄積されたデータをトランスミッタ２０６により、フィジカルインターフェース２０８を介してフィジカルレイヤ装置２０９に向けて送信するが、その際、アシンクロナス転送よりもアイソクロノス転送が優先して実行される。フィジカルレイヤ装置２０９ではこれらのデータを図１１に示すような，実際にケーブル２１０に乗せる信号形式に変換して、相手の機器のＩＥＥＥ１３９４インターフェースに向けて送り出す。
【００６６】
逆に他の機器のＩＥＥＥ１３９４インターフェースから送出されたデータは、ケーブル２１０を介してフィジカルレイヤ装置２０９に伝達され、フィジカルレイヤ装置２０９によってリンクレイヤ装置２００の内部信号形式に変換され、フィジカルインターフェース２０８によってリンクレイヤ装置２００に取り込まれる。このデータはレシーバ２０７によって受信され、受信バッファ２０５によって蓄積された後、ホストインターフェース２０２を介して当該機器のホストコントローラ装置２０１に伝達され、当該機器内部の他の部分に送られる。
【００６７】
このように、この図２で示しているのはブロック構成にすぎないため、従来の図１０のものと同様の構成，動作となっているが、本実施の形態１では、上述のように、そのレジスタに書き込まれるデータのフォーマットが従来のものとは異なっており、かつこの新たなデータフォーマットによって規定されるコントローラ部の制御動作が従来のものとは異なるものである。
【００６８】
図３は本発明の実施の形態１におけるデータ伝送装置がもつアウトプットプラグコントロールレジスタに書き込むべきデータのフォーマットを示す図である。図３において、３０１はオンラインフラグ領域であり、対応するアウトプットプラグがオンラインかオフラインか、即ち接続オン状態か接続オフ状態かを示すものである。３０２はブロードキャストコネクションカウンタ領域であり、ＩＥＥＥ１３９４バスに接続された全機器への伝送が可能なブロードキャスト接続があるかどうかを示す。３０３はポイントツーポイントコネクションカウンタ領域であり、１つのアウトプットプラグに存在するポイントツーポイントコネクションの数を示す。３０４はデータの転送を制御するためのフロー制御領域であり、その値は例えばデータの送信を停止させるときは“１”、データの送信を実行するときは“０”とする。
【００６９】
なお、本実施の形態１の場合、フロー制御領域のフラグ、即ちフロー制御ビットによって停止させるのはデータそのものの送信であって、コネクションを切断したりプラグの状態を変化させるものではない。よってフローコントロールビットによってデータの転送を中止している間も、オンライン状態は維持され、空のパケットの送信がされ続ける。
【００７０】
３０５は将来の機能拡張用の予備領域であり、現状ではその役割は規定されていない。３０６はアウトプットプラグがアイソクロノスデータ転送を行うときに使用するバス上のチャンネルナンバーを示すチャンネルナンバー領域である。３０７はデータの転送速度を表わすデータの転送速度領域であり、３０８はアイソクロノスデータ転送を行う際にデータに付加されるオーバーヘッド量を示すオーバーヘッドＩＤ領域である。３０９はペイロード領域であり、１サイクル毎に転送する純然たるデータ量を示すものである。
【００７１】
なお、本実施の形態１においては、上述のようにデータの受信側ではデータの送信状態および停止状態にかかわらずオンライン状態を維持していればよいため、受信側では送信側と異なりインプットプラグコントロールレジスタに書き込むべきデータのフォーマットは図１３に示す従来のものと同様であり、かつそのオンラインフラグはデータが送信状態にあるか停止状態にあるかには関係なく、“１”に設定しておけばよい。
【００７２】
ところで、図２のレジスタ、すなわち図１におけるアウトプットプラグコントロールレジスタなどのレジスタは、図２のコントローラ部によってその内容を参照されることにより、上述のような送受信動作の制御に用いられるが、以下のようなフロー制御にも利用される。
【００７３】
すなわち、受信側機器で図２の受信バッファ２０５に蓄えられたデータがある一定量を超えると、受信バッファ２０５があふれることを防ぐために、送信側機器にデータの送信を一時止めるように伝える必要がある。またその結果受信バッファ２０５に蓄えられたデータが別のある一定量より少なくなると、即ち上記ある一定量以下の別のある一定量よりさらにデータが少なくなると、送信側機器にデータの送信を再開するように伝える必要がある。
【００７４】
さらに図４を用いながら述べると、送信側ＡＶ機器１０７からのデータを受信した受信側ＡＶ機器１１１のコントローラ部２１２は、ステップ４０１において、受信側ＡＶ機器の受信バッファ２０５に蓄えられたデータ量を知ることにより、受信バッファ２０５のデータ量がある一定量を越えたとき、ステップ４０２ａにおいて、受信側ＡＶ機器のホストコントローラ装置２０１はデータの送信を停止するように判定し、ステップ４０２ｂにおいて、受信バッファ２０５のデータ量がある一定量以下のときデータの送信を実行するように判定する。
【００７５】
これにより、受信側ＡＶ機器のホストコントローラ装置２０１によって判定されたデータの送信の実行あるいは停止といった要求は、ＩＥＥＥ１３９４インターフェースのロックトランザクションにより、図９に示すようなアシンクロナス・パケットＰＡ，ＰＢ等を用いて送信側ＡＶ機器１０７に転送され、送信側ＡＶ機器のアウトプットプラグコントロールレジスタ１０５の内容を直接書き換える。すなわち例えばデータの送信を停止するときアウトプットプラグコントロールレジスタ１０５の内容を示す図３のフロー制御ビット３０４を“１”とし、データの送信を実行するときフロー制御ビット３０４を“０”とするように設定する。送信側ＡＶ機器１０７のリンクレイヤ装置２００は各サイクル毎にアウトプットプラグコントロールレジスタを参照しながらデータの送信を行っているため、アウトプットプラグコントロールレジスタが書き換えられた次のサイクルよりデータの送信や停止といった制御が可能となる。
【００７６】
即ち、受信側ＡＶ機器のホストコントローラ装置２０１によって受信装置のバッファ量が一定以上と判定された場合、ステップ４０３ａにおいて、受信側ＡＶ機器のホストコントローラ装置２０１はリードトランザクションにより、送信装置のアウトプットプラグコントロールレジスタ１０５の内容を読み込み、これを参照データとする。次に、ステップ４０４ａにおいて、受信側ＡＶ機器のホストコントローラ装置２０１は読み込んだアウトプットプラグコントロールレジスタの参照データのフロー制御ビットを“１”にして、アウトプットプラグコントロールレジスタの更新データを作成する。そして、ステップ４０５ａにおいて、受信側ＡＶ機器のホストコントローラ装置２０１は、送信側ＡＶ機器に対してアウトプットプラグコントロールレジスタの参照データと更新データをロックリクエストパケットで送信する。
【００７７】
さらに、ステップ４０６ａにおいて、送信側ＡＶ機器のコントローラ部２１２は、現在のアウトプットプラグコントロールレジスタ１０５の内容と、ロックリクエストにより受信したアウトプットプラグコントロールレジスタの参照データとを比較する。この比較を実行した結果、これらが不一致であれば、ステップ４０７ａにおいて、受信側ＡＶ機器は、送信側ＡＶ機器からロック応答パケットにより送られた現在のアウトプットプラグコントロールレジスタ１０５の内容を次の参照データとして、ステップ４０４ａに戻る。
【００７８】
また、これらが一致していれば、ステップ４０８ａにおいて、送信側ＡＶ機器のコントローラ部２１２は現在のアウトプットプラグコントロールレジスタを、ロックリクエストにより受信したアウトプットプラグコントロールレジスタの更新データに更新し、ステップ４０９ａにおいて、送信側ＡＶ機器のコントローラ部２１２は、更新されたアウトプットプラグコントロールレジスタに基づき、トランスミッタ２０６が空のデータパケット、即ち、ヘッダのみのデータパケットを送信するように制御を行う。
【００７９】
一方、ステップ４０２ａにおいて、受信側ＡＶ機器の受信バッファ量が一定量以上ではないと判断され、さらに、ステップ４０２ｂにおいて、受信側ＡＶ機器の受信バッファ量が別の一定量以下と判断された場合、ステップ４０３ｂにおいて、受信側ＡＶ機器のホストコントローラ装置２０１はリードトランザクションにより、送信側ＡＶ機器のアウトプットプラグコントロールレジスタ１０５の内容を読み込み、これを参照データとする。次に、ステップ４０４ｂにおいて、受信側ＡＶ機器のホストコントローラ装置２０１は読み込んだアウトプットプラグコントロールレジスタの参照データのフローコントロールビットを“０”にして、アウトプットプラグコントロールレジスタの更新データを作成する。そして、ステップ４０５ｂにおいて、受信側ＡＶ機器のホストコントローラ装置２０１は、そのリンクレイヤ装置２００により、送信側ＡＶ機器に対してアウトプットプラグコントロールレジスタの参照データと更新データをロックリクエストパケットで送信する。
【００８０】
さらに、ステップ４０６ｂにおいて、送信側ＡＶ機器のコントローラ部２１２は、現在のアウトプットプラグコントロールレジスタ２０５の内容と、ロックリクエストにより受信したアウトプットプラグコントロールレジスタの参照データとを比較する。この比較を実行した結果、これらが不一致であれば、ステップ４０７ｂにおいて、受信側ＡＶ機器は、送信側ＡＶ機器からロック応答パケットにより送られた現在のアウトプットプラグコントロールレジスタ１０５の内容を次の参照データとして、ステップ４０４ｂに戻る。
【００８１】
また、これらが一致していれば、ステップ４０８ｂにおいて、送信側ＡＶ機器のコントローラ部２１２は現在のアウトプットプラグコントロールレジスタを、ロックリクエストにより受信したアウトプットプラグコントロールレジスタの更新データに更新し、ステップ４０９ｂにおいて、送信側ＡＶ機器のコントローラ部２１２は、更新されたアウトプットプラグコントロールレジスタに基づき、トランスミッタ２０６がデータの載ったパケット、即ち、ヘッダのみの空パケットではない本来のデータパケットを送信するように制御を行う。
【００８２】
図５はこのアウトプットプラグコントロールレジスタのフロー制御フラグ、即ちフロー制御ビットへのデータの設定によりリンクレイヤ装置のコントローラ部がいかなる制御を行うかを示すものである。
【００８３】
次にこのコントローラ部の動作について説明する。送信側ＡＶ機器では、図５のステップ５０１において、図２のコントローラ部２１２がレジスタ２１１の内容を観察しており、ステップ５０２において、レジスタ２１１の最上位ビット側から第４番目の領域に位置するフロー制御フラグ３０４の内容が“０”か“１”かを判定する。
【００８４】
次に、コントローラ部２１２はフロー制御フラグ３０４の内容が“０”となった場合、ステップ５０３において、送受信部１０００ｂのトランスミッタ２０６にデータパケットの送信動作を実行させ、フロー制御フラグ３０４の内容が“１”となった場合、ステップ５０４において、トランスミッタ２０６に空のデータパケットの送信動作を開始させる。
【００８５】
このように、本実施の形態１によれば、送信側装置のアウトプットプラグコントロールレジスタに、機器間の接続状態をあらわす情報とは別に、データパケットを送るか空のパケットを送るかを区別する情報を設定し、受信側装置の要求に応じてパケットの中身を区別する情報を書き換えることによって、機器間の接続状態をオンライン状態からオフライン状態に変えることなく、データの送信制御を可能としたものであり、これにより、従来のフロー制御におけるような、オフラインとなった直後に到着したデータが捨てられるということもなくなり、データの取りこぼしがなくなるという効果がある。
【００８６】
なお、図３のアウトプットプラグコントロールレジスタに書き込むデータフォーマットにおけるフロー制御ビット３０４の位置は、図１２の従来の仕様における，将来用の予備領域に相当する２ビット領域のうちの１ビットを割り当てているため、図１２の従来の仕様に対し互換性を崩すことなく、本実施の形態による，データの取りこぼしのないフロー制御機能を付加することが可能となっているが、これは図１に示された位置に限定するものではなく、他の位置に設定した場合にも同様のフロー制御機能を実行することは可能である。
またフロー制御ビット３０４は必ずしも１ビットに限定するわけではなく、複数のビットによって構成することにより、さらに機能を拡張したフロー制御を実現することも可能である。
【００８７】
さらに、フロー制御ビット３０４を設定するレジスタはアウトプットプラグコントロールレジスタに限定するものではなく、同等の他のレジスタでも実現可能である。また送信側ＡＶ機器のアウトプットプラグコントロールレジスタ１０５の書き換えは、受信側ＡＶ機器からがコマンドリクエストし、その後に送信側ＡＶ機器が自ら書き換えるという間接的な方法も可能である。
そしてさらに、上記実施の形態１ではＩＥＥＥ１３９４に関してのみ説明したが、アイソクロノス転送に関してＩＥＥＥ１３９４と同様の機能を有するものであれば、他のデジタルインターフェースに適用することも可能である。
【００８８】
【発明の効果】
以上のように、本発明の請求項１記載のデータ受信装置によれば、データの伝送路上からデータを入力するデータ受信装置において、データをパケット単位で受信する際に、受信したデータを一時蓄えるバッファと、前記バッファに蓄えられたデータ量に応じてデータの受信を続けるかどうかを判定するデータ受信判定手段と、前記データ受信判定手段の結果に応じて、データ送信装置にデータを載せたパケットを送らせるか空のパケットを送らせるかを命令するデータ送信制御要求手段とを備えるようにしたので、データ受信側のバッファに蓄積されたデータ量に応じてデータの送信側に送信要求を発するフロー制御を、データ送信装置にデータを載せたパケットを送らせるか空のパケットを送らせるかにより行うことが可能となり、データ送信装置との接続を断にすることなくフロー制御を行うことが可能となる効果がある。
【００８９】
また、本発明の請求項２記載のデータ受信装置によれば、請求項１記載のデータ受信装置において、前記データ送信制御要求手段から前記データ送信装置に送られるデータ送信制御命令がデータを載せたパケットを送らせる命令か空のパケットを送らせる命令かの区別を、前記データ送信制御命令を構成するパケットのデータ列の特定のｎビット（ｎは１以上の整数）のフラグで行うようにしたので、データ受信側のバッファに蓄積されたデータ量に応じてデータの送信側に送信要求を発するフロー制御を、データの送信側は、データ送信制御命令を構成するパケットのデータ列の特定のｎビットを参照することにより、データを載せたパケットを送らせるか空のパケットを送らせるかにより行うことが可能となり、データ送信装置との接続を断にすることなくフロー制御を行うことが可能となる効果がある。
【００９０】
また、本発明の請求項３記載のデータ伝送システムによれば、データをパケット単位で送信する際に、データを載せたパケットを送るか空のパケットを送るかを制御するための制御情報を記憶するデータ送信制御情報記憶手段と、該データ送信制御情報記憶手段におけるデータ送信制御情報に基づき、前記データを載せたパケットか空のパケットかのいずれか一方を出力することによりデータの送信を行うデータ送信手段とを有するデータ送信装置と、データをパケット単位で受信する際に、受信したデータを一時蓄えるバッファと、前記バッファに蓄えられたデータ量に応じてデータの受信を続けるかどうかを判定するデータ受信判定手段と、前記データ受信判定手段の結果に応じて、データ送信装置にデータを載せたパケットを送らせるか空のパケットを送らせるかを命令するデータ送信制御要求手段とを有するデータ受信装置とを備え、前記データ受信装置はデータを載せたパケットを送るか空のパケットを送るかを指示するデータ送信制御命令を発し、前記データ送信装置は前記データ送信制御命令に基づいて、データ送信制御情報記憶手段が記憶する，データを載せたパケットを送るか空のパケットを送るかを区別するデータ送信制御情報を書き換えるとともに、当該データ送信装置はパケットを送る毎に、前記データ送信制御情報を参照しながら、データを載せたパケットか空のパケットかのいずれか一方を送るようにしたので、機器間の接続状態を変えることなくデータの受信側に蓄積されたデータ量に応じてデータの送信の制御が可能となり、データの取りこぼしを生じることなくデータ伝送が可能なデータ伝送システムが得られる効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態１における，プラグによるデータ伝送装置間の接続のイメージを表す図である。
【図２】本発明の実施の形態１における，ＩＥＥＥ１３９４インターフェースを備えるデータ伝送装置の内部構成を表す図である。
【図３】本発明の実施の形態１における，アウトプットプラグコントロールレジスタに書き込むデータのフォーマットを示す図である。
【図４】本発明の実施の形態１における，フロー制御の手順を示すフローチャート図である。
【図５】本発明の実施の形態１における，データ伝送装置のリンクレイヤ装置のコントロール部の制御動作を示すフローチャート図である。
【図６】ＩＥＥＥ１３９４のプロトコルの構成を示す図である。
【図７】ＡＶプロトコルのパケット・フォーマットを示す図である。
【図８】従来のプラグによるデータ伝送装置間の接続のイメージを表す図である。
【図９】アイソクロノスおよびアシンクロナス・パケットの配置を示す図である。
【図１０】従来の，ＩＥＥＥ１３９４インターフェースを備えるデータ伝送装置の内部構成を表す図である。
【図１１】ＩＥＥＥ１３９４ケーブルに送出される信号の形式を示す図である。
【図１２】従来のアウトプットプラグコントロールレジスタに書き込むデータのフォーマットを示す図である。
【図１３】従来のインプットプラグコントロールレジスタに書き込むデータのフォーマットを示す図である。
【図１４】従来のフロー制御の手順を示すフローチャート図である。
【図１５】従来の，受信側のデータ伝送装置におけるリンクレイヤ装置のコントロール部の制御動作を示すフローチャート図である。
【図１６】従来の，送信側のデータ伝送装置におけるリンクレイヤ装置のコントロール部の制御動作を示すフローチャート図である。
【図１７】ＩＥＥＥ１３９４インターフェースによるネットワーク形態の一例を示す図である。
【図１８】ＩＥＥＥ１３９４インターフェースによる利点を示す図である。
【符号の説明】
１０１  ＩＥＥＥ１３９４バス
１０２  アイソクロノスチャンネル
１０３，１０８，１０９  インプットプラグコントロールレジスタ
１０４，１１０  インプットマスタープラグレジスタ
１０５  アウトプットプラグコントロールレジスタ
１０６  アウトプットマスタープラグレジスタ
１０７，１１１  ＡＶ機器
２００  リンクレイヤ装置
２００ａ  バッファ部
２００ｂ  送受信部
２０１  ホストコントローラ装置
２０２  ホストインターフェース
２０３  アシンクロナス転送用バッファ
２０４  アイソクロノス転送用バッファ
２０５  受信バッファ
２０６  トランスミッタ
２０７  レシーバ
２０８  フィジカルインターフェース
２０９  フィジカルレイヤ装置
２１０  ケーブル
２１１  レジスタ
２１２  コントローラ部
３０１  オンラインフラグ領域
３０２  ブロードキャストコネクションカウンタ領域
３０３  ポイントツーポイントコネクションカウンタ領域
３０４  フロー制御領域
３０５  予備領域
３０６  チャンネルナンバー領域
３０７  データレート領域
３０８  オーバーヘッドＩＤ領域
３０９  ペイロード領域
【図１】
0003860878.tif 000002
【図２】
0003860878.tif 000003
【図３】
0003860878.tif 000004
【図４】
0003860878.tif 000005
【図５】
0003860878.tif 000006
【図６】
0003860878.tif 000007
【図７】
0003860878.tif 000008
【図８】
0003860878.tif 000009
【図９】
0003860878.tif 000010
【図１０】
0003860878.tif 000011
【図１１】
0003860878.tif 000012
【図１２】
0003860878.tif 000013
【図１３】
0003860878.tif 000014
【図１４】
0003860878.tif 000015
【図１５】
0003860878.tif 000016
【図１６】
0003860878.tif 000017
【図１７】
0003860878.tif 000018
【図１８】
0003860878.tif 000019