説明

ポインティング位置制御装置及びポインティング位置制御方法

【課題】指示器が示す位置をディスプレイ上に反映したポインティング位置のぶれを軽減させる、ポインティング位置制御装置を提供すること。
【解決手段】ポインティング位置制御装置本体の姿勢を決定する本体姿勢決定部と、指示器のズレ量を決定する指示位置ズレ位置決定部と、装置本体の加速度情報と、指示器のズレ量とを用いて、ポインティング位置を決定するポインティング位置決定部を備え、入力操作によって装置本体が動いた場合に、指示器が示すポインティング位置のズレ量を判断して制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はポインティング位置制御装置に関し、特に、携帯端末に配置されたセンサを用いて指示器の位置を検出し、指示器の位置が反映された指示画像を表示して入力を制御するポインティング位置制御装置に関するものである。
【背景技術】
【0002】
従来のポインティング位置制御装置の一つとして、表示ディスプレイ面上を指示器でタッチすることでポインティング位置を更新するタッチパネルが挙げられる。一方で、表示ディスプレイの一つとして立体視が可能な立体視ディスプレイが近年脚光を浴びている。
【0003】
ここで、立体視ディスプレイ面上を指示器でタッチすることを考えた場合、特に立体視画像が飛び出ているような状況においては、ディスプレイを視認している使用者に違和感を与えてしまう。なぜなら、立体映像に重なったタッチパネル上の指示器を視認する場合、指示器と立体視画像の幾何学的な見え方と、視差による見え方とで、感じ方が異なるからである。より詳細には、幾何学的な見え方においては、指示器が立体視画像よりも手前に見えるのに対し、視差による見え方においては、立体視画像の方が指示器よりも手前に見える。従って、立体視ディスプレイ上でタッチ操作を行うことは、見易さの観点においては不適切である。言い換えれば、直感的な指示操作と見易さとを両立させるに、指示器は、立体視ディスプレイ上(即ち立体視ディスプレイの前面)ではなく、背面側で動かす方が、適切である。操作対象の携帯端末は、背面側に存在する指示器の位置を認識して、前面のディスプレイに指示器の位置を表示する。
【0004】
ディスプレイの背面に指示器を配置して認識・表示する従来のポインティング位置制御装置としては、ディスプレイの背面にタッチセンサを設けているものがあった(例えば特許文献1参照)。また、HMDの前面(即ちHMDのディスプレイ部分の背面)に存在する指示器の位置を認識させ、ディスプレイ部分の前面に指示器の位置を表示するものがあった(例えば特許文献2参照)。
【0005】
特許文献1に記載の入力操作部は、ディスプレイの背面のタッチセンサを用いて、入力操作が可能となる。
【0006】
また、特許文献2に記載のデータ処理装置は、HMD外からの入力に基づいて、例えば、本のページをめくるような感覚で表示データの切り替えを行うため、ページめくり制御回路が角度センサ、方位センサ及び赤外線センサなどの各種センサ情報を用いてより自然なページめくり感を使用者に与えるものであった。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008−225541号公報
【特許文献2】特開平7−78055号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、前記従来の技術では、操作者が指示器を動かしていなくても、操作対象の携帯端末本体が動くことで、センサが検出する指示器の相対位置がずれ、ポインティング位置がぶれるというという課題を有していた。
【0009】
本発明は、前記従来の課題を解決するもので、ディスプレイ面の反対側に存在する指示器が示す位置をディスプレイ上に反映したポインティング位置のぶれを軽減させる、ポインティング位置制御装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
前記従来の課題を解決するために、本発明のポインティング位置制御装置は、指示器が示す位置を反映したポインティング画像を表示して入力を制御するポインティング位置制御装置において、装置本体の姿勢を決定する本体姿勢決定部と、装置本体に対する前記指示器の相対位置と、前記本体姿勢決定部が決定した前記姿勢とを用いて、前記指示器の実空間における単位時間当たりの動作量であるズレ量を決定する指示位置ズレ情報決定部と、装置本体の加速度情報と、前記ズレ量とを用いて、ポインティング画像の表示位置を決定するポインティング位置決定部とを備える。
【0011】
本構成によって、装置本体の姿勢と動きに基づいて、指示器が示すポインティング位置のズレ量を判断し、表示するポインティング位置を決定することができる。
【発明の効果】
【0012】
本発明のポインティング位置制御装置によれば、装置本体への入力操作によって装置本体が動いた場合に、指示器が示すポインティング位置のズレ量を判断して制御することで、表示するポインティング位置のぶれを軽減することが可能となる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施の形態1におけるポインティング位置制御装置の全体構成図
【図2】本発明の実施の形態1におけるポインティング位置制御部の構成図
【図3】ポインティング位置制御装置の概観図
【図4】ポインティング位置制御装置使用時の概観図
【図5】ポインティング位置制御装置にトリガー操作を行った際の概観図
【図6】ポインティング位置制御装置にトリガー操作を行った後の概観図
【図7】入力状態格納部に格納しているデータの一例を示す図
【図8】指示位置格納部に格納しているデータの一例を示す図
【図9】加速度情報格納部に格納しているデータの一例を示す図
【図10】ポインティング位置格納部に格納しているデータの一例を示す図
【図11】立体視画像の左目用画像及び右目用画像のイメージ図
【図12】立体視画像のサイドバイサイド画像のイメージ図
【図13】制御情報格納部に格納しているデータの一例を示す図
【図14】本体姿勢格納部に格納しているデータの一例を示す図
【図15】ポインティング位置制御装置の姿勢変化を示すイメージ図
【図16】ポインティング位置制御部の状態の変化を示すイメージ図
【図17】ポインティング位置制御装置の全体処理の一例を示すフロー図
【図18】ポインティング位置制御部のポインティング位置決定処理の一例を示すフロー図
【図19】ポインティング位置制御部の通常状態での処理の一例を示すフロー図
【図20】ポインティング位置制御部の指示器接近中状態での処理の一例を示すフロー図
【図21】ポインティング位置制御部の接触中状態での処理の一例を示すフロー図
【図22】ポインティング位置制御部の接触後状態での処理の一例を示すフロー図
【発明を実施するための形態】
【0014】
以下本発明の実施の形態について、図面を参照しながら説明する。
【0015】
(実施の形態1)
(1.1 概要)
図3は、本発明の実施の形態1におけるポインティング位置制御装置の概観を示す。ポインティング位置制御装置は、指示器の位置が反映された画像を表示して入力を制御する機能を有している。ポインティング位置制御装置100は、装置本体ケースの表側に画像出力部112(ディスプレイ)を、裏側に撮像部103を備える。また、ポインティング位置制御装置は、入力部101(決定キーボタン、終了キーボタン)と、ポインティング位置制御装置100のケース内に加速度センサ106を備えている。決定キーボタンは、ポインティング位置を決定する際に使用する。終了キーボタンは、起動中のアプリケーションを終了する際に使用する。入力部101は、表側の下部に配置されている。また、撮像部103は、裏側の上部に配置されている。
【0016】
ポインティング位置制御装置100は、画像出力部112と反対側に存在する指示器の位置を、撮像部103を用いて認識し、指示器の位置を反映した画像出力部112上の位置(ポインティング位置)に、ポインティング画像を表示する。
【0017】
図4は、ポインティング位置制御装置のディスプレイ上に、ポインティング画像を表示した図を示す。ポインティング位置制御装置100は、撮像部103の撮像範囲内に位置する指示器400(例えば使用者の左手)を動かすと、これに連動した画像出力部112上に位置に、ポインティング画像401を出力する。ポインティング位置を決定するための操作(以下、トリガー操作と記載する)は、入力部101(決定キーボタン)を押下することで実現する。
【0018】
図5は、ポインティング位置制御装置にトリガー操作した際を示す。使用者が、入力部101(決定キーボタン)を押下すると、入力部101付近において、矢印500の向きに加速度が生じて本体にブレが生じ、図5には図示されない撮像部103の位置も矢印501の方向へ動く。矢印500と矢印501は、逆の方向を示す。その結果、撮像部103に映りこむ指示器400の位置も変化するため、指示器400に連動して決定するポインティング画像の表示位置は、矢印502の方向へブレが生じる。
【0019】
図6は、ポインティング位置制御装置にトリガー操作した後、つまり、図5の押下操作の終了時を示す。使用者が、入力部101(決定キーボタン)から指を離すと、入力部101付近において、矢印600の方向へ加速度が生じ、図6に図示されない撮像部103の位置も矢印601の方向へ動く。矢印600と矢印601は、逆の方向を示す。その結果、撮像部103に映りこむ指示器400の位置も変化するため、指示器400に連動して決定するポインティング画像の表示位置は、矢印602の方向へブレが生じる。
【0020】
なお、入力部101と撮像部103の配置箇所、装置本体ケースの縦横サイズなどによって、ブレ方向やブレ量が変化する。以下の説明は、図4から図6で図示した配置である場合を、一例として説明している。
【0021】
本発明のポインティング位置制御装置100は、ポインティング画像の表示位置のブレを低減するため、トリガー操作の入力状態と姿勢情報から、ポインティング画像を表示する位置を補正することを特徴とする。使用者が指示器を動かしていない状況でのトリガー操作によって、装置本体が動いた場合に、指示器が示すポインティング位置のズレ量を判断して制御することで、表示するポインティング位置のブレを軽減すること可能となる。
【0022】
(1.2 ポインティング位置制御装置の全体構成)
図1は、本発明の実施の形態1に係るポインティング位置制御装置100の構成を示す。
【0023】
ポインティング位置制御装置100は、入力部101、入力状態格納部102、撮像部103、指示器認識部104、指示位置格納部105、加速度センサ106、加速度情報格納部107、ポインティング位置制御部108、ポインティング位置格納部109、アプリケーション部110、画像生成部111、描画画像格納部111A、画像出力部112、制御情報格納部113、タイマ部114を備える。以下、各構成要素について説明する。
【0024】
(1.2.1 入力部)
入力部101は、外部からの操作を受け付け、ポインティング位置制御部108に制御に必要な情報を提供する。入力部101は、例えば、タッチパネル、キーボード、マウス、ボタン、その他のコントローラ等からなる。使用者は、入力部101に対して操作を行うことで、アプリケーション上での決定操作などの処理を制御する。入力部101は、使用者からの操作を受け付けると、入力状態格納部102に操作内容を示す情報を書き込む。
【0025】
図7は、入力状態格納部102に格納している入力状態情報の一例を示す。入力状態情報は、決定キー入力状態フラグ700と終了キー入力状態フラグ701を含んでいる。決定キー入力状態フラグ700および終了キー入力状態フラグ701は、両方とも、初期状態では初期値「0」である。
【0026】
使用者が決定キーボタンを押下した場合、入力部101は、決定操作がなされたとして、入力状態格納部102に格納されている決定キー入力状態フラグ700を、「決定操作あり」を示す「1」に変更する。また、使用者が終了キーボタンを押下した場合、入力部101は、終了操作がなされたとして、入力状態格納部102に格納されている終了キー入力状態フラグ701を、「終了操作あり」を示す「1」に変更する。
【0027】
(1.2.2 撮像部)
撮像部103は、指示器認識部104に対して指示器の3次元位置を示す画像情報を提供する。撮像部103は、例えば、単眼カメラ、ステレオカメラ、赤外線カメラ、その他測距可能な撮像装置である。
【0028】
(1.2.3 指示器認識部)
指示器認識部104は、撮像部103から画像情報を取得し、当該画像情報を解析して指示器の3次元位置を認識し、ポインティング位置制御部108に対して提供する。
【0029】
指示器認識部104は、撮像部103から取得した画像情報を用いて位置を認識するため、認識した位置とは、撮像部103(装置本体)との相対位置となる。
【0030】
指示器認識部104は、撮像部103から単眼カメラによる画像を取得した場合、指示器の形状とその大きさから指示器の3次元位置を推定する。また、指示器認識部104は、撮像部103からステレオカメラによる画像を取得した場合、次の処理を行う。指示器認識部104は、取得した左目用画像と右目用画像とを用いて画素ごとにマッチング処理を行い、画像内の指示器部分の認識を行い、指示器部分の視差量を求めることで指示器の3次元位置を決定する。また、指示器認識部104は、図示しない照射部から特定のパターンの赤外光を被写体へ照射し、撮像部103から赤外光を取得し、タイムオブフライト方式やパターン照射法などの手法によって指示器の3次元位置を決定する。指示器認識部104は、認識した指示器の3次元位置を、指示位置情報として、指示位置格納部105に格納する。
【0031】
図8は、指示位置格納部105に格納している指示位置情報の一例を示す。指示位置情報は、x座標800、y座標801、及び、奥行き座標802を含んでいる。奥行き座標802は、メートル単位に換算された撮像部103からの距離を示す。
【0032】
(1.2.4 加速度センサ)
加速度センサ106は、ポインティング位置制御装置100本体に生じる加速度を計測し、計測した加速度値を、加速度情報として、加速度情報格納部107に格納する。
【0033】
図9(A)は、加速度情報格納部107に格納している加速度情報の一例を示す。加速情報は、上方向加速度値900、右方向加速度値901、奥方向加速度値902を含んでいる。また、本実施の形態1における「上方向」「右方向」「奥方向」の定義は、ポインティング位置制御装置100の撮像部103を基準とした方向である。図9(B)では、ポインティング位置制御装置100の撮像部103を手前として装置本体を図示しており、撮像部103に向かって右向きを右方向920、上向きを上方向921、奥向き(撮像部103とは逆方向)を奥方向922である。
【0034】
(1.2.5 ポインティング位置制御部)
ポインティング位置制御部108は、入力状態格納部102、指示位置格納部105、加速度情報格納部107に格納された情報を取得し、ポインティング画像の表示位置を決定して、ポインティング位置格納部109に格納する。ポインティング位置制御部108は、装置本体が動いた場合に、指示器が示すポインティング位置のズレ量を判断して、補正を行い、ポインティング画像の表示位置を決定する。
【0035】
図10は、ポインティング位置格納部109に格納しているポインティング位置情報の一例を示す。ポインティング位置情報は、3次元座標を示すx座標1000、y座標1001、視差値1002を含んでいる。
【0036】
(1.2.6 アプリケーション部)
アプリケーション部110は、装置本体にインストールされたアプリケーションを実行する実行部であり、ディスプレイへの描画を行う際に、描画要求を画像生成部111へ通知する。
【0037】
(1.2.7 画像生成部)
画像生成部111は、アプリケーション部110から描画要求を取得し、描画要求に基づいて描画処理を行う。また、画像生成部111は、ポインティング位置格納部109に格納されているポインティング位置情報が示す座標・視差で、ポインティング画像を描画処理する。画像生成部111は、アプリケーション部110から要求された描画データに重ねてポインティング画像を描画した画像を生成し、描画画像格納部111Aに格納する。描画画像格納部111Aは、右目用画像1100と左目用画像1101とを保持する。
【0038】
図11は、画像生成部111が生成する右目用画像1100と左目用画像1101の一例を示す。図11では、人物1102が描画データとして描画されており、視差を伴って描画されている。人物1102は、右目用画像1100と左目用画像1101とで、距離1103だけ離れているため、ディスプレイ面に比べて飛び出して見える。また、ポインティング画像401は、図10の視差値1002で示される量の視差を伴って描画され、右目用画像1100と左目用画像1101とで、距離1104だけ離れている。距離1101は、距離1102よりも小さいことから、ポインティング画像401は、人物1102よりも飛び出して見える。
【0039】
(1.2.8 画像出力部)
画像出力部112は、描画画像格納部111Aに格納された右目用画像1100と左目用画像1101とをサイドバイサイド合成し、立体画像表示を行う。サイドバイサイド合成とは、右目用画像と左目用画像とをそれぞれX軸方向に半分に縮小してそれぞれ横に並べたものである。図12は、図11の右目用画像1100と左目用画像1101とをサイドバイサイド合成した後の、サイドバイサイド画像を示す。サイドバイサイド画像は、右目用画像1100と左目用画像1101とを、それぞれX軸方向に半分に縮小し、横に並べた。なお、右目用画像1100と左目用画像1101とをサイドバイサイド方式で合成する例を示したが、これ以外の方法で合成してもよい。例えば、偶数ライン・奇数ラインそれぞれに右目用画像・左目用画像が配置されるインターレース方式で合成してもよい。また、奇数フレーム・偶数フレームそれぞれに右目用画像・左目用画像が割り当てられるフレームシーケンシャル方式で合成してもよい。
【0040】
(1.2.9 制御情報格納部)
制御情報格納部113は、ポインティング位置制御のために使用するパラメータ及び閾値などの制御情報を格納する。
【0041】
図13は、制御情報格納部113に格納している制御情報の一例を示す。制御情報は、タイマ値1300、タイマクロック値1301、フレームレート1302、状態フラグ1303、加速度閾値1304、ズレ閾値[1][2]1305、1312を含んでいる。更に、制御情報は、接近経過カウンタ初期値1306、接近経過カウンタ1307、移動量重みパラメータ[1][2]1308、1311、接触カウンタ初期値1309、接触カウンタ1310、距離閾値1313を含んでいる。
【0042】
タイマ値1300は、タイマ部114がカウントアップする値であり、初期値0である。
【0043】
タイマクロック値1301は、タイマ部114の動作速度を示し、タイマ部114が1秒間にタイマ値1300をカウントアップする回数を示す。
【0044】
フレームレート1302は、撮像部103が撮像処理を行う間隔を示す。
【0045】
状態フラグ1303は、「通常」「指示器接近中」「接触中」「接触後」のいずれかの状態を示し、初期値は「通常」である。
【0046】
加速度閾値1304は、ポインティング位置制御のための閾値であり、初期値が1.0メートル毎秒である。この値は、実験的に定めた値であり、予め設定されている。また、加速度閾値1304は、機器・用途に応じて変更してもよい。
【0047】
ズレ閾値[1]1305は、ポインティング位置制御のための閾値であり、初期値が5cmである。この値は、実験的に定めた値であり、予め設定されている。また、ズレ閾値[1]1305は、機器・用途に応じて変更してもよい。
【0048】
接近経過カウンタ初期値1306は、ポインティング位置制御のためのパラメータであり、初期値が3である。この値は、実験的に定めた値であり、予め設定されている。また、接近経過カウンタ初期値1306は、機器・用途に応じて変更してもよい。
【0049】
接近経過カウンタ1307は、ポインティング位置制御のためのパラメータであり、初期値は0である。
【0050】
移動量重みパラメータ[1]1308は、ポインティング位置制御のためのパラメータであり、初期値は0.5である。この値は、実験的に定めた値であり、予め設定されている。また、移動量重みパラメータ[1]1308は、機器・用途に応じて変更してもよい。
【0051】
接触カウンタ初期値1309は、ポインティング位置制御のためのパラメータであり、初期値が3である。この値は、これは実験的に定めた値であり、予め設定されている。また、接触カウンタ初期値1309は、機器・用途に応じて変更してもよい。
【0052】
接触カウンタ1310は、ポインティング位置制御のためのパラメータであり、初期値は0である。
【0053】
移動量重みパラメータ[2]1311は、ポインティング位置制御のためのパラメータであり、初期値は0.5である。この値は、実験的に定めた値であり、予め設定されている。また、移動量重みパラメータ[2]1311は、機器・用途に応じて変更してもよい。
【0054】
ズレ閾値[2]1312は、ポインティング位置制御のための閾値であり、初期値が5cmである。この値は、実験的に定めた値であり、予め設定されている。また、ズレ閾値[2]1312は、機器・用途に応じて変更してもよい。
【0055】
距離閾値1313は、ポインティング位置制御のための閾値であり、初期値は5(ドット)である。この値は、これは実験的に定めた値であり、予め設定されている。また、距離閾値1313は、機器・用途に応じて変更してもよい。
【0056】
(1.2.10 タイマ部)
タイマ部114は、ポインティング位置制御装置の現在時刻を管理するものであり、(1/(タイマクロック値1301))秒毎にタイマ値1300をカウントアップさせる。
【0057】
以上が、ポインティング位置制御装置の構成要素である。
【0058】
(1.3 ポインティング位置制御部の内部構成)
図2は、ポインティング位置制御装置100の構成要素の一つであるポインティング位置制御部108の内部構成を示す。
【0059】
ポインティング位置制御部108は、本体姿勢決定部200、本体姿勢格納部201、指示位置ズレ情報決定部202、ズレ情報格納部203、ポインティング位置決定部204を備える。以下、各構成要素について説明する。
【0060】
(1.3.1 本体姿勢決定部)
本体姿勢決定部200は、加速度情報格納部107から加速度情報を取得し、加速度情報を用いて、ポインティング位置制御装置100本体が、前フレームの姿勢から現フレームの姿勢へ変化した様子を示す姿勢変換行列M’を決定する。更に、本体姿勢決定部200は、当該加速度からポインティング位置制御装置100本体の姿勢を決定する。本体姿勢決定部200は、決定したポインティング位置制御装置100本体の姿勢を、姿勢情報として、本体姿勢格納部201に格納する。
【0061】
図14は、本体姿勢格納部201に格納している姿勢情報の一例を示す。図14では、ポインティング位置制御装置100本体の姿勢情報として、前フレームの姿勢から現フレームの姿勢へ変換する姿勢変換行列M’1400を保持する。
【0062】
(1.3.2 指示位置ズレ情報決定部)
指示位置ズレ情報決定部202は、本体姿勢格納部201に格納された姿勢情報と、指示位置格納部105に格納された指示位置情報とを用いて、指示器が示すポインティング位置のズレ量を判断する。指示位置ズレ情報決定部202は、装置本体が動いた場合の、ポインティング位置制御装置100に生じたブレによって、指示器の位置がどの程度ずれたのかを示すズレ量を決定し、ズレ情報格納部203に格納する。つまり、ズレ量とは、指示器の実空間における単位時間当たりの動作量である。
【0063】
次に、指示位置ズレ情報決定部202が、ズレ量を決定する手順について、説明する。図9(B)に示した記号を用い、右方向920はx軸正の向き、上方向921はy軸正の向き、奥方向922はz軸正の向きとして説明する。また、加速度センサ106の内蔵位置は位置925、撮像部103の装着位置の中央は位置926とし、加速度センサ106から撮像部103へのベクトルは、ベクトルd(dx、dy、dz)927と示す。また、図15は、前フレームから現フレームにかけて、ポインティング位置制御装置100本体が動き、姿勢1500から姿勢1501へと変化した場合の、指示器が示すポインティング位置について、一例を示している。以下、指示位置ズレ情報決定部202が、図15(A)から(B)に変化した場合のズレ量を演算する手順を、図9(B)に示した記号を用いて、説明する。
【0064】
図15(A)は、前フレームにおける状態を図示している。図15(B)は、現フレームにおける状態を図示している。前フレームにおける撮像部103の位置が原点、本体右方向(図9の右方向920)がx軸正の向き、本体上方向(図9の上方向921)がy軸正の向き、本体奥方向(図9の奥方向922)がz軸正の向きとした空間を、空間Wと定義する。
【0065】
【数1】

