JP2014206866A - 情報処理プログラム、情報処理システム、情報処理装置、および、情報処理の実行方法 - Google Patents

情報処理プログラム、情報処理システム、情報処理装置、および、情報処理の実行方法 Download PDF

Info

Publication number
JP2014206866A
JP2014206866A JP2013084144A JP2013084144A JP2014206866A JP 2014206866 A JP2014206866 A JP 2014206866A JP 2013084144 A JP2013084144 A JP 2013084144A JP 2013084144 A JP2013084144 A JP 2013084144A JP 2014206866 A JP2014206866 A JP 2014206866A
Authority
JP
Japan
Prior art keywords
information processing
calculated
state
predetermined
imaging
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.)
Granted
Application number
JP2013084144A
Other languages
English (en)
Other versions
JP6204686B2 (ja
Inventor
亮磨 青木
Ryoma Aoki
亮磨 青木
津田 宗孝
Munetaka Tsuda
宗孝 津田
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.)
Nintendo Co Ltd
Original Assignee
Nintendo 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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2013084144A priority Critical patent/JP6204686B2/ja
Priority to EP13178484.5A priority patent/EP2790087B1/en
Priority to US13/958,866 priority patent/US9507436B2/en
Publication of JP2014206866A publication Critical patent/JP2014206866A/ja
Application granted granted Critical
Publication of JP6204686B2 publication Critical patent/JP6204686B2/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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • 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/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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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

Abstract

【課題】入力部材を自由に動かして入力操作を行うことを可能にする。【解決手段】情報処理装置は、撮像手段および姿勢センサを有する入力部材の姿勢に応じた所定の情報処理を実行する。情報処理装置は、撮像手段により撮像された所定の撮像対象を含む撮像画像に基づく撮像情報を用いて、所定の直線上または平面上の位置であって、入力部材の姿勢に応じた第1位置を算出する。また、情報処理装置は、姿勢センサの検出結果を用いて、所定の直線上または平面上の位置であって、入力部材の姿勢に応じた第2位置を算出する。第1位置が算出可能である場合、少なくとも第1位置に基づく制御位置を用いて所定の情報処理が実行される。第1位置が算出不可能である場合、少なくとも第2位置に基づく制御位置を用いて所定の情報処理が実行される。【選択図】図6

Description

