(57)【要約】  ユーザの眼球の運動に対応した視線の角度に応じてディスプレイ４上のユーザの注視点に対応させてカーソル表示させる視線入力によるポインティングデバイスを実現する。  ユーザが意図的に一点を注視しているつもりであるにも拘らず、ユーザの眼球が固視微動している場合でも、その微動をそのままカーソルの位置として再現することなくユーザが意図的に一点を注視していること、即ち眼球が停止していることを判別する。これにより、眼球が停止していると判断された場合は、固視微動に応じて注視点が微動していてもカーソルが停止して表示される。さらにカーソルが停止していることを判別することにより、カーソルが表示されている位置に表示されている他のアイコン等のオブジェクトが選択されていることを識別することができる。
2009019760.tif 000002
【特許請求の範囲】
【請求項１】
動体の動きに対応する物理量を時系列的に受け付ける受付手段と、該受付手段が所定時間にわたって受け付けた物理量を所定の座標系における座標に変換する変換手段と、該変換手段が変換した前記座標の変動に基づいて前記動体の動きを検出する手段とを備える動体検出装置において、
前記変換手段が変換した複数の座標を記憶する手段と、
前記複数の座標が包含される前記座標系上の空間を算出する算出手段と、
前記空間が算出された後に前記受付手段が受け付けた物理量を変換した座標が、前記空間に包含されるか否かを判断する手段と、
前記空間に包含されると判断した場合、前記動体は停止していると判断する手段と
を備えることを特徴とする動体検出装置。
【請求項２】
前記算出手段は、前記複数の座標が包含される最小の大きさを有する空間を算出するようにしてあること
を特徴とする請求項１に記載の動体検出装置。
【請求項３】
前記算出手段は、
前記複数の座標の内の所定数からなる図形の外接図形を夫々算出する手段と、
算出した外接図形が前記複数の座標を全て包含するか否かを判断する手段と
を備え、
全て包含すると判断された外接図形の内の最小の大きさを有する図形を前記空間として算出するようにしてあること
を特徴とする請求項２に記載の動体検出装置。
【請求項４】
記憶してある座標が所定の大きさを占有する第１の空間に包含されるか否かを判断する手段を備え、
第１の空間に包含されると判断した場合に、前記算出手段による空間の算出を行なうようにしてあること
を特徴とする請求項１乃至３のいずれかに記載の動体検出装置。
【請求項５】
動体の動きに対応する物理量を時系列的に受け付ける受付手段と、該受付手段が所定時間にわたって受け付けた物理量を所定の座標系における座標に変換し、前記座標の変動に基づいて前記動体の動きを検出する動体検出方法において、
変換された複数の座標を記憶手段に記憶し、
前記複数の座標が包含される前記座標系上の空間を算出し、
前記空間が算出された後に、前記受付手段が受け付けた物理量に対応する座標が前記空間に包含されるか否かを判断し、
包含されると判断した場合、前記動体は停止していると判断する
ことを特徴とする動体検出方法。
【請求項６】
ユーザの眼球の動きに対応する、ディスプレイへのユーザの視線の角度を時系列的に受け付ける受付手段と、該受付手段が所定時間にわたって受け付けた角度から前記ディスプレイ上のユーザの注視点を示す座標に変換する変換手段と、該変換手段が変換した前記座標の変動に基づいて前記眼球の動きを検出する手段と、検出した眼球の動きに対応させて前記ディスプレイ上にカーソルを表示する手段とを備えるポインティングデバイスにおいて、
前記変換手段が変換した座標を記憶する手段と、
記憶してある複数の座標が、前記ディスプレイ上の所定の面積を占有する第１の図形に包含されるか否かを判断する手段と、
前記第１の図形に包含されると判断した場合、前記複数の座標を包含する前記ディスプレイ上の第２の図形を算出する算出手段と、
前記第２の図形が算出された後に前記受付手段が受け付けた角度から前記変換手段が変換した座標が前記第２の図形に包含されるか否かを判断する手段と、
前記第２の図形に包含されると判断した場合、前記眼球は停止していると判断する手段と
を備え、
前記眼球は停止していると判断した場合、カーソルを停止して表示するようにしてあること
を特徴とするポインティングデバイス。
【請求項７】
前記算出手段は、
前記記憶してある座標の内の任意の二点からなる線分を直径とする円を算出する手段と、
算出した円が記憶してある座標を全て包含するか否か判断する手段と
を備え、
全て包含すると判断された円の内の最小の径を有する円を第２の図形として算出するようにしてあること
を特徴とする請求項６に記載のポインティングデバイス。
【請求項８】
前記算出手段は、
前記記憶してある座標の内の任意の三点からなる三角形の外接円を算出する手段と、
算出した外接円が記憶してある座標を全て包含するか否か判断する手段と
を備え、
全て包含すると判断された外接円の内の最小の径を有する円を第２の図形として算出するようにしてあること
を特徴とする請求項６又は７に記載のポインティングデバイス。
【請求項９】
コンピュータを、所定時間にわたって時系列に受け付けた動体の動きに対応する物理量を所定の座標系における座標に変換する手段、変換した座標を記憶する手段、及び、変換した前記座標の変動に基づいて前記動体の動きを検出する手段として機能させるコンピュータプログラムにおいて、
コンピュータを、
記憶してある座標が包含される前記座標系上の空間を算出する手段、
前記空間が算出された後に変換した座標が前記空間に包含されるか否かを判断する手段、及び、
包含されると判断した場合、前記動体は停止していると判断する手段
として機能させることを特徴とするコンピュータプログラム。
【請求項１０】
ディスプレイに接続しているコンピュータを、所定時間にわたって時系列に受け付けたユーザの眼球の動きに対応する前記ディスプレイへのユーザの視線の角度から、前記ディスプレイ上のユーザの注視点を示す座標に変換する手段、変換した座標を記憶する手段、変換した前記座標の変動に基づいて前記眼球の動きを検出する手段、及び、検出した眼球の動きに対応させて前記ディスプレイ上にカーソルを表示する手段として機能させるコンピュータプログラムにおいて、
前記コンピュータを、
変換されて記憶してある複数の座標が前記ディスプレイ上の所定の面積を占有する第１の図形に包含されるか否かを判断する手段、
前記第１の図形に包含されると判断した場合、前記複数の座標を包含する前記ディスプレイ上の第２の図形を算出する手段、
前記第２の図形が算出された後に受け付けた角度から変換した座標が前記第２の図形に包含されるか否かを判断する手段、
前記第２の図形に包含されると判断した場合、前記眼球は停止していると判断する手段、及び、
前記眼球は停止していると判断した場合、カーソルを停止して表示させる手段
として機能させることを特徴とするコンピュータプログラム。
【請求項１１】
請求項９又は１０に記載のコンピュータプログラムが、コンピュータによって読み取り可能に記憶されていることを特徴とする記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動体の動きを検出する動体検出装置に関し、特に、停止しているべき又は停止が意図されている間も微動する動体について動体個々の微動の特性に応じて停止していることを判別することができる動体検出装置、動体検出方法、そのような動体検出装置、方法を利用したポインティングデバイス、コンピュータを前記動体検出装置として機能させるコンピュータプログラム及び該コンピュータプログラムが記憶されている記憶媒体に関する。
【背景技術】
【０００２】
動体の動きをセンサによって検知し、動いているか否かの判断と、動いている場合の動き量に基づいて各種の制御に利用する技術が普及している。センサには、二次元画像による画像センサも含まれ、撮像画像に含まれる特徴的な形状、輪郭の動きから動体の動きを検出し、更には撮像画像に含まれる特徴的な形状又は輪郭の大きさの変動から空間的な動きを検出する技術が特許文献１に開示されている。
【特許文献１】特開２００２−６３５７８号公報
【図面の簡単な説明】
【０００３】
【図１】本実施の形態におけるポインティングデバイスの原理を示す説明図である。
【図２】本実施の形態におけるポインティングデバイスを実現するための眼球運動検出装置及びＰＣの内部構成を示すブロック図である。
【図３】本実施の形態における眼球運動検出装置で検出されるユーザの視線の角度を表わす模式図である。
【図４】本実施の形態における眼球運動検出装置から出力される角度信号に基づきユーザの注視点が変換により得られる原理を示す説明図である。
【図５】実施の形態におけるＰＣのＣＰＵによってユーザの眼球が停止していると判断するための基準を模式的に示す説明図である。
【図６】本実施の形態におけるＰＣのＣＰＵによる視線入力に基づくカーソルの描画処理の手順を示すフローチャートである。
【図７】本実施の形態におけるＰＣのＣＰＵによるカーソルの描画処理において最小包含円が算出される処理手順の一例を示すフローチャートである。
【図８】本実施の形態におけるＰＣのＣＰＵによるカーソルの描画処理において最小包含円が算出される処理手順の一例を示すフローチャートである。
【図９】本実施の形態におけるポインティングデバイスによって視線入力に基づき表示されるカーソルの軌跡の一例を示す説明図である。
【符号の説明】
【０００４】
１  撮像装置
２  眼球運動検出装置
３  ＰＣ（Personal Computer）
３０  ＣＰＵ
３１  メモリ
３２  ＨＤ（Hard Disk）
３３  受付部
３４  画像出力部
３Ｐ  制御プログラム
４  ディスプレイ
【発明を実施するための最良の形態】
【０００５】
以下、本発明の実施の形態を示す図面に基づいて具体的に説明する。なお、以下に説明する実施の形態では、パーソナルコンピュータが備えるポインティングデバイスに動体検出装置を適用し、パーソナルコンピュータが接続しているディスプレイに対するユーザの眼球の動き（視線の動き）を検出し、眼球の動きに追従させるようにカーソルを表示させる視線入力によるポインティングデバイスを実現する例を示す。【０００６】
図１は、本実施の形態におけるポインティングデバイスの原理を示す説明図である。図１中の１は撮像装置であり、ユーザの眼球の動きを撮像する。また、図１中の２は、撮像装置１から入力される撮像画像に基づいてユーザの眼球の動きを検出する眼球運動検出装置である。図１中の３は、ユーザが用いるパーソナルコンピュータ（ＰＣ；Personal Computer）である。ＰＣ３は、ディスプレイ４に接続しており、ＰＣ３の動作によって描画されるウィンドウ、カーソル等のＧＵＩ（Graphical User Interface）を含む表示画面を表わす画像信号をディスプレイ４へ出力する。【０００７】
本実施の形態におけるポインティングデバイスは、以下のような原理により実現される。眼球運動検出装置２では、撮像画像からユーザの眼球の動きが検出される。眼球運動検出装置２で検出された動きの量は、ディスプレイ４へ垂直に入射する直線（基準直線）を基準としたユーザの視線の基準直線に対するディスプレイ４の水平方向（Horizontal）への角度、及び、垂直方向（Vertical）への角度として検出される。検出された水平方向及び垂直方向の角度を示す角度信号が眼球運動検出装置２からＰＣ３へ入力される。ＰＣ３では入力された角度信号が示す角度が、ユーザの眼球とディスプレイ４との間の距離に基づいて、ユーザの視線とディスプレイ４との交点、即ちディスプレイ４上の注視点の座標に変換される。変換されて得られた座標は、ユーザのディスプレイ４上の注視点であることから、その座標がディスプレイ４上に表示されるカーソルの動作に関連付けられる。【０００８】
例えば図１の説明図に示すように、ユーザは当初、視線Ｌ１でディスプレイ４を注視している。この時のユーザの注視点Ｇ１は、基準直線に対する視線Ｌ１の角度が、ユーザの眼球からディスプレイ４までの距離に基づいてディスプレイ４上の点Ｇ１に変換されることによって得られる。また、その後にユーザが視線Ｌ２へ視線を移動させた場合、視線が移動している間も、随時（３０Ｈｚで）基準直線に対する視線の角度が各時点での注視点に変換される。また、夫々の時点で変換されて得られる注視点に対応してカーソルの表示位置が制御される。ユーザが視線Ｌ２でディスプレイ４を注視した場合、基準直線に対する視線Ｌ２の角度が、ユーザの眼球からディスプレイ４までの距離に基づいて注視点Ｇ２に変換され、注視点Ｇ２に対応する位置にカーソルが表示される。これにより、視線入力によるポインティングデバイスが実現される。【０００９】
なお、以後の説明を分かり易くするため、ユーザの眼球の位置はディスプレイ４に対する法線と等しい基準直線上にあるとする。また、撮像装置１はユーザの眼球を撮像できるように、向き、高さ、及び位置が調整されているものとする。【００１０】
図２は、本実施の形態におけるポインティングデバイスを実現するための眼球運動検出装置２及びＰＣ３の内部構成を示すブロック図である。眼球運動検出装置２は、以下に示す各構成部を制御する制御部２０と、各種情報を記憶する記憶部２１と、撮像装置１から出力される撮像画像を取得する画像取得部２２と、制御部２０の処理によって算出されるユーザの眼球の動きに対応する視線の角度を示す角度信号を出力する出力部２３とを備える。また、ＰＣ３は、ＣＰＵ３０と、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）等を利用したメモリ３１と、各種情報を記憶するＨＤ（Hard Disk）３２と、眼球運動検出装置２からの角度信号を受け付ける受付部３３と、例えばビデオカードを利用した画像出力部３４と、ＤＶＤ（Digital Versatile Disk）、ＣＤ−ＲＯＭ等の記憶媒体３５からデータを読み取る補助記憶部３６とを備える。【００１１】
眼球運動検出装置２の画像取得部２２には、例えば毎秒３０フレームのレート（３０Ｈｚ）で撮像されるユーザの眼球の撮像画像が入力される。なお、撮像装置１で撮像されるユーザの眼球の撮像画像は、瞳孔と、撮像装置１から眼球に近赤外光を当てたことによる角膜表面からの反射光（プルキニエ像）とを含む。画像取得部２２は、同様に毎秒３０フレームのレート（３０Ｈｚ）で撮像画像を取得する。【００１２】
眼球運動検出装置２の制御部２０は、記憶部２１に記憶してある所定のプログラムを読み出して実行することにより、画像取得部２２を介して取得した撮像画像に撮像されている瞳孔の中心及びプルキニエ像の撮像画像における位置に基づいてユーザの視線の角度を検出する。なお、ユーザの視線が基準直線と平行である場合の瞳孔の中心及びプルキニエ像の撮像画像中の位置に基づいて角度が検出されるように、瞳孔の中心及びプルキニエ像の撮像画像中の位置と角度との関係がキャリブレーションしてある。ただし、瞳孔の中心位置とプルキニエ像の位置とに基づいて視線の角度を検出する技術は公知の技術であるので詳細な説明を省略する（例えば特開２００６−８７７５１参照）。【００１３】
眼球運動検出装置２の制御部２０は、３０Ｈｚで撮像画像を取得する都度、検出したユーザの視線の角度を示す角度信号を出力部２３を介してＰＣ３へ出力する。【００１４】
ＰＣ３のＨＤ３２には、ユーザの視線の角度を示す角度信号に基づいてディスプレイ４上の注視点に変換し、その結果をカーソル表示に関連付けさせる処理をＣＰＵ３０に実行させるための制御プログラム３Ｐが記憶されている。なお、制御プログラム３ＰはＤＶＤ、ＣＤ−ＲＯＭ等の記憶媒体３５に記憶されており、ＣＰＵ３０が補助記憶部３６により記憶媒体３５から読み出してＨＤ３２に記憶したものでもよい。【００１５】
ＣＰＵ３０は、制御プログラム３Ｐを読み出して実行することにより、受付部３３により眼球運動検出装置２の出力部２３から出力される角度信号を受け付け、受け付けた角度信号に基づいてディスプレイ４上のユーザの注視点に変換する。【００１６】
ＰＣ３の画像出力部３４は、ディスプレイ４でＧＵＩ（Graphical User Interface）を表示するための描画信号をＣＰＵ３０から受け付けて画像信号を生成し、ディスプレイ４へ出力する。ＣＰＵ３０は、制御プログラム３Ｐを読み出して実行することにより、変換された注視点に対応する位置にカーソルを表示するための描画信号を画像出力部３４に入力し、画像信号を出力させる。【００１７】
なお、ＣＰＵ３０は、受付部３３により受け付けた角度信号に基づいて得られるユーザの注視点を、そのままカーソルを表示させる位置としない。ユーザの眼球が停止している場合、及び動いている場合のいずれにも拘わらず、眼球の動きに対応するディスプレイ４上の注視点をそのままカーソルを表示させる位置としない理由は以下の通りである。【００１８】
まず第１に、ユーザがディスプレイ４上の一点を注視している場合、ユーザが意図的に一点を注視しているにも拘わらず、その注視点は固視微動により絶えず微動するためである。したがって、ユーザの注視点をそのままカーソルを表示させる位置とする場合、表示されるカーソルが常に微動するので、ユーザにとって注視を継続することが困難になる。なお、固視微動の大きさは個人によって、更にその時々の体調によって異なる。【００１９】
第２に、注視点付近に動くものがある場合に、視線がその動くものに追従してしまうという現象が起こるためである。ユーザの眼球の動きに対応する注視点をそのままカーソルを表示させる位置とする場合、第１に挙げた理由に示したように固視微動によってカーソルは絶えず微動するので、ユーザが注視を継続することが困難になるのみならず、微動するカーソルに視線が追従して微動に共振してしまい、ユーザは更に注視を継続することが困難となる。【００２０】
また、第３に、注視点上に常にカーソルが表示される場合は単純に、ユーザの目を疲労させてしまうためである。ユーザが注視していない場合であっても、ユーザの視線の動きに忠実に追従してカーソルを動かして表示した場合は、ユーザの目を疲労させる。【００２１】
したがって、本実施の形態におけるポインティングデバイスでは、後述するように、ユーザの眼球の動きに対応する角度から変換されて得られるディスプレイ４上の注視点に基づいてユーザの眼球が停止しているか否かの判断を行なう。さらに、本実施の形態におけるポインティングデバイスでは、眼球が停止していると判断された場合は、ユーザの眼球の微動に対応して変換されて得られた注視点がディスプレイ４上で微動していてもカーソルを停止させて表示させる。また、ユーザの眼球が停止しておらず動いていると判断される場合も、ユーザの注視点をそのまま結んだ軌跡上にカーソルを表示させるのではなく、ユーザの注視点に基づくベジエ（bezie）曲線を描くように滑らかな軌跡で表示させる。なお、ユーザの眼球が動いていると判断される場合のカーソルの軌跡はベジエ曲線とは限らず、平滑化された軌跡上に表示させるようにする。【００２２】
ここで、ＰＣ３のＣＰＵ３０によるユーザの眼球が停止しているか否かの判断方法について説明する。まず、ユーザのディスプレイ４上における注視点を得るための角度からの変換処理について説明する。【００２３】
図３は、本実施の形態における眼球運動検出装置２で検出されるユーザの視線の角度を表わす模式図である。図３（ａ）は、ディスプレイ４に垂直に入射する基準直線と視線との角度の内のディスプレイ４の水平方向成分θｘを示し、図３（ｂ）は、基準直線と視線との角度の内のディスプレイ４の垂直方向成分θｙを示している。なお、基準直線と視線との角度の水平方向成分θｘは、ディスプレイ４の正面右方向へ正の値をとり、垂直方向成分θｙはディスプレイ４の正面上方向へ正の値をとるとする。したがって、図３（ｂ）の模式図に示した垂直方向成分θｙは、基準直線よりも上方へ向いているので正の値となる。眼球運動検出装置２により、ユーザの眼球を撮像した画像に基づいて図３（ａ）及び（ｂ）に示したθｘ及びθｙを表わす角度信号が出力される。【００２４】
図４は、本実施の形態における眼球運動検出装置２から出力される角度信号に基づきユーザの注視点が変換により得られる原理を示す説明図である。図４の説明図は、ディスプレイ４の中心へ基準直線が垂直に入射しており、基準直線上におけるディスプレイ４から距離ｄの位置にユーザの眼球が位置している場合に、ユーザの視線の角度がディスプレイ４上の注視点に変換される原理を示している。ＰＣ３では、ディスプレイ４の中心を原点とし、ディスプレイ４の水平方向にｘ軸をとって右方向を正方向とし、ディスプレイ４の垂直方向にｙ軸をとって上方向を正方向とした平面座標系が定義されている。ＣＰＵ３０は、眼球運動検出装置２から出力される角度信号が示す基準直線と視線との角度の水平方向成分θｘ及び垂直方向成分θｙを、次の式（１）及び（２）により、平面座標系における注視点を示す座標（ｘ，ｙ）に変換する。【００２５】
ｘ＝ｄ×ｔａｎθｘ…（１）、ｙ＝ｄ×ｔａｎθｙ…（２）【００２６】
なお、図４に示した説明図では、視線はユーザから見て基準直線から右上方向に角度をなしている。したがって、θｘ及びθｙは正の値を示しているので、注視点を示す座標のｘ成分及びｙ成分はいずれも正の値が算出される。ユーザの注視点は平面座標系における第一象限に位置すると特定される。【００２７】
次に、図３及び図４のような原理で得られるユーザの注視点のディスプレイ４上の座標から、ユーザの眼球が停止しているか否か、即ちユーザが一点の注視を意図しているか否かを判断する処理について説明する。【００２８】
図５は、本実施の形態におけるＰＣ３のＣＰＵ３０によってユーザの眼球が停止していると判断するための基準を模式的に示す説明図である。図５の説明図中の黒丸印及び白丸印はディスプレイ４上のユーザの注視点を示しており、＋（プラス）印は白丸印及び黒丸印で示す注視点を全て包含する最小面積の包含円（実線で表わされた円）の中心点を示している。ユーザがディスプレイ４上の一点を注視しているつもりでも、ユーザの注視点は固視微動により図５の説明図に示すように散在する。そこでＰＣ３のＣＰＵ３０は、図５に示すように直近の例えば１０点の注視点を全て包含する最小面積の包含円を算出し、次に受け付ける角度信号から変換されるユーザの注視点の座標が、算出された包含円に包含されるか否かによってユーザの眼球が停止している、ユーザが一点の注視を意図しているか否かを判断する。最小面積の包含円の算出方法は本実施の形態の場合、直近の１０点の内の任意の２点を結ぶ線分を直径とする円の内、１０点全てを包含する包含円を算出し、算出された包含円の内の径が最小である包含円を抽出することによって算出する。図５の説明図には、白丸印で示す２点を結ぶ線分を直径とする円が最小の内含円として算出されていることが示されている。【００２９】
ＣＰＵ３０は、図５に示した判断基準に基づいてユーザの眼球が停止していると判断した場合、即ち算出した包含円にユーザの注視点が包含されている間は、算出した包含円の中心点にカーソルを停止させて表示させる。一方、ＣＰＵ３０は次に得られたユーザの注視点が包含円に包含されない場合、ユーザの眼球は動いていると判断し、包含円の中心点から次のユーザの注視点へのベジエ曲線の軌跡を算出し、その軌跡上にカーソルを表示させる。【００３０】
なお、処理が開始される当初から常に図５の説明図に示した判断基準によってユーザの眼球が停止しているか否かを判断する場合、ユーザが意図的に視線を動かしていて眼球が動いている間も、直近の注視点に基づいて包含円が算出され、ディスプレイ４の大部分を占有する大きな包含円が判断基準として算出されてしまう可能性がある。この場合、眼球が停止しているか否かの判断基準である包含円から注視点が外れず、包含円の中心点に常にカーソルが表示される状態になることも考えられる。したがって、判断基準となる包含円の径に対し、最大値及び最小値を定めておく。これにより、算出された包含円の径が定めてある最大値を超える場合は、当該包含円を停止しているかの判断基準として用いず、ユーザの眼球は動いていると判断する。【００３１】
本実施の形態では、ＰＣ３のＣＰＵ３０は、ユーザの注視点が所定時間以上、所定の面積の図形内に包含されるか否かに基づいてユーザの眼球が停止している可能性が高いか否かを第一義的に判断する。ＣＰＵ３０は、ユーザの注視点が所定時間以上、所定の面積の図形に包含される場合に改めて、直近の所定数の注視点を包含する包含円を算出し、その後は算出した包含円に基づいてユーザの眼球が停止しているか否かを判断するようにする。【００３２】
次に、上述の判断基準に基づくカーソルの描画処理についてフローチャートを参照して説明する。図６は、本実施の形態におけるＰＣ３のＣＰＵ３０による視線入力に基づくカーソルの描画処理の手順を示すフローチャートである。【００３３】
ＣＰＵ３０は、眼球運動検出装置２から受付部３３により角度信号を受け付け（ステップＳ１０１）、受け付けた角度信号が示す角度からディスプレイ４上の平面座標系における注視点を示す座標に変換する（ステップＳ１０２）。ＣＰＵ３０は、変換により得られた座標をメモリ３１に一時的に記憶しておき（ステップＳ１０３）、直前の注視点に基づくユーザの眼球の動きに対する判断は停止であるか否か、即ちユーザは一点を注視している状態であるか否かを判断する（ステップＳ１０４）。【００３４】
ＣＰＵ３０は、ステップＳ１０４で直前の判断は停止でないと判断した場合（Ｓ１０４：ＮＯ）、直近の所定時間（例えば６００ミリ秒）以内の注視点を示す座標が所定範囲内（例えば１０×１０ピクセルの矩形内）に包含されるか否かを判断する（ステップＳ１０５）。ＣＰＵ３０は、直近の所定時間以内の注視点を示す座標が所定範囲内に包含されないと判断した場合（Ｓ１０５：ＮＯ）、眼球は動いていると判断する（ステップＳ１０６）。この場合ＣＰＵ３０は、ステップＳ１０２で得られた座標に対応するベジエ曲線をなす軌跡上にカーソルを表示させる描画処理を行ない（ステップＳ１０７）、所定数（例えば１０点）を越える過去の座標の内の最も古い注視点を示す座標をメモリ３１から削除し（ステップＳ１０８）、処理を終了する。【００３５】
ＣＰＵ３０は、ステップＳ１０５において直近の所定時間以内の座標が所定範囲内に包含されると判断した場合（Ｓ１０５：ＹＥＳ）、直近の所定数（例えば１０点）の座標を全て包含する最小面積の包含円の中心及び半径（直径）を算出し、メモリ３１に記憶しておく（ステップＳ１０９）。ＣＰＵ３０は、ステップＳ１０２で得られた座標が、ステップＳ１０９で算出した最小包含円に包含されるか否かを判断する（ステップＳ１１０）。【００３６】
ＣＰＵ３０は、ステップＳ１０２で算出した座標がメモリ３１に記憶してある最小包含円に包含されないと判断した場合（Ｓ１１０：ＮＯ）、眼球は動いていると判断する（Ｓ１０６）。この後ＣＰＵ３０は、得られた座標に対応するベジエ曲線を描く軌跡上にカーソルを表示させる描画処理を行ない（Ｓ１０７）、最も古い注視点を示す座標をメモリ３１から削除し（Ｓ１０８）、処理を終了する。【００３７】
ＣＰＵ３０は、ステップＳ１０２で得られた座標がメモリ３１に記憶してある最小包含円に包含されると判断した場合（Ｓ１１０：ＹＥＳ）、眼球は停止していると判断する（ステップＳ１１１）。この場合ＣＰＵ３０は、最小包含円の中心点にカーソルを表示させる描画処理を行ない（Ｓ１０７）、最も過去の注視点を示す座標をメモリ３１から削除し（Ｓ１０８）、処理を終了する。【００３８】
またＣＰＵ３０は、ステップＳ１０４で直前の判断は停止であると判断した場合（Ｓ１０４：ＹＥＳ）、処理をステップＳ１１０に進め、直近に算出されてメモリ３１に記憶してある最小包含円に、ステップＳ１０２で得られた座標が包含されるか否かを判断し（Ｓ１１０）、その後の処理（ステップＳ１０６からステップＳ１０８まで、又は、ステップＳ１１１及びステップＳ１０７からステップＳ１０８まで）を行なう。【００３９】
ＣＰＵ３０は、ステップＳ１０５の判断処理を行なうため、角度信号を最初に受け付けたときから少なくとも１００ミリ秒経過後に（３０Ｈｚ毎に変換されて得られる座標が少なくとも３点存在する状態で）、図６のフローチャートにおける処理を開始する。【００４０】
なおＣＰＵ３０は、眼球運動検出装置２から角度信号を受け付けるレートと同じ３０Ｈｚのタイミングで図６のフローチャートに示した処理手順を繰り返し実行する。【００４１】
図６のフローチャートに示した処理では、ＰＣ３のＣＰＵ３０は、ステップＳ１０４で直前の判断は停止であったと判断した場合に、受け付けた角度信号から得られた座標が一度でも最小包含円に包含されないと判断したときはユーザの眼球は動いている、ユーザは視線の移動を意図していると判断する構成であった。しかしながら、これに限らず、複数回以上最小包含円に注視点を示す座標が包含されないと判断した場合に、眼球が動いていると判断するようにしてもよい。これにより、フリッカのような跳躍的、且つ微小な眼球の動きにより一度最小包含円を外れ、再度最小包含円内で注視点が微動する場合、又は、眼球運動検出装置２の角度の検出誤差により眼球が微動していると検出される場合でも、眼球が停止していると判断することができる。【００４２】
図６のフローチャートに示した処理により、個人、更にはその時々の体調によって異なる固視微動の特性に応じてユーザの眼球が停止しているか否かの判断を行なうことができる。何らかの基準に従って予め定めた所定の大きさの図形に包含されるか否かによって停止しているか否かを判断することもできるが、その場合、個人更にはその時々の体調等により異なる微動の特性によっては、停止していると判断されるべき眼球の微動も、動いていると判断される可能性がある。図６のフローチャートに示した処理による場合は、実際の直近の所定数の注視点に基づいて、その後に用いられる停止しているか否かの判断基準を決める。したがって、個人差及びその時々の体調により異なる眼球の微動の特性に応じて眼球が停止していること、即ちユーザが意図して一点を注視していることを判別することができる。【００４３】
図７及び図８は、本実施の形態におけるＰＣ３のＣＰＵ３０によるカーソルの描画処理において最小包含円が算出される処理手順の一例を示すフローチャートである。なお、図７及び図８のフローチャートに示す処理手順は、図６のフローチャートに示した処理手順の内のステップＳ１０９における最小包含円の算出処理の詳細に対応する。【００４４】
ＣＰＵ３０は、メモリ３１に記憶してある注視点を示す座標の内の直近の所定数（例えば１０点）の座標から任意の２点を選択し（ステップＳ２０１）、選択した２点を結ぶ線分を直径とする円を算出する（ステップＳ２０２）。次にＣＰＵ３０は、算出した円が直近の所定数（例えば１０点）の点を全て包含するか否かを判断する（ステップＳ２０３）。【００４５】
ＣＰＵ３０は、算出した円が直近の所定数の点の内のいずれかを包含しないと判断した場合（Ｓ２０３：ＮＯ）、処理をステップＳ２０１へ戻して他の任意の２点を選択し（Ｓ２０１）、以降の処理を行なう。【００４６】
ＣＰＵ３０は、算出した円が直近の所定数の点を全て包含すると判断した場合（Ｓ２０３：ＹＥＳ）、算出した包含円の中心及び半径をメモリ３１に記憶しておく（ステップＳ２０４）。【００４７】
ＣＰＵ３０は次に、記憶してある注視点を示す座標の内の直近の所定数の座標から２点の全組み合わせをステップＳ２０１で選択したか否かを判断する（ステップＳ２０５）。ＣＰＵ３０は、全組み合わせを選択していないと判断した場合（Ｓ２０５：ＮＯ）、処理をステップＳ２０１へ戻して他の任意の２点を選択し（Ｓ２０１）、以降の処理を行なう。【００４８】
ＣＰＵ３０は、全組み合わせを選択したと判断した場合（Ｓ２０５：ＹＥＳ）、メモリ３１に記憶されている包含円が有るか否かを判断する（ステップＳ２０６）。即ち、ＣＰＵ３０は、ステップＳ２０６において直近の所定数の座標の内のいずれか２点を結ぶ線分を直径とし、他の座標も全て包含する円が存在したか否かを判断する。【００４９】
ＣＰＵ３０は、記憶されている包含円が有ると判断した場合（Ｓ２０６：ＹＥＳ）、記憶されている包含円の内の最小の径を有する包含円を抽出し（ステップＳ２０７）、最小包含円を算出する処理を終了して処理を図６のフローチャートに示したステップＳ１１０へ戻す。【００５０】
ＣＰＵ３０は、直近の所定数の座標の内のいずれか２点を結ぶ線分を直径とし、他の座標も全て包含する円が存在しない場合、次に３点に基づいて最小包含円を算出する。【００５１】
ＣＰＵ３０は、記憶されている包含円が無いと判断した場合（Ｓ２０６：ＮＯ）、メモリ３１に記憶してある注視点を示す座標の内の、直近の所定数の座標から任意の３点を選択し（ステップＳ２０８）、選択した３点からなる三角形の外接円を算出する（ステップＳ２０９）。ＣＰＵ３０は、算出した外接円が直近の所定数（例えば１０点）の点を全て包含するか否かを判断する（ステップＳ２１０）。【００５２】
ＣＰＵ３０は、算出した外接円が直近の所定数の点の内のいずれかを包含しないと判断した場合（Ｓ２１０：ＮＯ）、処理をステップＳ２０８へ戻して他の任意の３点を選択し（Ｓ２０８）、以降の処理を行なう。【００５３】
ＣＰＵ３０は、算出した外接円が直近の所定数の点を全て包含すると判断した場合（Ｓ２１０：ＹＥＳ）、算出した外接円を包含円としてその中心及び半径をメモリ３１に記憶しておく（ステップＳ２１１）。【００５４】
ＣＰＵ３０は次に、記憶してある注視点を示す座標の内の直近の所定数の座標から３点の全組み合わせをステップＳ２０８で選択したか否かを判断する（ステップＳ２１２）。ＣＰＵ３０は、全組み合わせを選択していないと判断した場合（Ｓ２１２：ＮＯ）、処理をステップＳ２０８へ戻して他の任意の３点を選択し（Ｓ２０８）、以降の処理を行なう。【００５５】
ＣＰＵ３０は、全組み合わせを選択したと判断した場合（Ｓ２１２：ＹＥＳ）、メモリ３１に記憶されている包含円の内の最小の径を有する包含円を抽出し（Ｓ２０７）、最小包含円を算出する処理を終了して処理を図６のフローチャートに示したステップＳ１１０へ戻す。【００５６】
最小包含円を算出する処理は他に、始めに所定の径を有する円を算出し、算出した円が直近のいくつかの注視点を示す座標を全て包含するか否かを判断し、包含しないと判断した場合は径を大きくし、包含すると判断した場合は径を小さくして再度包含するか否かを判断し、これを繰り返すことにより最小包含円を算出することも可能である。ただし、図７及び図８のフローチャートに示した処理手順によって最小包含円を算出する場合、処理速度が速くなることが期待できる。【００５７】
図９は、本実施の形態におけるポインティングデバイスによって視線入力に基づき表示されるカーソルの軌跡の一例を示す説明図である。図９の説明図は、ディスプレイ４上にフォルダを示すアイコンが表示されている場合に、ユーザがそのアイコンを意図的に注視するまでのユーザの眼球の動きに対応する注視点の動き、及び注視点に対応させて表示されるカーソルの動きを示している。図９の破線で表わされる軌跡は、眼球運動検出装置２から出力される角度信号に基づき特定されたユーザの注視点を結んだ軌跡を示している。破線で表わされた軌跡のように、ユーザの注視点の動きをそのまま再現するようにカーソルを表示させた場合は、ユーザが意図的に一点を注視しているときでもカーソルが微動し、ユーザが視線を動かしたときもカーソルの移動は滑らかではなく、ユーザはディスプレイ４を見続けることが困難になる。【００５８】
一方、図９の実線で表わされる軌跡は、変換により得られたユーザの注視点に基づいて図６のフローチャートに示した処理手順をＣＰＵ３０が実行することによりカーソルが表示される軌跡である。図９中の実線で表わされる軌跡の始点となる点Ｇ１及び終点となる点Ｇ２は、ユーザの眼球が停止していると判断されてカーソルが停止して表示されていることを示している。ユーザが眼球を停止させる意思、即ち一点を注視する意図を有している場合は、ユーザの眼球の動きに応じてディスプレイ４上の注視点が微動しているときも、図６のフローチャートに示した処理によって眼球が停止していると判断される可能性が高いので、カーソルは一点で停止して表示される。【００５９】
このように、上述の処理をＣＰＵ３０が実行することにより、ユーザ個々の固視微動を含む注視点の微動の特性に応じて眼球が停止していることを判別することができ、図９の説明図に示すようにユーザにとって違和感なくカーソルを表示させることが可能な、視線入力に基づくポインティングデバイスを実現することができる。【００６０】
さらに、本実施の形態におけるポインティングデバイスでは、上述のようなカーソルの表示処理のみならず、図９の説明図で示したアイコンをクリック、ダブルクリックする動作も実現可能である。例えばＰＣ３のＣＰＵ３０は、ユーザの注視点がアイコンの領域上で所定時間以上停止していると判断できる場合は、当該アイコンが選択されたと判断する。このときカーソルに、単なる「選択」のみならず「クリック操作」、「ダブルクリック操作」を関連付けておくことにより、視線入力によるクリック操作又はダブルクリック操作を実現することも可能である。例えば、ディスプレイ４上に、「選択」、「クリック」、又は「ダブルクリック」に対応するメニューアイコンを表示させておき、夫々のアイコン上に注視点があるときに眼球が停止していると判断できる場合は、夫々の処理をカーソルに関連付け、次に眼球が停止していると判断された時点における注視点で夫々の処理が行なわれたと判断することによって実現可能である。更に、カーソルにWindows（登録商標）のようなＧＵＩにおけるペン、ブラシ等のオブジェクトを関連付けることによって、視線入力に基づく描画操作を実現することも可能である。【００６１】
なお、本実施の形態における眼球運動検出装置２は、角膜反射法を用いた角度検出を行なうものを例に挙げた。しかしながら、本発明はこれに限らず、眼球の動きに対応する視線の角度を検出することができる技術であれば他にＥＯＧ（Electro-Oculogram）法、強膜反射法等の技術を利用してもよい。【００６２】
また、動体検出装置は上述のように、人間の視線の動きを検出してディスプレイ４上の２次元のカーソルの動きに対応させるポインティングデバイスに利用するのみならず、１次元又は３次元における動体の動きに対しても停止していることを判別する装置に利用することが可能である。【００６３】
例えば３次元の場合、人間の腕又は手指の動きについて加速度センサで回転を、画像センサ、赤外線センサ等で移動を夫々検出し、検出した腕、手指の動きを再現するようにロボットアームを動かす技術に利用することが可能である。このようなロボットアームは人間が居ることができないような空間での作業、又は遠隔操作に用いられる。このようなロボットアームに動体検出装置、方法を利用する場合、人間が腕及び手指を停止させる意思があるにも拘わらず腕又は手指が震えていても、その震えをそのまま反映させることなく、腕又は手指が停止していると判断できるときにロボットアームを停止させることができるロボットアームを実現することができる。このように、個人差のある腕、手指等の体の一部の震えの特性に応じて停止していることを判別し、動きを補正して再現することができるロボットアームへ利用することが可能である。
【図１】
2009019760.tif 000003
【図２】
2009019760.tif 000004
【図３】
2009019760.tif 000005
【図４】
2009019760.tif 000006
【図５】
2009019760.tif 000007
【図６】
2009019760.tif 000008
【図７】
2009019760.tif 000009
【図８】
2009019760.tif 000010
【図９】
2009019760.tif 000011
【国際調査報告】
2009019760.tif 000012
2009019760.tif 000013