(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-11
(45)【発行日】2024-03-19
(54)【発明の名称】操作入力装置、操作入力方法及びプログラム
(51)【国際特許分類】
G06F 3/0346 20130101AFI20240312BHJP
G06F 3/042 20060101ALI20240312BHJP
G06F 3/041 20060101ALI20240312BHJP
【FI】
G06F3/0346 422
G06F3/042 473
G06F3/041 580
(21)【出願番号】P 2023505628
(86)(22)【出願日】2022-03-10
(86)【国際出願番号】 JP2022010548
(87)【国際公開番号】W WO2022191276
(87)【国際公開日】2022-09-15
【審査請求日】2023-09-04
(31)【優先権主張番号】P 2021038462
(32)【優先日】2021-03-10
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】505288686
【氏名又は名称】株式会社ネクステッジテクノロジー
(74)【代理人】
【識別番号】100095407
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100169753
【氏名又は名称】竹内 幸子
(74)【代理人】
【識別番号】100174067
【氏名又は名称】湯浅 夏樹
(74)【代理人】
【識別番号】100132883
【氏名又は名称】森川 泰司
(72)【発明者】
【氏名】坂本 堪亮
【審査官】星野 裕
(56)【参考文献】
【文献】特開2011-175623(JP,A)
【文献】特開2006-209359(JP,A)
【文献】特開2012-137989(JP,A)
【文献】特開2019-219820(JP,A)
【文献】特開2016-134022(JP,A)
【文献】国際公開第2014/034031(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/0346
G06F 3/042
G06F 3/041
(57)【特許請求の範囲】
【請求項1】
表示手段の表示面に垂直の方向に対して、視線方向が傾斜した実カメラの出力データに基づいて、3次元データを生成する3次元データ生成部と、
前記実カメラの前記視線方向に延びた第1直線上の点であって、前記実カメラから予め定めた第1距離にある特定点を中心として、前記第1直線を予め定めた角度だけ回転した第2直線の方向を視線方向とする仮想カメラを想定して、前記実カメラによる座標空間の前記3次元データを、前記仮想カメラによる座標空間の仮想3次元データに変換する座標変換部と、
前記仮想カメラによる座標空間において予め特定した指示有効領域
の内側の前記仮想3次元データに基づいて、指示体を検出する指示体検出部と、
前記仮想カメラから前記第2直線に平行な方向に予め定めた第2距離だけ離れた面を仮想タッチパネルとしたとき、前記第2直線に平行な方向における前記仮想カメラから前記指示体検出部が検出した前記指示体までの最短距離である第3距離と、前記仮想カメラから前記仮想タッチパネルまでの前記第2距離と、を比較し、前記第3距離が前記第2距離以下であるときに、前記仮想タッチパネルに前記指示体が接触したことを判定する接触判定部と、
前記接触判定部により前記指示体が接触したと判定されたときに、前記仮想3次元データに基づく操作入力信号を生成する操作入力信号生成部と、を備え
、
前記指示有効領域は、前記仮想カメラによる座標空間において、前記指示体の位置に依らずに予め特定した領域である、
操作入力装置。
【請求項2】
前記第1直線から前記第2直線までの回転の角度と、前記実カメラから前記特定点までの前記第1距離と、前記仮想カメラから前記仮想タッチパネルまでの前記第2距離と、を含むパラメータを取得するパラメータ取得部を、更に備え、
前記座標変換部は、前記パラメータを用いて、前記実カメラから前記仮想カメラまでの、前記特定点を中心とする回転で表される座標変換を行う、
請求項1に記載の操作入力装置。
【請求項3】
前記仮想カメラによる座標空間において
、前記指示体の位置に依らずに、前記指示有効領域を特定するパラメータを予め取得するパラメータ取得部を、更に備え、
前記指示体検出部は、前記パラメータにより特定される前記指示有効領域
の内側の前記仮想3次元データに基づいて、前記指示体を検出する、
請求項1に記載の操作入力装置。
【請求項4】
前記実カメラの基準点を通り、前記仮想タッチパネルの延在方向に平行な面を基準面としたとき、前記仮想カメラの基準点は、前記基準面上にあり、
前記第1距離は前記実カメラの基準点から前記特定点までの距離であり、前記第2距離は前記基準面から前記仮想タッチパネルまでの距離であり、前記第3距離は前記基準面から前記指示体までの最短距離であって、
前記座標変換部は、前記実カメラから前記仮想カメラまでの、前記特定点を中心とする回転、及び、当該回転後の位置から前記基準点までの前記第2直線に沿った平行移動で表される座標変換を行う、
請求項1から3のいずれか1項に記載の操作入力装置。
【請求項5】
前記実カメラから前記仮想カメラまでの前記特定点を中心とする回転は、前記特定点を通り前記仮想タッチパネルの延在方向に平行な直線を軸とする回転である、
請求項2又は4に記載の操作入力装置。
【請求項6】
前記仮想タッチパネルは、前記第2直線に垂直な方向に延在した形状を有し、前記第2直線が前記仮想タッチパネルの中心を通る、
請求項1から5のいずれか1項に記載の操作入力装置。
【請求項7】
前記接触判定部は、前記仮想タッチパネルに対して前記表示手段と反対の方向に離隔して配置した、前記仮想タッチパネルに平行なホバー面を想定し、前記第2直線に平行な方向における前記ホバー面から前記仮想カメラまでの距離を第4距離としたとき、前記第3距離が前記第4距離以下になった場合に、前記指示体が前記ホバー面より前記仮想タッチパネルに近い位置にあることを判定し、
前記操作入力信号生成部は、前記表示手段に、前記指示体が前記仮想タッチパネルに近づいていることを表す表示を行う操作入力信号を生成する、
請求項1から6のいずれか1項に記載の操作入力装置。
【請求項8】
前記3次元データ生成部は、互いに離れて固定され、視線方向が
前記表示手段の前記表示面に垂直の方向に対して傾斜した方向であって互いに異なる方向である2以上の前記実カメラの出力データ及び2以上の前記実カメラの位置情報に基づいて、前記3次元データを生成する、
請求項1から7のいずれか1項に記載の操作入力装置。
【請求項9】
前記座標変換部は、事前に、2以上の前記実カメラに対して、単一の前記3次元データを生成するためのキャリブレーションを実施する、
請求項8に記載の操作入力装置。
【請求項10】
前記接触判定部は、前記第2直線に平行な方向における前記仮想カメラから前記指示体検出部が検出した前記指示体までの距離の1以上の極小値である1以上の前記第3距離と、前記第2直線に平行な方向における前記仮想カメラから前記仮想タッチパネルまでの前記第2距離と、を比較し、1以上の前記第3距離が前記第2距離以下であるときに、前記仮想タッチパネルに1以上の前記指示体が接触したことを判定し、
前記操作入力信号生成部は、前記接触判定部が接触を判定した前記指示体の数に応じた前記操作入力信号を生成する、
請求項1から9のいずれか1項に記載の操作入力装置。
【請求項11】
表示手段の表示面に垂直の方向に対して、視線方向が傾斜した実カメラの出力データに基づいて、3次元データを生成する3次元データ生成ステップと、
前記実カメラの前記視線方向に延びた第1直線上の点であって、前記実カメラから予め定めた第1距離にある特定点を中心として、前記第1直線を予め定めた角度だけ回転した第2直線の方向を視線方向とする仮想カメラを想定して、前記実カメラによる座標空間の前記3次元データを、前記仮想カメラによる座標空間の仮想3次元データに変換する座標変換ステップと、
前記仮想カメラによる座標空間において予め特定した指示有効領域
の内側の前記仮想3次元データに基づいて、指示体を検出する指示体検出ステップと、
前記仮想カメラから前記第2直線に平行な方向に予め定めた第2距離だけ離れた面を仮想タッチパネルとしたとき、前記第2直線に平行な方向における前記仮想カメラから前記指示体検出ステップで検出した前記指示体までの最短距離である第3距離と、前記仮想カメラから前記仮想タッチパネルまでの前記第2距離と、を比較し、前記第3距離が前記第2距離以下であるときに、前記仮想タッチパネルに前記指示体が接触したことを判定する接触判定ステップと、
前記接触判定ステップで前記指示体が接触したと判定されたときに、前記仮想3次元データに基づく操作入力信号を生成する操作入力信号生成ステップと、を有
し、
前記指示有効領域は、前記仮想カメラによる座標空間において、前記指示体の位置に依らずに予め特定した領域である、
操作入力方法。
【請求項12】
コンピュータを、
表示手段の表示面に垂直の方向に対して、視線方向が傾斜した実カメラの出力データに基づいて、3次元データを生成する3次元データ生成部、
前記実カメラの前記視線方向に延びた第1直線上の点であって、前記実カメラから予め定めた第1距離にある特定点を中心として、前記第1直線を予め定めた角度だけ回転した第2直線の方向を視線方向とする仮想カメラを想定して、前記実カメラによる座標空間の前記3次元データを、前記仮想カメラによる座標空間の仮想3次元データに変換する座標変換部、
前記仮想カメラによる座標空間において予め特定した指示有効領域
の内側の前記仮想3次元データに基づいて、指示体を検出する指示体検出部、
前記仮想カメラから前記第2直線に平行な方向に予め定めた第2距離だけ離れた面を仮想タッチパネルとしたとき、前記第2直線に平行な方向における前記仮想カメラから前記指示体検出部が検出した前記指示体までの最短距離である第3距離と、前記仮想カメラから前記仮想タッチパネルまでの前記第2距離と、を比較し、前記第3距離が前記第2距離以下であるときに、前記仮想タッチパネルに前記指示体が接触したことを判定する接触判定部、
前記接触判定部により前記指示体が接触したと判定されたときに、前記仮想3次元データに基づく操作入力信号を生成する操作入力信号生成部、
として機能させるためのプログラム
であって、
前記指示有効領域は、前記仮想カメラによる座標空間において、前記指示体の位置に依らずに予め特定した領域である、
プログラム。
【請求項13】
表示手段の表示面に垂直の方向に対して、視線方向が傾斜した実カメラの出力データに基づいて、3次元データを生成する3次元データ生成部と、
前記実カメラの前記視線方向に延びた第1直線上の特定点を中心として、前記第1直線を予め定めた角度だけ回転した第2直線の方向を視線方向とする仮想カメラを想定して、前記実カメラによる座標空間の前記3次元データを、前記仮想カメラによる座標空間の仮想3次元データに変換する座標変換部と、
前記仮想カメラによる座標空間において予め特定した指示有効領域
の内側の前記仮想3次元データに基づいて、指示体を検出する指示体検出部と、
前記仮想カメラから前記第2直線に平行な方向に離れた面に仮想タッチパネルを想定したとき、前記第2直線に平行な方向における前記仮想カメラから前記指示体検出部が検出した前記指示体までの最短距離が、前記仮想カメラから前記仮想タッチパネルまでの距離以下であるときに、前記仮想タッチパネルに前記指示体が接触したことを判定する接触判定部と、
前記接触判定部により前記指示体が接触したと判定されたときに、前記仮想3次元データに基づく操作入力信号を生成する操作入力信号生成部と、を備え
、
前記指示有効領域は、前記仮想カメラによる座標空間において、前記指示体の位置に依らずに予め特定した領域である、
操作入力装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オペレータの操作に係る情報を入力する操作入力装置、操作入力方法及びプログラムに関する。
【背景技術】
【0002】
近年、オペレータが非接触で情報処理装置へ操作入力することのできる操作入力装置が多く開発されている。非接触の操作入力装置は、オペレータの操作負担を軽くすることができ、また手術現場、調理現場等において作業の途中でも情報処理装置を操作できる手段として注目されている。
【0003】
このような操作入力装置は、例えば、カメラでオペレータの指等の指示体を撮影して指示体の3次元位置を計測し、その3次元位置に基づいて情報処理装置へ操作入力するものがある(例えば、特許文献1)。
【0004】
特許文献1に記載のインタラクティブプロジェクターは、2つのカメラを用いて、自発光指示体の投写画面への接触は発光パターンに基づいて検出し、非発光指示体の投写画面への接触は位置検出部によって検出することにより、指示体のスクリーン面への接触の検出精度を向上することができると説明されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に記載のインタラクティブプロジェクターは、指示体の3次元位置を検出するために、2台のカメラを頭上に設置して、カメラの視線方向を鉛直下方向に向ける必要がある。この構成を、通常の情報処理装置に適用する場合には、ディスプレイ手前の上方にカメラを設置する必要があり、大規模な構成になり設置工数が増え、またオペレータの操作の邪魔になることもあった。
【0007】
一方、従来のパソコンやタブレット端末等の情報処理装置には、ディスプレイの端部に画面に対して垂直方向に撮影するカメラを備えているものがある。このようなカメラを利用した場合、ディスプレイに近い領域での指示体の先端の3次元位置は、誤差が大きくなり、指示体が示す場所を正確に特定することができないという問題があった。
【0008】
本発明は、上記実情に鑑みてなされたものであり、簡易な構成で非接触の操作入力を正確に検出することのできる操作入力装置、操作入力方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明の操作入力装置は、
表示手段の表示面に垂直の方向に対して、視線方向が傾斜した実カメラの出力データに基づいて、3次元データを生成する3次元データ生成部と、
前記実カメラの前記視線方向に延びた第1直線上の点であって、前記実カメラから予め定めた第1距離にある特定点を中心として、前記第1直線を予め定めた角度だけ回転した第2直線の方向を視線方向とする仮想カメラを想定して、前記実カメラによる座標空間の前記3次元データを、前記仮想カメラによる座標空間の仮想3次元データに変換する座標変換部と、
前記仮想カメラによる座標空間において予め特定した指示有効領域の内側の前記仮想3次元データに基づいて、指示体を検出する指示体検出部と、
前記仮想カメラから前記第2直線に平行な方向に予め定めた第2距離だけ離れた面を仮想タッチパネルとしたとき、前記第2直線に平行な方向における前記仮想カメラから前記指示体検出部が検出した前記指示体までの最短距離である第3距離と、前記仮想カメラから前記仮想タッチパネルまでの前記第2距離と、を比較し、前記第3距離が前記第2距離以下であるときに、前記仮想タッチパネルに前記指示体が接触したことを判定する接触判定部と、
前記接触判定部により前記指示体が接触したと判定されたときに、前記仮想3次元データに基づく操作入力信号を生成する操作入力信号生成部と、を備え、
前記指示有効領域は、前記仮想カメラによる座標空間において、前記指示体の位置に依らずに予め特定した領域であることを特徴とする。
【発明の効果】
【0010】
本発明によれば、3次元データを生成するためのカメラを、視線方向を傾けて設置した簡易な構成で、非接触の操作入力を正確に検出することが可能になる。
【図面の簡単な説明】
【0011】
【
図1】実施の形態1に係る操作入力システムのハードウェア構成を示すブロック図である。
【
図2】実施の形態1に係る操作入力装置の機能構成を示す機能ブロック図である。
【
図3】実施の形態1に係る表示手段、実カメラ及び仮想タッチパネルを側方から見た概要図である。
【
図4】実カメラと仮想カメラの位置関係を表した図である。
【
図5】実施の形態1に係る操作入力処理のフローチャートである。
【
図7】実施の形態2に係る表示手段、実カメラ、仮想タッチパネル及びホバー面を側方から見た概要図である。
【
図8】実施の形態3に係る表示手段、実カメラ、仮想タッチパネル及び指示有効領域の概要構成を示す斜視図である。
【
図9】実施の形態3に係る操作入力処理のフローチャートである。
【
図10】実施の形態4に係る実カメラの配置を示す図である。
【
図11】他の実施の形態に係る表示手段、透明板及び仮想タッチパネルを側方から見た概要図である。
【発明を実施するための形態】
【0012】
(実施の形態1)
本発明の実施の形態1について図面を参照して詳細に説明する。
【0013】
本実施の形態に係る操作入力システム1は、オペレータの指等の指示体を用いた操作を判別して生成した操作入力信号に基づく処理を行う情報処理システムである。
図1は、本実施の形態1に係る操作入力システム1のハードウェア構成を示すブロック図である。操作入力システム1は、
図1に示すように、実カメラ10と操作入力装置20とからなる。
【0014】
実カメラ10は3次元情報を示すデータを出力する3Dカメラ(3 Dimensional Camera)である。3次元情報の取得方式は従来の任意の方式でよく、例えば、ステレオ方式が用いられる。実カメラ10は、広角で撮影可能なものが好ましく、例えば、広角のFOV84°のレンズを備える。本実施の形態1では、操作入力装置20に外部接続する実カメラ10について説明するが、操作入力装置20に内蔵された専用カメラであってもよい。
【0015】
操作入力装置20は、任意の情報処理端末であり、操作入力処理のプログラムがインストールされたパソコン、スマートフォン及びタブレット型端末等の汎用の情報処理端末でもよく、専用端末でもよい。操作入力装置20は、
図1に示すように、CPU(Central Processing Unit:中央処理装置)21、RAM(Random Access Memory)22、ROM
(Read Only Memory)23、通信インターフェース24、記憶部25、表示手段26を備える。
【0016】
操作入力システム1は、操作入力装置20の表示手段26の表示面の手前に仮想した仮想タッチパネルに対する、オペレータの仮想タッチ操作を、実カメラ10の出力データに基づいて検出するものである。
【0017】
操作入力装置20の表示手段26は、画像、文字等の情報表示を行う任意の表示装置である。表示手段26は、パソコン、スマートフォン及びタブレット型端末等に内蔵又は外付けされる液晶ディスプレイ又は有機EL(Electro-Luminescence)ディスプレイを含む有形のディスプレイでもよく、ホログラムディスプレイ、ウォーターディスプレイ、眼鏡型ディスプレイ及びバーチャルディスプレイ等の無形又は流体形の表示装置でもよい。
【0018】
指示体は、表示手段26の表示画面における位置を特定するために、オペレータが移動させることのできる物であって、指示方向に延在する細長形状を有する。指示体は、例えば、オペレータの指又は指示棒である。以下、実カメラ10と操作入力装置20の配置及び機能構成について詳細に説明する。
【0019】
実カメラ10は、操作入力装置20の表示手段26の表示面に対して固定されている。また、実カメラ10の視線方向(視野の中心に向かう方向)は、指示体の指示方向に対して傾斜している。例えば、表示手段26がパソコンの液晶ディスプレイであって、実カメラ10を液晶ディスプレイの端部に固定する場合の視線方向は、表示手段26の表示面中央の前方の領域に向かう方向であり、表示面に垂直の方向に対して傾斜している。本実施の形態1の以下の説明では、表示手段26がパソコンの液晶ディスプレイであって、実カメラ10を液晶ディスプレイの中央上端部に固定した場合について説明する。この場合の実カメラ10の視線方向は、表示手段26の表示面に垂直の方向に対して斜め下方である。
【0020】
操作入力装置20のCPU21は、操作入力装置20の各構成部の制御を行うとともに、ROM23、記憶部25に保存されているプログラムを実行することにより、操作入力処理を含む各処理を実行する。RAM22は、高速にデータの読み書きが可能なメモリであり、実カメラ10が出力するデータ及び記憶部25から読み出したデータ等をCPU21が実行するデータ処理のために一時保存する。ROM23は、CPU21が実行する処理のプログラムや、設定値などを記憶する読み出し専用メモリである。
【0021】
通信インターフェース24は、実カメラ10とのデータの送受信が行われるインターフェースである。記憶部25は、大容量の記憶装置であり、フラッシュメモリ等から構成される。記憶部25は、実カメラ10の出力データ及びCPU21の処理により生成したデータを記憶する。また、記憶部25は、さらにCPU21が実行するプログラムを記憶する。表示手段26は、CPU21が生成する画像、文字等の情報を表示する。
【0022】
CPU21及びRAM22は、記憶部25に記憶している操作入力処理のプログラムを実行することにより、
図2に示すように、データ取得部211、3次元データ生成部212、パラメータ取得部213、座標変換部214、指示体検出部215、接触判定部216、操作入力信号生成部217として機能する。
【0023】
データ取得部211は、実カメラ10の出力データを取得する。3次元データ生成部212は、データ取得部211が取得した出力データを3次元座標空間に展開し、3次元データを生成する。実カメラ10の出力データ形式は任意の形式でよく、3次元データ生成部212は、予め定めた形式の3次元データを生成するために、実カメラ10の出力データ形式に応じたデータ処理を実行する。実カメラ10の出力データをそのまま3次元データとしてもよい。
【0024】
パラメータ取得部213は、実カメラ10の位置及び向き、並びに、仮想タッチパネルの位置及び大きさに係るパラメータを取得する。パラメータは、操作入力装置20の管理者による初期設定の入力により事前に決定される。
【0025】
座標変換部214は、実カメラ10の出力データに基づいて生成した3次元データを、仮想タッチパネルに対応した仮想3次元データに変換する。仮想3次元データへの変換に際して、実カメラ10を仮想的に移動させた仮想カメラを想定する。つまり、座標変換部214は、実カメラ10による座標空間の3次元データを、仮想カメラによる座標空間の仮想3次元データに変換する。
【0026】
指示体検出部215は、仮想3次元データに基づいて、仮想カメラに最も近い点を、指示体の先端として検出する。接触判定部216は、指示体検出部215が検出した指示体の先端が、仮想タッチパネルよりも表示手段26に近づいたか否かにより、仮想タッチパネルへの接触を判定する。
【0027】
ここで、3次元データ生成部212、パラメータ取得部213、座標変換部214、指示体検出部215及び接触判定部216の詳細について、
図3,4を用いて説明する。
図3は、実カメラ10、表示手段26及び仮想タッチパネル311を側方から見た概要図である。
図4は、実カメラ10と仮想カメラ312の位置関係を表した図である。
【0028】
3次元データ生成部212は、データ取得部211が取得した実カメラ10の出力データに基づいて、3次元データを生成する。実カメラ10による3次元の座標空間に指示体321が存するとき、3次元データ生成部212は、指示体321を含む3次元データを生成できる。
【0029】
図3において、仮想タッチパネル311が延在する面を延在面Pとし、実カメラ10の3次元座標の基準となる基準点を通り、延在面Pに平行な面を基準面Bとしたとき、延在面Pと基準面Bとの距離をPzとする。距離Pzは、実カメラ10の視野角又は3次元座標計測可能範囲等の仕様に応じて定まる範囲内の値であり、管理者による初期設定の入力により決定される。
【0030】
本実施の形態1では、実カメラ10は、表示手段26の中央上端部に固定されており、視線方向を斜め下方に向けている。実カメラ10の視線方向をEとし、仮想タッチパネル311の中心を通り延在面Pに垂直の方向をVとしたとき、方向Eと方向Vがなす角度をθとする。θは管理者が実カメラ10の向きに応じて入力するパラメータであり、管理者は、仮想タッチパネル311の位置及び大きさを仮想して、角度θと共に基準面Bから仮想タッチパネル311までの距離Pzを決定する。
【0031】
実カメラ10の3次元データから仮想3次元データへの変換は、
図4に示すように、実カメラ10を回転及び平行移動させた仮想カメラ312を想定して行う。仮想カメラ312の視線方向は、仮想タッチパネル311の中心を通り仮想タッチパネル311に垂直の方向である方向Vであると定義する。また、仮想カメラ312の仮想3次元データを決めるための基準点は、基準面B上にあると定義する。方向Eと方向Vの交点を特定点313としたとき、実カメラ10の基準点と特定点313との距離をSとする。
【0032】
パラメータ取得部213が管理者の入力により取得するパラメータは、
図3,4に示した、実カメラ10の視線方向を定義するための角度θと、仮想タッチパネル311の位置を定義するための距離Pzと、実カメラ10から仮想カメラ312への回転の中心となる特定点313を定義するための距離Sと、を含む。管理者は、実カメラ10の性能も考慮してパラメータを決定する。これらのパラメータを設定することにより、3次元データから仮想3次元データへの変換方法を特定することができる。
【0033】
言い換えると、実カメラ10の視線の方向Eに延びた第1直線上の点であって、実カメラ10の基準点から距離S(第1距離)にある特定点313を中心として、第1直線を角度θだけ回転した第2直線の方向Vを視線方向とする仮想カメラ312を想定する。そして、実カメラ10による座標空間の3次元データを、仮想カメラ312による座標空間の仮想3次元データに座標変換する。
【0034】
仮想タッチパネル311は、仮想カメラ312の基準点から第2直線に平行な方向にPz(第2距離)離れている。仮想タッチパネル311の形状は、表示手段26の表示面に対応できれば任意の形状でよい。以下の説明において、説明の簡易化のために、表示手段26の表示面が矩形状であり、仮想タッチパネル311も矩形状である場合について説明する。この場合、第2直線は仮想タッチパネル311の矩形状の中心点を通り、仮想タッチパネル311は第2直線に垂直な方向に延在する。第2直線は、仮想カメラ312の基準点と仮想タッチパネル311の中心を通っている。
【0035】
座標変換部214が行う座標変換について説明する。実カメラ10の出力データに基づいて3次元データ生成部212が生成した3次元データは、
図4に示すように、実カメラ10の視線方向Eをz軸とし、仮想タッチパネルの横方向に平行な方向をx軸とする座標(x,y,z)で表される。この実カメラ10による座標空間を、特定点313を通りx軸に平行な直線を回転軸として回転すると、仮想カメラ312の視線方向Vをz’軸とし、仮想タッチパネルの横方向をx軸とする座標(x,y’,z’)で表される座標空間が得られる。
【0036】
ここで、実カメラ10を回転した際には、カメラ位置は、基準面Bより後方のB’にあるため、方向Vに沿って基準面Bまでカメラ位置を平行移動させる。平行移動の距離Dzは、S-Scosθである。つまり、仮想カメラ312による座標空間の仮想3次元データは、(x,y’,z’)から、z’軸方向にDz(Dz=S-Scosθ)移動した座標(x,y’,z”)で表される。このようにして、実カメラ10の出力データに基づいて(x,y,z)で表される座標空間の3次元データを、回転及び平行移動により、仮想カメラ312による(x,y’,z”)で表される座標空間の仮想3次元データに変換することができる。
【0037】
指示体検出部215は、座標変換部214が変換した仮想3次元データに基づいて、仮想カメラ312に最も近い点を指示体321の先端として検出する。指示体321の先端が、オペレータの指示位置322である。指示体検出部215は、仮想3次元データに基づいて、指示位置322の仮想3次元座標を出力する。
【0038】
接触判定部216は、指示体検出部215が出力する指示位置322の仮想3次元座標に基づいて、仮想カメラ312の基準点から指示位置322までのz”方向(第2直線に沿った方向V)の距離Vz(第3距離)を算出する。そして、接触判定部216は、距離Vzを、仮想カメラ312から仮想タッチパネルまでのz”方向の距離Pz(第2距離)と比較する。
【0039】
言い換えると、接触判定部216は、仮想カメラ312の基準点を通る基準面Bから指示体321の指示位置322までの最短距離である距離Vzと、基準面Bから仮想タッチパネルまでの距離Pzと、を比較する。
図4に示すように、Vz≦Pzのとき、指示体321の指示位置322は、仮想タッチパネル311と同じ位置又は仮想タッチパネル311よりも仮想カメラ312に近いと言える。このとき、指示体321による仮想タッチパネル311への接触があったと判定する。Vz>Pzの場合には、指示体321による仮想タッチパネル311への入力はないと判定する。
【0040】
操作入力信号生成部217は、接触判定部216が指示位置322である指示体321の先端による接触があったと判定した場合に、その時の指示位置322の仮想3次元座標に基づいて、オペレータの操作が示す操作入力信号を生成する。
【0041】
具体的には、操作入力信号生成部217は、表示手段26の表示画面の、指示位置322の仮想3次元座標に対応する位置にカーソルを表示させる操作入力信号を生成する。
【0042】
その後、操作入力信号生成部217は、接触判定部216が出力する指示位置322の時間変化の情報に応じて、カーソルを動かし、選択、移動等を指示する操作入力信号を生成する。また、予め、任意のアプリケーションがインストールされた、操作入力装置20を含む情報処理端末においては、表示手段26に表示されたアイコンが示すアプリケーションの実行等を指示する操作入力信号を生成する。
【0043】
このように構成された操作入力装置20の操作入力処理について、
図5に示すフローチャートに沿って説明する。
図5は、操作入力処理を示すフローチャートである。操作入力処理は、操作入力システム1の管理者が操作入力プログラムを実行したときにスタートする。
【0044】
まず、パラメータ取得部213がパラメータ入力画面を表示手段26に表示する。管理者は仮想タッチパネル311の位置及び向きを仮想し、仮想タッチパネル311を特定するためのパラメータを入力する。パラメータ取得部213は、管理者が予め入力したパラメータを取得する(ステップS101)
【0045】
パラメータ取得部213が取得する第1のパラメータは、仮想タッチパネル311の延在面Pに垂直の方向Vに対する実カメラ10の視線方向Eの角度θである。第2のパラメータは、仮想タッチパネル311の中心を通り方向Vに延びた第2直線と、実カメラ10の視線方向Eに延びた第1直線と、の交点を特定点313としたときの、実カメラ10の基準点から特定点313までの距離Sである。第3のパラメータは、実カメラ10の基準点を通り、仮想タッチパネル311に平行な面を基準面Bとしたときの、基準面Bから仮想タッチパネル311までの距離Pzである。パラメータ取得部213が取得するパラメータは、仮想タッチパネル311を特定するための他のパラメータを含んでもよい。
【0046】
パラメータ取得部213が取得したパラメータにより、座標変換部214は、実カメラ10による座標空間の3次元データから、仮想カメラ312による座標空間の仮想3次元データへの座標変換方法を決定する(ステップS102)。仮想カメラ312は、特定点313を中心として実カメラ10を角度θだけ回転し、方向Vに沿って基準面Bまで平行移動した位置に仮想するカメラである。
【0047】
図4に示した例においては、座標変換部214は、実カメラ10による座標空間を、特定点313を中心として角度θだけ回転し方向Vに沿って長さDz(Dz=S-Scosθ)だけ平行移動した、仮想カメラ312による座標空間を想定し、実カメラ10による座標空間の3次元データを仮想カメラ312による座標空間の仮想3次元データに変換する座標変換方法を決定する(ステップS102)。
【0048】
データ取得部211は、実カメラ10の出力データを取得する(ステップS103)。3次元データ生成部212は、実カメラ10の出力データを3次元座標空間に展開し、3次元データを生成する。(ステップS104:3次元データ生成ステップ)。
【0049】
その後、座標変換部214が、ステップS102で決定した座標変換方法を用いて、実カメラ10による座標空間の3次元データを仮想カメラ312による座標空間の仮想3次元データに変換する(ステップS105:座標変換ステップ)。
【0050】
次に、指示体検出部215が、仮想3次元データに基づいて、仮想カメラ312から最も近い点を、指示体321の指示位置322として検出し、指示位置322の仮想3次元座標を算出する。そして、接触判定部216は、指示位置322の仮想3次元座標に基づいて、基準面Bから指示位置322までの、最短距離Vzを算出する(ステップS106)。接触判定部216は、基準面Bから仮想タッチパネル311までの距離Pzと指示位置322までの距離Vzとを比較し(ステップS107)、距離Vzが距離Pz以下であるか否かを判定する(ステップS108:接触判定ステップ)。
【0051】
距離Vzが距離Pz以下である場合には(ステップS108:Yes)、ステップS106で求めた指示位置322の仮想3次元座標に基づいて、仮想タッチパネル311上の座標を算出し、操作入力信号生成部217に対して出力する(ステップS109)。距離Vzが距離Pzより大きい場合には(ステップS108:No)、ステップS103に戻る。
【0052】
ステップS109で求めた仮想タッチパネル311上の座標を出力した後は、管理者による操作入力処理の終了の命令があった場合には(ステップS110:Yes)、処理を終了する。終了の命令がない場合には(ステップS110:No)、ステップS103に戻る。
【0053】
操作入力信号生成部217は、ステップS109で求めた仮想タッチパネル311上の座標の時間変化に基づいて操作入力信号を生成し(操作入力信号生成ステップ)、出力する。操作入力信号は、カーソルを動かし、選択、移動等を指示する信号、又は、予めインストールされたアプリケーションの実行等を指示する信号である。
【0054】
このようにして、操作入力装置20は、実カメラ10の出力データに基づく3次元データを、仮想カメラ312による仮想3次元データに変換し、指示位置322と仮想タッチパネル311の位置とを比較することにより、仮想タッチパネル311への指示体321のタッチ操作を検出する。
【0055】
以上説明したように、本実施の形態1において、実カメラ10は、視線方向を指示体321の指示方向に対して傾斜した方向に向けて、表示手段26に対して固定される。操作入力装置20の3次元データ生成部212は、実カメラ10の出力データに基づいて、3次元データを生成する。座標変換部214は、実カメラ10の視線方向Eを特定点313を中心として角度θだけ回転した方向Vを視線方向とする仮想カメラ312を想定し、実カメラ10による3次元データを、仮想カメラ312による仮想3次元データに変換する。そして、指示体検出部215が、仮想3次元データに基づいて、仮想カメラ312から最も近い点を指示位置322として検出し、接触判定部216が、仮想カメラ312から方向Vに距離Pzだけ離れた面を仮想タッチパネル311として想定し、方向Vにおいて仮想カメラ312から指示位置322までの距離Vzと、仮想カメラ312から仮想タッチパネル311までの距離をPzと、を比較し、距離Vzが距離Pz以下であるときに、仮想タッチパネル311に指示体321が接触したことを判定するとした。これにより、実カメラ10を、視線方向を傾けて設置した簡易な構成で非接触の操作入力を正確に検出することが可能となる。
【0056】
なお、本実施の形態1において、実カメラ10は、表示手段26の中央上端部に設置する場合について説明したが、
図6に示すように、仮想タッチパネル311の外周のどこに実カメラ10を設置してもよい。座標変換部214が座標変換方法を決定する際に、実カメラ10から仮想カメラ312への回転の方向を変えることで、他の場所の実カメラ10による3次元データも、仮想カメラ312による仮想3次元データに変換することができる。
【0057】
中央上端部以外の他の位置に実カメラ10を設置した場合であっても、実カメラ10の視線方向は、指示体321の指示方向に対して傾斜した方向である。上記実施の形態1では、実カメラ10から仮想カメラ312へ、x軸に平行な直線を回転軸とする回転角度θを設定し、この回転で表される座標変換をするとした。これに対し、例えば、
図6の実カメラ11の位置にある場合は、仮想タッチパネル311の縦方向に平行な座標軸をy軸としたとき、特定点313を通りy軸に平行な直線を回転軸とする回転角度を設定し、この回転で表される座標変換をすればよい。また、実カメラ12の位置にある場合は、x軸に平行な直線を回転軸とする回転角度及びy軸に平行な直線を回転軸とする回転角度を設定し、x軸に平行な直線を回転軸とする回転及びy軸に平行な直線を回転軸とする回転で表される座標変換をすればよい。
【0058】
つまり、実カメラ10から仮想カメラ312までの回転は、特定点313を通り仮想タッチパネル311の延在方向に平行な直線を軸とする回転であり、座標変換部214は、それぞれの軸を回転軸とする回転で表される座標変換を行う。これにより、実カメラ10の設置位置によらず、仮想タッチパネル311への仮想タッチ操作を検出することができる。
【0059】
また、実カメラ10の位置は、指示体321の指示方向に対して傾斜した方向から指示体321を撮影することができれば、仮想タッチパネル311の外周のみならず、仮想タッチパネル311に向かって操作するオペレータの上下左右又は後方でもよい。この場合は、角度θを90°以上の値に設定することで、適宜座標変換することができ、仮想タッチパネル311への仮想タッチ操作を検出することができる
【0060】
(実施の形態2)
本発明の実施の形態2について
図7を参照して詳細に説明する。
図7は、本実施の形態2における表示手段26、実カメラ10、仮想タッチパネル311及びホバー面315を側方から見た概要図である。
【0061】
本実施の形態2に係る操作入力システム1は、実施の形態1と同様の構成を有し、同様の操作入力処理を実行するが、仮想タッチパネル311よりも、表示手段26からさらに離れた位置にホバー面315を仮想する点が異なる。
【0062】
ホバー面315は、仮想タッチパネル311に平行な面であって、仮想タッチパネル311から予め定めた距離Hzだけ離れて位置する。仮想タッチパネル311とホバー面315との距離Hzは、管理者により設定可能であり、例えば、5cmから10cmの値である。
【0063】
データ取得部211、3次元データ生成部212、座標変換部214、指示体検出部215の機能及び動作は、実施の形態1と同様である。パラメータ取得部213は、実施の形態1におけるパラメータの角度θ、距離S及び距離Pzに加えて、仮想タッチパネル311からホバー面315までの距離Hzを取得する。
【0064】
接触判定部216は、基準面Bから指示位置322までの距離Vzについて、仮想タッチパネル311までの距離Pzとの比較より前に、基準面Bからホバー面315までの距離(第4距離:(Pz+Hz))との比較を行う。指示位置322が近づいてきて、ホバー面315を通過することにより、距離Vzが距離(Pz+Hz)以下になった場合に、操作入力信号生成部217が仮想タッチパネル311に近づいていることを表す表示を行う操作信号を生成する。
【0065】
例えば、操作入力信号生成部217は、距離Vzが距離(Pz+Hz)以下になった場合に、表示手段26にカーソルを表示させてもよい。これにより、オペレータは現在ポイントしている位置を認識することができる。さらに、カーソルの大きさ又は形状を変化させて仮想タッチパネル311までの距離を認識できる表示を行ってもよい。例えば、指示位置322がホバー面315を超えて仮想タッチパネル311まで近づくにつれ、カーソルを段階的に小さくしてもよく、又は、色を段階的に濃くしてもよい。
【0066】
従来のタッチパネルでは、オペレータが自身の視覚によりタッチパネルとの距離を認識できるが、空間に仮想する仮想タッチパネル311の場合には、仮想タッチパネル311までの距離を視覚で認識できない。これに対し、本実施の形態2の仮想タッチパネル311の手前にホバー面315を設けた構成は、オペレータが仮想タッチパネル311をタッチする前に、指示位置322が仮想タッチパネル311に近づいてきてホバー面315を超えた時点でカーソルのある領域及び仮想タッチパネルまでの距離を認識することができる。また、仮想タッチパネル311がタッチした際の位置の誤差を小さくすることができる。これにより空間における操作性を上げることができる。
【0067】
以上説明したように、本実施の形態2においては、仮想タッチパネル311に対して表示手段26の表示面と反対の方向に離隔して配置したホバー面315を仮想し、接触判定部216が、指示位置322の仮想タッチパネル311への接触の前に、ホバー面315の通過を判定する。そして、操作入力信号生成部217が、指示位置322が仮想タッチパネル311に近づいていることを表す表示を行う操作信号を生成することとした。これにより、指示位置322の存する領域及び仮想タッチパネル311までの距離をオペレータに認識させることが可能となる。
【0068】
(実施の形態3)
本発明の実施の形態3について
図8,9を参照して詳細に説明する。
図8は、本実施の形態3における表示手段26、実カメラ10、仮想タッチパネル311及び指示有効領域330の概要構成を示す斜視図である。
図9は、本実施の形態3における操作入力処理のフローチャートである。
【0069】
本実施の形態3に係る操作入力システム1は、実施の形態1,2と同様の構成を有する
が、パラメータ取得部213と指示体検出部215の機能が一部異なる。本実施の形態3に係る操作入力システム1において、操作入力装置20は、指示体321による指示が有効である指示有効領域330を仮想し、指示有効領域330の内側における指示体321の検出のみを有効とし、指示有効領域330の外側において指示体321の検出を行わない。
【0070】
指示有効領域330は、
図8に示すように、表示手段26の手前の空間領域から、限定した領域である。指示有効領域330の境界の形状は任意であり、例えば、
図8に示すように、仮想タッチパネル311に垂直で、かつ隣り合う面が互いに直交する4面を含む直方体である。その他、仮想タッチパネル311に垂直な面が側面となる円筒形又は楕円筒形であってもよく、仮想タッチパネル311から離れるに従い領域が広がり又は狭まる形状であってもよい。本実施の形態では、指示有効領域330の境界が直方体である場合について説明する。
【0071】
なお、指示有効領域330内に実施の形態2と同様のホバー面315を更に有してもよく、指示体321の指示位置322の仮想タッチパネル311へ接触の前に、ホバー面315の通過を判定するようにしてもよい。
【0072】
パラメータ取得部213は、仮想タッチパネル311を特定するためのパラメータに加えて、指示有効領域330を特定するためのパラメータを取得する。仮想タッチパネル311を特定するためのパラメータは、実施の形態1と同様の実カメラ10の視線方向Eの角度θと、実カメラ10の基準点から特定点313までの距離Sと、基準面Bから仮想タッチパネル311までの距離Pzである。
【0073】
指示有効領域330を特定するためのパラメータは、仮想カメラ312による座標空間における、指示有効領域330の境界を示す任意のパラメータであり、例えば、指示有効領域330の境界を示す仮想3次元座標値の上限及び下限、又は、指示有効領域330の境界面を表す3次元関数の係数である。パラメータ取得部213が取得するパラメータは、仮想タッチパネル311又は指示有効領域330を特定するための他のパラメータを含んでもよい。
【0074】
指示体検出部215は、座標変換部214が出力する仮想カメラ312による仮想3次元データのうち、パラメータにより特定された指示有効領域330内の仮想3次元データに基づいて、仮想カメラ312から最も近い点を指示体321の指示位置322として検出する。
【0075】
操作入力装置20の他の構成は実施の形態1,2と同様である。このように構成された操作入力装置20の操作入力処理について、
図9に示すフローチャートを用いて説明する。
図9において、
図5と同じ符号を付している処理は実施の形態1と同様の処理を行う。
【0076】
まず、パラメータ取得部213がパラメータ入力画面を表示手段26に表示する。管理者は仮想タッチパネル311の位置及び向きを仮想し、仮想タッチパネル311を特定するためのパラメータと、指示有効領域330を特定するためのパラメータを入力する。パラメータ取得部213は、管理者が予め入力したパラメータを取得する(ステップS201)。
【0077】
パラメータ取得部213が取得する仮想タッチパネル311を特定するためのパラメータは、実施の形態1と同様の実カメラ10の視線方向Eの角度θと、実カメラ10の基準点から特定点313までの距離Sと、基準面Bから仮想タッチパネル311までの距離Pzである。指示有効領域330を特定するためのパラメータは、仮想カメラ312による座標空間における、指示有効領域330の境界を示すパラメータである。パラメータ取得部213が取得するパラメータは、仮想タッチパネル311又は指示有効領域330を特定するための他のパラメータを含んでもよい。
【0078】
次に、パラメータ取得部213が取得したパラメータを用いて、座標変換部214は、実カメラ10による座標空間の3次元データから、仮想カメラ312による座標空間の仮想3次元データへの座標変換方法を決定する(ステップS102)。データ取得部211は、実カメラ10の出力データを取得する(ステップS103)。3次元データ生成部212は、実カメラ10の出力データを3次元座標空間に展開し、3次元データを生成する。(ステップS104:3次元データ生成ステップ)。
【0079】
その後、座標変換部214が、ステップS102で決定した座標変換方法を用いて、実カメラ10による座標空間の3次元データを仮想カメラ312による座標空間の仮想3次元データに変換する(ステップS105:座標変換ステップ)。なお、ステップS102~S105の詳細の処理は実施の形態1と同様である。
【0080】
次に、指示体検出部215が、ステップS105で座標変換した仮想3次元データのうち、ステップS201で取得したパラメータに基づいて特定された指示有効領域330の外側のデータを除外する(ステップS202)。
【0081】
その後、指示有効領域330外のデータを除外した仮想3次元データに基づいて、指示体検出部215が、仮想カメラ312から最も近い点を指示体321の指示位置322として検出し、指示位置322の仮想3次元座標を算出する。そして、接触判定部216は、指示位置322の仮想3次元座標に基づいて、基準面Bから指示位置322までの、最短距離Vzを算出する(ステップS106)。
【0082】
接触判定部216は、基準面Bから仮想タッチパネル311までの距離Pzと指示位置322までの距離Vzとを比較し(ステップS107)、距離Vzが距離Pz以下であるか否かを判定する(ステップS108:接触判定ステップ)。
【0083】
距離Vzが距離Pz以下である場合には(ステップS108:Yes)、ステップS106で求めた指示位置322の仮想3次元座標に基づいて、仮想タッチパネル311上の座標を算出し、操作入力信号生成部217に対して出力する(ステップS109)。距離Vzが距離Pzより大きい場合には(ステップS108:No)、ステップS103に戻る。
【0084】
ステップS109で求めた仮想タッチパネル311上の座標を出力した後は、管理者による操作入力処理の終了の命令があった場合には(ステップS110:Yes)、処理を終了する。終了の命令がない場合には(ステップS110:No)、ステップS103に戻る。なお、ステップS106~S110の詳細の処理は実施の形態1と同様である。
【0085】
操作入力信号生成部217は、ステップS109で求めた仮想タッチパネル311上の座標の時間変化に基づいて操作入力信号を生成し(操作入力信号生成ステップ)、出力する。操作入力信号は、カーソルを動かし、選択、移動等を指示する信号、又は、予めインストールされたアプリケーションの実行等を指示する信号である。
【0086】
このようにして、操作入力装置20は、実カメラ10の出力データに基づく3次元データを、仮想カメラ312による仮想3次元データに変換したデータのうち、指示有効領域330内のデータに基づいて検出した、指示位置322と仮想タッチパネル311の位置とを比較することにより、仮想タッチパネル311への指示体321のタッチ操作を検出する。
【0087】
本実施の形態3の効果について説明する。表示手段26には、指示操作の対象が表示手段26の一部のみであり、カード挿入、バーコードリーダ等の他の操作部331を備えるものがある。このような場合、操作入力装置20は、他の操作部331への操作を指示操作として誤検出することを回避しなくてはならない。本実施の形態3によれば、指示有効領域330を設定し、指示有効領域330の内部に存する指示体321の指示位置322のみを検出するため、他の操作部331への操作を、指示操作として誤検出することなく、非接触の操作入力を正確に検出することが可能となる。
【0088】
以上説明したように、本実施の形態3においては、操作入力装置20の指示体検出部215が、仮想カメラ312による仮想3次元データのうちの指示有効領域330内のデータに基づいて、仮想カメラ312から最も近い点を指示位置322として検出し、接触判定部216が、仮想カメラ312から指示位置322までの距離Vzと、仮想カメラ312から仮想タッチパネル311までの距離をPzと、を比較し、距離Vzが距離Pz以下であるときに、仮想タッチパネル311に指示体321が接触したことを判定するとした。これにより、指示有効領域330外での操作者の他の操作を誤って検出することなく、非接触の操作入力を正確に検出することが可能となる。
【0089】
(実施の形態4)
本発明の実施の形態4について
図10を参照して詳細に説明する。
図10は、本実施の形態4における実カメラの配置を示す図である。
【0090】
本実施の形態4に係る操作入力システム1は、実施の形態1と同様の操作入力処理を実行するが、実カメラ12,13を含む2以上の実カメラを用いる点が異なる。実カメラの台数は2以上の任意の数でよいが、以下の説明では、実カメラ12,13を備える構成について説明する。
【0091】
オペレータが2以上の指示体を用いて操作入力を行う場合がある。例えば、2本の指を同時にタッチパネルに接触し、2本の指の間の距離又は2本の指の移動方向及び移動距離に応じて、様々な操作入力が可能になる。本実施の形態4に係る操作入力装置20は、指示体321が2以上ある場合にも仮想タッチパネル311への操作入力を確実に検出可能にしたものである。
【0092】
第1の実カメラ12と第2の実カメラ13は互いに離れた場所に固定されている。例えば、
図10に示すように、第1の実カメラ12が表示手段26の右上端部に設置され、第2の実カメラ13が表示手段26の左上端部に設置される。つまり、第1の実カメラ12は仮想タッチパネル311の右上方、第2の実カメラ13は仮想タッチパネル311の左上方に位置する。実カメラ12,13の視線方向は、指示体321の指示方向に対して傾斜した方向であって互いに異なる方向である。操作入力装置20の構成は実施の形態1と同様である。
【0093】
操作入力装置20の管理者は、2以上の実カメラ12,13のうちから、マスターカメラを選択し、マスターカメラについてパラメータを設定する。ここでは、実カメラ12がマスターカメラである場合について説明する。パラメータ取得部213は、仮想タッチパネル311の延在面Pに垂直な方向Vに対する、実カメラ12の視線方向Eの、特定点313を通りx軸に平行な直線を軸とする角度θx及び特定点313を通りy軸に平行な直線を軸とする角度θyと、実カメラ12から特定点313までの距離Sと、基準面Bから仮想タッチパネル311までの距離Pzと、を取得する。
【0094】
3次元データ生成部212は、2以上の実カメラ12,13の出力データ及び2以上の実カメラ12,13の位置情報に基づいて、3次元データを生成する。なお、3次元データ生成部212は、事前に、2以上の実カメラ12,13に対して、単一の3次元データを生成するためのキャリブレーションを実施している。
【0095】
具体的には、3次元データ生成部212は、マスターカメラである実カメラ12の出力データを3次元座標空間に展開し、3次元データを生成する。同様に、3次元データ生成部212はスレーブカメラである実カメラ13の出力データに基づいて3次元データを生成するが、この3次元データは、事前に、実カメラ12と実カメラ13との位置関係及び出力データに基づいてキャリブレーションを実施して補正した3次元データである。3次元データ生成部212は、実カメラ12の出力データに基づく3次元データに対して、実カメラ13の出力データに基づくキャリブレーション済の3次元データを補って単一の3次元データを生成する。
【0096】
座標変換部214は、実カメラ12の視線方向Eを、特定点313を中心としてx軸に平行な直線を軸として角度θx、y軸に平行な直線を軸として角度θyだけ回転した方向を視線方向Vとし、基準面B上に基準点を有する仮想カメラ312を想定する。そして、座標変換部214は、3次元データ生成部212が生成した実カメラ12,13の出力データに基づく3次元データを、仮想カメラ312による仮想3次元データに変換する座標変換方法を決定する。
【0097】
座標変換部214は、3次元データ生成部212が生成した3次元データを、決定した座標変換方法を用いて、仮想3次元データに変換する。
【0098】
接触判定部216は、仮想カメラ312から方向Vに距離Pzだけ離れ、方向Vに垂直な面を仮想タッチパネル311として仮想する。そして、実カメラ12,13による3次元データから座標変換した仮想3次元データに基づいて、方向Vにおける仮想カメラ312から指示体323,324までの距離Vzを算出する。
【0099】
ここで、本実施の形態4では、2以上の指示体323,324による操作を検出可能とするために、接触判定部216は、仮想3次元データに基づいて算出した、方向Vにおける仮想カメラ312から指示体323,324までの距離の1以上の極小値を、1以上の距離Vz(第3距離)として検出する。つまり、接触判定部216は、仮想3次元データに基づいて、仮想カメラ312から3次元空間に存する点までの距離をプロットし、極小を示す点を指示体323,324の指示位置として検出する。
【0100】
接触判定部216は、1以上の距離Vzと、仮想カメラ312から仮想タッチパネル311までの距離をPzと、を比較し、距離Vzが距離Pz以下であるときに、仮想タッチパネル311に指示体323、324が接触したことを判定する。
【0101】
ここで、2以上の実カメラ12,13を用いた効果について説明する。
図10の例において、実カメラ12の出力データのみに基づく3次元データからは、指示体324が指示体323の陰になって検出できない。本実施の形態4においては、設置位置及び視線方向が異なる実カメラ13の出力データにより、3次元データを補っているため、実カメラ12,13の出力データに基づく3次元データによれば、指示体324の指示位置の仮想3次元座標を出力することができる。
【0102】
言い換えると、2以上の実カメラ12,13の出力データに基づいて、指示位置の仮想3次元座標を出力するため、指示位置を検出し損なうという問題を回避できる。
【0103】
操作入力信号生成部217は、接触判定部216が接触を判定した指示位置の仮想タッチパネル上の座標の時間変化に基づいて操作入力信号を生成する。このとき、2以上の異なる指示位置の接触を判定した場合には、予め設定した2以上の接触に対応する操作入力信号を生成する。
【0104】
以上説明したように、本実施の形態4においては、操作入力システム1は、互いに離れて固定され、視線方向が指示体323,324の指示方向に対して傾斜した方向であって互いに異なる方向である2以上の実カメラ12,13を備える。3次元データ生成部212は、2以上の実カメラ12,13の出力データに基づいて3次元データを生成し、座標変換部214は、マスターカメラである実カメラ12に係るパラメータに基づく座標変換方法を用いて、仮想3次元データに変換する。そして、接触判定部216は、仮想3次元データに基づいて算出した方向Vにおける仮想カメラ312から指示体323,324までの距離の1以上の極小値である距離Vzを取得し、1以上の指示体323,324の指示位置を検出することとした。これにより、一方の実カメラ12では未検出の指示体324も他方の実カメラ13で検出することが可能となり、複数のタッチによる確実な操作入力が可能になる。
【0105】
なお、上記実施の形態1-4において、実カメラ10-13は、表示手段26の端部に設置し、座標変換に係るパラメータを管理者が設定するとしたが、実カメラ10-13は、操作入力装置20に内蔵されていてもよい。この場合、操作入力装置20の組み立て時に実カメラ10-13の視線方向を表示手段26の表示面に垂直の方向に対して傾斜して実装し、その傾斜角度に応じて決定されている座標変換方法を用いてもよい。
【0106】
また、上記実施の形態1-4の構成に加えて、
図11に示すように、表示手段26及び実カメラ10の前面に、透明板316を更に設置してもよい。透明板316は、表示手段26が出力する光を透過する任意の透明な板であり、例えば、ガラス板又はアクリル板である。表示手段26及び実カメラ10を保護するとともに、オペレータに一定距離離れた空間での操作を促すことができる。
【0107】
また、上記実施の形態1-4において、1つの表示手段26の矩形の表示面に対応する1つの矩形かつ平面の仮想タッチパネル311を想定して操作入力を検出するとしたが、仮想タッチパネル311の形状及び大きさは任意であり、また平面で無くてもよい。また、1つの表示手段26の表示面に対し、2以上の仮想タッチパネル311を想定して、実カメラ10-13による3次元データを、2以上の仮想カメラ312による座標変換を行い、それぞれの仮想タッチパネル311に対する操作入力を検出してもよい。これらの場合、パラメータ取得部213が、仮想タッチパネル311の形状及び大きさを表すパラメータも含めて取得し、座標変換部214が仮想タッチパネル311の形状及び大きさを表すパラメータに応じて、3次元データの座標値の拡大、縮小又は変形を含む座標変換を行う。
【0108】
また、上記実施の形態4において、2以上の実カメラ12,13を用いて、1以上の指示位置を検出するとしたが、1つの実カメラ10を用いた実施の形態1-3においても、仮想カメラ312から指示体321までの距離の1以上の極小値である距離Vzを取得し、1以上の指示体321の指示位置を検出してもよい。
【0109】
また、上記実施の形態に示したハードウェア構成及びフローチャートは一例であり、任意に変更及び応用が可能である。CPU21で実現する各機能は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。
【0110】
例えば、上記実施の形態の動作を実行するためのプログラムを、コンピュータが読み取り可能なCD-ROM(Compact Disc Read-Only Memory)、DVD(Digital Versatile
Disc)、MO(Magneto Optical Disc)、メモリカード等の記録媒体に格納して配布し
、プログラムをコンピュータにインストールすることにより、各機能を実現することができるコンピュータを構成してもよい。そして、各機能をOS(Operating System)とアプリケーションとの分担、又はOSとアプリケーションとの協同により実現する場合には、OS以外の部分のみを記録媒体に格納してもよい。
【0111】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。すなわち、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【0112】
本出願は、2021年3月10日に出願された、日本国特許出願特願2021-038462号に基づく。本明細書中に日本国特許出願特願2021-038462号の明細書、特許請求の範囲、図面全体を参照として取り込むものとする。
【符号の説明】
【0113】
1…操作入力システム
10,11,12,13…実カメラ
20…操作入力装置
21…CPU
22…RAM
23…ROM
24…通信インターフェース
25…記憶部
26…表示手段
211…データ取得部
212…3次元データ生成部
213…パラメータ取得部
214…座標変換部
215…指示体検出部
216…接触判定部
217…操作入力信号生成部
311…仮想タッチパネル
312…仮想カメラ
313…特定点
315…ホバー面
316…透明板
321,323,324…指示体
322…指示位置
330…指示有効領域
331…他の操作部