【0066】
まず、指示位置ズレ情報決定部202は、前フレームにおける演算を行う。図15の1502は、指示器の空間Wにおける座標を示す位置ベクトルI1を示す。図15の1503は、前フレームの姿勢における撮像部103が取得する指示器の位置ベクトルP1を示す。位置ベクトルI1から位置ベクトルP1へ変換する行列は、(数1)に示す射影行列Pで示す。指示位置ズレ情報決定部202は、P1=I1*Pを演算し、位置ベクトルP1を取得する。(数1)において、θはY方向の視野角、αはアスペクト比、Fは撮像部103から指示器までの最大距離、Nは撮像部103から指示器までの最小距離を示す。
【0067】
【数2】

【0068】
次に、指示位置ズレ情報決定部202は、現フレームにおける演算を行う。図15の1504は、指示器の空間Wにおける座標を示す位置ベクトルI2を示す。図15の1505は、撮像部103が取得する指示器の位置ベクトルP2を示す。位置ベクトルI2から位置ベクトルP2へ変換する行列は、(数2)に示すP’で示し、P2=I2*P’となる。ここで、ポインティング位置制御装置100本体の姿勢が、姿勢1500から姿勢1501へと変換する変換行列をMとすると、P’=M*Pとなる。
【0069】
指示位置ズレ情報決定部202は、(数2)に示す導出より、|I2−I1|を、ズレ量として算出する。つまり、指示位置ズレ情報決定部202は、前フレームでの空間Wにおける指示器の位置(I1)と、現フレームでの空間Wにおける指示器の位置(I2)の距離を、ズレ量と決定する。
【0070】
なお、(数2)中の位置ベクトルP1及び位置ベクトルP2は、撮像部103によって取得された、撮像画像中での指示器の座標とし、行列Pの各成分は、カメラパラメータとして予め装置内部に保持しておく。一方、(数2)中の変換行列Mは、前フレームの撮像部103の位置を原点とした撮像座標系から、現フレームの撮像部103の位置を原点とした撮像座標系へ、変換するための変換行列である。
【0071】
また、加速度センサ106によって得られる姿勢の変化パラメータは、加速度センサ106の位置を原点としたセンサ座標系におけるものである。加速度センサ106から撮像部103へのベクトルは、ベクトルdと示す。
【0072】
【数3】

