(57)【特許請求の範囲】
【請求項１】
ヘッドマウントディスプレイを装着している第１のユーザの頭部の動きに連動して変化する３次元仮想空間内の第１の生成画像をヘッドマウントディスプレイへ出力する装置であって、該装置はネットワークを介して複数の携帯型コントローラと接続されており、該装置は、
該装置を操作する第１のユーザにより選択されたアプリケーション情報の３次元ゲーム画像を簡易化した２次元ゲーム画像を、前記ネットワークを介して前記複数の携帯型コントローラへ送信し、さらに前記第１のユーザにより実行中の前記アプリケーションにおいて、前記第１のユーザにより操作される第１のオブジェクトの位置情報を前記複数の携帯型コントローラへ前記ネットワークを介して送信する送信部と、
前記第１のオブジェクトの位置情報と、前記アプリケーションの情報の３次元ゲーム画像を簡易化した２次元ゲーム画像とに基づいて、前記複数の携帯型コントローラのうち一つのコントローラを操作する第２のユーザにより操作される、第２のオブジェクトの位置情報を、前記一つのコントローラから前記ネットワークを介して受信する受信部と、
前記第１のオブジェクトの位置情報、及び受信した第２のオブジェクトの位置情報に基づいて、第１のオブジェクト及び第２のオブジェクトを配置した３次元仮想空間内の第１の生成画像を生成して、前記装置に接続された前記ヘッドマウントディスプレイへ出力する、画像生成出力部と
を備えていることを特徴とする、装置。
【請求項２】
請求項１に記載の装置であって、前記複数のコントローラと、前記装置とは、外部ネットワークを介してサーバから受信した前記複数のコントローラのコントローラ側インタフェースプログラム、及び前記装置の装置側インタフェースプログラムにより接続されていることを特徴とする、装置。
【請求項３】
請求項１に記載の装置であって、
前記送信部は、さらに、前記受信した第２のオブジェクトの位置情報を、前記複数の携帯型コントローラのうち前記第２のユーザにより操作される前記一つのコントローラを除く他のコントローラへ送信することを特徴とする、装置。
【請求項４】
システムであって、該システムは
ヘッドマウントディスプレイを装着している第１のユーザの頭部の動きに連動して変化する３次元仮想空間内の第１の生成画像をヘッドマウントディスプレイへ出力する装置であって、第１のユーザにより操作される装置と、
前記装置とネットワークを介して接続される複数の携帯型コントローラであって、該複数の携帯型コントローラは、２次元の第２の生成画像を複数の携帯型コントローラのディスプレイへ出力する、複数の携帯型コントローラとを備え、
前記装置は、
前記第１のユーザにより選択されたアプリケーション情報の３次元ゲーム画像を簡易化した２次元ゲーム画像を、前記ネットワークを介して前記複数の携帯型コントローラへ送信し、さらに前記第１のユーザにより実行中の前記アプリケーションにおいて、前記第１のユーザにより操作される第１のオブジェクトに関する位置情報を前記複数の携帯型コントローラへ前記ネットワークを介して送信する送信部と、
前記第１のオブジェクトの位置情報と、前記アプリケーションの情報の３次元ゲーム座像を簡易化した２次元ゲーム画像とに基づいて、第２のユーザにより操作される第２のオブジェクトの位置情報を、前記一つのコントローラから前記ネットワークを介して受信する受信部と、
前記第１のオブジェクトの位置情報、及び受信した第２のオブジェクトの位置情報に基づいて、第１のオブジェクト及び第２のオブジェクトを配置した３次元仮想空間内の第１の生成画像を生成して、前記装置に接続されたヘッドマウントディスプレイへ出力する、画像生成出力部と
を備えており、
前記複数の携帯型コントローラのうち一つのコントローラは第２のユーザにより操作され、
前記第１のユーザにより選択されたアプリケーション情報の３次元ゲーム画像を簡易化した２次元ゲーム画像を、前記装置からネットワークを介して受信し、さらに前記第１のユーザにより実行中の前記アプリケーションにおいて、前記第１のユーザにより操作される第１のオブジェクトの位置情報を、前記装置から前記ネットワークを介して受信する、受信部と、
前記アプリケーション情報の３次元ゲーム画像を簡易化した２次元ゲーム画像、及び前記第１のオブジェクトの位置情報に基づいて、前記第２のユーザにより操作される、第２のオブジェクトに関する位置情報を、前記装置へ前記ネットワークを介して送信する送信部と、
前記受信した第１のオブジェクトの位置情報、及び前記第２のオブジェクトの位置情報に基づいて生成された、第１のオブジェクト及び第２のオブジェクトを配置した、２次元の第２の生成画像を生成して、前記一つのコントローラのディスプレイへ出力する、画像生成出力部と
を備えることを特徴とする、システム。
【請求項５】
ヘッドマウントディスプレイを装着している第１のユーザの頭部の動きに連動して変化する３次元仮想空間内の第１の生成画像を装置のヘッドマウントディスプレイへ出力させる方法を、プロセッサに実行させるためのプログラムであって、前記装置はネットワークを介して複数の携帯型コントローラと接続されており、該方法は、
前記装置を操作する第１のユーザにより選択されたアプリケーション情報の３次元ゲーム画像を簡易化した２次元ゲーム画像を、前記ネットワークを介して前記複数の携帯型コントローラへ送信し、さらに前記第１のユーザにより実行中の前記アプリケーションにおいて、前記第１のユーザにより操作される第１のオブジェクトの位置情報を前記複数の携帯型コントローラへ前記ネットワークを介して送信するステップと、  
前記第１のオブジェクトの位置情報と、前記アプリケーションの情報の３次元ゲーム画像を簡易化した２次元ゲーム画像とに基づいて、前記複数の携帯型コントローラのうち一つのコントローラを操作する第２のユーザにより操作される、第２のオブジェクトの位置情報を、前記一つのコントローラから前記ネットワークを介して受信するステップと、
前記第１のオブジェクトの位置情報、及び受信した第２のオブジェクトの位置情報に基づいて、第１のオブジェクト及び第２のオブジェクトを配置した３次元仮想空間内の第１の生成画像を生成して、前記装置に接続されたヘッドマウントディスプレイへ出力する、画像生成出力するステップと
を備えていることを特徴とする、プログラム。
【請求項６】
請求項５に記載のプログラムであって、前記複数のコントローラと、前記装置とは、外部ネットワークを介してサーバから受信した前記複数のコントローラのコントローラ側インタフェースプログラム、及び前記装置の装置側インタフェースプログラムにより接続されていることを特徴とする、プログラム。
【請求項７】
請求項５に記載のプログラムであって、
前記送信するステップは、さらに、前記受信した第２のオブジェクトの位置情報を、前記複数の携帯型コントローラのうち前記第２のユーザにより操作される前記一つのコントローラを除く他のコントローラへ送信することを特徴とする、プログラム。
【請求項８】
３次元仮想空間内の第１の生成画像をヘッドマウントディスプレイへ出力する装置の制御方法であって、該装置はネットワークを介して複数の携帯型コントローラと接続されており、該方法は、
該装置を、ヘッドマウントディスプレイを装着している第１のユーザの頭部の動きに連動して変化する３次元仮想空間内の第１の生成画像に基づいて操作する第１のユーザにより選択されたアプリケーション情報の３次元ゲーム画像を簡易化した２次元ゲーム画像を、前記ネットワークを介して前記複数の携帯型コントローラへ送信し、さらに前記第１のユーザにより実行中の前記アプリケーションにおいて、前記第１のユーザにより操作される第１のオブジェクトの位置情報を前記複数の携帯型コントローラへ前記ネットワークを介して送信するステップと、  
前記第１のオブジェクトの位置情報と、前記アプリケーションの３次元ゲーム画像を簡易化した２次元ゲーム画像とに基づいて、前記複数の携帯型コントローラのうち一つのコントローラを操作する第２のユーザにより操作される、第２のオブジェクトの位置情報を、前記一つのコントローラから前記ネットワークを介して受信するステップと、
前記第１のオブジェクトの位置情報、及び受信した第２のオブジェクトの位置情報に基づいて、第１のオブジェクト及び第２のオブジェクトを配置した３次元仮想空間内の第１の生成画像を生成して、前記装置に接続されたヘッドマウントディスプレイへ出力する、画像生成出力するステップと
を備えることを特徴とする、方法。
【請求項９】
前記第１の生成画像は前記第２の生成画像とは異なる視点に基づいて生成されている、請求項４記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスプレイと該ディスプレイにネットワークを介して接続される複数のコントローラとを連動させて画面操作するシステム、方法、及びプログラムに関する。より詳細には、本体装置と、該本体装置にネットワークを介して接続されたコントローラとを連動させて、本体装置のディスプレイ及び、コントローラのディスプレイとを別個のユーザにより画面操作するシステムに関する。
【背景技術】
【０００２】
従来、本体装置を介してコントローラにより画面操作するシステムにおいては、コントローラそれ自体はネットワークとの通信機能を有していないため、本体装置と、本体装置に専用のコントローラとが直接接続される。従って、本体装置の外側に存在するネットワークを介して本体装置と複数のコントローラを接続する場合には、複数のコントローラにそれぞれ本体装置を必要とする。
【０００３】
特に、ユーザの頭部に装着され、眼前に配置されたディスプレイ等によってユーザに画像を提示することが可能なヘッドマウントディスプレイ（ＨＭＤ）が知られている。従来のＨＭＤのコントローラは本体装置に専用である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記背景技術に係るシステムにおいては、コントローラ自体が外部ネットワークに接続する機能を備えていないため、コントローラ自体がインターネットに接続する際には必ず本体装置に接続していた。この場合、複数のコントローラに対し別個に本体装置が必要となる。すなわち、複数のコントローラは該コントローラに別個に接続される本体装置を介してインターネットなどの外部ネットワークと接続される。
【０００５】
さらに、ＨＭＤに接続されている本体装置に接続するためには、その本体装置に専用のコントローラを持ち運ぶ必要があった。
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、ディスプレイ（例えばＨＭＤ）と外部ネットワークとの通信機能を備えた複数のコントローラとを連動させるシステムを提供することにある。さらに、本発明は、コントローラが外部との通信機能を備えていることから、本体装置に接続する際に、外部サーバから接続に必要なソフトウェアをダウンロードすることができるため、本体装置に専用である必要はなく、一般に流通している端末、例えば携帯端末、スマートフォンを用いることができる。
【課題を解決するための手段】
【０００６】
（１）本発明は、
生成画像をディスプレイへ出力する装置であって、該装置はネットワークを介して複数のコントローラと接続されており、該装置は、
第１のユーザにより選択されたアプリケーション情報を簡易化した情報を、ネットワークを介して前記複数のコントローラへ送信し、さらに第１のユーザにより実行中のアプリケーションにおいて、第１のユーザにより操作される第１のオブジェクトに関する情報を簡易化した情報を前記複数のコントローラへネットワークを介して送信する送信部と、  
第１のオブジェクトに関する情報を簡易化した情報と、アプリケーション情報を簡易化した情報とに基づいて、複数のコントローラのうち一つの操作コントローラを操作する第２のユーザにより操作される第２のオブジェクトに関する情報を、一つの操作コントローラから前記ネットワークを介して受信する受信部と、
第１のオブジェクトに関する情報、及び受信した第２のオブジェクトに関する情報に基づいて、第１のオブジェクト及び第２のオブジェクトを配置した画像を生成して、装置に接続されたディスプレイへ出力する、画像生成出力部と、を備えていることを特徴とする、装置、システムに関する。
【０００７】
本発明によれば、ディスプレイを備えた装置は、外部との通信機能を備えた複数のコントローラと接続し、複数のコントローラのうち一つのコントローラ側でなされた操作を装置のディスプレイへ反映させることができる。さらに、本発明によれば、装置に接続されたコントローラを操作する第１のユーザによる第１オブジェクトに関する簡易化した操作情報を複数のコントローラへ送信し、かつ、該第１オブジェクトに関する簡易化した操作情報に基づいて、一つのコントローラを操作する第２のユーザによる第２オブジェクトに関する操作情報を一つのコントローラから受信し、それぞれのオブジェクトの操作情報を、装置に接続されたディスプレイに反映することができる。これにより、本発明はネットワークを介して、複数のユーザが参加可能なシステムを提供することができる。  
（２）また、本発明は、複数のコントローラと、装置とは、外部ネットワークを介してサーバから受信した前記複数のコントローラのコントローラ側インタフェースプログラム、及び装置の装置側インタフェースプログラムにより接続されていることを特徴とする。
【０００８】
本発明によれば、コントローラ自体が外部ネットワークとの通信機能を備えていることから、コントローラ同士は本体装置に接続しなくとも、外部ネットワークと通信を行うことができる。そして、コントローラは、外部サーバからディスプレイへ接続されたコントローラとの接続に必要なソフトウェアをダウンロードすることにより、簡単に本体装置で実行中のゲームに参加することができる。従って、コントローラは本体装置に専用である必要はない。
【０００９】
この発明の上記の、及び他の特徴及び利点は、この発明の実施例の以下のより特定的な説明、添付の図面、及び請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１０】
【図１Ａ】本発明の一実施例に従った、システムのシステム構成図を示す。
【図１Ｂ】本発明の一実施例に従った、コントローラ１００の構成図を示す。
【図１Ｃ】本発明の一実施例に従った、本体装置１２０の構成図を示す。
【図２Ａ】本発明の一実施例に従った、コントローラ１００−１の機能的構成を示す。
【図２Ｂ】本発明の一実施例に従った、コントローラ１００−２〜Ｎの機能的構成を示す。
【図３】本発明の一実施例に従った、本体装置１２０の機能的構成を示す。
【図４】本発明の一実施例に従った、ユーザ１によるアプリケーションの選択操作に基づいて生成されたＨＭＤに表示される画面を示す。
【図５Ａ】本発明の一実施例に従った、アプリケーション開始時のユーザ１のＨＭＤに表示される画面を示す。
【図５Ｂ】本発明の一実施例に従った、アプリケーション開始時のコントローラ２〜Ｎのディスプレイに表示される画面を示す。
【図６Ａ】本発明の一実施例に従った、アプリケーション実行中のユーザ１のＨＭＤに表示される画面を示す。
【図６Ｂ】本発明の一実施例に従った、アプリケーション実行中の第２〜第Ｎコントローラのディスプレイに表示される画面を示す。
【図７Ａ】本発明の一実施例に従った、アプリケーション実行中のユーザ１のＨＭＤに表示される画面を示す。
【図７Ｂ】本発明の一実施例に従った、アプリケーション実行中の第Ｋのコントローラのディスプレイに表示される画面を示す。
【図７Ｃ】本発明の一実施例に従った、アプリケーション実行中の（第Ｋを除く）第２〜第Ｎのコントローラのディスプレイに表示される画面を示す。
【図８Ａ】本発明の一実施例に従った、アプリケーション実行中のユーザ１のＨＭＤに表示される画面を示す。
【図８Ｂ】本発明の一実施例に従った、アプリケーション実行中の第Ｋのコントローラのディスプレイに表示される画面を示す。
【図８Ｃ】本発明の一実施例に従った、アプリケーション実行中の（第Ｋを除く）第２〜第Ｎコントローラのディスプレイに表示される画面を示す。
【図９】本発明の一実施例に従った、本体装置の処理の流れを示すフローチャート図を示す。
【図１０】本発明の一実施例に従った、第Ｋのコントローラの処理の流れを示すフローチャート図を示す。
【図１１】本発明の一実施例に従った、（第Ｋを除く）第２〜第Ｎのコントローラの処理の流れを示すフローチャート図を示す。
【図１２】本発明の一実施例に従った、第１のコントローラの処理の流れを示すフローチャート図を示す。
【図１３】本発明の一実施例に従った、第１のコントローラ、本体装置、第２〜第Ｎのコントローラ、第Ｋのコントローラ間でのデータの受け渡し図を示す。
【発明を実施するための形態】
【００１１】
以下、本実施形態について説明する。図１Ａは、本発明の一実施例に従った、システムのシステム構成図を示す。このシステムでは、本体装置１２０は、ユーザ１の保持する第１のコントローラ１００−１、及びディスプレイ１４０と接続されている。ディスプレイ１４０はヘッドマウントディスプレイ（ＨＭＤ）でもよい。第１のコントローラ１００−１は本体装置１２０を介してインターネットやイントラネットのデータ通信ネットワーク１６０に接続し、第２〜第Ｎのコントローラと通信することができる。本体装置１２０は複数のコントローラ間で行う通信を管理することができる。なお、第１のコントローラと、第２〜第Ｎのコントローラとが同一アクセスポイント内にない場合、すなわち、ネットワーク１６０がインターネット等の外部ネットワークである場合、第１のコントローラ１００−１は本体装置１２０を介して、外部ネットワークに接続されたサーバ（図示せず）により、第２〜第Ｎのコントローラと通信することができる。第２〜第Ｎのコントローラは各々本体装置１２０に直接接続されておらず、データ通信ネットワーク１６０に接続して第１のコントローラの本体装置１２０と通信することができる。第２〜第Ｎのコントローラのうち第Ｋのコントローラは、実行中のアプリケーションに対してユーザＫにより操作が行われる操作コントローラである。第Ｋのコントローラは複数でもよい。第Ｋを除く第２〜第Ｎのコントローラは、第Ｋのコントローラと第１のコントローラとの間で行われるアプリケーション上の操作を傍観する傍観コントローラである。第１のコントローラ１００−１〜第Ｎのコントローラ１００−Ｎを特に区別する必要のない場合には、単にコントローラ１００と記す。
【００１２】
第１のコントローラ１００−１と本体装置１２０がＷｉ−Ｆｉ、又はＢｌｕｅｔｏｏｔｈ(登録商標)などの無線ネットワークを介して接続され、本体装置１２０とヘッドマウントディスプレイ１４０はＷｉ−Ｆｉ、又はＢｌｕｅｔｏｏｔｈ(登録商標)などの無線又は有線のネットワークを介して接続される。ネットワーク１６０がインターネット等の外部ネットワークである場合に、ネットワーク１６０にはサーバ（図示せず）が接続される。該サーバは、プロセッサ、各種記憶装置及びデータ通信装置を中心として構成された公知のサーバコンピュータによって実現されるものであり、第１〜第Ｎコントローラ１００との間でデータの送受信を行う。サーバは、第１のコントローラと第２〜第Ｎのコントローラとがインターネット等の外部ネットワークを介して接続される場合に複数のコントローラ間で行う通信を管理することができる。
【００１３】
コントローラの構成
図１Ｂは、本発明の一実施例に従った、コントローラ１００の構成図を示す。コントローラ１００は、少なくとも１つのプロセッサ１０２、少なくとも１つのインタフェース１０４、少なくとも１つのメモリ１０６、少なくとも１つのセンサディスプレイ１０８、及びアンテナ１１０を含むことができる。コントローラ１００は、例えば、公知のスマートフォン、携帯端末によって実現することができる。コントローラ１００は、ユーザ自らが保持、装着しており、ユーザの操作に応じた各種操作入力、及びユーザの動きに応じてユーザの動作入力、音声入力を検出することができる。
【００１４】
コントローラ側プロセッサ１０２は、コントローラ側インタフェースプログラム１０６Ａの実行、各機能部への命令の指示などの各種処理を行うように構成される。コントローラ側インタフェースプログラム１０６Ａは、後述する第１のコントローラの送信部２０６（図２Ａ）、第２〜第Ｎのコントローラの送信部２０６、受信部２０８、画像生成出力部２１０（図２Ｂ）を機能させるためのものである。
【００１５】
コントローラ側インタフェースプログラム１０６Ａを実行することにより、本体装置１２０とコントローラ１００との間のデータの送受信を行うことができる。第１のコントローラ１００におけるインタフェースプログラム１０６Ａは後述する送信部２０６を機能させることにより、コントローラ１００−１から本体装置１２０への出力データの送信を行う。第２〜第Ｎのコントローラ１００−２〜Ｎにおけるインタフェースプログラム１０６Ａは、後述する送信部２０６を機能させることにより、第２〜第Ｎコントローラ１００からネットワーク１６０を介して本体装置１２０への出力データの送信を行い、さらに後述する受信部２０８を機能させることにより、本体装置１２０からネットワーク１６０を介して各種データの受信を行い、後述する画像生成出力部２１０を機能させることにより、本体装置１２０より受信した各種情報等に基づいて、ディスプレイ１０８へ進行中のアプリケーション画像を生成し出力することができる。
【００１６】
コントローラ側インタフェース１０４は、コントローラ１００から本体装置１２０への出力データの送信、及び本体装置１２０からのデータの受信を行うインタフェースであり、コントローラ側インタフェースプログラム１０６Ａを実装することにより実現される。より詳細には、コントローラ側インタフェース１０４は、コントローラに内蔵された各種センサから得られたデータ等の出力データを本体装置へ送信し、また本体装置により送信された各種データを受信するインタフェースである。
【００１７】
コントローラ側メモリ１０６は、ユーザの操作に応じて生じる各種センサから得られたデータ、コントローラ側インタフェースプログラム１０６Ａ、コントローラ１００が受信した各種データを格納することができる。
【００１８】
センサディスプレイ１０８は、タッチセンサであり、ユーザからのスワイプ操作、ピンチイン・ピンチアウト操作、タップ操作を検出する。
コントローラ１００はアンテナ１１０を備え、コントローラ１００自体がインターネットなどの外部ネットワークとの通信機能を有している。コントローラ１００自体が通信機能を有しているので、例えば、ユーザ２〜Ｎが各々保持する第２〜第Ｎのコントローラ１００は、ユーザ２〜Ｎのいずれかにより行われた操作に基づいて第Ｋの操作オブジェクトに関する情報を、ネットワーク１６０を介して本体装置１２０へ送信することができる。また、コントローラ１００は、アンテナ１１０により、インターネット等のネットワークを介して、予めサーバからコントローラへコントローラ側インタフェースプログラム１０６Ａをダウンロードし、コントローラへインストールすることができる。ユーザはコントローラ１００へコントローラ側インタフェースプログラム１０６Ａをインストールすることにより、ＨＭＤに専用のコントローラを用いることなく任意のコントローラ、例えばスマートフォンを用いて、コントローラと、本体装置との接続が可能となり、コントローラからの出力データをヘッドマウント装置のディスプレイ表示へ反映させることができる。
【００１９】
コントローラ１００は、さらにユーザからの音声入力を検出するマイク、ユーザによる動作入力を検出する加速度センサ、ジャイロセンサ、及びボタン、キー、カメラ、ＧＰＳ、バイブレーション装置（図示せず）を備えることができる。
【００２０】
本体装置の構成
図１Ｃは、本発明の一実施例に従った、本体装置１２０の構成図を示す。本体装置１２０は、第１のコントローラ１００−１と、ディスプレイ１４０との間に接続され、さらにネットワークを介して第２〜第Ｎのコントローラ１００−２〜Ｎに接続されている。そして本体装置１２０は、これらのコンポーネント間でデータの送受信を行うものである。本体装置１２０は、少なくとも１つのプロセッサ１２２、少なくとも１つのインタフェース１２４、少なくとも１つのメモリ１２６を含むことができる。本体装置１２０は、ネットワーク１６０を介して第２〜第Ｎのコントローラとデータの送受信を行うことができる。
【００２１】
本体装置側プロセッサ１２２は、各機能部への命令の指示、ゲームなど各種アプリケーションの実行、本体装置側インタフェースプログラム１２６Ａの実行、画像生成出力処理を行うための画像生成プログラム１２６Ｂの実行などの各種処理を行うように構成される。
【００２２】
本体装置側インタフェース１２４は、コントローラ１００から送信された出力データの受信、本体装置１２０からコントローラ１００に対し所定のデータを送信、及びＨＭＤ１４０へ表示オブジェクトを配置した生成画像を出力する入出力インタフェースである。
【００２３】
本体装置側メモリ１２６は本体装置側インタフェースプログラム１２６Ａ、画像生成プログラム１２６Ｂ、及び本体装置のプロセッサにより実行される各種機能を実現するためのプログラム、データを格納する。本体装置は、本体装置側インタフェースプログラム１２６Ａ、画像生成プログラム１２６Ｂをインストールすることにより、公知のパーソナルコンピュータ、ゲーム本体装置等により実現することができる。
【００２４】
本体装置側インタフェースプログラム１２６Ａは後述する入力検出部３０２、送信部３０４、受信部３０６、識別部３０８（図３）を機能させるためのものである。本体装置側インタフェースプログラム１２６Ａを実行することにより、本体装置１２０は第１〜第Ｎのコントローラ１００−１〜Ｎから送信されたデータを検出して受信、及び本体装置１２０から第１〜第Ｎのコントローラ１００へ各種データを送信する。本体装置側インタフェースプログラム１２６Ａは、予め本体装置にインストールされている。例えば、本体装置側インタフェースプログラム１２６Ａは、本体装置に接続されたインターネット、イントラネット等のネットワークを介して、予め本体装置へダウンロードし、又は記録媒体を用いてインストールすることができる。本体装置側インタフェースプログラム１２６Ａをインストールし、コントローラに後述するコントローラ側インタフェースプログラム１０６Ａをインストールすることで、ユーザは本体装置に専用のコントローラを用いることなく任意のコントローラ、例えば携帯端末、スマートフォンを用いて、コントローラ１００からのユーザ入力等をＨＭＤへ反映させたり、ＨＭＤ上の表示、及び操作中のアプリケーション情報をコントローラへ送信したりすることができる。
【００２５】
画像生成プログラム１２６Ｂは、後述する画像生成出力部３１０を機能させるためのものである。
ディスプレイ１４０は、本体装置１２０に接続されており、本体装置１２０から出力された生成画像を表示する。ディスプレイ１４０は、ＨＭＤでも良い。
【００２６】
コントローラの機能的構成
図２Ａは、本体装置に接続されている第１のコントローラ１００−１の機能的構成、図２Ｂは、ネットワークを介して本体装置に接続されている第２〜第Ｎのコントローラ１００−２〜Ｎの機能的構成を示す図である。同図に示すように、第１のコントローラ１００−１は、操作部２０２、通信部２０４、送信部２０６を備えることができる。第２〜第Ｎのコントローラ１００は操作部２０２、通信部２０４、送信部２０６に加えて、受信部２０８、画像生成出力部２１０を備えることができる。これらの機能は、コントローラ１００のメモリ１０６に格納された所定のプログラムがプロセッサ１０２によって実行されることにより実現される。コントローラ１００の送信部２０６、受信部２０８、画像生成出力部２１０はコントローラ側プロセッサによりコントローラ側インタフェースプログラム１０６Ａを実行することにより実現できる。該インタフェースプログラム１０６Ａはコントローラのアンテナ１１０を用いてインターネットを介してサーバ１６０より予めダウンロードされ、コントローラ１００にインストールされている。
【００２７】
操作部２０２は、コントローラに設けられている各種のセンサから、ユーザによりコントローラ１００に対して行われた所定の操作に関する入力を取得する。各種のセンサとは、ディスプレイセンサ、加速度センサ、ジャイロセンサ等である。ユーザがコントローラを動かすと、操作部は、加速度センサ、ジャイロセンサから該動作に対する加速度、角速度を出力データとして取得する。ユーザがコントローラのセンサディスプレイに対してスワイプ操作、ピンチイン・ピンチアウト操作、タップ操作を行うと、操作部２０２はセンサディスプレイから、それら操作の種類及び／又はそれら操作に関する各種データ、例えばディスプレイへの接触（タップ）を出力データとして取得する。操作部２０２はこれらの情報（加速度・角速度、操作入力情報）を逐次メモリ１０６へ格納する。
【００２８】
通信部２０４は、様々なデータ、例えば、インタフェースプログラム１０６Ａを、インターネットを介してサーバからダウンロードしたり、本体装置と直接接続されていない第２〜第Ｎのコントローラが外部／内部ネットワークを介して本体装置１２０と通信したりするためのものである。通信部２０４を備えることにより、コントローラ１００は本体装置１２０と直接接続されていなくとも、インターネットに接続可能な環境があれば、任意の場所でコントローラ側インタフェースプログラム１０６Ａをインストール、アップデートすることができ、また第２〜第Ｎのコントローラ１００−２〜Ｎにおいてはネットワークを介して本体装置１２０と通信することができる。
【００２９】
送信部２０６は、操作部２０２によりメモリに格納された情報（加速度・角速度、操作入力情報）を、本体装置１２０からのリクエストに応じて本体装置の入力検出部３０２へ出力データとして送信する。
【００３０】
より具体的には、図１３に示すように、出力データは、第１のコントローラ１００−１においては、ユーザ１により選択されたアプリケーションの選択情報、第１のコントローラに対するユーザ１によって操作された操作オブジェクトに対する操作情報を含むことができる。また、第Ｋを除く第２〜第Ｎのコントローラ１００−２〜Ｎにおいては、出力データは、本体装置１２０から送られたアプリケーションの選択情報を受信したことを伝えるＡＣＫ情報を含むことができる。さらに、第Ｋのコントローラ１００−Ｋにおいては、出力データは、本体装置１２０から送られたアプリケーションの選択情報を受信したことを伝えるＡＣＫ情報、及びユーザＫによって操作された操作オブジェクトに対する操作情報、第Ｋのコントローラの識別子を含むことができる。
【００３１】
第２〜第Ｎコントローラ１００は、さらに本体装置１２０から送信される情報を受信する受信部２０８を備えることができる。より具体的には、図１３に示すように、第２〜第Ｎコントローラ１００の受信部２０８はユーザ１により選択された簡易化したアプリケーションに関する情報、例えばコース情報、簡易コース画像、ユーザ１が操作中の操作オブジェクトに関する操作情報を簡易化した情報、及び操作中のアプリケーションに関する情報等を受信することができる。ユーザ１が操作中の操作オブジェクトに関する操作情報を簡易化した情報とは、例えば、ユーザ１がレーシングゲームで操作中の操作オブジェクトのコース上の位置情報である。
【００３２】
第２〜第Ｎコントローラ１００は、さらに画像生成出力部２１０を備えることができる。画像生成出力部２１０は、コントローラの受信部２０８が本体装置１２０より受信したコース情報、簡易コース画像や、ユーザ１が操作コントローラ１００−１を用いて操作中の操作オブジェクトの位置情報、及び本体装置より受信したユーザＫが操作コントローラ１００−Ｋを用いて操作中の操作オブジェクトの位置情報に基づいて、これらの操作オブジェクトを配置した簡易コース画像を生成してセンサディスプレイ上へ出力することができる。
【００３３】
なお、第Ｋの操作コントローラ１００―Ｋにおいては、画像生成出力部２１０はユーザＫが操作中の操作オブジェクトに関する情報に基づいて、該操作オブジェクトを配置した画像を生成してディスプレイ上へ出力することができる。  
【００３４】
本体装置の機能的構成
図３は、本体装置１２０の機能的構成を示す図である。同図に示すように、本体装置１２０は、入力検出部３０２、送信部３０４、受信部３０６、識別部３０８、画像生成出力部３１０を備える。これらの機能は、本体装置におけるメモリに格納された所定のプログラムがプロセッサによって実行されることにより実現される。
【００３５】
入力検出部３０２は、コントローラ１００のメモリに格納され、第１〜第Ｎのコントローラ１００の送信部２０６から送信された様々な出力データを検出して取得する。より具体的には、第１のコントローラ１００−１において、出力データは、ユーザ１により選択されたアプリケーションの選択情報、第１のコントローラに対するユーザ１によって操作された操作オブジェクトに対する操作情報を含む。検出された出力データが、ユーザ１によるアプリケーションの選択情報である場合に、入力検出部３０２は、該選択情報を送信部３０４へ出力する。検出された出力データが、ユーザ１による第１のコントローラにおける操作オブジェクトに対する操作情報である場合に、入力検出部３０２は、該選択情報及び操作情報を本体装置の送信部３０４、画像生成出力部３１０へ出力する。
【００３６】
送信部３０４は、入力検出部３０２から取得したアプリケーション選択情報に基づいて生成された該アプリケーションに関する情報を簡易化した情報、及び第１のコントローラにおけるユーザ１による操作を簡易化した操作オブジェクトに関する操作情報を、第２〜第Ｎのコントローラへ送信する。    
【００３７】
本体装置１２０は、第２〜第ＮのコントローラよりＡＣＫ応答を受信すると、ユーザ１により選択されたアプリケーションを実行開始する。本体装置で実行中のアプリケーションに関する情報には、例えばＨＭＤへ表示する３次元画像が含まれる。一般的に３次元画像は、非常にデータ容量が大きく、特に、ユーザが仮想空間に没入する際にＨＭＤ上に表示可能な範囲はユーザの頭部の動きに応じて変化することが必要とされるので、本体装置で実行中のアプリケーションに関する情報には、ユーザ１が視認できるディスプレイ上に表示されている画面よりも表示角の広い画像が仮想的に含まれる。この場合、ユーザ１により操作されるデータ容量は大きいため、進行中のアプリケーションに関する情報をそのまま第２〜第Ｎのコントローラへ送信すると、ネットワークの回線容量やコントローラの受信容量が小さい場合に、第２〜第Ｎのコントローラにおいて通信障害を生じる場合がある。本実施態様では、送信部３０４は、ユーザ１により操作中のアプリケーション情報を簡易化したアプリケーション情報をユーザ２〜Ｎが保持する第２〜第Ｎのコントローラへネットワーク１６０を介して送信する。簡易化したアプリケーション情報とは、例えばＨＭＤ上で表示される画像をより小さいデータサイズに変換した画像や、ユーザ１により選択されたコース番号情報であり、簡易化した操作オブジェクトに関する操作情報とは、ユーザ１により操作される操作オブジェクトの位置情報である。例えば、図５Ａに示されるようにＨＭＤ上で表示される画像は、３次元画像５００Ａであり、ユーザ１の操作するオブジェクトはレーシングカー５０２Ａである。一方、図５Ｂに示されるように、第２〜第Ｎのコントローラのディスプレイに表示される画像５００Ｂは２次元の簡易化されたコース画像、及び黒丸で示される操作オブジェクト画像５０２Ｂである。
【００３８】
さらに、送信部３０４は、後述する受信部３０６が第ＫのコントローラにおいてユーザＫにより操作されたオブジェクトに関する情報、及び第Ｋのコントローラの識別子を受信した場合に、第Ｋを除く第２〜第Ｋのコントローラへ第Ｋのオブジェクトに関する情報をネットワークを介して送信することができる。
【００３９】
受信部３０６は、第２〜第Ｎのコントローラの送信部２０６により送信された出力データを受信する。例えば、受信部３０６は、第２〜第Ｎのコントローラ２〜Ｎが、本体装置１２０から送信された簡易化したアプリケーション情報を受信したことを示すＡＣＫ情報を第２〜第Ｎのコントローラから受信する。また、受信部３０６は、第Ｋのコントローラにおいては、ユーザＫにより操作されたオブジェクトに関する情報、及びコントローラＫの識別子を第Ｋのコントローラから受信する。
【００４０】
識別部３０８は、第１のコントローラ１００−１のコントローラにおいて実行中のアプリケーションに参加しているコントローラ（第２〜第Ｎのコントローラ）を識別して個別に識別子を付与する。コントローラへ個別に識別子を付与することにより、ユーザ１によるアプリケーション実行中に、ユーザＫによって第Ｋのオブジェクトに対して操作が行われている第Ｋの操作コントローラを識別することができる。
【００４１】
次に、画像生成出力部３１０は、ユーザ１により操作される操作オブジェクトに関する情報、第Ｋのユーザにより操作される操作オブジェクトに関する情報、コントローラＫの識別子に基づいて、ディスプレイ上へ表示する操作オブジェクトの表示演算を行い、表示オブジェクトの画像を生成する。ユーザ１により操作される操作オブジェクトに関する情報とは、操作オブジェクトを動かす際の、加速度、角速度、変位量、変位速度、方向等を含む。第Ｋのユーザにより操作される操作オブジェクトに関する情報とは、例えば、操作オブジェクトに関する簡易コース上の位置情報である。いわゆる３次元の画像を生成する場合には、ユーザにより操作される操作オブジェクトの各頂点のデータ（頂点のワールド座標系での位置座標、色データ）を含む表示パラメータを演算し、演算された表示パラメータに基づいて、表示オブジェクトの画像をフレーム毎に順次生成する。次に、画像生成出力部３１０は、起動しているヘッドマウント装置のディスプレイに表示されている画面に、演算された表示オブジェクトを配置した画像をフレーム毎に生成し、ＨＭＤへ出力する。ＨＭＤは画像生成出力部３１０より出力された画像を表示する。  
【００４２】
図４は、本発明の一実施例に従った、ユーザ１による選択操作に基づいて生成されたＨＭＤに表示される画面を示す。画面４００は、ユーザ１によるアプリケーションの選択操作に基づいて生成されたＨＭＤ上に表示される画像である。図４において、ユーザ１は、第１のコントローラ４０２を用いて、第１のコントローラのセンサディスプレイに対してタッチ入力を行い、ＨＭＤ上の表示画面を眺めながら、レーシングゲームのコースメニューの選択操作を行い、コースＢ（４０６）を選択している。ユーザ１によりコースが選択されると該アプリケーションの選択情報は出力データとして、第１のコントローラの送信部２０６から本体装置の入力検出部３０２へ送信される。
【００４３】
図５は、本発明の一実施例に従った、アプリケーション開始時のユーザ１のＨＭＤ上に表示される画面５００Ａと、アプリケーション開始時のユーザ２〜Ｎのコントローラのディスプレイに表示される画面５００Ｂを示す。ユーザ１のＨＭＤ上に表示される画面は、ユーザ１による操作オブジェクトの詳細な画像(図５Ａではレーシングカー５０２Ａ)や、３次元のコース画像を表示しているのに対し、ユーザ２〜Ｎのディスプレイに表示される画面は、ユーザ１による操作オブジェクトを簡易化したアイコン（図５Ｂでは黒丸５０２Ｂ）や、２次元の簡易化したコース画像を表示している。これは、ユーザ１により操作される、画像はデータ容量が大きい場合に、それをそのまま第２〜第Ｎのコントローラへネットワークを介して送信すると、ネットワークの回線容量や、コントローラの通信速度に応じて、第２〜第Ｎのコントローラと本体装置との間で通信障害を生じる場合があるからである。従って、本実施例では、本体装置の送信部３０４はユーザ１により操作中のアプリケーション情報を簡易化した情報を送信する。
【００４４】
図６は、本発明の一実施例に従った、ユーザ１により操作されているアプリケーションを実行中のユーザ１のＨＭＤ上に表示される画面６００Ａと、アプリケーション実行中のユーザ２〜Ｎのコントローラのディスプレイに表示される画面６００Ｂを示す。ユーザ１のＨＭＤ上に表示されるアプリケーション実行中の画面は、ユーザ１による第１のコントローラ１００に対する操作に応じて更新表示される。同様に、ユーザ２〜Ｎのディスプレイ上に表示されるアプリケーション実行中の画面は、ユーザ１による第１のコントローラ１００に対する操作に応じて更新表示される。例えば、図５Ａではユーザ１により操作中のレーシングカーがＨＭＤへ更新表示され、図５Ｂではユーザ１により操作中のレーシングカーが第２〜第Ｎのコントローラのディスプレイへ更新表示されている。図５Ｂの画面５００Ｂの左部分に表示されるアイコン５０２Ｂは、ユーザ１による操作に応じてコース内を移動して、随時更新表示され、図６Ｂにおいては、画面６００Ｂの上部分に表示されている（アイコン６０２Ｂ）。
【００４５】
図７は、本発明の一実施例に従った、アプリケーション実行中のユーザ１のＨＭＤに表示される画面７００Ａと、アプリケーション実行中のユーザＫにより操作される第Ｋのコントローラのディスプレイに表示される画面７００Ｂと、アプリケーション動作中の第Ｋを除く第２〜第Ｎのコントローラのディスプレイに表示される画面７００Ｃを示す。ユーザ１は、ユーザ１により操作可能な操作オブジェクト（本実施例ではレーシングカー）を第１のコントローラのディスプレイ上で操作している（図７Ａ）。ユーザ１による第１のコントローラのディスプレイに対する操作に関する操作オブジェクトは、ユーザ１のＨＭＤ上（７００Ａ）、第２〜第Ｎのコントローラのディスプレイ上（７００Ｂ、７００Ｃ）へ更新表示される。
【００４６】
ここで、ユーザＫは、ユーザＫより操作可能なオブジェクト（本実施例ではバナナ）を第Ｋのコントローラのディスプレイ上で操作し、コース上の所定の位置に配置している（図７Ｂ）。ユーザＫによる第Ｋのコントローラのディスプレイに対する操作（本実施例ではコース上にバナナを配置）は、ユーザ１のＨＭＤ上（図７Ａの７００Ａ内に表示のバナナ）、第２〜第Ｎのコントローラのディスプレイ上（図７Ｂの７００Ｂ、図７Ｃの７００Ｃ内に表示の簡易コース上に配置されたバナナ）へ更新表示される。ユーザＫが複数の場合は、複数のオブジェクトが、各ユーザのディスプレイ上へ更新表示される。ユーザＫを除くユーザ２〜Ｎは、ユーザ１の開始したアプリケーションに参加しているものの、該アプリケーションに対して操作を行わず、ユーザ１とユーザＫとの間で行われている操作をコントローラのディスプレイ上で傍観している。
【００４７】
図８は、本発明の一実施例に従った、アプリケーション実行中のユーザ１のＨＭＤに表示される画面８００Ａと、アプリケーション実行中のユーザＫのコントローラのディスプレイに表示される画面８００Ｂと、アプリケーション実行中の（第Ｋを除く）第２〜第Ｎのコントローラのディスプレイに表示される画面８００Ｃを示す。本実施例では、ユーザ１による操作オブジェクト（レーシングカー）と、ユーザＫによる操作オブジェクト（バナナ）とが仮想空間上で重なったことに伴い、「ＨＩＴ！！」の文字がユーザ１のＨＭＤディスプレイ（図８Ａの８００Ａ）、ユーザＫのコントローラのディスプレイ（図８Ｂの８００Ｂ）、ユーザＫを除く第２〜第Ｎのコントローラのディスプレイ（図８Ｃの８００Ｃ）に表示されている。
【００４８】
図９は本体装置１２０の処理の流れを示すフローチャート図である。まず、本体装置は、インタフェースプログラム１２６Ａを取得する（ステップ９００）。そして、ユーザ１はコントローラ１を用いて、ＨＭＤを眺めながらアプリケーション、本実施例ではレーシングゲームを起動する。
【００４９】
次に、識別部３０８は、ネットワークを介してユーザ１により起動されたアプリケーションへ参加する第２〜第Ｎのコントローラを識別し、識別したコントローラに対し個別の識別子を割り当てる（ステップ９０２）。
【００５０】
次に、入力検出部３０２は、第１のコントローラ１００−１から送信されたユーザ１によるアプリケーションに関する選択情報、本実施例ではコース選択情報を受信して検出する（ステップ９０４）。
【００５１】
次に、送信部３０４は、入力検出部３０４により検出されたユーザ１によるアプリケーション選択情報に対応するアプリケーションの情報を簡易化した情報を、第２〜第Ｎのコントローラへ送信する（ステップ９０６）。すなわち、本実施例では、ユーザ１により選択されたレーシングゲームのコース番号、及び選択された該コース番号に対応する簡易化したコース画像等を送信する。
【００５２】
次に、受信部３０６は、第２〜第Ｎのコントローラから、アプリケーションの情報を簡易化した情報を受信した旨を伝えるＡＣＫ応答を受信する（ステップ９０８）。
受信部３０６のＡＣＫ応答の受信によって、本体装置は、アプリケーション、本実施例では選択されたコースＢによるレーシングゲームを開始する（ステップ９１０）。アプリケーション進行中、入力検出部３０２は、第１のコントローラ１００−１からユーザ１による操作オブジェクトに対する操作情報、ユーザ１による所定の操作に関する各種入力情報を逐次受信する。そして、画像生成出力部３１０は、入力検出部３０２から受信した該操作情報に基づいて、表示オブジェクトの表示演算を行い、表示オブジェクトの画像を生成し、起動しているヘッドマウント装置のディスプレイに表示されている画面に、生成された表示オブジェクトを配置した画像をフレーム毎に生成し出力する（ステップ９１０）。また、送信部３０４は、ユーザ１により操作される操作オブジェクトの仮想空間上の情報、本実施例ではユーザ１により操作されるレーシングカーのコース上の位置情報を、第２〜第Ｎのコントローラへ送信する（ステップ９１０）。
【００５３】
本体装置は、ユーザ１によりアプリケーションが終了されたか否かを判定する（ステップ９１２）。終了されていない場合に、受信部３０６は、アプリケーション参加の第２〜第Ｎコントローラのうち１のコントローラ（第Ｋのコントローラ）から、該１のコントローラにより操作される操作オブジェクトに対する操作情報、本実施例では、ユーザＫにより配置されたコース上のバナナの位置情報、及び第Ｋのコントローラの識別子を受信したかを判定する（ステップ９１４）。
【００５４】
次に、画像生成出力部３１０は、該受信した第Ｋのオブジェクトに対する操作情報に基づいて、第Ｋのオブジェクトの表示演算を行い、第Ｋのオブジェクトを配置した仮想空間上の画像をフレーム毎に生成し、ＨＭＤへ出力する（ステップ９１６）。また、送信部３０４は、第Ｋのオブジェクトに対する操作情報、本実施例では、ユーザＫにより配置されたコース上のバナナの位置情報を、第Ｋを除く第２〜第Ｎのコントローラへ送信する（ステップ９１６）。
【００５５】
ユーザによりアプリケーションが終了されるまで、ステップ９１０〜９１６は繰り返される。
図１０は第Ｋを除く第２〜第Ｎのコントローラ１００の処理の流れを示すフローチャート図である。第Ｋを除く第２〜第Ｎのコントローラ１００は、ユーザ１により起動されるアプリケーションに参加するものの、オブジェクトに対する操作は行わない傍観コントローラである。
【００５６】
まず、インターネットを介してコントローラ１００に備えられたアンテナ１１０によりインタフェースプログラム１０６Ａをコントローラ１００へダウンロードし、インストールする（ステップ１０００）。
【００５７】
次に、受信部２０８は、ユーザ１によるアプリケーション選択情報に対応するアプリケーションの情報を簡易化した情報を本体装置より受信する（ステップ１００２）。
次に、送信部２０６は、簡易化したアプリケーション情報を受信した旨を示すＡＣＫ応答を本体装置へ送信する（ステップ１００４）。
【００５８】
本体装置がＡＣＫ応答を受信すると、本体装置がアプリケーションを実行開始する。そしてコントローラの受信部２０８は、ユーザ１が操作中の操作オブジェクトに関する操作情報を簡易化した情報、本実施例では、コース上のレーシングカーの位置情報を本体装置から受信する（ステップ１００６）。そして、画像生成出力部２１０は、受信した第１のオブジェクトに関する情報を簡易化した情報に基づいて、第１のオブジェクトを、簡易化したアプリケーション情報の画像に配置して、コントローラのディスプレイへ出力する（ステップ１００６）。
【００５９】
受信部２０８は、ユーザ１によるアプリケーション終了情報を本体装置から受信したかを判定し（ステップ１００８）、アプリケーション終了ではない場合に、さらに本体装置の送信部３０４より、ユーザＫによる第Ｋの操作オブジェクトに対する操作情報を受信したかを判定する（ステップ１０１０）。
【００６０】
ユーザＫによる第Ｋの操作オブジェクトに対する操作情報を受信した場合に、画像生成出力部２１０は、第Ｋのオブジェクトを配置した画像を生成し、コントローラのディスプレイへ出力する（ステップ１０１２）。
【００６１】
ユーザによりアプリケーションが終了されるまで、ステップ１００６〜１０１２が繰り返される。
図１１は第Ｋのコントローラの処理の流れを示すフローチャート図である。第Ｋのコントローラ１００−Ｋは、ユーザ１により起動されるアプリケーションに参加し、かつアプリケーション上で第Ｋのオブジェクトに対する操作を行う操作コントローラである。
【００６２】
ステップ１１００〜ステップ１１０８は、図１０に記載のステップ１０００〜１００８とそれぞれ同じであるため、説明を割愛する。
ユーザ１によりアプリケーションが終了されていない場合に、操作部２０２は、実行中のアプリケーションの内容に応じて求められるユーザＫによる第Ｋの操作オブジェクトに対するユーザ操作を取得したかを判定する（ステップ１１１０）。ここで、実行中のアプリケーションの内容に応じて求められるユーザＫによる第Ｋの操作オブジェクトに対するユーザ操作とは、本実施例では、簡易化されたコース上にバナナを配置する操作である。
【００６３】
ユーザＫによる第Ｋの操作オブジェクトに対する操作情報を受信した場合に、画像生成出力部２１０は、第Ｋのオブジェクトを配置した画像を生成し、第Ｋのコントローラのディスプレイへ出力する（ステップ１１１２）。また、送信部２０６は、ユーザ操作に対応する第Ｋのオブジェクトに対する操作情報、本実施例では、配置されたバナナのコース上の位置情報を、本体装置の受信部３０６へ送信する（ステップ１１１２）。
【００６４】
ユーザによりアプリケーションが終了されるまで、ステップ１１０６〜１１１２が繰り返される。
図１２は第１のコントローラの処理の流れを示すフローチャート図である。第１のコントローラ１００−１は、ユーザ１により起動されるアプリケーションに参加し、かつアプリケーション上で第１のオブジェクトに対する操作を行う操作コントローラである。なお、ユーザ１はＨＭＤを装着して仮想空間に没入している。従って、ユーザが視認できる画像はＨＭＤに表示される画像であるので、第１のコントローラ１００−１のセンサディスプレイはもっぱらユーザ１による操作のために用いられる。
【００６５】
まず、インターネットを介してコントローラ１００に備えられたアンテナ１１０によりインタフェースプログラム１０６Ａをコントローラ１００へダウンロードし、インストールする（ステップ１２００）。
【００６６】
次に、送信部２０６は、第１のユーザにより選択されたアプリケーションに関する選択情報、本実施例では選択されたコース情報を本体装置の入力検出部３０２へ送信する（ステップ１２０２）。そして、第２〜第Ｎのコントローラからアプリケーション情報受信のＡＣＫ応答を受信すると、本体装置でアプリケーションが開始される。
【００６７】
次に、操作部２０２は、本体装置で実行中のアプリケーションの内容に応じて求められるユーザ１による第１のオブジェクトに関する操作情報を取得する。本実施例では、実行中のアプリケーションはレーシングゲームであり、実行中のアプリケーションの内容に応じて求められるユーザ操作とは、コントローラを傾斜させる操作、コントローラのセンサディスプレイを用いてレーシングカーの進む方向を操作する操作等である。そして、送信部２０６は、該第１のオブジェクトに関する操作情報を本体装置へ出力する（ステップ１２０４）。 本実施例では、第１のオブジェクトに関する操作情報とは、ユーザ１による所定の操作に関する各種操作入力情報であり、第１のコントローラの加速度、角速度センサからの動作入力情報、第１のコントローラのセンサディスプレイに対する操作入力情報である。
【００６８】
ユーザ１によりアプリケーションが終了されるまで、ステップ１２０４〜１２０６は繰り返される。
図１３は、本発明の一実施例に従った、第１のコントローラ、本体装置、第２〜第Ｎのコントローラ、第Ｋのコントローラ間でのデータの受け渡し図を示す。
【００６９】
以上、本発明の一実施形態に付き説明したが、本発明は上記実施形態に限定されるものではない。前述の請求項に記載されるこの発明の精神及び範囲から逸脱することなく、様々な実施態様の変更がなされうることを当業者は理解するであろう。
【要約】      （修正有）【課題】ディスプレイと、ネットワークを介して接続される複数のコントローラとを連動させて画面操作するシステム、プログラム、及び方法を提供する。【解決手段】第１ユーザにより選択されたアプリケーション情報を複数のコントローラへ送信し、第１ユーザにより実行中のアプリケーションにおいて、第１ユーザにより操作される第１オブジェクト情報を複数のコントローラへ送信する送信部と、第１オブジェクト情報の簡易化情報とアプリケーションの情報の簡易化情報とに基づいて、複数のコントローラのうち一の操作コントローラを操作する第２ユーザにより操作される第２操作オブジェクト情報を、一の操作コントローラから受信する受信部と、第１オブジェクトに関する情報、及び受信した第２操作オブジェクト情報に基づいて、第１オブジェクト及び第２オブジェクトを配置した画像を生成し、装置に接続されたディスプレイへ出力する、画像生成出力部とを備える。【選択図】図９【図１Ａ】
0005898756.tif 000002
【図１Ｂ】
0005898756.tif 000003
【図１Ｃ】
0005898756.tif 000004
【図２Ａ】
0005898756.tif 000005
【図２Ｂ】
0005898756.tif 000006
【図３】
0005898756.tif 000007
【図９】
0005898756.tif 000008
【図１０】
0005898756.tif 000009
【図１１】
0005898756.tif 000010
【図１２】
0005898756.tif 000011
【図１３】
0005898756.tif 000012
【図４】
0005898756.tif 000013
【図５Ａ】
0005898756.tif 000014
【図５Ｂ】
0005898756.tif 000015
【図６Ａ】
0005898756.tif 000016
【図６Ｂ】
0005898756.tif 000017
【図７Ａ】
0005898756.tif 000018
【図７Ｂ】
0005898756.tif 000019
【図７Ｃ】
0005898756.tif 000020
【図８Ａ】
0005898756.tif 000021
【図８Ｂ】
0005898756.tif 000022
【図８Ｃ】
0005898756.tif 000023