(57)【要約】【課題】ジェスチャ操作による正確な操作を、より直感的に行うことができるユーザインタフェースを備えた情報処理装置を提供する。【解決手段】情報処理装置１００は、ユーザのジェスチャ操作を検出する形状検出部３０３と、検出したユーザのジェスチャ操作に応じて、ユーザにより操作される釣り糸ポインタの操作方向及び操作量を算出する操作算出部３０４と、操作算出部３０４で算出した操作方向及び操作量に応じて釣り糸ポインタの表示形態を変化させて、プロジェクタ１０１に表示させる表示制御部３０５と、を備える。【選択図】図２
2015135572.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの動きを検出する検出手段と、
検出した前記ユーザの動きに応じて、前記ユーザにより操作される操作オブジェクトの操作方向及び操作量を算出する操作算出手段と、
前記操作算出手段で算出した前記操作方向及び前記操作量に応じて前記操作オブジェクトの表示形態を変化させて、所定の表示装置に所定の画像とともに表示させる表示制御手段と、を備えることを特徴とする、
情報処理装置。
【請求項２】
前記表示制御手段は、前記操作量が第１閾値以上になると前記操作オブジェクトの表示形態を変化させることを特徴とする、
請求項１記載の情報処理装置。
【請求項３】
前記表示制御手段は、前記操作量が第１閾値以上で徐々に大きくなると前記操作オブジェクトの表示形態を徐々に変化させることを特徴とする、
請求項２記載の情報処理装置。
【請求項４】
前記表示制御手段は、前記操作量が前記第１閾値とは異なる第２閾値以上になると前記操作オブジェクトを前記操作方向及び前記操作量に応じて移動させることを特徴とする、
請求項２又は３記載の情報処理装置。
【請求項５】
前記表示制御手段は、前記操作オブジェクトの移動可能な方向を前記表示装置に表示させることを特徴とする、
請求項１〜４のいずれか１項記載の情報処理装置。
【請求項６】
前記表示制御手段は、前記操作オブジェクトを予め定められた領域に移動させることを特徴とする、
請求項５記載の情報処理装置。
【請求項７】
前記検出手段は、前記ユーザの手の画像から該手の形状を認識し、
前記操作算出手段は、前記検出手段で認識した前記手の形状が所定の形状のときに、前記操作方向及び前記操作量を算出することを特徴とする、
請求項１〜６のいずれか１項記載の情報処理装置。
【請求項８】
前記検出手段は、前記ユーザの前記手の画像の速度及び加速度を検出し、
前記操作算出手段は、前記速度及び前記加速度から前記操作量を算出することを特徴とする、
請求項１〜７のいずれか１項記載の情報処理装置。
【請求項９】
前記検出手段は、複数の手の画像の動きを検出し、
前記操作算出手段は、前記複数の手の画像の各々の動きに応じて、各々の前記操作方向及び前記操作量を算出し、
前記表示制御手段は、前記複数の手の画像に対応して、各々、対応する手の画像の操作方向及び操作量に応じて表示形態が変化する複数の操作オブジェクトを前記表示装置に表示させることを特徴とする、
請求項１〜８のいずれか１項記載の情報処理装置。
【請求項１０】
前記表示制御手段は、前記複数の操作オブジェクトの各々に対応する手が明確になるように各操作オブジェクトを区別して表示させることを特徴とする、
請求項９記載の情報処理装置。
【請求項１１】
前記操作算出手段は、前記検出手段が２つの手の画像の接触を検出すると、該２つの手の画像の一方に対応する操作オブジェクトを、他方の手の画像に対応させることを特徴とする、
請求項１０記載の情報処理装置。
【請求項１２】
前記操作オブジェクトは前記画像に含まれる他のオブジェクトを指示するポインタであり、
前記検出手段は、前記手の画像の一定時間の動きを検出し、
前記表示制御手段は、前記手の画像の一定時間の動きに応じて、前記操作オブジェクトにその時点で指示するオブジェクトの周囲を移動させることを特徴とする、
請求項１〜８のいずれか１項記載の情報処理装置。
【請求項１３】
前記表示制御手段は、前記操作量に応じて前記所定の画像のページを切り替えて表示させることを特徴とする、
請求項１記載の情報処理装置。
【請求項１４】
前記表示制御手段は、前記ページの切り替えのための操作量の閾値を、前記操作オブジェクトが表す前記操作量に関連づけて表示させることを特徴とする、
請求項１３記載の情報処理装置。
【請求項１５】
表示装置に画像を表示する情報処理装置により実行される方法であって、
ユーザの動きを検出するステップと、
検出した前記ユーザの動きに応じて、前記ユーザにより操作される操作オブジェクトの操作方向及び操作量を算出するステップと、
算出した前記操作方向及び前記操作量に応じて前記操作オブジェクトの表示形態を変化させて、前記表示装置に前記画像とともに表示するステップと、を含むことを特徴とする、
情報処理方法。
【請求項１６】
表示装置に画像を表示するコンピュータを、
ユーザの動きを検出する検出手段、
検出した前記ユーザの動きに応じて、前記ユーザにより操作される操作オブジェクトの操作方向及び操作量を算出する操作算出手段、
前記操作算出手段で算出した前記操作方向及び前記操作量に応じて前記操作オブジェクトの表示形態を変化させて前記表示装置に前記画像とともに表示する表示制御手段、
として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザのジェスチャに応じた指示が入力されるユーザインタフェースを備えた情報処理装置に関する。
【背景技術】
【０００２】
プロジェクタ等の大画面の表示装置に資料の画像を表示してプレゼンテーションを行う場合、ユーザは、レーザポインタや加速度センサを内蔵したリモートコントローラを用いて画像内の所定の位置のポインティング（指示）を行う。近年は、画像処理技術を用いてユーザの手や指先の位置や動き（以下、「ジェスチャ操作」という。）を認識し、これに応じて画像内のポインタの位置や移動方向を算出してポインティングを行う技術も提案されている。
【０００３】
複数のユーザが各々ポインタを用いてポインティングを行う場合、誰がどのポインタを操作しているのかが不明確である。特許文献１では、ユーザの顔を示すアイコンとユーザのジェスチャ操作に応じて移動するポインタとを紐画像で繋いで表示装置に表示する。これにより複数のユーザがポインティングする場合であっても、どのユーザがどのポインタを操作しているのかが明確になる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−５４１１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ジェスチャ操作によるポインティングには、「手ブレによって、正確にポインティングすることが難しい」、「どの程度手を動かせば（ジェスチャ操作すれば）ポインタの所望の移動が可能なのかわからない」という大きな課題がある。これらの課題に対して様々な提案がなされているが、未だ標準となるような技術の提案はない。
【０００６】
また、ジェスチャ操作の認識には、タッチパネルを用いることもできる。例えば、スマートフォンやタブレット端末は、タッチパネルをユーザインタフェースとして用いており、タッチパネルへのユーザのタッチ操作をジェスチャ操作として認識して処理を実行する。タッチパネルにおいても、どの程度手を動かせば（ジェスチャ操作すれば）処理が実行されるかわからない、という課題がある。
【０００７】
本発明は、上記の問題を解決するために、ジェスチャ操作による正確な操作を、より直感的に行うことができるユーザインタフェースを備えた情報処理装置を提供することを主たる課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決する本発明の情報処理装置は、ユーザの動きを検出する検出手段と、検出した前記ユーザの動きに応じて、前記ユーザにより操作される操作オブジェクトの操作方向及び操作量を算出する操作算出手段と、前記操作算出手段で算出した前記操作方向及び前記操作量に応じて前記操作オブジェクトの表示形態を変化させて、所定の表示装置に所定の画像とともに表示させる表示制御手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、操作方向及び操作量に応じて操作オブジェクトの表示形態が変化するために、ユーザがどの程度動けば操作オブジェクトを操作できるかが明確になる。そのためにユーザは、正確なジェスチャ操作を直感的に行うことができる。
【図面の簡単な説明】
【００１０】
【図１】（ａ）、（ｂ）は、システム概要図。
【図２】（ａ）、（ｂ）は、情報処理装置の構成図。
【図３】（ａ）〜（ｅ）は、釣り糸ポインタの表示形態の説明図。
【図４】（ａ）〜（ｄ）は、ジェスチャ操作の説明図。
【図５】釣り糸ＵＩによるポインティング処理を表すフローチャート。
【図６】手の形状の認識処理の説明図。
【図７】釣り糸ポインタの変化例示図。
【図８】釣り糸ポインタの移動可能な方向の表示例示図。
【図９】釣り糸ポインタの移動可能領域の例示図。
【図１０】ユーザの手によるジェスチャ操作を表す図。
【図１１】（ａ）、（ｂ）は、情報処理装置の構成図。
【図１２】（ａ）、（ｂ）は、ジェスチャ操作によるページ切替の状態説明図。
【発明を実施するための形態】
【００１１】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１２】
［第１実施形態］
図１は、本実施形態のシステム概要図である。図１（ａ）は、本実施形態の情報処理システムを会議システムとして用いた場合の概要図であり、図１（ｂ）は、本実施形態の情報処理システムの構成図である。情報処理システムは、情報処理装置１００、プロジェクタ１０１、スクリーン１０２、及び距離画像センサ１０３を備える。なお、本実施形態の情報処理システムは、会議システムの他に、テレビ番組の視聴時に画面上に表示されるメニュー等を指示（ポインティング）する際にも利用することもできる。
【００１３】
プロジェクタ１０１は、机１０４上に配置され、情報処理装置１００から出力されるプレゼンテーション資料の画像をスクリーン１０２に投影する。ユーザは、プロジェクタ１０１からスクリーン１０２に投影されるプレゼンテーション資料の画像を手１０６や指でポインティングしながら会議を行うことができる。距離画像センサ１０３は、ユーザの手１０６の動作を距離画像として取得する。情報処理装置１００は、距離画像センサ１０３で取得した手１０６の距離画像を解析してジェスチャ操作を認識する。なお、プロジェクタ１０１の投影範囲と距離画像センサ１０３の撮像範囲は適切にキャリブレーションされている。その結果、距離画像センサ１０３で撮像された画像の任意の位置（ｘ、ｙ）は、プロジェクタ１０１で投影される領域内の位置（Ｘ、Ｙ）に対応するようになる。
【００１４】
なお、プロジェクタ１０１及び情報処理装置１００、或いは距離画像センサ１０３及び情報処理装置１００は、一体に構成されていてもよい。また、プロジェクタ１０１の他に、表示装置として大画面のディスプレイを用いることもできる。距離画像は、距離画像センサ１０３により取得する他に、複数のイメージセンサを用いてユーザの手１０６を撮像することで距離画像を取得するようにしてもよい。
【００１５】
図２は、情報処理装置１００の構成図である。図２（ａ）は、情報処理装置１００のハードウェア構成を表し、図２（ｂ）は、情報処理装置１００内に形成される機能ブロックの構成を表す。
【００１６】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）２００、ＲＡＭ（Random Access Memory）２０１、及びＲＯＭ（Read Only Memory）２０２を備えたコンピュータシステムである。情報処理装置１００は、この他に、ディスプレイＩ／Ｆ（インタフェース）２０４、入力Ｉ／Ｆ２０５、ストレージＩ／Ｆ２０６、及びストレージ２０７を備える。これらの各構成要素は、バス２０３を介して相互に通信可能に接続される。
【００１７】
ディスプレイＩ／Ｆ２０４は、プロジェクタ１０１に表示させる画像を表す画像信号を生成してプロジェクタ１０１に送信する。画像には、各種オブジェクトが含まれている。入力Ｉ／Ｆ２０５は、距離画像センサ１０３から距離画像を受信する。ストレージＩ／Ｆ２０６は、ストレージ２０７へのデータの入出力を行う。ストレージ２０７は、プレゼンテーション資料やその他のデータを格納する大容量の記憶装置である。ストレージ２０７には、ハードディスクドライブやＳＳＤ（Solid State Drive）等の他に、ＵＳＢ（Universal Serial Bus）等のインタフェースや通信回線を介して接続される外部記憶装置を用いることができる。また、ストレージ２０７は、複数の記憶装置を並列に構成されてもよい。
【００１８】
ＣＰＵ２００は、情報処理装置１００内の各構成要素の動作を統括的に制御する。そのためにＣＰＵ２００は、ＲＯＭ２０２やストレージ２０７から所定のコンピュータプログラムを読み出し、ＲＡＭ２０１を作業領域として用いて実行する。ＣＰＵ２００がコンピュータプログラムを実行することで、図２（ｂ）の各機能ブロックが形成される。情報処理装置１００には、データ読出部３００、画像取得部３０１、画像処理部３０２、形状検出部３０３、操作算出部３０４、表示制御部３０５、及び記憶部３０６の各機能ブロックが形成される。
【００１９】
データ読出部３００は、ＣＰＵ２００及びストレージＩ／Ｆ２０６により実現される。記憶部３０６は、ストレージ２０７により実現される。データ読出部３００は、記憶部３０６に格納される各種データを読み出す。
【００２０】
画像取得部３０１は、ＣＰＵ２００及び入力Ｉ／Ｆ２０５により実現され、距離画像センサ１０３から距離画像を随時取得する。画像取得部３０１は、取得した距離画像をＲＡＭ２０１に格納する。距離画像には、ジェスチャ操作を行うユーザの手１０６の距離画像が含まれる。
【００２１】
画像処理部３０２、形状検出部３０３、及び操作算出部３０４は、ＣＰＵ２００により実現される。画像処理部３０２は、ＲＡＭ２０１に格納された距離画像を解析することで、ユーザの手１０６の距離画像を検出する。また、距離画像から手１０６の画像領域（以下、「手領域」という。）を抽出し、その結果をＲＡＭ２０１に格納する。形状検出部３０３は、画像処理部３０２によって抽出された手領域の画像から手１０６の形状を認識する。認識結果は、ＲＡＭ２０１に格納される。操作算出部３０４は、画像処理部３０２及び形状検出部３０３の処理結果に基づいて、手１０６によるジェスチャ操作（手１０６の位置、動き）を算出し、その操作情報を表示制御部３０５に送る。
【００２２】
表示制御部３０５は、ＣＰＵ２００及びディスプレイＩ／Ｆ２０４により実現され、データ読出部３００が読み出したプレゼンテーション資料等のデータによる画像をプロジェクタ１０１により表示するための画像信号を生成する。表示制御部３０５は、生成した画像信号をプロジェクタ１０１に出力する。なお、表示制御部３０５は、操作算出部３０４から送られた操作情報に基づいて、図１（ａ）に示すポインタ１０５を画像に重畳表示するように、画像信号を生成する。
【００２３】
ポインタ１０５は、ユーザのジェスチャ操作に応じて形状や色等の表示形態が変化するオブジェクトである。本実施形態では、ジェスチャ操作を行うユーザの手１０６とポインタ１０５とが仮想的な釣り糸で結ばれているようなユーザインタフェースを実現する。以降、このようなユーザインタフェースを「釣り糸ＵＩ」、ポインタ１０５を「釣り糸ポインタ１０５」と記載する。
【００２４】
釣り糸ＵＩでは、仮想的な釣り糸をユーザが引っ張るように操作（ジェスチャ操作）することで、釣り糸ポインタ１０５が移動する。その際、釣り糸ＵＩでは、「引張り方向」、「引張り力の大きさ」、釣り糸ポインタ１０５の「移動可能な方向」を考慮して、釣り糸ポインタ１０５を表示する。このような表示により、ユーザは、簡単且つ直感的なポインタの操作を行うことができる。図３は、ジェスチャ操作に応じた釣り糸ポインタ１０５の表示形態の説明図である。
【００２５】
図３（ａ）で示すように、釣り糸ポインタ１０５の矢印１０５１は、釣り糸ポインタが指し示しているオブジェクトの方向を向いている。図３の場合、釣り糸ポインタ１０５は「Ｎｅｘｔ」ボタン４０３を指し示している（ポインティングしている）。
【００２６】
釣り糸ポインタ１０５は、ユーザが何もジェスチャ操作していない場合、もしくはジェスチャ操作をしているが引張り力の大きさが所定の値よりも小さい場合、図３（ａ）のように表示される（通常状態）。図３（ａ）の糸部１０５２は、引張り力の大きさが所定の値よりも小さいく、釣り糸ポインタが「弛んだ状態」であることを示している。
【００２７】
これに対し、図３（ｂ）、（ｃ）、（ｄ）、（ｅ）は、ユーザがジェスチャ操作を行い、その引張り力が所定の値よりも大きくなった場合を示している。例えば、ユーザがジェスチャ操作により仮想的な釣り糸を左側に引張り、かつその引張り力が所定の値よりも大きくなった場合、図３（ｂ）で示すように、釣り糸ポインタ１０５は左側に傾く（回転する）。同様に下側に引っ張れば図３（ｃ）、右側に引っ張れば図３（ｄ）、上側に引っ張れば図３（ｅ）で示すように釣り糸ポインタ１０５は傾く。この時、釣り糸ポインタの糸部１０５２は「弛んだ状態」から「伸びた状態」に変化する。
【００２８】
このような釣り糸ＵＩによるポインティング処理を図４及び図５により説明する。図４は、釣り糸ＵＩを用いたポインティングの概要を示した説明図である。図５は、釣り糸ＵＩによるポインティング処理を表すフローチャートである。
【００２９】
情報処理装置１００は、予め、プロジェクタ１０１によりスクリーン１０２にプレゼンテーション資料のスライドを投影する。図４（ａ）は、プレゼンテーション資料のスライド４００の例示図である。スライド４００には、文字オブジェクト及び円グラフオブジェクトが表示される。また領域４０１に、前のスライドを表示するための「Ｐｒｅｖ」ボタン４０２及び次のスライドを表示するための「Ｎｅｘｔ」ボタン４０３の各ボタンオブジェクトが表示されている。この状態から、ユーザが手１０６によりジェスチャ操作を開始する。
【００３０】
情報処理装置１００は、画像取得部３０１により距離画像センサ１０３から距離画像を逐次取得する（Ｓ１００）。画像取得部３０１は、取得した距離画像をＲＡＭ２０１に格納する。画像処理部３０２は、ＲＡＭ２０１に格納された距離画像に手１０６の領域が含まれるか否かを判断する（Ｓ１０１）。この処理は、画像処理部３０２が手１０６の領域を検出するまで繰り返される（Ｓ１０１：N）。画像処理部３０２は、例えば、色抽出や手のモデル情報、距離情報を用いた画像解析を行うことによって、手１０６の検出を行う画像処理部３０２は、検出した手１０６の手領域をＲＡＭ２０１に格納する。
【００３１】
手１０６の領域が検出されると（Ｓ１０１：Y）、形状検出部３０３は、ＲＡＭ２０１に格納された手領域から手１０６の形状を認識する。形状検出部３０３は、手１０６の形状の認識結果をＲＡＭ２０１に格納する（Ｓ１０２）。図６は、手の形状の認識処理の一例を示す説明図である。図６では、手１０６の領域を囲む凸図形の領域７００ａ、７００ｂ内で手１０６の領域が占める割合によって、手の形状を検出する。図６の例では、手１０６の領域の割合が、手１０６の形状が「パー」の場合よりも「グー」の場合の方が高くなっている。
【００３２】
操作算出部３０４は、ＲＡＭ２０１に格納された手１０６の形状の認識結果が「グー」であるか否かを確認する（Ｓ１０３）。「グー」以外の場合（Ｓ１０３：N）、情報処理装置１００は、再度、画像処理部３０２による手１０６の領域検出処理を行う（Ｓ１０１）。「グー」である場合（Ｓ１０３：Y）、操作算出部３０４は、釣り糸ポインタ１０５をプロジェクタ１０１に表示させるための操作情報を表示制御部３０５に送る。表示制御部３０５は、この操作情報に応じて、表示しているスライド上に釣り糸ポインタ１０５を重畳した画像をプロジェクタ１０１に出力する。
【００３３】
図４（ｂ）は、ステップＳ１０３による手の形状認識を説明する図である。図４（ｂ）に示すように、距離画像センサ１０３の撮像範囲に手１０６が存在しても、手１０６の形状が「グー」以外の場合（図４（ｂ）では「パー」の手１０６ａ）、釣り糸ポインタ１０５が表示されない。距離画像センサ１０３の撮像範囲に手１０６が存在し、手１０６の形状が「グー」の場合（図４（ｂ）の手１０６ｂ）、釣り糸ポインタ１０５が表示される。釣り糸ポインタ１０５と手１０６ｂとは、仮想的な釣り糸４０４ａにより繋がれることになる。釣り糸４０４ａは表示されない。ユーザは、手１０６を「グー」にすることで釣り糸を掴み、「パー」にすることで釣り糸を離すことと同じ感覚で、釣り糸ポインタ１０５を操作することができる。
【００３４】
なお、釣り糸ポインタ１０５は、手１０６の位置（ｘ、ｙ）に対応するプロジェクタ１０１で投影される画像内の位置（Ｘ、Ｙ）に最も近いオブジェクトを指し示すように表示される。図４（ｂ）の場合、「グー」の形状を最初に検出した位置が、投影される画像内の「Ｎｅｘｔ」ボタン４０１の近くである。そのため、「Ｎｅｘｔ」ボタン４０１を指し示すように、釣り糸ポインタ１０５が表示される。なお、この他に、釣り糸ポインタ１０５の初期表示位置を予め決めておいてもよい。
【００３５】
操作算出部３０４は、検出された手１０６の形状及びその動きにより、操作方向及び操作量を算出する（Ｓ１０４）。操作算出部３０４は、距離画像センサ１０３から随時取得する距離画像に基づいて、例えば、検出された「グー」の手領域の重心の移動方向や移動量、移動速度から、操作方向や操作量を算出する。そして、算出した操作方向や操作量を、釣り糸ポインタ１０５に対する操作情報として表示制御部３０５へ送る。
【００３６】
表示制御部３０５は、操作算出部３０４から送られた操作情報に基づいて、操作量が第１閾値以上であるか否かを判断する（Ｓ１０５）。第１閾値は予め定められた値であり、図４（ｂ）の仮想的な釣り糸４０４ａの「弛み具合（あそび）」を表す値である。第１閾値を適切に設定することにより、手ぶれによる釣り糸ポインタ１０５のぶらつきを吸収できる。つまり、図４（ｂ）の手１０６ｂが多少動いても、釣り糸ポインタ１０５の動きに影響がないため操作性が向上する。
【００３７】
操作量が第１閾値未満の場合（Ｓ１０５：N）、情報処理装置１００は、再度手１０６の形状が「グー」であるか否かを確認する（Ｓ１０３）。操作量が第１閾値以上の場合（Ｓ１０５：Y）、表示制御部３０５は、釣り糸ポインタ１０５の表示形態を操作量に応じて図３に示すように変更する（Ｓ１０６）。つまり、ステップＳ１０３〜Ｓ１０５において、ユーザが手１０６を「グー」の形状のまま動かすことで、釣り糸ポインタ１０５を操作方向に傾ける（回転する）ような表示形態を実現することができる。図４（ｃ）は、ユーザが手１０６ｂにより仮想的な釣り糸４０４ｂを図中左方向に引っ張って釣り糸ポインタ１０５を左側に傾けた状態を表す。
【００３８】
釣り糸ポインタ１０５の回転が終了すると、表示制御部３０５は、釣り糸ポインタ１０５の表示形態を操作量（引張り力の大きさ）に応じて変化させる（Ｓ１０７）。図７は、釣り糸ポインタ１０５の変化例示図である。操作算出部３０４で算出される操作量が徐々に大きくなると、表示制御部３０５は、それに応じて釣り糸ポインタ１０５を徐々に変化させる。釣り糸ポインタ１０５の変化は、例えば、色、形状、塗りつぶし量などで表現可能である。
【００３９】
例えば図７において、釣り糸ポインタ１０５ａは、画面の下側に引っ張られている。色が変化する場合、釣り糸ポインタ１０５ａは、釣り糸ポインタ１０５ｂのようになる。例えば、操作量が第１閾値以上で徐々に大きくなると、釣り糸ポインタ１０５の色が「白」→「ピンク」→「赤」の順に変化する。形状が変化する場合、釣り糸ポインタ１０５ａは、操作量が第１閾値以上で徐々に大きくなると、釣り糸ポインタ１０５ｃ→釣り糸ポインタ１０５ｄの順に形状の歪みが大きくなる。塗りつぶし量が変化する場合、釣り糸ポインタ１０５ａは、操作量が第１閾値以上で徐々に大きくなると、釣り糸ポインタ１０５ｅ→釣り糸ポインタ１０５ｆの順に塗りつぶし量が大きくなる。釣り糸ポインタ１０５の変化は、これら色、形状、塗りつぶし量の変化を組み合わせて行ってもよい。上記で説明した釣り糸ポインタ１０５に対する表示形態の変更処理は、操作するユーザの手（グー形状）の位置が動く度に繰り返し実行される。
【００４０】
釣り糸ポインタ１０５の表示形態を変化させた後に表示制御部３０５は、プロジェクタ１０１に、釣り糸ポインタ１０５が移動可能な方向を表示させる（Ｓ１０８）。図８は、釣り糸ポインタ１０５の移動可能な方向の表示例示図である。
【００４１】
図８に示すように、釣り糸ポインタ１０５が「Ｐｒｅｖ」ボタン４０２をポインティングしている状態から、手１０６ｃが手１０６ｄの位置に移動すると、釣り糸ポインタ１０５は図中の右側に引っ張られた状態となる。このとき、釣り糸ポインタ１０５の移動可能な方向を、図８の破線８００、８０１、８０２ａ、８０２ｂのように表示する。破線８００、８０１は釣り糸ポインタ１０５が移動可能な経路、破線８０２ａ、８０２ｂは移動可能な方向を示している。
【００４２】
例えば、破線８０２ａの方向に釣り糸ポインタ１０５を更に引っ張った場合、破線８００で示す経路上を釣り糸ポインタ１０５が移動し、「Ｎｅｘｔボタン」４０３に移動する。同様に、破線８０２ｂの方向に釣り糸ポインタ１０５が更に引っ張った場合、破線８０１で示す経路上を釣り糸ポインタ１０５が移動し、「Ｑｕｉｔ」ボタン４０４に移動する。
【００４３】
釣り糸ポインタ１０５が実際に移動する前にこのような移動可能な経路を表す破線８００、８０１及び移動可能な方向を表す破線８０２ａ、８０２ｂを表示することで、ユーザが釣り糸ポインタ１０５の移動可能な方向を知ることができ、操作性が向上する。ユーザは、手１０６ｄを仮想的な釣り糸を引っ張る方向の候補８０２ａ１、８０２ａ２のいずれかに移動することで、釣り糸ポインタ１０５を移動させることができる。ユーザは、仮想的な釣り糸を引っ張るというジェスチャ操作の途中で、移動可能な方向を確認しながら釣り糸ポインタ１０５を動かすことが可能となる。
【００４４】
移動可能な方向を表示すると、表示制御部３０５は、操作量が第１閾値とは異なる第２閾値以上であるか否かを確認する（Ｓ１０９）。第２閾値は、釣り糸ポインタ１０５を移動させるか否かを判断するための予め定められた値である。操作量が第２閾値以上であれば、表示制御部３０５は、釣り糸ポインタ１０５を移動させる。通常、第２閾値は、第１閾値よりも大きい値に設定される。
【００４５】
操作量が第２閾値未満の場合（Ｓ１０９：N）、情報処理装置１００は、再度手１０６の形状が「グー」であるか否かを確認する（Ｓ１０３）。操作量が第２閾値以上の場合（Ｓ１０９：Y）、表示制御部３０５は、操作算出部３０４で算出された操作方向に基づいて、釣り糸ポインタ１０５を移動させる（Ｓ１１０）。例えば、表示制御部３０５は、軌跡を伴ったアニメーション表示により釣り糸ポインタ１０５が移動する画像を、プロジェクタ１０１に表示させる。図４（ｄ）は、移動後の釣り糸ポインタ１０５の状態を表す。釣り糸ポインタ１０５は、移動後に、図３（ａ）と同じ表示状態に戻る。また、仮想的な釣り糸４０４ｃは、表示されないが、弛んだ状態に戻る。
【００４６】
釣り糸ポインタ１０５の移動が終了すると、情報処理装置１００は、釣り糸ポインタ１０５への操作が終了したか否かを判断する（Ｓ１１１）。情報処理装置１００は、ユーザによるポインティングの終了操作を検知して操作終了を判断する。ポインティングの終了操作には、例えば、ユーザによる操作終了のオブジェクトの操作や、手１０６の形状を「グー」以外にする等がある。
【００４７】
情報処理装置１００は、操作が終了したと判断した場合（Ｓ１１１：Y）に処理を終了する。操作が終了していない場合（Ｓ１１１：N）、情報処理装置１００は、Ｓ１０１の処理に戻って、距離画像から手１０６の領域を検出して、以降の処理を繰り返す。
【００４８】
以上のような「釣り糸ＵＩ」により、釣り糸ポインタ１０５の引張り方向（操作方向）と引張り力の大きさ（操作量）、移動可能な方向をユーザに示すことができる。ユーザは、これらの表示により釣り糸ポインタ１０５が移動する瞬間を把握することができる。また、手ぶれによる釣り糸ポインタ１０５のぶらつきは、仮想的な釣り糸の弛みにより吸収することができる。そのために、簡単且つ正確に目的のオブジェクトをポインティングするユーザインタフェースを実現することができる。
【００４９】
なお、スライド４００内で釣り糸ポインタ１０５が移動可能な領域が予め定められていてもよい。つまりポインティング可能なオブジェクトを予め制限する。図９は、釣り糸ポインタ１０５の移動可能領域の例示図である。スライド４００内の白抜きされた領域４００ａ、４００ｂ、４００ｃが釣り糸ポインタ１０５の移動可能領域を表す。このような制限を設けることで、釣り糸ポインタ１０５が移動可能な方向を効率よく求めることができる。
【００５０】
本実施形態では、手１０６の検出や形状の認識を画像処理技術で実現する例を示したが、この他にも、例えば、データグローブと呼ばれるセンサが埋め込まれたグローブの装着や、加速度センサが内蔵されたリモコンを用いてもよい。この場合、情報処理装置１００は、データグローブやリモコンの動きからジェスチャ操作を検出して、操作方向や操作量を算出する。データグローブやリモコンを用いる場合、仮想的な釣り糸の反力がデータグローブやリモコンを介してユーザに振動等により伝えることができる。
【００５１】
情報処理装置１００は、画像処理部３０２が複数の手を検出して管理可能であれば、両手もしくは複数のユーザによる個別のポインティング処理を行う。情報処理装置１００は、複数の手の各々に対応する釣り糸ポインタ１０５を、色や形状により区別して、釣り糸ポインタ１０５と手との組み合わせが明確になるように表示する。また、この場合、釣り糸ポインタの手から手への受け渡しが可能となる。例えば、釣り糸ポインタ１０５を操作している右手（形状は「グー」）に、左手を「グー」にして接触させることで、釣り糸ポインタ１０５を左手の動きにより操作可能とするといった処理を実現することができる。形状検出部３０３が２つの手１０６の画像の接触を検知すると、操作算出部３０４は接触した手１０６に対応する釣り糸ポインタ１０５の対応先を、一方の手から他方の手に切り替える。これはプレゼンテーションなど、場所を移動しながらポインティングする場合に有効となる。
【００５２】
［第１実施形態の変形例１］
第１実施形態では、釣り糸ポインタ１０５の操作感は、仮想的な釣り糸の長さ（弛み）に依存している。そのために、素早く釣り糸ポインタ１０５を移動させたい場合には、使い勝手が低下する可能性がある。そこで変形例１では、手１０６の移動時の速度、加速度を考慮して、釣り糸ポインタ１０５を移動させる。
【００５３】
変形例１の操作算出部３０４は、図５のＳ１０４において、操作方向と操作量以外に、手１０６の重心位置の移動速度から速度及び加速度を求め、操作方向へ加算される力を算出する。操作算出部３０４は、加算される力を操作量に換算して、手１０６の移動距離から求められる操作量に加算する。表示制御部３０５は、この操作量の合計に基づいて、図５のＳ１０６以降の処理を行う。
【００５４】
このように、手１０６の速度や加速度を考慮することによって、現実の世界で、釣り竿や釣り糸のしなりを利用して釣り針を遠くに飛ばすように、短いストロークで釣り糸ポインタ１０５を操作することができる。つまり、短いストロークでも速度、加速度が大きい場合、釣り糸ポインタ１０５はオブジェクトを複数跨いで移動できるようになる。そのために、使い勝手を改善することができる。
【００５５】
［第１実施形態の変形例２］
第１実施形態では、釣り糸ポインタ１０５によりポインティング可能な位置がオブジェクトの位置に限定した例を説明した。しかし、一般的なプレゼンテーションでは、資料の画像に含まれる図全体や図の内部をポインタをくるくると動かして指し示すこともある。第１実施形態であれば、図等は１つのオブジェクトであるために、釣り糸ポインタ１０５は、図全体やその内部に含まれる文字等を個別にポインティングできない。
【００５６】
図１０は、ユーザの手１０６によるジェスチャ操作を表している。図１０の例は、ユーザが手１０６で、一定時間円を描くジェスチャ（円ジェスチャ）７００ｃと、一定時間左右に振るジェスチャ（手振りジェスチャ）７００ｄとである。変形例２では、ユーザの手１０６のこのような動きに応じた釣り糸ポインタ１０５を表示する。
【００５７】
情報処理装置１００は、形状検出部３０３によりこれらのジェスチャを判定する。形状検出部３０３で判定したジェスチャが円ジェスチャの場合、表示制御部３０５は、その時点でポインティングしているオブジェクトの周りをくるくると円を描くように、釣り糸ポインタ１０５を移動させる。形状検出部３０３で判定したジェスチャが手振りジェスチャの場合、表示制御部３０５は、その時点で釣り糸ポインタ１０５がポインティングしているオブジェクトを中心に、釣り糸ポインタ１０５が左右一直線上に振れるように釣り糸ポインタ１０５を移動させる。このとき中心となるオブジェクトに隣接するオブジェクトも一緒にポインティングされる。このように情報処理装置１００は、一定時間の手１０６の画像の動きにより、釣り糸ポインタ１０５を、その時点で指示するオブジェクトの周囲で移動させる。
【００５８】
グラフのようなオブジェクトの内部を釣り糸ポインタ１０５でポインティングする場合、従来のポインタに切り替えてもよい。例えば、オブジェクトをポインティングしている際に、当該オブジェクトの内部領域への釣り糸ポインタ１０５の移動を操作算出部３０４が検出すると、釣り糸ポインタ１０５から従来のポインタに表示を切り換える。表示制御部３０５は、ポインタを従来のマウスポインタのように表示させる。これにより、当該オブジェクト内をポインティングすることができる。操作算出部３０４が従来のポインタがオブジェクトの領域外に出たことを検出すると、再びポインタを釣り糸ポインタ１０５に切り換える。
【００５９】
以上のように釣り糸ＵＩを拡張することで、ユーザは、図全体やその内部に含まれている文字や図形等を自在にポインティングすることができる。
【００６０】
［第２実施形態］
第２実施形態では、タッチパネルを搭載したスマートフォンやタブレット端末などの情報処理端末によるジェスチャ操作について説明する。
【００６１】
図１１は、第２実施形態の情報処理装置５００の構成図である。図１１（ａ）は、情報処理装置５００のハードウェア構成を表し、図１１（ｂ）は、情報処理装置５００内に形成される機能ブロックの構成を表す。それぞれ、第１実施形態と同じ構成については同じ符号を付しており、詳細な説明を省略する。
【００６２】
情報処理装置５００のハードウェア構成は、第１実施形態の情報処理装置１００から、タッチパネル２０８を備え、プロジェクタ１０１及び距離画像センサ１０３への接続を除いた構成である。情報処理装置５００の機能ブロックは、第１実施形態の情報処理装置１００から、タッチ取得部３０７を備え、画像取得部３０１、画像処理部３０２、及び形状検出部３０３を除いた構成となる。タッチ取得部３０７は、タッチパネル２０８で検出されたタッチ操作（ジェスチャ操作）を取得し、画面内の位置情報に変換する。操作算出部３０４は、タッチ取得部３０７で変換された位置情報に応じて、ジェスチャ操作の方向や操作量を算出する。
【００６３】
図１２は、ジェスチャ操作によるページ切替の状態説明図である。図１２（ａ）では、２つのページ９００、９０１を、ジェスチャ操作であるスワイプ操作により切り替える例を示す。スワイプ操作による操作量がページを切り替えるために必要な操作量の閾値よりも小さい場合、ページ切替は行われない。例えば、ページ９００の表示中にスワイプ操作を開始し、操作量が閾値よりも小さい段階で手９０２がタッチパネルから離れると、ページ切替は行われずにページ９００の表示に戻る。そのために、スワイプ操作をどの程度続けるとページが切り替わるかをユーザが直感的に把握することは、操作性を向上させる観点から重要である。
【００６４】
第２実施形態では、図１２（ｂ）に示すように、画面上にアイコン９０３ａ、９０３ｂ、９０３ｃを表示する。アイコン９０３ａ、９０３ｂ、９０３ｃは、操作方向、操作量、及びページが切り替わる方向を表す。アイコン９０３ａ、９０３ｂ、９０３ｃは、第２実施形態の操作オブジェクトの一例である。
【００６５】
ユーザによりスワイプ操作が開始されると、画面上にアイコン９０３ａが表示され、ページ９００及びページ９０１の各々の一部が表示される。ページ９００及びページ９０１が図中左方向にスクロールすることで、スワイプ操作の操作方向を表している。また、アイコン９０３ａを画面右側に表示することで、スワイプ操作の操作方向を表している。
【００６６】
アイコン９０３ａ内の矢印は、スワイプ操作の操作量に応じて回転する。表示制御部３０５は、操作算出部３０４で算出された操作量に応じてアイコン９０３ａの回転量を決める。つまり、表示制御部３０５は、スワイプ操作による操作量が大きくなるに従って、アイコン９０３ａの矢印を反時計回りに回転させる。図１２（ｂ）の場合、図中左方向へのスワイプ操作による操作量が大きくなるに従って、アイコン９０３ａ→アイコン９０３ｂ→アイコン９０３ｃの順に矢印が反時計回りに回転する。このようにアイコン９０３ａ、９０３ｂ、９０３ｃ内の矢印の回転量は、スワイプ操作による操作量を表す。
【００６７】
アイコン９０３ａ、９０３ｂ、９０３ｃには、ページ切替のための操作量の閾値を表す閾値線９０４が表示される。アイコン９０３ａ、９０３ｂ、９０３ｃ内の矢印が閾値線９０４よりも右側を指せばページ切替が行われず、閾値線９０４よりも左側を指せばページ切替が行われる。このように矢印の向きと閾値線９０４との関係により、閾値と操作量とが関連づけて表示されており、ユーザは、この表示によりスワイプ操作をどの程度続ければよいかがわかる。また、閾値線９０４に対する矢印の向きは、ページが切り替わる方向を表す。
【００６８】
スワイプ操作の方向、操作量、ページの切替方向は、アイコン９０３ａ、９０３ｂ、９０３ｃの表示位置、矢印の回転量、矢印の向きにより表す他に、矢印の大きさや長さ、色、透明度等により表してもよい。また、矢印の他に、バネの画像をアイコン内に表示してスワイプ操作の方向、操作量、ページの切替方向を表してもよい。例えば、スワイプ操作の操作方向をバネの画像の表示位置、操作量をバネの画像の変形量、ページの切替方向をバネの画像の裂け（切断、破れ、非表示）により表してもよい。
【００６９】
このように、アイコン９０３ａ、９０３ｂ、９０３ｃにより、スワイプ操作（ジェスチャ操作）の操作方向、操作量、ページの切替方向を表すことで、ユーザは、ページの切り替えの瞬間や方向を直感的に把握することができる。そのために、ユーザによるページ切替の操作性が向上する。
【００７０】
＜他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７１】
１００，５００…情報処理装置、２００…ＣＰＵ、２０１…ＲＡＭ、２０２…ＲＯＭ、２０３…バス、２０４…ディスプレイＩ／Ｆ、２０５…入力Ｉ／Ｆ、２０６…ストレージＩ／Ｆ、２０７…ストレージ、１０１…プロジェクタ、１０３…距離画像センサ、２０８…タッチパネル、３００…データ読出部、３０１…画像読取部、３０２…画像処理部、３０３…形状検出部、３０４…操作算出部、３０５…表示制御部、３０６…記憶部、３０７…タッチ取得部
【図３】
2015135572.tif 000003
【図５】
2015135572.tif 000004
【図１】
2015135572.tif 000005
【図２】
2015135572.tif 000006
【図４】
2015135572.tif 000007
【図６】
2015135572.tif 000008
【図７】
2015135572.tif 000009
【図８】
2015135572.tif 000010
【図９】
2015135572.tif 000011
【図１０】
2015135572.tif 000012
【図１１】
2015135572.tif 000013
【図１２】
2015135572.tif 000014