IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ガゾウの特許一覧

<>
  • 特許-頭部装着型情報機器及びプログラム 図1
  • 特許-頭部装着型情報機器及びプログラム 図2
  • 特許-頭部装着型情報機器及びプログラム 図3
  • 特許-頭部装着型情報機器及びプログラム 図4
  • 特許-頭部装着型情報機器及びプログラム 図5
  • 特許-頭部装着型情報機器及びプログラム 図6
  • 特許-頭部装着型情報機器及びプログラム 図7
  • 特許-頭部装着型情報機器及びプログラム 図8
  • 特許-頭部装着型情報機器及びプログラム 図9
  • 特許-頭部装着型情報機器及びプログラム 図10
  • 特許-頭部装着型情報機器及びプログラム 図11
  • 特許-頭部装着型情報機器及びプログラム 図12
  • 特許-頭部装着型情報機器及びプログラム 図13
  • 特許-頭部装着型情報機器及びプログラム 図14
  • 特許-頭部装着型情報機器及びプログラム 図15
  • 特許-頭部装着型情報機器及びプログラム 図16
  • 特許-頭部装着型情報機器及びプログラム 図17
  • 特許-頭部装着型情報機器及びプログラム 図18
  • 特許-頭部装着型情報機器及びプログラム 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-09
(45)【発行日】2023-02-17
(54)【発明の名称】頭部装着型情報機器及びプログラム
(51)【国際特許分類】
   G06F 3/01 20060101AFI20230210BHJP
   G06F 3/04812 20220101ALI20230210BHJP