本発明は、入力部材(入力装置)の姿勢に応じた情報処理を実行するための情報処理プログラム、情報処理システム、情報処理装置、および、情報処理の実行方法に関する。
従来、入力装置を動かす操作によって入力を行う情報処理システムがある。例えば特許文献1に記載のゲームシステムでは、ユーザが把持するコントローラにカメラを設け、テレビ等のモニタの周囲に配置されたマーカをカメラによって撮像する。ゲームシステムは、カメラによる撮像画像に基づいて2次元ベクトルを算出し、モニタに表示される操作対象を2次元ベクトルに基づいて移動させる。
特開2007−61489号公報
カメラによってマーカを撮像する方法では、カメラの撮像範囲(視野範囲)にマーカが含まれる範囲でしか入力装置を動かすことができず、入力装置を動かす範囲が制限されていた。
それ故、本発明の目的は、入力部材を自由に動かして入力操作を行うことができる情報処理プログラム、情報処理システム、情報処理装置、および、情報処理の実行方法を提供することである。
上記の課題を解決すべく、本発明は、以下の(1)〜(17)の構成を採用した。
(1)
本発明の一例は、撮像手段および姿勢センサを有する入力部材の姿勢に応じた所定の情報処理を実行する情報処理装置のコンピュータにおいて実行される情報処理プログラムである。情報処理プログラムは、第1位置算出手段と、第2位置算出手段と、処理実行手段としてコンピュータを機能させる。第1位置算出手段は、撮像手段により撮像された所定の撮像対象を含む撮像画像に基づく撮像情報を用いて、所定の直線上または平面上の位置であって、入力部材の姿勢に応じた第1位置を算出する。第2位置算出手段は、姿勢センサの検出結果を用いて、所定の直線上または平面上の位置であって、入力部材の姿勢に応じた第2位置を算出する。処理実行手段は、第1位置が算出可能である場合、少なくとも第1位置に基づく制御位置を用いて所定の情報処理を実行し、第1位置が算出不可能である場合、少なくとも第2位置に基づく制御位置を用いて所定の情報処理を実行する。
上記「入力部材」は、情報処理装置とは別体の入力装置であってもよいし、情報処理装置と一体として構成されてもよい。
上記(1)の構成によれば、撮像情報を用いて第1位置が算出されない状態であっても、姿勢センサの検出結果を用いて算出される第2位置を用いて情報処理が実行される。したがって、入力部材を動かすことができる範囲を大きくすることができ、ユーザは、入力部材を自由に動かして入力操作を行うことができる。
(2)
処理実行手段は、所定の情報処理の開始後において、第1位置が算出可能である状態から算出不可能な状態へと切り替わったことに応じて、第2位置に基づく制御位置を用いた所定の情報処理を開始してもよい。
上記(2)の構成によれば、第1位置が算出可能である状態においては、入力部材の姿勢に応じた制御位置を、撮像情報を用いて精度良く算出することができる。また、第1位置が算出不可能である状態となっても、第2位置に基づいて制御位置が算出されるので、情報処理を継続して実行することができる。
(3)
処理実行手段は、所定の情報処理として、表示装置に表示される対象画像を入力部材の姿勢に応じて移動させる処理を実行し、第1位置が算出可能である状態から算出不可能な状態へと切り替わった場合、第2位置に基づく制御位置を用いることによって対象画像の移動を継続させてもよい。
上記「対象画像」は、表示装置の画面に表示される画像全体であってもよいし、画面の一部に表示される画像であってもよい。つまり、対象画像を移動させる処理は、画面をスクロールさせる処理であってもよいし、画面に表示されるオブジェクトの画像を移動させる処理であってもよい。
上記(3)の構成によれば、撮像情報に基づく第1位置を用いた対象画像の移動処理を実行できなくなっても、姿勢センサの検出結果に基づく第2位置を用いて移動処理を継続して実行することができる。これによって、ユーザは、入力部材を自由に動かして対象画像の移動操作を行うことができる。
(4)
処理実行手段は、第1位置が算出可能である状態から算出不可能な状態へと切り替わった場合、切り替わり前の第1位置と、切り替わり後の第2位置とに基づく制御位置を用いて所定の情報処理を実行してもよい。
上記(4)の構成によれば、第1位置を算出可能な状態から不可能な状態へと切り替わった後の制御位置に対して、切り替わり前の第1位置を反映させる。これによって、切り替わり前後において制御位置が急激に変化することを軽減することができ、入力部材を用いた操作の操作性を向上することができる。
(5)
処理実行手段は、第1位置が算出可能である状態から算出不可能な状態へと切り替わった場合、切り替わり直前の第1位置と第2位置の値が等しくなるように第2位置を補正する補正処理を特定し、切り替わり後の第2位置に対して当該補正処理を行うことによって得られる制御位置を用いて所定の情報処理を実行してもよい。
上記(5)の構成によれば、第1位置を算出可能な状態から不可能な状態へと切り替わる時の制御位置をシームレスに変化させることができ、入力部材を用いた操作の操作性を向上することができる。
(6)
処理実行手段は、第1位置が算出可能である状態から算出不可能な状態へと切り替わった場合、切り替わり直前の第1位置から第2位置を引いた差分値を算出し、切り替わり後の第2位置と当該差分値とを加算することによって得られる制御位置を用いて所定の情報処理を実行してもよい。
上記(6)の構成によれば、差分値を算出する簡易な処理によって、制御位置をシームレスに変化させることができる。また、上記(6)の構成によれば、第1位置を算出不可能な状態において、入力部材の姿勢の変化量に対する制御位置の変化量の割合を一定に近づけることができるので、入力部材を用いた操作の操作性を向上することができる。
(7)
差分値の算出に用いられる第1位置を算出するための撮像情報と、当該差分値の算出に用いられる第2位置を算出するための姿勢センサの検出結果とは、情報処理装置に同じタイミングで取得されてもよい。
上記(7)の構成によれば、同じタイミングで取得された情報に基づく第1位置と第2位置とを用いて差分値を算出するので、第1位置と第2位置との差をより正確に算出することができる。これによって、補正処理をより正確に行うことができ、入力部材を用いた操作の操作性を向上することができる。
(8)
処理実行手段は、第1位置が算出可能である状態から算出不可能な状態へと切り替わった後で、第1位置が算出可能である状態へとさらに切り替わった場合、第1位置が算出可能である状態へと切り替わった直後における第2位置に対して補正処理を行った値を用いて第1位置を補正することによって得られる制御位置を用いて所定の情報処理を実行してもよい。
上記(8)の構成によれば、第1位置が算出可能である状態から算出不可能な状態へと切り替わる場合に補正値を新たに設定するので、この場合において制御位置が急激に変化することを軽減することができる。これによって、入力部材を用いた操作の操作性を向上することができる。
(9)
情報処理プログラムは、第1ポインタ処理手段としてコンピュータをさらに機能させてもよい。第1ポインタ処理手段は、第1位置が算出可能である状態から算出不可能な状態へと切り替わった後で、第1位置が算出可能である状態へとさらに切り替わった場合、第1位置に応じた位置にポインタ画像を表示させる。
上記(9)の構成によれば、第1位置が算出可能である状態から算出不可能な状態へと切り替わった後において、制御位置と第1位置とが異なる場合であっても、第1位置をユーザに認識させることができる。また、後述する(12)の構成と上記(9)の構成とを組み合わせる場合において、所定の情報処理が実行されない間にポインタ画像が第1位置に表示されるとすれば、所定の情報処理の終了時にポインタ画像の表示位置が急に変化することを防止することができる。
(10)
情報処理プログラムは、第2ポインタ処理手段としてコンピュータをさらに機能させてもよい。第2ポインタ処理手段は、第1位置が算出可能である状態から算出不可能な状態へと切り替わった後で、第1位置が算出可能である状態へとさらに切り替わった場合、制御位置に応じた位置にポインタ画像を表示させる。
上記(10)の構成によれば、第1位置が算出可能である状態から算出不可能な状態へと切り替わった後において、制御位置をユーザに認識させることができる。
(11)
所定の情報処理は、表示装置に表示される画像を制御位置を用いてスクロールする処理であってもよい。
上記(11)の構成によれば、ユーザは、入力部材の姿勢を変化させることによって、表示装置に表示される画像をスクロールさせることができる。
(12)
情報処理プログラムは、第3ポインタ処理手段としてコンピュータをさらに機能させてもよい。第3ポインタ処理手段は、所定の情報処理が実行されない場合、表示装置に表示される選択可能なオブジェクトを指定するためのポインタ画像を、制御位置に応じた位置に表示させる。
上記(12)の構成によれば、ユーザは、入力部材の姿勢を変化させることによって、画像をスクロールさせることに加えて、ポインタを移動させることができる。
(13)
処理実行手段は、所定の条件が満たされる間、所定の情報処理を実行し、所定の情報処理の開始時においては補正処理による補正量を0に設定してもよい。
上記(13)の構成によれば、所定の情報処理の開始時においては、補正処理による補正量は0に設定される。したがって、制御位置と第1位置とのずれが蓄積されて大きくなる結果、ユーザに違和感を与える可能性を低減することができる。
(14)
また、本発明の他の一例は、撮像手段および姿勢センサを有する入力部材の姿勢に応じて、表示装置に表示される画像を制御する情報処理装置のコンピュータにおいて実行される情報処理プログラムである。情報処理プログラムは、第1移動制御手段と、第2移動制御手段としてコンピュータを機能させる。第1移動制御手段は、撮像手段により撮像された所定の撮像対象を含む撮像画像に基づく撮像情報を用いて、表示装置に表示される対象画像を入力部材の姿勢に応じて移動させる。第2移動制御手段は、入力部材の姿勢の変化によって撮像手段の撮像範囲から所定の撮像対象が外れた場合、姿勢センサの検出結果を用いることによって、入力部材の姿勢に応じた対象画像の移動を継続させる。
上記(14)の構成によれば、撮像情報を用いた対象画像の移動処理を実行できなくなっても、姿勢センサの検出結果を用いて移動処理を継続して実行することができる。したがって、入力部材を動かすことができる範囲を大きくすることができ、ユーザは、入力部材を自由に動かして入力操作(対象画像の移動操作)を行うことができる。
(15)
また、本発明の他の一例は、撮像手段および姿勢センサを有する入力部材の姿勢に応じた所定の情報処理を実行する情報処理装置のコンピュータにおいて実行される情報処理プログラムである。情報処理プログラムは、第1取得手段と、第2取得手段と、処理実行手段としてコンピュータを機能させる。第1取得手段は、撮像手段により撮像された所定の撮像対象を含む撮像画像に基づく撮像情報を取得する。第2取得手段は、姿勢センサの検出結果を取得する。処理実行手段は、所定の情報処理の開始時において、撮像手段により撮像された撮像画像に基づく当該情報処理の実行が可能である場合、撮像情報を用いて当該情報処理を実行し、撮像手段により撮像された撮像画像に基づく当該情報処理の実行が可能な状態から不可能な状態へと切り替わった場合、用いる情報を撮像情報から姿勢センサの検出結果に切り替えて当該情報処理を実行する。
上記(15)の構成によれば、上記(1)の構成と同様、撮像情報を用いることができない場合であっても情報処理を実行することができるので、入力部材を動かすことができる範囲を大きくすることができ、ユーザは、入力部材をより自由に動かして入力操作を行うことができる。
(16)
処理実行手段は、撮像手段により撮像された撮像画像に基づく当該情報処理の実行が不可能な状態から可能な状態へと切り替わった場合、切り替わり直後に取得される姿勢センサの検出結果と、切り替わり後に取得される撮像情報とを用いて所定の情報処理を実行してもよい。
上記(16)の構成によれば、撮像画像に基づく情報処理が不可能な状態から可能な状態へと戻った場合において、撮像情報を用いて情報処理を実行することができ、情報処理を継続することができる。また、切り替わり直後に取得される姿勢センサの検出結果を用いることによって、入力部材を用いた操作の操作性を向上することができる。
(17)
また、本発明の他の例においては、情報処理プログラムは、撮像手段および姿勢センサを有する入力部材の姿勢に応じた所定の情報処理を実行するものであってもよい。情報処理プログラムは、撮像情報取得手段と、角速度情報取得手段と、処理実行手段としてコンピュータを機能させてもよい。
撮像情報取得手段は、撮像手段により撮像された所定の撮像対象を含む撮像画像に基づく撮像情報を取得する。角速度情報取得手段は、姿勢センサ(例えばジャイロセンサ)の検出結果として、入力部材の角速度を示す角速度情報を取得する。
処理実行手段は、撮像手段により撮像された撮像画像に基づく当該情報処理の実行が可能である場合、当該撮像画像における所定の撮像対象の位置の変化に応じて所定の情報処理を実行する。また、処理実行手段は、撮像手段により撮像された撮像画像に基づく情報処理の実行が不可能な場合、撮像画像における所定の撮像対象の位置の変化の代わりに、角速度情報により示される角速度が表す変化に応じて所定の情報処理を実行する。
上記(17)の構成によれば、撮像情報を用いることができない場合であっても、角速度情報によって情報処理を実行することができるので、入力部材を動かすことができる範囲を大きくすることができ、ユーザは、入力部材をより自由に動かして入力操作を行うことができる。
なお、本発明の別の一例は、上記(1)〜(17)の情報処理プログラムを実行することによって実現される各手段と同等の手段を備える情報処理装置あるいは情報処理システムであってもよいし、上記(1)〜(17)において実行される情報処理の実行方法であってもよい。
本発明によれば、撮像情報と姿勢センサの検出結果とを用いて入力部材の姿勢に応じた情報処理を実行することによって、入力部材を自由に動かして入力操作を行うことができる情報処理装置等を提供することができる。
本実施形態に係る情報処理システムの一例を示すブロック図 入力装置を用いる場合におけるテレビおよびマーカ装置の配置の一例を示す図 平面上におけるカメラ座標とジャイロ座標の一例を示す図 入力装置を用いて行われる表示制御操作の一例を示す図 入力装置を用いたスクロール操作によって画像がスクロールされる様子の一例を示す図 制御座標の算出方法の一例を示す図 制御座標の算出方法の一例を示す図 不可能状態から切り替わった後の可能状態において画面にポインタが表示される一例を示す図 本実施形態において情報処理装置が実行する表示制御処理の流れの一例を示すフローチャート 図9に示すスクロール処理(ステップS5)の詳細な流れの一例を示すフローチャート
[1.情報処理システムの構成]
以下、本実施形態の一例に係る情報処理プログラム、情報処理システム、情報処理装置、および、情報処理の実行方法について説明する。図1は、本実施形態に係る情報処理システムの一例を示すブロック図である。図1において、情報処理システム1は、入力装置2、情報処理装置3、テレビ4、および、マーカ装置5を備える。本実施形態における情報処理システム1は、テレビ4に表示される画像を入力装置2の姿勢に応じて制御するものである。
情報処理システム1は、入力装置(コントローラ)2を含む。本実施形態においては、入力装置2は、カメラ11、ジャイロセンサ12、およびボタン13を有する。
カメラ11は、撮像手段の一例であり、本実施形態においては、後述するマーカ装置5が発する赤外光を検知可能なカメラである。詳細は後述するが、カメラ11によってマーカ装置5が撮像される場合、撮像結果を用いて、マーカ装置5に対する入力装置2の位置および/または姿勢を推測することができる。
ジャイロセンサ12は、姿勢センサの一例であり、入力装置2の角速度を検出する。本実施形態においては、ジャイロセンサ12は所定の3軸回りの角速度を検出する。ただし、他の実施形態においては、ジャイロセンサ12は所定の1軸または2軸回りの角速度を検出するものであってもよい。また、入力装置2は、姿勢センサとして、その検出結果を用いて入力装置2の姿勢を算出(推定)することができる任意のセンサを有していてもよい。例えば他の実施形態においては、入力装置2は、ジャイロセンサ12に加えて(または代えて)、加速度センサおよび/または磁気センサを有していてもよい。
入力装置2は、ユーザの操作を検出し、ユーザの操作を表す操作データを情報処理装置3へ送信する。本実施形態においては、操作データは、カメラ11による撮像画像から得られる撮像情報、ジャイロセンサ12による角速度情報、および、ボタン13に関する押下情報を含む。上記撮像情報は、撮像画像に関する情報であり、本実施形態においては、撮像画像の平面上におけるマーカ装置5の位置を示す情報である。また、撮像画像中にマーカ装置5が含まれていない場合には、撮像情報は、マーカ装置5が含まれない旨を示す。本実施形態においては、入力装置2が備える処理部によって撮像画像から撮像情報が生成される。なお、他の実施形態においては、撮像画像のデータ自体が上記撮像情報として操作データに含まれてもよい。上記角速度情報は、ジャイロセンサ12が検出する角速度を示す。上記押下情報は、ボタン13が押下されたか否かを示す。
情報処理システム1は情報処理装置3を含む。情報処理装置3は、情報処理システム1において実行される情報処理(後述する表示制御処理)を実行する。情報処理装置3は、パーソナルコンピュータ、ゲーム装置、携帯端末、スマートフォン等、どのような形態の情報処理装置であってもよい。情報処理装置3は、入力装置2およびテレビ4と通信可能である。なお、情報処理装置3と入力装置2またはテレビ4との通信は、有線であってもよいし無線であってもよい。
図1に示すように、情報処理装置3は、CPU14、メモリ15、および、プログラム記憶部16を備える。CPU14は、所定の情報処理プログラムをメモリ15を用いて実行することによって、上記情報処理を実行する。詳細は後述するが、本実施形態における上記情報処理は、上記操作データに基づいて画像を生成し、生成された画像をテレビ4に表示させる表示制御処理である。なお、情報処理装置3は、情報処理を実行することが可能な任意の構成でよく、例えば情報処理の一部または全部が専用回路によって実行されてもよい。本実施形態においては、上記情報処理によって情報処理装置3が画像を生成し、生成された画像が情報処理装置3からテレビ4へ出力される。
プログラム記憶部16は、上記情報処理プログラムを記憶する。プログラム記憶部16は、CPU14がアクセス可能な任意の記憶装置(記憶媒体)である。プログラム記憶部16は、例えばハードディスク等の、情報処理装置3に内蔵される記憶部であってもよいし、例えば光ディスク等の、情報処理装置3に着脱可能な記憶媒体であってもよい。
テレビ4は、画像を表示する表示装置の一例である。情報処理装置3からテレビ4へ画像が送信されてくる場合、テレビ4は当該画像を表示する。
マーカ装置5は、カメラ11の撮像対象として機能する。マーカ装置5は、例えばテレビ4の周囲に載置される(図2参照)。本実施形態においては、マーカ装置5は、赤外光を発する1以上の発光素子(例えばLED)を有している。本実施形態においては、マーカ装置5は情報処理装置3に接続され、発光素子の発光は情報処理装置3によって制御される。
上記情報処理システム1においては、入力装置2に対する入力に応じて情報処理装置3が情報処理を実行し、実行の結果得られた画像がテレビ4に表示される。このように、本実施形態においては、情報処理システム1は、入力機能、情報処理機能、および表示機能が複数の装置によって実現される構成である。なお、他の実施形態においては、これらの機能のうち複数の機能が単一の情報処理装置によって実現されてもよい。例えば、情報処理システム1は、入力装置2および情報処理装置3に代えて、入力機能および情報処理機能を有する単一の情報処理装置(例えば、携帯型の情報処理端末等)を含んでいてもよい。
また、他の実施形態においては、情報処理装置3の機能が複数の装置によって実現されてもよい。例えば、他の実施形態においては、情報処理装置3において実行される情報処理の少なくとも一部が、ネットワーク(広域ネットワークおよび/またはローカルネットワーク)によって通信可能な複数の装置によって分散して実行されてもよい。
[2.情報処理システム1における表示制御処理]
次に、情報処理システム1において実行される表示制御処理について説明する。なお、以下では、情報処理装置3においてウェブページ等を閲覧するためのブラウザアプリケーションが実行され、ユーザが入力装置2を用いて、ポインタを移動させたり、表示されるウェブページをスクロールさせたりする操作を行う場合を例として、表示制御処理について説明する。
(2−1:入力装置を用いた操作の概要)
図2は、入力装置2を用いる場合におけるテレビ4およびマーカ装置5の配置の一例を示す図である。図2に示すように、本実施形態においては、ユーザは、テレビ4の周囲(図2ではテレビ4の上)にマーカ装置5を配置し、基本的にはカメラ11の撮像方向をテレビ4(マーカ装置5)の方に向けた状態で入力装置2を使用する。ユーザは、上記の状態で入力装置2の姿勢を変化させることによって各種の操作を行う。ただし、入力装置2は常にテレビ4の方を向いた状態で使用される必要はなく、テレビ4から外れた方を向いた状態でも使用されることが可能である(後述する“(2−4:制御座標の算出)”参照)。
(2−2:カメラ座標、ジャイロ座標、および制御座標の算出)
次に、入力装置2の操作データから算出され、表示制御処理の入力として用いられる座標値(カメラ座標、ジャイロ座標、および制御座標)について説明する。本実施形態においては、情報処理システム1は、入力装置2の姿勢に応じた座標値を操作データから算出し、算出された座標値を入力として、テレビ4に表示される画像を制御する表示制御処理を実行する。なお、この座標値は、テレビ4の画面に対応する平面上の位置を示す(図3参照)。つまり、情報処理システム1は、上記平面上において入力装置2の姿勢に応じた位置を算出する。
ここで、情報処理システム1は、入力装置2の姿勢に応じた座標値を、カメラ11からの出力情報(上記撮像情報)に基づいて算出するとともに、ジャイロセンサ12からの出力情報(上記角速度情報)に基づいて算出する。以下では、カメラ11から得られる上記撮像情報に基づいて算出される座標を「カメラ座標」と呼び、ジャイロセンサ12から得られる上記角速度情報に基づいて算出される座標を「ジャイロ座標」と呼ぶ。
カメラ座標は、上記撮像情報に基づいて算出される。上述のように、撮像情報は、撮像画像の平面上におけるマーカ装置5の位置を示す情報である。撮像情報が示す位置は、入力装置2の姿勢を変化させることに応じて変化するので、撮像情報に基づいて、入力装置2の姿勢に応じたカメラ座標を算出することが可能である。撮像情報からカメラ座標を算出する方法は任意であるが、例えば、特開2007−61489号公報に開示される方法によってカメラ座標を算出することができる。また、テレビ4とマーカ装置5との位置関係を予め取得しておくことで、カメラ座標として、入力装置2の指示位置の座標を撮像情報から算出することが可能である。なお、「入力装置2の指示位置」とは、入力装置2が指し示す(画面上の)位置であり、入力装置2の所定軸を延ばした直線とテレビ4の画面との交点の位置を言うものとする。
ジャイロ座標は、上記角速度情報に基づいて算出される。角速度情報は入力装置2の角速度を示すので、角速度情報に基づいて、入力装置2の姿勢に応じたジャイロ座標を算出することが可能である。角速度情報からジャイロ座標を算出する方法は任意であるが、例えば、基準となる姿勢からの入力装置2の回転角度を角速度から算出し、回転角度に所定の定数を乗算することでジャイロ座標を算出することが可能である。また、入力装置2のある姿勢と、その時の入力装置2の指示位置との関係を予め取得しておくことで、ジャイロ座標として、入力装置2の指示位置の座標を角速度情報から算出することが可能である。
図3は、平面上におけるカメラ座標とジャイロ座標の一例を示す図である。図3に示すように、本実施形態においては、上記平面上の位置を表す座標系として、画面の中央に対応する位置を原点とするxy座標系が設定されるものとする。図3は、入力装置2がある姿勢となる場合におけるカメラ座標Pcとジャイロ座標Pgとを示している。カメラ座標Pcとジャイロ座標Pgは、互いに異なるセンサを用いて異なる方法で算出される。そのため、図3に示すように、入力装置2の姿勢が同じであっても、カメラ座標Pcとジャイロ座標Pgとが異なる値となり得る。なお、一般的には、カメラ座標Pcの方が上記指示位置を精度良く示す。ただし、ジャイロ座標もカメラ座標も上記指示位置を正確に示す必要はなく、入力装置2の姿勢に応じて変化する任意の値でよい。
図3に示す点線領域20は、平面上においてテレビ4の画面に対応する領域である。図3においては、カメラ座標Pcおよびジャイロ座標Pgはそれぞれ領域20内の位置を示しているが、領域20の外(つまり、画面の外)の位置を示すこともあり得る。すなわち、ジャイロセンサ12は入力装置2とテレビ4との位置関係にかかわらず入力装置2の姿勢を算出することが可能であるので、情報処理システム1は、画面外の位置を示すジャイロ座標を算出可能である。また、カメラ座標については、基本的には、カメラ座標が領域20内となる場合(つまり、カメラ11がテレビ4の方を向いている場合)に算出可能であるが、カメラ11の撮像範囲にマーカ5が含まれている範囲であれば、領域20外の位置を示すカメラ座標が算出され得る。
以上のように、本実施形態においては、入力装置2の姿勢に応じた座標として、上記カメラ座標およびジャイロ座標という2種類の座標が算出される。また、情報処理システム1は、上述の表示制御処理に用いる座標として、これらの座標を1つにまとめた制御座標を算出する。つまり、情報処理システム1は、上記カメラ座標およびジャイロ座標に基づいて制御座標を算出する。制御座標の算出方法については後述する(後述する“(2−4:制御座標の算出)”参照)。
(2−3:表示制御操作の内容)
次に、入力装置2を用いて行われる表示制御操作について説明する。図4は、入力装置2を用いて行われる表示制御操作の一例を示す図である。図4に示すように、本実施形態においては、ユーザは、入力装置2を用いた表示制御操作として、ポインタ21を移動させる操作(ポインタ操作)と、画像をスクロールさせる操作(スクロール操作)とを行うことができる。
本実施形態においては、入力装置2の所定のボタンが押下されていない場合には、ユーザはポインタ操作を行うことが可能である。すなわち、情報処理システム1は、入力装置2の所定のボタンが押下されていない場合、テレビ4の画面に表示されるポインタ21の位置を上記制御座標に基づいて決定する。具体的には、情報処理システム1は、上記制御座標が示す画面上の位置にポインタ21を表示させる。したがって、入力装置2の姿勢の変化に応じてポインタ21が移動する。なお、情報処理システム1は、画面に表示されるウェブページに含まれる選択可能なオブジェクトがポインタ21を用いて選択された場合、選択されたオブジェクトに応じた処理を実行してもよい。
また、入力装置2の上記所定のボタンが押下されている場合には、ユーザはスクロール操作を行うことが可能である。すなわち、情報処理システム1は、入力装置2の所定のボタンが押下されている場合、ウェブページのうちで、テレビ4の画面に表示される表示領域の位置を上記制御座標に基づいて決定する。
図5は、入力装置2を用いたスクロール操作によって画像がスクロールされる様子の一例を示す図である。なお、本実施形態においては、スクロール操作中においてもポインタが表示されるものとし、図5においては、制御座標の位置にポインタが表示されているものとする。本実施形態におけるスクロール操作中においては、情報処理システム1は、スクロール操作の開始時における制御座標の位置を基準位置とし、基準位置からの制御座標の移動方向および移動量に応じてウェブページを移動させる。したがって、画面に表示されるウェブページは入力装置2の姿勢の変化に応じてスクロールする。より具体的には、図5に示すように、ウェブページは、制御座標の移動方向と同じ方向に、移動量と同じ量だけ移動する。したがって、本実施形態においては、ユーザは、マウスを用いてドラッグ操作を行う場合と同様の操作感で入力装置2を用いてウェブページをスクロールさせることができる。
なお、制御座標に基づいて画像をスクロールさせる具体的な方法は任意である。例えば他の実施形態においては、情報処理システム1は、基準位置からの制御座標の移動方向と同じ方向に、移動量に応じた速度でウェブページをスクロールさせてもよい。
本実施形態においては、上記スクロール操作は、入力装置2がテレビ4(マーカ装置5)の方を向いた状態に限らず、テレビ4(マーカ装置5)の方を向いていない状態であっても可能である。ここで、入力装置2がテレビ4の方を向いておらず、カメラ11がマーカ装置5を撮像していない状態では、カメラ座標が算出されない。しかし、本実施形態においては、このような状態においてもジャイロ座標を算出することが可能であるので、ジャイロ座標を用いることで、入力装置2の姿勢に応じた制御座標を算出することができる(後述する“(2−4:制御座標の算出)”参照)。そのため、上記の状態においては、情報処理システム1は、ジャイロ座標に基づく制御座標を用いることによってスクロール処理を実行することができる。
以上のように、本実施形態においては、カメラ座標のみを用いてスクロール操作を行う場合に比べて、入力装置2の姿勢を大きく変化させてスクロール操作を行うことができる。例えば、ユーザは、入力装置2をテレビ4の画面に向けた状態で上記所定のボタンを押下してスクロール操作を開始し、所定のボタンを押下したまま入力装置2を画面外の方向へ向けることで、ウェブページの画像を大きくスクロールさせることができる。
(2−4:制御座標の算出)
次に、カメラ座標およびジャイロ座標を用いた制御座標の算出方法の詳細について説明する。図6および図7は、制御座標の算出方法の一例を示す図である。以下では、図6および図7を参照して、カメラ座標が算出可能な状態(「可能状態」と呼ぶ)でスクロール操作が開始され、その後、カメラ座標が算出不可能な状態(「不可能状態」と呼ぶ)に切り替わり、さらにその後、再び可能状態に戻る場合を例として説明する。
なお、可能状態とは、カメラ座標が算出可能(換言すれば、撮像画像に基づく情報処理の実行が可能)な程度に、カメラ11によってマーカ装置5が撮像される状態である。不可能状態とは、何らかの原因でマーカ装置5が十分に撮像されておらず、カメラ座標が算出されない状態である。不可能状態となる場合の例としては、図6および図7に示すようにカメラ11の視野範囲にマーカ装置5が入っていない場合の他、カメラ11とマーカ装置5との間に障害物がある場合や、マーカ装置5が一部のみ撮像されておりカメラ座標が算出できない場合(マーカ装置5が一部のみ撮像されていてもカメラ座標が算出できる場合は「可能状態」である。)等が考えられる。
スクロール操作が開始された時点において、可能状態である場合(図6に示す状態(a))、情報処理システム1は、カメラ座標Pcをそのまま制御座標Pとする。このとき、ジャイロ座標Pgは制御座標Pの算出に用いられない。入力装置2の指示位置を示す座標としては、カメラ座標Pcの方がジャイロ座標Pgよりも精度が良いと考えられるからである。なお、本実施形態においては、情報処理システム1は、入力装置2から繰り返し送信されてくる操作データを用いてカメラ座標Pcおよびジャイロ座標Pgを繰り返し算出し、カメラ座標Pcおよび/またはジャイロ座標Pgを用いて制御座標を繰り返し算出する。
上記状態(a)の後、入力装置2の姿勢が変化して不可能状態へと切り替わる場合(図6に示す状態(b))、情報処理システム1は、ジャイロ補正値Ogを設定する。ジャイロ補正値Ogは、不可能状態においてジャイロ座標Pgに基づいて制御座標を算出する際に、ジャイロ座標Pgを補正するために用いられる補正値である。本実施形態においては、ジャイロ補正値Ogは、下記の式(1)に従って算出される。
Og=Pc1−Pg1 …(1)
上式(1)において、変数Pc1は、可能状態から不可能状態へと切り替わる直前に算出されたカメラ座標であり、変数Pg1は、可能状態から不可能状態へと切り替わる直前に算出されたジャイロ座標である。このように、ジャイロ補正値Ogは、状態が切り替わる直前のカメラ座標からジャイロ座標を引いた差分値として算出される。
可能状態から不可能状態へと切り替わった後(図6に示す状態(c))においては、情報処理システム1は、上記ジャイロ補正値Ogを用いてジャイロ座標Pgを補正することによって制御座標Pを算出する。すなわち、制御座標Pは、下記の式(2)に従って算出される。
P=Pg+Og …(2)
上式(2)のように、状態(c)においては、制御座標Pは、ジャイロ座標Pgとジャイロ補正値Ogとを加算することによって得られる。
以上のように、本実施形態においては、可能状態から不可能状態へと切り替わった場合、切り替わり前のカメラ座標Pc1を用いてジャイロ補正値Ogが算出され(式(1))、切り替わり後においては、ジャイロ補正値Ogとジャイロ座標Pgとに基づいて制御座標Pが算出される(式(2))。つまり、上記の場合、切り替わり前のカメラ座標Pc1と、切り替わり後のジャイロ座標Pgとに基づく制御座標Pが算出され、この制御座標Pを用いてスクロール処理が実行される。
ここで、仮に、可能状態から不可能状態へと切り替わった後において、ジャイロ座標Pgをそのまま制御座標Pとすると仮定すれば、切り替わり時に制御座標Pが急激に(不連続に)変化してしまうおそれがある。上述のように、入力装置2の姿勢が同じであっても、カメラ座標とジャイロ座標とは通常は異なる値となるからである。制御座標Pが急激に変化すると、スクロールが急激に行われて画面が不連続に変化するので、スクロール操作の操作性が悪化する。
これに対して、本実施形態においては、可能状態から不可能状態へと切り替わった後の制御座標に対して、切り替わり前のカメラ座標(上記Pc1)を反映させる。これによって、切り替わり前後において制御座標が急激に変化することを軽減し、スクロール操作の操作性を向上することができる。
なお、他の実施形態においては、情報処理システム1は、可能状態から不可能状態へと切り替わった後においてジャイロ座標Pgをそのまま制御座標Pとしてもよい。この場合においても本実施形態と同様、カメラ座標が算出されない状態であってもスクロール処理が実行されるので、上述したように、ユーザは入力装置2の姿勢を大きく変化させてスクロール操作を行うことができる。
また、本実施形態においては、情報処理システム1は、可能状態から不可能状態へと切り替わる直前のカメラ座標とジャイロ座標とが等しくなるように、ジャイロ座標を補正する補正処理を特定する(式(1)に基づいてジャイロ補正値Ogを設定する)。そして、不可能状態への切り替わり後におけるジャイロ座標に対して当該補正処理を行うことによって得られる制御座標を用いて、スクロール処理を実行する。これによれば、可能状態から不可能状態への切り替わり時に制御座標をシームレスに変化させることができ、スクロールが滑らかに行われるようにすることができる。
なお、他の実施形態においては、可能状態から不可能状態へと切り替わった後、切り替わる直前のカメラ座標Pc1から時間経過に伴って次第にジャイロ座標Pgへと変化するように制御座標Pが算出されてもよい。これによっても、切り替わり前後において制御座標が急激に変化することを軽減することができる。
また、本実施形態においては、情報処理システム1は、上記補正処理として、切り替わり直前のカメラ座標からジャイロ座標を引いた差分値(ジャイロ補正値)を算出し、切り替わり後のジャイロ座標と当該差分値とを加算する処理を行う(式(2))。ここで、他の実施形態においては、上記補正処理は、切り替わり直前のカメラ座標をジャイロ座標で除算した除算値を算出し、切り替わり後のジャイロ座標に対して当該除算値を乗算する処理であってもよい。これによっても本実施形態と同様、可能状態から不可能状態への切り替わり時に制御座標をシームレスに変化させることができ、スクロールが滑らかに行われるようにすることができる。
なお、ジャイロセンサ12に基づくジャイロ座標には、誤差が蓄積されるおそれがあり、可能状態から不可能状態へと切り替わる際のジャイロ座標の値は、切り替わりの度に異なる可能性がある。そのため、上記除算値を用いて補正を行う方法では、除算値の大きさが毎回異なり、その結果、不可能状態において入力装置2の姿勢の変化量(すなわち、ジャイロ座標の変化量)に対する制御座標の変化量の割合が毎回異なってしまう。この割合が毎回異なると、入力装置2を一定角度だけ回転させたときのスクロール量が毎回異なる結果となるため、スクロール操作の操作性を悪化させるおそれがある。これに対して、本実施形態のように差分値を用いて補正を行う方法では、上記の割合が変化しないので、割合が変化することに起因する操作性の悪化を軽減することができる。
また、本実施形態においては、上記差分値の算出に用いられるカメラ座標を算出するための撮像情報と、当該差分値の算出に用いられるジャイロ座標を算出するための上記角速度情報とは、情報処理装置3に同じタイミングで取得される。つまり、これらの撮像情報および角速度情報は、同じ操作データに含まれて入力装置2から情報処理装置3へ送信される。同じタイミングで取得された情報に基づくカメラ座標とジャイロ座標とを用いて差分値を算出することによって、カメラ座標とジャイロ座標との差をより正確に算出することができ、補正をより正確に行うことができる。これによって、スクロールをより滑らかにすることができる。
次に、図7を参照して、不可能状態から再び可能状態へと切り替わる場合の制御座標の算出について説明する。上記状態(c)の後、入力装置2の姿勢が変化して可能状態へと切り替わる場合(図7に示す状態(d))、情報処理システム1は、カメラ補正値Ocを設定する。カメラ補正値Ocは、不可能状態から切り替わった後の可能状態においてカメラ座標Pcに基づいて制御座標を算出する際に、カメラ座標Pcを補正するために用いられる補正値である。本実施形態においては、カメラ補正値Ocは、下記の式(3)に従って算出される。
Oc=Pg2+Og−Pc2 …(3)
上式(3)において、変数Pg2は、不可能状態から可能状態へと切り替わった直後に算出されたジャイロ座標であり、変数Pc2は、不可能状態から可能状態へと切り替わった直後に算出されたカメラ座標である。このように、カメラ補正値Ocは、切り替わり直後のジャイロ座標Pg2に対して上述のジャイロ補正値Ogによる補正を行った値(Pg2+Og)から、切り替わり直後のカメラ座標Pc2を引いた差分値として算出される。換言すれば、カメラ補正値Ocは、状態が切り替わる前と同様に算出された制御座標P(=Pg2+Og)から、切り替わり直後のカメラ座標Pc2を引いた差分値として算出される。
不可能状態から可能状態へと切り替わった後(図7に示す状態(e))においては、情報処理システム1は、上記カメラ補正値Ocを用いてカメラ座標Pcを補正することによって制御座標Pを算出する。すなわち、制御座標Pは、下記の式(4)に従って算出される。
P=Pc+Oc …(4)
上式(4)のように、状態(e)においては、制御座標Pは、カメラ座標Pcとカメラ補正値Ocとを加算することによって得られる。
以上のように、本実施形態においては、情報処理システム1は、不可能状態から可能状態へと切り替わる場合において、可能状態から不可能状態へと切り替わる際に設定された補正値(ジャイロ補正値)を用いるのではなく、新たに補正値(カメラ補正値)を設定する。すなわち、上記の場合、制御位置は、可能状態へと切り替わった直後におけるジャイロ座標(Pg2)に対して、ジャイロ補正値Ogを用いた補正処理を行った値を用いて、カメラ座標を補正することによって得られる(式(4))。
ここで、可能状態から不可能状態へと切り替わる時と、不可能状態から可能状態へと切り替わる時とでは、入力装置2の姿勢は必ずしも一致しない。また、不可能状態において入力装置2の姿勢が変化している間に、ジャイロセンサ12の検出結果から得られるジャイロ座標に誤差が生じる場合もあり得る。これらの理由から、可能状態から不可能状態へと切り替わる時と、不可能状態から可能状態へと切り替わる時とでは、カメラ座標とジャイロ座標との差分が異なる場合がある。本実施形態においては、補正値を新たに設定するので、このような場合であっても、不可能状態から可能状態への切り替わり時において制御座標が急激に変化することを軽減することができる。
なお、他の実施形態においては、不可能状態から可能状態へと切り替わる場合においては補正値(カメラ補正値)が設定されなくてもよい。このとき、可能状態へと切り替わった後においては、上記状態(a)と同様に、カメラ座標がそのまま制御座標として用いられてもよい。なお、不可能状態の間に蓄積されるジャイロ座標の誤差が大きくない場合には、カメラ補正値が設定されなくても、スクロール操作の操作性が大きく悪化することはない。
また、他の実施形態においては、不可能状態から可能状態へと切り替わる場合においても、可能状態から不可能状態へと切り替わる場合と同様、上記除算値を用いた方法で補正が行われてもよい。
なお、上記状態(e)からさらに不可能状態へと切り替わる場合には、ジャイロ補正値Ogが再度設定される。この場合、ジャイロ補正値Ogは、下記の式(5)に従って算出される。
Og=Pc3+Oc−Pg3 …(5)
上式(5)において、変数Pc3は、可能状態から不可能状態へと切り替わる直前に算出されたカメラ座標であり、変数Pg3は、可能状態から不可能状態へと切り替わる直前に算出されたカメラ座標である。このように、ジャイロ補正値Ogは、状態が切り替わる前と同様に算出された制御座標P(状態(a)の場合はP=Pc1、状態(e)の場合はP=Pc3+Oc)から、切り替わり直前のジャイロ座標(Pg1またはPg3)を引いた差分値として算出される。このように、本実施形態においては、状態(e)の以降、可能状態と不可能状態とが切り替わることに応じて、補正値(ジャイロ補正値またはカメラ補正値)が新たに設定され、新たに設定された補正値を用いて制御座標が算出される。
本実施形態においては、情報処理システム1は、スクロール操作が終了したことに応じて、上記補正値(ジャイロ補正値およびカメラ補正値)をリセットする。つまり、スクロール処理の開始時においては、補正処理による補正量は0に設定される。ここで、上記補正処理が実行されると、制御座標とカメラ座標との間にずれが生じ、スクロール処理が長時間実行されて補正が繰り返し行われると、ずれが蓄積してずれ量が大きくなる可能性もある。カメラ座標は上記指示位置(あるいはその周囲の位置)を示すので、処理に用いられる制御座標とカメラ座標との間のずれが大きくなると、ユーザが操作に違和感を抱くおそれがある。これに対して、本実施形態では、スクロール処理の開始時においては補正値(すなわち、制御座標とカメラ座標とのずれ)がリセットされるので、制御座標とカメラ座標とのずれによってユーザに違和感を与える可能性を低減することができる。なお、本実施形態においては、スクロール処理が終了したタイミングで補正値をリセットするが、リセットするタイミングは、次にスクロール処理が開始されるまでの任意のタイミングでよい。
以上のように、本実施形態によれば、上記撮像情報を用いてカメラ座標が算出され、かつ、上記角速度情報を用いてジャイロ座標が算出される。そして、情報処理システム1は、カメラ座標が算出可能である場合、少なくともカメラ座標に基づく制御座標を用いて所定の情報処理(スクロール処理)を実行し、カメラ座標が算出不可能である場合、少なくともジャイロ座標に基づく制御座標を用いて当該所定の情報処理を実行する。したがって、本実施形態によれば、カメラ座標が算出されない状態であっても情報処理が実行されるので、入力装置2を動かすことができる範囲を大きくすることができ、ユーザは、入力装置2をより自由に動かして入力操作を行うことができる。
また、本実施形態では、情報処理システム1は、テレビ4に表示される画像を入力装置2の姿勢に応じて移動させる処理(スクロール処理)を、カメラ11による上記撮像情報を用いて実行する。そして、可能状態から不可能状態へと切り替わった場合、情報処理システム1は、ジャイロセンサ12の検出結果(ジャイロ座標)を用いることによって画像の移動を継続させる。したがって、本実施形態によれば、撮像情報を用いた画像の移動処理を実行できなくなっても、移動処理を継続して実行することができる。これによって、ユーザは、入力装置2をより自由に動かして画像の移動操作を行うことができる。
また、本実施形態では、スクロール処理の開始後において可能状態から不可能状態へと切り替わったことに応じて、ジャイロ座標に基づく制御座標を用いたスクロール処理が開始される。したがって、可能状態においてはカメラ座標を用いて制御座標を精度良く算出することができるとともに、不可能状態に切り替わった後でもジャイロ座標を用いて制御座標を算出することによって継続してスクロール処理を実行することができる。
(2−5:ポインタの表示)
次に、ポインタの表示方法について説明する。まず、ポインタ操作中においては、情報処理システム1は、上記制御座標が示す位置にポインタを表示させる。なお、ポインタ操作中においては、ユーザは入力装置2をテレビ4(マーカ装置5)の方に向けて使用すると考えられるので、ほとんどの場合は上述の可能状態であり、その結果、カメラ座標が示す位置にポインタが表示される。ただし、入力装置2がテレビ4(マーカ装置5)の方に向いた状態であっても何らかの理由でカメラ座標が算出されない場合には、ジャイロ座標に基づく制御座標が算出されて制御座標の位置にポインタが表示される。
次に、スクロール操作中におけるポインタの表示方法について説明する。まず、スクロール操作の開始時における可能状態(上記状態(a))においては、情報処理システム1は、制御座標が示す位置にポインタを表示させる。この状態においては制御座標とカメラ座標とが一致するので、この時点でスクロール操作が終了してポインタ操作が開始された場合には、ポインタは引き続き同じ位置に表示される。なお、不可能状態においては、制御座標はテレビ4の画面外の位置を示すので、画面上にポインタは表示されない。
また、不可能状態から切り替わった後の可能状態(上記状態(e))においては、情報処理システム1は、カメラ座標に応じた位置にポインタを表示させる。図8は、不可能状態から切り替わった後の可能状態において画面にポインタが表示される一例を示す図である。上記状態においては、カメラ補正値によってカメラ座標が補正されるため、制御座標とカメラ座標とは異なっている。ここで、図8に示されるように、ポインタはカメラ座標の位置に表示される。したがって、この時点でスクロール操作が終了してポインタ操作が開始された場合には、ポインタは引き続き同じ位置に表示されることとなる。これによれば、スクロール操作からポインタ操作への移行時にポインタの表示位置が急に変化することがないので、ユーザに違和感を与えることなく、スクロール操作からポインタ操作への移行をスムーズに行うことができる。
なお、他の実施形態においては、情報処理システム1は、不可能状態から切り替わった後の可能状態(上記状態(e))において、制御座標が示す位置にポインタを表示させてもよい。これによれば、この時点でスクロール操作が終了してポインタ操作が開始されることに応じて、制御座標の位置からカメラ座標の位置へとポインタが急に移動することとなる。しかし、ポインタ操作中においてはカメラ座標の位置にポインタが表示されるので、ポインタ操作の操作性を損なうことはなく、本実施形態と同様に操作性の良いポインタ操作を提供することができる。
以上のように、本実施形態においては、スクロール処理が実行されない場合、テレビ4に表示される選択可能なオブジェクトを指定するためのポインタを、制御座標に応じた位置に表示させるポインタ処理が実行される。これによって、入力装置2を用いて、画像をスクロールする操作だけでなく、ポインタ操作をも行うことができる。また、スクロール操作およびポインタ操作はともに制御座標を用いて行われるので、ユーザは、これら2つの操作を同じ操作感覚で容易に行うことができる。なお、他の実施形態においては、情報処理システム1は、スクロール処理のみを実行し、ポインタ処理を実行しなくてもよい。
[3.表示制御処理の具体例]
以下、本実施形態において情報処理システム1(情報処理装置3)で実行される表示制御処理の具体的な一例について説明する。図9は、本実施形態において情報処理装置3(CPU14)が実行する表示制御処理の流れの一例を示すフローチャートである。本実施形態においては、図9に示す一連の処理は、CPU14が、プログラム記憶部16に記憶される情報処理プログラムを実行することによって行われる。
図9に示す表示制御処理が開始されるタイミングは任意である。本実施形態においては、上記情報処理プログラムが、ウェブページを閲覧するためのブラウザプログラムの一部として構成されるものとする。このとき、図9に示す表示制御処理は、上記ブラウザプログラムを開始する指示をユーザが行ったことに応じて開始される。また、情報処理プログラム(ブラウザプログラム)は、適宜のタイミングでその一部または全部がメモリ15に読み出され、CPU14によって実行される。これによって、図9に示す一連の処理が開始される。なお、上記情報処理プログラムは、情報処理装置3内のプログラム記憶部16に予め記憶されているものとする。ただし、他の実施形態においては、情報処理プログラムは、情報処理装置3に着脱可能な記憶媒体から取得されてメモリ15に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてメモリ15に記憶されてもよい。
なお、図9に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をCPUが実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、CPU以外のプロセッサや専用回路が実行するようにしてもよい。
表示制御処理においては、まずステップS1において、CPU14は、撮像情報および角速度情報を取得する。すなわち、撮像情報および角速度情報を含む操作データを入力装置2から受信し、受信した操作データをメモリ15に記憶する。なお、操作データには、上記押下情報が含まれる。
ステップS2において、CPU14は、撮像情報に基づいてカメラ座標を算出する。本実施形態においては、カメラ座標は、上記“(2−2:カメラ座標およびジャイロ座標の算出)”で述べた方法に従って算出される。CPU14は、算出されたカメラ座標を示すデータをメモリ15に記憶する。
ステップS3において、CPU14は、角速度情報に基づいてジャイロ座標を算出する。本実施形態においては、ジャイロ座標は、上記“(2−2:カメラ座標およびジャイロ座標の算出)”で述べた方法に従って算出される。CPU14は、算出されたジャイロ座標を示すデータをメモリ15に記憶する。
ステップS4において、CPU14は、スクロール操作中であるか否かを判定する。すなわち、CPU14は、ステップS1で取得されてメモリ15に記憶されている操作データに含まれる上記押下情報を参照し、上記所定のボタンが押下されているか否かを判定する。ステップS4における判定結果が肯定である場合、ステップS5の処理が実行される。一方、ステップS5における判定結果が否定である場合、ステップS5の処理がスキップされてステップS6の処理が実行される。
ステップS5において、CPU14は、スクロール処理を実行する。スクロール処理は、テレビ4に表示される画像(ウェブページの画像)を制御位置に基づいてスクロールさせる処理である。以下、図10を参照して、スクロール処理の詳細について説明する。
図10は、図9に示すスクロール処理(ステップS5)の詳細な流れの一例を示すフローチャートである。スクロール処理においてはまずステップS21において、CPU14は、カメラ座標が算出可能であるか否か、すなわち、可能状態であるか否かを判定する。このステップS21の判定は、ステップS1で取得されてメモリ15に記憶されている操作データに含まれる撮像情報を参照することで行うことができる。ステップS21における判定結果が肯定である場合、ステップS22の処理が実行される。一方、ステップS21における判定結果が否定である場合、後述するステップS26の処理が実行される。
ステップS22において、CPU14は、可能状態となった直後か否かを判定する。ステップS22の判定は、前回の処理ループ(ステップS1〜S11の処理ループ)において取得された撮像情報と、今回の処理ループにおいて取得された撮像情報とを用いて行うことができる。ステップS22における判定結果が肯定である場合、ステップS23の処理が実行される。一方、ステップS22における判定結果が否定である場合、ステップS23の処理がスキップされてステップS24の処理が実行される。
ステップS23において、CPU14は、カメラ補正値を算出する。本実施形態においては、カメラ補正値は、上記“(2−4:制御座標の算出)”で述べた式(3)に従って算出される。CPU14は、今回の処理ループにおいて算出されたカメラ座標およびジャイロ座標のデータと、ジャイロ補正値のデータとをメモリ15から読み出し、カメラ補正値を算出する。CPU14は、算出されたカメラ補正値のデータをメモリ15に記憶する。
ステップS24において、CPU14は、カメラ座標を用いて制御座標を算出する。ステップS24の処理においては、カメラ補正値が設定されていない場合、カメラ座標がそのまま制御座標とされる。また、カメラ補正値が設定されている場合、上記“(2−4:制御座標の算出)”で述べた式(4)に従って制御座標が算出される。CPU14は、カメラ座標(および、必要に応じてカメラ補正値)のデータをメモリ15から読み出し、読み出したデータを用いて制御座標を算出する。CPU14は、算出された制御座標のデータをメモリ15に記憶する。
ステップS25において、CPU14は、テレビ4に表示される画像を制御座標に基づいてスクロールさせる。画像のスクロールは、上記“(2−3:表示制御操作の内容)”で述べた方法に従って行われる。CPU14は、制御座標のデータをメモリ15から読み出し、ウェブページのうちで、テレビ4の画面に表示される表示領域の位置を制御座標に基づいて決定する。さらに、CPU14は、決定された表示領域の画像をテレビ4に表示させる。ステップS25の後、CPU14は、スクロール処理を終了する。
一方、ステップS26において、CPU14は、不可能状態となった直後か否かを判定する。ステップS26の判定はステップS22と同様、前回の処理ループにおいて取得された撮像情報と、今回の処理ループにおいて取得された撮像情報とを用いて行うことができる。ステップS26における判定結果が肯定である場合、ステップS27の処理が実行される。一方、ステップS26における判定結果が否定である場合、ステップS27の処理がスキップされてステップS28の処理が実行される。
ステップS27において、CPU14は、ジャイロ補正値を算出する。本実施形態においては、ジャイロ補正値は、上記“(2−4:制御座標の算出)”で述べた式(1)または式(5)に従って算出される。CPU14は、前回の処理ループにおいて算出されたカメラ座標およびジャイロ座標のデータと、必要に応じてカメラ補正値のデータとをメモリ15から読み出し、ジャイロ補正値を算出する。CPU14は、算出されたジャイロ補正値のデータをメモリ15に記憶する。
ステップS28において、CPU14は、ジャイロ座標を用いて制御座標を算出する。ここで、ジャイロ補正値が設定されている場合、上記“(2−4:制御座標の算出)”で述べた式(2)に従って制御座標が算出される。また、ジャイロ補正値が設定されていない場合(例えば、不可能状態でスクロール操作が開始された場合)、ジャイロ座標がそのまま制御座標とされる。CPU14は、ジャイロ座標(および、必要に応じてジャイロ補正値)のデータをメモリ15から読み出し、読み出したデータを用いて制御座標を算出する。CPU14は、算出された制御座標のデータをメモリ15に記憶する。
ステップS29において、CPU14は、テレビ4に表示される画像を制御座標に基づいてスクロールさせる。ステップS29の処理はステップS25と同じである。ステップS29の後、CPU14は、スクロール処理を終了する。
図9の説明に戻り、ステップS6において、CPU14は、スクロール操作が終了したか否かを判定する。すなわち、CPU14は、前回および今回の処理ループで取得された押下情報を含む操作データをメモリ15から読み出し、上記所定のボタンが押下された状態から押下されない状態へと変化したか否かを判定する。ステップS6における判定結果が肯定である場合、ステップS7の処理が実行される。一方、ステップS6における判定結果が否定である場合、ステップS7の処理がスキップされてステップS8の処理が実行される。
ステップS7において、CPU14は、補正値をリセットする。すなわち、CPU14は、メモリ15に記憶されているジャイロ補正値およびカメラ補正値のデータを削除する。
ステップS8において、CPU14は、補正値が設定されているか否かを判定する。すなわち、CPU14は、メモリ15に補正値(カメラ補正値)が記憶されているか否かを判定する。ここで、本実施形態においては、補正値が設定されている場合とは、スクロール操作中であって、かつ、可能状態と不可能状態との間の切り替えが発生した場合である。一方、補正値が設定されていない場合とは、ポインタ操作中の場合、あるいは、可能状態と不可能状態との間の切り替えが発生していない(状態(a))場合である。ステップS8の判定処理は、ポインタをカメラ座標に応じた位置に表示するか、それとも、制御座標に応じた位置に表示するかを判定するための処理である。ステップS8における判定結果が肯定である場合、ステップS9の処理が実行される。一方、ステップS8における判定結果が否定である場合、ステップS10の処理が実行される。
ステップS9において、CPU14は、カメラ座標の位置にポインタを表示させる。すなわち、CPU14は、ウェブページの画像に、カメラ座標の位置にポインタの画像を重ねた画像を生成してテレビ4に表示させる。
一方、ステップS10において、CPU14は、制御座標の位置にポインタを表示させる。すなわち、CPU14は、ウェブページの画像に、制御座標の位置にポインタの画像を重ねた画像を生成してテレビ4に表示させる。
なお、上記ステップS9およびS10の処理において、制御座標の平面上において、ポインタの位置が、テレビ4の画面に対応する領域(図3に示す点線領域20)の外となる場合、ポインタは表示されない。なお、他の実施形態においては、上記の場合、CPU14は、画面の端部であって、制御座標(あるいはカメラ座標)に応じた位置にポインタの画像を半透明で表示するようにしてもよい。例えば、画面の中心から制御座標へ延ばした直線と画面の周との交点付近の位置に、半透明のポインタの画像が表示されてもよい。
ステップS11において、CPU14は、表示制御処理を終了するか否かを判定する。この判定の具体的な方法は任意である。例えば、ブラウザの実行を終了する旨の指示がユーザによって行われた場合には、CPU14は、表示制御処理を終了すると判定し、ユーザによる当該指示がない場合には、表示制御処理を終了しないと判定する。ステップS11の判定結果が否定である場合、ステップS1の処理が再度実行される。以降、ステップS11において表示制御処理を終了すると判定されるまで、ステップS1〜S11の処理が繰り返し実行される。一方、ステップS11の判定結果が肯定である場合、CPU14は、図9に示す表示制御処理を終了する。
なお、上記表示制御処理においては、テレビ4に表示されるウェブページに含まれる選択可能なオブジェクトがポインタによって選択された場合、CPU14は、選択されたオブジェクトに応じた処理を実行してもよい。
[4.変形例]
(入力装置2の姿勢に応じて算出される値に関する変形例)
上記実施形態においては、情報処理システム1は、入力装置2の姿勢に応じた値として、所定の平面(図3に示すxy平面)上における位置を示す座標(カメラ座標、ジャイロ座標、および制御座標)を算出した。ここで、他の実施形態においては、情報処理システム1は、入力装置2の姿勢に応じた値として、所定の直線上における位置を示す値(つまり、スカラー値)を算出してもよい。例えば上下方向のみについて画像をスクロールさせる場合には、情報処理システム1は、入力装置2のピッチ方向に関する姿勢に応じたスカラー値を算出し、スカラー値を用いてスクロール処理を実行してもよい。
(制御座標を用いて行う情報処理に関する変形例)
上記実施形態においては、入力装置2の姿勢に応じた値(制御座標)を用いて行う情報処理の一例として、表示装置に表示される画像を移動(スクロール)させる処理を実行する場合を説明した。ここで、入力装置2の姿勢に応じた値を用いて行う情報処理の内容は任意である。例えば、他の実施形態においては、情報処理は、表示装置に表示される一部の画像(オブジェクト)を移動させる処理であってもよい。また例えば、情報処理は、制御座標によって構成される軌跡に基づいてジェスチャー入力を判別し、判別されたジェスチャーに応じた処理を実行する処理であってもよい。
(制御座標の算出に関する変形例)
上記実施形態においては、上記撮像情報から得られるカメラ座標と、上記角速度情報から得られるジャイロ座標とに基づいて制御座標が算出された。ここで、他の実施形態においては、制御座標は、撮像情報と姿勢センサの検出結果(上記実施形態では角速度情報)とを用いた任意の方法で算出されてもよい。例えば、上記実施形態の変形例においては、上記情報処理に用いる制御座標を以下のようにして算出してもよい。
上記実施形態の変形例においては、情報処理システム1は、可能状態においては上記実施形態と同様、カメラ座標がそのまま制御座標として算出される。また、可能状態から不可能状態へと切り替わった場合、情報処理システム1は、切り替わり直前における制御座標(カメラ座標)を、その後に取得される角速度情報を用いて移動させることで、(切り替わり後の)制御座標を算出してもよい。具体的には、可能状態から不可能状態へと切り替わった場合、制御座標は、前回の制御座標を、角速度情報が示す角速度の方向に応じた移動方向へ、当該角速度の大きさに応じた移動量だけ移動させることで算出されてもよい。
なお、上記変形例においては、可能状態においては常に(不可能状態から可能状態へと切り替わった後においても)、カメラ座標がそのまま制御座標として算出されてもよい。また、不可能状態から可能状態へと切り替わった後においては、上記実施形態と同様、切り替わり直後に取得される角速度情報と、切り替わり後に取得される撮像情報とを用いて情報処理(スクロール処理)が実行されてもよい。
上記変形例のように、情報処理システム1は、平面上における2種類の座標(カメラ座標およびジャイロ座標)を用いて情報処理を実行するものに限らず、撮像情報と姿勢センサの検出結果(上記実施形態では角速度情報)とを用いた任意の方法で情報処理を実行してもよい。上記変形例においても上記実施形態と同様、情報処理(スクロール処理)の開始時において可能状態である場合、撮像情報を用いて情報処理を実行し、可能状態から不可能状態へと切り替わった場合、用いる情報を撮像情報から角速度情報に切り替えて情報処理を実行する。そのため、撮像情報を用いることができない場合であっても情報処理が実行されるので、入力装置2を動かすことができる範囲を大きくすることができ、ユーザは、入力装置2をより自由に動かして入力操作を行うことができる。
(カメラとマーカ装置の配置に関する変形例)
上記実施形態においては、ユーザが把持する入力装置2にカメラ11が設けられ、テレビ4の周囲にマーカ装置5が配置された。ここで、他の実施形態においては、入力装置にマーカ装置が設けられ、テレビの周囲にカメラが配置される構成であってもよい。この構成においても上記実施形態と同様、情報処理装置は、カメラによる撮像画像に基づく撮像情報を用いて、カメラに対する入力装置の位置関係を算出することができ、撮像情報を用いて情報処理(例えば上記実施形態におけるスクロール処理)を実行することができる。また、この構成においても上記実施形態、カメラの撮像範囲からマーカ装置が外れた場合には、入力装置に設けられるジャイロセンサの検出結果を用いて上記情報処理を実行することで、情報処理を継続することができる。つまり、カメラの撮像範囲からマーカ装置が外れた後においては、ユーザは、入力装置を動かすことで情報処理の実行を継続させることができる。
上記実施形態は、入力部材を自由に動かして入力操作を行うこと等を目的として、例えば画像を表示装置に表示するための情報処理装置や、情報処理システムや、情報処理プログラム等に利用することができる。
1 情報処理システム
2 入力装置
3 情報処理装置
4 テレビ
5 マーカ装置
11 カメラ
12 ジャイロセンサ
13 ボタン
14 CPU
15 メモリ
16 プログラム記憶部
21 ポインタ

