JP5295341B2 - 無線通信装置および通信方法 - Google Patents

無線通信装置および通信方法 Download PDF

Info

Publication number
JP5295341B2
JP5295341B2 JP2011256382A JP2011256382A JP5295341B2 JP 5295341 B2 JP5295341 B2 JP 5295341B2 JP 2011256382 A JP2011256382 A JP 2011256382A JP 2011256382 A JP2011256382 A JP 2011256382A JP 5295341 B2 JP5295341 B2 JP 5295341B2
Authority
JP
Japan
Prior art keywords
wireless
digital camera
usb
communication
ptp
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011256382A
Other languages
English (en)
Other versions
JP2012085322A (ja
Inventor
隆志 相沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2011256382A priority Critical patent/JP5295341B2/ja
Publication of JP2012085322A publication Critical patent/JP2012085322A/ja
Application granted granted Critical
Publication of JP5295341B2 publication Critical patent/JP5295341B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

本発明は無線通信装置および通信方法に関する。
デジタルカメラなどの撮像装置では、記録装置が一体化されており、撮像データを装置に内蔵もしくは装着された記録媒体に記録している。そして、デジタルカメラ内部に記録された画像データをパーソナルコンピュータ(以下PC)等の外部装置で用いる場合、デジタルカメラと外部装置の両方が有するデジタルインタフェースをケーブルで接続し、データをデジタルカメラからPCへ転送する(特許文献1参照)。
また、近年においては、デジタルカメラとプリンタを直接ケーブルで接続し、PCを介さずにプリントするダイレクトプリントに対応したデジタルカメラ、プリンタも製品化されている。
このように、デジタルカメラと外部装置との間でデータ転送を行う場合、従来はUSB(ユニバーサルシリアルバス)インタフェースをケーブルで接続するといった有線接続が一般的であった。そして、このような物理的な伝送路上で、予め決められた通信プロトコルに従ってデータ交換を行っていた。
たとえば、PCとデジタルカメラのデータ交換プロトコルとしては、USBのStill Imaging Device Classで規定されているPTP(Picture Transfer Protocol)や、マスストレージデバイスクラスで定義されているプロトコルを利用することが多い。
特に、OSレベルでPTPをサポートしているWindows(登録商標)XPやMacOS(登録商標)Xが稼働するPCでは、デジタルカメラを接続すると、それがデジタルカメラであることを認識する。そして、例えばデータ転送アプリケーションを自動で起動し、データ転送を開始する等の動作が可能であり、ユーザの負荷軽減と、利便性の向上を実現している。
また、上述のダイレクトプリントに関して、デジタルカメラとプリンタを直接接続する際の手順等を定めた、ピクトブリッジという規格も提案されている。この規格のVersion1.0に従えば、相互の接続が完了すると、ユーザがデジタルカメラ側の操作部、表示部を用い、印刷する画像を選択したり、印刷指示したりすることが可能である。ピクトブリッジ規格においても装置間の通信にはPTPを利用しているため、デジタルカメラがPTPによる通信をサポートしていれば、ユーザはデジタルカメラを接続する外部装置がPCでもプリンタでも同様に操作すればよい。
さらに最近では、ワイヤレスネットワークの技術の進歩及び低価格化により、BlueTooth(登録商標)やIEEE802.11bといった無線通信規格に準拠した無線通信機能を様々な機器に組み込む動きも活性化している。
しかし、無線通信機能を実現するには、個々の機器に無線通信用モジュール、アンテナなどが必要である。現状では、部品コスト、実装スペースの確保、またはシステムソフトウェアへの機能追加負荷といった部分を解決できておらず、特に低価格な機器においては、標準搭載機能にまでは至っていない。
一方で、無線通信機能を内蔵していないPCに無線通信機能を追加するための無線アダプタという製品が発売されている。これらはPCが有する拡張スロット(PCIスロット、PCカードスロット等)や外部インタフェース(USB,IEEE1394等)に接続され、接続されたインタフェースを通じた無線通信機能を実現する。
このような無線アダプタは、一般に、専用のドライバソフトウェアが必要となる。そして、このドライバソフトウェアが、各種インタフェースに接続された無線アダプタを、無線ネットワークデバイスとしてPCに認識させている。
特開2005−223710号公報
しかしながら現在、無線ネットワークで接続されるデバイスとしてはPC、プリンタなどが一般的であるため、デジタルカメラなどの携帯機器の接続に関して整備された状況とは言えない。最近のOSはデジタルカメラをUSBインタフェースで接続して用いるためのデバイスドライバを標準で有しているので、ユーザはデジタルカメラとPCのUSBインタフェースを接続すれば、PCでデジタルカメラを認識・利用することができる。
しかし、無線通信に対応したデジタルカメラは現時点ではまだ一般的ではないため、PCで認識・利用するためには、専用のデバイスドライバソフトウェアをPCにインストールするか、FTPなどの汎用ネットワークプロトコルを利用するものが多い。
デバイスドライバを用意して接続する場合、ユーザによるインストール作業が新たに必要となる。また、開発側としては、デバイスドライバソフトウェア開発負荷が増大する。FTPなどの既にネットワークで汎用的に利用されているプロトコルを利用する場合、ユーザに対してFTPサーバーを用意してもらう必要がある。また、PCでは接続された機器がデジタルカメラであることを認識しないため、通信の設定等に際してネットワークの知識やスキルが要求される。このように、USB接続時よりもユーザに高い知識が要求される。また、デジタルカメラ内にUSB接続時とは全く異なるプロトコルによる通信を行うためのソフトウェアを実装をすることが必要になり、開発側の負荷も増大する。
また、前述したピクトブリッジのような、ダイレクトプリントに関する規格においても、USBによる有線接続を前提としている。そのため、無線接続時にFTPなどの汎用プロトコルをデジタルカメラが利用する場合には、プリンタ側でも同等のプロトコルを利用可能にする必要がある。
このように、従来、デジタルカメラと外部装置との接続は、USBインタフェースを有線接続することを前提としてOSや規格が成立しているため、無線通信による接続を行いたい場合には、ユーザの利便性が低下することを避けられなかった。
本発明はこのような従来技術の課題に鑑みてなされたものであり、ユーザの利便性を損なわずに、無線通信により通信を行う外部装置を有線通信により通信を行う外部装置から利用可能とすることを目的とする。
上述の目的は、第1の装置と通信を行う有線通信手段と、第2の装置と通信を行う無線通信手段とを備え、有線通信手段と第1の装置との通信が可能で、かつ無線通信手段と第2の装置との通信が可能でない状態において、第1の装置から第2の装置へのコマンドを受信した場合、第2の装置からの応答であることを示す第1の応答を生成し、第1の応答を第1の装置へ送信することを特徴とする無線通信装置によって達成される。
本発明によれば、ユーザの利便性を損なわずに、無線通信により通信を行う外部装置を有線通信により通信を行う外部装置から利用可能とすることができる。
本発明の第1及び第2の実施形態における無線通信システムの構成の一例を示す図である。 第1及び第2の実施形態におけるデジタルカメラ100の構成例を示すブロック図である。 第1及び第2の実施形態における無線アダプタ300の構成例を示すブロック図である。 第1及び第2の実施形態のデジタルカメラ100に実装されるソフトウェアモジュールとその関連、動作を説明する図である。 第1及び第2の実施形態の無線アダプタ300に実装されるソフトウェアモジュールとその関連、動作を説明する図である。 第1の実施形態における無線アダプタ300の動作を、デジタルカメラ及びPCとの動作と共に示したシーケンス図である。 第2の実施形態における無線アダプタ300の動作を、デジタルカメラ及びPCとの動作と共に示したシーケンス図である。 第1及び第2の実施形態におけるPC200の構成例を示すブロック図である。
以下、図面を参照して、本発明の好適な実施形態について説明する。
<第1の実施形態>
図1は、本発明の第1の実施形態における無線通信システムの構成の一例を示す図である。本実施形態における無線通信システムは、無線通信装置である無線アダプタ300と、撮像装置の一例であるデジタルカメラ100と、外部装置の一例であるパーソナルコンピュータ(PC)200とから構成される。
図1において、デジタルカメラ100は無線通信機能が内蔵もしくは取り付け可能になっており、無線通信装置である無線アダプタ300と無線通信が可能である。無線アダプタ300は、PC200とUSB(Universal Serial Bus)で接続可能である。そして、後述するように、PC200から見ると、無線アダプタ300は有線接続されたデジタルカメラとして仮想的に振る舞う。
(PC200の構成)
図8は、本実施形態におけるPC200の構成例を示すブロック図である。
図8において、ディスプレイ801はアプリケーションプログラムによって処理中のデータの情報、各種メッセージメニューなどを表示し、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)等から構成される。ディスプレイコントローラ802は、ディスプレイ801への画面表示制御を行う。入力デバイス803は、文字などを入力したり、GUI(Graphical User Interface)におけるアイコンやボタンなどを指し示すためなどに用いられる。具体的には、キーボード、マウス、トラックボール、ジョイスティック、タッチパネルなどが含まれる。CPU(Central Processing Unit)804はPC200全体の制御を司る。
ROM(Read Only Memory)805はCPU804が実行するプログラムやパラメータ等を記憶している。RAM(Random Access Memory)806は各種プログラムをCPU804が実行するときのワークエリア、エラー処理時の一時退避エリア等として用いられる。
ハードディスクドライブ(HDD)807、リムーバブルメディアドライブ(RMD)808は、PC200の記憶装置として機能する。リムーバブルメディアドライブ808は、取り外し可能な記録媒体の読み書き又は読み出しを行う装置であり、フレキシブルディスクドライブ、光ディスクドライブ、光磁気ディスクドライブ、メモリカードリーダはもとより、取り外し式HDDなどであってもよい。
なお、本実施形態におけるPC200の各種機能を実現するプログラムは、ROM805、HDD807、RMD808の1つ以上に記憶される。また、OS、ブラウザ等のアプリケーションプログラム、データ、ライプラリ等もその用途に応じてROM805、HDD807、RMD808(の記録媒体)の1つ以上に記憶される。
拡張スロット809は、例えばPCI(Peripheral Component Interconnect)バス規格に準拠した拡張カード装着用スロットであり、ビデオキャプチャボードや、サウンドボード、GPIBボードなど、様々な拡張ボードを装着することが可能である。
外部インタフェース810は、USB2.0等のUSB(Universal Serial Bus)規格に準拠した通信インタフェースであり、無線アダプタ300とUSBにより接続される。
ネットワークインタフェース811は、IEEE802.3x規格(xはi, u, z, ab)等に準拠した有線通信機能を有する。バス812はアドレスバス、データバスおよび制御バスからなり、上述した各ユニット間を接続する。
(デジタルカメラ100の構成)
図2は、本実施形態におけるデジタルカメラ100の構成例を示すブロック図である。
図2において、撮像部105は、レンズ部、撮像素子、駆動回路等から構成される。撮像素子には、CCDイメージセンサ、CMOSイメージセンサを用いることができる。画像処理部104は、撮影した画像(静止画、動画の何れか)の画像データ等を処理する。CPU(Central Processing Unit)103は、プログラムメモリ110が記憶する制御プログラム等を用いて、デジタルカメラ100の動作を制御する。
第1記憶部106は、DRAM等から構成され、撮影された画像の画像データを保持する。第2記憶部107は、フラッシュメモリ等から構成され、デジタルカメラ100に関する様々な設定を記憶する。操作部108は、スイッチ、ボタン等の操作部材を有し、デジタルカメラ100のユーザインターフェースを提供する。表示部109は、LCD(液晶表示器)等から構成され、撮影された画像の縮小画像を表示する。また、表示部109は、デジタルカメラ100に関する設定、状態、警告等をマーク、アイコン、メッセージで表示する。
プログラムメモリ110は、デジタルカメラ100の動作を制御する制御プログラム等を記憶した不揮発性メモリである。メモリカード111は、取り外し可能な記憶媒体の一例である。メモリカードには、SDメモリカード、コンパクトフラッシュ(登録商標)などを用いることができる。なお、デジタルカメラ100に用いる記憶媒体は、メモリカードに限るものではなく、リムーバブルハードディスクなどを用いることも可能である。
通信制御部102は、USB Device部1021と、無線通信部1022とを有する。USB Device部1021は、USB2.0等のUSB規格に準拠したものであり、USBを用いたデータ通信を制御する。また、USB Device部1021は、デジタルカメラ100をUSBデバイスとして動作させるUSBデバイスコントローラモジュールを有する。無線通信部1022は、少なくともIEEE802.11bに準拠したものであり、無線LANを用いたデータ通信を制御する。本実施形態では、USB Device部1021と無線通信部1022とを排他的に動作するように構成するが、同時に動作するように構成しても良い。なお、本実施形態において、USBを用いたデータ通信は有線通信であり、無線LANを用いたデータ通信は無線通信である。
なお、デジタルカメラ100は、第2記憶部107の一部をメモリカード111のように使用してもよい。この場合、メモリカード111がデジタルカメラ100に装着されていない場合であっても、デジタルカメラ100は第2記憶部107を記憶媒体として静止画又は動画を撮影することができる。
図4は、本実施形態におけるデジタルカメラ100に実装されるソフトウェアモジュールとその関連、動作を説明する図である。図4に示す各ソフトウェアモジュールは、プログラムメモリ110の中のプログラム記憶領域に格納されている。なお、図4に示すモジュールのうち、1つ以上がハードウェアによって実現されても良い。
USB Driver 401は、USB Device部1021を制御し、PC200等の外部装置とのUSB接続を行う際に利用されるモジュールである。USB Driver 401はUSBイメージングクラス(イメージクラス)ドライバとして機能するモジュールである。PTP Transport For USB 402は、イメージングクラスで利用されるPTP(Picture Transfer Protocol)のトランスポート層に相当する部分を提供するモジュールである。ここではPTPの仕様とUSB固有の仕様を理解し、必要なトランスポートを行う。このUSB Driver 401とPTP Transport For USB 402により、USBで外部装置と接続した場合に、ホスト側がイメージングデバイスを利用可能な環境であれば、USBバスの構成までは完了する。
PTP FrameWork 406はUSBホストから送られてくる各種PTPオペレーションを処理したり、デバイスからのPTPイベントをホストに送信するためのフレームワークを提供するモジュールである。
ここではトランスポート層での差異はすでに隠蔽されており、PTP FrameWork 406は、USBと無線LANとの違いを意識することはない。
PictBridge App 407はデジタルカメラとプリンタをUSBで直接接続して動作させる規格であるピクトブリッジに準拠した動作を実現するためのアプリケーションモジュールである。また、File Transfer App 408は外部装置からファイル転送を要求された場合に応答して動作するアプリケーションモジュールである。
これらのアプリケーションモジュールは前述したPTP FrameWork 406のインターフェースを利用して動作する。
Wireless LAN Driver 403は、無線LAN用のドライバとして機能するモジュールである。これは図2の無線通信部1022を制御するために利用される。TCP/IP 404はネットワークでは汎用的なTCP/IPプロトコルを実現するためのモジュールであり、パケットをWireless LAN Driver 403を介して外部装置との間で交換する。
PTP Transport For TCP/IP 405は、USBと同様にイメージングクラスで利用されるPTPのトランスポート層に当たる部分を提供するモジュールである。ここではPTPの仕様とTCP/IP固有の仕様を理解し、必要なトランスポートを行う。具体的には上位プロトコルにあたるPTPのデータをTCP上で伝送するためのパケッティングや、TCPからのパケットをPTPデータに復元するアンパケッティングなどを含む。
PTP Transport For TCP/IP 405と、PTP Transport For USB 402を介することで、PTP FrameWork 406からみるとUSBも無線LANも等価に扱える構成となっている。PTP FrameWork 406上で動作するPictBridge App 407、File Transfer App 408も、外部装置がUSB、無線LANいずれを介して接続されるかを意識することなく動作可能である。
このように、本実施形態におけるデジタルカメラ100は、対向する接続相手が無線通信対応のPTPトランスポートを理解できるように構成されていれば、USBでの有線接続時と同等の機能を無線通信においても提供可能となる。
(無線アダプタ300の構成)
図3は、本実施形態における無線アダプタ300の構成例を示すブロック図である。
無線アダプタ300は、CPU(Central Processing Unit)301と、DRAM等から構成された第1記憶部303と、LED等から構成された表示部305とを有する。さらに、無線アダプタ300の動作を制御する制御プログラム等を記憶したプログラムメモリ304と、外部とのデータ通信を管理する通信制御部302を有する。
通信制御部302は、USB Device部3021と、無線通信部3022とを有する。USB Device部3021は、USB2.0等のUSB規格に準拠したものであり、USBを用いたデータ通信を制御する。無線通信部3022は、少なくともIEEE802.11bに準拠したものであり、無線LANを用いたデータ通信を制御する。USB Device部3021はPC200との通信に使用されるものであり、無線通信部3022はデジタルカメラ100との通信に使用されるものである。本実施形態では、USB Device部3021と無線通信部3022とを同時に動作できるように構成する。これにより、無線アダプタ300は、デジタルカメラ100と無線LANで通信しながら、PC200とUSBで通信することができる。
USB Device部3021は、USB Device部1021と同様に、無線アダプタ300をUSBデバイスとして動作させるUSBデバイスコントローラモジュールを有する。
図5は、本実施形態における無線アダプタ300に実装されるソフトウェアモジュールとその関連、動作を説明する図である。図5に示す各ソフトウェアモジュールは、プログラムメモリ304の中のプログラム記憶領域に格納されている。なお、図5に示すモジュールのうち、1つ以上がハードウェアによって実現されても良い。
USB Driver 501は、USB Device部3021を制御し、PC200等の外部装置とのUSB接続を行う際に利用されるモジュールである。USB Driver 501は、USBイメージングクラス(イメージクラス)ドライバとして機能するモジュールである。PTP Transport For USB 502は、イメージングクラスで利用されるPTP(Picture Transfer Protocol)のトランスポート層に相当する部分を提供するモジュールである。ここではPTPの仕様とUSB固有の仕様を理解し、必要なトランスポートを行う。このUSB Driver 501とPTP Transport For USB 502により、USBで外部装置と接続した場合に、ホスト側がイメージングデバイスを利用可能な環境であれば、USBバスの構成までは完了する。
Wireless LAN Driver 503は、無線LAN用のドライバとして機能するモジュールである。これは図3の無線通信部3022を制御するために利用される。TCP/IP 504はネットワークでは汎用的なTCP/IPプロトコルを実現するためのモジュールであり、パケットをWireless LAN Driver 503を介して外部装置との間で交換する。
PTP Transport for TCP/IP 505は、USBと同様にイメージングクラスで利用されるPTPのトランスポート層に当たる部分を提供するモジュールである。ここではPTPの仕様とTCP/IP固有の仕様を理解し、必要なトランスポートを行う。具体的には上位プロトコルにあたるPTPのデータをTCP上で伝送するためのパケッティングや、TCPからのパケットをPTPデータに復元するアンパケッティングなどを含む。
モジュール503〜505により、無線アダプタ300は前述したデジタルカメラ100と無線通信を確立することが可能となる。
PTP Filter 506は、Device Simulator App 507の制御に従い、USBホストから送られてくる各種PTPオペレーションをDevice Simulator App 507又はPTP Transport for TCP/IP 505に受け渡すモジュールである。
すなわち、USB Device3021に外部装置であるPC200が接続され、かつデジタルカメラ100との無線接続が確立している状態において、PC200からデジタルカメラ100への通信データを無線通信装置によりデジタルカメラ100へ送信させる。また、同時にデジタルカメラ100からPC200への通信データをUSB Device3021によりPC200へ送信させる機能を有する。
Device Simulator App 507は、USBホストに対して、無線アダプタ300がデジタルカメラに見えるよう、デジタルカメラ100の動作をシミュレートするためのアプリケーションモジュールである。具体的には、USB Device3021に外部装置であるPC200が接続され、かつデジタルカメラ100との無線接続が確立していない状態において、PC200からデジタルカメラ100に対する通信に対し、デジタルカメラ100として代理応答する。
Device Simulator App 507は、無線通信部3022を介してデジタルカメラが接続されているかどうかの状態を表すカメラ接続状態情報を保持する機能も有する。Device Simulator App 507は、前述したPTP Filter 506を介して通知される接続情報に基づいて、このカメラ接続状態情報の状態を遷移させる。そして、カメラが無線接続されているときと、そうでないときで、PTP Filter 506によるオペレーションの受け渡し先を変更する。
図6は第1の実施形態における無線アダプタ300の動作を、デジタルカメラ100及びPC200との動作と共に示したシーケンス図である。これを基に接続、切断を含めた無線アダプタ300のシミュレーション動作を説明する。
まず、無線アダプタ300がPC200のUSBインタフェースに接続される(S601)。そして、イメージングクラスドライバであるUSB Driver501と、PTP Transport For USB502の動作により、無線アダプタ300はPC200に対してイメージングデバイスとしてUSBバス上にコンフィグレーションされる(S602)。このコンフィグレーション動作が完了した後に、無線アダプタ300は、自身の無線通信部3022に通電し、さらにWireless LAN Driver 503、TCP/IP 504などの無線通信用モジュールを初期化して動作可能とする。
PC200には、PTPを標準でサポートしたOSが稼働しており、デジタルカメラ(イメージングクラスデバイス)が接続されると、PC200でデジタルカメラを取り扱うために必要なPTPオペレーションを実行するように構成されている。
そのため、デジタルカメラと同じイメージングクラスのデバイスとしてUSBバス上に構成された無線アダプタ300に対しても、デジタルカメラが接続された際と同様のPTPオペレーション(コマンド)群を発行してくる。たとえばそれらは、PTPにおけるレスポンダである無線アダプタ300の情報を要求するGetDeviceInfoオペレーション(S603)であり、その後に発行されるセッション開始のためのOpenSessionオペレーション(S604)である。さらに、レスポンダで有効なStorageIDを要求するGetStorageIDsオペレーション(S605)、StorageIDで特定したメディアの状態を要求するGetStorageInfoオペレーション(S606)などがそれに引き続き発行される。
そしてこれらのオペレーションは、PTP Filter 506がフィルタリングし、全てDevice Simulator App 507に渡される。この時点では、まだ無線アダプタ300はデジタルカメラ100と無線で接続されていないので、Device Simulator App 507の中の無線カメラ状態保持手段には未接続として保持されている。この状態の場合、S603、S604,S605,S606の各オペレーションに対しては、このDevice Simulator App 507が実際のデジタルカメラ100に代わって応答を行う。
ここで、Device Simulator App 507の応答内容については、オペレーション発行元であるPC200が正常なデジタルカメラからの応答として処理可能な内容であり、かつデジタルカメラ100の実体と矛盾しない内容であればよい。ただし、前述したように、この時点ではまだ実際のデジタルカメラ100は無線接続されていないため、破綻を来さない範囲を超えた応答が要求されるオペレーションがPC200から発行されないようにすることが必要である。
そのため、前述したオペレーション群の中で、特にGetStorageIDsオペレーション(S605)、GetStorageInfoオペレーション(S606)については、ストレージが装着されていない状態として応答するようにDevice Simulator App 507が動作する。
具体的には、Device Simulator App 507は、GetStorageIDsオペレーション(S605)に対しては適当な数のStorageID(有効な論理ストア毎に割り振られる)を応答する(S605’)。これに対し、PC200は、応答したStorageIDのいずれかを指定したGetStorageInfoオペレーション(S606)を発行してくるので、指定されたストアが利用できない(Store_Not_Available等)を応答すればよい(S606’)。
このような応答を行うことで、PC200ではこの時点でデジタルカメラが正常にUSB接続されているが、カメラ内には画像情報等が存在しないと認識する。従って、実際のデジタルカメラ100が必要な情報を要求するオペレーションは発行してこず、デジタルカメラ100が無線接続されていなくても支障がない状態となる。
この状態でユーザ操作により、デジタルカメラ100が無線通信可能な状態とされると(S607)、無線アダプタ300とデジタルカメラ100とが、PTPの階層で論理的に接続される(S608)。この接続は、デジタルカメラ100内のPTP Transport for TCP/IP 405以下のモジュールと、無線アダプタ300内のPTP Transport for TCP/IP 505以下のモジュールとがそれぞれリンクできるように設計されているために実現できる。
具体的には、Wireless LAN Driver 403とWireless LAN Driver 503との間ではIEEE802.11b準拠のプロトコルによりコネクションされる。また、TCP/IP 404とTCP/IP504との間では、汎用的なTCP/IPプロトコルによりリンクされる。また、PTP Transport For TCP/IP 405とPTP Transport For TCP/IP 505との間では、PTP/IPというFotonation社が提唱しているPTPのTCP/IPトランスポートプロトコルを利用している。
このようにして無線アダプタ300とデジタルカメラ100が無線接続されると、Device Simulator App 507は、自身の無線カメラ状態情報に保持された状態を、無線接続中に遷移させる。そしてPC200に対してカメラ内のストレージの情報が変わったことを通知するStorageInfoChangedイベントを発行する(S609)。これはPTPの標準イベントであり、通常の有線USB接続時でも扱われるイベントである。従って、このイベントを受信したPC200は、その内容変更を取得するため、通常GetStorageInfoオペレーション(S610)や、ストレージ内のオブジェクト数を要求するGetNumObjectsオペレーション(S612)などを発行する。
Device Simulator App 507は自身が保持する無線カメラ状態情報が無線接続中を示している場合には、PC200から発行されたPTPオペレーションを、無線接続されているデジタルカメラ100に渡すようPTP Filter 506に指示する。そのため、StorageInfoChangedイベントに応答してPC200から発行されるGetStorageInfoオペレーション(S610)はPTP Transport for TCP/IP 505へ渡される。そして、PTPIPに基づいた形式に変換され、TCP/IP 504、Wireless LAN Driver 503を介してデジタルカメラ100に送られる(S611)。
このように、PC200との有線接続とデジタルカメラの無線接続の両方が確立している間、モジュール501〜506は有線通信と無線通信のプロトコル変換機能を提供する。
デジタルカメラ100はこのオペレーションを受けてカメラ内の実際のストレージ情報を無線アダプタ300に返す(S611’)。無線アダプタ300のPTP Filter 506は、この応答をモジュール503〜505を通じて受信すると、USB Transport For USB 501に応答データを渡す。そして、モジュール502、501を通じ、USB経由でPC200に送信する。
これにより、PC200では、実際にデジタルカメラ100内にあるストレージの情報を反映した状態を構築することができる。GetNumObjectsオペレーション(S612)についても同様で、無線アダプタ300により、オペレーションはデジタルカメラ100に送られ(S613)、カメラからの応答はPC200に送信される。
こうすることで、PC200からみれば、USB接続によりデジタルカメラが接続された状態とまったく同じ状態が構築されているため、従来、USB接続を前提として動作していたアプリケーションをそのまま利用することが可能である。
その後、デジタルカメラ100の無線通信がユーザ操作によりOFFにされる(S614)と、デジタルカメラ100から無線アダプタ300に対して無線切断イベントが発行される。これに応答して無線切断処理(S615)を無線アダプタ300で実行する。この処理において、Device Simulator App 507は無線カメラ状態情報に保持された状態を再度未接続状態に戻す。そして、Device Simulator App 507はPTP Filter 506に対し、PC200から発行されるオペレーションをPTP Transport for TCP/IP 505ではなく、Device Simulator App 507へ送信するように指示する。
そして、PC200に対して再度StorageInfoChangedイベントを発行する(S616)。これは前述したようにPTPの標準イベントであり、従来のUSB接続でも扱われるイベントである。そのため、このイベントを受信したPC200は、その内容変更を反映するために再度GetStorageInfoオペレーション(S617)を無線アダプタ300に対して発行する。しかしこのときはすでに無線未接続状態のため、前述した最初の段階と同様に、このオペレーションはDevice Simulator App 507に渡され、Device Simulator App 507はカメラのストレージが無いとの代理応答を行う(S617’)。
もしユーザがPC200から無線アダプタ300を取り外した場合(S618)、無線アダプタ300はそれを受けて無線通信部3022の給電を停止し、無線関連モジュールを停止する。
このように、本実施形態における無線アダプタ300は、デジタルカメラ100との無線接続が確立しない間は、有線通信機能を有する外部装置に対してデジタルカメラ100として振る舞い、デジタルカメラ100との無線接続が確立された後は外部装置とデジタルカメラ100との通信を橋渡しする。そのため、外部装置上で稼働する、デジタルカメラ100の有線接続を前提としたソフトウェアをそのまま用いて、無線接続されたデジタルカメラ100を取り扱うことができる。
そのため、無線通信機能を有さないPC200においても、本実施形態における無線アダプタ300を接続すれば、新たなソフトウェアのインストールなどを行うことなく、無線通信機能を有するデジタルカメラ100を利用可能となる。
さらに、既に無線ネットワークを構築しているPC200においても、デジタルカメラ100とPC200の無線通信は無線アダプタ300を利用して行うことができる。そのため、難しい無線ネットワーク設定等を既存無線ネットワークとあわせる必要もなく、簡単で柔軟な無線通信環境を構築できる。
なお、本実施形態では、デジタルカメラ100との無線接続の確立時及び切断時に、無線アダプタ300がPC200に対してストレージの情報が変化したことを通知するPTPイベントを発行した。しかし、その代わりにデバイス(カメラ)自身の情報が変化したことを通知するPTPイベント(DeviceInfoChangedイベント)を発行してもよい。
<第2の実施形態>
次に、第1の実施形態の変形例である第2の実施形態を説明する。第2の実施形態は第1の実施形態の変形例であるので、第1の実施形態と同様の部分については同一の参照番号を付し、その説明を省略する。
図7は、第2の実施形態における無線アダプタ300の動作を説明するシーケンスチャートである。図7において、図6と同じ手順については同じ参照番号を付した。
デジタルカメラ100、PC200及び無線アダプタ300の構成は前述した第1の実施形態と同様でよく、PC200が発行するオペレーションと、それに対するDevice Simulator App 507の応答方法が異なる。
無線アダプタ300がPC200に接続されてから、セッションが確立するまでの手順(S601〜S604)は第1の実施形態と同様である。
しかし、本実施形態では、セッションが確立してからPC200が発行するオペレーションが、GetStroageIDsオペレーションではなく、IsCameraオペレーションである点で異なる(S705)。このオペレーションは無線アダプタ300がデジタルカメラ100と接続状態にあるかどうかを確認するオペレーションである。このこの時点ではまだ無線アダプタ300とデジタルカメラ100との無線接続は確立していないため、IsCameraオペレーションはDevice Simulator App 507へ渡される。
そして、Device Simulator App 507は、カメラ100がまだ接続されていないことを応答する(S705’)。これにより、PC200は、デジタルカメラ100がまだ論理的に接続されていないと判断できるため、この時点ではカメラが存在しないものとして破綻無く処理することができる。
例えば、PC200において、カメラが認識された時点で特定の動作を行うように設定されていた場合、第1の実施形態では無線アダプタ300が接続されると、実際にカメラが存在しないのにこの特定の動作が実行されてしまう。そして、例えば「メディアが装着されていません」等のメッセージが表示されたりする。そのため、ユーザによっては誤った操作を行ったものと不安を覚える可能性がある。
これに対し、本実施形態では、カメラが実際にはまだ接続されていないことをPC200が認識できるため、そのような問題を防止できる。
この状態でユーザ操作により、デジタルカメラ100が無線通信可能状態とされると(S607)、無線アダプタ300とデジタルカメラ100とが、PTPの階層で論理的に接続される(S608)。
このようにして無線アダプタ300とデジタルカメラ100が無線接続されると、Device Simulator App 507は、PC200に対してカメラ内のストレージの情報が変わったことを通知するStorageInfoChangedイベントを発行する(S609)。なお、本実施形態においては、この時点ではまだDevice Simulator App 507が保持する、無線カメラ状態情報の状態を、無線接続中に遷移させない。
これを受けて、PC200は、IsCameraオペレーションを発行し、デジタルカメラ100と無線アダプタ300との無線接続が確立しているかどうかを調べる(S709)。Device Simulator App 507は、これに対し、無線接続が確立し、デジタルカメラ100が接続されていることを応答する(S709’)。
本実施形態では、IsCameraオペレーションを受信すると、Device Simulator App 507が自身の無線カメラ状態情報に保持された状態を、無線接続中に遷移させる。そして、以降、PC200から発行されたPTPオペレーションを、無線接続されているデジタルカメラ100に渡すようPTP Filter 506に指示する。
なお、PTP Filter 506を、Device Simulator App 507からの指示とは無関係に、IsCameraオペレーションについてはDevice Simulator App 507へ渡すように構成してもよい。この場合、Device Simulator App 507が自身の無線カメラ状態情報に保持された状態を、無線接続中に遷移させるタイミングは第1の実施形態と同様であってよい。
PC200は、デジタルカメラ100の存在を確認すると、デジタルカメラ100から画像データを読み出すために必要な方法を得るためのオペレーションを発行する。これは第1の実施形態で説明したように、通常、GetStorageInfoオペレーション(S610)、GetNumObjectsオペレーション(S612)などである。
PTP Filter 506はこれらのオペレーションをPTP Transport for TCP/IP 505へ渡す。そして、これらのオペレーションはPTPIPに基づいた形式に変換され、TCP/IP 504、Wireless LAN Driver 503を介してデジタルカメラ100に送られる(S611、S613)。
デジタルカメラ100はこのオペレーションを受けてカメラ内の実際のストレージ情報を無線アダプタ300に返す(S611’)。無線アダプタ300のPTP Filter 506は、この応答をモジュール503〜505を通じて受信すると、USB Transport For USB 501に応答データを渡す。そして、モジュール502、501を通じ、USB経由でPC200に送信する。
これにより、PC200では、実際にデジタルカメラ100内にあるストレージの情報を反映した状態を構築することができる。GetNumObjectsオペレーション(S612)についても同様で、無線アダプタ300により、オペレーションはデジタルカメラ100に送られ(S613)、カメラからの応答はPC200に送信される。
こうすることで、PC200からみれば、USB接続によりデジタルカメラが接続された状態とまったく同じ状態が構築されているため、従来、USB接続を前提として動作していたアプリケーションをそのまま利用することが可能である。
その後、デジタルカメラ100の無線通信がユーザ操作によりOFFにされる(S614)と、デジタルカメラ100から無線アダプタ300に対して無線切断イベントが発行される。これに応答して無線切断処理(S615)を無線アダプタ300で実行する。この処理において、Device Simulator App 507は無線カメラ状態情報に保持された状態を再度未接続状態に戻す。そして、Device Simulator App 507はPTP Filter 506に対し、PC200から発行されるオペレーションをPTP Transport for TCP/IP 505ではなく、Device Simulator App 507へ送信するように指示する。
そして、PC200に対して再度StorageInfoChangedイベントを発行する(S616)。PC200はこれに応答してIsCameraオペレーションを発行し、カメラがアダプターと無線接続が確立しているかどうかを調べる(S717)。このオペレーションはDevice Simulator App 507に渡され、Device Simulator App 507はカメラが存在しないとの応答を行う(S717’)。
もしユーザがPC200から無線アダプタ300を取り外した場合(S618)、無線アダプタ300はそれを受けて無線通信部3022の給電を停止し、無線関連モジュールを停止する。
以上説明したように、本実施形態によれば、第1の実施形態の効果に加え、第1の実施形態よりもさらに有線接続の状態に近い動作をPC200に提供することができる。
なお、本実施形態においても、第1の実施形態と同様、デジタルカメラ100との無線接続の確立時及び切断時に、無線アダプタ300がPC200に対してストレージの情報が変化したことを通知するPTPイベントを発行した。しかし、その代わりにデバイス(カメラ)自身の情報が変化したことを通知するPTPイベント(DeviceInfoChangedイベント)を発行してもよい。
また、本実施形態では、デジタルカメラ100の接続時及び切断時に、Device Simulator App 507が、
1)DeviceInfoChangedイベントを発行、
2)デジタルカメラ100の存在有無を確認するオペレーションの発行を待機、
3)発行されたオペレーションに対して接続状態を応答、
という手順により、PC200へデジタルカメラ100の存在有無(接続有無)を通知した。
しかしながら、Device Simulator App 507が、自身が保持する無線カメラ状態情報を参照して、DeviceInfoChangedイベントの代わりに、無線デジタルカメラ接続イベントや無線デジタルカメラ切断イベントを直接PC200に送信するようにしても同様な効果が得られる。

