端末装置および情報処理システム
【課題】新規な端末装置を提供する。
【解決手段】端末装置100は、曲面形状または略曲面形状を有して構成される。端末装置100は、当該端末装置の表面への接触を検出する接触検出部122と、画像を表示する表示部112と、接触検出部122による検出値を送信する送信部152と、画像を生成するための画像データを受信する受信部154と、受信した画像データを用いて、表示部112に表示する画像を生成する制御部200と、を備える。
【解決手段】端末装置100は、曲面形状または略曲面形状を有して構成される。端末装置100は、当該端末装置の表面への接触を検出する接触検出部122と、画像を表示する表示部112と、接触検出部122による検出値を送信する送信部152と、画像を生成するための画像データを受信する受信部154と、受信した画像データを用いて、表示部112に表示する画像を生成する制御部200と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力装置または出力装置として動作する端末装置、およびその端末装置を利用した情報処理システムに関する。
【背景技術】
【0002】
従来のゲームコントローラは十字キーやボタンなどの入力インタフェースを備え、ゲーム装置に有線接続して、ユーザによる操作データをゲーム装置に伝送する。ユーザは両手でコントローラの左右のグリップをもち、手指で十字キーやボタンを操作する。近年、無線技術の進歩により、ゲーム装置に無線でデータを送受信できるコントローラが普及しはじめている。無線コントローラは、ゲーム装置との間の配線を不要とするため、ユーザは自由な位置でゲームをプレイできる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国公開特許2007−218994号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に開示される無線コントローラは、データを無線で送受信するものの、十字キーやボタンなどの入力インタフェースを変更するものではない。そのため、従来からある有線コントローラも、特許文献1に開示された無線コントローラも、その操作性に違いはない。
【0005】
コントローラに新たな入力インタフェースをもたせることで、ユーザによる操作の幅を広げることができ、その操作性を活かしたゲームアプリケーションのバリエーションも増やすことができる。また、従来のコントローラは、ユーザによる操作を受け付ける入力装置として利用されているが、コントローラにゲーム装置からの画像データを出力する出力装置としての機能ももたせることで、従来にないゲームアプリケーションの開発も期待できる。なお、ゲームの分野だけでなく、他の分野の処理装置においても、新たな入力インタフェースは、従来にないアプリケーションの開発を促進する。
【0006】
そこで本発明は、新たな操作性を実現する端末装置であって、入力装置としてだけではなく、出力装置としても使用可能な端末装置を提供することを目的とする。この端末装置は、入力装置または出力装置として使用されてもよい。また本発明は、この端末装置を利用した情報処理システムを提供することも目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明のある態様の端末装置は、曲面形状または略曲面形状を有する携帯型の端末装置であって、当該端末装置の表面への接触を検出する検出部と、画像を表示する表示部と、検出部による検出値を送信する送信部と、画像を生成するための画像データを受信する受信部と、受信した画像データを用いて、表示部に表示する画像を生成する制御部とを備える。
【0008】
本発明の別の態様は、情報処理システムである。この情報処理システムは、端末装置と、情報処理装置とを備えた情報処理システムであって、端末装置は、当該端末装置の表面への接触を検出する検出部と、画像を表示する表示部と、検出部による検出値を情報処理装置に送信する送信部と、画像を生成するための画像データを情報処理装置から受信する受信部と、受信した画像データを用いて、表示部に表示する画像を生成する制御部とを有する。情報処理装置は、端末装置から、検出値を受信する受信部と、検出値をもとに、画像データを生成するアプリケーション処理部と、画像データを情報処理装置に送信する送信部とを有する。
【0009】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0010】
本発明によると、新たな操作性を実現する端末装置を提供できる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施例にかかる情報処理システムの使用環境を示す図である。
【図2】端末装置の外観構成の一例を示す図である。
【図3】図2に示す端末装置の断面を示す図である。
【図4】内郭の内側の構造を示す図である。
【図5】端末装置の外観構成の別の例を示す図である。
【図6】図5に示す端末装置の断面を示す図である。
【図7】端末装置の機能ブロックを示す図である。
【図8】情報処理装置の機能ブロックを示す図である。
【図9】出力装置に対する端末装置の相対的位置を特定する処理を説明するための図である。
【図10】端末装置がユーザによって握られている状態を示す図である。
【図11】(a)は、出力装置の画面にキャラクタが表示される様子を示す図であり、(b)は、画面に表示されているキャラクタに端末装置を押し当てている様子を示す図であり、(c)は、キャラクタが端末装置に表示される様子を示す図である。
【図12】(a)は、端末装置がユーザの手指で挟まれている状態を示す図であり、(b)は、端末装置を5本の指で挟んだときにタッチセンサが検出する接触状態を示す説明図である。
【図13】(a)は、出力装置の画面に表示されるゲーム画像を示す図であり、(b)は、端末装置に表示されるゲーム画像を示す図である。
【発明を実施するための形態】
【0012】
図1は、本発明の実施例にかかる情報処理システム1の使用環境を示す。情報処理システム1は、情報処理装置10、出力装置20および端末装置100を備える。出力装置20は、たとえばテレビであり、画像および音声を出力する。情報処理装置10は、出力装置20に接続されて、出力装置20で出力する画像および音声を生成する。情報処理装置10と出力装置20は有線により接続されてもよく、また無線により接続されてもよい。端末装置100は無線通信機能を有し、情報処理装置10と無線リンクを確立することで、データの送受信を行うことができる。
【0013】
情報処理システム1は、ゲームをプレイする環境をユーザに提供するゲームシステムであってよい。この場合、情報処理装置10は、ゲームソフトウェアを実行するゲーム装置であり、端末装置100は、ユーザがゲームへの入力を行うためのコントローラ装置である。情報処理装置10は、ユーザが端末装置100を操作した情報をもとにゲームソフトウェアを実行して、実行結果を示す画像データおよび音声データを出力装置20に出力する。なお、本実施例に示す技術は、ゲームに限らず、他の種類のアプリケーションを実行する処理装置を備えた情報処理システムにおいても利用できる。
【0014】
携帯型の端末装置100は曲面形状または略曲面形状を有する。本実施例において略曲面は、複数の平面を並設することで曲面に近似させた面を意味する。端末装置100は、図1に示すように略球体の形状を有してもよく、また卵形の形状を有してもよい。なお端末装置100は、その一部に曲面形状または略曲面形状を有していればよく、形状全体が曲面または略曲面でなくてもよいが、少なくとも外郭全体の半分以上は、曲面形状または略曲面形状を有することが好ましい。
【0015】
端末装置100は、テーブルなどの平坦面に置かれたときに、置かれた姿勢を維持するように重心が設定されていることが好ましい。端末装置100が球体の形状を有する場合には、端末装置100の重心が、球体の中心に位置するように設定される。これにより、端末装置100は、置かれたときに転がることなく、置かれたときの姿勢を維持できる。なお端末装置100が球体以外の形状を有する場合、たとえば卵形の形状を有する場合には、頂部ではなく底部に重心が位置するように重量バランスが設定されて、底部を平坦面に載置すると、そのときの姿勢を維持するようにされることが好ましい。なお、端末装置100の内部に重心位置を調整する機構が設けられる場合には、重心調整機構が、載置されたときの姿勢を保つように、重心を動的に設定してもよい。
【0016】
端末装置100の表面はユーザにより操作される操作面を構成する。したがって操作面は、滑らかな操作感を提供するために、曲面または略曲面で形成されることが好ましい。また端末装置100は、図1に示すように、ユーザが片手で持つことのできる大きさであることが好ましい。これによりユーザは、端末装置100を片手で持ちながら操作面を操作することができ、また片手で持ちながら、他方の手で操作面を自由に操作することもできる。
【0017】
1つの使用態様において、端末装置100は、ユーザにより操作されて、情報処理装置10に操作入力データを送信する入力装置として動作する。端末装置100は、表面への接触を検出する接触センサを有し、端末装置100の表面がなんらかの物体、たとえばユーザの手指や、出力装置20のディスプレイ(画面)などと接触すると、その接触位置を検出する。このとき、位置だけでなく、圧力も検出できるようにしてもよい。ユーザが端末装置100を持つ位置や強さなどを変化させて、また、端末装置100を出力装置20の画面に押しつけたりすることで、接触センサは、端末装置100の表面への接触を検出し、端末装置100は、その検出値を情報処理装置10に送信する。
【0018】
接触センサは、端末装置100の曲面部分に連続的に設けられ、ユーザは、曲面上で手指を動かすことで、滑らかな操作感を得ることができる。なお接触センサは、端末装置100の全表面における接触を検出可能に設けられることが好ましく、これにより、ユーザは、端末装置100の全表面を使って、入力操作を行うことができる。端末装置100は、ユーザからの接触操作をもとに生成した入力データを、情報処理装置10に対して送信する。なお端末装置100の表面の一部が操作面を構成する場合には、その操作面に接触センサが設けられていればよい。操作面は、ユーザが操作しやすいように端末装置100上の連続した面に形成される。
【0019】
また端末装置100は、姿勢を検出するためのセンサ値を生成するモーションセンサを有する。モーションセンサは、3軸加速度センサおよび3軸角速度センサを有する。モーションセンサは、さらに3軸地磁気センサを有してもよい。情報処理システム1において、情報処理装置10は、端末装置100の姿勢変化を、実行中のアプリケーションへの入力データとして処理できる。そのため端末装置100は、モーションセンサの検出値を周期的に情報処理装置10に送信する。
【0020】
別の使用態様において、端末装置100は、表示部を有し、画像を表示する出力装置として動作する。端末装置100は、画像を生成するための画像データを情報処理装置10から受信し、その画像データをもとに、表示部に画像を表示する。なお端末装置100は、自身の記憶装置に保持する情報から画像を生成してもよい。表示部には、たとえばゲームのキャラクタなどが映し出される。ゲームキャラクタなどの表示物は、接触センサやモーションセンサなどの検出値に基づいて描画処理される。この表示制御は、情報処理装置10により実行されてもよいが、端末装置100に搭載される制御部によって実行されてもよい。
【0021】
表示部は、端末装置100の曲面部分に設けられる。表示部は、柔軟に湾曲することのできるEL(Electroluminescence)パネルなどにより形成され、曲面部分に表示パネルが貼り付けられる。表示部は、複数の表示パネルを組み合わせて構成されるが、1枚の表示パネルで構成されてもよい。また表示部は、複数の液晶パネルを、略曲面形状の多面体の各面に貼り合わせることで構成されてもよい。ここで、略曲面形状の多面体とは、20面体以上の多面体をさす。いずれの種類の表示パネルを採用した場合であっても、複数の表示パネルを、端末装置100の全表面を隙間無く覆うように連続的に配設することで、端末装置100は、全表面から画像を表示できるようになる。
【0022】
端末装置100において表示物は、接触センサやモーションセンサによって検出される端末装置100の状態変化に連動させることができる。この場合、端末装置100は、ユーザによる操作をセンサ値で取得し、そのセンサ値を反映した画像を表示する入出力装置として動作する。端末装置100が、このセンサ値取得機能と画像表示機能を備えることで、ユーザに直観的な操作感を提供できる。
【0023】
表示部とセンサとを重ね合わせることで、端末装置100は、タッチパネルの機能をもつことになる。なお表示部は、端末装置100の内部にプロジェクタを配設して、プロジェクタからの光をユーザが外部から視認可能に映し出すスクリーンであってもよい。このとき端末装置100の内部は中空に形成され、表示部は、プロジェクタからの光を外に映し出す透明または半透明材料で形成される。端末装置100内の空間中央には、プロセッサを搭載したコアが設けられており、端末装置100の全面に画像を映し出すために、コアに複数のプロジェクタが設けられる。
【0024】
図2は、端末装置100の外観構成の一例を示す。端末装置100は、画像を表示する表示部112を表面に備える。表示部112は、複数の表示パネル110a〜110v(以下、区別しない場合には、「表示パネル110」と表現する)を組み合わせて構成される。なお図2に示す端末装置100の背面にも、同じように、複数の表示パネル110が設けられている。このように端末装置100は、外表面の全体を複数の表示パネル110で隙間無く覆い、全表面から画像を表示できることが好ましい。端末装置100は、各表示パネル110に表示する画像データを生成する制御部を備える。
【0025】
表示パネル110は、ELパネルや液晶パネルなどによって形成される。ELパネルのように曲率をもつことのできるパネルは、曲面状に形成され、球体表面に直接貼り付けられる。なお複数の表示パネル110は、図2に示す配置だけでなく、たとえばサッカーボールのような20個の正六角形と12個の正五角形とを組み合わせた切頂二十面体の配置で端末装置100の表面に並べられてもよい。端末装置100の表面は、樹脂などの透明材料により保護され、曲面形状または略曲面形状を形成する。たとえば、表示パネル110が液晶パネルであって、切頂二十面体の各面に貼り付けられる場合、端末装置100の表面を樹脂で覆い、曲面形状をもたせることで、ユーザは端末装置100の表面上で手指を動かしたとき、滑らかな操作感を得ることができる。
【0026】
図3は、図2に示す端末装置100の断面を示す。端末装置100の内部空間中央には内部コア140が配置される。内部コア140には、端末装置100の処理を制御する制御部や、外部装置と通信する通信部、また端末装置100の動きや姿勢を検出するためのセンサなどが設けられる。端末装置100の全体を覆う透明な保護層130が外郭を形成し、保護層130の内側には、保護層130の内面に隙間無く設けられた複数の表示パネル110を有する表示部112が設けられる。
【0027】
表示部112の内側には、端末装置100の表面への接触を検出する接触検出部122が設けられる。接触検出部122は、複数のタッチセンサ120を有する。複数のタッチセンサ120は、中空の球体である内郭134により支持され、端末装置100の全表面における接触を検出可能に設けられることが好ましい。そのために複数のタッチセンサ120は、内郭134上に隙間無く配置される。これによりユーザは、後述するように、端末装置100の姿勢や向きを気にすることなく、端末装置表面を触ることで、情報処理装置10への入力を行えるようになる。なお、タッチセンサ120の配置密度は、表示パネル110の配置密度よりも高く、1つの表示パネル110の下方には、2以上のタッチセンサ120が設けられている。接触検出部122は、他のセンサ、たとえば圧力センサを有してもよい。内郭134は、可撓性をもつ樹脂材料で形成されることが好ましい。
【0028】
内郭134は、内部コア140から延出される棒状の支持部材132により支持される。これにより、内郭134の内側を空間にし、端末装置100を軽量化できる。またユーザが、端末装置100をある程度押しつぶしたり、また変形できるように、支持部材132は、伸縮可能な弾性材料、たとえば、ばねで形成されることが好ましい。これにより、ユーザは、球体の端末装置100の表面が凹むことで、入力操作を行ったことを認識できるようになり、従来にない入力インタフェースを実現できる。内部コア140と表示部112の間は、たとえば支持部材132の内部に設けた配線により電気的に接続される。内部コア140と接触検出部122の間の配線も、同様に設けられてよい。なお、図3に示す端末装置100は中空構造をとるため、この空間に配線を設けることも可能である。
【0029】
図4は、内郭134の内側の構造を示す。この例では、6本の支持部材132が内部コア140から内郭134に向けて設けられ、押されると、それぞれ長さ方向に縮むように構成されている。なお、支持部材132は6本より多くてよく、端末装置100の球体の形状を維持しつつ、ユーザの手指などにより押されると、その押された箇所が変形し、手指が離されると、元の球体形状に戻るように構成されていればよい。
【0030】
なお図3,図4では、中空構造の端末装置100を示したが、端末装置100は、弾性材料を充填された中実構造を有してもよい。軽量化の点においては中空構造の方が優れているが、中実構造を採用することで、形状を安定に維持できる利点がある。
【0031】
図5は、端末装置100の外観構成の別の例を示す。端末装置100は、内部にプロジェクタを有し、内部から画像を表示部112に投影する。表示部112は、プロジェクタからの光を映し出し、外部のユーザが、その映し出された画像を見ることのできる材料で形成される。またプロジェクタからの光を表示部112に投影するために、この例の端末装置100は、中空構造をとる必要がある。
【0032】
図6は、図5に示す端末装置100の断面を示す。端末装置100の内部空間中央には内部コア140が配置される。内部コア140には、上記したように制御部、通信部および各種センサなどが設けられる。また内部コア140の表面には、複数のプロジェクタ142が設けられる。透明な保護層130の内側には、透明もしくは半透明の投影面となる表示部112が設けられ、また表示部112の内側には、図3に示したように、内郭134に支持された接触検出部122が形成される。
【0033】
図6に示す端末装置100では、プロジェクタ142が表示部112に画像を投影するために、内郭134および接触検出部122は透明材料により形成され、画像光が内郭134および接触検出部122を介して、表示部112に投影されるようになる。複数のプロジェクタ142が内部コア140上に設けられ、それぞれから出力される光を組み合わせることで、表示部112の全体に画像光が到達するようにされる。
【0034】
図7は、端末装置100の機能ブロックを示す。端末装置100は、その表面部分にて、表示部112および接触検出部122を備え、また内部コア140において、制御部200、通信部150およびモーションセンサ160を備える。端末装置100における各構成は、図示しないバッテリにより電力の供給を受ける。バッテリは、無線給電により充電される。
【0035】
通信部150は、送信部152および受信部154を有し、IEEE802.11やIEEE802.15.1などの所定の通信プロトコルを用いて、情報処理装置10との間でデータを送受信する。モーションセンサ160は、端末装置100の動きや姿勢を検出するためのデータを検出する検出部であって、3軸の加速度センサ162、3軸の角速度センサ164および3軸の地磁気センサ166を有する。
【0036】
制御部200は、接触検出部122およびモーションセンサ160から各検出値を受け取り、通信部150に供給する。送信部152は、所定の周期で、検出値を情報処理装置10に送信する。この送信周期は、出力装置20のフレームレートに応じて定められ、16.6m秒(=1/60)より短く設定されるのが好ましい。送信周期は、たとえば10m秒である。
【0037】
複数のタッチセンサ120は、それぞれ検出値を制御部200に供給する。このとき各タッチセンサ120は、自身を特定する識別番号とともに、検出値を制御部200に送出する。これにより、識別番号と検出値とが対応付けられて、制御部200に送られることになる。なお、制御部200は、検出値が入力されるポートによってタッチセンサ120を識別し、識別番号と検出値とを対応付けてもよい。このように制御部200は、タッチセンサ120の識別番号と検出値とを対応付けて、送信部152から情報処理装置10に送信させるようにする。
【0038】
受信部154は、所定の周期で、情報処理装置10から画像データを受信する。受信周期は、送信周期と同じく10m秒に設定される。制御部200は、受信部154から画像データを受け取ると、表示部112に表示する画像を生成し、各表示パネル110にて表示させる。表示パネル110に表示させる画像の描画データは、制御部200で生成してもよく、また情報処理装置10で生成してもよい。以下では、情報処理装置10にて描画データを生成する例を説明する。なお、図6に示すように、プロジェクタ142から画像を投影する場合には、制御部200がプロジェクタ142に対して画像データを提供する。
【0039】
なお端末装置100は、表示部112のみならず、スピーカを備えた出力装置として動作してもよい。このとき受信部154は、情報処理装置10から、音声データを受信し、スピーカが音声を出力する。音声データは、画像データとともに圧縮されて送信され、制御部200は、描画データを表示部112に、音声データをスピーカにそれぞれ出力する。また、端末装置100がモータなどの振動子を有する場合、受信部154は、情報処理装置10から振動子の駆動信号を受信し、制御部200が振動子を駆動してもよい。
【0040】
図8は、情報処理装置10の機能ブロックを示す。情報処理装置10は、通信部30、端末情報処理部40および制御部50を備える。通信部30は、送信部32および受信部34を有し、IEEE802.11やIEEE802.15.1などの所定の通信プロトコルを用いて、端末装置100との間でデータを送受信する。端末情報処理部40は、姿勢特定部42および位置特定部44を有する。姿勢特定部42は、情報処理装置10の姿勢および動きを特定し、位置特定部44は、情報処理装置10の空間内の位置を特定する。具体的に位置特定部44は、端末装置100が出力装置20の表示画面に接触したときの出力装置20の画面上の位置を特定する。制御部50は、キー設定部52およびアプリケーション処理部54を有する。キー設定部52は、端末装置100をゲームコントローラとして使用する場合に、端末装置100の操作面の任意の位置に、操作キーを設定する機能をもつ。またアプリケーション処理部54は、端末装置100や端末情報処理部40からセンサ情報や端末情報を取得し、アプリケーションの処理に反映する機能をもつ。
【0041】
図8において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0042】
まず端末情報処理部40の動作について説明する。受信部34が端末装置100からモーションセンサ160の検出値を受信し、姿勢特定部42に渡す。姿勢特定部42は、静止時の端末装置100における3軸の加速度センサ162の検出値を、端末装置100の基準姿勢における基準値として予め保持している。姿勢特定部42は、端末装置100が静止していれば、受け取った検出値と基準値との差分から、現在の姿勢を特定する。また端末装置100が動いている場合には、姿勢特定部42は、3軸の加速度センサ162の検出値と、3軸の角速度センサ164の検出値とから、現在の姿勢を特定する。また姿勢特定部42は、3軸の加速度センサ162の検出値と、3軸の角速度センサ164の検出値とから、端末装置100の動きも特定する。特定される端末装置100の動きは、端末装置100の移動方向および移動量を含む。なお姿勢特定部42は、地磁気センサ166の検出値も加味して、端末装置100の姿勢および動きを特定してもよい。
【0043】
実施例で示す端末装置100は、球対称の形状を有するため、ユーザは、端末装置100を回転したり傾けたりしても、端末装置100の現在の姿勢を意識することはない。そのため姿勢特定部42が、モーションセンサ160の検出値を用いて、リアルタイムで端末装置100の姿勢を把握しておくことは、後述するアプリケーションを実行する際に重要となる。
【0044】
位置特定部44は、端末装置100の位置を特定する。なお、本実施例の情報処理システム1において、位置特定部44は、端末装置100と出力装置20との相対的な位置関係を特定できればよく、たとえば端末装置100が出力装置20の画面に接触したときの出力装置20の画面上の位置を特定できればよい。また位置特定部44は、端末装置100と出力装置20の画面との距離を特定できることが好ましい。
【0045】
情報処理システム1において、出力装置20の画面を撮影するカメラを配置し、位置特定部44が、端末装置100が画面に接触したときの位置を特定できるようにしてもよい。位置特定部44は、カメラの撮像画像から、端末装置100が出力装置20の画面に接触したことを判定すると、そのときの出力装置20の画面上の接触位置を特定する。なお位置特定部44は、接触検出部122の検出値をもとに、端末装置100がなんらかの物体に接触したか否かの判定を行ってもよく、接触判定により接触が検出されたときのカメラの撮像画像から、出力装置20の画面上の接触位置を特定してもよい。
【0046】
図9は、位置特定部がカメラの撮像画像から出力装置20に対する端末装置100の相対的位置を特定する処理を説明するための図である。図9(a)は、出力装置20の画面右上隅にカメラ60を配置した状態を示す。カメラ60を画面右上隅に設置した場合、位置特定部44は、画面横方向にX軸、画面縦方向にY軸を仮想的に設定し、画面右上隅の座標を(0,0)、画面左上隅の座標を(Xmax,0)、画面左下隅の座標を(Xmax,Ymax)、画面右下隅の座標を(0,Ymax)と設定する。なおカメラ60の配置位置は、出力装置20の画面右上隅に限らず、カメラ60の画角に出力装置20の画面全体が入り、カメラ60が出力装置20の画面全体を撮像できる場所であればよい。カメラ60が画角180度の魚眼レンズを有する場合には、出力装置20の画面上部中央位置にカメラ60が設置されてもよい。図9(a)では、ユーザが端末装置100を、出力装置20の画面に押しつけている様子が示される。
【0047】
図9(b)は、カメラ60の撮像画像を示す。説明の便宜上、図9(b)では、ユーザの手は省略している。位置特定部44は、この撮像画像から、端末装置100が存在するXY空間における座標(x,y)を特定する。位置特定部44が、接触検出部122の検出値をもとに端末装置100の接触を検出すると、撮像画像中の端末装置100と出力装置20の接触点を特定することで座標(x,y)を導出し、出力装置20の画面上の接触位置を求める。
【0048】
なお、位置特定部44は、接触判定の結果を用いずに、カメラ60の撮像画像のみから出力装置20に対する端末装置100の相対的位置を特定することもできる。位置特定部44は、撮像画像を解析することで、端末装置100と出力装置20の画面とが接触しているか検出してもよい。また位置特定部44は画像解析により、端末装置100と出力装置20の画面との距離を導出できるようにしてもよい。なお、端末装置100と出力装置20の画面との距離を求めるために、光軸を画面に平行とするカメラを別途設置して、位置特定部44が、そのカメラの撮像画像から、接触判定、または離間距離の導出をできるようにしてもよい。
【0049】
また、出力装置20の画面をタッチパネルで構成することで、端末装置100が画面に接触したときの位置を特定してもよい。このとき位置特定部44は、接触検出部122の検出値をもとに、端末装置100がなんらかの物体に接触したか否かを判定する。接触検出部122の検出値から端末装置100が接触したことが判定されたタイミングと、出力装置20のタッチパネルに接触があったタイミングとが一致すれば、位置特定部44は、出力装置20のタッチパネルに接触があった位置に、端末装置100が接触したことを判定する。なお、タイミングが一致したことだけでなく、接触面積の情報を用いて、端末装置100と出力装置20の画面とが接触したことが判定されてもよい。
【0050】
端末装置100は、タッチセンサ120の識別番号と検出値とを対応付けた検出値データを、情報処理装置10に周期的に送信している。情報処理装置10は、タッチセンサ120の識別番号と、端末装置100におけるタッチセンサ120の位置とを対応付けたテーブルを保持する。このテーブルは、制御部50により保持され、制御部50がアプリケーションの処理に反映するデータの生成に利用されるが、位置特定部44により保持されていてもよい。位置特定部44は、このテーブルを保持することで、接触を検出したタッチセンサ120の端末装置100における位置を特定できる。
【0051】
このとき位置特定部44は、新たに接触を検出した複数のタッチセンサ120から、端末装置100における接触面積を導出する。端末装置100は、ユーザの指でもたれているため、端末装置100と出力装置20との接触以前に、指による接触を検出しているタッチセンサ120は存在しているが、位置特定部44は、新たに接触を検出したタッチセンサ120を特定することで、出力装置20に端末装置100が接触したときの端末装置100上の接触面積を特定する。位置特定部44は、出力装置20のタッチパネル上で接触があった面積と、端末装置100において新たな接触があった面積とを比較して、両者がほぼ一致していれば、端末装置100と出力装置20の画面との接触を判定する。タッチパネルを利用することで、画面上の接触位置を容易に特定することができる。
【0052】
以上のように、位置特定部44は、端末装置100が出力装置20の画面に接触したときの画面上の位置を特定する。
以下、情報処理システム1における端末装置100の使用例を示す。なお、1つの使用例において説明する情報処理装置10の処理や機能は、別の使用例においても適用可能である。
【0053】
(使用例1)
使用例1では、端末装置100の表面にキーを割り当て、キー操作可能な入力装置として使用する。まず、以下では、ユーザが端末装置100を握った状態に応じて、動的にキーを割り当てる例を示す。
【0054】
図10は、端末装置100がユーザによって握られている状態を示す。図10に示すように端末装置100が握られる場合、手のひらと手指とが端末装置100の表面に接触する。端末装置100において、接触領域の下方に存在するタッチセンサ120は、接触があったことを示す検出値を制御部200に供給する。制御部200は、各タッチセンサ120の識別番号と検出値とを対応付けて、検出値データを生成し、送信部152が、情報処理装置10に送信する。
【0055】
情報処理装置10において、受信部34が検出値データを受信すると、キー設定部52が、各タッチセンサ120による検出値から、指の種類を特定する。制御部50は、タッチセンサ120の識別番号と、端末装置100におけるタッチセンサ120の位置とを対応付けたテーブルを保持している。したがってキー設定部52は、検出値データを受け取ると、含まれる識別番号と検出値を仮想球体上に展開して、端末装置100の接触状態を再現できる。キー設定部52は、再現した接触状態から、手のひらを検出する。
【0056】
キー設定部52が、検出値データから接触状態を仮想球体上に再現すると、連続した細長い5つの接触領域と、その5つの接触領域の端部付近に位置する連続した大きな接触領域とが検出される。まずキー設定部52は、大きな接触領域を手のひらと特定する。続いて、手のひらから延びている細長い5つの接触領域のうち、手のひらの両端から延びている2つの接触領域を特定する。キー設定部52は、両端の接触領域を比較し、接触領域の短手方向に太い指を親指、細い指を小指として特定する。なおキー設定部52は、手のひらから延びている細長い両端の接触領域の長手方向の長さを比較し、たとえば短い指を親指、細い指を小指として特定してもよい。またキー設定部52は、手のひらから延びている細長い両端の接触領域の面積を比較し、たとえば面積の大きい指を親指、小さい指を小指として特定してもよい。以上のように、親指と小指とを特定することで、親指と小指の間の3つの接触領域の指も特定でき、また指の先端位置も特定できる。
【0057】
キー設定部52は、指の先端位置に、キーを設定する。図10に示す例では、中指の先端に、上方向キー302a、人差し指の先端に、左方向キー302b、薬指の先端に、右方向キー302c、親指の先端に、方向キー302dを設定する。キー設定部52は、各指の先端に設定した方向キー302の位置情報を、キー設定情報として、アプリケーションを実行するアプリケーション処理部54に引き渡す。
【0058】
アプリケーション処理部54は、キー設定情報にしたがって、ユーザからの入力を監視する。ここでは、ユーザが、指を端末装置100から離すことで、アプリケーションへの入力が行われるものとする。ユーザがたとえば中指を端末装置100から離すと、設定した上方向キー302aの領域への接触がなくなり、その位置のタッチセンサ120の検出値が変化する。アプリケーション処理部54は、検出値データを受け取っている間に、上方向キー302aが設定されている領域のタッチセンサ120の検出値が接触を示すオン値から非接触を示すオフ値に変化したときに、上方向キー302aの入力がなされたことを検出し、アプリケーションの処理に反映する。
【0059】
なおユーザが、指を端末装置100から離して再度触ったときに、アプリケーションへの入力が行われたものとしてもよい。ユーザがたとえば中指を端末装置100から離すと、設定した上方向キー302aの領域への接触がなくなり、その位置のタッチセンサ120の検出値が変化して、非接触を示すオフ値となる。検出値の変化後、所定時間以内に、再度、検出値が接触を示すオン値となると、アプリケーション処理部54は、上方向キー302aの入力がなされたことを検出し、アプリケーションの処理に反映してもよい。なおこのとき、アプリケーション処理部54は、再接触があった位置と対向する位置、具体的には端末装置100において再接触位置から球中心を通り反対側の位置の接触/非接触を監視し、再接触の検出と同時に、その反対側位置に、より大きな圧力が加わったことが検出されたときに、上方向キー302aの入力がなされたことを検出してもよい。たとえば、圧力が大きくなったことは、オン値を出力するタッチセンサ120の数が増えたことにより検出される。
【0060】
以上は、接触検出部122がタッチセンサ120で構成されたときの例であるが、接触検出部122は圧力センサで構成されてもよい。圧力センサで構成される場合、ユーザが端末装置100の表面を指で強く押すことで、アプリケーションへの入力がなされてもよい。このときアプリケーション処理部54は、キー設定情報にしたがって、方向キー302が設定されている領域の圧力センサの検出値を監視し、検出値が所定値よりも大きくなったときに、方向キー302の入力がなされたことを検出し、アプリケーションの処理に反映する。
【0061】
このようにキー設定部52が、ユーザが端末装置100を把持したときの手指の位置に合わせて、動的にキーを設定することで、ユーザは、自然な持ち方で、端末装置100を入力装置として使用できるようになる。また、割り当てるキーの種類も、実行するアプリケーションに応じて動的に変更することができ、従来にない入力装置を実現できる。たとえば、図10に示す例では、4つの手指の先端に上下左右の方向キー302を割り当てたが、たとえばキャラクターにジャンプ動作、しゃがむ動作、前進動作、後退動作をさせるアプリケーションにおいては、それぞれの動作を指定する操作キーを、各指の先端領域に割り当ててもよい。
【0062】
また、キー設定情報の生成後、1つの手指が動かされて、別の位置に配置されるような場合には、キー設定部52が、その手指に対するキー設定情報の変更処理を行う。すなわち、キー設定部52は、元のキー設定情報で特定される領域への接触がなくなり、所定時間にわたり新たな領域への接触の検出が続くと、元の領域を新たな領域へと変更したキー設定情報を再生成する。
【0063】
またユーザが端末装置100を持ち替えた場合には、それまでの端末装置100で検出されていた接触領域が大きく変更されることになる。そのような場合には、キー設定部52が、再度、手指の特定処理を実行して、キー設定情報を生成する。
【0064】
なおキー設定部52は、一度キーを割り当てると、割り当てたキーの相対的な位置関係を保持しておく。キー設定部52は、キー設定情報を、相対的な位置関係として保持しておいてもよい。キー設定部52は、次回、端末装置100に同じキー(図10の例では方向キー)を設定する際には、保持した位置関係をもとに、割り当てたキーの画像を、表示部112に表示する。図10の例では、矢印のマークが表示されてもよい。キー設定部52が保持する位置関係は、ユーザの手の大きさにあったものであるため、ユーザは、表示されたキー画像に指を合わせることで、キー設定処理を省略することができる。
【0065】
なお、キー設定部52は、保持した位置関係をもとにキーを割り当てる際に、毎回、割り当てる領域が異なるようにする。ユーザは、端末装置100を握った状態でキー操作するため、常に同じ領域にキーを割り当てると、その部分の表示パネル110やタッチセンサ120などの劣化が早まる可能性がある。そのため、キー割当の際に、基準姿勢をもとに、ランダムにキー割当の際の姿勢を設定することで、劣化が特定の箇所に集中することを回避できる。たとえば、割り当てたキーの相対的な位置関係を、中指に割り当てる上方向キー302aを基準とした位置関係として保持している場合、上方向キー302aの領域を、毎回ランダムに定めることで、割り当てる領域を毎回異ならせることが可能となる。なお、キー設定部52が前回のキー設定情報を保持している場合には、上方向キー302aの領域を任意に設定し、その領域を基準として、他の方向キーの領域を、前回のキー設定情報から演算により求めてもよい。
【0066】
なお、ゲームコントローラとして端末装置100が使用される場合、端末装置100は、情報処理装置10からコントローラ番号を割り当てられる。アプリケーション処理部54は、割り当てたコントローラ番号を示す画像を、表示部112に所定期間表示させる。これにより、ユーザは、割り当てられたコントローラ番号を知ることができる。その後、上記したキー割当処理が行われてもよい。
【0067】
(使用例2)
使用例2では、端末装置100の表示部112に画像を表示させ、具体的には、出力装置20に表示されているキャラクタなどのオブジェクトが、あたかも端末装置100に移動したかのような画像処理を行う。具体的には、まず出力装置20にオブジェクトが表示されている状態で、所定の条件が成立したことを契機として、出力装置20におけるオブジェクトの表示処理を停止し、端末装置100におけるオブジェクトの表示処理を行うことで、ユーザに、オブジェクトが出力装置20から端末装置100に移動してきたかのような感覚を与えることができる。この様子を、図11(a)〜図11(c)を用いて説明する。
【0068】
アプリケーション処理部54は、オブジェクトの表示画像を生成し、出力装置20に出力する。図11(a)は、出力装置20の画面にキャラクタが表示される様子を示す。このキャラクタが表示されている画面上の領域に、ユーザが端末装置100を接触させる。図11(b)は、画面に表示されているキャラクタに端末装置100を押し当てている様子を示す。
【0069】
既述したように、位置特定部44は、端末装置100が出力装置20の画面に接触したときの出力装置20の画面上の位置を特定する。アプリケーション処理部54は、キャラクタの表示位置を把握しており、キャラクタ表示位置と、位置特定部44で特定された位置とが一致しているか判定する。一致している場合、アプリケーション処理部54は、キャラクタが出力装置20から端末装置100に移動するような演出を行うべく、端末装置100用のキャラクタの画像データを生成する。
【0070】
制御部50は、端末装置100におけるタッチセンサ120の識別番号と、端末装置100におけるタッチセンサ120の位置とを対応付けたテーブルを保持している。また、制御部50は、端末装置100における表示パネル110の識別番号と、端末装置100における表示パネル110の位置とを対応付けたテーブルも保持している。また制御部50は、タッチセンサ120と表示パネル110との位置関係を特定するテーブルも保持している。
【0071】
アプリケーション処理部54は、各タッチセンサ120の検出値から、出力装置20の画面に接触されたことを示す検出値を出力したタッチセンサ120を特定する。アプリケーション処理部54は、端末装置100がユーザの手指により保持されている状態から、新たに接触を検出したタッチセンサ120を特定する。なお、この特定は、位置特定部44により行われて、アプリケーション処理部54は、位置特定部44から、出力装置20に接触したタッチセンサ120の識別番号を取得してもよい。
【0072】
アプリケーション処理部54は、タッチセンサ120と表示パネル110との位置関係を特定するテーブルを利用して、接触位置の反対に位置する表示パネル110を特定する。この表示パネル110は、図11(b)において、端末装置100の中心位置に存在する。アプリケーション処理部54は、図11(b)において端末装置100の中心に位置する表示パネル110を特定すると、この表示パネル110にキャラクタ画像の中心がくるように、端末装置100用のキャラクタの画像データを生成する。端末装置100の表示部112において、キャラクタ画像は、複数の表示パネル110に分割して表示されることになるが、アプリケーション処理部54は、表示パネル110の識別番号と、その表示パネル110に表示させる画像データとを対応付けて、キャラクタ全体の画像データを生成する。送信部32は、生成された画像データを端末装置100に送信し、制御部200は、指定された表示パネル110の識別番号と画像データをもとに、各表示パネル110で表示する画像を生成する。図11(c)は、キャラクタが端末装置100に表示される様子を示す。端末装置100がキャラクタを表示すると同時に、出力装置20は、キャラクタの表示を終了する。
【0073】
図11(c)にキャラクタが表示された状態で、再度、端末装置100を出力装置20の画面に押しつけると、アプリケーション処理部54は、キャラクタを、押しつけられた出力装置20の画面位置に戻してもよい。端末装置100が押しつけられた出力装置20の画面上の位置は、位置特定部44により特定される。この例では、ユーザが、キャラクタを端末装置100に移動させ、また出力装置20に戻すアプリケーションを実現できる。アプリケーション処理部54は、端末装置100におけるキャラクタの表示を中止し、出力装置20の画面上の任意の位置にキャラクタを表示できるので、たとえば、キャラクタが端末装置100に移動している間は、キャラクタが体力を回復し、回復後、またキャラクタをゲーム画面に戻すような、よりインタラクティブなゲームを作ることができる。
【0074】
なお、図11(a)〜図11(c)では、キャラクタの表示を出力装置20の画面から端末装置100の表示部112に切り替える例を示したが、画面上の接触位置に応じた表示物が表示部112に表示されてもよい。たとえば、あるアプリケーションを実行中に、端末装置100を出力装置20の画面に接触させると、出力装置20の接触位置に表示されている内容に関係するヘルプ画面が表示部112に表示されてもよい。
【0075】
なお既述したように、位置特定部44は、端末装置100と出力装置20の画面との距離を導出できる。図11(b)は、端末装置100を出力装置20の画面に押し当てている様子を示しているが、端末装置100を画面に接触させるまでの過程において、位置特定部44は、端末装置100と出力装置20の画面との距離を導出して、アプリケーション処理部54に伝え、アプリケーション処理部54は、所定の距離よりも接近した場合に、端末装置100への表示対象となるキャラクタが選択されたことをユーザに通知するようにしてもよい。この通知は、たとえば端末装置100の表示部112に、キャラクタが吸い込まれるような画像を生成することで行われてもよく、また、出力装置20の画面上でキャラクタが端末装置100に吸い込まれるような画像を生成することで行われてもよい。このような通知により、ユーザは、端末装置100の表示部112に表示させるキャラクタを認識でき、そして押し当てた時点で、完全なキャラクタが表示部112にて表示されるようにしてもよい。
【0076】
(使用例3)
使用例3では、端末装置100に表示したオブジェクトを、ユーザの操作に応じて制御する。以下、使用例2で説明した図11(c)に示すキャラクタの動作を制御する例を示す。
【0077】
図12(a)は、端末装置100がユーザの手指で挟まれている状態を示す。このように挟持された場合、手のひらに面する表示部112にキャラクタを表示しても、ユーザは見ることができない。そのため、アプリケーション処理部54は、各タッチセンサ120の検出値から、端末装置100が挟持されている状態を特定し、具体的には、右手であるか、左手であるかを特定して、手のひらの位置を推測する。
【0078】
図10に示すように、端末装置100が握られている場合には、手のひらも端末装置100の表面に接触するため、タッチセンサ120の検出値により、手のひらの位置を特定できる。一方、図12(a)に示すように、端末装置100が指で挟持されている場合には、手のひらが端末装置100の表面に接触しないため、タッチセンサ120の検出値から直接手のひらの位置を特定することはできない。そのため、アプリケーション処理部54は、各タッチセンサ120の検出値から、挟持している手が右手か左手かを判定する。
【0079】
図12(b)は、端末装置100を5本の指先で挟んだときにタッチセンサ120が検出する接触状態を示す説明図である。5本の指先で挟んだとき、5つの接触領域304a〜304eが検出される。なお点線で表現している接触領域304eは、図12(b)に示す状態において、端末装置100の下面側に位置する。このとき、アプリケーション処理部54は、一番小さい接触領域304dを検出することで、右手または左手の判定を行う。5本の手指で端末装置100を挟んだとき、小指の接触領域が一番小さくなる。そのため、アプリケーション処理部54は、接触領域304dの指が小指であることを判定する。小指が特定されると、小指に一番近い位置に薬指が存在するため、接触領域304cの指が薬指、接触領域304bの指が中指、接触領域304aの指が人差し指であることが判定でき、接触領域304eが親指であることも判定できる。
【0080】
なおアプリケーション処理部54は、親指の接触領域を特定することで、各接触領域の指を特定してもよい。5本の手指で端末装置100を挟んだとき、親指の接触領域が一番大きくなる。そのため、アプリケーション処理部54は、接触領域304eの指が親指であることを判定する。親指が特定されると、親指に一番近い位置に人差し指が存在するため、接触領域304aの指が人差し指であることが判定できる。したがって、順に中指、薬指、小指の接触領域を判定できる。
【0081】
なおアプリケーション処理部54は、親指の接触領域が一番大きく、小指の接触領域が一番小さくなることを利用して、各接触領域304の面積から、親指および小指を特定してもよい。
【0082】
またアプリケーション処理部54は、接触領域304の間隔から、手指を特定してもよい。手のサイズに対して、端末装置100が相対的に大きい場合、親指と、親指以外の4つの指は、図12(b)に示すような配置となる傾向がある。すなわち、親指以外の4つの指同士の間隔は、比較的狭く、親指が、他の指と比較的離れるように配置される。アプリケーション処理部54は、1つの接触領域304に対して、他の4つの接触領域304との間隔を演算し、演算した4つの間隔のうち、最も小さい間隔を特定する。この処理により、5つの指に対してそれぞれの最小間隔が導出される。アプリケーション処理部54は、各接触領域304における最小間隔の大小を比較する。このとき、最も大きい最小間隔と、2番目に大きい最小間隔との比を導出し、(最も大きい最小間隔)/(2番目に大きい最小間隔)が2以上である場合に、手のサイズに対して端末装置100が相対的に大きいことが判定され、以下の指特定処理が実行される。
【0083】
アプリケーション処理部54は、最も大きい最小間隔をもつ接触領域304を、親指の接触領域として特定する。図12(b)の場合は、接触領域304eが親指であることが特定される。親指が特定されると、次に人差し指が特定される。端末装置100が手のサイズに対して相対的に大きい場合、親指と人差し指の間隔の方が、親指と小指の間隔よりも狭くなる。そのため、アプリケーション処理部54は、接触領域304eに最も近い接触領域304aを、人差し指の接触領域として特定する。その後、アプリケーション処理部54は、中指、薬指、小指の接触領域を特定する。
【0084】
なお、手のサイズに対して端末装置100が相対的に小さい場合、すなわち(最も大きい最小間隔)/(2番目に大きい最小間隔)が2よりも小さい場合、ユーザは、指の腹ではなく、指の先端で端末装置100を持つようになる。したがって、この場合は、上記したように、接触領域304の面積を利用した指特定処理が有効となる。
【0085】
以上のように接触領域304の指を特定すると、アプリケーション処理部54は、手のひらの位置を推定する。ここでは、たとえば接触領域304a〜304dの長さ方向の先端を結んで、互いに交わらない仮想ラインを引き(図中の312a、312b)、その曲がり具合によって、手のひらの向きを推定する。方向306側から見た弧が描ける場合には、手のひらが方向306側に位置し、方向308側から見た弧が描ける場合には、手のひらが方向308側に位置する。この例では、方向306側から見た弧が描けるため、右手のひらが方向306側に位置することが分かる。したがって、アプリケーション処理部54は、端末装置100が図12(a)に示すように指で挟持されていることを判定し、キャラクタを表示領域310に表示することを定め、キャラクタを表示する。
【0086】
アプリケーション処理部54は、接触領域304の配置を監視し、表示領域310をリアルタイムで設定する。これにより、ユーザが、端末装置100を持つ位置を変えた場合にも、適切な位置に表示領域310を設定して、キャラクタを表示できる。
【0087】
アプリケーション処理部54は、少なくとも接触領域304には表示領域310を設定しない。また、アプリケーション処理部54は、手のひらが存在すると推定される方向の領域にも表示領域310を設定しない。このようにアプリケーション処理部54は、ユーザが見ることのできない位置に表示領域310を設定しないようにし、したがって、ユーザが端末装置100を持ち替えたような場合にも、接触領域304の指を特定し、手のひらが存在する方向を特定することで、動的に適切な位置に表示領域310を設定できる。
【0088】
ユーザが表示パネル110上でキャラクタを指でなぞると、キャラクタが、なぞられた方向に移動するように表示される。アプリケーション処理部54は、各タッチセンサ120の検出値から、「なぞる動作」を検出する。「なぞる動作」は、端末装置100の表面上の接触領域が一方向に移動することで検出される。アプリケーション処理部54は、各タッチセンサ120の検出値から、接触領域が移動していることを判定すると、その方向にキャラクタ画像を移動するように、画像データを生成し、送信部32が送信する。端末装置100において制御部200は、画像データをもとに、表示部112上にキャラクタ画像を表示する。これにより、表示部112には、なぞられた方向に移動するキャラクタが表示される。
【0089】
使用例2において、表示部112にヘルプ画面を表示する例を示したが、ユーザが、ヘルプ画面が表示されている表示パネル110上を指でなぞると、ヘルプ画面の次のページが表示されるようにしてもよい。またユーザが端末装置100を水平面において所定角度ひねると、ページがめくられるようにしてもよい。端末装置100のひねり角度は、角速度センサ164の検出値により導出される。
【0090】
(使用例4)
使用例4では、端末装置100へのユーザの入力により、新たな情報やオブジェクトをユーザに提供する。ユーザが端末装置100の表面を押すと、その表面位置に応じた情報が表示部112に表示される。たとえば端末装置100に地球を表示している場合、ユーザが表面を押すと、その位置に対応するニュースや世界遺産情報などが表示される。
【0091】
アプリケーション処理部54は、地球の画像データを生成する。アプリケーション処理部54は、表示パネル110とタッチセンサ120の位置関係を把握しているため、接触があったことを示す検出値を出力したタッチセンサ120を特定すると、そのタッチセンサ120の位置における仮想地球上の緯度経度を特定できる。このとき、アプリケーション処理部54は、新たに接触があったことを示す検出値を出力したタッチセンサ120を特定することで、ユーザが指定した緯度経度を特定する。アプリケーション処理部54は、その緯度経度に存在する地域に関連する情報を生成し、送信部32が端末装置100に送信すると、制御部200が、その情報を表示部112に表示する。
【0092】
またユーザが端末装置100を回転すると、地球は、その回転に合わせて回るが、回転をとめたときには、これまでの回転に応じて、地球儀のように慣性で回るような画像処理が行われる。
【0093】
アプリケーション処理部54は、角速度センサ164の検出値から、端末装置100の回転速度を導出する。回転速度は、回転中の任意のタイミングで導出される。アプリケーション処理部54は、導出した回転速度を保持しておく。アプリケーション処理部54は、加速度センサ162の検出値から端末装置100の回転停止を検出すると、表示する地球の画像を、これまでの回転方向で回転させ、徐々に回転速度を落とすように制御する。このときアプリケーション処理部54は、端末装置100の回転時に導出した回転速度をもとに、あたかも地球儀が慣性で回っているかのように、徐々に表示する地球画像の回転速度を緩めていく。また、ユーザが端末装置100から手を離して、机に置いたような場合にも、慣性で回るようにしてもよい。
【0094】
逆に、端末装置100を回転させても、アプリケーション処理部54は、回転速度を導出し、表示画像を、端末装置100とは反対方向に回転するように制御することで、端末装置100の回転にかかわらず、同じ向きからは同じ画像が見えるようにしてもよい。
【0095】
(使用例5)
使用例5では、音楽ファイルやムービーファイルなどのコンテンツのサムネイルを、表示部112に並べる。コンテンツは、情報処理装置10に保持されており、ユーザがサムネイルを選択すると、コンテンツが出力装置20上で再生される。たとえば、図12(a)に示すように、ユーザが端末装置100を持っているとき、アプリケーション処理部54は、たとえば経度(上下方向)をジャンルで分け、緯度(左右方向)を年代で分けて、ユーザが感覚的にコンテンツを選択できるようにする。サムネイルを表示する契機は、たとえばユーザが端末装置100を振ったときであり、アプリケーション処理部54は、加速度センサ162の検出値から、端末装置100が振られたことを検出すると、コンテンツのサムネイル画像をジャンルと年代で分類した画像データを生成する。このような情報の提示は、たとえば、インターネット上での記事のアクセスランキングなどの表示にも利用できる。この場合も、経度をジャンルで分け、緯度を順位で分けて、ユーザが感覚的にランキングを把握できるようにする。
【0096】
ユーザは表示されたサムネイルを選択し、再生することを決定すると、出力装置20においてコンテンツが再生される。選択操作は、たとえばサムネイルをタップすることであり、決定操作は、端末装置100を振ることで行われる。アプリケーション処理部54は、タッチセンサ120の検出値からタップされた位置を検出して、その位置に表示しているサムネイルを特定し、端末装置100が振られたことを検出すると、そのコンテンツを記憶装置から読み出して、再生する。
【0097】
(使用例6)
使用例6では、ゲームの実行中に、出力装置20の画面に表示されるゲーム画像とは異なる画像を、端末装置100の表示部112に表示する。ゲーム画像が、キャラクタの視点からの映像であるとき、表示部112には、別の視点からの画像が表示される。たとえばアプリケーション処理部54は、端末装置100の動きを検出し、キャラクタ視点を基準として、端末装置100が上に持ち上げられたら、キャラクタより上の視点からの画像を表示部112に表示し、また左に動かされたら、キャラクタより左の視点からの画像を表示部112に表示する。ゲームによって表示部112に様々な画像をだすことができ、ユーザは、端末装置100を動かすことで、アイテムを探したり、ゲーム空間を俯瞰するなど、出力装置20の画面に表示されていないゲーム世界の情報を取得できるようにしてもよい。
【0098】
図13(a)は、出力装置20の画面に表示されるゲーム画像を示す。このゲーム画像は、キャラクタの視点からの映像である。アプリケーション処理部54は、3次元ゲーム空間において仮想カメラをキャラクタの背後に設置し、ユーザからの操作データをもとに、ゲーム画像を生成し、出力装置20から出力させる。このときアプリケーション処理部54は、端末装置100の表示部112の構成に合わせた画像データを生成し、送信部32が端末装置100に送信する。端末装置100において、制御部200が画像データを受け取ると、表示部112にゲーム画像を表示させる。これにより、端末装置100の表示部112にも、出力装置20と同じゲーム画像が表示されることになる。
【0099】
図13(b)は、ユーザが端末装置100を左に動かしたときに端末装置100に表示されるゲーム画像を示す。情報処理装置10において、姿勢特定部42は、モーションセンサ160の検出値から、端末装置100の移動方向および移動量を特定する。アプリケーション処理部54は、姿勢特定部42から、端末装置100の移動方向および移動量を受け取ると、その移動方向および移動量を、3次元ゲーム空間における仮想カメラの移動方向および移動量に変換する。なお仮想カメラの画角には、キャラクタが含まれるようにする。アプリケーション処理部54は、移動した仮想カメラで撮影されるゲーム画像を生成し、端末装置100の表示部112に合わせた画像データを生成する。送信部32が画像データを端末装置100に送信し、端末装置100において制御部200が画像データを受け取り、表示部112に表示させる。これによりユーザは、出力装置20の表示画像とは異なるゲーム画像を端末装置100において見ることができ、図13(b)の例では、木の陰に犬がいることを発見できる。
【0100】
また、ユーザが端末装置100を出力装置20の画面に押し当てたとき、ゲーム攻略のヒントなど、ゲーム画像に表示されていない情報が表示部112に表示されてもよい。具体的なヒントではなく、注目するタイミングであることをユーザに提示するために、表示部112の全体が光ったりしてもよい。なお、ヒントの提示は、ゲーム進行に応じて行われてもよく、たとえばチャンスが到来したときに、表示部112にヒントや、注意喚起するための発光などが表示されてもよい。このヒントの提示は、たとえばスピーカから音声出力することで実行されてもよい。また、表示部112には、ゲームのリプレイ画像が表示されてもよい。リプレイ画像の表示に際しては、たとえば端末装置100の姿勢を変えることで、視点を変更できるようにしてもよい。
【0101】
(使用例7)
使用例7では、端末装置100そのものの動きを、出力装置20の画面に表示する。たとえば端末装置100を投げたり、バウンドさせたりしたときに、アプリケーション処理部54は、モーションセンサ160による検出値をもとに、この動きを出力装置20の画面上に再現する。たとえば端末装置100を野球のボールと見立てて、ユーザが実際に投げたとき、出力装置20の画面に、その回転や軌道が映し出されることで、ピッチング練習に利用できる。
【0102】
(使用例8)
使用例8では、複数の端末装置100を接触させたことを、アプリケーションの処理に反映する。たとえば、ゲームであれば、キャラクタの特性が変化したり、キャラクタが合体するなど、端末装置100同士が接触したことを観念させる処理が行われる。端末装置100同士の接触は、それぞれの接触面における法線ベクトルが互いに逆向きとなっていることで判定される。法線ベクトルは、端末装置100の姿勢および接触領域によって定められる。
【0103】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0104】
端末装置100は、情報処理装置10から起動信号を受信すると起動し、また終了信号を受信するとスリープするように構成されてもよい。この場合、端末装置100は、情報処理装置10が動作していることを条件として動作可能であり、したがって、たとえば情報処理装置10から所定時間、信号を受信できないときには、自動的にスリープするように構成されてもよい。なお端末装置100は、スリープ状態において接触検出部122またはモーションセンサ160の検出値を監視し、端末装置100が所定の状態となったときに自律的に起動するよう構成されてもよい。所定の状態とは、たとえば端末装置100のほぼ全面が覆われた状態や、非常に高速で動かされた状態などであってよく、端末装置100の起動後には通常とらない状態であることが好ましい。端末装置100は、動作中に、この所定の動作状態となることで、スリープするように構成されてもよい。
【0105】
なお図10に示すように端末装置100がユーザによって握られている場合、アプリケーション処理部54は、端末装置100の姿勢から、手のひらの向きを特定してもよい。手のひらの向きを特定することで、端末装置100が、手のひらを上向きとした状態で握られているのか、または手のひらを下向きとした状態で握られているのかを判定できる。なお図10に関連して説明したキー設定処理では、キー設定部52が接触領域の特定処理などを行っていたが、この例では、アプリケーション処理部54が同様の処理を実行する。姿勢特定部42が、端末装置100から受け取ったモーションセンサ160の検出値と基準値との差分から現在の姿勢を特定すると、アプリケーション処理部54は、姿勢特定部42により特定された現在の姿勢と、手のひらの接触を検出したタッチセンサ120の位置から、手のひらが重力方向に対していずれを向いているかを特定する。アプリケーション処理部54は、手のひらの向きを、アプリケーションの処理に反映するための入力データとして利用してもよい。
【0106】
上記実施例では、表示部112に表示する画像データを情報処理装置10におけるアプリケーション処理部54が生成したが、端末装置100における制御部200が、アプリケーション処理部54と同じ機能を有して、画像データを生成してもよい。
【符号の説明】
【0107】
1・・・情報処理システム、10・・・情報処理装置、20・・・出力装置、30・・・通信部、32・・・送信部、34・・・受信部、40・・・端末情報処理部、42・・・姿勢特定部、44・・・位置特定部、50・・・制御部、52・・・キー設定部、54・・・アプリケーション処理部、100・・・端末装置、110・・・表示パネル、112・・・表示部、120・・・タッチセンサ、122・・・接触検出部、130・・・保護層、132・・・支持部材、134・・・内郭、140・・・内部コア、142・・・プロジェクタ、150・・・通信部、152・・・送信部、154・・・受信部、160・・・モーションセンサ、162・・・加速度センサ、164・・・角速度センサ、166・・・地磁気センサ、200・・・制御部。
【技術分野】
【0001】
本発明は、入力装置または出力装置として動作する端末装置、およびその端末装置を利用した情報処理システムに関する。
【背景技術】
【0002】
従来のゲームコントローラは十字キーやボタンなどの入力インタフェースを備え、ゲーム装置に有線接続して、ユーザによる操作データをゲーム装置に伝送する。ユーザは両手でコントローラの左右のグリップをもち、手指で十字キーやボタンを操作する。近年、無線技術の進歩により、ゲーム装置に無線でデータを送受信できるコントローラが普及しはじめている。無線コントローラは、ゲーム装置との間の配線を不要とするため、ユーザは自由な位置でゲームをプレイできる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国公開特許2007−218994号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に開示される無線コントローラは、データを無線で送受信するものの、十字キーやボタンなどの入力インタフェースを変更するものではない。そのため、従来からある有線コントローラも、特許文献1に開示された無線コントローラも、その操作性に違いはない。
【0005】
コントローラに新たな入力インタフェースをもたせることで、ユーザによる操作の幅を広げることができ、その操作性を活かしたゲームアプリケーションのバリエーションも増やすことができる。また、従来のコントローラは、ユーザによる操作を受け付ける入力装置として利用されているが、コントローラにゲーム装置からの画像データを出力する出力装置としての機能ももたせることで、従来にないゲームアプリケーションの開発も期待できる。なお、ゲームの分野だけでなく、他の分野の処理装置においても、新たな入力インタフェースは、従来にないアプリケーションの開発を促進する。
【0006】
そこで本発明は、新たな操作性を実現する端末装置であって、入力装置としてだけではなく、出力装置としても使用可能な端末装置を提供することを目的とする。この端末装置は、入力装置または出力装置として使用されてもよい。また本発明は、この端末装置を利用した情報処理システムを提供することも目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明のある態様の端末装置は、曲面形状または略曲面形状を有する携帯型の端末装置であって、当該端末装置の表面への接触を検出する検出部と、画像を表示する表示部と、検出部による検出値を送信する送信部と、画像を生成するための画像データを受信する受信部と、受信した画像データを用いて、表示部に表示する画像を生成する制御部とを備える。
【0008】
本発明の別の態様は、情報処理システムである。この情報処理システムは、端末装置と、情報処理装置とを備えた情報処理システムであって、端末装置は、当該端末装置の表面への接触を検出する検出部と、画像を表示する表示部と、検出部による検出値を情報処理装置に送信する送信部と、画像を生成するための画像データを情報処理装置から受信する受信部と、受信した画像データを用いて、表示部に表示する画像を生成する制御部とを有する。情報処理装置は、端末装置から、検出値を受信する受信部と、検出値をもとに、画像データを生成するアプリケーション処理部と、画像データを情報処理装置に送信する送信部とを有する。
【0009】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0010】
本発明によると、新たな操作性を実現する端末装置を提供できる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施例にかかる情報処理システムの使用環境を示す図である。
【図2】端末装置の外観構成の一例を示す図である。
【図3】図2に示す端末装置の断面を示す図である。
【図4】内郭の内側の構造を示す図である。
【図5】端末装置の外観構成の別の例を示す図である。
【図6】図5に示す端末装置の断面を示す図である。
【図7】端末装置の機能ブロックを示す図である。
【図8】情報処理装置の機能ブロックを示す図である。
【図9】出力装置に対する端末装置の相対的位置を特定する処理を説明するための図である。
【図10】端末装置がユーザによって握られている状態を示す図である。
【図11】(a)は、出力装置の画面にキャラクタが表示される様子を示す図であり、(b)は、画面に表示されているキャラクタに端末装置を押し当てている様子を示す図であり、(c)は、キャラクタが端末装置に表示される様子を示す図である。
【図12】(a)は、端末装置がユーザの手指で挟まれている状態を示す図であり、(b)は、端末装置を5本の指で挟んだときにタッチセンサが検出する接触状態を示す説明図である。
【図13】(a)は、出力装置の画面に表示されるゲーム画像を示す図であり、(b)は、端末装置に表示されるゲーム画像を示す図である。
【発明を実施するための形態】
【0012】
図1は、本発明の実施例にかかる情報処理システム1の使用環境を示す。情報処理システム1は、情報処理装置10、出力装置20および端末装置100を備える。出力装置20は、たとえばテレビであり、画像および音声を出力する。情報処理装置10は、出力装置20に接続されて、出力装置20で出力する画像および音声を生成する。情報処理装置10と出力装置20は有線により接続されてもよく、また無線により接続されてもよい。端末装置100は無線通信機能を有し、情報処理装置10と無線リンクを確立することで、データの送受信を行うことができる。
【0013】
情報処理システム1は、ゲームをプレイする環境をユーザに提供するゲームシステムであってよい。この場合、情報処理装置10は、ゲームソフトウェアを実行するゲーム装置であり、端末装置100は、ユーザがゲームへの入力を行うためのコントローラ装置である。情報処理装置10は、ユーザが端末装置100を操作した情報をもとにゲームソフトウェアを実行して、実行結果を示す画像データおよび音声データを出力装置20に出力する。なお、本実施例に示す技術は、ゲームに限らず、他の種類のアプリケーションを実行する処理装置を備えた情報処理システムにおいても利用できる。
【0014】
携帯型の端末装置100は曲面形状または略曲面形状を有する。本実施例において略曲面は、複数の平面を並設することで曲面に近似させた面を意味する。端末装置100は、図1に示すように略球体の形状を有してもよく、また卵形の形状を有してもよい。なお端末装置100は、その一部に曲面形状または略曲面形状を有していればよく、形状全体が曲面または略曲面でなくてもよいが、少なくとも外郭全体の半分以上は、曲面形状または略曲面形状を有することが好ましい。
【0015】
端末装置100は、テーブルなどの平坦面に置かれたときに、置かれた姿勢を維持するように重心が設定されていることが好ましい。端末装置100が球体の形状を有する場合には、端末装置100の重心が、球体の中心に位置するように設定される。これにより、端末装置100は、置かれたときに転がることなく、置かれたときの姿勢を維持できる。なお端末装置100が球体以外の形状を有する場合、たとえば卵形の形状を有する場合には、頂部ではなく底部に重心が位置するように重量バランスが設定されて、底部を平坦面に載置すると、そのときの姿勢を維持するようにされることが好ましい。なお、端末装置100の内部に重心位置を調整する機構が設けられる場合には、重心調整機構が、載置されたときの姿勢を保つように、重心を動的に設定してもよい。
【0016】
端末装置100の表面はユーザにより操作される操作面を構成する。したがって操作面は、滑らかな操作感を提供するために、曲面または略曲面で形成されることが好ましい。また端末装置100は、図1に示すように、ユーザが片手で持つことのできる大きさであることが好ましい。これによりユーザは、端末装置100を片手で持ちながら操作面を操作することができ、また片手で持ちながら、他方の手で操作面を自由に操作することもできる。
【0017】
1つの使用態様において、端末装置100は、ユーザにより操作されて、情報処理装置10に操作入力データを送信する入力装置として動作する。端末装置100は、表面への接触を検出する接触センサを有し、端末装置100の表面がなんらかの物体、たとえばユーザの手指や、出力装置20のディスプレイ(画面)などと接触すると、その接触位置を検出する。このとき、位置だけでなく、圧力も検出できるようにしてもよい。ユーザが端末装置100を持つ位置や強さなどを変化させて、また、端末装置100を出力装置20の画面に押しつけたりすることで、接触センサは、端末装置100の表面への接触を検出し、端末装置100は、その検出値を情報処理装置10に送信する。
【0018】
接触センサは、端末装置100の曲面部分に連続的に設けられ、ユーザは、曲面上で手指を動かすことで、滑らかな操作感を得ることができる。なお接触センサは、端末装置100の全表面における接触を検出可能に設けられることが好ましく、これにより、ユーザは、端末装置100の全表面を使って、入力操作を行うことができる。端末装置100は、ユーザからの接触操作をもとに生成した入力データを、情報処理装置10に対して送信する。なお端末装置100の表面の一部が操作面を構成する場合には、その操作面に接触センサが設けられていればよい。操作面は、ユーザが操作しやすいように端末装置100上の連続した面に形成される。
【0019】
また端末装置100は、姿勢を検出するためのセンサ値を生成するモーションセンサを有する。モーションセンサは、3軸加速度センサおよび3軸角速度センサを有する。モーションセンサは、さらに3軸地磁気センサを有してもよい。情報処理システム1において、情報処理装置10は、端末装置100の姿勢変化を、実行中のアプリケーションへの入力データとして処理できる。そのため端末装置100は、モーションセンサの検出値を周期的に情報処理装置10に送信する。
【0020】
別の使用態様において、端末装置100は、表示部を有し、画像を表示する出力装置として動作する。端末装置100は、画像を生成するための画像データを情報処理装置10から受信し、その画像データをもとに、表示部に画像を表示する。なお端末装置100は、自身の記憶装置に保持する情報から画像を生成してもよい。表示部には、たとえばゲームのキャラクタなどが映し出される。ゲームキャラクタなどの表示物は、接触センサやモーションセンサなどの検出値に基づいて描画処理される。この表示制御は、情報処理装置10により実行されてもよいが、端末装置100に搭載される制御部によって実行されてもよい。
【0021】
表示部は、端末装置100の曲面部分に設けられる。表示部は、柔軟に湾曲することのできるEL(Electroluminescence)パネルなどにより形成され、曲面部分に表示パネルが貼り付けられる。表示部は、複数の表示パネルを組み合わせて構成されるが、1枚の表示パネルで構成されてもよい。また表示部は、複数の液晶パネルを、略曲面形状の多面体の各面に貼り合わせることで構成されてもよい。ここで、略曲面形状の多面体とは、20面体以上の多面体をさす。いずれの種類の表示パネルを採用した場合であっても、複数の表示パネルを、端末装置100の全表面を隙間無く覆うように連続的に配設することで、端末装置100は、全表面から画像を表示できるようになる。
【0022】
端末装置100において表示物は、接触センサやモーションセンサによって検出される端末装置100の状態変化に連動させることができる。この場合、端末装置100は、ユーザによる操作をセンサ値で取得し、そのセンサ値を反映した画像を表示する入出力装置として動作する。端末装置100が、このセンサ値取得機能と画像表示機能を備えることで、ユーザに直観的な操作感を提供できる。
【0023】
表示部とセンサとを重ね合わせることで、端末装置100は、タッチパネルの機能をもつことになる。なお表示部は、端末装置100の内部にプロジェクタを配設して、プロジェクタからの光をユーザが外部から視認可能に映し出すスクリーンであってもよい。このとき端末装置100の内部は中空に形成され、表示部は、プロジェクタからの光を外に映し出す透明または半透明材料で形成される。端末装置100内の空間中央には、プロセッサを搭載したコアが設けられており、端末装置100の全面に画像を映し出すために、コアに複数のプロジェクタが設けられる。
【0024】
図2は、端末装置100の外観構成の一例を示す。端末装置100は、画像を表示する表示部112を表面に備える。表示部112は、複数の表示パネル110a〜110v(以下、区別しない場合には、「表示パネル110」と表現する)を組み合わせて構成される。なお図2に示す端末装置100の背面にも、同じように、複数の表示パネル110が設けられている。このように端末装置100は、外表面の全体を複数の表示パネル110で隙間無く覆い、全表面から画像を表示できることが好ましい。端末装置100は、各表示パネル110に表示する画像データを生成する制御部を備える。
【0025】
表示パネル110は、ELパネルや液晶パネルなどによって形成される。ELパネルのように曲率をもつことのできるパネルは、曲面状に形成され、球体表面に直接貼り付けられる。なお複数の表示パネル110は、図2に示す配置だけでなく、たとえばサッカーボールのような20個の正六角形と12個の正五角形とを組み合わせた切頂二十面体の配置で端末装置100の表面に並べられてもよい。端末装置100の表面は、樹脂などの透明材料により保護され、曲面形状または略曲面形状を形成する。たとえば、表示パネル110が液晶パネルであって、切頂二十面体の各面に貼り付けられる場合、端末装置100の表面を樹脂で覆い、曲面形状をもたせることで、ユーザは端末装置100の表面上で手指を動かしたとき、滑らかな操作感を得ることができる。
【0026】
図3は、図2に示す端末装置100の断面を示す。端末装置100の内部空間中央には内部コア140が配置される。内部コア140には、端末装置100の処理を制御する制御部や、外部装置と通信する通信部、また端末装置100の動きや姿勢を検出するためのセンサなどが設けられる。端末装置100の全体を覆う透明な保護層130が外郭を形成し、保護層130の内側には、保護層130の内面に隙間無く設けられた複数の表示パネル110を有する表示部112が設けられる。
【0027】
表示部112の内側には、端末装置100の表面への接触を検出する接触検出部122が設けられる。接触検出部122は、複数のタッチセンサ120を有する。複数のタッチセンサ120は、中空の球体である内郭134により支持され、端末装置100の全表面における接触を検出可能に設けられることが好ましい。そのために複数のタッチセンサ120は、内郭134上に隙間無く配置される。これによりユーザは、後述するように、端末装置100の姿勢や向きを気にすることなく、端末装置表面を触ることで、情報処理装置10への入力を行えるようになる。なお、タッチセンサ120の配置密度は、表示パネル110の配置密度よりも高く、1つの表示パネル110の下方には、2以上のタッチセンサ120が設けられている。接触検出部122は、他のセンサ、たとえば圧力センサを有してもよい。内郭134は、可撓性をもつ樹脂材料で形成されることが好ましい。
【0028】
内郭134は、内部コア140から延出される棒状の支持部材132により支持される。これにより、内郭134の内側を空間にし、端末装置100を軽量化できる。またユーザが、端末装置100をある程度押しつぶしたり、また変形できるように、支持部材132は、伸縮可能な弾性材料、たとえば、ばねで形成されることが好ましい。これにより、ユーザは、球体の端末装置100の表面が凹むことで、入力操作を行ったことを認識できるようになり、従来にない入力インタフェースを実現できる。内部コア140と表示部112の間は、たとえば支持部材132の内部に設けた配線により電気的に接続される。内部コア140と接触検出部122の間の配線も、同様に設けられてよい。なお、図3に示す端末装置100は中空構造をとるため、この空間に配線を設けることも可能である。
【0029】
図4は、内郭134の内側の構造を示す。この例では、6本の支持部材132が内部コア140から内郭134に向けて設けられ、押されると、それぞれ長さ方向に縮むように構成されている。なお、支持部材132は6本より多くてよく、端末装置100の球体の形状を維持しつつ、ユーザの手指などにより押されると、その押された箇所が変形し、手指が離されると、元の球体形状に戻るように構成されていればよい。
【0030】
なお図3,図4では、中空構造の端末装置100を示したが、端末装置100は、弾性材料を充填された中実構造を有してもよい。軽量化の点においては中空構造の方が優れているが、中実構造を採用することで、形状を安定に維持できる利点がある。
【0031】
図5は、端末装置100の外観構成の別の例を示す。端末装置100は、内部にプロジェクタを有し、内部から画像を表示部112に投影する。表示部112は、プロジェクタからの光を映し出し、外部のユーザが、その映し出された画像を見ることのできる材料で形成される。またプロジェクタからの光を表示部112に投影するために、この例の端末装置100は、中空構造をとる必要がある。
【0032】
図6は、図5に示す端末装置100の断面を示す。端末装置100の内部空間中央には内部コア140が配置される。内部コア140には、上記したように制御部、通信部および各種センサなどが設けられる。また内部コア140の表面には、複数のプロジェクタ142が設けられる。透明な保護層130の内側には、透明もしくは半透明の投影面となる表示部112が設けられ、また表示部112の内側には、図3に示したように、内郭134に支持された接触検出部122が形成される。
【0033】
図6に示す端末装置100では、プロジェクタ142が表示部112に画像を投影するために、内郭134および接触検出部122は透明材料により形成され、画像光が内郭134および接触検出部122を介して、表示部112に投影されるようになる。複数のプロジェクタ142が内部コア140上に設けられ、それぞれから出力される光を組み合わせることで、表示部112の全体に画像光が到達するようにされる。
【0034】
図7は、端末装置100の機能ブロックを示す。端末装置100は、その表面部分にて、表示部112および接触検出部122を備え、また内部コア140において、制御部200、通信部150およびモーションセンサ160を備える。端末装置100における各構成は、図示しないバッテリにより電力の供給を受ける。バッテリは、無線給電により充電される。
【0035】
通信部150は、送信部152および受信部154を有し、IEEE802.11やIEEE802.15.1などの所定の通信プロトコルを用いて、情報処理装置10との間でデータを送受信する。モーションセンサ160は、端末装置100の動きや姿勢を検出するためのデータを検出する検出部であって、3軸の加速度センサ162、3軸の角速度センサ164および3軸の地磁気センサ166を有する。
【0036】
制御部200は、接触検出部122およびモーションセンサ160から各検出値を受け取り、通信部150に供給する。送信部152は、所定の周期で、検出値を情報処理装置10に送信する。この送信周期は、出力装置20のフレームレートに応じて定められ、16.6m秒(=1/60)より短く設定されるのが好ましい。送信周期は、たとえば10m秒である。
【0037】
複数のタッチセンサ120は、それぞれ検出値を制御部200に供給する。このとき各タッチセンサ120は、自身を特定する識別番号とともに、検出値を制御部200に送出する。これにより、識別番号と検出値とが対応付けられて、制御部200に送られることになる。なお、制御部200は、検出値が入力されるポートによってタッチセンサ120を識別し、識別番号と検出値とを対応付けてもよい。このように制御部200は、タッチセンサ120の識別番号と検出値とを対応付けて、送信部152から情報処理装置10に送信させるようにする。
【0038】
受信部154は、所定の周期で、情報処理装置10から画像データを受信する。受信周期は、送信周期と同じく10m秒に設定される。制御部200は、受信部154から画像データを受け取ると、表示部112に表示する画像を生成し、各表示パネル110にて表示させる。表示パネル110に表示させる画像の描画データは、制御部200で生成してもよく、また情報処理装置10で生成してもよい。以下では、情報処理装置10にて描画データを生成する例を説明する。なお、図6に示すように、プロジェクタ142から画像を投影する場合には、制御部200がプロジェクタ142に対して画像データを提供する。
【0039】
なお端末装置100は、表示部112のみならず、スピーカを備えた出力装置として動作してもよい。このとき受信部154は、情報処理装置10から、音声データを受信し、スピーカが音声を出力する。音声データは、画像データとともに圧縮されて送信され、制御部200は、描画データを表示部112に、音声データをスピーカにそれぞれ出力する。また、端末装置100がモータなどの振動子を有する場合、受信部154は、情報処理装置10から振動子の駆動信号を受信し、制御部200が振動子を駆動してもよい。
【0040】
図8は、情報処理装置10の機能ブロックを示す。情報処理装置10は、通信部30、端末情報処理部40および制御部50を備える。通信部30は、送信部32および受信部34を有し、IEEE802.11やIEEE802.15.1などの所定の通信プロトコルを用いて、端末装置100との間でデータを送受信する。端末情報処理部40は、姿勢特定部42および位置特定部44を有する。姿勢特定部42は、情報処理装置10の姿勢および動きを特定し、位置特定部44は、情報処理装置10の空間内の位置を特定する。具体的に位置特定部44は、端末装置100が出力装置20の表示画面に接触したときの出力装置20の画面上の位置を特定する。制御部50は、キー設定部52およびアプリケーション処理部54を有する。キー設定部52は、端末装置100をゲームコントローラとして使用する場合に、端末装置100の操作面の任意の位置に、操作キーを設定する機能をもつ。またアプリケーション処理部54は、端末装置100や端末情報処理部40からセンサ情報や端末情報を取得し、アプリケーションの処理に反映する機能をもつ。
【0041】
図8において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0042】
まず端末情報処理部40の動作について説明する。受信部34が端末装置100からモーションセンサ160の検出値を受信し、姿勢特定部42に渡す。姿勢特定部42は、静止時の端末装置100における3軸の加速度センサ162の検出値を、端末装置100の基準姿勢における基準値として予め保持している。姿勢特定部42は、端末装置100が静止していれば、受け取った検出値と基準値との差分から、現在の姿勢を特定する。また端末装置100が動いている場合には、姿勢特定部42は、3軸の加速度センサ162の検出値と、3軸の角速度センサ164の検出値とから、現在の姿勢を特定する。また姿勢特定部42は、3軸の加速度センサ162の検出値と、3軸の角速度センサ164の検出値とから、端末装置100の動きも特定する。特定される端末装置100の動きは、端末装置100の移動方向および移動量を含む。なお姿勢特定部42は、地磁気センサ166の検出値も加味して、端末装置100の姿勢および動きを特定してもよい。
【0043】
実施例で示す端末装置100は、球対称の形状を有するため、ユーザは、端末装置100を回転したり傾けたりしても、端末装置100の現在の姿勢を意識することはない。そのため姿勢特定部42が、モーションセンサ160の検出値を用いて、リアルタイムで端末装置100の姿勢を把握しておくことは、後述するアプリケーションを実行する際に重要となる。
【0044】
位置特定部44は、端末装置100の位置を特定する。なお、本実施例の情報処理システム1において、位置特定部44は、端末装置100と出力装置20との相対的な位置関係を特定できればよく、たとえば端末装置100が出力装置20の画面に接触したときの出力装置20の画面上の位置を特定できればよい。また位置特定部44は、端末装置100と出力装置20の画面との距離を特定できることが好ましい。
【0045】
情報処理システム1において、出力装置20の画面を撮影するカメラを配置し、位置特定部44が、端末装置100が画面に接触したときの位置を特定できるようにしてもよい。位置特定部44は、カメラの撮像画像から、端末装置100が出力装置20の画面に接触したことを判定すると、そのときの出力装置20の画面上の接触位置を特定する。なお位置特定部44は、接触検出部122の検出値をもとに、端末装置100がなんらかの物体に接触したか否かの判定を行ってもよく、接触判定により接触が検出されたときのカメラの撮像画像から、出力装置20の画面上の接触位置を特定してもよい。
【0046】
図9は、位置特定部がカメラの撮像画像から出力装置20に対する端末装置100の相対的位置を特定する処理を説明するための図である。図9(a)は、出力装置20の画面右上隅にカメラ60を配置した状態を示す。カメラ60を画面右上隅に設置した場合、位置特定部44は、画面横方向にX軸、画面縦方向にY軸を仮想的に設定し、画面右上隅の座標を(0,0)、画面左上隅の座標を(Xmax,0)、画面左下隅の座標を(Xmax,Ymax)、画面右下隅の座標を(0,Ymax)と設定する。なおカメラ60の配置位置は、出力装置20の画面右上隅に限らず、カメラ60の画角に出力装置20の画面全体が入り、カメラ60が出力装置20の画面全体を撮像できる場所であればよい。カメラ60が画角180度の魚眼レンズを有する場合には、出力装置20の画面上部中央位置にカメラ60が設置されてもよい。図9(a)では、ユーザが端末装置100を、出力装置20の画面に押しつけている様子が示される。
【0047】
図9(b)は、カメラ60の撮像画像を示す。説明の便宜上、図9(b)では、ユーザの手は省略している。位置特定部44は、この撮像画像から、端末装置100が存在するXY空間における座標(x,y)を特定する。位置特定部44が、接触検出部122の検出値をもとに端末装置100の接触を検出すると、撮像画像中の端末装置100と出力装置20の接触点を特定することで座標(x,y)を導出し、出力装置20の画面上の接触位置を求める。
【0048】
なお、位置特定部44は、接触判定の結果を用いずに、カメラ60の撮像画像のみから出力装置20に対する端末装置100の相対的位置を特定することもできる。位置特定部44は、撮像画像を解析することで、端末装置100と出力装置20の画面とが接触しているか検出してもよい。また位置特定部44は画像解析により、端末装置100と出力装置20の画面との距離を導出できるようにしてもよい。なお、端末装置100と出力装置20の画面との距離を求めるために、光軸を画面に平行とするカメラを別途設置して、位置特定部44が、そのカメラの撮像画像から、接触判定、または離間距離の導出をできるようにしてもよい。
【0049】
また、出力装置20の画面をタッチパネルで構成することで、端末装置100が画面に接触したときの位置を特定してもよい。このとき位置特定部44は、接触検出部122の検出値をもとに、端末装置100がなんらかの物体に接触したか否かを判定する。接触検出部122の検出値から端末装置100が接触したことが判定されたタイミングと、出力装置20のタッチパネルに接触があったタイミングとが一致すれば、位置特定部44は、出力装置20のタッチパネルに接触があった位置に、端末装置100が接触したことを判定する。なお、タイミングが一致したことだけでなく、接触面積の情報を用いて、端末装置100と出力装置20の画面とが接触したことが判定されてもよい。
【0050】
端末装置100は、タッチセンサ120の識別番号と検出値とを対応付けた検出値データを、情報処理装置10に周期的に送信している。情報処理装置10は、タッチセンサ120の識別番号と、端末装置100におけるタッチセンサ120の位置とを対応付けたテーブルを保持する。このテーブルは、制御部50により保持され、制御部50がアプリケーションの処理に反映するデータの生成に利用されるが、位置特定部44により保持されていてもよい。位置特定部44は、このテーブルを保持することで、接触を検出したタッチセンサ120の端末装置100における位置を特定できる。
【0051】
このとき位置特定部44は、新たに接触を検出した複数のタッチセンサ120から、端末装置100における接触面積を導出する。端末装置100は、ユーザの指でもたれているため、端末装置100と出力装置20との接触以前に、指による接触を検出しているタッチセンサ120は存在しているが、位置特定部44は、新たに接触を検出したタッチセンサ120を特定することで、出力装置20に端末装置100が接触したときの端末装置100上の接触面積を特定する。位置特定部44は、出力装置20のタッチパネル上で接触があった面積と、端末装置100において新たな接触があった面積とを比較して、両者がほぼ一致していれば、端末装置100と出力装置20の画面との接触を判定する。タッチパネルを利用することで、画面上の接触位置を容易に特定することができる。
【0052】
以上のように、位置特定部44は、端末装置100が出力装置20の画面に接触したときの画面上の位置を特定する。
以下、情報処理システム1における端末装置100の使用例を示す。なお、1つの使用例において説明する情報処理装置10の処理や機能は、別の使用例においても適用可能である。
【0053】
(使用例1)
使用例1では、端末装置100の表面にキーを割り当て、キー操作可能な入力装置として使用する。まず、以下では、ユーザが端末装置100を握った状態に応じて、動的にキーを割り当てる例を示す。
【0054】
図10は、端末装置100がユーザによって握られている状態を示す。図10に示すように端末装置100が握られる場合、手のひらと手指とが端末装置100の表面に接触する。端末装置100において、接触領域の下方に存在するタッチセンサ120は、接触があったことを示す検出値を制御部200に供給する。制御部200は、各タッチセンサ120の識別番号と検出値とを対応付けて、検出値データを生成し、送信部152が、情報処理装置10に送信する。
【0055】
情報処理装置10において、受信部34が検出値データを受信すると、キー設定部52が、各タッチセンサ120による検出値から、指の種類を特定する。制御部50は、タッチセンサ120の識別番号と、端末装置100におけるタッチセンサ120の位置とを対応付けたテーブルを保持している。したがってキー設定部52は、検出値データを受け取ると、含まれる識別番号と検出値を仮想球体上に展開して、端末装置100の接触状態を再現できる。キー設定部52は、再現した接触状態から、手のひらを検出する。
【0056】
キー設定部52が、検出値データから接触状態を仮想球体上に再現すると、連続した細長い5つの接触領域と、その5つの接触領域の端部付近に位置する連続した大きな接触領域とが検出される。まずキー設定部52は、大きな接触領域を手のひらと特定する。続いて、手のひらから延びている細長い5つの接触領域のうち、手のひらの両端から延びている2つの接触領域を特定する。キー設定部52は、両端の接触領域を比較し、接触領域の短手方向に太い指を親指、細い指を小指として特定する。なおキー設定部52は、手のひらから延びている細長い両端の接触領域の長手方向の長さを比較し、たとえば短い指を親指、細い指を小指として特定してもよい。またキー設定部52は、手のひらから延びている細長い両端の接触領域の面積を比較し、たとえば面積の大きい指を親指、小さい指を小指として特定してもよい。以上のように、親指と小指とを特定することで、親指と小指の間の3つの接触領域の指も特定でき、また指の先端位置も特定できる。
【0057】
キー設定部52は、指の先端位置に、キーを設定する。図10に示す例では、中指の先端に、上方向キー302a、人差し指の先端に、左方向キー302b、薬指の先端に、右方向キー302c、親指の先端に、方向キー302dを設定する。キー設定部52は、各指の先端に設定した方向キー302の位置情報を、キー設定情報として、アプリケーションを実行するアプリケーション処理部54に引き渡す。
【0058】
アプリケーション処理部54は、キー設定情報にしたがって、ユーザからの入力を監視する。ここでは、ユーザが、指を端末装置100から離すことで、アプリケーションへの入力が行われるものとする。ユーザがたとえば中指を端末装置100から離すと、設定した上方向キー302aの領域への接触がなくなり、その位置のタッチセンサ120の検出値が変化する。アプリケーション処理部54は、検出値データを受け取っている間に、上方向キー302aが設定されている領域のタッチセンサ120の検出値が接触を示すオン値から非接触を示すオフ値に変化したときに、上方向キー302aの入力がなされたことを検出し、アプリケーションの処理に反映する。
【0059】
なおユーザが、指を端末装置100から離して再度触ったときに、アプリケーションへの入力が行われたものとしてもよい。ユーザがたとえば中指を端末装置100から離すと、設定した上方向キー302aの領域への接触がなくなり、その位置のタッチセンサ120の検出値が変化して、非接触を示すオフ値となる。検出値の変化後、所定時間以内に、再度、検出値が接触を示すオン値となると、アプリケーション処理部54は、上方向キー302aの入力がなされたことを検出し、アプリケーションの処理に反映してもよい。なおこのとき、アプリケーション処理部54は、再接触があった位置と対向する位置、具体的には端末装置100において再接触位置から球中心を通り反対側の位置の接触/非接触を監視し、再接触の検出と同時に、その反対側位置に、より大きな圧力が加わったことが検出されたときに、上方向キー302aの入力がなされたことを検出してもよい。たとえば、圧力が大きくなったことは、オン値を出力するタッチセンサ120の数が増えたことにより検出される。
【0060】
以上は、接触検出部122がタッチセンサ120で構成されたときの例であるが、接触検出部122は圧力センサで構成されてもよい。圧力センサで構成される場合、ユーザが端末装置100の表面を指で強く押すことで、アプリケーションへの入力がなされてもよい。このときアプリケーション処理部54は、キー設定情報にしたがって、方向キー302が設定されている領域の圧力センサの検出値を監視し、検出値が所定値よりも大きくなったときに、方向キー302の入力がなされたことを検出し、アプリケーションの処理に反映する。
【0061】
このようにキー設定部52が、ユーザが端末装置100を把持したときの手指の位置に合わせて、動的にキーを設定することで、ユーザは、自然な持ち方で、端末装置100を入力装置として使用できるようになる。また、割り当てるキーの種類も、実行するアプリケーションに応じて動的に変更することができ、従来にない入力装置を実現できる。たとえば、図10に示す例では、4つの手指の先端に上下左右の方向キー302を割り当てたが、たとえばキャラクターにジャンプ動作、しゃがむ動作、前進動作、後退動作をさせるアプリケーションにおいては、それぞれの動作を指定する操作キーを、各指の先端領域に割り当ててもよい。
【0062】
また、キー設定情報の生成後、1つの手指が動かされて、別の位置に配置されるような場合には、キー設定部52が、その手指に対するキー設定情報の変更処理を行う。すなわち、キー設定部52は、元のキー設定情報で特定される領域への接触がなくなり、所定時間にわたり新たな領域への接触の検出が続くと、元の領域を新たな領域へと変更したキー設定情報を再生成する。
【0063】
またユーザが端末装置100を持ち替えた場合には、それまでの端末装置100で検出されていた接触領域が大きく変更されることになる。そのような場合には、キー設定部52が、再度、手指の特定処理を実行して、キー設定情報を生成する。
【0064】
なおキー設定部52は、一度キーを割り当てると、割り当てたキーの相対的な位置関係を保持しておく。キー設定部52は、キー設定情報を、相対的な位置関係として保持しておいてもよい。キー設定部52は、次回、端末装置100に同じキー(図10の例では方向キー)を設定する際には、保持した位置関係をもとに、割り当てたキーの画像を、表示部112に表示する。図10の例では、矢印のマークが表示されてもよい。キー設定部52が保持する位置関係は、ユーザの手の大きさにあったものであるため、ユーザは、表示されたキー画像に指を合わせることで、キー設定処理を省略することができる。
【0065】
なお、キー設定部52は、保持した位置関係をもとにキーを割り当てる際に、毎回、割り当てる領域が異なるようにする。ユーザは、端末装置100を握った状態でキー操作するため、常に同じ領域にキーを割り当てると、その部分の表示パネル110やタッチセンサ120などの劣化が早まる可能性がある。そのため、キー割当の際に、基準姿勢をもとに、ランダムにキー割当の際の姿勢を設定することで、劣化が特定の箇所に集中することを回避できる。たとえば、割り当てたキーの相対的な位置関係を、中指に割り当てる上方向キー302aを基準とした位置関係として保持している場合、上方向キー302aの領域を、毎回ランダムに定めることで、割り当てる領域を毎回異ならせることが可能となる。なお、キー設定部52が前回のキー設定情報を保持している場合には、上方向キー302aの領域を任意に設定し、その領域を基準として、他の方向キーの領域を、前回のキー設定情報から演算により求めてもよい。
【0066】
なお、ゲームコントローラとして端末装置100が使用される場合、端末装置100は、情報処理装置10からコントローラ番号を割り当てられる。アプリケーション処理部54は、割り当てたコントローラ番号を示す画像を、表示部112に所定期間表示させる。これにより、ユーザは、割り当てられたコントローラ番号を知ることができる。その後、上記したキー割当処理が行われてもよい。
【0067】
(使用例2)
使用例2では、端末装置100の表示部112に画像を表示させ、具体的には、出力装置20に表示されているキャラクタなどのオブジェクトが、あたかも端末装置100に移動したかのような画像処理を行う。具体的には、まず出力装置20にオブジェクトが表示されている状態で、所定の条件が成立したことを契機として、出力装置20におけるオブジェクトの表示処理を停止し、端末装置100におけるオブジェクトの表示処理を行うことで、ユーザに、オブジェクトが出力装置20から端末装置100に移動してきたかのような感覚を与えることができる。この様子を、図11(a)〜図11(c)を用いて説明する。
【0068】
アプリケーション処理部54は、オブジェクトの表示画像を生成し、出力装置20に出力する。図11(a)は、出力装置20の画面にキャラクタが表示される様子を示す。このキャラクタが表示されている画面上の領域に、ユーザが端末装置100を接触させる。図11(b)は、画面に表示されているキャラクタに端末装置100を押し当てている様子を示す。
【0069】
既述したように、位置特定部44は、端末装置100が出力装置20の画面に接触したときの出力装置20の画面上の位置を特定する。アプリケーション処理部54は、キャラクタの表示位置を把握しており、キャラクタ表示位置と、位置特定部44で特定された位置とが一致しているか判定する。一致している場合、アプリケーション処理部54は、キャラクタが出力装置20から端末装置100に移動するような演出を行うべく、端末装置100用のキャラクタの画像データを生成する。
【0070】
制御部50は、端末装置100におけるタッチセンサ120の識別番号と、端末装置100におけるタッチセンサ120の位置とを対応付けたテーブルを保持している。また、制御部50は、端末装置100における表示パネル110の識別番号と、端末装置100における表示パネル110の位置とを対応付けたテーブルも保持している。また制御部50は、タッチセンサ120と表示パネル110との位置関係を特定するテーブルも保持している。
【0071】
アプリケーション処理部54は、各タッチセンサ120の検出値から、出力装置20の画面に接触されたことを示す検出値を出力したタッチセンサ120を特定する。アプリケーション処理部54は、端末装置100がユーザの手指により保持されている状態から、新たに接触を検出したタッチセンサ120を特定する。なお、この特定は、位置特定部44により行われて、アプリケーション処理部54は、位置特定部44から、出力装置20に接触したタッチセンサ120の識別番号を取得してもよい。
【0072】
アプリケーション処理部54は、タッチセンサ120と表示パネル110との位置関係を特定するテーブルを利用して、接触位置の反対に位置する表示パネル110を特定する。この表示パネル110は、図11(b)において、端末装置100の中心位置に存在する。アプリケーション処理部54は、図11(b)において端末装置100の中心に位置する表示パネル110を特定すると、この表示パネル110にキャラクタ画像の中心がくるように、端末装置100用のキャラクタの画像データを生成する。端末装置100の表示部112において、キャラクタ画像は、複数の表示パネル110に分割して表示されることになるが、アプリケーション処理部54は、表示パネル110の識別番号と、その表示パネル110に表示させる画像データとを対応付けて、キャラクタ全体の画像データを生成する。送信部32は、生成された画像データを端末装置100に送信し、制御部200は、指定された表示パネル110の識別番号と画像データをもとに、各表示パネル110で表示する画像を生成する。図11(c)は、キャラクタが端末装置100に表示される様子を示す。端末装置100がキャラクタを表示すると同時に、出力装置20は、キャラクタの表示を終了する。
【0073】
図11(c)にキャラクタが表示された状態で、再度、端末装置100を出力装置20の画面に押しつけると、アプリケーション処理部54は、キャラクタを、押しつけられた出力装置20の画面位置に戻してもよい。端末装置100が押しつけられた出力装置20の画面上の位置は、位置特定部44により特定される。この例では、ユーザが、キャラクタを端末装置100に移動させ、また出力装置20に戻すアプリケーションを実現できる。アプリケーション処理部54は、端末装置100におけるキャラクタの表示を中止し、出力装置20の画面上の任意の位置にキャラクタを表示できるので、たとえば、キャラクタが端末装置100に移動している間は、キャラクタが体力を回復し、回復後、またキャラクタをゲーム画面に戻すような、よりインタラクティブなゲームを作ることができる。
【0074】
なお、図11(a)〜図11(c)では、キャラクタの表示を出力装置20の画面から端末装置100の表示部112に切り替える例を示したが、画面上の接触位置に応じた表示物が表示部112に表示されてもよい。たとえば、あるアプリケーションを実行中に、端末装置100を出力装置20の画面に接触させると、出力装置20の接触位置に表示されている内容に関係するヘルプ画面が表示部112に表示されてもよい。
【0075】
なお既述したように、位置特定部44は、端末装置100と出力装置20の画面との距離を導出できる。図11(b)は、端末装置100を出力装置20の画面に押し当てている様子を示しているが、端末装置100を画面に接触させるまでの過程において、位置特定部44は、端末装置100と出力装置20の画面との距離を導出して、アプリケーション処理部54に伝え、アプリケーション処理部54は、所定の距離よりも接近した場合に、端末装置100への表示対象となるキャラクタが選択されたことをユーザに通知するようにしてもよい。この通知は、たとえば端末装置100の表示部112に、キャラクタが吸い込まれるような画像を生成することで行われてもよく、また、出力装置20の画面上でキャラクタが端末装置100に吸い込まれるような画像を生成することで行われてもよい。このような通知により、ユーザは、端末装置100の表示部112に表示させるキャラクタを認識でき、そして押し当てた時点で、完全なキャラクタが表示部112にて表示されるようにしてもよい。
【0076】
(使用例3)
使用例3では、端末装置100に表示したオブジェクトを、ユーザの操作に応じて制御する。以下、使用例2で説明した図11(c)に示すキャラクタの動作を制御する例を示す。
【0077】
図12(a)は、端末装置100がユーザの手指で挟まれている状態を示す。このように挟持された場合、手のひらに面する表示部112にキャラクタを表示しても、ユーザは見ることができない。そのため、アプリケーション処理部54は、各タッチセンサ120の検出値から、端末装置100が挟持されている状態を特定し、具体的には、右手であるか、左手であるかを特定して、手のひらの位置を推測する。
【0078】
図10に示すように、端末装置100が握られている場合には、手のひらも端末装置100の表面に接触するため、タッチセンサ120の検出値により、手のひらの位置を特定できる。一方、図12(a)に示すように、端末装置100が指で挟持されている場合には、手のひらが端末装置100の表面に接触しないため、タッチセンサ120の検出値から直接手のひらの位置を特定することはできない。そのため、アプリケーション処理部54は、各タッチセンサ120の検出値から、挟持している手が右手か左手かを判定する。
【0079】
図12(b)は、端末装置100を5本の指先で挟んだときにタッチセンサ120が検出する接触状態を示す説明図である。5本の指先で挟んだとき、5つの接触領域304a〜304eが検出される。なお点線で表現している接触領域304eは、図12(b)に示す状態において、端末装置100の下面側に位置する。このとき、アプリケーション処理部54は、一番小さい接触領域304dを検出することで、右手または左手の判定を行う。5本の手指で端末装置100を挟んだとき、小指の接触領域が一番小さくなる。そのため、アプリケーション処理部54は、接触領域304dの指が小指であることを判定する。小指が特定されると、小指に一番近い位置に薬指が存在するため、接触領域304cの指が薬指、接触領域304bの指が中指、接触領域304aの指が人差し指であることが判定でき、接触領域304eが親指であることも判定できる。
【0080】
なおアプリケーション処理部54は、親指の接触領域を特定することで、各接触領域の指を特定してもよい。5本の手指で端末装置100を挟んだとき、親指の接触領域が一番大きくなる。そのため、アプリケーション処理部54は、接触領域304eの指が親指であることを判定する。親指が特定されると、親指に一番近い位置に人差し指が存在するため、接触領域304aの指が人差し指であることが判定できる。したがって、順に中指、薬指、小指の接触領域を判定できる。
【0081】
なおアプリケーション処理部54は、親指の接触領域が一番大きく、小指の接触領域が一番小さくなることを利用して、各接触領域304の面積から、親指および小指を特定してもよい。
【0082】
またアプリケーション処理部54は、接触領域304の間隔から、手指を特定してもよい。手のサイズに対して、端末装置100が相対的に大きい場合、親指と、親指以外の4つの指は、図12(b)に示すような配置となる傾向がある。すなわち、親指以外の4つの指同士の間隔は、比較的狭く、親指が、他の指と比較的離れるように配置される。アプリケーション処理部54は、1つの接触領域304に対して、他の4つの接触領域304との間隔を演算し、演算した4つの間隔のうち、最も小さい間隔を特定する。この処理により、5つの指に対してそれぞれの最小間隔が導出される。アプリケーション処理部54は、各接触領域304における最小間隔の大小を比較する。このとき、最も大きい最小間隔と、2番目に大きい最小間隔との比を導出し、(最も大きい最小間隔)/(2番目に大きい最小間隔)が2以上である場合に、手のサイズに対して端末装置100が相対的に大きいことが判定され、以下の指特定処理が実行される。
【0083】
アプリケーション処理部54は、最も大きい最小間隔をもつ接触領域304を、親指の接触領域として特定する。図12(b)の場合は、接触領域304eが親指であることが特定される。親指が特定されると、次に人差し指が特定される。端末装置100が手のサイズに対して相対的に大きい場合、親指と人差し指の間隔の方が、親指と小指の間隔よりも狭くなる。そのため、アプリケーション処理部54は、接触領域304eに最も近い接触領域304aを、人差し指の接触領域として特定する。その後、アプリケーション処理部54は、中指、薬指、小指の接触領域を特定する。
【0084】
なお、手のサイズに対して端末装置100が相対的に小さい場合、すなわち(最も大きい最小間隔)/(2番目に大きい最小間隔)が2よりも小さい場合、ユーザは、指の腹ではなく、指の先端で端末装置100を持つようになる。したがって、この場合は、上記したように、接触領域304の面積を利用した指特定処理が有効となる。
【0085】
以上のように接触領域304の指を特定すると、アプリケーション処理部54は、手のひらの位置を推定する。ここでは、たとえば接触領域304a〜304dの長さ方向の先端を結んで、互いに交わらない仮想ラインを引き(図中の312a、312b)、その曲がり具合によって、手のひらの向きを推定する。方向306側から見た弧が描ける場合には、手のひらが方向306側に位置し、方向308側から見た弧が描ける場合には、手のひらが方向308側に位置する。この例では、方向306側から見た弧が描けるため、右手のひらが方向306側に位置することが分かる。したがって、アプリケーション処理部54は、端末装置100が図12(a)に示すように指で挟持されていることを判定し、キャラクタを表示領域310に表示することを定め、キャラクタを表示する。
【0086】
アプリケーション処理部54は、接触領域304の配置を監視し、表示領域310をリアルタイムで設定する。これにより、ユーザが、端末装置100を持つ位置を変えた場合にも、適切な位置に表示領域310を設定して、キャラクタを表示できる。
【0087】
アプリケーション処理部54は、少なくとも接触領域304には表示領域310を設定しない。また、アプリケーション処理部54は、手のひらが存在すると推定される方向の領域にも表示領域310を設定しない。このようにアプリケーション処理部54は、ユーザが見ることのできない位置に表示領域310を設定しないようにし、したがって、ユーザが端末装置100を持ち替えたような場合にも、接触領域304の指を特定し、手のひらが存在する方向を特定することで、動的に適切な位置に表示領域310を設定できる。
【0088】
ユーザが表示パネル110上でキャラクタを指でなぞると、キャラクタが、なぞられた方向に移動するように表示される。アプリケーション処理部54は、各タッチセンサ120の検出値から、「なぞる動作」を検出する。「なぞる動作」は、端末装置100の表面上の接触領域が一方向に移動することで検出される。アプリケーション処理部54は、各タッチセンサ120の検出値から、接触領域が移動していることを判定すると、その方向にキャラクタ画像を移動するように、画像データを生成し、送信部32が送信する。端末装置100において制御部200は、画像データをもとに、表示部112上にキャラクタ画像を表示する。これにより、表示部112には、なぞられた方向に移動するキャラクタが表示される。
【0089】
使用例2において、表示部112にヘルプ画面を表示する例を示したが、ユーザが、ヘルプ画面が表示されている表示パネル110上を指でなぞると、ヘルプ画面の次のページが表示されるようにしてもよい。またユーザが端末装置100を水平面において所定角度ひねると、ページがめくられるようにしてもよい。端末装置100のひねり角度は、角速度センサ164の検出値により導出される。
【0090】
(使用例4)
使用例4では、端末装置100へのユーザの入力により、新たな情報やオブジェクトをユーザに提供する。ユーザが端末装置100の表面を押すと、その表面位置に応じた情報が表示部112に表示される。たとえば端末装置100に地球を表示している場合、ユーザが表面を押すと、その位置に対応するニュースや世界遺産情報などが表示される。
【0091】
アプリケーション処理部54は、地球の画像データを生成する。アプリケーション処理部54は、表示パネル110とタッチセンサ120の位置関係を把握しているため、接触があったことを示す検出値を出力したタッチセンサ120を特定すると、そのタッチセンサ120の位置における仮想地球上の緯度経度を特定できる。このとき、アプリケーション処理部54は、新たに接触があったことを示す検出値を出力したタッチセンサ120を特定することで、ユーザが指定した緯度経度を特定する。アプリケーション処理部54は、その緯度経度に存在する地域に関連する情報を生成し、送信部32が端末装置100に送信すると、制御部200が、その情報を表示部112に表示する。
【0092】
またユーザが端末装置100を回転すると、地球は、その回転に合わせて回るが、回転をとめたときには、これまでの回転に応じて、地球儀のように慣性で回るような画像処理が行われる。
【0093】
アプリケーション処理部54は、角速度センサ164の検出値から、端末装置100の回転速度を導出する。回転速度は、回転中の任意のタイミングで導出される。アプリケーション処理部54は、導出した回転速度を保持しておく。アプリケーション処理部54は、加速度センサ162の検出値から端末装置100の回転停止を検出すると、表示する地球の画像を、これまでの回転方向で回転させ、徐々に回転速度を落とすように制御する。このときアプリケーション処理部54は、端末装置100の回転時に導出した回転速度をもとに、あたかも地球儀が慣性で回っているかのように、徐々に表示する地球画像の回転速度を緩めていく。また、ユーザが端末装置100から手を離して、机に置いたような場合にも、慣性で回るようにしてもよい。
【0094】
逆に、端末装置100を回転させても、アプリケーション処理部54は、回転速度を導出し、表示画像を、端末装置100とは反対方向に回転するように制御することで、端末装置100の回転にかかわらず、同じ向きからは同じ画像が見えるようにしてもよい。
【0095】
(使用例5)
使用例5では、音楽ファイルやムービーファイルなどのコンテンツのサムネイルを、表示部112に並べる。コンテンツは、情報処理装置10に保持されており、ユーザがサムネイルを選択すると、コンテンツが出力装置20上で再生される。たとえば、図12(a)に示すように、ユーザが端末装置100を持っているとき、アプリケーション処理部54は、たとえば経度(上下方向)をジャンルで分け、緯度(左右方向)を年代で分けて、ユーザが感覚的にコンテンツを選択できるようにする。サムネイルを表示する契機は、たとえばユーザが端末装置100を振ったときであり、アプリケーション処理部54は、加速度センサ162の検出値から、端末装置100が振られたことを検出すると、コンテンツのサムネイル画像をジャンルと年代で分類した画像データを生成する。このような情報の提示は、たとえば、インターネット上での記事のアクセスランキングなどの表示にも利用できる。この場合も、経度をジャンルで分け、緯度を順位で分けて、ユーザが感覚的にランキングを把握できるようにする。
【0096】
ユーザは表示されたサムネイルを選択し、再生することを決定すると、出力装置20においてコンテンツが再生される。選択操作は、たとえばサムネイルをタップすることであり、決定操作は、端末装置100を振ることで行われる。アプリケーション処理部54は、タッチセンサ120の検出値からタップされた位置を検出して、その位置に表示しているサムネイルを特定し、端末装置100が振られたことを検出すると、そのコンテンツを記憶装置から読み出して、再生する。
【0097】
(使用例6)
使用例6では、ゲームの実行中に、出力装置20の画面に表示されるゲーム画像とは異なる画像を、端末装置100の表示部112に表示する。ゲーム画像が、キャラクタの視点からの映像であるとき、表示部112には、別の視点からの画像が表示される。たとえばアプリケーション処理部54は、端末装置100の動きを検出し、キャラクタ視点を基準として、端末装置100が上に持ち上げられたら、キャラクタより上の視点からの画像を表示部112に表示し、また左に動かされたら、キャラクタより左の視点からの画像を表示部112に表示する。ゲームによって表示部112に様々な画像をだすことができ、ユーザは、端末装置100を動かすことで、アイテムを探したり、ゲーム空間を俯瞰するなど、出力装置20の画面に表示されていないゲーム世界の情報を取得できるようにしてもよい。
【0098】
図13(a)は、出力装置20の画面に表示されるゲーム画像を示す。このゲーム画像は、キャラクタの視点からの映像である。アプリケーション処理部54は、3次元ゲーム空間において仮想カメラをキャラクタの背後に設置し、ユーザからの操作データをもとに、ゲーム画像を生成し、出力装置20から出力させる。このときアプリケーション処理部54は、端末装置100の表示部112の構成に合わせた画像データを生成し、送信部32が端末装置100に送信する。端末装置100において、制御部200が画像データを受け取ると、表示部112にゲーム画像を表示させる。これにより、端末装置100の表示部112にも、出力装置20と同じゲーム画像が表示されることになる。
【0099】
図13(b)は、ユーザが端末装置100を左に動かしたときに端末装置100に表示されるゲーム画像を示す。情報処理装置10において、姿勢特定部42は、モーションセンサ160の検出値から、端末装置100の移動方向および移動量を特定する。アプリケーション処理部54は、姿勢特定部42から、端末装置100の移動方向および移動量を受け取ると、その移動方向および移動量を、3次元ゲーム空間における仮想カメラの移動方向および移動量に変換する。なお仮想カメラの画角には、キャラクタが含まれるようにする。アプリケーション処理部54は、移動した仮想カメラで撮影されるゲーム画像を生成し、端末装置100の表示部112に合わせた画像データを生成する。送信部32が画像データを端末装置100に送信し、端末装置100において制御部200が画像データを受け取り、表示部112に表示させる。これによりユーザは、出力装置20の表示画像とは異なるゲーム画像を端末装置100において見ることができ、図13(b)の例では、木の陰に犬がいることを発見できる。
【0100】
また、ユーザが端末装置100を出力装置20の画面に押し当てたとき、ゲーム攻略のヒントなど、ゲーム画像に表示されていない情報が表示部112に表示されてもよい。具体的なヒントではなく、注目するタイミングであることをユーザに提示するために、表示部112の全体が光ったりしてもよい。なお、ヒントの提示は、ゲーム進行に応じて行われてもよく、たとえばチャンスが到来したときに、表示部112にヒントや、注意喚起するための発光などが表示されてもよい。このヒントの提示は、たとえばスピーカから音声出力することで実行されてもよい。また、表示部112には、ゲームのリプレイ画像が表示されてもよい。リプレイ画像の表示に際しては、たとえば端末装置100の姿勢を変えることで、視点を変更できるようにしてもよい。
【0101】
(使用例7)
使用例7では、端末装置100そのものの動きを、出力装置20の画面に表示する。たとえば端末装置100を投げたり、バウンドさせたりしたときに、アプリケーション処理部54は、モーションセンサ160による検出値をもとに、この動きを出力装置20の画面上に再現する。たとえば端末装置100を野球のボールと見立てて、ユーザが実際に投げたとき、出力装置20の画面に、その回転や軌道が映し出されることで、ピッチング練習に利用できる。
【0102】
(使用例8)
使用例8では、複数の端末装置100を接触させたことを、アプリケーションの処理に反映する。たとえば、ゲームであれば、キャラクタの特性が変化したり、キャラクタが合体するなど、端末装置100同士が接触したことを観念させる処理が行われる。端末装置100同士の接触は、それぞれの接触面における法線ベクトルが互いに逆向きとなっていることで判定される。法線ベクトルは、端末装置100の姿勢および接触領域によって定められる。
【0103】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0104】
端末装置100は、情報処理装置10から起動信号を受信すると起動し、また終了信号を受信するとスリープするように構成されてもよい。この場合、端末装置100は、情報処理装置10が動作していることを条件として動作可能であり、したがって、たとえば情報処理装置10から所定時間、信号を受信できないときには、自動的にスリープするように構成されてもよい。なお端末装置100は、スリープ状態において接触検出部122またはモーションセンサ160の検出値を監視し、端末装置100が所定の状態となったときに自律的に起動するよう構成されてもよい。所定の状態とは、たとえば端末装置100のほぼ全面が覆われた状態や、非常に高速で動かされた状態などであってよく、端末装置100の起動後には通常とらない状態であることが好ましい。端末装置100は、動作中に、この所定の動作状態となることで、スリープするように構成されてもよい。
【0105】
なお図10に示すように端末装置100がユーザによって握られている場合、アプリケーション処理部54は、端末装置100の姿勢から、手のひらの向きを特定してもよい。手のひらの向きを特定することで、端末装置100が、手のひらを上向きとした状態で握られているのか、または手のひらを下向きとした状態で握られているのかを判定できる。なお図10に関連して説明したキー設定処理では、キー設定部52が接触領域の特定処理などを行っていたが、この例では、アプリケーション処理部54が同様の処理を実行する。姿勢特定部42が、端末装置100から受け取ったモーションセンサ160の検出値と基準値との差分から現在の姿勢を特定すると、アプリケーション処理部54は、姿勢特定部42により特定された現在の姿勢と、手のひらの接触を検出したタッチセンサ120の位置から、手のひらが重力方向に対していずれを向いているかを特定する。アプリケーション処理部54は、手のひらの向きを、アプリケーションの処理に反映するための入力データとして利用してもよい。
【0106】
上記実施例では、表示部112に表示する画像データを情報処理装置10におけるアプリケーション処理部54が生成したが、端末装置100における制御部200が、アプリケーション処理部54と同じ機能を有して、画像データを生成してもよい。
【符号の説明】
【0107】
1・・・情報処理システム、10・・・情報処理装置、20・・・出力装置、30・・・通信部、32・・・送信部、34・・・受信部、40・・・端末情報処理部、42・・・姿勢特定部、44・・・位置特定部、50・・・制御部、52・・・キー設定部、54・・・アプリケーション処理部、100・・・端末装置、110・・・表示パネル、112・・・表示部、120・・・タッチセンサ、122・・・接触検出部、130・・・保護層、132・・・支持部材、134・・・内郭、140・・・内部コア、142・・・プロジェクタ、150・・・通信部、152・・・送信部、154・・・受信部、160・・・モーションセンサ、162・・・加速度センサ、164・・・角速度センサ、166・・・地磁気センサ、200・・・制御部。
【特許請求の範囲】
【請求項1】
曲面形状または略曲面形状を有する携帯型の端末装置であって、
当該端末装置の表面への接触を検出する検出部と、
画像を表示する表示部と、
前記検出部による検出値を送信する送信部と、
画像を生成するための画像データを受信する受信部と、
受信した画像データを用いて、前記表示部に表示する画像を生成する制御部と、
を備えることを特徴とする端末装置。
【請求項2】
前記検出部は、当該端末装置の連続的な表面における接触を検出可能に設けられることを特徴とする請求項1に記載の端末装置。
【請求項3】
前記表示部は、当該端末装置の表面から画像を表示できるように設けられることを特徴とする請求項1または2に記載の端末装置。
【請求項4】
前記表示部は、複数の表示パネルを組み合わせて構成されることを特徴とする請求項1から3のいずれかに記載の端末装置。
【請求項5】
前記表示パネルは、曲面状に形成されることを特徴とする請求項4に記載の端末装置。
【請求項6】
前記端末装置は、球体または卵形の外形を有することを特徴とする請求項1から5のいずれかに記載の端末装置。
【請求項7】
端末装置と、情報処理装置とを備えた情報処理システムであって、
前記端末装置は、
当該端末装置の表面への接触を検出する検出部と、
画像を表示する表示部と、
前記検出部による検出値を前記情報処理装置に送信する送信部と、
画像を生成するための画像データを前記情報処理装置から受信する受信部と、
受信した画像データを用いて、前記表示部に表示する画像を生成する制御部と、を有し、
前記情報処理装置は、
前記端末装置から、前記検出値を受信する受信部と、
前記検出値をもとに、画像データを生成するアプリケーション処理部と、
画像データを前記情報処理装置に送信する送信部と、を有する、
ことを特徴とする情報処理システム。
【請求項1】
曲面形状または略曲面形状を有する携帯型の端末装置であって、
当該端末装置の表面への接触を検出する検出部と、
画像を表示する表示部と、
前記検出部による検出値を送信する送信部と、
画像を生成するための画像データを受信する受信部と、
受信した画像データを用いて、前記表示部に表示する画像を生成する制御部と、
を備えることを特徴とする端末装置。
【請求項2】
前記検出部は、当該端末装置の連続的な表面における接触を検出可能に設けられることを特徴とする請求項1に記載の端末装置。
【請求項3】
前記表示部は、当該端末装置の表面から画像を表示できるように設けられることを特徴とする請求項1または2に記載の端末装置。
【請求項4】
前記表示部は、複数の表示パネルを組み合わせて構成されることを特徴とする請求項1から3のいずれかに記載の端末装置。
【請求項5】
前記表示パネルは、曲面状に形成されることを特徴とする請求項4に記載の端末装置。
【請求項6】
前記端末装置は、球体または卵形の外形を有することを特徴とする請求項1から5のいずれかに記載の端末装置。
【請求項7】
端末装置と、情報処理装置とを備えた情報処理システムであって、
前記端末装置は、
当該端末装置の表面への接触を検出する検出部と、
画像を表示する表示部と、
前記検出部による検出値を前記情報処理装置に送信する送信部と、
画像を生成するための画像データを前記情報処理装置から受信する受信部と、
受信した画像データを用いて、前記表示部に表示する画像を生成する制御部と、を有し、
前記情報処理装置は、
前記端末装置から、前記検出値を受信する受信部と、
前記検出値をもとに、画像データを生成するアプリケーション処理部と、
画像データを前記情報処理装置に送信する送信部と、を有する、
ことを特徴とする情報処理システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−93800(P2012−93800A)
【公開日】平成24年5月17日(2012.5.17)
【国際特許分類】
【出願番号】特願2010−237899(P2010−237899)
【出願日】平成22年10月22日(2010.10.22)
【出願人】(310021766)株式会社ソニー・コンピュータエンタテインメント (417)
【Fターム(参考)】
【公開日】平成24年5月17日(2012.5.17)
【国際特許分類】
【出願日】平成22年10月22日(2010.10.22)
【出願人】(310021766)株式会社ソニー・コンピュータエンタテインメント (417)
【Fターム(参考)】
[ Back to top ]