(57)【要約】  本発明は、電子データ変換のための装置および方法を提供する。ＩＥＥＥ１３９４フォーマットおよびプロトコルに従ったデータを受信し、ＵＳＢフォーマットおよびプロトコルに変換して、ＵＳＢフォーマットおよびプロトコルに従ったデータを受信するようにコンフィグレーションされたシステムへ供給する。
2007529825.tif 000002
【特許請求の範囲】
【請求項１】
変換装置（２００）であって、
受信および送信のうち少なくとも１つを行うことによってＩＥＥＥ１３９４フォーマットのデータを処理するための少なくとも１つのＩＥＥＥ１３９４インターフェイス（２２）と、
受信および送信のうち少なくとも１つを行うことによってＵＳＢフォーマットのデータを処理するための少なくとも１つのＵＳＢインターフェイス（２０）と、
ＩＥＥＥ１３９４プロトコルとＵＳＢプロトコルとの間でデータを変換するため、前記少なくとも１つのＩＥＥＥ１３９４インターフェイスおよびＵＳＢインターフェイス（２２，２０）に結合された処理ロジック（２１，２３，２４，２５，２６，２７）と、
を備えている変換装置。
【請求項２】
請求項１に記載の変換装置において、前記ＩＥＥＥ１３９４インターフェイスおよび前記ＵＳＢインターフェイスは、少なくとも１つのプロトコル・トランスレーション・ユニット（２１、２３）を備えている、変換装置。
【請求項３】
請求項１に記載の変換装置において、前記少なくとも１つのＩＥＥＥ１３９４インターフェイスはＩＥＥＥ１３９４ソケットを備えている、変換装置。
【請求項４】
請求項３に記載の変換装置において、前記ＩＥＥＥ１３９４インターフェイスは、ＰＣＩ  Ｌｉｎｋ／Ｐｈｙオープン・ホスト・コントローラ・インターフェイス・チップを備えている変換装置。
【請求項５】
請求項１に記載の変換装置において、前記少なくとも１つのＵＳＢインターフェイスはＵＳＢソケットを備えている、変換装置。
【請求項６】
請求項５に記載の変換装置において、前記少なくとも１つのＵＳＢインターフェイスは、高速ＵＳＢインターフェイスをもつＵＳＢマイクロコントローラ・チップを備えている、変換装置。
【請求項７】
請求項６に記載の変換装置において、前記ＵＳＢマイクロコントローラ・チップは、汎用プログラマブル・インターフェイスを備えている、変換装置。
【請求項８】
請求項１に記載の変換装置において、前記処理ロジックは、前記少なくとも１つのＵＳＢインターフェイスから受信する命令を実行するプロセッサを備えている、変換装置。
【請求項９】
電子データを変換するための処理システムであって、
ＩＥＥＥ１３９４インターフェイス（２２）と変換機ＵＳＢインターフェイス（２０）を備えている変換機（２００）と、
前記少なくとも１つのＩＥＥＥ１３９４インターフェイス（２２）と通信するＩＥＥＥ１３９４装置（４００）と、
コンピュータ・システム（１００）であって、
該コンピュータ・システムが前記少なくとも１つの変換機ＵＳＢインターフェイス（２０）と通信する少なくとも１つのシステムＵＳＢインターフェイス（１０）を含み、
前記変換機（２００）がデータ・ユニットを変換して、前記コンピュータ・システム（１００）と前記ＩＥＥＥ１３９４装置（４００）との間で前記データ・ユニットの転送を容易にする、コンピュータ・システムと、
を備えている、処理システム。
【請求項１０】
請求項９に記載の処理システムにおいて、前記ＩＥＥＥ１３９４装置はカムコーダーである、処理システム。
【請求項１１】
請求項１０に記載の装置において、前記ＩＥＥＥ１３９４装置は前記変換機の前記ＩＥＥＥ１３９４インターフェイスに対し、連続的にデータをストリームする、装置。
【請求項１２】
請求項９に記載の処理システムであって、さらに、
前記システムでランするアプリケーション（１２）を備え、
該アプリケーションは前記データ・ユニットを受信するように構成されている、処理システム。
【請求項１３】
コンピュータ・システム（１００）で実行されるビデオ・アプリケーション（１２）と、デジタル・ビデオ装置（４００）との間でデータを転送するための方法であって、
データをデジタル・ビデオ装置（４００）と交換するためのＩＥＥＥ１３９４コマンドを生成し、該ＩＥＥＥ１３９４コマンドはＩＥＥＥ１３９４プロトコルに従って前記アプリケーション（１２）で生成され、
前記ＩＥＥＥ１３９４コマンドを前記ＵＳＢプロトコルに従ってＵＳＢコマンドに変換し、
ＵＳＢ接続（３００）を介して、前記ＵＳＢコマンドを前記コンピュータ・システム外部へ送信し、
前記ＵＳＢコマンドを変換機装置（２００）で受信し、
前記ＵＳＢコマンドを前記ＩＥＥＥ１３９４コマンドに変換し、
前記ＩＥＥＥ１３９４コマンドを前記デジタル・ビデオ装置（４００）に送信する、
方法。
【請求項１４】
請求項１３に記載の方法において、前記ＩＥＥＥ１３９４コマンドを前記ＵＳＢコマンドに変換することは、ＩＥＥＥ１３９４バス入力−出力要求を受信し、ＯＨＣＩコンパチブルなＰＣＩアクセスをもつデータ・パケットを作成し、それらをＵＳＢスタックに送信する１３９４−ＵＳＢトンネル・ドライバを備えている、方法。
【請求項１５】
請求項１３に記載の方法において、前記ＩＥＥＥ１３９４コマンドを前記ＵＳＢコマンドに変換することは、ＩＥＥＥ１３９４スタックからデータ・パケットを受信し、データ・パケットをシステム・ドライバ・コンポーネントへ渡し、それらを前記変換機装置へ送信するＵＳＢクライアント・デバイス・ドライバを備えている、方法。
【請求項１６】
請求項１３に記載の方法において、前記ＩＥＥＥ１３９４コマンドを前記ＵＳＢコマンドへ変換することは、最初に前記ＩＥＥＥ１３９４コマンドを中間プロトコルに変換することを備えている、方法。
【請求項１７】
コンピュータ・システム（１００）で実行されるビデオ・アプリケーション（１２）とデジタル・ビデオ装置（４００）との間でデータを転送する方法であって、
データをコンピュータ・システム（１００）でランするビデオ・アプリケーション（１２）と交換するためのＩＥＥＥ１３９４コマンドを生成し、前記ＩＥＥＥ１３９４コマンドはＩＥＥＥ１３９４プロトコルに従って、前記デジタル・ビデオ装置（４００）にて生成され、
前記ＩＥＥＥ１３９４コマンドを、ＩＥＥＥ１３９４を介して変換機装置（２００）に送信し、
前記ＩＥＥＥ１３９４コマンドを前記変換機装置（２００）にて受信し、
前記ＩＥＥＥ１３９４コマンドを前記ＵＳＢプロトコルに従ってＵＳＢコマンドに変換し、
前記ＵＳＢコマンドをＵＳＢ接続（３００）を介して送信し、
前記ＵＳＢコマンドを前記コンピュータ・システム（１００）で受信する、
方法。
【請求項１８】
請求項１７に記載の方法において、前記ＩＥＥＥ１３９４コマンドを前記ＵＳＢコマンドに変換することは、前記ＩＥＥＥ１３９４コマンドを中間プロトコルに第１に変換することを備えている、方法。
【請求項１９】
ビデオ・アプリケーション（１２）を実行するコンピュータ・システム（１００）とデジタル・ビデオ装置（４００）との間でデータ転送するための方法であって、
ＵＳＢデータ・パケット（５００）をＵＳＢインターフェイス（１０、２０）からＵＳＢプロトコルで受信し、該ＵＳＢデータ・パケット（５００）はヘッダー部（５２）およびデータ部（５４）を備えており、
前記ＵＳＢデータ・パケット（５００）をバッファ（２５，２６）に格納し、
前記バッファ（２５，２６）から前記ＵＳＢデータ・パケット（５００）の前記ヘッダー部（５２）を取り出し、
前記ＵＳＢデータ・パケット（５００）の前記ヘッダー部（５２）を解析してコマンド・パラメータを決定し、
前記コマンド・パラメータをＩＥＥＥ−１３９４準拠ＯＨＣＩレジスタに格納し、
前記バッファ（２５、２６）から前記ＵＳＢデータ・パケット（５００）の前記データ部（５４）を取り出し、
前記コマンド・パラメータから、および前記ＵＳＢデータ・パケット（５００）の前記データ部（５４）からＩＥＥＥ１３９４プロトコルにおけるＩＥＥＥ１３９４コマンドを組立て、
前記ＩＥＥＥ１３９４コマンドをＩＥＥＥ１３９４プロトコルでＩＥＥＥ１３９４インターフェイス（２２，４０）を介して前記デジタル・ビデオ装置（４００）に送信する、
方法。
【請求項２０】
ビデオ・アプリケーション（１２）を実行するコンピュータ・システム（１００）とデジタル・ビデオ装置（４００）との間でデータを転送するための方法であって、
ＩＥＥＥ１３９４インターフェイス（２２，４０）から、デジタル・ビデオ装置（４００）からのＩＥＥＥプロトコルのＩＥＥＥ１３９４応答を受信し、
前記ＩＥＥＥ１３９４応答を解析して応答コマンド・パラメータを決定し、
前記応答コマンド・パラメータに応答ヘッダー部を付加して応答ＵＳＢデータ・パケットを形成し、
ＵＳＢインターフェイス（２０，１０）を介してＵＳＢプロトコルで前記応答ＵＳＢデータ・パケットを送信する、
方法。
【請求項２１】
ビデオ・データ変換を容易にする方法を実施するための、プロセッサにより実行可能な命令を含んでいるコンピュータ読み取り可能媒体であって、該方法が、
オペレーティング・システムおよびビデオ・アプリケーションを有するコンピュータ・システムの前記記憶媒体に第１のドライバ・コンポーネントをインストールし、該第１ドライバ・コンポーネントは、前記オペレーティング・システムの１３９４ドライバ・スタック・コンポーネントとインターフェイスして、ビデオ・アプリケーションが生成したＩＥＥＥ１３９４コマンドを受信し、前記ＩＥＥＥ１３９４コマンドをＵＳＢコマンドにトランスレートし、
第２のドライバ・コンポーネントを前記記憶媒体にインストールし、該第２ドライバ・コンポーネントは、前記第１ドライバ・コンポーネントおよび前記オペレーティング・システムのＵＳＢドライバ・スタック・コンポーネントにインターフェイスして、ＵＳＢ接続を介してＵＳＢフォーマットで前記トランスレートしたＩＥＥＥ１３９４コマンドを出力する、コンピュータ読み取り可能媒体。
【請求項２２】
ビデオ・データを処理するための方法を実施するための、プロセッサで実行可能な命令を含んでいるコンピュータ読み取り可能媒体であって、該方法が、
オペレーティング・システムを含んでいるコンピュータ・システムの記憶媒体にビデオ・アプリケーションをインストールし、
第１のドライバ・コンポーネントを前記記憶媒体にインストールし、前記第１ドライバ・コンポーネントは、前記オペレーティング・システムの１３９４ドライバ・スタック・コンポーネントとインターフェイスしてＩＥＥＥ１３９４コマンドをＵＳＢコマンドにトランスレートし、
第２のドライバ・コンポーネントを前記記憶媒体にインストールし、該第２ドライバ・コンポーネントは前記第１ドライバ・コンポーネントと、前記オペレーティング・システムのＵＳＢドライバ・スタック・コンポーネントとインターフェイスして、ＵＳＢ接続を介してＵＳＢフォーマットで前記トランスレートしたＩＥＥＥ１３９４コマンドを出力する、コンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子データ交換のための装置および方法に関する。
【背景技術】
【０００２】
装置間のデータ伝送は、電子通信の重要な側面を構成している。効率的で信頼性のある装置間の情報交換は、データの処理が有用な結果をもたらすことを可能にする。例えば、あるコンピュータ・システムでは、そのコンピュータ・システムにおいて表現されたもののハードコピーの印刷をするために、プリンタとの間でデータ交換を行うことができる。データ伝送における他の形式は、ステータス識別子、システムのチェック、割り込み信号、及びコマンド信号の１つまたは全てを含んでいる（但し、これらに限定されない）。データ伝送における各形式は、様々な装置間の効率的で信頼性のあるデータ交換を実現するという目的で特定のタスクを遂行する。
【０００３】
様々なデータ伝送プロトコルは、システム及び周辺機器の一方または双方を含む（但し、これらに限定されない）様々な装置間での効率的で信頼性のあるデータ交換を可能とするために開発されてきた。一般的には各プロトコルは、プロトコルを実装するためのハードウェア仕様、並びに例えば規定されたハードウェアを用いてどのようにデータをパッケージして送るかについて詳細に説明している。例えば、ある共通プロトコルとしてユニバーサル・シリアル・バス（ＵＳＢ）プロトコルがあり、これは２０００年４月２７日付けのユニバーサル・シリアル・バス仕様Revision2.0に載されている。共通プロトコルに関する他の例として電気電子技術者協会（ＩＥＥＥ）１３９４プロトコルがあり、これは次のＩＥＥＥ１３９４規格、すなわちＩＥＥＥ規格１３９４‐１９９５、及びＩＥＥＥ規格１３９４ａ‐２０００により詳細に記載されている。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
残念なことに、他の異なるプロトコルとシームレスに相互作用するデータ伝送プロトコルはほとんどない。このことから、例えばＵＳＢ準拠の接続に沿って送られるデータは通常、ＩＥＥＥ１３９４準拠の接続に沿って存続することはできない。このことにより、多くのシステムが１つのタイプのプロトコルをサポートして他のプロトコルをサポートしないがために、問題が提起される。例えば、パーソナル・コンピュータ（ＰＣｓ）は一般的に、ＵＳＢプロトコル変異型をサポートしているが、ほとんどのＰＣはＩＥＥＥ１３９４プロトコルをサポートしていない。このように、ＩＥＥＥ１３９４プロトコルのみをサポートする、ある種の周辺機器及びシステムの一方または双方、例えばカムコーダーの多くは、ＵＳＢのみをサポートするＰＣに直接データを送ることはできない。このような装置間通信を直接できるようにする一解決策は、ＩＥＥＥ１３９４コントローラを取得してＰＣにインストールすることである。しかしながら、ＩＥＥＥ１３９４コントローラをＰＣに付加することは、コンピュータ・システムにかかる費用がかさむとともに、潜在するコンパチビリティ上の問題を導入ことになる。
【０００５】
したがって、ＵＳＢインターフェイスを備えたあるシステムが、ＩＥＥＥ１３９４インターフェイスを備えたある装置と相互作用できるようにする方法及び装置を有することが望ましい。
【課題を解決するための手段】
【０００６】
概要
本発明と整合する実施形態により、データ受信及び送信の少なくとも１つによりＩＥＥＥ１３９４フォーマットでデータ処理を行うＩＥＥＥ１３９４インターフェイスと、データ受信及び送信の少なくとも１つによりＵＳＢフォーマットでデータ処理を行うＵＳＢインターフェイスとを備える変換機を提供する。この装置はさらに、ＩＥＥＥ１３９４フォーマットとＵＳＢフォーマットとを結合してＩＥＥＥ１３９４プロトコルとＵＳＢプロトコルとの間のデータを変換する処理ロジックを含んでいる。
【０００７】
本発明と整合する他の実施形態により、コンピュータ・システムにおいて実行するビデオ・アプリケーションとデジタル・ビデオ装置との間で、データを交換する方法を提供する。この方法は、ＩＥＥＥ１３９４命令を生成してデジタル・ビデオ装置でデータ交換を行い、ＩＥＥＥ１３９４プロトコルに従ってアプリケーションにおいてＩＥＥＥ１３９４命令を生成し、ＵＳＢプロトコルに従ってＩＥＥＥ１３９４コマンドをＵＳＢコマンドに変換することを含む。この方法はさらに、ＵＳＢ接続を介してＵＳＢコマンドを外部コンピュータ・システムに送信し、ＵＳＢコマンドを変換機で受け取り、ＵＳＢコマンドをＩＥＥＥ１３９４コマンドに変換し、そしてＩＥＥＥ１３９４コマンドをデジタル・ビデオ装置に送信することを含む。
【発明を実施するための最良の形態】
【０００８】
発明の詳細な説明
本明細書において、単数を用いた場合でも、他に特記されていない限り複数を含む。本明細書において、「または」を使う場合、他に記されていない限り「一方または双方」を意味する。さらに「含む」及び「含まれる」のようなほかの形態だけでなく「含んでいる」という言葉を用いる場合は、これに限定的なものではない。可能な限り同一の又は同様の部分を参照するため、図面を通して同一の参照番号を用いることにする。
【０００９】
本明細書で用いる見出し部は、構成上のために用いるに過ぎず、記述する対象を限定するとみなされるべきではない。特許、特許出願、記事、書籍および論文を含む（但し、これらに限定されない）本明細書で引用する全てのドキュメントは、あらゆる目的でその全内容を明示的に援用する。
【００１０】
本明細書で用いる「ＩＥＥＥ１３９４」という用語は、電気電子技術者協会（ＩＥＥＥ）１３９４の仕様で規定されているデータ通信及び内部接続のためのプロトコルのことを指す。例えば、ＩＥＥＥ１３９４規格であるＩＥＥＥ規格１３９４−１９９５、及びＩＥＥＥ規格１３９４ａ−２０００を参照されたい。この用語は、ＩＥＥＥ１３９４ａ（すなわち４００Ｍｂｉｔ／ｓ）、ＩＥＥＥ１３９４ｂ（すなわち８００Ｍｂｉｔ／ｓ）、及び未完成である無線ＩＥＥＥ１３９４のインプリメンテーションも含む（但し、これらに限定されない）全ての変異型、改訂版、及びこのプロトコルの将来発展形を含むことを意図する。またこの用語は、ＩＥＥＥ１３９４仕様に含まれるハードウェア接続仕様のみならず、データ・フォーマット（例えば、記述、パッケージング、配信、及びこれらの任意のヘッダーのいずれかまたは全て）を含むことを意図する。
【００１１】
本明細書で用いる「ＵＳＢ」という用語は、データ通信及び内部接続のためのユニバーサル・シリアル・バス・プロトコルのことを指す。例えば、２０００年４月２７日付けのユニバーサル・シリアル・バス仕様Revision2.0が参照される。この用語は、ＵＳＢ１．Ｘ、ＵＳＢ２．Ｘ、及び任意の無線（例えば、赤外線、無線周波数など）バージョンも含む（但し、これらに限定されない）すべての変異型、改訂版、及びこのプロトコルの将来発展形を含むことを意図する。またこの用語は、ＵＳＢプロトコルに含まれるハードウェア接続仕様のみならず、データ・フォーマット（例えば、記述、パッケージング、配信、及びこれらの任意のヘッダーのいずれかまたは全て）を含むことを意図する。
【００１２】
本明細書で用いる「システム」または「コンピュータ・システム」という用語は、ソフトウェアの制御が操作できる任意のハードウェア接続のことを指す。ある実施形態において、このシステムは少なくとも１つのＵＳＢインターフェイスを含むことができる。
【００１３】
本明細書で用いる「ＩＥＥＥ１３９４装置」という用語は、ＩＥＥＥ１３９４に準拠してデータを送信できる１つまたはそれ以上のハードウェア装置のことを指す。ある実施形態において、各ＩＥＥＥ１３９４装置は、少なくとも１つのＩＥＥＥ１３９４ハードウェア・インターフェイスを含むことができる。ある実施形態において、各ＩＥＥＥ１３９４装置は、アナログ・ビデオカメラ及びデジタル・ビデオカメラの一方または双方を含むことができる。
【００１４】
本明細書で用いる「データ」という用語は、電子形式の情報のことを指し、データ・ユニット及びデータ・パケットの両方を含むことを意図する。
【００１５】
本明細書で用いる「データ・ユニット」という用語は、電子情報ビットにおける任意の集合体のことを指す。
【００１６】
本明細書で用いる「データ・パケット」という用語は、データ・ユニットにおける任意の集合体のことを指す。ある実施形態において、データ・パケットはオプションのヘッダーを含むことができる。例えば、このオプションのヘッダーは、非対応のデータ伝送プロトコルが使用できるように、データ・ユニットの変換を容易できる。
【００１７】
本明細書で用いる「転送」という用語は、データの送信及び受信の一方または双方を行うことを指す。
【００１８】
本明細書で用いる「論理ユニット」という用語は、データ上で論理演算を実行する処理ロジックのことを指す。非限定的な実施例として、１つのチップまたは複数のチップ上のソフトウェア及びハードウェアの一方または双方を含む。
【００１９】
本明細書で用いる「装置」という用語は、電子データを送信及び受信の一方または双方を行うことができる任意の周辺機器、システム、及びコンポーネントのいずれかまたは全てのことを指す。
【００２０】
本明細書で用いる「アプリケーション」という用語は、システムで動作し、直接的または間接的にＩＥＥＥ１３９４装置にアクセスする１つまたはそれ以上のソフトウェア・プログラムのことを指す。ある実施形態において、アプリケーションはＩＥＥＥ１３９４装置に電子データを送信及び受信の一方または双方を行うことで中間ステップを必要とすることなくＩＥＥＥ１３９４装置に直接アクセスできる。ある実施形態において、アプリケーションは、例えばシステムの別のソフトウェア・プログラム使用、及びアプリケーションが後に使用する中間ロケーションでのあるデータ記憶、の一方または双方を行うといった、中間ステップを介するデータ伝送によりＩＥＥＥ１３９４装置に間接的にアクセスできる。
【００２１】
本明細書で用いる「変換」（およびその変異型）という用語は、あるデータ伝送プロトコル（例えば、ＩＥＥＥ１３９４及びＵＳＢの一方または双方）から別のデータ伝送プロトコルへのトランスレーションを指す。この限定は、データ伝送プロトコルへの任意の変更、トランスレーション、及びカプセル化（またはその組合せ）のいずれかまたは全て（但し、これらに限定されない）を行うことを明確に含む。
【００２２】
ある実施形態によれば、図１に示されているように、システム１００は、パーソナル・コンピュータを備えることができ、少なくとも１つのＵＳＢインターフェイスを介して変換機２００に接続して、１つまたはそれ以上のＩＥＥＥ１３９４装置４００からのデータ・ユニットにシステム１００がアクセスすることを可能にすることができる。システム１００はまた、少なくとも１つのシステムＵＳＢインターフェイス１０を含むことができ、ＵＳＢ接続３００を介して変換機２００における変換機ＵＳＢインターフェイス２０と接続できる。ＵＳＢ接続３００の非限定的な実施例として、ＵＳＢプロトコルに準拠しているシステムＵＳＢインターフェイス１０及び変換機ＵＳＢインターフェイス２０の一方または双方に接続する任意のケーブルがありえる。他の非限定的な実施例として、ＵＳＢ接続３００はシステムＵＳＢインターフェイス１０を変換機ＵＳＢインターフェイス２０に、例えばケーブルを使うことなく直接接続できる。変換機２００はシステム１００外部に物理的に配置できる。しかしながら、変換機２００はまた、システム１００内部に物理的に配置することもできる。
【００２３】
ある実施形態によれば、１つまたはそれ以上のＩＥＥＥ１３９４装置４００は変換機２００上の変換機ＩＥＥＥ１３９４インターフェイス２２に接続できる。例えば、ＩＥＥＥ１３９４装置４００は、装置上ＩＥＥＥ１３９４インターフェイス４０を介して出力するデータを生成できる。次にこのデータは、例えばＩＥＥＥ１３９４装置４００に接続できるＩＥＥＥ１３９４準拠ケーブルといった、適切なＩＥＥＥ１３９４接続４１を介して変換機ＩＥＥＥ１３９４インターフェイス２２にルーティングできる。変換機ＩＥＥＥ１３９４インターフェイス２２は、後での取り出しのためのデータを格納できる複数のレジスタを含むことができる。
【００２４】
ある実施形態によれば、システム１００はMicrosoft（商標登録）Windows XP（商標登録）といったオペレーティング・システム１１、アプリケーション１２およびシステム・メモリ１３を含むことができる。アプリケーション１２は、システム１００でランするソフトウェアを備えることができ、ＩＥＥＥ１３９４装置４００から受信するデータ・ユニットを使用する。アプリケーション１２は、例えばカリフォルニア州サンタクララにあるピナクルシステムズ社が販売しているPinnacle Systems StudioのPinnacle Systems Liquid Editionといった、ビデオ編集用ソフトウェア・パッケージであり、例えばビデオカメラが生成するデータを処理するものである。アプリケーション１２は、ＩＥＥＥ１３９４装置に直接アクセスでき、それは例えば、変換機２００で実行されるデータ変換以外には、アプリケーション１２とＩＥＥＥ１３９４装置４００と間で送信されるデータ・ユニットに対して中間オペレーションを介することはなくできる。これと対象的にアプリケーション１２は、ＩＥＥＥ１３９４装置４００に間接的にアクセスできるが、これは例えば、ＩＥＥＥ１３９４装置４００とアプリケーション１２との間での後での送信のためのデータ・ユニットの処理及び格納の一方または双方を行う中間位置に対して、データ・ユニットを送信することによりできる。アプリケーション１２はまた、トランスペアレントな形態でＩＥＥＥ１３９４装置からのデータを使用することもできる。例えば、アプリケーション１２は、アプリケーション１２が変換機２００の存在を「認識」することなく、ＩＥＥＥ１３９４装置からのデータを受信できる。
【００２５】
ある実施形態によれば、システム１００はドライバ１４を含むことができる。ドライバ１４はシステム１００と変換機２００との間の双方向および一方向の一方又は双方のデータ転送を制御するソフトウェアを備えることができる。ドライバ１４はまた、ＩＥＥＥ１３９４装置４００と変換機２００の双方向または一方向のデータ変換を制御できる。ドライバ１４は例えば、変換機２００におけるコントローラ２４（但し、これに限定されない）を含む（例えば図２参照）様々なコンポーネントからの処理ステータス・メッセージを受信できる。ドライバ１４はまた、変換機２００におけるデータ変換処理を制御できる。ドライバ１４は例えば、変換機２００へコマンド形式でデータ・ユニットを送信して、変換機ＩＥＥＥ１３９４インターフェイス２２と変換機ＵＳＢインターフェイス２０との間でデータ・ユニットが進行するとき、データ・ユニットにおけるフロー、保存およびパッケージングのいずれかまたは全てを容易にするよう、変換機２００への指示を行うことができる。他の例では、ドライバ１４は、変換機２００へコマンド形式でデータ・ユニットを送信し、標準ＵＳＢソケットを備える変換機ＵＳＢインターフェイス２０とシステムＵＳＢインターフェイス１０との間でデータ・ユニット送信を容易にするよう、変換機２００に対して指示を行うことができる。さらには、例えばドライバ１４は、コマンド形式でＩＥＥＥ１３９４装置４００へデータ・ユニットを送信して、変換機ＩＥＥＥ１３９４インターフェイス２２と装置ＩＥＥＥ１３９４インターフェイス４０との間のデータ・ユニット送信を容易にする。これらの上記例における任意の組合せにより（すなわち、それらは相互排他的でないことを意味する）、ドライバ１４はまた、直接的もしくは間接的に、アプリケーション１２にソフトウェア・インターフェイス１２を提供できる。このソフトウェア・インターフェイスにより、例えば、アプリケーション１２が１つまたはそれ以上のドライバ１４の機能を実施することを可能にできる。
【００２６】
ある実施形態において、変換機２００は変換機ＩＥＥＥ１３９４インターフェイス２２と変換機ＵＳＢインターフェイス２０との間で直接データ変換を実施する。また、変換機２００は変換機ＩＥＥＥ１３９４インターフェイス２２と変換機ＵＳＢインターフェイス２０との間の電気物性（例えば、対応するコンポーネントおよび装置の一方または双方をランする電力）の変換を実施する。
【００２７】
ある実施形態において、変換機２００は、プロトコル・トランスレーション・ユニット、バッファ、メモリ・ユニット、およびコントローラのいずれかまたは全てを含む（但し、これらに限定されない）複数の論理ユニットを含むことができる。論理ユニット全体は、処理ロジックとして参照することもあるが、変換機・ＩＥＥＥインターフェイス２２および変換機ＵＳＢインターフェイス２０の間の一方向または双方向のデータ変換を容易にする。各論理ユニットまたはこれらの組合せは、様々な方法で実装できる。例えば、１つまたはそれ以上のこれらの論理ユニットは、単一ハードウェア・チップ実現例および複数ハードウェア・チップ実現例の一方または双方の一部分とすることができる。他の例では、１つまたはそれ以上のこれらの論理ユニットは、ディスクリートのハードウェア実現例の一部分とすることができる。また例えば、１つまたはそれ以上のこれらの論理ユニットはソフトウェア実現例の一部分とすることができる。これらの非限定的な実施例は、相互排他的である必要はなく、論理ユニットの個々の実現例は各々の例の様々な組合せを含むことができる。
【００２８】
ある実施形態によれば、図２に示すように、変換機２００はプロトコル・トランスレーション・ユニット（ＰＴＵ）２１、２３を含むことができる。各ＰＴＵは、あるデータの変更および変換の一方または双方を容易にして、ＩＥＥＥ１３９４準拠のプロトコル、ＵＳＢ準拠のプロトコルおよび任意の内部トランスレーション・プロトコルを含む（但し、これらに限定されない）、異なるバス・プロトコルにこのデータが準拠するようにする。異なるプロトコル間のデータ変換とは、様々な異なるプロトコルにおけるこのデータのトランスレーションおよびカプセル化の一方または双方を含むことを意味する。例えばＵＳＢ準拠データとＩＥＥＥ１３９４準拠データとの間でのデータ変換は、あるデータのトランスレーションとそのデータのデータ操作（例えば、オプションのヘッダーを挿入すること）、およびあるデータの異なるバス・プロトコルでのカプセル化を共に含む。
【００２９】
ある実施形態によれば、図２に示すように、変換機２００は少なくとも１つのコントローラ２４を含むことができる。コントローラ２４により、一方向または双方向において、変換機ＩＥＥＥ１３９４インターフェイス２２と変換機ＵＳＢインターフェイス２０との間のデータ転送を容易にする。例えばコントローラ２４は、直接的もしくは間接的にコントローラ２４をドライバ１４に接続するコンポーネントを介して、コマンド、データ・ユニット、およびステータス情報のいずれかまたは全てをドライバ１４と交換できる。例えば図１に示すように、コントローラ２４をドライバ１４に接続するコンポーネントは、変換機ＵＳＢインターフェイス２０、ＵＳＢ接続３００およびシステムＵＳＢインターフェイス１０を備えることができる。コントローラ２４はまた、変換機２００内において１つまたはそれ以上の論理ユニットの制御およびコンフィグレーションの一方または双方を行うことができる。例えばコントローラ２４は、変換機２００でデータ・フローおよびデータ実行の一方または双方についての制御およびコンフィグレーションの一方または双方を行うことができる変換機ＵＳＢインターフェイス２０を介して、コマンド、データ・ユニットおよびステータス情報のいずれかまたは全てをドライバ１４と交換できる。
【００３０】
ある実施形態において、１つまたはそれ以上のバッファ２５，２６は、コントローラ２４の性能上の問題や変換機２００内での様々な論理ユニット間における変換上の問題、および変換機２００内での任意のまたは全ての障害により起きるエラーのいずれかまたは全てを含む（但し、これらに限定されない）、ある転送に関する問題を補償するのに用いることができる。バッファ２５，２６は、ゼロサイズ（但し、これに限定されない）を含むサイズに変更することができる。
【００３１】
変換機２００は、オーディオ‐ビデオ・インターフェイス回路２８をオプションとして含むことができ、これは１つまたはこれ以上のオーディオおよびビデオの一方または双方のエンコーダおよびデコーダの一方または双方を備えることができる。オーディオ‐ビデオ・インターフェイス回路２８はこのため、オーディオおよびビデオの一方または双方の入力機能および出力機能を備える。しかしながら、オーディオ‐ビデオ・インターフェイス回路２８は本発明の要素を構成しないため、更なる詳細説明は行わない。図２におけるコンポーネント２１、２５、２４、２６、２３、２７、２８および２９は、ディスクリート回路、または好ましくはカスタムＡＳＩＣとして実装できる。
【００３２】
ある実施形態によれば、変換機２００におけるディスクリート回路の実装は、このように次のようなチップを含むことができる。すなわち、ａ）Agere FW323、ｂ）(Cypress) EZ-USB FXに、そしてｃ）Altera Cyclone EPIC3 フィールド・プログラマブル・ゲート・アレイ(「ＦＰＧＡ」)チップである。Agere FW323は、1394A PCI Link/Phy オープン・ホスト・コントローラ・インターフェイス(「ＯＨＣＩ」)チップであり、ペンシルバニア州アレンタウンのアギア社（Agere Corporation）から市販されている。Cypress EZ-USB FX2には高速ＵＳＢインターフェイスおよび一般的なプログラマブル・インターフェイス（「ＧＰＩＦ」）（ＣＹ７Ｃ６８０１３）を備えたＵＳＢマイクロコントローラ・チップであり、カリフォルニア州サンノゼのサイプレス社（Cypress Corporation）から市販されている。Ａｌｔｅｎａ  Ｃｙｃｌｏｎｅチップは、ＦＰＧＡチップであり、２９１０個の論理構成要素と、１０４個のＩ／Ｏピン、および  ６．５ＫｂｙｔｅのＲＡＭから成る。論理コンポーネント２２、２３、および２６（例えば図２参照）の機能は、ＦＷ３２３チップによって実現される。論理コンポーネント２４および２７はＡｌｔｅｒａ  Ｃｙｃｌｏｎｅ  ＥＰ１Ｃ３  ＦＰＧＡによって実現される。論理コンポーネント２０、２１、２５、２７の機能はＣｙｐｒｅｓｓ  ＥＺ−ＵＳＢによって実装される。
【００３３】
一般的にＡｇｅｒｅチップは、ＩＥＥＥ１３９４−１３９５に規定されているような、トランザクション・レイヤーおよびシリアル・バス・マネジメントのサブセットだけでなく、物理レイヤーおよびリンク・レイヤーのもつ全ての機能をハンドルする。Ａｇｅｒｅチップは、１３９４オープン・ホスト・コントローラ・インターフェイス仕様（ＯＨＣＩ、インテル社（Intel（商標）Corporation）より入手可）に準拠している。
【００３４】
一般的にＣｙｐｒｅｓｓチップは、次の機能を実現する。組込みＵＳＢ２．０トランシーバは、ＵＳＢ仕様に従って電気信号レベルとの間でデータを変換する。組込みＵＳＢシリアルインターフェイス・エンジンは、システム１００との間のハンドシェイクおよびフロー制御を含む、低レベルのパケット構造をハンドルする。組込み８０５１マイクロコントローラは組込みＳＲＡＭメモリに格納したコードを実行する。このコードは、システム１００から受信した際の装置発見フェーズおよび初期コンフィグレーション・フェーズの間に高レベルＵＳＢプロトコル要素およびAltera Cycloneコンフィグレーション・データを処理する。プログラマブル周辺機器インターフェイスは、システム１００とＡｌｔｅｒａ  Ｃｙｃｌｏｎｅチップとの間での双方向データ転送を容易にする。
【００３５】
一般的にＡｌｔｅｒａ  Ｃｙｃｌｏｎｅチップは、Ｃｙｐｒｅｓｓチップとの間の双方向データ転送のためのインターフェイスを提供し、また、Ａｇｅｒｅ  ＦＷ３２３チップとの間の双方向インターフェイスも提供する。さらにＡｌｔｅｒａ  Ｃｙｃｌｏｎｅチップは、データを格納し、またそのデータをあるインターフェイスから別のインターフェイスへ転送するのに用いられる組込みメモリを備えている。Ａｌｔｅｒａ  Ｃｙｃｌｏｎｅチップ機能は、システム１００と通信した時は中間プロトコルの情報（例えば、ヘッダー）の付加、解釈を行う。この機能は、ドライバ１４が提供するコンフィグレーション・データによって提供される。例えばオプションのオーディオ／ビデオ回路２８におけるオーディオ／ビデオ入力機能および出力機能を実装するといった追加機能は、ドライバ１４からＡｌｔｅｒａ  Ｃｙｃｌｏｎｅチップへ異なるコンフィグレーション・データをダウンロードすることにより提供される。
【００３６】
電源２９は、変換機２００に対して動作電源を供給し、そしてこの電源には、当業者に知られているように、ＵＳＢインターフェイス２０に入るＵＳＢバスから、外部ＡＣ／ＤＣ電力から、または他の適切な電源からのいずれかから給電することができる。
【００３７】
ある実施例により、１つまたはそれ以上のコマンドは、ドライバ１４が送信して、変換機２００内の少なくとも１つの論理ユニットによって実行されるようにすることができる。例えば、ＵＳＢプロトコルでパッケージされ、ドライバ１４から送信されたコマンド（例えば、割り込みコマンドおよび実行コマンドの一方または双方）は、即時処理および後での取り出しの一方または双方のためにコントローラ２４が受信できる。コマンドはまた、変換機２００の少なくとも１つの論理ユニット（例えばコントローラ２４）がシステム１００に対して、システム１００の１つまたはそれ以上のコンポーネント（例えばドライバ１４およびアプリケーション１２の一方または双方）による実行のために送信できる。
【００３８】
ある実施形態において、変換機２００は１つまたはそれ以上のメモリ・ユニット２７を含むことができる。メモリ・ユニット２７は変換機２００内でのデータ・ユニットの収集を容易にする。例えば、メモリ・ユニット２７は、後での使用および配信の一方または双方のためにコントローラ２４に送信されたデータ・ユニットを格納できる。この点で、メモリ・ユニット２７は、データ・ユニットに様々なサイズをアーカイブさせることにより変換機２００を介した有効なデータ交換を容易にする。メモリ・ユニット２７はまた、コントローラ２４が受け入れることができる任意の限界以上の超過データ・ユニットを収集することにより、さもなければコントローラ２４を氾濫させる大きいデータ・ストリームを補償できる。
【００３９】
ある実施形態によれば、図１及び図２に示すとおり、ＩＥＥＥ１３９４装置からのデータ・ユニットは変換機２００上の変換機ＩＥＥＥ１３９４インターフェイス２２にルーティングできる。この本文では変換機ＩＥＥＥインターフェイス２２から変換機ＵＳＢインターフェイス２０へのデータ・フローを記述しているが、データ・ユニットの逆のフローはおおむね同様の方法で考えられる。ＩＥＥＥ１３９４インターフェイス２２へルーティングされたデータ・ユニットは、ＩＥＥＥ１３９４プロトコルに準拠できる。このようなデータ・ユニットはそれぞれＰＴＵ２３に到達し、ここでこのデータ・ユニットに、トランスレート、変換、および変更のいずれかまたは全てを実施して、内部トランスレーション・プロトコルに準拠させることができる。この変換機内部トランスレーション・プロトコルは、ＩＥＥＥ１３９４バス・プロトコルからＵＳＢバス・プロトコルへの、もしくはその逆の、データ・ユニットの変換を容易にするための中間プロトコルとして動作できる。例えば、Ａｇｅｒｅ  ＦＷ３２３チップに基づいてディスクリートに実装したオプションのバッファ２６を介して、ＰＴＵ２３とコントローラ２４との間で用いられる変換機内部トランスレーション・プロトコルは、ローカル・バス・ＰＣＩプロトコルを介したＯＨＣＩとすることができる。バスＰＣＩプロトコルのＯＨＣＩに関するより詳細な説明は、例えば、２０００年１月付けの１３９４  オープン・ホスト・コントローラ・インターフェイス仕様、Release 1.1および２００２年３月付けのＰＣＩローカル・バス仕様、Rev2.3に見出すことができる。
【００４０】
コントローラ２４は、オプションのバッファ２６を介して、内部トランスレーション・プロトコルに準拠したデータ・ユニットをＰＴＵ２３から受信することができ、またオプションとして、ＵＳＢバス・プロトコルへのデータ・ユニットの適合を容易にするために、必要であれば１つまたはそれ以上のデータ・ユニットにヘッダーを付加できる。各データ・ユニットもしくはデータ・パケットにおけるデータ・ユニットの集合は、オプションのバッファ２５を介してＰＴＵ２１が受信できる。ＰＴＵ２１では、ＵＳＢバス・プロトコルに準拠するように、各データ・ユニットやデータ・ユニットの集合をトランスレーション、変換および変更のいずれかまたは全てを行える。
【００４１】
ある実施形態において、１つまたはそれ以上のデータ・ユニットは、後での取り出しおよびデータ・パケット内での複数データ・ユニットの収集の一方または双方のために、コントローラ２４およびオプションのメモリ・ユニット２７の一方または双方に格納できる。データ・パケット・サイズは、あらかじめコンフィグレーションしてコントローラ２４にハードコーディングするか、あるいはドライバ１４がコントローラ２４に該当コマンド・パケットを送信して制御するかの一方または双方を行うことができる。このデータ・パケットがあらかじめ決められたサイズに達した時か、あるいはコントローラ２４が適当なコマンド・パケットを受信した時かの一方または双方において、オプションのヘッダーを含む１つまたはそれ以上のデータ・パケットは、ＰＴＵ２１およびオプションのバッファ２５を介して変換機ＵＳＢインターフェイス２０に送信できる。
【００４２】
ある実施形態において、図３に示すとおり、ＵＳＢ接続３００を通じて転送されるデータ５００は、オプションのヘッダー５２と共に、固定サイズもしくは可変サイズのデータ・パケット５４を含むことができ、その詳細は例えば、２０００年４月２７日付けのユニバーサル・シリアル・バス仕様Revision2.0に記載されている。ヘッダー５２は例えば、コマンド、ステータス情報もしくは転送データといったデータ・パケット・タイプを記述できる。ヘッダー５２はまた、データ・パケット５４のサイズを記述できる。さらにヘッダー５２は、特定のデータ・パケット５４を一意に特定するためのタグ・フィールドを有することができる。また、ヘッダー５２はヘッダー５２自身およびヘッダー５２のサイズを記述するサイズ・フィールドの一方又は双方を特定するための識別子フィールドを有することができる。
【００４３】
ある実施形態において、ドライバ１４（図１）は変換機ＵＳＢインターフェイス２０およびシステムＵＳＢインターフェイス１０を介して変換機２００からデータ・ユニットおよびデータ・パケットの一方または双方を直接的にまたは間接的に受信できる。次にドライバ１４は、受信データ・パケットをオプションのヘッダー５２の内容（図３参照）に基づいて処理できる。ドライバ１４はまた、各データ・パケットの内容に基づいてデータ・パケットの識別および処理の一方または双方を行うことができる。データ・ユニットおよびデータ・パケットの一方または双方は、直接的にまたは間接的にアプリケーション１２に届けられる（図１参照）。例えば、ビデオカメラは変換機２００を介してアプリケーション１２にリアルタイムにビデオ・データをストリームできる。
【００４４】
ある実施形態において、図１及び図２に示すように、データはドライバ１４により、例えば２０００年４月２７日付けのユニバーサル・シリアル・バス仕様Revision2.0に規定されているデータ・ユニットおよびデータ・パケットの一方または双方の形式で、ＵＳＢ接続３００および変換機ＵＳＢインターフェイス２０を介して、直接的にまたは間接的に変換機２００に送信できる。ドライバ１４が１つまたはそれ以上のデータ・パケットを送信する前に、ドライバ１４によるオプションのヘッダーの任意データ・パケットへの付加、およびドライバ１４による１つまたはそれ以上のデータ・ユニットの各データ・パケット内での変更、の一方または双方を行うことができる。このような各データ・ユニットは、ＰＴＵ２１に達し、そこでデータ・ユニットにはトランスレート、変換、および変更のいずれかもしくはすべてを行って、ローカルＰＣＩバス・プロトコルのＯＨＣＩといった変換機内部トランスレーション・プロトコルに準拠するようにする。変換機内部トランスレーション・プロトコルはＵＳＢバス・プロトコルからＩＥＥＥ１３９４プロトコルへ、もしくはその逆のデータ・ユニット変換を容易にするための中間プロトコルとして動作できる。
【００４５】
ある実施形態において、コントローラ２４はオプションのバッファ２５を介して内部トランスレーション・プロトコルに準拠したデータをＰＴＵ２１から受信することができ、またオプションのヘッダーに有するデータ・タイプ情報に基づき１つまたはそれ以上のデータ・パケットを処理できる。コントローラは、各データ・パケットの内容に基づいて、１つまたはそれ以上のデータ・パケットを処理できる。例えば、仮にデータ・パケットがコマンド・パケットを有していたとすれば、そのコマンドは、コントローラ２４において実行するか、あるいは後での実行のためのコントローラおよびオプションのメモリ・ユニット２７の一方または双方において格納できる。また例えば、データ・パケットが転送データ・パケットを有していたとすれば、そのヘッダー（もしあれば）を取り除き、そのデータ・パケットをオプションのバッファ２６およびＰＴＵ２３を介して交換機ＩＥＥＥ１３９４インターフェイス２２に送信できる。各データ・ユニット、またはデータ・パケットにおけるデータ・ユニットの集合は、オプションのバッファ２６を介してＰＴＵ２３で受信できる。ＰＴＵ２３は各データ・ユニットまたはデータ・ユニットの集合をトランスレート、変換および変更のいずれかもしくはすべてを実施してＩＥＥＥ１３９４バス・プロトコルに準拠できる。オプションとして、１つまたはそれ以上のデータ・パケットは、ドライバ１４およびコントローラ２４の一方または双方により変換機ＩＥＥＥ１３９４インターフェイス２２に後で転送するために、コントローラ２４およびメモリ・ユニット２７の一方または双方に格納することができる。すべてのデータ転送は全二重で遂行することができ、例えば、全てのデータ入力および出力は完全に並列で行うことができる。
【００４６】
ドライバ１４は図４により詳細に示す。図４に示すとおり、ドライバ１４は１３９４−ＵＳＢトンネル・バス・ドライバ・コンポーネント６５およびＵＳＢクライアント・デバイス・ドライバ・コンポーネント６６を備えることができる。ドライバ１４はまた、ソフトウェア・コンポーネント６１から６４および６８から７２を備えることができるが、これらは相対的にはMicrosoft（商標）Windows XP（商標）のＩＥＥＥ１３９４ドライバ・スタック・コンポーネントおよびＵＳＢドライバ・スタック・コンポーネントであり、該当分野においては知られている。コンポーネント６１−６４および６５は、１３９４ドライバ・スタック１６を形成する。コンポーネント６１はストリーム・クラス・ドライバ「ｓｔｒｅａｍ．ｓｙｓ」、コンポーネント６２はＡＶ／Ｃストリーム・フィルター・ドライバ「ａｖｃｓｔｒｍ．ｓｙｓ」、コンポーネント６３はＡV／Ｃプロトコル・ドライバ「ａｖｃ．ｓｙｓ」、そしてコンポーネント６４はＩＥＣ−６１８８３プロトコル・ドライバ「６１８８３．ｓｙｓ」である。コンポーネント６６および６７−７２はＵＳＢドライバ・スタック１７を形成する。コンポーネント６７はＡＶストリーム・ドライバ、コンポーネント６８はＵＳＢハブ・ドライバ「ｕｓｂｈｕｂ．ｓｙｓ」、コンポーネント６９はホスト・コントローラ・ドライバ「ｕｓｂｐｏｒｔ．ｓｙｓ」、コンポーネント７０はミニポート・ドライバ「ｕｓｂｅｈｃｉ．ｓｙｓ」、コンポーネント７１はミニポート・ドライバ「ｕｓｂｕｈｃｉ．ｓｙｓ」、そしてコンポーネント７２はミニポート・ドライバ「ｕｓｂｏｈｃｉ．ｓｙｓ」である。アプリケーション１２以外のシステム１００のコンポーネントで生成される標準ＵＳＢコマンドおよびデータ・パケットは、コンポーネント６７で受信され、通常の方法でコンポーネント６６をトランスペアレントに通過してＵＳＢ接続３００に達する。
【００４７】
コンポーネント６５は、Microsoft（商標）Ｃｏｒｐｏｒａｔｉｏｎから提供されるWindows（商標）Ｄｒｉｖｅｒ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｋｉｔ（「ＤＤＫ」）に記述されるIOCTL_1394_CLASSインターフェイスを介してコンポーネント６４にインターフェイスする。コンポーネント６５はMicrosoft（商標）ＤＤＫに定義されているすべてのＩＥＥＥ１３９４ＢＵＳ  Ｉ／Ｏ要求を実行する。これによりコンポーネント６１−６４は、コンポーネント６５にアクセスするかわりに標準Microsoft（標準）ＯＨＣＩ  ＰＣＩ  １３９４バス・ドライバおよびMicrosoft（商標）１３９４ポート・ドライバと通信するかのような動作をする。コンポーネント６５がＩＥＥＥ１３９４ＢＵＳ  Ｉ／Ｏ要求をコンポーネント６４から受信した時は、コールバック機能およびＩＯＣＴＬｓの一方または双方を用いることでコンポーネント６６を介して適切なデータ・パケット、コマンドおよびステータス・メッセージのいずれかまたは全てを変換機２００と交換して、この要求をハンドルする。例としては、ＯＨＣＩコンパチブルのＰＣＩアクセスを備えたデータ・パケットが生成される。これらのデータ・パケットは１３９４オープン・ホスト・コントローラ・インターフェイス仕様、Release1.1、およびに付録として添付されている変換機・パケット・フォーマット仕様において規定されている。より詳細な例は、本ドキュメントにおいて後で例示する。
【００４８】
ある実施例において、コンポーネント６６は、Microsoft（商標）ＤＤＫマニュアルに記述のWindows（商標）Ｄｒｉｖｅｒ  Ｍｏｄｅｌに従って構成されたストリーミング・クラスＵＳＢミニドライバとすることができる。このドライバは、ＵＳＢを介して変換機２００との間で全てのデータ転送を容易にできる。例えば、コンポーネント６８−７２およびシステムＵＳＢインターフェイス１０を介して１３９４−ＵＳＢトンネル・バス・ドライバ・コンポーネント６５から変換機２００に、またはその逆にデータ・パケットおよびコマンドの一方または双方を通すことができる。ＵＳＢクライアント・デバイス・ドライバ・コンポーネント６６はMicrosoft（商標）ＤＤＫに規定されているとおり、ＵＳＢクライアント・ドライバに対してＩ／Ｏ要求を用いることでコンポーネント６８にインターフェイスできる。ドライバ１４およびシステムＵＳＢインターフェイス１０で動作するデータのフォーマットおよびプロトコルに関する追加細目は、付録として添付する変換機コンフィグレーションおよび送信フォーマットに記載している。
【００４９】
ある実施形態の動作例は以下のとおりである。変換機２００をシステム１００に接続した時（図１）、オペレーティング・システム１１のMicrosoft（商標）Windows（商標）Plug＆Play機構は、変換機２００がシステム１００およびシステムＵＳＢインターフェイス１０に接続されたことを検出し、ＵＳＢドライバ・スタック１７をシステム・メモリにロードし、そしてこれらのコンポーネントの実行を開始させる。ＵＳＢドライバ・コンポーネント６６は、ＩＯＣＴＬコマンドをトンネル・バス・ドライバ・コンポーネント６５（トンネル・バス・ドライバは、例えばシステム・スタートアップの間に起動されている）に送信し、トンネル・バス・ドライバ・コンポーネント６５とＵＳＢドライバ・コンポーネント６６の間で関数ポインタを交換することでコールバック・インターフェイスを確立する。その結果、トンネル・バス・ドライバ・コンポーネント６５は、ＵＳＢドライバ・コンポーネント６６が使用可能であることを認識するようになり、適切なデータ・パケットおよびコマンドの一方または双方を変換機２００に送信することにより、変換機２００上のコンポーネント２０−２７（図２参照）を初期化する。
【００５０】
ＩＥＥＥ装置４００を変換機２００に接続した時に、ＰＴＵ２３（図２参照）はメモリ・ユニット２７に格納できるＳｅｌｆＩＤパケット（例えばＯＨＣＩ仕様参照）を生成する。コントローラ２４はこのとき、これらのＳｅｌｆＩＤをデータ・パケットにパックする。これらのデータ・パケットは、ＵＳＢドライバ・コンポーネント６６を介して、コントローラ２４からトンネル・バス・ドライバ・コンポーネント６５に対して送信される。トンネル・バス・ドライバ・コンポーネント６５は、ＤＤＫで規定されているシステムの装置検知機構を始動し、その結果として、ＩＥＥＥ１３９４装置４００はシステムのＰｌｕｇ＆Ｐｌａｙマネージャが検知する。次にオペレーティング・システム１１は、コンポーネント６１−６４をロードし、トンネル・バス・ドライバ・コンポーネント６５を介して通信を開始して、ＩＥＥＥ１３９４装置４００との通信を可能にする。
【００５１】
本発明に整合する詳細な動作例について説明する。ＩＥＥＥ１３９４装置４００は、ＩＥＥＥ１３９４装置４００（例えばカムコーダー）からＩＥＥＥ１３９４フォーマットのデジタルビデオデータを受信し、このデータをシステム１００のデジタルビデオ・アプリケーション１２で処理することがＩＥＥＥ１３９４装置４００に望まれると想定する。第１に、例えば標準ＵＳＢ２．０ケーブルを用いて変換機２００とシステム１００との間で接続を行う。次に、例えば標準ＩＥＥＥ１３９４ケーブルを用いて装置４００と変換機２００との間で接続を行う。次にシステム１００においてアプリケーション１２の実行が開始する。アプリケーション１２は、次の段落でより詳細に述べるように、ドライバ１４と変換機２００を介して、例えばＦＣＰ／ＡＶＣコマンドを装置４００に送信することでＩＥＥＥ装置４００からのデータ出力を開始する。ＦＣＰ／ＡＶＣコマンドは当業者に知られており、仕様AV/C デジタル・インターフェイス・コマンド・セット  Rev2.0、1394業界団体（Trade Association）、において規定されている。
【００５２】
ある実施形態によれば、アプリケーション１２からＩＥＥＥＦ１３９４装置４００への変換機２００を介したＦＣＰ／ＡＶＣコマンド送信について説明する。アプリケーション１２は、例えばＦＣＰ／ＡＶＣコマンドを生成し、コンポーネント６１から６４を介して（図４）、このＦＣＰ／ＡＶＣコマンドを１３９４−ＵＳＢトンネル・バス・ドライバ・コンポーネント（トンネル・バス・ドライバ）６５に送信する。コンポーネント６３および６４は、このＦＣＰ／ＡＶＣコマンドを複数の１３９４非同期ライト・コマンドおよび１３９４非同期リード・コマンドに分割し、これらコマンドをトンネル・バス・ドライバ・コンポーネント６５に送信する。ＩＥＥＥ１３９４の非同期および等時性のリード・コマンドおよびライト・コマンドは該当分野において知られている。トンネル・バス・ドライバ・コンポーネント６５はこれから、次の段落で実施形態例を記述するように、あるコマンド、例えば１つの非同期ライト・コマンドを受信し、このコマンドを実行する。
【００５３】
トンネル・バス・ドライバ・コンポーネント６５は、コンポーネント６４から受信した非同期コマンドを含んだ１３９４データ・パケットを生成し、この１３９４データ・パケットに「ＲＡＭ格納」というヘッダーを付加する。次に、トンネル・バス・ドライバ・コンポーネント６５は、システム・メモリ１３にこの１３９４データ・パケットを指すOHCI_OUTPUT_MORE記述子を生成し、この記述子に「ＲＡＭ格納」というヘッダーを付加する。次にトンネル・バス・ドライバ・コンポーネント６５は、上記OUTPUT_MORE記述子（このとき、これは変換機ＩＥＥＥ１３９４インターフェイス２２で用いられている）の更新を生成し、この新たに生成したOUTPUT_MORE記述子へのリンクを追加して、この更新された記述子に「ＲＡＭ格納」というヘッダーを付加する。オプションとして、どのOUTPUT_MORE記述子もＩＥＥＥ１３９４インターフェイス２２によって現在使用されていなければ、トンネル・バス・ドライバ・コンポーネント６５は、インターフェイス２２のＯＨＣＩ  ＣｏｍｍａｎｄＰｔｒレジスタに書き込みを行う「ＰＣＩ書き込みＤＷＯＲＤ」コマンドを生成し、そしてＩＥＥＥ１３９４インターフェイス２２のライトＯＨＣＩ  ＣｏｎｔｅｘｔＣｏｎｔｒｏｌレジスタにパラメータ「ＲＵＮ」を書き込む「ＰＣＩ書き込みＤＷＯＲＤ」コマンドを生成して、記述子リストの実行を開始する。
【００５４】
これら全てのデータ・パケットは、所与の順序でＵＳＢ接続３００を介して変換機２００に次のように送信される。トンネル・バス・ドライバ・コンポーネント６５は、ＵＳＢクライアント・デバイス・ドライバ・コンポーネント６６に対して、これらのデータ・パケットを送信し、そしてこのコンポーネント６６は次に、現在活性のＵＳＢミニポート・ドライバ（すなわち、ｕｓｂｅｈｃｉ．ｓｙｓ７０、ｕｓｂｕｈｃｉ．ｓｙｓ７１もしくはｕｓｂｏｈｃｉ．ｓｙｓ７２）にこれらデータ・パケットを送信する。この現在活性のＵＳＢミニポート・ドライバは、適当なＵＳＢ仕様に従い、ＵＳＢ接続３００を介してこのデータ・パケットをビット単位で電気パルスに変換する。この変換は、例えば１つまたはそれ以上のデータ・パケット、およびエラー検知を容易にするチェックサムの一方または双方の開始や終了を示す追加のマーカーを含むことができる。
【００５５】
変換機ＵＳＢインターフェイス２０（図２）は、適当なＵＳＢ仕様にしたがってＵＳＢ接続３００を介して送信された電気パルスをバイナリ表現にデコードする。次に、ＰＴＵ２１は、コンバータＵＳＢインターフェイス２０から受けたデータ・ストリームからデータ・パケットを再構成し、そしてそれを検証する。ＰＴＵ２１で用いられる変換機内部トランスレーション・プロトコルに従って、ＰＴＵ２１はそれらデータ・パケットをバッファ２５に格納する。
【００５６】
コントローラ２４は、バッファ２５に格納されているデータ量をモニタし、ヘッダー５２が使用可能になった際にデータ・パケット５００からヘッダー５２を取り出す。この取り出しの後、コントローラ２４は、ヘッダー５２の内容を分析し、そして適当ならば、コントローラ２４はヘッダー５２に含まれたコマンドを実行する。例えば、ヘッダー５２が「ＲＡＭ格納」というコマンドを含んでいれば、コントローラ２４は、データ・パケット５００のヘッダー５２の直後のデータ・ユニットをメモリ・ユニット２７に格納する。コントローラ２４が実行できるコマンドの他の例には、バッファ２５から追加データ・ユニットをフェッチすること、ＩＥＥＥ１３９４インターフェイス２２のレジスタを読み取ること（すなわちＰＣＩ読み取りＤＷＯＲＤ）、およびＩＥＥＥ１３９４インターフェイス２２のレジスタに書き込むこと（すなわち、ＰＣＩ書き込みＤＷＯＲＤ）の少なくとも１つが含まれる。次にコントローラ２４は、対応するＩＥＥＥ１３９４インターフェイス２２のＯＨＣＩレジスタに、ヘッダー５２に含まれたコマンド・パラメータを書き込む。このことは、次にＩＥＥＥ１３９４インターフェイス２２をトリガしてコントローラ２４にメモリ位置を要求することで新しい記述子リストをフェッチさせ、そしてこれは次にメモリ・ユニット２７からデータを取り出すことになる。この新記述子リストに基づいて、ＩＥＥＥ１３９４インターフェイス２２はコントローラ２４からデータをフェッチし、そしてこれをＩＥＥＥ１３９４仕様に従ってビット単位で電気パルスに変換する。次にＩＥＥＥ１３９４インターフェイス２２は、１３９４インターフェイス２２と装置ＩＥＥＥ１３９４インターフェイス４０との間のＩＥＥＥ１３９４接続に沿ってこれらの電気パルスを送る。
【００５７】
ＩＥＥＥ１３９４装置４００は、ＩＥＥＥ１３９４接続を介して変換機ＩＥＥＥ１３９４インターフェイス２２にアクノリッジ・パケットを送信することで、非同期ライト・コマンドの受信および実行に肯定応答する。ＩＥＥＥ１３９４インターフェイス２２は、このアクノリッジ・パケットを取り出し、この肯定応答を反映するデータをメモリ・ユニット２７に書き込むことをコントローラ２４に要求する。バッファ２５が追加容量に対応できる時は、コントローラ２４はバッファ２５にヘッダー５２を追加し、メモリ・ユニット２７からデータ・ユニット５４をフェッチし、これにより、ＰＴＵ２１で使用するための内部トランスレーション・プロトコルにて別のデータ・ユニットを生成する。次にＰＴＵ２１は、バッファ２５から変換機ＵＳＢインターフェイス２０にデータを送信し、そしてインターフェイス２０は、ＵＳＢ接続３００を介してシステムＵＳＢインターフェイス１０に送信するため、そのデータをビット単位でＵＳＢフォーマットの電気パルスに変換する。
【００５８】
ＵＳＢドライバ・スタック１７は、適当なＵＳＢミニポート・ドライバ（ミニドライバ）（例えば、ｕｓｂｅｈｃｉ．ｓｙｓ７０、ｕｓｂｕｈｃｉ．ｓｙｓ７１またはｕｓｂｏｈｃｉ．ｓｙｓ７２）を使用して、この受信した電気パルスをバイナリ形式にデコードする。この適当なミニドライバは、システムＵＳＢインターフェイス１０のタイプに従って、Windows（商標）XP（商標）オペレーティング・システムが選択する。例えば、仮にシステムＵＳＢインターフェイス１０が、ユニバーサル・シリアル・バス向けのエンハンスド・ホスト・コントローラ・インターフェイス仕様（インテル社（Intel（商標）Corp）より入手可能なＥＨＣＩ）に準拠していれば、ミニドライバ７０が用いられることになる。他の例では、仮にシステムＵＳＢインターフェイス１０が、ＵＳＢ向けのユニバーサル・ホスト・コントローラ・インターフェイス仕様（インテル社（Intel（商標）Corp）より入手可能なＵＨＣＩ）に準拠していれば、ミニドライバ７１が用いられることになる。さらに他の例において、仮にシステムＵＳＢインターフェイスがＵＳＢ向けのオープン・ホスト・コントローラ・インターフェイス（本来はコンパック社（Ｃｏｍｐａｑ（商標））より入手可能なＯＨＣＩ）に準拠していれば、ミニドライバ７２が使用されることになる。
【００５９】
データは次に、コンポーネント６９、６８およびＵＳＢクライアント・デバイス・ドライバ・コンポーネント６６を介して、トンネル・バス・ドライバ・コンポーネント６５に送信され、そしてコンポーネント６５はこの受信データ・パケットに基づいた適当なステータス・メッセージをコンポーネント６４に送信する。
【００６０】
等時性なデータ・ストリームを開始することには（例えば、１３９４ビデオ・データ転送）、上述のとおり、ＩＥＥＥ１３９４装置４００とトンネル・バス・ドライバ・コンポーネント６５との間の複数の非同期ライト・コマンドおよびリード・コマンドを交換することが関係する。等時性データのストリーミングは、上述の非同期データ転送の手順と同様にして実現する。
【００６１】
ある実施形態によれば、変換機２００はシステム１００およびＩＥＥＥ１３９４装置４００の一方または双方からのデータを直接処理できる。例えば、変換機２００はある入来データへの応答を作成することができ、例えば変換機ＩＥＥＥ１３９４インターフェイスもしくは変換機ＵＳＢインターフェイス、またはその双方を介して、ステータス情報パケットおよびデータ・パケットの一方または双方としてこれらの応答を送信できる。コントローラ２４は、例えば割り込みといった、変換機２００内の様々なコンポーネントからのイベントを処理することができ、その結果として、変換機２００内のあるコンポーネントの構成、および変換機ＩＥＥＥ１３９４インターフェイスもしくは変換機ＵＳＢインターフェイスまたはその双方を介した適当なデータの送信の一方または双方を実施できる。フォーマットおよびプロトコルの更なる詳細は、添付した付録に記載する。
【００６２】
１３９４−ＵＳＢトンネル・バス・ドライバ・コンポーネント６５およびＵＳＢクライアント・デバイス・ドライバ６６を形成するコンピュータ命令は、プログラム・インストレーション・コードと共にＣＤ−ＲＯＭといったコンピュータ読出し可能媒体に格納できる。このコンピュータ読出し可能媒体は、Windows  XPといったオペレーティング・システム下で動作し、またPinnacle  Systems Studioといったアプリケーションを含むコンピュータ・システムのＣＤドライブに挿入できる。該当分野においてよく知られた方法では、インストレーション・コードをユーザが活性化させることができ、コンポーネント６５および６６がハードドライブのようなこのシステムの記憶媒体に格納されるようにすることができる。代替の実施形態において、アプリケーション１２は、初めはこのシステムに常駐させないこともできる。アプリケーション１２を形成するコンピュータ命令は、コンポーネント６５、６６を形成する命令およびインストレーション・コードと共に、コンピュータ読み取り可能媒体上に含めることができる。このコンピュータ読み取り可能媒体がシステムのＣＤドライブに挿入された時、ユーザは、このインストレーション・コードを活性化させることができ、これにより、コンポーネント６５および６６と共に、記憶媒体に実行可能なフォームでアプリケーション１２をロードする。
【００６３】
これによりアプリケーション１２を起動することができ、これによって、コンポーネント６５および６６をこのシステムの作業メモリ中にインストールし、オペレーティング・システムのドライバ・スタックとインターフェイスして上述の方法の動作を可能にする。
【００６４】
以上、種々の機能について特定のコンポーネントによって実行されるものとして上述してきたが、当業者に理解されるようにこのような特殊性は本発明に合致する実施形態を実施するためには要求されないものである。従って、例えばコンポーネント１４において実行するとして記述したある種の機能では、コンポーネント１０が実行することもできるし、その逆も成り立つ。
【００６５】
本明細書において以上に、本発明の具体的で典型的な実施例について記述してきたが、添付の請求項に記載した本発明の広い思想や範囲を逸脱することなく、本発明に対し様々な変更および変形を行うことができることは明らかである。しがたって本明細書および図面は、限定的でなく例示的なものとみなされるべきである。
【００６６】
付録：変換機コンフィグレーションおよび送信フォーマット
【００６７】
イントロダクション
このドキュメントは、システム（例えばＰＣ）と変換機／ＦＰＧＡとの間のデータ構造及びデータ・フローについて、つまり「ディスクリート」（すなわちｎｏｎ−ＡＳＩＣ）変換機の実装について記述している。
【００６８】
ＦＰＧＡは、カスタム論理を有する集積回路である。それは、変換機内部のＯＨＣＩコントローラとＵＳＢ２  Ｉ／Ｆチップとの間のＰＣＩベースのデータ・フローに対して、いくつかのインフラストラクチャー（そのほとんどはメモリ）を付加するものである。
【００６９】
ＵＳＢ  Ｉ／Ｆの制約につき、変換機のディスクリート実装は、ＵＳＢを介してＩＥＥＥ１３９４機能の提供と、ＡＶ機能の提供では異なったモードでの動作となる。両モードとも相互に排他的であり、すなわち、一方の機能セットのみが任意の所与の時間有効である。
注意：ＵＳＢでの物理的な送信順序は、「リトル・エンディアン」、すなわち「最下位バイト・ファースト」である。このドキュメントでの表記では、「最上位バイト・ファースト」であり、左から右に読み込んだら異なる送信順序になると想定され得る。しかしながら、それは右から左である、というケースではない。
【００７０】
ＵＳＢコンフィグレーション
この変換機は、ＵＳＢバスを介して次のコンフィグレーションを提示する。
【００７１】
フルスピード・モード：
インターフェイス記述子０−代替セッティング０
【表１】
2007529825.tif 000003
【００７２】
ハイスピード・モード：
インターフェイス０−代替セッティング０−アイドル
【表２】
2007529825.tif 000004
【００７３】
インターフェイス０−代替セッティング１−１３９４
【表３】
2007529825.tif 000005
【００７４】
インターフェイス０−代替セッティング２−AV再生
【表４】
2007529825.tif 000006
【００７５】
インターフェイス０−代替セッティング３−AVキャプチャ
【表５】
2007529825.tif 000007
【００７６】
注意：実際の最大パケット・サイズは、デバイス記述子にレポートされる値と異なることがあり得る。該当する場合には、実際の値は括弧書きされる。
【００７７】
グローバル機構
全てのモードに依存しないシステムと装置との間の通信では、エンドポイント１を用いて（２つのバルク・パイプが実施して）転送を行う。この規則の例外は、標準ＵＳＢ要求（例えば、「代替セッティング選択」）およびエンドポイント０を用いるＦＸ２ファームウェア・ダウンロードである。このため両エンドポイント（ＥＰ０およびＥＰ１）とも全ての代替セッティングを提示している。
【００７８】
エンドポイント１トランザクション
エンドポイント１は以下に記述するトランザクションをサポートする。エンドポイント１は、「要求／応答」方式を取り入れており、即ち、システムによる全ての動作は、肯定応答および応答データ・パケットの一方または双方と対応することに注意されたい。これらのパケットはコマンドＩＤの模倣と共に開始する。
【００７９】
注意：以下の表に、要求に対するパケット内容、および外部装置からの応答について記述する。オフセットはバイト単位でカウントする。ノン・バイト・フィールド（ｗｏｒｄｓ、ｄｗｏｒｄｓ）は「リトル・エンディアン」（ＬＳＢファースト）指向で転送されると見込まれる。
【００８０】
Ｉ２Ｃライト
【表６】
2007529825.tif 000008
【００８１】
注意：出力先の装置がサブアドレスを用いたら、この追加アドレス情報はデータ部の開始点にする必要がある。
【００８２】
Ｉ２Ｃリード
【表７】
2007529825.tif 000009
読込みトランザクションが失敗したら、どのデータも戻されない（データ・フィールドのサイズは０バイト）。
【００８３】
注意：ターゲットとなる装置がサブアドレスを用いていなければ、「ｓｕｂａｄｄｒ  ｌｅｎ」に０をセットする。
【００８４】
セット・リセット
【表８】
2007529825.tif 000010
装置ＩＤ：（i2cアドレスと同じ）
【００８５】
クリア・リセット
【表９】
2007529825.tif 000011
装置ＩＤ：（i2cアドレスと同じ）
【００８６】
スタートＦＰＧＡダウンロード
【表１０】
2007529825.tif 000012
【００８７】
注意：このコマンドは、代替セット０（アイドル・モード）が有効な間でのみ利用可能である。
【００８８】
ゲットＦＰＧＡステート
【表１１】
2007529825.tif 000013
【００８９】
ゲットＵＳＢスピード
【表１２】
2007529825.tif 000014
スピード：
０：フル・スピード（１２  Ｍｂｉｔ／ｓ）
１：ハイ・スピード（４８０Ｍｂｉｔ／ｓ）
【００９０】
フラッシュ・エンドポイントＦＩＦＯＳ
【表１３】
2007529825.tif 000015
Ｃｙｐｒｅｓｓ  ＦＸ２チップのエンドポイント２，４，６，８に対してＦＩＦＯＳをクリアする。
【００９１】
リード・タイムスタンプ
【表１４】
2007529825.tif 000016
アクノリッジ・パケットはＦＰＧＡからの最新タイムスタンプを含む。
【００９２】
注意：このコマンドは、再生モードの時のみ有効である。
【００９３】
エコー
【表１５】
2007529825.tif 000017
これは「ＮＯＰ」コマンドであり、システムで（トークンを含んだ）エコー・バックのみを受ける。その目的は、装置を見つけた後に、ＵＳＢ  Ｉ／Ｆパイプをフラッシングして、前セッションの残分を削除することの支援をすることである。
ドライバ・ロードでの提案されるシーケンスは以下のとおりである。
・「エコー」コマンドをトークン＝１で装置に送信する。
・トークン＝１の「エコー」を受信するまでＥＰ１から読み出す。  
・「エコー」コマンドをトークン＝２で装置に送信する。
・トークン＝２の「エコー」を受信するまでＥＰ１から読み出す。
【００９４】
モード・スイッチング
変換機の動作モード（１３９４、ＡＶキャプチャ、ＡＶ再生）の選択には、３ステップが必要である。すなわち、
・装置をアイドル・モードにプットする−代替セッティングに０を選択する。
・新しい動作モードのＦＰＧＡコンフィグレーションをダウンロードする。
・装置を新動作モードにプットする−適切な代替セッティングを選択する。
ＦＸ２ファームウェア・ダウンロード
ＦＸ２マイクロコントローラへのファームウェア・ダウンロードは、エンドポイント０を用いてＦＸ２装置でネイティブに実施する。詳細はＣｙｐｒｅｓｓの別途資料参照。
ＦＰＧＡダウンロード
ＦＰＧＡコンフィグレーション・データのダウンロードは、「アイドル」モード（代替セッティング０）でのみサポートされる。次に、ＥＰ２はＦＰＧＡダウンロード・データを伝えるのに使用できるようになる。
ｉ２ｃアドレス
下記の表に、変換機全てのｉ２ｃ装置の相対アドレスを一覧表示する。
【表１６】
2007529825.tif 000018
【００９５】
ＥＥｐｒｏｍコンテント
【表１７】
2007529825.tif 000019
【００９６】
１３９４モード
このドキュメントの本セクションは、ＯＨＣＩコントローラとディスクリート・変換機を実現する本システムとの間のデータ交換のための機構についてのみ記述する。この通信フローに関する実際の内容と構造については記述しない。より詳細には、「１３９４  オープン・ホスト・コントローラ・インターフェイス仕様」（Release1.1、２０００年６月１）参照とする。
【００９７】
このシステムのＩＥＥＥ１３９４接続手段は、変換機におけるＰＣＩベースＯＨＣＩコントローラの「遠隔制御」で達成できる。ＦＰＧＡは、変換機内部のＰＣライクなＰＣＩ環境の模倣を支援するための資源および機構を提供する。
・４ＫバイトＲＡＭ：ＯＨＣＩコントローラは、真にランダムな方法でこのメモリから読み取りができる。システムは、このメモリにＵＳＢを介した内容（ＯＨＣＩ記述子、ＩＥＥＥ１３９４パケット）の書き込みができる。ＯＨＣＩコントーラからこの領域に書き込まれた任意のデータは、ＦＰＧＡ  ＲＡＭでアップデートされるだけでなく、システムに転送される。
・ＦＩＦＯにマップした（擬似）ＲＡＭ：２ＫバイトのＦＩＦＯは、ＰＣＩ上のメモリ・レンジにマップされる。これらの場所への書き込み全ては、このシステムに転送される。
・ＰＣＩマスタ機能：このシステムは、変換機内部のＰＣＩバス上のトランザクションを（ＵＳＢを介して）読み取りおよび書き込みができる。各アクセスは、３２ビット幅である。このことは、ＯＨＣＩレジスタ全てのマネジメントを可能にする。
リアルタイム応答を要する全てのイベントは、ＵＳＢ  Ｉ／Ｆのマイクロコントローラがハンドルする。これは、（必要な場合）任意の割り込み、および等時性のパケット・ストリーミングのいくつかの態様を含む。
【００９８】
パケットは、ＵＳＢのバルク・トランザクションを用いて送信することを想定している。このことは、データの整合およびハードウェア・ベースでのフロー制御を保証する。
【００９９】
ＵＳＢコントローラは、無制限（非同期式パケット）もしくはタイム・ベース（同期式パケット）のどちらか一方で、任意の受信ＵＳＢパケットをＦＰＧＡに転送することになる。
【０１００】
ＦＰＧＡは、ＰＣＩ  ＤＭＡデータにおけるＵＳＢを介したシステムへの送信時のパケット化をハンドルする。これは、先頭のヘッダーを含み、最初のＰＣＩアドレスおよびそれに続くバースト長を伝える。ＦＰＧＡは、可能であればいくつかの簡易な「バースト・コンバイニング」を用いる。
【０１０１】
ＰＣＩアドレス
ＦＰＧＡとＯＨＣＩコントローラとの間の組込みＰＣＩバスは次のアドレス空間をサポートする。
【０１０２】
ＦＰＧＡターゲット・アクセス
【表１８】
2007529825.tif 000020
【０１０３】
ＦＰＧＡ内の物理ＲＡＭをアドレス付けするために、上位半分（特に第１７ビット）はクリアされたままであるべきである。下位１２ビットは、実際の物理ＲＡＭの位置を選択する。パケットを転送するＤＭＡは、（ＦＰＧＡアドレス空間に書き込む結果）そのアドレスの下位半分（１６ビット）を完全に模倣する。
【０１０４】
読み取りトランザクション：この物理ＲＡＭは完全な仮想アドレス範囲（第１５ビットから第１２ビットまでは）アドレス・デコーディング用として無視される）に渡り「シャドウ」される。
【０１０５】
書き込みトランザクション：書き込みアクセスの全てはこのシステムに転送される。この物理ＲＡＭは０ｘ１０００から０ｘ１ＦＦＦまでの範囲でアップデートするだけである。２３ビット目のアドレスに依存して、転送エンドポイントは以下のように選択される。
【０１０６】
２３ビット目  エンドポイント  トランザクション・サイズ  コミット・タイムアウト
０          ＥＰ４                        ５１２バイト        ７μｓ
１      ＥＰ８（ｌｓｏｃｈ．Ｄａｔａ）    ４０９６バイト      ３００μｓ
【０１０７】
バッファＩＤを用いたＦＰＧＡターゲット・アクセス
【表１９】
2007529825.tif 000021
【０１０８】
外向きのデータ・ストリームに対するフロー制御をサポートするために、ＦＰＧＡは「バッファ」機構をサポートする。バッファＩＤは、ＰＣＩアドレスの上位バイト（上の図参照）でエンコードされる。バッファＩＤは、その下位１６ビットは実際の物理アドレスまたは「仮想」アドレスからは独立している。
ＦＰＧＡは、このアドレスの第３１ビットがセットされたときに、バッファのアクセスを検知する。これは、読み取りトランザクションおよび書き込みトランザクションに適用する。
【０１０９】
ＯＨＣＩレジスタ・アクセス
【表２０】
2007529825.tif 000022
【０１１０】
第１７ビットがセットされたらいつでも、ＰＣＩトランザクションはＯＨＣＩコントローラ（すなわち、そのレジスタ）をターゲットにする。
【０１１１】
パケット・フォーマット
ＦＰＧＡで送受する全てのパケットは、４バイトのヘッダーを有する。このｄｗｏｒｄの最上位４ビット目はパケット・タイプを識別する。
【０１１２】
このＦＰＧＡはＵＳＢパケットの境界を参照していないことに注意を要する。それは、以下に規定されるとおり、論理パケットのストリームを受信するのみである。このため、複数の「ＦＰＧＡパケット」は、単数のＵＳＢパケットで共に接続でき、また送信できる。複数のＵＳＢパケットを介して単数の「ＦＰＧＡパケット」を拡張することは、理論上は可能であるが、強く遠慮すべきである。
【０１１３】
パケット・コード参照
【表２１】
2007529825.tif 000023
【０１１４】
ＰＣＩ書き込みＤＷＯＲＤ
要求（システムから）
【表２２】
2007529825.tif 000024
【０１１５】
このパケットは、ＦＰＧＡに指示してローカルＰＣＩバスでマスタ書き込みコマンド・サイクルを開始する。
【０１１６】
ｄｗｏｒｄデータは、アドレス部に書き込むデータを取得する。アドレスは、ｄｗｏｒｄ割り当てである。
【０１１７】
gen_ackが０にセットされた場合、タグは無視され、更なる動作は行わない。gen_ackが１にセットされた場合、ＦＰＧＡは応答パケットを生成することになる（下記参照）。
【０１１８】
注意：このパケットがisoch_transmitエンドポインに送信された場合、isoch_store_disableフラグがクリアされた時にＰＣＩトランザクションが実行されるだけである（ＦＰＧＡレジスタ参照）。承認パケットは（要求されたら）、このフラグ・ステータスに関係なく生成される。
【０１１９】
応答（変換機から）
【表２３】
2007529825.tif 000025
【０１２０】
このタグ・フィールドおよびアドレス・フィールドは、もとの要求パケットからの値を再現する。
【０１２１】
ＰＣＩ読み取りＤＷＯＲＤ（０Ｘ３）
要求（システムから）
【表２４】
2007529825.tif 000026
【０１２２】
このパケットは、ＦＰＧＡに指示してローカルＰＣＩバスでマスタ読み取りコマンド・サイクルを開始する。ｄｗｏｒｄデータは、アドレス（ｄｗｏｒｄ割り当て）から読み込むデータを取得する。ＦＰＧＡはターゲットから読み込んだデータでアクノリッジ・パケットを生成する（下記参照）。
【０１２３】
応答（変換機から）
【表２５】
2007529825.tif 000027
【０１２４】
このタグ・フィールドおよびアドレス・フィールドは、もとの要求パケットからの値を模倣する。データは、ＰＣＩターゲットから読み込んだデータを含む。
【０１２５】
ＦＰＧＡレジスタ書き込みＤＷＯＲＤ（０Ｘ４）
要求（システムから）
【表２６】
2007529825.tif 000028
【０１２６】
このパケット・タイプは、ＦＰＧＡ内部の内部レジスタへのアクセスを許可する。
【０１２７】
isoch_store_disableがセットされたら、等時性のＯＵＴエンドポイントにおける全てのＲＡＭ格納パケット、ＰＣＩ書き込みＤＷＯＲＤパケット、およびバッファ・アクセス待ちパケットはスキップされ、さらに、「バッファ待ち」の機構が無効になる。Isoch_store_disableがクリアされれば、等時性のＯＵＴエンドポイントにおける通常のパケット処理が再開される。
【０１２８】
応答（変換機から）
【表２７】
2007529825.tif 000029
【０１２９】
要求があったら、ＦＰＧＡはレジスタ書き込み命令に対してこの承認パケットを生成することになる。
【０１３０】
ＦＰＧＡレジスタ読み取りＤＷＯＲＤ（０Ｘ５）
要求（システムから）
【表２８】
2007529825.tif 000030
【０１３１】
このパケットは、内部ＦＰＧＡレジスタの現在のステータスを要求する（下記参照）。
【０１３２】
応答（変換機から）
【表２９】
2007529825.tif 000031
【０１３３】
このパケットは、ＦＰＧＡファームウェアの現在のバージョン番号に加えて、isoch_sotre_disableの現在のステータスも含む。
【０１３４】
ＰＣＩコンフィグＤＷＯＲＤ（０Ｘ６）
要求（システムから）
【表３０】
2007529825.tif 000032
【０１３５】
ＰＣＩ書き込みＤＷＯＲＤと同様であるが、ＭＥＭ書き込みの代替として、コンフィグレーション書き込みトランザクションがＰＣＩで生成される。
【０１３６】
ｄｗｏｒｄデータは、ＩＤセルが選択したＰＣＩ装置の有する固有のレジスタおよびファンクションに書き込まれたデータを得る。ＩＤセルは１ビットだけをセットできる。
【０１３７】
gen_ackが０にセットされたら、タグは無視され、更なる動作は行わない。
gen_ackが１にセットされたら、ＦＰＧＡはアクノリッジ・パケットを発生することになる（下記参照）。
【０１３８】
応答（変換機から）
【表３１】
2007529825.tif 000033
【０１３９】
タグ・フィールド、ＩＤセル・フィールド、ファンクション・フィールド、およびレジスタ・フィールドは、もとの要求パケットからの値を再現する。
【０１４０】
ＰＣＩコンフィグレーション読み取りＤＷＯＲＤ（０Ｘ７）
要求（システムから）
【表３２】
2007529825.tif 000034
【０１４１】
このパケットは、ＦＰＧＡに指示してローカルＰＣＩバスのコンフィグレーション読み取りサイクルを開始する。ｄｗｏｒｄデータはＩＤセルが選択したＰＣＩ装置の固有なレジスタ及びファンクションから読み取りデータを取得する。ＦＰＧＡはターゲットから読み取られたデータでアクノリッジ・パケットを生成することになる（下記参照）。
【０１４２】
応答（変換機から）
【表３３】
2007529825.tif 000035
【０１４３】
タグ・フィールド、ＩＤセル・フィールド、ファンクション・フィールドおよびレジスタ・フィールドはもとの要求パケットからの値を再現する。データは、ＰＣＩターゲットから読み取られた値を含む。
【０１４４】
ＲＡＭ格納（０Ｘ８）
要求（システムから）
【表３４】
2007529825.tif 000036
【０１４５】
このパケットは、ＦＰＧＡ  ＲＡＭに書き込まれることになるデータを有し、その後にＯＨＣＩコントローラで発生する読み取り動作が有効になる。
【０１４６】
ヘッダーに続くデータは、ＦＰＧＡ  ＲＡＭへの書き込みを取得し、（ｄｗｏｒｄを割り当てた）アドレスで開始する。ヘッダーに続くデータのバイト長があり、この長さは４の倍数である。
【０１４７】
注意：アドレスは、上記で定めたように、ＰＣＩでマップした範囲でしか有効ではない。
【０１４８】
注意：このパケットがisoch_transmitエンドポイントに送信されたら、ＲＡＭ内容のアップデートは、このisoch_store_disableフラグに依存する（ＦＰＧＡレジスタ参照）。
【０１４９】
gen_ackが０であれば、ＦＰＧＡからの明確な応答はない。gen_ackフィールドが１にセットされたら、下記のアクノリッジ・パケットはＦＰＧＡで生成され、システムに戻されることになる。
【０１５０】
応答（変換機から）
【表３５】
2007529825.tif 000037
【０１５１】
この長さフィールドおよびアドレス・フィールドは、もとの要求パケットの値を模倣する。
【０１５２】
ＰＣＩ  ＤＭＡ転送（０Ｘ９）
【表３６】
2007529825.tif 000038
【０１５３】
データＰＣＩ  ＲＡＭもしくは、ＦＰＧＡ中のＰＣＩマップしたＦＩＦＯメモリ領域に書き込まれる時はいつでも、各バーストは、上に示すようにヘッダーと共にフレーム化されることになり、その後システムに転送される。
【０１５４】
長さは、バイト単位で、ヘッダーに続くデータ量を有しており、そして常に４の倍数である。アドレスは、第１データｄｗｏｒｄのメモリ位置である。
【０１５５】
このパケットは、システムからの固有の動作がトリガしないため、この要求／応答方式を取り入れない。
【０１５６】
ＰＣＩ割り込み転送（０ＸＡ）
【表３７】
2007529825.tif 000039
【０１５７】
ＰＣＩ  ＩＮＴＡ信号がアクティブ状態を取得する（すなわち、下降エッジが検知される）時、ＦＰＧＡはＯＨＣＩコントローラの割り込みイベント・レジスタ（マスク・バージョン）に問い合わせ、上記で定めたパケットを用いてこの割り込みイベント・ステータスを転送することになる。それはまた、有効な割り込みイベントをクリアすることになる。それはバス・リセット割り込みイベント（１７ビット目）をクリアすることにはならない。
【０１５８】
バッファ・アクセス待ち（０ＸＢ）
要求（システムから）
【０１５９】
【表３８】
2007529825.tif 000040
【０１６０】
このパケットは、ＯＨＣＩコントローラが固有ＩＤでバッファにアクセスする（すなわち読み取りか書き込む）まで、等時性の伝送パイプを中断する。このパイプは、固有バッファＩＤもしくは３つの次のバッファがアクセスされる際（ＯＨＣＩコントローラが例えばバス・リセットによる固有のバッファをスキップすると決定した場合）は中断されない。
【０１６１】
例：バッファＩＤ１２待ちは、ＩＤ１２、１３、１４もしくは１５へのアクセスで満たされることになる。
【０１６２】
ＯＨＣＩコントローラ・アクセスのバッファＩＤは、上記「ＰＣＩアドレス」部で概説したアドレス・スキームに従って決定される。
start_of_streamビットは、新しいストリームの第１パケットにセットされることになる。このことは、ＦＰＧＡの内部「被参照最新バッファ」レジスタを無効にすることになり、上記ストリーミング動作からの遅延した値を含むことができる。
【０１６３】
gen_ackビットがセットされる時、アクノリッジ・パケットを生成する（下記参照）。
【０１６４】
注意：この要求パケットは単一のＤｗｏｒｄのみからなる。
注意：このパケットは、等時性伝送パイプでのみ用いることになる。
【０１６５】
応答（変換機から）
【表３９】
2007529825.tif 000041
【０１６６】
この任意のアクノリッジ・パケットは、被要求バッファＩＤ（ｒｅｑ）および監視されている実際のバッファＩＤ（ｓｅｅｎ）を模倣する。このスキップ・フラグは、isoch_store_disableが有効である間（ＦＰＧＡレジスタ参照）で、バッファ待ち要求がスキップされた時にセットされる。
【図面の簡単な説明】
【０１６７】
【図１】変換機に接続したシステムのダイアグラムを例示している。
【図２】変換機のダイアグラムを例示している。
【図３】データ・パケットのダイアグラムを例示している。
【図４】ドライバのダイアグラムを例示している。
【図１】
2007529825.tif 000042
【図２】
2007529825.tif 000043
【図３】
2007529825.tif 000044
【図４】
2007529825.tif 000045
【手続補正書】
【提出日】平成18年12月26日(2006.12.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
変換装置（２００）であって、
受信および送信のうち少なくとも１つを行うことによってＩＥＥＥ１３９４フォーマットのデータを処理するための少なくとも１つのＩＥＥＥ１３９４インターフェイス（２２）と、
受信および送信のうち少なくとも１つを行うことによってＵＳＢフォーマットのデータを処理するための少なくとも１つのＵＳＢインターフェイス（２０）と、
ＩＥＥＥ１３９４プロトコルとＵＳＢプロトコルとの間でデータを変換するため、前記少なくとも１つのＩＥＥＥ１３９４インターフェイスおよびＵＳＢインターフェイス（２２，２０）に結合された処理ロジック（２１，２３，２４，２５，２６，２７）と、
を備えている、変換装置。
【請求項２】
請求項１に記載の変換装置において、前記ＩＥＥＥ１３９４インターフェイスおよび前記ＵＳＢインターフェイスは、少なくとも１つのプロトコル・トランスレーション・ユニット（２１、２３）を備えている、変換装置。
【請求項３】
請求項１に記載の変換装置において、前記少なくとも１つのＩＥＥＥ１３９４インターフェイスはＩＥＥＥ１３９４ソケットを備えている、変換装置。
【請求項４】
請求項３に記載の変換装置において、前記ＩＥＥＥ１３９４インターフェイスは、ＰＣＩ  Ｌｉｎｋ／Ｐｈｙオープン・ホスト・コントローラ・インターフェイス・チップを備えている、変換装置。
【請求項５】
請求項１に記載の変換装置において、前記少なくとも１つのＵＳＢインターフェイスはＵＳＢソケットを備えている、変換装置。
【請求項６】
請求項５に記載の変換装置において、前記少なくとも１つのＵＳＢインターフェイスは、高速ＵＳＢインターフェイスをもつＵＳＢマイクロコントローラ・チップを備えている、変換装置。
【請求項７】
請求項６に記載の変換装置において、前記ＵＳＢマイクロコントローラ・チップは、汎用プログラマブル・インターフェイスを備えている、変換装置。
【請求項８】
請求項１に記載の変換装置において、前記処理ロジックは、前記少なくとも１つのＵＳＢインターフェイスから受信する命令を実行するプロセッサを備えている、変換装置。
【請求項９】
電子データを変換するための処理システムであって、
ＩＥＥＥ１３９４インターフェイス（２２）と変換機ＵＳＢインターフェイス（２０）を備えている変換機（２００）と、
前記少なくとも１つのＩＥＥＥ１３９４インターフェイス（２２）と通信するＩＥＥＥ１３９４装置（４００）と、
コンピュータ・システム（１００）であって、
該コンピュータ・システムが前記少なくとも１つの変換機ＵＳＢインターフェイス（２０）と通信する少なくとも１つのシステムＵＳＢインターフェイス（１０）を含み、
前記変換機（２００）がデータ・ユニットを変換して、前記コンピュータ・システム（１００）と前記ＩＥＥＥ１３９４装置（４００）との間で前記データ・ユニットの転送を容易にする、コンピュータ・システムと、
を備えている、処理システム。
【請求項１０】
請求項９に記載の処理システムにおいて、前記ＩＥＥＥ１３９４装置はカムコーダーである、処理システム。
【請求項１１】
請求項１０に記載の装置において、前記ＩＥＥＥ１３９４装置は前記変換機の前記ＩＥＥＥ１３９４インターフェイスに対し、連続的にデータをストリームする、装置。
【請求項１２】
請求項９に記載の処理システムであって、さらに、
前記システムでランするアプリケーション（１２）を備え、
該アプリケーションは前記データ・ユニットを受信するように構成されている、処理システム。
【請求項１３】
コンピュータ・システム（１００）で実行されるビデオ・アプリケーション（１２）と、デジタル・ビデオ装置（４００）との間でデータを転送するための方法であって、
データをデジタル・ビデオ装置（４００）と交換するためのＩＥＥＥ１３９４コマンドを生成し、該ＩＥＥＥ１３９４コマンドはＩＥＥＥ１３９４プロトコルに従って前記アプリケーション（１２）で生成され、
前記ＩＥＥＥ１３９４コマンドを前記ＵＳＢプロトコルに従ってＵＳＢコマンドに変換し、
ＵＳＢ接続（３００）を介して、前記ＵＳＢコマンドを前記コンピュータ・システム外部へ送信し、
前記ＵＳＢコマンドを変換機装置（２００）で受信し、
前記ＵＳＢコマンドを前記ＩＥＥＥ１３９４コマンドに変換し、
前記ＩＥＥＥ１３９４コマンドを前記デジタル・ビデオ装置（４００）に送信すること、
を備えている方法。
【請求項１４】
請求項１３に記載の方法において、前記ＩＥＥＥ１３９４コマンドを前記ＵＳＢコマンドに変換することは、ＩＥＥＥ１３９４バス入力−出力要求を受信し、ＯＨＣＩコンパチブルなＰＣＩアクセスをもつデータ・パケットを作成し、それらをＵＳＢスタックに送信する１３９４−ＵＳＢトンネル・ドライバを備えている、方法。
【請求項１５】
請求項１３に記載の方法において、前記ＩＥＥＥ１３９４コマンドを前記ＵＳＢコマンドに変換することは、ＩＥＥＥ１３９４スタックからデータ・パケットを受信し、データ・パケットをシステム・ドライバ・コンポーネントへ渡し、それらを前記変換機装置へ送信するＵＳＢクライアント・デバイス・ドライバを備えている、方法。
【請求項１６】
請求項１３に記載の方法において、前記ＩＥＥＥ１３９４コマンドを前記ＵＳＢコマンドへ変換することは、最初に前記ＩＥＥＥ１３９４コマンドを中間プロトコルに変換することを備えている、方法。
【請求項１７】
コンピュータ・システム（１００）で実行されるビデオ・アプリケーション（１２）とデジタル・ビデオ装置（４００）との間でデータを転送する方法であって、
データを前記コンピュータ・システム（１００）でランする前記ビデオ・アプリケーション（１２）と交換するためのＩＥＥＥ１３９４コマンドを生成し、前記ＩＥＥＥ１３９４コマンドはＩＥＥＥ１３９４プロトコルに従って、前記デジタル・ビデオ装置（４００）にて生成され、
前記ＩＥＥＥ１３９４コマンドを、ＩＥＥＥ１３９４を介して変換機装置（２００）に送信し、
前記ＩＥＥＥ１３９４コマンドを前記変換機装置（２００）にて受信し、
前記ＩＥＥＥ１３９４コマンドを前記ＵＳＢプロトコルに従ってＵＳＢコマンドに変換し、
前記ＵＳＢコマンドをＵＳＢ接続（３００）を介して送信し、
前記ＵＳＢコマンドを前記コンピュータ・システム（１００）で受信すること、
を備えている、方法。
【請求項１８】
請求項１７に記載の方法において、前記ＩＥＥＥ１３９４コマンドを前記ＵＳＢコマンドに変換することは、前記ＩＥＥＥ１３９４コマンドを中間プロトコルに最初に変換することを備えている、方法。
【請求項１９】
ビデオ・アプリケーション（１２）を実行するコンピュータ・システム（１００）とデジタル・ビデオ装置（４００）との間でデータ転送するための方法であって、
ＵＳＢデータ・パケット（５００）をＵＳＢインターフェイス（１０、２０）からＵＳＢプロトコルで受信し、該ＵＳＢデータ・パケット（５００）はヘッダー部（５２）およびデータ部（５４）を備えており、
前記ＵＳＢデータ・パケット（５００）をバッファ（２５，２６）に格納し、
前記バッファ（２５，２６）から前記ＵＳＢデータ・パケット（５００）の前記ヘッダー部（５２）を取り出し、
前記ＵＳＢデータ・パケット（５００）の前記ヘッダー部（５２）を解析してコマンド・パラメータを決定し、
前記コマンド・パラメータをＩＥＥＥ−１３９４準拠ＯＨＣＩレジスタに格納し、
前記バッファ（２５、２６）から前記ＵＳＢデータ・パケット（５００）の前記データ部（５４）を取り出し、
前記コマンド・パラメータから、および前記ＵＳＢデータ・パケット（５００）の前記データ部（５４）からＩＥＥＥ１３９４プロトコルにおけるＩＥＥＥ１３９４コマンドを組立て、
前記ＩＥＥＥ１３９４コマンドをＩＥＥＥ１３９４プロトコルでＩＥＥＥ１３９４インターフェイス（２２，４０）を介して前記デジタル・ビデオ装置（４００）に送信すること、
を備えている、方法。
【請求項２０】
ビデオ・アプリケーション（１２）を実行するコンピュータ・システム（１００）とデジタル・ビデオ装置（４００）との間でデータを転送するための方法であって、
ＩＥＥＥ１３９４インターフェイス（２２，４０）から、デジタル・ビデオ装置（４００）からのＩＥＥＥプロトコルのＩＥＥＥ１３９４応答を受信し、
前記ＩＥＥＥ１３９４応答を解析して応答コマンド・パラメータを決定し、
前記応答コマンド・パラメータに応答ヘッダー部を付加して応答ＵＳＢデータ・パケットを形成し、
ＵＳＢインターフェイス（２０，１０）を介してＵＳＢプロトコルで前記応答ＵＳＢデータ・パケットを送信すること、
を備えている、方法。
【請求項２１】
ビデオ・データ変換を容易にする方法を実施するための、プロセッサにより実行可能な命令を含んでいるコンピュータ読み取り可能媒体であって、該方法が、
オペレーティング・システムおよびビデオ・アプリケーションを有するコンピュータ・システムの前記記憶媒体に第１のドライバ・コンポーネントをインストールし、該第１ドライバ・コンポーネントは、前記オペレーティング・システムの１３９４ドライバ・スタック・コンポーネントとインターフェイスして、ビデオ・アプリケーションが生成したＩＥＥＥ１３９４コマンドを受信し、前記ＩＥＥＥ１３９４コマンドをＵＳＢコマンドにトランスレートし、
第２のドライバ・コンポーネントを前記記憶媒体にインストールし、該第２ドライバ・コンポーネントは、前記第１ドライバ・コンポーネントおよび前記オペレーティング・システムのＵＳＢドライバ・スタック・コンポーネントにインターフェイスして、ＵＳＢ接続を介してＵＳＢフォーマットで前記トランスレートしたＩＥＥＥ１３９４コマンドを出力すること、
を備えている、コンピュータ読み取り可能媒体。
【請求項２２】
ビデオ・データを処理するための方法を実施するための、プロセッサで実行可能な命令を含んでいるコンピュータ読み取り可能媒体であって、該方法が、
オペレーティング・システムを含んでいるコンピュータ・システムの記憶媒体にビデオ・アプリケーションをインストールし、
第１のドライバ・コンポーネントを前記記憶媒体にインストールし、前記第１ドライバ・コンポーネントは、前記オペレーティング・システムの１３９４ドライバ・スタック・コンポーネントとインターフェイスしてＩＥＥＥ１３９４コマンドをＵＳＢコマンドにトランスレートし、
第２のドライバ・コンポーネントを前記記憶媒体にインストールし、該第２ドライバ・コンポーネントは前記第１ドライバ・コンポーネントと、前記オペレーティング・システムのＵＳＢドライバ・スタック・コンポーネントとインターフェイスして、ＵＳＢ接続を介してＵＳＢフォーマットで前記トランスレートしたＩＥＥＥ１３９４コマンドを出力すること、
を備えている、コンピュータ読み取り可能媒体。
【国際調査報告】
2007529825.tif 000046
2007529825.tif 000047
2007529825.tif 000048