以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.本開示の一実施形態に係る情報処理装置の概要
2.第1の実施形態(表示領域からの距離に応じた表示処理の例)
2−1.情報処理装置の構成
2−2.情報処理装置の処理
2−3.変形例
3.第2の実施形態(表示領域外の位置に応じた表示処理の例)
3−1.情報処理装置の構成
3−2.情報処理装置の処理
3−3.変形例
4.第3の実施形態(表示領域を跨いだ操作に応じた表示処理の例)
4−1.情報処理装置の構成
4−2.情報処理装置の処理
4−3.変形例
5.情報処理装置のハードウェア構成の例
6.むすび
<1.本開示の一実施形態に係る情報処理装置の概要>
まず、図1を参照して、本開示の一実施形態に係る情報処理装置の概要について説明する。図1は、本開示の一実施形態に係る情報処理装置の概要を説明するための図である。
本開示の一実施形態に係る情報処理装置100は、操作検出機能および表示制御機能を有する。操作検出機能は、ユーザのジェスチャを認識し、当該ジェスチャに対応する操作を検出する機能である。特に、操作検出機能によって、表示領域等におけるポインティング操作が検出される。また、表示制御機能は、操作に応じて、表示装置等に表示させる内容を制御する機能である。このため、情報処理装置100は、ユーザのジェスチャから検出されるポインティング操作に応じて、表示内容を変更することが可能である。なお、情報処理装置100は、表示装置等を内蔵し得る。
例えば、情報処理装置100は、表示内容を投影する投影機能を有し、図1に示したように、表示領域1に表示内容を投影する。また、撮像装置200は、表示領域1に向かって操作等を行うユーザを撮像可能に配置され、撮像により得られる画像を情報処理装置100に提供する。情報処理装置100は、撮像装置200から提供される画像に基づいてユーザのジェスチャ、例えばユーザの腕および手の姿勢から認識されるジェスチャに対応する操作、例えばポインティング操作を検出する。そして、情報処理装置100は、検出されるポインティング操作により示される位置10にカーソルを表示させる。
ここで、ユーザのポインティング操作に基づいて表示領域の表示が制御される場合、一般的には、表示領域に操作に係る表示オブジェクト、例えばGUI(Graphical User Interface)等が表示されるため、ポインティング操作は表示領域内に向けて行われる。しかし、GUI等の表示によって表示内容の視認性が低下する場合がある。そこで、本開示の一実施形態に係る情報処理装置100は、表示領域外における、操作体の操作によって指し示される位置(以下、ポインティング位置とも称する。)を取得し、取得されるポインティング位置に基づいて表示領域の表示を制御する。
例えば、ユーザが表示領域1の外におけるポインティング操作を行った際、情報処理装置100は、撮像装置200から提供される画像に基づいて、表示領域1の外におけるポインティング位置を検出する。そして、情報処理装置100は、検出されるポインティング位置に対応する表示制御処理を実行する。
このように、本開示の一実施形態に係る情報処理装置100は、表示領域外における、ユーザのポインティング位置を取得し、取得されるポインティング位置に基づいて表示領域の表示を制御する。このため、操作のための表示オブジェクトが表示領域に表示されないことにより、表示領域における表示内容の視認性を向上させながら、表示領域の表示を制御することが可能となる。なお、図1においては情報処理装置100の一例として投影装置を示しているが、情報処理装置100は、ディスプレイまたはテレビジョン等の表示装置であってもよく、また表示装置と接続されるスマートフォン、タブレット端末、パーソナルコンピュータまたはサーバ等の装置であってもよい。また、説明の便宜上、第1〜第3の実施形態に係る情報処理装置100の各々を、情報処理装置100−1、情報処理装置100−2のように、末尾に実施形態に対応する番号を付することにより区別する。
<2.第1の実施形態(表示領域からの距離に応じた表示処理の例)>
以上、本開示の一実施形態に係る情報処理装置100の概要について説明した。次に、本開示の第1の実施形態に係る情報処理装置100−1について説明する。情報処理装置100−1は、表示領域の外におけるポインティング位置から表示領域までの距離に応じて表示領域の表示を制御する。
<2−1.情報処理装置の構成>
まず、図2を参照して、本開示の第1の実施形態に係る情報処理装置100−1の構成について説明する。図2は、本開示の第1の実施形態に係る情報処理装置100−1の概略的な機能構成を示すブロック図である。
情報処理装置100−1は、図2に示したように、検出部102、記憶部104、制御部106および投影部108を備える。なお、情報処理装置100−1は撮像装置200と通信を介して接続される。
検出部102は、取得部として、ユーザ操作を検出する。具体的には、検出部102は、撮像装置200から提供される画像等に基づいて、操作体の操作によって指し示される方向(以下、ポインティング方向とも称する。)を検出する。さらに、検出部102は、当該ポインティング方向に基づいて、操作位置としてのポインティング位置を検出する。なお、操作体には、ユーザの手、腕または指し棒等の操作物が含まれ得る。
より具体的には、検出部102は、撮像装置200に撮像要求を行い、撮像要求への応答として撮像装置200から提供される画像および記憶部104に記憶される人体の三次元モデル情報等に基づいて、ポインティング方向を検出する。そして、検出部102は、検出されるポインティング方向と、投影部108によって表示内容が投影される面との交点をポインティング位置として検出する。例えば、ポインティング方向およびポインティング位置の検出には、画像解析技術を用いた技術のほか、モーションセンサ等から得られる情報を用いた技術またはその他一般的なポインティング技術が用いられ得る。
なお、ポインティング位置は、ユーザによって実際に指し示される位置であってもよく、ユーザによって指し示される位置に基づいて特定される位置であってもよい。例えば、ポインティング位置は、ユーザによって指し示される位置が複数推定される場合、その推定される各位置を含む円の中心等であり得る。また、ポインティング位置の検出は、所定の時間間隔で行われ得る。
記憶部104は、ユーザ操作の検出に用いられる情報を記憶する。具体的には、記憶部104は、人体モデルおよび手モデル等のモデル情報を記憶する。なお、記憶部104は、通信を介する等して外部の装置からモデル情報等を取得する取得部であってもよい。
制御部106は、情報処理装置100−1の動作を制御する。具体的には、制御部106は、表示領域外におけるポインティング位置と表示領域との位置関係に基づいて表示領域の表示を制御する。さらに、制御部106の処理について、図3〜図5を参照してより詳細に説明する。図3は、従来の情報処理装置において表示領域からポインティング位置が離隔する場合の表示の例を示す図である。また、図4は、本実施形態に係る情報処理装置100−1の処理による、表示領域からポインティング位置が離隔される場合の表示変化の例を示す図であり、図5は、本実施形態に係る情報処理装置100−1の処理による、表示領域からポインティング位置が離隔される場合の表示変化の他の例を示す図である。
まず、制御部106は、検出部102によって検出されるポインティング位置に基づいて操作オブジェクトを表示領域に表示させる。例えば、制御部106は、ポインティング位置10が表示領域1内である場合、ポインティング位置10に、操作オブジェクトとしてカーソル30を表示させる。また、制御部106は、ポインティング位置10が表示領域1外である場合、図3の左図に示したように、表示領域1における他の位置よりもポインティング位置10に近い表示領域1上の位置にカーソル30を表示させる。なお、制御部106は、処理の実行に係る処理オブジェクトとして、例えばアイコン20を表示領域1に表示させ、アイコン20はカーソル30の操作によって選択等され得る。
次に、制御部106は、ポインティング位置が移動される場合、操作オブジェクトの表示位置をポインティング位置に合わせて変更する。例えば、制御部106は、ポインティング位置10が表示領域1上で移動される場合、ポインティング位置10の移動に合わせてカーソル30の位置を変更する。
ここで、従来の情報処理装置では、ポインティング位置が表示領域外で移動される場合、操作オブジェクトの表示を変更することが困難であった。例えば、従来の情報処理装置においては、ポインティング位置10が表示領域1外において表示領域1から離隔する方向に移動される場合、図3の右図に示したように、カーソル30の表示はポインティング位置10の移動の前後において変化しない。そのため、ユーザはポインティング操作が認識されているかを把握することが困難であり、情報処理装置が正常に動作しているかを別途の方法で確認することになる。
そこで、本開示の第1の実施形態に係る情報処理装置100−1では、制御部106は、表示領域外におけるポインティング位置から表示領域までの距離に応じて、操作オブジェクトの表示を制御する。例えば、制御部106は、ポインティング位置10が表示領域1外において表示領域1から離隔する方向に移動される場合、図4の右図に示したように、ポインティング位置10から表示領域1までの距離に応じてカーソル30を縮小させる。
また、制御部106は、ポインティング位置10が表示領域1外において表示領域1から離隔する方向に移動される場合、図5の右図に示したように、表示領域1からポインティング位置10までの距離に応じてカーソル30を歪めてもよい。さらに、制御部106は、カーソル30からポインティング位置10への方向に応じてカーソル30を歪め得る。この場合、表示領域からのポインティング位置10の離隔の程度がユーザに示されることにより、ユーザは表示領域1外におけるポインティング位置10を推測でき、表示領域外における操作性を向上させることが可能となる。
なお、上記では、カーソル30は、ポインティング位置10から表示領域までの距離に応じて縮小され、または歪められる例を説明したが、カーソル30は、当該距離に応じて拡大され、または色彩、形状もしくは模様等が変更されてもよい。また、カーソル30は、当該距離に応じて他の画像に変更されてもよい。
ここで図2に戻ると、投影部108は、制御部106の指示に基づいて表示内容を投影する。具体的には、投影部108は、制御部106によって生成される画像または映像等を投影方向に向けて投影する。例えば、投影部108は、CRT(Cathode Ray Tube)または液晶を用いたプロジェクタ等であり得る。なお、投影部108は、液晶または有機EL(Electroluminescence)を用いたディスプレイ等の表示部であってもよい。
また、撮像装置200は、情報処理装置100−1の要求に応じて撮像を行う。具体的には、撮像装置200は、検出部102から撮像要求を受けると、撮像要求に応じた撮像を行い、撮像により得られる画像を情報処理装置100−1に提供する。例えば、撮像装置200は、2以上の撮像部を有し、各撮像部において撮像を行う。なお、撮像装置200は複数設置されてもよく、各撮像装置200は情報処理装置100−1に接続され得る。また、撮像装置200の設置場所は、図1に示したような表示領域1の下方に限定されず、撮像装置200は、表示領域1に向かって操作を行うユーザを被写体として撮像可能な位置のいずれかに設置され得る。
<2−2.情報処理装置の処理>
次に、図6を参照して、本実施形態における情報処理装置100−1の処理について説明する。図6は、本実施形態における情報処理装置100−1の処理を概念的に示すフローチャートである。
まず、情報処理装置100−1は、ポインティング位置を検出する(ステップS302)。具体的には、検出部102は、所定の時間間隔で撮像装置200に撮像要求を行い、当該撮像要求への応答として撮像装置200から提供される画像に基づいてポインティング方向を検出し、当該ポインティング方向に基づいてポインティング位置を検出する。
次に、情報処理装置100−1は、ポインティング位置が表示領域外であるかを判定する(ステップS304)。具体的には、制御部106は、検出部102によって検出されるポインティング位置が表示領域外であるかを判定する。なお、ポインティング位置が表示領域内であると判定される場合、制御部106は、カーソルを当該ポインティング位置まで移動させる。
ポインティング位置が表示領域外であると判定される場合、情報処理装置100−1は、ポインティング位置から表示領域までの距離を算出する(ステップS306)。具体的には、制御部106は、ポインティング位置から表示領域の他の位置よりもポインティング位置に近い位置までの距離を算出する。なお、制御部106は、ポインティング位置から表示領域に表示されるカーソル30の表示位置までの距離を算出してもよい。
次に、情報処理装置100−1は、操作オブジェクトを算出距離に応じた大きさに変更する(ステップS308)。具体的には、制御部106は、算出された、ポインティング位置から表示領域までの距離に応じたカーソルの大きさを決定し、決定される大きさにカーソルの表示を変更する。そして、制御部106は、変更後の表示内容を投影部108に投影させる。
このように、本開示の第1の実施形態によれば、表示領域の外における、ユーザのポインティング位置を検出し、検出されるポインティング位置に基づいて表示領域の表示を制御する。このため、ポインティング操作のための表示オブジェクトが表示領域に表示されずに済むことにより、表示領域における表示内容の視認性を向上させながら、ユーザ操作に応じて表示領域の表示を制御することが可能となる。
また、制御部106は、表示領域外におけるポインティング位置と表示領域との位置関係に基づいて表示領域の表示を制御する。このため、表示領域外におけるポインティング位置がユーザに示されることにより、表示領域外における操作性を向上させることが可能となる。
また、制御部106は、表示領域外におけるポインティング位置から表示領域までの距離に応じて表示領域の表示を制御する。このため、ユーザは表示されないポインティング位置をより正確に把握し易くなり、表示領域外における操作性をさらに向上させることが可能となる。
また、制御部106は、ポインティング位置から表示領域までの距離に応じて、ポインティング位置によって特定される表示領域における位置に表示される操作オブジェクトの表示を制御する。このため、ポインティング位置と密接に関わる操作オブジェクトの表示が変化されることにより、ユーザは、ポインティング位置の表示領域外における変化を直観的に理解することが可能となる。
<2−3.変形例>
以上、本開示の第1の実施形態について説明した。なお、本実施形態は、上述の例に限定されない。以下に、本実施形態の第1〜第3の変形例について説明する。
(第1の変形例)
本実施形態の第1の変形例として、情報処理装置100−1は、操作オブジェクトの場合と同様に、ポインティング位置から表示領域までの距離に応じて処理の実行に係る処理オブジェクトの表示を制御してもよい。具体的には、制御部106は、処理オブジェクトを表示領域に表示させ、ポインティング位置から表示領域までの距離に応じて、処理オブジェクトの表示を制御する。さらに、図7および図8を参照して本変形例の処理を詳細に説明する。図7は、本変形例に係る情報処理装置100−1の処理による、表示領域からポインティング位置が離隔される場合の表示変化の例を示す図であり、図8は、本変形例に係る情報処理装置100−1の処理による、表示領域からポインティング位置が離隔される場合の表示変化の他の例を示す図である。
まず、制御部106は、処理オブジェクトを表示領域に表示させ、また検出部102によって検出されるポインティング位置に基づいて操作オブジェクトを表示領域に表示させる。なお、処理の詳細については、第1の実施形態の処理と実質的に同一であるため説明を省略する。
次に、制御部106は、操作オブジェクトの操作に基づいて処理オブジェクトを選択する。例えば、制御部106は、図7の左図に示したように、カーソル30がアイコン20と重なる位置に所定の時間留められる場合、当該アイコン20が選択されたと判定し、アイコン20の状態を選択状態に遷移させる。
次に、制御部106は、ポインティング位置が表示領域外において表示領域から離隔する方向に移動される場合、ポインティング位置から表示領域までの距離に応じて、処理オブジェクトの表示を制御する。例えば、制御部106は、ポインティング位置10が表示領域1から離隔される方向に移動される場合、ポインティング位置10から表示領域1までの距離に応じて、図7の右図に示したように、アイコン20の大きさを縮小させる。
また、制御部106は、ポインティング位置が表示領域から離隔される方向に移動される場合、ポインティング位置から表示領域までの距離に応じて、処理オブジェクトの表示を歪めてもよい。例えば、制御部106は、図8の右図に示したように、ポインティング位置10が表示領域1から離隔される方向に移動される場合、表示領域1からポインティング位置10までの距離に応じてアイコン20を歪める。さらに、制御部106は、アイコン20からポインティング位置10への方向に応じてアイコン20を歪め得る。
このように、本実施形態の第1の変形例によれば、制御部106は、処理オブジェクトを表示領域に表示させ、ポインティング位置から表示領域までの距離に応じて、処理オブジェクトの表示を制御する。このため、ユーザが操作対象として意図する処理オブジェクトの表示が変化されることにより、表示領域外におけるポインティング位置の変化をユーザに気づかせることがより容易となる。
(第2の変形例)
本実施形態の第2の変形例として、情報処理装置100−1は、ポインティング位置が表示領域から離隔され過ぎると、実行中の表示制御を止めてもよい。具体的には、制御部106は、表示領域に隣接する表示領域外における所定の範囲の外にポインティング位置が移動される場合、実行中または実行予定の表示制御を止める。さらに、図9を参照して本変形例の処理について詳細に説明する。図9は、本変形例に係る情報処理装置100−1の処理による、表示領域からポインティング位置が離隔される場合の表示変化の例を示す図である。
まず、制御部106は、ポインティング位置が表示領域外において変化する場合、当該ポインティング位置が表示領域外における所定の範囲内にあるかを判定する。例えば、制御部106は、ポインティング位置10が表示領域1外において移動される場合、ポインティング位置10が表示領域1外における所定の範囲40内に位置するかを判定する。そして、ポインティング位置10が所定の範囲40内に位置すると判定される場合、制御部106は、カーソル30の表示制御、例えばカーソル30の歪み処理を行う。なお、カーソル30の表示制御処理については、第1の実施形態における処理と実質的に同一であるため説明を省略する。
ポインティング位置が当該所定の範囲外にあると判定される場合、制御部106は、表示領域における表示制御を中止する。例えば、図9の右図に示したように、ユーザがポインティング操作に係る腕を下す等して、ポインティング位置10が表示領域1外において所定の範囲40から外に移動される場合、制御部106は、カーソル30の歪み処理を中止し、カーソル30の表示を元に戻す。
なお、制御部106は、カーソル30の表示を元に戻す際に、実行中または実行予定であった表示制御と異なる他の処理を中止してもよい。例えば、ドラッグアンドドロップ操作中である場合、制御部106は、カーソル30の表示を元に戻す際に、当該ドラッグアンドドロップ処理を中止し、操作対象であった表示オブジェクト、例えばアイコン20等を元の位置に戻す。
このように、本実施形態の第2の変形例によれば、制御部106は、表示領域に隣接する表示領域外における所定の範囲の外にポインティング位置が移動される場合、実行中の表示制御を止める。このため、表示領域外における所定の範囲外へのポインティング位置の移動によって実行中の表示制御がキャンセルされることにより、ユーザは表示領域内にポインティング位置を戻して当該表示制御をキャンセルさせる操作を行わずに済み、利便性を向上させることが可能となる。
なお、上記では、制御部106は表示制御を中止する例を説明したが、制御部106は表示制御部を停止してもよい。例えば、制御部106は、ポインティング位置10が表示領域1外において所定の範囲40から外に移動される場合、カーソル30の歪み処理を停止させ、カーソル30を歪ませたままにしてもよい。この場合、表示制御のキャンセル表示が強調されることにより、ユーザにキャンセルへの気づきを促すことが可能となる。
また、上記では、制御部106は、ポインティング位置の所定の範囲外への移動に基づいて表示制御を止める例を説明したが、制御部106は、ポインティング位置と表示領域との距離に基づいて表示制御を止めてもよい。例えば、制御部106は、表示領域外においてポインティング位置が検出される度に、ポインティング位置と表示領域との距離を算出する。そして、算出距離が所定の距離以上である場合、制御部106は、表示領域における表示制御を中止または停止する。
また、制御部106は、ポインティング位置と表示領域との距離の変化の速さに基づいて表示制御を止めてもよい。例えば、制御部106は、ポインティング位置が検出される度に算出されるポインティング位置と表示領域との距離の変化が閾値よりも大きい場合、表示領域における表示制御を中止または停止する。この場合、ユーザは表示領域外における任意の場所で表示制御等のキャンセルを行うことができ、利便性をさらに向上させることが可能となる。
(第3の変形例)
本実施形態の第3の変形例として、情報処理装置100−1は、表示領域に代えて、ユーザと対応付けられる領域の外におけるポインティング位置を検出し、検出されるポインティング位置に基づいて当該領域に係る表示領域の表示を制御してもよい。具体的には、制御部106は、ユーザと対応付けられる、表示領域内であって操作領域の外における当該ユーザのポインティング位置を検出し、検出されるポインティング位置に基づいて当該操作領域における表示を制御する。さらに、図10を参照して本変形例の処理について詳細に説明する。図10は、本実施形態の第3の変形例に係る情報処理装置100−1におけるユーザに対応付けられる領域の例を示す図である。
(ユーザに対応付けられるウィンドウ)
まず、制御部106は、表示領域に表示される操作領域と当該操作領域について操作を行うユーザとを対応付ける。例えば、操作領域は、ウィンドウシステムにおけるウィンドウであり得て、制御部106は、図10に示したように、表示領域1にウィンドウ2Aおよび2Bを表示させ得る。そして、制御部106は、ウィンドウ2Aの生成または操作が行われた際に、生成または操作を行ったユーザを特定し、特定されるユーザと当該ウィンドウ2Aとを対応付け、当該対応付けを記憶部104等に記憶させる。なお、ユーザの特定は顔認識技術等を用いて行われ得る。
次に、制御部106は、ポインティング位置が検出されると、ポインティング操作を行うユーザを特定する。例えば、制御部106は、検出部102によってポインティング位置が検出されると、ポインティング操作を行うユーザを特定する。
そして、制御部106は、ポインティング位置が、特定されるユーザに対応付けられる操作領域外である場合、当該ポインティング位置に基づいて当該操作領域の処理を制御する。例えば、制御部106は、記憶部104に記憶される対応付け情報から、特定されるユーザに対応付けられるウィンドウ2Aを特定し、当該ポインティング位置がウィンドウ2A外であるかを判定する。当該ポインティング位置がウィンドウ2A外である場合、制御部106は、当該ポインティング位置10に基づいてウィンドウ2Aについての表示制御を行う。
このように、本実施形態の第3の変形例によれば、制御部106は、ユーザと対応付けられる、表示領域内であって操作領域の外における当該ユーザのポインティング位置を検出し、検出されるポインティング位置に基づいて当該操作領域についての表示を制御する。このため、表示領域内の操作であっても操作オブジェクトが表示されずに操作領域の表示制御が行われることにより、表示領域における操作領域外の視認性を低下させずに、ユーザに比べて大きい表示領域における操作を容易にすることが可能となる。
(ユーザの視野)
なお、ユーザと対応付けられる領域は、ユーザの視野であってもよい。具体的には、制御部106は、ポインティング位置が検出される場合、当該ポインティング位置に係るポインティング操作を行うユーザを特定し、当該ユーザの視野を判定する。ポインティング位置が当該ユーザの視野の外である場合、制御部106は、当該ポインティング位置に基づいて当該ユーザの視野に係る領域についての表示を制御する。さらに、図11を参照して詳細に説明する。図11は、本実施形態の第3の変形例に係る情報処理装置100−1におけるユーザに対応付けられる領域の他の例を示す図である。
まず、制御部106は、ポインティング位置が検出されると、当該ポインティング位置に係るポインティング操作を行うユーザを特定する。なお、ユーザの特定処理は、上述の処理と実質的に同一であるため説明を省略する。
次に、制御部106は、特定されるユーザの視野を判定する。例えば、制御部106は、当該ポインティング操作を行うユーザが特定されると、記憶部104に記憶されるユーザの視野情報に基づいて特定されるユーザの図11に示されるような視野3を判定する。例えば、ユーザの視野は、弁別視野、有効視野または注視安定視野等であり得る。また、ユーザの視野に係る情報は予め記憶部104等に記憶され得る。
そして、制御部106は、ポインティング位置が、判定されるユーザの視野の外である場合、当該ポインティング位置に基づいて処理を制御する。例えば、制御部106は、ポインティング位置が判定されるユーザの視野3の外であるかを判定する。当該ポインティング位置がユーザの視野3の外であると判定される場合、制御部106は、当該ポインティング位置10に基づいて処理、例えばユーザの視野3における表示制御を行う。
この場合、ユーザの視界が遮られることなくユーザの視野に係る領域における表示が制御されることにより、ユーザの視野内の表示内容についての視認性をさらに向上させることが可能となる。
<3.第2の実施形態(表示領域外の位置に応じた表示処理の例)>
以上、本開示の第1の実施形態に係る情報処理装置100−1について説明した。次に、本開示の第2の実施形態に係る情報処理装置100−2について説明する。情報処理装置100−2は、表示領域の外におけるポインティング位置に応じて表示領域の表示を制御する。
<3−1.情報処理装置の構成>
情報処理装置100−2の機能構成は第1の実施形態に係る機能構成と実質的に同一であるが、制御部106の機能が一部異なる。
制御部106は、表示領域外におけるポインティング位置に対応する表示制御を実行する。具体的には、制御部106は、表示領域に表示される処理オブジェクトに対応付けられる表示領域外における選択領域の中にポインティング位置がある場合、処理オブジェクトに係る処理を実行する。さらに、図12を参照して本実施形態の処理について詳細に説明する。図12は、本実施形態に係る情報処理装置100−2の処理による、表示領域からポインティング位置が離隔される場合の表示変化の例を示す図である。
まず、制御部106は、表示される処理オブジェクトに対応する選択領域を設定する。例えば、制御部106は、図12の左図に示したように、アイコン20を表示領域1に表示させ、当該アイコン20に対応する選択領域40をアイコン20と重なるように、または近接するように設定する。なお、選択領域40は、図12では表示領域1の内外に跨って設定されているが、表示領域1外のみに設定されてもよい。また、選択領域40の設定情報は、アイコン20毎に座標情報として記憶部104に記憶され得る。
そして、制御部106は、表示領域外においてポインティング位置が検出されると、当該ポインティング位置が選択領域と重なるかを判定する。例えば、制御部106は、検出部102によってポインティング位置10が検出されると、当該ポインティング位置10が選択領域40と重なるかを判定する。
ポインティング位置が選択領域と重なると判定される場合、制御部106は、当該選択領域に対応する処理オブジェクトに係る処理を実行する。例えば、制御部106は、所定の時間ポインティング位置10が選択領域40と重なると判定されると、選択領域40と対応するアイコン20に係る処理、例えば処理オブジェクトの選択判定処理を実行する。
<3−2.情報処理装置の処理>
次に、図13を参照して、本実施形態における情報処理装置100−2の処理について説明する。図13は、本実施形態における情報処理装置100−2の処理を概念的に示すフローチャートである。なお、第1の実施形態の処理と実質的に同一である処理については説明を省略する。
まず、情報処理装置100−2は、ポインティング位置を検出し(ステップS402)、ポインティング位置が表示領域外であるかを判定する(ステップS404)。
ポインティング位置が表示領域外であると判定される場合、情報処理装置100−2は、ポインティング位置が選択領域と重なるかを判定する(ステップS406)。具体的には、制御部106は、表示領域に表示される処理オブジェクトに対応する選択領域のいずれかとポインティング位置とが重なるかを判定する。
ポインティング位置が選択領域と重なると判定される場合、情報処理装置100−2は、ポインティング位置が選択領域と重なる状態で所定の時間経過したかを判定する(ステップS408)。具体的には、制御部106は、いずれかの選択領域とポインティング位置とが重なると判定される場合、ポインティング位置が当該選択領域と重なる状態で所定の時間経過したかを判定する。なお、ポインティング位置は、重なりの判定がなされた選択領域と重なる状態が維持される範囲で移動されてもよい。
ポインティング位置が選択領域と重なる状態で所定の時間経過したと判定される場合、情報処理装置100−2は、選択領域に対応する処理オブジェクトについて処理を実行する(ステップS410)。具体的には、制御部106は、ポインティング位置が選択領域と重なる状態で所定の時間経過したと判定される場合、当該選択領域に対応する処理オブジェクトを選択し、または当該処理オブジェクトに係る処理を実行する。
このように、本開示の第2の実施形態によれば、制御部106は、表示領域外におけるポインティング位置に対応する表示制御を実行する。このため、ポインティング位置と表示制御との対応を把握したユーザは直観的に表示制御を行うことができ、利便性を向上させることが可能となる。
また、制御部106は、表示領域に表示される処理オブジェクトに対応付けられる表示領域外における選択領域とポインティング位置とが重なる場合、処理オブジェクトについて処理を実行する。このため、処理オブジェクトの選択可能な領域がポインティング操作の行われにくい表示領域外に広げられることにより、処理オブジェクト選択の失敗等を抑制することが可能となる。
<3−3.変形例>
以上、本開示の第2の実施形態について説明した。なお、本実施形態は、上述の例に限定されない。以下に、本実施形態の第1、第2の変形例について説明する。
(第1の変形例)
本実施形態の第1の変形例として、情報処理装置100−2は、表示領域外におけるポインティング位置に応じて表示領域における表示のスクロールを制御してもよい。具体的には、制御部106は、表示領域における予め決定される領域とポインティング位置との重なりの有無に応じて表示領域における表示のスクロールを制御する。さらに、図14を参照して本変形例の処理を詳細に説明する。図14は、本実施形態の第1の変形例に係る情報処理装置100−2のスクロール処理における表示変化の例を示す図である。
まず、表示領域外における表示領域に隣接する所定の領域が処理判定領域として設定される。例えば、図14の左上図に示したように、表示領域1に隣接する領域4が処理判定領域として設定される。なお、処理判定領域の設定情報は、記憶部104等に記憶され得る。
そして、制御部106は、表示領域外においてポインティング位置が検出されると、当該ポインティング位置が設定される処理判定領域と重なるかを判定する。例えば、制御部106は、検出されるポインティング位置10が表示領域1外にあるかを判定する。図14の中上図に示したようにポインティング位置10が表示領域1外に移動されると、ポインティング位置10が表示領域1外にあると判定され、制御部106は、当該ポインティング位置10が処理判定領域4と重なるかを判定する。
ポインティング位置が処理判定領域と重なると判定される場合、制御部106は、ポインティング位置の表示領域についての位置関係に基づいて表示領域の表示をスクロールさせる。例えば、制御部106は、ポインティング位置10が処理判定領域4と重なると判定される場合、表示領域1に対するポインティング位置10の方向、すなわち下方に表示領域1の表示、例えば地図をスクロールする。
次に、制御部106は、ポインティング位置が処理判定領域外に移動されると、スクロールを停止する。例えば、図14の右上図に示したようにポインティング位置10が表示領域1外であって処理判定領域4外である位置に移動される場合、またはポインティング位置10が表示領域1内に戻される場合、制御部106は、表示領域における表示のスクロールを停止する。
このように、本実施形態の第1の変形例によれば、制御部106は、表示領域外におけるポインティング位置に応じて表示領域における表示のスクロールを制御する。このため、操作オブジェクトまたはスクロールバー等のスクロール操作用の表示オブジェクトが表示領域に表示されないことにより、表示領域における表示内容の視認性を向上させながらスクロールが可能となる。
(慣性スクロール)
なお、制御部106は、ポインティング位置が処理判定領域で留まらず、表示領域内から処理判定領域外まで移動される場合、表示領域の表示を慣性的にスクロールさせてもよい。具体的には、制御部106は、ポインティング位置が表示領域から処理判定領域外に移動される場合、移動の速さに基づいてスクロールの実行有無を判定する。スクロールを実行すると判定される場合、制御部106は、表示領域の表示について移動の速さに応じた慣性スクロールを実行する。さらに、図14を参照して慣性スクロール処理について詳細に説明する。
まず、制御部106は、ポインティング位置が表示領域から処理判定領域外に移動される場合、当該移動の速さを算出する。例えば、制御部106は、図14の中下図に示したように、ポインティング位置10が表示領域1内から処理判定領域4の外まで移動される場合、移動開始から終了までの間の移動の速さを算出する。なお、算出される移動の速さは、処理判定領域上を通過する際の移動の速さであってもよい。
次に、制御部106は、算出される移動の速さが閾値以上である場合、ポインティング位置の移動方向に表示領域の表示を慣性スクロールさせる。例えば、制御部106は、算出される移動の速さが閾値以上である場合、表示領域における表示のスクロールを開始する。そして、制御部106は、図14の右下図に示したように、ポインティング位置10の移動距離に応じて決定される時間だけスクロールを継続する。
この場合、ユーザ操作の態様と対応するようにスクロール処理が実行されることにより、ユーザに心地よい操作感を与えることが可能となる。
(エッジスクロール)
また、制御部106は、処理判定領域におけるポインティング位置の変化に応じて表示領域の表示をスクロールさせてもよい。具体的には、制御部106は、ポインティング位置が処理判定領域において検出された後に処理判定領域内で移動される場合、当該ポインティング位置の移動距離に応じて表示領域の表示をスクロールさせる。
例えば、制御部106は、ポインティング位置が処理判定領域内で検出されると、処理判定領域におけるどの部分にポインティング位置があるかを判定する。次に、制御部106は、ポインティング位置が移動されると、当該ポインティング位置の移動距離を算出する。そして、制御部106は、判定される処理判定領域の部分に対応する方向に、算出される移動距離に応じたスクロール量で表示領域の表示をスクロールさせる。例えば、矩形の表示領域における垂直方向の辺に隣接する処理判定領域の部分においてポインティング位置の移動が行われる場合、制御部106は、表示領域の表示を垂直方向にスクロールさせる。
この場合、表示領域外におけるポインティング位置の移動量に応じてスクロールされることにより、ユーザは直観的なスクロール操作を表示領域外において行うことができ、利便性を向上させることが可能となる。
(第2の変形例)
本実施形態の第2の変形例として、情報処理装置100−2は、表示領域外におけるポインティング位置に応じて表示領域上に操作誘導用のオブジェクトを表示させてもよい。具体的には、制御部106は、表示領域の縁の他の縁よりもポインティング位置に近い縁に隣接する表示領域上の位置に操作誘導用オブジェクトを表示させる。さらに、図15を参照して本変形例の処理について詳細に説明する。図15は、本実施形態の第2の変形例に係る情報処理装置100−2の処理において操作誘導用オブジェクトが表示される例を示す図である。
まず、制御部106は、表示領域外におけるポインティング位置が検出されると、当該ポインティング位置に近い縁を判定する。例えば、制御部106は、図15に示したような表示領域1外のおけるポインティング位置10が検出されると、ポインティング位置10に近い矩形の表示領域1の辺を判定する。図15では、表示領域1の短辺のうち、ポインティング位置10に近い辺が判定される。なお、制御部106は、ポインティング位置から表示領域までの距離が閾値以下である場合に判定してもよい。
次に、制御部106は、判定される縁に隣接する表示領域上の位置に操作誘導用オブジェクトを表示させる。例えば、制御部106は、図15に示したように、判定される表示領域1の辺に一辺が隣接する三角形の操作誘導用オブジェクト50を表示領域1に表示させる。そして、ユーザは、表示された操作誘導用オブジェクト50に向かう方向にポインティング位置を移動させ、例えば後述するフリック操作を行う。
このように、本実施形態の第2の変形例によれば、制御部106は、表示領域の縁の他の縁よりもポインティング位置に近い縁に隣接する表示領域上の位置に操作誘導用オブジェクトを表示させる。このため、表示領域外を利用した操作が誘導されることにより、利便性を向上させることが可能となる。
<4.第3の実施形態(表示領域を跨いだ操作に応じた表示処理の例)>
以上、本開示の第2の実施形態に係る情報処理装置100−2について説明した。次に、本開示の第3の実施形態に係る情報処理装置100−3について説明する。情報処理装置100−3は、表示領域を跨いだ操作に基づいて表示領域の表示を制御する。
<4−1.情報処理装置の構成>
情報処理装置100−3の機能構成は第1、第2の実施形態に係る機能構成と実質的に同一であるが、制御部106の機能が一部異なる。
制御部106は、ポインティング位置が表示領域の縁を跨いで移動される動作(以下、跨ぎ動作とも称する。)に基づいて表示領域の表示を制御する。具体的には、制御部106は、跨ぎ動作におけるポインティング位置の移動の速さが閾値以上である場合、当該跨ぎ動作は所定の操作であるとして、表示領域の表示を変更する。さらに、図16を参照して本実施形態の処理について詳細に説明する。図16は、本実施形態に係る情報処理装置100−3の処理におけるポインティング位置の跨ぎ動作の例を示す図である。
まず、制御部106は、ポインティング位置が検出される度に、当該ポインティング位置が表示領域外にあるかを判定し、表示領域の縁を跨いでポインティング位置が移動されたかを判定する。例えば、制御部106は、図16の左図に示したようなポインティング位置10が検出されると、ポインティング位置10が表示領域1外にあると判定する。その後、ポインティング位置10が図16の右図に示したようなポインティング位置10に移動される場合、制御部106は、ポインティング位置10が表示領域1内にあると判定する。そして、制御部106は、過去および現在のポインティング位置10を比較し、ポインティング位置10が表示領域1の外から内へ移動されたと判定する。
表示領域の縁を跨いでポインティング位置が移動されたと判定される場合、制御部106は、当該移動の速さを算出する。例えば、ポインティング位置10が表示領域1の外から内へ移動されたと判定される場合、制御部106は、当該移動の開始から終了までの移動の速さを算出する。なお、ポインティング位置10の移動の速さは、表示領域の縁を跨ぐ際の速さであってもよい。
そして、制御部106は、算出されるポインティング位置の移動の速さが閾値以上である場合、表示領域における表示を変更する。例えば、算出されるポインティング位置10の移動の速さが閾値以上である場合、制御部106は、当該跨ぎ動作は所定の操作、例えばフリック操作であるとして、フリック操作に係る表示制御を実行する。なお、フリック操作に係る処理は、例えば、動画アプリケーションのコンテンツ一覧におけるページスクロールもしくは再生中のコンテンツの切り替え、地図アプリケーションにおける表示範囲の変更もしくは視点位置の変更、ブラウザにおけるスクロール、書籍閲覧アプリケーションにおけるページ切り替え、ウィンドウシステムにおける一部が表示されていないウィンドウを全体表示させる表示変更処理等であり得る。
なお、上記では、ポインティング位置は表示領域外から表示領域内に移動される例を説明したが、ポインティング位置は表示領域内から表示領域外に移動されてもよい。また、ポインティング位置の移動は、上記の例で説明される水平方向だけでなく、表示領域の形状に合わせて様々な方向から行われてもよい。
<4−2.情報処理装置の処理>
次に、図17を参照して、本実施形態における情報処理装置100−3の処理について説明する。図17は、本実施形態における情報処理装置100−3の処理を概念的に示すフローチャートである。なお、第1、第2の実施形態の処理と実質的に同一である処理については説明を省略する。
まず、情報処理装置100−3は、所定の期間のポインティング位置群を取得する(ステップS502)。具体的には、制御部106は、ポインティング位置が検出されると、過去のポインティング位置に係る情報を記憶部104から取得する。なお、過去のポインティング位置に係る情報は、ポインティング位置および当該ポインティング位置が表示領域の内外のいずれであるかを示す情報を含み、例えば10フレーム分等の複数の情報であり得る。
次に、情報処理装置100−3は、跨ぎ動作が行われたかを判定する(ステップS504)。具体的には、制御部106は、検出されるポインティング位置が表示領域の内外のいずれにあるかを判定し、当該判定結果と取得される過去のポインティング位置に係る情報のうちの表示領域の内外を示す情報とに基づいて、ポインティング位置が表示領域の縁を跨いで移動されたかを判定する。
ポインティング位置が表示領域の縁を跨いで移動されたと判定される場合、情報処理装置100−3は、当該移動の速さが閾値以上かを判定する(ステップS506)。具体的には、判定に係るポインティング位置と過去のポインティング位置とでポインティング位置が表示領域の内外のいずれにあるかについて変化する場合、制御部106は、ポインティング位置が表示領域の縁を跨いで移動されたと判定する。そして、制御部106は、過去のポインティング位置と現在のポインティング位置との距離およびポインティング位置の検出に係る時間間隔から、ポインティング位置の移動の速さを算出し、算出される移動の速さが閾値以上であるかを判定する。
ポインティング位置の移動の速さが閾値以上であると判定される場合、情報処理装置100−3は、フリック操作に係る表示制御を実行する(ステップS508)。具体的には、算出されるポインティング位置の移動の速さが閾値以上であると判定される場合、制御部106は、当該跨ぎ動作はフリック操作であるとして、フリック操作に係る表示制御を実行する。
このように、本開示の第3の実施形態によれば、制御部106は、ポインティング位置が表示領域の縁を跨いで移動される跨ぎ動作に基づいて表示領域の表示を制御する。このため、表示領域の縁を跨ぐことが操作の判別に利用されることにより、操作の誤検出の発生を抑制し、ユーザの利便性を向上させることが可能となる。
また、制御部106は、ポインティング位置の移動の速さが閾値以上である場合、表示領域の表示を変更する。このため、フリック操作を意図しない表示領域の縁近辺のポインティング位置の移動によってフリック操作が誤検出されることを防止し、さらに利便性を向上させることが可能となる。
<4−3.変形例>
以上、本開示の第3の実施形態について説明した。なお、本実施形態は、上述の例に限定されない。以下に、本実施形態の第1〜第3の変形例について説明する。
(第1の変形例)
本実施形態の第1の変形例として、情報処理装置100−3は、跨ぎ動作の方向に応じて表示領域の表示を制御してもよい。具体的には、制御部106は、跨ぎ動作の方向を推定する。そして、制御部106は、推定される跨ぎ動作の方向に基づいて特定される表示制御を実行する。さらに、図18を参照して本変形例の処理について詳細に説明する。図18は、本実施形態の第1の変形例に係る情報処理装置100−3の処理における跨ぎ動作の他の例を示す図である。
まず、制御部106は、跨ぎ動作行われたかを判定する。跨ぎ動作の判定処理については、第3の実施形態の処理と実質的に同一であるため説明を省略する。
跨ぎ動作が行われたと判定される場合、制御部106は、当該移動の速さを算出し、当該移動の方向を推定する。例えば、制御部106は、図18の右図に示したようにポインティング位置が移動される場合、検出されたポインティング位置10と過去のポインティング位置10とを用いて、ポインティング位置10の移動の速さを算出し、また移動方向を推定する。
そして、制御部106は、算出されるポインティング位置の移動の速さが閾値以上である場合、推定される移動方向に対応付けられる表示制御を特定し、特定される表示制御を行う。例えば、制御部106は、算出されるポインティング位置10の移動の速さが閾値以上である場合、推定される移動方向、例えば垂直かつ下方向に対応付けられる表示制御を記憶部104に記憶される表示制御と移動方向との対応付け情報に基づいて特定する。そして、制御部106は、表示領域1について特定される表示制御を実行する。なお、対応付け情報は、ユーザの設定等によって記憶部104に予め記憶され得る。
このように、本実施形態の第1の変形例によれば、制御部106は、跨ぎ動作の方向に基づいて特定される、表示領域の表示制御を行う。このため、跨ぎ動作により指定可能な表示制御のパターンが増加されることにより、ユーザの利便性を向上させることが可能となる。
なお、上記では、ポインティング位置の移動方向に基づいて実行される表示制御が特定される例を説明したが、ポインティング位置の移動の際に通過される表示領域の縁に基づいて実行される表示制御が特定されてもよい。例えば、制御部106は、跨ぎ動作が行われたと判定される場合、推定されるポインティング位置の移動方向から表示領域の辺の内のいずれの辺が通過されたかを判定する。また、記憶部104は、表示領域の各辺と対応付けられる表示制御を記憶する。そのため、制御部106は、通過されたと判定される辺に対応付けられる表示制御を記憶部104から特定し、特定される表示制御を行う。この場合、移動方向と表示制御とを対応付けることに比べて予め記憶される情報が簡易化されることにより、対応付け情報の設定を容易にすることが可能となる。
また、上記では、跨ぎ動作による表示制御はポインティング位置の移動方向のみによって特定される例を説明したが、当該表示制御は、当該移動方向およびポインティング位置が表示領域の内外のいずれであるかに基づいて特定されてもよい。例えば、表示制御と移動方向との対応付け情報に、表示領域の内から外または外から内への変化を区別する情報が追加され、制御部106は、移動方向とポインティング位置における表示領域の内外の変化とに基づいて実行する表示制御を特定する。この場合、移動方向が同じであっても、表示領域の内外の変化が異なる場合に異なる表示制御が実行され得ることにより、さらに跨ぎ動作により指定可能な表示制御のパターンを増加させ、利便性を向上させることが可能となる。
(第2の変形例)
本実施形態の第2の変形例として、跨ぎ動作は同じタイミングで複数行われてもよい。具体的には、制御部106は、所定の時間内に行われる跨ぎ動作の数に基づいて特定される、表示領域の表示制御を行う。さらに、図19および図20を参照して本変形例の処理について詳細に説明する。図19は、本実施形態の第2の変形例に係る情報処理装置100−3の処理における複数の跨ぎ動作の例を示す図であり、図20は、本実施形態の第2の変形例に係る情報処理装置100−3の処理における複数の跨ぎ動作の他の例を示す図である。
まず、検出部102は、ポインティング位置を複数検出する。例えば、検出部102は、検出されるポインティング位置に係るポインティング操作を行うユーザの動作に基づいて、図19の左図に示したように、ポインティング位置10Aおよび10Bを検出し得る。なお、複数のポインティング位置に係るポインティング操作は、単一のユーザによって行われてもよく、複数のユーザによって行われてもよい。
次に、複数のポインティング位置について跨ぎ動作が行われると、制御部106は、当該跨ぎ動作の各々が同じタイミングで行われたかを判定する。例えば、図19の右図のようなポインティング位置10Aおよび10Bについて水平方向に寄り合うように跨ぎ動作が行われた場合、制御部106は、複数のポインティング位置について跨ぎ動作が行われたと判定する。そして、制御部106は、各跨ぎ動作の判定時刻が、所定の時間の範囲内であるかを判定する。なお、所定の時間は、予め記憶部104に記憶されてもよく、ユーザ操作等によって変更されてもよい。
そして、複数の跨ぎ動作が同じタイミングで行われたと判定される場合、制御部106は、行われた跨ぎ動作の数に応じた表示制御を行う。例えば、各跨ぎ動作の判定時刻が所定の時間の範囲内であると判定される場合、制御部106は、行われた跨ぎ動作の数に応じた表示制御を記憶部104に予め記憶される表示制御と跨ぎ動作の数との対応付け情報から特定し、特定される表示制御、例えばピンチイン操作に係る処理を実行する。
なお、行われる跨ぎ動作の数が同じであっても、跨ぎ動作におけるポインティング位置の移動方向が異なる場合、制御部106は、異なる表示制御を実行してもよい。例えば、制御部106は、ポインティング位置が離れ合う方向に移動される場合、ピンチアウト操作に係る処理を実行する。また、図20に示したように、複数のポインティング位置について同じ垂直方向の下向きに跨ぎ動作が行われる場合、制御部106は、例えば表示領域の上部に操作メニュー等のヘッダ表示を表示させてもよい。また、逆に、複数のポインティング位置について同じ垂直方向の上向きに跨ぎ動作が行われる場合、制御部106は、例えばブラウザ等の表示をトップ画面に戻してもよい。その他、制御部106は、複数の跨ぎ動作が行われる場合に、表示の拡大もしくは縮小、表示形式の切り替え、または表示の開始もしくは終了等を実行してもよい。
このように、本実施形態の第2の変形例によれば、制御部106は、所定の時間内に行われる跨ぎ動作の数に基づいて特定される、表示領域の表示制御を行う。このため、操作パターンのバリエーションを増加されることにより、ユーザの利便性をさらに向上させることが可能となる。
(第3の変形例)
本実施形態の第3の変形例として、情報処理装置100−3は、同じ方向に所定の操作としての跨ぎ動作が連続して行われる場合、ユーザの意図しない跨ぎ動作を所定の操作、例えばフリック操作でないと判定してもよい。具体的には、制御部106は、第1の跨ぎ動作の後に続けて、当該第1の跨ぎ動作の方向と反対方向に第2の跨ぎ動作が行われる場合、当該第2の跨ぎ動作に基づいて行われる表示変更の有無を判定する。まず、図21を参照して、従来の情報処理装置の課題について説明する。図21は、従来の情報処理装置の処理におけるフリック操作の誤検出を説明するための図である。
一般的に、連続フリック操作は、主に、同じ方向に行われる連続フリック操作(以下、同方向連続フリック操作とも称する。)、および先に行われたフリック操作と次に行われるフリック操作とが逆方向である連続フリック操作(以下、逆方向連続フリック操作とも称する。)の2種類に分類される。
ここで、連続フリック操作は素早く行われるため、一般的に、同方向連続フリック操作では、フリック操作後の次のフリック操作に移るためのポインティング位置の移動が逆方向のフリック操作であると認識される場合があった。例えば、図21に示したように、ポインティング位置10が軌道62を描いて移動されると、1回目の右フリック操作が行われたと判定される。その後、2回目の右フリック操作のためにポインティング位置10が軌道64を描いて戻される際に、左フリック操作が行われたと判定され、ユーザの意図に反して表示領域における表示が変更される場合がある。
そこで、本実施形態の第3の変形例に係る情報処理装置100−3では、制御部106は、第1の跨ぎ動作の後に続けて、当該第1の跨ぎ動作の方向と反対方向に第2の跨ぎ動作が行われる場合、当該第2の跨ぎ動作に係る処理の実行有無を判定する。具体的には、制御部106は、第1の跨ぎ動作および第2の跨ぎ動作におけるポインティング位置の軌道から特定される閉領域の大きさに基づいて第2の跨ぎ動作に基づいて行われる処理の実行有無を判定する。さらに、図22Aおよび図22Bを参照して本変形例の処理について詳細に説明する。図22Aは、逆方向連続フリック操作に係るポインティング位置の軌道の例を示す図であり、図22Bは、同方向連続フリック操作に係るポインティング位置の軌道の例を示す図である。
まず、制御部106は、跨ぎ動作が行われたと判定される場合、跨ぎ動作に係る処理を実行すると共に、当該跨ぎ動作におけるポインティング位置を示す情報を記憶部104に記憶させる。例えば、制御部106は、跨ぎ動作が行われたと判定される場合、図22Aまたは図22Bに示したような、当該跨ぎ動作に係る軌道62を描くポインティング位置10の各々を示す情報を記憶部104に記憶させる。
次に、制御部106は、先の跨ぎ動作の判定から所定の時間経過前に、再び跨ぎ動作が行われたと判定される場合、当該跨ぎ動作におけるポインティング位置と記憶部104に記憶される情報の示すポインティング位置とに基づいて、ポインティング位置の軌道により形成される閉領域を特定する。例えば、制御部106は、図22Aまたは図22Bに示されるような軌道62の跨ぎ動作が行われた後、所定の時間経過前に、軌道64の跨ぎ動作が行われる場合、軌道62および64によって形成される閉領域70を特定する。
ここで、特定される閉領域70は、連続フリック操作の種類によって大きさが異なる。例えば、逆方向連続フリック操作では、図22Aに示したように、軌道62と64とが近接しており、軌道62および64により形成される閉領域70Aは狭くなりやすい。一方、同方向連続フリック操作では、図22Bに示したように、逆方向連続フリック操作の場合と比べて、軌道62と64とが離隔しており、閉領域70Bは広くなりやすい。
そこで、制御部106は、2つの跨ぎ動作に係るポインティング位置の軌道により形成される閉領域の大きさと閾値との比較に基づいて、後に行われた跨ぎ動作に係る処理の実行有無を判定する。そして、当該閉領域の大きさが閾値以上である場合、一連の跨ぎ動作は同方向連続フリック操作であり、後に行われた跨ぎ動作はフリック操作でないとして、制御部106は、後に行われた跨ぎ動作に係る表示変更を実行しない。
このように、本実施形態の第3の変形例によれば、制御部106は、第1の跨ぎ動作の後に続けて、当該第1の跨ぎ動作の方向と反対方向に第2の跨ぎ動作が行われる場合、当該第2の跨ぎ動作に基づいて行われる表示変更の有無を判定する。このため、跨ぎ動作に係る処理の一律的な実行が防止されることにより、フリック操作の誤検出を抑制し、ユーザの利便性を向上させることが可能となる。
また、制御部106は、第1の跨ぎ動作および第2の跨ぎ動作におけるポインティング位置の軌道から特定される閉領域の大きさに基づいて第2の跨ぎ動作に基づいて行われる処理の実行有無を判定する。このため、第2の跨ぎ動作の処理を行うか否か、すなわち第2の跨ぎ動作がフリック操作か否かの判定の正確性が向上されることにより、ユーザの利便性をさらに向上させることが可能となる。
<5.情報処理装置のハードウェア構成の例>
以上、本発明の実施形態を説明した。上述した情報処理装置100の処理は、ソフトウェアと、以下に説明する情報処理装置100のハードウェアとの協働により実現される。
図23は、本開示に係る情報処理装置100のハードウェア構成を示した説明図である。図23に示したように、情報処理装置100は、CPU(Central Processing Unit)132と、ROM(Read Only Memory)134と、RAM(Random Access Memory)136と、ブリッジ138と、バス140と、インターフェース142と、入力装置144と、出力装置146と、ストレージ装置148と、ドライブ150と、接続ポート152と、通信装置154とを備える。
CPU132は、演算処理部および制御部として機能し、各種プログラムと協働して情報処理装置100内の検出部102および制御部106の動作を実現する。また、CPU132は、マイクロプロセッサであってもよい。ROM134は、CPU132が使用するプログラムまたは演算パラメータ等を記憶する。RAM136は、CPU132の実行にいて使用するプログラムまたは実行において適宜変化するパラメータ等を一時記憶する。ROM134およびRAM136により、情報処理装置100内の記憶部104の一部を実現する。CPU132、ROM134およびRAM136は、CPUバスなどから構成される内部バスにより相互に接続されている。
入力装置144は、マウス、キーボード、タッチパネル、ボタン、マイクロホン、スイッチおよびレバーなどユーザが情報を入力するための入力手段、ならびにユーザによる入力に基づいて入力信号を生成し、CPU132に出力する入力制御回路などから構成されている。情報処理装置100のユーザは、入力装置144を操作することにより、情報処理装置100に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置146は、例えば、情報処理装置100の投影部108の一例として、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置、ランプなどの装置への出力を行う。さらに、出力装置146は、スピーカおよびヘッドフォンなどの音声出力を行ってもよい。
ストレージ装置148は、データ格納用の装置である。ストレージ装置148は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置等を含んでもよい。ストレージ装置148は、CPU132が実行するプログラムや各種データを格納する。
ドライブ150は、記憶媒体用リーダライタであり、情報処理装置100に内蔵、あるいは外付けされる。ドライブ150は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体に記憶されている情報を読み出して、RAM134に出力する。また、ドライブ150は、リムーバブル記憶媒体に情報を書込むこともできる。
接続ポート152は、例えば、情報処理装置100の外部の情報処理装置または周辺機器と接続するためのバスである。また、接続ポート152は、USB(Universal Serial Bus)であってもよい。
通信装置154は、例えば、ネットワークに接続するための通信デバイスで構成された通信インターフェースである。また、通信装置154は、赤外線通信対応装置であっても、無線LAN(Local Area Network)対応通信装置であっても、LTE(Long Term Evolution)対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。
<6.むすび>
以上、本開示の第1の実施形態によれば、ポインティング操作のための表示オブジェクトが表示領域に表示されずに済むことにより、表示領域における表示内容の視認性を向上させながら、ユーザ操作に応じて表示領域の表示を制御することが可能となる。また、本開示の第2の実施形態によれば、ポインティング位置と表示制御との対応を把握したユーザは直観的に表示制御を行うことができ、利便性を向上させることが可能となる。また、本開示の第3の実施形態によれば、このため、表示領域の縁を跨ぐことが操作の判別に利用されることにより、操作の誤検出の発生を抑制し、ユーザの利便性を向上させることが可能となる。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
例えば、上記の実施形態では、ポインティング位置が明確に表示領域外にある例を説明したが、ポインティング位置が表示領域上の縁近辺にある場合、情報処理装置100は、ユーザにポインティング位置が表示領域外にないことを示してもよい。例えば、制御部106は、ポインティング位置が表示領域の縁から所定の距離内または縁近辺の所定の領域内にあるかを判定し、当該所定の距離内または領域内にポインティング位置があると判定される場合、所定の表示制御を行う。所定の表示制御は、表示領域の縁または縁の一部において発光すること、操作オブジェクトの表示を変更すること、もしくはポインティング位置よりも表示領域の内側に操作オブジェクトを表示すること、またはこれらの組合せ等であり得る。
一般的に、ポインティング位置が表示領域の縁付近にある状態では、ユーザは、ポインティング位置が表示領域外にあるかどうかを認識しづらい場合がある。しかし、上記の処理によって、ポインティング位置が表示領域外にないことをユーザに気付かせ、修正操作を促すことにより、ユーザの利便性を向上させることが可能となる。
また、情報処理装置100は、ポインティング位置が表示領域外にある場合に、ポインティング位置が表示領域外にある旨を示す表示制御を行ってもよい。例えば、制御部106は、ポインティング位置が表示領域外にあると判定される場合、表示領域の縁近辺を発光させたり、操作オブジェクトの色彩、形状もしくは模様等を変更させたり、情報処理装置100が別途備える音声出力部または振動出力部に音声または振動を出力させたりしてもよい。
また、上記の第1の実施形態および変形例では、操作オブジェクトまたは処理オブジェクトの表示がそれぞれ制御される例を説明したが、操作オブジェクトおよび処理オブジェクトの表示の両方が制御されてもよい。
また、表示領域における表示の背景がポインティング位置から表示領域までの距離または方向に応じて変化されてもよい。例えば、制御部106は、ポインティング位置が発光源となるような発光に係る表示制御を行い、ポインティング位置が表示領域に近づけられると、他の位置よりもポインティング位置に近い表示領域の位置を他の位置よりも強く発光させ得る。この場合、ユーザにポインティング位置がより直観的に理解されることにより、表示領域外を利用した操作の操作性を向上させることが可能となる。
また、上記の実施形態では、表示領域が矩形である例を説明したが、表示領域はその他の多角形、円形または楕円形等の様々な形状であってもよい。
また、上記の実施形態では、情報処理装置100は、投影部108を備える装置である例を説明したが、情報処理装置100は、別体の投影装置と接続される情報処理装置であってもよい。例えば、情報処理装置100は、検出部102、記憶部104および制御部106を備えるサーバであってもよく、撮像装置200および別体の投影装置に対して遠隔地に設置されてもよい。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏し得る。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)情報処理装置であって、表示オブジェクトを表示可能な領域である表示領域から離れた位置において操作体により、前記表示領域の外またはユーザと対応付けられる前記表示領域の一部の領域の外が指し示される操作に基づいて特定される操作位置を示す操作位置情報を取得する取得部と、前記取得部によって取得される前記操作位置情報に基づいて前記表示領域の表示を制御する制御部と、を備える情報処理装置。
(2)前記制御部は、前記表示領域外における前記操作位置と前記表示領域との位置関係に基づいて前記表示領域の表示を制御する、前記(1)に記載の情報処理装置。
(3)前記制御部は、前記表示領域外における前記操作位置から前記表示領域までの距離に応じて前記表示領域の表示を制御する、前記(2)に記載の情報処理装置。
(4)前記表示領域の表示は、前記操作位置によって特定される前記表示領域における位置に表示される操作オブジェクトを含み、前記制御部は、前記距離に応じて、前記操作オブジェクトの表示を制御する、前記(3)に記載の情報処理装置。
(5)前記表示領域の表示は、前記表示領域に表示される処理の実行に係る処理オブジェクトを含み、前記制御部は、前記距離に応じて、前記処理オブジェクトの表示を制御する、前記(3)または(4)に記載の情報処理装置。
(6)前記制御部は、前記表示領域外における前記操作位置に対応する表示制御を実行する、前記(2)に記載の情報処理装置。
(7)前記制御部は、前記表示領域に表示される処理オブジェクトに対応付けられる前記表示領域外における選択領域と前記操作位置とが重なる場合、前記処理オブジェクトについて処理を実行する、前記(6)に記載の情報処理装置。
(8)前記制御部は、前記表示領域外における前記操作位置に応じて前記表示領域における表示のスクロールを制御する、前記(6)または(7)に記載の情報処理装置。
(9)前記制御部は、前記表示領域の縁の他の縁よりも前記操作位置に近い縁に隣接する前記表示領域上の位置に操作誘導用オブジェクトを表示させる、前記(6)〜(8)のいずれか1項に記載の情報処理装置。
(10)前記制御部は、前記操作位置が前記表示領域の縁を跨いで移動される跨ぎ動作に基づいて前記表示領域の表示を制御する、前記(2)に記載の情報処理装置。
(11)前記制御部は、前記操作位置の移動の速さが閾値以上である場合、前記表示領域の表示を変更する、前記(10)に記載の情報処理装置。
(12)前記制御部は、第1の跨ぎ動作の後に続けて、前記第1の跨ぎ動作の方向と反対方向に第2の跨ぎ動作が行われる場合、前記第2の跨ぎ動作に基づいて行われる表示変更の有無を判定する、前記(11)に記載の情報処理装置。
(13)前記制御部は、前記第1の跨ぎ動作および前記第2の跨ぎ動作における前記操作位置の軌道から特定される閉領域の大きさに基づいて前記判定を行う、前記(12)に記載の情報処理装置。
(14)前記制御部は、前記跨ぎ動作の方向に基づいて特定される、前記表示領域の表示制御を行う、前記(10)〜(13)のいずれか1項に記載の情報処理装置。
(15)前記制御部は、所定の時間内に行われる前記跨ぎ動作の数に基づいて特定される前記表示領域の表示制御を行う、前記(10)〜(14)のいずれか1項に記載の情報処理装置。
(16)前記制御部は、前記表示領域に隣接する前記表示領域外における所定の範囲の外に前記操作位置が移動される場合、表示制御を止める、前記(1)〜(15)のいずれか1項に記載の情報処理装置。
(17)前記ユーザに対応付けられる領域は、前記表示領域に表示される、ユーザと対応付けられる操作領域を含む、前記(1)に記載の情報処理装置。
(18)表示オブジェクトを表示可能な領域である表示領域から離れた位置において操作体により、前記表示領域の外またはユーザと対応付けられる前記表示領域の一部の領域の外が指し示される操作に基づいて特定される操作位置を示す操作位置情報を取得することと、取得される前記操作位置情報に基づいて前記表示領域の表示を制御することと、を含む情報処理方法。
(19)表示オブジェクトを表示可能な領域である表示領域から離れた位置において操作体により、前記表示領域の外またはユーザと対応付けられる前記表示領域の一部の領域の外が指し示される操作に基づいて特定される操作位置を示す操作位置情報を取得する取得機能と、前記取得機能によって取得される前記操作位置情報に基づいて前記表示領域の表示を制御する制御機能と、をコンピュータに実現させるためのプログラム。