(57)【要約】【課題】情報処理装置を介した複数の機器の連係動作を容易に実現する。【解決手段】情報処理装置にインストールされた第１のドライバソフトウェアを介して上記情報処理装置と連携動作するとともに、上記情報処理装置にインストールされた第２のドライバソフトウェアを介して上記情報処理装置と連携動作する外部装置とも連携動作する電子機器であって、上記情報処理装置に上記第１のドライバソフトウェアと上記第２のドライバソフトウェアのみをインストールすれば、上記外部装置と連携動作でき、上記第１のドライバソフトウェアは、上記第２のドライバソフトウェアによって呼び出し可能なアプリケーションソフトウェアとしてふるまうソフトウェア部分を含む電子機器が提供される。【選択図】図７
2015156186.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置にインストールされた第１のドライバソフトウェアを介して前記情報処理装置と連携動作するとともに、前記情報処理装置にインストールされた第２のドライバソフトウェアを介して前記情報処理装置と連携動作する外部装置とも連携動作する電子機器であって、
前記情報処理装置に前記第１のドライバソフトウェアと前記第２のドライバソフトウェアのみをインストールすれば、前記外部装置と連携動作でき、
前記第１のドライバソフトウェアは、前記第２のドライバソフトウェアによって呼び出し可能なアプリケーションソフトウェアとしてふるまうソフトウェア部分を含む電子機器。
【請求項２】
前記第１のドライバソフトウェアは、前記電子機器を前記情報処理装置に最初に接続する際に自動的に前記情報処理装置にインストールされる、請求項１に記載の電子機器。
【請求項３】
前記第２のドライバソフトウェアは、前記外部装置を前記情報処理装置に最初に接続する際に自動的に前記情報処理装置にインストールされる、請求項２に記載の電子機器。
【請求項４】
前記電子機器は、ウェアラブル装置である、請求項１に記載の電子機器。
【請求項５】
前記ウェアラブル装置は、ユーザの視界の一部に重畳する画像を提供する、請求項４に記載の電子機器。
【請求項６】
電子機器を情報処理装置と連携動作させるための第１のドライバソフトウェアを前記情報処理装置にインストールし、
外部装置を前記情報処理装置と連携動作させるための第２のドライバソフトウェアを前記情報処理装置にインストールし、
前記情報処理装置にインストールされた前記第１および前記第２のドライバソフトウェアを介して前記電子機器を前記外部装置と連携動作させ、
前記第１のドライバソフトウェアは、前記第２のドライバソフトウェアによって呼び出し可能なアプリケーションソフトウェアとしてふるまう連携動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、電子機器、および連係動作方法に関する。
【背景技術】
【０００２】
近年、情報処理装置と外部装置とを連係動作させるための技術が種々開発されている。例えば、特許文献１には、ポータブルデバイスが有線または無線通信によってホストシステムに接続される場合に、ホストシステムがポータブルデバイスのドライバを有していないと判断された場合、またはホストシステムのドライバがポータブルデバイスに格納されているドライバより古いと判断された場合、ポータブルデバイスが、そこに格納されているドライバをホストシステムに自動的にインストールする技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１４−５０２４００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、例えば特許文献１に記載されたような技術は、情報処理装置を介した複数の機器の連係動作を想定していない。それゆえ、例えば、いずれもがスマートフォンと連係動作するヘッドマウントディスプレイ（ＨＭＤ）とウォッチとが存在する場合に、スマートフォンを介してＨＭＤとウォッチとを連係動作させようとすると、連係動作を実現するためのユーザの手順が煩雑になるなどの状況が生じていた。
【０００５】
そこで、本開示では、情報処理装置を介した複数の機器の連係動作を容易に実現することが可能な、新規かつ改良された電子機器、および連係動作方法を提案する。
【課題を解決するための手段】
【０００６】
本開示によれば、情報処理装置にインストールされた第１のドライバソフトウェアを介して上記情報処理装置と連携動作するとともに、上記情報処理装置にインストールされた第２のドライバソフトウェアを介して上記情報処理装置と連携動作する外部装置とも連携動作する電子機器であって、上記情報処理装置に上記第１のドライバソフトウェアと上記第２のドライバソフトウェアのみをインストールすれば、上記外部装置と連携動作でき、上記第１のドライバソフトウェアは、上記第２のドライバソフトウェアによって呼び出し可能なアプリケーションソフトウェアとしてふるまうソフトウェア部分を含む電子機器が提供される。
【０００７】
また、本開示によれば、電子機器を情報処理装置と連携動作させるための第１のドライバソフトウェアを上記情報処理装置にインストールし、外部装置を上記情報処理装置と連携動作させるための第２のドライバソフトウェアを上記情報処理装置にインストールし、上記情報処理装置にインストールされた上記第１および上記第２のドライバソフトウェアを介して上記電子機器を上記外部装置と連携動作させ、上記第１のドライバソフトウェアは、上記第２のドライバソフトウェアによって呼び出し可能なアプリケーションソフトウェアとしてふるまう連携動作方法が提供される。
【０００８】
電子機器を情報処理装置と連係動作させるための第１のドライバソフトウェアが、外部装置を情報処理装置と連係動作せるための第２のドライバソフトウェアによって呼び出し可能なアプリケーションソフトウェアとしてふるまうことによって、情報処理装置において連係動作のための別途のアプリケーションソフトウェアのインストールが不要となり、連係動作の実現が容易になる。
【発明の効果】
【０００９】
以上説明したように本開示によれば、情報処理装置を介した複数の機器の連係動作を容易に実現することができる。
【００１０】
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
【図面の簡単な説明】
【００１１】
【図１】本開示の一実施形態に係るシステムの概略的な構成を示す図である。
【図２】図１に示すシステムの概略的な機能構成を示すブロック図である。
【図３】本開示の一実施形態に係るシステムにおける処理シーケンスの例を示す図である。
【図４】本開示の一実施形態に係るシステムにおいてＨＭＤがスマートフォンと連携動作する場合のソフトウェアモジュールの構成例を示すブロック図である。
【図５】本開示の一実施形態に係るシステムにおいてウォッチがスマートフォンと連携動作する場合のソフトウェアモジュールの構成例を示すブロック図である。
【図６】図４および図５に示した例においてＨＭＤとウォッチとを連携動作させようとした場合の比較構成例を示すブロック図である。
【図７】本開示の一実施形態に係るシステムにおいてスマートフォンを介してＨＭＤとウォッチとを連係動作させるためのソフトウェアモジュールの構成例を示すブロック図である。
【図８】本開示の実施形態に係る電子機器のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１３】
なお、説明は以下の順序で行うものとする。
１．システム構成
２．連携動作のためのモジュール構成
３．ハードウェア構成
４．補足
【００１４】
（１．システム構成）
図１は、本開示の一実施形態に係るシステムの概略的な構成を示す図である。図２は、図１に示すシステムの概略的な機能構成を示すブロック図である。図１および図２を参照すると、システム１０は、ヘッドマウントディスプレイ（ＨＭＤ）１００と、スマートフォン２００と、サーバ３００と、ウォッチ４００とを含む。以下、それぞれの機器の構成について説明する。
【００１５】
（ヘッドマウントディスプレイ）
ＨＭＤ１００は、ディスプレイユニット１１０と、コントロールユニット１６０とを含む。ディスプレイユニット１１０は、例えば眼鏡型の筐体を有し、ユーザ（観察者）の頭部に装着される。コントロールユニット１６０は、ディスプレイユニット１１０にケーブルで接続される。
【００１６】
ディスプレイユニット１１０は、図１に示されるように、光源１１２と、導光板１１４とを備える。光源１１２は、コントロールユニット１６０の制御に従って画像表示光を射出する。導光板１１４は、光源１１２から入射した画像表示光を導光し、ユーザの眼に対応する位置で画像表示光を出射する。ユーザの眼には、実空間から入射して導光板１１４を透過する光と、導光板１１４によって光源１１２から導光された画像表示光とが入射する。これによって、ディスプレイユニット１１０を装着したユーザは、実空間に重畳される画像を知覚することができる。なお、光源１１２から導光板１１４を介して画像表示光を出射させるための構成には、例えば上述した特許４７７６２８５号公報に記載されたような技術が用いられてもよい。ディスプレイユニット１１０は、このような構成のための図示しない光学系をさらに備えてもよい。
【００１７】
さらに、ディスプレイユニット１１０は、図２に示されるように、モーションセンサ１１６、照度センサ１１８、および／またはカメラ１２０を備えてもよい。モーションセンサ１１６は、例えば、３軸加速度センサ、３軸ジャイロセンサ、および３軸地磁気センサを含む。これらのセンサによって検出されるディスプレイユニット１１０の加速度、角速度、および方位に基づいて、ディスプレイユニット１１０の姿勢や動き（変位および回転）を特定することができる。照度センサ１１８は、ディスプレイユニット１１０に入射する光の照度を検出する。カメラ１２０は、実空間の画像を撮影する。カメラ１２０によって撮影される画像は、例えば、実空間におけるユーザの視界に対応する画像として扱われる。
【００１８】
コントロールユニット１６０は、プロセッサ１６２と、メモリ１６４と、通信装置１６６と、入力キー１６８と、タッチセンサ１７０と、マイクロフォン１７２と、スピーカ１７４と、バッテリー１７６とを備える。プロセッサ１６２は、メモリ１６４に格納されたプログラムに従って動作することによって各種の機能を実現する。プロセッサ１６２は、ケーブルを介した有線通信によってディスプレイユニット１１０に制御信号を送信し、また光源１１２やモーションセンサ１１６のための電源を提供する。また、プロセッサ１６２は、ディスプレイユニット１１０に備えられるモーションセンサ１１６、およびカメラ１２０から出力されたデータを取得し、これらに基づく処理を実行する。
【００１９】
メモリ１６４は、プロセッサ１６２の動作のためのさまざまなデータを格納する。例えば、メモリ１６４は、プロセッサ１６２が各種機能を実現するためのプログラムを格納する。また、メモリ１６４は、ディスプレイユニット１１０のモーションセンサ１１６、およびカメラ１２０から出力されたデータを一時的に格納する。通信装置１６６は、スマートフォン２００との間で無線通信を実行する。無線通信には、例えばＢｌｕｅｔｏｏｔｈ（登録商標）またはＷｉ−Ｆｉなどが用いられる。入力キー１６８は、例えば戻るキーやＰＴＴ（Push  to  Talk）キーなどを含み、ＨＭＤ１００に対するユーザ操作を取得する。タッチセンサ１７０も、同様にＨＭＤ１００に対するユーザ操作を取得する。より具体的には、例えば、タッチセンサ１７０は、ユーザによるタップやスワイプなどの操作を取得する。マイクロフォン１７２は、音声を音声信号に変換し、プロセッサ１６２に提供する。スピーカ１７４は、プロセッサ１６２の制御に従って音声を出力する。バッテリー１７６は、コントロールユニット１６０およびディスプレイユニット１１０の全体に電源を供給する。
【００２０】
なお、ＨＭＤ１００では、プロセッサ１６２やマイクロフォン１７２、スピーカ１７４、バッテリー１７６などをコントロールユニット１６０に搭載し、ディスプレイユニット１１０とコントロールユニット１６０とを分離してケーブルで接続することによって、ディスプレイユニット１１０の小型化および軽量化を図っている。コントロールユニット１６０もまたユーザによって携帯されるため、可能な限り小型化および軽量化することが望ましい。そこで、例えば、プロセッサ１６２が実現する機能をディスプレイユニット１１０の制御のための最低限の機能とし、それ以外の機能についてはスマートフォン２００で実現することによって、プロセッサ１６２の消費電力の低減によるバッテリー１７６およびコントロールユニット１６０全体の小型化を図ってもよい。
【００２１】
（スマートフォン）
スマートフォン２００は、プロセッサ２０２と、メモリ２０４と、通信装置２０６，２０８と、センサ２１０と、ディスプレイ２１２と、タッチパネル２１４と、ＧＰＳ（Global  Positioning  System）受信機２１６と、マイクロフォン２１８と、スピーカ２２０と、バッテリー２２２とを備える。プロセッサ２０２は、メモリ２０４に格納されたプログラムに従って動作することによって各種の機能を実現する。上述の通り、プロセッサ２０２がＨＭＤ１００のコントロールユニット１６０が備えるプロセッサ１６２と協働して各種の機能を実現することによって、コントロールユニット１６０の小型化および軽量化が可能になる。メモリ２０４は、スマートフォン２００の動作のためのさまざまなデータを格納する。例えば、メモリ２０４は、プロセッサ２０２が各種機能を実現するためのプログラムを格納する。また、メモリ２０４は、センサ２１０やＧＰＳ受信機２１６によって取得されたデータ、およびＨＭＤ１００との間で送受信されるデータを、一時的または継続的に格納する。
【００２２】
通信装置２０６は、ＨＭＤ１００のコントロールユニット１６０が備える通信装置１６６、およびウォッチ４００が備える通信装置４０６との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）またはＷｉ−Ｆｉなどを用いた無線通信を実行する。また、通信装置２０８は、サーバ３００との間でネットワーク通信を実行する。ネットワーク通信は、例えば携帯電話網を経由して実行されてもよい。センサ２１０は、例えば加速度センサ、角速度センサ、地磁気センサ、または照度センサなどを含み、スマートフォン２００のさまざまな状態を検出する。ディスプレイ２１２は、プロセッサ２０２の制御に従って各種の画像を表示する。タッチパネル２１４は、ディスプレイ２１２上に配置され、ディスプレイ２１２に対するユーザのタッチ操作を取得する。ＧＰＳ受信機２１６は、スマートフォン２００の緯度、経度、および高度を測定するためのＧＰＳ信号を受信する。マイクロフォン２１８は、音声を音声信号に変換し、プロセッサ２０２に提供する。スピーカ２２０は、プロセッサ２０２の制御に従って音声を出力する。バッテリー２２２は、スマートフォン２００の全体に電源を供給する。
【００２３】
（サーバ）
サーバ３００は、プロセッサ３０２と、メモリ３０４と、通信装置３０６とを備える。なお、サーバ３００は、例えばネットワーク上で複数のサーバ装置が協働することによって実現されるが、ここでは説明を簡単にするために仮想的な単一の装置として説明する。プロセッサ３０２は、メモリ３０４に格納されたプログラムに従って動作することによって各種の機能を実現する。サーバ３００のプロセッサ３０２は、例えば、スマートフォン２００から受信したリクエストに応じて各種の情報処理を実行し、結果をスマートフォン２００に送信する。メモリ３０４は、サーバ３００の動作のためのさまざまなデータを格納する。例えば、メモリ３０４は、プロセッサ３０２が各種機能を実現するためのプログラムを格納する。メモリ３０４は、さらに、スマートフォン２００からアップロードされたデータを一時的または継続的に格納してもよい。通信装置３０６は、スマートフォン２００との間で、例えば携帯電話網を経由したネットワーク通信を実行する。
【００２４】
（ウォッチ）
ウォッチ４００は、プロセッサ４０２と、メモリ４０４と、通信装置４０６と、センサ４０８と、ディスプレイ４１０と、タッチパネル４１２と、バッテリー４１４とを備える。ウォッチ４００は、ＨＭＤ１００のユーザによって装着される別のウェアラブル装置の例である。システム１０は、ウォッチ４００に代えて、またはウォッチ４００とともに、ユーザの身体の他の部分に装着されるウェアラブル装置を含んでもよい。
【００２５】
プロセッサ４０２は、メモリ４０４に格納されたプログラムに従って動作することによって各種の機能を実現する。本実施形態において、プロセッサ４０２は、例えばタッチパネル４１２を介して取得されたユーザ操作を、通信装置４０６を用いてスマートフォン２００に送信し、スマートフォン２００がユーザ操作に基づいて実行した処理の結果を受信してディスプレイ４１０に表示する制御を実行する。あるいは、ウォッチ４００はＨＭＤ１００と連係動作し、プロセッサ４０２は、タッチパネル４１２を介して取得された、ＨＭＤ１００を動作させるためのユーザ操作を、通信装置４０６を介してスマートフォン２００に送信してもよい。通信装置４０６は、スマートフォン２００が備える通信装置２０６との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）またはＷｉ−Ｆｉなどを用いた無線通信を実行する。なお、通信装置４０６は、ＨＭＤ１００のコントロールユニット１６０が備える通信装置１６６と直接的に通信可能であってもよい。
【００２６】
センサ４０８は、例えば加速度センサ、角速度センサ、地磁気センサ、または照度センサなどを含み、ウォッチ４００のさまざまな状態を検出する。ディスプレイ４１０は、プロセッサ４０２の制御に従って各種の画像を表示する。タッチパネル４１２は、ディスプレイ４１０上に配置され、ディスプレイ４１０に対するユーザのタッチ操作を取得する。バッテリー４１４は、ウォッチ４００の全体に電源を供給する。
【００２７】
以上、本開示の一実施形態におけるシステム構成について説明した。なお、本実施形態において、ＨＭＤ１００は、ウェアラブル装置である電子機器の一例である。上述の通り、ＨＭＤ１００は、導光板１１４を用いて画像表示光を観察者の眼に導光することによって、ユーザの視界の一部に重畳する画像を提供する。従って、ディスプレイという用語が用いられているが、ＨＭＤ１００は必ずしも表示面に画像を結像させるものではない。もちろん、他の方式のＨＭＤとして知られているように、ＨＭＤ１００に代えて表示面に画像を結像させるタイプのＨＭＤが用いられてもよい。
【００２８】
また、上記のシステム構成は一例であり、他にもさまざまなシステム構成が可能である。例えば、ＨＭＤ１００は、必ずしもディスプレイユニット１１０とコントロールユニット１６０とに分離していなくてもよく、例えば上記で説明したＨＭＤ１００の構成の全体が、ディスプレイユニット１１０のような眼鏡型の筐体に集約されていてもよい。また、既に述べた通り、ＨＭＤ１００を制御するための機能の少なくとも一部が、スマートフォン２００で実現されてもよい。あるいは、ディスプレイユニット１１０もプロセッサを備え、ＨＭＤ１００における情報処理がコントロールユニット１６０のプロセッサ１６２とディスプレイユニット１１０のプロセッサとの協働によって実現されてもよい。
【００２９】
さらなる変形例として、システム１０がスマートフォン２００を含まず、ＨＭＤ１００とウォッチ４００、および／またはサーバ３００との間で直接的に通信が実行されてもよい。また、システム１０において、スマートフォン２００は、ＨＭＤ１００、サーバ３００、および／またはウォッチ４００との通信を実行することが可能な他の装置、例えばタブレット端末、パーソナルコンピュータ、または携帯型ゲーム機などによって代替されてもよい。
【００３０】
図３は、本開示の一実施形態に係るシステムにおける処理シーケンスの例を示す図である。図３を参照すると、まず、ウォッチ４００において、タッチパネル４１２を介してユーザ操作が入力される（Ｓ１０１）。このとき、プロセッサ４０２は、ユーザ操作の内容を示す情報を、通信装置４０６を介してスマートフォン２００に送信する（Ｓ１０３）。スマートフォン２００では、プロセッサ２０２が、通信装置２０６を介してウォッチ４００から受信した情報に基づいて、次に表示する画像の内容を判断する（Ｓ１０５）。図示していないが、このとき、プロセッサ２０２は、通信装置２０８を介してサーバ３００と通信し、次に表示する画像のために必要な情報を取得してもよい。
【００３１】
続いて、プロセッサ２０２は、通信装置２０６を介して、次に表示する画像のために必要な情報、例えばアイコンやテキストなどをＨＭＤ１００に送信する（Ｓ１０７）。ＨＭＤ１００では、プロセッサ１６２が、通信装置１６６を介してスマートフォン２００から受信した情報に基づいて、次に表示する画像（フレーム画像）を生成する（Ｓ１０９）。さらに、プロセッサ１６２は、生成されたフレーム画像のデータに基づいてディスプレイユニット１１０の光源１１２を制御し、光源１１２から射出される画像表示光によって提供される画像のフレームを更新する（Ｓ１１１）。
【００３２】
なお、上記の例では、ウォッチ４００において取得されたユーザ操作に基づいてＨＭＤ１００で画像が提供されるが、同様に、スマートフォン２００のタッチパネル２１４や、ＨＭＤ１００のコントロールユニット１６０の入力キー１６８またはタッチセンサ１７０が取得したユーザ操作に基づいてＨＭＤ１００で画像が提供されてもよい。
【００３３】
（２．連携動作のためのモジュール構成）
図４および図５は、本開示の一実施形態に係るシステム１０において、ＨＭＤ１００およびウォッチ４００がそれぞれ独立してスマートフォン２００と連携動作する場合のソフトウェアモジュールの構成例を示すブロック図である。
【００３４】
図４を参照すると、ＨＭＤ１００のプロセッサ１６２で実行されるソフトウェアモジュールは、ＨＭＤファームウェア１８１を含む。また、スマートフォン２００のプロセッサ２０２で実行されるソフトウェアモジュールは、アプリケーションソフトウェア２８１（以下、Ａｐｐソフトウェア２８１ともいう）と、ＨＭＤドライバ２８３ａとを含む。
【００３５】
ＨＭＤファームウェア１８１は、ＨＭＤ１００の動作を制御するために、メモリ１６４に予め書き込まれたプログラムである。一方、ＨＭＤドライバ２８３ａは、ＨＭＤ１００とスマートフォン２００とを連携動作させるためのドライバソフトウェアである。Ａｐｐソフトウェア２８１は、図示された例では、Ａｐｐソフトウェア２８１に、ソーシャルメディアのＡｐｐソフトウェア２８１ａ、およびメールのＡｐｐソフトウェア２８１ｂを含む。これらのＡｐｐソフトウェア２８１は、例えば、ソーシャルメディアへの投稿や受信されたメッセージをＨＭＤ１００において画像として提供したり、ＨＭＤ１００で音声入力されたテキストやカメラ１２０によって撮影された画像などを投稿または送信したりする機能を提供する。
【００３６】
ここで、スマートフォン２００のＡｐｐソフトウェア２８１は、ＨＭＤドライバ２８３ａを介して、ＨＭＤ１００でさまざまな機能を提供する。スマートフォン２００とＨＭＤ１００との間での制御コマンドやデータの送受信は、必ずＨＭＤドライバ２８３ａを経由する。ＨＭＤ２８３ａはＡｐｐソフトウェア２８１のためのＡＰＩ（Application  Programming  Interface）を提供しており、それぞれのＡｐｐソフトウェア２８１は、ＡＰＩを呼び出すことによってＨＭＤ１００に機能を実現させることができる。また、ＨＭＤ１００から送信された制御コマンドやデータは、ＨＭＤドライバ２８３ａから、対応するＡｐｐソフトウェア２８１に提供される。ＨＭＤドライバ２８３ａは、例えば、スマートフォン２００に最初にＨＭＤ１００が接続されたときに、サーバ３００から自動的にダウンロードされ、スマートフォン２００にインストールされる。
【００３７】
図５に示されるように、ウォッチ４００でも、ＨＭＤ１００と同様に、ウォッチファームウェア４８１とスマートフォン２００のウォッチドライバ２８３ｂとの間で制御コマンドやデータが送受信されることによって、Ａｐｐソフトウェア２８１によって提供されるさまざまな機能がウォッチ４００において実現される。ウォッチドライバ２８３ｂも、例えば、スマートフォン２００に最初にウォッチ４００が接続されたときに、サーバ３００から自動的にダウンロードされ、スマートフォン２００にインストールされる。
【００３８】
このように、ドライバソフトウェア２８３（ＨＭＤドライバ２８３ａおよびウォッチドライバ２８３ｂ）を介してＡｐｐソフトウェア２８１がＨＭＤ１００またはウォッチ４００での機能を実現する構成とすることによって、Ａｐｐソフトウェア２８１側では、ＨＭＤファームウェア１８１やウォッチファームウェア４８１の仕様に合わせて処理を記述しなくてもよくなり、開発が容易になる。また、ドライバソフトウェア２８３が制御コマンドやデータの送信を管理することによって、ＨＭＤ１００やウォッチ４００に予期しない制御コマンドやデータが送信されるのを防止でき、場合によってはユーザの安全に直結するウェアラブル装置であるＨＭＤ１００やウォッチ４００を安全に使用することができる。
【００３９】
図６は、図４および図５に示した例において、ＨＭＤ１００とウォッチ４００とを連携動作させようとした場合の比較構成例を示すブロック図である。なお、この比較構成例は、本開示の一実施形態に係るシステム１０における構成例の利点の理解を容易にするために示されている。
【００４０】
図６を参照すると、比較構成例においてスマートフォン２００で実行されるソフトウェアモジュールは、上記の図４および図５で説明したＨＭＤドライバ２８３ａ、ウォッチドライバ２８３ｂ、ソーシャルメディアおよびメールのＡｐｐソフトウェア２８１ａ，２８１ｂに加えて、連携動作用のＡｐｐソフトウェア２８１ｃと、アプリケーション管理ソフトウェア２８５とを含む。
【００４１】
連携動作用のＡｐｐソフトウェア２８１ｃは、スマートフォン２００を介してＨＭＤ１００とウォッチ４００とを連携動作させる。Ａｐｐソフトウェア２８１ｃは、他のＡｐｐソフトウェア２８１と同様に、ＨＭＤドライバ２８３ａのＡＰＩを呼び出すことによって、ＨＭＤ１００に機能を実現させる。また、Ａｐｐソフトウェア２８１ｃは、ウォッチドライバ２８３ｂによって提供される、ウォッチ４００から送信された制御コマンドやデータに基づいて動作する。このようなＡｐｐソフトウェア２８１ｃの動作によって、ウォッチ４００とＨＭＤ１００とがスマートフォン２００を介して連携動作し、例えばウォッチ４００のタッチパネル４１２へのユーザ操作に従って、ＨＭＤ１００の光源１１２および導光板１１４を介してユーザに提供される画像を変化させるといったようなことが可能になる。
【００４２】
アプリケーション管理ソフトウェア２８５（以下、Ａｐｐ管理ソフトウェアともいう）は、ドライバソフトウェア２８３によるＡｐｐソフトウェア２８１の呼び出しを管理する。Ａｐｐ管理ソフトウェア２８５は、例えばＡｐｐソフトウェア２８１がスマートフォン２００にインストールされたときに、それぞれのＡｐｐソフトウェア２８１に関する情報を収集し、収集された情報をデータベース２８７に登録する。収集および登録される情報は、例えば、それぞれのＡｐｐソフトウェア２８１が対応している画面サイズや、動作に必要なセンサの種類などを含みうる。ドライバソフトウェア２８３は、Ａｐｐ管理ソフトウェア２８５を介して、データベース２８７から呼び出し可能なＡｐｐソフトウェア２８１を検索する。
【００４３】
なお、Ａｐｐ管理ソフトウェア２８５は、ＨＭＤ１００およびウォッチ４００がそれぞれ独立してスマートフォン２００と連携動作する場合にも同様に機能しうるが、図４および図５では図示および説明を省略している。
【００４４】
図示された例において、データベース２８７には、ウォッチドライバ２８３ｂが呼び出し可能なＡｐｐソフトウェア２８１（ウォッチドライバ２８３ｂが使用したい機能を実現するＡｐｐソフトウェア）として、連携動作用のＡｐｐソフトウェア２８１ｃが登録されている。従って、例えば、スマートフォン２００において、ウォッチ４００で所定の操作を実行した場合の連携動作として、ＨＭＤ１００に所定の動作をさせることを選択することが可能である。より具体的には、連係動作にあたり、ウォッチドライバ２８３ｂは連係動作用のＡｐｐソフトウェア２８１ｃを呼び出し、Ａｐｐソフトウェア２８１ｃがＨＭＤドライバ２８３ａのＡＰＩを呼び出すことによって、ＨＭＤ１００がウォッチ４００での操作入力に従って動作する。
【００４５】
しかしながら、上記の比較構成例の場合、ウォッチ４００とＨＭＤ１００とを連係動作させるためには、それぞれのドライバソフトウェア２８３に加えて、連係動作用のＡｐｐソフトウェア２８１ｃが必要である。Ａｐｐソフトウェア２８１ｃは、ドライバソフトウェア２８３とは別個のソフトウェアであるために、ユーザによって別途スマートフォン２００にダウンロードされる必要がある。従って、ＨＭＤ１００やウォッチ４００がスマートフォン２００に接続されたときに自動的にダウンロードされるドライバソフトウェア２８３と比べると、利用可能になるためにはユーザの操作手順が必要であり煩雑である。場合によっては、ユーザがＡｐｐソフトウェア２８１ｃの存在に気付かず、ウォッチ４００とＨＭＤ１００との連係動作が可能であるにもかかわらず、連係動作に関する機能が使用されないまま忘れられる可能性もある。
【００４６】
また、上記の比較構成例の場合、ＨＭＤドライバ２８３ａのＡＰＩを呼び出し可能なのは、連係動作用のＡｐｐソフトウェア２８１ｃだけではない。他のＡｐｐソフトウェア２８１、例えばソーシャルメディアやメールのＡｐｐソフトウェア２８１ａ，２８１ｂも、同様にＨＭＤドライバ２８３ａのＡＰＩを呼び出し可能である。例えばＨＭＤ１００において提供される画像の制御は、場合によってはユーザの視界を遮蔽し、ユーザの安全に影響を及ぼす。従って、ウォッチ４００との連係動作によってＨＭＤ１００の画像を自由に制御するためのＡＰＩをＨＭＤドライバ２８３ａが提供する場合、他のＡｐｐソフトウェア２８１を第三者が自由に開発および提供できるようにすることにはリスクがある。
【００４７】
そこで、本実施形態では、以下で図７を参照して説明するようなモジュール構成を採用することによって、ウォッチ４００とＨＭＤ１００との連係動作を、容易かつ安全に実現することを可能にする。
【００４８】
図７は、本開示の一実施形態に係るシステム１０において、スマートフォン２００を介してＨＭＤ１００とウォッチ４００とを連係動作させるためのソフトウェアモジュールの構成例を示すブロック図である。
【００４９】
図７を参照すると、本実施形態においてスマートフォン２００で実行されるソフトウェアモジュールは、上記の図４および図５で説明したＨＭＤドライバ２８３ａ、ウォッチドライバ２８３ｂ、ソーシャルメディアおよびメールのＡｐｐソフトウェア２８１ａ，２８１ｂに加えて、アプリケーション管理ソフトウェア２８５を含む。さらに、図示された例では、ＨＭＤドライバ２８３ａに、ソフトウェア部分２８９が含まれている。以下では、上記の図６の例との相違点であるソフトウェア部分２８９について、特に説明する。
【００５０】
ソフトウェア部分２８９は、ＨＭＤドライバ２８３ａの一部である。従って、ソフトウェア部分２８９は、ＨＭＤドライバ２８３ａがスマートフォンにダウンロードされるときに、一緒にダウンロードされる。ソフトウェア部分２８９は、ドライバソフトウェア２８３の一部ではあるが、ドライバソフトウェア２８３によって呼び出し可能なアプリケーションソフトウェアとしてふるまう。つまり、ソフトウェア部分２８９は、Ａｐｐ管理ソフトウェア２８５に対して情報を提供し、提供された情報はデータベース２８７に登録される。上記の通り、提供および登録される情報は、対応している画面サイズや、動作に必要なセンサの種類などを含みうる。
【００５１】
図示された例において、データベース２８７には、ウォッチドライバ２８３ｂが呼び出し可能なＡｐｐソフトウェア２８１（ウォッチドライバ２８３ｂが使用したい機能を実現するＡｐｐソフトウェア）として、ＨＭＤドライバ２８３ａのソフトウェア部分２８９が登録されている。従って、上記の図６の例と同様に、スマートフォン２００において、ウォッチ４００で所定の操作を実行した場合の連係動作として、ＨＭＤ１００に所定の動作をさせることを選択することが可能である。図中でより具体的には、連係動作にあたり、ウォッチドライバ２８３ｂはソフトウェア部分２８９を呼び出す。この場合、ソフトウェア部分２８９はＨＭＤドライバ２８３ａの一部であるため、ＨＭＤドライバ２８３ａのＡＰＩを利用することなく、ＨＭＤ１００をウォッチ４００での操作入力に従って動作させることが可能である。
【００５２】
本実施形態の構成では、ウォッチ４００とＨＭＤ１００とを連係動作させるために、それぞれのドライバソフトウェア２８３、つまりＨＭＤドライバ２８３ａおよびウォッチドライバ２８３ｂがあればよい。ソフトウェア部分２８９はＨＭＤドライバ２８３ａとともにダウンロードされるため、ユーザによる別途のダウンロードの手順は必要とされず、またユーザが存在に気付かない可能性もない。従って、例えば上記の図６の比較構成例と比べて、ウォッチ４００とＨＭＤ１００との連係動作を容易に実現することができる。
【００５３】
また、本実施形態の構成では、ウォッチドライバ２８３ｂが、ＨＭＤドライバ２８３ａの一部であるソフトウェア部分２８９を呼び出すことによって、ＨＭＤドライバ２８３ａのＡＰＩを利用することなく連係動作が実現される。それゆえ、ＨＭＤドライバ２８３ａは、ウォッチ４００との連係動作によってＨＭＤ１００の画像を自由に制御するためのＡＰＩを提供する必要がない。従って、例えば他のＡｐｐソフトウェア２８１を第三者が自由に開発および提供することが許容されている場合であっても、安全にウォッチ４００とＨＭＤ１００との連係動作を実現することができる。
【００５４】
以上で説明したような本実施形態に係るソフトウェアモジュールの構成は、例えば、ＨＭＤ１００とウォッチ４００とがシステム１０に順次追加される場合に有効でありうる。より具体的には、ウォッチ４００が先にシステム１０に追加されており、その後にＨＭＤ１００がシステム１０に追加される場合、ウォッチドライバ２８３ｂは、ＨＭＤドライバ２８３ａの存在を前提とせずに製造されている。このような場合、連係動作を実現するために、ＨＭＤドライバ２８３ａと直接やりとりするようにウォッチドライバ２８３ｂを書き換えることも考えられるが、スマートフォン２００のようなクライアント装置にドライバソフトウェア２８３がインストールされている場合、ソフトウェアの更新はユーザ操作を介して実行されるため、確実に実行することが難しい。例えば図６に示した比較構成例（ドライバソフトウェア２８３がＡｐｐソフトウェア２８１を呼び出す）は、このような場合に個々のドライバソフトウェア２８３を書き換えずに機能の拡張を実現するために有効であるが、上述のように別途のソフトウェアをダウンロードすることが煩雑であったり、Ａｐｐソフトウェア２８１を第三者開発可能とすることにリスクがあったりする。
【００５５】
これに対して、本実施形態では、後から追加されるＨＭＤドライバ２８３ａが、既存のウォッチドライバ２８３ｂとの連係動作を前提としたソフトウェア部分２８９を有する。これによって、機能の拡張が容易にでき、またＡｐｐソフトウェア２８１を第三者開発可能とすることも可能であるという比較構成例の利点を維持しつつ、容易かつ安全にウォッチ４００とＨＭＤ１００との連係動作を実現することができる。
【００５６】
なお、上記の例では、Ａｐｐ管理ソフトウェア２８５が、ドライバソフトウェア２８３によるＡｐｐソフトウェア２８１の呼び出しを管理しているが、本開示の実施形態はこのような例には限られない。ドライバソフトウェア２８３とＡｐｐソフトウェア２８１とが決まったプロトコルで情報交換すれば、管理ソフトウェア２８５がなくても同等の機能を実現することができる。
【００５７】
また、上記の例において、ＨＭＤ１００は、スマートフォン２００（情報処理装置）にインストールされたＨＭＤドライバ２８３ａ（第１のドライバソフトウェア）を介してスマートフォン２００と連携動作するとともに、スマートフォン２００にインストールされたウォッチドライバ２８３ｂ（第２のドライバソフトウェア）を介してスマートフォン２００と連携動作するウォッチ４００とも連携動作する電子機器である。ここで、ＨＭＤ１００は、スマートフォン２００にＨＭＤドライバ２８３ａとウォッチドライバ２８３ｂのみをインストールすればウォッチ４００と連携動作でき、ＨＭＤドライバ２８３ａは、ウォッチドライバ２８３ｂによって呼び出し可能なアプリケーションソフトウェアとしてふるまうソフトウェア部分２８９を含む。
【００５８】
また、上記の例では、ＨＭＤ１００（電子機器）をスマートフォン２００（情報処理装置）と連携動作させるためのＨＭＤドライバ２８３ａ（第１のドライバソフトウェア）をスマートフォン２００にインストールし、ウォッチ４００（外部装置）をスマートフォン２００と連携動作させるためのウォッチドライバ２８３ｂ（第２のドライバソフトウェア）をスマートフォン２００にインストールし、スマートフォン２００にインストールされたドライバソフトウェア２８３ａ，２８３ｂを介してＨＭＤ１００をウォッチ４００と連携動作させる連係動作方法が実行されている。ここで、ＨＭＤドライバ２８３ａは、ウォッチドライバ２８３ｂによって呼び出し可能なアプリケーションソフトウェアとしてふるまうソフトウェア部分２８９を含む。
【００５９】
（３．ハードウェア構成）
次に、図８を参照して、本開示の実施形態に係る電子機器のハードウェア構成について説明する。図８は、本開示の実施形態に係る電子機器のハードウェア構成例を示すブロック図である。図示された電子機器９００は、例えば、上記の実施形態におけるＨＭＤ１００、スマートフォン２００、サーバ３００を構成するサーバ装置、および／またはウォッチ４００を実現しうる。
【００６０】
電子機器９００は、ＣＰＵ（Central  Processing  unit）９０１、ＲＯＭ（Read  Only  Memory）９０３、およびＲＡＭ（Random  Access  Memory）９０５を含む。また、電子機器９００は、ホストバス９０７、ブリッジ９０９、外部バス９１１、インターフェース９１３、入力装置９１５、出力装置９１７、ストレージ装置９１９、ドライブ９２１、接続ポート９２３、通信装置９２５を含んでもよい。さらに、電子機器９００は、必要に応じて、撮像装置９３３、およびセンサ９３５を含んでもよい。電子機器９００は、ＣＰＵ９０１に代えて、またはこれとともに、ＤＳＰ（Digital  Signal  Processor）またはＡＳＩＣ（Application  Specific  Integrated  Circuit）と呼ばれるような処理回路を有してもよい。
【００６１】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、電子機器９００内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。ＣＰＵ９０１、ＲＯＭ９０３、およびＲＡＭ９０５は、ＣＰＵバスなどの内部バスにより構成されるホストバス９０７により相互に接続されている。さらに、ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Peripheral  Component  Interconnect/Interface）バスなどの外部バス９１１に接続されている。
【００６２】
入力装置９１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、電子機器９００の操作に対応した携帯電話などの外部接続機器９２９であってもよい。入力装置９１５は、ユーザが入力した情報に基づいて入力信号を生成してＣＰＵ９０１に出力する入力制御回路を含む。ユーザは、この入力装置９１５を操作することによって、電子機器９００に対して各種のデータを入力したり処理動作を指示したりする。
【００６３】
出力装置９１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置９１７は、例えば、ＬＣＤ（Liquid  Crystal  Display）、ＰＤＰ（Plasma  Display  Panel）、有機ＥＬ（Electro-Luminescence）ディスプレイなどの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などでありうる。出力装置９１７は、電子機器９００の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音声として出力したりする。
【００６４】
ストレージ装置９１９は、電子機器９００の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Hard  Disk  Drive）などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【００６５】
ドライブ９２１は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体９２７のためのリーダライタであり、電子機器９００に内蔵、あるいは外付けされる。ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録を書き込む。
【００６６】
接続ポート９２３は、機器を電子機器９００に直接接続するためのポートである。接続ポート９２３は、例えば、ＵＳＢ（Universal  Serial  Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small  Computer  System  Interface）ポートなどでありうる。また、接続ポート９２３は、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（登録商標）（High-Definition  Multimedia  Interface）ポートなどであってもよい。接続ポート９２３に外部接続機器９２９を接続することで、電子機器９００と外部接続機器９２９との間で各種のデータが交換されうる。
【００６７】
通信装置９２５は、例えば、通信ネットワーク９３１に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Local  Area  Network）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Wireless  USB）用の通信カードなどでありうる。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Asymmetric  Digital  Subscriber  Line）用のルータ、または、各種通信用のモデムなどであってもよい。通信装置９２５は、例えば、インターネットや他の通信機器との間で、ＴＣＰ／ＩＰなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置９２５に接続される通信ネットワーク９３１は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信などである。
【００６８】
撮像装置９３３は、例えば、ＣＣＤ（Charge  Coupled  Device）またはＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）などの撮像素子、および撮像素子への被写体像の結像を制御するためのレンズなどの各種の部材を用いて実空間を撮像し、撮像画像を生成する装置である。撮像装置９３３は、静止画を撮像するものであってもよいし、また動画を撮像するものであってもよい。
【００６９】
センサ９３５は、例えば、加速度センサ、ジャイロセンサ、地磁気センサ、光センサ、音センサなどの各種のセンサである。センサ９３５は、例えば電子機器９００の筐体の姿勢など、電子機器９００自体の状態に関する情報や、電子機器９００の周辺の明るさや騒音など、電子機器９００の周辺環境に関する情報を取得する。また、センサ９３５は、ＧＰＳ（Global  Positioning  System）信号を受信して装置の緯度、経度および高度を測定するＧＰＳセンサを含んでもよい。
【００７０】
以上、電子機器９００のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
【００７１】
（４．補足）
本開示の実施形態は、例えば、上記で説明したような電子機器、システム、電子機器またはシステムで実行される方法、電子機器を機能させるためのプログラム、およびプログラムが記録された一時的でない有形の媒体を含みうる。
【００７２】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【００７３】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【００７４】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）情報処理装置にインストールされた第１のドライバソフトウェアを介して前記情報処理装置と連携動作するとともに、前記情報処理装置にインストールされた第２のドライバソフトウェアを介して前記情報処理装置と連携動作する外部装置とも連携動作する電子機器であって、
前記情報処理装置に前記第１のドライバソフトウェアと前記第２のドライバソフトウェアのみをインストールすれば、前記外部装置と連携動作でき、
前記第１のドライバソフトウェアは、前記第２のドライバソフトウェアによって呼び出し可能なアプリケーションソフトウェアとしてふるまうソフトウェア部分を含む電子機器。
（２）前記第１のドライバソフトウェアは、前記電子機器を前記情報処理装置に最初に接続する際に自動的に前記情報処理装置にインストールされる、前記（１）に記載の電子機器。
（３）前記第２のドライバソフトウェアは、前記外部装置を前記情報処理装置に最初に接続する際に自動的に前記情報処理装置にインストールされる、前記（２）に記載の電子機器。
（４）前記電子機器は、ウェアラブル装置である、前記（１）〜（３）のいずれか１項に記載の電子機器。
（５）前記ウェアラブル装置は、ユーザの視界の一部に重畳する画像を提供する、前記（４）に記載の電子機器。
（６）電子機器を情報処理装置と連携動作させるための第１のドライバソフトウェアを前記情報処理装置にインストールし、
外部装置を前記情報処理装置と連携動作させるための第２のドライバソフトウェアを前記情報処理装置にインストールし、
前記情報処理装置にインストールされた前記第１および前記第２のドライバソフトウェアを介して、前記電子機器を前記外部装置と連携動作させる連携動作方法。
【符号の説明】
【００７５】
１０    システム
１００    ＨＭＤ
１１０    ディスプレイユニット
１１２    光源
１１４    導光板
１６０    コントロールユニット
１６２    プロセッサ
１６４    メモリ
２００    スマートフォン
２０２    プロセッサ
２０４    メモリ
３００    サーバ
３０２    プロセッサ
３０４    メモリ
４００    ウォッチ
４０２    プロセッサ
４０４    メモリ
４１２    タッチパネル
１８１    ＨＭＤファームウェア
２８１    アプリケーションソフトウェア
２８３    ドライバソフトウェア
４８１    ウォッチファームウェア
【図１】
2015156186.tif 000003
【図２】
2015156186.tif 000004
【図３】
2015156186.tif 000005
【図４】
2015156186.tif 000006
【図５】
2015156186.tif 000007
【図６】
2015156186.tif 000008
【図７】
2015156186.tif 000009
【図８】
2015156186.tif 000010