Claims (6)

  1. 第1の装置と通信を行う有線通信手段と、
    第2の装置と通信を行う無線通信手段とを備え、
    前記有線通信手段と前記第1の装置との通信が可能で、かつ前記無線通信手段と前記第2の装置との通信が可能でない状態において、前記第1の装置から前記第2の装置へのコマンドを受信した場合、前記第2の装置からの応答であることを示す第1の応答を生成し、前記第1の応答を前記第1の装置へ送信することを特徴とする無線通信装置。
  2. 前記有線通信手段と前記第1の装置との通信が可能で、かつ前記無線通信手段と前記第2の装置との通信が可能な状態において、前記第1の装置から前記第2の装置へのコマンドを前記有線通信手段が受信した場合、前記受信したコマンドを前記第2の装置に送信し、前記第2の装置に送信したコマンドに対する前記第2の装置からの第2の応答を前記無線通信手段が受信した場合に、前記第2の応答を前記第1の装置に送信することを特徴とする請求項1に記載の無線通信装置。
  3. 前記無線通信装置は、前記第1の装置から取り外し可能であることを特徴とする請求項1または2に記載の無線通信装置。
  4. 前記有線通信手段と前記第1の装置との通信が切断された場合に、前記無線通信手段による通信を停止させることを特徴とする請求項1から3の何れか1項に記載の無線通信装置。
  5. 有線通信手段により第1の装置と通信を行い、
    無線通信手段により第2の装置と通信を行う通信方法であって、
    前記有線通信手段と前記第1の装置との通信が可能で、かつ前記無線通信手段と前記第2の装置との通信が可能でない状態において、前記第1の装置から前記第2の装置へのコマンドを受信した場合に、前記第2の装置からの応答であることを示す第1の応答を生成し、前記第1の応答を前記第1の装置へ送信することを特徴とする通信方法。
  6. 前記有線通信手段と前記第1の装置との通信が可能で、かつ前記無線通信手段と前記第2の装置との通信が可能な状態において、前記第1の装置から前記第2の装置へのコマンドを前記通信手段が受信した場合、前記受信したコマンドを前記第2の装置に送信し、前記第2の装置に送信したコマンドに対する前記第2の装置からの第2の応答を前記無線通信手段が受信した場合、前記第2の応答を前記第1の装置に送信することを特徴とする請求項5に記載の通信方法。
