JP2014038365A - 補正装置、ポインティングデバイス、補正方法、及び、移動量算出方法 - Google Patents
補正装置、ポインティングデバイス、補正方法、及び、移動量算出方法 Download PDFInfo
- Publication number
- JP2014038365A JP2014038365A JP2012171955A JP2012171955A JP2014038365A JP 2014038365 A JP2014038365 A JP 2014038365A JP 2012171955 A JP2012171955 A JP 2012171955A JP 2012171955 A JP2012171955 A JP 2012171955A JP 2014038365 A JP2014038365 A JP 2014038365A
- Authority
- JP
- Japan
- Prior art keywords
- correction
- pointing device
- posture
- acceleration
- correction parameter
- 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.)
- Pending
Links
- 238000012937 correction Methods 0.000 title claims abstract description 411
- 230000033001 locomotion Effects 0.000 title claims abstract description 254
- 238000004364 calculation method Methods 0.000 title claims description 79
- 238000000034 method Methods 0.000 title claims description 28
- 230000001133 acceleration Effects 0.000 claims description 230
- 238000001514 detection method Methods 0.000 claims description 39
- 230000006870 function Effects 0.000 claims description 35
- 206010034719 Personality change Diseases 0.000 abstract 1
- 230000036544 posture Effects 0.000 description 172
- 230000005540 biological transmission Effects 0.000 description 19
- 230000000875 corresponding effect Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 16
- 230000008859 change Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 230000000694 effects Effects 0.000 description 11
- 239000013598 vector Substances 0.000 description 8
- 230000005484 gravity Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Position Input By Displaying (AREA)
Abstract
【課題】姿勢の広い範囲にわたって、その姿勢の変化の影響を極力除去して、直感的な入力の精度の向上を図ることができるポインティングデバイスを提供することである。
【解決手段】三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの水平移動量を算出するため、ポインティングデバイスのZ軸周りの角速度ωzを補正する。ポインティングデバイスの傾き角度θcに対応した補正パラメータA(θc)及びB(θc)を利用して角速度ωzを補正する。補正パラメータA(θc)及びB(θc)は、実験的及び/又は経験的に定められたものである。
【選択図】 図5
【解決手段】三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの水平移動量を算出するため、ポインティングデバイスのZ軸周りの角速度ωzを補正する。ポインティングデバイスの傾き角度θcに対応した補正パラメータA(θc)及びB(θc)を利用して角速度ωzを補正する。補正パラメータA(θc)及びB(θc)は、実験的及び/又は経験的に定められたものである。
【選択図】 図5
Description
本発明は、三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの検出値を補正する補正装置及びその関連技術に関する。
特許文献1では、三次元空間中でのポインティングデバイスの移動方向が、ポインティングデバイスの傾き、つまり、姿勢に依存することなく、カーソルの移動方向と一致するように、一般的な二次元回転行列を利用して、ポインティングデバイスの傾きを補償している。
しかしながら、一般的な二次元回転行列は、正弦関数及び余弦関数を利用するので、ポインティングデバイスの姿勢によっては、その姿勢の影響の除去の程度が小さく、カーソルが、ユーザの意図する方向と異なる方向に移動することもある。
つまり、ポインティングデバイスの姿勢によっては、ポインティングデバイスによる直感的な入力の精度が低下する場合もある。
そこで、本発明は、ポインティングデバイスの姿勢の広い範囲にわたって、その姿勢の変化の影響を極力除去して、ポインティングデバイスの直感的な入力の精度の向上を図る補正装置及びその関連技術を提供することを目的とする。
本発明の第1の観点によれば、三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの第1所定方向の移動量を算出するため、前記ポインティングデバイスの第1軸周りの回転を表す第1回転情報を補正する補正装置において、前記ポインティングデバイスの姿勢を表す姿勢情報に対応した第1補正パラメータを利用して、前記第1回転情報を補正する補正手段を有し、前記第1補正パラメータは、実験的及び/又は経験的に定められたものである。
この構成によれば、第1補正パラメータを、実験的及び/又は経験的に定めることにより、ポインティングデバイスの姿勢の広い範囲にわたって、ポインティングデバイスの姿勢の変化(傾き)の影響を極力除去できる。その結果、ポインティングデバイスによる直感的な入力の精度の向上を図ることができる。
ここで、本明細書及び特許請求の範囲にて、「回転情報」とは、回転を表す情報であり、角速度、角度、角速度検出手段(例えば、角速度センサ)からの出力値、あるいは、その出力値を演算して得られた値等を含む。
また、本明細書及び特許請求の範囲にて、「姿勢情報」とは、ポインティングデバイスの姿勢を示す情報であり、角度で表されたり、あるいは、加速度で表されたり、どのような物理量で表されるか限定されるものではない。
さて、例えば、前記第1補正パラメータは、第2補正パラメータ及び第3補正パラメータを含み、前記補正手段は、次式により、前記第1回転情報を補正する。
ωz#=A(θc)×ωz+B(θc)×ωx
ただし、
ωz:第1回転情報
ωx:第1軸に垂直な第2軸周りの回転を表す第2回転情報
A(θc):第2補正パラメータ
B(θc):第3補正パラメータ
θc:姿勢情報
A(θc)及びB(θc)は、姿勢情報θcの関数
ωz#:補正後の第1回転情報。
ωz:第1回転情報
ωx:第1軸に垂直な第2軸周りの回転を表す第2回転情報
A(θc):第2補正パラメータ
B(θc):第3補正パラメータ
θc:姿勢情報
A(θc)及びB(θc)は、姿勢情報θcの関数
ωz#:補正後の第1回転情報。
この補正装置において、前記ポインティングデバイスの前記姿勢情報が、標準姿勢を含む所定範囲内の場合、前記第3補正パラメータB(θc)は0であり、前記標準姿勢は、前記第1軸方向が重力加速度の方向と一致する場合の前記ポインティングデバイスの姿勢である。
この構成によれば、姿勢情報が標準姿勢を含む所定範囲内の場合、第3補正パラメータB(θc)が0であるため、式の第2項は0となる。このため、姿勢情報が所定範囲内の場合、第1軸に垂直な第2軸方向にポインティングデバイスを動かしても、画面のカーソルは、水平方向に移動する。よって、より一層、直感的な入力の精度の向上を図ることができる。
ポインティングデバイスの姿勢と標準姿勢との差が比較的小さい場合において、ユーザが、水平方向にポインティングデバイスを動かしているつもりでも、実際は、第2軸方向にポインティングデバイスを動かしている場合も多いと考えられる。よって、この場合は、第3補正パラメータB(θc)を0として、カーソルを水平方向に移動し、より一層、直感的な入力の精度の向上を図るのである。
上記補正装置において、前記ポインティングデバイスの前記姿勢情報が、標準姿勢を含む所定範囲内の場合、前記第1補正パラメータは、補正を施さない値に定められてよい。前記標準姿勢は、前記第1軸方向が重力加速度の方向と一致する場合の前記ポインティングデバイスの姿勢である。
この構成によれば、姿勢情報が標準姿勢を含む所定範囲内の場合、第1補正パラメータは補正を施さない値に定められる。このため、姿勢情報が所定範囲内の場合、第1軸に垂直な第2軸方向にポインティングデバイスを動かしても、画面のカーソルは、水平方向に移動する。よって、より一層、直感的な入力の精度の向上を図ることができる。
ポインティングデバイスの姿勢と標準姿勢との差が比較的小さい場合において、ユーザが、水平方向にポインティングデバイスを動かしているつもりでも、実際は、第2軸方向にポインティングデバイスを動かしている場合も多いと考えられる。よって、この場合は、補正を施さないようにして、カーソルを水平方向に移動し、より一層、直感的な入力の精度の向上を図る。
上記補正装置において、前記第1補正パラメータは、前記姿勢情報の関数であり、N次曲線(Nは1以上の整数)で表されてよい。この場合、例えば、前記第1補正パラメータは、異なる前記N次曲線の結合で表される。
上記補正装置において、前記補正手段は、前記ポインティングデバイスの動きの程度が所定条件を満たしたときの前記姿勢情報に基づいて前記第1補正パラメータを更新する。
この構成によれば、ポインティングデバイスの動きの程度が所定条件を満たしたときの姿勢情報に基づくので、姿勢情報を検出するセンサの機能、特性、性能、性質あるいは仕様等を踏まえて、より的確に姿勢情報を取得できる。その結果、ポインティングデバイスの実際の姿勢に、より良く合致した補正パラメータを使用でき、直感的な入力の一層の精度の向上を図ることができる。
この補正装置において、前記姿勢情報は、加速度から算出され、あるいは、加速度によって表される。
この構成によれば、ポインティングデバイスの動きの程度が所定条件を満たしたときの姿勢情報、つまり、加速度に基づくので、加速度を検出するセンサの機能、特性、性能、性質あるいは仕様等を踏まえて、姿勢に依存しない加速度成分を極力除去し、あるいは、姿勢に依存しない加速度成分の影響を極力抑制して、姿勢に依存する加速度をより的確に取得できる。その結果、ポインティングデバイスの実際の姿勢に、より良く合致した補正パラメータを使用でき、直感的な入力の一層の精度の向上を図ることができる。
上記補正装置において、前記補正手段は、前記ポインティングデバイスの、前記第1所定方向に垂直な第2所定方向の移動量を算出するため、前記姿勢情報に対応した第4補正パラメータを利用して、前記第1軸に垂直な第2軸周りの回転を表す第2回転情報を補正し、前記第4補正パラメータは、実験的及び/又は経験的に定められたものである。
この構成によれば、第4補正パラメータを、実験的及び/又は経験的に定めることにより、ポインティングデバイスの姿勢の広い範囲にわたって、ポインティングデバイスの姿勢の変化(傾き)の影響を極力除去できる。その結果、ポインティングデバイスによる直感的な入力の精度の向上を図ることができる。
この補正装置において、前記第1補正パラメータは、第2補正パラメータ及び第3補正パラメータを含み、前記第4補正パラメータは、第5補正パラメータ及び第6補正パラメータを含み、前記補正手段は、次式により、前記第1回転情報及び前記第2回転情報を補正する。
ωz#=A(θc)×ωz+B(θc)×ωx
ωx#=C(θc)×ωz+D(θc)×ωx
ωx#=C(θc)×ωz+D(θc)×ωx
ただし、
ωz:第1回転情報
ωx:第2回転情報
A(θc):第2補正パラメータ
B(θc):第3補正パラメータ
C(θc):第5補正パラメータ
D(θc):第6補正パラメータ
θc:姿勢情報
A(θc)、B(θc)、C(θc)、及び、D(θc)は、姿勢情報θcの関数
ωz#:補正後の第1回転情報
ωx#:補正後の第2回転情報。
ωz:第1回転情報
ωx:第2回転情報
A(θc):第2補正パラメータ
B(θc):第3補正パラメータ
C(θc):第5補正パラメータ
D(θc):第6補正パラメータ
θc:姿勢情報
A(θc)、B(θc)、C(θc)、及び、D(θc)は、姿勢情報θcの関数
ωz#:補正後の第1回転情報
ωx#:補正後の第2回転情報。
この補正装置において、前記ポインティングデバイスの前記姿勢情報が、標準姿勢を含む所定範囲内の場合、前記第3補正パラメータB(θc)及び前記第5補正パラメータC(θc)は0であり、前記標準姿勢は、前記第1軸方向が重力加速度の方向と一致する場合の前記ポインティングデバイスの姿勢である。
この構成によれば、姿勢情報が標準姿勢を含む所定範囲内の場合、第3補正パラメータB(θc)が0であるため、角速度ωzを補正する式の第2項は0となる。このため、姿勢情報が所定範囲内の場合、第1軸に垂直な第2軸方向にポインティングデバイスを動かしても、画面のカーソルは、水平方向に移動する。
また、姿勢情報が標準姿勢を含む所定範囲内の場合、第5補正パラメータC(θc)が0であるため、角速度ωxを補正する式の第1項は0となる。このため、姿勢情報が所定範囲内の場合、第1軸方向に、ポインティングデバイスを動かしても、カーソルは、垂直方向に移動する。
以上の結果、より一層、直感的な入力の精度の向上を図ることができる。
上記補正装置において、前記ポインティングデバイスの前記姿勢情報が、標準姿勢を含む所定範囲内の場合、前記第1補正パラメータ及び前記第4補正パラメータは、補正を施さない値に定められてよい。前記標準姿勢は、前記第1軸方向が重力加速度の方向と一致する場合の前記ポインティングデバイスの姿勢である。
この構成によれば、姿勢情報が標準姿勢を含む所定範囲内の場合、第1補正パラメータは補正を施さない値に定められる。このため、姿勢情報が所定範囲内の場合、第1軸に垂直な第2軸方向にポインティングデバイスを動かしても、画面のカーソルは、水平方向に移動する。
また、姿勢情報が標準姿勢を含む所定範囲内の場合、第4補正パラメータは補正を施さない値に定められる。このため、姿勢情報が所定範囲内の場合、第1軸方向に、ポインティングデバイスを動かしても、カーソルは、垂直方向に移動する。
以上の結果、より一層、直感的な入力の精度の向上を図ることができる。
上記補正装置において、前記第1補正パラメータは、前記姿勢情報の関数であり、N次曲線(Nは1以上の整数)で表され、前記第4補正パラメータは、前記姿勢情報の関数であり、M次曲線(Mは1以上の整数)で表されてよい。この場合、例えば、前記第1補正パラメータは、異なる前記N次曲線の結合で表され、前記第4補正パラメータは、異なる前記M次曲線の結合で表される。
上記補正装置において、前記補正手段は、前記ポインティングデバイスの動きの程度が所定条件を満たしたときの前記姿勢情報に基づいて前記第1補正パラメータ及び前記第4補正パラメータを更新する。
この構成によれば、ポインティングデバイスの動きの程度が所定条件を満たしたときの姿勢情報に基づくので、姿勢情報を検出するセンサの機能、特性、性能、性質あるいは仕様等を踏まえて、より的確に姿勢情報を取得できる。その結果、ポインティングデバイスの実際の姿勢に、より良く合致した補正パラメータを使用でき、直感的な入力の一層の精度の向上を図ることができる。
この補正装置において、前記姿勢情報は、加速度から算出され、あるいは、加速度によって表される。
この構成によれば、ポインティングデバイスの動きの程度が所定条件を満たしたときの姿勢情報、つまり、加速度に基づくので、加速度を検出するセンサの機能、特性、性能、性質あるいは仕様等を踏まえて、姿勢に依存しない加速度成分を極力除去し、あるいは、姿勢に依存しない加速度成分の影響を極力抑制して、姿勢に依存する加速度をより的確に取得できる。その結果、ポインティングデバイスの実際の姿勢に、より良く合致した補正パラメータを使用でき、直感的な入力の一層の精度の向上を図ることができる。
本発明の第2の観点によれば、三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの所定方向の移動量を補正する補正装置において、前記ポインティングデバイスの姿勢を表す姿勢情報に対応した補正パラメータを利用して、前記所定方向の移動量を補正する補正手段を有し、前記補正パラメータは、実験的及び/又は経験的に定められたものである。
この構成によれば、補正パラメータを、実験的及び/又は経験的に定めることにより、ポインティングデバイスの姿勢の広い範囲にわたって、ポインティングデバイスの姿勢の変化(傾き)の影響を極力除去できる。その結果、ポインティングデバイスによる直感的な入力の精度の向上を図ることができる。
上記第1あるいは第2の観点による補正装置において、前記姿勢情報は、加速度によって表される。
この構成によれば、センサからの加速度データをそのまま利用できるので、姿勢を表すために角度の計算を省略でき、処理を簡素化できる。
本発明の第3の観点によれば、補正装置は、三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの第1所定方向の移動量を算出するため、前記ポインティングデバイスの第1軸周りの回転を表す第1回転情報を補正する補正装置であって、前記ポインティングデバイスの動きの程度が所定条件を満たしたか否かを判断する判断手段と、前記ポインティングデバイスの姿勢を表す姿勢情報に対応した第1補正パラメータを利用して、前記第1回転情報を補正する補正手段と、を備え、前記補正手段は、前記ポインティングデバイスの動きの程度が前記所定条件を満たしたときの前記姿勢情報に基づいて前記第1補正パラメータを更新する。
この構成によれば、ポインティングデバイスの動きの程度が所定条件を満たしたときの姿勢情報に基づくので、姿勢情報を検出するセンサの機能、特性、性能、性質あるいは仕様等を踏まえて、より的確に姿勢情報を取得できる。その結果、ポインティングデバイスの実際の姿勢に、より良く合致した補正パラメータを使用でき、直感的な入力の一層の精度の向上を図ることができる。
本発明の第4の観点によれば、補正装置は、三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの所定方向の移動量を補正する補正装置であって、前記ポインティングデバイスの動きの程度が所定条件を満たしたか否かを判断する判断手段と、前記ポインティングデバイスの姿勢を表す姿勢情報に対応した補正パラメータを利用して、前記所定方向の移動量を補正する補正手段と、を備え、前記補正手段は、前記ポインティングデバイスの動きの程度が前記所定条件を満たしたときの前記姿勢情報に基づいて前記補正パラメータを更新する。
この構成によれば、上記第3の観点による補正装置と同様の効果を奏する。
本発明の第5の観点によれば、補正装置は、三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの所定方向の移動量を算出するため、前記ポインティングデバイスの回転を表す回転情報を補正する補正装置であって、前記ポインティングデバイスの加速度を検出する加速度センサと、前記加速度センサが検出した前記加速度を入力とするローパスフィルタと、前記ローパスフィルタの出力に基づいて、前記回転情報を補正する補正手段と、を備える。
この構成によれば、加速度をローパスフィルタに入力して、低周波成分を抽出する。従って、姿勢に依存しない加速度成分(高周波成分)を極力除去し、あるいは、姿勢に依存しない加速度成分(高周波成分)の影響を極力抑制して、姿勢に依存する加速度(低周波成分である重力加速度)をより的確に取得できる。その結果、ポインティングデバイスの実際の姿勢に、より良く合致した補正を行うことができ、直感的な入力の精度の向上を図ることができる。
本発明の第6の観点によれば、補正装置は、三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの所定方向の移動量を補正する補正装置であって、前記ポインティングデバイスの加速度を検出する加速度センサと、前記加速度センサが検出した前記加速度を入力とするローパスフィルタと、前記ローパスフィルタの出力に基づいて、前記所定方向の移動量を補正する補正手段と、を備える。
この構成によれば、上記第5の観点による補正装置と同様の効果を奏する。
本発明の第7の観点によれば、ポインティングデバイスは、三次元空間における、第1所定方向の移動量及び前記第1所定方向に垂直な第2所定方向の移動量を算出するポインティングデバイスであって、前記ポインティングデバイスの第1軸周りの回転を検出し、回転情報を出力する回転検出手段と、前記第1軸に垂直な第2軸方向の加速度を検出し、第1加速度情報を出力する第1加速度検出手段と、前記回転情報に基づいて、前記第1所定方向の移動量を算出する第1移動量算出手段と、前記第1加速度情報に基づいて、前記第2所定方向の移動量を算出する第2移動量算出手段と、を備える。
この構成によれば、例えば、角速度センサ(第1回転検出手段)によって水平方向(第1所定方向)の移動量を算出し、加速度センサ(第1加速度検出手段)によって垂直方向(第2所定方向)の移動量を算出するポインティングデバイスを提供できる。
このポインティングデバイスは、前記第1軸及び前記第2軸に垂直な第3軸方向の加速度を検出し、第2加速度情報を出力する第2加速度検出手段と、前記第2加速度情報に基づく前記ポインティングデバイスの姿勢を表す姿勢情報に対応した補正パラメータを利用して、前記回転情報を補正する補正手段と、をさらに備え、前記第1移動量算出手段は、補正された前記回転情報に基づいて、前記第1所定方向の移動量を算出する。
この構成によれば、第1軸周りの回転情報が補正されるので、ポインティングデバイスの姿勢の変化(傾き)の影響を極力除去できる。その結果、ポインティングデバイスによる直感的な入力の精度の向上を図ることができる。
一方、第2軸方向の第1加速度情報に基づいて、第2所定方向の移動量を算出しているので、第2軸周りの回転に基づく姿勢の変化による影響を除去する必要がない。よって、処理を簡素化できる。
上記ポインティングデバイスにおいて、前記第1所定方向は、水平方向であり、前記第2所定方向は、垂直方向である。
本発明の第8の観点によれば、三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの第1所定方向の移動量を算出するため、前記ポインティングデバイスの第1軸周りの回転を表す第1回転情報を補正する補正方法において、前記ポインティングデバイスの姿勢を表す姿勢情報に対応した第1補正パラメータを利用して、前記第1回転情報を補正し、前記第1補正パラメータは、実験的及び/又は経験的に定められたものである。
この構成によれば、上記第1の観点による補正装置と同様の効果を奏する。
本発明の第9の観点によれば、三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの所定方向の移動量を補正する補正方法において、前記ポインティングデバイスの姿勢を表す姿勢情報に対応した補正パラメータを利用して、前記所定方向の移動量を補正し、前記補正パラメータは、実験的及び/又は経験的に定められたものである。
この構成によれば、上記第2の観点による補正装置と同様の効果を奏する。
上記第8あるいは第9の観点による補正方法において、前記姿勢情報は、加速度によって表される。
この構成によれば、センサからの加速度データをそのまま利用できるので、姿勢を表すために角度の計算を省略でき、処理を簡素化できる。
本発明の第10の観点によれば、補正方法は、三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの第1所定方向の移動量を算出するため、前記ポインティングデバイスの第1軸周りの回転を表す第1回転情報を補正する補正方法であって、前記ポインティングデバイスの動きの程度が所定条件を満たしたか否かを判断するステップと、前記ポインティングデバイスの姿勢を表す姿勢情報に対応した第1補正パラメータを利用して、前記第1回転情報を補正するステップと、を含み、補正する前記ステップでは、前記ポインティングデバイスの動きの程度が前記所定条件を満たしたときの前記姿勢情報に基づいて前記第1補正パラメータを更新する。
この構成によれば、上記第3の観点による補正装置と同様の効果を奏する。
本発明の第11の観点によれば、補正方法は、三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの所定方向の移動量を補正する補正方法であって、前記ポインティングデバイスの動きの程度が所定条件を満たしたか否かを判断するステップと、前記ポインティングデバイスの姿勢を表す姿勢情報に対応した補正パラメータを利用して、前記所定方向の移動量を補正するステップと、を含み、補正する前記ステップでは、前記ポインティングデバイスの動きの程度が前記所定条件を満たしたときの前記姿勢情報に基づいて前記補正パラメータを更新する。
この構成によれば、上記第3の観点による補正装置と同様の効果を奏する。
本発明の第12の観点によれば、補正方法は、三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの所定方向の移動量を算出するため、前記ポインティングデバイスの回転を表す回転情報を補正する補正方法であって、前記ポインティングデバイスの加速度を検出するステップと、検出する前記ステップが検出した前記加速度から低周波成分を抽出するステップと、前記加速度の前記低周波成分に基づいて、前記回転情報を補正するステップと、を含む。
この構成によれば、上記第5の観点による補正装置と同様の効果を奏する。
本発明の第13の観点によれば、補正方法は、三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの所定方向の移動量を補正する補正方法であって、前記ポインティングデバイスの加速度を検出するステップと、検出する前記ステップが検出した前記加速度から低周波成分を抽出するステップと、前記加速度の前記低周波成分に基づいて、前記所定方向の移動量を補正するステップと、を含む。
この構成によれば、上記第5の観点による補正装置と同様の効果を奏する。
本発明の第14の観点によれば、移動量算出方法は、三次元空間におけるポインティングデバイスの第1所定方向の移動量及び前記第1所定方向に垂直な第2所定方向の移動量を算出する移動量算出方法であって、前記ポインティングデバイスの第1軸周りの回転を検出するステップと、前記第1軸に垂直な第2軸方向の加速度を検出するステップと、前記回転の情報に基づいて、前記第1所定方向の移動量を算出するステップと、前記加速度の情報に基づいて、前記第2所定方向の移動量を算出するステップと、を含む。
この構成によれば、上記第7の観点によるポインティングデバイスと同様の効果を奏する。
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。
(実施の形態1)
図1は、本発明の第1の実施の形態によるポインティングデバイス1の使用状態を示す外観斜視図である。図1を参照して、ユーザは、ポインティングデバイス1を三次元空間中で動かして、表示装置(例えば、テレビ受像機)100の画面に表示されたカーソル102を操作し、画面上の所望の位置を指し示す。
ポインティングデバイス1には、ローカル座標系が設定される。
図2(a)及び図2(b)は、図1のポインティングデバイス1に設定されたローカル座標系の説明図である。図2(a)を参照して、ポインティングデバイス1は、平板状の外形を有し、その上面にボタン3が配置される。そして、図2(b)を参照して、平面視において、ポインティングデバイス1は、長方形状であり、その短い辺(幅方向)と平行に、ローカル座標系のX軸が設定され、その長い辺(長さ方向)と平行、かつ、X軸と垂直に、ローカル座標系のY軸が設定される。紙面右方向がX軸の正方向であり、紙面上方向がY軸の正方向である。
再び、図2(a)を参照して、X軸及びY軸に垂直に、つまり、ポインティングデバイス1の上面に垂直な方向に、ローカル座標系のZ軸が設定される。また、上面から下面に向かう方向が、Z軸の正方向である。
以下、大文字で表されたX軸、Y軸、及び、Z軸は、ローカル座標系の座標軸を示す。
ここで、標準姿勢を定義する。Z軸の正方向が重力加速度gの方向と一致する場合のポインティングデバイス1の姿勢を標準姿勢と定義する。
次に、ポインティングデバイス1の電気的構成を説明する。
図3は、図1のポインティングデバイス1のハードウェア構成図である。図3を参照して、ポインティングデバイス1は、メモリ11を内蔵するMCU(Micro Controller Unit)9、加速度センサ7、角速度センサ(例えば、ジャイロスコープ)5、ボタン3、及び、RF(Radio Frequency)モジュール13を備える。
本実施の形態では、加速度センサ7及び角速度センサ5は、それぞれ、二軸加速度センサ及び二軸角速度センサである。図2(a)を参照して、加速度センサ7は、X軸方向加速度ax及びY軸方向加速度ayを検出し、MCU9に出力する。角速度センサ5は、X軸周りの角速度ωx及びZ軸周りの角速度ωzを検出し、MCU9に出力する。なお、X軸周りの回転はピッチに相当し、Y軸周りの回転はロールに相当し、Z軸周りの回転はヨーに相当する。
図3に戻って、ボタン3は、その操作情報(オン/オフ)MをMCU9に出力する。メモリ11は、RAM、ROM、及び/又は、フラッシュメモリ等、ポインティングデバイス1の仕様に応じた半導体メモリである。メモリ11は、MCU9によって実行される各種コンピュータプログラムや演算に必要なデータ(例えば、後述する補正パラメータA(θc)及びB(θc))等を格納し、また、MCU9のワークエリア等として利用される。
MCU9は、メモリ11に格納されたコンピュータプログラムを実行し、ポインティングデバイス1の水平移動量H及び垂直移動量Vを算出し、ボタン3の操作情報Mとともに、RFモジュールに出力する。
この場合、MCU9は、加速度ayに基づいて、X軸周りの回転角θvを算出し、その回転角θvから垂直移動量Vを算出する。
また、MCU9は、加速度ax、並びに、角速度ωx及びωzに基づいて、角速度ωzを補正する(詳細は後述)。そして、MCU9は、補正後の角速度ωz#に基づいて、Z軸周りの回転角θhを算出し、その回転角θhから水平移動量Hを算出する。
RFモジュール13は、水平移動量H、垂直移動量V、及び、操作情報Mを変調し、表示装置100のRFモジュール(図示せず)に送信する。
表示装置100のRFモジュールは、水平移動量H、垂直移動量V、及び、操作情報Mを受信し、復調して、表示装置100のコンピュータ(図示せず)に与える。このコンピュータは、水平移動量Hに基づき、カーソル102のx座標(スクリーン座標系)を算出し、垂直移動量Vに基づき、カーソル102のy座標(スクリーン座標系)を算出し、カーソル102の座標を更新する。また、このコンピュータは、操作情報Mに応じた処理を実行する。
次に、ポインティングデバイス1の水平移動量Hを算出する際の補正について説明する。まず、補正が必要な理由を具体例を挙げて説明する。
ユーザは、Y軸正方向(図2(a))を表示装置100の側に向けて、三次元空間中でポインティングデバイス1を動かす。
ユーザが、標準姿勢にて、ポインティングデバイス1を動かして、カーソル102を操作する場合を考える。この場合、例えば、ユーザがポインティングデバイス1を水平右方向に動かしたとき、カーソル102もまた水平右方向に移動する。このように、ポインティングデバイス1が標準姿勢の場合、カーソル102は、ユーザが意図する方向に移動する。なお、右とは、ユーザから見たときの右である。
一方、ユーザが、ポインティングデバイス1が標準姿勢ではなく、Y軸周りの回転により傾いている姿勢にて、ポインティングデバイス1を動かして、カーソル102を操作する場合を考える。この場合、例えば、ポインティングデバイス1が、Y軸周りの回転であって、かつ、ユーザから見たときの時計回りの回転により、角度θcだけ傾いている姿勢にて、ユーザがポインティングデバイス1を水平右方向に動かすと、カーソル102は右斜め上方向に移動する。このように、ポインティングデバイス1が傾いている場合、カーソル102は、ユーザが意図する方向と異なる方向に移動する。
そこで、本実施の形態では、ポインティングデバイス1がY軸周りの回転により傾いている姿勢で動かされた場合であっても、カーソル102が、ユーザが意図する方向に移動するように、Z軸周りの角速度ωzを補正し、補正後の角速度ωz#に基づいて、水平移動量Hを算出する。
具体的には次の通りである。
MCU9は、次式により、Z軸周りの角速度ωzを補正して、補正後の角速度ωz#を得る。なお、次式は、X軸周りの角速度ωx、並びに、補正パラメータA(θc)及びB(θc)を含む。
ωz#=A(θc)×ωz+B(θc)×ωx …(1)
補正パラメータA(θc)及びB(θc)は、ポインティングデバイス1のY軸周りの回転により生じる傾き角度θcの関数である。
図4は、図1のポインティングデバイス1のY軸周りの回転によって生じる傾き角θcの説明図である。図4を参照して、破線で示したZ軸の正方向は、重力加速度gの方向と一致する。つまり、Z軸が破線で示された状態は、ポインティングデバイス1が標準姿勢であることが示される。
X軸(実線)が標準姿勢でのX軸(破線)となす角度を傾き角度θcと定義する。ポインティングデバイス1が標準姿勢の場合、傾き角度θcは0度である。ポインティングデバイス1が、Y軸周りに、ユーザから見たときに、時計回りに回転する場合を正方向の回転とし、Y軸周りに、ユーザから見たときに、反時計回りに回転する場合を負方向の回転とする。
傾き角度θcは、重力加速度g、及び、重力加速度gのX軸への正射影gx(つまり、加速度センサ7から出力されるX軸方向加速度ax)を利用して、次式(2)により表される。この場合、重力加速度g以外の加速度は無視できる大きさであるものとする。なお、加速度センサ7が、Z軸方向の加速度azも検出する3軸加速度センサである場合、傾き角度θcは、gx(つまり、ax)、及び、重力加速度gのZ軸への正射影gz(つまり、加速度センサ7から出力されるZ軸方向加速度az)を利用して、後述の式(10)により求めることもできる。
θc=arcsin(gx/g)=arcsin(ax/g) …(2)
なお、上述の回転角θvは、式(2)において、重力加速度gのX軸への正射影gxを、重力加速度gのY軸への正射影gy(つまり、加速度センサ7から出力されるY軸方向加速度ay)と置き換えることによって得られる。
図5(a)及び図5(b)は、Z軸周りの回転により発生する角速度ωzを補正するための補正パラメータA(θc)及びB(θc)の一例を示す図である。
図5(a)及び図5(b)を参照して、補正パラメータA(θc)及びB(θc)は、それぞれ、傾き角度θcの関数として、ポインティングデバイス1がY軸周りの回転により傾いている姿勢で動かされた場合であっても、カーソル102が、ユーザが意図する方向に移動するように、実験的(試行錯誤を含む。)及び/又は経験的に定められる。
このように、補正パラメータA(θc)及びB(θc)を、実験的及び/又は経験的に定めることにより、傾き角度θc(姿勢)の広い範囲にわたって、ポインティングデバイス1のY軸周りの回転によって生じる傾き(姿勢の変化)の影響を極力除去できる。その結果、ポインティングデバイス1による直感的な入力の精度の向上を図ることができる。
そして、より一層、直感的な入力の精度の向上を図るため、図5(b)を参照して、0度を中心とした角度範囲Rでは、補正パラメータB(θc)を0としている。
角度範囲Rでは、補正パラメータB(θc)が0であるため、式(1)の第2項は0となる。このため、傾き角度θcが角度範囲Rにある場合、Z軸に垂直なX軸方向にポインティングデバイス1を動かしても、カーソル102は、水平方向に移動する。
傾き角度θcが比較的小さい場合において、ユーザが、水平方向にポインティングデバイス1を動かしているつもりでも、実際は、X軸方向にポインティングデバイス1を動かしている場合も多いと考えられる。よって、この場合は、補正パラメータB(θc)を0として、カーソル102を水平方向に移動し、より一層、直感的な入力の精度の向上を図る。
なお、角度範囲RL及びRRにおいて、補正パラメータB(θc)を0とした理由は、角度範囲Rにおいて、補正パラメータB(θc)を0とした理由と同様である。
次に、ポインティングデバイス1の動作を機能ブロック図を用いて説明する。
図6は、図1のポインティングデバイス1の機能ブロック図である。図6を参照して、ポインティングデバイス1は、角速度検出部20、動き判定部21、角速度補正部22、回転角算出部24、水平移動量算出部26、補正パラメータ記憶部28、加速度検出部30、傾き角算出部32、回転角算出部34、垂直移動量算出部36、ボタン検知部37、及び、送信部38を含む。
角速度検出部20は、Z軸周りの角速度ωz及びX軸周りの角速度ωxを検出し、それらを動き判定部21及び角速度補正部22に与える。
動き判定部21は、角速度ωz及びωxに基づいて、ポインティングデバイス1の動きの程度が所定条件を満足するか否かを判定し、判定結果(肯定判断あるいは否定判断)を傾き角算出部32及び角速度補正部22に通知する。この場合、動き判定部21は、ポインティングデバイス1の、上方向、下方向、左方向、右方向、あるいは、斜め方向の動きの程度を判定するものであり、Y軸周りの回転は含まない。なお、この段階では、移動方向の識別は不要である。
例えば、動き判定部21は、角速度ωzの絶対値と角速度ωxの絶対値との和ωsが所定の閾値THより小さいか否かを判断して、肯定判断あるいは否定判断を通知する。和ωsは、ポインティングデバイス1の動きの程度を表す指標の一例である。肯定判断は、和ωsが所定の閾値THより小さいという判断であり、動きの程度が小さいこと(静止あるいは遅く動いている)を示す。否定判断は、和ωsが所定の閾値TH以上という判断であり、動きの程度が大きいこと(速く動いている)を示す。
加速度検出部30は、X軸方向加速度axを検出して、それを傾き角算出部32に与える。傾き角算出部32は、動き判定部21から肯定判断(ポインティングデバイス1の動きの程度が小さい)を通知された場合、受け取った加速度axを式(2)に代入して、傾き角度θcを算出し、それを角速度補正部22に与える。一方、傾き角算出部32は、動き判定部21から否定判断(ポインティングデバイス1の動きの程度が大きい)を通知された場合、傾き角度θcの算出を行わない。
角速度補正部22は、動き判定部21から肯定判断を通知された場合、傾き角算出部32から受け取った傾き角度θcに対応する補正パラメータA(θc)及びB(θc)を補正パラメータ記憶部28から取得及び保持する。そして、角速度補正部22は、角速度検出部20から受け取った角速度ωz及びωx、並びに、取得した補正パラメータA(θc)及びB(θc)を、式(1)に代入して、補正後の角速度ωz#を算出し、それを回転角算出部24に与える。
一方、角速度補正部22は、動き判定部21から否定判断を通知された場合、角速度検出部20から受け取った角速度ωz及びωx、並びに、既に保持している(つまり、前回使用した)補正パラメータA(θc)及びB(θc)を、式(1)に代入して、補正後の角速度ωz#を算出し、それを回転角算出部24に与える。
以上のように、角速度補正部22は、ポインティングデバイス1の動きの程度が小さい(静止を含む。)場合、そのとき算出された傾き角度θcに基づき補正パラメータA(θc)及びB(θc)を更新し、更新後の補正パラメータA(θc)及びB(θc)を使用して補正する。一方、角速度補正部22は、ポインティングデバイス1の動きの程度が大きい場合には、補正パラメータA(θc)及びB(θc)を更新せず、直近の更新によって保持された補正パラメータA(θc)及びB(θc)を使用して補正する。なぜなら、ポインティングデバイス1の動きの程度が大きい場合、傾き角度θc(姿勢)に依存しない加速度が発生することもあり、加速度によって正確な傾き角度θcを求めるのが困難だからである。
回転角算出部24は、角速度ωz#から、Z軸周りの回転角θhを算出し、それを水平移動量算出部26に与える。水平移動量算出部26は、回転角θhに基づいて、ポインティングデバイス1の水平移動量Hを算出し、それを送信部38に与える。
一方、加速度検出部30は、Y軸方向加速度ayを検出して、それを回転角算出部34に与える。回転角算出部34は、加速度ayから、X軸周りの回転角θvを算出し、それを垂直移動量算出部36に与える。垂直移動量算出部36は、回転角θvに基づいて、ポインティングデバイス1の垂直移動量Vを算出し、それを送信部38に与える。
ボタン検知部37は、ボタン3の操作情報(オン/オフ)Mを検知して、それを送信部38に与える。
送信部38は、水平移動量H、垂直移動量V、及び、操作情報Mを変調して、表示装置100に送信する。
さて、角速度検出部20は、図3の角速度センサ5により実現される。動き判定部21は、図3のMCU9がメモリ11に格納された動き判定プログラムを実行することにより実現される。角速度補正部22は、図3のMCU9がメモリ11に格納された第1角速度補正プログラムを実行することにより実現される。回転角算出部24は、図3のMCU9がメモリ11に格納された第1回転角算出プログラムを実行することにより実現される。水平移動量算出部26は、図3のMCU9がメモリ11に格納された水平移動量算出プログラムを実行することにより実現される。補正パラメータ記憶部28は、補正パラメータA(θc)及びB(θc)を格納した図3のメモリ11により実現される。
加速度検出部30は、図3の加速度センサ7により実現される。傾き角算出部32は、図3のMCU9がメモリ11に格納された傾き角算出プログラムを実行することにより実現される。回転角算出部34は、図3のMCU9がメモリ11に格納された第2回転角算出プログラムを実行することにより実現される。垂直移動量算出部36は、図3のMCU9がメモリ11に格納された垂直移動量算出プログラムを実行することにより実現される。
ボタン検知部37は、図3のボタン3、及び、MCU9がメモリ11に格納されたボタン検知プログラムを実行することにより実現される。送信部38は、図3のRFモジュール13により実現される。
図7は、実施の形態1における図3のMCU9による処理の流れを示すフローチャートである。図7を参照して、ステップS1にて、MCU9は、角速度センサ5から角速度ωz及びωxを取得し、メモリ11の第1領域に格納(更新)する。ステップS3にて、MCU9は、角速度ωz及びωxに基づいて、ポインティングデバイス1の動きの程度が所定条件を満足するか否かを判定する。
例えば、MCU9は、角速度ωzの絶対値と角速度ωxの絶対値との和ωsを算出する。そして、MCU9は、和ωsが所定の閾値THより小さいか否かを判断する。この場合、MCU9は、連続して所定時間t1以上の間、ωs<THの場合は、ポインティングデバイス1の動きの程度が小さい(静止を含む)と判断し、動きフラグMFをオフにする(所定条件を満足し肯定判断)。一方、MCU9は、連続して所定時間t2以上の間、ωs≧THの場合は、ポインティングデバイス1の動きの程度が大きいと判断し、動きフラグMFをオンにする(所定条件を満足せず否定判断)。なお、t1=t2であってもよいし、異なっていてもよい。これらの値や閾値THは実験的及び/又は経験的に定められる。また、動きフラグMFがオフの場合に、一時的にωs≧THとなる場合であっても、連続して所定時間t2以上の間、ωs≧THの状態が維持されなければ、動きフラグMFのオフは維持される。同様に、動きフラグMFがオンの場合に、一時的にωs<THとなる場合であっても、連続して所定時間t1以上の間、ωs<THの状態が維持されなければ、動きフラグMFのオンは維持される。
ここで、ポインティングデバイス1の動きの程度の大小の基準は、閾値TH及び/又は時間t1,t2の値を調整することにより調整できる。閾値TH及び時間t1,t2は実験的及び/又は経験的に定められる。例えば、閾値THを大きくすれば、実際の動きが速くても、動きの程度が小さいと判定されるし、閾値THを小さくすれば、実際に静止してはじめて動きの程度が小さいと判定される。この点、閾値TH及び/又は時間t1,t2によって、補正パラメータの更新条件としての、ポインティングデバイス1の動きの程度が定められると言える。
ステップS5にて、MCU9は、ポインティングデバイス1の動きの程度が所定条件を満足し肯定判断をした場合(動きの程度が小さく動きフラグMFがオフ)、ステップS7に進み、ポインティングデバイス1の動きの程度が所定条件を満足せず否定判断をした場合(動きの程度が大きく動きフラグMFがオン)、直接ステップS13に進む。
肯定判断の場合、ステップS7にて、MCU9は、加速度センサ7から加速度axを取得する。ステップS9にて、MCU9は、加速度axから傾き角度θcを算出する(式(2))。ステップS11にて、MCU9は、傾き角度θcに対応する補正パラメータA(θc)及びB(θc)をメモリ11に格納された補正テーブルから取得し、メモリ11の第2領域に格納(更新)する。補正テーブルは、傾き角度θcと補正パラメータA(θc)及びB(θc)とを関連付けたテーブルである。
ステップS11の後、あるいは、ステップS5で否定判断の後、ステップS13にて、MCU9は、第2領域に格納された補正パラメータA(θc)及びB(θc)並びに第1領域に格納された角速度ωz及びωxによりωzを補正し、補正後の角速度ωz#を得る(式(1))。ステップS15にて、MCU9は、角速度ωz#から回転角θhを算出する。ステップS17にて、MCU9は、回転角θhから水平移動量Hを算出する。
ステップS19にて、MCU9は、加速度センサ7から加速度ayを取得する。ステップS21にて、MCU9は、加速度ayから回転角θvを算出する。ステップS23にて、MCU9は、回転角θvから垂直移動量Vを算出する。
ステップS25にて、MCU9は、ボタン3から操作情報Mを取得する。ステップS27にて、MCU9は、水平移動量H、垂直移動量Vおよび操作情報Mを、RFモジュール13を介して、表示装置100に送信し、ステップS1に戻る。
さて、以上のように、本実施の形態によれば、加速度センサ7によって垂直方向の移動量Vを算出し、角速度センサ5により水平方向の移動量Hを算出するポインティングデバイス1を提供できる。
また、本実施の形態によれば、補正パラメータA(θc)及びB(θc)を、実験的及び/又は経験的に定めることにより、ポインティングデバイス1の傾き角度θc(姿勢)の広い範囲にわたって、ポインティングデバイス1の傾き(姿勢の変化)の影響を極力除去できる。その結果、ポインティングデバイス1による直感的な入力の精度の向上を図ることができる。
さらに、本実施の形態によれば、Y軸方向の加速度情報ayに基づいて、垂直方向の移動量Vを算出しているので、Y軸周りの回転に基づく傾き(姿勢の変化)による影響を除去する必要がない(上記のような補正が不要)。よって、処理を簡素化できる。
さらに、本実施の形態によれば、ポインティングデバイス1の動きの程度が所定条件を満たしたときの姿勢情報、つまり、加速度に基づいて補正パラメータを更新する(傾き角度θcは加速度axから算出)。このように、ポインティングデバイス1の動きの程度が所定条件を満たしたときの加速度に基づくので、姿勢に依存しない加速度成分を極力除去し、あるいは、姿勢に依存しない加速度成分の影響を極力抑制して、姿勢に依存する加速度をより的確に取得できる。その結果、ポインティングデバイス1の実際の姿勢に、より良く合致した補正パラメータを使用でき、直感的な入力の一層の精度の向上を図ることができる。
(実施の形態2)
本発明の実施の形態2によるポインティングデバイス50が、実施の形態1によるポインティングデバイス1と異なる主な点は次のとおりである。
実施の形態1では、加速度ayに基づいて、垂直移動量Vを算出した。これに対して、実施の形態2では、角速度ωxに基づいて、垂直移動量Vを算出する。従って、実施の形態2では、角速度ωzだけでなく、角速度ωxも補正する。
以下、実施の形態2が実施の形態1と異なる点を中心に詳細を説明していく。
実施の形態2によるポインティングデバイス50のハードウェア構成は、図3に示したポインティングデバイス1のハードウェア構成と同じである。ただし、加速度センサ7は、一軸加速度センサであり、X軸方向加速度axを検出し、MCU9に出力する。また、メモリ11は、補正パラメータA(θc)、B(θc)、C(θc)、及び、D(θc)を格納する。
さらに、本実施の形態では、ポインティングデバイス1がY軸周りの回転により傾いている姿勢で動かされた場合であっても、カーソル102が、ユーザが意図する方向に移動するように、Z軸周りの角速度ωz及びX軸周りの角速度ωxを補正し、補正後の角速度ωz#及びωx#に基づいて、水平移動量H及び垂直移動量Vを算出する。
具体的には次の通りである。
MCU9は、式(1)により、Z軸周りの角速度ωzを補正して、補正後の角速度ωz#を得る。
また、MCU9は、次式により、X軸周りの角速度ωxを補正して、補正後の角速度ωx#を得る。なお、次式は、Z軸周りの角速度ωz、並びに、補正パラメータC(θc)及びD(θc)を含む。
ωx#=C(θc)×ωz+D(θc)×ωx …(3)
補正パラメータC(θc)及びD(θc)は、ポインティングデバイス50のY軸周りの回転により生じる傾き角度θcの関数である。この傾き角度θcは、式(2)により計算される。
図8(a)及び図8(b)は、X軸周りの回転により発生する角速度ωxを補正するための補正パラメータC(θc)及びD(θc)の一例を示す図である。
図8(a)及び図8(b)を参照して、補正パラメータC(θc)及びD(θc)は、それぞれ、傾き角度θcの関数として、ポインティングデバイス50がY軸周りの回転により傾いている姿勢で動かされた場合であっても、カーソル102が、ユーザが意図する方向に移動するように、実験的(試行錯誤を含む。)及び/又は経験的に定められる。
このように、補正パラメータC(θc)及びD(θc)を、実験的及び/又は経験的に定めることにより、傾き角度θc(姿勢)の広い範囲にわたって、ポインティングデバイス50のY軸周りの回転によって生じる傾き(姿勢の変化)の影響を極力除去できる。その結果、ポインティングデバイス50による直感的な入力の精度の向上を図ることができる。
そして、より一層、直感的な入力の精度の向上を図るため、図8(a)を参照して、0度を中心とした角度範囲Rでは、補正パラメータC(θc)を0としている。
角度範囲Rでは、補正パラメータC(θc)が0であるため、式(3)の第1項は0となる。このため、傾き角度θcが角度範囲Rにある場合、Z軸方向に、ポインティングデバイス50を動かしても、カーソル102は、垂直方向に移動する。
傾き角度θcが比較的小さい場合において、ユーザが、垂直方向にポインティングデバイス50を動かしているつもりでも、実際は、Z軸方向にポインティングデバイス50を動かしている場合も多いと考えられる。よって、この場合は、補正パラメータC(θc)を0として、カーソル102を垂直方向に移動し、より一層、直感的な入力の精度の向上を図る。
なお、角度範囲RL及びRRにおいて、補正パラメータC(θc)を0とした理由は、角度範囲Rにおいて、補正パラメータC(θc)を0とした理由と同様である。
次に、ポインティングデバイス50の動作を機能ブロック図を用いて説明する。
図9は、本発明の実施の形態2によるポインティングデバイス50の機能ブロック図である。図9を参照して、ポインティングデバイス50は、角速度検出部20、動き判定部21、角速度補正部54、回転角算出部56、移動量算出部58、補正パラメータ記憶部60、加速度検出部62、傾き角算出部32、ボタン検知部37、及び、送信部38を含む。
角速度検出部20は、Z軸周りの角速度ωz及びX軸周りの角速度ωxを検出し、それらを動き判定部21及び角速度補正部22に与える。
動き判定部21は、角速度ωz及びωxに基づいて、ポインティングデバイス50の動きの程度が所定条件を満足するか否か(動きの程度が小さいか否か)を判定し、判定結果(肯定判断あるいは否定判断)を傾き角算出部32及び角速度補正部22に通知する。
加速度検出部62は、X軸方向加速度axを検出して、それを傾き角算出部32に与える。傾き角算出部32は、動き判定部21から肯定判断(ポインティングデバイス50の動きの程度が小さい)を通知された場合、受け取った加速度axを式(2)に代入して、傾き角度θcを算出し、それを角速度補正部22に与える。一方、傾き角算出部32は、動き判定部21から否定判断(ポインティングデバイス50の動きの程度が大きい)を通知された場合、傾き角度θcの算出を行わない。
角速度補正部54は、動き判定部21から肯定判断を通知された場合、傾き角算出部32から受け取った傾き角度θcに対応する補正パラメータA(θc)〜D(θc)を補正パラメータ記憶部60から取得及び保持する。そして、角速度補正部54は、角速度検出部20から受け取った角速度ωz及びωx、並びに、取得した補正パラメータA(θc)〜D(θc)に基づいて、式(1)及び式(3)により、補正後の角速度ωz#及びωx#を算出し、それらを回転角算出部56に与える。
一方、角速度補正部54は、動き判定部21から否定判断を通知された場合、角速度検出部20から受け取った角速度ωz及びωx、並びに、既に保持している(つまり、前回使用した)補正パラメータA(θc)〜D(θc)を、式(1)及び式(3)に代入して、補正後の角速度ωz#及びωx#を算出し、それを回転角算出部56に与える。
以上のように、角速度補正部54は、ポインティングデバイス50の動きの程度が小さい(静止を含む。)場合、そのとき算出された傾き角度θcに基づき補正パラメータA(θc)〜D(θc)を更新し、更新後の補正パラメータA(θc)〜D(θc)を使用して補正する。一方、角速度補正部54は、ポインティングデバイス50の動きの程度が大きい場合には、補正パラメータA(θc)〜D(θc)を更新せず、直近の更新によって保持された補正パラメータA(θc)〜D(θc)を使用して補正する。なぜなら、ポインティングデバイス50の動きの程度が大きい場合、傾き角度θcに依存しない加速度が発生することもあり、加速度によって正確な傾き角度θcを求めるのが困難だからである。
回転角算出部56は、角速度ωz#から、Z軸周りの回転角θhを算出し、それを移動量算出部58に与える。また、回転角算出部56は、角速度ωx#から、X軸周りの回転角θvを算出し、それを移動量算出部58に与える。
移動量算出部58は、回転角θhに基づいて、ポインティングデバイス50の水平移動量Hを算出し、それを送信部38に与える。また、移動量算出部58は、回転角θvに基づいて、ポインティングデバイス50の垂直移動量Vを算出し、それを送信部38に与える。
ボタン検知部37は、ボタン3の操作情報(オン/オフ)Mを検知して、それを送信部38に与える。
送信部38は、水平移動量H、垂直移動量V、及び、操作情報Mを変調して、表示装置100に送信する。
さて、角速度検出部20は、図3の角速度センサ5により実現される。動き判定部21は、図3のMCU9がメモリ11に格納された動き判定プログラムを実行することにより実現される。角速度補正部54は、図3のMCU9がメモリ11に格納された第2角速度補正プログラムを実行することにより実現される。回転角算出部56は、図3のMCU9がメモリ11に格納された第3回転角算出プログラムを実行することにより実現される。移動量算出部58は、図3のMCU9がメモリ11に格納された移動量算出プログラムを実行することにより実現される。補正パラメータ記憶部60は、補正パラメータA(θc)、B(θc)、C(θc)、及び、D(θc)を格納した図3のメモリ11により実現される。
加速度検出部62は、図3の加速度センサ7により実現される。傾き角算出部32は、図3のMCU9がメモリ11に格納された傾き角算出プログラムを実行することにより実現される。
ボタン検知部37は、図3のボタン3、及び、MCU9がメモリ11に格納されたボタン検知プログラムを実行することにより実現される。送信部38は、図3のRFモジュール13により実現される。
図10は、実施の形態2における図3のMCU9による処理の流れを示すフローチャートである。図10を参照して、ステップS51〜S59の処理は、それぞれ、図7のステップS1〜S9の処理と同じである。
ポインティングデバイス50が動いていない(静止)場合、ステップS61にて、MCU9は、傾き角度θcに対応する補正パラメータA(θc)〜D(θc)をメモリ11に格納された補正テーブルから取得し、メモリ11の第2領域に格納(更新)する。補正テーブルは、傾き角度θcと補正パラメータA(θc)〜D(θc)とを関連付けたテーブルである。
ステップS61の後、あるいは、ステップS55で否定判断の後、ステップS63〜S67の処理は、それぞれ、図7のステップS13〜S17の処理と同じである。
ステップS69にて、MCU9は、第2領域に格納された補正パラメータC(θc)及びD(θc)並びに第1領域に格納された角速度ωz及びωxによりωxを補正し、補正後の角速度ωx#を得る(式(3))。ステップS71にて、MCU9は、角速度ωx#から回転角θvを算出する。ステップS73にて、MCU9は、回転角θvから垂直移動量Vを算出する。
ステップS75及びステップS77の処理は、それぞれ、図7のステップS25及びS27の処理と同じである。
さて、以上のように、本実施の形態によれば、補正パラメータA(θc)、B(θc)、C(θc)、及び、D(θc)を、実験的及び/又は経験的に定めることにより、ポインティングデバイス50の傾き角度θc(姿勢)の広い範囲にわたって、ポインティングデバイス50の傾き(姿勢の変化)の影響を極力除去できる。その結果、ポインティングデバイス50による直感的な入力の精度の向上を図ることができる。
また、本実施の形態によれば、ポインティングデバイス50の動きの程度が所定条件を満たしたときの姿勢情報、つまり、加速度に基づいて補正パラメータを更新する(傾き角度θcは加速度axから算出)。このように、ポインティングデバイス50の動きの程度が所定条件を満たしたときの加速度に基づくので、姿勢に依存しない加速度成分を極力除去し、あるいは、姿勢に依存しない加速度成分の影響を極力抑制して、姿勢に依存する加速度をより的確に取得できる。その結果、ポインティングデバイス50の実際の姿勢に、より良く合致した補正パラメータを使用でき、直感的な入力の一層の精度の向上を図ることができる。
(実施の形態3)
実施の形態1において、補正パラメータA(θc)及びB(θc)は、図5に示す曲線で表された。
これに対して、実施の形態3では、補正パラメータA(θc)及びB(θc)を、角度θcの関数で表現されるK次曲線で表す(Kは1以上の整数)。
ただし、この場合、K次曲線(次数K及びK次曲線を表す多項式の各係数等)は、ポインティングデバイス1がY軸周りの回転により傾いている姿勢で動かされた場合であっても、カーソル102が、ユーザが意図する方向に移動するように、実験的(試行錯誤を含む。)及び/又は経験的に定められる。
また、この場合、θc=−180度からθc=180度まで、1つのK次曲線で表すことができない場合は、複数のK次曲線を結合して表す。この場合、結合される複数のK次曲線の次数Kは同じでもよいし、異なってもよい。なお、補正パラメータA(θc)とB(θc)とで、次数Kが異なってもよい。
例えば、K=2とし、補正パラメータA(θc)を複数の二次曲線の結合で表し、補正パラメータB(θc)を複数の二次曲線の結合で表す。なお、K=1、つまり、一次曲線は、直線のことである。
なお、実施の形態3のポインティングデバイスのハードウェア構成及び機能ブロックは、実施の形態1と同じである。
さて、以上のように、本実施の形態によれば、補正パラメータA(θc)及びB(θc)を、実験的及び/又は経験的に定めたK次曲線で表すことにより、ポインティングデバイス50の傾き角度θc(姿勢)の広い範囲にわたって、ポインティングデバイス1の傾き(姿勢の変化)の影響を極力除去できる。その結果、ポインティングデバイス1による直感的な入力の精度の向上を図ることができる。
(実施の形態4)
実施の形態2において、補正パラメータA(θc)及びB(θc)は、図5に示す曲線で表され、補正パラメータC(θc)及びD(θc)は、図8に示す曲線で表された。
これに対して、実施の形態4では、補正パラメータA(θc),B(θc),C(θc)及びD(θc)を、実施の形態3と同様に、K次曲線で表す。K次曲線の定め方は、実施の形態3と同様である。
例えば、K=2とし、補正パラメータA(θc)を複数の二次曲線の結合で表し、補正パラメータB(θc)を複数の二次曲線の結合で表し、補正パラメータC(θc)を複数の二次曲線の結合で表し、補正パラメータD(θc)を複数の二次曲線の結合で表す。
なお、実施の形態4のポインティングデバイスのハードウェア構成及び機能ブロックは、実施の形態2と同じである。
さて、以上のように、本実施の形態によれば、補正パラメータA(θc)、B(θc)、C(θc)、及び、D(θc)を、実験的及び/又は経験的に定めたK次曲線で表すことにより、ポインティングデバイス50の傾き角度θc(姿勢)の広い範囲にわたって、ポインティングデバイス50の傾き(姿勢の変化)の影響を極力除去できる。その結果、ポインティングデバイス50による直感的な入力の精度の向上を図ることができる。
(実施の形態5)
本発明の実施の形態5によるポインティングデバイス64のハードウェア構成は、図3に示したポインティングデバイス1のハードウェア構成と同じである。ただし、加速度センサ7は、2軸加速度センサであり、X軸方向加速度ax及びZ軸方向加速度azを検出し、MCU9に出力する。また、実施の形態5では、補正パラメータを計算によって求め、予めメモリ11に格納していない。
さらに、実施の形態5では、実施の形態2と同様に、ポインティングデバイス64がY軸周りの回転により傾いている姿勢で動かされた場合であっても、カーソル102が、ユーザが意図する方向に移動するように、Z軸周りの角速度ωz及びX軸周りの角速度ωxを補正し、補正後の角速度ωz#及びωx#に基づいて、水平移動量H及び垂直移動量Vを算出する。
ただし、実施の形態5における補正パラメータは、実施の形態2における補正パラメータと異なる。詳細は後述する。
図11は、本発明の実施の形態5によるポインティングデバイス64の機能ブロック図である。図11を参照して、ポインティングデバイス64は、角速度検出部20、角速度補正部72、回転角算出部56、移動量算出部58、加速度検出部66、ローパスフィルタ68、補正パラメータ算出部70、ボタン検知部37、及び、送信部38を含む。
加速度検出部66は、X軸方向加速度ax及びZ軸方向加速度azを検出して、ローパスフィルタ68に入力する。ローパスフィルタ68は、加速度ベクトル(ax,az)の低周波成分(ax#,az#)を通過させ、補正パラメータ算出部70に与える。ローパスフィルタ68は、例えば、加速度ベクトル(ax,az)の移動平均を行うことによって、低周波成分(ax#,az#)だけを通過させる。
加速度ベクトル(ax,az)には、重力加速度成分の他、ポインティングデバイス64を動かすときに発生する加速度成分も含まれる。重力加速度成分は低周波成分であり、ポインティングデバイス64を動かすときに発生する加速度成分は高周波成分であるため、ローパスフィルタ68によって、重力加速度成分(ax#,az#)を取り出すことができる。
重力加速度成分(ax#,az#)は、図4から分かるように、ポインティングデバイス64のY軸周りの回転によって生じる傾き(姿勢)を表している。この点、重力加速度成分(ax#,az#)を姿勢成分と呼ぶこともできる。加速度ベクトル(ax,az)は、重力加速度以外の加速度、つまり、姿勢成分以外の加速度成分も含むので、加速度ベクトル(ax,az)は、姿勢検出という観点からは、ノイズを含んでいることになる。つまり、加速度ベクトル(ax,az)は、精度よく姿勢を表していない。そこで、ローパスフィルタ68を設けて、重力加速度成分(ax#,az#)を取り出すことによって、精度よく、ポインティングデバイス64の姿勢を検出するのである。
補正パラメータ算出部70は、重力加速度成分(ax#,az#)から、直接、補正パラメータM,N,OおよびPを算出する。例えば、補正パラメータ算出部70は、重力加速度成分(ax#,az#)を正規化することにより、補正パラメータM,N,O及びPを算出する。
このように、本実施の形態5では、実施の形態1〜4のように、ポインティングデバイスの傾き角度θcを算出し、傾き角度θcに対応した補正パラメータを取得するのではない。
一方、角速度検出部20は、Z軸周りの角速度ωz及びX軸周りの角速度ωxを検出し、角速度補正部72に与える。
角速度補正部72は、補正パラメータ算出部70から受け取った補正パラメータM〜Pに基づき、次式により、角速度ωz及ωxを補正し、補正後の角速度ωz#及びωx#を回転角算出部56に与える。
ωz#=M×ωz+N×ωx …(4)
ωx#=O×ωz+P×ωx …(5)
このように、角速度補正部72は、重力加速度成分(ax#,az#)、つまり、ポインティングデバイス64の姿勢成分から算出した補正パラメータM〜Pによって、角速度ωz及びωxを補正して、ポインティングデバイス64がY軸周りの回転により傾いている姿勢で動かされた場合であっても、カーソル102が、ユーザが意図する方向に移動するように調整する。
特に、補正パラメータM〜Pは、ローパスフィルタ68を通して精度良く得られたポインティングデバイス64の姿勢(ax#,az#)から算出されているので、より的確に補正が行われ、ユーザの操作性を一層向上できる。
ちなみに、ローパスフィルタ68を通さない加速度ベクトル(ax,az)に基づいて、補正パラメータを算出し、補正を行うと、次のような、不都合が発生する場合がある。
ポインティングデバイスを円を描くように動かすと、円の中心が動いていないにも関わらず、カーソル102は円を描きながら、右方向あるいは左方向に移動して行く。ローパスフィルタ68を通した加速度ベクトル(ax#,az#)を使用することで、このような不都合を極力回避できる。
回転角算出部56は、角速度ωz#から、Z軸周りの回転角θhを算出し、それを移動量算出部58に与える。また、回転角算出部56は、角速度ωx#から、X軸周りの回転角θvを算出し、それを移動量算出部58に与える。
移動量算出部58は、回転角θhに基づいて、ポインティングデバイス50の水平移動量Hを算出し、それを送信部38に与える。また、移動量算出部58は、回転角θvに基づいて、ポインティングデバイス50の垂直移動量Vを算出し、それを送信部38に与える。
ボタン検知部37は、ボタン3の操作情報(オン/オフ)Mを検知して、それを送信部38に与える。
送信部38は、水平移動量H、垂直移動量V、及び、操作情報Mを変調して、表示装置100に送信する。
さて、加速度検出部66は、図3の加速度センサ7により実現される。ローパスフィルタ68は、図3のMCU9がメモリ11に格納されたフィルタプログラムを実行することにより実現される。補正パラメータ算出部70は、図3のMCU9がメモリ11に格納されたパラメータ算出プログラムを実行することにより実現される。
角速度検出部20は、図3の角速度センサ5により実現される。角速度補正部72は、図3のMCU9がメモリ11に格納された角速度補正プログラムを実行することにより実現される。回転角算出部56は、図3のMCU9がメモリ11に格納された回転角算出プログラムを実行することにより実現される。移動量算出部58は、図3のMCU9がメモリ11に格納された移動量算出プログラムを実行することにより実現される。
ボタン検知部37は、図3のボタン3、及び、MCU9がメモリ11に格納されたボタン検知プログラムを実行することにより実現される。送信部38は、図3のRFモジュール13により実現される。
図12は、実施の形態5における図3のMCU9による処理の流れを示すフローチャートである。図12を参照して、ステップS101にて、MCU9は、加速度センサ7が出力した加速度ax,azをローパスフィルタ68へ入力する。ステップ103にて、MCU9は、ローパスフィルタ68によって、低周波成分ax#,az#を抽出する。ステップS105にて、MCU9は、低周波成分ax#,az#から補正パラメータM〜Pを算出する。
ステップS107にて、MCU9は、角速度センサ5から角速度ωx,ωzを取得する。ステップS109〜S123の処理は、それぞれ、図10のステップS63〜S77の処理と同じである。
さて、以上のように、本実施の形態5によれば、角速度ωx,ωzをポインティングデバイス64の姿勢情報ax#,az#で補正するので、ポインティングデバイス64の傾き(姿勢の変化)の影響を極力除去できる。その結果、ポインティングデバイス64による直感的な入力の精度の向上を図ることができる。
また、本実施の形態5によれば、加速度ax,azをローパスフィルタ68に入力して、低周波成分ax#,az#を抽出する。従って、姿勢に依存しない加速度成分(高周波成分)を極力除去し、あるいは、姿勢に依存しない加速度成分(高周波成分)の影響を極力抑制して、姿勢に依存する加速度(低周波成分である重力加速度)をより的確に取得できる。その結果、ポインティングデバイス64の実際の姿勢に、より良く合致した補正パラメータM〜Pを算出でき、直感的な入力の一層の精度の向上を図ることができる。
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
(1)実施の形態1及び3では、補正の対象は、角速度ωzであった。ただし、MCU9が、補正なしの角速度ωzに基づいて、角度θhsを算出し、かつ、補正なしの角速度ωxに基づいて、角度θvsを算出し、角度θhsに対して次式により補正を行うこともできる。
θhs#=E(θc)×θhs+F(θc)×θvs …(6)
補正パラメータE(θc)及びF(θc)は、傾き角度θcの関数であり、実施の形態1あるいは3と同じ観点から実験的及び/又は経験的に定められる。例えば、補正パラメータE(θc)及びF(θc)は、それぞれ、実施の形態1あるいは3の補正パラメータA(θc)及びB(θc)と同様の曲線形状を有する。なお、MCU9は、補正後の角度θhs#に基づいて、水平移動量Hを算出する。
なお、この場合、実施の形態1のように、補正パラメータE(θc)及びF(θc)は、ポインティングデバイス1の動きの程度が所定条件を満足する場合に更新し(ステップS5で「YES」が判断)、ポインティングデバイス1の動きの程度が所定条件を満足しない場合には更新しない(ステップS5で「NO」が判断)こともできる。
実施の形態2及び4では、補正の対象は、角速度ωz及びωxであった。ただし、MCU9が、補正なしの角速度ωzに基づいて、角度θhsを算出し、かつ、補正なしの角速度ωxに基づいて、角度θvsを算出し、角度θhsに対して式(6)により、角度θvsに対して次式により補正を行うこともできる。
θvs#=G(θc)×θhs+H(θc)×θvs …(7)
補正パラメータG(θc)及びH(θc)は、傾き角度θcの関数であり、実施の形態2あるいは4と同じ観点から実験的及び/又は経験的に定められる。例えば、補正パラメータG(θc)及びH(θc)は、それぞれ、実施の形態2あるいは4の補正パラメータC(θc)及びD(θc)と同様の曲線形状を有する。なお、MCU9は、補正後の角度θhs#及びθvs#に基づいて、水平移動量H及び垂直移動量Vを算出する。
なお、この場合、実施の形態2のように、補正パラメータE(θc)〜H(θc)は、ポインティングデバイス50の動きの程度が所定条件を満足する場合に更新し(ステップS55で「YES」が判断)、ポインティングデバイス50の動きの程度が所定条件を満足しない場合には更新しない(ステップS55で「NO」が判断)こともできる。
(2)実施の形態1及び3では、補正の対象は、角速度ωzであった。ただし、MCU9が、補正なしの角速度ωz及びωxに基づいて、それぞれ、角度θhs及びθvsを算出する。そして、MCU9が、角度θhs及びθvsに基づいて、それぞれ、水平移動量Hs及び垂直移動量Vsを算出し、水平移動量Hsに対して次式により補正を行うこともできる。
Hs#=I(θc)×Hs+J(θc)×Vs …(8)
補正パラメータI(θc)及びJ(θc)は、傾き角度θcの関数であり、実施の形態1あるいは3と同じ観点から実験的及び/又は経験的に定められる。例えば、補正パラメータI(θc)及びJ(θc)は、それぞれ、実施の形態1あるいは3の補正パラメータA(θc)及びB(θc)と同様の曲線形状を有する。なお、RFモジュール13は、補正後の水平移動量Hs#を表示装置100に送信する。
なお、この場合、実施の形態1のように、補正パラメータI(θc)及びJ(θc)は、ポインティングデバイス1の動きの程度が所定条件を満足する場合に更新し(ステップS5で「YES」が判断)、ポインティングデバイス1の動きの程度が所定条件を満足しない場合には更新しない(ステップS5で「NO」が判断)こともできる。
実施の形態2及び4では、補正の対象は、角速度ωz及びωxであった。ただし、MCU9が、補正なしの角速度ωz及びωxに基づいて、それぞれ、角度θhs及びθvsを算出する。そして、MCU9が、角度θhs及びθvsに基づいて、それぞれ、水平移動量Hs及び垂直移動量Vsを算出し、水平移動量Hsに対して式(8)により、垂直移動量Vsに対して次式により補正を行うこともできる。
Vs#=K(θc)×Hs+L(θc)×Vs …(9)
補正パラメータK(θc)及びL(θc)は、傾き角度θcの関数であり、実施の形態2あるいは4と同じ観点から実験的及び/又は経験的に定められる。例えば、補正パラメータK(θc)及びL(θc)は、それぞれ、実施の形態2あるいは4の補正パラメータC(θc)及びD(θc)と同様の曲線形状を有する。なお、RFモジュール13は、補正後の水平移動量Hs#及び垂直移動量Vs#を表示装置100に送信する。
なお、この場合、実施の形態2のように、補正パラメータI(θc)〜L(θc)は、ポインティングデバイス50の動きの程度が所定条件を満足する場合に更新し(ステップS55で「YES」が判断)、ポインティングデバイス50の動きの程度が所定条件を満足しない場合には更新しない(ステップS55で「NO」が判断)こともできる。
(3)補正パラメータA(θc)〜L(θc)は、上記曲線形状に限定されるものではなく、実施の形態1、2、3あるいは4と同じ観点から、他の曲線形状に定めることができる。
なお、曲線は、直線を含む概念として使用する。
(4)上記では、ポインティングデバイス1は、ボタン3を有するが、なくてもよいし、複数でもよいし、また、他の入力機能を搭載することもできる。
(5)上記では、表示装置100の例として、テレビ受像機を挙げたが、パーソナルコンピュータのディスプレイ等、特に限定されるものではない。
(6)実施の形態1及び3では、加速度センサ7は、二軸加速度センサであった。実用的な範囲では、これで十分であるが、加速度ax及びayの符号を判別する必要がある場合は、Z軸方向の加速度azも検出する三軸加速度センサを採用する。
実施の形態2及び4では、加速度センサ7は、一軸加速度センサであった。実用的な範囲では、これで十分であるが、加速度axの符号を判別する必要がある場合は、Z軸方向の加速度azも検出する二軸加速度センサを採用する。
(7)上記では、メモリ11に補正パラメータを格納したが、MCU9は、補正パラメータ曲線(図5(a)、図5(b)、図8(a)、図8(b))を表す式により、傾き角度θcに対応する補正パラメータを計算で求めてもよい。
(8)上記では、補正パラメータは、傾き角度θcの関数として設定された。ただし、補正パラメータを傾き角度θcに相関する値の関数として設定することもできる。
例えば、補正パラメータを、傾き角度θcに相関する値である加速度ax、あるいは、加速度ax,azの関数として設定する。この場合、加速度センサからの加速度データをそのまま利用できるので、姿勢を表すために角度θcの計算を省略でき、処理を簡素化できる。
(9)実施の形態1では、角度範囲R、RL及びRRにて、補正パラメータB(θc)を0とした。これに加えて、角度範囲Rにて、補正パラメータA(θc)を1、角度範囲RL及びRRにて、補正パラメータA(θc)を−1とすることもできる。
実施の形態2では、角度範囲R、RL及びRRにて、補正パラメータC(θc)を0とした。これに加えて、角度範囲Rにて、補正パラメータD(θc)を1、角度範囲RL及びRRにて、補正パラメータD(θc)を−1とすることもできる。
なお、補正パラメータA(θc)を1、補正パラメータB(θc)を0とすることは、角速度ωzに補正を施さないことを意味する。補正パラメータC(θc)を0、補正パラメータD(θc)を1とすることは、角速度ωxに補正を施さないことを意味する。
(10)上記では、傾き角度θcを加速度axから求めた。ただし、加速度と角速度との組合せにより、傾き角度θcを求めることもできる。つまり、加速度ax,ay及びazの合計値が1G(重力加速度)になったとき、ポインティングデバイス1,50に重力以外の外力が働いていない状態であり、そのときの傾き角度θr(以下、「基準傾き角度θr」と呼ぶ。)を加速度axから求める。そして、その後は、Y軸周りの角速度ωyにより、Y軸周りの回転角を求め、基準傾き角度θrに加算又は減算して、現在の傾き角度θcを求める。この場合、例えば、加速度ax,ay及びazの合計値が1Gになるたびに、加速度axから新たに基準傾き角度θrを求め、その後は、再び、角速度ωyから回転角を求めて、現在の傾き角度θcを計算する。なお、この場合、三軸加速度センサ及び三軸角速度センサを用いる。
また、加速度ax,ay及びazの合計値が1Gになったときに基準傾き角度θrを求めるのではなく、角速度ωz及びωxに基づいてポインティングデバイスが動いていないと判断した場合に(例えばステップS5,S55で「YES」と判断)、基準傾き角度θrを求めることもできる。なお、加速度ax,ay及びazの合計値が1G(重力加速度)の状態は、ポインティングデバイスが動いていない状態とみなすこともできる(等速運動は除く。)。
なお、このように、傾き角度θcを、角速度ωyから求める場合は、3軸角速度センサが必要になる(ωz及びωxは、水平及び垂直移動量を求めるため)。ただし、実施の形態1−4では、加速度のみにより、傾き角度θcを求めるので、2軸角速度センサを用いることができるというメリットもある。
(11)上記では、補正パラメータは、ポインティングデバイスの動きの程度が所定条件を満足した場合に更新し(ステップS5,S55で「YES」が判断)、ポインティングデバイスの動きの程度が所定条件を満足しない場合には更新しない(ステップS5,S55で「NO」が判断)。ただし、傾き角度θcに応じて、補正パラメータを逐次更新してもよい。この場合は、上記(10)のようにして、傾き角度θcを求めることが好ましい。
また、MCU9は、ボタン3が押下されたときに、補正パラメータを更新するようにしてもよい。この場合、操作前に、あるいは、握り方(ポインティングデバイスの姿勢)を変えるときに、静止状態で、ユーザにボタン3を押下させる。
(12)上記では、ポインティングデバイスの動きの程度は、角速度ωz及びωxに基づき判断された。ただし、ポインティングデバイスの動きの程度を、加速度ax及びazに基づき判断することもできる。また、上記では、ωsにより動きの程度を判定したが、動きの程度を表す指標はωsに限定されない。
(13)上記実施の形態1〜4において、傾き角度θcを次式により求めてもよいことは言うまでもない(図4参照)。また、回転角θvは、式(10)において、加速度axを加速度ayと置き換えることによって得ることもできる。
θc=arctan(ax/az) …(10)
(14)実施の形態1において、補正パラメータA(θc)及びB(θc)を、それぞれ、三角関数で表してもよい。
(15)実施の形態1では、角速度ωzを補正したが、補正することなしに、水平移動量Hを求めてもよい。
(16)実施の形態5において、角速度ωz,ωxを補正することなく、回転角θh,θvを求め、この回転角θh,θvを補正することもできる。この場合も、補正パラメータは、ローパスフィルタ68を通過した加速度ax#,az#から算出する。また、実施の形態5において、角速度ωz,ωxを補正することなく、回転角θh,θv及び移動量H,Vを求め、この移動量H,Vを補正することもできる。この場合も、補正パラメータは、ローパスフィルタ68を通過した加速度ax#,az#から算出する。
(17)実施の形態5では、補正パラメータM〜Pを計算で求めたが、実施の形態2と同様に、予め計算してメモリ11に格納しておくこともできる。
(18)実施の形態1〜4において、動き判定部21に代えて、実施の形態5のローパスフィルタ68を設け、傾き角算出部32は、ローパスフィルタ68を通過した加速度ax#から傾き角度θcを求めることもできる。この場合は、角速度補正部22,54は、逐次、補正を行う。また、この場合、ローパスフィルタ68を通過した加速度ax#,az#から、式(10)を用いて、傾き角度θcを求めることもできる。
(19)実施の形態1〜4では、補正パラメータを実験的及び/又は経験的求めたが、補正パラメータが正弦関数及び余弦関数である場合でも、動き判定部21を設けたことの効果は有効であるし、動き判定部21に代えてローパスフィルタ68を設けたことの効果は有効である。
(20)本明細書及び特許請求の範囲において、手段とは必ずしも物理的手段を意味するものではなく、各手段の機能がソフトウェアによって実現される場合も含む。さらに、1つの手段の機能が2つ以上の物理的手段により実現されても、もしくは2つ以上の手段の機能が1つの物理的手段により実現されてもよい。
本発明は、映像とポインティングデバイスとを用いて直感的な操作を提供するグラフィカルユーザインタフェース(GUI)を搭載したコンピュータ及び電子機器の分野に利用可能である。
1,50,64…ポインティングデバイス、3…ボタン、5…角速度センサ、7…加速度センサ、9…MCU、11…メモリ、13…RFモジュール、20…角速度検出部、21…動き判定部、22,54,72…角速度補正部、24,34,56…回転角算出部、26…水平移動量算出部、28,60…補正パラメータ記憶部、30,62,66…加速度検出部、32…傾き角算出部、36…垂直移動量算出部、37…ボタン検知部、38…送信部、58…移動量算出部、68…ローパスフィルタ、70…補正パラメータ算出部、100…表示装置、102…カーソル。
Claims (32)
- 三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの第1所定方向の移動量を算出するため、前記ポインティングデバイスの第1軸周りの回転を表す第1回転情報を補正する補正装置において、
前記ポインティングデバイスの姿勢を表す姿勢情報に対応した第1補正パラメータを利用して、前記第1回転情報を補正する補正手段を有し、
前記第1補正パラメータは、実験的及び/又は経験的に定められたものである、補正装置。 - 前記第1補正パラメータは、第2補正パラメータ及び第3補正パラメータを含み、
前記補正手段は、次式により、前記第1回転情報を補正する、請求項1記載の補正装置。
ωz#=A(θc)×ωz+B(θc)×ωx
ただし、
ωz:第1回転情報
ωx:第1軸に垂直な第2軸周りの回転を表す第2回転情報
A(θc):第2補正パラメータ
B(θc):第3補正パラメータ
θc:姿勢情報
A(θc)及びB(θc)は、姿勢情報θcの関数
ωz#:補正後の第1回転情報。 - 前記ポインティングデバイスの前記姿勢情報が、標準姿勢を含む所定範囲内の場合、前記第3補正パラメータB(θc)は0であり、
前記標準姿勢は、前記第1軸方向が重力加速度の方向と一致する場合の前記ポインティングデバイスの姿勢である、請求項2記載の補正装置。 - 前記ポインティングデバイスの前記姿勢情報が、標準姿勢を含む所定範囲内の場合、前記第1補正パラメータは、補正を施さない値に定められ、
前記標準姿勢は、前記第1軸方向が重力加速度の方向と一致する場合の前記ポインティングデバイスの姿勢である、請求項1又は2記載の補正装置。 - 前記補正手段は、前記ポインティングデバイスの、前記第1所定方向に垂直な第2所定方向の移動量を算出するため、前記姿勢情報に対応した第4補正パラメータを利用して、前記第1軸に垂直な第2軸周りの回転を表す第2回転情報を補正し、
前記第4補正パラメータは、実験的及び/又は経験的に定められたものである、請求項1記載の補正装置。 - 前記第1補正パラメータは、第2補正パラメータ及び第3補正パラメータを含み、
前記第4補正パラメータは、第5補正パラメータ及び第6補正パラメータを含み、
前記補正手段は、次式により、前記第1回転情報及び前記第2回転情報を補正する、請求項5記載の補正装置。
ωz#=A(θc)×ωz+B(θc)×ωx
ωx#=C(θc)×ωz+D(θc)×ωx
ただし、
ωz:第1回転情報
ωx:第2回転情報
A(θc):第2補正パラメータ
B(θc):第3補正パラメータ
C(θc):第5補正パラメータ
D(θc):第6補正パラメータ
θc:姿勢情報
A(θc)、B(θc)、C(θc)、及び、D(θc)は、姿勢情報θcの関数
ωz#:補正後の第1回転情報
ωx#:補正後の第2回転情報。 - 前記ポインティングデバイスの前記姿勢情報が、標準姿勢を含む所定範囲内の場合、前記第3補正パラメータB(θc)及び前記第5補正パラメータC(θc)は0であり、前記標準姿勢は、前記第1軸方向が重力加速度の方向と一致する場合の前記ポインティングデバイスの姿勢である、請求項6記載の補正装置。
- 前記ポインティングデバイスの前記姿勢情報が、標準姿勢を含む所定範囲内の場合、前記第1補正パラメータ及び前記第4補正パラメータは、補正を施さない値に定められ、
前記標準姿勢は、前記第1軸方向が重力加速度の方向と一致する場合の前記ポインティングデバイスの姿勢である、請求項5又は6記載の補正装置。 - 前記第1補正パラメータは、前記姿勢情報の関数であり、N次曲線(Nは1以上の整数)で表される、請求項1記載の補正装置。
- 前記第1補正パラメータは、異なる前記N次曲線の結合で表される、請求項9記載の補正装置。
- 前記補正手段は、前記ポインティングデバイスの動きの程度が所定条件を満たしたときの前記姿勢情報に基づいて前記第1補正パラメータを更新する、請求項1、9又は10記載の補正装置。
- 前記第1補正パラメータは、前記姿勢情報の関数であり、N次曲線(Nは1以上の整数)で表され、
前記第4補正パラメータは、前記姿勢情報の関数であり、M次曲線(Mは1以上の整数)で表される、請求項5記載の補正装置。 - 前記第1補正パラメータは、異なる前記N次曲線の結合で表され
前記第4補正パラメータは、異なる前記M次曲線の結合で表される、請求項12記載の補正装置。 - 前記補正手段は、前記ポインティングデバイスの動きの程度が所定条件を満たしたときの前記姿勢情報に基づいて前記第1補正パラメータ及び前記第4補正パラメータを更新する、請求項5、12又は13記載の補正装置。
- 前記姿勢情報は、加速度から算出され、あるいは、加速度によって表される、請求項11又は14記載の補正装置。
- 三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの所定方向の移動量を補正する補正装置において、
前記ポインティングデバイスの姿勢を表す姿勢情報に対応した補正パラメータを利用して、前記所定方向の移動量を補正する補正手段を有し、
前記補正パラメータは、実験的及び/又は経験的に定められたものである、補正装置。 - 前記姿勢情報は、加速度によって表される、請求項1、5又は16記載の補正装置。
- 三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの第1所定方向の移動量を算出するため、前記ポインティングデバイスの第1軸周りの回転を表す第1回転情報を補正する補正装置であって、
前記ポインティングデバイスの動きの程度が所定条件を満たしたか否かを判断する判断手段と、
前記ポインティングデバイスの姿勢を表す姿勢情報に対応した第1補正パラメータを利用して、前記第1回転情報を補正する補正手段と、を備え、
前記補正手段は、前記ポインティングデバイスの動きの程度が前記所定条件を満たしたときの前記姿勢情報に基づいて前記第1補正パラメータを更新する、補正装置。 - 三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの所定方向の移動量を補正する補正装置であって、
前記ポインティングデバイスの動きの程度が所定条件を満たしたか否かを判断する判断手段と、
前記ポインティングデバイスの姿勢を表す姿勢情報に対応した補正パラメータを利用して、前記所定方向の移動量を補正する補正手段と、を備え、
前記補正手段は、前記ポインティングデバイスの動きの程度が前記所定条件を満たしたときの前記姿勢情報に基づいて前記補正パラメータを更新する、補正装置。 - 三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの所定方向の移動量を算出するため、前記ポインティングデバイスの回転を表す回転情報を補正する補正装置であって、
前記ポインティングデバイスの加速度を検出する加速度センサと、
前記加速度センサが検出した前記加速度を入力とするローパスフィルタと、
前記ローパスフィルタの出力に基づいて、前記回転情報を補正する補正手段と、を備える補正装置。 - 三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの所定方向の移動量を補正する補正装置であって、
前記ポインティングデバイスの加速度を検出する加速度センサと、
前記加速度センサが検出した前記加速度を入力とするローパスフィルタと、
前記ローパスフィルタの出力に基づいて、前記所定方向の移動量を補正する補正手段と、を備える補正装置。 - 三次元空間における、第1所定方向の移動量及び前記第1所定方向に垂直な第2所定方向の移動量を算出するポインティングデバイスであって、
前記ポインティングデバイスの第1軸周りの回転を検出し、回転情報を出力する回転検出手段と、
前記第1軸に垂直な第2軸方向の加速度を検出し、第1加速度情報を出力する第1加速度検出手段と、
前記回転情報に基づいて、前記第1所定方向の移動量を算出する第1移動量算出手段と、
前記第1加速度情報に基づいて、前記第2所定方向の移動量を算出する第2移動量算出手段と、を備えるポインティングデバイス。 - 前記第1軸及び前記第2軸に垂直な第3軸方向の加速度を検出し、第2加速度情報を出力する第2加速度検出手段と、
前記第2加速度情報に基づく前記ポインティングデバイスの姿勢を表す姿勢情報に対応した補正パラメータを利用して、前記回転情報を補正する補正手段と、をさらに備え、
前記第1移動量算出手段は、補正された前記回転情報に基づいて、前記第1所定方向の移動量を算出する、請求項22記載のポインティングデバイス。 - 前記第1所定方向は、水平方向であり、
前記第2所定方向は、垂直方向である、請求項22又は23記載のポインティングデバイス。 - 三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの第1所定方向の移動量を算出するため、前記ポインティングデバイスの第1軸周りの回転を表す第1回転情報を補正する補正方法において、
前記ポインティングデバイスの姿勢を表す姿勢情報に対応した第1補正パラメータを利用して、前記第1回転情報を補正し、
前記第1補正パラメータは、実験的及び/又は経験的に定められたものである、補正方法。 - 三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの所定方向の移動量を補正する補正方法において、
前記ポインティングデバイスの姿勢を表す姿勢情報に対応した補正パラメータを利用して、前記所定方向の移動量を補正し、
前記補正パラメータは、実験的及び/又は経験的に定められたものである、補正方法。 - 前記姿勢情報は、加速度によって表される、請求項25又は26記載の補正方法。
- 三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの第1所定方向の移動量を算出するため、前記ポインティングデバイスの第1軸周りの回転を表す第1回転情報を補正する補正方法であって、
前記ポインティングデバイスの動きの程度が所定条件を満たしたか否かを判断するステップと、
前記ポインティングデバイスの姿勢を表す姿勢情報に対応した第1補正パラメータを利用して、前記第1回転情報を補正するステップと、を含み、
補正する前記ステップでは、前記ポインティングデバイスの動きの程度が前記所定条件を満たしたときの前記姿勢情報に基づいて前記第1補正パラメータを更新する、補正方法。 - 三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの所定方向の移動量を補正する補正方法であって、
前記ポインティングデバイスの動きの程度が所定条件を満たしたか否かを判断するステップと、
前記ポインティングデバイスの姿勢を表す姿勢情報に対応した補正パラメータを利用して、前記所定方向の移動量を補正するステップと、を含み、
補正する前記ステップでは、前記ポインティングデバイスの動きの程度が前記所定条件を満たしたときの前記姿勢情報に基づいて前記補正パラメータを更新する、補正方法。 - 三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの所定方向の移動量を算出するため、前記ポインティングデバイスの回転を表す回転情報を補正する補正方法であって、
前記ポインティングデバイスの加速度を検出するステップと、
検出する前記ステップが検出した前記加速度から低周波成分を抽出するステップと、
前記加速度の前記低周波成分に基づいて、前記回転情報を補正するステップと、を含む補正方法。 - 三次元空間中の位置の移動によって画面上の位置を指示するポインティングデバイスの所定方向の移動量を補正する補正方法であって、
前記ポインティングデバイスの加速度を検出するステップと、
検出する前記ステップが検出した前記加速度から低周波成分を抽出するステップと、
前記加速度の前記低周波成分に基づいて、前記所定方向の移動量を補正するステップと、を含む補正方法。 - 三次元空間におけるポインティングデバイスの第1所定方向の移動量及び前記第1所定方向に垂直な第2所定方向の移動量を算出する移動量算出方法であって、
前記ポインティングデバイスの第1軸周りの回転を検出するステップと、
前記第1軸に垂直な第2軸方向の加速度を検出するステップと、
前記回転の情報に基づいて、前記第1所定方向の移動量を算出するステップと、
前記加速度の情報に基づいて、前記第2所定方向の移動量を算出するステップと、を含む移動量算出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012171955A JP2014038365A (ja) | 2011-11-14 | 2012-08-02 | 補正装置、ポインティングデバイス、補正方法、及び、移動量算出方法 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011248239 | 2011-11-14 | ||
JP2011248239 | 2011-11-14 | ||
JP2012159905 | 2012-07-18 | ||
JP2012159905 | 2012-07-18 | ||
JP2012171955A JP2014038365A (ja) | 2011-11-14 | 2012-08-02 | 補正装置、ポインティングデバイス、補正方法、及び、移動量算出方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014038365A true JP2014038365A (ja) | 2014-02-27 |
Family
ID=50286485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012171955A Pending JP2014038365A (ja) | 2011-11-14 | 2012-08-02 | 補正装置、ポインティングデバイス、補正方法、及び、移動量算出方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014038365A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016129742A1 (ko) * | 2015-02-12 | 2016-08-18 | (주)기술과가치 | 포인팅 디바이스 및 포인터 제어 방법 |
-
2012
- 2012-08-02 JP JP2012171955A patent/JP2014038365A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016129742A1 (ko) * | 2015-02-12 | 2016-08-18 | (주)기술과가치 | 포인팅 디바이스 및 포인터 제어 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9086724B2 (en) | Display control system, display control method, computer-readable storage medium having stored thereon display control program, and display control apparatus | |
US10197587B2 (en) | Device and method for using time rate of change of sensor data to determine device rotation | |
KR102256677B1 (ko) | 플렉서블 표시장치 및 이의 영상 표시방법 | |
US8957909B2 (en) | System and method for compensating for drift in a display of a user interface state | |
JP4860697B2 (ja) | 加速度センサの補正装置および加速度センサの出力値補正方法 | |
EP2354893B1 (en) | Reducing inertial-based motion estimation drift of a game input controller with an image-based motion estimation | |
WO2017047150A1 (ja) | 仮想空間提供方法及びプログラム | |
US10930008B2 (en) | Information processing apparatus, information processing method, and program for deriving a position orientation of an image pickup apparatus using features detected from an image | |
US20080303697A1 (en) | Input apparatus, control apparatus, control system, control method, and program therefor | |
US20170076496A1 (en) | Method and apparatus for providing a virtual space with reduced motion sickness | |
US9507414B2 (en) | Information processing device, information processing method, and program | |
JP2007278759A (ja) | 傾斜角演算方法及び傾斜角演算装置 | |
US20190120627A1 (en) | Offset correction apparatus for gyro sensor, recording medium storing offset correction program, and pedestrian dead-reckoning apparatus | |
JP5809416B2 (ja) | 携帯機器と自律航法演算法 | |
CN106445334B (zh) | 显示界面的调节方法及调节系统 | |
CN110986928A (zh) | 光电吊舱三轴陀螺仪漂移实时修正方法 | |
CN114764241A (zh) | 运动状态的控制方法、装置、设备及可读存储介质 | |
CN110645976B (zh) | 一种移动机器人的姿态估计方法及终端设备 | |
JP2010074228A (ja) | 制御装置、ヘッドマウントディスプレイ装置、プログラム及び制御方法 | |
JP2008215915A (ja) | 磁気データ処理装置、方法およびプログラムならびに磁気処理システム。 | |
CN103116411B (zh) | 定位指针位置的方法及系统 | |
JP2017102030A (ja) | ピッチ角速度補正値算出装置、姿勢角算出装置およびピッチ角速度補正値算出方法 | |
US20130257714A1 (en) | Electronic device and display control method | |
US11620846B2 (en) | Data processing method for multi-sensor fusion, positioning apparatus and virtual reality device | |
JP2014038365A (ja) | 補正装置、ポインティングデバイス、補正方法、及び、移動量算出方法 |