(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-02
(45)【発行日】2022-12-12
(54)【発明の名称】操作入力装置、操作入力方法及びプログラム
(51)【国際特許分類】
G06F 3/0346 20130101AFI20221205BHJP
G06F 3/01 20060101ALI20221205BHJP
G06F 3/0487 20130101ALI20221205BHJP
G09G 5/36 20060101ALI20221205BHJP
G09G 5/00 20060101ALI20221205BHJP
G06T 7/20 20170101ALI20221205BHJP
G06T 7/00 20170101ALN20221205BHJP
【FI】
G06F3/0346 422
G06F3/01 570
G06F3/0487
G09G5/36 530Y
G09G5/36 520P
G09G5/00 530H
G09G5/00 550C
G06T7/20 300A
G06T7/00 660Z
(21)【出願番号】P 2018094374
(22)【出願日】2018-05-16
【審査請求日】2021-05-12
(73)【特許権者】
【識別番号】505288686
【氏名又は名称】株式会社ネクステッジテクノロジー
(74)【代理人】
【識別番号】100095407
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100169753
【氏名又は名称】竹内 幸子
(74)【代理人】
【識別番号】100174067
【氏名又は名称】湯浅 夏樹
(74)【代理人】
【識別番号】100132883
【氏名又は名称】森川 泰司
(72)【発明者】
【氏名】坂本 堪亮
【審査官】木内 康裕
(56)【参考文献】
【文献】特開2014-071672(JP,A)
【文献】国際公開第2016/103769(WO,A1)
【文献】特開2018-055549(JP,A)
【文献】特開2011-028366(JP,A)
【文献】特開2015-172886(JP,A)
【文献】特開2011-054118(JP,A)
【文献】特開2011-081506(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/033 - 3/039
G06F 3/048 - 3/04895
G09G 5/36
G09G 5/00
G06T 7/20
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
カメラが撮影した画像からオペレータの操作に係る検出対象を検出する対象検出部と、
前記カメラの視野領域のうち前記オペレータの操作が有効な操作範囲を、ディスプレイの表示領域
に対して段階的に大きさの異なる複数の表示範囲のいずれか
1つにマッピングし、前記操作範囲と前記表示範囲との座標の対応関係を示すマッピング情報を生成するマッピング部と、
前記対象検出部が検出した前記検出対象の前記操作範囲における座標を、前記マッピング情報を用いて前記表示範囲の座標に変換し、変換された座標における前記オペレータの操作入力を示す操作入力信号を生成する操作入力信号生成部と、
を備え、
前記マッピング部は、
一定時間以内の前記検出対象の移動軌跡が第1範囲以内である場合には、マッピングする前記表示範囲を1段階小さくし、一定時間以内の前記検出対象の移動軌跡が前記第1範囲より大きい第2範囲を超える場合には、マッピングする前記表示範囲を1段階大きくする、
操作入力装置。
【請求項2】
前記マッピング部は、一定時間以内の前記検出対象の移動軌跡が
前記第1範囲以内であり、且つその時点のマッピングしている表示範囲が最小でない場合に、マッピングする前記表示範囲を
1段階小さく
し、一定時間以内の前記検出対象の移動軌跡が前記第2範囲を超え、且つその時点のマッピングしている表示範囲が最大でない場合に、マッピングする前記表示範囲を1段階大き
くする、
請求項1に記載の操作入力装置。
【請求項3】
カメラが撮影した画像からオペレータの操作に係る検出対象を検出する対象検出部と、
前記カメラの視野領域のうち前記オペレータの操作が有効な操作範囲を、ディスプレイの表示領域に対して段階的に大きさの異なる複数の表示範囲のいずれか1つにマッピングし、前記操作範囲と前記表示範囲との座標の対応関係を示すマッピング情報を生成するマッピング部と、
前記対象検出部が検出した前記検出対象の前記操作範囲における座標を、前記マッピング情報を用いて前記表示範囲の座標に変換し、変換された座標における前記オペレータの操作入力を示す操作入力信号を生成する操作入力信号生成部と、
を備え、
前記マッピング部は、前記カメラから、前記オペレータの前記検出対象までの距離
が第1閾値以下である場合には、マッピングする前記表示範囲を最小とし、前記距離が前記第1閾値より大きい第2閾値を超える場合には、マッピングする前記表示範囲を最大とする、
操作入力装置。
【請求項4】
カメラが撮影した画像からオペレータの操作に係る検出対象を検出する対象検出部と、
前記カメラの視野領域のうち前記オペレータの操作が有効な操作範囲を、ディスプレイの表示領域に対して段階的に大きさの異なる複数の表示範囲のいずれか1つにマッピングし、前記操作範囲と前記表示範囲との座標の対応関係を示すマッピング情報を生成するマッピング部と、
前記対象検出部が検出した前記検出対象の前記操作範囲における座標を、前記マッピング情報を用いて前記表示範囲の座標に変換し、変換された座標における前記オペレータの操作入力を示す操作入力信号を生成する操作入力信号生成部と、
を備え、
前記マッピング部は、前記検出対象の移動軌跡
が第1軌跡である場合には、マッピングする前記表示範囲を
1段階小さく
し、前記移動軌跡が前記第1軌跡と異なる第2軌跡である場合には、マッピングする前記表示範囲を1段階大き
くする、
操作入力装置。
【請求項5】
前記マッピング部は、マッピングを切り替えて前記マッピング情報を生成したときは、前記切り替えたことが識別できる表示を行う、
請求項
1乃至4のいずれか1項に記載の操作入力装置。
【請求項6】
前記マッピング部は、前記操作範囲の中央から前記操作範囲の端部に近づくにつれ、前記操作範囲に対する前記表示範囲の拡大率を高くするようにマッピングし、前記操作範囲と前記表示範囲との座標の対応関係を示すマッピング情報を生成する、
請求項1乃至5のいずれか1項に記載の操作入力装置。
【請求項7】
前記マッピング部は、凸面上に一定の間隔で配列した点を凸方向から投影した配列の点を前記操作範囲に仮想し、前記操作範囲に仮想した点と同数の点を前記表示領域内に一定の間隔で配列し、前記操作範囲内に配列した点の座標と前記表示範囲内に配列した点の座標とを対応づけたマッピング情報を生成する、
請求項1乃至6のいずれか1項に記載の操作入力装置。
【請求項8】
前記操作入力信号生成部は、前記マッピング情報を用いて、前記操作範囲における前記検出対象の座標を前記表示範囲における座標に変換し、変換された座標にカーソルを表示させる、
請求項1乃至7のいずれか1項に記載の操作入力装置。
【請求項9】
カメラ及びディスプレイに接続されたコンピュータが、オペレータの操作を入力する操作入力方法であって、
前記カメラが撮影した画像から前記オペレータの操作に係る検出対象を検出する対象検出ステップと、
前記カメラの視野領域のうち前記オペレータの操作が有効な操作範囲を、ディスプレイの表示領域
に対して段階的に大きさの異なる複数の表示範囲のいずれか
1つにマッピングし、前記操作範囲と前記表示範囲との座標の対応関係を示すマッピング情報を生成するマッピングステップと、
前記対象検出ステップで検出した前記検出対象の前記操作範囲における座標を、前記マッピング情報を用いて前記表示範囲の座標に変換し、変換された座標における前記オペレータの操作入力を示す操作入力信号を生成する操作入力信号生成ステップと、
を有し、
前記マッピングステップでは、
一定時間以内の前記検出対象の移動軌跡が第1範囲以内である場合には、マッピングする前記表示範囲を1段階小さくし、一定時間以内の前記検出対象の移動軌跡が前記第1範囲より大きい第2範囲を超える場合には、マッピングする前記表示範囲を1段階大きくする、
操作入力方法。
【請求項10】
カメラ及びディスプレイに接続されたコンピュータを、
前記カメラが撮影した画像からオペレータの操作に係る検出対象を検出する対象検出部、
前記カメラの視野領域のうち前記オペレータの操作が有効な操作範囲を、ディスプレイの表示領域
に対して段階的に大きさの異なる複数の表示範囲のいずれか
1つにマッピングし、前記操作範囲と前記表示範囲との座標の対応関係を示すマッピング情報を生成するマッピング部、
前記対象検出部が検出した前記検出対象の前記操作範囲における座標を、前記マッピング情報を用いて前記表示範囲の座標に変換し、変換された座標における前記オペレータの操作入力を示す操作入力信号を生成する操作入力信号生成部、
として機能させるプログラムであって、
前記マッピング部は、
一定時間以内の前記検出対象の移動軌跡が第1範囲以内である場合には、マッピングする前記表示範囲を1段階小さくし、一定時間以内の前記検出対象の移動軌跡が前記第1範囲より大きい第2範囲を超える場合には、マッピングする前記表示範囲を1段階大きくする、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報機器にオペレータの操作に係る情報を入力する操作入力装置、操作入力方法及びプログラムに関する。
【背景技術】
【0002】
近年、オペレータが非接触で情報機器へ操作入力することのできる操作入力装置が多く開発されている。非接触の操作入力装置は、オペレータの操作負担を軽くすることができ、また手術現場、調理現場等において作業の途中でも情報機器を操作できる手段として注目されている。
【0003】
このような操作入力装置は、例えば、カメラでオペレータを撮影して画像解析し、画像解析結果に基づいて情報機器へ操作入力するものがある(例えば、特許文献1)。
【0004】
特許文献1に記載の操作制御装置は、ステレオカメラを用いてユーザの動作によって移動する手等を検出し、手等の動作を判定し、判定した動作に応じて表示領域内のカーソルを移動させるものである。この操作制御装置は、第1の検出対象の動作に基づいてカーソル及びカーソル可動領域を移動させ、第2の検出対象の動作に基づいて、カーソル可動領域内でカーソルのみを移動させる。この構成により、直感的かつ高精度に操作対象を操作することが可能になると説明している。
【0005】
本出願人も、カメラでオペレータを撮影した画像に基づく操作入力を実行する操作入力装置について出願を行った(例えば、特許文献2)。特許文献2に記載の操作入力装置は、オペレータをカメラで撮影した画像からオペレータの手又は指を検出する。検出した手又は指の位置及び大きさに基づいて、カメラの視野領域から操作領域を特定し、特定された操作領域をディスプレイ領域にマッピングする。そして、マッピングされた操作領域における手又は指の位置、大きさ、形状の変化を検出し、その変化に基づいた操作入力信号を生成する。これにより、オペレータの操作感覚に合致した直感的な操作入力を行うことができた。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2011-28366号公報
【文献】国際公開第2016/103769号
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1に記載の技術によれば、第1、第2の検出対象を検出し、それぞれの動作に応じてカーソル又はカーソルの可動領域を移動させるため、2つの検出対象を追跡する処理が煩雑であった。また、オペレータは第1の検出対象、第2の検出対象を意識した操作をする必要があり、オペレータの操作感覚とカーソルの動きにずれが生じることがあった。また、第1の検出対象の動作により、カーソルの可動領域を変更するため、領域をまたぎディスプレイ全体に渡る操作ができなかった。
【0008】
また、特許文献2に記載の操作入力装置は、ディスプレイ領域内の位置を特定する際、オペレータが微細な位置調整をすることが困難であった。例えば、ディスプレイ領域内での位置を決定する検出対象が手のひらや指先であった場合、検出対象はある程度の大きさを有するため、オペレータの目標としている正確な位置(点やピクセル)に一致させることが困難であった。
【0009】
また、カメラからオペレータまでの距離が離れている場合には、カメラの検出領域のうち、小さい操作範囲での手又は指の位置を検出することになり、正確な位置を特定することが困難であった。
【0010】
本発明は、上記実情に鑑みてなされたものであり、操作に係る位置を特定する際に、ディスプレイの表示領域の全体から極小範囲まで正確に位置を特定することができる操作入力装置等を提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するため、本発明の第1の観点に係る操作入力装置は、
カメラが撮影した画像からオペレータの操作に係る検出対象を検出する対象検出部と、
前記カメラの視野領域のうち前記オペレータの操作が有効な操作範囲を、ディスプレイの表示領域に対して段階的に大きさの異なる複数の表示範囲のいずれか1つにマッピングし、前記操作範囲と前記表示範囲との座標の対応関係を示すマッピング情報を生成するマッピング部と、
前記対象検出部が検出した前記検出対象の前記操作範囲における座標を、前記マッピング情報を用いて前記表示範囲の座標に変換し、変換された座標における前記オペレータの操作入力を示す操作入力信号を生成する操作入力信号生成部と、
を備え、
前記マッピング部は、一定時間以内の前記検出対象の移動軌跡が第1範囲以内である場合には、マッピングする前記表示範囲を1段階小さくし、一定時間以内の前記検出対象の移動軌跡が前記第1範囲より大きい第2範囲を超える場合には、マッピングする前記表示範囲を1段階大きくすることを特徴とする。
【0012】
前記マッピング部は、一定時間以内の前記検出対象の移動軌跡が前記第1範囲以内であり、且つその時点のマッピングしている表示範囲が最小でない場合に、マッピングする前記表示範囲を1段階小さくし、一定時間以内の前記検出対象の移動軌跡が前記第2範囲を超え、且つその時点のマッピングしている表示範囲が最大でない場合に、マッピングする前記表示範囲を1段階大きくしてもよい
【0013】
また、本発明の第2の観点に係る操作入力装置は、
カメラが撮影した画像からオペレータの操作に係る検出対象を検出する対象検出部と、
前記カメラの視野領域のうち前記オペレータの操作が有効な操作範囲を、ディスプレイの表示領域に対して段階的に大きさの異なる複数の表示範囲のいずれか1つにマッピングし、前記操作範囲と前記表示範囲との座標の対応関係を示すマッピング情報を生成するマッピング部と、
前記対象検出部が検出した前記検出対象の前記操作範囲における座標を、前記マッピング情報を用いて前記表示範囲の座標に変換し、変換された座標における前記オペレータの操作入力を示す操作入力信号を生成する操作入力信号生成部と、
を備え、
前記マッピング部は、前記カメラから、前記オペレータの前記検出対象までの距離が第1閾値以下である場合には、マッピングする前記表示範囲を最小とし、前記距離が前記第1閾値より大きい第2閾値を超える場合には、マッピングする前記表示範囲を最大とすることを特徴とする。
【0014】
また、本発明の第3の観点に係る操作入力装置は、
カメラが撮影した画像からオペレータの操作に係る検出対象を検出する対象検出部と、
前記カメラの視野領域のうち前記オペレータの操作が有効な操作範囲を、ディスプレイの表示領域に対して段階的に大きさの異なる複数の表示範囲のいずれか1つにマッピングし、前記操作範囲と前記表示範囲との座標の対応関係を示すマッピング情報を生成するマッピング部と、
前記対象検出部が検出した前記検出対象の前記操作範囲における座標を、前記マッピング情報を用いて前記表示範囲の座標に変換し、変換された座標における前記オペレータの操作入力を示す操作入力信号を生成する操作入力信号生成部と、
を備え、
前記マッピング部は、前記検出対象の移動軌跡が第1軌跡である場合には、マッピングする前記表示範囲を1段階小さくし、前記移動軌跡が前記第1軌跡と異なる第2軌跡である場合には、マッピングする前記表示範囲を1段階大きくすることを特徴とする。
【0015】
前記マッピング部は、マッピングを切り替えて前記マッピング情報を生成したときは、前記切り替えたことが識別できる表示を行ってもよい。
【0016】
前記マッピング部は、前記操作範囲の中央から前記操作範囲の端部に近づくにつれ、前記操作範囲に対する前記表示範囲の拡大率を高くするようにマッピングし、前記操作範囲と前記表示範囲との座標の対応関係を示すマッピング情報を生成してもよい。
【0017】
前記マッピング部は、凸面上に一定の間隔で配列した点を凸方向から投影した配列の点を前記操作範囲に仮想し、前記操作範囲に仮想した点と同数の点を前記表示範囲内に一定の間隔で配列し、前記操作範囲内に配列した点の座標と前記表示範囲内に配列した点の座標とを対応づけたマッピング情報を生成してもよい。
【0018】
前記操作入力信号生成部は、前記マッピング情報を用いて、前記操作範囲における前記検出対象の座標を前記表示範囲における座標に変換し、変換された座標にカーソルを表示させてもよい。
【0019】
また、本発明の第4の観点に係る操作入力方法は、
カメラ及びディスプレイに接続されたコンピュータが、オペレータの操作を入力する操作入力方法であって、
前記カメラが撮影した画像から前記オペレータの操作に係る検出対象を検出する対象検出ステップと、
前記カメラの視野領域のうち前記オペレータの操作が有効な操作範囲を、ディスプレイの表示領域に対して段階的に大きさの異なる複数の表示範囲のいずれか1つにマッピングし、前記操作範囲と前記表示範囲との座標の対応関係を示すマッピング情報を生成するマッピングステップと、
前記対象検出ステップで検出した前記検出対象の前記操作範囲における座標を、前記マッピング情報を用いて前記表示範囲の座標に変換し、変換された座標における前記オペレータの操作入力を示す操作入力信号を生成する操作入力信号生成ステップと、
を有し、
前記マッピングステップでは、一定時間以内の前記検出対象の移動軌跡が第1範囲以内である場合には、マッピングする前記表示範囲を1段階小さくし、一定時間以内の前記検出対象の移動軌跡が前記第1範囲より大きい第2範囲を超える場合には、マッピングする前記表示範囲を1段階大きくすることを特徴とする。
【0020】
また、本発明の第5の観点にプログラムは、
カメラ及びディスプレイに接続されたコンピュータを、
前記カメラが撮影した画像からオペレータの操作に係る検出対象を検出する対象検出部、
前記カメラの視野領域のうち前記オペレータの操作が有効な操作範囲を、ディスプレイの表示領域に対して段階的に大きさの異なる複数の表示範囲のいずれか1つにマッピングし、前記操作範囲と前記表示範囲との座標の対応関係を示すマッピング情報を生成するマッピング部、
前記対象検出部が検出した前記検出対象の前記操作範囲における座標を、前記マッピング情報を用いて前記表示範囲の座標に変換し、変換された座標における前記オペレータの操作入力を示す操作入力信号を生成する操作入力信号生成部、
として機能させるプログラムであって、
前記マッピング部は、一定時間以内の前記検出対象の移動軌跡が第1範囲以内である場合には、マッピングする前記表示範囲を1段階小さくし、一定時間以内の前記検出対象の移動軌跡が前記第1範囲より大きい第2範囲を超える場合には、マッピングする前記表示範囲を1段階大きくすることを特徴とする。
【発明の効果】
【0021】
本発明によれば、操作に係る位置を特定する際に、ディスプレイの表示領域の全体から極小範囲まで正確に位置を特定することが可能になる。
【図面の簡単な説明】
【0022】
【
図1】操作入力装置のハードウェア構成を示すブロック図である。
【
図2】操作入力装置の機能構成を示す機能ブロック図である。
【
図5】操作範囲と表示範囲とのマッピングを示した図である。
【
図7】実施の形態1に係るマッピング情報更新処理のフローチャートである。
【
図8】カーソルを表示したときのディスプレイを示した図である。
【
図9】(a)移動時のカーソルを示した図である。(b)停止時のカーソルを示した図である。(c)クリック操作の例を示した図である。(d)クリック操作の例を示した図である。(e)クリック時のカーソルを示した図である。
【
図10】実施の形態2に係るマッピング情報更新処理のフローチャートである。
【
図11】実施の形態3に係るマッピング情報更新処理のフローチャートである。
【
図12】(a)ディスプレイとオペレータを上方から見た図である。(b)オペレータの手の位置とカメラが判別する手の位置との関係を示した図である。
【
図13】実施の形態4に係る操作範囲とディスプレイの表示範囲とのマッピングを示した図である。
【発明を実施するための形態】
【0023】
(実施の形態1)
本発明の実施の形態1について図面を参照して詳細に説明する。
【0024】
本実施の形態に係る操作入力装置10は、オペレータの操作を判別して生成した操作入力信号に基づく処理を行う情報処理装置である。
図1に示すように、操作入力装置10は、CPU(Central Processing Unit:中央処理装置)11、カメラ12、RAM(Random Access Memory)13、ディスプレイ14、記憶部15を備える。
【0025】
操作入力装置10は、操作入力処理のプログラムがインストールされたパソコン、スマートフォン、タブレット型端末等の任意の情報処理端末から構成される。カメラ12はこれらの情報処理端末に内蔵されたウェブカメラ等でもよく、あるいは外部接続したカメラであってもよい。
【0026】
カメラ12は、カラー画像データをリアルタイム出力するカラーカメラである。カメラ12は、視線方向をディスプレイ14の表示面に略垂直で表示面から離れる方向に向けて設置されており、例えば、ディスプレイ14の上縁に設置される。
【0027】
RAM13は、高速にデータの読み書きが可能なメモリであり、カメラ12が撮影した画像データや記憶部15から読み出した画像データ等をCPU11が実行するデータ処理のために一時保存する。
【0028】
ディスプレイ14は、画像、文字等の情報表示出力を行う表示装置であり、CPU11が生成する画像等を表示する。記憶部15は、大容量の記憶装置であり、フラッシュメモリ等から構成される。カメラ12が撮影した画像データや、CPU11の処理により生成した画像のデータを記憶する。また、記憶部15は、CPU11が実行するプログラムを記憶する。
【0029】
CPU11、RAM13は、記憶部15に記憶している操作入力処理のプログラムを実行することにより、
図2に示すように、画像取得部111、対象検出部112、操作範囲特定部113、マッピング部114、操作入力信号生成部115、アプリケーション実行部116として機能する。
【0030】
画像取得部111は、カメラ12が撮影した画像データを取得する。画像取得部111はカメラ12が撮影した画像データに含まれる所定のタイミングのフレーム画像を予め定めた時間間隔で対象検出部112に出力する。
【0031】
対象検出部112は、画像取得部111より入力されるフレーム画像から予め定めた検出対象の画像を検出する。検出対象の画像は、表示画面における位置を特定するために、オペレータが移動させることのできる部位の画像であって、例えば、人の手、指、ポインタ等の画像である。検出対象の画像を検出する方法は、従来の任意の方法である。本実施の形態においては、手のひらを含む指を広げた手101の画像を検出する場合について説明する。
【0032】
例えば、画像取得部111から入力されるフレーム画像に対してカラーマスクを用いて予め設定されている特定色(例えば、肌色)のカラー画像を抽出する。また、そのフレーム画像に対して2値化処理を行う。これらの処理で得られたカラーマスクの抽出画像と2値化画像との論理和を取り、肌色部分の手101の画像を検出するようにしてもよい。
【0033】
また、連続する2以上のフレーム分のフレーム画像、又は2値化処理した2以上のフレーム分のフレーム画像に対してフレーム間差分処理を行い、得られた差分画像からヒストグラムを作成する。このヒストグラムに基づいて、動作の変化が大きい活動エリアを特定して手101の画像を検出するようにしてもよい。
【0034】
また、記憶部15に予め人の手又は指のテンプレートを記憶しておき、画像取得部111から入力されるフレーム画像に対してテンプレートマッチングを行い手101の画像を検出するようにしてもよい。
【0035】
対象検出部112が検出した手101の大きさ、位置、形状等の情報は操作範囲特定部113及びマッピング部114に出力される。
【0036】
操作範囲特定部113は、対象検出部112から入力された手101の大きさ、位置、形状等の情報に基づいて、画像取得部111が取得するフレーム画像全体に当たるカメラの視野領域1001からオペレータが操作に用いる操作範囲1002,1003を特定する。操作範囲特定部113は、オペレータが片手を用いて操作する場合の操作範囲1002と、両手を用いて操作する場合の操作範囲1003をそれぞれ特定する。
【0037】
まず、オペレータが片手を用いて操作する場合の操作範囲1002の特定方法の例について、
図3を用いて説明する。画像取得部111が取得したフレーム画像(カメラの視野領域1001)にはオペレータの画像が含まれている。操作範囲特定部113は、対象検出部112から入力される手101の幅Wと、手101の中心位置P
1を取得する。そして、点P
1を中心として、幅m×Wの操作範囲1002を特定する。ここでmは予め定めた正の係数であり、ユーザにより変更可能としてもよい。
【0038】
次に、オペレータが両手を用いて操作する場合の操作範囲1003の特定方法の例について、
図4を用いて説明する。画像取得部111が取得したフレーム画像(カメラの視野領域1001)にはオペレータの画像が含まれている。操作範囲特定部113は、対象検出部112から入力された右の手101の中心位置P
2と左の手101の中心位置P
3を取得する。そして、点P
2と点P
3の中点を中心として、点P
2と点P
3との間の距離Lに対して幅n×Lの操作範囲1003を特定する。ここでnは予め定めた正の係数であり、ユーザにより変更可能としてもよい。
【0039】
操作範囲特定部113が特定する操作範囲1002,1003の高さは、手101の中心位置P1,P2,P3に基づいて決定した幅に対して所定の比率を乗じた値とする。このようにして特定した操作範囲1002,1003の情報をマッピング部114に出力する。
【0040】
マッピング部114は、操作範囲特定部113より入力された操作範囲1002,1003をディスプレイ14の表示領域の全体又は予め定めた範囲の表示範囲にマッピングする。
図5(a)は、両手を用いた場合の操作範囲1003をディスプレイ領域1004全体に相当する表示範囲1005にマッピングした状態を示す。
図5(b)は、両手を用いた場合の操作範囲1003をディスプレイ領域1004の縦横1/2倍の表示範囲1006にマッピングした状態を示す。
図5(c)は、両手を用いた場合の操作範囲1003をディスプレイ領域1004の縦横1/4倍の表示範囲1007にマッピングした状態を示す。
【0041】
そして、マッピング部114は、操作範囲1003の座標を各表示範囲1005,1006,1007の座標に対応づけたマッピング情報を生成し、RAM13に記憶する。表示範囲1005,1006,1007のうちいずれにマッピングするかはオペレータの操作又は動きによって切り替えを行う。
【0042】
本実施の形態では、マッピングの切り替えは、オペレータが手101を停止させたか大きく動かしたかに応じて行う。具体的には、検出対象である手101の画像の移動軌跡が一定時間予め定めた範囲以内にある場合に、表示範囲1005から表示範囲1006に、又は、表示範囲1006から表示範囲1007にマッピングを切り替え、マッピング情報を生成する。検出対象である手101の画像の移動軌跡が一定時間以内に予め定めた範囲を超えた場合に、表示範囲1007から表示範囲1006に、又は、表示範囲1006から表示範囲1005にマッピングを切り替え、マッピング情報を生成する。
【0043】
マッピングを切り替える際は、切り替えたことが識別できる表示をしてもよい。例えば、操作範囲1003にマッピングする表示範囲を、表示範囲1005から表示範囲1006に切り替える場合、切り替えのタイミングで、切り替える前の表示範囲1005と切り替えた後の表示範囲1006の外周の枠線を連続して表示させてもよい。
【0044】
操作入力信号生成部115は、対象検出部112が検出した手101の画像の位置又は大きさ又は形状の情報、あるいはこれらの時間変化の情報と、マッピング部114が生成したマッピング情報とに基づいて、オペレータの操作が示す操作入力信号を生成する。
【0045】
具体的には、まず、操作入力信号生成部115は、ディスプレイ14の表示画面にカーソルを表示させる。つまり、対象検出部112が検出した手101の中心位置の操作範囲1003における座標を、マッピング部114が生成したマッピング情報を用いて変換し、変換後の座標にカーソルを表示させる。
【0046】
その後、操作入力信号生成部115は、対象検出部112が検出した手101の位置又は大きさ又は形状の情報、あるいはこれらの時間変化の情報に応じて、ディスプレイ14に表示されたアイコン等が示すアプリケーションの選択、実行等を指示する操作入力信号を生成する。そして生成した操作入力信号をアプリケーション実行部116に入力する。
【0047】
アプリケーション実行部116は、操作入力信号生成部115から入力される操作入力信号に基づいて、アプリケーションを選択し、実行させる。
【0048】
このように構成された操作入力装置10の操作入力処理について、
図6に示すフローチャートに沿って説明する。
図6は、操作入力処理を示すフローチャートである。
【0049】
操作入力処理は、対象検出部112が手101の画像を検出したときスタートする。対象検出部112は、手101の検出なしの状態から両手をほぼ同時に検出したとき、つまり2つの手101を所定の時間以内に検出開始したとき、(ステップS101:Yes)、両手操作状態に設定する(ステップS102)。
【0050】
操作範囲特定部113は、
図4の例に示すような両手の操作範囲1003を特定する(ステップS103)。マッピング部114は、操作範囲特定部113が特定した操作範囲1003を、RAM13に記憶しているマッピング情報を用いて表示範囲1005,1006,1007のいずれかにマッピングする(ステップS104)。
【0051】
その後、操作入力信号生成部115は、表示範囲1005,1006,1007のいずれかにマッピングされた操作範囲1003における両手の大きさ、相対位置、形状の時間変化に応じた操作入力信号を生成し、アプリケーション実行部116とディスプレイ14に出力する(ステップS105)。入力された操作入力信号に基づいて、ディスプレイ14はカーソルを移動し又はカーソルの形状を変え、アプリケーション実行部116はアプリケーションの処理を実行する。
【0052】
両手が継続的に検出され、片手又は手の検出なしに変化して一定時間以上経過していない間は(ステップS106:No)、操作入力信号生成部115は操作入力信号の生成、出力を継続する(ステップS105)。
【0053】
一方、片手又は手の検出なしに変化して一定時間以上経過した場合において(ステップS106:Yes)、片手に変化したときは(ステップS107:Yes)、ステップS108に進む。手の検出なしに変化したときは(ステップS107:No)、処理を終了する。
【0054】
ステップS101において、対象検出部112が、手101の検出なしの状態から両手をほぼ同時に検出しなかったとき、つまり2つの手を所定の時間以内に検出開始しなかったとき、(ステップS101:No)、片手操作状態に設定する(ステップS108)。
【0055】
操作範囲特定部113は、
図3の例に示すような片手の操作範囲1002を特定する(ステップS109)。マッピング部114は、操作範囲特定部113が特定した操作範囲1002を、RAM13に記憶しているマッピング情報を用いて表示範囲1005,1006,1007のいずれかにマッピングする(ステップS110)。
【0056】
その後、操作入力信号生成部115は、表示範囲1005,1006,1007のいずれかにマッピングされた操作範囲1002における片手の大きさ、位置、形状の時間変化に応じた操作入力信号を生成し、アプリケーション実行部116とディスプレイ14に出力する(ステップS111)。入力された操作入力信号に基づいて、ディスプレイ14はカーソルを移動し又はカーソルの形状を変え、アプリケーション実行部116はアプリケーションの処理を実行する。
【0057】
片手が継続的に検出され、手の検出なしに変化して一定時間以上経過していない間は(ステップS112:No)、操作入力信号生成部115は操作入力信号の生成、出力を継続する(ステップS111)。
【0058】
一方、手の検出なしに変化して一定時間以上経過した場合は(ステップS112:Yes)、処理を終了する。
【0059】
ステップS104、S110において表示範囲1005,1006,1007にマッピングする際に参照するマッピング情報は、随時更新されRAM13に記憶される。マッピング情報更新処理について、
図7に示すフローチャートに沿って説明する。
図7は、マッピング情報更新処理を示すフローチャートである。
【0060】
マッピング部114は、RAM13よりマッピング情報を読み出す(ステップS201)。そして、対象検出部112が検出する手101の移動軌跡が一定時間予め定めた第1範囲以内にとどまっており、停止していると見なせるか否かを判定する(ステップS202)。手101が停止していると見なせる場合(ステップS202;Yes)、現時点でマッピングしている表示範囲が最小であるか否かを判定する(ステップS203)。
【0061】
マッピングしている表示範囲が、
図5(c)にように、ディスプレイ領域1004の1/4の表示範囲1007で最小である場合には(ステップS203;Yes)、マッピング情報を更新することなくステップS201に戻る。一方、マッピングしている表示範囲が最小でない場合には(ステップS203;No)、1段階小さい表示範囲の座標に操作範囲の座標を対応づけるマッピング情報を生成し、RAM13に上書き保存する。
【0062】
ステップS202で、対象検出部112が検出する手101の移動軌跡が一定時間以内に予め定めた第1範囲を超えて移動し、手101が停止していないと見なせる場合(ステップS202;No)、対象である手101が大きく移動したか否かを判定する(ステップS205)。対象である手101の移動軌跡が一定時間予め定めた第2範囲内に留まっており、手101が大きく移動する操作を検出しなかった場合は(ステップS205;No)、ステップS201に戻る。ここで、第2範囲は第1範囲よりも大きい。
【0063】
一方、対象である手101の移動軌跡が一定時間以内に予め定めた第2範囲を超えて、手101が大きく移動する操作を検出した場合は(ステップS205;Yes)、現時点でマッピングしている表示範囲が最大であるか否かを判定する(ステップS206)。マッピングしている表示範囲が、
図5(a)にように、ディスプレイ領域1004全体の表示範囲1005で最大である場合には(ステップS206;Yes)、マッピング情報を更新することなくステップS201に戻る。
【0064】
一方、マッピングしている表示範囲が最大でない場合には(ステップS206;No)、1段階大きい表示範囲の座標に操作範囲の座標を対応づけるマッピング情報を生成し、RAM13に上書き保存する。
【0065】
このようにして、
図6のステップS104、ステップS110のマッピングの際に参照するマッピング情報は、オペレータの操作に応じて更新する。
【0066】
次に、ステップS105、S111で出力される操作入力信号に基づくディスプレイ14の表示やアプリケーション実行部116の処理の具体例を説明する。
【0067】
操作入力装置10のディスプレイ14に、
図8に示すようなアイコン2001や画像2002が表示されている場合について説明する。画像2002は画像表示アプリケーションにより表示されているものである。オペレータがカメラ12の視野領域1001に手101を入れているときは、ディスプレイ14はマッピング情報で変換された座標位置にカーソル2003を表示する。
【0068】
カーソル2003の形状は、オペレータの操作が反映されているか否かが直感的に視認できる形状が望ましい。本実施の形態では、
図8の画像上に表示されているように、一つの円と、その周囲に等間隔で配置された複数の円から構成されたカーソル2003の形状を用いる。
【0069】
カーソル2003の色は、アイコン2001又は画像2002を選択可能な位置にあるか否かに応じて色を変えてもよい。
図8の例では、中央に表示した画像2002を選択可能な位置にあるため、カーソルの各円が黒丸となっている。カーソル2003の位置が画像2002から外れており選択可能でないときは白丸とする。
【0070】
また、カーソル2003が移動している時は
図9(a)に示すように中央の円を移動方向にずらして表示してもよい。一方、カーソル2003が停止している時は
図9(b)に示すように中央の円が周囲の円の中心から等距離の点に位置するように表示してもよい。
【0071】
オペレータのクリック操作は、判別が容易な動作が望ましい。例えば、
図9(c)のように手を左右に細かく振る。あるいは、
図9(d)のように手を開いた状態から握る動作をする。操作入力信号生成部115は、このような操作を検出したときにクリック操作があったと判別し、
図9(e)に示すようにカーソル2003の中央の円を左右に広げ楕円形状としてもよい。これによりオペレータはクリック操作が判別されたことを知ることができる。
【0072】
その他、操作入力信号生成部115は、マッピング情報によりマッピングされた操作範囲1002,1003における手101の大きさ、位置、形状及びそれらの時間変化、両手の相対的位置に応じた様々な操作入力信号を生成し、アプリケーション実行部116とディスプレイ14に出力する。入力された操作入力信号に基づいて、ディスプレイ14はカーソルを移動し又はカーソルの形状を変え、アプリケーション実行部116はアプリケーションの処理を実行する。
【0073】
このようにして、手101の移動軌跡に応じて切り替えたマッピング情報を用いることにより、ディスプレイ14の表示領域全体における操作及び極小範囲の微細な操作に基づくアプリケーションの処理を実行することができる。
【0074】
以上説明したように、本実施の形態においては、手101の大きさ、位置、形状等の情報に基づいて、カメラの視野領域1001からオペレータが操作に用いる操作範囲1002,1003を特定する。特定した操作範囲1002,1003を、ディスプレイ14の表示領域の全体又は予め定めた範囲の表示範囲1005,1006,1007にマッピングし、マッピング情報を生成する。ここで、オペレータが手101を停止させたか又は大きく動かしたかに応じて操作範囲1002、1003にマッピングする表示範囲1005,1006,1007を切り替える。操作入力信号生成部115は、対象検出部112が検出した手101の画像の位置又は大きさ又は形状の情報、あるいはこれらの時間変化の情報と、マッピング部114が生成したマッピング情報とに基づいて、オペレータの操作を示す操作入力信号を生成することとした。これにより、手101を停止させたときにはより小さい範囲において正確に位置を特定し、手101を大きく動かした時にはより大きい範囲に渡って位置を変化させて特定できるため、ディスプレイ14の表示領域全体の操作と極小範囲の微細な操作が共に可能になる。
【0075】
(実施の形態2)
本発明の実施の形態2について図面を参照して詳細に説明する。
【0076】
本実施の形態に係る操作入力装置10は、実施の形態1と同様の構成を有し、同様の操作入力処理を実行するが、マッピング部114が実行するマッピングの切り替え方法が異なる。マッピングの切り替え方法について詳細に説明する。
【0077】
マッピング部114は、操作範囲特定部113が特定した操作範囲1002,1003をディスプレイ14の表示領域の全体又は予め定めた範囲の表示範囲1005,1006,1007のいずれかにマッピングする。そして、マッピング部114は、操作範囲1002,1003の座標を各表示範囲1005,1006,1007の座標に対応づけたマッピング情報を生成し、RAM13に記憶する。表示範囲1005,1006,1007のうちいずれにマッピングするかはオペレータの操作又は動きによって切り替えを行う。
【0078】
本実施の形態では、マッピングの切り替えは、対象検出部112が検出する対象であるオペレータの手101からカメラ12までの距離rに応じて行う。オペレータはカメラ12に近づき、又は、離れることにより、オペレータの手101からカメラ12までの距離rを変化させることができる。距離rは、従来の任意の方法により計測する。例えば、互いに離隔して備えた2つのカメラの撮影画像に基づいて三角測量を用いて計測してもよい。
【0079】
ここでも、実施の形態1の場合と同様に、
図5に示した表示範囲1005,1006,1007のいずれかに操作範囲1003をマッピングする場合について説明する。手101とカメラ12との距離rが距離a以下である場合には、表示範囲1007にマッピングし、rがaより大きくb以下である場合には、表示範囲1006にマッピングし、rがbより大きい場合には、表示範囲1005にマッピングするようにマッピングを切り替える。閾値であるa、bは予め設定しておく。マッピング部114はマッピングを切り替える際にマッピング情報を生成する。
【0080】
マッピングを切り替える際は、切り替えたことが識別できる表示をしてもよい。例えば、操作範囲1003にマッピングする表示範囲を、表示範囲1005から表示範囲1006に切り替える場合、切り替えのタイミングで、切り替える前の表示範囲1005と切り替えた後の表示範囲1006の外周の枠線を連続して表示させてもよい。
【0081】
他の構成は実施の形態1と同様である。このように構成された操作入力装置10の動作について説明する。操作入力処理の全体のフローは実施の形態1と同様に
図6のフローチャートに示した通りである。
【0082】
図6のステップS104、S110で、表示範囲1005,1006,1007にマッピングする際に参照するマッピング情報は、随時更新されRAM13に記憶される。マッピング情報更新処理が実施の形態1と異なる。マッピング情報更新処理について、
図10に示すフローチャートに沿って説明する。
図10は、本実施の形態2に係るマッピング情報更新処理を示すフローチャートである。マッピング情報更新処理を実行する間、手101とカメラ12との距離rは定期的に計測している。また、閾値であるa、bの値は予め設定しておく。
【0083】
マッピング部114は、手101とカメラ12との距離rを取得する(S301)。距離rがどの数値範囲に属するかを判定する(ステップS302)。オペレータがカメラに十分に近く、距離rがa以下である場合(ステップS302;r≦a)、ディスプレイ領域1004の1/4の表示範囲1007にマッピングし、マッピング情報を生成してRAM13に保存する(ステップS303)。
【0084】
ステップS302で、距離rがaより大きく、b以下である場合(ステップS302;a<r≦b)、ディスプレイ領域1004の1/2の表示範囲1006にマッピングし、マッピング情報を生成してRAM13に保存する(ステップS304)。
【0085】
ステップS302で、距離rがbより大きい場合(ステップS302;r>b)、ディスプレイ領域1004の全体の表示範囲1005にマッピングし、マッピング情報を生成してRAM13に保存する(ステップS305)。
【0086】
このようにして、
図6のステップS104、ステップS110のマッピングの際に参照するマッピング情報は、オペレータの操作に応じて更新する。
【0087】
操作入力信号生成部115は、マッピング情報に基づいて、表示範囲1005,1006,1007のいずれかにマッピングされた操作範囲1002,1003における手101の大きさ、相対位置、形状及びそれらの時間変化に応じた操作入力信号を生成する(ステップS105、S111)。ステップS105、S111で出力される操作入力信号に基づくディスプレイ14の表示やアプリケーション実行部116の処理は、実施の形態1と同様である。
【0088】
以上説明したように、本実施の形態においては、操作範囲1002,1003をディスプレイ14の表示領域の全体又は予め定めた範囲の表示範囲1005,1006,1007のいずれかにマッピングする際に、手101からカメラ12までの距離に応じて、マッピングする表示範囲を選択し切り替えることとした。これにより、オペレータがカメラ12に近づき、又は、離れることにより、マッピングを切り替えることができ、ディスプレイ14の表示領域全体の操作と極小範囲の微細な操作が共に可能になる。
【0089】
(実施の形態3)
本発明の実施の形態3について図面を参照して詳細に説明する。
【0090】
本実施の形態に係る操作入力装置10は、実施の形態1と同様の構成を有し、同様の操作入力処理を実行するが、マッピング部114が実行するマッピングの切り替え方法が異なる。マッピングの切り替え方法について詳細に説明する。
【0091】
マッピング部114は、操作範囲特定部113が特定した操作範囲1002,1003をディスプレイ14の表示領域の全体又は予め定めた範囲の表示範囲1005,1006,1007のいずれかにマッピングする。そして、マッピング部114は、操作範囲1002,1003の座標を各表示範囲1005,1006,1007の座標に対応づけたマッピング情報を生成し、RAM13に記憶する。表示範囲1005,1006,1007のうちいずれにマッピングするかはオペレータの操作又は動きによって切り替えを行う。
【0092】
本実施の形態では、マッピングの切り替えは、オペレータのジェスチャに応じて行う。例えば、オペレータの手101を時計回りに回転するジェスチャを判別した場合に、より小さい表示範囲に切り替え、反時計回りに回転するジェスチャを判別した場合に、より大きい表示範囲に切り替えるようにする。ジェスチャの判別は、手101の画像の移動軌跡の形状に基づいて判別する。マッピング部114はマッピングを切り替える際にマッピング情報を生成する。
【0093】
マッピングを切り替える際は、切り替えたことが識別できる表示をしてもよい。例えば、操作範囲1003にマッピングする表示範囲を、表示範囲1005から表示範囲1006に切り替える場合、切り替えのタイミングで、切り替える前の表示範囲1005と切り替えた後の表示範囲1006の外周の枠線を連続して表示させてもよい。
【0094】
他の構成は実施の形態1と同様である。このように構成された操作入力装置10の動作について説明する。ここでも、実施の形態1の場合と同様に、
図5に示した表示範囲1005,1006,1007のいずれかに操作範囲1003をマッピングする場合について説明する。操作入力処理の全体のフローは実施の形態1と同様に
図6のフローチャートに示した通りである。
【0095】
図6のステップS104、S110で表示範囲1005,1006,1007にマッピングする際に参照するマッピング情報は、随時更新されRAM13に記憶される。マッピング情報更新処理が実施の形態1と異なる。マッピング情報更新処理について、
図11に示すフローチャートに沿って説明する。
図11は、本実施の形態3に係るマッピング情報更新処理を示すフローチャートである。マッピング情報更新処理を実行する間、マッピング部114は手101の画像の移動軌跡を継続して取得している。
【0096】
マッピング部114は、RAM13よりマッピング情報を読み出す(S401)。そして、対象検出部112の検出対象である手101の移動軌跡が時計回りを描いているか否かを判定する(ステップS402)。対象の移動軌跡が時計回りであると判定した場合(ステップS402;Yes)、現時点でマッピングしている表示範囲が最小であるか否かを判定する(ステップS403)。
【0097】
マッピングしている表示範囲が、
図5(c)に示すように、ディスプレイ領域1004の1/4の表示範囲1007で最小である場合には(ステップS403;Yes)、マッピング情報を更新することなくステップS401に戻る。一方、マッピングしている表示範囲が最小でない場合には(ステップS403;No)、1段階小さい表示範囲の座標に操作範囲1003の座標を対応づけるマッピング情報を生成し(ステップS404)、RAM13に上書き保存する。
【0098】
ステップS202で、対象検出部112の検出対象である手101の移動軌跡が時計回りではないと判定した場合(ステップS402;No)、対象である手101の軌跡が反時計回りを描いているか否かを判定する(ステップS405)。対象の移動軌跡が反時計回りでないと判定した場合は(ステップS405;No)、ステップS401に戻る。
【0099】
一方、対象である手101の移動軌跡が反時計回りであると判定した場合は(ステップS405;Yes)、現時点でマッピングしている表示範囲が最大であるか否かを判定する(ステップS406)。マッピングしている表示範囲が、
図5(a)に示すように、ディスプレイ領域1004全体の表示範囲1005で最大である場合には(ステップS406;Yes)、マッピング情報を更新することなくステップS401に戻る。
【0100】
一方、マッピングしている表示範囲が最大でない場合には(ステップS406;No)、1段階大きい表示範囲の座標に操作範囲1003の座標を対応づけるマッピング情報を生成し(ステップS407)、RAM13に上書き保存する。
【0101】
このようにして、
図6のステップS104、ステップS110のマッピングの際に参照するマッピング情報は、オペレータのジェスチャに応じて更新する。
【0102】
操作入力信号生成部115は、マッピング情報に基づいて、表示範囲1005,1006,1007のいずれかにマッピングされた操作範囲1002,1003における手101の大きさ、相対位置、形状及びそれらの時間変化に応じた操作入力信号を生成する(ステップS105、S111)。ステップS105、S111で出力される操作入力信号に基づくディスプレイ14の表示やアプリケーション実行部116の処理は、実施の形態1と同様である。
【0103】
以上説明したように、本実施の形態においては、操作範囲1002,1003をディスプレイ14の表示領域の全体又は予め定めた範囲の表示範囲1005,1006,1007のいずれかにマッピングする際に、手101の画像の移動軌跡の形状に応じて、マッピングする表示範囲を選択し切り替えることとした。これにより、オペレータが簡単なジェスチャをすることにより、マッピングを切り替えることができ、ディスプレイ14の表示領域全体の操作と極小範囲の微細な操作が共に可能になる。
【0104】
(実施の形態4)
本発明の実施の形態4について図面を参照して詳細に説明する。
【0105】
本実施の形態に係る操作入力装置10は、実施の形態1乃至3と同様の構成を有し、同様の操作入力処理を実行するが、
図6のステップS104、S110でマッピング部114が実行するマッピングの方法が異なる。マッピング方法について詳細に説明する。
【0106】
操作範囲特定部113は、実施の形態1乃至3と同様に片手の操作範囲1002又は両手の操作範囲1003を特定する。
【0107】
ここで、
図12(a)に示すように、人は腕の肘又は肩を中心として腕を動かすため、手101は肘又は肩を中心とした球殻上を移動する。このため、操作範囲1002,1003の中央部分に手が位置するとき、つまり、人の胸部の前面に手101が位置するときは、対象検出部112が検出する手101の画像の移動距離は、実際の手101の移動距離にほぼ比例する。しかし、操作範囲1002,1003の端部に手101が位置するとき、つまり人の胴体102から離れた位置に手があるときは、手101の画像の移動距離は、実際の手101の移動距離より小さくなる。
【0108】
図12(b)を用いて説明すると、人がAからBに手101を移動させたときの手101の画像はA’からB’に移動するのに対し、人がBからCに手101を移動させたときの手101の画像はB’からC’に移動する。AB間の弧の長さと、BC間の弧の長さは等しいが、B’C’間の距離はA’B’間の距離と比較して短くなっている。
【0109】
この実際の手101の移動距離と手101の画像の移動距離とのずれにより、オペレータの感覚とカーソルの動きにはずれが生じる。このずれを解消するために、マッピング部114は操作範囲1002,1003内に凸面の仮想空間を想定し、表示範囲1005,1006,1007にマッピングする。
【0110】
具体的には、マッピング部114は、
図13に示すように、表面に縦横それぞれに一定の間隔で配列した点を付した凸面を凸方向から見たような配列の点を操作範囲1002,1003内に仮想する。言い換えると、凸面の表面上に縦横それぞれに一定の間隔で配列した点を凸方向から、凸方向に垂直な平面に投影した配列の点を仮想することとなる。
【0111】
仮想した操作範囲1002,1003内の点と、表示範囲1005,1006,1007内に縦横それぞれ一定の間隔で配列した操作範囲1002,1003内の点と同数の点と、を配列順に対応付ける。そして、操作範囲1002,1003内の各点の座標を表示範囲1005,1006,1007の各点の座標に対応づけたマッピング情報を生成する。このマッピング情報を用いた場合、操作範囲1002,1003の中央から端部に近づくにつれ、操作範囲1002,1003に対する表示範囲1005,1006,1007の拡大率が高くなるようにマッピングすることとなる。
【0112】
このようにして生成したマッピング情報を用いることで、オペレータの操作感覚とカーソルの移動のずれを軽減することができる。
【0113】
操作入力信号生成部115は、対象検出部112が検出した手101の画像の大きさ、位置、形状の変化の情報と、マッピング部114で生成したマッピング情報とに基づいて、オペレータの操作が示す操作入力信号を生成する。
【0114】
以上説明したように、本実施の形態においては、マッピング部114が操作範囲1002,1003内に仮想した凸面上に一定間隔で配列した点を凸方向から投影した配列の点の座標を、表示範囲1005,1006,1007内の縦横に一定の間隔で配列した点の座標に対応付けしたマッピング情報を生成し、オペレータの操作の検出にそのマッピング情報を用いることとした。これにより、さらにオペレータの操作感覚に合致した操作入力を行うことが可能になる。
【0115】
このように本発明は、カメラの視野領域のうちオペレータの操作が有効な操作範囲を特定し、操作範囲をディスプレイの表示領域の全体及び予め定めた一部である複数の表示範囲のいずれか一つにマッピングし、操作範囲と表示範囲との座標の対応関係を示すマッピング情報を生成する。そして、検出対象の操作範囲における座標を、マッピング情報を用いて表示範囲の座標に変換し、変換された座標におけるオペレータの操作入力を示す操作入力信号を生成する。ここで、マッピング部は、検出対象の位置又は移動軌跡に基づいて、マッピングを切り替えることとした。これにより、操作に係る位置を特定する際に、ディスプレイの表示領域の全体から極小範囲まで正確に位置を特定することが可能になる。
【0116】
なお、本発明は、上記実施の形態に限定されず、本発明の要旨を逸脱しない範囲での種々の変更は勿論可能である。
【0117】
例えば、マッピング部114は操作範囲1002,1003を表示範囲1005,1006,1007のいずれか一つにマッピングするとしたが、表示範囲の数は任意であり、2つでもよく、又は、4つ以上であってもよい。
【0118】
また、操作範囲特定部113は、片手の中心位置や幅又は両手の中心位置に基づいて操作範囲1002,1003を特定するとしたが、他の部分の位置情報に基づいて操作範囲1002,1003を特定しても良い。一例として、人の顔を認識し、顔の中心位置と手の中心位置の縦方向の距離に基づいて操作範囲1002,1003の縦の長さを決定するようにしてもよい。
【0119】
また、操作範囲特定部113が特定する操作範囲1002,1003は、長方形であるとしたが、ディスプレイ14の面方向とオペレータの体軸方向が平行でない場合を想定して、台形の操作範囲を特定するようにしてもよい。
【0120】
また、CPU11が実行した処理のプログラムを、既存のコンピュータ等の情報端末で実行させることにより、当該情報端末を本発明に係る操作入力装置10として機能させることも可能である。
【0121】
このようなプログラムの配布方法は任意であり、例えば、CD-ROM(Compact Disc Read-Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto Optical Disc)、メモリカード等のコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネット等の通信ネットワークを介して配布してもよい。
【符号の説明】
【0122】
10…操作入力装置
11…CPU
111…画像取得部
112…対象検出部
113…操作範囲特定部
114…マッピング部
115…操作入力信号生成部
116…アプリケーション実行部
12…カメラ
13…RAM
14…ディスプレイ
15…記憶部
101…手
102…胴体
1001…視野領域
1002,1003…操作範囲
1004…ディスプレイ領域
1005,1006,1007…表示範囲
2001…アイコン
2002…画像
2003…カーソル