(54)【発明の名称】追従表示システム、追従表示プログラム、および追従表示方法、ならびにそれらを用いたウェアラブル機器、ウェアラブル機器用の追従表示プログラム、およびウェアラブル機器の操作方法
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0050】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
また、本発明は、
以下に説明する眼鏡表示装置に限定されるものではなく、他のウェアラブル機器、その他入出力装置、表示装置、テレビジョン、モニタ、プロジェクタ等にも適用することができる。
【0051】
(眼鏡表示装置の構成概略)
図1は、一実施の形態にかかる眼鏡表示装置100の基本構成の一例を示す模式的外観正面図であり、
図2は、眼鏡表示装置100の一例を示す模式的外観斜視図である。
【0052】
図1または
図2に示すように、眼鏡表示装置100は、眼鏡型の表示装置である。当該眼鏡表示装置100は、後述するように、ユーザの顔に装着して使用される。
【0053】
図1および
図2に示すように、眼鏡表示装置100は、主に、眼鏡ユニット200、通信システム300および操作システム400からなる。
【0054】
(眼鏡ユニット200)
図1および
図2に示すように、眼鏡ユニット200は、眼鏡フレーム210および一対の半透過ディスプレイ220からなる。眼鏡フレーム210は、主にリムユニット211、テンプルユニット212を含む。
眼鏡フレーム210のリムユニット211により一対の半透過ディスプレイ220が支持される。
【0055】
本実施の形態においては、眼鏡表示装置100には、リムユニット211に一対の半透過ディスプレイ220を設けることとしているが、これに限定されず、眼鏡表示装置100のリムユニット211に通常のサングラスレンズ、紫外線カットレンズ、または眼鏡レンズなどのレンズ類を設け、別に1個の半透過ディスプレイ220または一対の半透過ディスプレイ220を設けてもよい。
また、当該レンズ類の一部に、半透過ディスプレイ220を埋め込んで設けてもよい。
【0056】
さらに、本実施の形態は、眼鏡タイプに限定するものではなく、人体に装着し、装着者の視野に配設できるタイプであれば、帽子タイプその他任意のヘッドマウントディスプレイ装置に使用することができる。
【0057】
(通信システム300)
次に、通信システム300について説明を行なう。
通信システム300は、バッテリーユニット301、アンテナモジュール302、カメラユニット303、スピーカユニット304、GPS(Global Positioning System)ユニット307、マイクユニット308、SIM(Subscriber Identity Module Card)ユニット309およびメインユニット310を含む。
なお、カメラユニットにはCCDセンサが備えられてよい。スピーカユニット304は、ノーマルイヤホンであってもよいし、骨伝導イヤホンであってもよい。SIMユニット309には、NFC(Near Field Communication:近距離無線通信)ユニットおよび他の接触式ICカードユニット、ならびに非接触式ICカードユニットを含む。
【0058】
以上のように、本実施の形態にかかる通信システム300は、少なくとも携帯電話、スマートフォンおよびタブレット端末のいずれかの機能を含むものである。具体的には、電話機能、インターネット機能、ブラウザ機能、メール機能、および撮像機能等を含むものである。
したがって、ユーザは、眼鏡表示装置100を用いて、通信装置、スピーカおよびマイクにより、携帯電話と同様の通話機能を使用することができる。また、眼鏡型であるので、両手を利用せず、通話を行なうことができる。
【0059】
(操作システム400)
続いて、操作システム400は、赤外線検知ユニット410、ジャイロセンサユニット420、加速度検知ユニット430および制御ユニット450からなる。赤外線検知ユニット410は、主に赤外線照射素子411および赤外線検知カメラ412からなる。
【0060】
続いて、操作システム400の構成、処理の流れおよび概念について説明を行なう。
図3は、操作システム400の制御ユニット450の構成の一例を示す模式図である。
【0061】
図3に示すように、制御ユニット450は、イメージセンサ演算ユニット451、デプスマップ演算ユニット452、イメージ処理ユニット453、解剖学的認識ユニット454、ジェスチャデータ記録ユニット455、ジェスチャ識別ユニット456、キャリブレーションデータ記録ユニット457、合成演算ユニット458、アプリケーションソフトユニット459、イベントサービスユニット460、キャリブレーションサービスユニット461、表示サービスユニット462、グラフィック演算ユニット463、ディスプレイ演算ユニット464、および6軸駆動ドライバユニット465を含む。
【0062】
なお、制御ユニット450は、上記の全てを含む必要はなく、適宜必要な1または複数のユニットを含んでもよい。たとえば、ジェスチャデータ記録ユニット455およびキャリブレーションデータ記録ユニット457は、クラウド上に配置してもよく、合成演算ユニット458を特に設けなくてもよい。
【0063】
次に、
図4は、操作システム400における処理の流れを示すフローチャートであり、
図5は
図4のフローチャートに応じた概念を示す模式図である。
【0064】
まず、
図4に示すように、赤外線検知ユニット410から対象のデータを取得し、デプスマップ演算ユニット452により深さ演算を行なう(ステップS1。次に、イメージ処理ユニット453により外形イメージデータを処理する(ステップS2)。
【0065】
次いで、解剖学的認識ユニット454により、標準的な人体の構造に基づき、ステップS2において処理された外形イメージデータから、解剖学的特徴を識別する。これにより、外形が認識される(ステップS3)。
【0066】
さらに、ジェスチャ識別ユニット456により、ステップS3で得た解剖学的特徴に基づいてジェスチャを識別する(ステップS4)。
ジェスチャ識別ユニット456は、ジェスチャデータ記録ユニット455に記録されたジェスチャデータを参照し、解剖学的特徴が識別された外形からジェスチャの識別を行なう。なお、ジェスチャ識別ユニット456は、ジェスチャデータ記録ユニット455からのジェスチャデータを参照することとしているが、参照することに限定されず、他の任意のデータを参照してもよく、全く参照することなく処理してもよい。
以上により、
図5(a)に示すように、手のジェスチャを認識する。
【0067】
続いて、アプリケーションソフトユニット459およびイベントサービスユニット460は、ジェスチャ識別ユニット456により判定されたジェスチャに応じて所定のイベントを実施する(ステップS5)。
これによって、
図5(b)に示すように、たとえば写真アプリによる画像が表示される。この際、当該画面には、カメラユニット303からの撮像データが表示されてよい。
【0068】
最後に、表示サービスユニット462、キャリブレーションサービスユニット461、グラフィック演算ユニット463、ディスプレイ演算ユニット464および合成演算ユニット458により、半透過ディスプレイ220に、イメージの表示、またはイメージの仮想表示が行なわれる(ステップS6)これによって、
図5(c)に示すようにジェスチャを示す手のスケルトンの表示が行われ、
図5(d)に示すように、当該スケルトンの形状および大きさに写真の形状および大きさが合致するように合成されたイメージが表示される。
【0069】
なお、6軸駆動ドライバユニット465は、常にジャイロセンサユニット420、加速度検知ユニット430からの信号を検知し、ディスプレイ演算ユニット464に姿勢状況を伝達する。
【0070】
眼鏡表示装置100を装着したユーザが眼鏡表示装置100を傾斜させた場合には、6軸駆動ドライバユニット465は、常にジャイロセンサユニット420、加速度検知ユニット430からの信号を受信し、イメージの表示の制御を行なう。当該制御においては、イメージの表示を水平に維持させてもよいし、イメージの表示を傾斜にあわせて調整してもよい。
【0071】
(検知領域と仮想表示領域との一例)
次に、操作システム400の赤外線検知ユニット410の検知領域と、一対の半透過ディスプレイ220の仮想表示領域との関係について説明を行なう。
図6は、赤外線検知ユニット410の検知領域と、一対の半透過ディスプレイ220の仮想表示領域とを説明するための模式的斜視図であり、
図7は
図6の上面図であり、
図8は、
図6の側面図である。
【0072】
以下において、説明の便宜上、
図6に示すように、x軸、y軸およびz軸からなる三次元直交座標系が定義される。以下の図におけるx軸の矢印は、水平方向を指す。y軸の矢印は、鉛直方向またはユーザの体の長軸方向を指す。z軸の矢印は、深度方向を指す。z軸正方向は、より大きい深度の方向を指す。それぞれの矢印の向きは、他の図においても同じである。
【0073】
図6から
図8に示すように、操作システム400の赤外線検知ユニット410により検知可能な三次元空間検知領域(3Dスペース)4103Dを有する。
三次元空間検知領域4103Dは、赤外線検知ユニット410からの円錐状または角錐状の三次元空間からなる。
【0074】
すなわち、赤外線検知ユニット410は、赤外線照射素子411から、照射された赤外線を、赤外線検知カメラ412により検知できるので、三次元空間検知領域4103D内のジェスチャを認識することができる。
また、本実施の形態においては、赤外線検知ユニット410を1個設けることとしているが、これに限定されず、赤外線検知ユニット410を複数個設けてもよいし、赤外線照射素子411を1個、赤外線検知カメラ412を複数個設けてもよい。
【0075】
続いて、
図6から
図8に示すように一対の半透過ディスプレイ220は、ユーザに、実際に設けられた眼鏡表示装置100の部分ではなく、眼鏡表示装置100から離れた場所となる仮想イメージ表示領域2203Dに、奥行きを持って仮想表示されたものとして視認させる。当該奥行きは、仮想イメージ表示領域2203Dが有する仮想立体形状の深度方向(z軸方向)の厚みに対応する。したがって、当該仮想立体形状の深度方向(z軸方向)の厚みに応じて奥行きが設けられる。
すなわち、実際には眼鏡表示装置100の半透過ディスプレイ220に表示されるものの、ユーザは、右目のイメージは右目側の半透過ディスプレイ220を透過し三次元空間領域2203DRで認識し、左目のイメージは左目側の半透過ディスプレイ220を透過し三次元空間領域2203DLで認識する。その結果、認識された両イメージがユーザの脳内で合成されることにより、仮想イメージ表示領域2203Dで仮想イメージとして認識することができる。
【0076】
また、仮想イメージ表示領域2203Dは、フレーム・シーケンシャル方式、偏光方式、直線偏光方式、円偏光方式、トップ・アンド・ボトム方式、サイド・バイ・サイド方式、アナグリフ方式、レンチキュラ方式、パララックス・バリア方式、液晶パララックス・バリア方式、2視差方式および3視差以上を利用する多視差方式のいずれかを利用して表示されたものである。
【0077】
また、本実施の形態においては、仮想イメージ表示領域2203Dは、三次元空間検知領域4103Dと共有する空間領域を有する。特に、
図6および
図7に示すように、三次元空間検知領域4103Dの内部に、仮想イメージ表示領域2203Dが存在するため、仮想イメージ表示領域2203Dが共有領域となる。
【0078】
なお、仮想イメージ表示領域2203Dの形状およびサイズについては、一対の半透過ディスプレイ220への表示方法により任意に調整することができる。
また、
図8に示すように、一対の半透過ディスプレイ220よりも赤外線検知ユニット410が上方(y軸正方向)に配設されている場合について説明しているが、鉛直方向(y軸方向)に対して、赤外線検知ユニット410の配設位置が半透過ディスプレイ220よりも下方(y軸負方向)または半透過ディスプレイ220と同位置であっても、同様に、仮想イメージ表示領域2203Dは、三次元空間検知領域4103Dと共有する空間領域を有する。
【0079】
(検知領域と仮想表示領域との他の例)
続いて、
図9から
図11は、
図6から
図8において示した検知領域と仮想表示領域との他の例を示す模式図である。
【0080】
例えば、
図9から
図11に示すように、眼鏡表示装置100の半透過ディスプレイ220の代わりに、他の入出力装置、表示装置、テレビジョン、モニタ等を用いてもよい。以下、他の入出力装置、表示装置、テレビジョン、モニタ、プロジェクタを総称して入出力装置900と略記する。
【0081】
図9に示すように、入出力装置900からz軸負方向に仮想イメージ表示領域2203Dが出力され、入出力装置900にz軸方向で対向する位置に配設された赤外線検知ユニット410からz軸正方向に三次元空間検知領域4103Dが形成されてもよい。
この場合、入出力装置900による仮想イメージ表示領域2203Dが、三次元空間検知領域4103Dと共有の空間領域として生じる。
【0082】
また、
図10に示すように、入出力装置900から仮想イメージ表示領域2203Dが出力され、入出力装置900と同方向(xy平面を基準としていずれもz軸正側の方向)に赤外線検知ユニット410の三次元空間検知領域4103Dが形成されてもよい。
この場合でも、入出力装置900による仮想イメージ表示領域2203Dが、三次元空間検知領域4103Dと共有の空間領域として生じる。
【0083】
次に、
図11に示すように、入出力装置900から鉛直上方向(y軸正方向)に仮想イメージ表示領域2203Dが出力されてもよい。
図11においても、
図9、
図10と同様に、入出力装置900による仮想イメージ表示領域2203Dが、三次元空間検知領域4103Dと共有の空間領域として生じる。
【0084】
また、図示していないが、入出力装置900を三次元空間検知領域4103Dより上方側(y軸正方向の側)に配置し、鉛直下方向(y軸負方向)に仮想イメージ表示領域2203Dが出力されてもよく、水平方向(x軸方向)から出力されてもよく、プロジェクタまたは映画館のように、後上方(z軸正方向かつy軸正方向)から出力されてもよい。
【0085】
(操作領域とジェスチャ領域)
続いて、検知領域における操作領域とジェスチャ領域とについて説明する。
図12および
図13は、検知領域における操作領域と、ジェスチャ領域との一例を示す模式図である。
【0086】
まず、
図12に示すように、一般的に、ユーザは、右肩関節RPおよび左肩関節LPの両肩関節を回転中心として両手を水平移動させるため、両手の移動できる領域は、点線で囲まれた移動領域Lおよび移動領域Rとなる。
【0087】
また、
図13に示すように、一般的に、ユーザは、右肩関節RPおよび左肩関節LPの両肩関節を回転中心として両手を鉛直移動させるため、両手の移動できる領域は、点線で囲まれた移動領域Lおよび移動領域Rとなる。
【0088】
すなわち、
図12および
図13に示すように、ユーザは、両手を右肩関節RPおよび左肩関節LPをそれぞれ回転中心とした欠球状(深度方向に凸のアーチ状曲面を有する)の立体空間内で移動させることができる。
【0089】
次に、赤外線検知ユニット410による三次元空間検知領域4103Dと、仮想イメージ表示領域が存在しうる領域(
図12では仮想イメージ表示領域2203Dを例示)と、腕の移動領域Lおよび移動領域Rを合わせた領域との全てが重なる空間領域を、操作領域410cとして設定する。
また、三次元空間検知領域4103D内における操作領域410c以外の部分で、かつ腕の移動領域Lおよび移動領域Rを合わせた領域と重なる部分をジェスチャ領域410gとして設定する。
【0090】
ここで、操作領域410cが、深度方向に最も遠い面が深度方向(z軸正方向)に凸のアーチ状に湾曲した曲面である立体形状を有することに対し、仮想イメージ表示領域2203Dは、深度方向に最も遠い面が平面である立体形状を有する。このように両領域の間で当該面の形状が異なることに起因し、ユーザは、当該操作において体感的に違和感を覚える。当該違和感を取り除くためにキャリブレーション処理で調整を行なう。また、キャリブレーション処理の詳細については、後述する。
【0091】
(キャリブレーションの説明)
次いで、キャリブレーション処理について説明を行なう。
図14は、キャリブレーション処理の説明を行なうためのフローチャートである。
【0092】
図12および
図13に示したように、ユーザが仮想イメージ表示領域2203Dに沿って手を動かそうとすると、補助のない平面に沿って動作させる必要がある。したがって、後述する認識処理により仮想イメージ表示領域2203Dにおいて、操作をし易くするためにキャリブレーション処理を行なう。
また、キャリブレーション処理には、ユーザの個々で異なる指の長さ、手の長さ、腕の長さの調整も行なう。
【0093】
以下、
図14を用いて説明を行なう。まず、ユーザが、眼鏡表示装置100を装着し、両腕を最大限に伸張する。その結果、赤外線検知ユニット410が、操作領域410cの最大領域を認識する(ステップS11)。
すなわち、ユーザによりユーザの個々で異なる指の長さ、手の長さ、腕の長さが異なるので、操作領域410cの調整を行なうものである。
【0094】
次に、眼鏡表示装置100においては、仮想イメージ表示領域2203Dの表示位置を決定する(ステップS12)。すなわち、仮想イメージ表示領域2203Dを操作領域410cの外側に配置するとユーザによる操作が不可能となるため、操作領域410cの内部に配置する。
【0095】
続いて、眼鏡表示装置100の赤外線検知ユニット410の三次元空間検知領域4103D内で、かつ仮想イメージ表示領域2203Dの表示位置と重ならない位置に、ジェスチャ領域410gの最大領域を設定する(ステップS13)。
なお、ジェスチャ領域410gは、仮想イメージ表示領域2203Dと重ならないように配置しかつ深さ方向(z軸正方向)に厚みを持たせることが好ましい。
【0096】
本実施の形態においては、以上の手法により、操作領域410c、仮想イメージ表示領域2203D、ジェスチャ領域410gが設定される。
【0097】
続いて、操作領域410c内における仮想イメージ表示領域2203Dのキャリブレーションについて説明する。
【0098】
操作領域410c内の仮想イメージ表示領域2203Dの外部周囲にユーザの指、手、または腕が存在すると判定された場合に、あたかも仮想イメージ表示領域2203Dの内部に存在するように、丸め込みを行なう(ステップS14)。
【0099】
図12および
図13に示すように、半透過ディスプレイ220により仮想表示されたイメージの中央部近辺では、両腕を最大限に伸ばした状態にすると、両手先が仮想イメージ表示領域2203D内に留まることなく深さ方向(z軸正方向)の外部へ外れてしまう。また、仮想表示されたイメージの端部においては、両腕を最大限に伸ばさない限り、両手先が仮想イメージ表示領域2203D内に存在すると判定されない。
そのため、赤外線検知ユニット410からの信号を無処理のまま使用すると、ユーザは、手先が仮想イメージ表示領域2203Dから外れたとしても、そのような状態であることを体感しにくい。
【0100】
したがって、本実施の形態におけるステップS14の処理においては、仮想イメージ表示領域2203Dから外部へ突き出た手先が、仮想イメージ表示領域2203D内にあるものとして補正すべく、赤外線検知ユニット410からの信号を処理する。
その結果、ユーザは、両腕を最大限に伸ばした状態、または少し曲げた状態で、奥行きのある平面状の仮想イメージ表示領域2203D内の中央部から端部まで操作することができる。
【0101】
なお、本実施の形態においては、仮想イメージ表示領域2203Dを、深度方向に最も遠い面が平面である三次元空間領域からなることとしているが、これに限定されず、深度方向に最も遠い面領域L,Rの深度方向に最も遠い面に沿った形状の曲面である三次元空間領域からなることとしてもよい。その結果、ユーザは、両腕を最大限に伸ばした状態、または少し曲げた状態で、奥行きのある平面状の仮想イメージ表示領域2203D内の中央部から端部まで操作することができる。
【0102】
さらに、半透過ディスプレイ220は、仮想イメージ表示領域2203Dに矩形状の像を表示させる。例えば、
図5(b)に示したように、矩形状の像を表示させる(ステップS15)。
続いて、半透過ディスプレイ220に、像の周囲を指で囲んでくださいと、表示を行なう(ステップS16)。ここで、像の近傍に指の形の像を薄く表示してもよいし、半透過ディスプレイ220に表示を行なう代わりにスピーカから音声により指示をユーザに伝えてもよい。
【0103】
ユーザは、指示に従い
図5(d)に示すように、指を像の見える部分にあわせる。そして、仮想イメージ表示領域2203Dの表示領域と、赤外線検知ユニット410との相関関係が自動調整される(ステップS17)。
なお、上記においては、指で矩形を形作り、そのように定められた矩形と、像の外縁の矩形にあわせる。このことによって、指により定められた矩形の視認サイズおよび位置と像の外縁の矩形の視認サイズ及び位置とを合わせることとした。しかしながら、指によって形状を定める手法はこれに限定されず、表示された像の外縁を指でなぞる手法、表示された像の外縁上の複数の点を指で指し示す手法等、他の任意の手法であってもよい。また、これらの手法を複数のサイズの像について行ってもよい。
【0104】
なお、上記のキャリブレーション処理の説明においては、眼鏡表示装置100の場合についてのみ説明を行ったが、入出力装置900の場合には、ステップS11の処理において、像を表示させ、ステップS17の処理の当該像と赤外線検知ユニット410との相関関係を調整してもよい。
【0105】
(指、掌、腕認識)
次いで、指認識について説明を行い、その後掌認識、腕認識の順で説明を行なう。
図15は、指認識の一例を示す模式図である。
図15において、(A)は指の先端付近の拡大図であり、(B)は指の根元付近の拡大図である。
図16は、指認識の処理の一例を示すフローチャートである。
【0106】
図16に示すように、本実施の形態においては、デバイスの初期化を行なう(ステップS21)。次に、赤外線照射素子411から照射され、手に反射した赤外線が、赤外線検知カメラ412により検出される(ステップS22)。
次に、赤外線検知ユニット410により画像データをピクセル単位で距離に置き換える(ステップS23)。この場合、赤外線の明るさは、距離の三乗に反比例する。これを利用し、デプスマップを作成する(ステップS24)。
【0107】
次いで、作成したデプスマップに適切な閾値を設ける。そして、画像データを二値化する(ステップS25)すなわち、デプスマップのノイズを除去する。
続いて、二値化した画像データから約100個の頂点を持つポリゴンを作成する(ステップS26)。そして、頂点が滑らかになるようにローパスフィルタ(LPF)により、より多くの頂点p
nを有する新たな多角形を作成することによって、
図15に示す手の外形OFを抽出する(ステップS27)。
なお、本実施の形態においては、ステップS26において二値化したデータからポリゴンを作成するために抽出する頂点の数を約100個としているが、これに限定されず、1000個、その他の任意の個数であってもよい。
【0108】
(指認識)
ステップS27で作成した新たな多角形の頂点p
nの集合から、Convex Hullを用いて、凸包を抽出する(ステップS28)。
その後、ステップS27で作成された新たな多角形と、ステップS28で作成された凸包との共有の頂点p
0を抽出する(ステップS29)。このように抽出された共有の頂点p
0自体を指の先端点として用いることができる。
さらに、頂点p
0の位置に基づいて算出される他の点を指の先端点として用いてもよい。例えば、
図15(A)に示すように頂点p
0における外形OFの内接円の中心を先端点P0として算出することもできる。
【0109】
そして、
図15に示すように、頂点p
0に隣接する左右一対の頂点p
1を通る基準線分PP
1のベクトルを算出する。その後、頂点p
1と、隣接する頂点p
2とを結ぶ辺pp
2を選択し、そのベクトルを算出する。同様に、外形OFを構成する頂点p
nを用い、辺のベクトルを求める処理を外形OFの外周に沿って繰り返す。各辺の向きとステップS30の処理による基準線分PP
1の向きとを調べ、基準線分PP
1と平行に近くなる辺pp
kが指の股の位置に存在すると判定する。そして、辺pp
kの位置に基づき、指の根元点P1を算出する(ステップS30)。指の先端点P0と指の根元点P1とを直線で結ぶことで、指のスケルトンが得られる(ステップS31)。指のスケルトンを得ることで、指の延在方向を認識することができる。
全ての指について同様の処理を行なうことで、全ての指のスケルトンを得る。これにより、手のポーズを認識することができる。すなわち、親指、人差し指、中指、薬指、小指のいずれの指が広げられ、いずれの指が握られているかを認識することができる。
【0110】
続いて、直前に実施した数フレームの画像データと比較して、手のポーズの違いを検知する(ステップS32)。すなわち、直前の数フレームの画像データと比較することにより、手の動きを認識することができる。
【0111】
次いで、認識した手の形状を、ジェスチャデータとしてイベントサービスユニット460へイベント配送する(ステップS33)。
【0112】
次いで、アプリケーションソフトユニット459によりイベントに応じた振る舞いを実施する(ステップS34)。
【0113】
続いて、表示サービスユニット462により、三次元空間に描画を要求する(ステップS35)。
グラフィック演算ユニット463は、キャリブレーションサービスユニット461を用いてキャリブレーションデータ記録ユニット457を参照し、表示の補正を行なう(ステップS36)。
最後に、ディスプレイ演算ユニット464により半透過ディスプレイ220に表示を行なう(ステップS37)。
【0114】
なお、本実施の形態においては、ステップS30の処理およびステップS31の処理により指の根元点を検出したが、根元点の検出方法はこれに限定されない。例えば、まず、頂点p
0の一方の側と他方の側において隣接する一対の頂点p
1を結ぶ基準線分PP
1の長さを算出する。次に、当該一方の側と他方の側における一対の頂点p
2間を結ぶ線分の長さを算出する。同様に、当該一方の側と他方の側における一対の頂点間を結ぶ線分の長さを、頂点p
0により近い位置にある頂点からより遠い位置にある頂点への順で算出していく。このような線分は、外形OF内で交わることなく、互いにおおよそ平行となる。当該線分の両端の頂点が指の部分にある場合は、線分の長さは指の幅に相当するため、その変化量は小さい。一方、線分の両端の頂点の少なくともいずれかが指の股の部分に達した場合は、当該長さの変化量が大きくなる。したがって、当該長さの変化量が所定量を超えずかつ頂点p
0から最も遠い線分を検知し、検知された線分上の1点を抽出することによって、根元点を決定することができる。
【0115】
(掌認識)
次いで、
図17は、掌認識の一例を示す模式図である。
【0116】
図17に示すように、指認識を実施した後、画像データの外形OFに内接する最大内接円Cを抽出する。当該最大内接円Cの位置が、掌の位置として認識できる。
【0117】
次いで、
図18は、親指認識の一例を示す模式図である。
【0118】
図18に示すように、親指は、人差し指、中指、薬指、および小指の他の4指とは異なる特徴を有する。例えば、掌の位置を示す最大内接円Cの中心と各指の根元点P1とを結ぶ直線が相互になす角度θ1,θ2,θ3,θ4のうち、親指が関与するθ1が最も大きい傾向にある。また、各指の先端点P0と各指の根元点P1とを結んだ直線が相互になす角度θ11,θ12,θ13,θ14のうち、親指が関与するθ11が最も大きい傾向にある。このような傾向に基づき親指の判定を行なう。その結果、右手か左手か、または掌の表か裏かを判定することができる。
【0119】
(腕認識)
次いで、腕認識について説明を行なう。本実施の形態において、腕認識は、指、掌および親指のいずれかを認識した後に実施する。なお、腕認識は、指、掌および親指のいずれかを認識する前、またはそれらの少なくともいずれかと同時に実施してもよい。
【0120】
本実施の形態においては、画像データの手の形のポリゴンよりも大きな領域でポリゴンを抽出する。例えば、長さ5cm以上100cm以下の範囲、より好ましくは、10cm以上40cm以下の範囲で、ステップS21からS27の処理を実施し、外形を抽出する。
その後、抽出した外形に外接する四角枠を選定する。本実施の形態においては、当該四角枠は、平行四辺形または長方形からなる。
この場合、平行四辺形または長方形は、対向する長辺を有するので、長辺の延在方向から腕の延在方向を認識することができ、長辺の向きから腕の向きを判定することが出来る。なお、ステップS32の処理と同様に、直前の数フレームの画像データと比較して、腕の動きを検知させてもよい。
【0121】
なお、上記の説明においては、二次元像から指、掌、親指、腕を検出することとしているが、上記に限定されず、赤外線検知ユニット410をさらに増設してもよく、赤外線検知カメラ412のみをさらに増設し、二次元像から、三次元像を認識させてもよい。その結果、さらに認識確度を高めることができる。
【0122】
(ジェスチャの登録)
ジェスチャデータ記録ユニット455(
図3参照)にストックされるジェスチャデータは、ユーザによって登録されてよい。また、ジェスチャデータは、ユーザによってジェスチャコマンドとして設定され、さらに必要に応じて書換えもされる。
【0123】
(ジェスチャデータ登録)
図19は、ジェスチャデータ記録ユニット455へジェスチャデータを登録する処理の一例を示すフローチャートである。
【0124】
本実施の形態においては、ユーザの操作に従い、アプリケーションソフトユニット459がジェスチャ設定アプリを起動する。
図19に示すように、アプリ画面に表示された機能から、ジェスチャデータ登録機能を選択する(ステップS41)。これによって、撮像準備を開始する。撮像準備においては、ユーザが、ジェスチャとして登録を所望する形態を手および腕を使って表す。ジェスチャを表す手の形態がユーザによって決定されるまでの間、撮像は待機される(ステップS42)。撮像待機の時間は、たとえば5秒に設定されることができる。
【0125】
その後、ジェスチャを表した手と腕の少なくとも一部とを含む部分を撮影する(ステップS43)。撮影により、検知された一連の外形として外形データを取得する。外形データの取得には、ジェスチャを示している手および腕を一定時間撮影することにより動画を取得する。撮影時間は、たとえば10秒に設定されることができる。
【0126】
撮影時間の間、動作を伴うジェスチャの場合は、当該ジェスチャの動作を反復した様子を撮影することができる。
動作の遷移が意図されないジェスチャの場合は、当該ジェスチャのサインを示したまま、ユーザ自身が当該ジェスチャとして意識する態様を逸脱しない程度に手および腕を様々に動かした様子を撮影することができる。
【0127】
なお、上述の動画撮影の他、静止画を複数回撮影することによって、検知された複数の外形として外形データを取得してもよい。この場合、動作を伴うジェスチャの場合は、ジェスチャを示している間連写を行なうことによって複数フレームを取得できる。動作を伴わないジェスチャの場合は、時および場所を変えて同じジェスチャを撮影することによって複数フレームを取得できる。
【0128】
撮影は、例えば赤外線検知ユニット410によって行なわれる。撮影において、赤外線検知ユニット410は、ジェスチャを示す手および腕の外形を検知する。外形検知は、
図16のステップS22からステップS25と同じ処理によって行なわれる。この外形検知の処理は、複数フレームそれぞれについて行われる。
【0129】
撮影結果に基づいて、ジェスチャを示す手および腕の特徴部を分析する(ステップS44)。特徴部の分析は、検知した複数の外形それぞれについて行われる。分析されるべき特徴部としては、所定の形態の指の数および位置等の解剖学的特徴を示す対象の部分が挙げられる。
さらに、特徴部の位置および/または角度の値を分析する(ステップS45)。特徴部の位置としては、指先および指の根元を表す点など、対象における解剖学的特徴点を座標情報の付加により表すことができる。また、特徴部の角度としては、指の延在方向および腕の延在方向などに基づいた角度情報の付加により表すことができる。
【0130】
ステップS44およびステップS45においては、上述の指認識、掌認識、および腕認識と同じ処理が行われる。
より具体的には、
図16のステップS26からS31と同じ処理が行われる。これによって、全ての指について同様の処理を行なうことで、全ての指のスケルトンを得る。これにより、指の延在方向、具体的には指の関節を中心とした指の角度を認識することができる。また、指先および指の根元等を示す特徴点の位置を、座標情報を付加することにより認識することができる。さらに、手の形態を認識することができる。たとえば、それぞれの指の形態(具体的には、親指、人差し指、中指、薬指、小指のいずれの指が曲げられ、いずれの指が伸びているか等)を認識することができる。
【0131】
また、
図17と同様に掌認識で掌の位置を認識し、
図18と同様に親指認識で、右手か左手か、または掌の表か裏かを判定することができる。これにより、所定の指の位置を認識することができる。
さらに、腕認識によって、腕の延在方向、具体的には肘の関節を中心とした腕の角度を判定することができる。
【0132】
ステップS45では、さらに、複数の外形について抽出された上述の特徴部の情報を総合することによって、ステップS43での撮影対象となったジェスチャを示していた手および腕の可動範囲も導出する。
【0133】
具体的には、上述の特徴部の抽出で得られた角度の最大値及び最小値を含む範囲を求めることによって、可動範囲を導出することができる。
上述のほか、指先等を示す特徴点の座標の軌跡を含む範囲を求めることによって、可動範囲を導出することができる。
【0134】
ジェスチャが動作を伴うものである場合、複数の外形について抽出されたそれぞれの特徴部の差異に基づいて、複数の外形を経時的に比較する。これによって、ジェスチャ動作に伴う外形の遷移の認識もできる。
【0135】
ユーザは、上記の分析結果を、ジェスチャデータとして記録するかどうかを決定する(ステップS46)。この場合、撮影した動画の再生および分析結果の表示によって撮影した手および腕の形態を確認できるようにしてよい。ジェスチャデータとして記録する場合(ステップS46のYes)、ジェスチャデータ記録ユニット455に記録する(ステップS47)。ジェスチャデータとして記録しない場合(ステップS46のNo)、ジェスチャデータ記録ユニット455に記録することなく、別の動画を撮影するために再び撮影待機(ステップS42)を行なうことができる。
【0136】
なお、上述の実施形態においては、一連の外形または複数の外形を取得する態様を挙げたが、この態様に限定されない。たとえば、1つの外形を取得し、当該取得した外形について、特徴点と、その位置およびまたは方向の値の分析を行い、ジェスチャデータ記録ユニット455に記録してよい。この場合、得られた当該値に、所定の幅を持たせて所定の範囲とし、当該所定の範囲を、ジェスチャとして許容する範囲としてジェスチャデータ記録ユニット455に記録することができる。
【0137】
(ジェスチャコマンド設定)
図20は、ジェスチャデータ記録ユニット455において、ジェスチャデータが、当該ジェスチャデータをコマンドとすべきアプリケーションの操作と関連付けられて記録される関連付け処理の一例を示すフローチャートである。
【0138】
本実施の形態においては、ユーザの操作に従い、ジェスチャ設定アプリの画面に表示された機能から、ジェスチャコマンド設定機能を選択する(ステップS51)。次に、アプリケーションソフトユニット459において、アプリケーション操作コマンドを呼び出し、参照する(ステップS52)。アプリケーション操作には、アプリケーションの起動および終了、アプリケーション内の各機能の選択および決定、ならびに画面の移動など、アプリケーションの利用に際し用いられるいかなる操作も含まれる。
【0139】
参照したコマンドデータから、ジェスチャによって発生させたいコマンドを選択する(ステップS53)。さらに、ジェスチャデータ記録ユニット455から、ジェスチャデータを呼び出し、参照する(ステップS54)。ステップS53で選択したコマンドに関連付けたいジェスチャを選択する(ステップS55)。ユーザは、選択されたジェスチャで設定するか否かを決定する(ステップS56)。選択されたジェスチャで設定する場合(ステップS56のYes)、ジェスチャデータと、当該ジェスチャデータをコマンドとして発生させるべきイベントとが関連付けられた状態でジェスチャデータ記録ユニット455に記録される(ステップS57)。選択されたジェスチャをキャンセルする場合(ステップS56のNo)、再びジェスチャデータを選択し(ステップS54)、別のジェスチャを選択することができる(ステップS55)。
【0140】
なお、上述の実施形態では、先にアプリケーション操作コマンドを呼び出し選択した後に、選択したアプリケーションコマンドに対してジェスチャデータを関連付けるものとしたが、この態様に限定されない。たとえば、先にジェスチャデータを呼び出し選択した後に、選択したジェスチャデータに対してアプリケーション操作コマンドを関連付けてもよい。
また、たとえば、アプリケーション操作コマンドを呼び出した後に、ジェスチャデータを直接記録させ、関連付ける態様としてもよい。
【0141】
(ジェスチャコマンド書換え)
図21は、ジェスチャデータ記録ユニット455において、ジェスチャコマンドが書換えられる処理の一例を示すフローチャートである。
【0142】
本実施の形態においては、ユーザの操作に従い、ジェスチャ設定アプリの画面に表示された機能から、ジェスチャコマンド書換え機能を選択する(ステップS61)。次に、ジェスチャデータ記録ユニット455から、ジェスチャデータを呼び出し、参照する(ステップS62)。書き換えたいジェスチャコマンドを選択し(ステップS63)、当該ジェスチャコマンドが関連付けられているアプリケーション操作との関連付けを解除するか否かを決定する(ステップS64)。関連付けを解除する場合(ステップS64のYes)、解除が実行され、当該ジェスチャコマンドを構成していたジェスチャデータとアプリケーション操作との間の関連性が無くなる(ステップS65)。関連付けを解除しない場合(ステップS64のNo)、この処理を終了する。
【0143】
ステップS65によってジェスチャデータとアプリケーション操作との間の関連性が解除された後、さらに、関連性が解除されたジェスチャデータ自体を削除するか否かを決定する(ステップS66)。ジェスチャデータ自体も削除する場合(ステップS66のYes)、当該ジェスチャデータはジェスチャデータ記録ユニット455から削除される(ステップS67)。
【0144】
ステップS67でジェスチャデータが削除された場合、
図19で説明したジェスチャデータ登録処理がなされる(ステップS68)。その後、
図20で説明したジェスチャコマンド設定処理がなされることにより、新たなジェスチャコマンドが設定される(ステップS69)。
【0145】
一方、ジェスチャデータを削除しない場合(ステップS66のNo)、
図20で説明したジェスチャコマンド設定処理が行われ、当該ジェスチャデータを他のアプリケーション操作と関連付けられることにより、新たなジェスチャコマンドが設定される(ステップS69)。
【0146】
(設定されたジェスチャコマンドの識別によるアプリケーションの操作)
上述のように記録されたジェスチャデータ記録ユニット455内のジェスチャデータを利用してジェスチャの識別を行なう方法は、
図4のステップS1からステップS4で説明した通りである。より具体的には、上述のジェスチャデータ登録時と同様に、ステップS2において、対象の外形イメージデータを複数フレーム取得し、それぞれ、ステップS3において、外形の特徴部およびその可動範囲の情報を取得する。さらに、ステップS4において、ジェスチャデータ記録ユニット455に記録されたジェスチャデータの外形の特徴部およびその可動範囲と、識別すべきジェスチャの外形の特徴部およびその可動範囲とを比較する。双方のデータの一致性を判断することによって、識別すべきジェスチャが、ジェスチャデータ記録ユニット455に記録されたジェスチャデータのうちどれに該当するかを判断する。
【0147】
引き続いて、ステップS5で説明したとおり、アプリケーションソフトユニット459が、ジェスチャ識別ユニット456により判定されたジェスチャをコマンドとして所定のアプリケーション操作を行なう。
【0148】
(半透過ディスプレイの表示例)
次に、
図22は、眼鏡表示装置100の半透過ディスプレイ220の表示の一例を示す模式図である。
【0149】
図22に示すように、眼鏡表示装置100の半透過ディスプレイ220には、一部には広告221が表示され、さらに一部には地
図222が表示され、その他には、眼鏡表示装置100の半透過ディスプレイ220を透過して風景223が視認され、その他に天気予報224および時刻225が表示される。
【0150】
(視野の説明)
次に、眼鏡表示装置100の半透過ディスプレイ220に表示される表示の一例について説明を行なう。
図23(a)は、半透過ディスプレイ220の視野の一例、
図23(b)は、半透明ディスプレイ220の表示の一例を説明する図である。
【0151】
図23に示すように、本実施の形態においては、眼鏡表示装置100が視認させることができる表示は、複数の表示701,〜,707から構成される。複数の表示は、それら全てが一体化した連続像の一部をなすセグメントである。連続像のうち視認部分を遷移させることにより、複数の表示を途切れさせることなくスムーズに遷移させる切換え表示を行なう。
図23に示すように、縦方向に表示703、702、701、704、705の表示が設けられており、表示701を中央として、左右に表示706,707が設けられる。なお、当然のことながら、当該表示701,〜,707は、ユーザによって自由に削除または変更することができ、さらに他の表示を追加することもできる。
なお、本実施の形態においては、表示701,〜,707はシームレスに連続した画像であるが、切換えされるべき表示は、それぞれが独立した非連続の像であってもよい。
【0152】
具体的には、眼鏡表示装置100の姿勢が水平方向である場合、すなわち、ユーザが眼鏡表示装置100を装着し、水平前方を向いた場合、表示701が表示される。
【0153】
続いて、ユーザが眼鏡表示装置100を装着し、水平面(すなわち水平方向に平行の面)を基準として30度程度斜め上方を向いた場合、表示702が表示される。すなわち、眼鏡表示装置100におけるジャイロセンサユニット420および加速度検知ユニット430の少なくとも一方からの信号に基づいて、ユーザの向く方向を認識する。なお、表示702は、例えば顔認識アプリの画面が表示されてよい。
【0154】
さらに、水平面を基準として45度程度斜め上方を向いた場合、表示703が表示される。表示703には天気予報が示されてよい。また、表示703にはその他の天空情報が表示されてもよく、時間帯によっては、例えば星座の像を表示させてもよい。
【0155】
同様に、ユーザが眼鏡表示装置100を装着し、水平面を基準として30度程度斜め下方を向いた場合、表示704(例えば、メール画面)が表示され、水平面を基準として45度程度斜め下方を向いた場合、表示705(例えば、地図)が表示され、鉛直面を基準として30度程度右方を向いた場合、表示706(例えば、インターネットブラウザ)が表示され、鉛直面を基準として30度程度左方を向いた場合、表示707(例えば、通話画面)が表示される。
【0156】
また、表示701乃至表示707の切換えは、上記の説明においては、ジャイロセンサユニット420および加速度検知ユニット430の少なくとも一方からの信号に基づいて行なうこととしているが、これに限定されず、上述した指、掌、腕認識により切換えを行なってもよい。
【0157】
さらに、ユーザが歩行する場合、表示701から表示702へ、表示701から表示704へ、表示701から表示707へ、および表示701から表示706への少なくともいずれかの切換えを行なう条件として、ジャイロセンサユニット420および加速度検知ユニット430の少なくとも一方からの信号のレベルを高めに設定してもよい。それにより、歩行時に短時間で表示701から他の表示に切り替わることを防止できる。また、緊急に振り向く場合には、特に切換えない設定を設けてもよい。
一方、天空情報の表示703および地図情報の表示705はパノラマ表示であってよく、この場合、左右方向の動きに伴ってそれら表示703,705をスクロールさせてよい。
【0158】
(イベント発生の具体例)
続いて、指、掌、手、腕が操作領域410cに存在する場合と、ジェスチャ領域410gに存在する場合との違いをユーザが認識し易いように、所定のイベントを発生させる。以下、所定のイベントについて説明を行なう。
図24は、所定のイベント発生の一例を示す模式図であり、
図25は、
図24のイベント発生の他の例を示す模式図であり、
図26は、他のイベント発生の一例を示す模式図である。
【0159】
まず、
図24に示すように、仮想イメージには、赤外線検知ユニット410により検知された手H1の形状が表示される。さらに、ユーザの手が操作領域410cから離れている場合には、イベントの一例として、手H1の形状の陰影H2を表示する。
これにより、ユーザは、ジェスチャ領域410gに手が存在することを容易に認識できる。
【0160】
続いて、
図25に示すように、仮想イメージには、赤外線検知ユニット410により検知された手H1の形状が表示され、陰影H2よりも濃い陰影H3が、手H1の形状の周囲に小さな面積で表示される。したがって、ユーザは、
図24の場合よりも手が操作領域410cに近づいたことを容易に認識することができる。さらに、手が操作領域410c内にある場合には、陰影H2、H3は、表示されない。
【0161】
その結果、ユーザは、試行錯誤または手探りで操作領域410cを探す必要がなくなる。すなわち、操作領域410cまでの距離を陰影の濃度、手の形状と陰影とのずれ方により容易に認識することができる。
【0162】
また、
図26に示すように、手が操作領域410c内にある場合に、指先に円表示H4を行なってもよい。
【0163】
なお、上記の実施の形態においては、陰影H2、H3、円表示H4が表示されるイベント発生態様について説明したが、これに限定されず、操作領域410c内にある場合に、表示に波紋を発生させてもよく、眼鏡表示装置100に振動発生装置を設けて振動を発生させてもよく、音を発生させてもよく、表示の点滅態様および点灯照度の少なくともいずれかによって表示を変化させてもよい。例えば、操作領域410cまでの距離を点滅間隔により表してもよく、操作領域410cまでの距離を点灯照度により表してもよい。例えば、操作領域410cから離れるほど点滅間隔を長く、近づくほど点滅間隔を短くする、または、操作領域410cから離れるほど点灯照度を低く、近づくほど点灯照度を高くする、または、操作領域410cから離れるほどより濃い色による点灯(赤、黒、紫など)を行い、近づくほどより淡い色による点灯(青、黄、ピンクなど)を行なうなど、その他、人間の感覚(視覚、聴覚および触覚に代表される)に訴える任意のイベントを発生させてもよい。
【0164】
(眼鏡表示装置の操作)
以上の指、掌、腕認識およびイベント発生を伴う眼鏡表示装置100の使用態様について説明する。
【0165】
まず、ユーザが操作領域410c内に手を入れることにより、手の認識が行なわれ、仮想イメージ表示を操作することができる。例えば、仮想イメージ表示を拡大させたり、縮小させたり、表示をスクロールさせたり、ポイントを選択したりすることができる。
【0166】
例えば、
図27に示すように、広告221の表示をタッチすることで、追加表示を行なってもよい。
例えば、広告221には、店舗の、商品、サービス等の情報が表示されている。ユーザがその広告221をタッチした場合、当該店舗に関するさらに詳しい情報を追加表示させてもよい。たとえば、飲食店の場合には、当該飲食店の代表メニュ、ユーザからの評価、価格帯等を表示させてもよい。
なお、広告221は、店舗をカメラユニット303で撮影された像そのものであってもよいし、カメラユニット303による当該店舗の撮像データに基づいて店舗認識を自動で開始し、その結果、店舗認識アプリ画面に表示された認識結果情報であってもよい。
【0167】
(パロディモードによる表示)
また、
図28に示すように、半透過ディスプレイ220に一の企業(○○社)のロゴマークが表示されている際に、画面中のロゴマークにタッチ等行なうことで、競合又は非競合の他の企業(△△社)に関連する情報を表示させることができる。この場合、例えばパロディモードとして、当該他の企業のロゴを表示させてもよい。
【0168】
(ジェスチャコマンドによる表示)
また、ユーザがジェスチャ領域410g内で所定の手のポーズを作ることにより、予め設定された動作が実施される。
図29から
図36は、ジェスチャ認識の例を示す模式図である。
【0169】
例えば、
図29に示すように、ユーザが握った手H1の親指と人差し指を90度に開いて伸ばしたL字サインを作った場合、親指と人差し指との間に、メニュ画面V1が表示されてもよい。
【0170】
また、
図30に示すように、握った手H1の人差し指と中指とを延ばし広げた、いわゆるピースサインの場合には、人差し指と中指との間に、所定の画像V2を表示させてもよい。
【0171】
また、
図31に示すように、挨拶行為により、手H1を軽く開いて矢印方向に移動させた場合には、顔認識のアプリを自動的に起動させる。カメラユニット303で取得した相手の人物の顔データに基づいて顔認識を自動で開始し、顔認識アプリ画面V3に、氏名、企業名、役職、最後に会った日時および場所等の情報を表示させる。さらに顔認識アプリの認識による同一人物に会うたびにフラグを立て、フラグの数を顔認識アプリ画面V3に表示させてもよい。この場合、フラグの数によって、顔認識アプリ画面V3の背景および色等を異ならせてもよい。
【0172】
さらに、
図32に示すように、握った手H1の親指と小指を広げた、いわゆるアロハサインを作り、矢印方向にゆすった場合には、電話のアプリが自動的に起動し、連絡帳のデータV4が表示される。ユーザは、電話のアプリを操作して、所定の相手に電話をかけることができる。
【0173】
また、
図33に示すように、手H1の指でアルファベットのSの文字を描くことにより、SNS(SOCIAL NETWORKING SERVICE)アプリを自動的に起動させ、SNSアプリ画面V5を表示させることができる。
【0174】
さらに、
図34に示すように、漢字アプリを起動させ、手H1の人差し指を認識させることにより人差し指の位置に筆の画像をさらに追加表示させ、漢字の練習アプリ画面V6に漢字を書いて練習できる。
【0175】
また、
図35に示すように、手H1を手刀の形状にした場合、刀アプリを起動させ、手刀上の手の位置に刀の画像をさらに追加表示させ、仮想イメージ表示画面V7を切ることができる。
【0176】
また、
図36に示すように、両方の手H1の指で、四角を形成した場合、カメラアプリが自動起動され、カメラアプリ画面V8中で、形成した四角から抽出される撮像用フレーム内の風景等を撮像してもよい。
【0177】
(追従表示システム)
続いて、追従表示システム800について説明を行う。
図37は、追従表示システム800の一例におけるアイコンのツリー表示を示す模式図である。
【0178】
図38および
図39は、アイコンを操作する場合の、実空間における選択操作可能な手の存在領域と仮想空間におけるアイコンの位置との関係の一例を説明する模式図であり、
図40および
図41は当該関係の他の一例を説明する模式図である。
【0179】
(ツリー式メニュー表示)
図37に示すようにメニュー810と、複数の選択要素811,812,813,821,822,823,824,831,832,833,834,835,841,842,843,844と、メニュー810および選択要素811,812,813,821,822,823,824,831,832,833,834,835,841,842,843,844を結ぶ紐付けと、保存選択要素825と、終了選択要素826とを有する。なお、当該
図37は、選択要素812,813,821,823,833,834,の全てを選択した場合に表示される状態を模式的に示す図である。図示されるように、メニュー810および選択要素811,812,813,821,822,823,824,831,832,833,834,835,841,842,843,844は、円形状アイコンであり、保存選択要素825および終了選択要素826は、矩形状アイコンである。
【0180】
メニュー810は、手H1のジェスチャが検知されたことを契機として表示される。
複数の選択要素811,812,813,821,822,823,824,831,832,833,834,835,841,842,843,844と、メニュー810および選択要素811,812,813,821,822,823,824,831,832,833,834,835,841,842,843,844を結ぶ紐付けと、保存選択要素825と、終了選択要素826とは、メニュー810を操作することにより、直接的にまたは間接的に表示される。
【0181】
具体的には、メニュー810を選択した場合、メニュー810から選択要素811,812,813がそれぞれ紐付けられて表示される。次いで、選択要素812を選択した場合、選択要素811,813の表示が消去され、新たに選択要素821,822,823,824が選択要素812に紐付けられて表示される。
【0182】
これらのアイコンは、例えば、
図38および
図39に示すように、仮想イメージ表示領域2203Dに定義された奥行きのない仮想スクリーン上に、奥行きのないイメージとして仮想表示される。
図38および
図39では、操作ターゲットとなる1個のアイコンICHYのみを模式的に示す。
【0183】
(アイコンの操作−指およびアイコン双方のイメージの重なりで判断する場合)
アイコンの操作においては、後述の
図42に示すように、操作のための指H5を、選択要素823で示されるアイコンに重なるよう視認される位置へ動かす。
【0184】
この場合、実空間に存在する指H5のイメージ(たとえば指H5の外形およびその内部)が、赤外線検知カメラ412およびイメージ処理ユニット453(
図3参照)によって取得される。取得された指H5のイメージは、グラフィック演算ユニット463(
図3参照)によって、2次元的に、つまりx−y平面で、選択要素823のアイコンに重なるかどうかを判断される。
図42に示すように、指H5がアイコンに重なると判断されれば、指H5によるアイコン選択が可能となる。
なお、指H5のイメージは、半透過ディスプレイ220に、操作者に視認可能であるように表示されてもよいし、操作者に視認されないように非表示にされてもよい。
【0185】
指H5のイメージが選択要素823のアイコンに重なると判断された場合、結果として、指H5は、
図38および
図39中、アイコン操作領域ICARとして示される領域に存在していることになる。アイコン操作領域ICARは、赤外線検知ユニット410からアイコンICHYへの中心投影による立体領域と、当該立体領域を構成する面の延長面、左手の移動領域Lおよび右手の移動領域Rそれぞれを構成する面の最も遠い面、ならびに仮想イメージ表示領域2203Dの面に囲まれる領域とから構成される。
【0186】
本実施形態はヘッドマウントディスプレイに用いられるシステムであるため、赤外線検知ユニット410から仮想イメージ表示領域2203Dに表示されたアイコンICHYへの投影線は、操作者からの視線とほぼ同一視できる。仮に、アイコンICHYの選択に、厚みのない仮想イメージ表示領域2203D表面でのハンドリングを必須とすると、指H5の位置を正確に仮想イメージ表示領域2203D表面へ合わせる必要があり、操作が非常に困難である。そこで、指H5のイメージとアイコンICHYとが操作者の視点から重なって視認できる任意の位置にあれば、アイコンICHYを選択したと判定可能にすることで、操作の容易性が得られる。したがって、指H5の位置が仮想イメージ表示領域2203D表面の位置になくても、アイコン操作領域ICAR内に存在していれば、アイコンICHYを選択できることになる。
【0187】
なお、上述の例では、指H5のイメージデータを、赤外線検知カメラ412を用いて取得することとしたが、この態様に限定されるものではない。つまり、取得される指H5のイメージデータは、赤外線検知カメラ412によるイメージデータのように深度情報を伴うものに限られず、深度情報を伴わないものであってもよい。たとえば、CCDイメージセンサ及びCMOSイメージセンサなどから選択されるイメージセンサを含むカメラを用いて指H5のイメージデータを取得してもよい。
【0188】
また、上記の例では、円形または矩形のアイコンを操作対象のオブジェクトとして挙げたが、この態様に限定されるものではない。アイコンの形状としては他の任意の形状が許容される。またたとえば、操作対象のオブジェクトは、操作者との間でインタラクティブな操作が可能な任意のオブジェクト、たとえば、メニュー項目、テキストリンクおよび決定ボタンなど様々なオブジェクトが挙げられる。
【0189】
さらに、上述の例では、アイコンが、奥行きのない仮想スクリーン上に、奥行きのないイメージとして仮想表示される例を挙げたが、この態様に限定されるものではない。たとえば、後述するように、アイコンは、奥行きのある仮想領域内に、奥行きのある立体として表示されてもよい。
【0190】
さらに、上述の例では、指H5のイメージとアイコンの表示との両方が2次元的に重なっていることを、アイコン選択の判断基準としているが、この態様に限定されるものではない。たとえば、後述するように、指H5の実空間内の位置とアイコンの仮想空間内の位置とが所定の関係を満たしていることを、アイコン選択の判断基準としてもよい。
【0191】
(アイコンの操作−指およびアイコンの空間内位置関係で判断する場合)
図40及び
図41に示すように、アイコンは、奥行きのある仮想領域内に、奥行きのある立体として仮想表示されてもよい。つまり、
図12および
図13で説明したような三次元空間検知領域4103Dに、奥行きを有する仮想イメージ表示領域2203Dが定義され、その中にZ方向を軸心とする円柱状、または直方体状のアイコンが表示されてもよい。さらに、指H5の実空間内の位置とアイコンの仮想空間内の位置とが所定の関係を満たしていることを、アイコン選択の判断基準としてもよい。
【0192】
この態様においては、アイコン選択操作以外の操作を行うためには、
図12および
図13において説明したとおり、操作領域410cに対象(本実施形態の場合は指H5)が存在することを条件にすることができる。
一方、アイコン選択操作を行う場合は、
図40および
図41に示すように、赤外線検知ユニット410から、仮想イメージ表示領域2203Dに表示されたメニューまたは選択要素のアイコンICHYへの中心投影による立体領域(すなわちアイコン操作領域ICAR)内に指H5が存在することを条件として、メニューまたは選択要素のアイコンICHYを選択できるものとしてよい。
【0193】
本実施形態はヘッドマウントディスプレイに用いられるシステムであるため、赤外線検知ユニット410から仮想イメージ表示領域2203Dに表示されたアイコンICHYへの投影線は、操作者からの視線とほぼ同一視できる。仮に、アイコンICHYの選択に、仮想イメージ表示領域2203D内でのハンドリングを必須とすると、指H5の位置を正確に仮想イメージ表示領域2203D内へ合わせる必要があり、これには慣れが必要である。そこで、指H5の位置が仮想イメージ表示領域2203Dから外れていても、アイコン操作領域ICAR内に存在していれば、アイコンICHYを選択した、と判定可能にすることで、操作の容易性が得られる。これにより、操作者の視点から見て、アイコンICHYと指H5とが重なって視認できる任意の位置へ指H5を移動させれば、アイコンを選択することが可能になる。
【0194】
上記の例では、円柱状または直方体状のアイコンを操作対象のオブジェクトとして挙げたが、この態様に限定され
ず、アイコンの立体形状は、球、円錐、角錐、その他任意の立体形状のものが許容される。
【0195】
(タイマー表示および追従表示)
以下、追従表示システム800の表示の一例について
図42から
図44を用い、アイコンの操作のより具体的な態様について説明を行なう。
【0196】
例えば、
図42に示すように、選択要素823を選択した場合、その円形状アイコンの周囲に、タイマー表示823aの帯が、時間経過とともに、その帯面積が漸次増加するよう、時計回り(すなわち矢印R)の方向に円弧を描く。
タイマー表示823aが選択要素823のアイコンの周囲を一周する時間は、当業者が適宜設定することができる。当該時間は、例えば、0.1sec以上5.0sec以下であることが好ましく、0.2sec以上1.0sec以下であることがより好ましく、0.5secであることがさらに好ましい。
【0197】
さらに、所定の時間、選択要素823が選択され続けた場合(上述の例では、指H5のイメージがアイコンに重なり続けたと判断された場合、または、指H5がアイコン操作領域ICAR内存在し続けたと判断された場合)に、選択操作が決定される。その結果、円弧状のタイマー表示823aは、
図43に示すように、選択要素823のアイコンの周囲を完全に囲んだ円状の選択決定表示823bとなる。選択要素823の選択決定により、選択要素821,822,824の表示が消去され、新たに展開された選択要素833,834,835が選択要素823に紐付けられて表示される。
【0198】
このように、タイマー表示823aが選択要素823の周囲を完全に囲んで選択決定表示823bとなった場合、指H5による選択要素823の選択が決定される。
【0199】
指H5による選択要素823の選択が決定された状態から、
図43に示すように、指H5が矢印YHの方向に移動した場合、選択要素823のアイコンも、指H5と所定の位置関係を保ちながら矢印YHの方向に移動する。これによって、選択要素823のアイコンが指H5の動きに追従しているように表示される。
【0200】
さらにその後、指H5が所定距離を超えて移動した場合、
図44に示すように、選択要素823のアイコンが、指H5を離れて矢印−YHの方向へ移動し、元の位置(すなわち、選択要素823のアイコンが選択決定表示823bで完全に囲まれた瞬間の位置)へ戻される。
【0201】
この場合、選択要素823のアイコンは、当該所定の距離に相当する長さの最大たわみを有するバネによって、当該元の位置で固定されているかのような挙動を示す。このような挙動は、バネ定数を含めた物理的ファクタを用いて仮想バネを定義することによって発生させることができる。なお、仮想バネの最大たわみの量は、指H5について想定されるぶれの量に応じて定義することができ、例えば、歩行など操作者が移動する場合(すなわち移動モード)では、操作者が移動していない場合(すなわち通常モード)より大きくなると想定して定義することができる。
【0202】
なお、上記例においては、選択要素823のアイコンの選択が決定されたこと、つまり選択要素823のアイコンが選択決定表示823bによって完全に囲まれたことを契機として、追従が開始する態様を説明した。この態様は、アイコンの誤操作防止の観点から好ましい。しかしながら、追従表示の開始のタイミングはこの態様に限定されるものではない。例えば、選択要素823のアイコンの選択がなされた瞬間から、つまり選択要素823のアイコンにタイマー表示823aが表示された瞬間から追従が開始することとしてもよい。この態様は、操作容易性の観点で好ましい。
【0203】
さらに、上記例においては、タイマー機能をアイコンの周囲を囲む円弧状のタイマー表示823aに担わせる態様を挙げたが、この態様に限定されず、例えば、アイコンの色を変化させる色変化表示に担わせてもよい。この態様においては、選択が決定されるまでの所定時間、アイコンの一部から徐々に全体へ色が変化する。アイコンの全てが異なる色に変化した場合に、選択が決定される。その他、タイマー機能を、アイコンの形を変化させることに担わせてもよい。
【0204】
(他の例)
図45から
図48は、メニュ画面V1の一例を示す図である。例えば、
図45に示すように、手H1によるジェスチャが検知され、それを契機としてメニュ画面V1が表示され、指H5により、メニュ画面V1の選択要素の1つであるカメラアプリ起動項目V9が選択される。
【0205】
次に、所定の時間継続して、カメラアプリ起動項目V9が選択された場合、カメラアプリ起動項目V9の周囲に、選択決定表示V9bが表示される。選択決定表示V9bが表示されると、カメラアプリ画面V8(
図36参照)が起動する。
【0206】
一方、選択決定表示V9bが表示されるまでに、指H5が矢印YHの方向に移動した場合、カメラアプリ起動項目V9の矩形表示は矢印YHの方向に拡大される。
【0207】
さらに、指H5が所定の距離を超えて移動した場合、カメラアプリ起動項目V9は指H5を離れ、あたかも延ばされたゴムが縮み戻されるように矢印−YHの方向に縮小し、元の位置および大きさに戻される。
【0208】
以上のように、本実施形態の追従表示システム800によると、指H5のイメージとアイコンの表示とが重なっていると判定した場合、または、指H5を操作する操作者の視点からアイコンの表示への中心投影による所定の三次元空間(アイコン操作領域ICAR)内に指H5が存在すると判定した場合に、アイコンを指H5の動作に追従するよう表示する。このため、指H5が仮想イメージ表示領域2203DにおけるアイコンICHYの仮想表示に接触していない場合であっても、操作者の視点から、指H5とアイコンとが重複しているように視認した場合に、アイコンを操作できる。アイコンの操作の間に指H5の空間内位置が変わった場合であっても、指H5のぶれにアイコンが追従するため、容易にアイコンを操作することができる。
【0209】
また、追従表示システム800は、赤外線検知ユニット410により操作者の指H5を正確に検知することができる。また、操作の間に指H5がぶれてその空間内位置が変わる場合であっても、容易に且つ正確にアイコンを操作することができる。
【0210】
さらに、追従表示システム800は、指H5が所定の時間、アイコン操作領域ICAR内に継続して存在するか否かを判定する。このため、指H5の不用意な動作によってアイコンを誤操作させることがない。
【0211】
さらに、追従表示システム800は、所定の時間の経過をタイマー表示823aによってアイコンの周囲に表示させるため、操作者は、アイコンが選択されたか否かを容易に認識することができる。
【0212】
さらに、追従表示システム800は、アイコン操作領域ICAR内の所定の位置で、選択決定表示823bの表示により、またはタイマー表示823aの表示開始によりアイコンの追従表示を開始した後、所定の位置から所定の距離を超えて指H5が移動した場合に、追従表示開始位置へアイコンを戻すように表示するため、操作者は、アイコンが選択されていることを容易に認識することができる。
【0213】
さらに、追従表示システム800は、アイコンがアプリケーションプログラムアイコンまたはメニュー項目であるため、アプリケーション起動およびメニュー選択の操作を容易に行なうことができる。
【0214】
さらに、追従表示システム800は、ヘッドマウントディスプレイデバイスであるため、ヘッドマウントディスプレイデバイスを装着した操作者の頭が動くことによって、アイコン表示と指H5との相対的位置関係が変動しても、アイコンが追従表示される。このため、頭の動きによって操作性が低下することを防止できる。
【0215】
本発明においては、メニュー810、選択要素811,812,813,821,822,823,824,831,832,833,834,835,841,842,843,844、保存選択要素825および終了選択要素826が「アイコン」に相当し、指H5が「対象」に相当し、赤外線検知ユニット410が「検知部」に相当し、グラフィック演算ユニット463、ディスプレイ演算ユニット464および合成演算ユニット458の少なくともいずれかが「制御部」に相当し、アイコンICHYが「表示オブジェクト」に相当し、アイコン操作領域ICARが「視点から表示オブジェクトへの中心投影による所定の三次元空間」に相当し、眼鏡表示装置100が「ウェアラブル機器」に相当する。
【0216】
本発明の好ましい一実施の形態は上記の通りであるが、本発明はそれだけに制限されない。本発明の精神と範囲から逸脱することのない様々な実施形態が他になされることは理解されよう。さらに、本実施形態において、本発明の構成による作用および効果を述べているが、これら作用および効果は、一例であり、本発明を限定するものではない。