(57)【要約】【課題】  拡張現実の視聴者間でポインティング装置を用いることなく、一方の視聴者が指し示している箇所を他方の視聴者に対して通知する為の技術を提供すること。【解決手段】  第１の装置は、該第１の装置のユーザが指示している仮想物体上の指示位置を求める。第２の装置は、該第２の装置の表示部に表示されている合成画像上の上記指示位置に対応する位置を求め、該求めた位置を指し示す表示を該合成画像上に合成表示する。【選択図】図１
2014174643.tif 000002
【特許請求の範囲】
【請求項１】
撮像部及び表示部を有し、管理装置と通信可能な画像処理装置であって、
前記撮像部によって撮像された撮像画像中に写っている特定の現実物体に対応する仮想物体を取得する取得手段と、
前記撮像画像と前記仮想物体の画像とを合成した合成画像を生成し、該合成画像を前記表示部に表示する表示制御手段と、
ユーザが指示している前記仮想物体上の指示位置を求める計算手段と、
前記指示位置を前記管理装置に転送する転送手段と
ことを特徴とする画像処理装置。
【請求項２】
撮像部及び表示部を有し、管理装置と通信可能な画像処理装置であって、
前記撮像部によって撮像された撮像画像中に写っている特定の現実物体に対応する仮想物体を取得する取得手段と、
前記撮像画像と前記仮想物体の画像とを合成した合成画像を生成し、該合成画像を前記表示部に表示する表示制御手段と、
前記管理装置から転送された、ユーザが指示している前記仮想物体上の指示位置を受信し、前記表示部に表示されている合成画像上の該指示位置に対応する位置を求め、該求めた位置を示す情報を該合成画像に重畳させて表示する合成表示制御手段と
を備えることを特徴とする画像処理装置。
【請求項３】
撮像部及び表示部を有する第１，２の装置と、該第１，２の装置と通信可能な管理装置と、を有する画像処理システムであって、
前記第１，２の装置のそれぞれは、
前記撮像部によって撮像された撮像画像中に写っている特定の現実物体に対応する仮想物体を取得する取得手段と、
前記撮像画像と前記仮想物体の画像とを合成した合成画像を生成し、該合成画像を前記表示部に表示する表示制御手段と
を備え、
前記第１の装置は更に、
前記第１の装置のユーザが指示している前記仮想物体上の指示位置を求める計算手段と、
前記計算手段が求めた指示位置を前記管理装置に対して送信する送信手段とを備え、
前記管理装置は、
前記送信手段により送信された指示位置を前記第２の装置に転送する転送手段を備え、
前記第２の装置は更に、
前記転送手段により転送された指示位置を受信し、前記第２の装置の表示部に表示されている合成画像上の該指示位置に対応する位置を求め、該求めた位置を示す情報を該合成画像に重畳させて表示する合成表示制御手段を備える
ことを特徴とする画像処理システム。
【請求項４】
前記ユーザの手若しくは前記ユーザが把持する器具を、前記仮想物体を指示するための指示具とし、
前記計算手段は、
前記表示部に表示されている前記指示具の画像座標と、前記撮像部の画角と、前記撮像部が撮像した撮像画像中に写っている前記現実物体の大きさ及び角度から得られる前記現実物体に対する前記撮像部の相対位置姿勢と、を用いて、該相対位置から前記指示具の位置へのベクトルを求め、該ベクトルを方向ベクトルとする直線と前記仮想物体と、の交点位置を、前記指示位置として求める
ことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記表示制御手段は、前記撮像画像において前記指示具が写っている領域以外の領域に前記仮想物体の画像を合成することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記合成表示制御手段は、
前記撮像部が撮像した撮像画像中に写っている前記現実物体の大きさ及び角度から得られる前記現実物体に対する前記撮像部の相対位置姿勢と、前記撮像部の画角と、を用いて、前記指示位置に対応する前記合成画像上の位置を求める
ことを特徴とする請求項２に記載の画像処理装置。
【請求項７】
前記合成表示制御手段は、前記表示部に表示されている合成画像において前記求めた位置に対応する位置にポインタを表示する、または該対応する位置若しくはその周辺をハイライト表示する、または該対応する位置若しくはその周辺の色を反転させる、ことを特徴とする請求項２に記載の画像処理装置。
【請求項８】
前記第２の装置が複数台である場合、前記転送手段は、該複数台のうち予め指定された前記第２の装置に対して前記指示位置を転送することを特徴とする請求項３に記載の画像処理システム。
【請求項９】
撮像部及び表示部を有し、管理装置と通信可能な画像処理装置が行う画像処理方法であって、
前記画像処理装置の取得手段が、前記撮像部によって撮像された撮像画像中に写っている特定の現実物体に対応する仮想物体を取得する取得工程と、
前記画像処理装置の表示制御手段が、前記撮像画像と前記仮想物体の画像とを合成した合成画像を生成し、該合成画像を前記表示部に表示する表示制御工程と、
前記画像処理装置の計算手段が、ユーザが指示している前記仮想物体上の指示位置を求める計算工程と、
前記画像処理装置の転送手段が、前記指示位置を前記管理装置に転送する転送工程と
ことを特徴とする画像処理方法。
【請求項１０】
撮像部及び表示部を有し、管理装置と通信可能な画像処理装置が行う画像処理方法であって、
前記画像処理装置の取得手段が、前記撮像部によって撮像された撮像画像中に写っている特定の現実物体に対応する仮想物体を取得する取得工程と、
前記画像処理装置の表示制御手段が、前記撮像画像と前記仮想物体の画像とを合成した合成画像を生成し、該合成画像を前記表示部に表示する表示制御工程と、
前記画像処理装置の合成表示制御手段が、前記管理装置から転送された、ユーザが指示している前記仮想物体上の指示位置を受信し、前記表示部に表示されている合成画像上の該指示位置に対応する位置を求め、該求めた位置を示す情報を該合成画像に重畳させて表示する合成表示制御工程と
を備えることを特徴とする画像処理方法。
【請求項１１】
撮像部及び表示部を有する第１，２の装置と、該第１，２の装置と通信可能な管理装置と、を有する画像処理システムの制御方法であって、
前記第１，２の装置のそれぞれは、
前記撮像部によって撮像された撮像画像中に写っている特定の現実物体に対応する仮想物体を取得し、
前記撮像画像と前記仮想物体の画像とを合成した合成画像を生成し、該合成画像を前記表示部に表示し、
前記第１の装置は更に、
前記第１の装置のユーザが指示している前記仮想物体上の指示位置を求め、
前記求めた指示位置を前記管理装置に対して送信し、
前記管理装置は、
前記送信された指示位置を前記第２の装置に転送し、
前記第２の装置は更に、
前記転送された指示位置を受信し、前記第２の装置の表示部に表示されている合成画像上の該指示位置に対応する位置を求め、該求めた位置を示す情報を該合成画像に重畳させて表示する
ことを特徴とする画像処理システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像画像と仮想物体とを合成してユーザに提供する為の技術に関するものである。
【背景技術】
【０００２】
近年、撮像装置により得られる画像に対し、仮想的な情報や画像を重畳して表示させることで現実を拡張する、拡張現実（AR: Augmented Reality）技術が開発されてきている。
【０００３】
例えば、撮影された画像中の特定の対象について、予め関連付けておいた動画などのコンテンツを該対象の位置に合わせて重畳表示させるヒューレット・パッカード社のAurasmaなどが存在している。
【０００４】
また特許文献１では、実写画像から特定画像の領域を示す領域情報を検出し、検出した領域情報を用いて、実写画像における特定画像の領域以外の領域に対してはコンピュータグラフィックス画像を合成する。これにより実写風景を背景としてＣＧ物体をその上に重畳し、さらにその手前に実写の被写体の画像を合成させるときに、実写の背景と被写体とを別々に撮影することなく同時に撮影した画像を用いてＣＧと合成することが可能となる。
【０００５】
また、ARコンテンツに対する指示（ポインティング）技術も開示されている。例えば特許文献２では、被指示者の視点における画像を指示者に送り、入力装置を介して該画像中に指示者から被指示者への指示が入力されると、被指示者の表示装置に表示する仮想空間映像を、指示が反映されている映像となるように描画する。これにより指示者からの指示を、被指示者が認識することを可能とする。
【０００６】
特許文献３では、ポインティング装置と撮像装置の位置姿勢情報から得られるポインティング位置情報に基づき、仮想コンテンツを指示しているのか現実コンテンツを指示しているのかを判別し、判別結果に応じて指示対象を切り替える。これにより一つのポインティング装置で仮想コンテンツと現実コンテンツに対する指示を可能とする。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４１３６４２０号公報
【特許文献２】特開２００７−４２０７３号公報
【特許文献３】特開２００８−４０５５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献２に記載されている技術では、指示する際に指示者は被指示者の視点における画像を取得し、該画像中で指示する座標を指定しなければならないため、相互に指示を出し合うことが難しいという課題がある。
【０００９】
また、特許文献３に記載されている技術では、ポインティング装置の位置姿勢情報を用いて指示位置を特定するため、ポインティング装置を持ち合わせていない場合には指示することが出来ないという課題がある。
【００１０】
本発明はこのような問題に鑑みてなされたものであり、拡張現実の視聴者間でポインティング装置を用いることなく、一方の視聴者が指し示している箇所を他方の視聴者に対して通知する為の技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本開示の画像処理装置の一様態によれば、撮像部及び表示部を有し、管理装置と通信可能な画像処理装置であって、前記撮像部によって撮像された撮像画像中に写っている特定の現実物体に対応する仮想物体を取得する取得手段と、前記撮像画像と前記仮想物体の画像とを合成した合成画像を生成し、該合成画像を前記表示部に表示する表示制御手段と、ユーザが指示している前記仮想物体上の指示位置を求める計算手段と、前記指示位置を前記管理装置に転送する転送手段とことを特徴とする。
【発明の効果】
【００１２】
本発明の構成により、拡張現実の視聴者間でポインティング装置を用いることなく、一方の視聴者が指し示している箇所を他方の視聴者に対して通知することができる。
【図面の簡単な説明】
【００１３】
【図１】画像処理システムの構成例を示すブロック図。
【図２】ＡＲ指示送信装置１０及びＡＲ表示装置３０の外観例を示す図。
【図３】画像処理ステムに含まれる各装置が行う処理のフローチャート。
【図４】ステップＳ１０２における処理の詳細を示すフローチャート。
【図５】マーカ及びマーカ座標系を説明するための図。
【図６】ステップＳ１０４における処理の詳細を示すフローチャート。
【図７】ステップＳ１０４１における処理を説明する図。
【図８】ステップＳ３０３における処理の詳細を示すフローチャート。
【図９】画像処理ステムの使用例を説明する図。
【図１０】画像処理ステムの使用例を説明する図。
【図１１】ステップＳ１０５における処理の詳細を示すフローチャート。
【図１２】指示点及び指示ベクトルＶｖａを説明する図。
【図１３】ステップＳ１０５２における処理を説明する図。
【図１４】ステップＳ３０５における処理を説明する図。
【図１５】指示ポインタの合成表示例を示す図。
【図１６】画像処理ステムに含まれる各装置が行う処理のフローチャート。
【図１７】第３の実施形態を説明する図。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１５】
［第１の実施形態］
先ず、本実施形態に係る画像処理システムの構成例について、図１のブロック図を用いて説明する。図１に示す如く、本実施形態に係る画像処理システムは、ＡＲ指示送信装置１０と、ＡＲ管理装置２０と、ＡＲ表示装置３０と、を有している。そしてこのシステムでは、ＡＲ管理装置２０が、有線や無線などのネットワークを介して、ＡＲ指示送信装置１０及びＡＲ表示装置３０とデータ通信が可能なように構成されている。
【００１６】
先ず、ＡＲ指示送信装置１０について説明する。撮影部１１は、現実空間の動画像を撮像可能な装置であり、撮像した各フレームの画像（現実空間の撮像画像）は順次、メモリ１５に格納される。
【００１７】
制御部１２は、メモリ１５に格納されているコンピュータプログラムやデータを用いて処理を実行することで、ＡＲ指示送信装置１０全体の動作制御を行うと共に、ＡＲ指示送信装置１０が行うものとして後述する各処理を実行する。
【００１８】
表示部１４は、例えば、液晶画面であり、制御部１２による処理結果を画像や文字などでもって表示することができる。通信部１３は、上記のネットワークを介してＡＲ管理装置２０とデータ通信を行う。
【００１９】
ＡＲ表示装置３０を構成する制御部３２、撮影部３１、表示部３４、通信部３３、メモリ３５はそれぞれ、制御部１２、撮影部１１、表示部１４、通信部１３、メモリ１５と同じであるため、ＡＲ表示装置３０を構成する各部に係る説明は省略する。
【００２０】
このように、ＡＲ指示送信装置１０、ＡＲ表示装置３０はいずれも同様の構成を有しており、外観についても図２に例示するように、同様の外観を有している。図２の例では、ＡＲ指示送信装置１０、ＡＲ表示装置３０はいずれも、一方の面に撮影部、他方の面に表示部が搭載されている。
【００２１】
次に、ＡＲ管理装置２０について説明する。制御部２１は、メモリ２５に格納されているコンピュータプログラムやデータを用いて処理を実行することで、ＡＲ管理装置２０全体の動作制御を行うと共に、ＡＲ管理装置２０が行うものとして後述する各処理を実行する。通信部２２は、上記ネットワークを介してＡＲ指示送信装置１０及びＡＲ表示装置３０とのデータ通信を行う。
【００２２】
次に、ＡＲ指示送信装置１０、ＡＲ管理装置２０、ＡＲ表示装置３０のそれぞれの装置が行う処理について、図３のフローチャートを用いて説明する。このフローチャートにおける各ステップに対応する処理は、以下に説明するように、該ステップに対応する装置の制御部（ＣＰＵなど）が制御プログラムを実行することにより実行される。
【００２３】
ステップＳ１０１では、制御部１２は撮影部１１を制御して現実空間の動画像撮影を行わせる。撮影部１１はこの制御に従って現実空間の動画像撮影を開始し、撮影した各フレームの画像（撮像画像）は順次メモリ１５に格納される。
【００２４】
ステップＳ１０２では、制御部１２は、メモリ１５から順次撮像画像を読み出す。そして制御部１２は、読み出した撮像画像から該撮像画像中に写っている特定の現実物体の画像を抽出し、該抽出した画像をＡＲ管理装置２０に対して送信することで、対応するＡＲコンテンツの送信要求を行う。このＡＲコンテンツには、仮想物体と、該仮想物体を配置する位置姿勢と、が含まれている。なお、仮想物体を配置する位置姿勢は必ずＡＲコンテンツに含まれている必要はなく、ＡＲコンテンツとは別個のデータとしても良い。ステップＳ１０２における処理の詳細について、図４のフローチャートを用いて説明する。このフローチャートにおける各ステップに対応する処理は、以下に説明するように、該ステップに対応する装置の制御部（ＣＰＵなど）が制御プログラムを実行することにより実行される。
【００２５】
ここで、現実空間を撮像した撮像画像上に仮想物体を重畳させるための手法には、マーカ型と非マーカ型とがある。マーカ型とは、次のような手法である。即ち、ドキュメント等が印刷されている印刷物上に予め印刷されている「規定のフォーマットで描かれた特定パターン」を撮影し、撮影した画像中の該パターンを認識することで対応する仮想物体を得、該仮想物体を該画像上に重畳させるものである。非マーカ型とは、上記のようなパターンは必要とせず、代わりに画像中の特徴量（例えば、SIFT特徴量、SURF特徴量）を認識することで対応する仮想物体を得て該画像上に重畳させるものである。
【００２６】
以下では説明上、マーカ型の手法により撮像画像上に仮想物体を重畳させるが、非マーカ型を採用しても、以下に説明する処理の基本的な構成は変わらない。すなわち、本実施形態は、撮像画像上に仮想物体を重畳させる手法は特定の手法に限るものではない。
【００２７】
図４において先ずステップＳ１０２１では、制御部１２は、撮像画像からマーカが写っている領域を検出し、該領域内の画像をマーカ画像として抽出する。撮像画像からマーカを検出するためには、例えば、メモリ１５に各マーカに共通の特徴を予め格納しておき、撮像画像内でこの共通の特徴にマッチする領域を検出すればよい。このとき用いるマーカは、例えば、図５（ａ）に例示するように、ある太さの枠で囲まれた四角形であり、各マーカに共通の特徴は、「四角形部分」となる。なお、撮像画像からマーカを検出するための技術には様々な公知技術があり、いずれを採用しても構わない。
【００２８】
次に、ステップＳ１０２２では、制御部１２は、通信部１３を制御し、ステップＳ１０２１で抽出したマーカ画像またはマーカの特徴量をＡＲ管理装置２０に対して送信させる。ステップＳ２０１では、制御部２１は通信部２２を制御し、ＡＲ指示送信装置１０から送信されたマーカ画像またはマーカの特徴量を受信する。ここで、ＡＲ管理装置２０は、それぞれのマーカに対し、該マーカに対応するＡＲコンテンツをメモリ２５内に管理している。具体的には、それぞれのマーカの特徴量に対し、該マーカに対応するＡＲコンテンツをメモリ２５内に管理している。然るに、図３のステップＳ２０１では、制御部２１は、ＡＲ指示送信装置１０から受信したマーカ画像の特徴量を抽出し、該抽出した特徴量と最もマッチする特徴量をメモリ２５から検索する（マーカの特徴量はＡＲ指示送信装置側で抽出してもよい）。もちろん、ステップＳ２０１でマーカ画像の特徴量を受信した場合は、この受信した特徴量と最もマッチする特徴量をメモリ２５から検索する。そしてステップＳ２０１では制御部２１は、検索した特徴量に対応するＡＲコンテンツをメモリ２５から読み出し、通信部２２を制御して、この読み出したＡＲコンテンツをＡＲ指示送信装置１０に対して送信する。
【００２９】
ステップＳ１０２３では、制御部１２は通信部１３を制御して、ＡＲ管理装置２０から送信されたＡＲコンテンツを受信させ、該受信したＡＲコンテンツをメモリ１５に格納する。上記の通り、このＡＲコンテンツには、仮想物体と、該仮想物体を配置する位置姿勢と、が含まれている。この「仮想物体を配置する位置姿勢」とは、図５（ｂ）に例示する如く、該仮想物体に対応するマーカの位置を原点Ｐ０とし、該原点で互いに直交する３軸をそれぞれｘ、ｙ、ｚ軸とする座標系（マーカ座標系）における該仮想物体の位置姿勢である。
【００３０】
以上説明した各処理により、ＡＲ指示送信装置１０は、撮像した画像中に含まれているマーカに対応するＡＲコンテンツをＡＲ管理装置２０から取得することができる。なお、ＡＲ表示装置３０側でもＡＲ指示送信装置１０と同様の処理を行っている。ステップＳ３０１，Ｓ３０２のそれぞれは、上記のステップＳ１０１，Ｓ１０２と同様であるため、ステップＳ３０１，Ｓ３０２のそれぞれに係る説明は省略する。
【００３１】
次に、ステップＳ１０３では、ＡＲ指示送信装置１０の制御部１２は、ステップＳ１０２で読み出した撮像画像から、仮想物体を指示するための指示具が写っている領域を特定する。指示具はユーザの手であっても良いし、ユーザが手で把持する指示棒などの器具であっても良い。指示具として如何なるものを用いるにせよ、この指示具の色は予めメモリ１５に登録されており、制御部１２は、撮像画像に対して指示具の色でクラスタリングを行い、クラスタリング結果を「撮像画像内における指示具の領域」とする。もちろん、撮像画像から指示具が写っている領域を特定する為の技術には様々な方法が考えられるので、本実施形態は特定の方法に限るものではない。
【００３２】
ステップＳ１０４では、制御部１２は、ステップＳ１０２で読み出した撮像画像と、ステップＳ１０２で取得したＡＲコンテンツ内の仮想物体と、を合成した合成画像を生成し、該生成した合成画像を表示部１４に表示する。ステップＳ１０４における処理の詳細について、図６のフローチャートを用いて説明する。このフローチャートにおける各ステップに対応する処理は、以下に説明するように、該ステップに対応する装置の制御部（ＣＰＵなど）が制御プログラムを実行することにより実行される。
【００３３】
ステップＳ１０４１では、制御部１２は、ステップＳ１０２で読み出した撮像画像中に写っているマーカに対する撮影部１１の相対位置姿勢（即ち、マーカ座標系における撮影部１１の位置姿勢）を、該撮像画像を用いて求める。この相対位置姿勢は、撮像画像中に写っているマーカの大きさや角度から求めることができる。この技術は公知の技術であるため、これに係る説明は省略する。
【００３４】
ステップＳ１０４１における処理について、図７を用いて説明する。図７には、マーカの中心位置Ｐ０を原点としたマーカ座標系におけるｘ−ｚ平面を示している。上記の如く、公知技術を用いることで、マーカ座標系における撮影部１１の位置姿勢を求めることができ、これは、マーカ座標系における撮影部１１の座標位置Ｐｄａと姿勢ベクトルＶｄａとを求めることと同義である。θｄａは姿勢ベクトルＶｄａとｘ軸とがなす角度である。上記の公知技術を用いてこのθｄａを求めることで、結果として姿勢ベクトルＶｄａを求める。姿勢ベクトルＶｄａは、撮影部１１の中心位置（即ち、撮影部１１による撮像画像の中心位置）から垂直方向に延長したベクトルである。
【００３５】
次に、ステップＳ１０４２では、制御部１２は、ステップＳ１０２３でメモリ１５に格納したＡＲコンテンツ内の仮想物体を配置する。ＡＲコンテンツ内に含まれている「仮想物体の配置位置姿勢」は、マーカ座標系におけるものであるので、制御部１２は、ＡＲコンテンツに含まれている配置位置姿勢でもって、同ＡＲコンテンツに含まれている仮想物体を配置する。図７においてＰａｒは仮想物体の配置位置である。
【００３６】
そして更に、ステップＳ１０４２では、制御部１２は、仮想物体の配置後、座標位置がＰｄａであり且つ姿勢ベクトルがＶｄａである撮影部１１から見た該仮想物体の画像を生成する。所定の位置姿勢を有する視点から見た仮想物体の画像を生成するための技術は公知であるため、これに係る説明は省略する。
【００３７】
そして更に、ステップＳ１０４２では、制御部１２は、この生成した仮想物体の画像を、ステップＳ１０２で読み出した撮像画像上に重畳するのであるが、ステップＳ１０３で特定した領域には仮想物体の画像を重畳させないようにする。この技術は公知のものであり、例えば、上記の特許文献１に開示されている技術が適用可能である。そして更に、ステップＳ１０４２では、制御部１２は、このようにして仮想物体の画像が重畳された撮像画像を、表示部１４に表示させる。
【００３８】
以上説明した処理により、ＡＲ指示送信装置１０の表示部１４には、撮影部１１による撮像画像中に写っているマーカに対応する仮想物体であって、撮影部１１の位置姿勢に応じて見える該仮想物体、の画像が重畳された該撮像画像が表示される。
【００３９】
一方、ステップＳ３０３ではＡＲ表示装置３０の制御部３２は、撮影部３１による撮像画像中に写っているマーカに対応する仮想物体であって、撮影部３１の位置姿勢に応じて見える該仮想物体、の画像が重畳された該撮像画像を生成して表示部３４に表示する。ステップＳ３０３における処理の詳細について、図８のフローチャートを用いて説明する。このフローチャートにおける各ステップに対応する処理は、以下に説明するように、該ステップに対応する装置の制御部（ＣＰＵなど）が制御プログラムを実行することにより実行される。
【００４０】
先ず、ステップＳ３０３１では、制御部３２は、ステップＳ３０２で読み出した撮像画像中に写っているマーカに対する撮影部３１の相対位置姿勢（即ち、マーカ座標系における撮影部３１の位置姿勢）を、該撮像画像を用いて求める。この処理は、上記のステップＳ１０４１における処理と同様である。
【００４１】
ステップＳ３０３２で制御部３２は上記ステップＳ１０４２と同様に、ステップＳ３０２で読み出した撮像画像中のマーカに対応するＡＲコンテンツ内の仮想物体を配置し、撮影部３１から見た該仮想物体の画像を生成して、該撮像画像上に重畳する。重畳の際には、ステップＳ１０４２のように、仮想物体の画像を指示具の領域に重畳させないようにすることは行わない。そして更に、ステップＳ３０３２では、制御部３２は、このようにして仮想物体の画像が重畳された撮像画像を、表示部３４に表示させる。
【００４２】
ここまでの処理で、ＡＲ指示送信装置１０（表示部１４）、ＡＲ表示装置３０（表示部３４）のそれぞれには、仮想物体が重畳された撮像画像が表示されていることになる。例えば、図９に示す如く、ユーザＡ、ユーザＢのそれぞれがＡＲ指示送信装置１０、ＡＲ表示装置３０を手にし、それぞれの撮影部をマーカが印刷されているポスターに向けたとする。このとき、表示部１４には、図１０の左側に示す如く、マーカに対応する仮想物体が、撮像画像において手の領域以外の領域に重畳されて表示されている。また、表示部３４には、図１０の右側に示す如く、マーカに対応する仮想物体が、撮像画像に重畳されて表示されている。このとき、ユーザＢは、表示部３４に表示されている画面を見るだけでは、ユーザＡの手が仮想物体のどこを指し示しているのかは分からない。然るに、以降の処理では、ユーザＡの手が仮想物体のどこ部分を指し示しているのかを表示部３４の画面上に通知するための処理を行う。
【００４３】
ステップＳ１０５では、制御部１２は、ステップＳ１０２で読み出した撮像画像中に写っている指示具が指し示している、マーカ座標系における座標位置を求める。ステップＳ１０５における処理の詳細について、図１１のフローチャートを用いて説明する。このフローチャートにおける各ステップに対応する処理は、以下に説明するように、該ステップに対応する装置の制御部（ＣＰＵなど）が制御プログラムを実行することにより実行される。
【００４４】
ステップＳ１０５１では、制御部１２は、撮像画像中の指示具の先端部の画像座標を求める。例えば、撮像画像が図１２（ａ）に例示するような画像である場合、指示具はユーザの手であるので、その先端部である指の先（指示点）の画像座標を求めることになる。
【００４５】
ステップＳ１０５２では、制御部１２は、ステップＳ１０５１で求めた画像座標を用いて、撮影部１１の中心位置からこの画像座標を通る方向ベクトル（指示ベクトル）Ｖｖａを求める。ステップＳ１０５２における処理の詳細について、図１３を用いて説明する。図１３において、ベクトルＶｄａはこれまでの処理ですでに求められているものであり、このベクトルＶｄａは常に撮影部１１の中心位置（撮影画像中の中心位置）から垂直方向に延長したベクトルである。
【００４６】
指示ベクトルＶｖａを求める手法として挙げられるのが、撮像画像における、中心点から指示点までの距離を用いて得る方法である。この方法を図１２（ｂ）を用いて説明する。
【００４７】
まず撮像画像中の中心点Pcを基準とし、水平方向にu軸、垂直方向にv軸を取る。以下から、各点のu成分とｖ成分は_u、_vと表記する。例えば、撮像画像中心の座標Pc_uは０、Pc_vも０である。このとき撮像画像の左端をPuel、右端をPuerとする。この撮像画像中の左端から右端までにどの範囲の風景が写っているのかは撮影部の画角に依存する。例えば撮影部の水平画角が４０度であるとすると、撮像画像の左端から右端まではこの４０度内での風景を切り出していることになる。指示点をＰｐとすると、これを先ほどの画角を用いて比を取ると、Puel_u：Pp_u＝水平画角（４０度）/２：ｎとなる。このｎは、撮影部からのu軸方向の角度であるので、このｎを求めれば、ひいてはベクトルＶｄａに対する指示ベクトルＶｖａのu軸方向の角度を得ることとなる。これをv軸にも適用することで、ベクトルＶｄａに対する指示ベクトルＶｖａの角度θvaを得ることができる。換言すれば、ベクトルＶｄａに対して角度θvaを有するベクトルを、指示ベクトルＶｖａとして求めることができる。
【００４８】
ステップＳ１０５３では、制御部１２は、指示具が指し示している仮想物体上の、マーカ座標系における座標位置（指示位置）を求める（計算する）。これは、ステップＳ１０５２で求めた指示ベクトルＶｖａを方向ベクトルとする直線と仮想物体との交点位置（より撮像部に近い位置）を求めればよい。図１３ではこの交点位置はＰｖとして表されている。
【００４９】
そしてステップＳ１０６では、制御部１２は通信部１３を制御し、ステップＳ１０５３で求めた座標位置をＡＲ管理装置２０に対して送信する。ステップＳ２０２では、制御部２１は通信部２２を制御し、ＡＲ指示送信装置１０から送信された座標位置を受信してメモリ２５に格納する。そしてステップＳ２０３では制御部２１は通信部２２を制御し、ステップＳ２０２でメモリ２５に格納した座標位置をＡＲ表示装置３０に対して送信する。
【００５０】
ステップＳ３０４では、制御部３２は通信部３３を制御して、ＡＲ管理装置２０から送信された座標位置を受信してメモリ３５に格納する。そしてステップＳ３０５では制御部３２は、表示部３４に表示している画面において、ステップＳ３０４でメモリ３５に格納した座標位置に対応する位置を求める。この座標位置は撮影装置に依存しない、マーカを基準とした座標系で定義されている座標位置であるので、ＡＲ表示装置３０側で該座標位置が画面上のどの位置に当たるかを算出することができる。この算出処理について、図１４を用いて説明する。
【００５１】
図１４においてＰｄｂは撮影部３１の位置、Ｖｄｂは撮影部３１の姿勢ベクトルであり、該姿勢ベクトルＶｄｂは、撮影部３１の中心位置（即ち、撮影部３１による撮像画像の中心位置）から垂直方向に延長したベクトルである。撮影部３１の位置や姿勢については、上記のステップＳ１０４１と同様の処理により求めればよい。
【００５２】
マーカ座標系における座標位置Ｐｖに対応する、撮影部３１による撮像画像上の位置を求めるためには、先ず、撮影部３１の中心位置から座標位置Ｐｖに伸ばしたベクトルＶｖｂを求める。そして、ベクトルVｄｂとベクトルＶｖｂとのなす角であるθｖｂを求める。そして、Puel_u：Ｘｈ＝水平画角（４０度）/２：θｖｂを満たすＸｈを求める。このＸｈは、マーカ座標系における座標位置Ｐｖに対応する、撮影部３１による撮像画像上の位置のｘ成分である。これをｖ軸にも適用することで、マーカ座標系における座標位置Ｐｖに対応する、撮影部３１による撮像画像上のｘ成分及びｙ成分を得ることができる。
【００５３】
そしてステップＳ３０５では更に制御部３２は、表示部３４に表示されている画像において、マーカ座標系における座標位置Ｐｖに対応する座標位置に、指示ポインタを合成表示する。この表示例を図１５に示す。ここでは、ＡＲ表示装置３０のメモリ３５に保存されている指示ポインタを合成表示している。指示ポインタの種類は、図示している矢印に限らず、どのような図形・絵柄であってもよい。なお、矢印など、方向性を有する指示ポインタの方向については別段限定するものではないが、例えば矢印の指示ポインタを使用する場合、指示ポインタの配置位置に矢印の先を合わせるようにし、矢印の向きそのものは適当な方向で良い。
【００５４】
なお、指示ポインタを表示する目的は、マーカ座標系における座標位置Ｐｖに対応する、撮影部３１による撮像画像上の位置をユーザＢに通知するためのものである。然るに、同様の目的を達成することができるのであれば、他の方法を用いて該通知を行うようにしても構わない。例えば、マーカ座標系における座標位置Ｐｖに対応する、撮影部３１による撮像画像上の位置若しくはその周辺をハイライト表示しても良いし、色を反転させても良い。また、マーカ座標系における座標位置Ｐｖに対応する、撮影部３１による撮像画像上の位置を中心とする枠（指示具を囲むような枠）を表示しても良い。
【００５５】
以上説明した処理によって、一方のユーザが指し示した位置を、他方のユーザが観察する画像上に示すことができる。なお、本実施形態では、便宜的にＡＲ指示送信装置１０とＡＲ表示装置３０とをそれぞれ異なる機能を有する装置として説明しているが、それぞれが双方の機能を有する装置としてもよい。その場合、それぞれの装置は互いに自分の指示点を相手に通知することができるようになる。
【００５６】
なお、上記で説明した構成は、以下に説明する基本構成の一例に過ぎず、該基本構成と同等の機能を有する構成であれば、他の構成を採用しても良い。即ち、撮像部及び表示部を有する第１，２の装置と、該第１，２の装置と通信可能な管理装置と、を有する画像処理システムにおいて、第１，２の装置のそれぞれは、次のような構成を有する。
【００５７】
即ち、撮像部によって撮像された撮像画像中に写っている特定の現実物体に対応する仮想物体を取得する取得部と、撮像画像と仮想物体の画像とを合成した合成画像を生成し、該合成画像を表示部に表示する表示制御部を有する。
【００５８】
第１の装置は更に、第１の装置のユーザが指示している仮想物体上の指示位置を求める計算部と、計算部が求めた指示位置を管理装置に対して送信する送信部とを有する。管理装置は、送信部により送信された指示位置を第２の装置に転送する転送部を有する。そして第２の装置は更に、転送部により転送された指示位置を受信し、第２の装置の表示部に表示されている合成画像上の該指示位置に対応する位置を求め、該求めた位置を示す情報を該合成画像に重畳させて表示する合成表示制御部を有する。
【００５９】
［第２の実施形態］
第１の実施形態では、ＡＲ指示送信装置１０で求めた指示位置をＡＲ表示装置３０に対して送信する方法を説明した。しかし、複数台のＡＲ表示装置３０がＡＲ管理装置２０に接続されている場合、全てのＡＲ表示装置３０に指示位置を送信すると、指示ポインタを表示させたくないユーザのＡＲ表示装置３０にまで、この指示ポインタを表示することになってしまう。
【００６０】
本実施形態では、第１の実施形態の構成に、指示位置の送信先を限定する為の構成を加えた実施形態について説明する。本実施形態に係るシステムの動作について、図１６のフローチャートを用いて説明する。なお、図１６において「ＡＲ表示装置」が行う処理として示しているステップＳ６０１〜Ｓ６０６は、複数台のＡＲ表示装置３０のそれぞれが行う処理である。
【００６１】
ステップＳ４０１では、ＡＲ指示送信装置１０の制御部１２は通信部１３を制御して、指示位置の送信対象となるＡＲ表示装置３０のグループの作成要求をＡＲ管理装置２０に対して送信する。
【００６２】
ステップＳ５０１では、ＡＲ管理装置２０の制御部２１は通信部２２を制御して、ＡＲ指示送信装置１０から送信された作成要求を受信し、該受信に応じて、指示位置の送信先のＡＲ表示装置３０のグループの作成を開始する。即ち、グループに含まれるＡＲ表示装置３０の識別情報を登録するためのリストをメモリ２５内に作成する。この時点でリストは初期化されており、いずれのＡＲ表示装置３０も登録されていない。
【００６３】
ステップＳ６０１では、ＡＲ表示装置３０の制御部３２は通信部３３を制御して、グループ参加要求をＡＲ管理装置２０に対して送信する。もちろん、全てのＡＲ表示装置３０がグループ参加要求を送信することに限るものではない。ＡＲ表示装置３０のユーザは例えば上記のグループに属したい場合には、ＡＲ表示装置３０に備わっている不図示の操作部を操作してグループ参加要求を入力する。制御部３２はグループ参加要求が入力されると、通信部３３を制御し、この入力されたグループ参加要求をＡＲ管理装置２０に対して送信する。
【００６４】
ステップＳ５０２では制御部２１は、通信部２２を介してＡＲ表示装置３０からグループ参加要求を受信すると、この参加要求に含まれている該ＡＲ表示装置３０の識別情報を、メモリ２５内のリストに登録する。この識別情報は、参加要求を送信したＡＲ表示装置３０を識別することができれば如何なる情報であってもよく、例えば、ネットワークアドレスであっても良い。
【００６５】
この参加要求の受け付けの終了は任意のタイミングであってよく、参加要求の受付を開始してからユーザが設定した時間が経過すれば受け付けを終了させても良いし、一定台数のＡＲ表示装置３０から参加要求を受け付けた時点で受け付けを終了させても良い。
【００６６】
そしてステップＳ５０５では、制御部２１は、ＡＲ指示送信装置１０から受けた指示位置を、メモリ２５内に管理しているリストに登録してある識別情報によって特定されるＡＲ管理装置２０に対して送信する。
【００６７】
ステップＳ４０２〜Ｓ４０７、ステップＳ５０３，Ｓ５０４、ステップＳ６０２〜Ｓ６０６のそれぞれのステップにおける処理は、上記のステップＳ１０１〜Ｓ１０６、ステップＳ２０１，Ｓ２０２、ステップＳ３０１〜Ｓ３０５と同様である。
【００６８】
このように、本実施形態によれば、ＡＲ指示送信装置１０を有するユーザの周囲にＡＲ表示装置３０を有するユーザが複数存在しても、指示位置を共有したいユーザのＡＲ表示装置３０に対してのみ指示位置を配信することができる。ＡＲ表示装置３０の位置によっては、図１０の左側の図で示される指示位置が正しく表示されることがある。指示位置が正しく意図通りに表示されていれば、ステップＳ５０５の処理を省略することもできる。
【００６９】
もちろん、上記のリストは、ＡＲ指示送信装置１０のユーザが、該ＡＲ指示送信装置１０の不図示の操作部を操作して、リストに登録するＡＲ表示装置３０を指定するなどして予め作成しておいてメモリ１５に登録するようにしても構わない。また、リストの確定後にＡＲ指示送信装置１０のユーザがＡＲ指示送信装置１０の不図示の操作部を操作してこのリストを編集するようにしても構わない。
【００７０】
［第３の実施形態］
第１の実施形態でも触れたように、ＡＲ指示送信装置１０、ＡＲ表示装置３０の代わりに、ＡＲ指示送信装置１０及びＡＲ表示装置３０の双方の機能を有する複合装置を複数台ＡＲ管理装置２０に接続するシステムを構築しても良い。
【００７１】
しかし、一方のユーザが他方のユーザが有する複合装置における仮想物体の表示領域に重複して何かを指示した場合、図１７（ａ）に例示するような状態となる。仮にこのシーンにおいて指示しているユーザをユーザＡ、視聴しているユーザをユーザＢと呼称することとする。このような場合、ユーザＢは、ユーザＡの指先を指示点としてよいのか、指示ポインタを指示点としてよいのか戸惑ってしまう。これは複合装置内でユーザＡの手の領域であるのかユーザＢの手の領域であるのかを区別していないため、ユーザＢの装置内でもユーザＡの手がユーザＢの手として認識され、ユーザＡの手が仮想物体よりも手前に表示されてしまったことに起因する。
【００７２】
これを防ぐためには、ユーザの手の領域を検出する処理において、画像内の手が自装置のユーザの手であるか否かを判断し、自装置のユーザの手のみを抽出するようにする。これにより、自装置のユーザの手のみを仮想物体の手前に表示することが可能となる。画像内における手が自装置のユーザの手であるか否かを判断する方法については、手の進入角度、大きさ、衣服の色などの特徴量を元に判別すればよい。
【００７３】
このような処理により、図１７（ａ）に示したような状態は起こらずに、図１７（ｂ）に示す如く、ユーザＢは一意に指示ポインタのみを参照すればよくなるため、視認性が向上する。
【００７４】
また、上記の各実施形態では、一方のユーザが指示した仮想物体上の位置は、ＡＲ管理装置２０を介して他方のユーザが有する装置に転送された。しかし、この転送は必ずしもＡＲ管理装置２０を介して行わなくても良く、一方の装置から他方の装置に対して直接転送するようにしても構わない。また、ＡＲ管理装置２０の機能をそれぞれのユーザが有する装置に組み込んでおいてもよく、全ての処理をＡＲ管理装置２０を介して行うことなく、ユーザ間で直接データ通信を行うことで上記処理を達成するようにしても構わない。なお、上記の各実施形態で説明した核技術内容は適宜組み合わせて用いても構わない。
【００７５】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014174643.tif 000003
【図２】
2014174643.tif 000004
【図３】
2014174643.tif 000005
【図４】
2014174643.tif 000006
【図５】
2014174643.tif 000007
【図６】
2014174643.tif 000008
【図７】
2014174643.tif 000009
【図８】
2014174643.tif 000010
【図９】
2014174643.tif 000011
【図１０】
2014174643.tif 000012
【図１１】
2014174643.tif 000013
【図１２】
2014174643.tif 000014
【図１３】
2014174643.tif 000015
【図１４】
2014174643.tif 000016
【図１５】
2014174643.tif 000017
【図１６】
2014174643.tif 000018
【図１７】
2014174643.tif 000019