【0073】
(数3)に示すように、変換行列M及び|I2−I1|は、本体姿勢格納部201に格納された姿勢変換行列M’と、ベクトルdから得られる行列Dとから求められる。前述したとおり、|I2−I1|は、ズレ量である。
【0074】
<1.3.3 ポインティング位置決定部>
ポインティング位置決定部204は、ズレ情報格納部203のズレ量、入力状態格納部102の入力状態情報、指示位置格納部105の指示位置情報、ポインティング位置格納部109のポインティング位置情報を取得し、位置を決定する。ズレ量は、ズレ情報格納部203に格納された指示器のズレ量である。指示位置情報は、指示位置格納部105に格納された、推定した指示器の3次元位置である。ポインティング位置情報は、ポインティング位置格納部109に格納された前フレームにおけるポインティング位置である。
【0075】
ポインティング位置決定部204は、状態フラグ1303を確認し、現在の状態に応じて、ポインティング位置を決定する。また、ポインティング位置決定部204は、決定したポインティング位置を、ポインティング画像の表示位置として、ポインティング位置格納部109へ格納する。ポインティング位置決定部204が、現在の状態に応じて、ポインティング位置を決定する処理の詳細は、後でフロー図を用いて説明する。
【0076】
以上の構成により、本発明のポインティング位置制御装置は、使用者がトリガー操作を行った場合に、ポインティング画像を表示する位置を補正することが可能となる。
【0077】
図16は、使用者が、ポインティング位置制御装置を操作した場合の、状態の変化を図で示した。
【0078】
図16(A)は、装置本体が動いていない通常の状態であり、ポインティング位置制御装置は、指示器1600の位置を反映した位置1601に、ポインティング画像を表示する。
【0079】
図16(B)は、使用者がトリガー操作した状態であり、使用者が入力部101を押下しようとしてポインティング位置制御装置100本体に加速度が生じた場合である。ポインティング位置制御装置は、装置本体に加速度が生じかつ指示器のズレ量の変化量が小さいことを判断し、指示器1600の位置を反映した位置1602に遅れて追従させるよう、ポインティング画像1603の位置を決定する。なお、ズレ量の変化量が小さいとは、ズレ情報格納部203に格納されたズレ量がズレ閾値[1]1305未満であることを意味する。
【0080】
図16(C)は、使用者がトリガー操作した後の状態であり、使用者が入力部101を押下した後は、接近経過カウンタ初期値1306で示される一定時間が経過するまで、ポインティング画像1603の位置を変更しない。
【0081】
図16(D)は、図16(C)の一定時間が経過した後の状態であり、ズレ情報格納部203に格納されたズレ量に応じた速度で、ポインティング画像の位置1604を、本来の指示器1600の位置を反映した位置1605に追従させる。
【0082】
以上により、本発明のポインティング位置制御装置は、装置本体の姿勢と動きに基づいて、指示器が示すポインティング位置のズレ量を判断し、表示するポインティング位置を決定することができる。これにより、ポインティング位置制御装置は、装置本体への入力操作によって装置本体が動いた場合に、指示器が示すポインティング位置のズレ量を判断して制御することで、表示するポインティング位置のぶれを軽減することが可能となる。
【0083】
(1.4 動作)
ポインティング位置制御装置が、装置本体の姿勢と動きに基づいて、指示器が示すポインティング位置のズレ量を判断し、表示するポインティング位置を制御する動作について、説明する。
【0084】
(1.4.1 全体動作)
図17は、ポインティング位置制御装置の全体処理の一例を示すフロー図である。
【0085】
ポインティング位置制御装置100は、タイマ部114のクロック動作に連動して撮像処理、ポインティング位置制御処理及び画像生成処理を行う。
【0086】
ポインティング位置制御装置100が起動すると(S100)、ポインティング位置制御部108は、タイマ値1300を初期化する(S110)。具体的には、タイマ値1300に0をセットする。
【0087】
次に、ポインティング位置制御部108は、タイマ部114を起動し、タイマ部114は、クロック値1301で示される速度で、タイマ値1300をカウント(増加)する(S120)。タイマ部114は、ポインティング位置制御装置が停止するまで、タイマ値1300のカウントを継続する。
【0088】
タイマ値1300が、1フレームあたりのクロック数(タイマクロック値1301÷フレームレート1302)に達すると(S130)、ポインティング位置制御部108は、次フレーム時刻と判断し、ステップS135に遷移する。
【0089】
ポインティング位置制御部108は、タイマ値1300を初期化し、タイマ値1300に0をセットする(S135)。
【0090】
ポインティング位置制御部108は、撮像部103を駆動し、撮像部103は、撮像処理を行う(S140)。指示器認識部104は、撮像部103から画像情報を取得し、指示器の位置を認識し、得られた指示位置情報を指示位置格納部105へ格納する(S143)。
【0091】
入力部101は、入力状態格納部102の内容を初期化し、使用者からの操作を受け付けて、入力状態を取得し、入力状態格納部102の入力状態情報を変更する(S146)。
【0092】
加速度センサ106は、ポインティング位置制御装置100本体に生じる加速度を計測して、加速度情報を取得し、加速度情報格納部107へ格納する(S150)。
【0093】
次に、ポインティング位置制御部108は、入力状態格納部102、指示位置格納部105、加速度情報格納部107から各種情報を取得し、ポインティング画像の表示位置を決定し、ポインティング位置格納部109に格納する(S160)。ステップS160の処理については、後で詳細を説明する。
【0094】
画像生成部111は、アプリケーション部110から取得した描画データに、ポインティング画像を重畳した画像を生成し、描画画像格納部111Aに格納する(S170)。描画画像格納部111Aに格納する画像は、図11で一例を示した、立体視可能な画像である。
【0095】
最後に、ポインティング位置制御部108は、入力状態格納部102の終了キー入力状態フラグ701が、「終了操作あり」を示す「1」になっているか否かを判定する(S180)。「終了操作あり」でない場合(S180がNo)、ステップS130に遷移し、処理を繰り返す。一方、「終了操作あり」である場合(S180がYeo)、ポインティング位置制御部108は、処理を終了し、ポインティング位置制御装置は停止する(S190)。
【0096】
以上が、ポインティング位置制御装置の全体処理の流れである。
【0097】
(1.4.2 ポインティング位置決定処理(ステップS160))
ポインティング位置制御部108が処理する、ポインティング位置決定処理(図17のS160)の詳細な流れについて説明する。
【0098】
図18は、ポインティング位置決定処理の一例を示すフロー図である。
【0099】
ポインティング位置決定処理を開始すると、ポインティング位置制御部108の本体姿勢決定部200は、加速度情報格納部107から加速度情報を取得し、ポインティング位置制御装置100の姿勢変化を示す姿勢変換行列M’を決定する。本体姿勢決定部200は、決定した姿勢変換行列M’を、本体姿勢格納部201に格納する(S200)。
【0100】
指示位置ズレ情報決定部202は、本体姿勢格納部201から姿勢変換行列M’を取得し、指示位置格納部105に格納された指示器の位置情報と姿勢変換行列M’とから、指示器の座標のズレ量を決定する。指示位置ズレ情報決定部202は、決定したズレ量を、ズレ情報格納部203に格納する(S210)。
【0101】
続いて、ポインティング位置決定部204は、状態フラグ1303を確認して、現在の入力状態を判断し、現在の入力状態に応じて、ポインティング位置を決定する処理を行う(S220)。状態フラグ1303が「通常」の場合、ポインティング位置決定部204は、通常処理を行う(S230)。状態フラグ1303が「指示器接近中」の場合、ポインティング位置決定部204は、指示器接近中処理を行う(S240)。状態フラグ1303が「接触中」の場合、ポインティング位置決定部204は、接触中処理を行う(S270)。状態フラグ1303が「接触後」の場合(S250)、ポインティング位置決定部204は、接触後処理を行う(S260)。
【0102】
ポインティング位置決定部204が上記いずれかの処理を行った後、ポインティング位置決定処理を終了する(S270)。
【0103】
以上が、ポインティング位置決定処理の流れである。
【0104】
次に、ポインティング位置決定部204が処理する、状態フラグ1303に応じて、ポインティング位置を決定する各処理(図18のS230、S240、S250、S260)について、説明する。
【0105】
(1.4.3 通常処理(ステップS230))
図19は、通常処理の一例を示すフロー図である。
【0106】
ポインティング位置決定部204は、通常処理を開始すると、ポインティング位置制御装置100に加速度が発生したかを判定する(S300)。加速度情報格納部107に格納された加速度の大きさが、加速度閾値1304を超えていない場合、加速度が発生していないとして(S300がNo)、ポインティング画像の位置を通常更新する。つまり、ポインティング位置決定部204は、指示位置格納部105に格納された指示位置情報をそのままポインティング位置として、ポインティング位置格納部109へ格納する(S301)。一方、加速度の大きさが、加速度閾値1304以下の場合(S300がYes)、ステップS302に遷移する。
【0107】
ポインティング位置決定部204は、指示器のズレ量が小さいかを判定する(S302)。ポインティング位置決定部204は、ズレ情報格納部203に格納されたズレ量がズレ閾値[1]1305未満の場合、ズレ量が小さいと判定し(S302がYes)、ステップS303に遷移する。一方、ズレ情報格納部203に格納されたズレ量がズレ閾値[1]1305以上の場合(S302がNo)、位置を通常更新する。つまり、ポインティング位置決定部204は、指示位置格納部105に格納された指示位置情報をそのままポインティング位置として、ポインティング位置格納部109へ格納する(S301)。
【0108】
ポインティング位置決定部204は、接近経過カウンタ1307に接近経過カウンタ初期値1506を書き込んで初期化し(S303)、状態フラグ1303を「指示器接近中」に設定し、指示器接近中状態へ遷移する(S304)。
【0109】
ポインティング位置決定部204は、入力状態格納部102の決定キー入力状態フラグ700が、「入力操作あり」を示す「1」になっているか否かを判定する(S305)。「入力操作あり」である場合(S305がYes)、ポインティング位置決定部204は、接触カウンタ1310に接触カウンタ初期値1309で示される値を設定する(S306)。ポインティング位置決定部204は、状態フラグ1303を「接触中」に設定し、接触中状態へ遷移する(S307)。
【0110】
上記の処理が完了すると、ポインティング位置決定部204は処理を終了する(S308)。
【0111】
(1.4.4 指示器接近中処理(ステップS240))
図20は、指示器接近中処理の一例を示すフロー図である。
【0112】
ポインティング位置決定部204は、指示器接近中処理を開始すると、接近経過カウンタ1307を1減らし(S400)、加速度発生から一定時間経過したか否かを判定する(S401)。接近カウンタが0の場合、一定時間が経過したとして(S401がYes)、ポインティング位置決定部204は、状態フラグ1303を「接触後」に設定し、接触後状態へ遷移する(S402)。一方、接近カウンタが0でない場合、一定時間が経過していないとして(S401がNo)、ポインティング位置決定部204は、ポインティング画像の位置をゆっくり更新する(S403)。つまり、ポインティング位置決定部204は、(数4)に示す式によってポインティング画像の位置を決定する。
【0113】
【数4】

