(57)【要約】【課題】オブジェクトの姿勢を容易に制御する。【解決手段】オブジェクト姿勢制御プログラムは、情報処理装置に、複数の部位を有するオブジェクトを表す第１画像を撮像部で撮像された第２画像に重畳させて表示部に表示し、前記オブジェクトと前記第２画像内の操作体との位置関係に基づいて、前記オブジェクトの複数の部位のうち少なくとも一部の被操作部位の位置情報を変化させて前記オブジェクトの姿勢を制御することを実行させる。【選択図】図２
2020161006.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置に
複数の部位を有するオブジェクトを表す第１画像を撮像部で撮像された第２画像に重畳させて表示部に表示し、
前記オブジェクトと前記第２画像内の操作体との位置関係に基づいて、前記オブジェクトの複数の部位のうち少なくとも一部の被操作部位の位置情報を変化させて前記オブジェクトの姿勢を制御することを実行させるためのオブジェクト姿勢制御プログラム。
【請求項２】
前記操作体の位置と前記被操作部位の位置とが少なくとも一部重なる場合に、ユーザに通知するための処理を実行する、
請求項１に記載のオブジェクト姿勢制御プログラム。
【請求項３】
前記操作体の位置と前記被操作部位の位置とが少なくとも一部重なっている間の前記操作体の位置情報の変化に基づいて、前記被操作部位の位置を変化させる、
請求項１または２に記載のオブジェクト姿勢制御プログラム。
【請求項４】
前記被操作部位の位置と前記被操作部位の位置とはそれぞれ前記オブジェクトが配置される空間の座標系における位置として規定される、
請求項２または３に記載のオブジェクト姿勢制御プログラム。
【請求項５】
オブジェクトの姿勢を制御する情報処理装置であって、
複数の部位を有するオブジェクトを表す第１画像を撮像部で撮像された第２画像に重畳させて表示部に表示し、
前記オブジェクトと前記第２画像内の操作体との位置関係に基づいて、前記オブジェクトの複数の部位のうち少なくとも一部の被操作部位の位置情報を変化させて前記オブジェクトの姿勢を制御する、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はオブジェクト姿勢制御プログラムおよび情報処理装置に関する。
【背景技術】
【０００２】
近年、電子機器の発展により、高精細の静止画および動画をスマートフォンやパーソナルコンピュータなどの端末に表示することが可能となった。さらに、情報処理技術の研究開発も進展しており、拡張現実（ＡＲ：Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ）を用いて仮想空間と現実空間を融合させた表示技術も実用可能になりつつある。例えば、特許文献１には情報端末の表示領域に仮想空間に配置されたオブジェクトを表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−４１１２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一方で、表示領域に表示されたオブジェクトの姿勢の制御は、オブジェクトの対象となる部位を指定するうえで、入力処理が複雑となる場合がある。
【０００５】
このような課題に鑑み、本発明の目的の一つは、仮想空間に配置されたオブジェクトの姿勢を容易に制御することにある。
【課題を解決するための手段】
【０００６】
本発明の一実施形態によれば、情報処理装置に複数の部位を有するオブジェクトを表す第１画像を撮像部で撮像された第２画像に重畳させて表示部に表示し、前記オブジェクトと前記第２画像内の操作体との位置関係に基づいて、前記オブジェクトの複数の部位のうち少なくとも一部の被操作部位の位置情報を変化させて前記オブジェクトの姿勢を制御することを実行させるためのオブジェクト姿勢制御プログラムが提供される。
【０００７】
上記オブジェクト姿勢制御プログラムにおいて、前記操作体の位置と前記被操作部位の位置とが少なくとも一部重なる場合に、ユーザに通知するための処理を実行してもよい。
【０００８】
上記オブジェクト姿勢制御プログラムにおいて、前記操作体の位置と前記被操作部位の位置とが少なくとも一部重なっている間の前記操作体の位置情報の変化に基づいて、前記被操作部位の位置を変化させてもよい。
【０００９】
上記オブジェクト姿勢制御プログラムにおいて、前記被操作部位の位置と前記被操作部位の位置とはそれぞれ前記オブジェクトが配置される空間の座標系における位置として規定されてもよい。
【００１０】
本発明の一実施形態によれば、オブジェクトの姿勢を制御する情報処理装置であって、複数の部位を有するオブジェクトを表す第１画像を撮像部で撮像された第２画像に重畳させて表示部に表示し、前記オブジェクトと前記第２画像内の操作体との位置関係に基づいて、前記オブジェクトの複数の部位のうち少なくとも一部の被操作部位の位置情報を変化させて前記オブジェクトの姿勢を制御する、情報処理装置が提供される。
【発明の効果】
【００１１】
本発明の一実施形態を用いることにより、オブジェクトの姿勢を容易に制御することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１実施形態に係るオブジェクト姿勢制御システムにおけるハードウェアの構成を示す図である。
【図２】本発明の第１実施形態に係るオブジェクト姿勢制御部の機能ブロック図である。
【図３】本発明の第１実施形態に係るオブジェクト姿勢制御処理のフロー図である。
【図４】本発明の第１実施形態に係る重畳表示処理のフロー図である。
【図５】本発明の第１実施形態に係る重畳表示処理における仮想空間の座標と情報処理装置に表示される座標との位置合わせの一例である。
【図６】本発明の第１実施形態に係るオブジェクトの各部位の座標の一例である。
【図７】本発明の第１実施形態に係る重畳表示処理における情報処理装置の表示部に表示されたユーザインターフェースの一例である。
【図８】本発明の第１実施形態に係る第１オブジェクト姿勢検出処理のフロー図である。
【図９】本発明の第１実施形態に係る第１オブジェクト姿勢検出処理における情報処理装置の表示部に表示されたユーザインターフェースの一例である。
【図１０】本発明の第１実施形態に係る第２オブジェクト姿勢検出処理のフロー図である。
【図１１】本発明の第１実施形態に係る第２オブジェクト姿勢検出処理における、操作体の移動前、移動後の位置座標およびオブジェクトの位置座標である。
【図１２】本発明の第１実施形態に係る第２オブジェクト姿勢検出処理における情報処理装置の表示部に表示されたユーザインターフェースの一例である。
【図１３】本発明の第２実施形態に係るオブジェクト姿勢制御部の機能ブロック図である。
【図１４】本発明の第２実施形態に係る第１オブジェクト姿勢検出処理のフロー図である。
【図１５】本発明の第２実施形態に係る第１オブジェクト姿勢検出処理における情報処理装置の表示部に表示されたユーザインターフェースの一例である。
【図１６】本発明の第２実施形態に係る第２オブジェクト姿勢検出処理のフロー図である。
【図１７】本発明の第２実施形態に係る情報処理装置の表示部に表示されたユーザインターフェースの一例である。
【図１８】本発明の第１実施形態に係る情報処理装置の表示部に表示されたユーザインターフェースの変形例である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態を、図面等を参照しながら説明する。但し、本発明は多くの異なる態様で実施することが可能であり、以下に例示する実施の形態の記載内容に限定して解釈されるものではない。図面は説明をより明確にするため、模式的に表される場合があるが、あくまで一例であって、本発明の解釈を限定するものではない。また、各要素に対する「第１」、「第２」と付記された文字は、各要素を区別するために用いられる便宜的な標識であり、特段の説明がない限りそれ以上の意味を有さない。なお、本実施形態で参照する図面において、同一部分または同様な機能を有する部分には同一の符号または類似の符号（数字ｘｘｘにＡ，Ｂを付しただけの符号）を付し、その繰り返しの説明は省略する場合がある。また、構成の一部が図面から省略されたりする場合がある。その他、本発明の属する分野における通常に知識を有する者であれば認識できるものである場合、特段の説明を行わないものとする。
【００１４】
本発明の一実施形態において記載される「部位」とは、オブジェクトが有する移動可能な部位をいい、複数の部位を組み合わせることにより連動する部位が構成される。
【００１５】
＜第１実施形態＞
本発明の第１実施形態に係るオブジェクト姿勢制御システムについて、図面を参照しながら詳細に説明する。
【００１６】
（１−１．オブジェクト姿勢制御システムのハードウェア構成）
図１に、オブジェクト姿勢制御システム１のハードウェア構成および機能ブロック図を示す。図１に示すように、オブジェクト姿勢制御システム１は、端末１０およびサーバ２０を含む。端末１０およびサーバ２０を合わせて情報処理装置という場合がある。
【００１７】
端末１０は、コンピュータの一つであり、表示部１１、制御部１２、記憶部１３、操作部１４、通信部１５、センサ部１６、撮像部１７、およびスピーカー部１８を有する。この例では、端末１０としてスマートフォンが用いられる。なお、スマートフォンに限定されず、携帯電話（フィーチャーフォン）、タブレット型端末、ノートＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、ＩｏＴデバイス（電源機構、通信機能および情報記憶機構を備えた機器）などでもよく、ネットワークを通じてサーバ２０と通信可能なものであれば適用可能である。
【００１８】
表示部１１は、液晶ディスプレイまたは有機ＥＬディスプレイなどの表示デバイスであって、制御部１２から入力される信号により表示内容が制御される。
【００１９】
制御部１２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｌｅｘｉｂｅ  Ｐｒｏｇｒａｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、またはその他の演算処理回路を備える。制御部１２は、表示部１１および操作部１４の操作に基づいて、記憶部１３に記憶されたオブジェクト姿勢制御プログラムを含むアプリケーションを実行させる。
【００２０】
記憶部１３は、オブジェクト姿勢制御用プログラム、およびオブジェクト姿勢制御用プログラムで用いられる空間情報を記憶するデータベースとしての機能を有する。記憶部１３には、メモリ、ＳＳＤ、またはその他の記憶可能な素子が用いられる。
【００２１】
操作部１４は、コントローラー、ボタン、またはスイッチを含む。操作部１４は、上下左右への移動、押圧、または回転などの動作がなされることにより、その動作に基づく情報が制御部１２に送信される。本実施形態では、端末１０がタッチセンサを有する表示装置（タッチパネル）であることにより、表示部１１と操作部１４とが、同じ場所に配置されてもよい。
【００２２】
通信部１５は、サーバ２０と送受信する機能を有する。通信部１５には、ＬＡＮ送受信機（例えばＷｉ−Ｆｉ送受信機）が用いられる。なお、送受信機は、ＬＡＮ送受信機に限定されない。端末が携帯型の端末の場合には、携帯端末用通信（例えばＬＴＥ通信）用の送受信機が設けられてもよいし、近距離無線通信用の送受信機が設けられてもよい。端末１０は、ネットワーク５０を介してサーバ２０と接続される。
【００２３】
センサ部１６は、マーカー、操作体、オブジェクトなどの位置情報を検出する機能を有する。センサ部１６には、位置センサ、距離センサ、変位センサを含む。
【００２４】
撮像部１７は、環境画像を撮像する機能を有し、オブジェクトを表示する上でのマーカー部が設けられた対象物を撮像する。撮像部１７には、例えばＣＭＯＳイメージセンサが用いられる。
【００２５】
スピーカー部１８は、検出された情報をもとに外部に音情報を出力する音情報を出力する機能を有する。
【００２６】
サーバ２０は、通信部２１、記憶部２２、制御部２３および表示部２４を有する。サーバ２０は、データベースおよびアプリケーションサーバとして機能する。なお、あらかじめ端末１０にオブジェクト姿勢制御用プログラムに関連するすべての情報が搭載されている場合にはサーバ２０を必ずしも用いなくてもよい。
【００２７】
通信部２１は、送受信機を有し、ネットワーク５０を介して端末１０とオブジェクトの制御情報の情報通信を行う。通信部２１には、インターネット用の送受信機が用いられる。なお、送受信機は、インターネット用のＬＡＮ送受信機に限定されず、端末１０と同様に通信可能な装置が用いられる。
【００２８】
記憶部２２は、ハードディスク、およびＳＳＤを用いることで、オブジェクト姿勢制御用プログラムで用いられる情報のデータベースとしての機能を有する。
【００２９】
制御部２３は、ＣＰＵ、ＡＳＩＣ、ＦＰＧＡまたはその他の演算処理回路を用いて、オブジェクト姿勢制御プログラムの処理を制御する。また、制御部２３からの命令によって、オブジェクト姿勢制御プログラムを実行するためのユーザインターフェースが表示部２４に提供される場合がある。
【００３０】
（１−２．オブジェクト姿勢制御部１００の構成）
図２は、オブジェクト姿勢制御システム１における端末１０の各構成要素およびサーバ２０の各構成要素によって構成され、オブジェクト姿勢制御機能を実現させるプログラム（オブジェクト姿勢制御プログラム）を制御するオブジェクト姿勢制御部１００の機能ブロック図を示す。この例では、オブジェクト姿勢制御プログラムが端末１０に設けられている例を説明する。
【００３１】
オブジェクト姿勢制御部１００は、撮像画像取得部１１０、マーカー検出部１２０、空間定義部１３０、オブジェクト表示部１４０、操作体検出部１５０、重畳部分検出部１６０、通知部１７０、移動情報取得部１８０、およびオブジェクト座標変更部１９０を含む。
【００３２】
撮像画像取得部１１０は、撮像部１７において撮像された実空間の環境画像を取得する機能を有する。
【００３３】
マーカー検出部１２０は、撮像画像取得部１１０によって取得された画像からマーカーを検出する機能を有する。この例では、マーカーの情報は、あらかじめ記憶部１３に記憶されている。なお、マーカーの情報は、必ずしも記憶部１３に記憶されていなくてもよく、撮像された画像からマーカーとなりうる特徴点を抽出してもよい。
【００３４】
空間定義部１３０は、仮想空間と表示部１１の座標との位置合わせを行う機能を有する。本実施形態では、空間定義部１３０は、マーカーベース位置合わせ法を用い、検出されたマーカーを基準に仮想空間と表示部１１の座標とを位置合わせする。
【００３５】
オブジェクト表示部１４０は、仮想空間上に配置された姿勢を制御する対象となるオブジェクトを表示部１１に表示する機能を有する。
【００３６】
操作体検出部１５０は、撮像された画像に含まれる対象物から操作体を検出し、操作体として設定する機能を有する。重畳部分検出部１６０は、操作体と、オブジェクトが有する複数の部位のうち一部の部位とが重畳することを検出し、当該部位を被操作部位として設定する機能を有する。
【００３７】
通知部１７０は、操作体と被操作部位とが重畳していることをユーザに通知する機能を有する。なお、操作体と被操作部位とが重畳しているとは、例えば、操作体と被操作部位が配置される空間（仮想的空間を含む）または表示部１１の表示領域において、操作体との被操作部位との少なくとも一部に位置座標の重なりがあることをいう。この例では、端末１０のスピーカー部１８から発せられる音情報を介して通知する。
【００３８】
移動情報取得部１８０は、設定された操作体の移動前後の座標にもとづいた移動情報を取得する機能を有する。
【００３９】
オブジェクト座標変更部１９０は、表示部１１に移動後のオブジェクトを表示するために、操作体と重畳する非操作部位の座標を変更し記録するとともに、その位置情報をオブジェクト表示部１４０に送信する機能を有する。移動情報取得部１８０、オブジェクト座標変更部１９０およびオブジェクト表示部１４０は、１秒あたり６０回にわたってオブジェクトにおける被操作部位の移動情報を取得し、操作体の空間座標および表示画面上の座標を変更することにより、オブジェクトの動き（姿勢の変化）を静止画または動画として表示することができる。
【００４０】
（１−３．オブジェクト姿勢制御処理）
次に、オブジェクト姿勢制御部１００におけるオブジェクト姿勢制御プログラムによる命令に基づいたオブジェクト姿勢制御処理について説明する。オブジェクト姿勢制御処理は、重畳表示処理Ｓ１００およびオブジェクト姿勢検出処理を含む。図３（Ａ）は、重畳表示処理のフロー図である。図３（Ｂ）は、オブジェクト姿勢検出処理のフロー図である。図３（Ｂ）に示すように、オブジェクト姿勢検出処理は、第１オブジェクト姿勢検出処理Ｓ２００および第２オブジェクト姿勢検出処理Ｓ３００を含む。重畳表示処理と、オブジェクト姿勢検出処理とは、並行して行うことができる。
【００４１】
重畳表示処理Ｓ１００は、撮像画像の取得・表示処理、マーカー情報検出処理、空間定義処理、オブジェクト座標取得処理および撮像画像・オブジェクト重畳表示処理を含む。第１オブジェクト姿勢検出処理Ｓ２００は、操作体検出処理、操作体設定処理、重畳部分検出処理、被操作部位設定処理、および重畳通知処理を含む。第２オブジェクト姿勢検出処理Ｓ３００は、操作体移動量取得処理、オブジェクトの座標変更処理、および端末の移動が終了したかどうかの判定処理を含む。それぞれのオブジェクト姿勢制御処理を分けて説明する。
【００４２】
（１−３−１．重畳表示処理Ｓ１００）
図４に、重畳表示処理Ｓ１００を示す。重畳表示処理Ｓ１００は、オブジェクト姿勢制御プログラムを含むアプリケーションを起動させることをきっかけとして開始される。
【００４３】
重畳表示処理Ｓ１００において、撮像画像取得部１１０は実空間の環境画像の撮像を行い、その撮像された画像を取得し（Ｓ１１０）、端末１０の表示部１１に撮像された画像（第２画像ともいう）を表示する。
【００４４】
図５は、端末１０で実空間を撮像するときの一例である。図５において、実際の空間には、端末１０とともに、テーブル６０、シート７０とともに、操作体となるユーザの手９０が配置されている。シート７０には、４つのマーカー７５が含まれている。この例では、端末１０により４つのマーカー７５を含むように、テーブル６０の一部、シート７０、ユーザの手９０が撮像される。
【００４５】
図４に戻って説明する。次に、マーカー検出部１２０は、マーカー検出処理を行う（Ｓ１２０）。この例では、オブジェクト姿勢制御プログラムには、あらかじめ４つのマーカーの情報が登録されている。マーカーの情報は、マーカーの形態および配置に関するものである。４つのマーカーが検出されないとき（Ｓ１２０；Ｎｏ）、撮像画像の取得・表示処理（Ｓ１１０）に戻る。
【００４６】
次に、４つのマーカーを検出した場合には（Ｓ１２０；Ｙｅｓ）、空間定義部１３０は、マーカーベース位置合わせ法を用いて、実空間と仮想空間との座標の位置合わせ（空間定義）を行う（Ｓ１３０）。このとき、空間定義部１３０は、表示部１１に表示された実空間上のマーカー７５と、オブジェクト姿勢制御プログラムに記憶された仮想空間上のマーカーとを照合し、仮想空間の座標を実空間の座標として表示部１１に表示可能となるように調整を行う。例えば、マーカー７５−１の位置座標は、実空間の位置座標が（Ｘr75-1，Ｙr75-1，Ｚr75-1）、表示部１１における位置座標が（Ｘd75-1，Ｙd75-1）、仮想空間の位置座標が（Ｘv75-1，Ｙv75-1，Ｚv75-1）として定義される。
【００４７】
次に、空間定義部１３０は、仮想空間におけるオブジェクト座標の取得処理を行う（Ｓ１４０）。図６は、オブジェクトの各部位の仮想空間上の座標である。図６に示すように、オブジェクトの各部位の座標情報は、４つのマーカーの座標に基づいて設定された原点に対して設定される。上記処理により、マーカー７５の表示部１１における情報が取得されることにより、オブジェクトの各部位の座標が取得される。
【００４８】
次に、オブジェクト表示部１４０は、撮像された画像（第２画像）とオブジェクトの画像（第１画像ともいう）を重畳して表示する（Ｓ１５０）。図７は、端末１０の表示部１１に表示されたオブジェクトのユーザインターフェースである。図７において、ユーザの手９０とともに、シート７０上に配置された仮想空間上のオブジェクト８０が表示される。この例では、オブジェクト８０は、人型の体形を有し、複数の部位８１および複数のボーン８２を有する。部位８１は、移動可能な部位であり、人間の関節に相当する。部位８１（部位８１ａ）は、隣接する部位８１（部位８１ｂ）と、ボーン８２（ボーン８２ａ）を介して接続されている。つまり、部位８１ａおよび部位８１ｂは連動する部位であるということができる。なお、オブジェクト８０を表示する際に、シート７０は表示されなくてもよい。
【００４９】
次に、重畳表示処理を終了するかどうかの判定処理がなされる（Ｓ１６０）。当該判定処理は、ユーザからの入力される情報をもとになされてもよいし、所定の条件を満たすか否かによりなされてもよい。例えば、撮像された画像において、移動する対象物がある場合には、重畳表示処理を終了しないと判定し（Ｓ１６０；Ｎｏ）、再度撮像画像の取得処理（Ｓ１１０）に戻り、重畳表示処理Ｓ１００が繰り返される。一方、重畳表示処理を終了すると判定した場合（Ｓ１６０；Ｙｅｓ）、重畳表示処理Ｓ１００は終了となる。
【００５０】
（１−３−２．第１オブジェクト姿勢検出処理Ｓ２００）
図８に、第１オブジェクト姿勢検出処理Ｓ２００のフロー図を示す。第１オブジェクト姿勢検出処理Ｓ２００は、検出開始信号が入力されることをきっかけとして行われる。検出開始信号は、ユーザが入力してもよいし、プログラムから所定の信号が入力されてもよい。
【００５１】
まず、操作体検出部１５０は、操作体の検出処理を行う（Ｓ２１０）。当該検出処理は、撮像された撮像において生じる視差に基づいて判定される。
【００５２】
まず、撮像部１７で撮像された複数の画像における対象物の位置の変化（視差）に基づいて端末１０（撮像部１７）から対象物までの距離を算出する。次に、端末１０から対象物までの距離が撮像部１７からテーブルまでの距離よりも小さい対象物を操作体として検出する。この例では、端末１０からテーブル６０までの距離に対して、端末１０からユーザの手９０までの距離の方が小さいため、ユーザの手９０が操作体として検出され（Ｓ２１０；Ｙｅｓ）、設定される（Ｓ２２０）。このとき、ユーザの手９０のうちシート７０に最も近い部分（より具体的には人差し指の先端部９０ａ）を操作体として定義してもよい。操作体が検出されないときは（Ｓ２１０；Ｎｏ）、上記処理がループして行われる。
【００５３】
次に、重畳部分検出部１６０は、オブジェクト８０と、操作体とが重畳することを検出する（Ｓ２３０）。重畳しているか否かの検出は、オブジェクト８０の対象部位の仮想空間上の座標と、操作体の実空間の座標とが、一致するか否かに基づいて判定される。
【００５４】
図９は、操作体と被操作部位とが重畳したときを示すユーザインターフェースの一例である。図９に示すように、この例では、ユーザの手９０のうち人差し指の先端部９０ａおよび親指の先端部９０ｂがオブジェクト８０の部位８１ａ（左手首の関節に相当）の一部と重畳している。以下に、人差し指の先端部９０ａと、オブジェクト８０の部位８１ａとが重畳したことの検出方法を示す。
【００５５】
まず、人差し指の先端部９０ａの実空間の位置（座標）を取得する。人差し指の先端部９０ａの座標には、シート７０上に配置された４つのマーカー７５で囲まれた領域の中央部を原点とし、当該原点を基準とした相対座標が用いられる。このとき、人差し指の先端部９０ａの実空間の座標は（Ｘr_90a，Ｙr_90a，Ｚr_90a）である。そして、上記実空間の座標に基づいて、人差し指の先端部９０ａが仮想空間に配置された場合の座標（Ｘv_90a，Ｙv_90a，Ｚv_90a）が演算される。
【００５６】
次に、人差し指の先端部９０ａの仮想空間の座標と、オブジェクト８０の複数の部位８１のいずれかの部位（この例ではオブジェクトの部位８１ａの仮想空間の座標（Ｘv_81a，Ｙv_81a，Ｚv_81a））とが一致したときに、重畳部分を検出したと判定する（Ｓ２３０；Ｙｅｓ）。このとき、オブジェクトの部位８１ａは被操作部位として設定される（Ｓ２４０）。なお、重畳部分が検出されないときは（Ｓ２３０；Ｎｏ）、上記重畳部分検出処理がループして行われる。
【００５７】
重畳部分を検出したとき、通知部１７０は、操作体と被操作部位とが重畳していることを通知する（Ｓ２５０）。この例では、端末１０のスピーカー部１８から発せられる音情報を用いて通知する。以上により、第１オブジェクト姿勢検出処理Ｓ２００は終了となる。
【００５８】
（１−３−３．第２オブジェクト姿勢検出処理Ｓ３００）
図１０は、第２オブジェクト姿勢検出処理Ｓ３００のフロー図である。第２オブジェクト姿勢検出処理Ｓ３００は、第１オブジェクト姿勢検出処理Ｓ２００の終了をきっかけに開始される。
【００５９】
第２オブジェクト姿勢検出処理Ｓ３００において、はじめに、移動情報取得部１８０は、操作体の移動量を取得する（Ｓ３１０）。この例では、操作体（ユーザの手９０の人差し指の先端部９０ａ）の位置情報の変化に伴うオブジェクトの姿勢の追跡は、Ｖ−ＳＬＡＭ（Ｖｉｓｕａｌ  Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ）法により行われる。人差し指の先端部９０ａの位置（座標）は、センサ部１６および撮像部１７を用いて計測・演算処理され、移動情報取得部１８０において取得される。センサ部１６および撮像部１７には、イメージセンサ、位置センサ、距離センサ、変位センサ、またはその他位置検出可能な素子が用いられる。
【００６０】
図１１（Ａ）は、初期値（移動前）、時間ｔ１後（移動後）の操作体（人差し指の先端部９０ａ）の位置（座標）、および移動前後の座標より求められる人差し指の先端部９０ａの移動量を示すデータ構造である。移動前は、操作体と被操作部位とが重畳したことを検出した時を示す。
【００６１】
次に、取得された操作体の移動量をもとに、オブジェクト座標変更部１９０は、オブジェクト８０のうち移動対象部位である被操作部位（部位８１ａ）の座標を変更し、記録する（Ｓ３２０）。図１１（Ｂ）は、初期値（移動前）、時間ｔ１後のオブジェクトの被操作部位（部位８１ａ）の仮想空間上の座標および表示部１１における座標のデータ構造である。図１１（Ｂ）に示すように、操作体（人差し指の先端部９０ａ）の移動量に基づいて仮想空間におけるオブジェクト８０の被操作部位（部位８１ａ）の座標情報、および表示部１１におけるオブジェクト８０の被操作部位（部位８１ａ）の座標情報が変更され、変更後の座標情報が記憶される（座標情報の書き換えがなされる）。
【００６２】
図１０に戻って説明する。このとき、オブジェクト表示部１４０は、重畳表示処理Ｓ１００において移動後（時間ｔ１後）の被操作部位の情報を用いて表示部１１にオブジェクト８０を表示する。図１２は、表示部１１に被操作部位の位置が変化したオブジェクト８０を表示したユーザインターフェースである。図１２に示すように、被操作部位（部位８１ａ）は、図７で表示された位置から異なる部位（部位８１ｂ、肘関節に相当）を基準として移動する。つまり、操作体の動きに関する情報に基づいて、オブジェクトの複数の部位のうち一部の部位を移動することができる。上記処理は、操作体が移動する限り（Ｓ３３０；Ｙｅｓ）、繰り返し行われる。この例では、操作体の移動量の取得は、１秒あたり６０回行われるため、オブジェクトの姿勢の変化が滑らかに表示される。端末１０の移動が終了したとき（Ｓ３３０；Ｎｏ）、第２オブジェクト姿勢検出処理Ｓ３００は、終了となる。
【００６３】
上記に示した通り、本実施形態のオブジェクト姿勢制御プログラムを用いることにより、複数の部位を有するオブジェクトを、複雑な制御を行うことなく容易にオブジェクトの姿勢制御を行うことができる。
【００６４】
＜第２実施形態＞
本実施形態では、第１実施形態と異なるオブジェクトの姿勢制御処理について説明する。具体的には、複数の部位が一つの端末の移動に基づいて移動する例について説明する。なお、第１と同様の構成および方法については、適宜省略する場合がある。
【００６５】
（２−１．サーバおよびオブジェクト姿勢制御部１００Ａの構成）
図１３は、オブジェクト姿勢制御システム１Ａにおける、オブジェクト姿勢制御部１００Ａの機能ブロック図を示す。図２２に示すように、オブジェクト姿勢制御部１００Ａは、撮像画像取得部１１０、マーカー検出部１２０、空間定義部１３０、オブジェクト表示部１４０、操作体検出部１５０、重畳部分検出部１６０、通知部１７０、移動情報取得部１８０、およびオブジェクト座標変更部１９０に加えて、第２操作体検出部１９５、第２重畳部分検出部２００を含む。
【００６６】
第２操作体検出部１９５は、撮像された画像に含まれる複数の対象物から操作体として検出された対象物とは異なる対象物を検出し、第２操作体として設定する機能を有する。第２重畳部分検出部２００は、第２操作体と、オブジェクトが有する複数の部位のうち一部の部位とが重畳することを検出し、当該部位を第２被操作部位として設定する機能を有する。
【００６７】
（２−２．オブジェクト姿勢制御処理）
図１４に、オブジェクト姿勢制御部１００Ａにおけるオブジェクト姿勢制御プログラムによる命令に基づいた第１オブジェクト姿勢検出処理Ｓ２００Ａのフロー図を示す。図１４に示すように、重畳部分の通知がなされた後（Ｓ２５０）、追加で操作体を設定するか判定する（Ｓ２５５）。上記判定は、所定の期間において操作体として設定された対象物以外に動いている対象物があるか否かに基づいてなされてもよいし、ユーザからの入力情報によりなされてもよい。また、表示部１１に「新たな操作体を追加しますか？」と表示されるとともに、「はい」および「いいえ」のボタンが表示されてもよい。追加で設定しない場合（Ｓ２５５；Ｎｏ）、第１オブジェクト姿勢検出処理Ｓ２００Ａが終了となる。
【００６８】
追加で設定すると判定された場合（Ｓ２５５；Ｙｅｓ）、第２操作体検出部１９５は、第２操作体となる対象物を検出する（Ｓ２６０）。この例では、ユーザの左手９１が第２操作体として検出される。検出方法は、本発明の第１実施形態に記載した方法と同様の方法を用いることができる。このとき、ユーザの左手９１のうちシート７０に最も近い部分（より具体的には左手の人差し指の先端部９１ａ）を操作体として設定してもよい（Ｓ２６５）。
【００６９】
次に、第２重畳部分検出部２００は、第２操作体とオブジェクト８０の一部の部位との重畳部分（第２重畳部分）を検出する（Ｓ２７０）。第２重畳部分の検出方法には、本発明の第１実施形態の重畳部分の検出方法と同様の方法が用いられる。第２操作体がオブジェクト８０の一部の部位８１ｃと重畳したと判定される場合（Ｓ２７０；Ｙｅｓ）。このとき、オブジェクトの部位８１ｃは第２被操作部位として設定される（Ｓ２８０）。なお、第２重畳部分が検出されないときは（Ｓ２７０；Ｎｏ）、上記第２重畳部分検出処理がループして行われる。
【００７０】
第２重畳部分が検出されたのち、通知部１７０は、第２重畳を検出したことを通知してもよい(Ｓ２９０)。通知方法は、第１実施形態と同様の方法を用いることができる。以上により、第１オブジェクト姿勢検出処理Ｓ２００Ａが終了となる。
【００７１】
図１６は、第３オブジェクト制御処理Ｓ３００Ａのフロー図である。本実施形態において、操作体（ユーザの手９０の人差し指の先端部９０ａ）の移動に伴うオブジェクトの被操作部位（部位８１ａ）の移動は第１実施形態と同様の方法で実現される。本実施形態の場合、図１７に示すように、被操作部位（部位８１ａ）が移動するのと同時に、操作体とは異なる第２操作体（ユーザの左手９１の人差し指の先端部９１ａ）の移動量に基づいて、部位８１ｅを基準にして第２被操作部位（部位８１ｃ，足首の関節に相当）が移動するように被操作部位および第２被操作部位の座標変更が変更される（Ｓ３２０）。つまり、複数の操作体の動きに合わせて複数の被操作部位を動かし、オブジェクトの姿勢を制御することができる。
【００７２】
なお、本実施形態では、２つの操作体を用いて、オブジェクトの姿勢を制御する例を示したが、これに限定されない。３つ以上の操作体を有する場合にも同様に適用することができる。
【００７３】
なお、本発明の思想の範疇において、当業者であれば、各種の変更例および修正例に想到し得るものであり、それら変更例および修正例についても本発明の範囲に属するものと了解される。例えば、前述の各実施形態に対して、当業者が適宜、構成要素の追加、削除若しくは設計変更を行ったもの、又は、工程の追加、省略若しくは条件変更を行ったものも、本発明の要旨を備えている限り、本発明の範囲に含まれる。
【００７４】
（変形例）
本発明の第１実施形態では、操作体の移動情報において、Ｘ座標、Ｙ座標、Ｚ座標を用いる例を示したが、これに限定されない。例えば、Ｘ座標、Ｙ座標、Ｚ座標だけではなく角度θを用いてもよい。この場合、Ｘ座標、Ｙ座標、Ｚ座標のいずれかが用いられなくてもよい。操作体の動きに合わせて仮想空間におけるオブジェクト８０の被操作部位（部位８１ａ）の情報、および表示部１１におけるオブジェクト８０の被操作部位（部位８１ａ）の位置座標が変更され、変更後の位置座標の情報が記憶される（座標情報の書き換えがなされる）。これにより、オブジェクトの姿勢において、特にひねりの姿勢を制御することができる。
【００７５】
また、本発明の第１実施形態では、操作体を検出、設定した後に重畳部分を検出し、被操作部位を設定する例を示したが、これに限定されない。例えば、対象物とオブジェクトとが重畳した段階で重畳する対象物を操作体として検出、設定し、オブジェクトの重畳部分を被操作部位として設定してもよい。
【００７６】
また、本発明の第１実施形態では、主に人差し指の先端部９０ａがオブジェクトの一部の部位（部位８１ａ）と重畳する例を示したが、これに限定されない。重畳部分検出部１６０は、複数の重畳部分を有する場合に、重畳したと検出してもよい。例えば、２点以上で重畳した場合、ユーザの指はオブジェクトをつまむ形状を有することができ、より自然にオブジェクトの姿勢を制御することができる。
【００７７】
また、複数部分が重畳したと判定されたときに、通常のオブジェクトの姿勢制御とは異なる付加的な制御を設けてもよい。図１８は、複数部分が重畳したと判定され、操作体が移動したときのユーザインターフェースの一例である。図１８に示すように、この例では、人差し指の先端部９０ａおよび親指の先端部９０ｂがオブジェクトの部位８１（ａ）と重畳している。このとき、人差し指の先端部９０ａおよび親指の先端部９０ｂの移動に合わせて、あらかじめ設定された条件に基づき、オブジェクト８０の部位８１ａも移動し、さらにボーン８２（８２ａ）が伸長する。このように、通常のオブジェクトの姿勢制御とは異なる付加的な制御を行うことによりオブジェクトの姿勢を多様な形態で制御することができる。
【００７８】
なお、部位８１ａに相当する部分を囲むように操作体を動作させて検出してもよいし、部位８１ａに相当する部分を複数の指で囲むようにして、検出してもよい。
【００７９】
本発明の第１実施形態では、通知部１７０は、音情報を用いて通知する例を示したが、これに限定されない。例えば、通知部１７０は、重畳部分を検出したときに、端末１０を振動させて通知してもよい。または、重畳部分を検出したときに、端末１０が光を発して通知してもよい。または、重畳部分を検出したときに、文字情報を用いて通知してもよい。または、重畳部分を検出したときに、重畳部分の色を変更することにより強調表示して通知してもよい。また、通知部１７０は、必ずしも用いなくてもよい。
【００８０】
なお、操作体の検出は、視差を用いる方法に限定されない。例えば、対象物の色または形状にもとづいて所定の条件を満たすものを操作体として検出してもよい。
【００８１】
また、所定の速度を超えて移動する対象物を操作体として検出してもよい。また、対象物が仮想空間に配置された場合の仮想空間の座標とオブジェクトとの仮想空間の座標によって導出される距離が所定の距離よりも小さくなった時に、その対象物を操作体として検出してもよい。
【００８２】
本発明の第１実施形態では、撮像された画像と、仮想空間のオブジェクトとをマーカーベース位置合わせ法により位置合わせされ、重畳表示された例を示したが、これに限定されない。オブジェクトを含む仮想空間と、撮像画像との位置合わせの方法として、マーカーベース位置合わせ手法のほかに、特定のマーカーを用いない自然特徴ベース位置合わせ手法、モデルベース位置合わせ手法などのビジョンベース位置合わせ手法、センサを用いたセンサベース位置合わせ手法などを適宜用いてもよい。
【００８３】
また、本発明の第１実施形態では、拡張現実を用いてオブジェクトを表示する例を示したが、これに限定さない。本発明の一実施形態は、オブジェクトの座標が特定できれば、拡張現実以外にも混合現実（ＭＲ：Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ）などに適用することも可能である。
【００８４】
また、本発明の第１実施形態では、スマートフォンのような形態を有する平面状の端末の表示部に表示する例を示したが、これに限定されない。例えば、表示するための端末としてゴーグル型の端末を用いてもよい。また、このとき、撮像部１７には、２眼方式のカメラ（ステレオカメラ）が用いられてもよい。これにより、表示される画像をより立体的に表示することができる。
【符号の説明】
【００８５】
１・・・オブジェクト姿勢制御システム，１０・・・端末，１１・・・表示部，１２・・・制御部，１３・・・記憶部，１４・・・操作部，１５・・・通信部，１６・・・センサ部，１７・・・撮像部，１８・・・スピーカー部，２０・・・サーバ，２１・・・通信部，２２・・・記憶部，２３・・・制御部，２４・・・表示部，５０・・・ネットワーク，６０・・・テーブル，７０・・・シート，７５・・・マーカー，８０・・・オブジェクト，８１・・・部位，８２・・・ボーン，９０・・・手，９０ａ・・・先端部，９０ｂ・・・先端部，９１・・・手，９１ａ・・・先端部，１００・・・オブジェクト姿勢制御部，１１０・・・撮像画像取得部，１２０・・・マーカー検出部，１３０・・・空間定義部，１４０・・・オブジェクト表示部，１５０・・・操作体検出部，１６０・・・重畳部分検出部，１７０・・・通知部，１８０・・・移動情報取得部，１９０・・・オブジェクト座標変更部，１９５・・・第２操作体検出部，２００・・・第２重畳部分検出部
【図１】
2020161006.tif 000003
【図２】
2020161006.tif 000004
【図３】
2020161006.tif 000005
【図４】
2020161006.tif 000006
【図５】
2020161006.tif 000007
【図６】
2020161006.tif 000008
【図７】
2020161006.tif 000009
【図８】
2020161006.tif 000010
【図９】
2020161006.tif 000011
【図１０】
2020161006.tif 000012
【図１１】
2020161006.tif 000013
【図１２】
2020161006.tif 000014
【図１３】
2020161006.tif 000015
【図１４】
2020161006.tif 000016
【図１５】
2020161006.tif 000017
【図１６】
2020161006.tif 000018
【図１７】
2020161006.tif 000019
【図１８】
2020161006.tif 000020