(57)【要約】【課題】ＰＣ−プリンタ−デジタルカメラの接続形態において、各装置の接続を変えることなくＰＣからプリンタへのプリント機能とデジタルカメラからプリンタへのダイレクトプリント機能と、デジタルカメラのメモリカード上の画像データを直接ＰＣ上の記憶手段に転送する機能とを実現する。【解決手段】プリンタ２０２は、通信回線を介して直接接続されるＰＣ２０１からデータを受信する仮想ＵＳＢファンクション２０７、同じく通信回線を介して直接接続されるデジタルカメラ２０３に対してデータ転送を要求し、データを取得するＵＳＢホスト２０９、仮想ＵＳＢファンクション２０７で受信されるデータ及びＵＳＢホスト２０９にて取得されるデータを夫々入出力可能なＵＳＢファンクション２１１、及び、デジタルカメラ２０３から取得されるデータをＰＣ２０１に転送する仮想ＵＳＢファンクション２０８とを具備する。【選択図】　図２
2004005541.tif 000002
【特許請求の範囲】
【請求項１】
当該データ転送装置と通信回線を介して直接接続される一又は複数の第１外部装置からデータを受信する受信手段と、
当該データ転送装置と通信回線を介して直接接続される一又は複数の第２外部装置に対してデータ転送を要求し、前記第２外部装置からデータを取得する制御手段と、
前記受信手段にて受信されるデータ及び前記制御手段にて取得されるデータを夫々出力可能な出力手段と、
前記制御手段にて前記第２外部装置から取得されるデータを自動的に前記第１外部装置に転送する転送手段とを有することを特徴とするデータ転送装置。
【請求項２】
前記制御手段は、前記第２外部装置から取得するデータを前記転送手段に転送し、前記転送手段は、前記制御手段から転送されるデータを前記第１外部装置に転送することを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記受信手段にて受信されるデータを格納する格納手段を有し、
前記制御手段は、前記格納手段に格納されるデータを前記出力手段に転送し、前記出力手段は、前記格納手段から転送されるデータを出力することを特徴とする請求項１記載のデータ転送装置。
【請求項４】
前記制御手段は、前記第２外部装置から取得するデータを前記出力手段に転送し、前記出力手段は、前記制御手段から転送されるデータを出力することを特徴とする請求項１記載のデータ転送装置。
【請求項５】
前記転送手段は、前記第２外部装置からのデータ転送の要求を前記第１外部装置から受け付け、前記制御手段は、当該受付に応じて前記第２外部装置からデータを取得し、前記転送手段は、前記制御手段にて取得されるデータを前記第１外部装置に転送することを特徴とする請求項１記載のデータ転送装置。
【請求項６】
別個のトポロジー間でデータを通信するデータ転送装置であって、
外部の第１の装置と第１のトポロジーを形成する第１の通信インタフェースと、
外部の第２の装置と第２のトポロジーを形成する第２の通信インタフェースと、
前記第１のトポロジーにおいて、仮想的に前記第２の装置を特定する特定手段と、
前記第１のトポロジーにおいて、前記第１の装置から、前記特定手段で特定される仮想的な前記第２の装置に対して送られた情報を、前記第２のトポロジーにおける前記第２の装置へ転送する転送手段とを有することを特徴とするデータ転送装置。
【請求項７】
前記各トポロジーごとにホスト機能を１つ有することを特徴とする請求項６に記載のデータ転送装置。
【請求項８】
前記トポロジーは、ＵＳＢ機器のネットワークの構成を示すことを特徴とする請求項６に記載のデータ転送装置。
【請求項９】
前記第１のトポロジーで前記第２の装置を指定する情報を、前記第２のトポロジーで前記第２の装置を指定する情報に変換する変換手段を更に有することを特徴とする請求項６に記載のデータ転送装置。
【請求項１０】
前記第２のトポロジーにおいて、前記第２の装置が他の装置と通信している場合に、前記特定手段により特定された仮想的な第２の装置へ送信された情報に応じて、前記第１の装置に対して応答信号を送信する応答手段を更に有することを特徴とする請求項６に記載のデータ転送装置。
【請求項１１】
当該データ転送装置と通信回線を介して直接接続される一又は複数の第１外部装置からデータを受信する受信手段と、当該データ転送装置と通信回線を介して直接接続される一又は複数の第２外部装置に対してデータ転送を要求し、前記第２外部装置からデータを取得する制御手段と、前記受信手段にて受信されるデータ及び前記制御手段にて取得されるデータを夫々出力可能な出力手段とを有するデータ転送装置によるデータ転送方法であって、
前記制御手段にて前記第２外部装置から取得されるデータを自動的に前記第１外部装置に転送することを特徴とするデータ転送方法。
【請求項１２】
外部の第１の装置と第１のトポロジーを形成する第１の通信インタフェースと、外部の第２の装置と第２のトポロジーを形成する第２の通信インタフェースとを有し、別個のトポロジー間でデータを通信可能とするデータ転送装置によるデータ転送方法であって、
前記第１のトポロジーにおいて仮想的に前記第２の装置を特定し、
前記第１のトポロジーにおいて、前記第１の装置から、前記特定手段で特定される仮想的な前記第２の装置に対して送られた情報を、前記第２のトポロジーにおける前記第２の装置へ転送することを特徴とするデータ転送方法。
【請求項１３】
請求項１１又は１２に記載のデータ転送方法をコンピュータに実行させるためのプログラム。
【請求項１４】
請求項１３に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ等のホスト情報処理装置とデジタルカメラ等の画像入力装置を通信回線を介して直接接続する形態に適用され、コンピュータとデジタルカメラ間のデータ転送が可能なデータ転送装置、データ転送方法、プログラム及び記録媒体に関するものである。
【０００２】
【従来の技術】
近年、デジタルカメラ等の画像入力装置の性能の向上及び低価格化が進む一方、プリンタ等の記録装置の高精細化が進む中でパーソナルコンピュータ等のホスト情報処理装置を介さずに直接画像入力装置と記録装置とを接続し、画像入力装置の画像を出力することが可能なダイレクトプリンタへの要望が高まっている。
【０００３】
これら各装置を接続する手段としてはＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）インタフェースが採用されることが多く、ＵＳＢは各種周辺機器に共通のインタフェース仕様であって、同じコネクタで最大１２７台の機器をディジーチェーン方式で接続することができ、また、コンピュータの電源を入れたまま機器を接続できるプラグアンドプレイという機能を備えている。ＵＳＢはＵＳＢホストとＵＳＢデバイスで構成され、ＵＳＢデバイスはＵＳＢファンクションとＵＳＢハブがある。
【０００４】
ＵＳＢファンクションは、ＵＳＢのバスを経由してデータや制御情報を送受信できるＵＳＢデバイスであり、キーボードなどの入力デバイス、プリンタなどの出力デバイス等がある。ＵＳＢハブはＵＳＢの接続ポイントを増やすためのデバイスである。ＵＳＢホストはホストコントローラを介してＵＳＢデバイスと情報のやり取りを行うものであり、接続されるＵＳＢデバイスを管理する。
【０００５】
ＵＳＢを介してＰＣからプリントを行うためには図８に示すようにＰＣ−プリンタが接続される。また、デジタルカメラ８０３等の画像入力装置は画像データの記憶手段としてコンパクトフラッシュ（Ｒ）カードやスマートメディア等のＰＣＭＣＩＡ準拠のメモリカードを用いているものが多く、ＰＣ８０２を持つユーザの多くはデジタルカメラで撮影した画像データをフォトレタッチソフト等で加工するためにデジタルカメラ８０３とＰＣ８０２とを接続してメモリカードに記憶された画像データをＰＣ８０２上のハードディスク等の記憶手段にコピーする。このため、デジタルカメラ８０３もＰＣ８０２に接続され、各装置の接続は図８に示すようにプリンタ−ＰＣ−デジタルカメラの形態となる。
【０００６】
【発明が解決しようとする課題】
しかしながら、デジタルカメラ８０３とプリンタ８０１はともにＰＣ８０２に接続されており、双方は直接接続されていないのでデジタルカメラ８０３からプリンタ８０１へのダイレクトプリントは実現することができない。
【０００７】
また、デジタルカメラからのダイレクトプリントを可能とするためには、ダイレクトプリンタとデジタルカメラがＵＳＢで直接接続される。しかしながら、この接続形態においてはＰＣが接続されていないため、デジタルカメラのメモリカード上のデータをＰＣに転送することはできない。
【０００８】
従って、プリンタ−ＰＣ−デジタルカメラの接続形態においては、デジタルカメラからプリンタへのダイレクトプリントは実現できず、従来のダイレクトプリンタ−デジタルカメラの接続形態においては、デジタルカメラのメモリカード上の画像データを直接ＰＣ上の記憶手段に転送することはできない。そのため、それぞれの場合によって各装置をつなぎ変える必要があり、手間となっていた。
【０００９】
特にＵＳＢでは、各ネットワークトポロジーには１つのホストが存在し、そのトポロジー内での通信制御を、ホスト装置が行っているが、異なるネットワークトポロジー間での通信が出来ない。従って、上記のようにＰＣ−プリンタ−デジタルカメラと接続して、プリンタがデジタルカメラのホストとして機能するような場合には、ＰＣ−プリンタと、プリンタ−デジタルカメラとの２つのネットワークトポロジーが形成され、ＰＣの制御でのデジタルカメラにデータ転送が出来なかった。
【００１０】
従って、本発明の目的は、上記の問題点を全て、或いは少なくとも１つを解決することを目的とする。
【００１１】
即ち、本発明の目的は、異なるネットワークトポロジー間での通信での通信を可能とすることにある。
【００１２】
また、本発明の目的は、ＰＣ−プリンタ−デジタルカメラの接続形態において、各装置の接続を変えることなくＰＣからプリンタへのプリント機能とデジタルカメラからプリンタへのダイレクトプリント機能と、デジタルカメラのメモリカード上の画像データを直接ＰＣ上の記憶手段に転送する機能とを実現とすることにある。
【００１３】
【課題を解決するための手段】
かかる目的を達成するために、本発明のデータ転送装置の一態様として、当該データ転送装置と通信回線を介して直接接続される一又は複数の第１外部装置からデータを受信する受信手段と、当該データ転送装置と通信回線を介して直接接続される一又は複数の第２外部装置に対してデータ転送を要求し、前記第２外部装置からデータを取得する制御手段と、前記受信手段にて受信されるデータ及び前記制御手段にて取得されるデータを夫々出力可能な出力手段と、前記制御手段にて前記第２外部装置から取得されるデータを自動的に前記第１外部装置に転送する転送手段とを有することを特徴とする。
【００１４】
また、本発明のデータ転送装置は、前記第１外部装置と本データ転送装置との通信状態および前記第２外部装置と本データ転送装置との通信状態を監視する監視手段と、前記第１外部装置からデータを受信する受信手段および前記第２外部装置からデータを取得する制御手段に対して通信許可信号を出力するシーケンス制御部を有し、前記第１外部装置と本データ転送装置との通信状態および前記第２外部装置と本データ転送装置との通信状態とから判断して本データ転送装置のデータ転送制御を行うことを特徴としている。
【００１５】
また、本発明のデータ転送装置の他の態様としては、別個のトポロジー間でデータを通信するデータ転送装置であって、外部の第１の装置と第１のトポロジーを形成する第１の通信インタフェースと、外部の第２の装置と第２のトポロジーを形成する第２の通信インタフェースと、前記第１のトポロジーにおいて、仮想的に前記第２の装置を特定する特定手段と、前記第１のトポロジーにおいて、前記第１の装置から、前記特定手段で特定される仮想的な前記第２の装置に対して送られた情報を、前記第２のトポロジーにおける前記第２の装置へ転送する転送手段とを有することを特徴としている。
【００１６】
本発明のデータ転送方法の一態様として、当該データ転送装置と通信回線を介して直接接続される一又は複数の第１外部装置からデータを受信する受信手段と、当該データ転送装置と通信回線を介して直接接続される一又は複数の第２外部装置に対してデータ転送を要求し、前記第２外部装置からデータを取得する制御手段と、前記受信手段にて受信されるデータ及び前記制御手段にて取得されるデータを夫々出力可能な出力手段とを有するデータ転送装置によるデータ転送方法であって、前記制御手段にて前記第２外部装置から取得されるデータを自動的に前記第１外部装置に転送することを特徴とする。
【００１７】
また、本発明のデータ転送方法の他の態様としては、外部の第１の装置と第１のトポロジーを形成する第１の通信インタフェースと、外部の第２の装置と第２のトポロジーを形成する第２の通信インタフェースとを有し、別個のトポロジー間でデータを通信可能とするデータ転送装置によるデータ転送方法であって、前記第１のトポロジーにおいて仮想的に前記第２の装置を特定し、前記第１のトポロジーにおいて、前記第１の装置から、前記特定手段で特定される仮想的な前記第２の装置に対して送られた情報を、前記第２のトポロジーにおける前記第２の装置へ転送することを特徴としている。
【００１８】
また、本発明のプログラムは、前記データ転送方法の諸態様をコンピュータに実行させることを特徴とする。
【００１９】
さらに、本発明のコンピュータ読み取り可能な記録媒体は、前記プログラムを記録したことを特徴としている。
【００２０】
【発明の実施の形態】
以下、本発明の実施形態を添付図面を参照しながら詳細に説明する。
【００２１】
図１は、本発明の一実施形態に係るデータ転送システムの概略構成を示した図である。図１に示すように、本実施形態に係るデータ転送システムは、ＰＣ１０１−ダイレクトプリンタ１０２−デジタルカメラ１０３の接続形態となる。
【００２２】
図９はダイレクトプリンタ１０２の構成の概略を表した図である。図中９０１はＣＰＵ、９０２はＣＰＵ９０１が実行する制御プログラムおよびその他のテーブルデータ等を格納しておくＲＯＭである。９０３はＲＡＭであり、ホストコンピュータ（ＰＣ）９１２からインタフェース（Ｉ／Ｆ）９０４を介して受信したデータを格納する受信バッファおよび後述の印字制御回路９０９が生成したプリントデータを格納するプリントバッファ等の領域、さらにはインタフェース（Ｉ／Ｆ）９０５を介してデジタルカメラ（ＤＳＣ）９１３とデータ転送を行う際に用いられるバッファ領域に割り当てられる。
【００２３】
９０６はＡＳＩＣ形態のダイレクトプリンタ制御部であり、Ｉ／Ｆ９０４および９０５を介してＰＣおよびＤＳＣとデータの送受信を行うＩ／Ｆ制御回路９０７と、ＲＡＭ９０３に対してデータのリード／ライト制御を行うメモリコントローラ９０８と、プリントデータの生成を行う印字制御回路９０９と、プリントデータの記録ヘッド９１４へのデータ転送や記録ヘッド９１４のインクの吐出制御を行うヘッド制御回路９１０と、記録ヘッド９１４を搭載したキャリッジを走査させるキャリッジモータ９１５および被記録媒体の給排紙を行う搬送モータ９１６の駆動を制御する駆動制御回路９１１とを含む。
【００２４】
また、図１０は、本実施形態に係るＩ／Ｆ制御回路９０７の構成を表す図である。Ｉ／Ｆ通信制御部１００１は、装置の状態に応じてＩ／Ｆ９０４および９０５に接続されたＰＣ９１２またはＤＳＣ９１３と通信を行う。シーケンス制御部１００２は、Ｉ／Ｆ９０４および９０５を介してＰＣ９１２またはＤＳＣ９１３から転送されるデータに対して第１の仮想ＵＳＢファンクション２０７とＵＳＢファンクション２１１との間のデータ転送および第２の仮想ＵＳＢファンクション２０８とＵＳＢファンクション２１２との間のデータ転送のシーケンス制御を行う。データ転送制御部１００３は、前記各仮想ＵＳＢファンクションとＵＳＢファンクションとの間のデータ転送を実現するために仮想ＵＳＢファンクションがＰＣ２０１と送受信するためのデータをＲＡＭ９０３に転送する制御を行うものである。
尚、仮想ＵＳＢファンクションについては、後に詳しく説明する。
【００２５】
図２は、図１のＰＣ１０１−ダイレクトプリンタ１０２−デジタルカメラ１０３の接続形態におけるＵＳＢの接続を表す図である。
ＰＣ２０１は、ＵＳＢホスト２０４とハブ２０５を備える。ダイレクトプリンタ２０２は、ＰＣ２０１と接続される第１のハブ２０５とＰＣ２０１のＵＳＢホスト２０４からは実際のＵＳＢファンクションにみえる第１の仮想ＵＳＢファンクション２０７および第２の仮想ＵＳＢファンクション２０８と、後述のデジタルカメラ２０３のＵＳＢファンクション２１２とデータ転送を行うＵＳＢホスト２０９と、ＵＳＢホスト２０９と接続されるハブ２１０と、ＵＳＢファンクション２１１とを備える。
【００２６】
ここで、ＵＳＢハブ２０６、第１の仮想ＵＳＢファンクション２０７および第２の仮想ＵＳＢファンクション２０８、ＵＳＢホスト２０９、ＵＳＢハブ２１０、ＵＳＢファンクション２１１は前述のＩ／Ｆ通信制御部１００１に含まれるものであり、実際にＰＣ２０１およびデジタルカメラ２０３と通信を行う。
【００２７】
デジタルカメラ２０３は、ＵＳＢファンクション２１２を備える。これらは、図３−（ａ）に示すようにＰＣ２０１のＵＳＢホスト２０４、ハブ２０５、ダイレクトプリンタ２０２の第１のハブ２０６、第１の仮想ＵＳＢファンクション２０７及び第２の仮想ＵＳＢファンクション２０８によって第１のトポロジーを構成する。
【００２８】
また、図３−（ｂ）に示すように、ダイレクトプリンタ２０２のＵＳＢホスト２０９、第２のハブ２１０、ＵＳＢファンクション２１１及びデジタルカメラ２０３のＵＳＢファンクション２１２によって第２のトポロジーを構成する。ここで、本発明の特徴である第１の仮想ＵＳＢファンクション２０７および第２の仮想ＵＳＢファンクション２０８は、ＰＣ２０１のＵＳＢホスト２０４に対してはダイレクトプリンタ２０２のＵＳＢファンクション２１１およびデジタルカメラ２０３のＵＳＢファンクション２１２と同等のふるまいをするものである。ここでいう同等の振る舞いとは、以下のようなことをいう。
【００２９】
本実施形態においては、ダイレクトプリンタ２０２内のＵＳＢファンクション２１１はプリンタクラスのファンクションであり、３つのエンドポイントから構成されている。エンドポイント０はコントロール転送、エンドポイント１はバルクアウト転送、エンドポイント２はバルクイン転送をサポートしている。デジタルカメラ２０３内のＵＳＢファンクション２１２はマス・ストレージクラスであり、４つのエンドポイントから構成されている。エンドポイント０はコントロール転送、エンドポイント１はバルクイン転送、エンドポイント２はバルクアウト転送、エンドポイント３はインターラプト転送をサポートしている。
【００３０】
また、ダイレクトプリンタ内の第１の仮想ＵＳＢファンクション２０７は、ＵＳＢファンクション２１１のデバイスクラスおよびエンドポイント構成と同様である。したがって、ＵＳＢホスト２０４は第１の仮想ＵＳＢファンクション２０７の各エンドポイントを介してデータの送受信を行うため、あたかもＵＳＢファンクション２１１と通信している状態となる。一方、第２の仮想ＵＳＢファンクション２０８は、ＵＳＢファンクション２１２のデバイスクラスおよびエンドポイント構成と同様である。したがって、ＵＳＢホスト２０４は第２の仮想ＵＳＢファンクション２０８の各エンドポイントを介してデータの送受信を行うため、あたかもＵＳＢファンクション２１２と通信している状態となる。仮想ＵＳＢファンクションは、対応するＵＳＢファンクションと同じハードウェア構成を有するものでもよいし、ソフトウェア的に同様の機能を実行する為のプログラムでもよい。
【００３１】
図１１は、ＰＣからのプリントを実行する時のデータ転送を行う場合の動作を示したフローチャートであり、図１２は、ＰＣ−デジタルカメラ間のデータ転送を行う場合の動作を示したフローチャートである。以下、図１１及び図１２を参照しながら本実施形態に係るデータ転送動作を詳細に説明する。
【００３２】
ＰＣ２０１からプリントする場合、まず第１のＵＳＢトポロジーにおいてＰＣ２０１のＵＳＢホスト２０４からダイレクトプリンタ２０２のＵＳＢファンクション２１１に相当する第１の仮想ＵＳＢファンクション２０７にデータを転送する。この時、第１の仮想ＵＳＢファンクション２０７はＵＳＢホスト２０４に対してダイレクトプリンタ２０２のＵＳＢファンクション２１１と同等のふるまいをし、ＵＳＢホスト２０４とデータの送受信を行う。すなわち、第１の仮想ＵＳＢファンクション２０７はＵＳＢファンクション２１１と同様な構成の各エンドポイントを有しているため、ＰＣ２０１からダイレクトプリンタ２０２への印字データの転送は、ＵＳＢホスト２０４によるデータ転送要求（ステップＳ１１０１）に起因して、ＵＳＢホスト２０４が第１の仮想ＵＳＢファンクション２０７に対してバルクアウト転送で行うことで実現できる（ステップＳ１１０３）。
【００３３】
このとき、ＰＣ２０１から転送されたデータはデータ転送制御部１００３によって一時的にＲＡＭ９０３に格納される（ステップＳ１１０４）。但し、ダイレクトプリンタ２０２がデジタルカメラ２０３からのプリント動作を実行中であるなど、ＰＣ２０１からのプリント要求を受け付けられない場合には（ステップＳ１１０２）、シーケンス制御部１００２から第１の仮想ＵＳＢファンクション２０７に対して受信不可の信号が出力される。これを受けた第１の仮想ＵＳＢファンクション２０７はＰＣからのバルクアウト転送に対してＮＡＫのハンドシェークパケットを返してＰＣ２０１からのデータを受信できないことを示す（ステップＳ１１０７）。
【００３４】
次にシーケンス制御部１００２はＲＡＭ９０３に蓄えられたデータがＵＳＢファンクション２１１に転送されるデータである（ＰＣ２０１からのプリントデータである）と認識しているため、ＲＡＭ９０３に所定の量のデータが蓄えられた時点でシーケンス制御部１００２はＵＳＢファンクション２１１への転送を許可する（ステップＳ１１０５）。これを受けて第２のＵＳＢトポロジーにおいてダイレクトプリンタ２０２のＵＳＢホスト２０９はＲＡＭ９０３に蓄えられたデータをＵＳＢファンクション２１１のエンドポイント１に転送する（ステップＳ１１０６）。
【００３５】
ＵＳＢファンクション２１１に転送された受信データはメモリコントローラ９０８によってＲＡＭ９０３内の受信バッファに格納される。所定のデータ量が格納されたところで印字データ制御回路９０９は印字データを生成し、メモリコントローラ９０８によってＲＡＭ９０３内のプリントバッファに蓄える。ヘッド制御回路９１０は所定のタイミングでプリントバッファから印字データを読み出し、記録ヘッド９１４に転送する。さらに記録ヘッドの主走査の過程でヘッド制御回路９１０によって記録ヘッド９１４に対して駆動パルスが与えられることによって実際の印字動作が行われ、画像が形成される。記録ヘッド９１４の走査および被記録媒体の搬送は、駆動制御回路９１１によってキャリッジモータ９１５および搬送モータ９１６を駆動することによってなされる。
【００３６】
このようにＰＣ２０１のＵＳＢホスト２０４とダイレクトプリンタ２０２のＵＳＢファンクション２１１とのデータ転送はＩ／Ｆ通信制御回路１００１内の第１の仮想ＵＳＢファンクション２０７を介して行うことによってＰＣ２０１から転送されたデータをプリントすることを実現している。
【００３７】
デジタルカメラ２０３からダイレクトプリンタ２０２にダイレクトプリントを行う場合、第２のＵＳＢトポロジーにおいてダイレクトプリンタ２０２のＵＳＢホスト２０９がデジタルカメラ２０３のＵＳＢファンクション２１２に対してデータ転送を要求してデータを吸い上げた後、ＵＳＢホスト２０９はＵＳＢファンクション２１１にデータを転送してプリントを実行する。
【００３８】
ＵＳＢホスト２０９はデジタルカメラ２０３内のＵＳＢファンクション２１２のエンドポイント１を介してバルクイン転送でデータを要求する。デジタルカメラ２０３は、要求に応じてデータをＵＳＢホスト２０９に送信する。ＵＳＢホスト２０９が受信したデータはＲＡＭ９０３内の受信バッファに蓄えられる。以降はＰＣ２０１からのプリントと同様の処理によってプリントを実現する。
【００３９】
デジタルカメラ２０３の画像データをＰＣ２０１に転送する場合、まず第１のＵＳＢトポロジーにおいてＰＣ２０１のＵＳＢホスト２０４からデジタルカメラ２０３のＵＳＢファンクション２１２に相当する第２の仮想ＵＳＢファンクション２０８にデータ転送を要求する。
【００４０】
すなわち、第２の仮想ＵＳＢファンクション２０８はＵＳＢファンクション２１２と同様な構成の各エンドポイントを有しているため、ＰＣ２０１からデジタルカメラ２０３へのデータ転送要求は、ＵＳＢホスト２０４が第２の仮想ＵＳＢファンクション２０８に対してバルクイン転送で行うことで実現できる。
【００４１】
この時、ダイレクトプリンタ２０２がデジタルカメラ２０３からのプリント動作を実行中であるなど、ＰＣ２０１からデジタルカメラ２０３へのアクセスを受け付けられない場合には（ステップＳ１２０２）、シーケンス制御部１００２から第２の仮想ＵＳＢファンクション２０８に対して送信不可の信号が出力される。これを受けた第２の仮想ＵＳＢファンクション２０８はＰＣからのバルクイン転送に対してＮＡＫのハンドシェークパケットを返してＰＣ２０１のＵＳＢホスト２０４へデータを送信できないことを示す（ステップＳ１２０５）。
【００４２】
送信不可状態でない場合、ＵＳＢホスト２０４のデータ転送要求（ステップＳ１２０１）に対して第２の仮想ＵＳＢファンクション２０８が送信するデータの準備ができているならば（ステップＳ１２０３）、シーケンス制御部１００２はデータ転送許可信号を出力する。準備ができていなければ転送許可信号は出力されず、第２のＵＳＢトポロジーにおけるダイレクトプリンタ２０２のＵＳＢホスト２０９は、デジタルカメラ２０３のＵＳＢファンクション２１２に対してデータ転送を要求してデータを吸い上げる。
【００４３】
具体的にはＵＳＢホスト２０９はデジタルカメラ２０３のＵＳＢファンクション２１２に対してバルクイン転送要求を行う（ステップＳ１２０６）。ＵＳＢファンクション２１２は転送要求に応じてバルクイン転送でデータをＵＳＢホスト２０９に転送する（ステップＳ１２０７）。ＵＳＢホスト２０９に転送されたデータは一時的にＲＡＭ９０３に格納される（ステップＳ１２０８）。データが準備できた時点でシーケンス制御部１００２はデータ転送許可信号を出力する。これを受けて第２の仮想ＵＳＢファンクション２０８はＵＳＢホスト２０４へデータを転送する（ステップＳ１２０４）。
【００４４】
このようにＰＣ２０１のＵＳＢホスト２０４とデジタルカメラ２０３のＵＳＢファンクション２１２とのデータ転送はダイレクトプリンタ２０２の第２の仮想ＵＳＢファンクション２０８を介して実現することができる。
【００４５】
以上、本実施形態によれば、第１のＵＳＢトポロジーと第２のＵＳＢトポロジーがあって、第１のＵＳＢトポロジーのＵＳＢホストと第２のＵＳＢトポロジー上のＵＳＢファンクションとのデータ転送を仮想ＵＳＢファンクションを介して実現することによって、ＰＣ−プリンタ−デジタルカメラの接続形態から各装置の接続を変えることなくＰＣからプリンタへのプリント機能と、デジタルカメラからプリンタへのダイレクトプリント機能とデジタルカメラのメモリカード上の画像データを直接ＰＣ上の記憶手段に転送する機能とを実現することが可能である。
【００４６】
図４は、本発明者が想到するプリンタ−ＰＣ−デジタルカメラの接続形態の具体例を示した図である。ＰＣ４０１はＵＳＢホスト４０４とハブ４０５を備え、プリンタ４０２のＵＳＢファンクション４０６及びデジタルカメラ４０３のＵＳＢファンクション４０７はハブ４０５のダウンストリームポートに接続される構成となり、図５に示すようなＵＳＢのバストポロジーを構成する。
【００４７】
ＰＣ４０１からプリントを行う場合は、ＰＣ４０１のＵＳＢホスト４０４からハブ４０５を介してプリンタ４０２のＵＳＢファンクション４０６にデータを転送してプリントを行う。デジタルカメラ４０３のメモリカードからＰＣ４０１にデータを転送する場合はＰＣ４０１のＵＳＢホスト４０４がハブ４０５を介してデジタルカメラ４０３のＵＳＢファンクション４０７に転送を要求してデータを吸い上げる。
【００４８】
また、図６は、同じく本発明者が想到するダイレクトプリンタ−デジタルカメラ接続形態の具体例を示した図である。図６に示すように、ダイレクトプリンタ６０１とデジタルカメラ６０２はＵＳＢで接続され、ダイレクトプリンタ６０１は、ＵＳＢホスト６０３とハブ６０４およびＵＳＢファンクション４０６と同等のＵＳＢファンクション６０５とを備える。デジタルカメラ６０２はＵＳＢファンクション４０７と同等のＵＳＢファンクション６０６を備え、ハブ６０４のダウンストリームポートに接続される構成となり、図７に示すようなＵＳＢのバストポロジーを構成する。
【００４９】
デジタルカメラ６０２からダイレクトプリンタ６０１にダイレクトプリントを行う場合、図７のＵＳＢトポロジーにおいてダイレクトプリンタ６０１のＵＳＢホスト６０３がデジタルカメラ６０２のＵＳＢファンクション６０６に対してデータ転送を要求してメモリカード上の画像データを吸い上げた後、ＵＳＢホスト６０３自動的にはハブ６０４を介してＵＳＢファンクション６０５にデータを転送してプリントを実行する
【００５０】
また、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【００５１】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５２】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることが出来る。
【００５３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わる記憶媒体に書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５５】
また、本発明は、上述の実施形態に限られるものではなく、特許請求の範囲に記載された範囲内において種々の変形が可能である。
【００５６】
【発明の効果】
以上の説明から明らかなように、本発明によれば、本データ転送装置に第１及び第２外部装置を直接接続した形態を維持しつつ、第１及び第２外部装置から得るデータを双方とも出力可能とし、また、第２外部装置から得られるデータを本データ転送装置を介して第１外部装置に転送することが可能となる。
【００５７】
また、本発明によれば、データ転送装置に第１及び第２の外部装置を接続した形態を維持しつつ、異なるトポロジー間でもデータの転送を可能とする。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るデータ転送システムの概略構成を示した図である。
【図２】本発明の一実施形態に係るデータ転送システムのＵＳＢの接続形態を示した図である。
【図３】本発明の一実施形態に係るデータ転送システムのＵＳＢのバストポロジーを示した図である。
【図４】本発明者が想到するプリンタ−ＰＣ−デジタルカメラの接続形態の具体例を示した図である。
【図５】本発明者が想到するプリンタ−ＰＣ−デジタルカメラの接続形態におけるバストポロジーを示した図である。
【図６】本発明者が想到するダイレクトプリンタ−デジタルカメラの接続形態の具体例を示した図である。
【図７】本発明者が想到するダイレクトプリンタ−デジタルカメラの接続形態におけるバストポロジーを示した図である。
【図８】ＰＣ−プリントを接続したデータ転送システムの従来例を示した図である。
【図９】ダイレクトプリンタ１０２の構成の概略を表した図である。
【図１０】本実施形態に係るＩ／Ｆ制御回路９０７の構成を表す図である。
【図１１】ＰＣからのプリントを実行する時のデータ転送を行う場合の動作を示したフローチャートである。
【図１２】ＰＣ−デジタルカメラ間のデータ転送を行う場合の動作を示したフローチャートである。
【符号の説明】
１０１、２０１　ＰＣ
１０２、２０２　ダイレクトプリンタ
１０３、２０３　デジタルカメラ
２０４　ＵＳＢホスト
２０５、２０６、２１０　ハブ
２０７、２０８　仮想ＵＳＢファンクション
２０９　ＵＳＢホスト
２１１、２１２　ＵＳＢファンクション
【図１】
2004005541.tif 000003
【図２】
2004005541.tif 000004
【図３】
2004005541.tif 000005
【図４】
2004005541.tif 000006
【図５】
2004005541.tif 000007
【図６】
2004005541.tif 000008
【図７】
2004005541.tif 000009
【図８】
2004005541.tif 000010
【図９】
2004005541.tif 000011
【図１０】
2004005541.tif 000012
【図１１】
2004005541.tif 000013
【図１２】
2004005541.tif 000014