【0114】
(数4)において、Pos[t]は、現フレームにおけるポインティング画像の位置である。Pos[t−1]は、前フレームにおけるポインティング画像の位置である。Pos’は、現フレームにおける指示器の位置を反映したポインティング画像の位置である。αは、移動量重みパラメータ[1]1308に格納された値であり、0より大きく1以下の定数値である。
【0115】
ポインティング位置決定部204は、入力状態格納部102の決定キー入力状態フラグ700が、「入力操作あり」を示す「1」になっているか否かを判定する(S404)。「入力操作あり」である場合(S404がYes)、ポインティング位置決定部204は、接触カウンタ1310に接触カウンタ初期値1309で示される値を設定する(S405)。ポインティング位置決定部204は、状態フラグ1303を「接触中」に設定し、接触中状態へ遷移する(S406)。
【0116】
上記の処理が完了すると、ポインティング位置決定部204は処理を終了する(S407)。
【0117】
(1.4.5 接触中処理(ステップS250))
図21は、接触中処理の処理フロー図である。
【0118】
ポインティング位置決定部204は、接触中処理を開始すると、接触カウンタ1310を1減らし(S500)、接触から一定時間経過したか否かを判定する(S501)。接触カウンタが0の場合、一定時間が経過したとして(S501がYes)、ポインティング位置決定部204は、状態フラグ1303を「接触後」に設定し、接触後状態へ遷移する(S502)。一方、接触カウンタが0でない場合、一定時間が経過していないとして(S501がNo)、ポインティング位置決定部204は、ポインティング画像の位置を変更せずに(S503)、処理を終了する。
【0119】
上記の処理が完了すると、ポインティング位置決定部204は処理を終了する(S504)。
【0120】
(1.4.6 接触後処理(ステップS260))
図22は、接触後処理の一例を示すフロー図である。
【0121】
ポインティング位置決定部204は、接触後処理を開始すると、ズレ情報格納部203に格納されたズレ量に応じて、ポインティング画像の位置を更新する(S600)。つまり、ポインティング位置決定部204は、(数5)に示す式によってポインティング画像の位置を決定する。
【0122】
【数5】

