(57)【要約】【課題】ＵＳＢデバイスとの間のデータの転送速度を速くする。【解決手段】ＵＳＢホストシステム１００に一時転送中断処理部１０２を設ける。この一時転送中断処理部１０２は、ＵＳＢホストコントローラ１０３とＵＳＢデバイス１０８との間でデータ転送を行うときに、ＵＳＢホストコントローラ１０３とＵＳＢデバイス１０８との間でＵＳＢホスト転送メモリ１０５のメモリサイズ以下の所定サイズの転送データの転送が実行される毎にＵＳＢホストコントローラ１０３とＵＳＢデバイス１０８との間のデータ転送を一時中断させ、ＵＳＢホスト転送メモリ１０５内の格納データに対する所定の処理が完了してＵＳＢホスト転送メモリ１０５が使用可能となるのを待ってＵＳＢホストコントローラ１０３とＵＳＢデバイス１０８との間のデータ転送を再開させる。【選択図】図１
2010039975.tif 000002
【特許請求の範囲】
【請求項１】
中央処理演算装置と、ＵＳＢホスト機能を有するＵＳＢホストコントローラと、前記中央処理演算装置と前記ＵＳＢホストコントローラとからアクセスが行われ、前記ＵＳＢホストコントローラと前記ＵＳＢホストコントローラに対してＵＳＢバスを介して接続されるＵＳＢデバイスとの間で転送される転送データの一時格納用に使用可能なＵＳＢホスト転送メモリを含むメインメモリと、前記ＵＳＢホストコントローラと前記ＵＳＢデバイスとの間でデータ転送を行うときに、前記ＵＳＢホストコントローラと前記ＵＳＢデバイスとの間で前記転送メモリのメモリサイズ以下の所定サイズの転送データの転送が実行される毎に前記ＵＳＢホストコントローラと前記ＵＳＢデバイスとの間のデータ転送を一時中断させ、前記転送メモリ内の格納データに対する所定の処理が完了して前記転送メモリが使用可能となるのを待って前記ＵＳＢホストコントローラと前記ＵＳＢデバイスとの間のデータ転送を再開させる一時転送中断処理部とを備えたＵＳＢホストシステム。
【請求項２】
前記ＵＳＢホストコントローラがＥＨＣＩ（エンハンスド・ホスト・コントローラ・インターフェース）規格に準拠している請求項１に記載のＵＳＢホストシステム。
【請求項３】
前記ＵＳＢホストコントローラがＯＨＣＩ（オープン・ホスト・コントローラ・インターフェース）規格に準拠している請求項１に記載のＵＳＢホストシステム。
【請求項４】
前記ＵＳＢホストコントローラがＵＨＣＩ（ユニバーサル・ホスト・コントローラ・インターフェース）規格に準拠している請求項１に記載のＵＳＢホストシステム。
【請求項５】
ＵＳＢ転送の際に使用されるコマンドが、ＵＳＢマスストレージ規格に準拠していることを特徴とする請求項１、２、３、４のいずれか１項に記載のＵＳＢホストシステム。
【請求項６】
ＵＳＢホストシステムとＵＳＢデバイスとの間でデータを転送するデータ転送方法であって、
前記ＵＳＢホストシステムが前記ＵＳＢデバイスに対して、転送メモリのメモリサイズより大きなデータの転送要求を行う第１のステップと、
前記ＵＳＢデバイスが前記ＵＳＢホストコントローラに対し、前記転送メモリのメモリサイズ以下の転送設定を行う第２のステップと、
前記ＵＳＢデバイスが、前記ＵＳＢホストコントローラに設定された転送サイズ分のデータ転送を行う第３のステップと、
前記第１のステップで転送要求されたデータの転送が終了したか否かの判断を行う第４のステップとを含み、
前記第４のステップにおいて、データの転送が終了していないと判断された場合は、前記第２乃至第４のステップを繰り返すことを特徴とするデータ転送方法。
【請求項７】
前記ＵＳＢデバイスがＵＳＢマスストレージ規格に対応しており、前記ＵＳＢデバイスと前記ＵＳＢホストシステムとの間の転送において、前記第１のステップの前に前記ＵＳＢデバイスが行うデータ転送要求をＣＢＷ（Command Block Wrapper）にて行うことを特徴とする請求項６に記載のデータ転送方法。
【請求項８】
ＵＳＢホストシステムと、前記ＵＳＢホストシステムに対して接続されて前記ＵＳＢホストシステムとの間で映像音声信号を入出力するＵＳＢデバイスとを備えた映像音声処理システムであって、
前記ＵＳＢホストシステムは、中央処理演算装置と、ＵＳＢホスト機能を有するＵＳＢホストコントローラと、前記中央処理演算装置と前記ＵＳＢホストコントローラとからアクセスが行われ、前記ＵＳＢホストコントローラと前記ＵＳＢホストコントローラに対してＵＳＢバスを介して接続される前記ＵＳＢデバイスとの間で転送される映像音声信号からなる転送データの一時格納用に使用可能なＵＳＢホスト転送メモリを含むメインメモリと、前記ＵＳＢホスト転送メモリに格納された前記映像音声信号からなる転送データを復号するデコード部と、前記ＵＳＢホストコントローラと前記ＵＳＢデバイスとの間でデータ転送を行うときに、前記ＵＳＢホストコントローラと前記ＵＳＢデバイスとの間で前記転送メモリのメモリサイズ以下の所定サイズの転送データの転送が実行される毎に前記ＵＳＢホストコントローラと前記ＵＳＢデバイスとの間のデータ転送を一時中断させ、前記転送メモリ内の格納データに対する前記デコード部による所定の処理が完了して前記転送メモリが使用可能となるのを待って前記ＵＳＢホストコントローラと前記ＵＳＢデバイスとの間のデータ転送を再開させる一時転送中断処理部とからなる映像音声処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＳＢホストを搭載した、例えば映像音声機器（以下、ＡＶ機器と称す）のようなＵＳＢホストシステムと、このＵＳＢホストシステムとＵＳＢデバイスとの間のデータ転送方法と、このＵＳＢホストシステムを使用した映像音声処理システムに関するものである。
【背景技術】
【０００２】
パーソナルコンピュータ（以下、ＰＣと称す）とその周辺機器とを結ぶ外部バスの１つに規格「Universal Serial Bus」（以下、ＵＳＢと称す）があり、ＰＣ側にＵＳＢホスト機能を、周辺機器側にＵＳＢデバイス機能を搭載することで実現されている。
【０００３】
ＰＣと周辺機器との間のデータ転送の転送速度を向上させるための手段として、ＵＳＢホスト側の転送能力を向上させる方法と、ＵＳＢデバイス側の転送能力を向上させる方法とがあるが、ＵＳＢホストは、ＰＣという高速なＣＰＵと大容量のメモリを搭載したシステムに組み込まれるため、速度向上に対する取り組みとしては主眼がおかれていない。むしろ非力なＣＰＵと少ないメモリを搭載したシステムに組み込まれるＵＳＢデバイスの転送速度を向上させるための取り組みが行われてきた（例えば、特許文献１参照）。
【特許文献１】特開２００１−３３７９１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし近年、ＡＶコンポやデジタルビデオレコーダといったＰＣ以外のＡＶシステムにＵＳＢホストが組み込まれ、ＡＶシステムとＵＳＢストレージデバイスとを接続した利用が普及しはじめている。ＡＶシステムとＵＳＢストレージデバイスとの間のデータ転送には、一般的にＵＳＢマスストレージクラスと呼ばれる規格が用いられ、データ要求フェーズ、データ転送フェーズ、ステータス確認フェーズの３フェーズから構成される。
【０００５】
ＡＶシステムは、ＰＣと比較してＣＰＵの処理能力が低く、搭載されているメモリも少ない。そのため、１回にデータ要求が可能な転送サイズは使用可能なメモリサイズにより制限される。たとえば１００ＫＢｙｔｅのメモリが転送に使用可能ならば、ＵＳＢマスストレージクラスでのデータ要求フェーズは、１００ＫＢｙｔｅ以下の転送を要求することになる。つまり、使用可能なメモリサイズ以上のデータ転送を行いたい場合でも、使用可能なメモリサイズ毎に細切れにして転送を要求する必要があり、その要求ごとに、ＵＳＢマスストレージクラスのデータ要求フェーズ、ステータス確認フェーズが必要になるため、転送速度が遅くなるという問題があった。すなわち、ＵＳＢホストコントローラが使用可能なメモリサイズが少ない場合、メモリサイズ分の転送毎に、データ要求フェーズ、ステータス確認フェーズが必要となり、転送速度が遅くなる。
【０００６】
本発明は、上記問題を解決するもので、高速にＵＳＢ転送が可能なＵＳＢホストシステム、ＵＳＢホストシステムとＵＳＢデバイスとの間で高速に転送を行うデータ転送方法、および高速にＵＳＢ転送が可能な映像音声処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のＵＳＢホストシステムは、中央処理演算装置と、ＵＳＢホスト機能を有するＵＳＢホストコントローラと、中央処理演算装置とＵＳＢホストコントローラとからアクセスが行われ、ＵＳＢホストコントローラとＵＳＢホストコントローラに対してＵＳＢバスを介して接続されるＵＳＢデバイスとの間で転送される転送データの一時格納用に使用可能なＵＳＢホスト転送メモリを含むメインメモリと、ＵＳＢホストコントローラとＵＳＢデバイスとの間でデータ転送を行うときに、ＵＳＢホストコントローラとＵＳＢデバイスとの間で転送メモリのメモリサイズ以下の所定サイズの転送データの転送が実行される毎にＵＳＢホストコントローラとＵＳＢデバイスとの間のデータ転送を一時中断させ、転送メモリ内の格納データに対する所定の処理が完了して転送メモリが使用可能となるのを待ってＵＳＢホストコントローラとＵＳＢデバイスとの間のデータ転送を再開させる一時転送中断処理部とを備えている。
【０００８】
ＵＳＢホストシステムとＵＳＢデバイスとを接続しＵＳＢ経由でのデータ転送を行う場合、転送すべきデータは転送用メモリを経由させる必要がある。そのため、使用可能な転送用メモリのサイズ以上の転送を行いたい場合、ＵＳＢデバイスには転送を行いたいデータサイズを要求し、ＵＳＢホストコントローラには使用可能な転送用メモリのサイズ分の転送設定を行い、転送を実行する。ＵＳＢホストコントローラに設定したサイズのデータ転送が終わった時点で、アプリケーションなどの上位ソフトウェアが転送済みデータの処理を行う。ＵＳＢ転送は、上位ソフトウェアによるデータ処理が完了し、転送用メモリが使用可能になるまで待つ。そして、転送用メモリが使用可能になった場合に、残りの転送すべきデータのうち、使用可能な転送用メモリのサイズ分の転送設定をＵＳＢホストコントローラに対して行い、ＵＳＢデータ転送を行う。以上の処理を繰り返し実行し、転送すべきデータすべてが完了した時点で、ＵＳＢデバイスに対しステータス確認の要求を行う。以上の方法により、使用可能な転送用メモリのサイズ以上のデータ転送を行う場合でも、ＵＳＢデバイスに対して行う、データ要求とステータス確認がそれぞれ１回ずつですみ、転送速度の向上が見込まれる。つまり、データ要求フェーズにおいてＵＳＢホストコントローラが使用可能なメモリサイズ以上の転送要求をＵＳＢデバイスに対して行い、使用可能なメモリサイズ毎の転送要求をＵＳＢホストコントローラに対して設定することで、従来メモリサイズ分の転送毎に必要であった、データ要求フェーズ、ステータス確認フェーズの転送を削減することができ、転送速度が向上する。
【０００９】
上記の断続的なＵＳＢ転送処理の制御は、一時転送中断処理部によって実現される。
【００１０】
上記本発明のＵＳＢホストシステムにおいては、ＵＳＢホストコントローラがＥＨＣＩ（エンハンスド・ホスト・コントローラ・インターフェース）規格、ＯＨＣＩ（オープン・ホスト・コントローラ・インターフェース）規格、ＵＨＣＩ（ユニバーサル・ホスト・コントローラ・インターフェース）規格の何れかに準拠していることが好ましい。
【００１１】
また、上記構成においては、ＵＳＢ転送の際に使用されるコマンドが、ＵＳＢマスストレージ規格に準拠していることが好ましい。
【００１２】
本発明のデータ転送方法は、ＵＳＢホストシステムとＵＳＢデバイスとの間でデータを転送するデータ転送方法であって、ＵＳＢホストシステムがＵＳＢデバイスに対して、転送メモリのメモリサイズより大きなデータの転送要求を行う第１のステップと、ＵＳＢデバイスがＵＳＢホストコントローラに対し、転送メモリのメモリサイズ以下の転送設定を行う第２のステップと、ＵＳＢデバイスが、ＵＳＢホストコントローラに設定された転送サイズ分のデータ転送を行う第３のステップと、第１のステップで転送要求されたデータの転送が終了したか否かの判断を行う第４のステップとを含み、第４のステップにおいて、データの転送が終了していないと判断された場合は、第２乃至第４のステップを繰り返すことを特徴とする。
【００１３】
この方法によれば、使用可能な転送用メモリのサイズ以上のデータ転送を行う場合でも、ＵＳＢデバイスに対して行う、データ要求とステータス確認がそれぞれ１回ずつですみ、転送速度の向上が見込まれる。
【００１４】
上記のデータ転送方法においては、ＵＳＢデバイスがＵＳＢマスストレージ規格に対応している場合に、ＵＳＢデバイスとＵＳＢホストシステムとの間の転送において、第１のステップの前にＵＳＢデバイスが行うデータ転送要求をＣＢＷ（Command Block Wrapper）にて行うことが好ましい。
【００１５】
本発明の映像音声処理システムは、ＵＳＢホストシステムと、ＵＳＢホストシステムに対して接続されてＵＳＢホストシステムとの間で映像音声信号を入出力するＵＳＢデバイスとを備えたものである。ＵＳＢホストシステムは、中央処理演算装置と、ＵＳＢホスト機能を有するＵＳＢホストコントローラと、中央処理演算装置とＵＳＢホストコントローラとからアクセスが行われ、ＵＳＢホストコントローラとＵＳＢホストコントローラに対してＵＳＢバスを介して接続されるＵＳＢデバイスとの間で転送される映像音声信号からなる転送データの一時格納用に使用可能なＵＳＢホスト転送メモリを含むメインメモリと、ＵＳＢホスト転送メモリに格納された映像音声信号からなる転送データを復号するデコード部と、ＵＳＢホストコントローラとＵＳＢデバイスとの間でデータ転送を行うときに、ＵＳＢホストコントローラとＵＳＢデバイスとの間で転送メモリのメモリサイズ以下の所定サイズの転送データの転送が実行される毎にＵＳＢホストコントローラとＵＳＢデバイスとの間のデータ転送を一時中断させ、転送メモリ内の格納データに対するデコード部による所定の処理が完了して転送メモリが使用可能となるのを待ってＵＳＢホストコントローラとＵＳＢデバイスとの間のデータ転送を再開させる一時転送中断処理部とからなる。
【００１６】
この構成によれば、映像音声信号の伝送にあたって、上記ＵＳＢホストシステムと同様の効果が得られる。
【発明の効果】
【００１７】
本発明によれば、ＵＳＢデバイスとＵＳＢホストシステムとの間の転送において、データ転送要求処理とステータス確認処理とを減らすことで、ＵＳＢ転送での転送速度の向上が可能である。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を、図面を参照しながら説明する。
【００１９】
［実施の形態１］
図１は本発明における実施の形態１のＵＳＢホストシステムの概略構成を示すブロック図である。図１において、１００はＵＳＢホストシステム、１０１はＣＰＵ（中央処理演算装置）、１０２は一時転送中断処理を行う一時転送中断処理ブロック、１０３はＵＳＢホスト機能を有するＵＳＢホストコントローラ、１０４は中央処理演算装置とＵＳＢホストコントローラとからアクセスが行われるメインメモリ、１０５はメインメモリ１０４のうちＵＳＢホストコントローラ１０３がＵＳＢデバイスとの間で転送を行うデータを一時格納するためのＵＳＢホスト転送メモリ、１０６はＵＳＢにより転送されたデータを処理するデータ処理ブロック、１０７はＵＳＢバス、１０８はＵＳＢホストコントローラ１０３に対してＵＳＢバス１０７を介して接続されるＵＳＢデバイスである。
【００２０】
上記の一時転送中断処理ブロック１０２は、ＵＳＢホストコントローラ１０３とＵＳＢデバイス１０８との間でデータ転送を行うときに、ＵＳＢホストコントローラ１０３とＵＳＢデバイス１０８との間でＵＳＢホスト転送メモリ１０５のメモリサイズ以下の所定サイズの転送データの転送が実行される毎にＵＳＢホストコントローラ１０３とＵＳＢデバイス１０８との間のデータ転送を一時中断させ、ＵＳＢホスト転送メモリ１０５内の格納データに対する所定の処理が完了してＵＳＢホスト転送メモリ１０５が使用可能となるのを待ってＵＳＢホストコントローラ１０３とＵＳＢデバイス１０８との間のデータ転送を再開させる機能を有する。
【００２１】
この一時転送中断処理ブロック１０２は、例えば、ＣＰＵ４０１のソフトウェア処理として実装される。これ以外に、ハードウェアシーケンサのように、専用のハードウェアを構築し、専用ハードウェアが直接ＵＳＢホストコントローラ４０３を制御する構成も考えられる。
【００２２】
上記のＵＳＢホストコントローラは、ＥＨＣＩ（エンハンスド・ホスト・コントローラ・インターフェース）規格、ＯＨＣＩ（オープン・ホスト・コントローラ・インターフェース）規格、およびＵＨＣＩ（ユニバーサル・ホスト・コントローラ・インターフェース）規格の何れかに準拠している。ＵＳＢ転送の際に使用されるコマンドが、ＵＳＢマスストレージ規格に準拠している。
【００２３】
図２は本発明における実施の形態１の動作を示すフローチャートである。実施の形態１では、ＵＳＢホストコントローラ１０３を用い、ＵＳＢデバイス１０８に保存されているデータを、メインメモリ１０４のうちＵＳＢホストコントローラ１０３が転送に使用することができるメモリ領域であるＵＳＢホスト転送メモリ１０５に転送する場合について説明する。なお説明においては、データ処理ブロック１０６がＵＳＢデバイス１０８から読み取るデータサイズを１０２４ＫＢｙｔｅ、ＵＳＢホスト転送用メモリ１０５のサイズを２５６ＫＢｙｔｅとして説明する。
【００２４】
以下、図２のフローチャートについて説明する。データ処理ブロック１０６から、ＵＳＢデバイス１０８に対する１０２４ＫＢｙｔｅのデータ読み取り要求が発生（ステップＳ２０１）した場合、一時転送中断処理ブロック（ＣＰＵ上で動作するソフトウェア）１０２がＵＳＢデバイス１０８に対して読み取り要求サイズである１０２４ＫＢｙｔｅのデータ読み取り要求を送る（ステップＳ２０２）。
【００２５】
次に、ＵＳＢホストコントローラ１０３に対して、ＵＳＢデバイス１０８からＵＳＢホスト転送用メモリ１０５へＵＳＢホスト転送用メモリ１０５のサイズである２５６ＫＢｙｔｅ分のデータ読み取りを行うための設定を行い、ＵＳＢデバイス１０８からＵＳＢホスト転送用メモリ１０５への転送を実行する（ステップＳ２０３）。
【００２６】
次に、ＵＳＢデバイス１０８から２５６ＫＢｙｔｅのデータがＵＳＢホスト転送用メモリ１０５へ転送されるのを待つ（ステップＳ２０４）。
【００２７】
転送が完了した時点で、データ処理ブロック１０６に対して２５６ＫＢｙｔｅのデータ転送が完了したことを通知する（ステップＳ２０５）。
【００２８】
データ処理ブロック１０６は、ＵＳＢホスト転送用メモリ１０５に保持されている転送が完了した２５６ＫＢｙｔｅ分のデータを使用し必要なデータ処理を行う（ステップＳ２０６）。
【００２９】
必要なデータ処理が完了した時点で、続きの転送があるかをチェックし（ステップＳ２０７）、続きの転送がある場合はステップＳ２０３の処理に戻り、同様の処理を行う。
【００３０】
一方、データ処理ブロック１０６から発生した要求サイズ分の転送がすべて完了した場合は、転送が完了する（ステップＳ２０８）。
【００３１】
このように転送を行うことで、従来はＵＳＢホスト転送用メモリ１０５のサイズ、つまり今回の場合２５６ＫＢｙｔｅ毎に必要であったＵＳＢデバイス１０８に対するデータ読み取り要求（ステップＳ２０２）の転送が、１回の転送のみで実現することができ、転送効率の向上が可能となる。
【００３２】
なお、ステップＳ２０３においてＵＳＢホストコントローラ１０３に対して設定する転送サイズは、ＵＳＢホスト用転送メモリ１０５以下のサイズであれば、同様の処理が可能である。
【００３３】
なお、上記図２のフローチャートで示す動作は、基本的には、一時転送中断処理ブロック１０２がすべてを制御することになる。ただし、一時転送中断処理ブロック１０２はＣＰＵ１０１上で動作するソフトウェアを想定しているので、図１におけるＣＰＵ１０１と一時転送中断処理ブロック１０２とが、両方が動作することで、図２のフローチャート処理が行われる。
【００３４】
［実施の形態２］
本発明における実施の形態２のＵＳＢホストシステムの動作を図３を参照しながら説明する。実施の形態２のＵＳＢホストシステムの概略構成には、図１に示した実施の形態１と同じである。
【００３５】
図３は本発明における実施の形態２の動作フローチャートである。実施の形態２では、ＵＳＢホストコントローラ１０３を用い、メインメモリ１０４のうちＵＳＢホストコントローラ１０３が転送に使用することができるメモリ領域であるＵＳＢホスト転送メモリ１０５からＵＳＢデバイス１０８に対してデータを書き込む場合について説明する。なお説明においては、データ処理ブロック１０６がＵＳＢデバイス１０８に対して書き込むデータサイズを１０２４ＫＢｙｔｅ、ＵＳＢホスト転送用メモリ１０５のサイズを２５６ＫＢｙｔｅとして説明する。
【００３６】
データ処理ブロック１０６から、ＵＳＢデバイス１０８に対する１０２４ＫＢｙｔｅのデータ書き込み要求が発生（ステップＳ３０１）した場合、ＵＳＢデバイス１０８に対して書き込み要求サイズである１０２４ＫＢｙｔｅのデータ書き込み要求を送る（ステップＳ３０２）。
【００３７】
次に、データ処理ブロック１０６が、ＵＳＢデバイス１０８に対して書き込むデータの２５６ＫＢｙｔｅ分のデータをＵＳＢホスト転送用メモリ１０５へ設定する（ステップＳ３０３）。
【００３８】
設定が完了した時点で、ＵＳＢホストコントローラ１０３に対して、ＵＳＢホスト転送用メモリ１０５からＵＳＢデバイス１０８へＵＳＢホスト転送用メモリ１０５のサイズである２５６ＫＢｙｔｅ分のデータ書き込みを行うための設定を行い、ＵＳＢホスト転送用メモリ１０５からＵＳＢデバイス１０８への転送を実行する（ステップＳ３０４）。
【００３９】
次に、ＵＳＢホスト転送用メモリ１０５から２５６ＫＢｙｔｅのデータがＵＳＢデバイス１０８へ転送されるのを待つ（ステップＳ３０５）。
【００４０】
転送が完了した時点で、データ処理ブロック１０６に対して２５６ＫＢｙｔｅのデータ転送が完了したことを通知する（ステップＳ３０６）。
【００４１】
データ処理ブロック１０６は、ＵＳＢデバイス１０８に対しての書き込みが全て完了したかどうかを確認（ステップＳ３０７）し、書き込みデータが残っている場合は、データ処理ブロック１０６は、ＵＳＢデバイス１０８に対して書き込む次の２５６ＫＢｙｔｅ分のデータを準備（ステップＳ３０８）し、ＵＳＢホスト転送用メモリ１０５へ設定する（ステップＳ３０３）。
【００４２】
一方、ＵＳＢデバイス１０８に対しての書き込みが全て完了し、書き込みデータが残っていない場合は、転送を完了（ステップＳ３０９）する。
【００４３】
このように転送を行うことで、従来はＵＳＢホスト転送用メモリ１０５のサイズ、つまり今回の場合２５６ＫＢｙｔｅ毎に必要であったＵＳＢデバイス１０８に対するデータ書き込み要求の転送が、１回の転送のみで実現（ステップＳ３０２）することができ、転送効率の向上が可能となる。
【００４４】
なお、ステップＳ３０３においてＵＳＢホストコントローラ１０３に対して設定する転送サイズは、ＵＳＢホスト用転送メモリ１０５以下のサイズであれば、同様の処理が可能である。
【００４５】
［実施の形態３］
図４は本発明における実施の形態３のＵＳＢホストシステム概略構成を示すブロック図である。図４において、４００はＵＳＢホストシステム、４０１はＣＰＵ、４０２は一時転送中断処理を有するＵＳＢホスト制御ソフト、４０３はＵＳＢホスト機能を有するＵＳＢホストコントローラ、４０４は中央処理演算装置とＵＳＢホストコントローラとからアクセスが行われるメインメモリ、４０５はメインメモリ４０４のうちＵＳＢホストコントローラ４０３がＵＳＢデバイスとの間で転送を行うデータを格納するためのＵＳＢホスト転送メモリ、４０６はＵＳＢにより転送されるオーディオデータやビデオデータを処理するＡＶ処理ブロック、４０７はＵＳＢバス、４０８はＵＳＢホストコントローラ４０３に対してＵＳＢバス４０７を介して接続されるＵＳＢデバイスである。このＡＶ処理ブロック４０６には、オーディオデータやビデオデータを復号するデコード部を含む。
【００４６】
上記のＵＳＢホスト制御ソフト４０２の一時転送中断処理では、ＵＳＢホストコントローラ４０３とＵＳＢデバイス４０８との間でデータ転送を行うときに、ＵＳＢホストコントローラ４０３とＵＳＢデバイス４０８との間でＵＳＢホスト転送メモリ４０５のメモリサイズ以下の所定サイズの転送データの転送が実行される毎にＵＳＢホストコントローラ４０３とＵＳＢデバイス４０８との間のデータ転送を一時中断させ、ＵＳＢホスト転送メモリ４０５内の格納データに対する所定の処理が完了してＵＳＢホスト転送メモリ４０５が使用可能となるのを待ってＵＳＢホストコントローラ４０３とＵＳＢデバイス４０８との間のデータ転送を再開させる。
【００４７】
実施の形態３では、ＵＳＢホストシステム４００とＵＳＢデバイス４０８との間のデータ転送には、ＵＳＢの規格で規格化されている、ＵＳＢ Mass Storage Class Bulk-Only Transportプロトコル（以下、ＢＯＴプロトコルと称す）を用いる例について説明する。
【００４８】
図５は、ＵＳＢホストシステム４００がＵＳＢデバイス４０８からデータを読み込む際の転送シーケンスを図示した模式図である。なお説明においては、ＡＶ処理ブロック４０６がＵＳＢデバイス４０８から読み出すデータサイズを１０２４ＫＢｙｔｅ、ＵＳＢホスト転送用メモリ４０５のサイズを２５６ＫＢｙｔｅとして説明する。
【００４９】
実施の形態３では、ＵＳＢにより転送されるデータはＡＶ処理ブロック４０６で処理される。例えば、オーディオデータやビデオデータが復号される。
【００５０】
ＡＶ処理ブロック４０６は、処理するデータをＵＳＢデバイス４０８から読み出すため、ＵＳＢホスト制御ソフト４０２に対し転送を要求する（ステップＳ５０１）。
【００５１】
要求を受けたＵＳＢホスト制御ソフト４０２はＵＳＢホストコントローラ４０３に対し、ＵＳＢデバイス４０８に転送要求を出すためのコマンドであり、ＢＯＴプロトコルで決められているCommand Block Wrapper（以下、ＣＢＷと称す）転送を設定する（ステップＳ５０２：ＣＢＷ転送要求）。なお、ＣＢＷにはＵＳＢデバイス４０８から読み取るデータサイズを設定する箇所があり、ＡＶ処理ブロック４０６からの要求サイズである１０２４ＫＢｙｔｅを設定する。
【００５２】
次に、ＵＳＢホストコントローラ４０３がＵＳＢデバイス４０８に対してＣＢＷ転送を実行する（ステップＳ５０３）。
【００５３】
ＣＢＷ転送が完了し完了通知を受け取る（ステップＳ５０４）と、ＵＳＢ制御ソフト４０２は実際のデータ転送を行うため、ＵＳＢホスト転送用メモリ４０５のサイズである２５６ＫＢｙｔｅのデータをＵＳＢデバイス４０８から受信する要求をＵＳＢホストコントローラ４０３に設定する（ステップＳ５０５）。
【００５４】
次に、ＵＳＢホストコントローラ４０３がＵＳＢデバイス４０８から２５６ＫＢｙｔｅのデータを受信する（ステップＳ５０６）。
【００５５】
受信が完了して完了通知を受け取る（ステップＳ５０７）と、ＵＳＢホスト制御ソフト４０２はＡＶ処理ブロック４０６に対し２５６ＫＢｙｔｅ分のデータ転送が完了したことを通知する（ステップＳ５０８）。
【００５６】
通知を受けたＡＶ処理ブロック４０６は、受信したデータを用いて復号などのＡＶ処理を実行する（ステップＳ５０９）。
【００５７】
ＡＶ処理ブロック４０６が２５６ＫＢｙｔｅ分のデータを処理した時点で、続きのデータ転送を行うため、データの再要求を行う（ステップＳ５１０）。データの再要求を受けたＵＳＢホスト制御ソフト４０２は、次の２５６ＫＢｙｔｅ分のデータの受信要求をＵＳＢホストコントローラ４０３に設定し（ステップＳ５１１）、転送を行う。
【００５８】
以上の転送要求処理とＡＶ処理とを繰り返し実行し、最終的に１０２４ＫＢｙｔｅ分のデータのＡＶ処理を実行する。なお、１０２４ＫＢｙｔｅ分のデータ転送が完了して完了通知を受け取った時点（ステップＳ５１２）で、ＵＳＢホスト制御ソフト４０２は、一連の転送のステータスをＵＳＢデバイス４０８から受信するためコマンドで、ＢＯＴプロトコルで決められたCommand Status Wrapper（以下、ＣＳＷと称す）転送を、ＵＳＢホストコントローラ４０３に設定する（ステップＳ５１３：ＣＳＷ転送要求）。
【００５９】
ＵＳＢホストコントローラ４０３はＣＳＷ転送を行い（ステップＳ５１４）、その結果をＵＳＢホスト制御ソフト４０２を介して転送ステータスとしてＡＶ処理ブロックに通知する（ステップＳ５１５）。
【００６０】
以上の処理を行うことで、従来ＵＳＢホスト転送用メモリ４０５のサイズである２５６ＫＢｙｔｅ毎にＣＢＷとＣＳＷの転送が必要だったのに対し、それぞれ１回ずつのＣＢＷ転送とＣＳＷ転送で、転送用メモリ４０５のサイズ以上の転送が可能となり、ＣＢＷとＣＳＷの転送に必要であった時間を節約でき、転送速度の向上につながる。
【００６１】
実施の形態３では、ＵＳＢホストコントローラ４０３に設定する転送サイズを２５６ＫＢｙｔｅとして説明したが、設定する転送サイズはＵＳＢホスト転送用メモリ４０５のサイズ以下であれば同様の効果が得られる。またＵＳＢホストシステム４００からＵＳＢデバイス４０８に対してデータを書き込む場合においても、同様の手順により転送が可能である。
【産業上の利用可能性】
【００６２】
本発明にかかるＵＳＢホストシステムは、ＵＳＢデバイスとのデータ転送の効率化による高速転送機能を有し、ＵＳＢデバイスからＡＶデータを読み書きするオーディオ機器や、デジタルテレビ、デジタルビデオレコード等に有用である。また、ＡＶデータを処理可能でありＵＳＢホストを搭載する他のＡＶシステムの用途にも応用できる。
【図面の簡単な説明】
【００６３】
【図１】本発明における実施の形態１、２のＵＳＢホストシステム概略構成を示すブロック図である。
【図２】実施の形態１での動作を示すフローチャートである。
【図３】実施の形態２での動作を示すフローチャートである。
【図４】本発明における実施の形態３のＵＳＢホストシステム概略構成を示すブロック図である。
【図５】実施の形態３での転送シーケンスを示す模式図である。
【符号の説明】
【００６４】
１００    ＵＳＢホストシステム
１０１    ＣＰＵ
１０２    一時転送中断処理ブロック
１０３    ＵＳＢホストコントローラ
１０４    メインメモリ
１０５    ＵＳＢホスト転送メモリ
１０６    ＵＳＢにより転送されたデータを処理するデータ処理ブロック
１０７    ＵＳＢバス
１０８    ＵＳＢデバイス
４００    ＵＳＢホストシステム
４０１    ＣＰＵ
４０２    一時転送中断処理を有するＵＳＢホスト制御ソフト
４０３    ＵＳＢホストコントローラ
４０４    メインメモリ
４０５    ＵＳＢホスト転送メモリ
４０６    ＵＳＢにより転送されるＡＶデータを処理するためのＡＶ処理ブロック
４０７    ＵＳＢバス
４０８    ＵＳＢデバイス
【図１】
2010039975.tif 000003
【図２】
2010039975.tif 000004
【図３】
2010039975.tif 000005
【図４】
2010039975.tif 000006
【図５】
2010039975.tif 000007