(57)【要約】【課題】  キャラクタの動作を、現実空間中の規定の位置に対応する仮想空間内の該キャラクタの位置に基づいて制御するための技術を提供すること。【解決手段】  現実空間に対応する仮想空間内におけるキャラクタの位置が、該現実空間中の規定の位置に対応する仮想空間内の位置から規定距離以内となった場合には、該キャラクタに規定の動作を行わせる。端末装置の位置及び／又は姿勢に基づくキャラクタの画像を撮像手段による撮像画像上に合成してディスプレイに表示させる。【選択図】  図１
2018124926.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段及びディスプレイを有する端末装置であって、
現実空間に対応する仮想空間内におけるキャラクタの位置が、該現実空間中の規定の位置に対応する仮想空間内の位置から規定距離以内となった場合には、該キャラクタに規定の動作を行わせる制御手段と、
前記端末装置の位置及び／又は姿勢に基づく前記キャラクタの画像を前記撮像手段による撮像画像上に合成して前記ディスプレイに表示させる表示制御手段と
を備えることを特徴とする端末装置。
【請求項２】
前記制御手段は、前記仮想空間において移動可能な領域として予め設定されている領域内で前記キャラクタを移動させることを特徴とする請求項１に記載の端末装置。
【請求項３】
前記制御手段は、前記仮想空間において移動可能な経路として予め設定されている経路上で前記キャラクタを移動させることを特徴とする請求項１に記載の端末装置。
【請求項４】
前記制御手段は、ユーザからの指示に応じた位置に前記キャラクタを移動させることを特徴とする請求項１乃至３の何れか１項に記載の端末装置。
【請求項５】
前記動作を規定する動作データは、前記現実空間中の規定の位置に対応する仮想空間内の位置と関連づけられていることを特徴とする請求項１乃至４の何れか１項に記載の端末装置。
【請求項６】
前記規定距離は前記現実空間中の規定の位置に対応する仮想空間内の位置と関連づけられている距離であることを特徴とする請求項１乃至５の何れか１項に記載の端末装置。
【請求項７】
前記規定距離は複数の距離値を含み、前記制御手段は、前記仮想空間内におけるキャラクタの位置の、該現実空間中の規定の位置に対応する仮想空間内の位置からの距離値に対応する動作を行わせることを特徴とする請求項１に記載の端末装置。
【請求項８】
前記規定距離は、時間、日、曜日、月、季節のうち少なくとも１つに応じて変化することを特徴とする請求項１乃至７の何れか１項に記載の端末装置。
【請求項９】
前記制御手段は更に、時間帯、キャラクタの表示回数、季節、時期のうち少なくとも１つに対応する動作を前記キャラクタに行わせることを特徴とする請求項１乃至８の何れか１項に記載の端末装置。
【請求項１０】
更に、撮像手段を用いて撮像した前記現実空間の撮像画像に基づいて生成されたデータを用いて前記端末装置の位置及び／又は姿勢を認識する認識手段を備えることを特徴とする請求項１乃至９の何れか１項に記載の端末装置。
【請求項１１】
撮像手段及びディスプレイを有する端末装置の制御方法であって、
現実空間に対応する仮想空間内におけるキャラクタの位置が、該現実空間中の規定の位置に対応する仮想空間内の位置から規定距離以内となった場合には、該キャラクタに規定の動作を行わせる制御工程と、
前記端末装置の位置及び／又は姿勢に基づく前記キャラクタの画像を前記撮像手段による撮像画像上に合成して前記ディスプレイに表示させる表示制御工程と
を備えることを特徴とする端末装置の制御方法。
【請求項１２】
端末装置のコンピュータを、請求項１乃至１０の何れか１項に記載の端末装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャラクタの動作制御技術に関するものである。
【背景技術】
【０００２】
３次元仮想空間内を移動するキャラクタの２次元画像を生成して表示する技術が従来から存在する（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2013-232205号公報
【非特許文献】
【０００４】
【非特許文献１】Ｔａｎｇｏ、［ｏｎｌｉｎｅ］、［平成２９年１月１０日検索］、インターネット、＜ＵＲＬ：ｈｔｔｐｓ：／／ｇｅｔ．ｇｏｏｇｌｅ．ｃｏｍ／ｔａｎｇｏ／＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されている技術では、キャラクタの動作を、現実空間中の規定の位置に対応する仮想空間内の該キャラクタの位置に基づいて制御することはできなかった。本発明では、キャラクタの動作を、現実空間中の規定の位置に対応する仮想空間内の該キャラクタの位置に基づいて制御するための技術を提供する。
【課題を解決するための手段】
【０００６】
本発明は、撮像手段及びディスプレイを有する端末装置であって、現実空間に対応する仮想空間内におけるキャラクタの位置が、該現実空間中の規定の位置に対応する仮想空間内の位置から規定距離以内となった場合には、該キャラクタに規定の動作を行わせる制御手段と、前記端末装置の位置及び／又は姿勢に基づく前記キャラクタの画像を前記撮像手段による撮像画像上に合成して前記ディスプレイに表示させる表示制御手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明の構成によれば、キャラクタの動作を、現実空間中の規定の位置に対応する仮想空間内の該キャラクタの位置に基づいて制御することができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態による端末装置の概略的な構成図。
【図２】キャラクタの移動可能な領域、経路を説明するための図。
【図３】現実空間の撮像画像とキャラクタの２次元画像とを合成した合成画像を表示させるための処理のフローチャート。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して本発明の実施形態について説明する。
【００１０】
図１は、本実施形態による端末装置１０の概略的な構成図である。端末装置１０は、例えば、スマートフォンといった携帯型の通信装置である。スピーカ１０１は、制御部１００から出力する音声信号を音声に変換する。マイク１０２は、音声を音声信号に変換して制御部１００に出力する。撮像部１０３は、レンズ及びＣＣＤセンサを有し、画像情報を取得して制御部１００に出力する。ＧＰＳ処理部１０４は、ＧＰＳ衛星からの信号を受信し、該受信した信号に基づき、緯度、経度、高度を含む位置情報を制御部１００に出力する。なお、ＧＰＳ衛星ではなく、準天頂衛星の様な、他の測位システムの衛星からの信号に基づき位置情報を出力する構成であっても良い。ディスプレイ１０５は、本実施形態では、タッチセンシティブディスプレイであり、ユーザへの情報の提示に加え、ユーザ操作の入力部としても機能する。なお、ディスプレイがタッチセンシティブディスプレイではない場合、別に、入力部を設ける。深さセンサ１０６は、オブジェクトまでの距離（深さ）を測定して測定結果を深さ情報として制御部１００に出力する。通信部１０７は、移動通信網や無線ＬＡＮ等を介した通信処理を行う。地磁気センサ１０８は、地磁気を検出して端末装置１０の基準方向の現在の方位を示す方位情報を制御部１００に出力する。加速度センサ１０９は、加速度を検出して加速度情報を制御部１００に出力する。ジャイロセンサ１１０は、角速度情報を検出して角速度情報を制御部１００に出力する。
【００１１】
制御部１００は、端末装置１０全体の制御部であり、１つ以上のプロセッサと、メモリ部と、を備えている。なお、メモリ部は、プロセッサが一時的なデータの保存用として使用するＲＡＭや、プロセッサが実行するオペレーティングシステム及びアプリケーションと電源断となっても保持すべきデータとが格納されるフラッシュメモリを有する。
【００１２】
制御部１００は、例えば、非特許文献１に記載された技術に基づき場所記述情報を生成する。場所記述情報とは、撮像部１０３が撮像している画像から端末装置１０の３次元空間位置と撮像部１０３の撮像方向を判定するための情報である。まず、非特許文献１に記載された場所記述情報の生成について説明する。端末装置１０のユーザは、場所記述情報の取得を開始すると、撮像部１０３により画像を撮像しながら、その位置や、撮像方向を変化させる。制御部１００は、場所記述情報の取得の間、その開始時の位置を原点とし、加速度情報及び角速度情報に基づき端末装置１０の位置や撮像方向の向きを判定し続ける。また、制御部１００は、撮像部１０３が撮像している画像内の特徴点を求める。このとき、制御部１００は、３次元空間における端末装置１０の位置や撮像方向と、画像内の同じ特徴点の位置、つまり、スクリーン座標を判定する。これにより、制御部１００は、３次元空間内の各位置及び各撮像方向において、撮像部１０３が撮像している画像内のどの位置に各特徴点が見えるかを示す場所記述情報を生成する。よって、端末装置１０は、既に生成した場所記述情報と、撮像部１０３が撮像している画像の特徴点と、を比較することで、そのときの端末装置１０の３次元空間位置と撮像部１０３の撮像方向とを判定することができる。なお、３次元空間位置の原点は、場所記述情報を開始したときの位置であるものとする。また、制御部１００は、既に保存している場所記述情報と、撮像部１０３が撮像している画像の特徴点と、の比較により端末装置１０の３次元空間位置と撮像部１０３の撮像方向を判定すると同時に、撮像部１０３が撮像している画像の特徴点に基づき、当該既に保存している場所記述情報の更新も行う。
【００１３】
上述した様に、場所記述情報は、端末装置１０の位置及び撮像方向と、撮像部１０３が撮像した画像内にある各オブジェクトの各特徴点のスクリーン座標における位置との関係を示す情報であるため、場所記述情報に基づき、各特徴点の３次元空間位置の座標を示す３次元空間情報を生成することができる。即ち、場所記述情報のうちの異なる位置及び撮像方向の組み合わせに対応する情報につき、同一の特徴点のスクリーン座標での移動を考慮することで奥行き方向の情報を得、該特徴点の３次元空間位置を導出することができる。
【００１４】
このような場所記述情報は、制御部１００のメモリ部に格納される。また、制御部１００のメモリ部には、キャラクタのモデルデータ（キャラクタの３次元幾何形状を規定するデータ、テクスチャデータ、複数種類のモーションデータなど）、テキストデータ、音声データが格納されている。
【００１５】
次に、端末装置１０のディスプレイ１０５に、撮像部１０３による現実空間の撮像画像と、端末装置１０が描画したキャラクタの２次元画像と、を合成した合成画像を表示させるための処理について、図３のフローチャートを用いて説明する。なお、図３のフローチャートに従った処理は、１フレーム分の合成画像を表示するための処理である。然るに、図３のフローチャートに従った処理を繰り返して行うことで、複数フレームの合成画像をディスプレイ１０５に表示させることができる。また、図３のフローチャートに従った処理を制御部１００に実行させるためのコンピュータプログラムやデータは、上記のアプリケーションに含まれているものとする。
【００１６】
ステップＳ３０１では、制御部１００は、撮像部１０３により撮像された撮像画像を、メモリ部に格納する。
【００１７】
ステップＳ３０２では、制御部１００は、現実空間に対応する仮想空間内におけるキャラクタの現在位置が、「現実空間中の規定の位置に対応する仮想空間内の位置から規定距離Ｄ以内の領域Ｒ」内であるか否かを判断する。
【００１８】
制御部１００は、仮想空間内におけるキャラクタの位置を定期的若しくは不定期的に更新することで、該キャラクタを仮想空間内で移動させている。キャラクタを移動させる際には、対応するモーションデータに従って、キャラクタに歩く／走るモーションを行わせる。なお、仮想空間内には、図２（ａ）に示す如く、キャラクタ２００が移動可能な範囲２１０や、図２（ｂ）に示す如く、キャラクタ２００が移動可能な経路２２０が予め指定されているものとする。範囲２１０の座標位置（例えば範囲２１０の四隅の座標位置）や経路２２０の座標位置（例えば経路２２０上に等間隔に存在する点の座標位置）は、上記の場所記述情報を用いて求める「端末装置１０の３次元空間位置と撮像部１０３の撮像方向」が属する座標系におけるものである。
【００１９】
移動可能な範囲の生成方法については様々な方法が考えられる。例えば、仮想空間内における移動可能な範囲（経路）の座標位置は、ユーザがマニュアルで指定しても良いし、２次元地図情報において移動可能な範囲に対応する座標位置を上記の座標系に変換して求めても良い。また、上記の３次元空間情報を生成すると共に深さセンサ１０６で床や壁を計測して現実空間の３次元幾何構造を表す３次元構造モデルを生成し、３次元構造モデルにおいて床の領域で壁の手前の部分を移動可能な範囲としても良い。
【００２０】
また、現実空間中の規定の位置に対応する仮想空間内の位置とは、例えば、ユーザがディスプレイ１０５上をタップすることで位置を指定した場合は、該指定した位置に対応する現実空間中の位置に対応する仮想空間内の位置となる。ディスプレイ１０５上のタップ位置に対応する現実空間中の位置に対応する仮想空間内の位置は、例えば、タップ位置を「キャラクタの２次元画像を描画するために該キャラクタを投影面に投影する投影変換」の逆変換で変換した床面上の３次元位置である。また、タップ位置に対応する深さ情報を深さセンサ１０６を用いて取得し、タップ位置から該深さ情報が示す距離だけ奥側（撮像部１０３の撮像方向側）の位置を、現実空間中の規定の位置に対応する仮想空間内の位置としても良い。また、上記の距離Ｄは、「現実空間中の規定の位置に対応する仮想空間内の位置」ごとに異なる値であっても良いし、「現実空間中の規定の位置に対応する仮想空間内の位置」に関係なく固定値であっても良い。前者の場合、距離Ｄは、「現実空間中の規定の位置に対応する仮想空間内の位置」と関連づけてメモリ部に格納されている。なお、「現実空間中の規定の位置に対応する仮想空間内の位置」は、予めメモリ部に登録されていても良いし、サーバなどの外部装置からダウンロードするようにしても良い。
【００２１】
現実空間に対応する仮想空間内におけるキャラクタの現在位置が領域Ｒ内であれば、処理はステップＳ３０３に進み、現実空間に対応する仮想空間内におけるキャラクタの現在位置が領域Ｒ外であれば、処理はステップＳ３０４に進む。
【００２２】
ステップＳ３０３では、制御部１００は、キャラクタに規定の動作を行わせる。例えば、「現実空間中の規定の位置に対応する仮想空間内の位置」と関連づけられているモーションデータに基づいてキャラクタのモーション（手や足などの部位を動かして行うモーション）を制御しても良いし、「現実空間中の規定の位置に対応する仮想空間内の位置」と関連づけられている動作則に従ってジャンプしたり走り回ったり寝転がったりするなど、キャラクタの位置や姿勢を変更しても良い。
【００２３】
例えば、規定の動作は、端末装置１０のユーザの属性情報毎に切り替えても良い。例えば、ユーザの属性情報が「男性」を示す場合、女性のキャラクタを（女性のモーションで）表示したり、キャラクタの発声内容を女性の音声でスピーカ１０１から出力したり、女性の口調のテキストを吹き出しで表示したりしても良い。また、SNSでやり取りされる他のユーザからのコメントを吹き出しで表示しても良いし、該コメントを音声でキャラクタの発声内容としてスピーカ１０１から出力しても良い。
【００２４】
また更に、時間帯、キャラクタの表示回数、季節や時期のうち少なくとも１つによってキャラクタやテキストの表示内容や音声の内容を変化させても良い。例えば、制御部１００が計時している（若しくは外部から受信した）現在時刻が朝の時間帯（例えば６時から１２時）であれば、朝に関連する処理（例えば、「おはよう」と発言するモーションを再生すると共に、スピーカ１０１から「おはよう」という音声を出力させる）を行うようにしても良い。また例えば、はじめてキャラクタの画像を表示する場合には、例えば、「初めまして」と発言するモーションを再生すると共に、スピーカ１０１から「初めまして」という音声を出力させるようにしても良い。また例えば、現在日時がクリスマスの日であれば、サンタの服を着たキャラクタを表示しても良い。また、ユーザが端末装置１０に入力したメッセージを認識し、該認識したメッセージからキーワードを抽出し、該抽出したキーワードと関連づけられているモーションを再生したり、テキストを表示したり、音声を出力したりしても良い。ユーザがマイク１０２に向かって音声を発した場合には、音声認識技術により該音声をメッセージとして認識することができる。また、ユーザがディスプレイ１０５上でテキストを入力した場合には、文字認識技術により該テキストをメッセージとして認識することができる。
【００２５】
また、マナーモードのように音声出力を停止している場合は、音声出力は行わずにテキストの表示を許可し、音声出力モードのように音声出力を許可している場合には、テキストの表示は禁止し、音声出力を許可するようにしても良い。
【００２６】
このように、様々な条件に応じたキャラクタの動作則やテキスト、音声の出力条件はデータベースファイルとしてサーバなどの外部装置において管理しても良く、その場合、このデータベースファイルは外部装置から定期的若しくは不定期的にダウンロードすることで、端末装置１０が保持するデータベースファイルを一部更新したり追加したり他のデータベースファイルに置換したりすることができる。また、端末装置１０から外部装置にアクセスしてデータベースファイル（キャラクタのモーション、テキスト内容、音声内容、モーションの再生条件、テキストや音声の出力条件など）を編集することもできる。また、「現実空間中の規定の位置に対応する仮想空間内の位置」と関連づけられているキャラクタの音声データに基づく音声をスピーカ１０１から出力するようにしても良い。
【００２７】
ステップＳ３０４では、上記の非特許文献１に記載の技術を用い、上記の場所記述情報と、ステップＳ３０１でメモリ部に格納した撮像画像上の特徴点と、を比較することで、そのときの端末装置１０の３次元空間位置と撮像部１０３の撮像方向（つまり、端末装置１０の位置及び姿勢）を認識する。そして制御部１００は、該認識した３次元位置及び撮像方向のそれぞれを仮想視点の位置、姿勢として設定する。そして制御部１００は、モデルデータに基づくキャラクタを仮想空間中の移動可能な領域内若しくは移動可能な経路上に配置し、該配置したキャラクタを仮想視点から見た２次元画像を描画する。
【００２８】
ステップＳ３０５では、制御部１００は、ステップＳ３０１でメモリ部に格納した撮像画像上に、ステップＳ３０４で描画したキャラクタの２次元画像を合成した合成画像をディスプレイ１０５に表示する。
【００２９】
なお、美術館や博物館等の施設について予め作成した場所記述情報をサーバなどの外部装置に予めアップロードしておいても良い。この場合、端末装置１０はＧＰＳ処理部１０４による位置情報を外部装置に送信することで、外部装置から、該位置情報に対応する場所記述情報をダウンロードすることができる。ダウンロードは、例えば、端末装置１０のディスプレイ１０５に表示されているダウンロードアイコンをユーザがタッチすることで開始することができる。また、該位置情報に対応する場所記述情報が複数存在する場合には、端末装置１０は、複数の場所記述情報を候補としてダウンロードしてディスプレイ１０５に表示し、ユーザから１つを選択する指示を受け付けても良い。
【００３０】
また、端末装置１０は撮像画像又は該撮像画像中の特徴点をサーバなどの外部装置に定期的にアップロードし、外部装置は、端末装置１０からアップロードされた撮像画像又は特徴点に基づいて、端末装置１０の位置が含まれる場所記述情報を端末装置１０に送信する、としても良い。
【００３１】
また、端末装置１０は、ＧＰＳ処理部１０４による位置情報が場所記述情報のエリアから離れた場合、場所記述情報の利用時間が規定時間以上となった場合、キャラクタの画像表示を規定時間以上行わなかった場合等の条件が満たされた場合には、メモリ部に保持している場所記述情報を消去しても良い。
【００３２】
なお、場所記述情報以外のデータ（上記のモデルデータなど）もまた、外部の機器から通信部１０７を介して取得しても良い。また、キャラクタの２次元画像は、仮想視点の位置及び姿勢の両方に基づいて描画しても良いし、位置又は姿勢に基づいて描画しても良い。
【００３３】
また、本実施形態では、端末装置１０は、撮像画像に含まれる特徴点に基づき場所記述情報を使用して、３次元空間における端末装置１０の位置及び方向を判定していた。しかしながら、例えば、所定エリア内の複数の位置に、それぞれの位置を示す信号を送信する送信機を設置する構成とすることができる。送信機は、例えば、人の可聴範囲外の音を出力するスピーカとすることができる。この場合、端末装置１０のマイク１０２は、スピーカの音を音声信号に変換し、端末装置１０は、この音声信号により、３次元空間におけるどの付近にいるかを判定する。これにより、端末装置１０が撮像画像の特徴点に基づき端末装置１０の位置及び方向を判定する際に、参酌すべき場所記述情報の範囲を絞り込むことができ、端末装置１０の位置及び方向の判定に要する時間を短縮することができる。また、端末装置１０は、一旦、端末装置１０の位置及び方向を判定すると、加速度情報及び角速度情報により端末装置１０の位置及び方向が変化しても、変化後の端末装置１０の位置及び方向を判定し続けることができる。これにより、例えば、端末装置１０の位置及び方向を判定した後、ユーザが端末装置１０をポケットやカバン等に入れたりして撮像画像が得られない状態が続いても、ユーザが撮像部１０３による撮像画像の取得を開始し場所記述情報に基づき端末装置１０の位置及び方向を判定する際に、加速度情報及び角速度情報により判定していた端末装置１０の位置及び方向に基づき、参酌すべき場所記述情報の範囲を絞り込むことができる。また、場所記述情報は、該場所記述情報に対応するエリアの経度緯度などの位置情報を含んでも良い。その場合、ＧＰＳ処理部１０４による位置情報等により、端末装置１０が、場所記述情報に対応するエリア内、またはそのエリアの近くにいると判定した場合には、端末装置１０がそのエリア内、あるいは近傍にいることを、ユーザに通知（画面上に通知・振動）するようにしてもよい。
【００３４】
また、上記の説明では、キャラクタの２次元画像は端末装置１０が描画していたが、サーバなどの外部装置がキャラクタの２次元画像を描画する処理を行って、端末装置１０に該描画した２次元画像を送信するようにしても構わない。その場合、端末装置１０は、キャラクタの２次元画像を描画するために必要な情報（仮想視点の位置や姿勢、キャラクタの位置やモーション情報等）を外部装置に対して送信する。
【００３５】
また、上記の距離Ｄは複数の距離値（Ｄ１，Ｄ２，…：Ｄ１＞Ｄ２＞…）をとるようにしても良い。そして、仮想空間内におけるキャラクタの現在位置が、現実空間中の規定の位置に対応する仮想空間内の位置から規定距離Ｄｉ（ｉ＝１，２，…）以内となった時点で、距離Ｄｉと関連づけられている動作をキャラクタに行わせるようにしても良い。例えば、キャラクタの現在位置が現実空間中の規定の位置に対応する仮想空間内の位置から規定距離Ｄ１以内となった時点で、距離Ｄ１と関連づけられているキャラクタの音声をスピーカ１０１から出力すると共にキャラクタの発声モーションを再生し、現実空間中の規定の位置に対応する仮想空間内の位置から規定距離Ｄ２以内となった時点で、距離Ｄ２と関連づけられているテキストをディスプレイ１０５に表示すると共にキャラクタの発声モーションを再生するようにしても良い。このように、距離Ｄの距離値毎に、キャラクタのモーションやテキスト、音声のデータをメモリ部や外部装置に格納するようにしても良い。
【００３６】
また、仮想空間におけるキャラクタの現在位置が、複数の領域Ｒに属しているような場合、それぞれの領域Ｒに対して予め設定された優先度のうち最も高い優先度の領域Ｒと関連づけられている処理（キャラクタのモーションの制御、テキストの表示、音声の出力）を行うようにしても良い。また、仮想空間におけるキャラクタの現在位置が、複数の領域Ｒに属しているような場合、仮想空間におけるキャラクタの現在位置に最も近い領域Ｒと関連づけられている処理（キャラクタのモーションの制御、テキストの表示、音声の出力）を行うようにしても良い。
【００３７】
また、上記の距離Ｄは、時間、日、曜日、月、季節のうち少なくとも１つに応じて変化させても良い。
【００３８】
また、「キャラクタの現在位置」は「キャラクタの周囲領域の位置」としても良い。その場合、キャラクタの周囲領域の一部若しくは全部が領域Ｒと重複する場合には、処理はステップＳ３０３に進み、キャラクタの周囲領域が領域Ｒと重複しない場合には、処理はステップＳ３０４に進む。
【図１】
2018124926.tif 000003
【図２】
2018124926.tif 000004
【図３】
2018124926.tif 000005