Claims (19)

  1. 撮像手段および姿勢センサを有する入力部材の姿勢に応じた所定の情報処理を実行する情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、
    前記撮像手段により撮像された所定の撮像対象を含む撮像画像に基づく撮像情報を用いて、所定の直線上または平面上の位置であって、前記入力部材の姿勢に応じた第1位置を算出する第1位置算出手段と、
    前記姿勢センサの検出結果を用いて、所定の直線上または平面上の位置であって、前記入力部材の姿勢に応じた第2位置を算出する第2位置算出手段と、
    前記第1位置が算出可能である場合、少なくとも前記第1位置に基づく制御位置を用いて前記所定の情報処理を実行し、前記第1位置が算出不可能である場合、少なくとも前記第2位置に基づく制御位置を用いて前記所定の情報処理を実行する処理実行手段として前記コンピュータを機能させる、情報処理プログラム。
  2. 前記処理実行手段は、前記所定の情報処理の開始後において、前記第1位置が算出可能である状態から算出不可能な状態へと切り替わったことに応じて、前記第2位置に基づく制御位置を用いた前記所定の情報処理を開始する、請求項1に記載の情報処理プログラム。
  3. 前記処理実行手段は、前記所定の情報処理として、表示装置に表示される対象画像を前記入力部材の姿勢に応じて移動させる処理を実行し、前記第1位置が算出可能である状態から算出不可能な状態へと切り替わった場合、前記第2位置に基づく制御位置を用いることによって前記対象画像の移動を継続させる、請求項1または請求項2に記載の情報処理プログラム。
  4. 前記処理実行手段は、前記第1位置が算出可能である状態から算出不可能な状態へと切り替わった場合、切り替わり前の第1位置と、切り替わり後の第2位置とに基づく制御位置を用いて前記所定の情報処理を実行する、請求項1から請求項3のいずれか1項に記載の情報処理プログラム。
  5. 前記処理実行手段は、前記第1位置が算出可能である状態から算出不可能な状態へと切り替わった場合、切り替わり直前の第1位置と第2位置の値が等しくなるように第2位置を補正する補正処理を特定し、切り替わり後の第2位置に対して当該補正処理を行うことによって得られる制御位置を用いて前記所定の情報処理を実行する、請求項4に記載の情報処理プログラム。
  6. 前記処理実行手段は、前記第1位置が算出可能である状態から算出不可能な状態へと切り替わった場合、切り替わり直前の第1位置から第2位置を引いた差分値を算出し、切り替わり後の第2位置と当該差分値とを加算することによって得られる制御位置を用いて前記所定の情報処理を実行する、請求項5に記載の情報処理プログラム。
  7. 前記差分値の算出に用いられる第1位置を算出するための撮像情報と、当該差分値の算出に用いられる第2位置を算出するための前記姿勢センサの検出結果とは、前記情報処理装置に同じタイミングで取得される、請求項6に記載の情報処理プログラム。
  8. 前記処理実行手段は、前記第1位置が算出可能である状態から算出不可能な状態へと切り替わった後で、前記第1位置が算出可能である状態へとさらに切り替わった場合、前記第1位置が算出可能である状態へと切り替わった直後における第2位置に対して前記補正処理を行った値を用いて前記第1位置を補正することによって得られる制御位置を用いて前記所定の情報処理を実行する、請求項5に記載の情報処理プログラム。
  9. 前記第1位置が算出可能である状態から算出不可能な状態へと切り替わった後で、前記第1位置が算出可能である状態へとさらに切り替わった場合、前記第1位置に応じた位置にポインタ画像を表示させる第1ポインタ処理手段として前記コンピュータをさらに機能させる、請求項8に記載の情報処理プログラム。
  10. 前記第1位置が算出可能である状態から算出不可能な状態へと切り替わった後で、前記第1位置が算出可能である状態へとさらに切り替わった場合、前記制御位置に応じた位置にポインタ画像を表示させる第2ポインタ処理手段として前記コンピュータをさらに機能させる、請求項8に記載の情報処理プログラム。
  11. 前記所定の情報処理は、表示装置に表示される画像を前記制御位置を用いてスクロールする処理である、請求項1から請求項10のいずれか1項に記載の情報処理プログラム。
  12. 前記所定の情報処理が実行されない場合、前記表示装置に表示される選択可能なオブジェクトを指定するためのポインタ画像を、前記制御位置に応じた位置に表示させる第3ポインタ処理手段として前記コンピュータをさらに機能させる、請求項11に記載の情報処理プログラム。
  13. 前記処理実行手段は、所定の条件が満たされる間、前記所定の情報処理を実行し、前記所定の情報処理の開始時においては前記補正処理による補正量を0に設定する、請求項5から請求項10のいずれか1項に記載の情報処理プログラム。
  14. 撮像手段および姿勢センサを有する入力部材の姿勢に応じて、表示装置に表示される画像を制御する情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、
    前記撮像手段により撮像された所定の撮像対象を含む撮像画像に基づく撮像情報を用いて、前記表示装置に表示される対象画像を前記入力部材の姿勢に応じて移動させる第1移動制御手段と、
    前記入力部材の姿勢の変化によって前記撮像手段の撮像範囲から前記所定の撮像対象が外れた場合、前記姿勢センサの検出結果を用いることによって、前記入力部材の姿勢に応じた前記対象画像の移動を継続させる第2移動制御手段として前記コンピュータを機能させる、情報処理プログラム。
  15. 撮像手段および姿勢センサを有する入力部材の姿勢に応じた所定の情報処理を実行する情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、
    前記撮像手段により撮像された所定の撮像対象を含む撮像画像に基づく撮像情報を取得する第1取得手段と、
    前記姿勢センサの検出結果を取得する第2取得手段と、
    所定の情報処理の開始時において、前記撮像手段により撮像された撮像画像に基づく当該情報処理の実行が可能である場合、前記撮像情報を用いて当該情報処理を実行し、前記撮像手段により撮像された撮像画像に基づく当該情報処理の実行が可能な状態から不可能な状態へと切り替わった場合、用いる情報を前記撮像情報から前記姿勢センサの検出結果に切り替えて当該情報処理を実行する処理実行手段として前記コンピュータを機能させる、情報処理プログラム。
  16. 前記処理実行手段は、前記撮像手段により撮像された撮像画像に基づく当該情報処理の実行が不可能な状態から可能な状態へと切り替わった場合、切り替わり直後に取得される前記姿勢センサの検出結果と、切り替わり後に取得される撮像情報とを用いて前記所定の情報処理を実行する、請求項15に記載の情報処理プログラム。
  17. 撮像手段および姿勢センサを有する入力部材の姿勢に応じた所定の情報処理を実行する情報処理装置であって、
    前記撮像手段により撮像された所定の撮像対象を含む撮像画像に基づく撮像情報を用いて、所定の直線上または平面上の位置であって、前記入力部材の姿勢に応じた第1位置を算出する第1位置算出部と、
    前記姿勢センサの検出結果を用いて、所定の直線上または平面上の位置であって、前記入力部材の姿勢に応じた第2位置を算出する第2位置算出部と、
    前記第1位置が算出可能である場合、少なくとも前記第1位置に基づく制御位置を用いて前記所定の情報処理を実行し、前記第1位置が算出不可能である場合、少なくとも前記第2位置に基づく制御位置を用いて前記所定の情報処理を実行する処理実行部とを備える、情報処理装置。
  18. 撮像手段および姿勢センサを有する入力装置の姿勢に応じた所定の情報処理を実行する情報処理システムであって、
    前記撮像手段により撮像された所定の撮像対象を含む撮像画像に基づく撮像情報を用いて、所定の直線上または平面上の位置であって、前記入力部材の姿勢に応じた第1位置を算出する第1位置算出部と、
    前記姿勢センサの検出結果を用いて、所定の直線上または平面上の位置であって、前記入力部材の姿勢に応じた第2位置を算出する第2位置算出部と、
    前記第1位置が算出可能である場合、少なくとも前記第1位置に基づく制御位置を用いて前記所定の情報処理を実行し、前記第1位置が算出不可能である場合、少なくとも前記第2位置に基づく制御位置を用いて前記所定の情報処理を実行する処理実行部とを備える、情報処理システム。
  19. 撮像手段および姿勢センサを有する入力装置の姿勢に応じた所定の情報処理を実行するための方法であって、
    前記撮像手段により撮像された所定の撮像対象を含む撮像画像に基づく撮像情報を用いて、所定の直線上または平面上の位置であって、前記入力部材の姿勢に応じた第1位置を算出する第1位置算出ステップと、
    前記姿勢センサの検出結果を用いて、所定の直線上または平面上の位置であって、前記入力部材の姿勢に応じた第2位置を算出する第2位置算出ステップと、
    前記第1位置が算出可能である場合、少なくとも前記第1位置に基づく制御位置を用いて前記所定の情報処理を実行し、前記第1位置が算出不可能である場合、少なくとも前記第2位置に基づく制御位置を用いて前記所定の情報処理を実行する処理実行ステップとを備える、情報処理の実行方法。
