(57)【特許請求の範囲】
【請求項１】
機器に対して命令や情報を入力するための入力装置であって、
ユーザからの操作入力を受付ける操作部の操作面よりも広い範囲の画像データを取り込む身体形状入力部と、
前記画像データから身体部分の形状を認識し、前記画像データから前記操作面の操作範囲に対応する部分を抽出して身体画像を作成する身体形状抽出部と、
前記操作面の操作範囲に対応した表示範囲であり、ユーザによる命令や情報の入力に必要な表示画像を作成する表示画像作成部と、
前記表示情報作成部が作成した表示画像と前記身体形状抽出部が作成した身体画像を合成する画像合成部と、
前記画像合成部が合成した画像を表示する表示部と、
前記操作部の操作面へのユーザからの操作入力、又は前記取り込まれた画像全体におけるユーザのジェスチャによる機器に対する操作入力を認識する演算部とを備える、入力装置。
【請求項２】
前記身体形状抽出部は、前記身体形状入力部から出力される画像データから検出された形状が身体部分の形状であるか否かを、予め保持していた身体部分の形状パターンを用いたパターンマッチングによって判定することを特徴とする、請求項１に記載の入力装置。
【請求項３】
前記身体形状抽出部は、前記身体形状入力部から出力される画像データから検出された身体部分の形状を前記形状パターンに基づいて補正することを特徴とする、請求項２に記載の入力装置。
【請求項４】
前記操作部の所定位置には、前記形状補正処理で利用される目印が付されており、前記身体形状抽出部は、前記身体形状入力部から出力された画像データ中の前記目印の位置が前記表示部の画面上の所定位置に変換されるように形状補正処理を行うことを特徴とする、請求項３に記載の入力装置。
【請求項５】
前記表示情報作成部は、前記身体形状抽出部が認識した身体部分の形状に応じて、作成する表示画像を変更することを特徴とする、請求項１に記載の入力装置。
【請求項６】
前記表示情報作成部は、前記身体形状入力部により認識された身体部分の形状が右手、又は左手の場合にのみ、表示画像を作成することを特徴とする、請求項１に記載の入力装置。
【請求項７】
前記表示情報作成部は、前記身体形状抽出部により認識された身体部分の形状に基づいて、表示画像中のＧＵＩ部品を強調表示、当該ＧＵＩ部品の位置変更、又は当該ＧＵＩ部品の有効性を変更することを特徴とする、請求項１に記載の入力装置。
【請求項８】
前記表示情報作成部は、操作対象で分けられた複数の表示領域からなる表示画像を作成し、前記画像合成部は、前記身体画像におけるユーザの指先部分を検出し、当該指先部分が存在する表示領域に限定して前記表示画像と前記身体画像とを合成することを特徴とする、請求項１に記載の入力装置。
【請求項９】
前記表示情報作成部は、操作対象で分けられた複数の表示領域からなる表示画像を作成し、前記画像合成部は、現在の操作対象となる領域に前記身体画像を縮小して前記表示画像と合成することを特徴とする、請求項１に記載の入力装置。
【請求項１０】
機器に対して命令や情報を入力するための入力方法であって、
ユーザからの操作入力を受付ける操作部の操作面よりも広い範囲の画像データを取り込む身体形状入力ステップと、
前記画像データから身体部分の形状を認識し、前記画像データから前記操作面の操作範囲に対応する部分を抽出して身体画像を作成する身体形状抽出ステップと、
前記操作面の操作範囲に対応した表示範囲であり、ユーザによる命令や情報の入力に必要な表示画像を作成する表示情報作成ステップと、
前記表示情報作成ステップで作成した表示画像と前記身体形状抽出ステップで作成した身体画像を合成する画像合成ステップと、
前記画像合成ステップで合成した画像を表示する表示ステップと、
前記操作部の操作面へのユーザからの操作入力、又は前記取り込まれた画像全体におけるユーザのジェスチャによる機器に対する操作入力を認識する演算ステップとを備える、入力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが機器に対して命令や情報を入力するための入力装置、及びその方法に関し、より特定的には、ディスプレイ等に表示された情報をもとにユーザが手などの身体を用いて命令や情報を入力することのできる入力装置、及びその方法に関する。
【背景技術】
【０００２】
従来、ディスプレイ等の表示画面に表示された情報をもとにユーザが指などを用いて命令や情報を入力する入力装置として、例えば特許文献１や特許文献２に示す装置がある。この装置は、タッチパネル操作面を格子マトリックス状のスキャン手段またはカメラで撮像し、取得したデータから手形状部分を抽出して、ディスプレイに表示されるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）などに合成して表示する内容を含んでいる。このような構成により、ユーザは、表示画面とは離れた位置に設置されているタッチパネル上に運転中の視線を一度移動させて目視することなく、表示画面に仮想的に表示された操作指の映像を見ながら、命令や情報を入力することができる。
【０００３】
一方で、特許文献１や２に記載された装置を用いて、カメラで撮影した画像からパターンマッチングによりユーザの手形状を取得し、手形状であることを認証したうえでユーザの操作を許可することや、ユーザの手形状や手の位置の時間変化パターンであるジェスチャを検知して、ユーザの入力を解釈することが考えられる。
【特許文献１】特開平９−７７６２２号公報
【特許文献２】特開２０００−６６８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、前述のような従来の入力インターフェースには以下のような欠点がある。特許文献１または２に示された装置においてユーザの手形状またはジェスチャをパターンマッチングによって検知するためには、手が撮像範囲である操作面内におさまっている必要がある。例えば、ユーザから見て手前の操作面を操作する間は、指の付け根より手前側が撮像範囲内に入らないため、手として認識されない。これでは、手であることを認識した上で何らかの操作を許可する、といった処理ができない。
【０００５】
また、手を左右に振ることによって直前の操作をキャンセルする、といった直感的なジェスチャによる操作を導入しても、常にユーザは手が操作面内にあることを意識しながらジェスチャをしなければならず、使いやすいインターフェースを構築できない。
【０００６】
本発明は上記問題に鑑みてなされた。すなわち、ユーザの手が操作面外にはみ出しても、手形状の検知やジェスチャ検知を正確に行うことによって、入力が可能な入力装置、及びその方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明は以下の構成を採用した。
【０００８】
機器に対して命令や情報を入力するための入力装置であって、ユーザからの操作入力を受付ける操作部の操作面よりも広い範囲の画像データを取り込む身体形状入力部と、前記画像データから身体部分の形状を認識し、前記画像データから前記操作面の操作範囲に対応する部分を抽出して身体画像を作成する身体形状抽出部と、前記操作面の操作範囲に対応した表示範囲であり、ユーザによる命令や情報の入力に必要な表示画像を作成する表示画像作成部と、前記表示情報作成部が作成した表示画像と前記身体形状抽出部が作成した身体画像を合成する画像合成部と、前記画像合成部が合成した画像を表示する表示部と、前記操作部の操作面へのユーザからの操作入力、又は前記取り込まれた画像全体におけるユーザのジェスチャによる機器に対する操作入力を認識する演算部とを備える。
【０００９】
前記身体形状抽出部は、前記身体形状入力部から出力される画像データから検出された形状が身体部分の形状であるか否かを、予め保持していた身体部分の形状パターンを用いたパターンマッチングによって判定することが好ましい。
また、表示情報作成部は、身体形状抽出部が検出した操作面に対応する部分より広い範囲の身体情報により表示画像を作成することが好ましい。
【００１０】
前記身体形状抽出部は、前記身体形状入力部から出力される画像データから検出された身体部分の形状を前記形状パターンに基づいて補正することが好ましい。
【００１１】
前記操作部の所定位置には、前記形状補正処理で利用される目印が付されており、前記身体形状抽出部は、前記身体形状入力部から出力された画像データ中の前記目印の位置が前記表示部の画面上の所定位置に変換されるように形状補正処理を行うことが好ましい。
【００１２】
前記表示情報作成部は、前記身体形状抽出部が認識した身体部分の形状に応じて、作成する表示画像を変更することが好ましい。
【００１３】
前記表示情報作成部は、前記身体形状入力部により認識された身体部分の形状が右手、又は左手の場合にのみ、表示画像を作成することが好ましい。
【００１４】
前記表示情報作成部は、前記身体形状抽出部により認識された身体部分の形状に基づいて、表示画像中のＧＵＩ部品を強調表示、当該ＧＵＩ部品の位置変更、又は当該ＧＵＩ部品の有効性を変更することが好ましい。
【００１５】
前記表示情報作成部は、操作対象で分けられた複数の表示領域からなる表示画像を作成し、前記画像合成部は、前記身体画像におけるユーザの指先部分を検出し、当該指先部分が存在する表示領域に限定して前記表示画像と前記身体画像とを合成することが好ましい。
【００１６】
前記表示情報作成部は、操作対象で分けられた複数の表示領域からなる表示画像を作成し、前記画像合成部は、現在の操作対象となる領域に前記身体画像を縮小して前記表示画像と合成することが好ましい。
【００１７】
本発明の第２の局面は、機器に対して命令や情報を入力するための入力方法に向けられている。本発明は、ユーザからの操作入力を受付ける操作部の操作面よりも広い範囲の画像データを取り込む身体形状入力ステップと、前記画像データから身体部分の形状を認識し、前記画像データから前記操作面の操作範囲に対応する部分を抽出して身体画像を作成する身体形状抽出ステップと、前記操作面の操作範囲に対応した表示範囲であり、ユーザによる命令や情報の入力に必要な表示画像を作成する表示情報作成ステップと、前記表示情報作成ステップで作成した表示画像と前記身体形状抽出ステップで作成した身体画像を合成する画像合成ステップと、前記画像合成ステップで合成した画像を表示する表示ステップと、前記操作部の操作面へのユーザからの操作入力、又は前記取り込まれた画像全体におけるユーザのジェスチャによる機器に対する操作入力を認識する演算ステップとを備える。
【発明の効果】
【００１８】
以上説明したように、本発明によれば、ユーザの手が操作面外にはみ出しても、手形状の検知やジェスチャ検知を正確に行うことによって、入力が可能な入力装置、及びその方法を提供することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施形態について図面を用いて詳細に説明する。
【００２０】
図１は、本発明の実施形態に係る入力装置の概念図である。図１において、ユーザの手元に操作用のタッチパッド４が設置され、ユーザから離れた位置にディスプレイ２が設置されている。タッチパッド４の上方にはカメラ１が設置されている。ディスプレイ２には、ユーザが所望の命令や情報を入力するための１つ以上のＧＵＩ部品３が表示されている。
【００２１】
タッチパッド４の操作面の各点は、ディスプレイ２の表示画面の各点と一対一で対応しており、ユーザがタッチパッド４の操作面のある点を指で押すと、その接触位置を示す座標データ（絶対座標データ）がタッチパッド４から制御部へと出力され、この座標データに基づいて、その接触位置に対応するＧＵＩ部品３が特定され、そのＧＵＩ部品３に関連付けられた命令や情報が入力される。
【００２２】
ユーザがＧＵＩ部品３を選択するためにタッチパッド４上に手６を移動させると、タッチパッド４を背景に含むようにして手６の画像がカメラ１によって撮像される。制御部は、カメラ１から出力された画像データから、パターンマッチングの手法により手６の形状やジェスチャを認識する。その後、タッチパッド４に対応する部分だけを抽出し、抽出した手６の画像をスーパーインポーズによってディスプレイ２に手画像７として表示する。即ち、手６の形状やジェスチャの検出には撮像された画像全体を用い、ディスプレイ２への表示にはタッチパッド４に対応する部分のみを用いる。
【００２３】
ユーザは、ディスプレイ２に表示された手画像７を見ながら、手画像７の指先が所望のＧＵＩ部品３上に来るように手６を移動させてからタッチパッド４を押す。するとその接触位置に対応するＧＵＩ部品３（すなわち、手画像７の指先に位置するＧＵＩ部品３）に関連付けられた命令や情報が入力される。
【００２４】
また、本発明の入力装置では、ユーザが指をタッチパッド４の操作面から少し浮かしている状態でも手画像７が画面に表示されるため、ユーザは、タッチパッド４に指を実際に接触させてスライドさせてみることなしに、現在の指の位置が画面上のどの位置に対応しているのかを確認することができる。よって、タッチパッド４を一押しするだけという単純かつ素早い入力操作が可能となる。
【００２５】
なお、ここではタッチパッド４から座標データが出力されるとしたが、後述するように、タッチパッド４は、必ずしも接触位置の座標データを出力する機能を備えている必要はなく、単にユーザがタッチパッド４を押したかどうかだけを検出するものでも構わない。この場合、カメラ１で撮像された画像から指先の位置が検出され、検出された指先の位置からユーザがどのＧＵＩ部品３を選択したかが判断されればよい。
【００２６】
以下、入力装置についてより詳細に説明する。
【００２７】
図２は、入力装置の構成を示すブロック図である。図２において、入力装置１０００は、身体形状入力部１００、表示部２００、操作部３００、及び演算部４００を備える。演算部４００は、演算部４００全体を制御する制御部５００、身体形状入力部１００の出力を処理して身体形状を抽出する身体形状抽出部６００、ユーザによる命令や情報の入力に必要となる表示情報（すなわちＧＵＩ部品３を含む画像）を作成する表示情報作成部７００、及び操作部３００を操作するユーザの身体部分を表す画像と表示情報作成部７００によって作成された表示情報とを合成する画像合成部８００を備える。以下、各部の構成について詳細に説明する。
【００２８】
（身体形状入力部１００）
まず、身体形状入力部１００について説明する。身体形状入力部１００は、ユーザが操作に用いる手など身体部分の形状と位置を装置に入力するための手段である。身体形状入力部１００としてカメラを用いた例について、図３〜図１１を参照しながら説明する。
【００２９】
身体形状入力部１００としては、例えば可視光カメラ、近赤外カメラ、赤外線カメラ、及び／又は超音波カメラを利用することができる。身体形状入力部１００は、操作部３００を撮影することのできる位置に配置され、操作部３００を撮影してその画像データを出力する。ユーザが操作部３００を手６で操作しているときには、身体形状入力部１００によって撮影される画像に手６が含まれることとなる。身体形状入力部１００は、好ましくは、操作部３００の操作面の中央を通る法線上に配置され、且つレンズの光軸が法線と平行になるように設置される。
【００３０】
身体形状入力部１００が可視光カメラの場合には、夜間でも手６が明瞭に撮影されるように、可視光を照射する光源１１０を設けることが好ましく、また、身体形状入力部１００から出力された画像データから手の形状を抽出し易くするために、操作部３００の操作面は均一色であるのが好ましく、特に黒や青であるのが好ましい。
【００３１】
身体形状入力部１００が近赤外カメラの場合には、常に手６が明瞭に撮影されるように、近赤外光を照射する光源１１０を設けることが好ましく、また、操作部３００の操作面は黒であるのが好ましい。
【００３２】
また、身体形状入力部１００から出力された画像データから手の形状を抽出し易くするためにも、操作部３００や操作中の手６に日光、車のヘッドライト、及び街灯等が直接照射されない様にするのが好ましい。
【００３３】
図３〜図６を用いて車内における設置例を説明する。図３は第１の設置例を示している。この設置例では、操作部３００がセンターコンソールの延長上であって、運転者が肘置きに肘をおいた状態で操作できるような位置に設置される。身体形状入力部１００は、操作部３００が撮像できる位置に設置される。身体形状入力部１００は、操作部３００の法線上であるＢの位置（車両の天井など）に設置されるのが好ましいが、Ｂの位置よりも前方（Ａの位置）にあるマップランプやルームミラーに組み込まれていても良い。また、Ｂの位置よりも後方（Ｃの位置）にあるルームランプユニットに組み込まれていてもよい。
【００３４】
なお、図３のＡの位置やＣの位置のように、操作部３００の操作面に対して斜め方向（すなわち垂直方向とは異なる方向）に身体形状入力部１００が設置される場合には、身体形状入力部１００によって撮像された手６の形状が、操作面に対して垂直な方向から見たときの手６の形状とは異なる可能性があり、手画像７を作成する際に後述する視点変換処理（操作面に対して斜め方向から見た画像を、操作面に対して垂直方向から見た画像に変換する画像処理）が必要となる場合がある。
【００３５】
図４は第２の設置例を示している。この設置例では、操作部３００がステアリングの中央部に斜め上向きに設置される。身体形状入力部１００は、操作部３００が撮像できる位置（車両の天井など）に設置される。この場合、身体形状入力部１００によって撮影される画像はステアリングの蛇角に応じて回転することになるが、身体形状入力部１００から出力される画像データを補正することによって、この回転による影響を除去することができる。画像データの補正方法の一例として、ステアリングの蛇角を検出する手段を設けて、検出された蛇角に応じて画像データに回転処理が施されてもよい。また、他の例として、操作部３００の操作面に１つ以上の基準となる目印を付しておき、画像データからこの目印の位置を検出することによってステアリングの蛇角を検出し、検出された蛇角に応じて画像データに回転処理が施されてもよい。
【００３６】
図５は第３の設置例を示している。この設置例では、操作部３００が運転席のドアの内側であって、運転者が肘置きに肘をおいた状態で操作できるような位置に設置される。身体形状入力部１００は、操作部３００が撮像できる位置（車両の天井など）に設置される。
【００３７】
図６は第４の設置例を示している。この設置例では、操作部３００が後部座席の中央にある肘掛け上に設置される。身体形状入力部１００は、操作部３００が撮像できる位置（車両の天井やルームランプ）に設置される。
【００３８】
図３〜図６の例では、身体形状入力部１００を車両の天井等、操作部３００から離れた位置に設置しているが、身体形状入力部１００と操作部３００とを一体的に構成することも考えられる。以下、図７〜図９を参照して、身体形状入力部１００と操作部３００とを一体的に構成した例を説明する。
【００３９】
図７は、操作部３００の上方の所定位置に身体形状入力部１００を設置した例を示している。身体形状入力部１００の近傍に必要に応じて光源１１０が設置されてもよい。光源１１０は、身体形状入力部１００が色画像を作成するものであれば可視光源で有る必要があるが、身体形状入力部１００が白黒画像を作成するものであれば近赤外光源でもよい。
【００４０】
図８は、操作部３００の上方の所定位置にミラー１２０を設置し、このミラー１２０に映る操作部３００および手６を身体形状入力部１００が撮像するようにした例である。
【００４１】
図７や図８のような構成を実現するには、例えば図９のような筐体１３０を用いて操作部３００に対する身体形状入力部１００の相対位置が固定されればよい。
【００４２】
このように身体形状入力部１００と操作部３００とを一体的に構成することにより、身体形状入力部１００の光軸調整が簡単になるという利点がある。また、操作部３００を図９のような筐体１３０で遮蔽することにより、外部からの光（太陽光など）が操作部３００に当たりにくくなるという利点もある。
【００４３】
図３〜図９の例では、操作部３００および手６を上方（すなわち操作部３００の操作面側）から身体形状入力部１００で撮像しているが、操作部３００および手６を下方（すなわち操作部３００の操作面とは反対の面側）から身体形状入力部１００で撮像することも考えられる。以下、図１０および図１１を参照して、身体形状入力部１００で操作部３００を下方から撮像するようにした構成例を説明する。
【００４４】
図１０は、操作部３００として透明なタッチパネルを採用し、その下方に身体形状入力部１００と光源１１０を設置した例である。図１１は、図１０において操作部３００を上方から見た図である。この例ではタッチパネルの下側の面に重ねて可視光カットフィルター１４０が配置されている。また、光源１１０は近赤外光を照射するものであり、身体形状入力部１００は近赤外光に感度のある撮像装置である。
【００４５】
（身体形状抽出部６００）
次に、身体形状抽出部６００について説明する。身体形状抽出部６００は、身体形状入力部１００の出力に基づいて身体形状データを抽出する。身体形状データとは、例えばユーザが操作部３００の操作面に載せている（操作面から浮いていても良い）身体部分（すなわち手や足など）の形状とその位置を示すデータである。
【００４６】
図１２は、身体形状抽出部６００による身体形状抽出処理の流れを示すフローチャートである。
【００４７】
身体形状抽出部６００は、まず身体形状入力部１００（ここではカメラ）から出力された画像データをフレームメモリに取り込む（ステップＳ６０２）。図１３は、フレームメモリに取り込まれた画像データの一例を示している。図１３の画像データ６０１において、６０３は操作部３００の操作面であり、６０５はユーザの手６である。
【００４８】
続いて身体形状抽出部６００は、ステップＳ６０２でフレームメモリに取り込んだ画像データから、図１４のようにユーザの身体（ここでは手６）に対応する領域を身体領域６０７として抽出する（ステップＳ６０４）。画像データから身体領域を抽出する方法としては、例えば以下の方法が考えられる。
【００４９】
第１の抽出方法は、背景差分法である。背景差分法では、まず、身体形状入力部１００と操作部３００との間に何も存在しない状態で身体形状入力部１００によって操作部３００を撮影し、その結果を背景画像データとして記憶しておく。そして、身体形状入力部１００から出力された画像データと背景画像データとを画素毎またはブロック毎に比較し、両者間で異なる部分を身体領域として抽出する。背景差分法は、操作部３００の操作面を単一色にする必要が無いという点で有利である。なお、背景画像データは、予めメモリーに記憶しておいても良いし、身体形状入力部１００から出力される画像データが一定時間以上変化しなかった場合にその画像データを背景画像データとして記憶するようにしても良い。
【００５０】
第２の抽出方法は、輝度閾値法である。輝度閾値法では、身体形状入力部１００から出力された画像データの各画素の輝度値を所定の閾値と比較することによって身体領域を抽出する。よって、身体形状入力部１００から出力された画像データにおいて、手６の部分と操作部３００の操作面の部分との輝度差が大きくなるように、操作部３００の操作面を黒ないし黒に近い色とし、且つ操作面につや消し処理を施して光の反射を極力無くすことが好ましい。閾値は、身体形状入力部１００から出力される画像データにおいて操作部３００に対応するいずれの画素の輝度値よりも大きい値に設定される。このようにして設定された閾値よりも高い輝度値を有する領域を抽出することにより、身体領域を抽出することができる。なお、夜間など暗い場合にも安定した身体領域の抽出を行うためには、身体形状入力部１００の画角の範囲に可視光や近赤外光を照射するなどして、身体領域が閾値よりも明るく映るようにする必要がある。
【００５１】
しかし、操作部３００の操作面には必ずしもユーザの身体部分が載せられるとは限らず、例えば荷物などが載せられる場合もある。この場合、荷物が身体部分として認識されてしまうため、表示部２００に荷物の画像が表示されてしまい、表示情報の表示の妨げとなってしまう。そこで、ステップＳ６０６で抽出された形状が身体部分の形状かどうかを判定し、身体部分でなければ以降の処理を行わないようにすれば、このような問題を回避することができる。ステップＳ６０６で抽出された形状が身体部分の形状かどうかを判定するには、身体部分の形状パターンを予め保持しておき、ステップＳ６０６で抽出された形状をこの形状パターンと比較（パターンマッチング）すればよい。なお、このパターンマッチングの結果を制御部５００に通知することによって、ステップＳ６０６で抽出された形状が身体部分の形状だと判明した場合にだけ操作部３００による入力操作を有効にしてもよい。これにより、操作部３００の操作面に載せられた荷物などによる誤動作を防止することができる。
【００５２】
ところで、ユーザが爪に操作部３００の操作面と同一の色のマニキュアを塗っていた場合などには、ステップＳ６０６において、爪の部分が欠けたような手の形状が検出されることになるが、上記のような形状パターンを用意しておけば、この形状パターンを参照して、検出された身体部分の形状において部分的に欠けた部分を補完するができる。
【００５３】
身体領域の抽出が完了すると、次に身体形状抽出部６００は、ステップＳ６０４で抽出した身体領域６０７に基づいて、図１５に示すようにその輪郭６０９を抽出する（ステップＳ６０６）。この輪郭抽出処理は、身体領域６０７に含まれる画素の中から、身体領域６０７以外の領域の画素と接している画素を抽出することにより行われる。より具体的には、身体領域６０７に含まれる全ての画素の中から、その上下左右の４近傍画素（もしくは注目画素の右上・左上・右下・左下の画素をさらに加えた８近傍画素）の中に身体領域６０７以外の領域の画素が含まれているような画素を抽出する。なお、必要に応じて、抽出した輪郭６０９に平滑化処理を施してもよい。平滑化処理を行うことにより、輪郭６０９に生じるエイリアシングを解消することができる。
【００５４】
次に、身体形状抽出部６００は、形状補正処理を行う（Ｓ６０８）。形状補正処理では、身体形状入力部１００から出力された撮像範囲の画像データおよび身体形状の輪郭６０９のうち、操作範囲にかかわる領域のみを抽出する。つづいて抽出された画像データについて、カメラレンズの歪み補正処理や視点変換処理やその他の補正処理を行う。
【００５５】
撮像範囲に含まれる操作範囲については、身体形状入力部１００と操作部３００の設置方法によって決定される。その取得方法としては、例えば事前に（身体部分が撮像範囲に写っていない状態で）、操作部３００の四隅などにマーカーを設置しておき、それらを輝度閾値法によって判別し、その位置を記憶しておけばよい。実際の操作時には、記憶しておいた操作範囲に従って操作範囲以外の領域を除去することで抽出が完了する。
【００５６】
カメラレンズの歪み補正処理は、特に身体形状入力部１００で広角レンズを用いた場合に、レンズの歪曲収差データを用いて補正するものである。よって、身体形状入力部１００で歪みの小さいレンズ（例えば標準レンズや望遠レンズ）を用いた場合にはカメラレンズの歪み補正は不要である。
【００５７】
視点変換処理は、設置位置の制約などで所望の視点（本実施例の場合は、操作部３００の真上方向からの視点）に身体形状入力部１００を設置できなかった場合に行うものである。視点変換技術は周知の技術である。図１６および図１７を参照して、視点変換処理の例を説明する。
【００５８】
図１６は、身体形状入力部１００が図３の位置Ａのような位置に設置されている場合に適用される視点変換処理の例である。身体形状入力部１００から出力された画像データ６０１における操作部３００の４隅（ａ、ｂ、ｃ、ｄ）が、表示部２００の画面の４隅に対応する位置となるように画像が引き延ばされる。このとき、身体形状入力部１００と操作部３００の相対位置が固定であれば、画像データ６０１における操作部３００の４隅（ａ、ｂ、ｃ、ｄ）の位置も固定であるため、これら４隅の位置をその都度検出しなくても図１６のような視点変換処理を施すことが可能である。しかし、身体形状入力部１００と操作部３００の相対位置が固定でない場合には、身体形状入力部１００から出力された画像データ６０１から操作部３００の４隅の位置を検出する必要がある。この場合、操作部３００の４隅に何らかの目印を付けておけば、４隅の位置をより正確に検出することができる。なお、操作部３００の操作面内の任意の領域を表示部２００の画面に対応させることもできる。この場合にも、その任意の領域の４隅に基準となる目印を付けておけば、その４隅が表示部２００の画面の４隅に対応する位置となるように画像を引き延ばすことができる。
【００５９】
図１７は、身体形状入力部１００が図４の位置に設置されている場合に適用される視点変換処理の例である。図４の例では操作部３００がステアリングとともに回転するため、ステアリングの回転に応じて、身体形状入力部１００から出力された画像データ６０１内の操作部３００も回転することとなる。この場合も、身体形状入力部１００から出力された画像データ６０１における操作部３００の４隅（ａ、ｂ、ｃ、ｄ）が検出され、これらの４隅が、表示部２００の画面の４隅に対応する位置となるように画像が引き延ばされる。
【００６０】
なお、ステップＳ６０８では、必要に応じて、カメラレンズの歪み補正処理や視点変換処理以外の形状補正処理も行われる。例えば、身体形状入力部１００から出力された画像データの解像度およびアスペクト比を、表示部２００の画面の解像度およびアスペクト比に変換する処理が適宜行われる。
【００６１】
なお、本実施例では、身体形状入力部１００でレンズ歪み補正の必要のない標準レンズを用い、身体形状入力部１００は操作部３００の操作面の中央を通る法線上に設置され、身体形状入力部１００の光軸はその法線と平行になるように設置され、身体形状入力部１００の画角は操作部３００の操作面全体が画像内にちょうど収まるように設定されているものと仮定する。この場合、ステップＳ６０８の形状補正処理は不要である。ステップＳ６０８の形状補正処理の結果、図１８のような手画像６１１が得られる。
【００６２】
次に身体形状抽出部６００は、身体画像作成処理を行う（ステップＳ６１０）。このステップでは、表示部２００に表示すべき身体画像を作成するステップである。ステップＳ６０８で作成した身体画像（例えば図１８の手画像６１１）をそのまま表示部２００に表示する場合には、このステップで特に何らかの処理を行う必要はない。ここでは、ステップＳ６０８で作成した身体画像が暗い場合に明度を上げたり、手の細かなしわなどを目立たなくするために身体画像に平滑化処理を施したり、身体画像の色調を補正して手がより綺麗に表示されるようにしたり、輪郭の内側の領域に予め用意したテクスチャー画像を貼り付けたりといった処理を行う。テクスチャーの例としては、動物の皮、木、コンクリート、金属、人工的な模様などが挙げられる。
【００６３】
（表示部２００）
次に、表示部２００について説明する。表示部２００は、画像合成部８００が合成した画像を画面に表示するものであり、表示部２００としては、液晶ディスプレイ、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ、ＥＬ（Ｅｌｅｃｔｒｏｎｉｃ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなどが利用できる。
【００６４】
なお、表示部２００は、例えばＨＵＤ（Ｈｅａｄ  Ｕｐ  Ｄｉｓｐｌａｙ）やＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）のように、画像合成部８００が合成した画像をハーフミラー、鏡、レンズなどを用いて空中に結像させるディスプレイであってもよい。この場合、例えば車両のフロントボンネットの上方のように、表示部２００の設置が困難な位置にも画像を表示することが可能となる。
【００６５】
また、表示部２００としてプロジェクターを利用してもよい。この場合、画像合成部８００が合成した画像がプロジェクターによってスクリーンに投影されるため、安価に大画面表示を実現することができる。
【００６６】
このように、表示部２００の構成は、設置場所や表示目的などに応じて適宜に選択すればよい。
【００６７】
（操作部３００）
次に、操作部３００について説明する。操作部３００は、ユーザによる入力操作を検知し、その入力操作に対応する信号を出力するものである。操作部３００としては、例えばタッチパネルやタッチパッドなどの座標入力デバイスや、ボタンスイッチ・ジョグダイヤルなどのスイッチ（ハードウェアとしてのスイッチ）が利用できる。もちろん、操作部３００が座標入力デバイスとスイッチを両方含んでいてもよい。以下に、操作部３００として座標入力デバイスを用いる例とスイッチを用いる例についてそれぞれ説明する。
【００６８】
まず、操作部３００として座標入力デバイスを用いる例について図１９を参照して説明する。
【００６９】
図１９において、操作部３００はタッチパッドやタッチパネルのような座標入力デバイスであり、ユーザが触れた（または押した）位置を示す座標データを、予め定められたタイミングで出力する。
【００７０】
ここで、操作部３００で検知するユーザの入力操作としては、ユーザが操作部３００の操作面に触れる操作、または操作面を押す操作が一般的であるが、これは座標入力デバイスの種類や設定にも依存する。例えば、静電容量式のタッチパッドの場合は、一般的には、ユーザが操作面に触れたかどうかを検知する。一方、感圧式のタッチパッドの場合は、操作面に触れたかどうかではなく、ユーザが操作面を一定値以上の圧力で押したかどうかを検知する。圧力の閾値を大きくすれば、ユーザが操作面を強く押したときにだけ入力操作として検知することもできる。なお、ユーザの入力操作としては、操作面に触れる操作や操作面を押す操作以外にも、例えば、ダブルクリック（短い間隔で操作面に２度触れる、または操作面を２度押す）、ドラッグ（操作面に触れた状態で指を移動させる）、長押し（一定時間以上操作面に触れる、または操作面を押す）、操作面に近づける、操作面から離す、などの種々の入力操作が考えられる。これらの入力操作は、必ずしも操作部３００のみが検知する必要はなく、例えば、制御部５００が、操作部３００の出力する座標データに基づいて、ダブルクリックやドラッグなどの入力操作を検知してもよい。
【００７１】
また、図１９に示すように、表示部２００に例えば音量調節用のロータリースイッチがＧＵＩ部品によって模擬的に表示され、操作部３００の操作面に円を描くようなドラッグ操作を検知したときに、そのドラッグ操作に応じて音量が変化するようにしてもよい。これにより、あたかも実際にロータリースイッチを回しているかのような直感的な入力操作が可能となる。
【００７２】
このように、操作部３００として座標入力デバイスを用いれば、表示部２００に表示するＧＵＩ部品の形、位置、機能、及び数を、必要に応じていつでも任意に変更することができる。また、例えば、表示部２００に表示された地図上の任意の地点を指定することも簡単にできる。よって、非常に汎用的な入力装置を実現することができる。
【００７３】
なお、前述したように、操作部３００は、一般的なタッチパッドやタッチパネルが備えているような座標データを出力する機能を必ずしも備えている必要はない。すなわち、ユーザが操作面に触れたかどうか、もしくは押したかどうかだけを信号として出力するようなものでもよい。この場合、操作部３００の出力からはユーザが触れた（または押した）位置を検出することができないため、身体形状入力部１００から出力されるデータに基づいてその位置を検出する必要がある。例えば、図１のように人差し指を立てた状態でＧＵＩ部品が選択されるようにユーザに制約を課し、身体形状抽出部６００で得られた手画像から人差し指の指先の位置が検出されると、ユーザがどのＧＵＩ部品を選択したかが分かる。ただし、上記のように何らかの制約を課さなければ、身体形状入力部１００から出力されるデータに基づいてユーザが押した位置を正確に判定することは困難である。しかし、操作部３００が座標データを出力する機能を備えていれば、例えば、図２０のように予め複数の指を複数のＧＵＩ部品上にそれぞれ位置させておき、手６を移動させることなく、これらのＧＵＩ部品の中から所望のＧＵＩ部品を適宜選択するような使い方も可能である。
【００７４】
次に、操作部３００としてスイッチを用いる例について説明する。図２１において、操作部３００は、ベース部３０１と複数のスイッチ３１０からなる。スイッチ３１０の例としては、ボタンスイッチ３１１、トグルスイッチ、ロータリースイッチ３１２、ジョグダイヤル３１３、及び／又はジョイスティック３１４が挙げられる。
【００７５】
表示部２００には、操作部３００に設置されたスイッチ３１０の位置に対応してＧＵＩ部品が表示される。これらのＧＵＩ部品の形状は、スイッチ３１０の形状とほぼ同一とするのが好ましい。
【００７６】
なお、表示部２００に表示されるＧＵＩ部品の機能は、必要に応じていつでも任意に変更することができる。例えば、オーディオモードではロータリースイッチ３１２を音量調節手段として利用し、ナビゲーションモードではロータリースイッチ３１２を地図の表示倍率変更手段として利用することができる。
【００７７】
このように、操作部３００としてスイッチを用いれば、ユーザはスイッチの挙動を触覚で感知しながら入力操作を行うことができるため、タッチパッドのように視覚だけを頼りにした入力操作と比較して、より直感的かつ確実な入力が可能となる。
【００７８】
もちろん、操作部３００が座標入力デバイスとスイッチを両方とも備えていても構わない。例えば、図２１のベース部３０１の中央に座標入力デバイスをさらに配置してもよい。座標入力デバイスとスイッチを組み合わせることにより、例えば、ユーザの使用頻度が高く表示部２００に固定的に表示されるようなＧＵＩ部品については対応するスイッチを操作部３００に設けておくことでその選択操作を容易にすると同時に、それ以外のＧＵＩ部品については座標入力デバイスを用いて選択させることでＧＵＩ部品の配置を柔軟にし、画面を有効に利用することができる。
【００７９】
（演算部４００）
次に、演算部４００について説明する。なお、演算部４００に含まれる身体形状抽出部６００についてはすでに説明したため、ここではその説明を省略する。
【００８０】
演算部４００の処理は、大きく分けて、ユーザの身体部分の画像を表示部２００に表示するために実行される処理と、ユーザの入力操作があったときに実行される処理とに分けられる。
【００８１】
まず、ユーザの身体部分の画像を表示部２００に表示するために実行される制御部５００の処理の流れを、図２２のシーケンス図を参照して説明する。
【００８２】
身体形状抽出部６００が身体形状を検出すると（ステップＳ５０１）、身体形状抽出部６００は、身体形状を検出した旨のメッセージを制御部５００に送る。ここで必要であれば、身体形状抽出部６００は、身体形状に関する特性（手の大きさ、左手か右手かなど）を検出し、その特性をメッセージと共に制御部５００に送ってもよい。
【００８３】
次に、制御部５００は、その時点での操作モードをチェックする（ステップＳ５０２）。ここでは、操作モードとして、ユーザによる入力操作が許可されているモードと、ユーザによる入力操作が禁止されているモードの２通りのモードが用意されているものとする。カーナビゲーション装置では、運転者が移動中にカーナビゲーション装置を操作することは危険につながるため、移動中はユーザによる入力操作が禁止されるのが普通である。
【００８４】
ステップＳ５０２のチェックによってユーザによる入力操作が許可されていると判断されると、制御部５００は、表示情報作成部７００に対して表示部２００に表示すべき表示情報を変更するように指示する（ステップＳ５０３）。表示情報作成部７００はこの指示に従って表示情報を変更する。ここでの表示情報作成部７００による表示情報の変更例を以下に説明する。
【００８５】
図２３Ａおよび図２３Ｂは、身体形状抽出部６００が身体形状を検出した場合（すなわちユーザの身体部分が操作部３００上に存在する場合）と検出していない場合（すなわちユーザの身体部分が操作部３００上に存在しない場合）とで表示情報を変更する第１の例である。図２３Ａは、身体形状抽出部６００が身体形状を検出していない場合の画面表示例である。ここでは、ユーザが選択することのできるＧＵＩ部品（ここではボタン）の輪郭が、「目的地まで２４分」と書かれた単なるメッセージ表示用の欄と同じ線種で表示されている。図２４Ｂは、身体形状抽出部６００が身体形状を検出した場合の、図２３Ａに対応する画面表示例である。ここでは、ボタンが立体的に表示されるため、ユーザは選択の対象となる領域がどこかを一目で認識することができる。このように表示情報を変更することによって、ユーザが入力操作をしようとしていないときには表示情報を簡素化して表示情報の視認性を向上し、ユーザが入力操作をしようとしているときには選択対象を強調表示して操作性を向上することができる。
【００８６】
図２４Ａおよび図２４Ｂは、身体形状抽出部６００が身体形状を検出した場合（すなわちユーザの身体部分が操作部３００上に存在する場合）と検出していない場合（すなわちユーザの身体部分が操作部３００上に存在しない場合）とで表示情報を変更する第２の例である。図２４Ａは、身体形状抽出部６００が身体形状を検出していない場合の別の画面表示例である。ここでは、ユーザが選択することのできるＧＵＩ部品（ここではボタン）が比較的小さい大きさで表示されている。図２４Ｂは、身体形状抽出部６００が身体形状を検出した場合の、図２３Ａに対応する画面表示例である。ここでは、ボタンが図２４Ａと比較してより大きく表示されるため、ユーザはボタンを選択し易くなる。このように表示情報を変更することによって、ユーザが入力操作をしようとしていないときにはボタン以外の情報を見易くし、ユーザが入力操作をしようとしているときにはボタンを拡大表示して操作性を向上することができる。
【００８７】
図２５Ａおよび図２５Ｂは、身体形状抽出部６００が右手を検出した場合と左手を検出した場合とで表示情報を変更する例である。この場合、身体形状抽出部６００は、検出された身体形状が右手のものか左手のものかを判定し、その判定結果を身体形状に関する特性として制御部５００に通知する。制御部５００はこの判定結果に基づいて表示情報作成部７００に表示情報の変更を指示する。検出された身体形状が右手のものか左手のものかは、図１４や図１５のようなデータから既存の種々のアルゴリズムを用いて判定することができる。図２５Ａは、身体形状抽出部６００が右手を検出した場合の画面表示例であり、図２５Ｂは、身体形状抽出部６００が左手を検出した場合の画面表示例である。ここでは、車内の運転席と助手席の間に操作部３００が設置されている場合のように、操作部３００が左右両側に２人のユーザが存在し、操作部３００の右側に存在するユーザは操作部３００を左手で操作し、操作部３００の左側に存在するユーザは操作部３００を右手で操作するという状況を想定している。つまり、身体形状抽出部６００が右手を検出したということは、操作部３００を操作しているユーザは操作部３００の左側にいると考えられる。このとき、仮にＧＵＩ部品（ここではボタン）が画面の右上に表示されていると、ユーザがそのボタンを押そうとするときに操作部３００の中央付近がユーザの手のひらで覆われてしまい、その結果として表示画面の中央付近が手画像で覆われることとなり、画面が見づらくなってしまう。そこで、このような問題を避けるために、身体形状抽出部６００が右手を検出した場合には、図２５Ａのようにボタンが画面の左側に表示され、逆に、身体形状抽出部６００が左手を検出した場合には、図２５Ｂのようにボタンが画面の右側に表示される。
【００８８】
なお、上の例では、身体形状抽出部６００が右手を検出した場合と左手を検出した場合とでボタンの配置位置を変更するようにしたが、ボタンの機能や形や大きさや数などを変更するようにしても良い。例えば、操作部３００が車内の運転席と助手席の間に設置されている場合に、車両の移動中に右手（すなわち助手席の搭乗者の手）が検出された場合には、文字入力のように比較的複雑な入力操作を要するボタンも画面スクロールのように比較的簡単な入力操作を要するボタンも表示するが、車両の移動中に左手（すなわち運転者の手）が検出された場合には、安全のために比較的簡単な入力操作を要するボタンだけを表示することが考えられる。
【００８９】
図２６Ａおよび図２６Ｂは、身体形状抽出部６００が比較的大きい手（すなわち大人の手）を検出した場合と比較的小さい手（すなわち子供の手）を検出した場合とで表示情報を変更する例である。この場合、身体形状抽出部６００は、検出された身体形状が比較的大きい手か比較的小さい手かを判定し、その判定結果を身体形状に関する特性として制御部５００に通知する。制御部５００はこの判定結果に基づいて表示情報作成部７００に表示情報の変更を指示する。検出された身体形状が比較的大きい手のものか比較的小さい手のものかは、例えば図１４の身体領域６０７の面積や幅を所定の閾値と比較することにより判定することができる。図２６Ａは、身体形状抽出部６００が比較的大きい手を検出した場合の画面表示例である。身体形状抽出部６００が比較的大きい手を検出したということは、大人が操作しようとしていると考えられるので、入力操作は特に制限されない。図２５Ｂは、身体形状抽出部６００が比較的小さい手を検出した場合の画面表示例である。身体形状抽出部６００が比較的大きい手を検出したということは、子供が操作しようとしていると考えられるので、一部または全てのボタンを無効化して入力操作が制限され、さらにボタンが無効化されていることがユーザに分かるように、ボタンの色が変化したり、目印が付けられる。
【００９０】
なお、上の例では、身体形状抽出部６００が比較的小さい手を検出した場合にボタンの色が変化したり、目印が付けられるとしたが、これに限らず、種々の表示情報の変更例が考えられる。例えば、表示情報に含まれる難しい単語が易しい単語に変更されたり、画面構成や色遣いが子供風に変更されたりすることも考えられる。
【００９１】
なお、表示情報の変更の他の例として、表示情報作成部７００は、身体形状抽出部６００によって身体部分の形状が検出された場合にのみ表示情報を生成するようにしてもよい。これにより、ユーザが入力操作を行わないときに画像表示に係る処理を中断するため、消費電力を抑えることができる。同様に、表示情報作成部７００は、身体形状抽出部６００によって右手（または左手）が検出された場合にのみ表示情報を生成するようにしてもよい。同様に、表示情報作成部７００は、身体形状抽出部６００によって大人の手（または子供の手）が検出された場合にのみ表示情報を生成するようにしてもよい。
【００９２】
なお、身体形状抽出部６００によって検出された形状が必ずしも身体部分の形状であるとは限らない。そこで、身体形状抽出部６００によって検出された形状が身体部分の形状かどうかを判定し、身体部分の形状だった場合と、身体部分以外のものの形状だった場合とで表示情報を変更するようにしても構わない。例えば、身体形状抽出部６００によって検出された形状が身体部分の形状でなかった場合には、表示情報作成部７００は表示情報を生成しないようにしてもよい。身体形状抽出部６００によって検出された形状が身体部分の形状かどうかの判定は、前述したパターンマッチングにより可能である。
【００９３】
表示情報が変更されると、制御部５００は、画像合成部８００に対して、身体形状抽出部６００によって作成された身体画像と表示情報作成部７００によって作成（変更）された表示情報とを合成するように指示する（ステップＳ５０４）。画像合成部８００はこの指示に従って身体画像と表示情報を合成する。画像合成部８００によって合成された画像例を以下に説明する。
【００９４】
図２７Ａは、身体形状抽出部６００が作成した身体画像（例えば図１８）を、表示情報作成部７００が作成した表示情報に上書きした場合の画面例である。このようにリアルな手画像を表示することにより、実際に画面に触れているかのような感覚をユーザに与えることができ、直感的な入力操作が可能となる。
【００９５】
図２７Ｂは、身体形状抽出部６００が作成した輪郭画像（例えば図１５）を身体画像として、表示情報作成部７００が作成した表示情報に上書きした場合の画面例である。このような画像合成により、身体部分の形状と位置が表示されると同時に、身体画像の内側の表示情報も表示されるので、操作中にも表示情報を確認し易くなる。
【００９６】
図２７Ｃは、身体形状抽出部６００が作成した身体画像を、輪郭を不透明にして内部を半透明にするように加工してから、表示情報作成部７００が作成した表示情報に上書きした場合の画面例である。このような画像合成により、直感的な入力操作が可能となると同時に、操作中にも表示情報を確認し易くなる。
【００９７】
図２７Ｄは、身体形状抽出部６００が作成した輪郭画像を、指先部分が強調表示されるように加工してから、表示情報作成部７００が作成した表示情報に上書きした場合の画面例である。このような画像合成により、ユーザは自分が押そうとしている位置を素早く確認することができ、なおかつ身体画像の内側の表示情報も表示されるので、操作中にも表示情報を確認し易くなる。なお、指先部分を検出する方法としては、例えば輪郭の形状からパターンマッチング手法を用いて指先部分を特定したり、図１３のような画像データから爪の部分を抽出したりといった方法が考えられる。また、強調表示の例としては、印を表示したり、色を変更したり、透明度を変更したり、さらには、指先に行くほど徐々に輪郭の色を濃くしたり、指先に行くほど徐々に輪郭の透明度を小さくしたりすることが挙げられる。
【００９８】
図２７Ｅは、身体形状抽出部６００が作成した身体画像を、半透明または不透明の影を付加してから、表示情報作成部７００が作成した表示情報に上書きした場合の画面例である。このような画像合成により、実際に画面に触れているかのような感覚をユーザに与えることができる。
【００９９】
上記の図２７Ｆ〜図２７Ｈの例は、身体画像を必要に応じて加工してから表示情報作成部７００が作成した表示情報に上書きするものであるが、画像合成の際に手画像以外を加工することも考えられる。以下、そのような例について説明する。
【０１００】
図２７Ｆは、身体形状抽出部６００が作成した身体画像を表示情報に上書きするとその一部または全体が隠れてしまうようなＧＵＩ部品について、その近傍に補助情報（ＧＵＩ部品のラベルや補助説明などの情報）をポップアップ表示した例である。この表示を実現するために、画像合成部８００はまず、表示情報作成部７００が作成した表示情報に含まれる各ＧＵＩ部品が身体画像と重なるかどうかを既知のアルゴリズムを用いて判断する。そして、身体画像と重なるＧＵＩ部品があれば、そのＧＵＩ部品の位置から所定の方向（右方向や上方向など）に離れて存在する身体画像と重ならないような領域を見つけ、その領域にそのＧＵＩ部品の補助情報を表示する。このような画像合成により、ユーザは、画面に表示された任意のＧＵＩ部品に関する情報を、そのＧＵＩ部品に身体画像を重ねることによって簡単に取得することができる。また、身体画像によって隠れてしまったＧＵＩ部品を、手を移動させることなく識別することができ、操作性が向上する。
【０１０１】
図２７Ｇは、身体形状抽出部６００が作成した身体画像を表示情報に上書きするとその一部または全体が隠れてしまうようなＧＵＩ部品について、そのＧＵＩ部品のラベルを身体画像に上書きした例である。なお、図２７Ｇの例では、隠れたＧＵＩ部品のラベルのみを身体画像に上書きしているが、隠れたＧＵＩ部品の形状もあわせて上書きしても良い。このような画像合成により、ユーザは、身体画像によって隠れてしまったＧＵＩ部品を、手を移動させることなく識別することができ、操作性が向上する。
【０１０２】
図２７Ｈは、身体形状抽出部６００が作成した身体画像を表示情報に上書きしたときに身体画像の指先部分に重なるＧＵＩ部品を強調表示した例である。このような画像合成により、ユーザは身体画像の指先がどのＧＵＩ部品の上にあるのかを容易に確認することができる。なお、指先部分の位置を検出する方法としては、例えば輪郭の形状からパターンマッチング手法を用いて指先部分を特定したり、図１３のような画像データから爪の部分を抽出したりといった方法が考えられる。また、強調表示は、例えば、色の変更、透明度の変更、形状の変更、線種・線の太さの変更、文字書式の変更、アイコンの変更、色や透明度の連続的な変更（グラデーション）など、種々の方法により可能である。
【０１０３】
次に、ユーザの入力操作があったときに実行される制御部５００の処理の流れを、図２８のシーケンス図を参照して説明する。
【０１０４】
まず、操作部３００は、ユーザによる接触操作もしくは押圧操作を検出すると（ステップＳ５１１）、制御部５００にメッセージを送る。ただし前述のように、操作部３００が単に座標データだけを制御部５００に出力し、この座標データに基づいて制御部５００が接触操作などを検知するようにしても構わない。
【０１０５】
次に、制御部５００は、表示情報作成部７００に対して表示情報を変更するように指示する（ステップＳ５１２）。表示情報作成部７００は、制御部５００の指示に従って表示情報を変更する。ここでの表示情報の変更例を図２９Ａおよび図２９Ｂを用いて説明する。
【０１０６】
図２９Ａは、ユーザが触れた（または押した）操作部３００上の点に対応するＧＵＩ部品（すなわちユーザによって選択されたＧＵＩ部品）を強調表示する例である。図２９Ａの例では、ユーザによって選択されたＧＵＩ部品（ここではボタン）が、ボタンが押し込まれたような画像に変更されている。なお図２９Ａでは便宜上、手画像が図示されているが、実際には、表示情報作成部７００が作成する表示情報に手画像は含まれない。このような表示情報の変更により、ユーザは、自分が選択しようとしたＧＵＩ部品を正しく選択できたかどうかを容易に確認することができ、操作性が向上する。
【０１０７】
図２９Ｂは、ユーザが触れた（または押した）操作部３００上の点に対応する画面上の点を強調表示する例である。図２９Ｂの例では、ユーザが触れた（または押した）操作部３００上の点に対応する画面上の点に、あたかも指紋が残ったかのように、円形の目印が上書きされている。この円形の目印は、この目印が表示されてから一定時間が経過するか、ユーザが再び操作部３００に触れる（または押す）までの間表示される。このような表示情報の変更により、ユーザは、自分が指定しようとした画面上の点を正しく指定できたかどうかを容易に確認することができる。特に、自分が指定しようとした点と実際に指定された点とがずれていた場合に、ずれた方向と距離を確認することができる。
【０１０８】
表示情報が変更されると、制御部５００は、画像合成部８００に対して、身体形状抽出部６００によって作成された身体画像と表示情報作成部７００によって作成された表示情報とを合成するように指示する（ステップＳ５１３）。画像合成部８００はこの指示に従って身体画像と表示情報を合成する。
【０１０９】
図３０は、身体形状を合成表示する部分を、表示部全体ではなく、操作対象とする範囲のみに限定した場合の表示例である。ここでは、左側がテレビ、右側がカーナビの地図画面と、表示部を２画面に分割して表示している。ユーザがテレビを操作しようとしている場合にナビ側に手形状を合成表示すると、不要な表示が重なって邪魔であるため、ナビ側には手形状を表示しないという構成が可能である。また、この場合、前述した指先位置の検出方法により、テレビ側に指先が存在する場合に現在の操作対象がテレビであると判断できるので、指先位置に応じて画像合成する範囲がテレビ側か、ナビ側に限定されればよい。
【０１１０】
図３１は、身体形状を、表示部全体ではなく、操作対象とする範囲に縮小して合成表示した場合の表示例である。ここでは、ＤＶＤ画面を例に説明する。操作部に触れる、若しくは手を操作部にかざすと、画面の上部にＤＶＤ操作用の子画面が出現する。子画面以外の場所では、操作する対象がなく、ＤＶＤの再生が行われているので、手形状を合成すると表示の邪魔である。そこで、子画面が表示されている間は、Ｓ６０８に説明した形状補正処理は、この子画面のサイズに対して視点変換処理を行う。これにより、子画面のみに対して手形状を合成することができる。
【０１１１】
以上のように、本発明によれば、ユーザの手が操作面外にはみ出しても、手形状の検知やジェスチャ検知を正確に行うことによって、入力が可能な入力装置、及びその方法を提供することを目的とすることができる。
【０１１２】
上記実施の形態で説明した構成は、単に具体例を示すものであり、本願発明の技術的範囲を制限するものではない。本願の効果を奏する範囲において、任意の構成を採用することが可能である。
【産業上の利用可能性】
【０１１３】
本発明の入力装置は、タッチパネルディスプレイのような直感的な入力操作を、画面に直接触れることなしに行えるようにしたものであり、ディスプレイから離れた位置で入力操作を行う場合や、表示手段として遠焦点ディスプレイを利用する場合等に好適である。また、入力操作時に手元を見る必要がないため、カーナビゲーション装置の入力装置等としても好適である。
【図面の簡単な説明】
【０１１４】
【図１】本発明の一実施形態にかかる入力装置の概念図
【図２】入力装置の構成を示すブロック図
【図３】車内における入力装置の設置例
【図４】車内における入力装置の設置例
【図５】車内における入力装置の設置例
【図６】車内における入力装置の設置例
【図７】身体形状入力部１００の設置例
【図８】身体形状入力部１００の設置例
【図９】身体形状入力部１００と操作部３００を一体的に構成した例
【図１０】身体形状入力部１００を操作部３００の下方に設置した例の側面図
【図１１】身体形状入力部１００を操作部３００の下方に設置した例の上面図
【図１２】身体形状抽出部６００の処理の流れを示すフローチャート
【図１３】身体形状抽出部６００で処理される画像データの例
【図１４】身体形状抽出部６００で抽出される身体領域６０７の例
【図１５】身体形状抽出部６００で抽出される輪郭６０９の例
【図１６】形状補正処理の一例を示す図
【図１７】形状補正処理の一例を示す図
【図１８】身体形状抽出部６００で作成される身体画像の例
【図１９】操作部３００の一例
【図２０】ユーザによる操作方法の一例
【図２１】操作部３００の一例
【図２２】身体画像を表示するための制御部５００の処理の流れを示すシーケンス図
【図２３Ａ】身体形状が検出されていない場合に表示情報作成部７００によって作成される表示情報の例
【図２３Ｂ】身体形状が検出された場合に表示情報作成部７００によって作成される表示情報の例
【図２４Ａ】身体形状が検出されていない場合に表示情報作成部７００によって作成される表示情報の例
【図２４Ｂ】身体形状が検出された場合に表示情報作成部７００によって作成される表示情報の例
【図２５Ａ】右手が検出された場合に表示情報作成部７００によって作成される表示情報の例
【図２５Ｂ】左手が検出された場合に表示情報作成部７００によって作成される表示情報の例
【図２６Ａ】比較的大きい手が検出された場合に表示情報作成部７００によって作成される表示情報の例
【図２６Ｂ】比較的小さい手が検出された場合に表示情報作成部７００によって作成される表示情報の例
【図２７Ａ】画像合成部８００によって合成された画像例
【図２７Ｂ】画像合成部８００によって合成された画像例
【図２７Ｃ】画像合成部８００によって合成された画像例
【図２７Ｄ】画像合成部８００によって合成された画像例
【図２７Ｅ】画像合成部８００によって合成された画像例
【図２７Ｆ】画像合成部８００によって合成された画像例
【図２７Ｇ】画像合成部８００によって合成された画像例
【図２７Ｈ】画像合成部８００によって合成された画像例
【図２８】ユーザによる入力操作が検知されたときの制御部５００の処理の流れを示すシーケンス図
【図２９Ａ】ユーザによる入力操作があった時に表示情報作成部７００によって作成される表示情報の例
【図２９Ｂ】ユーザによる入力操作があった時に表示情報作成部７００によって作成される表示情報の例
【図３０Ａ】身体形状を合成表示する部分を，操作対象とする範囲のみに限定した場合の表示例
【図３０Ｂ】身体形状を，操作対象とする範囲に縮小して合成表示した場合の表示例
【符号の説明】
【０１１５】
１  カメラ
２  ディスプレイ
３  ＧＵＩ部品
４  タッチパッド
６  手
７  手画像
１００  身体形状入力部
１１０  光源
１２０  ミラー
１３０  筐体
１４０  可視光カットフィルター
１５０  受光部
１６０  発光部
１７１  感度範囲
２００  表示部
３００  操作部
４００  演算部
５００  制御部
６００  身体形状抽出部
７００  表示情報作成部
８００  画像合成部
１０００  入力装置
【図１】
0005201999.tif 000002
【図２】
0005201999.tif 000003
【図３】
0005201999.tif 000004
【図４】
0005201999.tif 000005
【図５】
0005201999.tif 000006
【図６】
0005201999.tif 000007
【図７】
0005201999.tif 000008
【図８】
0005201999.tif 000009
【図９】
0005201999.tif 000010
【図１０】
0005201999.tif 000011
【図１１】
0005201999.tif 000012
【図１２】
0005201999.tif 000013
【図１３】
0005201999.tif 000014
【図１４】
0005201999.tif 000015
【図１５】
0005201999.tif 000016
【図１６】
0005201999.tif 000017
【図１７】
0005201999.tif 000018
【図１８】
0005201999.tif 000019
【図１９】
0005201999.tif 000020
【図２０】
0005201999.tif 000021
【図２１】
0005201999.tif 000022
【図２２】
0005201999.tif 000023
【図２３Ａ】
0005201999.tif 000024
【図２３Ｂ】
0005201999.tif 000025
【図２４Ａ】
0005201999.tif 000026
【図２４Ｂ】
0005201999.tif 000027
【図２５Ａ】
0005201999.tif 000028
【図２５Ｂ】
0005201999.tif 000029
【図２６Ａ】
0005201999.tif 000030
【図２６Ｂ】
0005201999.tif 000031
【図２７Ａ】
0005201999.tif 000032
【図２７Ｂ】
0005201999.tif 000033
【図２７Ｃ】
0005201999.tif 000034
【図２７Ｄ】
0005201999.tif 000035
【図２７Ｅ】
0005201999.tif 000036
【図２７Ｆ】
0005201999.tif 000037
【図２７Ｇ】
0005201999.tif 000038
【図２７Ｈ】
0005201999.tif 000039
【図２８】
0005201999.tif 000040
【図２９Ａ】
0005201999.tif 000041
【図２９Ｂ】
0005201999.tif 000042
【図３０Ａ】
0005201999.tif 000043
【図３０Ｂ】
0005201999.tif 000044