特許第6971788号(P6971788)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ シャープ株式会社の特許一覧

特許6971788画面表示制御方法および画面表示制御システム
<>
  • 特許6971788-画面表示制御方法および画面表示制御システム 図000006
  • 特許6971788-画面表示制御方法および画面表示制御システム 図000007
  • 特許6971788-画面表示制御方法および画面表示制御システム 図000008
  • 特許6971788-画面表示制御方法および画面表示制御システム 図000009
  • 特許6971788-画面表示制御方法および画面表示制御システム 図000010
  • 特許6971788-画面表示制御方法および画面表示制御システム 図000011
  • 特許6971788-画面表示制御方法および画面表示制御システム 図000012
  • 特許6971788-画面表示制御方法および画面表示制御システム 図000013
  • 特許6971788-画面表示制御方法および画面表示制御システム 図000014
  • 特許6971788-画面表示制御方法および画面表示制御システム 図000015
  • 特許6971788-画面表示制御方法および画面表示制御システム 図000016
  • 特許6971788-画面表示制御方法および画面表示制御システム 図000017
  • 特許6971788-画面表示制御方法および画面表示制御システム 図000018
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6971788
(24)【登録日】2021年11月5日
(45)【発行日】2021年11月24日
(54)【発明の名称】画面表示制御方法および画面表示制御システム
(51)【国際特許分類】
   G06F 3/0346 20130101AFI20211111BHJP
   G06F 3/01 20060101ALI20211111BHJP
【FI】
   G06F3/0346 422
   G06F3/01 570