JP2013084144A 2013-04-12 2013-04-12 情報処理プログラム、情報処理システム、情報処理装置、および、情報処理の実行方法 Active JP6204686B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013084144A JP6204686B2 (ja) 2013-04-12 2013-04-12 情報処理プログラム、情報処理システム、情報処理装置、および、情報処理の実行方法
EP13178484.5A EP2790087B1 (en) 2013-04-12 2013-07-30 Information processing in accordance with the attitude of an input member
US13/958,866 US9507436B2 (en) 2013-04-12 2013-08-05 Storage medium having stored thereon information processing program, information processing system, information processing apparatus, and information processing execution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013084144A JP6204686B2 (ja) 2013-04-12 2013-04-12 情報処理プログラム、情報処理システム、情報処理装置、および、情報処理の実行方法

Publications (2)

Publication Number Publication Date
JP2014206866A true JP2014206866A (ja) 2014-10-30
JP6204686B2 JP6204686B2 (ja) 2017-09-27

Family

ID=48985953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013084144A Active JP6204686B2 (ja) 2013-04-12 2013-04-12 情報処理プログラム、情報処理システム、情報処理装置、および、情報処理の実行方法

Country Status (3)

Country Link
US (1) US9507436B2 (ja)
EP (1) EP2790087B1 (ja)
JP (1) JP6204686B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016170872A1 (ja) * 2015-04-20 2016-10-27 三菱電機株式会社 情報表示装置及び情報表示方法
CN108680862A (zh) * 2018-04-12 2018-10-19 广东力科新能源有限公司 一种ocv检测用电芯检测信息采集装置以及采集方法
JP2019512299A (ja) * 2016-03-10 2019-05-16 ムーグ ベスローテン フェンノートシャップMoog Bv 移動追尾及びシミュレーション用の装置並びに方法
JP2021525937A (ja) * 2018-07-30 2021-09-27 7ハグズ・ラブズ・ソシエテ・パル・アクシオン・サンプリフィエ7Hugs Labs Sas 位置合わせされた基準フレームを用いた物理空間における物体追跡のためのシステム
US11375263B2 (en) 2017-08-29 2022-06-28 Ricoh Company, Ltd. Image capturing apparatus, image display system, and operation method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11422692B2 (en) * 2018-09-28 2022-08-23 Apple Inc. System and method of controlling devices using motion gestures
EP4330800A1 (en) * 2021-04-29 2024-03-06 InterDigital CE Patent Holdings, SAS Method and apparatus for determining an indication of a pointed position on a display device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000097637A (ja) * 1998-09-24 2000-04-07 Olympus Optical Co Ltd 姿勢位置検出装置
JP2007061489A (ja) * 2005-09-01 2007-03-15 Nintendo Co Ltd 情報処理システムおよびプログラム
JP2008134883A (ja) * 2006-11-29 2008-06-12 Nintendo Co Ltd 情報処理装置および情報処理プログラム
JP2011040003A (ja) * 2009-08-18 2011-02-24 Sony Corp 操作入力システム、制御装置、ハンドヘルド装置及び操作入力方法
JP2011145744A (ja) * 2010-01-12 2011-07-28 Nintendo Co Ltd 情報処理装置、情報処理プログラム、情報処理システム、および、選択対象の選択方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1153292B1 (en) 1998-12-23 2011-08-24 Image Guided Technologies, Inc. A hybrid 3-d probe tracked by multiple sensors
US7850526B2 (en) 2002-07-27 2010-12-14 Sony Computer Entertainment America Inc. System for tracking user manipulations within an environment
US7301526B2 (en) * 2004-03-23 2007-11-27 Fujitsu Limited Dynamic adaptation of gestures for motion controlled handheld devices
US20060169021A1 (en) * 2005-01-28 2006-08-03 Silverstein D A Method and apparatus for calibration of a motion sensing device in a portable apparatus
US8708822B2 (en) * 2005-09-01 2014-04-29 Nintendo Co., Ltd. Information processing system and program
JP4684147B2 (ja) * 2006-03-28 2011-05-18 任天堂株式会社 傾き算出装置、傾き算出プログラム、ゲーム装置およびゲームプログラム
KR100855471B1 (ko) 2006-09-19 2008-09-01 삼성전자주식회사 입력 장치 및 상기 입력 장치의 이동 정보를 제공하는 방법
JP4918376B2 (ja) * 2007-02-23 2012-04-18 任天堂株式会社 情報処理プログラムおよび情報処理装置
EP1970005B1 (en) 2007-03-15 2012-10-03 Xsens Holding B.V. A system and a method for motion tracking using a calibration unit
US9341704B2 (en) 2010-04-13 2016-05-17 Frederic Picard Methods and systems for object tracking
US20130181892A1 (en) 2012-01-13 2013-07-18 Nokia Corporation Image Adjusting
KR20150053955A (ko) * 2012-09-06 2015-05-19 인터페이즈 코퍼레이션 대화형 디스플레이 시스템에서의 절대적 및 상대적 위치결정 센서 융합

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000097637A (ja) * 1998-09-24 2000-04-07 Olympus Optical Co Ltd 姿勢位置検出装置
JP2007061489A (ja) * 2005-09-01 2007-03-15 Nintendo Co Ltd 情報処理システムおよびプログラム
JP2008134883A (ja) * 2006-11-29 2008-06-12 Nintendo Co Ltd 情報処理装置および情報処理プログラム
JP2011040003A (ja) * 2009-08-18 2011-02-24 Sony Corp 操作入力システム、制御装置、ハンドヘルド装置及び操作入力方法
JP2011145744A (ja) * 2010-01-12 2011-07-28 Nintendo Co Ltd 情報処理装置、情報処理プログラム、情報処理システム、および、選択対象の選択方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016170872A1 (ja) * 2015-04-20 2016-10-27 三菱電機株式会社 情報表示装置及び情報表示方法
JP6062123B1 (ja) * 2015-04-20 2017-01-18 三菱電機株式会社 情報表示装置及び情報表示方法
JP2019512299A (ja) * 2016-03-10 2019-05-16 ムーグ ベスローテン フェンノートシャップMoog Bv 移動追尾及びシミュレーション用の装置並びに方法
US11375263B2 (en) 2017-08-29 2022-06-28 Ricoh Company, Ltd. Image capturing apparatus, image display system, and operation method
CN108680862A (zh) * 2018-04-12 2018-10-19 广东力科新能源有限公司 一种ocv检测用电芯检测信息采集装置以及采集方法
JP2021525937A (ja) * 2018-07-30 2021-09-27 7ハグズ・ラブズ・ソシエテ・パル・アクシオン・サンプリフィエ7Hugs Labs Sas 位置合わせされた基準フレームを用いた物理空間における物体追跡のためのシステム
JP7148713B2 (ja) 2018-07-30 2022-10-05 7ハグズ・ラブズ・ソシエテ・パル・アクシオン・サンプリフィエ 位置合わせされた基準フレームを用いた物理空間における物体追跡のためのシステム