【0123】
(数5)において、Pos[t]は、現フレームにおけるポインティング画像の位置である。Pos[t−1]は、前フレームにおけるポインティング画像の位置である。Pos’は、現フレームにおける指示器の位置を反映したポインティング画像の位置である。αは、移動量重みパラメータ[2]1311(0より大きく1以下の定数値)である。diffは、ズレ情報格納部203に格納された指示器のズレ量から求まる重みパラメータで、(数5)によって求める値である。また、(数5)のズレ閾値とは、ズレ閾値[2]1312に格納された値である。
【0124】
ポインティング位置決定部204は、現フレームにおける、ポインティング画像の更新後の位置と、指示器の位置を反映したポインティング画像の位置を比較し、この二つの位置の間の距離を求める(S601)。距離が距離閾値1313以上の場合、位置が異なるとして(S601が異なる)、ステップS603に遷移する。一方、距離が距離閾値1313よりも小さい場合、位置が等しいとして(S601が等しい)、ポインティング位置決定部204は、状態フラグ1303を「通常」に設定し、通常状態へ遷移する(S602)。
【0125】
ポインティング位置決定部204は、入力状態格納部102の決定キー入力状態フラグ700が、「入力操作あり」を示す「1」になっているか否かを判定する(S603)。「入力操作あり」である場合(S603がYes)、ポインティング位置決定部204は、接触カウンタ1310に接触カウンタ初期値1309で示される値を設定する(S604)。ポインティング位置決定部204は、状態フラグ1303を「接触中」に設定し、接触中状態へ遷移する(S605)。
【0126】
上記の処理が完了すると、ポインティング位置決定部204は処理を終了する(S606)。
【0127】
以上が、本実施の形態におけるポインティング位置制御装置の動作である。
【0128】
以上により、本発明のポインティング位置制御装置は、装置本体の姿勢と動きに基づいて、指示器が示すポインティング位置のズレ量を判断し、ポインティング画像を表示する位置を決定することができる。ポインティング位置制御装置は、装置本体への入力操作によって装置本体が動いた場合に、指示器が示すポインティング位置のズレ量を判断して制御することで、表示するポインティング位置のぶれを軽減することが可能となる。
【0129】
また、3D立体視が可能な携帯電話やスマートフォンなどのモバイル端末を利用する際に、ディスプレイの前面に、指や手などの指示器をかざす必要がないため、3D立体視画像に指示器がめりこんで見づらくなる状況を防ぐことができる。また、本発明のポインティング位置制御装置は、デジタルカメラ、音楽プレーヤ、電子ブック、など、カメラを備える機器において、利用可能である。
【産業上の利用可能性】
【0130】
本発明にかかるポインティング位置制御装置は、装置本体の姿勢と動きに基づいて、指示器が示すポインティング位置のズレ量を判断し、表示する位置を決定する機能を有し、3D立体視が可能な携帯電話やスマートフォンなどのモバイル端末として有用である。また、デジタルカメラ、カメラを備えた音楽プレーヤ、電子ブック、テレビ、カーナビなどの用途にも応用できる。
【符号の説明】
【0131】
100 ポインティング位置制御装置
101 入力部
102 入力状態格納部
103 撮像部
104 指示器認識部
105 指示位置格納部
106 加速度センサ
107 加速度情報格納部
108 ポインティング位置制御部
109 ポインティング位置格納部
110 アプリケーション部
111 画像生成部
111A 描画画像格納部
112 画像出力部
113 制御情報格納部
114 タイマ部
200 本体姿勢決定部
201 本体姿勢格納部
202 指示位置ズレ情報決定部
203 ズレ情報格納部
204 ポインティング位置決定部