JP2011256382A 2011-11-24 2011-11-24 無線通信装置および通信方法 Expired - Fee Related JP5295341B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011256382A JP5295341B2 (ja) 2011-11-24 2011-11-24 無線通信装置および通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011256382A JP5295341B2 (ja) 2011-11-24 2011-11-24 無線通信装置および通信方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2005267692A Division JP4898175B2 (ja) 2005-09-14 2005-09-14 無線通信装置及びその制御方法

Publications (2)

Publication Number Publication Date
JP2012085322A JP2012085322A (ja) 2012-04-26
JP5295341B2 true JP5295341B2 (ja) 2013-09-18

Family

ID=46243614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011256382A Expired - Fee Related JP5295341B2 (ja) 2011-11-24 2011-11-24 無線通信装置および通信方法

Country Status (1)

Country Link
JP (1) JP5295341B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6011266B2 (ja) * 2012-11-19 2016-10-19 ブラザー工業株式会社 通信中継プログラム、通信中継方法、情報処理装置及び画像処理装置
KR20190071788A (ko) * 2016-10-26 2019-06-24 심플웨이 테크놀로지스 엘티디. 장치 상호운용성 및 동기화에 대한 시스템 및 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3045985B2 (ja) * 1997-08-07 2000-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 接続確立方法、通信方法、状態変化伝達方法、状態変化実行方法、無線装置、無線デバイス、及びコンピュータ
JP2003110452A (ja) * 2001-09-28 2003-04-11 Mitsumi Electric Co Ltd 無線信号送受信装置
JP2003209939A (ja) * 2002-01-15 2003-07-25 Nec Access Technica Ltd 代理応答機能付き電源制御装置および電源制御プログラム
JP2005072649A (ja) * 2003-08-22 2005-03-17 Ntt Docomo Inc 中継ノード、ユーザノード、通信システムおよび通信方法
JP4595496B2 (ja) * 2003-12-11 2010-12-08 セイコーエプソン株式会社 画像出力システム、画像出力装置および画像出力方法