Also Published As

Publication number Publication date
EP2790087A2 (en) 2014-10-15
US9507436B2 (en) 2016-11-29
EP2790087B1 (en) 2018-03-14
JP6204686B2 (ja) 2017-09-27
EP2790087A3 (en) 2015-04-22
US20140306888A1 (en) 2014-10-16

Similar Documents

Publication Publication Date Title
JP6204686B2 (ja) 情報処理プログラム、情報処理システム、情報処理装置、および、情報処理の実行方法
US9268480B2 (en) Computer-readable storage medium, apparatus, system, and method for scrolling in response to an input
US9250799B2 (en) Control method for information input device, information input device, program therefor, and information storage medium therefor
WO2015092995A1 (ja) 表示制御装置、表示制御プログラム、及び表示制御プログラム製品
US10140002B2 (en) Information processing apparatus, information processing method, and program
JPWO2012011263A1 (ja) ジェスチャ入力装置およびジェスチャ入力方法
JP2015099574A (ja) 認識装置、認識方法、認識プログラム及び端末装置
US20120304063A1 (en) Systems and Methods for Improving Object Detection
JP6078719B2 (ja) 移動制御装置及びプログラム
JPWO2018216080A1 (ja) ゲームプログラム、情報処理装置、情報処理システム、および、ゲーム処理方法
JP4799261B2 (ja) 画像表示装置、その制御方法及びプログラム
JP6271878B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、および、指示位置の算出方法
US20190121441A1 (en) Information processing device, information processing method, and program
US20140111551A1 (en) Information-processing device, storage medium, information-processing method, and information-processing system
US10216288B2 (en) Cursor position controlling apparatus, cursor position controlling method, program and information storage medium
WO2016157951A1 (ja) 表示制御装置、表示制御方法および記録媒体
JP2003280813A (ja) ポインティングデバイス、ポインタ制御装置、ポインタ制御方法及びその方法を記録した記録媒体
EP3057035B1 (en) Information processing program, information processing device, information processing system, and information processing method
US9354706B2 (en) Storage medium having stored therein information processing program, information processing apparatus, information processing system, and method of calculating designated position
TWI522848B (zh) 手持式指向裝置以及其游標定位方法
JP2017037567A (ja) ヘッドマウントディスプレイシステムで実行される方法、プログラム、及びヘッドマウントディスプレイシステム
JP2020091758A (ja) プログラム、情報処理装置、情報処理システム、情報処理方法及びヘッドマウントディスプレイ
KR101637241B1 (ko) 포인팅 디바이스 및 포인터 제어 방법
JP2013012010A (ja) ポインタ表示装置、ポインタ表示方法、及びポインタ表示プログラム
JPWO2017217375A1 (ja) 画像表示装置、画像表示方法、及び画像表示プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170814

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: 20170823

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170901

R150 Certificate of patent or registration of utility model

Ref document number: 6204686

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