JP2016099918A - ポインティング・ジェスチャ位置を認識する方法、コンピュータ、およびコンピュータ・プログラム - Google Patents

ポインティング・ジェスチャ位置を認識する方法、コンピュータ、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP2016099918A
JP2016099918A JP2014238449A JP2014238449A JP2016099918A JP 2016099918 A JP2016099918 A JP 2016099918A JP 2014238449 A JP2014238449 A JP 2014238449A JP 2014238449 A JP2014238449 A JP 2014238449A JP 2016099918 A JP2016099918 A JP 2016099918A
Authority
JP
Japan
Prior art keywords
pointing
image data
global
coordinates
image
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.)
Granted
Application number
JP2014238449A
Other languages
English (en)
Other versions
JP6124863B2 (ja
Inventor
下遠野 享
Susumu Shimotoono
享 下遠野
俊 羅
Shun Ami
俊 羅
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 JP2014238449A priority Critical patent/JP6124863B2/ja
Publication of JP2016099918A publication Critical patent/JP2016099918A/ja
Application granted granted Critical
Publication of JP6124863B2 publication Critical patent/JP6124863B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】画像データに対応するスクリーン画像のポインティング位置を指示するポインティング・ジェスチャをステレオ・カメラで撮影してポインティング位置を認識する。【解決手段】画像データを出力するノートPC10は、ステレオ・カメラ23a、23bを実装する。ステレオ・カメラは、ポインティング・ジェスチャをするプレゼンター61と同時にスクリーン画像201の全体を撮影することはできない。スクリーン画像の一部の撮影データから表示画像の4個のコーナーのグローバル座標を取得する。ポインティング位置251pに対するポインティング・ジェスチャの撮影データからポインティング位置のグローバル座標を取得する。コーナーのグローバル座標に対するポインティング位置のグローバル座標の相対位置からポインティング位置に対応する画像データのピクセル座標を取得する。【選択図】図2

Description

本発明は、表示画像に対して任意の位置に配置したステレオ・カメラの撮影データでポインティング・ジェスチャが指示した位置を認識する技術に関する。
プロジェクターは、コンピュータが作成した画像データをプロジェクター・スクリーンに投影してスクリーン画像として表示する。また、画像データは大型のモニター・テレビに表示する場合もある。会議の参加者はプロジェクター・スクリーンに投影されたスクリーン画像やモニター・テレビに表示された画像(以後、スクリーン画像)を同時に共有する。プレゼンターや各参加者がスクリーン画像上の特定の位置を指で指すときは、指差し棒やレーザー・ポインターなどを使用する。
特許文献1は、大型ディスプレイやプロジェクターなどの大型画面に表示したカーソルをユーザが指差しする方向に移動させる発明を開示する。同文献には、顔と指先までの距離を計算して複数の操作者のなかからカーソルを操作する操作者を決定することが記載されている。特許文献2は、ビデオ会議システムにおいて特定の参加者が指す方向を決定する発明を開示する。同文献には、各参加者が異なるように指す場合に校正することで正しいポインティング方向を決定する方法が記載されている。
特許文献3は、プレゼン画像を投影するプロジェクターの投影範囲の所定の位置Pをレーザ−・ポインタで照射した状態を撮影したカメラの撮影画像から、位置Pに対応する投影画像の座標を取得する発明を開示する。同文献には、モニターに表示されたプレゼン画像の4点のコーナーから位置Pの座標を検出することが記載されている。
国際公開第2012/144145号公報 特表2004−504675号公報 特開2006−236195号公報
特許文献1および特許文献2が記載する表示システムのように、表示画面に対するステレオ・カメラの位置および姿勢があらかじめ決まっている装置では、ステレオ・カメラが計測する3次元座標と、表示画面に2次元配置された画像に対応する画像データの座標(以後、ピクセル座標)を関連付けておくことができる。したがって、指差しをしたときのポインティング・ジェスチャをステレオ・カメラで観測して、指差しの方向にあるスクリーン画像上の任意の位置(ポインティング位置)の3次元座標を計算すれば、ポインティング位置に対応するピクセル座標を計算することができる。
近年、ディスプレイ筐体の縁枠にステレオ・カメラを実装したノートブック型パーソナル・コンピュータ(ノートPC)が開発されている。ノートPCは、プロジェクターで表示する画像データを生成することができるため、ノートPCが実装するステレオ・カメラがスクリーン画像のポインティング位置を認識できれば、ポインティング・ジェスチャでノートPCに入力ができて都合がよい。この場合、ステレオ・カメラの位置とプロジェクター・スクリーンの相対的な位置関係はその都度変化するため、スクリーン画像の位置とステレオ・カメラの位置および姿勢の相互関係を事前に確定できないことになる。また、ノートPCが実装するステレオ・カメラは、撮影が前方の所定の視野角の範囲に限られるため、会議の参加者とスクリーン画像の全体を同時に撮影できないことが多い。
そこで本発明の目的は、ステレオ・カメラの撮影データで表示画像に対するポインティング・ジェスチャで示したポインティング位置を認識する方法を提供することにある。さらに本発明の目的は、あらかじめスクリーン画像に対する相対的な位置が定まってないステレオ・カメラの撮影データでポインティング位置を認識する方法を提供することにある。さらに本発明の目的は、スクリーン画像の一部のコーナーを表示できないステレオ・カメラの撮影データでポインティング位置を認識する方法を提供することにある。さらに本発明の目的は、さまざまな位置で行われるポインティング・ジェスチャのポインティング位置を認識する方法を提供することにある。さらに、本発明の目的は、そのような方法を実現するコンピュータおよびコンピュータ・プログラムを提供することにある。
本発明は、画像データに対応する表示画像のポインティング位置を指示するポインティング・ジェスチャをステレオ・カメラで撮影してポインティング位置を認識する方法を提供する。一の態様では、表示画像の一部の撮影データから表示画像の基準位置のグローバル座標を取得し、ポインティング位置に対するポインティング・ジェスチャの撮影データからポインティング位置のグローバル座標を取得し、基準位置のグローバル座標に対するポインティング位置のグローバル座標の相対位置からポインティング位置に対応する画像データのピクセル座標を取得する。
したがって、ステレオ・カメラと表示画像の位置にあらかじめグローバル座標で関連づけがなくても、表示画像の基準位置のグローバル座標とポインティング位置のグローバル座標からポインティング位置に対応する画像データのピクセル座標を取得することができる。ポインティング位置をピクセル座標として認識することで、画像データを生成するシステムは、ピクセル座標に対する入力を処理してさまざまなアクションを実行できる。
表示画像は、プロジェクターが投影するスクリーン画像でもよいし大型のモニター・テレビが映し出す画像でもよい。これらはいずれも撮影を開始したときのステレオ・カメラとの位置関係が不定状態になっている。基準位置は、輪郭を4辺で構成した表示画像の4つのコーナーとすることができる。このとき、ピクセル座標は、4つのコーナーのグローバル座標に対するポインティング位置のグローバル座標の内分比を計算することで取得することができる。
表示画像が矩形のときは、表示画像の一部の撮影データが、表示画像の縦辺が形成する2個のコーナーを含むものでもよい。このとき、ステレオ・カメラの撮像面における表示画像の縦辺と横辺が形成する角度と表示画像のアスペクト比からステレオ・カメラの表示画像の面に対する位置姿勢を特定して、撮影していないコーナーのグローバル座標を取得することができる。あるいは、表示画像の撮影していないコーナーに対するポインティング・ジェスチャの撮影データから撮影していないコーナーのグローバル座標を取得することができる。
本発明の他の態様では、ピクセル・サイズに対する所定の割合のスケール画像データを含む画像データに対応する表示画像の撮影データから表示画像の基準位置のグローバル座標を取得する。このとき、輪郭を4辺で構成した表示画像の1個のコーナーとスケール画像の撮影データから、撮影した1個のコーナーと撮影しない2個のコーナーのグローバル座標を計算することができる。さらに、表示画像が矩形または対称な台形であれば、取得した3個のグローバル座標から残りの1個のグローバル座標を計算することができる。
さらに、輪郭を4辺で構成した表示画像の撮影した2個のコーナーとスケール画像の撮影データから撮影しない2個のコーナーのグローバル座標を計算することができる。この場合は、表示画像が歪んでいても4個のグローバル座標を取得することができる。さらに本発明の他の態様では、第1の位置姿勢のステレオ・カメラが基準物体と表示画像の基準位置を撮影した撮影データから基準物体と基準位置のグローバル座標を取得し、第2の位置姿勢のステレオ・カメラが基準物体とポインティング・ジェスチャを撮影した撮影データから基準物体とポインティング・ジェスチャの特徴点のグローバル座標を取得して、ポインティング位置のグローバル座標を取得する。
ポインティング位置のグローバル座標は、第1の位置姿勢または第2の位置姿勢のいずれかの座標系で計算することができる。表示画像の輪郭が4辺で構成されているときに、第1の位置姿勢で4個のコーナーを撮影すれば、表示画像は歪んでいてもよい。表示画像をプロジェクターのスクリーン画像とし、基準物体をプロジェクターとすることができる。ステレオ・カメラは、画像データを生成する携帯式コンピュータに実装することができる。
本発明により、ステレオ・カメラの撮影データで表示画像に対するポインティング・ジェスチャで示したポインティング位置を認識する方法を提供することができた。さらに本発明により、あらかじめスクリーン画像に対する相対的な位置が定まってないステレオ・カメラの撮影データでポインティング位置を認識する方法を提供することができた。さらに本発明により、スクリーン画像の一部のコーナーを表示できないステレオ・カメラの撮影データでポインティング位置を認識する方法を提供することができた。さらに本発明により、さまざまな位置で行われるポインティング・ジェスチャのポインティング位置を認識する方法を提供することができた。さらに、本発明により、そのような方法を実現するコンピュータおよびコンピュータ・プログラムを提供することができた。
ノートPC10のハードウェアを説明するための概略の機能ブロック図である。 会議支援システム100を使用するときの様子を説明するための平面図である。 会議支援システム100の構成を説明するための機能ブロック図である。 スクリーン画像201の構成を説明するための図である。 ステレオ・カメラ23の位置姿勢による座標系の変化を説明するための図である。 ステレオ・カメラ23が基準位置姿勢231に対して平行移動したときの撮像面281a、281bの画像を説明するための図である。 ステレオ・カメラ23が基準位置姿勢231に対してZ軸廻りに回転したときの撮像面283a、283bの画像を説明するための図である。 ステレオ・カメラ23が基準位置姿勢231に対してY軸廻りに回転したときの撮像面285a、285bの画像を説明するための図である。 ステレオ・カメラ23が基準位置姿勢231に対してX軸廻りに回転したときの撮像面287a、287bの画像を説明するための図である。 会議支援システム100の動作を説明するためのフローチャートである。 撮影時のステレオ・カメラ23の座標系をY軸廻りに回転しない座標系に変換する様子を説明するための図である。 撮影時のステレオ・カメラ23の座標系をX軸廻りに回転しない座標系に変換する様子を説明するための図である。 Z軸廻りに回転したステレオ・カメラ23の座標系の回転角度θを計算する方法を説明するための図である。 スクリーン画像201に対するポインティング位置251pのグローバル座標からピクセル座標451pを計算する方法を説明するための図である。 会議支援システム100の動作を説明するためのフローチャートである。 スケール画像で撮影した1個のコーナーのグローバル座標から撮影していない2個のコーナーのグローバル座標を計算する方法を説明するための図である。 コーナーを撮影できないときに、コーナーの座標を取得する方法を説明するための図である。 歪んだスクリーン画像201bに対するポインティング位置251pのグローバル座標からピクセル座標451pを計算する方法を説明するための図である。
[ノートPCのハードウェア構成]
図1(A)は、会議支援システム100(図3)を構成するノートPC10のハードウェアの構成を説明するための概略の機能ブロック図で、図1(B)は外形を示す斜視図である。本発明との関連において、ノートPC10のハードウェアの構成は周知であるため説明は簡略化する。CPU11はグラフィック・コアを内蔵しておりLCD15とシステム・メモリ13が接続されている。チップセット17は、さまざまなインターフェースのコントローラを内蔵している。チップセット17のSATAコントローラにはHDD19が接続され、USBコントローラにはキーボード、ポインティング・デバイスまたはマイクロフォンなどの入力デバイス21が接続され、他のUSBコントローラには有線または無線で2個のカメラ23a、23bで構成したステレオ・カメラ23が接続され、DVIコントローラにはDVIポート25が接続されている。
DVIポート25には有線または無線でプロジェクター51(図2)を接続して、LCD15が表示する画面に対応する画像データを出力することができる。HDD19は、会議支援システム100を構成するソフトウェアを格納する。ステレオ・カメラ23を構成する2個のカメラ23a、23bはそれぞれイメージセンサーを内蔵しており、所定のフレーム・レートで撮影した撮影データをシステムに出力する。ステレオ・カメラ23は、ディスプレイ筐体12の縁枠31に装着している。ディスプレイ筐体12は、システム筐体14にヒンジ機構で結合されている。ユーザはノートPC10を使用する際に、ディスプレイ筐体12を適度な位置まで回動させる。机上に置かれたステレオ・カメラ23の光軸は、ディスプレイ筐体12の角度で上下方向に変化し、LCD15の向きで左右方向に変化する。
[会議支援システム]
図2は、会議支援システム100の利用環境の一例を説明するための平面図である。机50の上には、ノートPC10に有線または無線で接続されたプロジェクター51を配置している。プレゼンター61がスクリーン53の前面に立ち、机50の廻りの椅子に複数の参加者63が座っている。プレゼンター61が所有するノートPC10は、プロジェクター51で投影するための画像データをプロジェクター51に出力する。プロジェクター51はノートPC10が出力する画像データを受け取ってスクリーン53のスクリーン面53aにスクリーン画像201を投影する。
プロジェクター51とスクリーン面53aの相対的な位置関係およびノートPC10とスクリーン面53aの相対的な位置関係は固定しておらずその都度変化する。プレゼンター61は、目の間の特徴点255aと人指し指の指先の特徴点255bとポインティング位置251pがポインティング直線253上に並ぶようにポインティング・ジェスチャをする。会議支援システム100を利用する、プレゼンター61および参加者63はすべて同じようなポインティング・ジェスチャをする。
会議支援システム100はステレオ・カメラ23の撮影データからポインティング・ジェスチャとスクリーン画像201の4個のコーナーのグローバル座標を計算して、ポインティング位置251pのグローバル座標を計算し、ポインティング位置251pに対応する画像データにおけるピクセル座標への入力を認識してさまざまなアクションを実行する。
ステレオ・カメラ23は、スクリーン画像201に対してポインティング・ジェスチャをするプレゼンター61および参加者63を撮影する必要がある。本発明の好適な例においては、ノートPC10をプレゼンテーションおよびポインティング・ジェスチャの撮影に適した位置に配置するため、ステレオ・カメラ23がスクリーン画像201の4個のコーナーを撮影できない位置に配置されている。ただし、本発明はステレオ・カメラ23がスクリーン画像201の4個のコーナーを撮影できる場合も含んでいる。
図3は、ノートPC10が実装するハードウェアおよびソフトウェアで実現した会議支援システム100の構成を説明するための機能ブロック図である。図4は、スクリーン画像201と、その表示空間に定義するグローバル座標系を説明するための図である。図5は、スクリーン画像201に対するステレオ・カメラ23の相対的な位置姿勢を説明するための図である。
図3において会議システム100は、ステレオ・カメラ23と、HDD19が格納するデバイス・ドライバ、オペレーティング・システム、ジェスチャ認識エンジン、アプリケーション・プログラムなどのソフトウェアと、それを実行する図1のハードウェアとで構成した、ユーザ入力部101、特徴点認識部103、グローバル座標計算部105、ポインティング座標計算部107、ピクセル座標計算部109、アプリケーション実行部111および画像データ出力部113で構成している。
図5に示すようにステレオ・カメラ23はキャリブレーションを終了したときに、いずれか一方のカメラ23a、23bの撮像面24から焦点距離fだけ離れた焦点を原点とし、撮像面24の中心を通る法線をY軸とし、撮像面の横辺に沿ってX軸、縦辺に沿ってZ軸を定義した3次元のカメラ座標系を形成する。本実施の形態では、一例としてカメラ座標系とグローバル座標系を一致させている。
制御部101は、入力デバイス21を含み、ユーザに対する入力インターフェースを提供するとともに、特徴点認識部103、グローバル座標計算部105、およびポインティング座標計算部107に会議支援システム100を初期化モードおよび利用モードのいずれかで動作させるための指示をする。ステレオ・カメラ23は動作を開始すると撮影データのフレーム・シーケンスを特徴点認識部103に送る。特徴点認識部103は、ポインティング・ジェスチャをする人体の特徴点255a、255b、スクリーン画像201のコーナーCl1、Cl2、Cr1、Cr2の特徴点、プロジェクター51の特徴点51a(図17)、およびスケール画像603(図16)の特徴点などのテンプレートを保有している。
特徴点認識部103は、ステレオ・カメラ23から受け取ったフレームとあらかじめ登録してあるテンプレートを比較して特徴点を認識する。ポインティング・ジェスチャをする特徴点255a、255bのテンプレートは、特徴点255a、255bの相互間の距離、および鉛直方向の高低差などのポインティング・ジェスチャに特有の特徴を含み、特徴点認識部103はポインティング・ジェスチャをしない同じ特徴点255a、255bに対してはポインティング・ジェスチャを認識しない。特徴点認識部103は、それぞれ特徴点を認識したカメラ23a、23bのフレーム・シーケンスから同時刻または最も近い時刻のタイムスタンプを有する2つのフレームを取得する。
特徴点認識部103は、初期化モードのときに、それぞれのフレームから認識したスクリーン画像201の4個のコーナーCl1、Cl2、Cr1、Cr2の特徴点、または、スケール画像603の特徴点などに対応するカメラ23a、23bの撮像面24の座標をグローバル座標計算部105に出力する。特徴点認識部103は、利用モードのときに、それぞれのフレームから認識した特徴点255a、255bに対応するカメラ23a、23bの撮像面24の座標をグローバル座標計算部105に出力する。
グローバル座標計算部105は、2つのカメラ23a、23bの撮像面24の座標から、各特徴点のグローバル座標(X,Y,Z)を計算する。グローバル座標計算部105は、初期化モードのときに、特徴点認識部103から4個のコーナーCl1、Cl2、Cr1、Cr2の特徴点に対応する撮像面24の座標を受け取っていないときに、受け取っていないコーナーのグローバル座標(X,Y,Z)を計算する。
グローバル座標計算部105は、利用モードのときに、プレゼンター61または参加者63の特徴点255a、255bに対応する撮像面24の座標からポインティング直線253の式を取得し、スクリーン画像201の平面の方程式とポインティング直線253の式からポインティング位置251pのグローバル座標を計算する。グローバル座標計算部105は、4個のコーナーCl1、Cl2、Cr1、Cr2のグローバル座標およびポインティング位置251pのグローバル座標をポインティング座標計算部107に送る。
ポインティング座標計算部107は、スクリーン画像201におけるポインティング位置251pの、コーナーCl1、Cl2、Cr1、Cr2に対する縦辺203a、203cと横辺203d、203bの内分比をグローバル座標系で計算して、ピクセル座標計算部109に出力する。ピクセル座標計算部109は、内分比からポインティング位置251pに対応する画像データ401(図14)の位置のピクセル座標451pを計算する。
ここに画像データ401は、アプリケーション実行部111が作成するp×qの所定のピクセル・サイズのデータ構造に相当する。画像データは、LCD15の画素マトリクスの輝度情報を含む。ピクセル・サイズの縦辺と横辺の比Asp(p:q)をアスペクト比という。ピクセル座標計算部109は、ピクセル座標451pをアプリケーション実行部111に送る。アプリケーション実行部111は、プレゼンテーション・プログラムやWebブラウザのようなアプリケーション・プログラムを実行して画像データを生成する。
アプリケーション実行部111は、受け取ったピクセル座標451pを認識して対応するアクションを実行する。アクションの一例では、ポインティング位置251pに、スポット画像を表示したりすでに表示しているマウス・カーソルを移動させたりする。アクションの他の例では、Webブラウザの画面のハイパーテキストに対する入力の処理をする。アクションのさらに他の例では、アプリケーション画像の上にポインティング位置251pに沿って線を描く。
アクションのさらに他の例では、アプリケーション画像を構成するボタン画像に対する入力を処理して画面のインクリメントをする。アプリケーション実行部111は、画像データを画像データ出力部113に送る。画像データ出力部113はDVIポート25を通じて、アプリケーション実行部111から受け取った画像データをプロジェクター51に出力する。この画像データは、アクションの結果を反映したデータを含む。
会議支援システム100は、ユーザ入力部101、特徴点認識部103、グローバル座標計算部105、ポインティング座標計算部107およびピクセル座標計算部109を独立したポインティング装置として構成し、アプリケーション実行部111と画像データ出力部113をノートPC10で構成してもよい。このときステレオ・カメラ23は、ポインティング装置に組み込んでもよいし有線または無線でポインティング装置に接続してもよい。
図4において、プロジェクター51は、スクリーン面53aに4つのコーナーCl1、Cl2、Cr1、Cr2を含むスクリーン画像201を投影している。スクリーン面53aに対して、垂直面53bと水平面53cを定義する。スクリーン面53a、垂直面53b、水平面53cは相互に直交する。プロジェクター51の光軸52は、垂直面53b上に存在し、スクリーン面53a上で、スクリーン画像201の中心に対応する垂直面53bと水平面53cが交差する位置を向いている。
一例において、プロジェクター51は台形補正機能を備えており、スクリーン画像201の輪郭は、アスペクト比Aspが画像データ401と一致する矩形になっている。ここでは矩形のスクリーン画像201の縦辺203a、203cは長さがaで、横辺203d、203bは長さがbである。台形補正機能のないプロジェクター51の光軸52が垂直面53b上を通過するように投影したときのスクリーン画像201aは、ライン202を中心に左右対称になる。
また、光軸52が垂直面53bおよび水平面53cのいずれの上にも存在しない状態のスクリーン画像201bは、輪郭が歪む。矩形のスクリーン画像201および対称な台形のスクリーン画像201a以外の四角形のスクリーン画像を歪んだスクリーン画像201bという。本発明は、コーナーの撮影個数に応じてこれらのいずれのスクリーン画像にも適用することもできる。
撮影個数が2個のときは、画像データ401のアスペクト比Aspを維持した矩形状のスクリーン画像201であることを条件に、図10のブロック307からブロック321の手順を適用することができる。撮影個数が1個のときは、スケール画像603(図16)を利用することを条件に、ブロック553、555の手順を適用することができる。この場合、矩形のスクリーン画像201だけでなく台形補正のない対称なスクリーン画像201aに適用することもできる。
撮影個数が3個のときは、図15のブロック551の手順を適用することができる。このとき、スケール・データ463(図16)のスケール画像を利用することで、歪んだスクリーン画像201bに適用することもできる。撮影個数が4個のときは、スケール画像603を利用しないで、歪んだスクリーン画像201bに適用することができる。いずれのコーナーも撮影できないときは、プロジェクター51のような基準物体を利用する図15のブロック507からブロック513までの手順を適用することができる。この場合、歪んだスクリーン画像201bに適用することができる。
図5において、グローバル座標系のY軸をスクリーン画像201の中心を通るスクリーン面53aの法線とし、X軸が横辺203d、203bに平行に向いたステレオ・カメラ23の位置姿勢を基準位置姿勢231といい、基準位置姿勢231に対する、ステレオ・カメラ23の位置および光軸の方向が変化した状態を単に位置姿勢ということにする。
基準位置姿勢231のステレオ・カメラ23は、画角に応じた距離だけスクリーン面53aからY軸方向に離れると、撮像面280の中央にスクリーン画像201の全体を結像する。ノートPC10およびディスプレイ筐体12の角度は、図2の環境下においてステレオ・カメラ23に対して基準位置姿勢231とは異なるさまざまな位置姿勢を形成する。位置姿勢233は、基準位置姿勢231に対して、いずれの座標軸も回転しない状態で、原点がX軸、Y軸、およびZ軸方向のすべてまたはいずれかに移動した状態に対応する。このような位置姿勢を平行移動という。
位置姿勢235は、基準位置姿勢231に対して、Z軸を中心に右回りまたは左回りに回転した状態に対応する。位置姿勢237は、基準位置姿勢231に対して、Y軸を中心に右回りまたは左回りに回転した状態に対応する。位置姿勢239は、基準位置姿勢231に対して、X軸を中心に右回りまたは左回りに回転した状態に対応する。位置姿勢241は、基準位置姿勢231に対してX軸、Y軸、およびZ軸廻りに同時に回転した状態に対応する。位置姿勢241は、図2の環境下におけるノートPC10の通常の位置姿勢に相当する。なお、位置姿勢235〜241は、回転と同時に平行移動を含んでいるものとする。
基準位置姿勢231のステレオ・カメラ23は、スクリーン画像201のサイズ、画角、スクリーン面53aまでの距離の組み合わせによって、撮像面280の中心にスクリーン画像201の全体を撮影できるが、位置姿勢233〜241のステレオ・カメラ23は、スクリーン面53aからのY軸方向の距離が、基準位置姿勢231でスクリーン画像201の全体を表示できる距離と同じであっても、スクリーン画像201の一部またはすべてが撮影できなくなる場合がある。
図6は、ステレオ・カメラ23が基準位置姿勢231から平行移動したときの位置姿勢233a、23bと撮像面281a、281bの画像の様子を説明するための図である。位置姿勢233a、233bはそれぞれ、撮像面281a、281bに対応する。平行移動によりいずれの撮像面281a、281bが結像するスクリーン画像201も、コーナーCr1,Cr2を含んでいない。ただし、コーナーCl1、Cl2の角度は、撮像面280(図5)のスクリーン画像201と同じように90度である。
図7は、ステレオ・カメラ23が基準位置姿勢231から平行移動とZ軸廻りの回転をしたときの位置姿勢235a、235bと撮像面283a、283bの様子を説明するための図である。位置姿勢235a、235bはそれぞれ撮像面283a、283bに対応する。Z軸廻りの回転によりいずれの撮像面283a、283bが結像するスクリーン画像201もコーナーCr1、Cr2を含んでいない。さらに平行移動とは異なりZ軸廻りの回転のときは、撮像面283a、283bのスクリーン画像201が、縦辺203aと横辺203dまたは横片203bの間の角度α1、α2が90度とは異なってくる。
Z軸廻りの右回転をした位置姿勢235aでは、縦辺203aと横片203dの角度α1および縦辺203aと横辺203bの角度α2が90度より小さくなり、しかも、回転の角度が大きくなるほど角度α1、α2が小さくなる。Z軸廻りの左回転をした位置姿勢235bでは、縦辺203aと横片203bの角度α1および縦辺203aと横辺203bの角度α2が90度より大きくなり、しかも、回転の角度が大きくなるほど角度α1、α2が大きくなる。Z軸廻りの回転が、基準位置姿勢231の座標系におけるX−Y平面上で発生したときは、角度α1、α2の値が等しくなるが、原点がZ軸方向に移動すると角度α1、α2は異なる値になる。
図8は、ステレオ・カメラ23が基準位置姿勢231から平行移動とY軸廻りの回転をしたときの位置姿勢と撮像面の様子を説明するための図である。位置姿勢237a、237bはそれぞれ、撮像面285a、285bに対応する。Y軸廻りの回転をした位置姿勢237a、237bでは、Y軸がスクリーン面53aの法線方向を向くため、コーナーCl1、Cl2の角度は90度を維持する。
図9は、ステレオ・カメラ23が基準位置姿勢231から平行移動とX軸廻りの回転したときの位置姿勢239a、239bと撮像面287a、287bの様子を説明するための図である。位置姿勢239a、239bはそれぞれ、撮像面287a、287bに対応する。X軸廻りの回転をした位置姿勢239a、239bでは、コーナーCl1、Cl2の角度は90度とは異なってくる。
X軸廻りにY軸が下を向くように回転をした位置姿勢239aでは、縦辺203aと横片203dの角度α1が90度より小さくなり、縦辺203aと横辺203bの角度α2が90度より大きくなる。しかも、回転の角度が大きくなるほど角度α1、α2が90度から離れる。X軸廻りにY軸が上を向くように回転をした位置姿勢239bでは、縦辺203aと横片203dの角度α1が90度より大きくなり、縦辺203aと横辺203bの角度α2が90度より小さくなる。しかも、回転の角度が大きくなるほど角度α1、α2が90度から離れる。
図6〜図9に示したように、ステレオ・カメラ23が完全にスクリーン画像201が撮影できる基準位置姿勢231から回転および平行移動をすると、スクリーン画像201の一部またはすべてが撮像面24に結像しなくなる。また、撮像面24のスクリーン画像はZ軸方向の回転およびX軸方向の回転によって形状が台形になる。
[会議支援システムの動作]
つぎに、会議支援システム100の動作を説明する。図10は、会議支援システム100の動作を説明するためのフローチャートである。ブロック301で、プロジェクター51が、画像データ出力部113が出力する画像データをスクリーン面53aにスクリーン画像201として投影している。台形補正機能を有効にしたプロジェクター51が投影するスクリーン画像201は、画像データ401のアスペクト比Aspを維持した矩形状になっている。
ただし、スクリーン画像201の大きさは、スクリーン面53aとプロジェクター51の距離で決まるため不定である。ブロック303でプレゼンター61が、ノートPC10を、自らと参加者63のポインティング・ジェスチャを撮影できる位置に配置し、ディスプレイ筐体12の角度を設定すると、ステレオ・カメラ23の位置姿勢が決まる。このときの位置姿勢を、図5の位置姿勢241と想定する。以後、会議支援システム100を使用する間は、特に言及しない限りノートPC10の位置姿勢241を変更しないものとする。
プレゼンター61がノートPC10の位置姿勢241を決めるときに、会議室の大きさ、スクリーン画像201のサイズ、および参加者63の人数などによって、ステレオ・カメラ23が、自らおよび参加者63のポインティング・ジェスチャと同時にスクリーン画像201の全体を撮影できない場合がある。このとき、ステレオ・カメラ23の位置姿勢241には、基準位置姿勢231に対して平行移動および回転が生じている。
プレゼンター61は、入力デバイス21から、制御部101に会議支援システム100を初期化モードで動作させる指示をする。ステレオ・カメラ23が動作を開始して、スクリーン画像201を撮影した撮影データを出力する。ステレオ・カメラ23が撮影するコーナーCl1、Cl2、Cr1、Cr2の数は、ゼロから4個の間である。
特徴点認識部103が、スクリーン画像201のコーナーCl1、Cl2、Cr1、Cr2の特徴点に対応する撮像面24の座標をグローバル座標計算部105に送る。ブロック305でグローバル座標計算部105は、撮影したコーナーのグローバル座標を計算し、コーナーの撮影個数が2個かそれ以外かを判断する。コーナーCl1、Cl2、Cr1、Cr2の撮影個数が2個のときは、ブロック307に移行し、それ以外のときは、撮影できない場合も含めて図15のブロック501に移行する。
ブロック307に移行するときは、撮像面24のスクリーン画像201が図6〜図9のいずれかに示す態様で、4個のコーナーCl1、Cl2、Cr1、Cr2の中でコーナーCl1、Cl2は撮影しているが、コーナーCr1、Cr2は画角から外れていると想定する。したがって、グローバル座標計算部105は、撮像面24のスクリーン画像201から認識した特徴点で、撮影しないコーナーCr1、Cr2の座標を計算することはできない。
後に説明するように、スクリーン画像201上のポインティング位置251pのグローバル座標に対応するピクセル座標451p(図14)を計算するためには、4個のコーナーCl1、Cl2、Cr1、Cr2のグローバル座標が必要になる。ここで、撮影したコーナーCl1、Cl2のグローバル座標を(x1,y1,z1)、(x2,y2,z2)とする。
本実施の形態では、コーナーの撮影個数が2個のときに、ブロック307からブロック313までの手順によって、撮影しないコーナーCr1、Cr2のグローバル座標を、コーナーCl1、Cl2のグローバル座標から計算で求める。最初に計算方法の概要を説明する。計算の前提として、ブロック301のプロジェクター51の設定で、スクリーン画像201が画像データ401のアスペクト比Aspを維持した矩形状であることを利用する。
つぎに、3つの軸廻りの回転、および平行移動が発生する位置姿勢241の座標系で撮影したスクリーン画像201から計算したコーナーCl1、Cl2のグローバル座標を、アスペクト比Aspが既知で矩形であるというスクリーン画像201の形状的な特徴を利用してY軸廻りに回転する位置姿勢237の座標系とX軸廻りに回転する位置姿勢239の座標系を基準位置姿勢231の座標系に変換する。つぎに変換したグローバル座標から、残った位置姿勢が平行移動の位置姿勢233または平行移動とZ軸廻りの回転の位置姿勢235のいずれかを判断して、コーナーCr1、Cr2のグローバル座標を計算する。
以下、具体的な計算方法を説明する。図11は、ステレオ・カメラ23がY軸廻りだけを回転したときの2つの座標系におけるコーナーCl1、Cl2を示している。ブロック307でグローバル座標計算部105は、コーナーCl1、Cl2のグローバル座標(x1,y1,z1)、(x2,y2,z2)が、x1≠x2の条件を満たすか否かを判断する。ここでは、Y軸廻りの回転だけに着目して座標変換するので、その他の要素は評価しない。
x1≠x2の条件が成立してY軸廻りに回転していると判断したときはブロック351に移行し、Y軸廻りの回転がないと判断したときはブロック309に移行する。ブロック351でグローバル座標計算部105は、基準位置姿勢231からのY軸廻りの回転角度をθとして、位置姿勢241の座標系(X,Y,Z)で計算したグローバル座標(x1,y1,z1)、(x2,y2,z2)を、Y軸廻りの回転角度θだけ戻して基準位置姿勢231の座標系(X’,Y’,Z’)でのグローバル座標に変換する。変換後のコーナーCl1、Cl2のグローバル座標(x’1,y’1,z’1)、(x’2,y’2,z’2)は、式(1)で計算することができる。ここにSQRT()は、平方根の計算式を示す。スクリーン画像201は縦辺203aがZ’軸に平行な矩形であるため、x’1とx’2は同じ値になる。
Figure 2016099918
図12は、ステレオ・カメラ23がX軸廻りだけを回転したときの2つの座標系におけるコーナーCl1、Cl2を示している。ブロック309でグローバル座標計算部105は、コーナーCl1、Cl2のグローバル座標(x1,y1,z1)、(x2,y2,z2)が、y1≠y2の条件を満たすか否かを判断する。ここでは、X軸廻りの回転だけに着目するため、その他の要素は評価しない。
y1≠y2の条件が成立してX軸廻りに回転していると判断したときはブロック353に移行し、X軸廻りの回転がないと判断したときはブロック311に移行する。ブロック353でグローバル座標計算部105は、基準位置姿勢231からのX軸廻りの回転角度をθとして、位置姿勢241の座標系(X,Y,Z)のグローバル座標(x1,y1,z1)、(x2,y2,z2)を、X軸廻りの回転角度θだけ戻して基準位置姿勢231の座標系(X’,Y’,Z’)でのグローバル座標に変換する。変換後のコーナーCl1、Cl2のグローバル座標(x’1,y’1,z’1)、(x’2,y’2,z’2)は、式(2)で計算することができる。ここにSQRT()は、平方根の計算式を示す。座標変換により、スクリーン面53aは平面であるため、y’1とy’2は同じ値になる。
Figure 2016099918
式(1)、式(2)で計算した、変換後のグローバル座標z’1、z’2は等しい値になる。ここまでの手順で、X軸、Y軸、およびZ軸のすべての方向に回転し、かつ平行移動もしていると想定した位置姿勢241の座標系で測定したグローバル座標は、X軸方向およびY軸方向への回転がない座標系のグローバル座標に変換された。ブロック311で、グローバル座標計算部105は、撮像面24の座標系におけるコーナーCl1、Cl2の角度を計算する。ここまでの手順で計算した変換後のグローバル座標は、X軸廻りおよびY軸廻りの回転がない座標系の値になっているため、平行移動だけの位置姿勢233または平行移動とZ軸廻りの回転を含む位置姿勢235のいずれかとみなすことができる。
グローバル座標計算部105は、コーナーCl1、Cl2の角度α1、α2が所定の閾値の範囲で90度と判断したときは、位置姿勢233とみなしてブロック355に移行する。90度でないと判断したときは位置姿勢235とみなしてブロック313に移行する。ブロック355でグローバル座標計算部105はこれまでの手順で、式(1)または式(2)のいずれかで計算したグローバル座標z’1、z’2、式(1)で計算したグローバル座標x’1、x’2、式(2)で計算したグローバル座標y’1、y’2を取得している。
ここで、平行移動だけの位置姿勢233の座標系でのコーナーCl1、Cl2のグローバル座標(x’1,y’1,z’1)、(x’2,y’2,z’2)を新たに、座標変換によりX軸方向およびY軸方向の回転がないときの座標系のグローバル座標(x1,y1,z1)、(x2,y2,z2)とする。スクリーン画像201は矩形であることを前提にしているため、x’1=x’2=x、y’1=y’2=yとなり、撮影できないコーナーCr1、Cr2のグローバル座標は式(3)で計算することができる。ここに、Aspは、スクリーン画像201および画像データ401(図14)のアスペクト比を示している。グローバル座標計算部105はコーナーCr1、Cr2のグローバル座標を計算するとブロック315に移行する。
Figure 2016099918
図13は、Z軸廻りに回転した位置姿勢235の座標系の回転角度θを計算する方法を説明するための図である。ブロック313においてこれまでの手順で、グローバル座標計算部105は、Z軸廻りに回転した位置姿勢235の座標系のグローバル座標を取得している。ここで、位置姿勢235の座標系でのコーナーCl1、Cl2のグローバル座標(x’1,y’1,z’1)、(x’2,y’2,z’2)を新たに(x1,y1,z1)、(x2,y2,z2)とする。(x1,y1,z1)、(x2,y2,z2)は、座標変換により平行移動とZ軸廻りだけを回転したときの座標系のグローバル座標で、スクリーン画像201はアスペクト比Aspを維持した矩形であることを前提にしているため、撮像面261aの座標系におけるスクリーン画像201は上底と下底に相当する縦辺203a、203cが平行な台形である。
つぎに、撮像面261a上で計算した縦辺203aと横辺203dの角度α1をαとしx1=x2=x、y1=y2=yとすれば、撮像面261a上のスクリーン画像201について、tan(π−α)=s1/s2の関係から式(4)を求め、さらに式(4)を展開して角度αから回転角度θを求める式(5)を得ることができる。ここに、Aspは、スクリーン画像201および画像データ401のアスペクト比を示し、θは基準位置姿勢に対するZ軸廻りの角度を示す。なお、縦辺203aと横辺203bの角度α2に着目しても同様にz2、α、x、yを従属変数とする回転角度θの式を得ることができる。
Figure 2016099918
fをステレオ・カメラ23の焦点距離としたときに、撮影したコーナーCl1、Cl2および撮影しないコーナーCr1、Cr2の撮像面261aの座標C’l1、C’l2、C’r1、C’r2を式(6)で計算することができる。グローバル座標計算部105は式(5)で計算したZ軸廻りの回転角度θを式(6)に代入して、撮影しないコーナーCr1、Cr2の撮像面261aの座標C’r1、C’r2を計算し、さらにそれに対応するグローバル座標Cr1、Cr2を計算する。
Figure 2016099918
グローバル座標(Xn,Yn,Zn)を通過する平面の方程式は、式(7)のとおりである。ここに、a,b,cは、法線ベクトルである。グローバル座標計算部105は、これまでの手順で計算したスクリーン画像201の4個のコーナーから選択した3個のコーナーのグローバル座標を使って式(7)の法線ベクトル(a,b,c)を計算して、スクリーン画像201の平面の式を取得しブロック315に移行する。
a(X-Xn)+b(Y-Yn)+c(Z-Zn)+d=0 (7)
これまでの手順では、スクリーン画像201のアスペクト比ASPが既知であることを前提にして計算したが、アスペクト比が未知のときは、グローバル座標計算部105は撮影しないコーナーに対するポインティング・ジェスチャをしたときのポインティング直線253の式と、グローバル座標が既知の2個のコーナーが存在するスクリーン画像201の平面の式(7)と、スクリーン画像201が矩形であることを利用してポインティング位置251pに相当する撮影しないコーナーのグローバル座標を計算することができる。ポインティング直線253の2つの特徴点255a、255bのグローバル座標(Xa,Ya,Za)、(Xb,Yb,Zb)を通るポインティング直線253の式は(8)のとおりである。
Figure 2016099918
ブロック307からブロック313までの手順では、図15を参照して説明するスケール画像603(図16)を利用したり、初期化のためにノートPC10の位置姿勢の変更をしたりしないでも、2個のコーナーを撮影することで撮影しないコーナーのグローバル座標を取得することができる。ブロック315でグローバル座標計算部105は、アプリケーション実行部111を通じて、スクリーン面53aに初期化が完了して利用モードに移行することを示すメッセージを含むスクリーン画像201を表示する。さらにグローバル座標計算部105は、制御部101を通じて特徴点認識部103およびポインティング座標計算部107に利用モードに入ることを通知する。
利用モードに入ったことを知ったプレゼンター61または参加者63がスクリーン画像201の任意のポインティング位置251pに向かってポインティング・ジェスチャをする。ブロック317でグローバル座標計算部105は、特徴点認識部103から受け取った特徴点255a、255bに対応する撮像面24の座標からグローバル座標(Xa,Ya,Za)、(Xb,Yb,Zb)を計算してポインティング直線253の式を求める。
つづいて、グローバル座標計算部105は、式(7)および式(8)を使って、ポインティング位置251pのグローバル座標(Xp,Yp,Zp)を計算してポインティング座標計算部107に送る。ポインティング座標計算部107は、図14(A)に示すように、ポインティング位置251pのグローバル座標(Xp,Yp,Zp)を通過しスクリーン画像201の縦辺と横辺に平行な2つの仮想線が4つのコーナーCl1〜Cr2のグローバル座標を内分する各辺の内分比(a1:a2)、(b1:b2)を計算してピクセル座標計算部109に通知する。
ブロック319でピクセル座標計算部109は、図14(B)に示すように、スクリーン画像201を投影した所定のピクセル・サイズp×qの画像データ401に、縦横の辺の内分比がそれぞれ(a1:a2)、(b1:b2)に等しい(p1:p2)、(q1:q2)のピクセル座標451pを計算してアプリケーション実行部111に送る。後に説明する図15の手順では、歪んだスクリーン画像201bが投影される場合がある。
このとき、図18に示すように、スクリーン画像201bの4つの辺203a〜203dは、それぞれ異なる倍率に拡大されて投影される。したがって、ポインティング位置251pでX軸とZ軸方向に直交する2つの仮想線が各辺と交差する位置のグローバル座標を計算して、各辺において仮想線と交わる位置の内分比(a1:a2)、(b1:b2)、(c1:a2)、(d1:d2)を計算し、同じ内分比(p1:p2)、(q3:q4)、(p3:p4)、(q1:q2)で画像データ401の各対応する辺を内分した位置に仮想線を引き、仮想線が交差した位置からピクセル座標451pを求める。
ブロック321でアプリケーション実行部111は、ピクセル座標451pに何らかの入力があったと認識して所定のアクションをする。アプリケーション実行部111は、アクションがスポット画像の表示の場合は、スポット画像データ452をピクセル座標451pの位置に表示するようにアプリケーション画像データにオーバーレイする。その結果、スクリーン画像201のポインティング位置251pには、アプリケーション画像の中にスポット画像データ452に対応するスポット画像252が表示される。
グローバル座標計算部105がポインティング位置251pの変化に応じたグローバル座標を生成するとスポット画像252の位置はそれに応じて変化する。プレゼンター61がポインティング・ジェスチャを終了するか、スクリーン画像201から外れたポインティング位置に対してポインティング・ジェスチャをすることで内分比を計算できなくなると、ポインティング座標計算部107はスクリーン画像201からスポット画像252を消す。
図15のブロック501でグローバル座標計算部105は、コーナーの撮影個数が1と判断したときは、ブロック553に移行し、それ以外と判断したときはブロック503に移行する。グローバル座標計算部105は、ブロック553でアプリケーション実行部111を通じてプロジェクター51に図16(A)に示す画像データ403を出力する。
画像データ403は、たとえば、撮影したコーナーCl1に、横辺651dの方向にピクセル・サイズq1、縦辺651aの方向にピクセル・サイズp1の長さをもつ矩形状のスケール・データ461を含む。スケール・データ461は、撮影したコーナーの個数にかかわらず、常に4つのコーナーに設けるようにしてもよい。
このとき、一例においてスケール・データ461のピクセル・サイズの割合p1/pおよびq1/qは一定の値Rとする。プロジェクター51がスクリーン面53aに画像データ403を投影すると、撮像面289は、スケール・データ461に対応するスケール画像603を含むスクリーン画像601を結像する。ブロック555で特徴点認識部103がスケール画像603を認識し、グローバル座標計算部105がスケール・データ461を投影した長さに対応する位置605、607のグローバル座標を計算して、スクリーン画像601における縦辺651a方向および横辺651d方向の、スケール画像603の長さa1、b1を計算する。グローバル座標計算部105は、撮影していないコーナーCl2、Cr2までのスクリーン画像601の長さa、bを式(9)で計算する。
a=R*a1、b=R*b1 (9)
さらに、式(8)に示した、コーナーCl1と位置605を通る直線の式と長さaからコーナーCl2のグローバル座標を計算し、コーナーCl1と位置607を通る直線の式と長さbからコーナーCr1のグローバル座標を計算する。スクリーン画像601が、矩形のスクリーン画像201または台形補正のない対称なスクリーン画像201a(図4)であれば3個のコーナーのグローバル座標から残りのグローバル座標Cr2を計算してブロック315(図10)に移行する。このとき、スクリーン画像201aの横辺651dと横辺651bが平行である条件と縦辺651aと横辺651dまたは横辺651bの角度に基づいて、撮像面289の画像から残りのコーナーCr2のグローバル座標を計算する。
ブロック503でコーナーの撮影個数が3のときは、ブロック551に移行してブロック555と同じ手順で残りのコーナーのグローバル座標を計算しブロック315(図10)に移行する。このとき、歪んだスクリーン画像201b(図4)であっても撮影した3個のコーナーがスケール画像603を表示しているときは、ブロック555と同じ手順で残りのコーナーのグローバル座標を計算することができる。歪んだスクリーン画像201bでは、投影時の拡大率が各辺の場所によって異なるため、スケール画像603とピクセル・サイズの倍率でスクリーン画像の辺の長さを計算すると誤差が生じる。
この場合、図16に示すような等間隔の繰り返しパターンで構成したスケール・データ463をすべての辺の全体に沿って配置し、できるだけ長いスケール画像が撮影できるようにすることが望ましい。また繰り返しパターンを撮影したスケール画像から、拡大率の変化を計算して誤差を縮めることもできる。スケール画像603は、2個のコーナーを撮影したときにも利用できる。このとき、歪んだスクリーン画像201b(図4)であっても残りのコーナーのグローバル座標を計算することができる。
ブロック505で4つのコーナーの座標を撮影したときは、それらのグローバル座標を計算してブロック315に移行し、コーナーの撮影個数がゼロのときはブロック507に移行する。4個のコーナーを撮影したときは、歪んだスクリーン画像201bであってもスケール画像603を利用しないで、誤差のないグローバル座標を計算することができる。
ブロック507でグローバル座標計算部105は、いずれのコーナーも撮影できないとき、またはスケール画像603がないスクリーン画像の1個のコーナーしか撮影できないときは、アプリケーション実行部111を通じて、スクリーン面53aに会議支援システム100を初期化するためのプロンプトを表示する。初期化のプロンプトは、現在のノートPC10の位置姿勢では、スクリーン画像201のコーナーを必要な数だけ撮影できないために、少なくとも2個のコーナーを撮影できるようにプレゼンター61に位置姿勢の変更を求めるために行う。このときの様子を、図17を参照して説明する。
図17において、プレゼンター61が、利用モードで自らおよび参加者63のポインティング・ジェスチャを撮影できるよう、ノートPC10の位置姿勢を設定したが、4つのコーナーCl1〜Cr2のいずれも撮影できないとする。この場合、グローバル座標計算部105は、たとえば4個のコーナーとプロジェクター51を同時に撮影できる位置姿勢701に変更するためのプロンプトを表示する。プロジェクター51は、座標変換のための基準物体の一例であり特徴点51aを有している。また、初期化が終了したあとはプロジェクター51とスクリーン画像201の位置関係は変更しないものとする。
ブロック509でプレゼンター61が位置姿勢701に変更するとグローバル座標計算部105は、撮影した4個のコーナーと特徴点51aのグローバル座標を計算し初期化を終了する。ブロック511で、初期化が終了したグローバル座標計算部105は、ポインティング・ジェスチャが撮影できる位置にノートPC10の位置姿勢を変更するためのプロンプトを表示する。プレゼンター61は、自らおよび参加者63のポインティング・ジェスチャを撮影でき、かつ、特徴点51aが撮影できる位置姿勢703に変更する。ブロック513でグローバル座標計算部105は、ブロック509で計算したコーナーCl1、Cl2、Cr1、Cr2のグローバル座標を特徴点51aのグローバル座標を基準にして位置姿勢703の座標系でのグローバル座標に変換する。
その後は、座標系を変換したコーナーCl1、Cl2、Cr1、Cr2のグローバル座標と、位置姿勢703の座標系で計算したポインティング位置のグローバル座標から、ポインティング位置251pのピクセル座標451pを計算する。あるいは、位置姿勢703の座標系で計算したポインティング位置のグローバル座標を初期化のときの位置姿勢701の座標系に変換することでもよい。この手順は、歪んだスクリーン画像201bにも適用することができる。
上記の手順は、本発明の実施形態を説明したものであり、すべてが必須の要素ではなく順番もこれに限定するものではなく、本発明の必須の要素は特許請求の範囲に記載のとおりである。たとえば、ブロック307とブロック309の順番は入れ替えることができる。あるいは、ブロック507〜513の手順およびブロック553、555の手順は、コーナーの撮影個数を検出しないで常に実行するようにしてもよい。また、ポインティング・ジェスチャを人体の2カ所の部位に設定した特徴点で特定したが、ペンのような長い物体を利用してその特徴点を特定してもよい。
スクリーン画像201を例示して説明したが、本発明は、ノートPC10が生成した画像データを表示する大型のモニターに適用することもできる。また、ステレオ・カメラ23がプロジェクター51に画像データを出力するノートPC10に実装されている例を説明したが、ステレオ・カメラ23をノートPC10から物理的に分離させて有線または無線で撮影データを受け取るようにしてもよい。また、スクリーン画像201のコーナーCl1、Cl2、Cr1、Cr2を基準位置にしてピクセル座標を計算する例を示したが、コーナーに対して既知のピクセル位置に表示した4個のマーカーを基準位置にすることもできる。
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
10 ノートブック型パーソナル・コンピュータ
23 ステレオ・カメラ
24 撮像面
51 プロジェクター
51a プロジェクターの特徴点
53 スクリーン
53a スクリーン面
61 プレゼンター
63 参加者
100 会議支援システム
201、201a、201b、601 スクリーン画像
203a、203c スクリーン画像の縦辺
203d、203b スクリーン画像の横辺
231 ステレオ・カメラの基準位置姿勢
233〜241、701、703 ステレオ・カメラの位置姿勢
251p ポインティング位置
252 スポット画像
253 ポインティング直線
255a 人体の特徴点(目の間)
255b 人体の特徴点(人指し指の指先)
280、281a、281b、283a、283b、285a、285b、287a、287b、289 ステレオ・カメラの撮像面
401、403 画像データ
451p ポインティング位置251pに対応するピクセル座標
452 スポット画像データ
461、463 スケール・データ
603 スケール画像

Claims (26)

  1. 画像データに対応する表示画像のポインティング位置を指示するポインティング・ジェスチャをステレオ・カメラで撮影して前記ポインティング位置を認識する方法であって、
    前記表示画像の一部の撮影データから前記表示画像の基準位置のグローバル座標を取得するステップと、
    前記ポインティング位置に対するポインティング・ジェスチャの撮影データから前記ポインティング位置のグローバル座標を取得するステップと、
    前記基準位置のグローバル座標に対する前記ポインティング位置のグローバル座標の相対位置から前記ポインティング位置に対応する前記画像データのピクセル座標を取得するステップと
    を有する方法。
  2. 前記表示画像が、プロジェクターが投影するスクリーン画像である請求項1に記載の方法。
  3. 前記基準位置が、輪郭を4辺で構成した前記表示画像の4つのコーナーである請求項1または請求項2に記載の方法。
  4. 前記ピクセル座標を取得するステップが、前記4つのコーナーのグローバル座標に対する前記ポインティング位置のグローバル座標の内分比を計算するステップを含む請求項3に記載の方法。
  5. 前記表示画像が矩形のときに、前記表示画像の一部の撮影データが、前記表示画像の縦辺が形成する2個のコーナーを含む請求項4に記載の方法。
  6. 前記ステレオ・カメラの撮像面における前記表示画像の縦辺と横辺が形成する角度と前記表示画像のアスペクト比から前記ステレオ・カメラの前記表示画像の面に対する位置姿勢を特定して、撮影していないコーナーのグローバル座標を取得するステップを有する請求項5に記載の方法。
  7. 前記表示画像の撮影しないコーナーに対するポインティング・ジェスチャの撮影データから撮影しないコーナーのグローバル座標を取得するステップを有する請求項5に記載の方法。
  8. 画像データに対応する表示画像のポインティング位置を指示するポインティング・ジェスチャをステレオ・カメラで撮影して前記ポインティング位置を認識する方法であって、
    ピクセル・サイズに対する所定の割合のスケール画像データを含む画像データに対応する表示画像の撮影データから前記表示画像の基準位置のグローバル座標を取得するステップと、
    前記ポインティング位置に対するポインティング・ジェスチャの撮影データから前記ポインティング位置のグローバル座標を取得するステップと、
    前記基準位置のグローバル座標に対する前記ポインティング位置のグローバル座標の相対位置から前記ポインティング位置に対応する前記画像データのピクセル座標を取得するステップと
    を有する方法。
  9. 前記基準位置のグローバル座標を取得するステップが、輪郭を4辺で構成した前記表示画像の撮影した1個のコーナーと前記スケール画像の撮影データから前記撮影したコーナーのグローバル座標と撮影しない2個のコーナーのグローバル座標を計算するステップを含む請求項8に記載の方法。
  10. 前記基準位置のグローバル座標を取得するステップが、輪郭を4辺で構成した前記表示画像の撮影した2個のコーナーと前記スケール画像の撮影データから撮影しない2個のコーナーのグローバル座標を計算するステップを含む請求項8に記載の方法。
  11. 画像データに対応する表示画像のポインティング位置を指示するポインティング・ジェスチャをステレオ・カメラで撮影して前記ポインティング位置を認識する方法であって、
    第1の位置姿勢の前記ステレオ・カメラが基準物体と前記表示画像の基準位置を撮影した撮影データから前記基準物体と前記基準位置のグローバル座標を取得するステップと、
    第2の位置姿勢の前記ステレオ・カメラが前記基準物体と前記ポインティング・ジェスチャを撮影した撮影データから前記基準物体と前記ポインティング・ジェスチャの特徴点のグローバル座標を取得するステップと、
    前記ポインティング位置のグローバル座標を取得するステップと、
    前記基準位置のグローバル座標に対する前記ポインティング位置のグローバル座標の相対位置から前記ポインティング位置に対応する前記画像データのピクセル座標を取得するステップと
    を有する方法。
  12. 前記表示画像がプロジェクターのスクリーン画像で、前記基準物体が前記プロジェクターである請求項11に記載の方法。
  13. 画像データを投影した表示画像のポインティング位置を指示するポインティング・ジェスチャを撮影したステレオ・カメラが出力する撮影データを受け取って、前記画像データを生成するコンピュータに、
    前記表示画像の撮影データから前記表示画像の基準位置のグローバル座標を計算するステップと、
    前記ポインティング・ジェスチャの撮影データから前記ポインティング位置のグローバル座標を計算するステップと、
    前記基準位置のグローバル座標に対する前記ポインティング位置のグローバル座標の相対位置から前記ポインティング位置に対応する前記画像データのピクセル座標を計算するステップと
    を有する処理を実行させるためのコンピュータ・プログラム。
  14. 所定のピクセル・サイズの矩形状の画像データを投影した表示画像のポインティング位置を指示するポインティング・ジェスチャを撮影したステレオ・カメラが出力する撮影データを受け取って、前記画像データを生成するコンピュータに、
    前記表示画像の1個の基準位置を含む撮影データから前記1個の基準位置のグローバル座標を計算するステップと、
    前記1個の基準位置のグローバル座標から撮影しない他の基準位置のグローバル座標を計算するステップと、
    前記ポインティング・ジェスチャの撮影データから前記ポインティング位置のグローバル座標を計算するステップと、
    前記基準位置のグローバル座標に対する前記ポインティング位置のグローバル座標の相対位置から前記ポインティング位置に対応する前記画像データのピクセル座標を計算するステップと
    を有する処理を実行させるためのコンピュータ・プログラム。
  15. 前記他の基準位置のグローバル座標を計算するステップが、
    撮影した前記1個の基準位置に隣接する撮影しない2個の基準位置までのピクセル・サイズに対して所定の割合のピクセル・サイズのスケール画像データを含む前記画像データを生成するステップと、
    前記スケール画像データの撮影データに基づいて、前記撮影しない2個の基準位置のグローバル座標を計算するステップと
    を含む請求項14に記載のコンピュータ・プログラム。
  16. 前記撮影した1個の基準位置のグローバル座標と前記計算した2個の基準位置のグローバル座標から残りの基準位置のグローバル座標を計算するステップ
    を有する請求項15に記載のコンピュータ・プログラム。
  17. 画像データを投影した矩形状の表示画像のポインティング位置を指示するポインティング・ジェスチャを撮影したステレオ・カメラが出力する撮影データを受け取って、前記画像データを生成するコンピュータに、
    前記表示画像の2個の基準位置を含む撮影データから前記2個の基準位置のグローバル座標を計算するステップと、
    前記2個の基準位置のグローバル座標から撮影しない他の基準位置のグローバル座標を計算するステップと、
    前記ポインティング・ジェスチャの撮影データから前記ポインティング位置のグローバル座標を計算するステップと、
    前記基準位置のグローバル座標に対する前記ポインティング位置のグローバル座標の相対位置から前記ポインティング位置に対応する前記画像データのピクセル座標を計算するステップと
    を有する処理を実行させるためのコンピュータ・プログラム。
  18. Y軸が前記表示画像の法線に一致しX軸が前記表示画像の横辺に平行に設定された状態を前記ステレオ・カメラの基準位置姿勢としたときに、前記他の基準位置のグローバル座標を計算するステップが、
    前記3撮影データを生成したときの前記ステレオ・カメラの座標系の前記X軸廻りおよび前記Y軸廻りの回転を前記基準位置姿勢まで戻した座標系に変換するステップを含む請求項17に記載のコンピュータ・プログラム。
  19. 前記基準位置姿勢の座標系に変換した前記ステレオ・カメラの撮像面の座標系において前記表示画像の縦辺と横辺の角度αを計算するステップと、
    前記角度αから前記基準位置姿勢に対するZ軸廻りの回転角度を計算するステップと
    を有する請求項18に記載のコンピュータ・プログラム。
  20. 画像データを投影した表示画像のポインティング位置を指示するポインティング・ジェスチャを撮影したステレオ・カメラが出力する撮影データを受け取って、前記画像データを生成するコンピュータに、
    第1の位置姿勢に対応する第1の座標系の前記ステレオ・カメラが撮影した前記表示画像と特徴点を備える基準物体との撮影データから前記表示画像の基準位置と前記特徴点のグローバル座標を計算するステップと、
    第2の位置姿勢に対応する第2の座標系の前記ステレオ・カメラが撮影した前記特徴点の撮影データから前記特徴点のグローバル座標を計算するステップと、
    前記第2の座標系の前記ステレオ・カメラが撮影した前記ポインティング・ジェスチャの撮影データから前記ポインティング・ジェスチャの特徴点のグローバル座標を計算するステップと、
    前記ポインティング位置のグローバル座標を計算するステップと、
    前記基準位置のグローバル座標に対する前記ポインティング位置のグローバル座標の相対位置から前記ポインティング位置に対応する前記画像データのピクセル座標を計算するステップと
    を有する処理を実行させるためのコンピュータ・プログラム。
  21. 前記第1の位置姿勢で前記ステレオ・カメラが前記表示画像の4つの基準位置を撮影する請求項20に記載のコンピュータ・プログラム。
  22. 画像データに対応する表示画像のポインティング位置を指示するポインティング・ジェスチャの認識が可能なコンピュータであって、
    ステレオ・カメラから撮影データを受け取って特徴点を認識する特徴点認識部と、
    前記表示画像の基準位置の特徴点と前記ポインティング・ジェスチャの特徴点のグローバル座標を計算するグローバル座標計算部と、
    前記基準位置に対する前記ポインティング位置の相対位置を計算するポインティング座標計算部と、
    前記相対位置に対応する前記画像データのピクセル座標を計算するピクセル座標計算部と、
    前記ピクセル座標に対する所定のアクションを含む前記画像データ生成するアプリケーション実行部と
    を有するコンピュータ。
  23. 前記コンピュータが前記ステレオ・カメラを実装し、かつ前記画像データを生成する携帯式コンピュータである請求項22に記載のコンピュータ。
  24. 画像データに対応する表示画像のポインティング位置を指示するポインティング・ジェスチャの認識が可能なコンピュータであって、
    ステレオ・カメラから撮影データを受け取って特徴点を認識する特徴点認識部と、
    前記表示画像の2個の基準位置を含む撮影データから残りの基準位置のグローバル座標を計算し、前記ポインティング・ジェスチャの特徴点のグローバル座標から前記ポインティング位置のグローバル座標を計算するグローバル座標計算部と、
    前記基準位置に対する前記ポインティング位置の相対位置を計算するポインティング座標計算部と、
    前記相対位置に対応する前記画像データのピクセル座標を計算するピクセル座標計算部と、
    前記ピクセル座標に対する所定のアクションを含む前記画像データ生成するアプリケーション実行部と
    を有するコンピュータ。
  25. 画像データに対応する表示画像のポインティング位置を指示するポインティング・ジェスチャの認識が可能なコンピュータであって、
    ステレオ・カメラから撮影データを受け取って特徴点を認識する特徴点認識部と、
    前記画像データのピクセル・サイズに対する所定の割合のスケール画像データを含む前記画像データを生成し、前記表示画像の少なくとも1個の基準位置と前記スケール画像データに対応するスケール画像の撮影データから残りの基準位置のグローバル座標を計算し、前記ポインティング・ジェスチャの特徴点のグローバル座標から前記ポインティング位置のグローバル座標を計算するグローバル座標計算部と、
    前記基準位置に対する前記ポインティング位置の相対位置を計算するポインティング座標計算部と、
    前記相対位置に対応する前記画像データのピクセル座標を計算するピクセル座標計算部と、
    前記ピクセル座標に対する所定のアクションを含む前記画像データ生成するアプリケーション実行部と
    を有するコンピュータ。
  26. 画像データに対応する表示画像のポインティング位置を指示するポインティング・ジェスチャの認識が可能なコンピュータであって、
    ステレオ・カメラから撮影データを受け取って特徴点を認識する特徴点認識部と、
    前記ステレオ・カメラの第1の位置姿勢で前記表示画像と基準物体を撮影してそれぞれのグローバル座標を計算し、前記ステレオ・カメラの第2の位置姿勢で前記基準物体と前記ポインティング・ジェスチャのグローバル座標を計算し、前記ポインティング位置のグローバル座標を計算するグローバル座標計算部と、
    前記基準位置に対する前記ポインティング位置の相対位置を計算するポインティング座標計算部と、
    前記相対位置に対応する前記画像データのピクセル座標を計算するピクセル座標計算部と、
    前記ピクセル座標に対する所定のアクションを含む前記画像データ生成するアプリケーション実行部と
    を有するコンピュータ。
JP2014238449A 2014-11-26 2014-11-26 ポインティング・ジェスチャ位置を認識する方法、コンピュータ、およびコンピュータ・プログラム Active JP6124863B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014238449A JP6124863B2 (ja) 2014-11-26 2014-11-26 ポインティング・ジェスチャ位置を認識する方法、コンピュータ、およびコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014238449A JP6124863B2 (ja) 2014-11-26 2014-11-26 ポインティング・ジェスチャ位置を認識する方法、コンピュータ、およびコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2016099918A true JP2016099918A (ja) 2016-05-30
JP6124863B2 JP6124863B2 (ja) 2017-05-10

Family

ID=56077897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014238449A Active JP6124863B2 (ja) 2014-11-26 2014-11-26 ポインティング・ジェスチャ位置を認識する方法、コンピュータ、およびコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP6124863B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05203427A (ja) * 1992-01-28 1993-08-10 Toyota Motor Corp 光学式形状認識装置
JPH07230354A (ja) * 1994-02-21 1995-08-29 Oki Electric Ind Co Ltd 情報入力装置及びそれを用いたプレゼンテーションシステム
JPH1055446A (ja) * 1996-08-09 1998-02-24 Omron Corp 物体認識装置
JP2003533817A (ja) * 2000-05-17 2003-11-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 3次元モデリングを行うことなく画像処理によってターゲットを指し示す装置及びその方法
JP2007043528A (ja) * 2005-08-04 2007-02-15 Noritsu Koki Co Ltd 画像処理装置
JP2007257438A (ja) * 2006-03-24 2007-10-04 Casio Comput Co Ltd ポインティング装置、外部情報処理装置、指示位置特定装置、及び指示位置特定方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05203427A (ja) * 1992-01-28 1993-08-10 Toyota Motor Corp 光学式形状認識装置
JPH07230354A (ja) * 1994-02-21 1995-08-29 Oki Electric Ind Co Ltd 情報入力装置及びそれを用いたプレゼンテーションシステム
JPH1055446A (ja) * 1996-08-09 1998-02-24 Omron Corp 物体認識装置
JP2003533817A (ja) * 2000-05-17 2003-11-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 3次元モデリングを行うことなく画像処理によってターゲットを指し示す装置及びその方法
JP2007043528A (ja) * 2005-08-04 2007-02-15 Noritsu Koki Co Ltd 画像処理装置
JP2007257438A (ja) * 2006-03-24 2007-10-04 Casio Comput Co Ltd ポインティング装置、外部情報処理装置、指示位置特定装置、及び指示位置特定方法

Also Published As

Publication number Publication date
JP6124863B2 (ja) 2017-05-10

Similar Documents

Publication Publication Date Title
JP4677281B2 (ja) 画像処理方法、画像処理装置
JP2020182251A (ja) 画像処理装置、画像処理方法、及びプログラム
JP2001061121A (ja) プロジェクタ装置
WO2011038527A1 (zh) 一种注视点检测方法及其装置
JP5798183B2 (ja) ポインティング制御装置とその集積回路、およびポインティング制御方法
JP2003296757A (ja) 情報処理方法および装置
JP2017188766A (ja) カメラを備える電子機器、撮影映像の補正方法および記憶媒体
JP5847610B2 (ja) Ar技術を用いたコンピュータ・グラフィックス画像処理システム及び方法
WO2020040277A1 (ja) 複合現実システム、プログラム、携帯端末装置、及び方法
KR20130130283A (ko) 증강현실을 위한 스마트폰 자이로센서 기반의 정면객체 생성시스템 및 방법
CN114286066A (zh) 投影校正方法、装置、存储介质以及投影设备
TW201337639A (zh) 指向性影像操控裝置及其方法
JP6124862B2 (ja) ポインティング・ジェスチャに応じたアクションをする方法、会議支援システム、およびコンピュータ・プログラム
JP2011002292A (ja) 三次元指先位置検出方法、三次元指先位置検出装置、およびプログラム
JP2013218423A (ja) 指向性映像コントロール装置及びその方法
JP6124863B2 (ja) ポインティング・ジェスチャ位置を認識する方法、コンピュータ、およびコンピュータ・プログラム
Kemmoku et al. AR tabletop interface using a head-mounted projector
WO2018195973A1 (zh) 利用手持终端进行光标定位的方法、手持终端和电子设备
JP2015149036A (ja) タッチスクリーンに対する操作精度を向上する方法、電子機器およびコンピュータ・プログラム
JP6643825B2 (ja) 装置及び方法
Cai et al. A new method of detecting fingertip touch for the projector-camera HCI system
JP5781017B2 (ja) 映像会話システム
JP2013257830A (ja) 情報処理装置
JP7333559B2 (ja) 位置検出システム、位置検出装置、位置検出方法、及びプログラム
JP7118383B1 (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: 6124863

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