Also Published As

Publication number Publication date
JP2012085322A (ja) 2012-04-26

Similar Documents

Publication Publication Date Title
JP4898175B2 (ja) 無線通信装置及びその制御方法
CN110312238B (zh) 信息处理装置、信息处理系统和信息处理方法
CN101573957B (zh) 用于从成像设备向远程设备传送图像的方法和装置
JP5493729B2 (ja) 撮像システムと、本体ユニットおよびこれに接続の外部電子機器
JP2004310672A (ja) データ入力装置および画像出力システム
JP5762470B2 (ja) 表示システム及び電子機器
JP2014050054A (ja) 通信制御装置、及びその制御方法
JP2009253890A (ja) 表示システム及び画像表示装置
US20050254069A1 (en) Method of providing multimedia data for direct printing, direct printing method and apparatus thereof
JP5295341B2 (ja) 無線通信装置および通信方法
US20140300763A1 (en) Recording medium and control method thereof
JP2016057865A (ja) 情報処理システム、情報処理装置、機器制御方法及びプログラム
JP2014186679A (ja) 情報処理端末、情報処理システム、印刷装置、情報処理端末の制御方法、印刷装置の制御方法、プログラム
US11606470B2 (en) Information processing apparatus, method for controlling information processing, and storage medium
US9380199B2 (en) Recording medium and control method thereof
JP5707366B2 (ja) Usb端末の制御方法及びこれを実行する装置
JP6880790B2 (ja) 処理装置、サービス提供装置、画面表示方法、およびコンピュータプログラム
US20120194543A1 (en) Image display apparatus, image display method and storage medium
JP4371692B2 (ja) 通信システムの制御方法、通信装置、通信装置の制御方法、並びにプログラム
JP2013136154A (ja) 電子黒板システム、これに用いる電子黒板装置及び携帯端末
JP2009177367A (ja) 画像形成装置、情報処理方法及びプログラム
JP2007281822A (ja) 情報通信装置
JP2024049057A (ja) 画像形成装置、その制御方法及びプログラム
JP2023027086A (ja) 情報処理装置、システム、プログラム、情報処理方法
JP2023074278A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130322

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130516

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130603

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130611

R151 Written notification of patent or utility model registration

Ref document number: 5295341

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees