JP6124862B2 - ポインティング・ジェスチャに応じたアクションをする方法、会議支援システム、およびコンピュータ・プログラム - Google Patents

ポインティング・ジェスチャに応じたアクションをする方法、会議支援システム、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP6124862B2
JP6124862B2 JP2014238448A JP2014238448A JP6124862B2 JP 6124862 B2 JP6124862 B2 JP 6124862B2 JP 2014238448 A JP2014238448 A JP 2014238448A JP 2014238448 A JP2014238448 A JP 2014238448A JP 6124862 B2 JP6124862 B2 JP 6124862B2
Authority
JP
Japan
Prior art keywords
pointing
arbitrary
display image
image
gesture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014238448A
Other languages
English (en)
Other versions
JP2016099917A (ja
Inventor
伊藤 浩
浩 伊藤
下遠野 享
享 下遠野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Priority to JP2014238448A priority Critical patent/JP6124862B2/ja
Publication of JP2016099917A publication Critical patent/JP2016099917A/ja
Application granted granted Critical
Publication of JP6124862B2 publication Critical patent/JP6124862B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Analysis (AREA)

Description

本発明は、表示画像に対して任意の位置に配置したステレオ・カメラがポインティング・ジェスチャで示した位置を認識する技術に関し、さらには、表示画像を撮影しない位置に配置したステレオ・カメラがポインティング・ジェスチャで示した位置を認識する技術に関する。
プロジェクターは、コンピュータが作成したピクセル画像データをプロジェクター・スクリーンに投影して表示画像として表示する。また、ピクセル画像データは大型のディジタル・テレビに表示する場合もある。会議の参加者はプロジェクター・スクリーンに投影された画像やテレビに表示された画像(以後、スクリーン画像)を同時に共有する。プレゼンターや各参加者がスクリーン画像上の特定の位置を指で指すときは、指差し棒やレーザー・ポインターなどを使用する。
特許文献1は、大型ディスプレイやプロジェクターなどの大型画面に表示したカーソルをユーザが指差しする方向に移動させる発明を開示する。同文献には、顔と指先までの距離を計算して複数の操作者のなかからカーソルを操作する操作者を決定することが記載されている。特許文献2は、ビデオ会議システムにおいて特定の参加者が指す方向を決定する発明を開示する。同文献には、各参加者が異なるように指す場合に校正することで正しいポインティング方向を決定する方法が記載されている。
国際公開第2012/144145号公報 特表2004−504675号公報
特許文献1および特許文献2が記載する表示システムのように、表示画面に対するステレオ・カメラの位置および姿勢があらかじめ決まっている装置では、ステレオ・カメラが計測する3次元座標と、表示画面に2次元配置された画像に対応するピクセル画像データの座標(以後、ピクセル座標)を関連付けておくことができる。したがって、指差しをしたときのポインティング・ジェスチャをステレオ・カメラで観測して、指差しの方向にある表示画面上の任意の位置(ポインティング位置)の3次元座標を計算すれば、ポインティング位置に対応するピクセル座標を計算することができる。
近年、ディスプレイ筐体の縁枠にステレオ・カメラを実装したノートブック型パーソナル・コンピュータ(ノートPC)が開発されている。ノートPCは、プロジェクターで表示する画像データも生成するため、ノートPCが実装するステレオ・カメラがスクリーン画像のポインティング位置を認識できれば、ポインティング・ジェスチャでさまざまな画面の操作ができて都合がよい。この場合、ステレオ・カメラの位置とプロジェクター・スクリーンの相対的な位置関係はその都度変化するため、スクリーン画像の位置とステレオ・カメラの姿勢および位置の相互関係を事前に確定できないことになる。また、ノートPCが実装するステレオ・カメラは、撮影が前方の所定の視野角の範囲に限られるため、会議の参加者とスクリーン画像を同時に撮影できないことが多い。
そこで本発明の目的は、ステレオ・カメラの撮影データで表示画面に対するポインティング・ジェスチャで示したポインティング位置を認識する方法を提供することにある。さらに本発明の目的は、あらかじめスクリーン画像に対する相対的な位置が定まってないステレオ・カメラの撮影データでポインティング位置を認識する方法を提供することにある。さらに本発明の目的は、スクリーン画像を撮影できないステレオ・カメラの撮影データでポインティング位置を認識する方法を提供することにある。さらに本発明の目的は、簡単な設定操作でポインティング位置を認識する方法を提供することにある。さらに本発明の目的は、そのような方法を実現する会議支援システム、コンピュータおよびコンピュータ・プログラムを提供することにある。
本発明は、ピクセル画像データを表示した表示画像に対するポインティング・ジェスチャに応じてコンピュータがアクションをする方法を提供する。コンピュータは表示画像に対して任意の位置に配置したステレオ・カメラが撮影したポインティング・ジェスチャの画像から特徴点のグローバル座標を取得する。表示画像の基準ポインティング位置に対するポインティング・ジェスチャから基準グローバル座標を取得する。つぎに、操作者が実際に指し示したい表示画像の任意ポインティング位置に対するポインティング・ジェスチャから任意グローバル座標を取得する。つぎに、基準グローバル座標に対する任意グローバル座標の相対位置から任意ピクセル座標を取得する。つぎにコンピュータが任意ピクセル座標を認識して所定のアクションを実行する。
上記構成によれば、ステレオ・カメラが表示画像を撮影しないためにポインティング位置から直接表示画像のピクセル座標が計算できない場合でも、ピクセル座標が既知の基準グローバル座標と任意グローバル座標から任意ピクセル座標を取得してアクションを実行することができる。アクションは、任意ピクセル座標にスポット画像を作成する処理、または任意ピクセル座標に定義した入力を認識する処理とすることができる。ステレオ・カメラはポインティング・ジェスチャを撮影できればよく表示画像は撮影しないでもよい。
基準ポインティング位置は、ピクセル画像データの輪郭に対応する表示画像の輪郭とすることができる。また、表示画像が矩形の場合は、2辺のコーナーとすることができる。任意ピクセル座標は、表示画像の4つのコーナーに対応する基準グローバル座標を内分する任意グローバル座標の内分比を計算して取得することができる。任意グローバル座標は、表示画像に平行な平行平面を設定し、平行平面上に表示画像に対応する仮想画像を形成し、仮想画像において内分比を計算することで取得することができる。
平行平面は、表示画像の垂直方向に対するポインティング・ジェスチャから法線ベクトルを計算して取得することができる。平行平面と表示画像平面の距離が短いほどポインティング・ジェスチャで双方の平面上に指定される位置間の偏差が小さくなるため、平行平面を形成するときのポインティング・ジェスチャによる法線ベクトルの指定と表示画像平面までの距離をできるだけ正確に設定することが望ましい。表示画像は、プロジェクターがスクリーン面に投影するスクリーン画像や、ステレオ・カメラから分離したディスプレイが表示するモニター画像とすることができる。
本発明により、ステレオ・カメラが表示画面に対する指差しによるポインティング位置を認識する方法を提供することができた。さらに本発明により、あらかじめスクリーン画像に対する相対的な位置が定まってないステレオ・カメラがポインティング位置を認識する方法を提供することができた。さらに本発明により、スクリーン画像を撮影できないステレオ・カメラがポインティング位置を認識する方法を提供することができた。さらに本発明により、簡単な設定操作でポインティング位置を認識する方法を提供することができた。さらに本発明により、そのような方法を実現する会議支援システム、コンピュータおよびコンピュータ・プログラムを提供することができた。
ノートPC10のハードウェアを説明するための概略の機能ブロック図である。 会議支援システム100を使用するときの様子を説明するための平面図である。 会議支援システム100の構成を説明するための機能ブロック図である。 会議支援システム100によるポインティング位置のピクセル座標を計算する方法を説明する図である。 会議支援システム100の動作を説明するためのフローチャートである。 スクリーン画像401に対するポインティングの方法を説明するための図である。 グローバル座標からピクセル座標を計算する方法を説明するための図である。 平行平面407とスクリーン画像401の距離を縮める方法を説明するための平面図である。
[ノートPCのハードウェア構成]
図1(A)は、会議支援システム100(図3)を構成するノートPC10のハードウェアの構成を説明するための概略の機能ブロック図で、図1(B)は外形を示す斜視図である。本発明との関連において、ノートPC10のハードウェアの構成は周知であるため説明は簡略化する。CPU11はグラフィック・コアを内蔵しておりLCD15とシステム・メモリ13が接続されている。チップセット17は、さまざまなインターフェースのコントローラを内蔵している。チップセット17のSATAコントローラにはHDD19が接続され、HDMI(登録商標)コントローラにはマイクロフォン21が接続され、USBコントローラには有線または無線でカメラ23a、23bが接続され、DVIコントローラにはDVIポート27が接続されている。
DVIポートにはプロジェクター51(図2)を接続して、LCD15が表示する画面に対応するピクセル画像データを出力することができる。マイクロフォン21は音声で会議支援システム100に指示するために利用することができる。HDD19は、会議支援システム100を構成するソフトウェアを格納する。カメラ23a、23bはそれぞれイメージセンサーを内蔵しており、2台が組になってステレオ・カメラ25を構成する。
ステレオ・カメラ25は、ディスプレイ筐体の縁枠31に装着しているが、ノートPC10から分離して配置し有線または無線で接続するようにしてもよい。画像面の座標系Σuvを3次元空間のグローバル座標系ΣGに変換する上で、カメラ23a、23bは同一仕様とすることが望ましい。またカメラ23a、23bは、相互の光軸が平行で撮像面が同一平面に存在し、かつ、撮像面の座標系Σuvのうちu座標が一致する平行等位に配置することが望ましい。カメラ23a、23bは、撮影状態のときに所定のフレーム・レートでフレーム・シーケンスを出力する。両カメラは同期して撮影できることが望ましいが、人間の動きを撮影する上では、撮影のタイミングに1フレーム周期分のずれがあっても支障はないため非同期であってもよい。
[会議支援システム]
図2は、会議支援システム100(図3)が機能する環境の一例を説明するための平面図である。机50の上には、ノートPC10に有線または無線で接続されたプロジェクター51を配置している。プレゼンター61がスクリーン53の前面に立ち、机50の廻りの椅子に複数の参加者63が座っている。プレゼンター61が所有するノートPC10は、プロジェクター51で投影するためのピクセル画像データをプロジェクター51に出力する。プロジェクター51はノートPC10が出力するピクセル画像データを受け取ってスクリーン53のスクリーン面53aにスクリーン画像401を投影する。
プロジェクター51とスクリーン面53aの相対的な位置関係およびノートPC10とスクリーン面53aの相対的な位置関係は固定しておらずその都度変化する。プレゼンター61は、目の間の特徴点405aと人指し指の指先の特徴点405bとポインティング位置401pがポインティング直線411上に並ぶようにポインティング・ジェスチャをする。ステレオ・カメラ25は、スクリーン画像401に対してポインティング・ジェスチャをするプレゼンター61および参加者63を撮影することができるが、スクリーン画像401は撮影できない位置に配置されている。ただし、本発明はステレオ・カメラ25がスクリーン画像401を撮影できる場合も含んでいる。
図3は、ノートPC10が実装するハードウェアおよびソフトウェアで実現した会議支援システム100の構成を説明するための機能ブロック図である。図4は、グローバル座標からピクセル座標を計算する方法を説明するための図である。会議システム100は、カメラ23a、23bと、HDD19が格納するデバイス・ドライバ、オペレーティング・システム、ジェスチャ認識エンジン、アプリケーション・プログラムなどのソフトウェアと、それを実行する図1のハードウェアとで構成した、ユーザ入力部101、特徴点認識部103、グローバル座標計算部105、ポインティング座標計算部107、ピクセル座標計算部109、アプリケーション実行部111および画像出力部113で構成している。
図4において、プレゼンター61または参加者63が所定のポインティング・ジェスチャでポインティングをしている。ポインティング・ジェスチャは、会議支援システム100の初期化と実際の利用のためにプレゼンター61および参加者63が行う。前提として、ポインティングをするプレゼンター61および参加者63はすべて同じようなポインティング・ジェスチャをする。
ユーザ入力部101は、ユーザに対する入力インターフェースを提供するとともに、特徴点認識部103、グローバル座標計算部105、およびポインティング座標計算部107に会議支援システム100を動作させるための指示をする。カメラ23a、23bは動作を開始すると撮影した画像のフレーム・シーケンスを特徴点認識部103に送る。特徴点認識部103は、キャリブレーションに使用するスマートフォンのテンプレートと、ポインティング・ジェスチャをする人体の特徴点405a、405bのテンプレートを保有している。特徴点認識部103は、カメラ23a、23bから受け取ったフレームの画像とあらかじめ登録してあるテンプレートを比較して特徴点を認識する。
ポインティング・ジェスチャをする特徴点405a、405bのテンプレートは、特徴点405a、405bの相互間の距離、および鉛直方向の高低差などのポインティング・ジェスチャに特有の特徴を含む。特徴点認識部103は、それぞれ特徴点を認識したフレーム・シーケンスから同時刻または最も近い時刻のタイムスタンプを有する2つのフレームを取得する。特徴点認識部103は、それぞれのフレームから認識した同一の特徴点405a、405bに対応するカメラ23a、23bの撮像面の座標(u,v)をグローバル座標計算部105に出力する。グローバル座標計算部105は、キャリブレーションの際に、撮像面の座標(u,v)からカメラ23a、23bの光学中心(焦点)を原点とするグローバル座標を計算してグローバル座標系ΣGを構築する。
キャリブレーションが終わったグローバル座標計算部105は、プレゼンター61または参加者63の同一の特徴点405a、405bをほぼ同時に撮影したカメラ23a、23bの画像面の座標(u,v)からグローバル座標(X,Y,Z)を計算して、ポインティング座標計算部107に出力する。ポインティング座標計算部107は、ステレオ・カメラ25がスクリーン画像のコーナー401a〜401dを撮影できないときに、内分比を計算するために、スクリーン面53aに対して平行な平行平面407の式を確定し、スクリーン画像401の4つのコーナー401a〜401dに対応する仮想画像413の4つの仮想コーナー413a〜413dのグローバル座標を計算する。
このときポインティング座標計算部107は、スクリーン画像401のポインティング位置401pに対応する仮想画像413の仮想ポインティング位置413pのグローバル座標を計算する。ポインティング座標計算部107は、スクリーン画像401を撮影できる場合はスクリーン画像401におけるポインティング位置401pのコーナー401a〜401dに対する内分比を計算する。仮想画像413から計算した内分比と、スクリーン画像401から計算した内分比は所定の条件の元で等しくなる。ポインティング座標計算部107は、いずれかの方法で計算した内分比をピクセル座標計算部109に出力する。
ピクセル座標計算部109は、ピクセル画像データにおいて、内分比からポインティング位置401pまたは仮想ポインティング位置413pに対応するピクセル座標を計算する。ここにピクセル画像データは、アプリケーション実行部111が作成する所定のピクセル・サイズの画像データに相当する。ピクセル座標計算部109は、ピクセル座標をアプリケーション実行部111に送る。アプリケーション実行部111は、プレゼンテーション・プログラムやWebブラウザのようなアプリケーション・プログラムを実行してアプリケーション画像データを生成し画像出力部113に送る。
アプリケーション実行部111は、受け取ったピクセル座標を認識して対応するアクションを実行する。アクションの一例では、ポインティング位置401pに、スポット画像を表示したりすでに表示しているマウス・カーソルを移動させたりする。アクションの他の例では、Webブラウザの画面のハイパーテキストに対する入力の処理をする。アクションのさらに他の例では、アプリケーション画像の上にポインティング位置401pに沿って線を描く。アクションのさらに他の例では、アプリケーション画像を構成するボタン画像に対する入力を処理して画面のインクリメントをする。画像出力部113はDVIポート27を通じて、アプリケーション実行部111から受け取ったアプリケーション画像データをプロジェクター51に出力する。
会議支援システム100は、ユーザ入力部101、特徴点認識部103、グローバル座標計算部105、ポインティング座標計算部107およびピクセル座標計算部109を独立したポインティング装置として構成し、アプリケーション実行部111と画像出力部113をノートPC10で構成してもよい。このときもステレオ・カメラ25は、ポインティング装置に組み込んでもよいし有線または無線でポインティング装置に接続してもよい。
[会議支援システムの動作]
つぎに、図1〜図8を参照して会議支援システム100の動作を説明する。図5は、会議支援システム100の動作を説明するためのフローチャートである。ブロック201で、プロジェクター51が、画像出力部113が出力するピクセル画像データをスクリーン面53aにスクリーン画像401として投影している。プロジェクター51が映し出すスクリーン画像401の大きさはその都度変化するため事前に確定していない。プロジェクター51の光軸がスクリーン面53aに対して法線から左右方向に傾斜している場合がある。したがって、スクリーン画像401は左右方向に長くなって、そのアスペクト比がピクセル画像データのアスペクト比と異なることがある。また、光軸がスクリーン面53aに対して法線から上下方向に傾斜している場合がある。したがって、スクリーン画像401の輪郭は上下方向で逆台形になることがある。
ただし、プロジェクターの光軸がスクリーン面53aに対して左右方向に傾斜しない場合およびプロジェクターがスクリーン画像401の台形補正をする場合も本発明の範囲に含む。プレゼンター61は、自分と参加者63のポインティング・ジェスチャを撮影できる位置にノートPC10を配置する。ここではスクリーン画像401がステレオ・カメラ25の画角から外れるものとして説明するが、画角に入る場合も本発明の範囲に含む。画角に入る場合は、会議支援システム100の初期化が容易になるとともに、ポインティング位置401pを認識する精度が向上する。一旦配置したノートPC10は、その後位置および姿勢を変化させないものとする。
ブロック203で、ノートPC10が所定の位置に配置されたときに自動的にまたはプレゼンター61によるユーザ入力部101を通じた指示により、特徴点認識部103とグローバル座標計算部105がキャリブレーションをする。キャリブレーションを開始すると、ステレオ・カメラ25が撮影した、形状とサイズが既知のスマートフォンのような物体の複数の特徴点から、エピポーラ幾何と三角測量の原理を利用して、外部パラメータと内部パラメータが計算される。
キャリブレーションが完了すると、特徴点認識部103とグローバル座標計算部105は、同時に撮影した同一の特徴点のそれぞれの画像面の座標(u,v)から、当該特徴点について3次元空間におけるグローバル座標(X,Y,Z)が計算できるようになる。グローバル座標計算部105はキャリブレーションが終了したことをアプリケーション実行部111に通知する。アプリケーション実行部111は、画像出力部113を通じてスクリーン面53aに会議支援システム100を初期化するためのプロンプトを含むスクリーン画像401を表示する。
ブロック205で、プレゼンター61がユーザ入力部101を通じて、特徴点認識部103、グローバル座標計算部105、およびポインティング座標計算部107に初期化の指示をすると会議支援システム100は初期化モードで動作する。ポインティング座標計算部107は、図6(A)に示すようにアプリケーション実行部111を通じてスクリーン画像401の1つのコーナー401aにマーカー361aを表示して、その位置にポインティング・ジェスチャをするようにプレゼンター61に促す。
ブロック207でプレゼンター61が、マーカー361aに対してポインティング・ジェスチャをすると特徴点認識部103が特徴点405a、405b認識する。特徴点認識部103は、特徴点405a、405bの画像面の座標(u,v)をグローバル座標計算部105に送る。このとき会議支援システム100は、マーカー361aに対するポインティング・ジェスチャが確定したことを認識できない。
プレゼンター61は、マーカー361aに対するポインティング・ジェスチャが確定したと判断したときは音声を通じて、またはキーボードやポインティング・デバイスの操作などを通じてユーザ入力部101に入力する。あるいは、グローバル座標計算部105は、所定の時間だけ特徴点405a、405bが静止していると判断したときにポインティング・ジェスチャが確定したと判断してもよい。
ユーザ入力部101からの通知または自らの判断で、グローバル座標計算部105はポインティング直線403aが確定したことを認識する。グローバル座標計算部105は、特徴点405a、405bに対応する画像面の座標(u,v)からグローバル座標(Xa,Ya,Za)、(Xb,Yb,Zb)を計算してポインティング座標計算部107に送る。ポインティング座標計算部107は、グローバル座標(Xa,Ya,Za)、(Xb,Yb,Zb)を通過するポインティング直線403aの式を求める。2点のグローバル座標(Xa,Ya,Za)、(Xb,Yb,Zb)を通るポインティング直線の式は(1)のとおりである。
Figure 0006124862
つづいて、ポインティング座標計算部107は、アプリケーション実行部111を通じてコーナー401aのマーカー361aを消して図6(B)に示すようにコーナー401bにマーカー361bを表示する。同様にポインティング座標計算部107は、プレゼンター61によるマーカー361bに対するポインティング・ジェスチャからポインティング直線403bの式を求め、さらに、図6(C)、図6(D)に示すコーナー401c、401dのマーカー361c、361dに対するポインティング・ジェスチャからポインティング直線403c、403dの式を求める。
なお、初期化のためのコーナー401a〜401dに対するポインティング・ジェスチャは、任意の参加者63が行うようにしてもよいが、後に説明するように利用モードのときに初期化モードとは違った位置でポインティング・ジェスチャをする場合は、ポインティング位置401pと会議支援システム100が認識するピクセル座標との偏差を縮小する工夫が必要になる。
また、コーナー401a〜401dは、カメラ23a、23bの画角から外れているため、グローバル座標計算部105はコーナー401a〜401dのグローバル座標を計算することができない。本実施の形態では以下に説明するように、スクリーン面53aに平行な平行平面407を設定して、コーナー401a〜401dのグローバル座標に対応する仮想コーナー413a〜413dのグローバル座標を計算してポインティング位置401pのピクセル座標を計算する。
ここで、仮想画像413は平行平面407において、仮想コーナー413a〜413dが、ポインティング直線403a〜403dと交差するが、ポインティング直線の式(1)は、X、Y、Zのいずれかが決まらないと仮想コーナーの座標が確定しない。ブロック209でポインティング座標計算部107は、4つの直線403a〜403dの式から選択した任意の1つの直線403aに対して1つの座標軸に特定のグローバル座標を設定する。ポインティング座標計算部107が、たとえば座標軸Zに任意の値Z1を設定すると式(2)、(3)でX1、Y1を計算して仮想コーナー413aのグローバル座標(X1,Y1,Z1)を確定することができる。
Figure 0006124862
ここで、スクリーン面53aに対するグローバル座標系の座標軸の方向は整合していないため、仮想コーナー413aを通過する平面は無数に存在する。よってその中から、スクリーン画像401を投影するのに都合がよいように、スクリーン面53aに平行な平行平面407を確定する。ブロック211でポインティング座標計算部107はアプリケーション実行部111を通じて、スクリーン面53aに、スクリーン面53aの法線方向を指差しするためのプロンプトを含むスクリーン画像401を表示する。プレゼンター61は、スクリーン面53aの法線方向に向かってポインティングする。
このときポインティング位置は、スクリーン画像401の中に存在する必要はない。ブロック213でポインティング座標計算部107は、ブロック207と同様の手順で特徴点405a、405bのグローバル座標から法線方向のポインティング直線409の式を取得する。ブロック215でポインティング座標計算部107は、仮想コーナー413aのグローバル座標(X1,Y1,Z1)を通過し、ポインティング直線409と直交する平行平面407の式(4)を求める。
a(X−X1)+b(Y−Y1)+c(ZーZ1)+d=0 (4)
ここに、a、b、cは平行平面407の法線ベクトルで、直線409上の2点405a、405bのグローバル座標から計算することができる。dは平行平面407とグローバル座標(X1,Y1,Z1)の原点の距離である。ブロック216でポインティング座標計算部105が、初期化をするプレゼンター61の特徴点405aからスクリーン面53a上の位置401qまでの距離を認識する。この手順は、利用モードにおいて、プレゼンター61が初期化した場所とは異なる場所でポインティングするときのポインティング位置の偏差を縮小することを目的にしているが、詳しい手順は図8を参照して説明する。ブロック217でポインティング座標計算部107は、平行平面407とポインティング直線403b〜403dの交点である仮想コーナー413b〜413dのグローバル座標(X2,Y2,Z2)〜(X4,Y4,Z4)を計算して平行平面407上に仮想コーナー413a〜413dを頂点とする仮想画像413を確定する。ここで、初期化をしたプレゼンター61からみたときにスクリーン画像401と仮想画像413は相似になる。
ブロック219で仮想画像413を確定したポインティング座標計算部107は、アプリケーション実行部111を通じて、スクリーン面53aに初期化が完了して利用モードに移行することを示すメッセージを含むスクリーン画像401を表示する。さらにポインティング座標計算部107は、ユーザ入力部101を通じて特徴点認識部103、グローバル座標計算部105およびポインティング座標計算部107に利用モードに入ることを通知する。
ブロック221でプレゼンター61がスクリーン画像401の任意のポインティング位置401pに向かってポインティング・ジェスチャをする。ブロック223でポインティング座標計算部107はブロック207と同じ手順でポインティング位置401pを通過するポインティング直線411の式を求める。ポインティング座標計算部107は、式(4)と3個の仮想コーナーのグローバル座標から、ポインティング直線411と平行平面407の交点に相当する仮想ポインティング位置413pのグローバル座標(Xp,Yp,Zp)を計算する。スクリーン画像401と仮想画像413は相似になっており、仮想ポインティング位置413pは仮想画像413内に存在する。
ブロック225でポインティング座標計算部107は図7(B)に示すように、仮想ポインティング位置413pのグローバル座標(Xp,Yp,Zp)を仮想画像413の4つのコーナー413a〜413dのグローバル座標(X1,Y1,Z1)〜(X4,Y4,Z4)で内分したときの縦横の内分比(x1:x2)、(y1:y2)を計算してアプリケーション実行部111に通知する。アプリケーション実行部111は図7(A)に示すように、所定のピクセル・サイズ(x3+x4)×(y3+y4)のピクセル画像データ301に、縦横の内分比が(x1:x2)、(y1:y2)に等しい(x3:x4)、(y3:y4)のピクセル座標301pを認識する。
このとき図7(C)に示すスクリーン画像401のコーナー401a〜401dのポインティング位置401pによる内分比(x5:x6)、(y5:y6)は内分比(x3:x4)、(y3:y4)に等しくなる。なお、プロジェクター51の光軸がスクリーン面53に対して左右方向に傾斜したとき、または光軸が上方向を向きかつ台形補正がされないときは、仮想画像413とスクリーン画像401は相似を保ちながら歪むが、その場合でも内分比からポインティング位置401pに対応するピクセル座標301pを取得することができる。
ブロック227でアプリケーション実行部111は、ピクセル座標301pが指示されたと認識して所定のアクションをする。アプリケーション実行部111は、アクションがスポット画像の表示の場合は、スポット画像データ301eをピクセル座標301pの位置に表示するようにアプリケーション画像データにオーバーレイする。その結果、スクリーン画像401のポインティング位置401pには、アプリケーション画像の中にスポット画像データ301eに対応するスポット画像401eが表示される。
ポインティング座標計算部107がポインティング位置401pの変化に応じて仮想ポインティング位置413pのグローバル座標を生成するとスポット画像401eの位置はそれに応じて変化する。プレゼンター61がポインティング・ジェスチャを終了するか、スクリーン画像401から外れたポインティング位置に対するポインティング・ジェスチャをすると、スクリーン画像401からスポット画像401eが消える。
上記の手順は、本発明の実施形態を説明したものであり、すべてが必須の要素ではなく順番もこれに限定するものではない。たとえば、マーカー361a〜361dの表示やプロンプトの表示は省略することができる。また、ポインティング・ジェスチャを人体の2カ所の部位に設定した特徴点で特定したが、ペンのような長い物体を利用してその特徴点を特定してもよい。ブロック207では、スクリーン画像401のコーナー401a〜401cをポインティングしたが、図6(E)に示すようにピクセル座標が既知の場所を初期化のポインティング位置になるように順番にマーカー363a〜363dを表示してピクセル座標を計算するようにしてもよい。
会議支援システム100は、初期化が終了するとプレゼンター61以外の任意の参加者63がポインティング・ジェスチャをして利用することができる。このとき、初期化モードでポインティング・ジェスチャをしたプレゼンター61と、利用モードでポインティング・ジェスチャをする参加者63の位置が異なると、初期化で形成した仮想画像413に対するプレゼンター63と参加者63の相対位置が異なるため、正しいポインティング位置401pにスポット画像401eを表示することができなくなる。
図8は初期化モードの際のポインティング・ジェスチャの位置と利用モードの際のポインティング・ジェスチャの位置の相違に起因して発生する、ポインティング位置401pと仮想ポインティング位置413pから計算したピクセル座標301pの間の偏差を説明するための平面図である。図8は、図4を真上からみたときの様子を示している。図8(A)において、プレゼンター61による初期化で形成した仮想画像413上の仮想ポインティング位置413pは、利用モードにおいてプレゼンター61が初期化した場所でポインティングする限り、スクリーン画像401のコーナー401a〜401dを内分するポインティング位置401pと同じ内分比で仮想コーナー413a〜413dを内分する。
しかし図8(B)に示すように、利用モードにおいて、プレゼンター61が初期化した場所とは異なる場所で参加者63が同じポインティング位置401pをポインティングしたときのポインティング直線411’と仮想画像413の交点である仮想ポインティング位置413p’の間には偏差が発生する。その結果、仮想画像413のコーナー413a〜413dに対する内分比から計算したピクセル座標がスクリーン画像401のポインティング位置401pに対応しなくなる。参加者63が利用モードでポインティングする前に同じ場所でその都度初期化をすれば、ピクセル座標計算部109は当該参加者にとって正しいポインティング位置401pに対応するピクセル座標を認識できるがその操作をしないようにすることもできる。
図8(B)に示すように、仮想画像413とスクリーン画像401の距離Lが短くなると仮想ポインティング位置413pと413p’の位置は近付いて偏差が小さくなることがわかる。偏差が小さい場合は、一旦いずれかの場所で初期化が完了すれば、その後どの場所でポインティング・ジェスチャをしても仮想ポインティング位置413p’からポインティング座標計算部107がほぼ正確にポインティング位置401pに対応する内分比を計算できる。
距離Lは、ブロック209でZ1を仮定して計算した仮想コーナー413aのグローバル座標と、スクリーン面53aのグローバル座標の距離に対応する。仮想コーナー413aのグローバル座標を平行平面407がスクリーン面53aに接近するように設定すれば距離Lは短くなる。しかし、本実施の形態のようにステレオ・カメラ25がスクリーン画像401を撮影できないときは、スクリーン面53aにおけるコーナー401a〜401dのグローバル座標を計算できない。
ここで通常の会議室では、初期化をするプレゼンター61の特徴点405aからスクリーン面53a上の位置401qまでの距離Lqを想定することができる。ポインティング座標計算部107は、想定した距離Lqの式と、特徴点405a、405bの長さの式と、ポインティング直線409の式から、特徴点405aから距離Lqだけ離れた位置401q(図4)のグローバル座標(Xq、Yq、Xq)を計算する。ポインティング座標計算部107は、グローバル座標(Xq、Yq、Xq)を通過し、ポインティング直線409を法線とする平行平面407の式を求める。
ポインティング座標計算部107は初期化の際に、スクリーン画像401に距離Lqを指定するガイダンスを含め、プレゼンター61がスクリーン面53aから指定された距離Lqだけ離れた場所で初期化のポインティング・ジェスチャをする。平行平面407をグローバル座標(Xq、Yq、Xq)含むように設定すれば、距離Lが短くなる。あるいは、初期化をするプレゼンター61が距離Lqを判断して、マイクロフォン21とユーザ入力部101を通じてポインティング座標計算部107に入力するようにしてもよい。距離Lqが推定できることにより、平行平面407からグローバル座標を実際に計算できる仮想画像413がスクリーン画像401に近づき、距離Lを短くすることができる(図8)。
これでまで、初期化の際にステレオ・カメラ25がスクリーン画像401のコーナー401a〜401dを撮影できないことを前提に説明してきた。このとき、スクリーン画像401の輪郭が矩形でなくても4つのコーナー401a〜401dのグローバル座標を仮想画像413の仮想コーナー413a〜413dに射影して内分比を計算することができた。
ステレオ・カメラ25に広角レンズを用いたり、カメラの台数を増やしたりして、スクリーン画像401のコーナーを1個でも撮影することができれば、仮想平面413を設定しないで、スクリーン面53a上のスクリーン画像401の輪郭を確定することができる。その結果、距離Lとポインティング・ジェスチャの位置の違いで発生していた偏差も生じなくなる。
また、プロジェクター51が台形補正をすることで、スクリーン画像401が矩形であると想定できればブロック207でコーナー401dに対するポインティング・ジェスチャをしないでも、コーナー401a〜401cのグローバル座標からコーナー401dのグローバル座標を計算することができる。さらにプロジェクター51の光軸をスクリーン面53aに対して傾斜させないことで、スクリーン画像401がピクセル画像データ301のアスペクト比を維持している場合は、2個のコーナーに対するポインティング・ジェスチャで仮想コーナー413a〜413dを確定することができる。
また、スクリーン画像401の4つのコーナーをすべて撮影できれば、ポインティング直線403aないし403dを計算しなくても、スクリーン画像401のグローバル座標を確定することができる。また、スクリーン画像の1個または2個のコーナーを撮影できれば、その数だけコーナーに対するポインティング・ジェスチャの回数を減らすことができる。
また、スクリーン画像401に対するポインティングについて説明したが、本発明は、ノートPC10が生成したピクセル画像データを表示する大型のモニターに適用することもできる。モニターは矩形の画面の大きさおよびアスペクト比があらかじめ決まっており、スクリーン画像のようにプロジェクター51の位置によって画像が歪むことがないため、初期化は一層容易になる。たとえば、ステレオ・カメラ25がモニター画面のコーナーを撮影しないときでも、3個のコーナーに対するポインティング・ジェスチャで、グローバル座標系でモニター画面の位置を特定することができる。
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
10 ノートブック型パーソナル・コンピュータ
53 スクリーン
53a スクリーン平面
100 会議支援システム
301 アプリケーション画像
301a〜301c 基準ピクセル座標
361、363 スクリーン画像のマーカー画像
401 スクリーン画像
401a〜401d スクリーン画像のコーナー
401p ポインティング位置(スクリーン画像とポインティング直線411の交点)
401q 法線方向のポインティング直線上の点
403a〜403d コーナーに対するポインティング直線
409 法線方向のポインティング直線
411 任意の方向のポインティング直線
405a 人体の特徴点(目の間)
405b 人体の特徴点(人指し指の指先)
407 平行平面
413 仮想画像
413a〜413d 仮想画像のコーナー
413p 仮想ポインティング位置(平行平面413とポインティング直線411の交点)
X、Y,Z グローバル座標

Claims (18)

  1. ピクセル画像データを表示した表示画像に対するポインティング・ジェスチャに応じてコンピュータがアクションをする方法であって、
    前記表示画像を撮影しない任意の方向を向いているステレオ・カメラが撮影したポインティング・ジェスチャの画像から特徴点のグローバル座標を取得するステップと、
    前記表示画像に平行な平行平面を設定するステップと、
    前記表示画像の基準ポインティング位置に対するポインティング・ジェスチャから前記基準ポインティング位置に対応する前記平行平面上の基準グローバル座標を取得するステップと、
    前記表示画像の任意ポインティング位置に対するポインティング・ジェスチャから前記任意ポインティング位置に対応する前記平行平面上の任意グローバル座標を取得するステップと、
    前記基準グローバル座標に対する前記任意グローバル座標の相対位置から任意ピクセル座標を取得するステップと、
    前記コンピュータが前記任意ピクセル座標を認識して所定のアクションを実行するステップと
    を有する方法。
  2. 前記基準ポインティング位置が前記表示画像の輪郭である請求項1に記載の方法。
  3. 前記基準ポインティング位置が前記表示画像のコーナーである請求項1に記載の方法。
  4. 前記任意ピクセル座標を取得するステップが、前記表示画像の輪郭に対応する前記基準グローバル座標を内分する前記任意グローバル座標の内分比を計算するステップを含む請求項1に記載の方法。
  5. 前記平行平面を設定するステップが、前記表示画像の垂直方向に対するポインティング・ジェスチャから法線の式を計算するステップを含む請求項1に記載の方法。
  6. 前記法線の式に前記ポインティング・ジェスチャをする位置から前記表示画像の表示面までの距離を設定して前記平行平面の位置を決定するステップを有する請求項5に記載の方法。
  7. 前記表示画像の表示面から前記ポインティング・ジェスチャをする位置までの距離を前記コンピュータが指定する請求項6に記載の方法。
  8. 前記表示画像の表示面から前記ポインティング・ジェスチャをする位置までの距離を操作者が前記コンピュータに設定する請求項6に記載の方法。
  9. 前記表示画像が、プロジェクターがスクリーン面に投影するスクリーン画像である請求項1に記載の方法。
  10. 前記プロジェクターが台形補正または前記スクリーン面に対する光軸調整をしない請求項9に記載の方法。
  11. 前記アクションが前記任意ピクセル座標にスポット画像を表示する処理である請求項1に記載の方法。
  12. 前記アクションが前記任意ピクセル座標に定義した入力を認識する処理である請求項1に記載の方法。
  13. 表示画像を表示する表示面に対して前記表示画像を撮影しない任意の位置に設置されるステレオ・カメラが撮影したポインティング・ジェスチャの画像から特徴点のグローバル座標を取得することが可能なコンピュータに、
    前記表示面にピクセル画像データに対応する前記表示画像を表示するステップと、
    前記表示画像の基準ポインティング位置に対するポインティング・ジェスチャから基準直線の式を取得するステップと、
    前記表示面に平行な平行平面の式を取得するステップと、
    前記平行平面の式と前記基準直線の式から前記平行平面上に前記表示画像に対応する仮想表示画像を設定するステップと、
    前記表示画像の任意ポインティング位置に対するポインティング・ジェスチャから任意直線の式を取得するステップと、
    前記任意直線の式と前記仮想表示画像の交点から前記任意ポインティング位置に対応する任意ピクセル座標を取得するステップと
    を有する処理を実行させるためのコンピュータ・プログラム。
  14. 前記平行平面の式を取得するステップが、前記基準直線の式に所定の座標を設定するステップと、前記表示面の法線方向に対するポインティング・ジェスチャから法線ベクトルを取得するステップを含む請求項13に記載のコンピュータ・プログラム。
  15. 前記平行平面の式を取得するステップが、前記表示面に対するポインティング・ジェスチャから法線の式を計算するステップと、前記ポインティング・ジェスチャをする位置と前記表示面の距離に相当する長さを前記法線と前記平行平面の交点に設定するステップを含む請求項14に記載のコンピュータ・プログラム。
  16. 前記交点に設定するステップが、ポインティング・ジェスチャをする位置と前記表示面の距離を操作者から受け取るステップを含む請求項15に記載のコンピュータ・プログラム。
  17. 表示面が表示する表示画像に対するポインティング・ジェスチャでアクションをすることが可能な会議支援システムであって、
    前記表示画像を撮影しない任意の位置に配置される複数のカメラと、
    前記複数のカメラが撮影した画像からポインティング・ジェスチャの特徴点のグローバル座標を計算するグローバル座標計算部と、
    前記表示面の法線方向に対するポインティング・ジェスチャから前記表示面に平行な平行平面を設定し、前記表示画像の基準ポインティング位置に対応するポインティング・ジェスチャから前記平行平面上の基準グローバル座標を計算し、前記表示画像の任意ポインティング位置に対応するポインティング・ジェスチャから前記平行平面上の任意グローバル座標を計算し、前記基準グローバル座標に対する前記任意グローバル座標の相対位置を計算するポインティング座標計算部と、
    前記相対位置に対応する任意ピクセル座標を計算するピクセル座標計算部と、
    前記任意ピクセル座標を認識してアプリケーション・プログラムを操作するアプリケーション実行部と
    を有する会議支援システム。
  18. 表示画像を撮影しない任意の位置に配置される複数のカメラと、
    前記表示画像を表示するプロジェクターに接続するインターフェースと、
    前記複数のカメラが撮影した画像からポインティング・ジェスチャの特徴点のグローバル座標を計算するグローバル座標計算部と、
    前記表示画像の法線方向に対するポインティング・ジェスチャから前記表示画像に平行な平行平面を設定し、ポインティング・ジェスチャにより計算した前記表示画像の基準ポインティング位置に対するポインティング直線と前記表示画像の任意ポインティング位置に対するポインティング直線と前記平行平面の交点から、前記基準ポインティング位置に対する前記任意ポインティング位置の相対位置を計算するポインティング座標計算部と、
    前記相対位置から前記任意ポインティング位置に対応する任意ピクセル座標を計算するピクセル座標計算部と、
    前記任意ピクセル座標を認識して所定のアクションをするアプリケーション実行部と
    を有する携帯式コンピュータ。
JP2014238448A 2014-11-26 2014-11-26 ポインティング・ジェスチャに応じたアクションをする方法、会議支援システム、およびコンピュータ・プログラム Active JP6124862B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014238448A JP6124862B2 (ja) 2014-11-26 2014-11-26 ポインティング・ジェスチャに応じたアクションをする方法、会議支援システム、およびコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014238448A JP6124862B2 (ja) 2014-11-26 2014-11-26 ポインティング・ジェスチャに応じたアクションをする方法、会議支援システム、およびコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2016099917A JP2016099917A (ja) 2016-05-30
JP6124862B2 true JP6124862B2 (ja) 2017-05-10

Family

ID=56077885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014238448A Active JP6124862B2 (ja) 2014-11-26 2014-11-26 ポインティング・ジェスチャに応じたアクションをする方法、会議支援システム、およびコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP6124862B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018083737A1 (ja) * 2016-11-01 2018-05-11 マクセル株式会社 表示装置及び遠隔操作制御装置
CN111580662A (zh) * 2020-05-08 2020-08-25 北京奇艺世纪科技有限公司 一种视图滚动的控制方法、装置、电子设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3114813B2 (ja) * 1991-02-27 2000-12-04 日本電信電話株式会社 情報入力方法
JP3456735B2 (ja) * 1994-02-21 2003-10-14 沖電気工業株式会社 情報入力装置及びそれを用いたプレゼンテーションシステム
JP2003044222A (ja) * 2001-07-31 2003-02-14 Fuji Photo Optical Co Ltd プレゼンテーションシステムおよびプレゼンテーション方法
JP2011150609A (ja) * 2010-01-22 2011-08-04 Kyocera Corp 投影制御装置及び投影方法、並びに投影制御用コンピュータプログラム
JP5927845B2 (ja) * 2011-11-01 2016-06-01 セイコーエプソン株式会社 表示装置、表示装置の制御方法、及び、プログラム

Also Published As

Publication number Publication date
JP2016099917A (ja) 2016-05-30

Similar Documents

Publication Publication Date Title
JP6090140B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP4677281B2 (ja) 画像処理方法、画像処理装置
JP2013258614A (ja) 画像生成装置および画像生成方法
JP5798183B2 (ja) ポインティング制御装置とその集積回路、およびポインティング制御方法
JP7372061B2 (ja) 遠隔作業支援システム
JP2012053631A (ja) 情報処理装置、情報処理方法
JP2003296757A (ja) 情報処理方法および装置
JP2019008623A (ja) 情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体
JP2020004325A (ja) 画像処理装置、画像処理方法およびプログラム
KR20230072757A (ko) 웨어러블 전자 장치 및 웨어러블 전자 장치의 동작 방법
US10901213B2 (en) Image display apparatus and image display method
JP2014203175A (ja) 情報処理装置、情報処理方法及びプログラム。
JP6124862B2 (ja) ポインティング・ジェスチャに応じたアクションをする方法、会議支援システム、およびコンピュータ・プログラム
JP2022058753A (ja) 情報処理装置、情報処理方法及びプログラム
JP2018112894A (ja) システムおよび制御方法
US10296098B2 (en) Input/output device, input/output program, and input/output method
JP6452585B2 (ja) 情報処理装置および位置情報取得方法
JP2017134803A (ja) 情報処理装置、情報処理方法
JP6124863B2 (ja) ポインティング・ジェスチャ位置を認識する方法、コンピュータ、およびコンピュータ・プログラム
JP2015201734A (ja) 画像処理装置、画像処理装置の制御方法およびプログラム
JP2014155635A (ja) 視線計測装置、注視領域の表示方法および注視点のガウス分布の表示方法
JP7012983B2 (ja) 顔画像処理装置
JP7118383B1 (ja) 表示システム、表示方法、及び表示プログラム
WO2017098999A1 (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法、及び、コンピュータープログラム
JP7427739B2 (ja) 表示装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161030

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170404

R150 Certificate of patent or registration of utility model

Ref document number: 6124862

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250