【特許請求の範囲】
【請求項1】
指示器が示す位置を反映したポインティング画像を表示して入力を制御するポインティング位置制御装置において、
装置本体の姿勢を決定する本体姿勢決定部と、
装置本体に対する前記指示器の相対位置と、前記本体姿勢決定部が決定した前記姿勢とを用いて、前記指示器の実空間における単位時間当たりの動作量であるズレ量を決定する指示位置ズレ情報決定部と、
装置本体の加速度情報と、前記ズレ量とを用いて、ポインティング画像の表示位置を決定するポインティング位置決定部とを備えたポインティング位置制御装置。
【請求項2】
前記本体姿勢決定部は、前記加速度情報を取得し、装置本体の姿勢の変化を判断して決定することを特徴とする請求項1に記載のポインティング位置制御装置。
【請求項3】
2つ以上の撮像部と、
前記撮像部によって撮影された前記指示器の撮像画像を用いて、装置本体に対する前記指示器の前記相対位置を認識する指示器認識部とを備え、
前記指示位置ズレ情報決定部は、前記指示器認識部が認識した前記相対位置を取得して、ズレ量を決定することを特徴とする請求項1に記載のポインティング位置制御装置。
【請求項4】
前記ポインティング位置決定部は、前記加速度情報を用いて、装置本体に加速度が発生したと判定した場合に、外部からの入力操作の状態に応じて、ポインティング画像の表示位置を決定することを特徴とする請求項1に記載のポインティング位置制御装置。
【請求項5】
前記ポインティング位置決定部は、外部からの入力操作を取得すると、一定時間が経過するまで、ポインティング画像の表示位置を変化させないことを特徴とする請求項4に記載のポインティング位置制御装置。
【請求項6】
前記ポインティング位置決定部は、外部からの入力操作を取得すると、一定時間が経過した後、前記ズレ量に応じた移動量で、前記ズレ量を減少する方向に、ポインティング画像の位置を変更することを特徴とする請求項4に記載のポインティング位置制御装置。
【請求項7】
指示器が示す位置を反映したポインティング画像を表示して入力を制御するポインティング位置制御装置において、ポインティング画像の表示位置を決定する方法であって、
前記ポインティング位置制御装置本体の姿勢を決定する本体姿勢決定ステップと、
前記ポインティング位置制御装置本体に対する前記指示器の相対位置を求め、前記指示器の実空間における単位時間当たりの動作量であるズレ量を決定する指示ズレ情報決定ステップと、
前記ズレ量と、前記ポインティング位置制御装置本体に生じた加速度の大きさと、外部からの入力操作の状態とから、ポインティング画像の表示位置を決定するポインティング位置決定ステップとを備えたポインティング位置制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2013−33372(P2013−33372A)
【公開日】平成25年2月14日(2013.2.14)
【国際特許分類】
【出願番号】特願2011−168926(P2011−168926)
【出願日】平成23年8月2日(2011.8.2)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】