(57)【要約】【課題】スクリーン画像に対する指差しによるポインティング位置を認識する方法を提供する。【解決手段】プロジェクター５１がスクリーン面５３ａにノートＰＣ１０が出力するピクセル画像データをスクリーン画像４０１として投影する。カメラ２３ａ、２３ｂを実装するノートＰＣ１０は、スクリーン画像４０１に対して任意の位置に配置しておりプレゼンター６１を撮影するがスクリーン画像は撮影しない。ノートＰＣはカメラが撮影したポインティング・ジェスチャの画像から特徴点のグローバル座標を取得する。最初に、スクリーン画像のコーナーに対応する基準座標を取得する。つぎに、スクリーン画像の任意ポインティング位置に対応する任意座標を取得する。つぎに、基準座標に対する任意座標の相対位置に対応するピクセル座標を取得する。つぎにノートＰＣがピクセル座標を認識して所定のアクションを実行する。【選択図】図２
2016099917.tif 000002
【特許請求の範囲】
【請求項１】
ピクセル画像データを表示した表示画像に対するポインティング・ジェスチャに応じてコンピュータがアクションをする方法であって、
前記表示画像に対して任意の位置に配置したステレオ・カメラが撮影したポインティング・ジェスチャの画像から特徴点のグローバル座標を取得するステップと、
前記表示画像の基準ポインティング位置に対するポインティング・ジェスチャから基準グローバル座標を取得するステップと、
前記表示画像の任意ポインティング位置に対するポインティング・ジェスチャから任意グローバル座標を取得するステップと、
前記基準グローバル座標に対する前記任意グローバル座標の相対位置から任意ピクセル座標を取得するステップと、
前記コンピュータが前記任意ピクセル座標を認識して所定のアクションを実行するステップと
を有する方法。
【請求項２】
前記ステレオ・カメラが前記表示画像を撮影しない方向を向いている請求項１に記載の方法。
【請求項３】
前記基準ポインティング位置が前記表示画像の輪郭である請求項２に記載の方法。
【請求項４】
前記基準ポインティング位置が前記表示画像のコーナーである請求項３に記載の方法。
【請求項５】
前記任意ピクセル座標を取得するステップが、前記表示画像の輪郭に対応する前記基準グローバル座標を内分する前記任意グローバル座標の内分比を計算するステップを含む請求項３に記載の方法。
【請求項６】
前記任意グローバル座標を取得するステップが、
前記表示画像に平行な平行平面を設定するステップと、
前記平行平面上に前記表示画像に対応する仮想画像を形成するステップと、
前記仮想画像において前記内分比を計算するステップと
を含む請求項５に記載の方法。
【請求項７】
前記平行平面を設定するステップが、前記表示画像の垂直方向に対するポインティング・ジェスチャから法線の式を計算するステップを含む請求項６に記載の方法。
【請求項８】
前記法線の式に前記ポインティング・ジェスチャをする位置から前記表示画像の表示面までの距離を設定して前記平行平面の位置を決定するステップを有する請求項７に記載の方法。
【請求項９】
前記表示画像が、プロジェクターがスクリーン面に投影するスクリーン画像である請求項１に記載の方法。
【請求項１０】
前記プロジェクターが台形補正または前記スクリーン面に対する光軸調整をしない請求項９に記載の方法。
【請求項１１】
前記アクションが前記任意ピクセル座標にスポット画像を表示する処理である請求項１に記載の方法。
【請求項１２】
前記アクションが前記任意ピクセル座標に定義した入力を認識する処理である請求項１に記載の方法。
【請求項１３】
表示面に対して任意の位置に設置されるステレオ・カメラが撮影したポインティング・ジェスチャの画像から特徴点のグローバル座標を取得することが可能なコンピュータに、
前記表示面にピクセル画像データに対応する表示画像を表示するステップと、
前記表示画像の基準ポインティング位置に対するポインティング・ジェスチャから基準直線の式を取得するステップと、
前記表示面に平行な平行平面の式を取得するステップと、
前記平行平面の式と前記基準直線の式から前記平行平面上に前記表示画像に対応する仮想表示画像を設定するステップと、
前記表示画像の任意ポインティング位置に対するポインティング・ジェスチャから任意直線の式を取得するステップと、
前記任意直線の式と前記仮想表示画像の交点から前記任意ポインティング位置に対応する任意ピクセル座標を取得するステップと
を有する処理を実行させるためのコンピュータ・プログラム。
【請求項１４】
前記平行平面の式を取得するステップが、前記基準直線の式に所定の座標を設定するステップと、前記表示面の法線方向に対するポインティング・ジェスチャから法線ベクトルを取得するステップを含む請求項１３に記載のコンピュータ・プログラム。
【請求項１５】
前記平行平面の式を取得するステップが、前記表示面に対するポインティング・ジェスチャから法線の式を計算するステップと、前記ポインティング・ジェスチャをする位置と前記表示面の距離に相当する長さを前記法線と前記平行平面の交点に設定するステップを含む請求項１４に記載のコンピュータ・プログラム。
【請求項１６】
前記交点に設定するステップが、ポインティング・ジェスチャをする位置と前記表示面の距離を操作者から受け取るステップを含む請求項１５に記載のコンピュータ・プログラム。
【請求項１７】
表示画面が表示する表示画像に対するポインティング・ジェスチャでアクションをすることが可能な会議支援システムであって、
前記表示画面に対して任意の位置に配置される複数のカメラと、
前記複数のカメラが撮影した画像からポインティング・ジェスチャの特徴点のグローバル座標を計算するグローバル座標計算部と、
前記表示画像の基準ポインティング位置に対応するポインティング・ジェスチャから基準グローバル座標を計算し、前記表示画像の任意ポインティング位置に対応するポインティング・ジェスチャから任意グローバル座標を計算し、前記基準グローバル座標に対する前記任意グローバル座標の相対位置を計算するポインティング座標計算部と、
前記相対位置に対応する任意ピクセル座標を計算するピクセル座標計算部と、
前記任意ピクセル座標を認識してアプリケーション・プログラムを操作するアプリケーション実行部と
を有する会議支援システム。
【請求項１８】
前記複数のカメラが前記表示画面を撮影しない位置に配置され、前記ポインティング座標計算部が、前記表示画面の法線方向に対するポインティング・ジェスチャから前記表示画面に平行な平行平面を設定して前記任意グローバル座標を取得する請求項１７に記載の会議支援システム。
【請求項１９】
複数のカメラと、
プロジェクターに接続するインターフェースと、
前記複数のカメラが撮影した画像からポインティング・ジェスチャの特徴点のグローバル座標を計算するグローバル座標計算部と、
ポインティング・ジェスチャにより、前記表示画像の基準ポインティング位置に対するポインティング直線と、前記表示画像の任意ポインティング位置に対するポインティング直線から前記基準ポインティング位置に対する前記任意ポインティング位置の相対位置を計算するポインティング座標計算部と、
前記相対位置から前記任意グローバル位置に対応する任意ピクセル座標を計算するピクセル座標計算部と、
前記任意ピクセル座標を認識して所定のアクションをするアプリケーション実行部と
を有する携帯式コンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示画像に対して任意の位置に配置したステレオ・カメラがポインティング・ジェスチャで示した位置を認識する技術に関し、さらには、表示画像を撮影しない位置に配置したステレオ・カメラがポインティング・ジェスチャで示した位置を認識する技術に関する。
【背景技術】
【０００２】
プロジェクターは、コンピュータが作成したピクセル画像データをプロジェクター・スクリーンに投影して表示画像として表示する。また、ピクセル画像データは大型のディジタル・テレビに表示する場合もある。会議の参加者はプロジェクター・スクリーンに投影された画像やテレビに表示された画像（以後、スクリーン画像）を同時に共有する。プレゼンターや各参加者がスクリーン画像上の特定の位置を指で指すときは、指差し棒やレーザー・ポインターなどを使用する。
【０００３】
特許文献１は、大型ディスプレイやプロジェクターなどの大型画面に表示したカーソルをユーザが指差しする方向に移動させる発明を開示する。同文献には、顔と指先までの距離を計算して複数の操作者のなかからカーソルを操作する操作者を決定することが記載されている。特許文献２は、ビデオ会議システムにおいて特定の参加者が指す方向を決定する発明を開示する。同文献には、各参加者が異なるように指す場合に校正することで正しいポインティング方向を決定する方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１２／１４４１４５号公報
【特許文献２】特表２００４−５０４６７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１および特許文献２が記載する表示システムのように、表示画面に対するステレオ・カメラの位置および姿勢があらかじめ決まっている装置では、ステレオ・カメラが計測する３次元座標と、表示画面に２次元配置された画像に対応するピクセル画像データの座標（以後、ピクセル座標）を関連付けておくことができる。したがって、指差しをしたときのポインティング・ジェスチャをステレオ・カメラで観測して、指差しの方向にある表示画面上の任意の位置（ポインティング位置）の３次元座標を計算すれば、ポインティング位置に対応するピクセル座標を計算することができる。
【０００６】
近年、ディスプレイ筐体の縁枠にステレオ・カメラを実装したノートブック型パーソナル・コンピュータ（ノートＰＣ）が開発されている。ノートＰＣは、プロジェクターで表示する画像データも生成するため、ノートＰＣが実装するステレオ・カメラがスクリーン画像のポインティング位置を認識できれば、ポインティング・ジェスチャでさまざまな画面の操作ができて都合がよい。この場合、ステレオ・カメラの位置とプロジェクター・スクリーンの相対的な位置関係はその都度変化するため、スクリーン画像の位置とステレオ・カメラの姿勢および位置の相互関係を事前に確定できないことになる。また、ノートＰＣが実装するステレオ・カメラは、撮影が前方の所定の視野角の範囲に限られるため、会議の参加者とスクリーン画像を同時に撮影できないことが多い。
【０００７】
そこで本発明の目的は、ステレオ・カメラの撮影データで表示画面に対するポインティング・ジェスチャで示したポインティング位置を認識する方法を提供することにある。さらに本発明の目的は、あらかじめスクリーン画像に対する相対的な位置が定まってないステレオ・カメラの撮影データでポインティング位置を認識する方法を提供することにある。さらに本発明の目的は、スクリーン画像を撮影できないステレオ・カメラの撮影データでポインティング位置を認識する方法を提供することにある。さらに本発明の目的は、簡単な設定操作でポインティング位置を認識する方法を提供することにある。さらに本発明の目的は、そのような方法を実現する会議支援システム、コンピュータおよびコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、ピクセル画像データを表示した表示画像に対するポインティング・ジェスチャに応じてコンピュータがアクションをする方法を提供する。コンピュータは表示画像に対して任意の位置に配置したステレオ・カメラが撮影したポインティング・ジェスチャの画像から特徴点のグローバル座標を取得する。表示画像の基準ポインティング位置に対するポインティング・ジェスチャから基準グローバル座標を取得する。つぎに、操作者が実際に指し示したい表示画像の任意ポインティング位置に対するポインティング・ジェスチャから任意グローバル座標を取得する。つぎに、基準グローバル座標に対する任意グローバル座標の相対位置から任意ピクセル座標を取得する。つぎにコンピュータが任意ピクセル座標を認識して所定のアクションを実行する。
【０００９】
上記構成によれば、ステレオ・カメラが表示画像を撮影しないためにポインティング位置から直接表示画像のピクセル座標が計算できない場合でも、ピクセル座標が既知の基準グローバル座標と任意グローバル座標から任意ピクセル座標を取得してアクションを実行することができる。アクションは、任意ピクセル座標にスポット画像を作成する処理、または任意ピクセル座標に定義した入力を認識する処理とすることができる。ステレオ・カメラはポインティング・ジェスチャを撮影できればよく表示画像は撮影しないでもよい。
【００１０】
基準ポインティング位置は、ピクセル画像データの輪郭に対応する表示画像の輪郭とすることができる。また、表示画像が矩形の場合は、２辺のコーナーとすることができる。任意ピクセル座標は、表示画像の４つのコーナーに対応する基準グローバル座標を内分する任意グローバル座標の内分比を計算して取得することができる。任意グローバル座標は、表示画像に平行な平行平面を設定し、平行平面上に表示画像に対応する仮想画像を形成し、仮想画像において内分比を計算することで取得することができる。
【００１１】
平行平面は、表示画像の垂直方向に対するポインティング・ジェスチャから法線ベクトルを計算して取得することができる。平行平面と表示画像平面の距離が短いほどポインティング・ジェスチャで双方の平面上に指定される位置間の偏差が小さくなるため、平行平面を形成するときのポインティング・ジェスチャによる法線ベクトルの指定と表示画像平面までの距離をできるだけ正確に設定することが望ましい。表示画像は、プロジェクターがスクリーン面に投影するスクリーン画像や、ステレオ・カメラから分離したディスプレイが表示するモニター画像とすることができる。
【発明の効果】
【００１２】
本発明により、ステレオ・カメラが表示画面に対する指差しによるポインティング位置を認識する方法を提供することができた。さらに本発明により、あらかじめスクリーン画像に対する相対的な位置が定まってないステレオ・カメラがポインティング位置を認識する方法を提供することができた。さらに本発明により、スクリーン画像を撮影できないステレオ・カメラがポインティング位置を認識する方法を提供することができた。さらに本発明により、簡単な設定操作でポインティング位置を認識する方法を提供することができた。さらに本発明により、そのような方法を実現する会議支援システム、コンピュータおよびコンピュータ・プログラムを提供することができた。
【図面の簡単な説明】
【００１３】
【図１】ノートＰＣ１０のハードウェアを説明するための概略の機能ブロック図である。
【図２】会議支援システム１００を使用するときの様子を説明するための平面図である。
【図３】会議支援システム１００の構成を説明するための機能ブロック図である。
【図４】会議支援システム１００によるポインティング位置のピクセル座標を計算する方法を説明する図である。
【図５】会議支援システム１００の動作を説明するためのフローチャートである。
【図６】スクリーン画像４０１に対するポインティングの方法を説明するための図である。
【図７】グローバル座標からピクセル座標を計算する方法を説明するための図である。
【図８】平行平面４０７とスクリーン画像４０１の距離を縮める方法を説明するための平面図である。
【発明を実施するための形態】
【００１４】
［ノートＰＣのハードウェア構成］
図１（Ａ）は、会議支援システム１００（図３）を構成するノートＰＣ１０のハードウェアの構成を説明するための概略の機能ブロック図で、図１（Ｂ）は外形を示す斜視図である。本発明との関連において、ノートＰＣ１０のハードウェアの構成は周知であるため説明は簡略化する。ＣＰＵ１１はグラフィック・コアを内蔵しておりＬＣＤ１５とシステム・メモリ１３が接続されている。チップセット１７は、さまざまなインターフェースのコントローラを内蔵している。チップセット１７のＳＡＴＡコントローラにはＨＤＤ１９が接続され、ＨＤＭＩ（登録商標）コントローラにはマイクロフォン２１が接続され、ＵＳＢコントローラには有線または無線でカメラ２３ａ、２３ｂが接続され、ＤＶＩコントローラにはＤＶＩポート２７が接続されている。
【００１５】
ＤＶＩポートにはプロジェクター５１（図２）を接続して、ＬＣＤ１５が表示する画面に対応するピクセル画像データを出力することができる。マイクロフォン２１は音声で会議支援システム１００に指示するために利用することができる。ＨＤＤ１９は、会議支援システム１００を構成するソフトウェアを格納する。カメラ２３ａ、２３ｂはそれぞれイメージセンサーを内蔵しており、２台が組になってステレオ・カメラ２５を構成する。
【００１６】
ステレオ・カメラ２５は、ディスプレイ筐体の縁枠３１に装着しているが、ノートＰＣ１０から分離して配置し有線または無線で接続するようにしてもよい。画像面の座標系Σｕｖを３次元空間のグローバル座標系ΣＧに変換する上で、カメラ２３ａ、２３ｂは同一仕様とすることが望ましい。またカメラ２３ａ、２３ｂは、相互の光軸が平行で撮像面が同一平面に存在し、かつ、撮像面の座標系Σｕｖのうちｕ座標が一致する平行等位に配置することが望ましい。カメラ２３ａ、２３ｂは、撮影状態のときに所定のフレーム・レートでフレーム・シーケンスを出力する。両カメラは同期して撮影できることが望ましいが、人間の動きを撮影する上では、撮影のタイミングに１フレーム周期分のずれがあっても支障はないため非同期であってもよい。
［会議支援システム］
図２は、会議支援システム１００（図３）が機能する環境の一例を説明するための平面図である。机５０の上には、ノートＰＣ１０に有線または無線で接続されたプロジェクター５１を配置している。プレゼンター６１がスクリーン５３の前面に立ち、机５０の廻りの椅子に複数の参加者６３が座っている。プレゼンター６１が所有するノートＰＣ１０は、プロジェクター５１で投影するためのピクセル画像データをプロジェクター５１に出力する。プロジェクター５１はノートＰＣ１０が出力するピクセル画像データを受け取ってスクリーン５３のスクリーン面５３ａにスクリーン画像４０１を投影する。
【００１７】
プロジェクター５１とスクリーン面５３ａの相対的な位置関係およびノートＰＣ１０とスクリーン面５３ａの相対的な位置関係は固定しておらずその都度変化する。プレゼンター６１は、目の間の特徴点４０５ａと人指し指の指先の特徴点４０５ｂとポインティング位置４０１ｐがポインティング直線４１１上に並ぶようにポインティング・ジェスチャをする。ステレオ・カメラ２５は、スクリーン画像４０１に対してポインティング・ジェスチャをするプレゼンター６１および参加者６３を撮影することができるが、スクリーン画像４０１は撮影できない位置に配置されている。ただし、本発明はステレオ・カメラ２５がスクリーン画像４０１を撮影できる場合も含んでいる。
【００１８】
図３は、ノートＰＣ１０が実装するハードウェアおよびソフトウェアで実現した会議支援システム１００の構成を説明するための機能ブロック図である。図４は、グローバル座標からピクセル座標を計算する方法を説明するための図である。会議システム１００は、カメラ２３ａ、２３ｂと、ＨＤＤ１９が格納するデバイス・ドライバ、オペレーティング・システム、ジェスチャ認識エンジン、アプリケーション・プログラムなどのソフトウェアと、それを実行する図１のハードウェアとで構成した、ユーザ入力部１０１、特徴点認識部１０３、グローバル座標計算部１０５、ポインティング座標計算部１０７、ピクセル座標計算部１０９、アプリケーション実行部１１１および画像出力部１１３で構成している。
【００１９】
図４において、プレゼンター６１または参加者６３が所定のポインティング・ジェスチャでポインティングをしている。ポインティング・ジェスチャは、会議支援システム１００の初期化と実際の利用のためにプレゼンター６１および参加者６３が行う。前提として、ポインティングをするプレゼンター６１および参加者６３はすべて同じようなポインティング・ジェスチャをする。
【００２０】
ユーザ入力部１０１は、ユーザに対する入力インターフェースを提供するとともに、特徴点認識部１０３、グローバル座標計算部１０５、およびポインティング座標計算部１０７に会議支援システム１００を動作させるための指示をする。カメラ２３ａ、２３ｂは動作を開始すると撮影した画像のフレーム・シーケンスを特徴点認識部１０３に送る。特徴点認識部１０３は、キャリブレーションに使用するスマートフォンのテンプレートと、ポインティング・ジェスチャをする人体の特徴点４０５ａ、４０５ｂのテンプレートを保有している。特徴点認識部１０３は、カメラ２３ａ、２３ｂから受け取ったフレームの画像とあらかじめ登録してあるテンプレートを比較して特徴点を認識する。
【００２１】
ポインティング・ジェスチャをする特徴点４０５ａ、４０５ｂのテンプレートは、特徴点４０５ａ、４０５ｂの相互間の距離、および鉛直方向の高低差などのポインティング・ジェスチャに特有の特徴を含む。特徴点認識部１０３は、それぞれ特徴点を認識したフレーム・シーケンスから同時刻または最も近い時刻のタイムスタンプを有する２つのフレームを取得する。特徴点認識部１０３は、それぞれのフレームから認識した同一の特徴点４０５ａ、４０５ｂに対応するカメラ２３ａ、２３ｂの撮像面の座標（ｕ，ｖ）をグローバル座標計算部１０５に出力する。グローバル座標計算部１０５は、キャリブレーションの際に、撮像面の座標（ｕ，ｖ）からカメラ２３ａ、２３ｂの光学中心（焦点）を原点とするグローバル座標を計算してグローバル座標系ΣＧを構築する。
【００２２】
キャリブレーションが終わったグローバル座標計算部１０５は、プレゼンター６１または参加者６３の同一の特徴点４０５ａ、４０５ｂをほぼ同時に撮影したカメラ２３ａ、２３ｂの画像面の座標（ｕ，ｖ）からグローバル座標（Ｘ，Ｙ，Ｚ）を計算して、ポインティング座標計算部１０７に出力する。ポインティング座標計算部１０７は、ステレオ・カメラ２５がスクリーン画像のコーナー４０１ａ〜４０１ｄを撮影できないときに、内分比を計算するために、スクリーン面５３ａに対して平行な平行平面４０７の式を確定し、スクリーン画像４０１の４つのコーナー４０１ａ〜４０１ｄに対応する仮想画像４１３の４つの仮想コーナー４１３ａ〜４１３ｄのグローバル座標を計算する。
【００２３】
このときポインティング座標計算部１０７は、スクリーン画像４０１のポインティング位置４０１ｐに対応する仮想画像４１３の仮想ポインティング位置４１３ｐのグローバル座標を計算する。ポインティング座標計算部１０７は、スクリーン画像４０１を撮影できる場合はスクリーン画像４０１におけるポインティング位置４０１ｐのコーナー４０１ａ〜４０１ｄに対する内分比を計算する。仮想画像４１３から計算した内分比と、スクリーン画像４０１から計算した内分比は所定の条件の元で等しくなる。ポインティング座標計算部１０７は、いずれかの方法で計算した内分比をピクセル座標計算部１０９に出力する。
【００２４】
ピクセル座標計算部１０９は、ピクセル画像データにおいて、内分比からポインティング位置４０１ｐまたは仮想ポインティング位置４１３ｐに対応するピクセル座標を計算する。ここにピクセル画像データは、アプリケーション実行部１１１が作成する所定のピクセル・サイズの画像データに相当する。ピクセル座標計算部１０９は、ピクセル座標をアプリケーション実行部１１１に送る。アプリケーション実行部１１１は、プレゼンテーション・プログラムやＷｅｂブラウザのようなアプリケーション・プログラムを実行してアプリケーション画像データを生成し画像出力部１１３に送る。
【００２５】
アプリケーション実行部１１１は、受け取ったピクセル座標を認識して対応するアクションを実行する。アクションの一例では、ポインティング位置４０１ｐに、スポット画像を表示したりすでに表示しているマウス・カーソルを移動させたりする。アクションの他の例では、Ｗｅｂブラウザの画面のハイパーテキストに対する入力の処理をする。アクションのさらに他の例では、アプリケーション画像の上にポインティング位置４０１ｐに沿って線を描く。アクションのさらに他の例では、アプリケーション画像を構成するボタン画像に対する入力を処理して画面のインクリメントをする。画像出力部１１３はＤＶＩポート２７を通じて、アプリケーション実行部１１１から受け取ったアプリケーション画像データをプロジェクター５１に出力する。
【００２６】
会議支援システム１００は、ユーザ入力部１０１、特徴点認識部１０３、グローバル座標計算部１０５、ポインティング座標計算部１０７およびピクセル座標計算部１０９を独立したポインティング装置として構成し、アプリケーション実行部１１１と画像出力部１１３をノートＰＣ１０で構成してもよい。このときもステレオ・カメラ２５は、ポインティング装置に組み込んでもよいし有線または無線でポインティング装置に接続してもよい。
【００２７】
［会議支援システムの動作］
つぎに、図１〜図８を参照して会議支援システム１００の動作を説明する。図５は、会議支援システム１００の動作を説明するためのフローチャートである。ブロック２０１で、プロジェクター５１が、画像出力部１１３が出力するピクセル画像データをスクリーン面５３ａにスクリーン画像４０１として投影している。プロジェクター５１が映し出すスクリーン画像４０１の大きさはその都度変化するため事前に確定していない。プロジェクター５１の光軸がスクリーン面５３ａに対して法線から左右方向に傾斜している場合がある。したがって、スクリーン画像４０１は左右方向に長くなって、そのアスペクト比がピクセル画像データのアスペクト比と異なることがある。また、光軸がスクリーン面５３ａに対して法線から上下方向に傾斜している場合がある。したがって、スクリーン画像４０１の輪郭は上下方向で逆台形になることがある。
【００２８】
ただし、プロジェクターの光軸がスクリーン面５３ａに対して左右方向に傾斜しない場合およびプロジェクターがスクリーン画像４０１の台形補正をする場合も本発明の範囲に含む。プレゼンター６１は、自分と参加者６３のポインティング・ジェスチャを撮影できる位置にノートＰＣ１０を配置する。ここではスクリーン画像４０１がステレオ・カメラ２５の画角から外れるものとして説明するが、画角に入る場合も本発明の範囲に含む。画角に入る場合は、会議支援システム１００の初期化が容易になるとともに、ポインティング位置４０１ｐを認識する精度が向上する。一旦配置したノートＰＣ１０は、その後位置および姿勢を変化させないものとする。
【００２９】
ブロック２０３で、ノートＰＣ１０が所定の位置に配置されたときに自動的にまたはプレゼンター６１によるユーザ入力部１０１を通じた指示により、特徴点認識部１０３とグローバル座標計算部１０５がキャリブレーションをする。キャリブレーションを開始すると、ステレオ・カメラ２５が撮影した、形状とサイズが既知のスマートフォンのような物体の複数の特徴点から、エピポーラ幾何と三角測量の原理を利用して、外部パラメータと内部パラメータが計算される。
【００３０】
キャリブレーションが完了すると、特徴点認識部１０３とグローバル座標計算部１０５は、同時に撮影した同一の特徴点のそれぞれの画像面の座標（ｕ，ｖ）から、当該特徴点について３次元空間におけるグローバル座標（Ｘ，Ｙ，Ｚ）が計算できるようになる。グローバル座標計算部１０５はキャリブレーションが終了したことをアプリケーション実行部１１１に通知する。アプリケーション実行部１１１は、画像出力部１１３を通じてスクリーン面５３ａに会議支援システム１００を初期化するためのプロンプトを含むスクリーン画像４０１を表示する。
【００３１】
ブロック２０５で、プレゼンター６１がユーザ入力部１０１を通じて、特徴点認識部１０３、グローバル座標計算部１０５、およびポインティング座標計算部１０７に初期化の指示をすると会議支援システム１００は初期化モードで動作する。ポインティング座標計算部１０７は、図６（Ａ）に示すようにアプリケーション実行部１１１を通じてスクリーン画像４０１の１つのコーナー４０１ａにマーカー３６１ａを表示して、その位置にポインティング・ジェスチャをするようにプレゼンター６１に促す。
【００３２】
ブロック２０７でプレゼンター６１が、マーカー３６１ａに対してポインティング・ジェスチャをすると特徴点認識部１０３が特徴点４０５ａ、４０５ｂ認識する。特徴点認識部１０３は、特徴点４０５ａ、４０５ｂの画像面の座標（ｕ，ｖ）をグローバル座標計算部１０５に送る。このとき会議支援システム１００は、マーカー３６１ａに対するポインティング・ジェスチャが確定したことを認識できない。
【００３３】
プレゼンター６１は、マーカー３６１ａに対するポインティング・ジェスチャが確定したと判断したときは音声を通じて、またはキーボードやポインティング・デバイスの操作などを通じてユーザ入力部１０１に入力する。あるいは、グローバル座標計算部１０５は、所定の時間だけ特徴点４０５ａ、４０５ｂが静止していると判断したときにポインティング・ジェスチャが確定したと判断してもよい。
【００３４】
ユーザ入力部１０１からの通知または自らの判断で、グローバル座標計算部１０５はポインティング直線４０３ａが確定したことを認識する。グローバル座標計算部１０５は、特徴点４０５ａ、４０５ｂに対応する画像面の座標（ｕ，ｖ）からグローバル座標（Ｘａ，Ｙａ，Ｚａ）、（Ｘｂ，Ｙｂ，Ｚｂ）を計算してポインティング座標計算部１０７に送る。ポインティング座標計算部１０７は、グローバル座標（Ｘａ，Ｙａ，Ｚａ）、（Ｘｂ，Ｙｂ，Ｚｂ）を通過するポインティング直線４０３ａの式を求める。２点のグローバル座標（Ｘａ，Ｙａ，Ｚａ）、（Ｘｂ，Ｙｂ，Ｚｂ）を通るポインティング直線の式は（１）のとおりである。
【００３５】
【数１】
2016099917.tif 000003
【００３６】
つづいて、ポインティング座標計算部１０７は、アプリケーション実行部１１１を通じてコーナー４０１ａのマーカー３６１ａを消して図６（Ｂ）に示すようにコーナー４０１ｂにマーカー３６１ｂを表示する。同様にポインティング座標計算部１０７は、プレゼンター６１によるマーカー３６１ｂに対するポインティング・ジェスチャからポインティング直線４０３ｂの式を求め、さらに、図６（Ｃ）、図６（Ｄ）に示すコーナー４０１ｃ、４０１ｄのマーカー３６１ｃ、３６１ｄに対するポインティング・ジェスチャからポインティング直線４０３ｃ、４０３ｄの式を求める。
【００３７】
なお、初期化のためのコーナー４０１ａ〜４０１ｄに対するポインティング・ジェスチャは、任意の参加者６３が行うようにしてもよいが、後に説明するように利用モードのときに初期化モードとは違った位置でポインティング・ジェスチャをする場合は、ポインティング位置４０１ｐと会議支援システム１００が認識するピクセル座標との偏差を縮小する工夫が必要になる。
【００３８】
また、コーナー４０１ａ〜４０１ｄは、カメラ２３ａ、２３ｂの画角から外れているため、グローバル座標計算部１０５はコーナー４０１ａ〜４０１ｄのグローバル座標を計算することができない。本実施の形態では以下に説明するように、スクリーン面５３ａに平行な平行平面４０７を設定して、コーナー４０１ａ〜４０１ｄのグローバル座標に対応する仮想コーナー４１３ａ〜４１３ｄのグローバル座標を計算してポインティング位置４０１ｐのピクセル座標を計算する。
【００３９】
ここで、仮想画像４１３は平行平面４０７において、仮想コーナー４１３ａ〜４１３ｄが、ポインティング直線４０３ａ〜４０３ｄと交差するが、ポインティング直線の式（１）は、Ｘ、Ｙ、Ｚのいずれかが決まらないと仮想コーナーの座標が確定しない。ブロック２０９でポインティング座標計算部１０７は、４つの直線４０３ａ〜４０３ｄの式から選択した任意の１つの直線４０３ａに対して１つの座標軸に特定のグローバル座標を設定する。ポインティング座標計算部１０７が、たとえば座標軸Ｚに任意の値Ｚ１を設定すると式（２）、（３）でＸ１、Ｙ１を計算して仮想コーナー４１３ａのグローバル座標（Ｘ１，Ｙ１，Ｚ１）を確定することができる。
【００４０】
【数２】
2016099917.tif 000004
【００４１】
ここで、スクリーン面５３ａに対するグローバル座標系の座標軸の方向は整合していないため、仮想コーナー４１３ａを通過する平面は無数に存在する。よってその中から、スクリーン画像４０１を投影するのに都合がよいように、スクリーン面５３ａに平行な平行平面４０７を確定する。ブロック２１１でポインティング座標計算部１０７はアプリケーション実行部１１１を通じて、スクリーン面５３ａに、スクリーン面５３ａの法線方向を指差しするためのプロンプトを含むスクリーン画像４０１を表示する。プレゼンター６１は、スクリーン面５３ａの法線方向に向かってポインティングする。
【００４２】
このときポインティング位置は、スクリーン画像４０１の中に存在する必要はない。ブロック２１３でポインティング座標計算部１０７は、ブロック２０７と同様の手順で特徴点４０５ａ、４０５ｂのグローバル座標から法線方向のポインティング直線４０９の式を取得する。ブロック２１５でポインティング座標計算部１０７は、仮想コーナー４１３ａのグローバル座標（Ｘ１，Ｙ１，Ｚ１）を通過し、ポインティング直線４０９と直交する平行平面４０７の式（４）を求める。
【００４３】
ａ（Ｘ−Ｘ１）＋ｂ（Ｙ−Ｙ１）＋ｃ（ＺーＺ１）＋ｄ＝０    （４）
ここに、ａ、ｂ、ｃは平行平面４０７の法線ベクトルで、直線４０９上の２点４０５ａ、４０５ｂのグローバル座標から計算することができる。ｄは平行平面４０７とグローバル座標（Ｘ１，Ｙ１，Ｚ１）の原点の距離である。ブロック２１６でポインティング座標計算部１０５が、初期化をするプレゼンター６１の特徴点４０５ａからスクリーン面５３ａ上の位置４０１ｑまでの距離を認識する。この手順は、利用モードにおいて、プレゼンター６１が初期化した場所とは異なる場所でポインティングするときのポインティング位置の偏差を縮小することを目的にしているが、詳しい手順は図８を参照して説明する。ブロック２１７でポインティング座標計算部１０７は、平行平面４０７とポインティング直線４０３ｂ〜４０３ｄの交点である仮想コーナー４１３ｂ〜４１３ｄのグローバル座標（Ｘ２，Ｙ２，Ｚ２）〜（Ｘ４，Ｙ４，Ｚ４）を計算して平行平面４０７上に仮想コーナー４１３ａ〜４１３ｄを頂点とする仮想画像４１３を確定する。ここで、初期化をしたプレゼンター６１からみたときにスクリーン画像４０１と仮想画像４１３は相似になる。
【００４４】
ブロック２１９で仮想画像４１３を確定したポインティング座標計算部１０７は、アプリケーション実行部１１１を通じて、スクリーン面５３ａに初期化が完了して利用モードに移行することを示すメッセージを含むスクリーン画像４０１を表示する。さらにポインティング座標計算部１０７は、ユーザ入力部１０１を通じて特徴点認識部１０３、グローバル座標計算部１０５およびポインティング座標計算部１０７に利用モードに入ることを通知する。
【００４５】
ブロック２２１でプレゼンター６１がスクリーン画像４０１の任意のポインティング位置４０１ｐに向かってポインティング・ジェスチャをする。ブロック２２３でポインティング座標計算部１０７はブロック２０７と同じ手順でポインティング位置４０１ｐを通過するポインティング直線４１１の式を求める。ポインティング座標計算部１０７は、式（４）と３個の仮想コーナーのグローバル座標から、ポインティング直線４１１と平行平面４０７の交点に相当する仮想ポインティング位置４１３ｐのグローバル座標（Ｘｐ，Ｙｐ，Ｚｐ）を計算する。スクリーン画像４０１と仮想画像４１３は相似になっており、仮想ポインティング位置４１３ｐは仮想画像４１３内に存在する。
【００４６】
ブロック２２５でポインティング座標計算部１０７は図７（Ｂ）に示すように、仮想ポインティング位置４１３ｐのグローバル座標（Ｘｐ，Ｙｐ，Ｚｐ）を仮想画像４１３の４つのコーナー４１３ａ〜４１３ｄのグローバル座標（Ｘ１，Ｙ１，Ｚ１）〜（Ｘ４，Ｙ４，Ｚ４）で内分したときの縦横の内分比（ｘ１：ｘ２）、（ｙ１：ｙ２）を計算してアプリケーション実行部１１１に通知する。アプリケーション実行部１１１は図７（Ａ）に示すように、所定のピクセル・サイズ（ｘ３＋ｘ４）×（ｙ３＋ｙ４）のピクセル画像データ３０１に、縦横の内分比が（ｘ１：ｘ２）、（ｙ１：ｙ２）に等しい（ｘ３：ｘ４）、（ｙ３：ｙ４）のピクセル座標３０１ｐを認識する。
【００４７】
このとき図７（Ｃ）に示すスクリーン画像４０１のコーナー４０１ａ〜４０１ｄのポインティング位置４０１ｐによる内分比（ｘ５：ｘ６）、（ｙ５：ｙ６）は内分比（ｘ３：ｘ４）、（ｙ３：ｙ４）に等しくなる。なお、プロジェクター５１の光軸がスクリーン面５３に対して左右方向に傾斜したとき、または光軸が上方向を向きかつ台形補正がされないときは、仮想画像４１３とスクリーン画像４０１は相似を保ちながら歪むが、その場合でも内分比からポインティング位置４０１ｐに対応するピクセル座標３０１ｐを取得することができる。
【００４８】
ブロック２２７でアプリケーション実行部１１１は、ピクセル座標３０１ｐが指示されたと認識して所定のアクションをする。アプリケーション実行部１１１は、アクションがスポット画像の表示の場合は、スポット画像データ３０１ｅをピクセル座標３０１ｐの位置に表示するようにアプリケーション画像データにオーバーレイする。その結果、スクリーン画像４０１のポインティング位置４０１ｐには、アプリケーション画像の中にスポット画像データ３０１ｅに対応するスポット画像４０１ｅが表示される。
【００４９】
ポインティング座標計算部１０７がポインティング位置４０１ｐの変化に応じて仮想ポインティング位置４１３ｐのグローバル座標を生成するとスポット画像４０１ｅの位置はそれに応じて変化する。プレゼンター６１がポインティング・ジェスチャを終了するか、スクリーン画像４０１から外れたポインティング位置に対するポインティング・ジェスチャをすると、スクリーン画像４０１からスポット画像４０１ｅが消える。
【００５０】
上記の手順は、本発明の実施形態を説明したものであり、すべてが必須の要素ではなく順番もこれに限定するものではない。たとえば、マーカー３６１ａ〜３６１ｄの表示やプロンプトの表示は省略することができる。また、ポインティング・ジェスチャを人体の２カ所の部位に設定した特徴点で特定したが、ペンのような長い物体を利用してその特徴点を特定してもよい。ブロック２０７では、スクリーン画像４０１のコーナー４０１ａ〜４０１ｃをポインティングしたが、図６（Ｅ）に示すようにピクセル座標が既知の場所を初期化のポインティング位置になるように順番にマーカー３６３ａ〜３６３ｄを表示してピクセル座標を計算するようにしてもよい。
【００５１】
会議支援システム１００は、初期化が終了するとプレゼンター６１以外の任意の参加者６３がポインティング・ジェスチャをして利用することができる。このとき、初期化モードでポインティング・ジェスチャをしたプレゼンター６１と、利用モードでポインティング・ジェスチャをする参加者６３の位置が異なると、初期化で形成した仮想画像４１３に対するプレゼンター６３と参加者６３の相対位置が異なるため、正しいポインティング位置４０１ｐにスポット画像４０１ｅを表示することができなくなる。
【００５２】
図８は初期化モードの際のポインティング・ジェスチャの位置と利用モードの際のポインティング・ジェスチャの位置の相違に起因して発生する、ポインティング位置４０１ｐと仮想ポインティング位置４１３ｐから計算したピクセル座標３０１ｐの間の偏差を説明するための平面図である。図８は、図４を真上からみたときの様子を示している。図８（Ａ）において、プレゼンター６１による初期化で形成した仮想画像４１３上の仮想ポインティング位置４１３ｐは、利用モードにおいてプレゼンター６１が初期化した場所でポインティングする限り、スクリーン画像４０１のコーナー４０１ａ〜４０１ｄを内分するポインティング位置４０１ｐと同じ内分比で仮想コーナー４１３ａ〜４１３ｄを内分する。
【００５３】
しかし図８（Ｂ）に示すように、利用モードにおいて、プレゼンター６１が初期化した場所とは異なる場所で参加者６３が同じポインティング位置４０１ｐをポインティングしたときのポインティング直線４１１’と仮想画像４１３の交点である仮想ポインティング位置４１３ｐ’の間には偏差が発生する。その結果、仮想画像４１３のコーナー４１３ａ〜４１３ｄに対する内分比から計算したピクセル座標がスクリーン画像４０１のポインティング位置４０１ｐに対応しなくなる。参加者６３が利用モードでポインティングする前に同じ場所でその都度初期化をすれば、ピクセル座標計算部１０９は当該参加者にとって正しいポインティング位置４０１ｐに対応するピクセル座標を認識できるがその操作をしないようにすることもできる。
【００５４】
図８（Ｂ）に示すように、仮想画像４１３とスクリーン画像４０１の距離Ｌが短くなると仮想ポインティング位置４１３ｐと４１３ｐ’の位置は近付いて偏差が小さくなることがわかる。偏差が小さい場合は、一旦いずれかの場所で初期化が完了すれば、その後どの場所でポインティング・ジェスチャをしても仮想ポインティング位置４１３ｐ’からポインティング座標計算部１０７がほぼ正確にポインティング位置４０１ｐに対応する内分比を計算できる。
【００５５】
距離Ｌは、ブロック２０９でＺ１を仮定して計算した仮想コーナー４１３ａのグローバル座標と、スクリーン面５３ａのグローバル座標の距離に対応する。仮想コーナー４１３ａのグローバル座標を平行平面４０７がスクリーン面５３ａに接近するように設定すれば距離Ｌは短くなる。しかし、本実施の形態のようにステレオ・カメラ２５がスクリーン画像４０１を撮影できないときは、スクリーン面５３ａにおけるコーナー４０１ａ〜４０１ｄのグローバル座標を計算できない。
【００５６】
ここで通常の会議室では、初期化をするプレゼンター６１の特徴点４０５ａからスクリーン面５３ａ上の位置４０１ｑまでの距離Ｌｑを想定することができる。ポインティング座標計算部１０７は、想定した距離Ｌｑの式と、特徴点４０５ａ、４０５ｂの長さの式と、ポインティング直線４０９の式から、特徴点４０５ａから距離Ｌｑだけ離れた位置４０１ｑ（図４）のグローバル座標（Ｘｑ、Ｙｑ、Ｘｑ）を計算する。ポインティング座標計算部１０７は、グローバル座標（Ｘｑ、Ｙｑ、Ｘｑ）を通過し、ポインティング直線４０９を法線とする平行平面４０７の式を求める。
【００５７】
ポインティング座標計算部１０７は初期化の際に、スクリーン画像４０１に距離Ｌｑを指定するガイダンスを含め、プレゼンター６１がスクリーン面５３ａから指定された距離Ｌｑだけ離れた場所で初期化のポインティング・ジェスチャをする。平行平面４０７をグローバル座標（Ｘｑ、Ｙｑ、Ｘｑ）含むように設定すれば、距離Ｌが短くなる。あるいは、初期化をするプレゼンター６１が距離Ｌｑを判断して、マイクロフォン２１とユーザ入力部１０１を通じてポインティング座標計算部１０７に入力するようにしてもよい。距離Ｌｑが推定できることにより、平行平面４０７からグローバル座標を実際に計算できる仮想画像４１３がスクリーン画像４０１に近づき、距離Ｌを短くすることができる（図８）。 
【００５８】
これでまで、初期化の際にステレオ・カメラ２５がスクリーン画像４０１のコーナー４０１ａ〜４０１ｄを撮影できないことを前提に説明してきた。このとき、スクリーン画像４０１の輪郭が矩形でなくても４つのコーナー４０１ａ〜４０１ｄのグローバル座標を仮想画像４１３の仮想コーナー４１３ａ〜４１３ｄに射影して内分比を計算することができた。
【００５９】
ステレオ・カメラ２５に広角レンズを用いたり、カメラの台数を増やしたりして、スクリーン画像４０１のコーナーを１個でも撮影することができれば、仮想平面４１３を設定しないで、スクリーン面５３ａ上のスクリーン画像４０１の輪郭を確定することができる。その結果、距離Ｌとポインティング・ジェスチャの位置の違いで発生していた偏差も生じなくなる。
【００６０】
また、プロジェクター５１が台形補正をすることで、スクリーン画像４０１が矩形であると想定できればブロック２０７でコーナー４０１ｄに対するポインティング・ジェスチャをしないでも、コーナー４０１ａ〜４０１ｃのグローバル座標からコーナー４０１ｄのグローバル座標を計算することができる。さらにプロジェクター５１の光軸をスクリーン面５３ａに対して傾斜させないことで、スクリーン画像４０１がピクセル画像データ３０１のアスペクト比を維持している場合は、２個のコーナーに対するポインティング・ジェスチャで仮想コーナー４１３ａ〜４１３ｄを確定することができる。
【００６１】
また、スクリーン画像４０１の４つのコーナーをすべて撮影できれば、ポインティング直線４０３ａないし４０３ｄを計算しなくても、スクリーン画像４０１のグローバル座標を確定することができる。また、スクリーン画像の１個または２個のコーナーを撮影できれば、その数だけコーナーに対するポインティング・ジェスチャの回数を減らすことができる。
【００６２】
また、スクリーン画像４０１に対するポインティングについて説明したが、本発明は、ノートＰＣ１０が生成したピクセル画像データを表示する大型のモニターに適用することもできる。モニターは矩形の画面の大きさおよびアスペクト比があらかじめ決まっており、スクリーン画像のようにプロジェクター５１の位置によって画像が歪むことがないため、初期化は一層容易になる。たとえば、ステレオ・カメラ２５がモニター画面のコーナーを撮影しないときでも、３個のコーナーに対するポインティング・ジェスチャで、グローバル座標系でモニター画面の位置を特定することができる。
【００６３】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【００６４】
１０  ノートブック型パーソナル・コンピュータ
５３  スクリーン
５３ａ  スクリーン平面
１００  会議支援システム
３０１  アプリケーション画像
３０１ａ〜３０１ｃ  基準ピクセル座標
３６１、３６３  スクリーン画像のマーカー画像
４０１  スクリーン画像
４０１ａ〜４０１ｄ  スクリーン画像のコーナー
４０１ｐ  ポインティング位置（スクリーン画像とポインティング直線４１１の交点）
４０１ｑ  法線方向のポインティング直線上の点
４０３ａ〜４０３ｄ  コーナーに対するポインティング直線
４０９  法線方向のポインティング直線
４１１  任意の方向のポインティング直線
４０５ａ  人体の特徴点（目の間）
４０５ｂ  人体の特徴点（人指し指の指先）
４０７  平行平面
４１３  仮想画像
４１３ａ〜４１３ｄ  仮想画像のコーナー
４１３ｐ  仮想ポインティング位置（平行平面４１３とポインティング直線４１１の交点）
Ｘ、Ｙ，Ｚ  グローバル座標
【図１】
2016099917.tif 000005
【図２】
2016099917.tif 000006
【図３】
2016099917.tif 000007
【図４】
2016099917.tif 000008
【図５】
2016099917.tif 000009
【図６】
2016099917.tif 000010
【図７】
2016099917.tif 000011
【図８】
2016099917.tif 000012