(57)【特許請求の範囲】
【請求項１】
アイソクロノスデータパケットを任意速度でダビングする通信方法において、
ａ．送信機器の送信プラグを、上記アイソクロノスデータパケットを非実時間で送信するように構成するステップと、
ｂ．受信機器の受信プラグを、上記アイソクロノスデータパケットを非実時間で受信するように構成するステップと、
ｃ．データストリームを非実時間転送用に構成されたアイソクロノスデータパケットにパケット化し、非実時間データパケットのストリームを生成するステップと、
ｄ．上記非実時間データパケットを、上記送信機器の送信プラグから上記受信機器の受信プラグに送信するステップとを有する通信方法。
【請求項２】
上記非実時間アイソクロノスデータパケットのストリームは、上記データストリームを実時間アイソクロノスデータパケットにパケット化し、１つ以上の実時間アイソクロノスデータパケットを非実時間ヘッダ内にカプセル化して上記非実時間アイソクロノスデータパケットのストリーム内の各非実時間アイソクロノスデータパケットを生成することにより生成され、上記各非実時間アイソクロノスデータパケット内にカプセル化される実時間アイソクロノスデータパケットの数は、上記非実時間アイソクロノスデータパケットの非実時間転送速度に基づいて決定されることを特徴とする請求項１記載の通信方法。
【請求項３】
上記非実時間転送速度が実時間転送よりも速い場合、該非実時間転送速度は、実時間転送速度の任意数倍であり、上記各非実時間アイソクロノスデータパケットにカプセル化される実時間アイソクロノスデータパケットの数は、該任意数に対応することを特徴とする請求項２記載の通信方法。
【請求項４】
上記非実時間転送速度が実時間転送よりも遅い場合、単一の実時間アイソクロノスデータパケットが各非実時間アイソクロノスデータパケット内にカプセル化され、元の単一の実時間アイソクロノスデータパケットに含まれていたデータの一部のみが非実時間アイソクロノスデータパケットにカプセル化され、元の単一の実時間アイソクロノスデータパケットに含まれていたデータの残りの部分は、後続する１つ以上の非実時間アイソクロノスデータパケットにカプセル化されることを特徴とする請求項２記載の通信方法。
【請求項５】
上記非実時間ヘッダは、非実時間アイソクロノスヘッダと、非実時間ＣＩＰヘッダとを有することを特徴とする請求項２記載の通信方法。
【請求項６】
上記非実時間アイソクロノスヘッダは、上記非実時間アイソクロノスデータパケットに含まれているデータのデータ量を示すデータ長フィールドを含むことを特徴とする請求項５記載の通信方法。
【請求項７】
上記非実時間ＣＩＰヘッダは、上記非実時間アイソクロノスデータパケットが非実時間データ転送用にフォーマットされていることを示すフォーマットフィールドを含むことを特徴とする請求項５記載の通信方法。
【請求項８】
上記データストリームは、オーディオ／ビジュアルコンテンツデータを含むことを特徴とする請求項１記載の通信方法。
【請求項９】
上記非実時間アイソクロノスデータパケットは、アイソクロノスチャンネルを介して、非実時間で送信されることを特徴とする請求項１記載の通信方法。
【請求項１０】
上記非実時間アイソクロノスデータパケットは、非同期ストリームを介して、非実時間で送信されることを特徴とする請求項１記載の通信方法。
【請求項１１】
アイソクロノスデータパケットを非実時間で送信する送信方法において、
ａ．ソース機器のソースプラグを、アイソクロノスデータパケットを非実時間で送信するように構成するステップと、
ｂ．データストリームを実時間アイソクロノスデータパケットにパケット化するステップと、
ｃ．送信すべきアイソクロノスデータパケットの転送速度を判定するステップと、
ｄ．部分的な実時間アイソクロノスデータパケット又は上記非実時間アイソクロノスデータパケットの非実時間転送速度に基づいて個数が決定された複数の実時間アイソクロノスデータパケットを非実時間アイソクロノスデータパケット内にカプセル化するステップと、
ｅ．上記ソースプラグを介して、上記非実時間アイソクロノスデータパケットを送信するステップとを有する送信方法。
【請求項１２】
上記転送速度が実時間転送よりも速い場合、複数の実時間アイソクロノスデータパケットが上記非実時間アイソクロノスデータパケットにカプセル化されることを特徴とする請求項１１記載の通信方法。
【請求項１３】
上記転送速度が実時間転送よりも遅い場合、部分的な実時間アイソクロノスデータパケットが上記非実時間アイソクロノスデータパケットにカプセル化され、実時間アイソクロノスデータパケットの残りの部分は、後続する１つ以上の非実時間アイソクロノスデータパケットにカプセル化されることを特徴とする請求項１１記載の送信方法。
【請求項１４】
上記各非実時間パケットは、非実時間アイソクロノスヘッダと、非実時間ＣＩＰヘッダとを有することを特徴とする請求項１１記載の通信方法。
【請求項１５】
上記非実時間アイソクロノスヘッダは、上記非実時間アイソクロノスデータパケットに含まれているデータのデータ量を示すデータ長フィールドを含むことを特徴とする請求項１４記載の送信方法。
【請求項１６】
上記非実時間ＣＩＰヘッダは、上記非実時間アイソクロノスデータパケットが非実時間データ転送用にフォーマットされていることを示すフォーマットフィールドを含むことを特徴とする請求項１４記載の送信方法。
【請求項１７】
上記データストリームは、オーディオ／ビジュアルコンテンツデータを含むことを特徴とする請求項１１記載の送信方法。
【請求項１８】
上記非実時間アイソクロノスデータパケットは、アイソクロノスチャンネルを介して、非実時間で送信されることを特徴とする請求項１１記載の送信方法。
【請求項１９】
上記非実時間アイソクロノスデータパケットは、非同期ストリームを介して、非実時間で送信されることを特徴とする請求項１１記載の送信方法。
【請求項２０】
アイソクロノスデータパケットを非実時間で受信する受信方法において、
ａ．デスティネーション機器のデスティネーションプラグを、アイソクロノスデータパケットを非実時間で受信するように構成するステップと、
ｂ．上記デスティネーションプラグを介してアイソクロノスデータパケットを受信するステップと、
ｃ．上記受信アイソクロノスデータパケットのフォーマットを判定するステップと、
ｄ．上記受信アイソクロノスデータパケットのフォーマットが非実時間アイソクロノスデータパケットを示している場合、該非実時間アイソクロノスデータパケットの転送速度を判定するステップと、
ｅ．上記非実時間アイソクロノスデータパケット内にカプセル化されている部分的な実時間アイソクロノスデータパケット又は上記非実時間アイソクロノスデータパケットの非実時間転送速度に基づいて個数が決定された複数の実時間アイソクロノスデータパケットを抽出するステップと、
ｆ．上記実時間アイソクロノスデータパケットを処理するステップとを有する受信方法。
【請求項２１】
部分的な実時間アイソクロノスデータパケットが上記非実時間アイソクロノスデータパケットにカプセル化されている場合、実時間アイソクロノスデータパケットの残りの部分は、後続する１つ以上の非実時間アイソクロノスデータパケットにカプセル化されており、該残りの部分を集め、上記部分的な実時間アイソクロノスデータパケットに結合した後に上記処理を行うことを特徴とする請求項２０記載の受信方法。
【請求項２２】
上記各非実時間パケットは、非実時間アイソクロノスヘッダと、非実時間ＣＩＰヘッダとを有することを特徴とする請求項２０記載の受信方法。
【請求項２３】
上記非実時間アイソクロノスヘッダは、上記非実時間アイソクロノスデータパケットに含まれているデータのデータ量を示すデータ長フィールドを含むことを特徴とする請求項２２記載の受信方法。
【請求項２４】
上記非実時間ＣＩＰヘッダは、上記非実時間アイソクロノスデータパケットが非実時間データ転送用にフォーマットされていることを示すフォーマットフィールドを含むことを特徴とする請求項２２記載の受信方法。
【請求項２５】
上記データストリームは、オーディオ／ビジュアルコンテンツデータを含むことを特徴とする請求項２０記載の受信方法。
【請求項２６】
アイソクロノスデータパケットの非実時間ストリームをサポートするようにプラグを構成するプラグ構成方法において、
ａ．プラグ構成情報ブロック内に非実時間プラグ転送情報ブロックを組み込むステップと、
ｂ．上記非実時間プラグ転送情報ブロック内に、上記アイソクロノスデータパケットの非実時間ストリームを示す非実時間情報タイプを定義するステップと、
ｃ．上記非実時間プラグ転送情報ブロック内の帯域幅値を、上記アイソクロノスデータパケットの非実時間ストリームのバス帯域幅に対応するように設定するステップと、
ｄ．上記非実時間プラグ転送情報ブロック内のイネーブルフィールドを、上記プラグによるアイソクロノスデータパケットの非実時間ストリームのサポートをイネーブルにするように設定するステップとを有するプラグ構成方法。
【請求項２７】
アイソクロノスデータパケットを非実時間で通信する通信装置において、
ａ．プラグを、上記アイソクロノスデータパケットを非実時間で転送するように構成する構成回路と、
ｂ．データストリームを非実時間転送用に構成されたアイソクロノスデータパケットにパケット化し、非実時間データパケットのストリームを生成するパケット化回路と、
ｃ．上記プラグを介して、非実時間でアイソクロノスデータパケットを通信する送受信回路と、
ｄ．上記各非実時間アイソクロノスデータパケットにカプセル化されている１つ以上の実時間アイソクロノスデータパケットを抽出する逆パケット化回路と、
ｅ．上記構成回路、パケット化回路、送受信回路及び逆パケット化回路に接続され、上記抽出された実時間アイソクロノスデータパケットを処理するコントローラとを備える通信装置。
【請求項２８】
上記非実時間アイソクロノスデータパケットのストリームは、上記データストリームを実時間アイソクロノスデータパケットにパケット化し、１つ以上の実時間アイソクロノスデータパケットを非実時間ヘッダ内にカプセル化して上記非実時間アイソクロノスデータパケットのストリーム内の各非実時間アイソクロノスデータパケットを生成することにより生成され、上記各非実時間アイソクロノスデータパケット内にカプセル化される実時間アイソクロノスデータパケットの数は、上記非実時間アイソクロノスデータパケットの非実時間転送速度に基づいて決定されることを特徴とする請求項２７記載の通信装置。
【請求項２９】
上記非実時間転送速度が実時間転送よりも速い場合、該非実時間転送速度は、実時間転送速度の任意数倍であり、上記各非実時間アイソクロノスデータパケットにカプセル化される実時間アイソクロノスデータパケットの数は、該任意数に対応することを特徴とする請求項２８記載の通信装置。
【請求項３０】
上記非実時間転送速度が実時間転送よりも遅い場合、単一の実時間アイソクロノスデータパケットが各非実時間アイソクロノスデータパケット内にカプセル化され、元の単一の実時間アイソクロノスデータパケットに含まれていたデータの一部のみが非実時間アイソクロノスデータパケットにカプセル化され、元の単一の実時間アイソクロノスデータパケットに含まれていたデータの残りの部分は、後続する１つ以上の非実時間アイソクロノスデータパケットにカプセル化されることを特徴とする請求項２８記載の通信装置。
【請求項３１】
上記非実時間ヘッダは、非実時間アイソクロノスヘッダと、非実時間ＣＩＰヘッダとを有することを特徴とする請求項２８記載の通信装置。
【請求項３２】
上記非実時間アイソクロノスヘッダは、上記非実時間アイソクロノスデータパケットに含まれているデータのデータ量を示すデータ長フィールドを含むことを特徴とする請求項３１記載の通信装置。
【請求項３３】
上記非実時間ＣＩＰヘッダは、上記非実時間アイソクロノスデータパケットが非実時間データ転送用にフォーマットされていることを示すフォーマットフィールドを含むことを特徴とする請求項３１記載の通信装置。
【請求項３４】
上記データストリームは、オーディオ／ビジュアルコンテンツデータを含むことを特徴とする請求項２７記載の通信装置。
【請求項３５】
上記非実時間アイソクロノスデータパケットは、アイソクロノスチャンネルを介して、非実時間で送信されることを特徴とする請求項２７記載の通信装置。
【請求項３６】
上記非実時間アイソクロノスデータパケットは、非同期ストリームを介して、非実時間で送信されることを特徴とする請求項２７記載の通信装置。
【請求項３７】
部分的な実時間アイソクロノスデータパケットが上記非実時間アイソクロノスデータパケットにカプセル化されている場合、実時間アイソクロノスデータパケットの残りの部分は、後続する１つ以上の非実時間アイソクロノスデータパケットにカプセル化されており、該残りの部分を集め、上記部分的な実時間アイソクロノスデータパケットに結合した後に上記処理を行うことを特徴とする請求項２７記載の通信装置。
【請求項３８】
上記送受信回路は、プラグを介して上記アイソクロノスデータパケットを実時間で送信することを特徴とする請求項２７記載の通信装置。
【請求項３９】
上記送受信回路は、プラグを介して上記アイソクロノスデータパケットを実時間で受信することを特徴とする請求項２７記載の通信装置。
【請求項４０】
アイソクロノスデータパケットを非実時間で通信する通信装置において、
ａ．プラグを、上記アイソクロノスデータパケットを非実時間で転送するように構成する構成手段と、
ｂ．データストリームを非実時間転送用に構成されたアイソクロノスデータパケットにパケット化し、非実時間データパケットのストリームを生成するパケット化手段と、
ｃ．上記プラグを介して、非実時間でアイソクロノスデータパケットを通信する送受信手段回路と、
ｄ．転送速度に基づいて個数が決定され、上記各非実時間アイソクロノスデータパケットにカプセル化されている１つ以上の実時間アイソクロノスデータパケットを抽出する逆パケット化回路と、
ｅ．上記構成回路、パケット化回路、送受信回路及び逆パケット化回路に接続され、上記抽出された実時間アイソクロノスデータパケットを処理する制御手段とを備える通信装置。
【請求項４１】
上記非実時間アイソクロノスデータパケットのストリームは、上記データストリームを実時間アイソクロノスデータパケットにパケット化し、１つ以上の実時間アイソクロノスデータパケットを非実時間ヘッダ内にカプセル化して上記非実時間アイソクロノスデータパケットのストリーム内の各非実時間アイソクロノスデータパケットを生成することにより生成され、上記各非実時間アイソクロノスデータパケット内にカプセル化される実時間アイソクロノスデータパケットの数は、上記非実時間アイソクロノスデータパケットの非実時間転送速度に基づいて決定されることを特徴とする請求項４０記載の通信装置。
【請求項４２】
上記非実時間転送速度が実時間転送よりも速い場合、該非実時間転送速度は、実時間転送速度の任意数倍であり、上記各非実時間アイソクロノスデータパケットにカプセル化される実時間アイソクロノスデータパケットの数は、該任意数に対応することを特徴とする請求項４１記載の通信装置。
【請求項４３】
上記非実時間転送速度が実時間転送よりも遅い場合、単一の実時間アイソクロノスデータパケットが各非実時間アイソクロノスデータパケット内にカプセル化され、元の単一の実時間アイソクロノスデータパケットに含まれていたデータの一部のみが非実時間アイソクロノスデータパケットにカプセル化され、元の単一の実時間アイソクロノスデータパケットに含まれていたデータの残りの部分は、後続する１つ以上の非実時間アイソクロノスデータパケットにカプセル化されることを特徴とする請求項４１記載の通信装置。
【請求項４４】
上記非実時間ヘッダは、非実時間アイソクロノスヘッダと、非実時間ＣＩＰヘッダとを有することを特徴とする請求項４１記載の通信装置。
【請求項４５】
上記非実時間アイソクロノスヘッダは、上記非実時間アイソクロノスデータパケットに含まれているデータのデータ量を示すデータ長フィールドを含むことを特徴とする請求項４４記載の通信装置。
【請求項４６】
上記非実時間ＣＩＰヘッダは、上記非実時間アイソクロノスデータパケットが非実時間データ転送用にフォーマットされていることを示すフォーマットフィールドを含むことを特徴とする請求項４４記載の通信装置。
【請求項４７】
上記データストリームは、オーディオ／ビジュアルコンテンツデータを含むことを特徴とする請求項４０記載の通信装置。
【請求項４８】
上記非実時間アイソクロノスデータパケットは、アイソクロノスチャンネルを介して、非実時間で送信されることを特徴とする請求項４０記載の通信装置。
【請求項４９】
上記非実時間アイソクロノスデータパケットは、非同期ストリームを介して、非実時間で送信されることを特徴とする請求項４０記載の通信装置。
【請求項５０】
部分的な実時間アイソクロノスデータパケットが上記非実時間アイソクロノスデータパケットにカプセル化されている場合、実時間アイソクロノスデータパケットの残りの部分は、後続する１つ以上の非実時間アイソクロノスデータパケットにカプセル化されており、該残りの部分を集め、上記部分的な実時間アイソクロノスデータパケットに結合した後に上記処理を行うことを特徴とする請求項４０記載の通信装置。
【請求項５１】
上記送受信回路は、プラグを介して上記アイソクロノスデータパケットを実時間で送信することを特徴とする請求項４０記載の通信装置。
【請求項５２】
上記送受信回路は、プラグを介して上記アイソクロノスデータパケットを実時間で受信することを特徴とする請求項４０記載の通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、非実時間データ転送の技術分野に関する。詳しくは、本発明は、アイソクロノスチャンネル上のアイソクロノスパケット又は非同期ストリームを介して、データを非実時間で送受信するための通信方法、送信方法、受信方法及び通信装置に関する。
【０００２】
【従来の技術】
米国電気電子学会（Institute for Electrical and Electronics Engineers：ＩＥＥＥにより）により承認された「高性能シリアルバスのためのＩＥＥＥ１３９４規格（２０００年版）」は、安価な高速のシリアルバスアーキテクチャを実現する国際規格である。この規格は、例えばオーディオビジュアル機器やパーソナルコンピュータ装置を含むデジタル機器を相互に接続するための汎用の入出力接続を提供する。ＩＥＥＥ１３９４規格（２０００年版）は、非同期フォーマットのデータ転送とアイソクロノスフォーマットのデータ転送（asynchronous and isochronous format data transfer）の両方をサポートしている。非同期データ転送は、転送開始後、ソースノードからデスティネーションノードにデータを可能な限り速く転送する。非同期データ転送に適した転送データの具体例としては、例えば静止画像やテキスト文書のデータ等がある。また、制御コマンドも非同期的に送信することができる。
【０００３】
アイソクロノスデータ転送は、送信アプリケーションと受信アプリケーションの両方における重要なインスタンス（significant instance）間の時間間隔（time interval）が同じ継続時間（duration）を有する実時間データ転送である。データのアイソクロノス的な転送の理想的なアプリケーションの具体例としては、ビデオカメラからテレビジョン受信機へのオーディオ−ビジュアルデータ（ＡＶデータ）のデータ転送がある。ビデオカメラは、音と画像（ＡＶデータ）を記録し、テープ状記録媒体の離散なセグメントに保存する。各パケットに含まれるデータペイロードは、限られた期間に亘って記録された画像及び／又は音を表している。ビデオカメラは、記録した画像及び音を表す各パケットを、テレビジョンセットで表示するために、限られた時間周期で、その周期内で転送する。これにより、転送されたアイソクロノスデータパケットのシーケンスは、例えばテレビジョン番組や動画等のＡＶプログラムを構成する。
【０００４】
ＩＥＥＥ１３９４規格（２０００年版）の標準バスアーキテクチャは、アプリケーション間のアイソクロノスデータ転送のために独立した多数のチャンネル（multiple channel）を提供する。適切なアプリケーションによって確実に受信されるように、６ビットのチャンネル番号が、データとともに報知される。これによって、複数のアプリケーションは、アイソクロノスデータをバス構造を介して、互いに干渉することなく、同時にデータを転送することができる。
【０００５】
ＩＥＥＥ１３９４規格（２０００年版）によって規定されているケーブルは、そのような機器を接続するために用いられている他の嵩張ったケーブルと比較して、サイズが非常に細い。ＩＥＥＥ１３９４規格（２０００年版）のケーブル環境は、ポイントトゥポイントリンクによって接続されたノードのネットワークであり、各リンクは、各ノードの物理的な接続のためのポートと、これらのポート間のケーブルとを含んでいる。ＩＥＥＥ１３９４規格（２０００年版）のシリアルバスのケーブル環境における物理的トポロジは、有限のブランチを有する複数のポートの非環状ネットワーク（non-cyclic network）である。ケーブル環境に対する主な制約は、閉ループを形成することなく、ノードを相互に接続しなくてはならない点である。
【０００６】
ＩＥＥＥ１３９４規格（２０００年版）のバスが活線状態においても、機器を取り付けたり、取り外したりすることができる。機器が取り付けられたり、取り外されたりすると、バスは、それ自体を自動的に再構成し、既存のノード間でデータを転送する。ノードは、バス構造上の固有のアドレスを有する論理構成体（logical entity）とみなされる。各ノードは、識別ＲＯＭ（identification ROM）と、標準化された制御レジスタ（control register）と、それ自身のアドレス空間（address space）のセットを有する。
【０００７】
ＩＥＥＥ１３９４規格（２０００年版）のケーブルは、異なるノード上のポートを相互に接続する。各ポートには、終端器と、送受信機と、論理回路とが含まれる。ノードは、その物理的接続において、複数のポートを有することができる。ケーブルとポートは、ノード間のバス中継器（bus repeater）として機能し、単一の論理バスとして振る舞う。各ノードにおけるケーブルの物理的接続は、１つ以上のポートと、調停論理回路（arbitration logic）と、再同期回路（resynchronizer）と、エンコーダとを含む。各ポートは、ケーブルのコネクタが接続されるケーブル媒体インタフェースを備える。調停論理回路は、ノードのバスへのアクセスを提供する。再同期回路は、データストローブ符号化された受信データビットが供給され、ノード内のアプリケーションによって使用するために、ローカルクロックに同期したデータビットを生成する。エンコーダは、ノードから送信するデータ、或いは再同期回路により受信され、他のノードにアドレスが指定されているデータを、ＩＥＥＥ１３９４規格（２０００年版）のシリアルバスを介して送信するために、データストローブフォーマットにエンコードする。これらのコンポーネントを用いることにより、ケーブル環境における物理的なポイントトゥポイントトポロジであるケーブルの物理的接続は、システムのより上位層によって必要とされる仮想報知バス（virtual broadcast bus）に置き換えられる。このことは、物理的接続である１つのポートにおいて受信される全てのデータを一旦取り込み、これらのデータをローカルクロックに再同期させた後、物理的接続である他の全てのポートに中継して出力することによって、実現される。
【０００８】
ＩＥＥＥ１３９４規格（２０００年版）では、図１に示すようなプロトコルが定義されている。このプロトコルは、シリアルバス管理部１０と、シリアルバス管理部１０に接続されたトランザクション層１２、リンク層１４及び物理層１６とを備える。物理層１６は、機器又はアプリケーションとＩＥＥＥ１３９４規格（２０００年版）のケーブル間の電気的及び機械的接続を提供する。更に、物理層１６は、ＩＥＥＥ１３９４規格（２０００年版）のバスに接続された全ての機器が実際のデータを送受信できるようにするとともに、これらの機器がバスにアクセスすることを確実するための調停（arbitration）を行う。リンク層１４は、非同期データパケット転送とアイソクロノスデータパケット転送の両方のためのパケット配信サービスを提供する。リンク層１４は、承認プロトコル（acknowledgment protocol）を用いて非同期データ転送をサポートするとともに、ジャストインタイムデータ配信（just-in-time data delivery）のための実時間保証帯域幅プロトコル（real-time guaranteed bandwidth protocol）を用いてアイソクロノスデータ転送をサポートする。トランザクション層１２は、リード、ライト、ロック等を含む非同期データ転送の遂行に必要なコマンドをサポートする。シリアルバス管理部１０は、アイソクロノスデータ転送を管理するアイソクロノスリソースマネージャを備える。また、シリアルバス管理部１０は、調停タイミングの最適化、バス上の全ての機器の適切な電力の保証、サイクルマスタの割当、アイソクロノスチャンネル及び帯域リソースの割当、エラーの基本的な通知等により、シリアルバス全体の構成制御を行う。
【０００９】
ＩＥＥＥ１３９４規格（２０００年版）は、バスへのアイソクロノス転送のために情報がカプセル化される構造化されたパケットを定義する。各アイソクロノスデータパケットは、少なくともＩＥＥＥ１３９４規格（２０００年版）のパケットヘッダを含む。パケットヘッダは、パケットの適正な通信に必要なオーバヘッド情報を含む。パケット内のパケットヘッダに続くデータフィールドには、通常、例えばオーディオビジュアルデータ等のコンテンツデータが含まれている。受信機器は、アイソクロノスデータパケットを受信すると、コンテンツデータに、例えば表示等の適切な処理を施すために、ヘッダデータをコンテンツデータから分離する必要がある。更に、タイミングを調整するために、必要に応じて、ヘッダ情報のみを含み、コンテンツデータ部分を含まないアイソクロノスパケットを、ＩＥＥＥ１３９４規格（２０００年版）のバスを介して送信する。
【００１０】
ＩＥＥＥ１３９４規格（２０００年版）のアイソクロノスデータパケットは、アイソクロノス調停を用いてアイソクロノスチャンネルを介して送信され、或いは非同期調停を用いて非同期ストリームを介して送信される。アイソクロノスチャンネルを介して送信を行う場合、アイソクロノスデータパケットは、アイソクロノス期間のみにおいて送信される。アイソクロノス期間は、サイクルマスタによって制御され、サイクルマスタは、サイクルスタートパケットによって期間の開始を通知する。全てのアイソクロノス送信機がデータを送信する機会を有していた後のサブアクションギャップ（subaction gap）が観察されると、アイソクロノス期間は終了する。帯域幅とチャンネル番号の２つのリソースは、それぞれアイソクロノスリソースマネージャレジスタBANDWIDTH_AVAILABLEとアイソクロノスリソースマネージャレジスタCHANNELS_AVAILABLEから割り当てられる。各アイソクロノス期間において、所与のチャンネル番号を用いてアイソクロノスデータパケットを送信できる送信機は、１つのみである。
【００１１】
アイソクロノスチャンネルを介したアイソクロノスデータパケットの転送に関連する上述した条件は、非同期ストリームを用いることにより緩和される。非同期ストリームを用いることにより、アイソクロノスデータパケットは、非同期期間内に送信され、他の要求されたサブアクションと同じ調停要求が課される。チャンネル番号は、アイソクロノスリソースマネージャレジスタCHANNELS_AVAILABLEから割り当てられる。この場合、公正調停（arbitration fairness）では、複数のノードが同じチャンネル番号を用いてアイソクロノスデータパケットを送信でき、或いは同じノードが同じチャンネル番号を用いて複数のアイソクロノスデータパケットを所望の頻度で送信することができる。
【００１２】
ＩＥＥＥ１３９４規格（２０００年版）は、データフィールドのコンテンツデータに対しては、特定のフォーマットを規定していない。特定のフォーマットに基づくコンテンツデータの組織化及びデータフィールドのコンテンツの解釈は、それぞれ送信アプリケーションと受信アプリケーションに任されている。広範囲に亘るデジタル機器間の相互動作性を容易に実現するために、データフィールドには、標準フォーマットに基づいてデータをカプセル化する必要がある。広く採用されているフォーマットの１つに共通アイソクロノスプロトコル（Common Isochronous Protocol：以下、ＣＩＰという。）がある。ＣＩＰ転送プロトコルを使用する場合、データフィールドには、ヘッダとオーディオビジュアルコンテンツデータを格納することができる。データフィールド内のこのヘッダは、ＣＩＰヘッダである。ＣＩＰ転送では、幾つかのデータフィールドには、ＣＩＰヘッダのみが格納される。このようなデータフィールド内のヘッダ及びデータプロトコルの使用方法は、アイソクロノス転送プロトコル（Isochronous Transport Protocol）と呼ばれる。このようなアイソクロノスデータパケットの受信機は、ＩＥＥＥ１３９４規格（２０００年版）のヘッダ情報を受信するまでは、どのパケットがコンテンツデータ部分を含んでいないかを必ずしも予測しなくてもよい。
【００１３】
ＡＶ／Ｃデジタルインタフェースコマンドセット（AV/C Digital Interface Command Set）は、ＩＥＥＥ１３９４規格（２０００年版）のシリアルバスに接続された民生用オーディオ／ビデオ機器間のトランザクションのために使用されるコマンドセットである。このＡＶ／Ｃコマンドセットは、オーディオ／ビデオコマンドの要求及び応答の転送に関して合意された国際規格ＩＥＣ６１８８３に定義されている機能制御プロトコル（Function Control Protocol：ＦＣＰ）を使用する。ＩＥＥＥ１３９４規格（２０００年版）及びＡＣ／Ｃコマンドセットでは、ＩＥＥＥ１３９４規格（２０００年版）のシリアルバスネットワークに接続されている機器間にマスタ−スレーブ関係は存在しない。すなわち、ＩＥＥＥ１３９４規格（２０００年版）のシリアルバス及びＡＶ／Ｃコマンドセットは、ネットワーク内で共存する機器のピアトゥピア方式（peer-to-peer）の相互動作に基づいて機能する。
【００１４】
ＩＥＣ６１８８３規格は、オーディオ／ビデオコマンド要求及び応答の転送のための承認された国際規格である。この規格は、プラグ及びプラグ制御レジスタの概念を用いて、アイソクロノスデータフローの属性（attribute）を管理及び制御する。なお、プラグは、オーディオ／ビデオ機器に物理的に存在するのではなく、情報の各フローが物理的プラグを介してルーティングされる既存のオーディオ／ビデオ機器のアナロジ（analogy）を確立するために使用されるものである。
【００１５】
アイソクロノスデータフローは、ＩＥＥＥ１３９４規格（２０００年版）のシリアルバスのアイソクロノスチャンネルを介してアイソクロノスパケットを送信することにより、１つの送信機器から１つ以上の受信機器に送信される。各アイソクロノスデータフローは、送信機器の１つの出力プラグからアイソクロノスチャンネルを介して送信され、受信機器は、このアイソクロノスチャンネルを介して、１つの入力プラグによりアイソクロノスデータフローを受信する。
【００１６】
出力プラグを用いたアイソクロノスデータフローの送信は、送信機器内の出力プラグ制御レジスタ（output plug control register：ｏＰＣＲ）及び出力マスタプラグレジスタ（output master plug register：ｏＭＰＲ）内のデータに反映される。出力マスタプラグレジスタは、対応する送信機器によって送信された全てのアイソクロノスデータフローに共通する全ての属性を格納する。出力プラグ制御レジスタは、送信機器から送信された他のアイソクロノスデータフローの属性から独立した対応するアイソクロノスデータフローの全ての属性を格納する。
【００１７】
アイソクロノスデータフローの受信は、受信機器内の入力プラグ制御レジスタ（input plug control register：ｉＰＣＲ）及び入力マスタプラグレジスタ（input master plug register：ｉＭＰＲ）内のデータに反映される。入力マスタプラグレジスタは、対応する受信機器によって受信された全てのアイソクロノスデータフローに共通する全ての属性を格納する。入力プラグ制御レジスタは、受信機器によって受信された他のアイソクロノスデータフローの属性から独立した対応するアイソクロノスデータフローの全ての属性を格納する。
【００１８】
アイソクロノスデータフローは、対応するプラグ制御レジスタの内容を変更し、送信を開始又は既存の送信に接続することにより、ＩＥＥＥ１３９４規格（２０００年版）のバスに接続されているいかなる機器からも制御することができる。プラグ制御レジスタは、ＩＥＥＥ１３９４規格（２０００年版）のバスの非同期トランザクションを介して変更することができ、或いはプラグ制御レジスタが制御機器内にある場合には内部的に変更することができる。
【００１９】
ＩＥＥＥ１３９４規格（２０００年版）のバス上の２つのオーディオ／ビデオ機器間でアイソクロノスデータを転送するためには、アプリケーションは、アイソクロノスチャンネルを用いて送信機器の出力プラグを受信機器の入力プラグに仮想的に接続する必要がある。１つの入力プラグと１つの出力プラグと１つのアイソクロノスチャンネルの関係は、ポイントトゥポイント接続と呼ばれる。ポイントトゥポイント接続は、この接続を確立したアプリケーションのみによって終了することができる。アプリケーションは、入力プラグ又は出力プラグをアイソクロノスチャンネルに接続することにより、自らの機器においてアイソクロノスデータの送信又は受信を開始することができる。１つの出力プラグと１つのアイソクロノスチャンネルの関係は、報知送信接続（broadcast-out connection）と呼ばれる。一方、１つの入力プラグと１つのアイソクロノスチャンネルの関係は、報知受信接続（broadcast-in connection）と呼ばれる。報知送信接続と報知受信接続は、まとめて報知接続（broadcast connections）と呼ばれる。報知接続は、プラグを有する機器によってのみ確立されるが、この接続は、いかなる機器によっても終了することができる。
【００２０】
【発明が解決しようとする課題】
５Ｃデジタル転送コンテンツ保護（Digital Transmission Content Protection：ＤＴＣＰ）は、オーディオ／ビデオ（Ａ／Ｖ）機器のコンテンツが、例えばＩＥＥＥ１３９４規格（２０００年版）のシリアルバスに準拠した高性能シリアルバス等のデジタル転送メカニズムを介して転送される際に、そのコンテンツが不正にコピーされ、傍受され、又は改竄されることを防止するための暗号化プロトコルを定義している。このコピー保護システムは、ソース機器から例えばＤＶＤコンテンツスクランブリング装置（DVD Content Scrambling System）等の他の認証されているコピー保護装置に配信された正当なＡ／Ｖコンテンツのみを保護する。デジタル転送ライセンス付与アドニミストレータ（Digital Transmission Licensing Administrator：ＤＴＬＡ）は、５Ｃ ＤＴＣＰ仕様書に規定されているコンテンツ保護システムを確立し管理する責任を負う。５Ｃ ＤＴＣＰ ＤＴＬＡライセンス付与規則では、暗号化されたオーディオ／ビデオデジタルコンテンツは、非同期ブロックデータ転送を用いて転送することができない。一方、アイソクロノスパケットを用いて暗号化されたオーディオ／ビデオデジタルコンテンツを送受信することは、５Ｃ ＤＴＣＰ ＤＴＬＡライセンス付与規則において認められている。
【００２１】
従来の多くのシステムは、非同期データパケットを用いて、非実時間でコンテンツを転送していた。しかしながら、非同期データパケットの転送には、５Ｃコピー保護が適用されない。すなわち、５Ｃコピー保護を適用するためには、アイソクロノスデータパケットを用いる必要がある。しかしながら、アイソクロノスデータパケットは、現在のところ、実時間で転送されている。
【００２２】
本発明は上述の課題に鑑みてなされたものであり、本発明の目的は、アイソクロノスデータパケットを非実時間で転送することができる通信方法、送信方法、受信方法及び通信装置を提供することである。
【００２３】
【課題を解決するための手段】
本発明は、アイソクロノスデータパケットを実時間で転送しなくてはならないという制約を克服する。本発明に基づく通信方法では、アイソクロノスデータパケットを任意速度でダビングすることができる。この通信方法は、ソース機器のソースプラグ及びデスティネーション機器のデスティネーションプラグを、それぞれアイソクロノスパケットを非実時間で送信又は受信するように構成する。そして、データストリームを非実時間転送用に構成されたアイソクロノスデータパケットにパケット化し、非実時間データパケットのストリームを生成する。各非実時間アイソクロノスデータパケットは、まず、データストリームを従来の実時間ヘッダ及びデータペイロードを含む実時間アイソクロノスデータパケットにパケット化することにより生成される。そして、部分的な実時間アイソクロノスデータパケット又は複数の実時間アイソクロノスデータパケットが非実時間アイソクロノスデータパケットのデータペイロード部分にカプセル化される。非実時間アイソクロノスデータパケットは、データペイロード部分に加えて、非実時間ヘッダを含む。好ましくは、非実時間ヘッダは、非実時間アイソクロノスデータパケットのデータペイロード部分のデータ長を示すアイソクロノスヘッダと、非実時間フォーマットを示すＣＩＰヘッダとを含む。非実時間アイソクロノスデータパケット転送の転送速度に応じて、部分的な又は複数の実時間アイソクロノスデータパケットがカプセル化される。転送速度が実時間転送よりも遅い場合、部分的な実時間アイソクロノスデータパケットが非実時間アイソクロノスデータパケットにカプセル化される。部分的実時間アイソクロノスデータパケットは、元の実時間ヘッダと、元のデータペイロードの一部とを含んでいる。元のデータペイロードの残りの部分は、後続する１つ以上の実時間アイソクロノスデータパケットにパケット化され、各追加的な実時間アイソクロノスデータパケットのヘッダは、元の実時間ヘッダのコピーであり、各追加的な実時間アイソクロノスデータパケットは、後続する非実時間アイソクロノスデータパケットにカプセル化される。
【００２４】
転送速度が実時間転送よりも速い場合、複数の実時間アイソクロノスデータパケットが単一の非実時間アイソクロノスデータパケットにカプセル化される。例えば、転送速度が実時間の３倍である場合、各非実時間アイソクロノスデータパケットには、それぞれ３つの実時間アイソクロノスデータパケットがカプセル化される。
【００２５】
非実時間アイソクロノスデータパケットは、ソース機器からソースプラグを介して送信され、デスティネーション機器がデスティネーションプラグを介して受信する。非実時間アイソクロノスデータパケットが受信されると、ＣＩＰヘッダが読み出され、受信アイソクロノスデータパケットが非実時間転送用にフォーマットされていることが判定される。この非実時間ヘッダは、分離され、非実時間アイソクロノスデータパケットのデータペイロード部分に部分的な実時間アイソクロノスデータパケットがカプセル化されているか、複数の実時間アイソクロノスデータパケットがカプセル化されているかが判定される。複数の実時間アイソクロノスデータパケットが含まれている場合、各実時間アイソクロノスデータパケットは、従来と同様の手法により処理される。一方、部分的な実時間アイソクロノスデータパケットが含まれている場合、デスティネーション機器が元のペイロードデータの残りの部分を含む後続する非実時間アイソクロノスデータパケットを受信するまで、先に受信した部分的なパケットが保持される。そして、元のデータペイロード全体が受信されると、元の実時間アイソクロノスデータパケットが処理される。
【００２６】
上述の課題を解決するために、本発明に係る通信方法は、アイソクロノスデータパケットを任意速度でダビングする通信方法において、送信機器の送信プラグを、アイソクロノスデータパケットを非実時間で送信するように構成するステップと、受信機器の受信プラグを、アイソクロノスデータパケットを非実時間で受信するように構成するステップと、データストリームを非実時間転送用に構成されたアイソクロノスデータパケットにパケット化し、非実時間データパケットのストリームを生成するステップと、非実時間データパケットを送信機器の送信プラグから受信機器の受信プラグに送信するステップとを有する。非実時間アイソクロノスデータパケットのストリームは、例えば、データストリームを実時間アイソクロノスデータパケットにパケット化し、１つ以上の実時間アイソクロノスデータパケットを非実時間ヘッダ内にカプセル化して非実時間アイソクロノスデータパケットのストリーム内の各非実時間アイソクロノスデータパケットを生成することにより生成され、各非実時間アイソクロノスデータパケット内にカプセル化される実時間アイソクロノスデータパケットの数は、非実時間アイソクロノスデータパケットの非実時間転送速度に基づいて決定される。非実時間転送速度が実時間転送よりも速い場合、この非実時間転送速度は、実時間転送速度の任意数倍であり、各非実時間アイソクロノスデータパケットにカプセル化される実時間アイソクロノスデータパケットの数は、この任意数に対応する。非実時間転送速度が実時間転送よりも遅い場合、単一の実時間アイソクロノスデータパケットが各非実時間アイソクロノスデータパケット内にカプセル化され、元の単一の実時間アイソクロノスデータパケットに含まれていたデータの一部のみが非実時間アイソクロノスデータパケットにカプセル化され、元の単一の実時間アイソクロノスデータパケットに含まれていたデータの残りの部分は、後続する１つ以上の非実時間アイソクロノスデータパケットにカプセル化される。非実時間ヘッダは、非実時間アイソクロノスヘッダと、非実時間ＣＩＰヘッダとを有していてもよい。非実時間アイソクロノスヘッダは、非実時間アイソクロノスデータパケットに含まれているデータのデータ量を示すデータ長フィールドを含んでいてもよい。非実時間ＣＩＰヘッダは、非実時間アイソクロノスデータパケットが非実時間データ転送用にフォーマットされていることを示すフォーマットフィールドを含んでいてもよい。データストリームは、オーディオ／ビジュアルコンテンツデータを含んでいてもよい。非実時間アイソクロノスデータパケットは、アイソクロノスチャンネルを介して、非実時間で送信してもよく、非同期ストリームを介して、非実時間で送信してもよい。
【００２７】
また、上述の課題を解決するために、本発明に係る送信方法は、アイソクロノスデータパケットを非実時間で送信する送信方法において、ソース機器のソースプラグを、アイソクロノスデータパケットを非実時間で送信するように構成するステップと、データストリームを実時間アイソクロノスデータパケットにパケット化するステップと、送信すべきアイソクロノスデータパケットの転送速度を判定するステップと、部分的な実時間アイソクロノスデータパケット又は非実時間アイソクロノスデータパケットの非実時間転送速度に基づいて個数が決定された複数の実時間アイソクロノスデータパケットを非実時間アイソクロノスデータパケット内にカプセル化するステップと、ソースプラグを介して、非実時間アイソクロノスデータパケットを送信するステップとを有する。転送速度が実時間転送よりも速い場合、複数の実時間アイソクロノスデータパケットが非実時間アイソクロノスデータパケットにカプセル化される。転送速度が実時間転送よりも遅い場合、部分的な実時間アイソクロノスデータパケットが非実時間アイソクロノスデータパケットにカプセル化され、実時間アイソクロノスデータパケットの残りの部分は、後続する１つ以上の非実時間アイソクロノスデータパケットにカプセル化される。各非実時間パケットは、非実時間アイソクロノスヘッダと、非実時間ＣＩＰヘッダとを有していてもよい。非実時間アイソクロノスヘッダは、非実時間アイソクロノスデータパケットに含まれているデータのデータ量を示すデータ長フィールドを含んでいてもよい。非実時間ＣＩＰヘッダは、非実時間アイソクロノスデータパケットが非実時間データ転送用にフォーマットされていることを示すフォーマットフィールドを含んでいてもよい。データストリームは、オーディオ／ビジュアルコンテンツデータを含んでいてもよい。非実時間アイソクロノスデータパケットは、アイソクロノスチャンネルを介して、非実時間で送信してもよく、非同期ストリームを介して、非実時間で送信してもよい。
【００２８】
また、上述の課題を解決するために、本発明に係る受信方法は、アイソクロノスデータパケットを非実時間で受信する受信方法において、デスティネーション機器のデスティネーションプラグを、アイソクロノスデータパケットを非実時間で受信するように構成するステップと、デスティネーションプラグを介してアイソクロノスデータパケットを受信するステップと、受信アイソクロノスデータパケットのフォーマットを判定するステップと、受信アイソクロノスデータパケットのフォーマットが非実時間アイソクロノスデータパケットを示している場合、この非実時間アイソクロノスデータパケットの転送速度を判定するステップと、非実時間アイソクロノスデータパケット内にカプセル化されている部分的な実時間アイソクロノスデータパケット又は非実時間アイソクロノスデータパケットの非実時間転送速度に基づいて個数が決定された複数の実時間アイソクロノスデータパケットを抽出するステップと、実時間アイソクロノスデータパケットを処理するステップとを有する。部分的な実時間アイソクロノスデータパケットが非実時間アイソクロノスデータパケットにカプセル化されている場合、実時間アイソクロノスデータパケットの残りの部分は、後続する１つ以上の非実時間アイソクロノスデータパケットにカプセル化されており、この残りの部分を集め、部分的な実時間アイソクロノスデータパケットに結合した後に処理を行う。各非実時間パケットは、非実時間アイソクロノスヘッダと、非実時間ＣＩＰヘッダとを有していてもよい。非実時間アイソクロノスヘッダは、非実時間アイソクロノスデータパケットに含まれているデータのデータ量を示すデータ長フィールドを含んでいてもよい。非実時間ＣＩＰヘッダは、非実時間アイソクロノスデータパケットが非実時間データ転送用にフォーマットされていることを示すフォーマットフィールドを含んでいてもよい。データストリームは、オーディオ／ビジュアルコンテンツデータを含んでいてもよい。
【００２９】
また、上述の課題を解決するために、本発明に係るプラグ構成方法は、アイソクロノスデータパケットの非実時間ストリームをサポートするようにプラグを構成するプラグ構成方法において、プラグ構成情報ブロック内に非実時間プラグ転送情報ブロックを組み込むステップと、非実時間プラグ転送情報ブロック内に、アイソクロノスデータパケットの非実時間ストリームを示す非実時間情報タイプを定義するステップと、非実時間プラグ転送情報ブロック内の帯域幅値を、アイソクロノスデータパケットの非実時間ストリームのバス帯域幅に対応するように設定するステップと、非実時間プラグ転送情報ブロック内のイネーブルフィールドを、プラグによるアイソクロノスデータパケットの非実時間ストリームのサポートをイネーブルにするように設定するステップとを有する。
【００３０】
また、上述の課題を解決するために、本発明に係る通信装置は、アイソクロノスデータパケットを非実時間で通信する通信装置において、プラグを、アイソクロノスデータパケットを非実時間で転送するように構成する構成回路と、データストリームを非実時間転送用に構成されたアイソクロノスデータパケットにパケット化し、非実時間データパケットのストリームを生成するパケット化回路と、プラグを介して、非実時間でアイソクロノスデータパケットを通信する送受信回路と、各非実時間アイソクロノスデータパケットにカプセル化されている１つ以上の実時間アイソクロノスデータパケットを抽出する逆パケット化回路と、構成回路、パケット化回路、送受信回路及び逆パケット化回路に接続され、抽出された実時間アイソクロノスデータパケットを処理するコントローラとを備える。非実時間アイソクロノスデータパケットのストリームは、データストリームを実時間アイソクロノスデータパケットにパケット化し、１つ以上の実時間アイソクロノスデータパケットを非実時間ヘッダ内にカプセル化して非実時間アイソクロノスデータパケットのストリーム内の各非実時間アイソクロノスデータパケットを生成することにより生成され、各非実時間アイソクロノスデータパケット内にカプセル化される実時間アイソクロノスデータパケットの数は、非実時間アイソクロノスデータパケットの非実時間転送速度に基づいて決定される。非実時間転送速度が実時間転送よりも速い場合、この非実時間転送速度は、実時間転送速度の任意数倍であり、各非実時間アイソクロノスデータパケットにカプセル化される実時間アイソクロノスデータパケットの数は、この任意数に対応する。非実時間転送速度が実時間転送よりも遅い場合、単一の実時間アイソクロノスデータパケットが各非実時間アイソクロノスデータパケット内にカプセル化され、元の単一の実時間アイソクロノスデータパケットに含まれていたデータの一部のみが非実時間アイソクロノスデータパケットにカプセル化され、元の単一の実時間アイソクロノスデータパケットに含まれていたデータの残りの部分は、後続する１つ以上の非実時間アイソクロノスデータパケットにカプセル化される。非実時間ヘッダは、非実時間アイソクロノスヘッダと、非実時間ＣＩＰヘッダとを有していてもよい。非実時間アイソクロノスヘッダは、非実時間アイソクロノスデータパケットに含まれているデータのデータ量を示すデータ長フィールドを含んでいてもよい。非実時間ＣＩＰヘッダは、非実時間アイソクロノスデータパケットが非実時間データ転送用にフォーマットされていることを示すフォーマットフィールドを含んでいてもよい。データストリームは、オーディオ／ビジュアルコンテンツデータを含んでいてもよい。非実時間アイソクロノスデータパケットは、アイソクロノスチャンネルを介して、非実時間で送信してもよく、非同期ストリームを介して、非実時間で送信してもよい。部分的な実時間アイソクロノスデータパケットが非実時間アイソクロノスデータパケットにカプセル化されている場合、実時間アイソクロノスデータパケットの残りの部分は、後続する１つ以上の非実時間アイソクロノスデータパケットにカプセル化されており、この残りの部分を集め、部分的な実時間アイソクロノスデータパケットに結合した後に処理を行う。送受信回路は、プラグを介してアイソクロノスデータパケットを実時間で送信し、及びプラグを介してアイソクロノスデータパケットを実時間で受信する
【００３１】
【発明の実施の形態】
以下、本発明に係る通信方法、送信方法、受信方法及び通信装置について、図面を参照して詳細に説明する。
【００３２】
本発明は、アイソクロノスデータパケットを実時間（real-time）で転送しなくてはならないという制約を克服する。本発明に基づく通信方法では、オーディオ／ビデオ（Ａ／Ｖ）デジタルコンテンツをアイソクロノスデータパケットとして非実時間（non real-time）で配信することができる。暗号化されたＡ／Ｖデジタルコンテンツを送受信するための５Ｃ ＤＴＣＰ ＤＴＬＡ規則に適合するために、アイソクロノスデータを、非同期データパケットではなく、アイソクロノスデータパケットとしてパケット化することは重要である。５Ｃ ＤＴＣＰ ＤＴＬＡライセンス付与規則によれば、暗号化されたＡ／Ｖデジタルデータは、非同期データパケットとしては転送することができない。非同期転送は、実時間転送より速い場合もあれば、遅い場合もある。非同期転送は、例えばデジタルオーディオコンテンツをダビングする場合等においては、実時間転送よりも速く、例えばＡ／Ｖコンテンツを後で視聴するために、非ピーク時間帯（non peak hours）であって、データの転送により狭い帯域幅が要求される時間帯にＡ／Ｖコンテンツを記録する場合等においては、実時間転送よりも遅い。データの転送は、好ましくは、ＩＥＥＥ１３９４規格（２０００年版）のシリアルバスを介して行う。実時間転送よりも遅い転送は、好ましくは、ＩＥＥＥ１３９４規格（２０００年版）のアイソクロノス調停に基づき、アイソクロノスチャンネルを介して、アイソクロノスデータパケットを用いて行われる。或いは、実時間転送よりも遅い転送は、ＩＥＥＥ１３９４規格（２０００年版）の非同期調停に基づき、非同期ストリームを介して、アイソクロノスデータパケットを用いて行われる。なお、非同期転送は、非同期サイクル内の利用可能なタイムスロットにより行われるため、非同期転送では、利用可能な帯域幅が保証されていない。したがって、実時間転送よりも速い転送では、アイソクロノスチャンネルを介してアイソクロノスデータパケットを用いた転送を行うことが望ましい。実時間転送よりも速い転送では、アイソクロノスリソースマネージャ（Isochronous Resource Manager：以下、ＩＲＭという。）によって転送前に確保されている帯域幅を用いて転送を行う。帯域幅を確保することにより、転送速度が保証される。
【００３３】
Ａ／Ｖデジタルデータは、好ましくは、アイソクロノスデータパケットとしてパケット化され、ＩＥＥＥ１３９４規格（２０００年版）のシリアルバスネットワーク内のＡＶ／Ｃに準拠した機器間で、非実時間送受される。図２は、機器ネットワークの具体例を示すブロック図であり、機器ネットワークは、ビデオカメラ２８と、ビデオテープレコーダ（video tape recorder：以下、ＶＴＲという。）３０と、セットトップボックス２６と、テレビジョン受像機２４と、パーソナルコンピュータ装置２０と、オーディオ／ビデオハードディスクドライブ（audio/video hard disk drives：以下、ＡＶＨＤＤという。）３６とを備え、これらは、ＩＥＥＥ１３９４規格（２０００年版）のケーブル４０、４２、４８、５０、５０によって相互に接続されている。ＩＥＥＥ１３９４規格（２０００年版）のケーブル５０によって、ビデオカメラ２８はＶＴＲ３０に接続され、ビデオカメラ２８は、録画のためのコマンド及びパラメータをＶＴＲ３０に送信することができる。ＩＥＥＥ１３９４規格（２０００年版）のケーブル４８によって、ＶＴＲ３０とパーソナルコンピュータ装置（以下、単にコンピュータ装置という。）２０は接続されている。ＩＥＥＥ１３９４規格（２０００年版）のケーブル４２によって、コンピュータ装置２０とＡＶＨＤＤ３６は接続されている。ＩＥＥＥ１３９４規格（２０００年版）のケーブル４０によって、コンピュータ装置２０とテレビジョン受像機２４は接続されている。ＩＥＥＥ１３９４規格（２０００年版）のケーブル５２によって、テレビジョン受像機２４とセットトップボックス２６は接続されている。
【００３４】
図２に示す構成は、単なる例示にすぎない。この他の様々な機器の組合せによりオーディオ／ビデオネットワークを構成できることは明らかである。ＩＥＥＥ１３９４規格（２０００年版）に基づくネットワーク内の各機器又は装置は、自律的な装置であり、すなわち、例えば図２に示すネットワークにおいて、コンピュータ装置２０も複数の装置のうちの１つにすぎず、コンピュータ装置２０と他の装置との間に真のマスタ−スレーブ関係は存在しない。ＩＥＥＥ１３９４規格（２０００年版）のネットワーク構成において、コンピュータ装置が接続されていないことも多い。このような構成においも、ネットワーク内の装置は、ピアトゥピア方式（peer-to-peer）により互いに完全にインタラクトすることができる。なお、ＩＥＥＥ１３９４規格（２０００年版）に基づくネットワーク内の全ての装置間で、必要に応じて、データ、コマンド、パラメータを送受することができる。
【００３５】
図３は、コンピュータ装置２０の内部構成を示すブロック図である。なお、図３において、図１〜図９と共通の要素には、同一の符号を付している。コンピュータ装置２０は、中央演算処理装置（central processor unit：以下、ＣＰＵという。）１２０と、主メモリ１３０と、ビデオメモリ１２２と、マスストレージ装置１３２と、モデム１３６と、ＩＥＥＥ１３９４規格（２０００年版）のインタフェース回路１２８とを備え、これらは全て一般的な双方向システムバス１３４を介して相互に接続されている。モデム１３６は、好ましくは公衆電話網（public switched telephone network：ＰＳＴＮ）に接続されている。インタフェース回路１２８は、ＩＥＥＥ１３９４規格（２０００年版）のシリアルバスとデータを送受するための物理インタフェース回路１４２を備える。物理インタフェース回路１４２は、ＩＥＥＥ１３９４（２０００年版）のシリアルバスケーブル４０を介してテレビジョン受像器２４に接続されており、ＩＥＥＥ１３９４規格（２０００年版）のシリアルバスケーブル４８を介してＶＴＲ３０に接続されており、ＩＥＥＥ１３９４規格（２０００年版）のシリアルバスケーブル４２を介してＡＶＨＤＤ３６に接続されている。本発明の好ましい具体例においては、インタフェース回路１２８は、コンピュータ装置２０内のＩＥＥＥ１３９４規格（２０００年版）のインタフェースカードとして実現されている。ここで、インタフェース回路１２８は、コンピュータ装置２０内において、マザーボードにインタフェース回路を組み込む等、適切ないかなる手法により実装してもよいことは当業者にとって明らかである。マスストレージ装置１３２は、磁気ストレージ技術、光ストレージ技術、光磁気ストレージ技術及び利用可能なこの他のマスストレージ技術のうちの１つ以上の技術を用いて、固定媒体として実現してもよく、リムーバブル媒体として実現してもよい。システムバス１３４には、ビデオメモリ１２２、主メモリ１３０の任意の領域を指定するためのアドレスバスを含んでいる。更に、システムバス１３４は、ＣＰＵ１２０、主メモリ１３０、ビデオメモリ１２２、マスストレージ装置１３２、モデム１３６、インタフェース回路１２８間でデータを転送するためのデータバスを含んでいる。
【００３６】
コンピュータ装置２０は、キーボード１３８、マウス１４０、表示装置２２等の周辺入出力装置を備えている。キーボード３８は、ＣＰＵ１２０に接続されており、これにより、ユーザはコンピュータ装置２０にデータを入力し及びコンピュータ装置２０を制御することができる。マウス４０は、キーボード３８に接続されたカーソル制御装置であり、これにより、ユーザは表示装置２２上のグラフィック画像を操作することができる。上述のように、ユーザは、コンピュータ装置２０を用いて、コンテンツプロバイダとのトランザクションを開始することができる。
【００３７】
ビデオメモリ１２２の出力ポートは、ビデオ多重化／シフト回路（video multiplex and shifter circuit）１２４に接続されており、ビデオ多重化／シフト回路１２４は、ビデオ増幅回路１２６に接続されている。ビデオ増幅回路１２６は、表示装置２２を駆動する。ビデオ多重化／シフト回路１２４及びビデオ増幅回路１２６は、ビデオビデオメモリ１２２に格納されているピクセルデータを表示装置２２において用いるのに適したラスタ信号に変換する。
【００３８】
アイソクロノスデータパケットを非実時間で転送するには、２つの問題がある。第１の問題は、非実時間ストリームをサポートするＡＶ／ＣソースプラグとＡＶ／Ｃデスティネーションプラグとを構成（configuring）する問題である。第２の問題は、非実時間で転送するために、Ａ／Ｖデジタルコンテンツをパケット化する問題である。本発明に基づく送信方法は、好ましくは、ＡＶ／Ｃ規格及びＩＥＣ６１８８３規格のコンテキスト内で、これらの２つの問題を解決する。
【００３９】
既存のＡＶ／Ｃ規格のフレームワーク内では、情報ブロック（information block）は、ＡＶ／Ｃ機器に情報を提供するために用いられている。情報ブロックは、データ構造である。情報ブロックは、実行中に、ローカルメモリ内において実時間で生成される。詳しくは、ＡＶ／Ｃ規格では、アイソクロノスチャンネルを介してアイソクロノスデータパケットを実時間で転送するのためのＡＶ／Ｃデバイスプラグを構成するプラグ構成情報ブロックが提供されている。この既存のプラグ構成情報ブロック用のコードは、８８０７１６である。ホストコントローラＡＶ／Ｃ機器とターゲットＡＶ／Ｃ機器との間で通信を行うために、情報ブロックは、これらの２つの機器間で情報を伝達するメカニズムを有している。各情報ブロックの有効期間は、通常、現在のプラグ構成情報ブロックのコンテキスト内において、プラグがアクティブとされている期間に対応する。プラグ構成情報ブロックには、例えばデジタルビデオ（ＤＶ）、ＭＰＥＧ、オーディオタイプデータ等のプラグを介して転送されるデータの種類を示す情報ブロックを含む他の情報ブロックが含まれている。ＡＶ／Ｃ規格では、既存の情報ブロックの内容を変更することができない。更に情報を追加する場合、ＡＶ／Ｃ規格では、更に情報を提供する新たな情報ブロックを追加することを認めている。
【００４０】
本発明に基づく送信方法では、プラグ構成情報ブロック（８８０７１６）に組み込まれる新たな情報ブロックを作成する。新たな情報ブロックは、非実時間Ａ／Ｖデジタルコンテンツの送信／受信のためのプラグを構成するための非実時間プロパティを定義する。新たな情報ブロックは、非実時間ストリーム転送のためのイネーブルフィールドと、非実時間転送速度に関し、転送に使用されるバス帯域幅の情報とを含む。この新たに組み込む情報ブロックは、拡張のためにデバイスサブユニットを追加するためのＡＶ／Ｖワーキンググループのガイドラインに適合している。プラグ構成情報ブロック内に、この新たな情報ブロックがない場合、Ａ／Ｖコンテンツの送信／受信が実時間で実行されることが示される。
【００４１】
既存のプラグ構成情報ブロック内に組み込む新たな情報ブロックを、非実時間プラグ転送情報ブロック（non real-time plug information）と呼ぶ。この非実時間プラグ転送情報ブロックを図４に示す。非実時間プラグ転送情報ブロック２００は、compound_lengthフィールドと、info_block_typeフィールドと、primary_fields_lengthフィールドと、enableフィールドと、bandwidthフィールドとを有する。各フィールドのビットフォーマットは、ＡＶ／Ｃ規格に基づいて定められている。compound_lengthフィールドは、このcompound_lengthフィールドに続く非実時間プラグ転送情報ブロック２００内の残りのバイト数を特定するフィールドである。info_block_typeフィールドには、非実時間プラグ転送情報ブロック２００がプラグの非実時間パラメータを記述することを示すコードが設定される。primary_fields_lengthフィールドは、この具体例においては、アドレス０００７１６までの非実時間プラグ転送情報ブロック２００の残りのバイト数を特定するフィールドである。図４に示す非実時間プラグ転送情報ブロック２００においては、primary_fields_lengthフィールドは、２に設定される。enableフィールドには、プラグが非実時間Ａ／Ｖコンテンツ送信／受信用に構成されているか否かを示す値が設定される。enableフィールドは、値が格納されていない場合、プラグが実時間Ａ／Ｖコンテンツ送信／受信用に構成されていることを示す。bandwidthフィールドは、データストリーム転送の公称速度（nominal rate）を示す。bandwidthフィールドの値は、アイソクロノスリソースマネージャによって確保されているＩＥＥＥ１３９４規格（２０００年版）のシリアルバスにおける帯域幅によって定義される。論理的には、bandwidthフィールドの値は、例えば、実時間速度の１／２、実時間速度の２倍、実時間速度の３倍等、データ転送の速度を定義する。
【００４２】
非実時間プラグ転送情報ブロックを用いた適正なプラグ構成は、非実時間データ転送のために送信ＡＶ／Ｃ機器及び受信ＡＶ／Ｃ機器を準備するために必要である。次に、非実時間送信のために、Ａ／Ｖストリームコンテンツを構成する。
【００４３】
本発明に基づく送信方法は、送信機器において、まず、実時間送信と同様の手法でＡ／Ｖストリームコンテンツを準備する。ＡＶ／Ｃストリームコンテンツは、従来の手法により、実時間送信用に準備される。ＩＥＥＥ１３９４規格（２０００年版）のアイソクロノスデータパケット（以下、単にＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットという。）は、ヘッダ部分とデータ部分を有する。ヘッダ部分には、まず、ＩＥＥＥ１３９４規格（２０００年版）に基づき、ＩＥＥＥ１３９４（２０００年版）アイソクロノスヘッダが付与される。次に、ＩＥＣ６１８８３規格に基づくＩＥＣ６１８８３ＣＩＰヘッダがヘッダ部分に追加される。データ部分は、Ａ／Ｖストリームコンテンツの連続的な部分を解析（parse）し、ＩＥＣ６１８８３規格に基づいた部分をデータ部分に追加することにより生成される。これにより、ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットは、Ａ／Ｖストリームコンテンツの連続的な部分を含むように生成される。図５は、実時間転送用にフォーマットされたＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケット３００の構成を示している。アイソクロノスデータパケット３００のヘッダ部分は、ＩＥＥＥ１３９４（２０００年版）アイソクロノスヘッダ３１０と、ＩＥＣ６１８８３ＣＩＰヘッダ３２０とを含んでいる。アイソクロノスデータパケット３００のデータ部分は、Ａ／Ｖコンテンツデータ３３０の連続的な部分を含んでいる。
【００４４】
アイソクロノスヘッダ３１０は、出力プラグ構成情報ブロックにおいて割り当てられる帯域幅に適合する値が格納されたdata_lengthフィールドを含んでいる。data_lengthフィールドは、ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケット３００に含まれているデータ量を示している。ＣＩＰヘッダ３２０は、アイソクロノスデータパケット３００のデータ部分に格納されているＡ／Ｖストリームの部分のフォーマットを示す値が格納されたfmtフィールドを含んでいる。実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケット３００のfmtフィールドの値は、フォーマットが実時間であることを示している。
【００４５】
本発明に基づく送信方法においては、実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットは、非実時間Ａ／Ｖコンテンツ用に同定されるアイソクロノスヘッダ及びＣＩＰヘッダ内にカプセル化され、これにより非実時間パケットが形成される。換言すると、この送信方法は、パケット化された既存の実時間Ａ／Ｖコンテンツに他のＩＥＥＥ１３９４（２０００年版）アイソクロノスヘッダ及びＩＥＣ６１８８３ＣＩＰヘッダを追加することにより、このＡ／Ｖコンテンツをカプセル化又は再ラップ（re-wrap）する。追加されたアイソクロノスヘッダ内のdata_lengthフィールドには、再ラップされた非実時間パケットのサイズを示す値が格納される。追加されたＣＩＰヘッダ内のfmtフィールドは、非実時間Ａ／Ｖコンテンツを示す。各非実時間パケット内にカプセル化される実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットの数は、非実時間転送の転送速度に応じて決定される。例えば、非実時間転送が実時間転送の２倍の速度を有している場合、２つの実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットが非実時間パケット内にカプセル化される。
【００４６】
図６は、実時間転送速度の２倍の転送速度で送信される非実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットの構成を示している。非実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケット４００は、非実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスヘッダ４１０と、非実時間ＩＥＣ６１８８３ＣＩＰヘッダ４２０と、カプセル化されたデータ部分４３０とを含んでいる。カプセル化されたデータ部分４３０は、ＩＥＥＥ１３９４規格（２０００年版）に準拠した２つの実時間のアイソクロノスデータパケット（以下、単に実時間アイソクロノスデータパケットという。）３００Ａ、３００Ｂを含んでいる。実時間アイソクロノスデータパケット３００Ａ、３００Ｂは、それぞれＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケット３００と同様にフォーマットされ、Ａ／Ｖストリームコンテンツの連続する部分を表している。実時間アイソクロノスデータパケット３００Ａ、３００Ｂの各ＣＩＰヘッダのfmtフィールドには、実時間転送を示す値が格納されている。一方、ＣＩＰヘッダ４２０のfmtフィールドには、非実時間転送を示す値が格納される。実時間アイソクロノスデータパケット３００Ａ、３００Ｂの各アイソクロノスヘッダのdata_lengthフィールドには、実時間転送に必要な帯域幅に対応するデータ量を示す値が格納されている。非実時間アイソクロノスヘッダ４１０のdata_lengthフィールドには、非実時間転送に割り当てられている帯域幅に対応する値が格納される。非実時間アイソクロノスヘッダ４１０のdata_lengthフィールドは、アイソクロノスヘッダ、ＣＩＰヘッダ及びカプセル化されたデータを含む実時間アイソクロノスデータパケット３００Ａ、３００Ｂのそれぞれのサイズの合計に等しい。ここでは、単一の実時間アイソクロノスデータパケットを各サイクル毎に送信するのではなく、２つの実時間アイソクロノスデータパケットを含む非実時間アイソクロノスデータパケットを各サイクル毎に送信する。
【００４７】
図７は、実時間転送速度の１／２の速度で送信される実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットの構成を示している。非実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケット５００は、非実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスヘッダ５１０と、非実時間ＩＥＣ６１８８３ＣＩＰヘッダ５２０と、カプセル化されたデータ部分５３０とを含んでいる。カプセル化されたデータ部分５３０は、ＩＥＥＥ１３９４規格（２０００年版）に準拠した１つの実時間のアイソクロノスデータパケット３００Ｃを含んでいる。実時間アイソクロノスデータパケット３００Ｃは、それぞれＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケット３００と同様にフォーマットされているが、ここに含まれているデータは、実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケット３００の１／２のデータのみである。送信機器のコントローラは、実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケット３００のデータ部分を半分に分割する。コントローラは、好ましくは、データ部分内のクワドレット（quadlet）をカウントし、クワドレットの総数を２で割る。実時間アイソクロノスデータパケット３００Ｃのアイソクロノスヘッダ及びＣＩＰヘッダは、実時間アイソクロノスパケット３００から変更されない。実時間アイソクロノスデータパケット３００Ｃのfmtフィールドは、実時間フォーマットを示す。一方、非実時間ＣＩＰヘッダ５２０のfmtフィールドは、非実時間フォーマットを示す。実時間アイソクロノスデータパケット３００Ｃの各アイソクロノスヘッダのdata_lengthフィールドには、実時間転送に必要な帯域幅に対応するデータ量を示す値が格納されている。実時間アイソクロノスデータパケット３００Ｃのデータ部分は、元のＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケット３００の１／２のデータ量しか含んでおらず、実時間アイソクロノスデータパケット３００Ｃのアイソクロノスヘッダは変更されていないため、実時間アイソクロノスデータパケット３００Ｃのdata_lengthフィールドに格納されている値は、実時間アイソクロノスデータパケット３００Ｃのデータ部分に格納されている実際のデータの２倍の値を示している。非実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスヘッダ５１０のdata_lengthフィールドは、ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケット５００内にカプセル化されているデータ５３０に含まれているデータのデータ量を示している。したがって、非実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスヘッダ５１０のdata_lengthフィールドは、実時間アイソクロノスデータパケット３００Ｃのdata_lengthフィールドの値の１／２の値を格納する。ここでは、単一の実時間アイソクロノスデータパケットを各サイクル毎に送信するのではなく、実質的に実時間アイソクロノスパケットの１／２のデータを含む非実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスパケットを各サイクル毎に送信する。
【００４８】
受信機器においては、非実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットが受信され、非実時間アイソクロノスヘッダとＣＩＰヘッダが分離され、これによりパケット化されたＡ／Ｖコンテンツストリームを含む実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットが抽出される。受信機器は、非実時間ＣＩＰヘッダのfmtフィールドを読み込み、受信パケットが非実時間フォーマットであると判定する。この非実時間フォーマットは、受信機器に対し、受信非実時間データパケットの部分が実時間アイソクロノスデータパケットを含んでいることを示す。更に、非実時間フォーマットは、受信機器に対し、データ部分を検出し、データ部分に含まれている実時間アイソクロノスデータパケットのヘッダを読み出すように指示する。受信機器は、各実時間アイソクロノスヘッダのdata_lengthフィールドを読み出し、各実時間パケットのサイズを判定する。非実時間アイソクロノスヘッダのdata_lengthフィールドは、受信非実時間パケットのデータ部分のサイズを示している。受信機器は、非実時間データパケットのdata_lengthフィールドと、実時間データパケットのdata_lengthフィールドとを比較する。非実時間データパケットが実時間転送速度よりも速い速度で配信されている場合、非実時間データパケットのdata_lengthフィールドの値は、実時間データパケットのdata_lengthフィールドの値よりも大きい。実時間転送よりも速い速度では、複数の実時間データパケットが非実時間データパケットのデータ部分に含まれている。ここで、受信機器は、従来の実時間アイソクロノスデータパケットの処理と同様の手法により、複数のＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットをＡ／Ｖコンテンツストリームに変換して、ストレージ装置に保存する。
【００４９】
非実時間転送速度が実時間転送速度の２倍の速さを有する場合、受信機器は、非実時間アイソクロノスデータパケット４００と同様のデータパケットのストリームを受信する。受信機器は、非実時間アイソクロノスヘッダ４１０と非実時間ＣＩＰヘッダ４２０を分離する。次に、受信機器は、非実時間ＣＩＰヘッダ４２０のfmtフィールドを読み出し、受信非実時間アイソクロノスデータパケット４００が非実時間フォーマットを有していると判定する。これにより、受信機器は、カプセル化されたデータ４３０が実時間データパケットを含んでいると判定する。受信機器は、カプセル化されたデータ４３０に部分的な実時間データパケットが含まれているか、複数の実時間データパケットが含まれているかを判定するために、非実時間アイソクロノスヘッダ４１０のdata_lengthフィールドを読み出すとともに、カプセル化されたデータ４３０内の実時間アイソクロノスデータパケット３００Ａの実時間アイソクロノスヘッダを検索する。受信機器は、実時間アイソクロノスヘッダを検出すると、実時間アイソクロノスデータパケット３００Ａのdata_lengthフィールドを読み出す。次に、受信機器は、非実時間アイソクロノスデータパケット４００のdata_lengthフィールドと、実時間アイソクロノスデータパケット３００Ａのdata_lengthフィールドとを比較する。そして、受信機器は、非実時間アイソクロノスデータパケット４００のdata_lengthフィールドの値が実時間アイソクロノスデータパケット３００Ａのdata_lengthフィールドの値よりも大きく、約２倍であると判定する。受信機器は、この比較により、カプセル化されたデータ４３０に複数の実時間データパケットが含まれていると判定する。複数の実時間データパケットは、この具体例では、実時間アイソクロノスデータパケット３００Ａ、３００Ｂであり、これらの実時間データパケットは、従来の実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットと同様に処理される。
【００５０】
非実時間パケットが実時間転送速度よりも遅い転送速度で配信されている場合、非実時間データパケットのdata_lengthフィールドの値は、実時間データパケットのdata_lengthフィールドの値よりも小さい。実時間転送より遅い速度では、パケット化された元のＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットのデータの一部を含む単一の実時間パケットが非実時間データパケットのデータ部分に含まれる。この場合、受信機器は、元のＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットの残りの部分を後続するサイクルで受信することを予測する。実時間データパケットは、元のＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットのデータ全体に対応するデータが受信されるまでは処理されない。完全な実時間パケットの受信には、非実時間転送速度に応じて、２サイクル以上が必要である。受信機器は、完全な実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットを受信すると、従来の実時間アイソクロノスデータパケット処理と同様の手法により、ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットをＡ／Ｖコンテンツストリームに変換して、ストレージ装置に保存する。
【００５１】
非実時間転送速度が実時間転送速度の１／２倍の速さを有する場合、受信機器は、非実時間アイソクロノスデータパケット５００と同様のデータパケットのストリームを受信する。受信機器は、非実時間アイソクロノスヘッダ５１０と非実時間ＣＩＰヘッダ５２０を分離する。次に、受信機器は、非実時間ＣＩＰヘッダ５２０のfmtフィールドを読み出し、受信非実時間アイソクロノスデータパケット５００が非実時間フォーマットを有していると判定する。これにより、受信機器は、カプセル化されたデータ５３０が実時間データパケットを含んでいると判定する。受信機器は、カプセル化されたデータ５３０に部分的な実時間データパケットが含まれているか、複数の実時間データパケットが含まれているかを判定するために、非実時間アイソクロノスヘッダ５１０のdata_lengthフィールドを読み出すとともに、カプセル化されたデータ５３０内の実時間アイソクロノスデータパケット３００Ｃの実時間アイソクロノスヘッダを検索する。受信機器は、実時間アイソクロノスヘッダを検出すると、実時間アイソクロノスデータパケット３００Ｃのdata_lengthフィールドを読み出す。次に、受信機器は、非実時間アイソクロノスデータパケット５００のdata_lengthフィールドと、実時間アイソクロノスデータパケット３００Ｃのdata_lengthフィールドとを比較する。そして、受信機器は、非実時間アイソクロノスデータパケット５００のdata_lengthフィールドの値が実時間アイソクロノスデータパケット３００Ｃのdata_lengthフィールドの値よりも小さく、約１／２倍であると判定する。受信機器は、この比較により、カプセル化されたデータ５３０に単一の実時間データパケットが含まれており、この実時間データパケットには必要なデータの半分のデータのみが含まれていると判定する。ここでは、必要なデータの半分しか入手できないため、受信機器は、次のサイクルにおいて、必要なデータの更に半分を受信するまで、この実時間アイソクロノスデータパケット３００Ｃを処理しない。必要なデータの更に半分を受信すると、受信機器は、この更に半分を実時間アイソクロノスデータパケット３００Ｃに追加する。次に、受信機器は、この実時間アイソクロノスデータパケット３００Ｃを従来の実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットと同様に処理する。
【００５２】
図８は、アイソクロノスデータパケットを用いて、Ａ／Ｖコンテンツを非実時間で送信する処理の具体例を説明するフローチャートである。送信処理が開始されると、ステップＳ１おいて、送信すべきＡ／Ｖコンテンツストリームがストレージ装置から読み出される。ステップＳ２おいて、Ａ／Ｖコンテンツストリームは、実時間転送用のＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットにパケット化される。ステップＳ３において、転送を実時間で行うか否かが判定される。この判定のために、プラグ構成情報ブロックのinfo_block_typeフィールドが読み出される。ステップＳ３において、転送が実時間で行われると判定されると、ステップＳ４において、各アイソクロノスデータパケットは、従来のＩＥＥＥ１３９４規格（２０００年版）の実時間アイソクロノスデータプロトコルに基づいてタイムスタンプが付される。一方、ステップＳ３において、転送が非実時間で行われると判定されると、ステップＳ５において、転送速度が判定される。転送速度の判定は、プラグ構成情報ブロックのbandwidthフィールドを読み出し、対応する転送速度を判定することにより行われる。ＩＥＥＥ１３９４規格（２０００年版）のシリアルバスにおける転送用の帯域幅は、アイソクロノスリソースマネージャによって割り当てられる。ステップＳ６おいて、実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットが非実時間ＩＥＥＥ１３９４（２０００年版）転送用にカプセル化される。非実時間転送速度が実時間転送速度より速い場合、非実時間ＣＩＰヘッダ及び非実時間アイソクロノスヘッダにより複数の実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットがカプセル化され、非実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットが生成される。これらの非実時間ヘッダのフォーマットは、それらの実時間ヘッダのフォーマットに対応している。なお、非実時間アイソクロノスヘッダは、カプセル化された実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットのサイズを示す値が格納されたdata_lengthフィールドを有し、非実時間ＣＩＰヘッダは、非実時間フォーマットを示すfmtフィールドを有する。
【００５３】
非実時間転送速度が実時間転送速度よりも遅い場合、非実時間ＣＩＰヘッダ及び非実時間アイソクロノスヘッダにより単一の実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットがカプセル化される。ここではカプセル化された実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケット内には、単一の実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットの一部のみが含まれる。正確なデータ量は、転送速度に基づいて決定される。データの残りの部分は、後続する１つ以上の実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットにカプセル化される。
【００５４】
ステップＳ６において、実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットが非実時間ＩＥＥＥ１３９４（２０００年版）転送用にカプセル化された後、或いはステップＳ４において、従来のＩＥＥＥ１３９４規格（２０００年版）の実時間アイソクロノスデータプロトコルに基づいて各アイソクロノスデータパケットにタイムスタンプが付された後、ステップＳ７において、ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットは、連続するアイソクロノスサイクルで送信される。そして、送信処理は終了する。
【００５５】
図９は、非実時間アイソクロノスデータパケットを用いてＡ／Ｖコンテンツを受信する処理の具体例を示すフローチャートである。受信処理が開始されると、ステップＳ１１おいて、ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットが連続するアイソクロノスサイクルで受信される。ステップＳ１２おいて、受信データパケットが非実時間フォーマットであるか否かが判定される。この判定のためには、受信データパケットのＩＥＣ６１８８３ＣＩＰヘッダのfmtフィールドが読み出される。ステップＳ１２、受信データパケットが非実時間フォーマットであると判定されると、ステップＳ１３において、受信データパケットから非実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスヘッダと非実字時間ＩＥＣ６１８８３ＣＩＰヘッダが分離される。ステップＳ１４おいて、受信データパケットの転送速度が実時間転送よりも遅いか否かが判定される。この判定は、受信データパケットのアイソクロノスヘッダのデータ部分を検索することにより行われる。データ部分は、パケット化されたＡ／Ｖコンテンツの一部を含む単一の実時間アイソクロノスデータパケット又はそれぞれがパケット化されたＡ／Ｖコンテンツを含む複数の実時間アイソクロノスデータパケットを含んでいるため、検出されたアイソクロノスヘッダは、実時間アイソクロノスデータパケットに対応している。実時間アイソクロノスヘッダが検出されると、検出された実時間アイソクロノスヘッダのdata_lengthフィールドが読み出され、このdata_lengthフィールドの値と、受信データパケットの非実時間アイソクロノスヘッダのdata_lengthフィールドの値とが比較される。非実時間アイソクロノスヘッダのdata_lengthフィールドの値が実時間アイソクロノスヘッダのdata_lengthフィールドの値よりも小さい場合、受信非実時間データパケットは、実時間転送よりも遅い転送速度で送信されたものである。この場合、受信データパケットには、必要なデータの一部のみしか含まれておらず、完全なデータパケットを処理するためには、後に受信する１つ以上のデータパケットから必要なデータの残りの部分を入手する必要がある。ステップＳ１４おいて、受信データパケットが実時間転送よりも遅い転送速度で転送されているか否かが判定され、受信データパケットが実時間転送よりも遅い転送速度で転送されている場合、ステップＳ１５において、必要なデータの残りの部分が入手される。必要なデータの残りの部分は、後続する１つ以上の受信データパケットに対してステップＳ１１〜ステップＳ１４を繰り返すことにより入手される。完全なデータパケットを構成するための全てのデータを入手するために必要とされる後続するデータパケットの実際の数は、送信されてくるデータパケットの転送速度に基づいて判定される。完全なデータパケットは、実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットである。ステップＳ１５において、完全なデータパケットが受信された後、或いはステップＳ１２において転送速度が実時間転送よりも速いと判定された場合、ステップＳ１６において、実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットに対する従来のＡ／Ｖコンテンツストリーム処理により、実時間��ＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットが処理され、ストレージ装置に保存される。ストレージ装置は、好ましくは、オーディオ／ビデオハードディスクドライブ（audio/video hard disk drive：ＡＶＨＤＤ）であり、ＡＶＨＤＤは、データをアイソクロノスデータパケットとして保存する。これにより、ＡＶＨＤＤに保存されたデータを他の機器に送信する要求があった場合、このデータをアイソクロノスデータパケットにフォーマットする必要がないという利点を有している。そして、受信処理は終了する。
【００５６】
本発明により、アイソクロノスデータパケットの送信を実時間で行わなくてはならいという制約がなくなる。すなわち、本発明に基づく送信方法により、アイソクロノスデータパケットを実時間転送よりも速い又は遅い転送速度で転送することができる。Ａ／Ｖデータが実時間視聴を目的としない機器から他の機器に転送される場合、Ａ／Ｖデータはアイソクロノスデータパケットにパケット化され、これによりコピー保護が可能となり、実時間転送速度より速く又は遅く転送することができるようになる。アイソクロノスデータパケットを実時間速度より速く転送することにより、実時間転送において生じていた待ち時間を短縮することができる。詳しくは、例えばビデオカメラ又はＡＶＨＤＤ等のソース機器から例えば他のＡＶＨＤＤ等のデスティネーション機器にＡ／Ｖデータを送信する場合、実時間転送よりも速い転送速度を用いた方が従来の実時間転送より速く転送を完了できる。また、データ転送の時間が重要ではない場合、アイソクロノスデータパケットを実時間転送よりも遅く転送することにより、使用される帯域幅が狭くなり、これにより、他のアプリケーションでより広い帯域幅を確保できるようになる。
【００５７】
本発明の構成及び動作原理を明瞭に説明するために、様々な詳細を含む特定の実施の形態を用いて本発明を説明した。このような特定の実施の形態の説明及びその詳細は、特許請求の範囲を制限するものではない。本発明の主旨及び範囲から逸脱することなく、例示的に選択された具体例を変更できることは、当業者にとって明らかである。特に、本発明の好ましい実施の形態においては、ＩＥＥＥ１３９４規格（２０００年版）のシリアルバス構造体を使用しているが、本発明は、他の適切ないかなるバス構造体を用いても実現できることは、当業者にとって明らかである。更に、本発明の好ましい具体例においては、非実時間アイソクロノスデータパケットをアイソクロノスチャンネルを介して送信しているが、非実時間アイソクロノスデータパケットは、非同期ストリームを介して送信することもできる。
【００５８】
【発明の効果】
以上のように、本発明に係る通信方法は、アイソクロノスデータパケットを任意速度でダビングする通信方法において、送信機器の送信プラグを、アイソクロノスデータパケットを非実時間で送信するように構成するステップと、受信機器の受信プラグを、アイソクロノスデータパケットを非実時間で受信するように構成するステップと、データストリームを非実時間転送用に構成されたアイソクロノスデータパケットにパケット化し、非実時間データパケットのストリームを生成するステップと、非実時間データパケットを送信機器の送信プラグから受信機器の受信プラグに送信するステップとを有する。これにより、アイソクロノスデータパケットを非実時間で送受することができる。
【００５９】
また、本発明に係る送信方法は、アイソクロノスデータパケットを非実時間で送信する送信方法において、ソース機器のソースプラグを、アイソクロノスデータパケットを非実時間で送信するように構成するステップと、データストリームを実時間アイソクロノスデータパケットにパケット化するステップと、送信すべきアイソクロノスデータパケットの転送速度を判定するステップと、部分的な実時間アイソクロノスデータパケット又は非実時間アイソクロノスデータパケットの非実時間転送速度に基づいて個数が決定された複数の実時間アイソクロノスデータパケットを非実時間アイソクロノスデータパケット内にカプセル化するステップと、ソースプラグを介して、非実時間アイソクロノスデータパケットを送信するステップとを有する。これにより、アイソクロノスデータパケットを非実時間で送信することができる。
【００６０】
また、本発明に係る受信方法は、アイソクロノスデータパケットを非実時間で受信する受信方法において、デスティネーション機器のデスティネーションプラグを、アイソクロノスデータパケットを非実時間で受信するように構成するステップと、デスティネーションプラグを介してアイソクロノスデータパケットを受信するステップと、受信アイソクロノスデータパケットのフォーマットを判定するステップと、受信アイソクロノスデータパケットのフォーマットが非実時間アイソクロノスデータパケットを示している場合、この非実時間アイソクロノスデータパケットの転送速度を判定するステップと、非実時間アイソクロノスデータパケット内にカプセル化されている部分的な実時間アイソクロノスデータパケット又は非実時間アイソクロノスデータパケットの非実時間転送速度に基づいて個数が決定された複数の実時間アイソクロノスデータパケットを抽出するステップと、実時間アイソクロノスデータパケットを処理するステップとを有する。これにより、アイソクロノスデータパケットを非実時間で受信することができる。
【００６１】
また、本発明に係るプラグ構成方法は、アイソクロノスデータパケットの非実時間ストリームをサポートするようにプラグを構成するプラグ構成方法において、プラグ構成情報ブロック内に非実時間プラグ転送情報ブロックを組み込むステップと、非実時間プラグ転送情報ブロック内に、アイソクロノスデータパケットの非実時間ストリームを示す非実時間情報タイプを定義するステップと、非実時間プラグ転送情報ブロック内の帯域幅値を、アイソクロノスデータパケットの非実時間ストリームのバス帯域幅に対応するように設定するステップと、非実時間プラグ転送情報ブロック内のイネーブルフィールドを、プラグによるアイソクロノスデータパケットの非実時間ストリームのサポートをイネーブルにするように設定するステップとを有する。これにより、アイソクロノスデータパケットを非実時間で送受することができる。
【００６２】
また、本発明に係る通信装置は、アイソクロノスデータパケットを非実時間で通信する通信装置において、プラグを、アイソクロノスデータパケットを非実時間で転送するように構成する構成回路と、データストリームを非実時間転送用に構成されたアイソクロノスデータパケットにパケット化し、非実時間データパケットのストリームを生成するパケット化回路と、プラグを介して、非実時間でアイソクロノスデータパケットを通信する送受信回路と、各非実時間アイソクロノスデータパケットにカプセル化されている１つ以上の実時間アイソクロノスデータパケットを抽出する逆パケット化回路と、構成回路、パケット化回路、送受信回路及び逆パケット化回路に接続され、抽出された実時間アイソクロノスデータパケットを処理するコントローラとを備える。これにより、アイソクロノスデータパケットを非実時間で送受することができる。
【図面の簡単な説明】
【図１】ＩＥＥＥ１３９４規格（２０００年版）において定義されているプロトコルを説明する図である。
【図２】ビデオカメラ、ビデオテープレコーダ、セットトップボックス、テレビジョン受像機、コンピュータ及びオーディオ／ビデオハードディスクドライブを含むＩＥＥＥ１３９４規格（２０００年版）のシリアルバスネットワークの構成例を示すブロック図である。
【図３】コンピュータ装置２０の内部の構成例を示すブロック図である。
【図４】本発明の好ましい具体例における非実時間プラグ転送情報ブロックのデータ構成を示す図である。
【図５】ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットを示す図である。
【図６】実時間転送速度の２倍の転送速度で送信される非実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットの具体例を示す図である。
【図７】実時間転送速度の１／２倍の転送速度で送信される非実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケットの具体例を示す図である。
【図８】非実時間アイソクロノスデータパケットによりＡ／Ｖコンテンツを送信する処理のフローチャートである。
【図９】非実時間アイソクロノスデータパケットによりＡ／Ｖコンテンツを受信する処理のフローチャートである。
【符号の説明】
４００，５００  非実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスデータパケット、４１０，５１０  非実時間ＩＥＥＥ１３９４（２０００年版）アイソクロノスヘッダ、４２０，５２０  非実時間ＩＥＣ６１８８３ＣＩＰヘッダ、４３０，５３０  カプセル化されたデータ部分、ｓ３００Ａ，３００Ｂ，３００Ｃ  ＩＥＥＥ１３９４規格（２０００年版）の実時間アイソクロノスデータパケット
【図１】
0004147524.tif 000002
【図２】
0004147524.tif 000003
【図３】
0004147524.tif 000004
【図４】
0004147524.tif 000005
【図５】
0004147524.tif 000006
【図６】
0004147524.tif 000007
【図７】
0004147524.tif 000008
【図８】
0004147524.tif 000009
【図９】
0004147524.tif 000010