【請求項の数】14
【全頁数】25
(21)【出願番号】特願2017-216380(P2017-216380)
(22)【出願日】2017年11月9日
(65)【公開番号】特開2019-87136(P2019-87136A)
(43)【公開日】2019年6月6日
【審査請求日】2020年9月17日
(73)【特許権者】
【識別番号】000005049
【氏名又は名称】シャープ株式会社
(74)【代理人】
【識別番号】100065248
【弁理士】
【氏名又は名称】野河 信太郎
(74)【代理人】
【識別番号】100159385
【弁理士】
【氏名又は名称】甲斐 伸二
(74)【代理人】
【識別番号】100163407
【弁理士】
【氏名又は名称】金子 裕輔
(74)【代理人】
【識別番号】100166936
【弁理士】
【氏名又は名称】稲本 潔
(74)【代理人】
【識別番号】100174883
【弁理士】
【氏名又は名称】冨田 雅己
(72)【発明者】
【氏名】村上 義則
【審査官】 酒井 優一
(56)【参考文献】
【文献】 欧州特許出願公開第03082017(EP,A1)
【文献】 米国特許出願公開第2016/0170603(US,A1)
【文献】 特開2016−167311(JP,A)
【文献】 特開2001−306243(JP,A)
【文献】 特開2009−265809(JP,A)
【文献】 国際公開第2012/144145(WO,A1)
【文献】 特開2008−033389(JP,A)
【文献】 特開2006−004397(JP,A)
【文献】 特開2002−209082(JP,A)
【文献】 特開2009−169518(JP,A)
【文献】 特開2010−085554(JP,A)
【文献】 特開平08−241280(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/0346
G06F 3/01
(57)【特許請求の範囲】
【請求項1】
矩形状の枠および表示域を有するディスプレイを共に見る複数の操作者のそれぞれの頭部に装着され画像を撮影するウェアラブル端末を用いて、そのディスプレイを操作者が指し示す手の部分をその操作者が装着するウェアラブル端末で撮影し、
コンピュータを用いて、ウェアラブル端末の撮影画像における前記矩形枠の頂点の位置およびそのウェアラブル端末を装着する操作者の手で指し示された位置を抽出し、
抽出された頂点の位置および指し示された位置の位置関係に基づいて各ウェアラブル端末を装着した操作者の手に対応する位置が前記表示域内あるか否かを決定し、
前記位置があれば前記表示域内のその位置に第1のポインタを表示させ
第1の操作者が手を下すことによりその手が撮影画像から消えたら第1のポインタを消し、第1の操作者の後から前記ディスプレイを指し示す第2の操作者が装着する第2のウェアラブル端末の撮影画像において第2の操作者の手の位置が前記表示域内にあればその位置に第2のポインタを表示させる画面表示制御方法。
【請求項2】
前記コンピュータを用いて、前記撮影画像に映った前記操作者のジェスチャーを認識し、
認識されたジェスチャーに応じた操作を前記ポインタの位置に対してさらに行う請求項1に記載の画面表示制御方法。
【請求項3】
前記頂点の位置は、前記撮影画像に映った前記ディスプレイの表示域を示す四辺を検出し、各辺あるいは各辺を延長した直線の交点の位置から求める請求項1または2に記載の画面表示制御方法。
【請求項4】
前記指し示された位置は、前記撮影画像における肌色領域の画素の内で最上部に位置する画素の位置とする請求項1または2に記載の画面表示制御方法。
【請求項5】
前記指し示された位置は、前記撮影画像における肌色領域の画素の内で最も明るい画素の位置とする請求項1または2に記載の画像処理装置。
【請求項6】
前記表示域における肌色領域は、各画素が肌色に属するか否かの判定に基づいて抽出し、肌色に属するか否かの判定に用いる閾値は、前記表示域に表示された内容に含まれる色成分の構成に応じて変更する請求項4または5に記載の画面表示制御方法。
【請求項7】
前記表示域における肌色領域は、各画素が肌色に属するか否かの判定に基づいて抽出し、隣り合う画素が肌色に属する領域のうちで最も大きい領域を前記肌色領域とする請求項4または5に記載の画面表示制御方法。
【請求項8】
前記指し示された位置に対応して決定された位置が前記表示域の外にある場合表示されているポインタを消去する請求項1または2に記載の画面表示制御方法。
【請求項9】
前記指し示された位置に対応するポインタの位置は、前記頂点の位置が矩形になるように前記撮影画像における前記頂点の位置および指し示された位置に射影変換を適用し、前記表示域に指先が投影される位置として決定する請求項1または2に記載の画面表示制御方法。
【請求項10】
前記コンピュータは、複数の操作者の頭部にそれぞれ装着された複数のウェアラブル端末から、前記ディスプレイと共にそれぞれの操作者の手の部分が撮影された撮影画像を取得し、
各ウェアラブル端末からの撮影画像における前記ディスプレイの矩形枠の頂点の位置および各操作者の手の部分で指し示された位置をそれぞれ抽出し、
抽出された頂点の位置および指し示された位置の位置関係に基づいて各操作者の前記手の部分に対応する前記表示域内の位置があるか否かを決定し、
前記位置があればその位置に前記ポインタを表示させることにより、一つのポインタを各操作者が操作可能にする請求項1または2に記載の画面表示制御方法。
【請求項11】
矩形状の枠および表示域を有するディスプレイを共に見る複数の操作者のそれぞれの頭部に装着されるウェアラブル端末からそのディスプレイを前記操作者が指し示す手の部分が撮影された画像を取得する処理と、
ウェアラブル端末の撮影画像における前記矩形枠の頂点の位置およびそのウェアラブル端末を装着する操作者の手の部分で指示された位置を抽出する処理と、
抽出された頂点の位置および指し示された位置の位置関係に基づいて前記手の部分に対応する位置が前記表示域内あるか否かを決定する処理と、
第1の操作者が指し示す手の位置が前記表示域内にあればその位置に第1のポインタを表示させ、第1の操作者が手を下すことによりその手が撮影画像から消えたら第1のポインタを消し、第1の操作者の後から前記ディスプレイを指し示す第2の操作者のウェアラブル端末の撮影画像において第2の操作者の手の位置が前記表示域内にあればその位置に第2のポインタを表示させる処理と、
をコンピュータに実行させる画面表示制御プログラム。
【請求項12】
前記撮影画像に映った前記操作者のジェスチャーを認識する処理と、
認識されたジェスチャーに応じた操作を前記ポインタの位置に対して行う処理と、をさらに実行させる請求項11に記載の画面表示制御プログラム。
【請求項13】
矩形状の枠および表示域を有するディスプレイを共に見る複数の操作者のそれぞれの頭部に装着され前記ディスプレイ前記操作者が指し示す手の部分を前記ディスプレイと共に撮影する複数のウェアラブル端末と、
ウェアラブル端末の撮影画像における前記矩形枠の頂点の位置およびそのウェアラブル端末を装着する操作者の手の部分で指し示された位置を抽出し、抽出された頂点の位置および指し示された位置の位置関係に基づいて前記手の部分に対応する位置が前記表示域内あるか否かを決定し、第1の操作者が指し示す手の位置が前記表示域内にあればその位置を第1のポインタの位置とし、第1の操作者が手を下すことによりその手が撮影画像から消えたら第1のポインタの位置をとり消し、第1の操作者の後から前記ディスプレイを指し示す第2の操作者のウェアラブル端末の撮影画像において第2の操作者の手の位置が前記表示域内にあればその位置を第2のポインタの位置とするポインタ処理部と、
前記ポインタ処理部により決定された何れかのポインタの位置があればその位置にポインタを表示させる表示処理回路と、
を備える画面表示制御システム。
【請求項14】
前記撮影画像に映った前記操作者のジェスチャーを認識するジェスチャー認識部と、
認識されたジェスチャーに応じた操作を前記ポインタの位置に対して行う表示処理部をさらに備える請求項13に記載の画面表示制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、画面表示制御方法および画面表示制御システムに関し、より詳細には操作者がウェアラブル端末を装着し、ディスプレイに触れることなく遠隔でポインタを操作する技術に関する。
【背景技術】
【0002】
頭部に取り付けたセンサとカメラ画像を用いて、カメラ画像から指やマーカなどのカメラ内での座標位置を算出させ、算出された座標位置に基づいて、形状や動作を認識させる技術が知られている。
例えば、非特許文献1では、頭部に取り付けたセンサとカメラ画像を用いて指先の位置を追跡し、得られた指先の軌跡をヘッドマウントディスプレイ(HMD)に重畳表示することで指先軌跡の空中描画を実現するシステムを目指している。
この中で、頭部の姿勢の変化が補正された指先の軌跡を求めるために、カメラ画像を用いて空間位置合わせの処理を行っている。カメラ画像に対して局所特徴点(具体的にはSURFとして知られる特徴点)を抽出し、カメラ画像のフレーム間で局所特徴点の対応付けを行い、センサ情報から明らかな誤対応を除去した対応点から射影変換行列を算出している。
【0003】
また、ウェアラブル端末ではないが、組み込まれたカメラから得られる入力画像からユーザの手を検出し、検出した手が縮小された画像を生成してタッチパネルの操作画面に重ねて表示し、タッチパネル内の手画像の位置におけるタッチ操作に応じた命令を実行する電子機器が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2015−230496号公報
【非特許文献】
【0005】
【非特許文献1】田中雄規他、「カメラ画像とセンサからの頭部位置・姿勢追跡による指先軌跡の空中描画システム」、情報処理学会研究報告、2015年3月31日、Vol.2015-HCI-162 No.7
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、非特許文献1の手法では、カメラ以外にセンサを用いており、かつ、多数の局所特徴量を扱うので計算量が大きく、処理時間がかかる。
また、特許文献1のものは、オブジェクトが密集して表示されている場合に、手指で直接タッチパネルを操作するよりも小さいサイズの手画像を用いて操作することで誤操作を軽減しようとする点で、ディスプレイから離れた場所でポインタを操作するこの発明と目的および構成が異なる。
【0007】
この発明は、以上のような事情を考慮してなされたものであって、ディスプレイから離れた場所にいる操作者がその場所でポインタを操作できる手法を提供するものである。さらに、操作者の視点と操作者の頭部に装着されたウェアラブル端末による撮影の視点との間のずれが、例えば操作者の胸部や腕にウェアラブル端末が装着される場合やウェアラブ端末に代わるカメラがディスプレイや部屋の壁などに設置されている場合に比べて少なく、操作者が指し示した位置に対応してディスプレイに表示すべきポインタの位置を、少ない計算量で操作者にとって違和感がないように決定できる手法を提供するものである。
【課題を解決するための手段】
【0008】
(1)この発明は、操作者の頭部に装着され画像を撮影するウェアラブル端末を用いて、矩形状の枠および表示域を有するディスプレイと共にそのディスプレイを前記操作者が指し示す手の部分を撮影し、コンピュータを用いて、前記ウェアラブル端末の撮影画像における前記矩形枠の頂点の位置および前記手の部分で指し示された位置を抽出し、抽出された頂点の位置および指し示された位置の位置関係に基づいて前記手の部分に対応する前記表示域内の位置があるか否かを決定し、前記位置があればその位置にポインタを表示させる画面表示制御方法を提供する。
【0009】
(2)また異なる観点からこの発明は、操作者の頭部に装着されるウェアラブル端末から、矩形状の枠および表示域を有するディスプレイと共にそのディスプレイを前記操作者が指し示す手の部分が撮影された画像を取得する処理と、前記ウェアラブル端末の撮影画像における前記矩形枠の頂点の位置および前記手の部分で指示された位置を抽出する処理と、抽出された頂点の位置および指し示された位置の位置関係に基づいて前記手の部分に対応する前記表示域内の位置があるか否かを決定する処理と、前記位置があればその位置にポインタを表示させる処理と、をコンピュータに実行させる画面表示制御プログラムを提供する。
【0010】
(3)さらに異なる観点からこの発明は、矩形状の枠および表示域を有するディスプレイと、操作者の頭部に装着されかつ前記ディスプレイと共にそのディスプレイを前記操作者が指し示す手の部分を撮影するウェアラブル端末と、前記ウェアラブル端末の撮影画像における前記矩形枠の頂点の位置および前記手の部分で指し示された位置を抽出し、抽出された頂点の位置および指し示された位置の位置関係に基づいて前記手の部分に対応する前記表示域内の位置があるか否かを決定するポインタ処理部と、前記位置があればその位置にポインタを表示させる表示処理回路と、を備える画面表示制御システムを提供する。
【発明の効果】
【0011】
この発明による上記(1)の画面表示制御方法は、操作者の頭部に装着されるウェアラブル端末を用いて、前記操作者が指し示す手の部分をディスプレイと共に撮影し、コンピュータを用いて、ディスプレイの矩形枠の頂点の位置および指し示された位置の撮影画像における位置関係から前記手の部分に対応する前記表示域内の位置があるか否かを決定するので、ディスプレイから離れた場所にいる操作者がその場所でポインタを操作できる。さらに、操作者の視点とウェアラブル端末による撮影の視点との間にずれがあっても、操作者が指し示した位置に対応してディスプレイに表示すべきポインタの位置を、少ない計算量で操作者にとって違和感のないように決定できる。
【0012】
即ち、操作者の視点と前記操作者の頭部に装着されたウェアラブル端末の撮影の視点とが近くにあり、しかも、操作者の眼の方向と頭部に装着したウェアラブル端末の撮影方向とが姿勢によらず一定の関係にある。そして、操作者が手の部分で指示した位置に対応する表示域内の位置があれば、矩形枠の頂点の位置に基づいて精度よく決定できる。
上記(2)および(3)も同様の作用効果を奏する。
【図面の簡単な説明】
【0013】
図1】この実施形態における画面表示制御システムの構成を示すブロック図である。
図2】この実施形態におけるウェアラブル端末の一例を示す説明図である。
図3】この実施形態における画面表示制御の処理の流れを示すフローチャートである。
図4図3で、表示域の四頂点の座標値を算出する処理の詳細を示すフローチャートである。
図5】この実施形態において、表示域を規定する四つの線分の検出例を示す説明図である。
図6A】この実施形態において二辺の交点座標の算出手順を説明するためのグラフである。
図6B図6Aと異なる態様の二辺を示すグラフである。
図7】この実施形態における撮影画像上の位置とディスプレイの表示域上の位置との対応を示す説明図である。
図8】この実施形態において、手の部分を抽出する処理を示すフローチャートである。
図9】この実施形態において、抽出された肌色領域の一例を示す説明図である。
図10】この実施形態において、指先の位置を抽出する様子を示す説明図である。
図11】この実施形態において、表示域を規定する四つの辺のすべてが検出できなかった場合の処理を含むフローチャートである。
図12】この実施形態において、表示域の頂点の位置を算出する処理を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、図面を用いてこの発明をさらに詳述する。なお、以下の説明は、すべての点で例示であって、この発明を限定するものと解されるべきではない。
【0015】
(実施の形態1)
≪システムの構成≫
図1は、この発明の実施の一形態である画面表示制御システムの構成を示すブロック図である。図1に示す画面表示制御システムは、ディスプレイ11、コンピュータ13、ウェアラブル端末15、キーボード17およびマウス19を含んで構成されている。ウェアラブル端末15はカメラ15cを有する。
ディスプレイ11は、矩形状の表示域、即ち画面の領域を有している。そして、コンピュータ13から画像表示信号を受け取って、受け取った画像表示信号に基づいて画像の表示を行う。
キーボード17およびマウス19は、操作者の操作に応じた信号をコンピュータ13へ送る。
【0016】
会議などでは、複数の人で大型ディスプレイを見て、発言するときにディスプレイの説明したい部分をポインタで指し示したいことがある。この実施形態において、会議に参加する発言者は、図2のように、操作者頭部21の目に近い位置にウェアラブル端末15を装着する。そして、発言者がウェアラブル端末15を用いてポインタを操作する操作者になる。ウェアラブル端末15はカメラ15cを有しており、カメラ15cは映像を撮像して撮影された画像(映像データ)をコンピュータ13へ送る。この実施形態において、映像データは時間の経過に伴って逐次撮影された動画像、即ち、複数の時点に対応する一連のフレーム画像を含む映像データである。この明細書において、各フレーム画像を撮影画像ともよぶ。
ウェアラブル端末15からコンピュータ13へ映像データを送るのは、有線による通信でも構わないが、赤外線通信やBluetooth(登録商標)などの無線によるもの方が望ましい。ウェアラブル端末15は、メガネに一体化されているものでも構わないし、図2に示されるような、耳に掛けるイヤーフック型でも構わないが、操作者の目に近く、撮像方向が操作者の視線に近いのが望ましい。
【0017】
コンピュータ13は、CPUを中心として、メモリーや入出力回路、通信インターフェイス回路をハードウェア資源として備え、メモリーに格納されたプログラム(ソフトウェア)を実行することで、ハードウェアとソフトウェアが協働して処理を実行する。
コンピュータ13は、キーボード17およびマウス19から入力信号を受信し、受信した入力信号に基づいて予め定められた処理を行う。また、コンピュータ13は、キーボード17およびマウス19から受信した入力信号に応じて、あるいはその入力信号に基づいて実行された処理の結果に応じて、ディスプレイ11へ画像表示信号を送る。
さらに、コンピュータ13は、ウェアラブル端末15からの映像データを受信し、受信した映像データの各フレーム画像に対応するデータ、即ち各撮影画像に基づいて、ポインタ入力信号を生成する。ここで、ポインタ入力信号は、各撮影画像に映った発言者の手の部分をコンピュータ13が抽出する。そして、抽出された手の部分がマウス19による操作に対応した何らかの操作を指示していると判断した場合、コンピュータ13は、マウス19からの入力信号に対応する信号を生成する。これがポインタ入力信号である。
なお、ウェアラブル端末15がカメラ15cで撮影された映像データをコンピュータ13へ送信し、コンピュータ13が映像データの処理を行ってポインタ入力信号を生成すると述べたが、その処理の一部または全部をウェアラブル端末15の側で行ってもよい。即ち、ウェアラブル端末15がコンピュータを備え、コンピュータ13と協働して処理を行ってもよい。そのような態様もこの発明の範囲に含まれる。
コンピュータ13は、生成されたポインタ入力信号に基づいて、予め定められた処理を行う。また、コンピュータ13は、マウス19から入力信号を受信した場合と同様、ポインタ入力信号に応じて、あるいはそのポインタ入力信号に基づいて実行された処理の結果に応じて、ディスプレイ11へ画像表示信号を送信する。
【0018】
≪撮影画像に基づいてポインタの表示を更新する処理の概要≫
続いて、映像データの各撮影画像からポインタ入力信号を算出する処理について詳述する。
図3は、この実施形態において、各フレームに対応する撮影画像に基づいてポインタ入力信号を算出する処理の流れを示すフローチャートである。図3に示すように、コンピュータ13は、ウェアラブル端末15から送信された映像データの1フレームに対応する撮影画像を受信してメモリーに格納する(ステップS11)。撮影画像が読み込めたら(ステップS13のYes)コンピュータ13は、前に処理したフレーム画像に基づいて算出されたポインタ位置があるかどうかを調べ、算出されたポインタがあればそれをメモリーに保持しておく(ステップS15)。前のフレーム画像に基づくポインタ位置を保持しておくのは、前記ステップS11でメモリーに格納したフレーム画像に後述する処理を適用してもディスプレイ領域の四辺が抽出できなかったり撮影画像における指先位置を抽出できなかったりした場合のためである。また、単にポインタを移動させるだけでなく、ポインタの軌跡に対応した描画を行う操作に対応できるようにするためでもある。詳細は後述する。
続いてコンピュータ13は、前記ステップS11でメモリーに格納された撮影画像に対してノイズ除去処理を行う(ステップS17)。
なお、コンピュータ13は、ウェアラブル端末15から送信された映像データの1フレーム毎に図3に示す1ループの処理を行ってポインタの表示を更新してもよいが、処理負荷が大きく1フレーム毎にループ処理を行うことが難しいこともある。その場合は、画像データの複数フレーム毎に図3に示す1ループの処理を行ってもよい。処理負荷の大きさは、映像データのフレームレート(時間間隔)、各フレーム画像の画素数、ウェアラブル端末15とコンピュータ13との間の通信速度、コンピュータ13の処理能力などに依存する。
【0019】
その後、コンピュータ13は、撮影画像に映ったディスプレイ11の表示域を規定する四頂点の座標を算出する(ステップS19)。
撮影画像に映った四頂点の位置は、操作者がディスプレイ11に対して正対の位置からずれていると矩形でなくなり、例えば台形状や、台形でもない四角形状になる。操作者が自分の眼で見た位置を手指などで指し示す場合、指し示しされた位置を正確に求めるには、操作者の視点で撮影された画像が必要である。この実施形態においてウェアラブル端末15は操作者の頭部に装着されているので、カメラ15cで撮影された画像は操作者の視点と完全には一致しないものの、操作者の視点に近いものである。
そこで、コンピュータ13はカメラ15cによる撮影画像が操作者の視点から見たものであるとして、撮影画像で操作者がディスプレイ11の表示域を指し示す位置を算出する処理を行う。
【0020】
しかし、前述のように撮影画像がディスプレイ11に対して正対の位置でなければ、表示域の四頂点が矩形でないために直交座標を用いて指し示された位置を正確に表現すことができない。
そこで、四頂点が矩形であることを前提に射影変換を行って、指し示された位置の矩形状の表示域に対応する座標を求める。
そのためにまずコンピュータ13は、射影変換を受けて歪んだ撮影画像上の四頂点の位置を矩形に変換するための射影変換行列を算出する(ステップS21)。
【0021】
続いて、撮影画像上で、指し示された位置を抽出する(ステップS23)。この実施形態では、手の部分のうちの指先の位置(指先位置)が指し示された位置であるとしている。
そして、前記ステップS23で求められた撮影画像上で指し示された位置に、前記ステップS21で算出した射影変換行列を適用して射影変換を用い、矩形状の表示域に対応する指先位置を算出する(ステップS25)。即ち、直交座標系で表示域の座標を表現した場合の指先位置の座標を算出する。
算出された指先位置が表示域内にあれば、表示域に表示するポインタの位置を算出された位置に更新する(ステップS27)。
【0022】
続いて、コンピュータ13は、ウェアラブル端末15から次に処理すべきフレーム画像が送信されてくるか否かを調べる(ステップS29)。
次に処理すべきフレーム画像が送られてこなければ(ステップS29のYes)処理を終了する。一方、次に処理すべきフレーム画像が送られてくれば(ステップS29のNo)、ルーチンは前述のステップS11へ戻り、次のフレーム画像を読み込んで同様の処理を繰り返す。
以上が図3に示す処理の流れである。
【0023】
≪撮影画像からディスプレイの四頂点を抽出する処理≫
この実施形態で、各撮影画像は、RGB(ここで、R:赤、G:緑、B:青を意味する)の各色成分からなる画像データである。この実施形態に係るカメラ15cはイメージセンサを備える。一般にイメージセンサは、撮影した画像をRGBの各色成分の信号として出力するので、コンピュータ13がウェアラブル端末15から受け取る各撮影画像はRGBの各色成分からなる。
電源がオンされてウェアラブル端末15が動作を開始すると、カメラ15cが動画撮影を開始する。そして、ウェアラブル端末15は、撮影された映像データをコンピュータ13へ順次送信する。コンピュータ13はウェアラブル端末15から送られてくるフレーム画像を受信する。
【0024】
後述するように、コンピュータ13は、受信した撮影画像からそのフレームに対応して表示させるべきポインタの位置があるか否か、ある場合はその位置を決定する。次のフレームの撮影画像を受取ると、そのフレームに対応して表示させるべきポインタの位置があるか否か、ある場合はその位置を決定する。その際、前のフレーム画像に基づいて決定されたポインタの位置を保持しておく。
なお、カメラ画像にノイズ成分が多い場合、撮影されたフレーム画像に対してメディアンフィルタや平均フィルタなどを適用してノイズを除去する処理を行ってもよい。
この実施形態において、ウェアラブル端末15を頭部に装着した操作者がディスプレイ11の方を見ると、カメラ15cにはディスプレイ11が映る。すなわち、操作者の頭部に装着された状態でその操作者が前方を見る場合、カメラ15cは操作者の眼に映る前方の一定の範囲を撮影するようになっている。
【0025】
コンピュータ13は、カメラ15cに映ったディスプレイ11の四頂点の撮影画像上の座標を算出する。図3のステップS19に対応する処理である。
図4は、その処理の詳細な流れを示すフローチャートである。図4に示すように、コンピュータ13は、RGBの各色成分からなる撮影画像をグレー画像に変換する(ステップS31)。
この実施形態においては、以下の式(1)によって、RGBの3色の信号(明るさの信号)がグレーの明るさ信号Grayに変換される。
Gray=0.299×R+0.587×G+0.114×B(1)
(1)式は、RGB信号の輝度を算出する式として知られている。
なお、撮影画像が多くのノイズを含む場合は、RGB画像あるいは変換後のグレー画像に対してノイズ除去処理を行ってもよい。
【0026】
コンピュータ13は、変換されたグレー画像に対してエッジ検出を行う(ステップS33)。例えば、Canny法と呼ばれる方法でグレー画像のエッジを検出する(ステップS33)。これにより、ディスプレイ11の枠(ディスプレイ枠)に相当する部分もエッジとして検出される。枠の内周部分が表示域の境界に相当する。なお、使用するディスプレイ11の種類が予め決まっていてそのディスプレイ枠の色が黒色あるいは白色であれば、2値化処理により枠の色に相当する部分を抽出した後。ラプラシアンフィルタによりエッジを検出してもよい。
エッジ検出画像用に変換された画像に対して、確率的Hough変換を行うことにより線分検出をする(ステップS35)。線分検出は、撮影画像の中から単点を持つ線分として線を検出する処理である。検出された線分は、始点と終点で表され、それぞれの座標を取得することができる。
【0027】
図5は、この実施形態においてディスプレイ11と操作者の手の部分が映った撮影画像から上述した手順で線分を検出した例を示す説明図である。
図5で、ディスプレイ11の表示域11dを規定する四辺、言い換えると、ディスプレイ枠11fの内周に対応する四辺をそれぞれ白い線で示している。即ち、表示域下辺11B、表示域左辺11L、表示域右辺11Rおよび表示域上辺11Tを白い線で示している。撮影画像から抽出される線分はそれだけではない。上述の四辺以外に抽出された線分をグレーで示している。ディスプレイ枠11fの外周やディスプレイ11が置かれたデスクの縁、また、撮影画像の縁が線分として抽出されている。
コンピュータ13は、抽出された線分のうちで、ディスプレイ11の表示域11dを規定する四辺を決定する(ステップS37)。
【0028】
この実施形態において四辺を決定する手順は以下のとおりである。
コンピュータ13は、検出された線分のうち傾きが略水平(例えば、(縦成分の長さ/横成分の長さ)の絶対値が0.5より小さいと規定される)、かつ予め定められた長さより長い線分のうちで、撮影画像の画像中心よりも上側にあって画像中心に最も近い線分を表示域上辺11Tとする。一方、画像中心より下側で画像中心に最も近い線分を表示域下辺11Bとする。
ここで、画像中心より上側で画像中心に最も近い線分というのは、画像中心を通り鉛直方向(Y方向)に伸びる鉛直線(Y座標軸に平行な線)と交わる線分あるいは線分の延長線の位置が、前記鉛直線上における画像中心から最も近い上方にある線分である。
一方、画像中心より下側で画像中心に最も近い線分というのは、画像中心を通り鉛直方向(Y方向)に伸びる鉛直線(Y座標軸に平行な線)と交わる線分あるいは線分の延長線の位置が、前記鉛直線上における画像中心から最も近い下方にある線分である。
【0029】
さらに、コンピュータ13は、検出された線分のうち傾きが略鉛直(例えば、(縦成分の長さ/横成分の長さ)の絶対値が5より大きいと規定される)かつ予め定められた長さ(上述の表示域上辺11Tおよび表示域下辺11Bに係る長と異なる長さでもよい)より長い線分のうちで、撮影画像の画像中心よりも左側にあって画像中心に最も近い線分を表示域左辺11Lとする。一方、画像中心より右側で画像中心に最も近い線分を表示域右辺11Rとする。
ここで、画像中心より左側で画像中心に最も近い線分というのは、画像中心を通り水平方向(X方向)に伸びる水平線(X座標軸に平行な線)と交わる線分あるいは線分の延長線の位置が、前記水平線上における画像中心から最も近い左方にある線分である。
画像中心より右側で画像中心に最も近い線分というのは、画像中心を通り水平方向(X方向)に伸びる水平線(X座標軸に平行な線)と交わる線分あるいは線分の延長線の位置が、前記水平線上における画像中心から最も近い右方にある線分である。
【0030】
図5に示す線分のうち白色で示す線分が表示域11dを規定する四辺に相当する線分である。
この実施形態では、ディスプレイ11の四頂点は、ディスプレイ11の表示域11dに基づいて算出することを想定している。表示域11dは液晶や有機EL等の表示パネルとそれを囲むフレーム部材(枠11f)との境界で規定され、安定して精度よくその境界が抽出できると考えられるからである。
ただしそれに限らず、例えば前記表示域11dを囲むディスプレイ枠11fの外周、あるいはディスプレイの外縁(即ちディスプレイの装置全体の輪郭)に基づいて四頂点を算出してもよい。近年は、ディスプレイ枠11fの外周がディスプレイの外縁であるものが多いが、例えばディスプレイ枠11fの下側や左右両側にスピーカーが配置されているものもある。一般に、フレーム部材の外周やディスプレイの外縁も矩形状であるものが多い。
【0031】
コンピュータ13は、表示域11dを規定する四辺に相当する四本の線分から、隣り合う二辺に相当する線分あるいはその延長線の交点を四頂点として算出する(ステップS39)。即ち、表示域上辺11Tと表示域左辺11Lに相当する線分あるいはその延長線の交点を算出する。同様に、表示域左辺11Lと表示域下辺11Bに相当する線分あるいはその延長線の交点を算出する。また、表示域下辺11Bと表示域右辺11Rに相当する線分あるいはその延長線の交点を算出する。さらに、表示域右辺11Rと表示域上辺11Tに相当する線分あるいはその延長線の交点を算出する。これにより、撮影画像におけるディスプレイ11の四頂点の座標が求まる。
【0032】
ここで、撮影画像上で隣り合う二辺の交点を求める手順について述べる。
図6Aは、この実施形態において2本の直線の交点座標の算出手順を説明するためのグラフである。図6Aに示すように、二辺のうちの1本の直線は、直線の傾きが略水平であって、両端の点の座標値をそれぞれ(p1x,p1y)および(p2x,p2y)とする。直線は、以下の式、
y=m・x+n (2)
で表される。
【0033】
二辺のうち他の1本の直線はy軸と平行に鉛直方向に伸びている。両端の点の座標をそれぞれ(p3x,p3y)および(p4x,p4y)とする。
そして、2本の直線が交わる交点の座標値を(p5x,p5y)とする。
2本の直線短点の座標(p1x,p1y)、(p2x,p2y)、(p3x,p3y)および(p4x,p4y)がわかっている場合に、交点の座標値(p5x,p5y)は以下のようにして算出できる。
【0034】
2本の直線の端点の座標値が定まっているので、(2)式に端点の値を代入して、
1y=m・p1x+n (2−1)
2y=m・p2x+n (2−2)
(2−2)式と(2−1)式の差分をとってnを消去し、mについて整理すると、
=(p2y−p1y)/(p2x−p1x
一方、両式からm1を消去するために(2−1)式にp2xを乗じたものから(2−2)式にp1xを乗じたものの差分をとってnについて整理すると、
=(p2x×p1y−p1x×p2y)/(p2x−p1x
【0035】
以上で係数、mおよびnが求められた。求まったmおよびnを(2)式に代入して略水平な直線が表現できる。
一方、y軸に平行な直線については、p3x=p4xであるから、交点のx座標値は、
5x=p3x
で求められる。
そして、交点のy座標値は、
5y=m×p3x+n
で求められる。
【0036】
図6Bは、図6Aと異なる態様の二辺を示すグラフである。略水平な直線は図6Aと同様である。一方、図6Aの鉛直方向に伸びた直線に代えて、図6Bでは略鉛直方向の直線である。略鉛直方向の直線は、以下の式、
y=m・x+n (3)
で表される。
(2)および(3)式で表される2本の直線の、それぞれの端点の座標値(p1x,p1y)、(p2x,p2y)、(p3x,p3y)および(p4x,p4y)がわかっている。
よって、図6Aと同様に、(2−2)式と(2−1)式から係数、mおよびnが求められる。求まったmおよびnを(2)式に代入して略水平な直線が表現できる。
(3)式で表される直線についても、(2)式の直線と同様の手順で係数、mおよびnが求められる。
=(p4y−p3y)/(p4x−p3x
=(p4x×p3y−p3x×p4y)/(p4x−p3x
求まったmおよびnを(3)式に代入して略鉛直方向の直線が表現できる。
【0037】
略水平方向の直線と略鉛直方向の直線が交わる交点では、
5y=m・p5x+n (4)
5y=m・p5x+n (5)
となる。(4)および(5)式から交点の座標値は、
5x=(n−n)/(m−m
5y=(m×n−m×n)/(m−m
で求められる。
上述の手順で、撮影画像上で隣り合う二辺の交点の座標値をそれぞれ計算し、撮影画像上でディスプレイ11の四頂点の座標を求めることができる。
【0038】
なお、カメラ15cの方向と操作者の視線の方向が異なり撮影画像にディスプレイ11が映っていない場合も考えられる。あるいは、ディスプレイ11の手前に障害物があって、ディスプレイ11が隠れてその一部しか映っていなかったりする場合も考えられる。そうすると、ディスプレイ枠11fに相当する四本の線分が適切に抽出されず、ディスプレイ11の四頂点の座標が算出されない場合がある。その場合の処理については実施の形態2で述べる。
【0039】
≪四頂点の歪補正−射影変換行列Hを求める処理≫
撮影画像に映っているディスプレイ11は、カメラ15cがディスプレイ11に対して正対の位置にない限り、歪んで映る。操作者が指し示す表示域11d内の位置についても、歪の影響を受ける。
そこで、ディスプレイ11の四頂点の座標値を用いて、撮影画像における指先位置の座標値を補正して歪の影響を軽減する。歪は、幾何学的変換の一種である射影変換によって補正できる。そこで、撮影画像上の指先位置を矩形の表示域の直交座標値へ変換するための射影変換行列Hを算出する。
【0040】
図7は、この実施形態における撮影画像上の位置と、ディスプレイ11の表示域11d上の位置との対応を示す説明図である。図7に示すように、撮影画像上の位置は、撮影画像面の直交座標を用いて表される。撮影画像面の直交座標は、カメラ15cの視点における直交座標(図7にX、Y、Zの座標軸を示す)である。撮影画像はカメラ15cの視点からディスプレイ11を見た場合の表示域11dの四頂点が映った画像だからである。
図6A図6Bを用いて、撮影画像に映ったディスプレイ11の四頂点の座標値を算出する手順を既に述べたが、それらの座標値はX、Y座標を基底とするものである。
図7に示すように、撮影画像上のディスプレイ11の四頂点の座標値を(x,y)、(x,y)、(x,y)、(x,y)とする。図7に示すように、視点がディスプレイ11に対して正対の位置になく、X、Y座標軸を含む平面がディスプレイ11の表示面と平行でないために、撮影画像上の四頂点は歪んで映っている。
一方、この実施形態で矩形の表示域11dの四頂点は、表示域11d上の直交座標(図7にU、V、Wの座標軸を示す)を用い、画素を単位とした座標値で表現される。
表示域11dが、例えば、水平方向(U軸方向あるいは横方向)に1920画素、鉛直方向(V軸方向あるいは縦方向)に1200画素で構成されるものとする。その場合、表示域11dの四頂点の座標値(u,v)、(u,v)、(u,v)、(u,v)は、(0,0)、(0,1199)、(1919,1199)、(1919,0)である。
【0041】
以下、撮影画像上の四頂点の座標値を(x,y)、(x,y)、(x,y)、(x,y)を、それら四頂点に対応する矩形の表示域11dの四頂点に対応付ける射影変換行列を求める手順について述べる。表示域11dの四頂点の座標値を(u,v)、(u,v)、(u,v)、(u,v)とする。
【0042】
撮影画像上の位置を表す直交座標系で四頂点の座標値(x,y)、(x,y)、(x,y)、(x,y)と、矩形の表示域11dの四頂点の座標値(u,v)、(u,v)、(u,v)、(u,v)との各点の対応関係は、射影変換行列Hを用いて以下の4つの式で表されるものとする。
【0043】
【数1】
【0044】
四頂点に限らず、撮影画像上の点(x,y)と、対応する表示域11d上の点(u,v)とは、
【数2】
で表される。ただし、何れの式においても射影変換行列Hは、
【数3】
で表され、係数、h11〜h32の値は何れの式においても同一である。なお、λは、(7)式の射影変換行列Hの第3行第3列目の定数の要素が「1」になるように定めた係数であって、その値は何れの式においても同一である。
【0045】
射影変換行列Hの8個の係数、h11〜h32は、対応する四頂点の座標値であるu〜u,x〜x,v〜v,y〜yがそれぞれ既知であることに基づいて算出できる。
射影変換行列Hの係数、h11〜h32が求められると、撮影画像上の任意の点(x,y)に対応する表示域11d上の点(u,v)が、(6)式を用いて決定できる。
従って、撮影画像上に映った指先位置についても、対応する表示域11d上の位置は(6)式を用いて決定できる。
【0046】
≪撮影画像上の指先位置を抽出する処理≫
続いて、撮影画像に映った操作者の指先位置を検出して、指先位置の座標値(図7にP(x,y)で示す)を求める手順について述べる。
操作者がディスプレイ11に向かって指を差すと、カメラ15cの撮影画像には指が映る。その指が差している撮影画像上の位置(指先位置)を以下のような処理を行って抽出する。
【0047】
図8は、この実施形態において、手の部分を抽出する処理を示すフローチャートである。図8に沿って処理の流れを説明する。
コンピュータ13は、ウェアラブル端末15から撮影画像を受信する。撮影画像は、RGBの各色成分からなる画像データである。コンピュータは、その画像データに下記の演算を適用して、HSVデータに変換する(ステップS41)。各画素が肌色領域か否かを適切に判定するためである。ここで、HSVは、H:色相、S:彩度、V:明度をそれぞれ表しており、R,G,Bの各色成分の明るさから以下のように算出される。
【0048】
まず、明度Vは、
V=max(R,G,B)
ここで、R,G,Bは、撮影画像を構成する各画素のR,G,Bの各色成分の明るさであって、それらのうち最も明るい色成分の値が明度Vである。
彩度Sは、上の式で算出された明度を用いて、
S=(V−min(R,G,B))/V
として算出される。
【0049】
そして、色相Hは、
V=Rの場合(即ち、R,G,Bのうち最も明るいのがRの場合)、
H=60×(G−B)/S
V=Gの場合、
H=120+60×(B−R)/S
V=Bの場合、
H=180+60×(R−G)/S
として算出される。ただし、上記Hの値を正の数値とするために、上式の算出結果が負の値の場合はその算出結果に360を加算する。また、8ビットの値で処理する場合は、さらに2で割った値とする。
【0050】
このようにして算出されるHSVデータの値に基づいて、コンピュータ13は各画素が肌色か否かの判定に基づいて2値化を行う(ステップS43)。
2値化の判定条件の例として、H≧2かつH≦28かつS≧46かつV≧26ならば肌色画素と判定するものとしてH,S,Vの閾値を設定する。撮影画像の各画素について判定を行い、肌色画素は1(白)に変換し、そうでなければ肌色以外画素として0(黒)に変換する。
肌色か否かの判定に用いる閾値は、操作者の肌の色に応じて補正できるようにしてもよい。補正は、肌色キャリブレーション用のモードで、カメラ15cを用いて操作者の手の部分を撮影し、その撮影画像に基づいて補正値を決定してもよい。
また、操作者の指先に代えて、例えば特定のペンを用いて位置を指し示す場合は、肌色キャリブレーション用のモードで操作者がそのペンを持った画像をカメラ15cで撮影し、その撮影画像に基づいてペンの先が抽出されるようにしてもよい。その場合は、実施形態に記載の「指先」を「ペン先」に読み替えた処理の流れになる。
【0051】
図9は、上述の判定に基づいて2値化された撮影画像の一例を示す説明図である。図9に示されるように手の部分23が肌色領域として抽出されている。
さらに、コンピュータ13は2値化によって得られた肌色画素領域のうち、ノイズや手でない部分を除去する(ステップS45)。例えば、次に述べる処理を行う。2値化された画像に対して、着目画素を中心とした7×7画素の合計値が所定値以上なら1(白)、所定値未満なら0(黒)に変換する。その後さらに画像を白黒反転し、着目画素を中心とした7×7画素の合計値が所定値以上なら1(白)、所定値未満なら0(黒)に変換する。そして、再度白黒反転する。
【0052】
この一連の処理によって、ノイズや手以外の小さい肌色画素が肌色以外画素に補正される。逆に、ノイズや光の当たり具合で肌色領域に囲まれている肌色以外画素が肌色画素に補正される。勿論7×7画素は一例に過ぎないし、上述の処理を行わない態様も、あるいは一部のみ行う態様もあり得る。
さらに、ラベリング処理を行う。ラベリング処理し、所定画素数より小さい肌色領域の画素は0に変換する。これにより、手に相当する部分を含む所定画素以上の肌色領域のみが1、それ以外の部分が0となる。
それ以外に、指の太さや形状などを予め指形状として登録しておき、抽出された肌色領域のうち登録された指形状に類似しないものを除外してもよい。
【0053】
そして、コンピュータ13は得られた肌色画素領域から手の指先位置を抽出する(ステップS47)。この実施形態で、指先位置の抽出は、以下のように行う。
撮影画像上の表示域11d内で、画像の上側から順に肌色画素(1)か否かを調べていき、最初の肌色画素を手の指先位置とする。
図10は、上述の処理の結果抽出された指先位置を示す説明図である。肌色領域の最も上の画素が指先位置23Tとして抽出されている。あるいは、色画素の中で最も明るい画素を指先位置としてもよい。指の爪の一部は、手全体の中でも最も明るい画素が存在することが多いからである。
【0054】
≪撮影画像上の指先位置に対応する表示域上の位置を決定する処理≫
上述のようにして撮影画像上の指先位置(図7に示すP(x,y))が求められたら、コンピュータ13は、撮影画像上の指先位置に、射影変換行列Hを適用して、表示域11d上の対応する位置(図7にQ(u,v)で示す)に変換する。
図7に示すように、Q(u,v)の座標値は、撮影画像上の指先位置の座標値(x,y)を用いて以下の式で求められる。
【数4】
コンピュータ13は、このようにして算出されたQ(u,v)の表示域面上の座標値が表示域11dの内部にあれば、算出された位置にポインタを表示させる。
【0055】
≪位置ずれの補正≫
上述の処理で抽出される指先位置は、人がカーソルを合わせたい位置とは数画素のずれが生じることがありうる。さらに、操作者の視点とカメラ15cの視点とに若干のずれがある。よって、操作者がディスプレイ11を指し示した位置と、撮影画像を用いて求められる表示域上の対応位置とに若干のずれがある。その場合、より適切な指先位置の座標を導き出すために、抽出された指先位置の座標に対して予め定められた補正値を加算してもよい。
【0056】
補正値は、操作者が数値を直接入力してもよいが、例えば次のようにして補正値を決定できる。
位置ずれ補正用のキャリブレーションモードで、操作者がディスプレイ11の所定の位置、例えば画像中心を指し示し、それをカメラ15cで撮影する。このとき、操作者が指し示すべき位置を表示域11dに表示させるとよい。
撮影画像に図3のステップS17〜S27と同様の処理を行って、操作者が指し示した位置に対応するポインタ位置を求める。
求めたポインタ位置と、操作者が指し示すべき位置(例えば画像中心)との位置ずれの量を補正値として格納する。
【0057】
(実施の形態2)
実施の形態1では、ウェアラブル端末15のカメラ15cで撮影された画像からディスプレイの四頂点を決定する処理について述べた。そして、四頂点の歪を補正する射影変換行列Hを求める処理について述べた。さらに、撮影画像上の指先位置を抽出する処理について述べた。そして、射影変換行列Hを適用して指先位置に対応する表示域11d上の位置を求める処理について述べた。それらの処理の概要は、図3のフローチャートに示されている。
【0058】
しかし、表示域を規定する四辺を検出できず、従って四頂点の座標値の一部または全部が求まらない場合がある。また、指先位置が検出できない場合がある。
この実施形態は、そのような場合を含んだ処理の流れを述べる。
操作者がディスプレイ11を横目で見る場合や、表示域11dに表示される内容(色)がディスプレイ枠11f(の色)に近い場合、表示域を規定する四辺(4本の線分)の一部または全部が検出できない。
例えば、表示域を規定する4本の線分がまったく検出できない場合、あるいは、4本の線分のうち1本しか検出できない場合、コンピュータ13は、操作者の視線がカメラ15cの撮影画像外に向いていると想定し、指先位置の検出を行わず、表示域のポインタの移動を行わないようにする。
【0059】
また、表示域を規定すると判断される4本の線分のうち2本あるいは3本の線分が検出された場合、カメラ15cはディスプレイ11の方向を向いているが、ディスプレイ11に表示されている内容がディスプレイ枠11fの色に似ているために表示域11dの境界を示す線分が検出できなかったものと判断する。その場合、コンピュータ13は、カメラ15cからの映像データのうち前のフレームに対応する撮影画像とディスプレイ11の位置が変わっていないと想定する。その想定に基づいて、前のフレームの撮影画像で算出された射影変換行列を用いて処理を続けるようにしてもよい。
【0060】
また、操作者が指先をディスプレイ11の方に向けなかった場合、撮影画像から指先位置を検出できないことがある。コンピュータ13はその場合、前のフレームの撮影画像に基づいて表示域11d上の位置が算出されその位置に表示されているポインタの移動を行わないように表示を制御する。
あるいはその場合、コンピュータ13は前のフレームの撮影画像に基づいて表示域11d上の位置が算出されて表示されているポインタを消すように表示を制御してもよい。
【0061】
図11および図12は、この実施形態に係るフローチャートである。図11は、実施の形態1における図3に対応し、図12は、実施の形態1における図4に対応する。
図11で、図3と同様の処理については図3と同様の符号を付している。図3と異なる部分を中心に図11に示す処理の流れを述べる。
【0062】
図11で、コンピュータ13は、ウェアラブル端末15から送信された映像データの1フレームに対応する撮影画像を受信し(ステップS11)、ノイズを除去して(ステップS17)、表示域を規定する四頂点を算出するために四辺を抽出する処理を行う(ステップS19)。
その結果、四辺をすべて抽出できたか否かを調べる(ステップS53)。四辺をすべて抽出できた場合(ステップS53のYes)、コンピュータ13は図3と同様に先の処理へ進み、射影変換行列の算出(ステップS21)、指先位置の抽出(ステップS23)の処理を行う。
【0063】
一方、四辺の一部のみしか抽出できなかった場合、もしくは全く抽出できなかった場合(ステップS53のNo)、続いてコンピュータ13は四辺のうち二辺または三辺を抽出できたか否かを調べる(ステップS55)。
二辺または三辺を抽出できたと判断した場合(ステップS55のYes)、撮影画像にディスプレイ11が映っており、何れかの辺が検出できなかっただけであると想定する。そして、カメラ15cからの映像データのうち前のフレームの撮影画像とディスプレイ11の位置が変わっていないと想定し、前のフレーム画像で採用した射影変換行列Hを今回のフレームについても採用する。即ち、前のフレームと同じ歪の状態であるとして前のフレームと同じ射影変換行列Hを適用する(ステップS57)。その後、ルーチンはステップS23へ進み、指先位置の抽出処理を行う。
【0064】
一方、前記ステップS55で、一辺しか抽出できなかった場合や全く線分を抽出できなかった場合、ルーチンはステップS59へ進んでコンピュータ13は、表示域に表示されているポインタの位置を移動させないようにする(ステップS59)。ポインタが表示されていない場合は、表示されていない状態を継続する。そして、ルーチンはステップS29へ進む。
【0065】
上述のステップS23の処理に続く流れを説明する。
ステップS23でコンピュータ13は、撮影画像における指先位置を抽出する。その処理の結果、指先位置が抽出できたか否かを調べる(ステップS61)。指先位置が抽出できた場合(ステップS61のYes)は、図3と同様に射影変換行列Hを適用して対応する表示域上の位置を算出し(ステップS25)、表示されているポインタの位置を算出された位置に更新する(ステップS27)。なお、表示域11dにポインタが表示されていない場合は、算出された位置にポインタを表示する。
そして、次のフレーム画像があるか否かを調べて(ステップS29)、次のフレーム画像があれば(ステップS29のNo)先頭のステップS11へ戻り、次のフレーム画像がなければ(ステップS29のYes)処理を終了する。
【0066】
前述のステップS61で、指先位置が抽出できない場合(ステップS61のNo)、ルーチンはステップS59へ進み、表示域に表示されているポインタの位置を移動させないようにする(ステップS59)。ポインタが表示されていない場合は、表示されていない状態を継続する。そして、ルーチンはステップS29へ進み、終了判定を行う。
【0067】
図12は、図11に示すステップS19の処理の詳細を示すフローチャートである。図12で、図4と同様の処理については図4と同様の符号を付している。図4と異なる部分を中心に図11に示す処理の流れを述べる。
コンピュータ13は、RGBの各色成分からなる撮影画像をグレー画像に変換し(ステップS31)、エッジ検出処理を行い(ステップS33)、線分を検出する(ステップS35)。検出された線分のうちから表示域を規定する4本の線分を抽出する処理を行う(ステップS37)。即ち、略水平または略鉛直方向に伸びて予め定めた長さよりも長く、かつ、撮影画像の画像中心に対して上下左右のそれぞれの方向にあって画像中心に近い線分を四辺として決定する。
【0068】
そして、上述の条件に適合する線分が上下左右のそれぞれの方向について抽出できたか否かを調べる(ステップS71)。
条件に適合する合計4本の線分が抽出できた場合は(ステップS71のYes)、図4と同様に、四頂点のそれぞれについて隣り合う二辺の交点の座標値を算出して、各頂点の位置を決定する(ステップS39)。
一方、条件に適合する線分が抽出できなかった場合は(ステップS71のNo)、交点の座標値を算出せずに処理を終了する。
【0069】
この実施形態によれば、コンピュータ13が指先位置を抽出できなかった場合、ポインタがそれまで表示されている位置で静止するか、あるいはポインタの表示が消える。
従って、操作者が表示域11dを指差すのをやめて手をおろすと、ポインタがそれまで表示されている位置で静止するか、あるいはポインタの表示が消える。操作者が再び表示域11dの何れかの位置を指し示すと、ポインタが静止して表示されている位置から指し示された位置へ移動する。あるいは、消えていたポインタが指し示された位置に表示される。
また、ディスプレイ11の方向を向いていた操作者が別の方向を向いて撮影画像にディスプレイ11が映らなくなった場合も、ポインタがそれまで表示されていた位置で静止するか、あるいはポインタの表示が消える。操作者が再びディスプレイ11の方向を向き、表示域11d何れかの位置を指し示すと、ポインタが静止して表示されている位置から指し示された位置へ移動する。あるいは、消えていたポインタが指し示された位置に表示される。
【0070】
(実施の形態3)
実施の形態1、2では、ウェアラブル端末15を装着した操作者が一人の場合を想定して処理の流れを述べた。しかし、複数の操作者がそれぞれウェアラブル端末15を装着して共通のディスプレイ11を用いて会議を行い、ディスプレイ11に表示される資料の特定の位置を各操作者がポインタを用いて示す態様が考えられる。各操作者がレーザーポインタを持つ代わりに、ウェアラブル端末を装着してより安全にポインタを操作する態様である。
この実施形態では、上述の会議のように、ウェアラブル端末15をそれぞれ装着した複数の操作者がいる場合について述べる。
コンピュータ13は、各操作者のウェアラブル端末15について実施の形態1や2で述べた処理をそれぞれ実行し、各操作者に対応する個別のポインタの表示を制御するようにしてもよい。
【0071】
その場合、コンピュータ13は、各操作者が装着したウェアラブル端末に対応して複数のポインタを一つの表示域11dに表示させる。複数のポインタのうちどのポインタがその操作者(ウェアラブル端末)に対応するものかを識別できるように、それぞれのポインタを他のポインタと識別可能な態様で表示してもよい。
例えば、操作者Aに対応するポインタは赤色、操作者Bに対するポインタは緑色、操作者Cに対するポインタは青色といったように、各ポインタが色で識別できるように表示させてもよい。
あるいは、各ポインタに対して個別の形状を割り当て、各ポインタが形状で識別できるように表示させてもよい。例えば、丸型、四角形、星型といったようなバリエーションの形状である。
【0072】
それと異なり、複数の操作者が唯一つのポインタを操作する態様も考えられる。
その場合は、何れかの操作者が表示域11dを指し示すと、ポインタがその位置へ移動する。複数の操作者が同時に表示域11dを指し示した場合は、先に操作をした者が優先し、その操作者が手を下ろして撮影画像から手の部分が消えると、後のものが指し示している位置へポインタが移動するようにしてもよい。
【0073】
複数の操作者がいる場合の一例として、会議で複数の操作者に対応する複数のポインタを表示する態様について述べたが、ポインタの機能は表示位置を示す機能に限定されるものでない。この点は、実施の形態1、2についても同様である。
通常のコンピュータの画面に表示されるマウスポインタのように、クリック、ドラッグ開始/ドラッグ終了などの操作と関連付けて表示されたオブジェクトに対する操作が可能であってもよい。
【0074】
マウスの場合は、マウスのボタンやダイヤルを操作することでクリック、ドラッグ、その他の操作とポインタを関連付けることができる。ウェアラブル端末を用いたポインタ操作の場合は、手の部分の動作(静止状態を含む)や指の形状、指先の方向などでクリック、ドラッグ、その他の操作に対応するジェスチャーを予め定めておけばよい。
あるいは、この実施形態に係るポインタ操作は、通常のタッチディスプレイに対するタッチ操作に対応させてもよい。タップ、ドラッグ開始/ドラッグ終了などの操作に対応する手の部分の動作や指の形状、指先の方向などを予めジェスチャーとして定めておけば、タッチ操作と同様の操作が可能である。
【0075】
あるいはまた、電子ペンを用いた操作に対応させてもよい。電子ペンの操作に対応するジェスチャーを予め定めておけば、電子ペンの代わりにディスプレイ11に描画することが可能になる。例えば、ディスプレイ11に表示されたプレゼンテーション資料に簡易な追記を重畳することが可能になる。
【0076】
以上に述べたように、
(i)この発明による画面表示制御方法は、操作者の頭部に装着され画像を撮影するウェアラブル端末を用いて、矩形状の枠および表示域を有するディスプレイと共にそのディスプレイを前記操作者が指し示す手の部分を撮影し、コンピュータを用いて、前記ウェアラブル端末の撮影画像における前記矩形枠の頂点の位置および前記手の部分で指し示された位置を抽出し、抽出された頂点の位置および指し示された位置の位置関係に基づいて前記手の部分に対応する前記表示域内の位置があるか否かを決定し、前記位置があればその位置にポインタを表示させることを特徴とする。
【0077】
この明細書において、頭部は、操作者が首を振ると方向が変わる部位であって、操作者の首よりも上の部分である。
また、ウェアラブル端末は、頭部の何れかの位置に装着できるものである。その具体的な態様として、例えば、耳に掛けることで装着されるものや、いわゆるスマートグラスのような眼鏡型の端末などが挙げられるがそれらに限定されるものでない。この明細書において、ウェアラブル端末は画像を撮影するイメージセンサを有する。
さらにまた、ディスプレイは、矩形の画面、即ち表示域を有する表示装置である。その具体的な態様としては、例えば、液晶や有機ELを用いた表示装置が挙げられるがそれらに限定されるものでない。
【0078】
矩形は、対向する2辺が平行で隣り合う2辺が直角な四角形であって、正方形を含む。
また、表示域は、ディスプレイのうち表示可能な領域である。一般に周囲をフレームで囲まれた領域である。
さらにまた、手の部分は、少なくとも操作者の一つの指を含む部分であって、典型的には手首から先の部分である。
【0079】
ディスプレイと共に撮影するとは、ディスプレイの全部または一部を背景に、操作者の手の部分を画像としてとらえることである。
また、コンピュータは、CPUあるいはMPUを中心に構成されプログラムを実行可能なハードウェアである。その具体的な態様は限定されず、例えば、機器に組み込まれるものであってもよく、携帯型、可搬型あるいは据え置き型の情報処理機器であってもよい。
さらにまた、撮影画像は、ウェアラブル端末が有するイメージセンサによって取り込まれた画像である。
【0080】
表示域の頂点の位置とは、矩形の表示域の4つの頂点の位置である。
また、ポインタは、ディスプレイの表示域内に表示されて特定の位置あるいは表示域内に表示された特定の対象を指すものである。その具体的な態様としては、例えば、一般的なパーソナルコンピュータの画面に表示されてマウスやタッチパッドの操作対象や操作位置を示すものに該当するが、それに限定されるものでない。
【0081】
さらに、この発明の好ましい態様について説明する。
(ii)前記コンピュータを用いて、前記撮影画像に映った前記操作者のジェスチャーを認識し、認識されたジェスチャーに応じた操作を前記ポインタの位置に対してさらに行ってもよい。
このようにすれば、ディスプレイと離れた位置にいる操作者がジェスチャーを行うことによって、一般的なコンピュータへのマウス操作やタッチパッド操作あるいはスマートフォンへのタッチ操作と同様に、ポインタの位置に対する操作が可能になる。
【0082】
(iii)前記頂点の位置は、前記撮影画像に映った前記ディスプレイの表示域を示す四辺を検出し、各辺あるいは各辺を延長した直線の交点の位置から求めてもよい。
このようにすれば、撮影画像に表示域を示す四辺の一部しか映っていない場合であっても表示域の頂点の位置を正確に求めることができる。
【0083】
(iv)前記指し示された位置は、前記撮影画像における肌色領域の画素の内で最上部に位置する画素の位置であってもよい。
このようにすれば、撮影画像データに映っている肌色領域の最上部の画素が指先の位置であると想定して指し示された位置を検出することができる。
【0084】
(v)あるいは、前記指し示された位置は、前記撮影画像における肌色領域の画素の内で最も明るい画素の位置であってもよい。
通常は指先の爪の部分が手の部分のうちで最も明るい色をしているので、このようにすれば、撮影画像に映っている指の爪の位置に相当する画素が指先の位置であると想定して指し示された位置を検出することができる。
【0085】
(vi)前記表示域における肌色領域は、各画素が肌色に属するか否かの判定に基づいて抽出し、肌色に属するか否かの判定に用いる閾値は、前記表示域に表示された内容に含まれる色成分の構成に応じて変更してもよい。
このようにすれば、表示された部分を操作者の手の部分と誤検出するのを防ぐことができる。例えば、前記撮影画像に映った前記表示域の表示内容に肌色に近い色が多く含まれる場合は肌色に属すると判定する範囲が狭くなるように、肌色に近い色があまり含まれない場合は肌色の属すると判定する範囲が広くなるように判定に係る閾値を変更すればよい。
【0086】
(vii)前記表示域における肌色領域は、各画素が肌色に属するか否かの判定に基づいて抽出し、隣り合う画素が肌色に属する領域のうちで最も大きい領域を前記肌色領域としてもよい。
このようにすれば、前記表示域内において複数の肌色領域が抽出されたとしても、最も大きい領域が手の部分であると想定することで誤検出を防ぐことができる。
【0087】
(viii)前記指し示された位置に対応して決定された位置が前記表示域の外にある場合、表示されているポインタを移動させないかまたは表示されているポインタを消去してもよい。
このようにすれば、手の部分で指し示された位置に対応して決定されたポインタの位置が表示域外の場合は、その場合の手の部分が前記表示域内の位置を指し示すものでないと判断することで不要なポインタの移動あるいは表示を防ぐことができる。
【0088】
(ix)前記指し示された位置に対応するポインタの位置は、前記頂点の位置が矩形になるように前記撮影画像における前記頂点の位置および指し示された位置に射影変換を適用し、前記表示域に指先が投影される位置として決定してもよい。
このようにすれば、操作者がディスプレイに正対する位置になくても操作者が意図した位置にポインタを表示させることができる。
【0089】
(x)前記コンピュータは、複数の操作者の頭部にそれぞれ装着された複数のウェアラブル端末から、前記ディスプレイと共にそれぞれの操作者の手の部分が撮影された撮影画像を取得し、各ウェアラブル端末からの撮影画像における前記ディスプレイの矩形枠の頂点の位置および各操作者の手の部分で指し示された位置をそれぞれ抽出し、抽出された頂点の位置および指し示された位置の位置関係に基づいて各操作者の前記手の部分に対応する前記表示域内の位置があるか否かを決定し、前記位置があればその位置に前記ポインタを表示させることにより、一つのポインタを各操作者が操作可能にしてもよい。
このようにすれば、例えば会議で複数の参加者が個別にウェアラブル端末を装着することで、参加者間でウェアラブル端末を交換しなくてもポインタを操作できる。
【0090】
(xi)前記コンピュータは、複数の操作者の頭部にそれぞれ装着された複数のウェアラブル端末から、前記ディスプレイと共にそれぞれの操作者の手の部分が撮影された撮影画像を取得し、各ウェアラブル端末からの撮影画像における前記ディスプレイの矩形枠の頂点の位置および各操作者の手の部分で指し示された位置をそれぞれ抽出し、抽出された頂点の位置および指し示された位置の位置関係に基づいて各操作者の前記手の部分に対応する前記表示域内の位置があるか否かを決定し、前記位置があればその位置に各操作者に対応するポインタを、各操作者との対応を識別可能に表示させてもよい。
このようにすれば、例えば会議で複数の参加者が個別にウェアラブル端末を装着することで、各参加者に対応したポインタを操作できる。
【0091】
(xii)また、この発明による画面表示制御プログラムは、操作者の頭部に装着されるウェアラブル端末から、矩形状の枠および表示域を有するディスプレイと共にそのディスプレイを前記操作者が指し示す手の部分が撮影された画像を取得する処理と、前記ウェアラブル端末の撮影画像における前記矩形枠の頂点の位置および前記手の部分で指示された位置を抽出する処理と、抽出された頂点の位置および指し示された位置の位置関係に基づいて前記手の部分に対応する前記表示域内の位置があるか否かを決定する処理と、前記位置があればその位置にポインタを表示させる処理と、をコンピュータに実行させることを特徴とする。
この発明によれば、ディスプレイから離れた場所にいる操作者がその場所でポインタを操作できる。さらに、操作者の視点と操作者の頭部に装着されたウェアラブル端末による撮影の視点との間にずれがあっても、操作者が指し示した位置に対応してディスプレイに表示すべきポインタの位置を、少ない計算量で操作者にとって違和感がないように決定できる。
【0092】
(xiii)前記撮影画像に映った前記操作者のジェスチャーを認識する処理と、認識されたジェスチャーに応じた操作を前記ポインタの位置に対して行う処理と、をさらに実行させてもよい。
このようにすれば、ディスプレイと離れた位置にいる操作者がジェスチャーを行うことによって、一般的なコンピュータへのマウス操作やタッチパッド操作あるいはスマートフォンへのタッチ操作と同様に、ポインタの位置に対する操作が可能になる。
【0093】
(xiv)また、この発明による画面表示制御システムは、矩形状の枠および表示域を有するディスプレイと、操作者の頭部に装着されかつ前記ディスプレイと共にそのディスプレイを前記操作者が指し示す手の部分を撮影するウェアラブル端末と、前記ウェアラブル端末の撮影画像における前記矩形枠の頂点の位置および前記手の部分で指し示された位置を抽出し、抽出された頂点の位置および指し示された位置の位置関係に基づいて前記手の部分に対応する前記表示域内の位置があるか否かを決定するポインタ処理部と、前記位置があればその位置にポインタを表示させる表示処理回路と、を備えることを特徴とする。
この発明によれば、ディスプレイから離れた場所にいる操作者がその場所でポインタを操作できる。さらに、操作者の視点と操作者の頭部に装着されたウェアラブル端末による撮影の視点との間にずれがあっても、操作者が指し示した位置に対応してディスプレイに表示すべきポインタの位置を、少ない計算量で操作者にとって違和感がないように決定できる。
【0094】
(xv)前記撮影画像に映った前記操作者のジェスチャーを認識するジェスチャー認識部と、認識されたジェスチャーに応じた操作を前記ポインタの位置に対して行う表示処理部をさらに備えてもよい。
このようにすれば、ディスプレイと離れた位置にいる操作者がジェスチャーを行うことによって、一般的なコンピュータへのマウス操作やタッチパッド操作あるいはスマートフォンへのタッチ操作と同様に、ポインタの位置に対する操作が可能になる。
【0095】
この発明の好ましい態様には、上述した複数の好ましい態様の何れかを組み合わせたものも含まれる。
前述した実施の形態の他にも、この発明について種々の変形例があり得る。それらの変形例は、この発明の範囲に属さないと解されるべきものではない。この発明には、請求の範囲と均等の意味および前記範囲内でのすべての変形とが含まれるべきである。
【符号の説明】
【0096】
11:ディスプレイ、 11d:表示域、 11f:ディスプレイ枠、 11B:表示域下辺、 11L:表示域左辺、 11R:表示域右辺、 11T:表示域上辺、 13:コンピュータ、 15:ウェアラブル端末、 15c:カメラ、 17:キーボード、 19:マウス、 21:操作者頭部、 23:手の部分 23T:指先位置
図1
図2
図3
図4
図5
図6A
図6B
図7
図8
図9
図10
図11
図12