(57)【特許請求の範囲】
【請求項１】
データ群の伝送の完了に対応した時間を得るコマンドを実行するステップと、
上記データ群の伝送の完了に対応した時間を、上記コマンドのコマンド構成の中に記憶するステップと、
データ群の伝送が完了したことを示す割込信号を待つステップと、
上記割込信号が受信されたときに、上記コマンド構成から時間を読み出すステップとを有するデータ伝送方法。
【請求項２】
さらに、上記データ群を受信ノードに伝送するステップを有する請求項１に記載のデータ伝送方法。
【請求項３】
上記データ群は、ＩＥＥＥ１３９４シリアルバスネットワークを介して伝送されることを特徴とする請求項２に記載のデータ伝送方法。
【請求項４】
上記時間は、ＩＥＥＥ１３９４シリアルバスのバスタイムに対応したサイクルタイムを表していることを特徴とする請求項３に記載のデータ伝送方法。
【請求項５】
上記コマンドは、ロードクワッドコマンドであることを特徴とする請求項１に記載のデータ伝送方法。
【請求項６】
上記データ群は、ビデオフレームのデータであることを特徴とする請求項１記載のデータ伝送方法。
【請求項７】
データ群を伝送するデータ伝送装置において、
上記データ群を受信ノードに伝送する伝送手段と、
上記データ群の伝送が完了したときの時間を記憶し、データ群の伝送が完了したことを示す確認信号が受信されたときに、上記時間を読み出す制御手段とを備え、
データ群の伝送の完了に対応した時間を得るデータ伝送装置。
【請求項８】
上記データ群は、ビデオフレームのデータであることを特徴とする請求項７に記載のデータ伝送装置。
【請求項９】
上記伝送手段は、ＩＥＥＥ１３９４シリアルバスに接続され、上記データ群をＩＥＥＥ１３９４シリアルバスを介して上記受信ノードに伝送することを特徴する請求項７に記載のデータ伝送装置。
【請求項１０】
上記時間は、データ群の伝送が完了したときにコマンドを実行して、該コマンドのコマンド構成の中に記憶することによって得られることを特徴とする請求項７に記載のデータ伝送装置。
【請求項１１】
上記コマンドは、ロードクワッドコマンドであることを特徴とする請求項１０に記載のデータ伝送装置。
【請求項１２】
上記確認信号は、割込信号であることを特徴とする請求項１１に記載のデータ伝送装置。
【請求項１３】
ＩＥＥＥ１３９４シリアルバスを介してデータを伝送するデータ伝送方法において、
ビデオフレームの最後の部分が伝送された後のサイクルタイムレジスタの値を読み出すステップと、
上記サイクルタイムレジスタの値を記憶するステップと、
上記ビデオフレームの伝送が完了したことを示す割込信号を待つステップと、
上記割込信号が受信されたときに、上記記憶された値をサイクルタイムとして読み出すステップとを有し、
ビデオフレームの伝送の完了に対応したサイクルタイムを得るデータ伝送方法。
【請求項１４】
上記記憶するステップは、サイクルタイムレジスタの値をコマンドのコマンド構造に記憶する当該コマンドを実行するステップを含むことを特徴とする請求項１３に記載のデータ伝送方法。
【請求項１５】
上記サイクルタイムを読み出すステップは、サイクルタイムを上記コマンド構造から読み出すことを特徴とする請求項１４に記載のデータ伝送方法。
【請求項１６】
上記コマンドは、ロードクワッドコマンドであることを特徴とする請求項１５記載のデータ伝送方法。
【請求項１７】
ビデオフレームのデータを伝送するデータ伝送方法において、
上記ビデオフレームのデータを伝送するステップと、
上記ビデオフレームの最後の部分の伝送の完了に対応した時間を得るコマンドを実行するステップと、
上記ビデオフレームの最後の部分の伝送の完了に対応した時間を上記コマンドのコマンド構造の中に記憶するステップと、
上記ビデオフレームの最後の部分の伝送の完了を確認するための割込信号を待つステップと、
上記割込信号が受信されたときに上記コマンド構造から時間を得るステップとを有するデータ伝送方法。
【請求項１８】
上記コマンドは、ロードクワッドコマンドであることを特徴とする請求項１７に記載のデータ伝送方法。
【請求項１９】
上記ビデオフレームのデータは、ＩＥＥＥ１３９４シリアルバスを介して伝送されることを特徴とする請求項１８に記載のデータ伝送方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、装置間においてデータ又は情報を伝送するデータ伝送方法及びデータ伝送装置に関し、特に、ＩＥＥＥ１３９４シリアルバスネットワーク上の装置間で時間的に連続した（time sensitive）情報を伝送するデータ伝送方法及びデータ伝送装置に関する。
【０００２】
【従来の技術】
ＩＥＥＥ１３９４規格、すなわち「Ｐ１３９４高性能シリアルバス標準（P1394 Standard For A High Performance Serial Bus）」ドラフト８．０ｖ２、１９９５年７月７日（Draft 8.0v2,July 7, 1995）は、非同期フォーマットとアイソクロナス（isochronous）フォーマットの両フォーマットでのデータ転送をサポートする安価な高速シリアルバスアーキテクチャを実現するための国際標準である。アイソクロナスデータ転送は、有意義な時刻間の時間間隔が送信アプリケーションと受信アプリケーションの両方で同じ長さであるリアルタイム転送である。アイソクロナス的に転送される各データパケットは、割り当てられた時間間隔（周期）内で転送される。アイソクロナスデータ転送の理想的なアプリケーションとしては、例えばビデオテープレコーダ（以下、ＶＴＲという。）等のビデオ記録再生装置からテレビジョン受像機へのデータ転送がある。ディジタルＶＴＲは、画像及び音のデータを記録し、データを離散的なチャンク（chunks）又はパケットとして保存する。そして、ディジタルＶＴＲは、ある規定された時間間隔で記録された画像及び音のデータの各パケットを、その時間間隔の間に転送して、テレビジョン受像機に表示させる。ＩＥＥＥ１３９４規格に準拠したバスアーキテクチャでは、アプリケーション間のアイソクロナスデータ転送のために多くのチャンネルが設けられている。６ビットのチャンネル番号がデータとともに同報送信（放送）され、適切なアプリケーションが確実に受信するようにしている。これにより、多数のアプリケーションは、アイソクロナスデータをバスを介して同時に送信することができる。非同期データ転送は、データ源の装置から送信先の装置に大量のデータをできるだけ速く転送する従来のデータ転送である。
【０００３】
ＩＥＥＥ１３９４規格には、ディジタル装置を相互接続する高速シリアルバスが規定されており、これにより、汎用的な入出（Ｉ／Ｏ）接続が得られる。ＩＥＥＥ１３９４規格には、アプリケーション間のディジタルインターフェースが規定されており、これにより、送信側のアプリケーションは、データをバスを介して送信する前に、ディジタルデータをアナログデータに変換する必要がない。これに対応して、受信側のアプリケーションは、バスからアナログデータではなくディジタルデータを受信し、したがって、アナログデータをディジタルデータに変換する必要がない。ＩＥＥＥ１３９４規格に準拠したケーブルは、このようなディジタル装置を接続するのに一般的に用いられているケーブルに比して、非常に細い。ＩＥＥＥ１３９４バスがアクティブ（能動）状態においても、そのバスに新たに装置を追加したり、バスから装置を取り外すこと、すなわち活線挿抜ができる。このように装置を追加又は取り外すと、バスは、そのときに存在するノード間でデータを送受信できるように、それ自身を自動的に再構築する。ノードは、バス上の独自のアドレスを有するロジカルエンティティ（論理構成体）であると考えられる。各ノードは、識別ＲＯＭと、標準化されたコントロールレジスタのセットと、ノードに割り当てられたアドレス空間とを有する。
【０００４】
ＩＥＥＥ１３９４規格に準拠したケーブル環境は、各ノードを物理的に接続するポート及びポート間のケーブルを含む、ポイントツーポイント接続によって接続されたノードからなるネットワークである。ＩＥＥＥ１３９４シリアルバスにおけるケーブルの物理的接続のトポロジーは、ループ状でなく、有限に分岐した多数のポートからなるネットワークである。ケーブル環境に対する主な制約は、ノードが閉ループを形成せずに接続されていなければならない、ということである。
【０００５】
ＩＥＥＥ１３９４ケーブルは、異なるノード上のポート間を接続する。各ポートは、終端器と、トランシーバ（送受信機）と、簡単な論理回路とを備える。１つのノードは、物理的接続を行うための多数のポートを有することができる。ケーブルとポートは、ノード間のバスレピータ（中継器）として機能し、単一の論理バスを擬似的に構成している。各ノードにおけるケーブルの物理的接続は、１つ以上のポートと、アービトレーション論理回路と、再同期回路と、エンコーダとを備える。各ポートは、ケーブルコネクタが接続されるケーブル媒体インターフェースを備えている。アービトレーション論理回路は、ノードのバスに対するアクセスを裁定する。再同期回路は、データストローブによって符号化されているデータビットを受信し、このデータビットを、ノード内のアプリケーションが使用できるように、ローカルクロックに同期させる。エンコーダは、このノードから伝送するデータ、あるいは再同期回路によって受信された他のノード宛てのデータを、ＩＥＥＥ１３９４シリアルバスを介して伝送するために、データストローブのフォーマットに符号化する。このように構成することにより、ケーブル環境における物理的なポイントツーポイントのトポロジーを有するのケーブル接続は、システムのより高いレイヤが要求する仮想的なブロードキャスト（同報又は放送）のバスとなる。このことは、物理的接続の１つポートで受信された全てのデータを取り込み、そのデータをローカルクロックに同期させて、物理的接続の他の全てのポートから中継して出力することにより達成される。
【０００６】
【発明が解決しようとする課題】
２つの装置間でアイソクロナスビデオデータを伝送する際、送信側の装置は、ビデオフレームの最終ビットが伝送されるサイクルタイム（cycle time）を知っていることが非常に重要である。このサイクルタイムが正しくないと、ビデオデータの歪み、すなわちジッタが生じ、最終的に表示される画像の画質が劣化する。ビデオデータが一旦受信側のアプリケーションに伝送されると、ビデオフレームが完全に転送されたことを送信側のアプリケーションに知らせるための割込信号が、受信側のアプリケーションから送信側のアプリケーションに送信される。そして、送信側のアプリケーションは、この割込信号を受信したときに、サイクルタイムレジスタの値を読むことによって、サイクルタイムを得ることができる。すなわち、サイクルタイムレジスタには、ノードにおける現在のバスタイムが保持されている。ところで、ビデオフレームの伝送が完了してから割込信号が受信されるまでの間と、割込信号が受信されてからサイクルタイムレジスタの値を読み出すまでの間とに、遅延が生じる場合がある。これらの遅延は、ビデオデータの表示において歪み、すなわちジッタを引き起こす。
【０００７】
本発明は、上述した実情に鑑みて成されたものであり、本発明の目的は、ビデオフレームの伝送が完了したサイクルタイムを正確に得ることができるデータ伝送方法及びデータ伝送装置を提供することである。また、本発明の目的は、ビデオフレームの最後に関するサイクルタイムの検出が遅延することに起因したアイソクロナスデータの伝送ストリームに生じるジッタ及び歪みを低減するデータ伝送方法及びデータ伝送装置を提供することである。
【０００８】
【課題を解決するための手段】
本発明では、例えばビデオフレームのデータ等のデータ群の伝送の完了に対応した時間を得るコマンドを実行し、すなわち例えばサイクルタイムレジスタの値を読み出して記憶するロードクワッドコマンドを、ビデオフレームのデータの伝送が完了したときに実行して、データ群の伝送の完了に対応した時間を、コマンドのコマンド構成の中に記憶する。そして、データ群の伝送が完了したことを示す割込信号が受信されるまで待機し、割込信号が受信されたときに、コマンド構成から時間を読み出す。これにより、ビデオフレームのデータの伝送が完了したときの正確なサイクルタイムを得ることができる。
【０００９】
【発明の実施の形態】
以下、本発明に係るデータ伝送方法及びデータ伝送装置について、図面を参照しながら説明する。
【００１０】
図１は、本発明を適用したＩＥＥＥ１３９４シリアルバスネットワークの構成を示す模式図である。このＩＥＥＥ１３９４シリアルバスネットワークは、図１に示すように、コンピュータ装置１０と、ディジタルビデオカメラ３０とを備え、コンピュータ装置１０とディジタルビデオカメラ３０は、ＩＥＥＥ１３９４シリアルバス３１によって接続されている。そして、ディジタルビデオカメラ３０での撮影によって得られたビデオデータ及びそれに付随したデータは、ＩＥＥＥ１３９４シリアルバス３１を介してコンピュータ装置１０にアイソクロナス転送される。また、コンピュータ１０装置には、表示装置１１が接続されており、この表示装置１１の画面に、伝送されてきたビデオデータに基づく画像が表示される。
【００１１】
ここで、コンピュータ装置１０の具体的な構成について説明する。
【００１２】
コンピュータ装置１０は、例えば図２に示すように、中央処理装置（以下、ＣＰＵという。）１２と、メインメモリ１３と、ビデオメモリ１４と、大容量記憶装置１５と、ＩＥＥＥ１３９４規格に準拠したインターフェース回路１６とを備え、これらの回路は、全て従来の双方向のバスシステム１７によって接続されている。
【００１３】
インターフェース回路１６は、ＩＥＥＥ１３９４シリアルバス上でのデータの送受信を行う物理インターフェース回路１８を備える。物理インターフェース回路１８は、ＩＥＥＥ１３９４シリアルバス３１を介してディジタルビデオカメラ３０に接続されている。この実施例においては、インターフェース回路１６は、コンピュータ装置１０内に装着されたＩＥＥＥ１３９４インターフェースカードからなる。なお、当該分野の技術者にとって明らかであるように、インターフェース回路１６を、例えばマザーボート上に設ける等の他の適切な方法により、コンピュータ装置１０の内部に実現するようにしてもよい。大容量記憶装置１５は、例えば磁気、光学、光磁気の技術や、他の利用可能な技術を採用した固定の記録媒体、着脱可能な記録媒体を用いた記録装置からなる。バスシステム１７は、例えばメインメモリ１３、ビデオメモリ１４の記憶領域等を指定するためのアドレスバスを含んでいる。また、バスシステム１７は、ＣＰＵ１２と、メインメモリ１３と、ビデオメモリ１４と、大容量記憶装置１５と、インターフェース回路１６との間で、データを転送するためのデータバスを含んでいる。
【００１４】
また、コンピュータ装置１０には、キーボード１９、マウス２０、表示装置１１を含む多数の入出力周辺装置が接続されている。キーボード１９は、ＣＰＵ１２に接続されており、ユーザは、キーボード１９を用いて、データや制御コマンドをコンピュータ装置１０に入力することができる。従来のマウス２０は、キーボード１９に接続されており、カーソル制御装置として、ユーザが表示装置１１に表示されたグラフィック画像を操作するために用いられる。
【００１５】
ビデオメモリ１４のポートは、ビデオマルチプレックス及びシフト回路２１に接続され、このビデオマルチプレックス及びシフト回路２１は、ビデオ増幅器２２に接続されている。ビデオ増幅器２２は、表示装置１１を駆動する。ビデオマルチプレクサ及びシフト回路２１と増幅器２２は、ビデオメモリ１４内に記憶された画素データを、表示装置１１に適合したラスタスキャン信号に変換する。
【００１６】
図３は、ビデオフレームを伝送するのに必要なハードウェア及びソフトウェアのアーキテクチャを示すブロック図である。
【００１７】
上述したように、物理インターフェース回路１８は、ＩＥＥＥ１３９４シリアルバス３１に接続されており、コンピュータ装置１０とＩＥＥＥ１３９４シリアルバス３１間のデータの送受信を行う。本発明は、データパケットを伝送するように適切に構成されたノード上で実行される。リンクチップ（link chip）４１は、物理インターフェース回路１８に接続されており、ソフトウェアアプリケーション及びディバイスドライバからのデータ及び制御信号を物理インターフェース回路１８に供給する。このリンクチップ４１は、インターフェース回路１６に内蔵されている。ソフトウェアアプリケーション及びディバイスドライバは、リンクチップ４１と通信を行う。ノードからＩＥＥＥ１３９４シリアルバス３１にデータを送信するソフトウェアアプリケーション及びディバイスドライバは、ＩＥＥＥ１３９４ポートドライバ４２と、ＩＥＥＥ１３９４バスクラスドライバ４３と、ディジタルビデオミニドライバ４４とを含んでいる。これらのドライバ４２，４３，４４は、オペレーティングシステム（ＯＳ）に属し、ビデオフレームを伝送するのに必要なインストラクション及びデータを出力する。
【００１８】
ビデオフレームを伝送するとき、ビデオフレームは、多くの部分に分けられて伝送される。ビデオフレームの各部分は、出力コマンドを実行して、１サイクルタイム内のフレームの現在の部分を繰り返し伝送することによって、物理インターフェース回路１８からＩＥＥＥ１３９４シリアルバス３１上に送出される。最後の出力コマンドが実行されてビデオフレームの最後の部分が伝送された後、ロードクワッドコマンド（load quad command）が実行され、サイクルタイムレジスタの現在の値が読み出されて、ロードクワッドコマンド構造（structure）内に記憶される。ディジタルビデオミニドライバ４４は、ビデオフレームの伝送が完了したことを示す割込信号を受信すると、ビデオフレームのロードクワッドコマンド構造の中から値を読み出して、ビデオフレームの伝送が完了したサイクルタイムの実際の値を得る。
【００１９】
つぎに、本発明に基づいてビデオフレームの伝送が完了した実際のサイクルタイムの値を得る動作を、図４のフローチャートを参照して説明する。
【００２０】
ステップＳ１において、ディジタルビデオミニドライバ４４は、出力コマンドを実行して、ビデオフレームの現在の部分、すなわち最初の部分を、物理インターフェース回路１８からＩＥＥＥ１３９４シリアルバス３１を介して、受信ノードに送信する。
【００２１】
ステップＳ２において、ディジタルビデオミニドライバ４４は、ビデオフレーム全体が伝送されたかを判定し、該当するときはステップＳ３に進み、該当しないときはステップＳ１に戻る。すなわち、ステップＳ１とステップＳ２のループにおいて、ビデオフレームの全てが伝送された後、ステップＳ３に進む。
【００２２】
ステップＳ３において、ディジタルビデオミニドライバ４４は、サイクルタイムレジスタの現在の値を読み出して、コマンド構造内に記憶するロードクワッドコマンドを実行する。
【００２３】
ここで、サイクルタイムレジスタの現在のサイクルタイムを得るために用いられるロードクワッドコマンドの構造（あるいはフォーマット）について、図５を用いて説明する。
【００２４】
ロードクワッドコマンドは、図５に示すように、４ビットのコマンドフィールド（command field）ＣＭＤと、３ビットのキーフィールド（key field）ｋｅｙと、２ビットの割込フィールド（interrupt field）ｉと、２ビットの待機フィールド（wait field）ｗと、１６ビットの要求カウントフィールド（request count field）ｒｅｑＣｏｕｎｔと、３２ビットのアドレスフィールド（address field）ａｄｄと、３２ビットのデータフィールド（data field）ｄａｔａ３２と、１６ビットの転送状態フィールド（transfer status field）ｘｆｅｒＳｔａｔｕｓとを有する。
【００２５】
コマンドフィールドＣＭＤには、実行されるコマンドの種類を示す値が含まれる。コマンドフィールドＣＭＤの値は、例えばロードクワッドコマンドでは「５」である。
【００２６】
キーフィールドｋｅｙは、ロードクワッドコマンドでは、伝送されるデータのアドレス空間を特定するために用いられる。
【００２７】
割込フィールドｉは、ロードクワッドコマンドが一旦発生した後、どのような条件において割込が発生されるかを特定するためのものである。割込フィールドｉの値とそれに対応する条件を下記表１に示す。なお、割込条件ビットは、伝送されるデータのチャンネル毎に発生される。
【００２８】
【表１】
0004009022.tif 000002
【００２９】
待機フィールドｗは、必要に応じて、次にフェッチするコマンドを制御するためのものである。待機フィールドｗの値とそれに対応する条件を下記表２に示す。なお、待機条件ビットも、チャンネル毎に発生される。
【００３０】
【表２】
0004009022.tif 000003
【００３１】
要求カウントフィールドｒｅｑＣｏｕｎｔは、コマンド構造内に書き込まれる又は読み出されるバイト数を特定するためのものであり、１バイト、２バイト及び４バイトの３つに対応した値が含まれる。
【００３２】
アドレスフィールドａｄｄは、データが読み出される情報源のアドレスを特定するためのものである。本発明のロードクワッドコマンドでは、アドレスフィールドａｄｄにサイクルタイムレジスタのアドレスが含まれている。
【００３３】
データフィールドｄａｔａ３２には、サイクルタイムレジスタから読み出されたサイクルタイムの値が記憶される。
【００３４】
転送状態フィールドｘｆｅｒＳｔａｔｕｓには、コマンドが完了したときに、チャンネルのチャンネル状態レジスタ（ChannelStatus register）の現在の内容が書き込まれる。
【００３５】
すなわち、ビデオフレームが完全に伝送された後、ステップＳ３においてロードクワッドコマンドが実行されると、例えば図５に示すように、サイクルタイムレジスタの現在の値が、このロードクワッドコマンドのデータフィールドｄａｔａ３２に記憶される。
【００３６】
ステップＳ４において、ディジタルビデオミニドライバ４４は、ビデオフレームの伝送が完了したことを示す割込信号が受信されるまで待機し、割込信号が受信されると、ステップＳ５に進む。
【００３７】
ステップＳ５において、ディジタルビデオミニドライバ４４は、ロードクワッドコマンド構造から、記憶されているビデオフレームの最後に対応したサイクルタイムの値を読み出す。
【００３８】
ビデオフレームの伝送の完了に対応した正確なサイクルタイムの値を得るための上述した処理は、アイソクロナスデータ転送される各ビデオフレーム毎に繰り返される。以上の説明でも明らかなように、本発明では、ビデオフレームの最後におけるサイクルタイムレジスタの値をロードクワッドコマンドのコマンド構造内に記憶するとともに、ビデオフレームが伝送されたことを示す割込信号が受信されたときにロードクワッドコマンドのコマンド構造からサイクルタイムの値を読み出すことにより、割込信号が受信するまで待機してサイクルタイムレジスタの値を得ることに起因したジッタをなくすことができる。
【００３９】
【発明の効果】
以上の説明でも明らかなように、本発明に係るデータ伝送方法及びデータ伝送装置では、ビデオフレームの最後におけるサイクルタイムレジスタの値をロードクワッドコマンドのコマンド構造内に記憶するとともに、ビデオフレームが伝送されたことを示す割込信号が受信されたときにロードクワッドコマンドのコマンド構造からサイクルタイムの値を読み出すことにより、割込信号が受信するまで待機してサイクルタイムレジスタの値を得ることに起因したジッタをなくすことができる。
【図面の簡単な説明】
【図１】  本発明を適用したＩＥＥＥ１３９４シリアルバスネットワークの構成を示す模式図である。
【図２】  本発明を適用したコンピュータ装置の具体的な構成を示すブロック図である。
【図３】  ビデオフレームを伝送するのに必要なハードウェア及びソフトウェアのアーキテクチャを示すブロック図である。
【図４】  本発明に基づいてビデオフレームの伝送が完了した実際のサイクルタイムの値を得る動作を示すフローチャートである。
【図５】  ロードクワッドコマンドの構造を示す図である。
【符号の説明】
１０  コンピュータ装置、１１  表示装置、１２  ＣＰＵ、１３  メインメモリ、１４  ビデオメモリ、１５  大容量記憶装置、１６  インターフェース回路１６、１７  バスシステム、１８  物理インターフェース回路
【図１】
0004009022.tif 000004
【図２】
0004009022.tif 000005
【図３】
0004009022.tif 000006
【図４】
0004009022.tif 000007
【図５】
0004009022.tif 000008