【FI】
G06F3/01 510
G06F3/04812
【請求項の数】 9
(21)【出願番号】P 2018238042
(22)【出願日】2018-12-20
(65)【公開番号】P2020101886
(43)【公開日】2020-07-02
【審査請求日】2021-10-20
(73)【特許権者】
【識別番号】517355729
【氏名又は名称】株式会社ガゾウ
(74)【代理人】
【識別番号】100177127
【弁理士】
【氏名又は名称】▲高▼橋 一哉
(72)【発明者】
【氏名】金田 篤幸
【審査官】塩屋 雅弘
(56)【参考文献】
【文献】特開2001-356875(JP,A)
【文献】特開2017-191426(JP,A)
【文献】特開2013-175048(JP,A)
【文献】特開2013-190941(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/04812
(57)【特許請求の範囲】
【請求項1】
使用者の頭部に装着されて該使用者の顔前にある該使用者の手の指に装着された第1マーカ及び前記手の甲に付された第2マーカを撮影し得るカメラと、
前記カメラの撮影画角内で撮影される画像である2次元平面内にマーカ検出領域を定めて、該マーカ検出領域内から前記第1マーカ及び前記第2マーカを検出し得るマーカ検出部と、
前記第1マーカの検出位置を表示領域にスケール変換して定めたカーソル表示位置に更新、又は前記第1マーカの移動量と方向とから算出される第1マーカ積算ベクトルを前記表示領域に積算ベクトル用スケール変換をして生成した表示カーソル移動ベクトルにカーソル初期表示位置を表す位置ベクトルを加算して生成したベクトルの終点として定まるベクトル式カーソル表示位置に更新してそこにカーソルを表示する表示部と、
前記カメラの動きを検出するジャイロセンサと、を有し、
前記ジャイロセンサが、前記カメラの左右方向回転すなわちパンニング回転したこと若しくは上下方向回転すなわちチルティング回転したことを検出していた場合には、前記カーソル表示位置又は前記ベクトル式カーソル表示位置は更新されずに維持される構成にして、
前記ジャイロセンサが前記カメラのパンニング回転もチルティング回転も検出せず、かつ、前記マーカ検出部が前記第1マーカを検出している場合において、
前記第2マーカが検出されているときは、若しくは前記第2マーカが検出されていないときは、前記カーソル表示位置又は前記ベクトル式カーソル表示位置が更新されずに維持される頭部装着型情報機器。
【請求項2】
前記カーソル表示位置又は前記ベクトル式カーソル表示位置が更新されずに維持される場合において、前記カーソル表示位置又は前記ベクトル式カーソル表示位置には、前記カーソルの代わりに、該カーソルとは外観上識別し得るように形状や表示面積若しくは色彩に差異があるフリーズマークが表示されている請求項1に記載の頭部装着型情報機器。
【請求項3】
前記表示領域に前記フリーズマークが表示されており、かつ、前記ジャイロセンサが前記カメラのパンニング回転及びチルティング回転を検出しないときは、
前記マーカ検出部が検出した前記第1マーカの位置に応じて前記カーソル表示位置が更新されて表示されるべき位置に、前記カーソルとは外観上識別し得るように形状又は表示面積若しくは色彩に差異があるフリーズカーソルが表示される請求項2に記載の頭部装着型情報機器。
【請求項4】
前記表示領域に前記フリーズマークが表示されている場合に、
前記第1マーカが検出された位置に基づいて定まる前記カーソル表示位置に表示される前記フリーズカーソルが、前記フリーズマークに重なると該フリーズマークが前記表示領域から消去され、前記カーソル表示位置の更新が始まり、前記カーソル表示位置に前記フリーズカーソルの代わりに前記カーソルが表示される請求項3に記載の頭部装着型情報機器。
【請求項5】
前記第1マーカ積算ベクトルは、前記マーカ検出領域において時々刻々と検出される前記第1マーカの移動方向と移動量とをベクトル的に加算するベクトル積算によって更新され、
前記積算ベクトル用スケール変換は、予め定めた係数を前記第1マーカ積算ベクトルに乗じることにより為され、
前記ジャイロセンサが、少なくとも、前記カメラのパンニング回転と前記カメラのチルティング回転のいずれかを検出したときは、前記第1マーカ積算ベクトルへの前記ベクトル積算を停止することによって前記ベクトル式カーソル表示位置は更新されずに維持される請求項2に記載の頭部装着型情報機器。
【請求項6】
前記マーカ検出部が前記第2マーカを検出したときは、前記第1マーカ積算ベクトルへの前記ベクトル積算を停止することによって前記ベクトル式カーソル表示位置は更新されずに維持される、
若しくは、前記マーカ検出部が前記第2マーカを検出しないときは、前記第1マーカ積算ベクトルへの前記ベクトル積算を停止することによって前記ベクトル式カーソル表示位置は更新されずに維持される、
請求項5に記載の頭部装着型情報機器。
【請求項7】
前記マーカ検出部は、前記使用者の前記手の親指に装着された親指マーカを前記マーカ検出領域内で検出し得るものとし、
前記表示部にアイコンが表示されており、かつ、該アイコンの領域上に前記カーソルが表示されている場合において、
前記マーカ検出部が前記親指マーカと前記第1マーカとが接していることを検出したときは、前記アイコンに関連付けられていたプログラムのメニューが前記表示部に表示されるか、又は該プログラムが起動されるか、若しくは前記カーソルの移動と共に前記アイコンの位置が移動する請求項1、請求項2、請求項3、請求項4、請求項5又は請求項6のいずれか1項に記載の頭部装着型情報機器。
【請求項8】
前記使用者の眼球を撮影する眼球カメラと、
該眼球カメラの取得画像を解析して前記表示領域における前記使用者の視点を検出する視点検出部と、を有し、
前記マーカ検出領域内に前記第1マーカと前記親指マーカとが検出された場合には、前記第1マーカと前記親指マーカとが離間若しくは接触している状態に応じて、前記親指マーカの所在を前記表示領域に表示するものである親指カーソルを、前記カーソルと離間若しくは接触させて表示するものとし、
離間した前記カーソルと前記親指カーソルとの間に前記視点がある場合、若しくは、接触した前記カーソルと前記親指カーソルの少なくともいずれか一方の上に前記視点がある場合には、前記表示領域に表示される画像を拡大表示若しくは縮小表示させる請求項7に記載の頭部装着型情報機器。
【請求項9】
使用者の頭部に装着されて該使用者の顔前にある該使用者の手の指に装着された第1マーカ及び前記手の甲に装着された第2マーカを撮影し得るカメラの画像を取得するステップと、
前記カメラの画像内に2次元平面であるマーカ検出領域を定めて、該マーカ検出領域内から前記第1マーカを検出するステップと、
前記第1マーカの検出位置を表示領域にスケール変換して定めたカーソル表示位置、若しくは、前記第1マーカの移動量と方向とから算出される第1マーカ積算ベクトルを前記表示領域に積算ベクトル用スケール変換をして生成した表示カーソル移動ベクトルにカーソル初期表示位置を表す位置ベクトルを加算して生成したベクトルの終点として定まるベクトル式カーソル表示位置にカーソルを表示するステップと、
前記カメラの動きを検出するジャイロセンサの出力を取得するステップと、
前記マーカ検出領域内で前記第2マーカの有無を検出するステップと、を有し、
前記ジャイロセンサが、前記カメラの左右方向回転すなわちパンニング回転したこと若しくは上下方向回転すなわちチルティング回転したことを検出していた場合には、前記カーソル表示位置又は前記ベクトル式カーソル表示位置は更新されずに維持される処理を、
また、前記ジャイロセンサが、前記カメラのパンニング回転もチルティング回転も検出せず、前記第1マーカが検出されている場合において、前記第2マーカが検出されているときは、若しくは前記第2マーカが検出されていないときは、前記カーソル表示位置又は前記ベクトル式カーソル表示位置は更新されずに維持される処理を、
演算器に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、頭部に装着する情報機器及びプログラムに関するものである。
【背景技術】
【0002】
プラント施設や、エレベータやエスカレータ、その他インフラ設備の保守の現場において、マニュアルを参照するなど、パソコンやタブレット端末といった情報機器を欠かすことはできない。しかし、これらの情報機器の置き場所を十分に確保できない場合も多い。このため、ヘッドマウントディスプレイなどの頭部装着型情報機器への必要性も増している。
【0003】
特許文献1には、奥行き方向に積層配置された仮想パネルの画像を立体的に表示し、ユーザは奥行き方向に配置された各コマンド層に指を一定時間以上滞留させたり、指を折ったり、手を振ったりすることでコマンド選択が可能なヘッドマウントディスプレイが記載されている。ユーザの指は同ヘッドマウントディスプレイに備えられたステレオカメラで撮影する。このように、ヘッドマウントディスプレイを介して頭部に備えられたカメラで指先を撮影すると、頭部の揺れにより画面内の指さし位置がぶれやすい。しかし、この装置では奥行き方向の選択とすることで頭部の揺れに強いとの記載がある。
【0004】
また、特許文献2には、指先に特徴点となるようなマーカを装着した指先をカメラで撮影し、撮影座標系をディスプレイ用の座標系に変換し、頭部に装着したディスプレイにそのマーカをカーソルとして表示することが記載されている。また、ボタン選択の方法として人差し指と親指とでつまむジェスチャを、パタンマッチングで検出することが記載されている。カメラの設置場所については具体的な記載がない。
【0005】
特許文献3には、手に光を照射して撮影し、指先の検出座標を画面表示用座標に変換してコンピュータ画面のカーソルとして表示することが記載されている。また、指先Aと指先Bとが近づいて、その距離が一定値以下になると、ユーザが擬似的にボタン操作を行なったと判定することが記載されている。
【0006】
しかし、これらの構成を頭部装着型情報機器及びプログラムに適用すると次のようなことが課題となる。頭部装着型情報機器は頭部に装着されたカメラで使用者の指先を検出し、この検出位置に基づいて情報機器のカーソルの表示位置を決めるものである。頭部を不用意に動かすことにより、カーソルが意図しない場所へ移動してしまう虞がある。
【0007】
例えば、機器の保守作業者が情報機器で保守の対象となる装置の仕様を読んでいる最中に、ふと、その装置に目をやったことに伴い、カーソルが別の装置の仕様に移動してしまったりする問題がある。特許文献1は2次元の画面内ではなく、奥行き方向にことなるコマンドを配置することでこのような問題点を解決している。しかし、奥行き方向に様々な情報を配置することは、スペースのコンパクト化に支障を来す。しかも限られた作業スペースでは奥へ手を伸ばす動作は避けたい。
【0008】
特許文献2と特許文献3に記載される構成は、指を撮影するカメラがどこに設けられているのかが不明であり、情報機器使用時の不意なカメラの移動についての考察や解決策についての記載は無い。
【先行技術文献】
【特許文献】
【0009】
【文献】特開2010-146481号公報
【文献】特開2016-81286号公報
【文献】特開2012-73658号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
そこで、本発明の目的は、不用意なカーソル移動で意図しない情報と取り違えたり、誤操作を引き起こしたりすることを防止した頭部装着型情報機器及びプログラムを提供することにある。
【課題を解決するための手段】
【0011】
上記課題を解決する実施形態として、使用者の頭部に装着されて該使用者の顔前にある指に装着された第1マーカ111を撮影するカメラと、その撮影画角内にあるマーカ検出領域11D内から第1マーカ111を検出するマーカ検出部41と、第1マーカ111の検出位置を表示領域21にスケール変換して定めた位置にカーソル22を表示する表示部2と、カメラ1の動きを検出するジャイロセンサ3と、を有する頭部装着型情報機器A1とすることができる。更に、第1マーカ111が検出されても、ジャイロセンサ3が、カメラ1のパンニング回転したこと若しくはチルティング回転したことを検出していた場合には、カーソル22の位置は更新されないこととすることができる。
【発明の効果】
【0012】
本発明の実施形態は、不用意なカーソル移動で意図しない情報と取り違えたり、誤操作を引き起こしたりすることを防止した頭部装着型情報機器を提供することができる。
【図面の簡単な説明】
【0013】
図1図1は第1実施形態の頭部装着型情報機器の図である。
図2図2はマーカ検出領域と表示領域との関係を説明する図である。
図3図3は第1実施形態の頭部装着型情報機器の構成図である。
図4図4は第1実施形態のマーカの例を示す図である。
図5図5はカメラ取得画像を画像処理した図である。
図6図6はアイコンに関する動作の処理フローの図である。
図7図7はつまみ動作処理を説明する図である。
図8図8はクリック動作とWクリック動作とを説明する図である。
図9図9は人差し指と親指との動作解析の処理フローの図である。
図10図10は第2実施形態の動作を説明する図である。
図11図11は第2実施形態の処理フローの図である。
図12図12はフリーズフラグリセットの処理フローの図である。
図13図13は第3実施形態のカーソル操作法を示す図である。
図14図14は第3実施形態の処理フローの図である。
図15図15は親指カーソルの表示例を示す図である。
図16図16は第4実施形態の構成図である。
図17図17は表示部の画像を虚像として表示する構成を示す図である。
図18図18は第5実施形態の頭部装着装置の構成及び動作を示す図である。
図19図19は視点計測処理を説明する図である。
【発明を実施するための形態】
【0014】
〔頭部装着型情報機器:全実施形態共通〕
図1を参照して本発明に基づく実施形態の頭部装着型情報機器の説明をする。本実施形態は手元にタッチパネルやポインティングデバイス及び、これらを操作するスペースを不要とする情報機器である。同情報機器のディスプレイはメガネのように頭部に装着するヘッドマウントディスプレイとして実現される。
【0015】
このディスプレイに情報機器が表示すべき情報が表示される。同ディスプレイは、使用者の片目に表示するものでもよいし、両目に表示するものでもよい。また、同ディスプレイの表示部は半透明とし、同表示面を通して使用者の前景が見えるようにしてもよい。また、同ディスプレイを備えているメガネ状装着部に回転軸を設けて、同情報機器を使用しないときは、ディスプレイを額の側へ折り返しまたは回転させ、使用者が直接、自身の前景を見られるようにしてもよい。
【0016】
使用者は、情報機器の表示画面のアイコンを選択して、必要な書類や動画を閲覧したり、アプリケーションプログラムを起動させたりする。その際に、使用者は同表示画面上にカーソルを表示させ、そのカーソルを所望のアイコン上に移動させ、選択の意思を情報機器に入力する。タッチパネル型情報機器では特にカーソルを表示する必要はないが、それは、使用者自身の指が直に見えているからである。情報機器の表示部が、完全に使用者の指や前景を遮るものである場合はカーソルの表示が必要である。
【0017】
〔第1実施形態〕
図1(A)は、本発明に基づく第1実施形態の頭部装着型情報機器A1を装着した使用者を右側から見た図である。同情報機器A1の一部は透明に表されている。ここに示すように、同情報機器A1は、メガネ状つるA1fに構成部品が装着されていて、メガネ状つるA1fを使用者が頭部に装着することにより、各構成部品が使用者の頭部に装着される。構成部品には、カメラ1と、表示部2と、ジャイロセンサ3と、これらの動作を統合する演算器40を収納するコントロールボックス4とが含まれる。
【0018】
使用者は表示部2の表示面である表示領域21に表示されているカーソルの位置を制御するために、その手の指に第1マーカ111を装着している。更に同じ手の甲には、第2マーカ112が装着されている。これらのマーカは指輪状であったり、粘着テープで貼り付けるものであったりしてよい。あるいは、手袋にこれらのマーカが固定されていて、この手袋を使用者が装着するのでもよい。
【0019】
使用者の顔前にある手に装着された第1マーカ111と第2マーカ112とを撮影できる画角でカメラ1が使用者頭部に装着される。更に、このカメラ1の回転を検出するためにジャイロセンサ3が設けられている。ジャイロセンサ3は、図1(C)に示すように、カメラ1のパンニングとチルティングの2軸回転を検出することができる。更にローリングを含めて3軸検出できるジャイロセンサを用いてもよい。カメラ1のパンニング回転とは左右方向の動きである。カメラ1のチルティング回転とは上下方向の動きである。カメラ1のローリング回転とは画面中心を軸として画面が回転する動きである。
【0020】
図1(A)に示すように、カメラ1の撮影画角11は、使用者の鼻先から下方であって、この範囲にある手を撮影することができる。カメラ1で撮影された画像はコントロールボックス4内のマーカ検出部41で画像処理されて、第1マーカ111と第2マーカ112とが検出される。この処理は演算器40でソフトウェア処理してもよい。
【0021】
これらマーカが特定の色をしている場合は、色抽出処理でマーカを検出することができる。これらマーカの輝度が特に高い場合は、高輝度値の領域を抽出することでマーカを検出することができる。例えば、各マーカとしてコーナキューブを装着するならば、反射光による高輝度領域を検出することでマーカ検出することができる。特に、カメラ1の近傍に、撮影画角11に向けて照明する照明機器を設けると、上記コーナキューブでの光の反射が確実になり、高輝度を維持しやすくなる。また、上記照明機器が使用者にとってまぶしい場合は、近赤外照明とし、カメラ1も近赤外域に感度を有するものとすることができる。
【0022】
図1(B)はカメラ1の概念図である。撮影画角11は3次元空間である。この空間内の手などの物体はレンズ1Lで結像されて、フォトセンサ11S上で2次元の像になる。この結像する面内にマーカ検出領域11Dを設定してマーカの検出処理が行われる。
【0023】
表示部2は使用者頭部側方に設けられている。そして、表示部2の表示画像は、図17を参照しながら後記するように、ミラー16Aと16Bとプリズム16Cとによって使用者の顔前に虚像として表示される。このように虚像として、情報機器A1に表示されるべき情報が使用者に対して表示される。そして表示画面内にはカーソル22が表示される範囲として、表示領域21が設定されている。
【0024】
すなわち、第1実施形態の頭部装着型情報機器を装着した使用者が、カメラ1の撮影画角11内で、第1マーカ111を装着した手を所定の位置へ移動させると、これがマーカ検出領域11Dで2次元の位置情報となる。これがさらに、表示領域21内のカーソル表示位置211にスケール変換され、ここにカーソル22が表示される。表示領域21は上述のとおり、表示部2が出力する虚像であって、使用者の顔前に表示される。
【0025】
以上説明したように、同頭部装着型情報機器A1では、カメラ1と第1マーカ111との相対的な位置関係により表示領域21におけるカーソル22の位置が決まる。したがって、使用者が無意識に頭部を動かすと、これに伴ってカメラ1もパンニング若しくはチルティングする。そして、カメラ1と第1マーカ111との相対的位置関係が変わることにより、カーソル22が意図せずに移動することになる。
【0026】
これを防ぐために、図1(D)に示す処理フローにより、カーソル22が使用者の意思に反して移動することを防止している。ここに示す処理は、毎秒何度も繰り返し実施されることが好ましい処理である。まず、ジャイロセンサ3の出力からカメラ1が回転しているか否かを判断する〔ステップ1(STP1)〕。回転が検出された場合は‘真’分岐して、カーソル位置を更新せずこの処理を終了する。カメラが回転しているときは、第1マーカ111の位置が使用者の意思で移動しているのではないからである。
【0027】
このようにカーソル更新処理を終了した後は再び同処理フローを開始し、カメラの回転の有無に基づいて分岐判断をする〔ステップ1(STP1)〕。カメラの回転が検出されなければ‘偽’分岐してマーカ検出処理を行う〔ステップ2(STP2)〕。ここでは、第1マーカ111と第2マーカ112とが検出される場合、いずれも検出されない場合、いずれか一方が検出される場合が生じ得る。
【0028】
そこで、条件1に基づいて判断をして分岐する〔ステップ3(STP3)〕。条件1は、第1マーカ111が未検出または、第2マーカ112が検出されることである。条件1が満たされていれば‘真’分岐してカーソル更新をせずに一連の処理を終了する。第1マーカ111が検出できなければカーソルを更新できないからである。また、第2マーカ112が検出されたということは、使用者による、カーソルを更新しないという意思表示だからである。一方、条件1を満たさない場合は、‘偽’分岐してカーソル位置211を更新して〔ステップ4(STP4)〕、一連の処理を終了する。
【0029】
ステップ3(STP3)で条件1を分岐条件としたのは、使用者がカーソル表示位置211を更新しないという意思表示を、第2マーカ112をカメラ1に向けることで示せるシステムとしたからである。ここで、使用者が、カーソル表示位置211を更新する意思表示として、第1マーカ111と第2マーカ222との2つのマーカをカメラ1に向けることとすることもできる。この場合、ステップ3(STP3)の分岐条件は、「第1マーカ111と第2マーカ112とのいずれかが未検出」という条件(以下、この条件を「条件1B」と称することもある。)を適用すればよい。そうすると、第1マーカ111と第2マーカ112のいずれもがカメラ1に向いていて、マーカ検出部41がこれら2つのマーカを検出した時のみカーソル表示位置211の更新が可能となる。カーソル表示位置211を更新したくない時、使用者は第2マーカ112をカメラ1の向きからそらして、見えなくすればよい。
【0030】
〔マーカ検出領域と表示領域との関係〕
次に図2を参照して、マーカ検出領域11Dと表示領域21との関係を説明する。図2(A)はフォトセンサ11S上に設定されているマーカ検出領域11Dを表している。上述したように、これは2次元の輝度情報である。色情報を含んでいても良い。
【0031】
図2(A)に示されるマーカ検出領域11Dはフォトセンサ11Sのセンサ面上に定められる領域である。撮影画角11内に存する点は、レンズ1L〔図1(B)参照〕の作用でマーカ検出領域11D内に点として結像する。ここで、マーカ検出領域11D内に検出原点D0を定める。そして、検出原点D0を始点とする2つの単位ベクトルとして、検出第1単位ベクトルDV1と、検出第2単位ベクトルDV2とを定める。検出第1単位ベクトルDV1と、検出第2単位ベクトルDV2とは、異なる方向を持つので、フォトセンサ11Sのセンサ面上の任意の位置は、これら2つのベクトルの線形結合で表すことができる。また、検出第1単位ベクトルDV1と検出第2単位ベクトルDV2とは、90度の角度を成す必要性はなく、フォトセンサ11Sの素子の並びに合わせればよい。
【0032】
検出領域内11Dはレンズ1Lの結像面なので撮影画角11内に存する手の像が写り得る。しかし、ここで重要なのは、第1マーカ111の位置なので、上述の色情報処理若しくは輝度情報処理で第1マーカ111の像のみが検出されているとして説明を進める。また、厳密にはここに表れるのは第1マーカ111自体ではなく像であるが、同じ符号で表す。第1マーカ111の位置は、検出原点D0を始点とする位置ベクトルPDで表される。位置ベクトルPDは、検出第1単位ベクトルDV1と、検出第2単位ベクトルDV2とを使って、PD=CM1・DV1+CM2・DV2と表される。ここで、CM1とCM2とは、それぞれ、検出第1単位ベクトルDV1と検出第2単位ベクトルDV2とのベクトル成分である。
【0033】
一方、図2(B)は表示部2に表示されるカーソルの存在範囲を表す、表示領域21を説明する図である。上述のとおり、使用者が視認するのはこれ自体ではなく、ミラーとプリズムで生成される虚像である。表示領域21には、検出原点D0にある像を表示させる位置が定められ、これをカーソル原点COと称することとする。2次元平面である表示領域21内の任意の位置は、カーソル原点COを始点とする2つの単位ベクトルの線形結合で決めることができる。単位ベクトルの1つであるカーソル第1単位ベクトルCV1は、カーソル原点COを始点とし、表示部2の表示面上の1点を終点とするベクトルである。もう1つの単位ベクトルであるカーソル第2単位ベクトルCV2は、カーソル原点COを始点とし、表示部2の表示面上の他の点を終点とするベクトルである。
【0034】
ここで、マーカ検出領域11D内の位置と表示領域21内の位置とを対応付けるために、検出第1単位ベクトルDV1の成分CM1に、第1係数MG1を乗じて、カーソル第1単位ベクトルCV1の第1表示成分CCM1とする。同様に、検出第2単位ベクトルDV2の成分CM2に、第2係数MG2を乗じて、カーソル第2単位ベクトルCV2の第2表示成分CCM2とする。第1係数MG1と第2係数MG2とは、フォトセンサ11S上で結像する像を如何なる倍率で表示するかに関わる定数であるので、頭部装着型情報機器A1の設計に合わせて決めればよい。
【0035】
すなわち、マーク検出領域11D内で検出される第1マーカ111の移動量を、使用者にとって使いやすい表示領域21内でのカーソル22の移動量にスケールアップ若しくはスケールダウンするスケール変換の係数を適切に設計するのである。
【0036】
マーカ検出領域11D内の位置ベクトルPDで表される位置に第1マーカ111が検出された場合、表示領域21内での位置は次のようになる。カーソル原点COを始点として、表示領域21内での位置を表す位置ベクトルをPCとすれば、PC=CCM1・CV1+CCM2・CV2である。ここで、CCM1はカーソル第1単位ベクトルCV1の成分で、CCM2はカーソル第2単位ベクトルCV2の成分である。そして、CCM1とCCM2とはそれぞれ、CM1とCM2とに、第1係数MG1と第2係数MG2とを乗じたものである。すなわち、CCM1=CM1・MG1、CCM2=CM2・MG2である。このようにして、マーカ検出領域11D内の位置が表示領域21内の位置に変換され、第1マーカ111の検出位置が変換された位置がカーソル表示位置211であり、ここにカーソル22が表示される。
【0037】
〔機器構成〕
次に図3を参照して、第1実施形態の頭部装着型情報機器A1の機器構成を説明する。頭部装着型情報機器A1は、カメラ1と表示部2とジャイロセンサ3とコントロールボックス4とを有する。コントロールボックス4には演算器40とこれが使用するメモリ444とが収められている。演算器40には、ハードウェアとしての、マーカ検出部41と座標変換部42とカーソル重畳部43を備えていてもよいし、これらをソフトウェア処理するのでもよい。演算器40はカメラ1の画像を処理してマーカ検出部41でマーカを検出し、第1マーカ111のマーカ検出領域11Dでの検出位置を表示領域21内の位置に変換してカーソル表示位置211として求める。そして、カーソル重畳部43にて、頭部装着型情報機器A1が表示すべき画面にカーソル22を重畳し、表示部2に表示する。
【0038】
ジャイロセンサ3はカメラ1の左右方向と上下方向の回転の有無を検出する。カメラが回転している場合は、カーソル22が使用者の意図に反して移動している虞があるので、カーソルの移動すなわち更新を停止する。カーソル22はジャイロセンサ3がカメラ1の回転を検出する直前の位置を維持することとなる。また、マーカ検出部41で第2マーカ112が検出された時にもカーソルの更新を行わない。カーソル22の位置を更新しないという使用者の意思表示だからである。
【0039】
〔マーカについて〕
次に図4を参照して、第1マーカ111や第2マーカ112等のマーカの説明をする。これらのマーカは使用者がカーソル22を操作しようとする手に装着される。ここでは右手を例として説明する。図4(A)は右手の概念図である。人差し指の先端から付け根にかけて第1関節と第2関節、第3関節とがある。
【0040】
図4(B)と(C)に表されているように、第1マーカ111は使用者の人差し指先端に付された指先ミラーである。更にこのミラーをコーナキューブとすることにより、カメラ1の近傍に備えられた照明光の光を効率的にカメラ1方向へ反射する。反射により第1マーカ111の部分が特に明るくなるので、高輝度位置を探す画像処理によって安定的に検出することができる。または、第1関節付近又は第1関節表面にミラーを付けて第1マーカ111Cとしてもよい。このように、指先から離れたところにマーカを付すことにより、使用者が指先を使っての作業を行いやすくなる。尚、第1マーカ111は人差し指に限らず、中指や薬指、小指に装着することも可能である。
【0041】
また、図4(C)に示すように手の甲には第2マーカ112が装着されている。これは甲ミラーである。これもコーナキューブといったミラーで構成することができる。図4(B)には、この第2マーカ112は現れていない。このように、第2マーカ112は手の姿勢により表示したり隠したりすることができる。既に説明したように、使用者がカーソル表示位置211を更新したくないという意思表示のために第2マーカ112を表示することができる。
【0042】
ただし、先述のように処理フローの条件分岐で「条件1」の代わりに「条件1B」を適用するならば、使用者が第2マーカ112をカメラ1に向けることでカーソル表示位置211を更新可能とし、第2マーカ112をカメラ1から隠すことでカーソル表示位置211を更新しないという意表示が可能な情報機器にもし得る。
【0043】
また、図4(B)と(C)とに表されているように、使用者の親指に親指マーカ113を装着してもよい。これは親指ミラーである。これもコーナキューブといったミラーで構成される。マーカ検出部41において、第1マーカ111又は111C、第2マーカ112及び、親指マーカ113を安定的に区別して検出するために、それぞれのマーカの色を変えたり、多角形の角の数を変えたり、ミラー面積や光の波長ごとの反射率を変えるなどをすることができる。
【0044】
親指マーカ113のマーカ検出領域11D内の検出位置に対応させて、親指カーソル221を表示領域21内に表示してもよい。親指マーカ113は表示領域21内に表示されているアイコンを選択したり、アイコンの位置を移動させたりするのに使用する。詳細は後記する。
【0045】
図5は、マーカ検出部41におけるマーカ検出処理を説明する図である。(A1)はカメラ1による取得画像である。輝度しきい値を設けて高輝度の部分を抽出する。更に、抽出対象に面積の範囲を設けることでより安定的にマーカ検出が可能である。(A2)は第1マーカ111と親指マーカ113とが検出された例である。このようにして、マーカ検出領域11Dにおける第1マーカ111と親指マーカ113の位置が決まる。
【0046】
図5(B1)もカメラ1による取得画像である。手の姿勢が先のものと異なり、手の甲に第2マーカ112が装着されているのが見える。(B2)はこれを画像処理した例である。この画像に基づいて、マーカ検出部41は第2マーカ112を検出することができる。
【0047】
図5(C1)(D1)はそれぞれ、人差し指と親指とを接触させた動作について、カメラ1で取得した画像である。そして、図5(C2)(D2)はそれぞれ、これらの高輝度領域を抽出した図である。図5(C2)では、人差し指先端に装着された第1マーカ111と親指マーカ113とが接触していることがわかる。また、図5(D2)では、人差し指の第1関節付近に装着された第1マーカ111Cと親指マーカ113とが接触していることがわかる。このようなマーカ同士の接触動作は、後記するアイコン選択の意思表示として用いることができる。尚、2つのマーカが離間しているか接しているかは、それぞれ検出されたマーカの位置が所定の距離以内か否かで判断すればよい。
【0048】
〔アイコンに関する動作〕
情報機器では表示画面に表されたアイコンに対する動作、たとえば、選択してこれに関連するプログラムを起動させたり、アイコンに関するメニューを表示させたり、アイコンの位置を移動させたりといった動作が可能であると便利である。以下、第1実施形態の頭部装着型情報機器A1における、アイコンに対する動作と処理について説明する。
【0049】
〔アイコンに関する動作の処理フロー〕
図6を参照して、アイコンに関する動作の処理フローを説明する。アイコンは複数あってもよいが、ここでは説明の便宜上、アイコン23を例として説明する。また、ここでの様々な判断処理は演算器40で行われる。そして、カーソル更新をするために、マーカ検出部41は常時カメラ1の画像を処理して、第1マーカ111と親指マーカ113の有無とその位置と、第2マーカの有無とを把握している。
【0050】
そのうえでまず、カーソル22がアイコン23上にあるか否かが判断され〔ステップ11(STP11)〕、アイコン23上に無ければ‘偽’分岐して一連の処理を終了する。ただしこの処理フローは、頭部装着型情報機器A1が使用されている間は、再び開始される。再びステップ11で判断され、カーソル22がアイコン23上にあれば、‘真’分岐して条件2の判定をする〔ステップ12(STP12)〕。条件2とは、第1マーカ111と親指マーカ113とが検出され、かつ両者が接触していることである。両者の接触は、図5(C2)と(D2)の処理画像から判断することができる。条件2を満たさぬ場合は‘偽’分岐して一連の処理を終了する。満たす場合は次ステップ13(STP13)へ’真’分岐する。
【0051】
ステップ13(STP13)では第1マーカ111と親指マーカ113との動作を解析して、つまみ動作及び、クリック動作、Wクリック動作に動作分類し、各動作に対応するフラグをセットする。つまみ動作及び、クリック動作、Wクリック動作に対応するフラグはそれぞれ、つまみF、クリックF、WクリックFである。フラグは1ビットメモリであり、論理判断の真偽の結果を記憶するものである。
【0052】
ステップ14(STP14)ではつまみFに基づいて分岐する。つまみFがセットされていれば‘真’分岐して、つまみ動作処理〔ステップ15(STP15)〕を実施後に一連の処理を終了する。一方、つまみFがセットされていなければ、ステップ16(STP16)へ‘偽’分岐する。
【0053】
ステップ16(STP16)ではクリックFに基づいて分岐する。クリックFがセットされていれば‘真’分岐してクリック動作処理〔ステップ17(STP17)〕を実施後に一連の処理を終了する。一方、クリックFがセットされていなければ、ステップ18(STP18)へ‘偽’分岐する。
【0054】
ステップ18(STP18)ではWクリックFに基づいて分岐する。WクリックFがセットされていれば‘真’分岐してWクリック動作処理〔ステップ19(STP19)〕を実施後に一連の処理を終了する。一方、WクリックFがセットされていなければ、‘偽’分岐して一連の処理を終了する。
【0055】
次に各処理の具体的な内容を説明する。図7に示すように、つまみ動作処理とはアイコン23上にカーソル22があるときに、第1マーカ111と親指マーカ113とを接触させる。そして、これらのマーカの状態を維持しつつ、カーソル22を所望の位置まで移動させる。すると、アイコン23はカーソル22と共に移動する。第1マーカ111と親指マーカ113との接触状態を解消すると、カーソル22の動きにアイコン23は追従しなくなる。上述したように、カーソル22の位置は、マーカ検出領域21における第1マーカ111の位置で決まる。尚、親指マーカ113の検出位置に基づいて、表示領域21内に親指カーソル221を表示してもよい。図7において、破線で示した右手は、説明の便宜上示したものであって使用者には見えない。
【0056】
図8は、クリック動作を説明する図である。アイコン23上にカーソル22を置き、クリック動作すると、アイコン23に関する説明若しくはメニューが現れる〔図8(A)〕。そこで表れたメニューの1つを選択し、再びクリックするとメニュー表示は消える。後記するWクリックをするとそのメニューに関連するプログラムが起動される。
【0057】
〔ステップ13(STP13)の人差し指と親指の動作解析〕
図9を参照して、ステップ13(STP13)における、第1マーカ111と親指マーカ113との動作解析の詳細を説明する。これに先立ち、カメラ1が取得する画像について確認する。この画像はいわゆる動画像であって、毎秒10枚~30枚程度の静止画像を一定間隔で取得される。そして、必要に応じてメモリ444に保存される。毎秒の取得枚数はカメラ1の仕様で決まるのであらかじめ決まっている。これらの静止画像をフレームと呼ぶこともある。時間的に前後するフレームからそれぞれ、第1マーカ111を抽出し、先のフレームにおける位置を始点とし、続くフレームにおける位置を終点としてベクトルを形成できる。このベクトルは、2フレーム間における第1マーカ111の移動量と移動方向及び向きを表すベクトルである。
【0058】
図9の処理フローにおいて、まず、クリックF、WクリックF、つまみFをリセットする〔ステップ21(STP21)〕。1.5秒の間に取得した、数十枚のフレームから第1マーカ111と親指マーカ113とを抽出する〔ステップ22(STP22)〕。フレームの中で、最初に第1マーカ111と親指マーカ113とが接しているフレームを1STフレームとして特定する〔ステップ23(STP23)〕。フレームの中で、最後に第1マーカ111と親指マーカ113とが接しているフレームをLastフレームとして特定する〔ステップ24(STP24)〕。
【0059】
次いで、条件3の判定に基づいて分岐する〔ステップ25(STP25)〕。条件3とは、1STフレームからLastフレームまでのフレーム数が、この対象となっているフレーム数の80%以上を占めることである。条件3を満たさない場合は‘偽’分岐して一連の処理を終了する。これにより、クリックFと、WクリックFと、つまみFとは全てリセット状態のままとなる。これはたまたま1フレームだけ両マーカが接触して見えたという状況を排して誤作動を防止する効果がある。
【0060】
条件3を満たす場合は、‘真’分岐して条件4に基づく判定をする〔ステップ26(STP26)〕。条件4は、フレームの取得時間の順序において、1STフレームとLastフレームとの間に取得されたフレームの中で、第1マーカ111と親指マーカ113とが離間したフレームが存在することである。条件4を満たさなければ‘偽’分岐して、つまみFをセット〔ステップ27(STP27)〕した後に一連の処理を終了する。
【0061】
条件4を満たす場合は‘真’分岐して、条件5に基づく判定をする〔ステップ28(STP28)〕。条件5は、フレームの取得時間の順序において、両マーカが離間している最初のフレーム最後のフレームとの間に取得されたフレームの中に、両マーカが接しているフレームが存在することである。条件5を満たさなければ‘偽’分岐してクリックFをセット〔ステップ29(STP29)〕した後に一連の処理を終了する。条件5を満たす場合は‘真’分岐してWクリックFをセット〔ステップ30(STP30)〕した後に一連の処理を終了する。
【0062】
以上が、第1マーカ111と親指マーカ113との動作解析処理のフローである。ステッム13(STP13)にてこの処理を実行した後は、動作に応じたフラグがセットされている。ここで、上記の条件3と、条件4及び条件5の意味を説明する。
【0063】
条件3は、1.5秒という期間の80%にあたる、1.2秒にも満たない接触動作は無視するという条件である。この場合はいずれのフラグもセットされずに一連の処理を終了する〔ステップ25(STP25)〕。
【0064】
条件4は、両マーカが最初に接してから最後に離間するまでの間に離間した期間があったという条件である。これは、つまみ動作ではないという条件である。これを裏返せば、1.2秒以上両マーカを接触させていればつまみ動作として処理されるということである。この場合はつまみFがセットされる〔ステップ27(STP27)〕。
【0065】
つまみ動作でない場合は、クリック動作なのかWクリック動作なのかを条件5で判定する。条件5は両マーカが離間している間に一度も接触していないかを判定している。1回も接触していなければクリック動作と判定してクリックFをセットする〔ステップ29(STP29)〕。これは、親指と人差し指をと短時間に2回合わせる動作である。1回以上接している場合は、親指と人差し指をと短時間に3回以上合わせる動作であり、Wクリックと判定してWクリックFをセットする〔ステップ30(STP30)〕。
【0066】
以上が、第1実施形態の頭部装着型情報機器A1である。タッチパネル機器やマウスといったポインティングデバイス等の機器類を手元に置かずとも、情報機器を用いてマニュアル等の情報にアクセスできる。しかも、使用者が頭部を動かしてもカーソルが不用意に移動しないという効果がある。
【0067】
〔第2実施形態〕
次に本発明に基づく第2実施形態を説明する。第2実施形態の頭部装着型情報機器A2の機器構成は第1実施形態と同様である。しかし、第1実施形態と第2実施形態とは、カーソル更新が中断した後の復帰の方法が異なる。第1実施形態では、図1(D)に示される処理フローが繰り返し実行されるため、カメラ1の回転が検出されず、第2マーカ112が検出されない状態になれば、カーソル更新が可能で、つまみ動作、クリック動作、Wクリック動作も可能である。しかし、第2実施形態では、一旦、カーソル更新が不能になると所定の手続きをしなければカーソル更新やクリック動作等の動作を実行することができない。
【0068】
〔動作概要〕
図10を参照して、第2実施形態の頭部装着型情報機器A2の動作概要を説明する。ジャイロセンサ3がカメラ1の回転を検出したり、マーカ検出部41によって第1マーカ111が検出されなかったり、第2マーカ112が検出されたりした場合には、図10(A)に示すように、それまでカーソル22が表示されていた場所に、フリーズマーク24(以後、Fマーク24とも表す。)が表示される。そして、使用者の指先に装着された第1マーカ111が検出された位置に応じて、表示領域21内にはフリーズカーソル25(以後、FC25とも表す。)が表示されるようになっている〔図10(B)〕。使用者が指先を動かすことにより、FC25の位置を自由に変えることができる。そして、FC25をFマーク24に重ねると、Fマーク24が消去され、FC25はカーソル22に置き換わる〔図10(C)〕。以後の動作は第1実施形態の頭部装着型情報機器A1と同様である。尚、使用者にとって区別しやすくするように、Fマーク24と、カーソル22とは外観上区別し得るように、形状や表示面積若しくは色彩に差異があることが好ましい。また、FC25と、カーソル22とも外観上区別し得るように、形状や表示面積若しくは色彩に差異があることが好ましい。
【0069】
図11を参照して、第2実施形態の頭部装着型情報機器A2の処理フローを説明する。ここに示す一連の処理は演算器40で実行される。しかし、「開始」から何度も繰り返されるのではない。原則として、頭部装着型情報機器A2使用開始時に開始され、使用終了時に終了する。使用中は、ステップ31(STP31)を最初に1回実行してスリープモードを解除した後、ステップ34(STP34)からステップ40(STP40)までを繰り返し実行する。頭部装着型情報機器A2の電源が切られたりするなどの終了条件が満たされると一連の処理を終了する〔ステップ40(STP40)〕。終了条件とは、使用者によって同情報機器A2の終了操作が行われたり、電源が切られたりすることである。
【0070】
頭部装着型情報機器A2の電源が投入されると表示領域21内に予め定められている初期カーソル位置に、フリーズマーク24(以後、Fマークと表す。)を表示する。そしてフリーズフラグ(以下、FFと表す。)をセットする〔ステップ31(STP31)〕。Fマーク24は同情報機器A2がフリーズモードであり、通常の動作をさせるには所定の手続きが必要であることを示している。フリーズモードであることを使用者に示すために、Fマーク24と、カーソル22とは外観上区別し得ることが好ましい。そしてFFは1ビットメモリであり、セット状態でフリーズモードであることを表し、リセット状態でフリーズモードが解除された状態であることを表す。
【0071】
この一連の処理の開始時はFFがセットされているのでこれをリセットする必要がある。そこで、FFリセットルーチンを実行する〔ステップ32(STP32〕。FFリセットルーチンの内容は後記する。リセットルーチンに入るたびに、使用者はFC25を移動させ、ようやく、これをFマーク24に重ねることでFFリセット処理を完了する。したがって、1回だけFFリセットルーチン〔ステップ32(STP32)〕に入ってもFFがリセットされるわけではない。
【0072】
ステップ33(STP33)でFFがリセットされているかを判定する。リセットされていなければ‘偽’分岐して終了条件を判定する〔ステップ41(STP41)〕。終了条件を満たせば一連の処理を終了する。終了条件を満たさなければ‘偽’分岐してFFリセットルーチン〔ステップ32(STP32)〕に戻る。要するに、FFリセットされるまで、ステップ32(STP32)と、ステップ33(STP33)と、ステップ41(STP41)とを繰り返し、リセットされたならば、ステップ34(STP34)へ移行する。この時点でフリーズモードは解除され、Fマークは消去されている。ステップ41(STP41)の終了条件は、ステップ40(STP40)のリセット条件と同様である。
【0073】
フリーズモードが解除されてFFがリセットされたなら、最初にカメラ1の回転の有無がチェックされる〔ステップ34(STP34)〕。回転が検出されると‘真’分岐し、円の中に3の表記で表されている先であるステップ37(STP37)へ移行する。ここではFマークが表示され、FFがセットされる〔ステップ37(STP37)〕。つまりこれは、カメラ1の回転により、再びフリーズモードになったことを意味する。Fマークは、原則として、カーソル22のあった場所にカーソル22の代わりに表示される。フリーズモードを解除するには、ステップ32(STP32)を経て、上述した処理を繰り返す必要がある。
【0074】
カメラ1の回転が検出されなければ、ステップ34(STP34)で‘偽’分岐してマーカ検出処理が行われる〔ステップ35(STP35)〕。マーカ検出処理はマーカ検出部41の処理である。次いで、この処理に基づいて条件1の判定をする〔ステップ36(STP36)〕。条件1は、前述のとおり、第1マーカ111が未検出または第2マーカ112が検出されていることである。条件1が満たされていれば‘真’分岐して円の中に3の表記で表されている先であるステップ37(STP37)へ移行する。つまり、再びフリーズモードになる。
【0075】
条件1が満たされなければ‘偽’分岐し、第1マーカ111の検出位置に基づいてカーソル22の表示位置を更新する〔ステップ38(STP38)〕。第1マーカ111と親指マーカ113の動作に基づいて、上述したアイコンに関する処理を行う〔ステップ39(STP39)〕。その後、終了条件に基づいて分岐する〔ステップ40(STP40)〕。終了条件を満たす場合は‘真’分岐で一連の処理を終了する。一方、終了条件を満たさなければ‘偽’分岐してステップ34(STP34)へ戻る。以上説明したように、ステップ34(STP34)と、ステップ35(STP35)と、ステップ36(STP36)と、ステップ38(STP38)と、ステップ39(STP39)と、ステップ40(STP40)とを経てカーソル22の位置が制御される。尚、ここでも「条件1」の代わりに「条件1B」を適用することで第2マーカ112の役割を変えることができる。
【0076】
次に図12を参照して、FFリセットルーチンの内容を説明する。これは表示領域21内でカーソル22の代わりにFC25を移動させて、Fマーク24に重ねる処理である。まず、カメラ1の回転の有無に応じて分岐する〔ステップ42(STP42)〕。回転が検出された場合は‘真’分岐してリセット処理を終了する。その結果、ステップ33(STP33)を経て再び、ステップ32(STP32)のFFリセットルーチンを開始する。
【0077】
ステップ42(STP42)の条件分岐でカメラ1の回転が検出されなければ‘偽’分岐してマーカ検出処理を行う〔ステップ43(STP43)〕。マーカ検出処理はマーカ検出部41の処理である。次いで、この処理に基づいて条件1判定をする〔ステップ44(STP44)〕。条件1は、前述のとおり、第1マーカ111が未検出または第2マーカ112が検出されていることである。条件1が満たされていれば‘真’分岐して、FFリセットルーチンを終了する。
【0078】
条件1が満たされていなければ‘偽’分岐して、第1マーカ111の検出位置に基づいて表示領域21にFC25を表示する。フリーズモードなので、カーソル22ではなく、FC25の位置が更新されて表示される。FC25はやがてFマーク24と重なって、フリーズモードは解除される。これを実現するために、第1マーカ111の検出位置に応じてFC25を表示領域21に表示する〔ステップ45(STP45)〕。次いで、Fマーク24にFC25が重なっているか否かを判定する〔ステップ46(STP46)〕。両者が重なっていなければ‘偽’分岐してFFリセットルーチンを終了する。一方、両者が重なっていれば‘真’分岐してFFをリセットし、Fマーク24を消去してから〔ステップ47(STP47)〕FFリセットルーチンを終了する。以上が、FFリセットルーチンの内容である。第2実施形態によれば、フリーズモードに入る直前にカーソル22が表示されていた位置から、再びカーソル操作を開始することができる。尚、ステップ36(STP36)にて条件1Bを適用した場合は、ステップ44(STP44)にても条件1Bを適用し、第2マーカ112の意味合いを統一しなければならない。
【0079】
FC25とカーソル22とは、表示面積、形状又は色彩のいずれかに差異があって外観上識別し得る態様で表示されるのが好ましい。例えば図10では、FC25は6角の星形で、カーソル22は下向き矢印であって、表示面積と形状において外観上識別し得る態様で表されている。そのほか、FC25が濃色でカーソル22が淡色などと色彩の差異で外観上識別し得る態様で表示されていてもよい。
【0080】
〔第3実施形態:ベクトル入力型ポインティングデバイス付情報機器〕
次に図13を参照して、本発明に基づく第3実施形態の頭部装着型情報機器A3を説明する。同頭部装着型情報機器A3の機器構成は第1実施形態及び第2実施形態と同様である。しかし、マーカ検出領域11Dで検出された第1マーカ111の位置を、表示領域21内のカーソル表示位置211へ変換する方法が異なる。
【0081】
先に説明した情報機器A1とA2とは、マーカ検出領域11Dと表示領域21とが一意に対応していた。一方、第3実施形態の頭部装着型情報機器A3では、同情報機器A3の使用開始時に、表示領域21において、最初にカーソル22が表示される位置が決まっている。これをカーソル初期表示位置211Aという。そして、移動後のカーソル22の表示位置であるカーソル表示位置211は、カーソル初期表示位置211Aを始点とする表示カーソル移動ベクトル111Cの終点として決まる。
【0082】
つまり、カーソル初期表示位置211Aをカーソル原点COについての位置ベクトルPC0とし、カーソル表示位置211の位置ベクトルをPCとすると、
PC=PC0+(表示カーソル移動ベクトル111C)
と表される。この例を図13に示している。図13(C)では、表示領域21の中央にカーソル初期表示位置211Aがある。ここは位置ベクトルPC0で表される。そして、位置ベクトルPC0に、表示カーソル移動ベクトル111Cが加算されて、位置ベクトルPCが生成される。PCの終点がカーソル表示位置211であり、ここにカーソル22が表示されている。
【0083】
表示カーソル移動ベクトル111Cは、図13(B)に示す、第1マーカ積算ベクトル111Bを、表示領域21へ表示するためにスケール変換したベクトルである。後記するように、第1マーカ積算ベクトル111Bは、マーカ検出領域11D内で使用者が動かす第1マーカ111の移動方向と移動量とが積算されて決まるベクトルである。一方、表示カーソル移動ベクトル111Cは表示領域21上のカーソル22の動きを規定するベクトルである。使用者にとって使いやすいカーソル操作感度となるように、第1マーカ積算ベクトル111Bをスケールアップ若しくはスケールダウンというスケール変換をする必要がある。つまり、使用者の使いやすさを考慮して、第1マーカ積算ベクトル111Bにスケール変換かけたものが表示カーソル移動ベクトル111Cである。
【0084】
マーカ検出領域11Dの平面上に生成されるベクトルである第1マーカ積算ベクトル111Bは、検出第1単位ベクトルDV1と検出第2単位ベクトルDV2との線形結合で表される。ただし、第1実施形態及び第2実施形態の場合と異なり、ここでは単に大きさと向き方向のみに意味があるベクトルとして扱い、検出原点DOについての位置ベクトルとはみなさない。このベクトルのベクトル成分はそれぞれ、CM1とCM2とである〔図13(B)〕。
【0085】
一方、表示領域21上に生成されるベクトルである表示カーソル移動ベクトル111Cは、カーソル第1単位ベクトルCV1とカーソル第2単位ベクトルCV2との線形結合で表される。そして、この時のベクトル成分をそれぞれ、CCM1とCCM2とする。ここで、第1実施形態及び第2実施形態の場合のようにCCM1=CM1・MG1、CCM2=CM2・MG2という関係を使う。前述のとおり、第1係数MG1と第2係数MG2とは、使用者が使いやすいようにスケール変換するために設計される係数である。このようにして、第1マーカ積算ベクトル111Bから表示カーソル移動ベクトル111Cにスケール変換される。ただし、この変換は相似変換に限らず、縦横比が保たれている場合に限られない。
【0086】
次に、図13(A1)~(A3)と(B)を参照して、第1マーカ移動ベクトル111Aから第1マーカ積算ベクトル111Bが生成されるまでを説明する。図13(A1)ではマーカ検出領域11D内で、第1マーカ111を装着した手が左上から右下へ移動している。この移動に伴い、第1マーカ移動ベクトル111(ア)が検出される。(A2)では、同じ手が、右下から左上へ移動し、第1マーカ移動ベクトル111(イ)が検出される。更に、(A3)では、同じ手が、左上から右下へ移動し、第1マーカ移動ベクトル111(ウ)が検出される。
【0087】
第1マーカ移動ベクトルを次々と積算して第1マーカ積算ベクトルを形成する際に、第2マーカ112が検出された時の第1マーカ移動ベクトル111は加算しない。この場合は第1マーカ移動ベクトル111(イ)を積算しない。第2マーカ112をカメラ1に向けて検出させるのは、このときの第1マーカ移動ベクトル111を積算させないという使用者の意志表示だからである。そうすると、第1マーカ積算ベクトル111Bは図13(B)に示すように、第1マーカ移動ベクトル111A(ア)と第1マーカ移動ベクトル111A(ウ)との和になる。尚、第1マーカ移動ベクトル111Aが検出された時、ジャイロセンサ3がカメラ1のパンニング回転やチルティング回転を検出していた時も、第1マーカ積算ベクトル111Bには積算しない。
【0088】
第1マーカ積算ベクトル111Bをスケール変換した表示カーソル移動ベクトル111Cの始点をカーソル初期表示位置211Aとすれば、その終点がカーソル表示位置211であるからここに、カーソル22が表示される。このように、複数の第1マーカ移動ベクトル111Aの積算によってカーソル22の位置を制御するので、マーカ検出領域11Dを広く取れない状況でも、カーソル22の移動を制御することができる。
【0089】
次に図14を参照して、頭部装着型情報機器A3の処理フローを説明する。ここでの様々な判断処理は演算器40で行われる。ここに示す一連の処理は、演算器40で繰り返されるものではなく、原則として、頭部装着型情報機器A3使用開始時に開始され、使用終了時に終了する。使用中は、ステップ51(STP51)を最初に1回実行し、ステップ55(STP55)にて第1マーカ移動ベクトル111の始点をセットした後、ステップ56(STP56)からステップ65(STP65)までを繰り返し実行する。頭部装着型情報機器A3の電源が切られるなどの終了条件が満たされると、一連の処理を終了する〔ステップ65(STP65)〕。
【0090】
まず、第1マーカ積算ベクトル111Bをゼロクリアする。そしてカーソル初期表示位置211Aにカーソル22を表示する〔ステップ51(STP51)〕。次いで、ジャイロセンサ3の出力からカメラ1の回転の有無を判定する〔ステップ52(STP52)〕。回転が検出されると‘真’分岐して、円の中に1の表記で表されている先の終了条件判定分岐であるステップ64(STP64)へ行く。使用者が電源を切るなどの終了条件が満たされれば‘真’分岐して一連の動作を終了する。一方、終了条件が満たされなければ‘偽’分岐して再び、カメラ回転判定をする〔ステップ52(STP52)〕。
【0091】
カメラ回転が検出されなければ‘偽’分岐して、マーカ検出処理をする〔ステップ53(STP53)〕。マーカ検出処理はマーカ検出部41の処理である。次いで、この処理に基づいて条件1の判定をする〔ステップ54(STP54)〕。条件1は、前述のとおり、第1マーカ111が未検出または第2マーカ112が検出されていることである。条件1が満たされていれば‘真’分岐して、円の中に1の表記で表されている先の終了条件判定分岐であるステップ64(STP64)へ行く。そこから先の処理は上述のとおりである。
【0092】
条件1が満たされていなければ‘偽’分岐して、第1マーカ111の検出位置を第1マーカ移動ベクトル111Aの始点とする〔ステップ55(STP55)〕。次いで、再びカメラの回転判定をする〔ステップ56(STP56)〕。回転が検出されれば‘真’分岐して円の中に1の表記で表されている先である終了条件の判定をする〔ステップ64(STP64)〕。そこから先の処理は上述のとおりである。
【0093】
ステップ56(STP56)にてカメラが回転していなければ‘偽’分岐してマーカ検出処理をする〔ステップ57(STP57)〕。これはステップ53(STP53)と同様の処理である。次いで、条件1の判定をする〔ステップ58(STP58)〕。条件1を満たしていれば‘真’分岐して円の中に1の表記で表されている先の終了条件判定をする〔ステップ64(STP64)〕。条件1を満たしていなければ‘偽’分岐して新たに検出した第1マーカ111の位置を終点とし、先に検出されていた始点との間で第1マーカ移動ベクトル111Aを作成する〔ステップ59(STP59)〕。次いで、この第1マーカ移動ベクトル111Aを第1マーカ積算ベクトル111Bに積算することで、これを更新する〔ステップ60(STP60)〕。
【0094】
更新済みの第1マーカ積算ベクトルを表示領域用にスケール変換した表示カーソル移動ベクトル111Cを作成し〔ステップ61(STP61)〕、このベクトルに基づいてカーソル22を表示するカーソル表示位置211を更新する〔ステップ62(STP62)〕。
【0095】
次いで、第1マーカ移動ベクトル111Aの終点を新たな始点とし〔ステップ63(STP63)〕、円の中に2の表記で表されている先である終了条件判定をする〔ステップ65(STP65)〕。終了判定の内容はステップ64(STP64)と同様である。終了条件を満たす場合は‘真’分岐して一連の処理を終了する。終了条件を満たさない場合は‘偽’分岐してステップ56(STP56)にてカメラ1の回転判定をする。この処理フローは、カメラ回転が検出されず、条件1を満たさない場合は、ステップ56(STP56)~ステップ65(STP65)までを繰り返して、カーソル22の位置を更新していく。
【0096】
ところで、ステップ62(STP62)で、カーソル位置を更新しようとした場合に、カーソル表示位置211が表示領域21外になる場合がある。この時は、カーソル更新前後の位置を結んだ線上で表示領域21と交差する位置にカーソル22を表示すればよい。
【0097】
また、第3実施形態でも、条件1の代わりに条件1Bを適用することができる。この場合、第1マーカ111と第2マーカ112とがいずれも検出されていなければ第1マーカ積算ベクトル111Bは更新されず、カーソル表示位置211も更新されない。図13の(A1)~(A3)を例にとるならば、(A2)のみがカーソル表示位置211を更新する有効な動作であるということになる。
【0098】
以上の構成を採る頭部装着型情報機器A3は、カメラ1の撮影画角11を大きくとれなかったり、マーカ検出領域11Dを大きくとれなかったりする場合でも、大きな表示領域21に対してカーソル移動操作をすることができる。また、この構成ではカメラ1の回転によるカーソル操作の中断でカーソルがある位置で停止している場合、カメラ回転が無くなってカーソル操作が可能になった時点で、これまでカーソルが停止していた位置から操作を再開できる。したがって実施形態2のように、フリーズモードカーソルなどを設けなくてもよい。
【0099】
〔親指カーソルの表示〕
第2マーカ112の検出位置に基づいて、表示領域21に親指カーソル221を表示する場合について説明する。図15(A1)と(A2)とは、第1実施形態や第2実施形態において、カーソル22と共に親指カーソル221を表示している例である。同図(A11)と(A21)とは、それぞれ、第1マーカ111と第2マーカ112とを離間させている手の姿勢と、第1マーカ111と第2マーカ112とを接触させている手の姿勢である。
【0100】
第1実施形態と第2実施形態とでは、マーカ検出領域11Dにおける検出位置と、表示領域21における位置とが一意に対応している。そこで、第1マーカ111に対してした変換と同様の変換を、第2マーカ112の検出位置に対して行えば、親指カーソル221を表示すべき位置が決まるので、そこに親指カーソル221を表示する。
【0101】
しかし、第3実施形態の頭部装着型情報機器A3では、検出領域11Dにおける検出位置と表示領域21における表示位置とが一意に対応していないので、上記の構成をとることができない。図15(B1)と(B2)とは、第3実施形態において、カーソル22と共に親指カーソル221を表示している例である。同図(B11)と(B21)とは、それぞれ、第1マーカ111と第2マーカ112とを離間させている手の姿勢と、第1マーカ111と第2マーカ112とを接触させている手の姿勢である。
【0102】
第3実施形態で親指カーソル221を表示する場合は、表示領域21内のカーソル22から一定の距離distだけ離れた位置に親指カーソル221を表示する。第1マーカ111と第2マーカ112とが接している場合には、カーソル22に接するか極めて接近させて親指カーソル221を表示することができる。以上、親指カーソル221の表示例を説明した。
【0103】
これまでに説明した、実施形態1~3の頭部装着型情報機器では、第1マーカ111の移動方向や移動の速度を計測することができるので、移動方向に応じて画面をスクロールさせたり、切り替えたりする機能を実現することができる。
【0104】
〔第4実施形態:サーバ型〕
次に図16を参照して、本発明に基づく第4実施形態の頭部装着型情報機器4を説明する。この構成において、情報機器本体はサーバA4Sである。の頭部装着型情報機器A4は、カメラ1と、表示部2と、ジャイロセンサ3と、演算部404と、メモリ444と、通信部5とを有する。カメラ1の取得画像と、ジャイロセンサ3の出力とは、通信部5を介してサーバA4Sへ送られる。メモリ444は演算器404の演算の用に供される。
【0105】
サーバ4ASはサーバ演算器40Sと、サーバメモリ444Sと、サーバ通信部5Sとを有している。メモリ444Sはサーバ演算器40Sの演算の用に供される。サーバ演算器40Sは、サーバ通信部5Sを介してカメラ1の取得画像とジャイロセンサ3の出力を受信してこれを処理する。サーバ演算器40Sにはマーカ検出部41Sと、座標変換部42Sと、カーソル重畳部43Sとを有している。若しくはこれらの機能をソフトウェアに従った演算で実現することができる。
【0106】
マーカ検出部41Sは、カメラ1の撮影画角内に設定されたマーカ検出領域11D内で、第1マーカ111及び第2マーカ112を検出する。そして、マーカ検出領域11Dにおける第1マーカ111の検出位置に基づいて、表示部2の表示領域21内にカーソル22を表示する。しかし、第1マーカ111が検出されるときに、ジャイロセンサ3がカメラ1の回転を検出していたり、マーカ検出部41Sが第2マーカ112を検出していたりした場合には、カーソル22の表示位置211を更新しない。
【0107】
尚、カーソル重畳部43Sは、サーバA4Sが持つ情報機器本体の機能によりディスプレイに表示すべき画面に、座標変換されたカーソル22を重畳する。カーソル22が重畳された表示用画像は、サーバ演算器40Sによってサーバ通信部5Sを介して頭部装着型情報機器A4へ送られる。同情報機器A4は通信部5を介してこれを受けとって表示部2に表示する。このような構成にすると、同情報機器A4の演算器404の負担が軽くなる。これにより消費電力が低く抑えられて、同情報機器A4のバッテリを小さくできるなど、給電条件が緩和される。
【0108】
図17にヘッドマウント型の表示例を示す。図17(A)は本発明に基づく頭部装着型情報機器を、使用者の頭上から表した概念図である。一部が透明に表されている。使用者の頭部右側に表示部2の本体を装着している。表示部2から出射された表示画像は、光路LPを通ってミラー16Aと、ミラー16B及びプリズム16Cを経て使用者の目R-Eyeに到達する。この構成にして、使用者は表示部2が表示する画像を虚像として視認することができる。
【0109】
図17(B1)は、使用者が、本発明に基づく頭部装着型情報機器を装着した様子を右側から見た図である。そして、(B2)は同情報機器を使用しないときに、ミラー16Aと、ミラー16B及びプリズム16Cとが含まれている部分を頭部上方へ回し上げている状態である。このようにすると、使用者は自らの前景を直接見ることができる。
【0110】
〔第5実施形態:視点検出機能〕
第5実施形態の頭部装着型情報機器A5は、これまで説明した頭部装着型情報機器において、使用者の眼球を撮影する眼球カメラ6を追加したものである〔図18(A)〕。図18Aの頭部装着型情報機器は一部透明に表されている。そして、演算器40には、眼球カメラ6で取得した、使用者の眼球画像を解析して、使用者が表示領域21のどこに視点61を置いているのかを検出する機能が含まれている。この機能を実現するのは視点検出部44である。視点検出部44は演算器40に電子回路として組み込まれていてもよいが、ソフトウェアで実現されているものでもよい。また、実施形態4のようなサーバA4Sを有する場合は、前記眼球画像を通信部5とサーバ通信部5Sとを介して、サーバ演算器40Sへ送り、ここで視点検出をさせてもよい。
【0111】
ここで、図19を参照して視点計測処理について説明する。視点検出部44は眼球カメラ6が取得する眼球画像から使用者の視線を検出するものである。より具体的には、使用者の視線と表示部2の表面とが交差する場所である視点61の同表示部2の表面における座標を検出するものである。第5実施形態においては、眼球画像から使用者の瞳の位置を検出する。眼球画像とは、例えば、図19(B2)に示す画像である。瞳の位置は輝度に基づいて検出する。瞳の検出を安定化するために、眼球に近赤外照明を当ててもよい。この場合、眼球カメラ6は近赤外線領域に感度の高いカメラを用いる。
【0112】
そして、視点検出に先立ち、図19(A1)と(A2)とに示されるキャリブレーション動作が必要である。表示部2の表示面である領事領域21内の所定の位置には、キャリブレーション点Q1と、Q2、Q3、Q4が表示されている〔図19(A2)〕。同情報端末A5を装着した使用者はこれらの指定されたキャリブレーション点を目で追う。この時の眼球画像における瞳の位置E1とE2とE3とE4とが、視点検出部44によって記録される。これは、表示領域21における視点61の位置と、その時の眼球画像における瞳の位置との対応付けを行うことが目的である。
【0113】
この対応付けができたなら、例えば、図19(B2)ア)に示す右目眼球画像から、同じ行の(B3)のように瞳の位置E1が検出されると、視点61はキャリブレーション点P1上にあると判断される。ここで、使用者の視認する表示部2の表面である表示領域21が表示する向きと、眼球カメラが瞳を撮影する向きとは、ほぼ逆向きゆえに左右逆転していることに注意する。(B3)アイウエのいずれにも一致しない位置に瞳を検出した場合には、(B1)のキャリブレーション点アイウエの位置から内そう又は外そうして視点61の座標を検出する。以上が、視点検出部44の処理である。
【0114】
再び図18に戻る。図18(B2)は第1マーカ111と親指マーカ113とを装着した使用者の手であって、両マーカを離間した姿勢を表している。そして、図18(B1)はこのときの表示領域21であって、カーソル22と親指カーソル221とが表示されている。そして、使用者がカーソル22と親指カーソル221との間を見つめて視点61を置いている。この視点61は必ずしも表示領域21に表示しなくてもよい。しかし、演算器40またはサーバ演算器40Sは、表示領域21におけるカーソル22と、これから離間した親指カーソル221と、カーソル22と親指カーソル221との間に位置する視点61との位置関係が成立していることを把握できる。このような場合に演算器40またはサーバ演算器40Sは表示領域21に表示される画像を拡大表示若しくは縮小表示させることができる。
【0115】
また、図18(C2)は第1マーカ111と親指マーカ113とを装着した使用者の手であって、両マーカを接触させた姿勢を表している。そして、図18(C1)はこのときの表示領域21であって、カーソル22とこれに接した親指カーソル221とが表示されている。そして、使用者がカーソル22と親指カーソル221とを見つめて視点61を置いている。この視点61は必ずしも表示領域21に表示しなくてもよい。しかし、演算器40またはサーバ演算器40Sは、表示領域21におけるカーソル22と、これに接した親指カーソル221と、カーソル22と親指カーソル221と接点に位置する視点61との位置関係が成立していることを把握できる。このような場合に演算器40またはサーバ演算器40Sは表示領域21に表示される画像を縮小表示若しくは拡大表示させることができる。
【0116】
このように、指先の姿勢に視点61の置き場所を加えて使用者の意思を演算器40またはサーバ演算器40Sに伝えることとすることによって、同情報機器の誤操作を防止することができる。
【符号の説明】
【0117】
A1・・・第1実施形態の頭部装着型情報機器、
A2・・・第2実施形態の頭部装着型情報機器、
A3・・・第3実施形態の頭部装着型情報機器、
A4・・・第4実施形態の頭部装着型情報機器、
A5・・・第5実施形態の頭部装着型情報機器、
A1f・・・メガネ状つる、A4S・・・サーバ、1・・・カメラ、1L・・・レンズ、
11・・・撮影画角、11S・・・フォトセンサ、11D・・・マーカ検出領域、
111,111C・・・第1マーカ、111A・・・第1マーカ移動ベクトル、
111B・・・第1マーカ積算ベクトル、112・・・第2マーカ、
113・・・親指マーカ、16A,16B・・・ミラー、16C・・・プリズム、
2・・・表示部、21・・・表示領域、211・・・カーソル表示位置、
211A・・・カーソル初期表示位置、22・・・カーソル、
221・・・親指カーソル、23・・・アイコン、24・・・フリーズマーク、
25・・・フリーズカーソル、3・・・ジャイロセンサ、
4・・・コントロールボックス、40,404・・・演算器、444・・・メモリ、
444S・・・サーバメモリ、40S・・・サーバ演算器、
41・・・マーカ検出部、42・・・座標変換部、43・・・カーソル重畳部、
44・・・視点検出部、5,5S・・・通信部、6・・・眼球カメラ、61・・・視点、
D0・・・検出原点、DV1・・・検出第1単位ベクトル、
DV2・・・検出第2単位ベクトル、C0・・・カーソル原点、
CV1・・・カーソル第1単位ベクトル、CV2・・・カーソル第2単位ベクトル、
E1,E2,E3,E4・・・瞳の位置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19