以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
[1.表示装置の構成]
まず、図1から図5を参照して、本発明の一実施形態に係る表示装置の構成について説明する。表示装置は、ユーザの指やスタイラス等、表示画面11に近接した1以上の操作体Oの位置を検出して出力する。表示装置は、携帯電話、携帯情報端末、パーソナルコンピュータ、テレビ、デジタルカメラ、音楽プレイヤ、ゲームプレイヤ、家電機器等に用いられる。
図1は、本発明の一実施形態に係る表示装置の構成を示すブロック図である。図2は、図1に示した表示装置に設けられた操作体検出部12の周辺の構成を示している。図3は、図1に示したバックライト20の断面を示している。
図1に示すように、本発明の一実施形態に係る表示装置は、表示パネル10、バックライト20および制御部30を含む。
表示パネル10は、基板上に液晶素子等の表示画素をマトリクス状に配置した表示画面11を有している。表示パネル10は、表示画面11上方に配置された操作体Oを検出し、後述する位置判定部31に検出結果を供給する操作体検出部12を有している。操作体検出部12は、表示画素に対応するように配置されたフォトセンサ42B(図2参照)を有している。バックライト20は、表示パネル10の背面に配置され、表示パネル10を通じて表示画面11の前面および上方を照らす光源である。なお、表示パネル10とバックライト20の詳細については後述する。
制御部30は、位置判定部31、位置指定部32、案内情報生成部33、補正情報生成部34、位置補正部35および記憶部36を有している。制御部30は、補正情報生成モードと通常動作モードで選択的に動作する。
補正情報生成モードは、操作体Oの三次元位置の判定結果を補正するために用いる補正情報を生成するモードである。通常動作モードは、補正情報を生成しないモードであり、操作体Oの三次元位置に応じて所定の処理を行うモードである。
位置判定部31は、操作体検出部12の検出結果から操作体Oの三次元位置を判定し、操作体Oの位置情報として出力する。位置判定部31は、通常動作モードにおいて、所定操作のために表示画面11上方の任意位置に配置された操作体Oの三次元位置を判定し、位置補正部35に供給する。位置判定部31は、補正情報生成モードにおいて、後述する案内情報Gに従って配置された操作体Oの三次元位置を判定し、補正情報生成部34に供給する。
位置指定部32は、補正情報生成モードにおいて、表示画面11上方の三次元位置を指定し、指定した三次元位置を案内情報生成部33と補正情報生成部34に供給する。表示画面11上方の三次元位置は、表示画面11上の水平位置および垂直位置として指定される。
案内情報生成部33は、補正情報生成モードにおいて、案内情報Gを生成し、生成した案内情報Gを表示パネル10に供給する。案内情報Gは、指定された三次元位置の周辺で操作体Oに対して所定の動作を行わせた後に、指定された三次元位置へ操作体Oを配置することをユーザに促す情報である。ここで、特定の水平位置は、表示画面11上に表示されたマーク、アイコン等として指示される。特定の垂直位置は、ユーザの使用時に操作体Oが通常配置される高さとして指示される。
補正情報生成部34は、補正情報生成モードにおいて、補正情報を生成し、生成した補正情報を記憶部36に供給する。補正情報は、指定された三次元位置と、案内情報Gに従って配置された操作体Oの三次元位置の判定結果との誤差、つまり表示画面11上における水平位置および/または垂直位置の誤差を打ち消すように生成される。
位置補正部35は、通常動作モードにおいて、補正情報が生成されている場合に、補正情報に基づき操作体Oの三次元位置を補正する。位置補正部35は、補正した三次元位置を操作体Oの位置情報として、不図示の処理部等に供給する。
記憶部36は、案内情報Gや補正情報を記憶している。記憶部36は、少なくとも案内情報生成部33、補正情報生成部34および位置補正部35によりアクセスされる。
なお、本実施形態では、位置補正部35が位置判定部31の後段に設けられる場合を想定するが、位置補正部35は、位置判定部31と一体化されてもよい。この場合、位置判定部31は、通常動作モードにおいて、操作体Oの検出結果とともに補正情報を用いて、操作体Oの三次元位置を判定し、操作体Oの位置情報として出力する。
制御部30は、ハードウェアおよび/またはソフトウェアとして構成される。制御部30は、CPU、ROM、RAM等を含み、CPUは、ROM等から読み出されたプログラムをRAM上に展開して実行することで、本発明に係る位置補正方法を実現することができる。
図2に示すように、表示装置は、TFT(薄膜トランジスタ)基板40、CF(カラーフィルタ)基板50を有する表示パネル10と、表示パネル10の背面に配置されたバックライト20とを有している。TFT基板40には、ガラス等からなる基板41上に、複数のTFT42Aと複数のフォトセンサ42B(以下、センサ42Bとも称する。)が所定のピッチで設けられる。TFT42Aは、画素電極46Aに接続され、アクティブマトリクス方式等により複数の表示画素(画素電極46A)を駆動する。センサ42Bは、半導体のPN接合部に照射された光を、電流や電圧として検出可能な光検出素子であり、後述する非可視光透過ブラック53の下方に設けられる。センサ42Bは、例えばシリコン半導体を用いたPINフォトダイオードやPDN(P−ドープドN)等である。
TFT42Aとセンサ42Bは、例えば、基板41上の同一層に同一の薄膜プロセスにより形成可能である。なお、TFT42Aとセンサ42Bの詳細については後述する。
基板41上には、TFT42Aとセンサ42Bの凹凸を平坦化させるための平坦化層43が形成される。平坦化層43上には、絶縁膜45を介して対向するように、共通電極44と複数の画素電極46Aが形成される。このうち、共通電極44は各表示画素に共通の電極として、画素電極46Aは表示画素毎に分離して、それぞれに設けられる。
このような画素電極46Aと同一層には、後述する非可視光透過ブラック53に対応する領域に黒表示用電極46Bが設けられる。黒表示用電極46Bは、駆動素子(不図示)により液晶層60に入射する可視光を遮断して、常時黒表示を行うために、共通電極44に対向して設けられる。つまり、液晶層60を黒表示するための一定の電圧を印加可能に構成されている。また、前述したように、黒表示用電極46Bを設けて黒表示用の電圧を印加してもよいが、黒表示用電極46Bを設けずに共通電極44を用いて電圧を印加してもよい。
CF基板50には、ガラス等からなる基板51の一面に、カラーフィルタ層52と非可視光透過ブラック53が周期的に配列して形成される。カラーフィルタ層52は、例えば、赤色のカラーフィルタ層52R、緑色のカラーフィルタ層52Gおよび青色のカラーフィルタ層52Bからなり、これら3色のカラーフィルタ層52は、各表示画素(画素電極46A)に対応して設けられる。非可視光透過ブラック53は、遮光用のブラックマトリクスとして機能し、表示コントラストを向上するために設けられる。ただし、本実施形態では、非可視光透過ブラック53は、可視光を遮断する一方、非可視光を透過させるように構成されており、例えば後述する非可視光透過ブラック53と同様の材料により構成されている。
2枚の偏光板47、55は、クロスニコルの状態で配置される。偏光板47は、バックライト20側から入射する可視光のうち、特定の偏光成分を選択的に透過させて液晶層60へ入射させる偏光子である。偏光板55は、偏光板47を透過する光と直交する偏光成分を透過させて、表示光を上方へ出射させる検光子である。
液晶層60は、そこを通過する光を電界の状態に応じて変調するために、TFT基板40とCF基板50の間に形成される。なお、液晶層60とTFT基板40の間および液晶層60とCF基板50の間には、それぞれ配向膜(不図示)が形成されている。
バックライト20は、表示パネル10を照明する光源として機能し、その出射面が表示画面11の全面に対向するように配置される。バックライト20は、図3に示すように、可視光L2に加えて非可視光L1を出射させる。バックライト20には、例えば、平板状の導光板21の一端に非可視光源22Aが設けられ、他端に可視光源22Bが設けられる。非可視光源22Aと可視光源22Bとしては、発光ダイオード等が用いられる。かかる構成により、非可視光源22Aから発せられた非可視光L1と、可視光源22Bから発せられた可視光L2は、導光板21内を伝播し、TFT基板40側の一面から取り出される。
非可視光L1は、可視光L2以外の光、つまり人の目により視認される波長域(例えば380nm〜780nm)以外の波長域の紫外光、赤外光等である。紫外光としては近紫外領域(300nm〜380nm)の光、赤外光としてはSiフォトダイオードの感度に適合する近赤外領域(780nm〜1100nm)の光が用いられてもよい。ただし、表示パネル10の両面に設けられた偏光板47、55は、可視領域および近紫外領域で偏光特性を有する。よって、透過率が低下して検出光量が少なくなり、また画素電位に応じて変調された画像光に依存してしまう。一方、近赤外領域では、偏光特性を有しないので、検出光量の低減が抑制され、画像光に依存しない。このため、本実施形態のように、偏光板47、55を要する液晶素子を用いる場合には、非可視光L1として近赤外光を用いることが望ましい。
表示装置では、画像信号に基づき共通電極44と画素電極46Aの間に所定の閾値以上の駆動電圧が供給されると、液晶層60に印加された所定の電界により液晶状態が変調される。これにより、バックライト20側から偏光板47を介して液晶層60へ入射した可視光L2は、表示画素毎に変調され、対応するカラーフィルタ層52を通過して、3色の表示光として偏光板55の上方へ出射する。このようにして、表示画面11に画像が表示される。また、バックライト20から発せられ、非可視光透過ブラック53に入射する光が非可視光透過ブラック53で遮光されるので、表示光の光学特性に悪影響が及び難くなる。
バックライト20からの可視光L2が表示画面11の画像を表示させる一方で、バックライト20からの非可視光L1は、偏光板47、TFT基板40、液晶層60、CF基板50および偏光板55を通過する。なお、非可視光L1は、液晶層60、カラーフィルタ層52および非可視光透過ブラック53により遮断されずに通過する。
ここで、表示画面11上方に指O(操作体Oの一例)が配置されると、偏光板55の上方に出射された非可視光L1は、指Oの表面で拡散反射する。そして、この反射光をセンサ42Bにより受光することで、指Oの光強度の分布情報が取得される。位置判定部31は、光強度の分布情報を入力され、指Oの重心座標を算出することで、指Oの位置を判定する。
図4A〜4Cは、操作体Oの位置判定の一例を示している。図4Aに示す例では、操作体Oの一例として人差し指の指先O1(第1の指先O1)と親指の指先O2(第2の指先O2)が表示画面11上方に配置されている。第1の指先O1は、表示画面11に表示された×印X1の上方高さh1に中心が位置するように配置され、第2の指先O2は、×印X2の上方高さh2(>高さh1)に中心が位置するように配置される。高さh1は、ユーザの使用時に指先O1、O2の中心が通常配置される高さとする。
すると、操作体検出部12は、バックライト20から発せられて第1および第2の指先O1、O2で反射された反射光を検出する。図4Bには、第1および第2の指先O1、O2の位置に対応するセンサ42Bにより検出された光強度の一次元分布が示されている。なお、図4B中の横軸は、センサ42Bの配置間隔を単位として表している。図4Bに示すように、第1と第2の指先O1、O2からの反射光は、いずれも表示画面11に最も近い中心部で最大強度I1、I2をそれぞれ示し、その周辺部で強度の低下を示している。
また、第1の指先O1が第2の指先O2よりも表示画面11に近接しているので、第1の指先O1からの反射光の最大強度I1は、第2の指先O2からの反射光の最大強度I2よりも大きくなる。ここで、最大強度I1、I2は、表示画面11上の高さh1、h2に配置された操作体Oからの反射光の強度にそれぞれ相当する。よって、表示画面11に一律の検出閾値Itを設定すると、第1の指先O1からの反射光は、第2の指先O2からの反射光よりも広い領域で検出される。
そして、位置判定部31は、第1および第2の指先O1、O2の位置を判定する。図4Cには、検出閾値It以上の反射光を検出したセンサ42Bの二次元分布が示されている。なお、図4C中のX軸、Y軸は、表示画面11上の位置をセンサ42Bの配置間隔を単位として表す座標であり、X軸、Y軸の基点は、表示画面11の所定の位置に設定される。また、図4C中の斜線領域は、検出閾値It以上の反射光を検出したセンサ42Bの二次元分布を示している。
図4Cに示すように、第1の指先O1からの反射光は、表示画面11上のある領域に配置された複数のセンサ42Bにより検出され、第2の指先O2からの反射光は、ある領域よりも右上の領域に配置された複数のセンサ42Bにより検出されている。また、第1の指先O1が第2の指先O2よりも表示画面11に近接しているので、第1の指先O1からの反射光の検出領域(第1の指先O1の検出領域とも称する。)は、第2の指先O2からの反射光の検出領域(第2の指先O2の検出領域とも称する。)よりも大きくなる。
そして、位置判定部31は、第1の指先O1の位置を第1の指先O1の検出領域の重心から(X、Y、Z)=(8、12、h1)と算出し、第2の指先O2の位置を第2の指先O2の検出領域の重心から(X、Y、Z)=(28、6、h2)と算出する。
図5A〜5Cは、操作体Oの位置判定の誤差の一例を示している。図5Aに示す例では、図4Aに示した場合と同様に、表示画面11上方に第1および第2の指先O1、O2が配置されている。しかし、図5Bに示すように、第1の指先O1からの反射光は、図4Bに示した場合よりも小さな強度(最大強度I2)で検出され、第2の指先O2からの反射光は、図4Cに示した場合よりも左下側にずれて検出されている。
この場合、位置判定部31は、図5Cに示すように、第1の指先O1の位置を(X、Y、Z)=(8、12、h2)と算出し、第2の指先O2の位置を(X、Y、Z)=(26、8、h2)と算出する。よって、第1の指先O1の位置は、本来よりも高い位置として判定され、第2の指先O2の位置は、本来よりも左下の位置として判定される。このため、第1および第2の指先O1、O2の位置判定時に誤差が生じてしまう。これらの誤差は、センサ42B等の感度に応じて表示装置に固有の誤差として生じたり、操作方法等に応じてユーザに固有の誤差として生じたりする。
[2.表示装置の動作]
つぎに、図6から図16を参照して、本発明の一実施形態に係る表示装置の動作について説明する。
図6は、本発明の一実施形態に係る表示装置の動作手順を示している。図6に示すように、表示装置は、補正情報生成モードと通常動作モードで動作する。動作モードは、所定操作を通じてユーザにより切替えられてもよく、表示装置により所定頻度で補正情報生成モードが設定されてもよい(ステップS11)。通常動作モードにおいて、操作体検出部12は、表示画面11上方に配置された操作体Oを検出する(ステップS21)。位置判定部31は、検出結果から操作体Oの三次元位置を判定し(ステップS22)、補正情報が生成されていない場合に(ステップS23でNo)、操作体Oの位置情報として出力する(ステップS25)。
一方、補正情報生成モードにおいて、位置指定部32は、表示画面11上方の三次元位置を指定する(ステップS31)。案内情報生成部33は、案内情報Gを表示画面11に表示するために生成する(ステップS32)。案内情報Gは、指定された三次元位置の周辺で操作体Oに対して所定の動作を行わせた後に、指定された三次元位置へ操作体Oを配置することをユーザに促す情報である。
操作体検出部12は、案内情報Gに従って指定された三次元位置に配置された操作体Oを検出する(ステップS33)。位置判定部31は、検出結果から操作体Oの三次元位置を判定する(ステップS34)。補正情報生成部34は、指定された三次元位置と、案内情報Gに従って配置された操作体Oの三次元位置の判定結果との誤差から補正情報を生成する(ステップS35)。補正情報は、記憶部36に記憶される(ステップS36)。
そして、通常動作モードにおいて、位置補正部35は、補正情報が生成されている場合に(ステップS23でNo)、記憶部36に記憶されている補正情報に基づき操作体Oの三次元位置を補正する(ステップS24)。補正された三次元位置は、操作体Oの位置情報として出力される(ステップS25)。なお、前述したように、操作体Oの三次元位置は、操作体Oの検出結果と補正情報を用いて判定され、操作体Oの位置情報として出力されてもよい。
図7は、指先O1、O2を接触させる動作をユーザに促す案内情報Gの一例を示している。この案内情報Gは、補正情報生成モードにおいて、表示画面11上の水平位置を指定するマーク、アイコン等とともに、表示画面11上の任意位置に表示される。案内情報Gは、例えば、人差し指の指先O1(第1の指先O1)と親指の指先O2(第2の指先O2)を表示画面11上の一定高さに配置し、その高さで、2つの指先O1、O2を互いに離間させた状態から移動させ、X印上で接触させる動作を繰返すことをユーザに促す情報である。なお、表示画面11上の一定高さとは、ユーザの使用時に指先等の操作体Oが通常配置される高さh1に相当する。
図7に示すように、ユーザは、案内情報Gに従って、まず、第1の指先O1と第2の指先O2を表示画面11上の高さh1に配置する。そして、その高さを維持した状態で、第1および第2の指先O2を互いに離間させた状態から移動させて、正確にX印X1の上方で接触させる。ユーザは、この動作を数回繰り返す。ここでは、後述するように、表示画面11上の水平位置(X、Y)=(10、12)がX印X1により指定される場合を想定する。
図8A、8Bは、指先O1、O2を離間させた状態における操作体Oの位置判定の一例を示している。図9A、9Bは、指先O1、O2を接触させた状態における操作体Oの位置判定の一例を示している。図8Aと図9Aには、表示画面11上に設定された検出閾値Itが示されている。また、図8Bと図9Bには、表示画面11上で指定された水平位置がX印X1により示されている。
指先O1、O2を離間させた状態では、図8Bに示すように、表示画面11上の左下の領域に第1の指先O1が配置され、右上の領域に第2の指先O2が配置されている。操作体検出部12は、図8Aに示すように、第1および第2の指先O1、O2の位置に対応する領域で検出閾値It以上の反射光を検出し、指先O1、O2の中心部の位置に対応する領域で最大強度I1´の反射光を検出する。ここで、光強度I1´は、表示画面11上の高さh1+1単位に配置された操作体Oからの反射光の強度に相当する。なお、1単位とは、センサ42Bの垂直分解能に相当する距離に意味する。位置判定部31は、第1の指先O1の位置を(X、Y、Z)=(6、14、h1+1)と算出し、第2の指先O2の位置を(X、Y、Z)=(18、6、h1´)と算出する。位置判定部31は、第1と第2の指先O1、O2の離間距離をD1と算出する。
指先O1、O2を接触させた状態では、第1の指先O1が右上の方向に、第2の指先O2が左下の方向に移動されている。位置判定部31は、第1の指先O1の水平位置を(X、Y、Z)=(10、10、h1´)と算出し、第2の指先O2の水平位置を(X、Y、Z)=(14、10、h1´)と算出する。位置判定部31は、第1と第2の指先O1、O2の離間距離をD2と算出する。
指先O1、O2の移動に応じて、操作体検出部12は、指先O1、O2の検出結果を更新し、位置判定部31は、指先O1、O2の位置の判定結果を更新する。そして、指先O1、O2を接触させた状態で、位置判定部31は、指先O1、O2の位置の変化状況から、指先O1、O2の移動が停止したことを知る。ここで、位置判定部31は、指先O1、O2の移動に応じて指先O1、O2の位置を連続して判定することで、指先O1、O2の移動の傾向を知る。よって、位置判定部31は、指先O1、O2を接触させた状態での指先O1、O2の位置を高い精度で判定することができる。
図10は、指先O1、O2を接触させる動作中における指先O1、O2の離間距離Dの変化を示している。指先O1、O2の離間距離Dは、第1の指先O1の中心部と、第2の指先O2の中心部との間の距離に相当する。図10には、指先O1、O2を離間させた状態から接触させ、接触させた状態から再び離間させる動作を繰り返した場合における指先O1、O2の離間距離Dの時系列変化が示されている。
指先O1、O2を接触させた状態では、離間距離Dが最小値D2となる。よって、位置判定部31は、離間距離Dの変化に基づき、例えば最小値D2から所定範囲内の離間距離(例えばD2〜1.1D2)が検出された時点を、指先O1、O2を接触させた時点と判定することができる。なお、最小値D2は、指先O1、O2を接触させる動作毎に算出され、この動作を繰り返すことで得られる平均値として算出されることが望ましい。また、最小値D2から所定範囲内の離間距離Dは、操作体Oの位置判定に限らず、指先O1、O2を接触させた状態の判定に用いられてもよい。
図11は、指先O1、O2を接触させる動作に基づき得られた補正情報の一例を示している。なお、図11中のX軸、Y軸は、表示画面11上の位置をセンサ42Bの配置間隔を単位として表す座標であり、X軸、Y軸の基点は、表示画面11の所定の位置に設定される。また、図11中のZ軸は、表示画面11上の位置をセンサ42Bの分解能を単位として表す座標であり、Z軸の基点は、表示画面11の表面に設定される。
ここで、図9Bに示す状態で、指先O1、O2を接触させた状態が判定されたとする。すると、位置判定部31は、図9B中に二重丸で示すように、第1の指先O1の水平位置と第2の指先O2の水平位置との中間位置(X、Y)=(12、10)を、案内情報Gに従って配置された操作体O1、O2の水平位置として判定する。なお、中間位置は、指先O1、O2を接触させる動作毎に算出され、この動作を繰り返すことで得られる平均値として算出されることが望ましい。
ここで、水平位置の判定結果は、指定された水平位置(X、Y)=(10、12)に対して右と上に2センサ分に相当する距離ずつずれている。このような誤差は、例えば、センサ42Bの感度が水平方向で適切に調節されていなかったり、操作入力の位置がユーザの視認方向に応じてずれたりすることで生じる。
また、指先O1、O2を接触させた状態で、図9Aに示すように、第1および第2の指先O1、O2の位置に対応するセンサ42Bにより光強度が検出されたとする。すると、位置判定部31は、第1と第2の指先O1、O2の位置に対応して検出された反射光の最大強度の平均値に相当する高さ(例えば、表示画面11上の高さh1+1)を、案内情報Gに従って配置された操作体O1、O2の垂直位置と判定する。なお、操作体O1、O2の垂直位置は、指先O1、O2を接触させた状態に限らず、指先O1、O2を離間させた状態でも判定し、これらの平均値として算出されることが望ましい。さらに、中間位置は、指先O1、O2を接触させる動作毎に算出され、この動作を繰り返すことで得られる平均値として算出されることが望ましい。
ここで、垂直位置の判定結果は、指定された垂直位置Z=h1に対して上に1単位分ずれている。このような誤差は、例えば、センサ42Bの感度が垂直方向で適切に調節されていなかったり、操作入力の位置がユーザの視認方向に応じてずれたりすることで生じる。
そして、補正情報生成部34は、図11に示すように、指定された三次元位置と、判定された三次元位置との誤差から補正情報を生成する。ここでは、補正情報生成部34は、指定された位置(X、Y、Z)=(10、12、h1)と、位置判定の結果(X、Y、Z)=(12、10、h1+1)との誤差から、誤差(Xd、Yd、Zd)=(+2、−2、+1)を算出する。得られた誤差は、位置判定の結果が指定された位置よりも水平方向で右と上に2センサ分に相当する距離ずつ、垂直方向で上に1単位ずれていることを意味している。
このため、補正情報生成部34は、誤差を打ち消すように、補正情報(Xc、Yc、Zc)=(−2、+2、−1)を生成する。補正情報は、操作体Oの検出結果を水平方向で左と下に2センサ分に相当する距離ずつ、垂直方向で下に1単位ずらすことを意味している。
図12は、図11に示した補正情報に基づく操作体Oの位置補正の一例を示している。図12では、通常動作モードにおいて操作体Oとして人差し指O1が表示画面11上方に配置されている。位置判定部31は、図4A〜図4Cに示したように、操作体Oの検出結果に基づき操作体O1の三次元位置を、例えば(X、Y、Z)=(20、4、h2+1)と判定する。つぎに、位置補正部35は、前述した補正情報(Xc、Yc、Zc)=(−2、+2、−1)に基づき、操作体O1の三次元位置を(X、Y、Z)=(18、6、h2)と補正する。
図13A、13Bは、指先O1、O2を離間させる動作に基づき得られた補正情報の一例を示している。図13Aには、指先O1、O2を離間させる動作をユーザに促す案内情報Gと、案内情報Gに従って行われる動作とが示されている。図13Bには、図13Aに示す動作に基づき得られた補正情報が示されている。
図13Aに示すように、ユーザは、案内情報Gに従って、まず、人指し指の指先O1(第1の指先O1)と親指の指先O2(第2の指先O2)を表示画面11上の高さh1に配置する。そして、その高さを維持した状態で、第1および第2の指先O1、O2を正確にX印X1の上方で互いに接触させた状態から移動させて、X印X1から均等に離間させる。ここでは、表示画面11上の水平位置(X、Y)=(10、12)がX印X1により指定される場合を想定する。また、第1および第2の指先O1、O2が垂直位置Z=h1に維持される場合を想定する。なお、指先O1、O2が垂直位置Z=h1に維持されない場合、図11に示した場合と同様に、垂直位置の補正情報が生成される。
指先O1、O2の移動に応じて、操作体検出部12は、指先O1、O2の検出結果を更新し、位置判定部31は、指先O1、O2の位置の判定結果を更新する。そして、指先O1、O2を離間させた状態で、位置判定部31は、指先O1、O2の位置の変化状況から、指先O1、O2の移動が停止したことを知る。ここで、位置判定部31は、指先O1、O2の移動に応じて指先O1、O2の位置を連続して判定することで、指先O1、O2の移動の傾向を知る。よって、位置判定部31は、指先O1、O2を離間させた状態での指先O1、O2の位置を高い精度で判定することができる。
すると、図13Bに示すように、位置判定部31は、まず、指先O1、O2を離間させた状態で、第1の指先O1の位置を(X、Y、Z)=(6、14、h1)と算出し、第2の指先O2の位置を(X、Y、Z)=(18、6、h1)と算出する。つぎに、位置判定部31は、第1の指先O1の水平位置と第2の指先O2の水平位置との中間位置(X、Y)=(12、10)を、案内情報Gに従って配置された操作体Oの位置として判定する。
そして、補正情報生成部34は、例えば、指定された位置(X、Y、Z)=(10、12、h1)と、位置判定の結果(X、Y、Z)=(12、10、h1)との誤差から、誤差(Xd、Yd、Zd)=(+2、−2、0)を算出する。そして、補正情報生成部34は、誤差を打ち消すように、補正情報(Xc、Yc、Zc)=(−2、+2、0)を生成する。
図14A、14Bは、指先O1の水平移動および停止動作に基づき得られた補正情報の一例を示している。図14Aには、指先O1を水平移動させて停止させる動作をユーザに促す案内情報Gと、案内情報Gに従って行われる動作とが示されている。図14Bには、図14Aに示す動作に基づき得られた補正情報が示されている。
図14Aに示すように、ユーザは、案内情報Gに従って、まず、例えば人指し指の指先O1(第1の指先O1)を表示画面11上の高さh1に配置する。そして、その高さを維持した状態で、第1の指先O1を水平移動させた後に正確にX印X1の上方で停止させる。ここでは、表示画面11上の水平位置(X、Y)=(10、12)がX印X1により指定される場合を想定する。また、第1の指先O1が垂直位置Z=h1に維持される場合を想定する。なお、指先O1が垂直位置Z=h1に維持されない場合、図11に示した場合と同様に、垂直位置の補正情報が生成される。
指先O1の移動に応じて、操作体検出部12は、指先O1の検出結果を更新し、位置判定部31は、指先O1の位置の判定結果を更新する。そして、指先O1を停止させた状態で、位置判定部31は、指先O1の位置の変化状況から、指先O1の移動が停止したことを知る。ここで、位置判定部31は、指先O1の移動に応じて指先O1の位置を連続して判定することで、指先O1の移動の傾向を知る。よって、位置判定部31は、指先O1を停止させた状態での指先O1の位置を高い精度で判定することができる。
すると、図14Bに示すように、補正情報生成部34は、まず、指先O1を停止させた状態で、第1の指先O1の位置を(X、Y、Z)=(12、10、h1)と算出し、案内情報Gに従って配置された操作体O1の位置として判定する。そして、補正情報生成部34は、例えば、指定された位置(X、Y、Z)=(10、12、h1)と、位置判定の結果(X、Y、Z)=(12、10、h1)との誤差から、誤差(Xd、Yd、Zd)=(+2、−2、0)を算出する。そして、補正情報生成部34は、誤差を打ち消すように、補正情報(Xc、Yc、Zc)=(−2、+2、0)を生成する。
図15A、15Bは、指先O1の垂直移動および停止動作に基づき得られた補正情報の一例を示している。図15Aには、指先O1を垂直移動させて停止させる動作をユーザに促す案内情報Gと、案内情報Gに従って行われる動作とが示されている。図15Bには、図15Aに示す動作に基づき得られた補正情報が示されている。
図15Aに示すように、ユーザは、案内情報Gに従って、まず、例えば人指し指の指先O1(第1の指先O1)をX印X1の上方に配置する。そして、その水平位置を維持した状態で、第1の指先O1を垂直移動させた後に正確に高さh1の位置で停止させる。ここでは、表示画面11上の水平位置(X、Y)=(10、12)がX印X1により指定され、第1の指先O1が水平位置(X、Y)=(10、12)に維持される場合を想定する。なお、指先O1が水平位置(X、Y)=(10、12)に維持されない場合、図11に示した場合と同様に、水平位置の補正情報が生成される。
指先O1の移動に応じて、操作体検出部12は、指先O1の検出結果を更新し、位置判定部31は、指先O1の位置の判定結果を更新する。そして、指先O1を停止させた状態で、位置判定部31は、指先O1の位置の変化状況から、指先O1の移動が停止したことを知る。ここで、位置判定部31は、指先O1の移動に応じて指先O1の位置を連続して判定することで、指先O1の移動の傾向を知る。よって、位置判定部31は、指先O1を停止させた状態での指先O1の位置を高い精度で判定することができる。
補正情報生成部34は、まず、指先O1を停止させた状態で、センサ42Bの最大強度I1´から第1の指先O1の位置を(X、Y、Z)=(10、12、h1+1)と算出し、案内情報Gに従って配置された操作体O1の位置として判定する。そして、補正情報生成部34は、例えば、指定された位置(X、Y、Z)=(10、12、h1)と、位置判定の結果(X、Y、Z)=(10、12、h1+1)との誤差から、誤差(Xd、Yd、Zd)=(0、0、+1)を算出する。そして、補正情報生成部34は、誤差を打ち消すように、補正情報(Xc、Yc、Zc)=(0、0、−1)を生成する。
なお、位置判定の結果は、操作体Oの位置判定に限らず、ユーザの使用時に指先O1の中心が通常配置される高さや、指先O1の中心が通常配置される高さの上限および/または下限を設定するために用いられてもよい。
図16A、16Bは、表示画面11上の複数の位置で操作体Oを垂直移動させて停止させる動作に基づき得られた補正情報の一例を示している。図16Aには、表示画面11上の複数の位置で指先O1を垂直移動させて停止させる動作をユーザに促す案内情報Gと、案内情報Gに従って行われる動作とが示されている。図16Bには、図16Aに示す動作に基づき得られた補正情報が示されている。
図16Aに示すように、表示画面11上の領域は、例えば左右2つの領域に区分される。ユーザは、案内情報Gに従って、まず、例えば人指し指の指先O1(第1の指先O1)を第1の領域中のX印X1の上方で垂直移動させて正確に高さh1の位置で停止させる。ユーザは、つぎに、第1の指先O1を第2の領域中のX印X2の上方で垂直移動させて正確に高さh1で停止させる。ここでは、表示画面11上の水平位置(X、Y)=(6、10)と(X、Y)=(26、10)が第1と第2の領域中のX印X1、X2によりそれぞれ指定され、指先O1が水平位置(X、Y)=(6、10)または(X、Y)=(26、10)に維持される場合を想定する。
すると、センサ42Bは、図16Bに示すように、第1の指先O1の位置に対応する領域で検出閾値It以上の反射光を検出し、指先O1の中心部の位置に対応する領域で最大強度I1´の反射光を検出する。位置判定部31は、まず、第1の領域中では第1の指先O1の位置を(X、Y、Z)=(6、10、h1+1)と算出し、第2の領域中では第1の指先O1の位置を(X、Y、Z)=(26、10、h1)と算出する。
そして、補正情報生成部34は、例えば、第1の領域について、位置判定の結果(X、Y、Z)=(6、10、h1+1)と、指定された位置(X、Y、Z)=(6、10、h1)との誤差から、第1の領域での誤差(Xd、Yd、Zd)=(0、0、+1)を算出する。そして、補正情報生成部34は、誤差を打ち消すように、第1の領域での補正情報(Xc、Yc、Zc)=(0、0、−1)を生成する。これにより、第1の領域では、センサ42Bの感度が低いと判断され、第1の領域上方で検出された操作体Oの垂直位置が補正情報に従って補正される。
一方、補正情報生成部34は、例えば、第2の領域について、位置判定の結果(X、Y、Z)=(26、10、h1)が指定された位置(X、Y、Z)=(26、10、h1)と一致しているので、第2の領域での誤差(Xd、Yd、Zd)=(0、0、0)を算出する。この場合、補正情報生成部34は、第2の領域での補正情報を(Xc、Yc、Zc)=(0、0、0)とする。これにより、第2の領域では、センサ42Bの感度が適切に調節されていると判断され、第2の領域上方で検出された操作体Oの垂直位置が補正されない。
なお、図16A、16Bでは、表示画面11を左右2つの領域に区分する場合について説明したが、表示画面11を左右に3つ以上、および/または上下に2つ以上の領域に区分してもよい。この場合、各領域について、補正情報を生成して記憶することで、操作体Oの検出された領域に応じて、操作体Oの垂直位置を補正情報に従って補正することができる。
[3.まとめ]
以上説明したように、本発明の実施形態に係る表示装置および位置補正方法によれば、表示画面11上方に配置された操作体Oが表示画面11を通じて検出され、検出結果から操作体Oの三次元位置が判定され、操作体Oの位置情報として出力される。そして、表示画面11上方の三次元位置が指定され、指定された三次元位置の周辺で操作体Oに対して所定の動作を行わせた後に、指定された三次元位置へ操作体Oを配置することをユーザに促す案内情報Gが、表示画面11に表示するために生成される。そして、指定された三次元位置と、案内情報Gに従って配置された操作体Oの三次元位置の判定結果との誤差から補正情報が生成され、補正情報に基づき操作体Oの三次元位置が補正される。これにより、表示画面11上方で検出された操作体Oの三次元位置を容易に補正することができる。
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
例えば、上記説明では、操作体Oの位置がセンサ42Bの配置間隔の整数倍の値として特定される場合について説明した。しかし、操作体Oの位置は、操作体Oからの反射光を検出閾値It以上の強度で検出した複数のセンサ42Bの重心位置として、センサ42Bの配置間隔の実数倍の値として特定されてもよい。この場合、補正情報も、センサ42Bの配置間隔の実数倍の値として生成される。
また、上記説明では、操作体Oの一例として、人差し指O1と親指O2、または人差し指O1を用いる場合について説明したが、他の指を用いてもよい。また、指に代えて、スタイラス等のポインティングデバイスが用いられてもよい。
また、上記説明では、表示画面11に案内情報Gが表示される場合について説明したが、案内情報Gのうち、水平位置を指定するマーク以外の情報は、音声情報としてユーザに通知されてもよい。