JP5509227B2 - 移動制御装置、移動制御装置の制御方法、及びプログラム - Google Patents

移動制御装置、移動制御装置の制御方法、及びプログラム Download PDF

Info

Publication number
JP5509227B2
JP5509227B2 JP2012017919A JP2012017919A JP5509227B2 JP 5509227 B2 JP5509227 B2 JP 5509227B2 JP 2012017919 A JP2012017919 A JP 2012017919A JP 2012017919 A JP2012017919 A JP 2012017919A JP 5509227 B2 JP5509227 B2 JP 5509227B2
Authority
JP
Japan
Prior art keywords
user
movement
image
movement control
hand
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012017919A
Other languages
English (en)
Other versions
JP2013156889A (ja
Inventor
直紀 田羅間
立人 矢部
武布 藤島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2012017919A priority Critical patent/JP5509227B2/ja
Priority to US13/614,643 priority patent/US8823647B2/en
Publication of JP2013156889A publication Critical patent/JP2013156889A/ja
Application granted granted Critical
Publication of JP5509227B2 publication Critical patent/JP5509227B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、移動制御装置、移動制御装置の制御方法、及びプログラムに関する。
従来から、表示画面又は仮想空間内で移動対象(画像やキャラクタ等)を移動させる移動制御装置に関する技術が知られている。例えば、現実空間におけるユーザの手の位置を検出し、ユーザが水平方向に手を振ると、メニュー項目が1つずつスクロールする技術が知られている。
「Xboxカスタマーサポート,Kinectジェスチャー,http://support.xbox.com/ja−JP/kinect/body−tracking/body−controller」
しかしながら、上記のような技術では、スクロールさせたいメニュー項目の数と同じ回数だけユーザが手を振らなければならないため、ユーザは煩わしさを感じていた。
本発明は、上記課題に鑑みてなされたものであって、その目的は、ユーザが煩わしさを感じることなく、表示画面又は仮想空間内で移動対象を移動させることが可能な移動制御装置、移動制御装置の制御方法、及びプログラムを提供することである。
上記課題を解決するために、本発明に係る移動制御装置は、表示画面又は仮想空間内で移動対象を移動させる移動制御装置であって、ユーザの手又は前記ユーザが把持する把持物体の現実空間における位置、又は当該位置に対応する前記表示画面又は前記仮想空間内の位置に関する位置情報を取得する位置情報取得手段と、前記位置情報に基づいて、前記移動対象の移動制御を行う移動制御手段と、を含み、前記移動制御手段は、前記位置情報が示す位置と、基準位置又は基準方向と、の間のずれの大きさを示す数値が第1基準値未満である場合、前記移動対象の移動を制限する移動制限手段と、前記数値が前記第1基準値以上であって、かつ、前記第1基準値よりも大きい第2基準値未満である場合、前記位置情報に基づいて定まる方向又は所定方向に向けて、前記移動対象を第1速度で移動させる第1移動制御手段と、前記数値が前記第2基準値以上である場合、前記位置情報に基づいて定まる方向又は所定方向に向けて、前記移動対象を前記第1速度よりも速い第2速度で移動させる第2移動制御手段と、を含むことを特徴とする。
また、本発明に係る移動制御装置の制御方法は、表示画面又は仮想空間内で移動対象を移動させる移動制御装置の制御方法であって、ユーザの手又は前記ユーザが把持する把持物体の現実空間における位置、又は当該位置に対応する前記表示画面又は前記仮想空間内の位置に関する位置情報を取得する位置情報取得ステップと、前記位置情報に基づいて、前記移動対象の移動制御を行う移動制御ステップと、を含み、前記移動制御ステップは、前記位置情報が示す位置と、基準位置又は基準方向と、の間のずれの大きさを示す数値が第1基準値未満である場合、前記移動対象の移動を制限する移動制限ステップと、前記数値が前記第1基準値以上であって、かつ、前記第1基準値よりも大きい第2基準値未満である場合、前記位置情報に基づいて定まる方向又は所定方向に向けて、前記移動対象を第1速度で移動させる第1移動制御ステップと、前記数値が前記第2基準値以上である場合、前記位置情報に基づいて定まる方向又は所定方向に向けて、前記移動対象を前記第1速度よりも速い第2速度で移動させる第2移動制御ステップと、を含むことを特徴とする。
また、本発明に係るプログラムは、表示画面又は仮想空間内で移動対象を移動させる移動制御装置としてコンピュータを機能させるためのプログラムであって、ユーザの手又は前記ユーザが把持する把持物体の現実空間における位置、又は当該位置に対応する前記表示画面又は前記仮想空間内の位置に関する位置情報を取得する位置情報取得手段、前記位置情報に基づいて、前記移動対象の移動制御を行う移動制御手段、を含み、前記移動制御手段は、前記位置情報が示す位置と、基準位置又は基準方向と、の間のずれの大きさを示す数値が第1基準値未満である場合、前記移動対象の移動を制限する移動制限手段と、前記数値が前記第1基準値以上であって、かつ、前記第1基準値よりも大きい第2基準値未満である場合、前記位置情報に基づいて定まる方向又は所定方向に向けて、前記移動対象を第1速度で移動させる第1移動制御手段と、前記数値が前記第2基準値以上である場合、前記位置情報に基づいて定まる方向又は所定方向に向けて、前記移動対象を前記第1速度よりも速い第2速度で移動させる第2移動制御手段と、を含むことを特徴とする移動制御装置として前記コンピュータを機能させる。
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
本発明によれば、ユーザが煩わしさを感じることなく、表示画面又は仮想空間内で移動対象を移動させることが可能になる。
また、本発明の一態様では、前記移動対象は、前記表示画面又は前記仮想空間を所定の移動方向に移動し、前記移動制御装置は、前記移動方向に対応する方向に延伸する第1画像と、前記第1画像上を延伸方向に移動する第2画像と、を前記表示画面に表示させる手段と、前記第1画像の代表点と前記第2画像の表示位置との位置関係が、前記位置情報が示す位置と前記基準位置又は前記基準方向との位置関係に対応するように、前記第2画像を前記第1画像上で移動させる第2画像制御手段と、を更に含み、前記第1画像は、前記第1基準値に対応する長さを有し、前記代表点を含む第1領域と、前記第2基準値と前記第1基準値との差に対応する長さを有し、前記第1領域に隣接する第2領域と、所定の長さを有し、前記第2領域が前記第1領域と隣接する側とは逆側に隣接する第3領域と、を含み、前記第2画像制御手段は、前記移動制限手段による制限が行われる場合、前記第1領域上で、前記第2画像を移動させ、前記第1移動制御手段による制御が行われる場合、前記第2領域上で前記第2画像を移動させ、前記第2移動制御手段による制御が行われる場合、前記第3領域上で前記第2画像を移動させる、ことを特徴とする。
また、本発明の一態様では、前記移動制限手段は、前記位置情報が示す位置が、前記基準位置又は前記基準方向よりも前記ユーザの手に対応する順方向側にあり、前記数値が第1順方向基準値未満である場合、前記移動対象の移動を制限する手段と、前記位置情報が示す位置が、前記基準位置又は前記基準方向よりも前記順方向の逆方向側にあり、前記数値が前記第1順方向基準値よりも小さい第1逆方向基準値未満である場合、記移動対象の移動を制限する手段と、を含み、前記第1移動制御手段は、前記位置情報が示す位置が、前記基準位置又は前記基準方向よりも前記順方向側にあり、前記数値が前記第1順方向基準値以上、かつ、前記第1順方向基準値よりも大きい第2順方向基準値未満である場合、前記移動対象を前記第1速度で移動させる手段と、前記位置情報が示す位置が、前記基準位置又は前記基準方向よりも前記逆方向側にあり、前記数値が前記第1逆方向基準値以上、かつ、前記第2順方向基準値よりも小さい第2逆方向基準値未満である場合、前記移動対象を前記第1速度で移動させる手段と、を含み、前記第2移動制御手段は、前記位置情報が示す位置が、前記基準位置又は前記基準方向よりも前記順方向側にあり、前記数値が前記第2順方向基準値以上である場合、前記移動対象を前記第2速度で移動させる手段と、前記位置情報が示す位置が、前記基準位置又は前記基準方向よりも前記逆方向側にあり、前記数値が前記第2逆方向基準値以上である場合、前記移動対象を前記第2速度で移動させる手段と、を含む、ことを特徴とする。
また、本発明の一態様では、前記移動制御装置は、前記ユーザの体の大きさに関する情報を取得する手段と、前記ユーザの体の大きさに関する情報に基づいて、前記第1基準値及び前記第2基準値を変更する手段と、を更に含むことを特徴とする。
また、本発明の一態様では、前記移動制御装置は、前記移動制御手段による移動制御を制限する手段と、前記ユーザの手又は前記ユーザが把持する把持物体の現実空間における位置に関する情報に基づいて、前記ユーザが手を伸ばしたか否かを判定する手段、前記ユーザが手を伸ばした場合に、前記移動制御手段による移動制御の制限を解除する手段と、を更に含むことを特徴とする。
また、本発明の一態様では、前記移動制御装置は、前記移動制御手段による移動制御が行われている状態において、前記ユーザの手又は前記ユーザが把持する把持物体の現実空間における位置に関する情報に基づいて、前記ユーザが手を下したか否かを判定する手段と、前記ユーザが手を下したと判定された場合、前記移動制御手段による移動制御を制限する手段と、を更に含むことを特徴とする。
また、本発明の一態様では、前記位置情報は、前記ユーザの第1の手又は前記ユーザが当該第1の手で把持する把持物体の現実空間における位置、又は当該位置に対応する前記表示画面又は前記仮想空間内の位置に関する情報であり、前記移動対象は、複数のメニュー項目の各々を示す項目画像であり、前記移動制御手段は、前記表示画面で複数の前記項目画像を移動させ、前記移動制御装置は、前記ユーザの第2の手又は前記ユーザが当該第2の手で把持する把持物体の現実空間における位置に関する情報を取得する手段と、前記ユーザの第2の手又は当該第2の手で把持する把持物体が所与の動きをしたか否かを判定する手段と、前記ユーザの第2の手又は当該第2の手で把持する把持物体が所与の動きをしたと判定された場合、前記表示画面の所定位置に表示されている項目画像のメニュー項目に対応する処理を実行する手段と、を更に含むことを特徴とする。
また、本発明の一態様では、前記位置情報は、前記ユーザの第1の手又は前記ユーザが当該第1の手で把持する把持物体の現実空間における位置、又は当該位置に対応する前記表示画面又は前記仮想空間内の位置に関する情報であり、前記移動対象は、複数のメニュー項目の各々を示す項目画像上を移動するカーソル画像であり、前記移動制御手段は、前記表示画面に表示された複数の前記項目画像上で前記カーソル画像を移動させ、前記移動制御装置は、前記ユーザの第2の手又は前記ユーザが当該第2の手で把持する把持物体の現実空間における位置に関する情報を取得する手段と、前記ユーザの第2の手又は当該第2の手で把持する把持物体が所与の動きをしたか否かを判定する手段と、前記ユーザの第2の手又は当該第2の手で把持する把持物体が所与の動きをしたと判定された場合、前記カーソル画像が示す項目画像のメニュー項目に対応する処理を実行する手段と、を更に含むことを特徴とする。
また、本発明の一態様では、前記位置情報は、前記ユーザの手又は前記ユーザが把持する把持物体の現実空間における位置に関する情報であり、前記数値は、前記ユーザの体の位置に関するユーザ基準位置から前記位置情報が示す位置への方向と、前記現実空間に設定される基準方向と、の間の角度であり、前記移動制限手段は、前記角度が第1基準角度未満である場合、前記移動対象の移動を制限し、前記第1移動制御手段は、前記角度が前記第1基準角度以上であり、かつ、前記第1基準角度よりも大きい第2基準角度未満である場合、前記移動対象を第1速度で移動させ、前記第2移動制御手段は、前記角度が前記第2基準角度以上である場合、前記移動対象を前記第2速度で移動させる、を含むことを特徴とする。
また、本発明の一態様では、前記位置情報は、前記ユーザの手又は前記ユーザが把持する把持物体の現実空間における位置に関する情報であり、前記数値は、前記位置情報が示す位置と、前記現実空間に設定される基準位置と、の距離であり、前記移動制限手段は、前記距離が第1基準距離未満である場合、前記移動対象の移動を制限し、前記第1移動制御手段は、前記距離が前記第1基準距離以上であり、かつ、前記第1基準距離よりも大きい第2基準距離未満である場合、前記移動対象を第1速度で移動させ、前記第2移動制御手段は、前記距離が前記第2基準距離以上である場合、前記移動対象を前記第2速度で移動させる、を含むことを特徴とする。
また、本発明の一態様では、前記位置情報は、前記ユーザの手又は前記ユーザが把持する把持物体の現実空間における位置に対応する前記表示画面又は前記仮想空間内の位置に関する情報であり、前記数値は、前記位置情報が示す位置と、前記表示画面又は前記仮想空間内に設定される基準位置と、の距離であり、前記移動制限手段は、前記距離が第1基準距離以上である場合、前記移動対象の移動を制限し、前記第1移動制御手段は、前記距離が前記第1基準距離以上であり、かつ、前記第1基準距離よりも大きい第2基準距離未満である場合、前記移動対象を第1速度で移動させ、前記第2移動制御手段は、前記距離が前記第2基準距離以上である場合、前記移動対象を前記第2速度で移動させる、を含むことを特徴とする。
また、本発明の一態様では、前記移動対象は、前記仮想空間内に設定される表示対象領域あって、前記表示画面には、前記仮想空間のうち前記表示対象領域内の様子が表示され、前記移動制限手段は、前記数値が第1基準値未満である場合、前記表示対象領域の移動を制限し、前記第1移動制御手段は、前記数値が前記第1基準値以上かつ前記第2基準値未満である場合、前記表示対象領域を前記第1速度で移動させ、前記第2移動制御手段は、前記数値が前記第2基準値以上である場合、前記表示対象領域を前記第2速度で移動させる、ことを特徴とする。
また、本発明の一態様では、前記移動対象は、前記表示画面を移動する画像又は前記仮想空間を移動するユーザの操作対象であって、前記移動制限手段は、前記数値が第1基準値未満である場合、前記画像又は前記操作対象の移動を制限し、前記第1移動制御手段は、前記数値が前記第1基準値以上かつ前記第2基準値未満である場合、前記画像又は前記操作対象を前記第1速度で移動させ、前記第2移動制御手段は、前記数値が前記第2基準値以上である場合、前記画像又は前記操作対象を前記第2速度で移動させる、ことを特徴とする。
ゲームをプレイするユーザの様子を示す図である。 CCDカメラによって生成される撮影画像の一例を示す図である。 赤外線センサによるユーザの深度の測定方法を説明するための図である。 赤外線センサによって得られる深度画像の一例を示す図である。 位置検出装置により生成されるユーザ部位情報の一例を示す図である。 ユーザ部位情報によって特定されるユーザの位置を示す図である。 メニュー画面の一例を示す図である。 ユーザが右手を正面方向に伸ばした場合のメニュー画面の一例を示す図である。 マークが低速指示領域に移動した場合のメニュー画面の一例を示す図である。 マークが高速指示領域に移動した場合のメニュー画面の一例を示す図である。 位置検出装置のハードウェア構成を示す図である。 ゲーム装置のハードウェア構成を示す図である。 ゲーム装置において実現される機能を示す機能ブロック図である。 メニュー項目データの内容を説明するための説明図である。 現実空間の斜視図である。 スクロールバー上をマークが移動する様子を示す図である。 ゲーム装置において実行される処理の一例を示すフロー図である。 ゲーム装置において実行される処理の一例を示すフロー図である。 ユーザを上方から見た場合の図である。 変形例(3)のメニュー画面の一例を示す図である。 現実空間の斜視図である。 仮想空間の様子を示す図である。
[1.実施形態]
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。本発明の実施形態に係る移動制御装置は、ゲーム装置やパーソナルコンピュータ等のコンピュータにより実現される。ここでは、本発明の実施形態に係る移動制御装置がゲーム装置によって実現される場合について説明する。なお、ゲーム装置として家庭用ゲーム機(据置型ゲーム機)を例に挙げるが、ゲーム装置は、携帯ゲーム機、携帯電話機(スマートフォン)等であってもよい。
図1は、ゲームをプレイするユーザの様子を示す図である。図1に示すように、ユーザ100は、例えば、位置検出装置1の前方に位置する。位置検出装置1とゲーム装置20とは、データ通信可能に接続される。
[2.位置検出装置の動作]
まず、位置検出装置1について説明する。位置検出装置1は、現実空間におけるユーザの位置に関するユーザ部位情報を生成する。本実施形態においては、ユーザ部位情報が、ユーザ100の複数の部位の位置に関する情報を含む場合を説明する。ユーザ100の部位は、例えば、頭や両手等である。
図1に示すように、位置検出装置1は、例えば、CCDカメラ2、赤外線センサ3、複数のマイクロフォンを含むマイク4等を備える。
CCDカメラ2は、CCDイメージセンサを備えた公知のカメラである。CCDカメラ2は、例えば、所定時間毎(例えば、1/60秒毎)にユーザ100を撮影した撮影画像(例えば、RGBデジタル画像)を生成する。
図2は、CCDカメラ2によって生成される撮影画像の一例を示す図である。図2に示すように、撮影画像には、例えば、ユーザ100が含まれる。撮影画像には、互いに直行するXs軸、Ys軸が設定される。例えば、撮影画像の左上を、原点Os(0,0)とする。また例えば、撮影画像の右下を、座標Pmax(Xmax,Ymax)とする。撮影画像に対応する各画素の位置は、それぞれの画素に割り当てられる2次元座標(Xs−Ys座標)によって特定される。
赤外線センサ3は、例えば、赤外線発光素子及び赤外線受光素子(例えば、赤外線ダイオード)から構成される。赤外線センサ3は、赤外線光を照射して得られる反射光を検出する。赤外線センサ3は、この反射光の検出結果に基づいて被写体(例えば、ユーザ100)の深度を測定する。
被写体の深度とは、測定基準位置と被写体の位置との距離間隔である。測定基準位置とは、ユーザ100の位置の深度(奥行き)を測定する際の基準となる位置である。測定基準位置は、位置検出装置1の位置と関連付けられる所定の位置であればよく、例えば、赤外線センサ3の赤外線受光素子の位置である。赤外線センサ3は、例えば、赤外線を照射してから反射光を受光するまでの飛行時間(TOF:Time of Flight)に基づいてユーザ100の深度を測定する。
図3は、赤外線センサ3によるユーザ100の深度の測定方法を説明するための図である。図3に示すように、赤外線センサ3から所定間隔でパルス状の赤外線光が照射される。赤外線センサ3から照射された赤外線光は、赤外線センサ3の発光位置を中心点として球状に広がる。
赤外線センサ3から照射された赤外線光は、例えば、ユーザ100の体の表面に当たる。これらの表面に当たった赤外線光は、反射する。反射した赤外線光は、赤外線センサ3の赤外線受光素子により検出される。即ち、赤外線センサ3は、照射した赤外線に対して位相が180度反転した反射光を検出する。
例えば、図3に示すように、ユーザ100が両手を前方に突き出している場合、突き出された両手は、ユーザ100の胴体よりも赤外線センサ3に近い。つまり、ユーザ100の両手によって反射される赤外線光の飛行時間は、ユーザ100の胴体によって反射される赤外線光の飛行時間よりも短い。
赤外線センサ3が赤外線光を照射してから反射光を検出するまでの時間(つまり、飛行時間)と、赤外線の速度と、を乗算して半分で割った値は、測定基準位置とユーザ100との距離間隔(即ち、深度)に相当する。このような処理を行うことにより、赤外線センサ3は、ユーザ100の深度を測定する。
また、赤外線センサ3は、反射した赤外線光から得られる深度差を検出することにより、被写体(ユーザ100)の輪郭も検出する。上記のように、赤外線センサ3が赤外線光の反射光を受信することは、この場所に物体が配置されていることを意味する。また、この物体の後方の近い位置に他の物体が配置されていなければ、この物体と、この物体の周囲と、の深度差は大きくなる。例えば、深度差が所定値よりも大きい箇所をつなぎ合わせることによって、ユーザ100の輪郭を検出する。
なお、ユーザ100の輪郭を検出する方法は、上記の例に限られない。他にも例えば、CCDカメラ2によって得られる撮影画像の各画素の輝度に基づいて輪郭を検知するようにしてもよい。この場合も、例えば、画素間の輝度差が大きい箇所をつなぎ合わせることによってユーザ100の輪郭を検出することができる。
上記のようにして検出されるユーザ100の深度に関する情報(深度情報)は、例えば、深度画像として表現される。本実施形態においては、深度情報が、グレースケールの深度画像(例えば、256ビットのグレースケールの画像データ)として表現される例を挙げて説明する。
図4は、赤外線センサ3によって得られる深度画像の一例を示す図である。図4に示すように、例えば、赤外線センサ3に近い物体は明るく(輝度が高く)、遠い物体は暗く(輝度が低く)表現される。ユーザ100の深度は、深度画像の輝度(画素値)に対応する。
例えば、深度画像が256ビットのグレースケールの画像データとして表される場合、ユーザ100の深度が2センチメートル異なる毎に深度画像の輝度が1ビット異なる。この場合、赤外線センサ3は、被写体の深度を2センチ単位で検出することが可能であることを示す。ユーザ100が両手を前方に突き出している場合(図3)、図4に示すように、ユーザ100の両手に対応する画素は、胴体に対応する画素よりも明るく(輝度が高く)表現される。
本実施形態においては、赤外線センサ3は、CCDカメラ2と同様に所定時間毎(例えば、1/60秒毎)に、深度画像を生成する。CCDカメラ2により得られる撮影画像と、赤外線センサ3により得られる深度画像と、に基づいてユーザ100の部位の位置に関するユーザ部位情報が生成される。
例えば、CCDカメラ2により得られる撮影画像(RGBデータ)に、深度画像が示す深度情報(Depth)が合算された合成画像(RGBDデータ)が生成される。即ち、合成画像は、各画素ごとに、色情報(RGBそれぞれの明度)と深度情報とを含む。
合成画像に基づいてユーザ部位情報が生成される際には、まず、深度画像に基づいてユーザ100の輪郭に対応する画素が特定される。次いで、合成画像のうち輪郭によって囲まれた画素の色情報(RGBの明度)が参照される。合成画像の色情報に基づいて、ユーザ100の体の各部位に対応する画素が特定される。この特定方法としては、例えば、比較画像(教師画像)との比較によって画像の中から対象物(即ち、ユーザ100の体の各部位)を抽出するパターンマッチング法等、公知の手法を適用可能である。
上記のようにして特定された画素の画素値(RGBD値)に基づいて、ユーザ100の頭や肩等の3次元座標が算出される。例えば、この画素値に対して所定の行列変換処理が施されることによって、3次元座標が生成される。この行例変換処理は、例えば、3Dグラフィックにおけるワールド座標−スクリーン座標の2つの座標系の変換処理と同様の行例演算によって実行される。つまり、画素の色情報を示すRGB値と奥行きを示すD値とが所定の行列式に代入されることにより、この画素の3次元座標が算出される。
なお、画素値(RGBD値)から画素に対応する3次元座標が算出される方法は、公知の手法を適用可能であり、この算出方法は、上記の例に限られない。他にも例えば、ルックアップテーブルを用いて座標変換が行われるようにしてもよい。
図5は、位置検出装置1により生成されるユーザ部位情報の一例を示す図である。図5に示すように、ユーザ部位情報は、ユーザ100の複数の部位の位置に関する複数の情報を含む。ユーザ部位情報は、例えば、ユーザ100の各部位と、3次元座標と、が対応付けられて格納される。
図6は、ユーザ部位情報によって特定されるユーザ100の位置を示す図である。本実施形態では、例えば、位置検出装置1に対応する所定位置(例えば、測定基準位置)を原点Opとする。例えば、原点Opは、赤外線センサ3の測定基準位置に対応する3次元座標である。なお、原点Opの位置は、ユーザ100がいる3次元空間のどこに設定されてもよい。例えば、撮影画像の原点Osに対応する3次元座標が、原点Opとして設定されるようにしてもよい。
図6に示すように、例えば、ユーザ部位情報は、ユーザ100の頭P1、肩中央P2、左肩P3、右肩P4、左手P5、右手P6、背中P7、左ひざP8、右ひざP9、左足P10、右足P11に対応する11個の3次元座標が含まれる。
なお、ユーザ部位情報によって示されるユーザ100の体の部位は、ユーザの体(骨格)のうちで予め定められた部位のものであってよい。例えば、この部位は、先述したパターンマッチング法によって特定可能な体の部位であればどこでもよい。
例えば、所定間隔毎(例えば、1/60秒毎)に生成されるユーザ部位情報は、位置検出装置1からゲーム装置20に対して送信される。ゲーム装置20は、ユーザ部位情報を位置検出装置1から受信することによって、ユーザ(以降、ユーザの「100」の符号を省略する)の各部位の位置を特定し、ユーザの部位の動きに応じた各種処理を実行する。
[3.ゲーム装置で実行される処理の概要]
ゲーム装置20は、表示画面又は仮想空間内で移動対象を移動させる。例えば、移動対象は、表示画面又は仮想空間を所定の移動方向に移動する。表示画面は、表示部の表示領域内のことであり、仮想空間は、メモリ上に展開される2次元又は3次元空間のことであり、表示画面に表示される空間のことである。
例えば、表示画面に表示される画像や、仮想空間に配置されたキャラクタ等が、移動対象に相当する。即ち、画像の表示位置が変化したり、仮想空間内でのキャラクタの立ち位置が変化したりすることによって、移動対象が移動することになる。本実施形態では、ゲーム装置20が、ユーザの右手P6の位置に応じて、メニュー画面のスクロール処理を行って画像を移動させる場合を説明する。
図7は、メニュー画面の一例を示す図である。図7に示すように、メニュー画面30には、ユーザの動作に対応する動作をするキャラクタ32が表示される。ユーザの各部位の3次元座標の変化に基づいて、キャラクタ32の各部位の位置が変化する。即ち、キャラクタ32は、ゲーム装置20が検出しているユーザの各部位の位置をユーザに案内(提示)するための画像といえる。ユーザは、キャラクタ32を見ることによって、各部位の位置が正常に検出されていることを把握することができる。
ここでは、メニュー画面30に表示されるキャラクタ32とユーザが向き合う状態となるので、ユーザの動きを左右反転した動きをキャラクタ32が行うことになる。例えば、ユーザが右手を上げると、現実空間のユーザから見て右側の手が上がるようにキャラクタ32の表示が更新される。なお、撮影画像からユーザの輪郭を抽出して左右反転処理を施した画像を、キャラクタ32に代えてメニュー画面30に表示させるようにしてもよい。
メニュー領域34には、ゲームに係る複数のメニュー項目の各々を示す項目画像36が複数表示される。ユーザにより項目画像36が選択されると、当該選択された項目画像36に応じた処理が実行される。
メニュー領域34に含まれる各項目画像36は、ユーザの手の位置に応じて水平方向(左右方向)にスクロールし、メニュー領域34内に表れる項目画像36が変化する。ここでは、ユーザが右手P6を正面方向に伸ばすと、項目画像36がスクロール可能な状態になり、その後にユーザが右手P6を左右に動かすと、項目画像36のスクロールが開始する。
図8は、ユーザが右手P6を正面方向に伸ばした場合のメニュー画面30の一例を示す図である。ユーザが右手P6を正面に伸ばすと、キャラクタ32がユーザから見て右側の手を正面に伸ばすように表示制御が行われ、スクロールバー38の中央付近にマーク40が表示される。
マーク40は、ユーザの右手P6の動きに応じてスクロールバー38上を左右に移動する。例えば、ユーザが右手P6を正面に伸ばした位置から右側にスライド(右方向に動かす)すると、マーク40がスクロールバー38上を右方向に移動し、ユーザが右手P6を正面に伸ばした位置から左側にスライド(左方向に動かすと)すると、マーク40がスクロールバー38上を左方向に移動する。
スクロールバー38は、スクロールバー38の中心点を含む停止指示領域38a、停止指示領域38aの両端に隣接する低速指示領域38b、及び低速指示領域38bが停止指示領域38aに接していない側に隣接する高速指示領域38cを含む。
マーク40が停止指示領域38a内にある状態では、項目画像36はスクロールしない。即ち、ユーザが右手P6を正面付近に位置させている場合には、項目画像36はスクロールしない。ユーザが右手P6を移動させてマーク40が低速指示領域38b内に移動すると、項目画像36のスクロールが開始する。
図9は、マーク40が低速指示領域38bに移動した場合のメニュー画面30の一例を示す図である。図9に示すように、ユーザが右手P6を右側に移動させ、マーク40が低速指示領域38bに移動すると、各項目画像36が低速でスクロールする。この状態では、カーソル画像42内に表示される項目画像36が1秒間に1つずつ右側に移動するように、各項目画像36がスクロールする。ユーザが右手P6を更に右側に移動させると、マーク40が高速指示領域38cに移動する。
図10は、マーク40が高速指示領域38cに移動した場合のメニュー画面30の一例を示す図である。図10に示すように、ユーザが右手P6を更に右側に移動させ、マーク40が高速指示領域38cに移動すると、項目画像36が高速でスクロールする。この状態では、カーソル画像42内に表示される項目画像36が1秒間に5つずつ右側に移動するように、各項目画像36がスクロールする。
図10に示す状態において、ユーザが右手P6を左側に移動させ、マーク40が低速指示領域38bに戻ると、再び低速スクロールの状態となる。ユーザが右手P6を更に左側に移動させ、マーク40が停止指示領域38aに戻ると、項目画像36のスクロールが停止する。なお、ユーザが右手P6を降ろすと、マーク40が消去されてスクロールが停止するようにしてもよい。
ユーザが左手P5を上に上げると、カーソル画像42内に表示された項目画像36が示すメニュー項目に対応する処理が実行される。例えば、図8に示す状態でユーザが左手P5を上げると、カーソル画像42内にある項目画像36が示す「ダンスモード」に対応する処理が実行され、ユーザが楽曲に合わせてダンスを踊るゲームが開始される。同様に、図9に示す状態でユーザが左手P5を上げると、ゲームが終了し、図10に示す状態でユーザが左手P5を上げると、図示しないサーバからネットワークを介してコンテンツをダウンロードするための画面に遷移する。
このように、ゲーム装置20は、ユーザの右手P6の位置に応じて、項目画像36のスクロールを開始したり、スクロール速度が変化したりすることによって、ユーザに煩わしさを感じさせることなく、各項目画像36をスクロールさせる構成になっている。以降、この技術について詳細に説明する。
まず、位置検出装置1とゲーム装置20とのハードウェア構成について説明する。
[4.位置検出装置の構成]
図11は、位置検出装置1のハードウェア構成を示す図である。図11に示すように、位置検出装置1は、制御部10、記憶部11、撮影部12、深度測定部13、音声入力部14、通信インタフェース部15から構成される。位置検出装置1の各構成要素は、バス16によってデータ送受信可能に接続される。
制御部10は、記憶部11に記憶されるオペレーティングシステム、各種プログラムに基づいて位置検出装置1の各部を制御する。
記憶部11は、オペレーティングシステムや撮影部12、深度測定部13を動作させるためのプログラム、各種パラメータを記憶する。また、記憶部11は、撮影画像及び深度画像に基づいてユーザ部位情報を生成するためのプログラムを記憶する。
撮影部12は、CCDカメラ2等から構成される。撮影部12は、例えば、ユーザの撮影画像を生成する。深度測定部13は、赤外線センサ3等から構成される。深度測定部13は、例えば、赤外線センサ3により得られる飛行時間に基づいて深度画像を生成する。制御部10は、先述のように、所定時間毎(例えば、1/60秒毎)に、撮影部12により生成される撮影画像と、深度測定部13により生成される深度画像と、に基づいて、ユーザ部位情報を生成する。
音声入力部14は、マイク4等から構成される。通信インタフェース部15は、ゲーム装置20に対してユーザ部位情報等の各種データを送信するためのインタフェースである。
[5.ゲーム装置の構成]
図12は、ゲーム装置20のハードウェア構成を示す図である。図12に示すように、ゲーム装置20は、制御部21、主記憶部22、補助記憶部23、光ディスク再生部24、通信インタフェース部25、操作部26、表示部27、及び音声出力部28を含む。ゲーム装置20の各部は、バス29によって接続されている。
制御部21は、例えばCPU、GPU(Graphics Processing Unit)、及びSPU(Sound Processing Unit)等を含む。制御部21は、オペレーティングシステムやその他のプログラムに従って各種処理を実行する。
主記憶部22は、例えば、RAM(Random Access Memory)を含む。補助記憶部23は、例えば、ハードディスク装置(情報記億媒体)を含む。主記憶部22は、補助記憶部23又は光ディスク(情報記憶媒体)から読み出されたプログラムやデータを記憶する。また、主記憶部22は、処理の過程で必要なデータを記憶するワークメモリとしても用いられる。また例えば、主記憶部22は、位置検出装置1から受信されるユーザ部位情報を時系列的に記憶する。
光ディスク再生部24は、光ディスクに記憶されたプログラムやデータを読み取る。光ディスクには、例えば、ゲームプログラムが記憶されている。
通信インタフェース部25は、ゲーム装置20を通信ネットワークに通信接続するためのインタフェースである。ゲーム装置20は、通信インタフェース部25を介してユーザ部位情報を、位置検出装置1から取得する。
操作部26は、ユーザが各種操作を行うためのものである。操作部26は、例えばゲームコントローラ、タッチパネル、マウス、又はキーボード等を含む。表示部27は、例えば、家庭用テレビ受像機又は液晶表示パネル等である。表示部27は、制御部21の指示に従って画面を表示する。音声出力部28は、例えば、スピーカ又はヘッドホン等を含む。
本実施形態においては、各種プログラムやデータは、光ディスクを介してゲーム装置20に供給される場合を説明する。なお、これらのプログラムやデータは、他の情報記憶媒体(例えば、メモリカード)を介してゲーム装置20に供給されるようにしてもよい。または、プログラムやデータは、通信ネットワークを介して遠隔地からゲーム装置20に供給されるようにしてもよい。
[6.ゲーム装置で実現される機能]
図13は、ゲーム装置20において実現される機能を示す機能ブロック図である。図13に示すように、ゲーム装置20では、位置情報取得部50、データ記憶部52、移動制御部54、表示制御部62、マーク制御部64、第1制限部66、第1判定部68、解除部70、第2判定部72、第2制限部74、第3判定部76、及び処理実行部78が実現される。これらの機能は、制御部21が、光ディスクから読み出されたプログラムに従って動作することにより、実現される。
[6−1.位置情報取得部]
位置情報取得部50は、制御部21を主として実現される。位置情報取得部50は、ユーザの手又はユーザが把持する把持物体の現実空間における位置、又は当該位置に対応する表示画面又は仮想空間内の位置に関する位置情報を取得する。本実施形態では、位置情報が、現実空間におけるユーザの第1の手(ここでは、右手P6)の位置を示す場合を説明する。即ち、位置検出装置1が生成するユーザ部位情報に位置情報が含まれる場合を説明する。位置情報が把持物体の位置を示す場合と、位置情報が表示画面又は仮想空間内の位置を示す場合と、については、後述の変形例に記載する。
位置情報取得部50は、現実空間にいるユーザを撮影する撮影手段から得られる撮影画像に基づいて、位置情報を取得する。例えば、位置情報取得部50は、ユーザを撮影する撮影手段から得られる撮影画像と、深度測定手段の測定基準位置とユーザとの間隔に関する深度情報と、に基づいて位置情報を生成する位置情報生成手段から位置情報を取得する。ここでは、位置情報取得部50は、ユーザ部位情報を取得することによって、位置情報を取得することになる。位置情報取得部50がユーザ部位情報を取得すると、後述する履歴データに格納される。
[6−2.データ記憶部]
データ記憶部52は、主記憶部22、補助記憶部23、及び光ディスクを主として実現される。データ記憶部52は、項目画像36をスクロールさせるために必要な各種情報を記憶する。例えば、データ記憶部52には、ユーザ部位情報を時系列的に格納した履歴データと、各項目画像36に関するメニュー項目データと、が記憶される。
図14は、メニュー項目データの内容を説明するための説明図である。図14に示すように、メニュー項目データには、各項目画像36が横一列に並べられた項目画像群80が含まれる。ここでは、25個の項目画像36が用意されており、それぞれを項目画像36[n](n:1〜25の整数)という。各項目画像36[n]の形状は、同じであってもよいし異なっていてもよい。
項目画像群80に含まれる各項目画像36[n]の位置は、項目画像群80上に設定される2次元座標(例えば、U−V座標)によって特定される。本実施形態においては、項目画像群80の左上を原点OUVとし、水平方向にU軸が設定され、垂直方向にV軸が設定される。例えば、項目画像群80は、U座標が0〜Uであり、V座標が0〜Vとなる領域で囲まれた大きさとなる。
項目画像群80上には、長方形状の表示対象領域82が設定される。表示対象領域82は、項目画像群80のうちでメニュー領域34に表示させる範囲を示す。表示対象領域82内の項目画像群80が、メニュー領域34に表示されることになる。表示対象領域82のアスペクト比は、メニュー領域34のアスペクト比に対応するように設定されている。
なお、以降では、図14に示すように、表示対象領域82の各頂点を左上点P(U,V)、右上点P(U,V)、左下点P(U,V)、右下点P(U,V)とする。例えば、メニュー項目データには、表示対象領域82の現在位置を示す情報として、各頂点の座標が格納される。
表示対象領域82が右に移動すると、メニュー画面30では、メニュー領域34内の各項目画像36が左にスクロールするように表示制御が行われることになる。一方、表示対象領域82が左に移動すると、メニュー画面30では、メニュー領域34内の各項目画像36が右にスクロールするように表示制御が行われることになる。
なお、データ記憶部52に記憶されるデータは、上記の例に限られない。データ記憶部52は、項目画像36をスクロールさせるために必要な各種データを記憶するようにすればよい。他にも例えば、メニュー画面30に表示される各画像データ等が記憶されるようにしてもよい。また、制御部21は、データ記憶部52に格納された各種データを取得する手段及びデータ内容を更新する手段として機能する。
[6−3.移動制御部]
移動制御部54は、制御部21を主として実現される。移動制御部54は、位置情報に基づいて、表示画面(メニュー画面30)又は仮想空間内を移動する移動対象(項目画像36)の移動制御を行う。本実施形態では、移動対象は、複数のメニュー項目の各々を示す項目画像36である。移動制御部54は、表示画面(メニュー画面30)で複数の項目画像36を移動させることになる。
移動制御部54は、移動制限部56、第1移動制御部58、及び第2移動制御部60を含む。
[移動制限部]
移動制限部56は、位置情報が示す位置と、基準位置又は基準方向と、の間のずれの大きさを示す数値(以降、当該ずれの大きさを示す数値を単に「数値」という。)が第1基準値未満である場合、移動対象(項目画像36)の移動を制限する。第1基準値は、項目画像36のスクロールを制限するための数値の範囲を定義した所定値である。
基準位置は、表示画面又は現実空間に設定される所定位置である。基準位置は、移動対象の移動を制限する場合に位置情報が示す位置があるべき範囲を定義する位置といえる。例えば、スクロールバー38の表示位置(代表点の位置)に基づいて表示画面に基準位置が設定され、ユーザの体の位置(ユーザの体の代表点の位置。例えば、ユーザの代表部位の位置。)に基づいて現実空間に基準位置が設定される。
基準方向は、現実空間に設定される所定方向である。基準方向は、基準位置は、移動対象の移動を制限する場合に位置情報に基づいて定まる方向(後述するユーザ基準位置から基地情報が示す位置への方向)が向くべき所定方向といえる。例えば、ユーザの体の位置(ユーザの体の代表点の位置。例えば、ユーザの代表部位の位置。)に基づいて現実空間に基準方向が設定される。
ここでは、基準方向が用いられる場合を説明する。また、本実施形態においては、上記数値は、ユーザの体の位置に関するユーザ基準位置から位置情報が示す位置への方向と、現実空間に設定される基準方向と、の間の角度である場合を説明する。ユーザ基準位置は、ユーザの体の位置に基づいて定まる位置であり、例えば、ユーザ部位情報が示す位置の何れかである。ここでは、ユーザの右肩P4の位置が、ユーザ基準位置として用いられる場合を説明する。
図15は、現実空間の斜視図である。図15に示すように、例えば、ユーザが右手P6を正面に伸ばした場合の右手P6(右腕)の方向(即ち、ユーザの正面方向)が基準方向Vとして設定される。また、本実施形態では、ユーザの右肩P4の位置から現在の右手P6の位置への方向Vと、基準方向Vと、のなす角度θが取得される。即ち、ここでは、右肩P4の位置が、ユーザ基準位置に相当する。ユーザが右手P6を横(水平方向)に伸ばすと角度θが増加し、ユーザが右手P6を正面に移動させると角度θが減少する。
移動制限部56は、角度θが第1基準角度θ未満である場合、移動対象(項目画像36)の移動を制限する。第1基準角度θは、項目画像36のスクロールを制限するための角度θの範囲を定義するための所定角度であり、本実施形態では30°とする。
「項目画像36の移動を制限する」とは、項目画像36の移動を抑止することであり、項目画像36を停止させることである。即ち、本実施形態では、角度θが30°未満である場合には、項目画像36がスクロールせずに停止することになる。
[第1移動制御部]
第1移動制御部58は、数値(角度θ)が第1基準値(第1基準角度θ)以上であって、かつ、第1基準値よりも大きい第2基準値(第2基準角度θ)未満である場合、位置情報に基づいて定まる方向又は所定方向に向けて、移動対象(項目画像36)を第1速度で移動させる。第2基準値は、項目画像36の移動速度を変更するための閾値を定義する。
「位置情報に基づいて定まる方向」とは、位置情報が示す位置と基準位置又は基準方向との位置関係に基づいて定まる方向であり、基準位置又は基準方向から見て位置情報が示す位置がある方向となる。ここでは、ユーザの右手P6が、基準方向Vよりも右側にあれば項目画像36が右方向へスクロールし(即ち、表示対象領域82が左方向へ移動し)、ユーザの右手P6が、基準方向Vよりも左側にあれば項目画像36が左方向へスクロールする(即ち、表示対象領域82が右方向へ移動する)。「所定方向」とは、表示画面又は仮想空間に予め設定された一又は複数の方向であり、移動対象が移動すべき移動方向である。
第1速度は、予め定められた速度であり、移動対象が単位時間に移動すべき第1距離である。本実施形態では、項目画像36が1秒間に水平方向に1つ移動するスクロール速度(即ち、項目画像36の横幅に基づいて定まる速度)が、第1速度として設定されている。なお、以降では、項目画像36を第1速度で移動させることを「低速スクロール」ともいう。
ここでは、第2基準値として、第2基準角度θが用いられる。第2基準角度θは、項目画像36のスクロール速度を変更するための角度を定義するものであり、ここでは、60°とする。なお、第1基準角度θ及び第2基準角度θは、人間の手の可動域に基づいて任意の角度が設定されていてもよい。
[第2移動制御部]
第2移動制御部60は、数値(角度θ)が第2基準値(第2基準角度θ)以上である場合、位置情報に基づいて定まる方向又は所定方向に向けて、移動対象(項目画像36)を第1速度よりも速い第2速度で移動させる。
第2速度は、予め定められた速度であり、移動対象が単位時間に移動すべき第2距離(第2距離>第1距離)である。本実施形態では、項目画像36が1秒間に水平方向に5つ移動するスクロール速度が、第1速度として設定されている。
[6−3.表示制御部]
表示制御部62は、制御部21を主として実現される。表示制御部62は、移動対象(項目画像36)の移動方向(水平方向)に対応する方向に延伸する第1画像(スクロールバー38)と、第1画像上を延伸方向(移動方向に対応する方向)に移動する第2画像(マーク40)と、を表示画面(メニュー画面30)に表示させる。
移動対象の移動方向に対応する方向とは、移動対象の移動方向に基づいて定まる表示画面上の方向であり、ここでは、項目画像36の表示位置が移動する方向(スクロール方向)である。本実施形態では、項目画像36は水平方向に移動するので、スクロールバー38は、水平方向に延伸する形状を有し、例えば、水平方向に長い長方形状となる。
[6−4.マーク制御部]
マーク制御部64は、制御部21を主として実現される。マーク制御部64は、第1画像(スクロールバー38)の代表点と第2画像(マーク40)の表示位置との位置関係が、位置情報が示す位置と基準位置又は基準方向との位置関係に対応するように、第2画像(マーク40)を第1画像(スクロールバー38)上で移動させる。
スクロールバー38の代表点は、スクロールバー38に関連付けられた位置(例えば、スクロールバー38の内部の所定位置)のことであり、例えば、スクロールバー38の中心点である。
マーク制御部64は、スクロールバー38の代表点とマーク40の表示位置とのずれ(距離又は角度)が、位置情報が示す位置と基準位置又は基準方向とのずれ(本実施形態でいう「数値」)に対応するように、マーク40を移動させる。例えば、位置情報が示す位置と基準位置又は基準方向とのずれが大きくなるほど、スクロールバー38の代表点とマーク40の表示位置とのずれが大きくなるように、マーク40を移動させる。
図16は、スクロールバー38上をマーク40が移動する様子を示す図である。図16に示すように、スクロールバー38の中心点38dとマーク40の表示位置との距離dが、ユーザの右手P6の角度θに対応するように、マーク40の表示位置が決定される。例えば、スクロールバー38の長辺の長さを2Lとすると、距離d=L*sinθとなるように、マーク40の表示位置が決定される。
また、第1画像(スクロールバー38)は、第1基準値に対応する長さを有し、代表点を含む第1領域(停止指示領域38a)を含む。第1基準値に対応する長さとは、第1基準値に基づいて定まる長さであり、第1基準値と所定の関係を有する長さ(所定の数式に基づいて定まる長さ)である。
例えば、第1基準値が大きくなるほど停止指示領域38aの長さが長くなる。ここでは、角度θが30°になった場合に停止指示領域38aの端部にマーク40が位置するように、停止指示領域38aの長さLが設定される。例えば、長さL=2L*sinθとなるように設定される。
また、第1画像(スクロールバー38)は、第2基準値と第1基準値との差に対応する長さを有し、第1領域(停止指示領域38a)に隣接する第2領域(低速指示領域38b)を含む。第2基準値と第1基準値との差に対応する長さとは、当該差に基づいて定まる長さであり、当該差と所定の関係を有する長さ(所定の数式に基づいて定まる長さ)である。
例えば、第2基準値と第1基準値との差が大きくなるほど低速指示領域38bの長さが長くなる。ここでは、長さL=L*(sinθ−sinθ)となるように設定される。低速指示領域38bは、一端が停止指示領域38aの一端と接するように配置され、ここでは、図16に示すように、停止指示領域38aを挟むようにして、2つの低速指示領域38bが配置される。
また、第1画像(スクロールバー38)は、所定の長さを有し、第2領域(低速指示領域38b)が第1領域(停止指示領域38a)と隣接する側とは逆側に隣接する第3領域(高速指示領域38c)と、を含む。ここでは、所定の長さは、長さL=L−L/2−Lとなるように設定される。
「低速指示領域38bが停止指示領域38aと隣接する側とは逆側」とは、低速指示領域38bの端部のうち、停止指示領域38aと隣接する端部と対向する端部側のことである。ここでは、図16に示すように、停止指示領域38a及び低速指示領域38bを挟むようにして、2つの高速指示領域38cが配置される。
マーク制御部64は、移動制限部62による制限が行われる場合、第1領域(停止指示領域38a)上で、第2画像(マーク40)を移動させ、第1移動制御部64による制御が行われる場合、第2領域(低速指示領域38b)上で第2画像を移動させ、第2移動制御部66による制御が行われる場合、第3領域(高速指示領域38c)上で第2画像を移動させる。
[6−6.第1制限部]
第1制限部66は、制御部21を主として実現される。第1制限部66は、移動制御部54による移動制御を制限する。「移動制御部54による移動制御を制限する」とは、移動制御部54による移動制御を抑止することであり、移動制御部54が項目画像36を移動させないようにすることである。ここでは、第1制限部66による制限が行われると、マーク40がスクロールバー38の上から消去され、項目画像36はスクロールせずに停止した状態となる。
[6−7.第1判定部]
第1判定部68は、制御部21を主として実現される。第1判定部68は、ユーザの手又はユーザが把持する把持物体の現実空間における位置に関する情報(本実施形態では位置情報)に基づいて、ユーザが手を前方に伸ばしたか否かを判定する。例えば、第1判定部68は、上記情報が示す位置がユーザ基準位置から所定距離以上離れた場合に、ユーザが手を前方に伸ばしたと判定する。
[6−8.解除部]
解除部70は、制御部21を主として実現される。解除部70は、ユーザが手を伸ばした場合に、移動制御部54による移動制御の制限を解除する。「移動制御部54による移動制御の制限を解除」とは、移動制御部54による移動制御を許可することであり、移動制御部54により項目画像36を移動させることである。移動制御部54による制限が解除されると、マーク40がスクロールバー38の上に表示され、項目画像36がスクロール可能な状態となる。
[6−9.第2判定部]
第2判定部72は、制御部21を主として実現される。第2判定部72は、移動制御部54による移動制御が行われている状態において、ユーザの手又はユーザが把持する把持物体の現実空間における位置に関する情報(本実施形態では位置情報)に基づいて、ユーザが手を下した(ユーザが手を下に向かって伸ばした)か否かを判定する。第2判定部72は、上記情報が示す位置が基準高さ以下になったか否かを判定することによって、ユーザが手を下したか否かを判定する。
[6−10.第2制限部]
第2制限部74は、制御部21を主として実現される。第2制限部74は、ユーザが手を下したと判定された場合、移動制御部54による移動制御を制限する。
[6−11.第3判定部]
第3判定部76は、制御部21を主として実現される。第3判定部76は、ユーザの第2の手又は当該第2の手で把持する把持物体が所与の動きをしたか否かを判定する。ここでは、右手P6が第1の手に相当するので、左手P5が第2の手に相当する。また、本実施形態においては、ユーザの第2の手又はユーザが当該第2の手で把持する把持物体の現実空間における位置に関する情報は、位置情報取得部50により取得される。即ち、ユーザ部位情報に、この情報が含まれる。
所与の動きとは、手に関する所定動作であり、例えば、所定方向に手を伸ばす動作又は所定位置に手を位置させる動作である。第3判定部76は、ユーザの左手P5の位置と
、位置に関する所与の条件と、を比較することによって、左手P5が所与の動きをしたか否を判定する。ここでは、ユーザが左手P5を上にあげたか否かが判定される。例えば、第3判定部76は、左手P5の位置が基準高さ以上であるか否かを判定することによって、ユーザが左手P5を上にあげたか否かを判定する。
[6−12.処理実行部]
処理実行部78は、制御部21を主として実現される。処理実行部78は、ユーザの第2の手又は当該第2の手で把持する把持物体が所与の動きをしたと判定された場合、表示画面の所定位置に表示されている項目画像36のメニュー項目に対応する処理を実行する。所定位置とは、表示画面内のうち予め定められた位置であり、例えば、所与の画像によって示される位置である。本実施形態においては、カーソル画像42の位置が所定位置に相当する。
メニュー項目と処理実行部78が実行すべき処理内容とは予め関連付けられている。当該関連付けを示すデータは、データ記憶部52に記憶されており、テーブル形式であってもよいし、プログラムに記述された命令であってもよい。
[7.ゲーム装置において実行される処理]
図17及び図18は、ゲーム装置20において実行される処理の一例を示すフロー図である。図17及び図18の処理は、メニュー画面30の表示指示が行われた場合に、制御部21が、光ディスクから読み出されたプログラムに従って動作することにより実行される。
図17に示すように、まず、制御部21は、メニュー画面30を表示部27に表示させる(S1)。制御部21は、表示対象領域82を初期位置に設定する(S2)。表示対象領域82の初期位置は、予め指定された位置であってもよいし、前回のメニュー画面30の終了時の位置を記憶させ、当該位置が初期位置として用いられるようにしてもよい。表示対象領域82の位置は、メニュー項目データに格納される。
制御部21は、項目画像群80のうち表示対象領域82に含まれる各項目画像36をメニュー領域34に表示させる(S3)。制御部21は、位置検出装置1から取得されるユーザ部位情報に基づいて、キャラクタ32をメニュー画面30に表示させる(S4)。
制御部21は、ユーザが右手P6を正面に伸ばしたか否かを判定する(S5)。S5においては、ユーザの右手P6の位置を示す3次元座標が、ユーザの右肩P4の所定距離以上前方に位置したか否かが判定されることによって、ユーザが右手P6を正面に伸ばしたか否かが判定される。
ユーザが右手P6を正面に伸ばしたと判定された場合(S5;Y)、制御部21は、現在の角度θを取得する(S6)。S6においては、右肩P4の位置と右手P6の位置とを結ぶ直線の方向Vと基準方向Vと、のなす角度が算出されることによって、角度θが取得される。
制御部21は、角度θに基づいて、マーク40の表示位置を決定する(S7)。S7においては、角度θと、マーク40とスクロールバー38の中心点との距離と、が対応するように、マーク40の表示位置が決定される。例えば、角度θに関する条件とマーク40の表示位置とを関連付けたデータが光ディスク等に記憶されていてもよい。当該データはテーブル形式であってもよいし、数式形式であってもよい。角度θに関する条件とは、角度θが所定範囲であるか否かを示す条件である。角度θが満たす条件に関連付けられた位置にマーク40が表示されることになる。
制御部21は、S7で決定した表示位置にマーク40を表示させる(S8)。図18に移り、制御部21は、角度θが第1基準角度θ未満であるか否かを判定する(S9)。角度θが第1基準角度θ未満であると判定された場合(S9;Y)、処理はS13に移行する。即ち、この場合、表示対象領域82の位置が固定されるので、項目画像36が移動しないように制限される。
一方、角度θが第1基準角度θ以上であると判定された場合(S9;N)、制御部21は、角度θが第2基準角度θ未満であるか否かを判定する(S10)。角度θが第2基準角度θ未満であると判定された場合(S10;Y)、制御部21は、第1速度で項目画像36を移動させる(S11)。
S11においては、ユーザの右手P6が基準方向Vよりも右側(ユーザから見て右側)にある場合には、表示対象領域82を左方向に第1速度で移動させることによって、項目画像36を右方向に第1速度で移動させる。ユーザの右手P6が基準方向Vよりも左側(ユーザから見て左側)にある場合には、表示対象領域82を右方向に第1速度で移動させることによって、項目画像36を左方向に第1速度で移動させる。
一方、角度θが第2基準角度θ以上であると判定された場合(S10)、制御部21は、第2速度で項目画像36を移動させる(S12)。S12においては、ユーザの右手P6が基準方向Vよりも右側(ユーザから見て右側)にある場合には、表示対象領域82を左方向に第2速度で移動させることによって、項目画像36を右方向に第2速度で移動させる。ユーザの右手P6が基準方向Vよりも左側(ユーザから見て左側)にある場合には、表示対象領域82を右方向に第2速度で移動させることによって、項目画像36を左方向に第2速度で移動させる。
制御部21は、ユーザが右手P6を下におろしたか否かを判定する(S13)。S13においては、ユーザの右手P6の位置を示す3次元座標が、基準高さよりも低いか否かが判定されることによって、ユーザが右手P6を下におろしたか否かが判定される。
ユーザが右手P6を下におろしたと判定された場合(S13;Y)、制御部21は、スクロールバー38からマーク40を消去させ(S14)、処理はS4に戻る。この場合、ユーザが再び右手P6を正面に伸ばすまで、スクロール制御が制限される状態になる。
制御部21は、ユーザが左手P5を上にあげたか否かを判定する(S15)。S15においては、ユーザの左手P5の位置を示す3次元座標が、基準高さよりも高いか否かが判定されることによって、ユーザが左手P5を上にあげたか否かが判定される。ここで用いられる基準高さは、S13の判定で用いられる基準高さと同じであってもよいし、異なっていてもよい。
ユーザが左手P5を上にあげたと判定された場合(S15;Y)、制御部21は、カーソル画像42内に含まれる項目画像36に対応する処理を実行し(S16)、処理は終了する。
制御部21は、ユーザが左手P5を横に伸ばしたか否かを判定する(S17)。S17においては、ユーザの左手P5の位置を示す3次元座標が、左肩P3から所定距離以上離れたか否かが判定されることによって、ユーザが左手P5を横に伸ばしたか否かが判定される。
ユーザが左手P5を横に伸ばしたと判定されない場合(S17;N)、制御部21は、最新の位置情報に基づいてキャラクタ32の表示を更新し(S18)、処理はS6に戻る。この場合、ユーザの右手P6の位置に基づいて再び角度θが取得され、項目画像36のスクロール処理が実行されることになる。
一方、ユーザが左手P5を横に伸ばしたと判定された場合(S17;Y)、制御部21は、メニュー画面30から他の画面へと遷移させ(S19)、処理は終了する。
以上に説明したゲーム装置20によれば、角度θが比較的小さい場合には、項目画像36がスクロールしないように制限することができる。ユーザが右手P6を少し動かしただけでスクロールしてしまう場合に比べて、誤動作がなくなるためスクロール開始の指示をしやすくなる。さらに、角度θが大きくなるにつれてスクロール速度を段階的に速くさせることができるので、何度も手を振ってスクロールさせるような場合に比べて、ユーザに煩わしさを感じさせることなく、項目画像36のスクロールをすることができる。
また、スクロールバー38上でマーク40を移動させることによって、右手P6をどの程度移動させればスクロールが開始されるか、及び、スクロールの速度が変わるかをユーザは容易に把握することができる。
また、ユーザが右手P6を伸ばした場合に移動制御部54の制御を開始させることによって、スクロールさせたくない場合にユーザが右手P6を左右に動かしてしまいスクロールしてしまうような誤動作を防止することができる。また、ユーザが右手P6を下した場合に移動制御部54の制御を制限することによって、スクロール制御の解除を容易に指示することができる。
また、スクロールをさせるための手と、メニュー項目に対応する処理を実行させるための手と、を異なる手に設定しておくことによって、スクロール中に誤ってメニュー項目に対応する処理が実行されてしまうことを防止することができる。
[7.変形例]
本発明は、以上説明した実施形態及び変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
(1)例えば、ユーザが右手P6を動かす場合、関節の可動域の関係で右側には右手P6を移動させやすいが、左側には右手P6を移動させにくい。このため、右手P6を左側に移動させる場合には右側よりも少し移動させただけでスクロールが開始したり、スクロール速度が変化したりするようにしてもよい。
図19は、ユーザを上方から見た場合の図である。図19に示すように、ユーザの右手P6が基準方向Vの右側にある状態では、例えば、角度θが0°以上30°未満である場合に、項目画像36のスクロールが制限される。そして、この状態で、例えば、角度θが30°以上60°未満である場合、項目画像36が右方向に第1速度で移動し、角度θが60°以上である場合、項目画像36が右方向に第2速度で移動する。
一方、ユーザの右手P6が基準方向Vの左側にある状態では、例えば、角度θが0°以上20°未満である場合に、項目画像36のスクロールが制限される。そして、この状態で、例えば、角度θが20°以上45°未満である場合、項目画像36が左方向へ第1速度で移動し、角度θが45°以上である場合、項目画像36が左方向へ第2速度で移動する。このように、変形例(1)では、右手P6を左側にあまり動かさなくてもよいので、ユーザが窮屈さを感じることなく項目画像36をスクロールさせることができる構成になっている。
変形例(1)の移動制限部56は、位置情報が示す位置が、基準位置又は基準方向よりもユーザの手に対応する順方向側にあり、数値が第1順方向基準値未満である場合、移動対象(項目画像36)の移動を制限する手段と、位置情報が示す位置が、基準位置又は基準方向よりも順方向の逆方向側にあり、数値が第1順方向基準値よりも小さい第1逆方向基準値未満である場合、移動対象の移動を制限する手段と、を含む。
「ユーザの手に対応する順方向側」とは、ユーザの手が付いている側であり、右手であれば右側で、左手であれば左側である。「順方向の逆方向側」とは、ユーザの手が付いていない側であり、右手であれば左側で、左手であれば右側である。図19に示す例では、第1順方向基準値が30°(第1順方向基準角度)であり、第1逆方向基準値が20°(第1逆方向基準角度)である。第1順方向基準値及び第1逆方向基準値は、予め定められた値を用いてもよいし、ユーザの設定によって変化するようにしてもよい。
第1移動制御部58は、位置情報が示す位置が、基準位置又は基準方向よりも順方向側にあり、数値が第1順方向基準値以上、かつ、第1順方向基準値よりも大きい第2順方向基準値未満である場合、移動対象(項目画像36)を第1速度で移動させる手段と、位置情報が示す位置が、基準位置又は基準方向よりも逆方向側にあり、数値が第1逆方向基準値以上、かつ、第2順方向基準値よりも小さい第2逆方向基準値未満である場合、移動対象を第1速度で移動させる手段と、を含む。
図19に示す例では、第2順方向基準値が60°(第2順方向基準角度)であり、第2逆方向基準値が45°(第2逆方向基準角度)である。第2順方向基準値及び第2逆方向基準値は、予め定められた値を用いてもよいし、ユーザの設定によって変化するようにしてもよい。また、第2順方向基準値と第1順方向基準値との差、及び、第2逆方向基準値と第1逆方向基準値との差は任意でよい。
第2移動制御部60は、位置情報が示す位置が、基準位置又は基準方向よりも順方向側にあり、数値が第2順方向基準値以上である場合、移動対象(項目画像36)を第2速度で移動させる手段と、位置情報が示す位置が、基準位置又は基準方向よりも逆方向側にあり、数値が第2逆方向基準値以上である場合、移動対象を第2速度で移動させる手段と、を含む。
変形例(1)によれば、ユーザが手を動かしにくい方向には、あまり手を動かさなくてもスクロール制御を実行することができるようになる。
(2)また例えば、ユーザの体の大きさに応じて、右手P6を移動させるべき範囲を調整するようにしてもよい。
変形例(2)のゲーム装置20は、ユーザの体の大きさに関する情報を取得する手段を含む。当該手段は、制御部21を主として実現される。ユーザの体の大きさに関する情報は、例えば、ユーザを撮影した撮影画像に基づいて取得される。ここでは、ユーザの各部位の間隔が参照されることによって、ユーザの体の大きさに関する情報が取得される。体の大きさに関する情報としては、ユーザの各部位の位置関係に基づいて算出される手の長さやユーザの身長が用いられるようにしてもよい。
また、ゲーム装置20は、ユーザの体の大きさに関する情報に基づいて、第1基準値及び第2基準値を変更する手段を含む。当該手段は、制御部21を主として実現される。ユーザの体が大きくなるほど第1基準値及び第2基準値が大きくなるように変更される。例えば、ユーザの体の大きさに関する条件と、第1基準値及び第2基準値と、を関連付けたデータがデータ記憶部52に記憶されているようにしてもよい。当該データは、数式形式であってもよいし、テーブル形式であってもよい。この場合、ユーザの体の大きさに関する情報と上記条件とが比較され、満たされる条件に関連付けられた第1基準値及び第2基準値が用いられることになる。
例えば、ユーザの体が比較的小さい場合には、第1基準角度θが20°として設定され、第2基準角度θが40°として設定されるようにしてもよい。一方、例えば、ユーザの体が比較的大きい場合には、第1基準角度θが30°として設定され、第2基準角度θが60°として設定されるようにしてもよい。
変形例(2)によれば、ユーザの体の大きさに応じて、手を移動させるべき範囲を変更させることができる。
(3)また例えば、実施形態では、項目画像36をスクロールさせる場合を説明したが、ユーザの右手P6の位置に応じてカーソル画像42を移動させることによって、ユーザがメニュー項目を選択できるようにしてもよい。
変形例(3)では、「移動対象」は、複数のメニュー項目の各々を示す項目画像36上を移動するカーソル画像42となる。移動制御部54は、表示画面(メニュー画面30)に表示された複数の項目画像36上でカーソル画像42を移動させることになる。
図20は、変形例(3)のメニュー画面30の一例を示す図である。図20に示すように、ここでは、メニュー画面30に、25個の項目画像36が表示される。カーソル画像42は、これら25個の項目画像36上を移動する。カーソル画像42の表示位置を示す情報は、データ記憶部52に記憶される。カーソル画像42が移動するとカーソル画像42の表示位置を示す情報が更新される。図20の例では、カーソル画像42が一端の項目画像36まで移動すると、カーソル画像42は上段又は下段にある他端の項目画像36の位置に移動する。
カーソル画像42の移動方法は実施形態と同様であり、移動制限部56は、角度θが第1基準角度θ未満であれば、カーソル画像42を移動させないように制限する。第1移動制御部58は、角度θが第1基準角度θ以上、第2基準角度θ未満であれば、カーソル画像42を第1速度で移動させる。第2移動制御部60は、角度θが第2基準角度θ以上であれば、カーソル画像42を第2速度で移動させる。
変形例(3)の処理実行部78は、カーソル画像42が示す項目画像36のメニュー項目に対応する処理を実行する。カーソル画像42が示す項目画像36とは、カーソル画像42の表示位置に表示されている項目画像36のことである。例えば、ユーザが左手P5を上げた場合に、カーソル画像42が示す項目画像36のメニュー項目に対応する処理が実行されることになる。
変形例(3)によれば、ユーザの右手P6の位置に応じてカーソル画像42をメニュー画面30上で移動させることができる。
なお、カーソル画像は実施形態の例に限られない。ユーザが画面内のものを指し示すために用いられる画像であればよく、他にも例えば、マウスポインタのような形状の画像がカーソル画像として用いられるようにしてもよいし、所定形状のアイコン画像がカーソル画像として用いられるようにしてもよい。
(4)また例えば、実施形態においては、ユーザの手の位置と基準位置又は基準方向とのずれに関する数値の一例として、角度θを例に挙げて説明したが、当該数値として用いられるのは、角度θに限られない。ユーザの手の位置と基準位置又は基準方向とのずれの大きさの指標となるものが、本発明に係る「数値」に相当すればよい。
(4−1)例えば、ユーザの手の位置と基準位置との距離が、ずれを示す数値として用いられるようにしてもよい。
図21は、現実空間の斜視図である。図21に示すように、ここでは、ユーザが右手P6を正面に伸ばした場合の右手P6の位置が、基準位置Qとして設定される。本変形例では、現在の右手P6と当該基準位置Qとの距離LPQが、数値として用いられる。基準位置Qは、ユーザの位置に基づいて設定されるようにすればよい。他にも例えば、右肩P4や背中P7の位置が基準位置Qとして用いられるようにしてもよい。
変形例(4−1)では、位置情報は、ユーザの手又はユーザが把持する把持物体の現実空間における位置に関する情報となる。更に、数値は、当該位置情報が示す位置と、現実空間に設定される基準位置と、の距離となる。
本変形例の移動制限部56は、距離LPQが第1基準距離未満である場合、移動対象(項目画像36等)の移動を制限する。第1移動制御部58は、距離LPQが第1基準距離以上であり、かつ、第1基準距離よりも大きい第2基準距離未満である場合、移動対象(項目画像36等)を第1速度で移動させる。第2移動制御部60は、距離が第2基準距離以上である場合、移動対象を第2速度で移動させる。
第1基準距離及び第2基準距離は、予め定められた距離であってもよいし、ユーザの体の大きさに応じて変化してもよい。例えば、ユーザの右肩P4と右手P6との距離に基づいて第1基準距離及び第2基準距離が決定されるようにしてもよい。
変形例(4−1)によれば、ユーザの手の位置と基準位置との距離に応じて、項目画像36のスクロールを制御することができる。
(4−2)また例えば、スクロールバー38の中心点38dとマーク40の表示位置との距離が、ずれを示す数値として用いられるようにしてもよい。
変形例(4−2)の位置情報は、ユーザの手又はユーザが把持する把持物体の現実空間における位置に対応する表示画面又は仮想空間内の位置に関する情報となる。数値は、位置情報が示す位置と、表示画面又は仮想空間内に設定される基準位置と、の距離である。ユーザの手等の位置に対応する表示画面又は仮想空間内の位置は、現実空間におけるユーザの手等の位置を所与の数式に代入して得られる表示画面上又は仮想空間内の位置であり、例えば、マーク40の表示位置である。ここでは、スクロールバー38の中心点38dとマーク40の表示位置との距離dが、上記の「距離」に相当する。
移動制限部56は、距離dが第1基準距離以上である場合、移動対象(項目画像36等)の移動を制限する。第1移動制御部56は、距離dが第1基準距離以上であり、かつ、第1基準距離よりも大きい第2基準距離未満である場合、移動対象(項目画像36等)を第1速度で移動させる。第2移動制御部58は、距離dが第2基準距離以上である場合、移動対象を第2速度で移動させる。
例えば、距離dが、距離L/2未満である場合、即ち、マーク40が停止指示領域38a内にある場合、項目画像36のスクロールが制限される。距離dが距離L/2以上、距離「L/2+L」未満である場合、即ち、マーク40が低速指示領域38b内にある場合、項目画像36が第1速度で移動する。距離dが距離「L/2+L」以上である場合、即ち、マーク40が高速指示領域38c内にある場合、項目画像36が第2速度で移動する。
変形例(4−2)によれば、表示画面又は仮想空間におけるユーザの手の位置に対応する位置と基準位置とに基づいて、スクロール制御をすることができる。なお、上記では表示画面内に基準位置が設定される場合を説明したが、位置情報が仮想空間内の位置を示す場合には、仮想空間内に基準位置が設定されることになる。
また、変形例(4−2)の場合、位置情報が、表示画面又は仮想空間の位置を示すことになるので、第1判定部68及び第2判定部72は、ユーザの第2の手又はユーザが当該第2の手で把持する把持物体の現実空間における位置に関する情報を取得する手段を含むことになる。この情報は、ユーザ部位情報に含まれる。
(5)また例えば、移動対象となるものは、項目画像36やカーソル画像42に限られない。移動対象は、表示画面又は仮想空間を移動するものであればよい。
(5−1)例えば、仮想空間に設定される表示対象領域が移動対象に相当するようにしてもよい。
図22は、仮想空間の様子を示す図である。図22に示すように、ここでは、仮想3次元空間を例に挙げて説明するが、仮想2次元空間であってもよい。例えば、仮想空間90には、フィールド92やユーザの操作対象を示すキャラクタ94等の各種オブジェクトが配置される。キャラクタ94は、ユーザの操作に応じてフィールド92上を移動する。例えば、ユーザの所定部位の位置変化に応じてキャラクタ94を移動させてもよいし、操作部26からの入力信号に応じてキャラクタ94を移動させるようにしてもよい。
また、仮想空間90には、仮想カメラ96が設定される。仮想カメラ96の位置及び視線方向に基づいて、表示対象領域98が設定される。表示対象領域98は、仮想カメラ96の視野を示す領域(視錘台)であり、表示画面には、表示対象領域98内のオブジェクトが表示されることになる。例えば、表示対象領域98内のオブジェクトの頂点座標が座標変換されることによって、仮想空間90の様子が表示画面に表示される。
この表示対象領域98が、「移動対象」に相当するようにしてもよい。即ち、変形例(5−1)での移動対象は、仮想空間90内に設定される表示対象領域98である。先述のように、表示画面には、仮想空間90のうち表示対象領域98内の様子が表示される。移動制御部54は、表示対象領域98の移動を制限したり、表示対象領域98を第1速度又は第2速度で移動させたりする。仮想カメラ96の位置又は視線方向が変化した場合に、表示対象領域98が移動することになる。
変形例(5−1)によれば、ユーザに煩わしさを感じさせることなく、表示対象領域98を移動させることができる。なお、2次元空間で表示対象領域を移動させる場合には、図14を参照して説明した処理と同様の処理を行うことによって、仮想空間を示す背景画像上を、表示対象領域が移動する。
(5−2)また例えば、キャラクタ94が「移動対象」に相当するようにしてもよい。
変形例(5−2)での移動対象は、表示画面を移動する画像又は仮想空間を移動するユーザの操作対象である。移動制御部54は、キャラクタ94の移動を制限したり、表示対象領域98を第1速度又は第2速度で移動させたりすることになる。
変形例(5−2)によれば、ユーザに煩わしさを感じさせることなく、ユーザの操作対象を移動させることができる。なお、操作対象となるものはキャラクタ94に限られない。操作対象は、ユーザの操作に応じて動作するものであればよい。他にも例えば、戦車やボールのような移動物体が、操作対象に相当するようにしてもよい。
(6)また例えば、第1基準値及び第2基準値は、実施形態及び変形例で示した数値に限られず、上記に示した数値より大きくてもよいし小さくてもよい。第1基準値及び第2基準値は、予め指定された値、又は、所与の数式に基づいて算出される値であればよい。
更に、数値として、角度θと距離LPQが用いられる場合を説明したが、ユーザの手の位置等と基準位置等とのずれの大きさの指標となる数値が用いられるようにすればよく、数値として用いられるのはこれに限られない。他にも例えば、ユーザの位置等と基準位置等を所与の数式に代入して得られる数値が用いられるようにしてもよい。
また例えば、実施形態及び変形例においては、移動対象が、主に水平方向に移動する場合を説明したが、移動対象の移動方向は、2次元ベクトル又は3次元ベクトルで定まる方向であればよく、移動方向は、これに限られない。移動対象は垂直方向に移動してもよいし、斜めに移動してもよい。更に、移動対象が3次元空間を移動する場合には、前後方向に移動してもよい。
また例えば、実施形態及び変形例では、位置情報がユーザの手の位置に関するものである場合を説明したが、位置情報は、ユーザが把持する把持物体の位置に関するものであってもよい。把持物体は、ユーザが手で持っている有体物であり、例えば、ゲームコントローラである。把持物体の位置の取得方法は、実施形態と同様に、撮影画像と深度画像とに基づいて取得されるようにしてもよいし、撮影画像のみに基づいて取得されるようにしてもよい。
撮影画像に基づいて把持物体の位置が取得される場合には、把持物体には、所与の大きさの撮影対象部分が含まれる。撮影対象部分は、画像認識処理で用いられる認識対象の部分であり、例えば、ゲームコントローラに備えられる球状の発光部等である。
撮影画像に含まれる撮影対象部分の表示位置に基づいて把持物体の水平方向の位置が特定され、撮影画像における撮影対象部分の大きさと基準の大きさとの比較結果に基づいて把持物体の奥行きが特定されることによって、現実空間における把持物体の位置が特定されることになる。
位置情報が把持物体の位置等を示す場合には、基準位置及びユーザ基準位置には、所与の時点での把持物体の位置が用いられる。例えば、ゲームコントローラが把持物体に相当する場合、ユーザがゲームコントローラの所与のボタンを押下した場合の把持物体の位置に基づいて、基準位置及びユーザ基準位置が設定されるようにしてもよい。
また、実施形態及び変形例では、右手P6の動きに応じてスクロール制御が行われ、左手P5の動きに応じてメニュー項目の実行処理が行われる場合を説明したが、右手P6と左手P5の役割は逆であってもよい。即ち、左手P5の動きに応じてスクロール制御が行われ、右手P6の動きに応じてメニュー項目の実行処理が行われるようにしてもよい。
また例えば、上記では、撮影画像と深度情報(深度画像)とに基づいて位置情報を生成する手段が位置検出装置1に含まれる例を挙げて説明したが、位置情報を生成する手段は、ゲーム装置20に含まれていてもよい。例えば、ゲーム装置20は、位置検出装置1から撮影画像と深度画像とを受信し、これらに基づいて位置情報を生成するようにしてもよい。また例えば、位置検出装置1がゲーム装置20と一体となっており、位置検出装置1がゲーム装置20に含まれていてもよい。
また、上記実施形態及び変形例の何れか2つ以上を組み合わせてもよい。更に、実施形態では、表示制御部62、マーク制御部64、第1制限部66、第1判定部68、解除部70、第2判定部72、第2制限部74、第3判定部76、及び処理実行部78がゲーム装置20に含まれる場合を説明したが、これらはゲーム装置20に含まれていなくてもよい。
また、本発明に係る移動制御装置がゲーム装置に適用される場合を説明したが、本発明に係る移動制御装置は、表示画面又は仮想空間で移動対象を移動させる処理を行う種々のコンピュータに適用可能である。他にも例えば、パーソナルコンピュータやナビゲーション装置、デジタルカメラ等に本発明を適用するようにしてもよい。
1 位置検出装置、2 CCDカメラ、3 赤外線センサ、4 マイク、10 制御部、11 記憶部、12 撮影部、13 深度測定部、14 音声入力部、15 通信インタフェース部、16,29 バス、20 ゲーム装置、21 制御部、22 主記憶部、23 補助記憶部、24 光ディスク再生部、25 通信インタフェース部、26 操作部、27 表示部、28 音声出力部、30 メニュー画面、32 キャラクタ、34 メニュー領域、36 項目画像、38 スクロールバー、38a 停止指示領域、38b 低速指示領域、38c 高速指示領域、40 マーク、42 カーソル画像、50 位置情報取得部、52 データ記憶部、54 移動制御部、56 移動制限部、58 第1移動制御部、60 第2移動制御部、62 表示制御部、64 マーク制御部、66 第1制限部、68 第1判定部、70 解除部、72 第2判定部、74 第2制限部、76 第3判定部、78 処理実行部、80 項目画像群、82,98 表示対象領域、90 仮想空間、92 フィールド、94 キャラクタ、96 仮想カメラ、100 ユーザ。

Claims (13)

  1. 表示画面又は仮想空間内で移動対象を所定の移動方向に移動させる移動制御装置であって、
    ユーザの手又は前記ユーザが把持する把持物体の現実空間における位置、又は当該位置に対応する前記表示画面又は前記仮想空間内の位置に関する位置情報を取得する位置情報取得手段と、
    前記位置情報に基づいて、前記移動対象の移動制御を行う移動制御手段と、
    前記移動方向に対応する方向に延伸する第1画像と、前記第1画像上を延伸方向に移動する第2画像と、を前記表示画面に表示させる手段と、
    前記第1画像の代表点と前記第2画像の表示位置との位置関係が、前記位置情報が示す位置と基準位置又は基準方向との位置関係に対応するように、前記第2画像を前記第1画像上で移動させる第2画像制御手段と、
    を含み、
    前記移動制御手段は、
    前記位置情報が示す位置と、前記基準位置又は前記基準方向と、の間のずれの大きさを示す数値が第1基準値未満である場合、前記移動対象の移動を制限する移動制限手段と、
    前記数値が前記第1基準値以上であって、かつ、前記第1基準値よりも大きい第2基準値未満である場合、前記位置情報に基づいて定まる方向又は所定方向に向けて、前記移動対象を第1速度で移動させる第1移動制御手段と、
    前記数値が前記第2基準値以上である場合、前記位置情報に基づいて定まる方向又は所定方向に向けて、前記移動対象を前記第1速度よりも速い第2速度で移動させる第2移動制御手段と、
    を含み、
    前記第1画像は、
    前記第1基準値に対応する長さを有し、前記代表点を含む第1領域と、
    前記第2基準値と前記第1基準値との差に対応する長さを有し、前記第1領域に隣接する第2領域と、
    所定の長さを有し、前記第2領域が前記第1領域と隣接する側とは逆側に隣接する第3領域と、を含み、
    前記第2画像制御手段は、
    前記移動制限手段による制限が行われる場合、前記第1領域上で、前記第2画像を移動させ、
    前記第1移動制御手段による制御が行われる場合、前記第2領域上で前記第2画像を移動させ、
    前記第2移動制御手段による制御が行われる場合、前記第3領域上で前記第2画像を移動させる、
    ことを特徴とする移動制御装置。
  2. 前記移動制限手段は、
    前記位置情報が示す位置が、前記基準位置又は前記基準方向よりも前記ユーザの手に対応する順方向側にあり、前記数値が第1順方向基準値未満である場合、前記移動対象の移動を制限する手段と、
    前記位置情報が示す位置が、前記基準位置又は前記基準方向よりも前記順方向の逆方向側にあり、前記数値が前記第1順方向基準値よりも小さい第1逆方向基準値未満である場合、記移動対象の移動を制限する手段と、
    を含み、
    前記第1移動制御手段は、
    前記位置情報が示す位置が、前記基準位置又は前記基準方向よりも前記順方向側にあり、前記数値が前記第1順方向基準値以上、かつ、前記第1順方向基準値よりも大きい第2順方向基準値未満である場合、前記移動対象を前記第1速度で移動させる手段と、
    前記位置情報が示す位置が、前記基準位置又は前記基準方向よりも前記逆方向側にあり、前記数値が前記第1逆方向基準値以上、かつ、前記第2順方向基準値よりも小さい第2逆方向基準値未満である場合、前記移動対象を前記第1速度で移動させる手段と、
    を含み、
    前記第2移動制御手段は、
    前記位置情報が示す位置が、前記基準位置又は前記基準方向よりも前記順方向側にあり、前記数値が前記第2順方向基準値以上である場合、前記移動対象を前記第2速度で移動させる手段と、
    前記位置情報が示す位置が、前記基準位置又は前記基準方向よりも前記逆方向側にあり、前記数値が前記第2逆方向基準値以上である場合、前記移動対象を前記第2速度で移動させる手段と、
    を含む、
    ことを特徴とする請求項1に記載の移動制御装置。
  3. 前記移動制御装置は、
    前記ユーザの体の大きさに関する情報を取得する手段と、
    前記ユーザの体の大きさに関する情報に基づいて、前記第1基準値及び前記第2基準値を変更する手段と、
    を更に含むことを特徴とする請求項1又は2に記載の移動制御装置。
  4. 前記移動制御装置は、
    前記移動制御手段による移動制御を制限する手段と、
    前記ユーザの手又は前記ユーザが把持する把持物体の現実空間における位置に関する情報に基づいて、前記ユーザが手を伸ばしたか否かを判定する手段、
    前記ユーザが手を伸ばした場合に、前記移動制御手段による移動制御の制限を解除する手段と、
    を更に含むことを特徴とする請求項1〜の何れか一項に記載の移動制御装置。
  5. 前記移動制御装置は、
    前記移動制御手段による移動制御が行われている状態において、前記ユーザの手又は前記ユーザが把持する把持物体の現実空間における位置に関する情報に基づいて、前記ユーザが手を下したか否かを判定する手段と、
    前記ユーザが手を下したと判定された場合、前記移動制御手段による移動制御を制限する手段と、
    を更に含むことを特徴とする請求項1〜の何れか一項に記載の移動制御装置。
  6. 前記位置情報は、前記ユーザの第1の手又は前記ユーザが当該第1の手で把持する把持物体の現実空間における位置、又は当該位置に対応する前記表示画面又は前記仮想空間内の位置に関する情報であり、
    前記移動対象は、複数のメニュー項目の各々を示す項目画像であり、
    前記移動制御手段は、前記表示画面で複数の前記項目画像を移動させ、
    前記移動制御装置は、
    前記ユーザの第2の手又は前記ユーザが当該第2の手で把持する把持物体の現実空間における位置に関する情報を取得する手段と、
    前記ユーザの第2の手又は当該第2の手で把持する把持物体が所与の動きをしたか否かを判定する手段と、
    前記ユーザの第2の手又は当該第2の手で把持する把持物体が所与の動きをしたと判定された場合、前記表示画面の所定位置に表示されている項目画像のメニュー項目に対応する処理を実行する手段と、
    を更に含むことを特徴とする請求項1〜の何れか一項に記載の移動制御装置。
  7. 前記位置情報は、前記ユーザの第1の手又は前記ユーザが当該第1の手で把持する把持物体の現実空間における位置、又は当該位置に対応する前記表示画面又は前記仮想空間内の位置に関する情報であり、
    前記移動対象は、複数のメニュー項目の各々を示す項目画像上を移動するカーソル画像であり、
    前記移動制御手段は、前記表示画面に表示された複数の前記項目画像上で前記カーソル画像を移動させ、
    前記移動制御装置は、前記ユーザの第2の手又は前記ユーザが当該第2の手で把持する把持物体の現実空間における位置に関する情報を取得する手段と、
    前記ユーザの第2の手又は当該第2の手で把持する把持物体が所与の動きをしたか否かを判定する手段と、
    前記ユーザの第2の手又は当該第2の手で把持する把持物体が所与の動きをしたと判定された場合、前記カーソル画像が示す項目画像のメニュー項目に対応する処理を実行する手段と、
    を更に含むことを特徴とする請求項1〜の何れか一項に記載の移動制御装置。
  8. 前記位置情報は、前記ユーザの手又は前記ユーザが把持する把持物体の現実空間における位置に関する情報であり、
    前記数値は、前記ユーザの体の位置に関するユーザ基準位置から前記位置情報が示す位置への方向と、前記現実空間に設定される基準方向と、の間の角度であり、
    前記移動制限手段は、前記角度が第1基準角度未満である場合、前記移動対象の移動を制限し、
    前記第1移動制御手段は、前記角度が前記第1基準角度以上であり、かつ、前記第1基準角度よりも大きい第2基準角度未満である場合、前記移動対象を第1速度で移動させ、
    前記第2移動制御手段は、前記角度が前記第2基準角度以上である場合、前記移動対象を前記第2速度で移動させる、
    を含むことを特徴とする請求項1〜の何れか一項に記載の移動制御装置。
  9. 前記位置情報は、前記ユーザの手又は前記ユーザが把持する把持物体の現実空間における位置に関する情報であり、
    前記数値は、前記位置情報が示す位置と、前記現実空間に設定される基準位置と、の距離であり、
    前記移動制限手段は、前記距離が第1基準距離未満である場合、前記移動対象の移動を制限し、
    前記第1移動制御手段は、前記距離が前記第1基準距離以上であり、かつ、前記第1基準距離よりも大きい第2基準距離未満である場合、前記移動対象を第1速度で移動させ、
    前記第2移動制御手段は、前記距離が前記第2基準距離以上である場合、前記移動対象を前記第2速度で移動させる、
    を含むことを特徴とする請求項1〜の何れか一項に記載の移動制御装置。
  10. 前記位置情報は、前記ユーザの手又は前記ユーザが把持する把持物体の現実空間における位置に対応する前記表示画面又は前記仮想空間内の位置に関する情報であり、
    前記数値は、前記位置情報が示す位置と、前記表示画面又は前記仮想空間内に設定される基準位置と、の距離であり、
    前記移動制限手段は、前記距離が第1基準距離以上である場合、前記移動対象の移動を制限し、
    前記第1移動制御手段は、前記距離が前記第1基準距離以上であり、かつ、前記第1基準距離よりも大きい第2基準距離未満である場合、前記移動対象を第1速度で移動させ、
    前記第2移動制御手段は、前記距離が前記第2基準距離以上である場合、前記移動対象を前記第2速度で移動させる、
    を含むことを特徴とする請求項1〜の何れか一項に記載の移動制御装置。
  11. 前記移動対象は、前記仮想空間内に設定される表示対象領域であって、
    前記表示画面には、前記仮想空間のうち前記表示対象領域内の様子が表示され、
    前記移動制限手段は、前記数値が第1基準値未満である場合、前記表示対象領域の移動を制限し、
    前記第1移動制御手段は、前記数値が前記第1基準値以上かつ前記第2基準値未満である場合、前記表示対象領域を前記第1速度で移動させ、
    前記第2移動制御手段は、前記数値が前記第2基準値以上である場合、前記表示対象領域を前記第2速度で移動させる、
    ことを特徴とする請求項1〜10の何れか一項に記載の移動制御装置。
  12. 前記移動対象は、前記表示画面を移動する画像又は前記仮想空間を移動するユーザの操作対象であって、
    前記移動制限手段は、前記数値が第1基準値未満である場合、前記画像又は前記操作対象の移動を制限し、
    前記第1移動制御手段は、前記数値が前記第1基準値以上かつ前記第2基準値未満である場合、前記画像又は前記操作対象を前記第1速度で移動させ、
    前記第2移動制御手段は、前記数値が前記第2基準値以上である場合、前記画像又は前記操作対象を前記第2速度で移動させる、
    ことを特徴とする請求項1〜10の何れか一項に記載の移動制御装置。
  13. 表示画面又は仮想空間内で移動対象を所定の移動方向に移動させるコンピュータを、
    ユーザの手又は前記ユーザが把持する把持物体の現実空間における位置、又は当該位置に対応する前記表示画面又は前記仮想空間内の位置に関する位置情報を取得する位置情報取得手段、
    前記位置情報に基づいて、前記移動対象の移動制御を行う移動制御手段、
    前記移動方向に対応する方向に延伸する第1画像と、前記第1画像上を延伸方向に移動する第2画像と、を前記表示画面に表示させる手段、
    前記第1画像の代表点と前記第2画像の表示位置との位置関係が、前記位置情報が示す位置と基準位置又は基準方向との位置関係に対応するように、前記第2画像を前記第1画像上で移動させる第2画像制御手段、
    として機能させるためのプログラムであって
    前記移動制御手段は、
    前記位置情報が示す位置と、前記基準位置又は前記基準方向と、の間のずれの大きさを示す数値が第1基準値未満である場合、前記移動対象の移動を制限する移動制限手段と、
    前記数値が前記第1基準値以上であって、かつ、前記第1基準値よりも大きい第2基準値未満である場合、前記位置情報に基づいて定まる方向又は所定方向に向けて、前記移動対象を第1速度で移動させる第1移動制御手段と、
    前記数値が前記第2基準値以上である場合、前記位置情報に基づいて定まる方向又は所定方向に向けて、前記移動対象を前記第1速度よりも速い第2速度で移動させる第2移動制御手段と、
    を含み、
    前記第1画像は、
    前記第1基準値に対応する長さを有し、前記代表点を含む第1領域と、
    前記第2基準値と前記第1基準値との差に対応する長さを有し、前記第1領域に隣接する第2領域と、
    所定の長さを有し、前記第2領域が前記第1領域と隣接する側とは逆側に隣接する第3領域と、を含み、
    前記第2画像制御手段は、
    前記移動制限手段による制限が行われる場合、前記第1領域上で、前記第2画像を移動させ、
    前記第1移動制御手段による制御が行われる場合、前記第2領域上で前記第2画像を移動させ、
    前記第2移動制御手段による制御が行われる場合、前記第3領域上で前記第2画像を移動させる、
    ことを特徴とするプログラム。
JP2012017919A 2012-01-31 2012-01-31 移動制御装置、移動制御装置の制御方法、及びプログラム Active JP5509227B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012017919A JP5509227B2 (ja) 2012-01-31 2012-01-31 移動制御装置、移動制御装置の制御方法、及びプログラム
US13/614,643 US8823647B2 (en) 2012-01-31 2012-09-13 Movement control device, control method for a movement control device, and non-transitory information storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012017919A JP5509227B2 (ja) 2012-01-31 2012-01-31 移動制御装置、移動制御装置の制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2013156889A JP2013156889A (ja) 2013-08-15
JP5509227B2 true JP5509227B2 (ja) 2014-06-04

Family

ID=48869765

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012017919A Active JP5509227B2 (ja) 2012-01-31 2012-01-31 移動制御装置、移動制御装置の制御方法、及びプログラム

Country Status (2)

Country Link
US (1) US8823647B2 (ja)
JP (1) JP5509227B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160287989A1 (en) * 2012-08-31 2016-10-06 Blue Goji Llc Natural body interaction for mixed or virtual reality applications
WO2014069248A1 (ja) * 2012-11-02 2014-05-08 ソニー株式会社 画像処理装置および画像処理方法、並びにプログラム
TWI536259B (zh) * 2012-12-28 2016-06-01 緯創資通股份有限公司 手勢辨識模組及手勢辨識方法
TWI637348B (zh) * 2013-04-11 2018-10-01 緯創資通股份有限公司 影像顯示裝置和影像顯示方法
US9766855B2 (en) * 2013-09-10 2017-09-19 Avigilon Corporation Method and apparatus for controlling surveillance system with gesture and/or audio commands
JP6455310B2 (ja) * 2015-05-18 2019-01-23 本田技研工業株式会社 動作推定装置、ロボット、及び動作推定方法
US10067636B2 (en) * 2016-02-09 2018-09-04 Unity IPR ApS Systems and methods for a virtual reality editor
KR20180020734A (ko) * 2016-08-19 2018-02-28 엘지전자 주식회사 이동단말기 및 그 제어 방법
KR20200080047A (ko) * 2018-12-26 2020-07-06 삼성전자주식회사 진정 사용자의 손을 식별하는 방법 및 이를 위한 웨어러블 기기
CN111949111B (zh) * 2019-05-14 2022-04-26 Oppo广东移动通信有限公司 交互控制方法、装置、电子设备及存储介质
JP2022006580A (ja) * 2020-06-24 2022-01-13 富士フイルムビジネスイノベーション株式会社 情報処理装置及びコンピュータプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0575837U (ja) * 1992-03-16 1993-10-15 横河電機株式会社 タッチスクリーン入力装置
US6501515B1 (en) 1998-10-13 2002-12-31 Sony Corporation Remote control system
JP5048890B2 (ja) * 1998-10-13 2012-10-17 ソニー エレクトロニクス インク 動作検知インターフェース
JP3690657B2 (ja) * 2000-11-20 2005-08-31 三菱自動車工業株式会社 車両用情報表示装置のスクロール制御装置
JP4583893B2 (ja) * 2004-11-19 2010-11-17 任天堂株式会社 ゲームプログラムおよびゲーム装置
US9696808B2 (en) * 2006-07-13 2017-07-04 Northrop Grumman Systems Corporation Hand-gesture recognition method
US8933876B2 (en) * 2010-12-13 2015-01-13 Apple Inc. Three dimensional user interface session control
US9772689B2 (en) 2008-03-04 2017-09-26 Qualcomm Incorporated Enhanced gesture-based image manipulation
US8593399B2 (en) * 2009-02-18 2013-11-26 Kabushiki Kaisha Toshiba Interface apparatus and method for controlling a device
US20110289455A1 (en) * 2010-05-18 2011-11-24 Microsoft Corporation Gestures And Gesture Recognition For Manipulating A User-Interface
JP5735866B2 (ja) * 2011-06-20 2015-06-17 任天堂株式会社 情報処理システムおよびプログラム

Also Published As

Publication number Publication date
US20130194175A1 (en) 2013-08-01
JP2013156889A (ja) 2013-08-15
US8823647B2 (en) 2014-09-02

Similar Documents

Publication Publication Date Title
JP5509227B2 (ja) 移動制御装置、移動制御装置の制御方法、及びプログラム
JP5256269B2 (ja) データ生成装置、データ生成装置の制御方法、及びプログラム
JP5081964B2 (ja) ゲーム装置、ゲーム装置の制御方法、及びプログラム
US10421013B2 (en) Gesture-based user interface
US8350896B2 (en) Terminal apparatus, display control method, and display control program
US9218781B2 (en) Information processing apparatus, display control method, and program
CN104102412B (zh) 一种基于增强现实技术的手持式阅览设备及其方法
US9651782B2 (en) Wearable tracking device
US9329691B2 (en) Operation input apparatus and method using distinct determination and control areas
JP6057396B2 (ja) 3次元ユーザインタフェース装置及び3次元操作処理方法
US9342925B2 (en) Information processing apparatus, information processing method, and program
JP5145444B2 (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
KR101340797B1 (ko) 3d 객체 표시가 가능한 휴대용 장치 및 그 방법
EP2394710A2 (en) Image generation system, image generation method, and information storage medium
EP2558924B1 (en) Apparatus, method and computer program for user input using a camera
JP2011258158A (ja) プログラム、情報記憶媒体及び画像生成システム
US20140071044A1 (en) Device and method for user interfacing, and terminal using the same
JP5425940B2 (ja) ゲーム装置、ゲーム装置の制御方法、及びプログラム
JP6519075B2 (ja) 情報処理装置、情報処理プログラム、情報処理システム、および、情報処理方法
JP5746644B2 (ja) ゲーム装置及びプログラム
US20220351446A1 (en) Animation production method
JP6535699B2 (ja) 情報処理方法、情報処理プログラム及び情報処理装置
JP2019205514A (ja) プログラム、方法、および情報端末装置
JP6801138B1 (ja) 端末装置、仮想オブジェクト操作方法、及び仮想オブジェクト操作プログラム
KR20150049872A (ko) 사용자 동작 인식에 기반한 영상 처리 방법 및 시스템

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140212

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140324

R150 Certificate of patent or registration of utility model

Ref document number: 5509227

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250