(57)【特許請求の範囲】
【請求項１】
撮像装置が接続されたコンピュータに、
前記撮像装置により撮像された撮像画像に対応する仮想空間を特定する特定機能と、
少なくとも１つの仮想オブジェクトを含む前記仮想空間を前記撮像装置に対応する仮想カメラから撮影した仮想空間画像を生成する生成機能と、
前記撮像画像と前記仮想空間画像とが合成された合成画像を、タッチパネルを備えた表示装置に出力する出力機能と、
前記タッチパネルに対するユーザ操作の内容を判定する判定機能と、
前記ユーザ操作が、前記タッチパネルに触れた後に接触位置が移動しない第１操作と判定された場合、第１操作の継続中、前記撮像装置の移動または姿勢変更に応じて、前記仮想カメラと前記仮想オブジェクトの関係を固定した状態で両者の位置または姿勢を更新する更新機能と、
前記ユーザ操作が、前記タッチパネルに触れた位置をスライドさせる第２操作と判定された場合、当該第２操作により定まる方向に前記仮想オブジェクトを回転させる回転機能とを実現させ、
前記判定機能では、前記第２操作により前記仮想オブジェクトが回転した後、前記タッチパネルに触れた位置がスライドされた後の位置から移動しない場合、当該操作を前記第１操作と判定する機能を
実現させるためのプログラム。
【請求項２】
前記更新機能では、前記第１操作のタッチ位置に表示された前記仮想オブジェクトの前記仮想空間における位置または姿勢を更新する機能を
実現させるための請求項１記載のプログラム。
【請求項３】
前記回転機能では、前記仮想空間における前記仮想オブジェクトの位置を固定した状態で前記仮想オブジェクトを回転させる機能を
実現させるための請求項１または請求項２記載のプログラム。
【請求項４】
前記更新機能では、前記第１操作と判定された場合、かつ前記コンピュータの姿勢が前記撮像装置の撮像方向を軸に回転した場合、前記仮想カメラの撮影方向を軸に回転するように前記仮想オブジェクトの姿勢を更新する機能を実現させ、
前記回転機能では、前記タッチパネルに触れた位置をスライドさせる第２操作と判定された場合、前記撮影方向に直交する方向を軸に前記仮想オブジェクトを回転させる機能を
実現させるための請求項１から請求項３のうち何れかに記載のプログラム。
【請求項５】
前記更新機能では、前記第１操作の継続中、前記仮想空間における所定条件が満たされた場合、前記仮想カメラと当該仮想オブジェクトとの関係を固定した状態から固定しない状態に変更して更新する機能を
実現させるための請求項１から請求項４のうち何れかに記載のプログラム。
【請求項６】
ユーザ操作に応じて情報処理の進行を制御する画像処理方法であって、
コンピュータに接続された撮像装置により撮像された撮像画像に対応する仮想空間を特定する特定処理と、
少なくとも１つの仮想オブジェクトを含む前記仮想空間を前記撮像装置に対応する仮想カメラから撮影した仮想空間画像を生成する生成処理と、
前記撮像画像と前記仮想空間画像とが合成された合成画像を、タッチパネルを備えた表示装置に出力する出力処理と、
前記タッチパネルに対するユーザ操作の内容を判定する判定処理と、
前記ユーザ操作が、前記タッチパネルに触れた後に接触位置が移動しない第１操作と判定された場合、第１操作の継続中、前記撮像装置の移動または姿勢変更に応じて、前記仮想カメラと前記仮想オブジェクトの関係を固定した状態で両者の位置または姿勢を更新する更新処理と、
前記ユーザ操作が、前記タッチパネルに触れた位置をスライドさせる第２操作と判定された場合、当該第２操作により定まる方向に前記仮想オブジェクトを回転させる回転処理とを含み、
前記判定処理では、前記第２操作により前記仮想オブジェクトが回転した後、前記タッチパネルに触れた位置がスライドされた後の位置から移動しない場合、当該操作を前記第１操作と判定する
ことを特徴とする画像処理方法。
【請求項７】
通信ネットワークと、サーバと、撮像装置が接続されたユーザ端末とを備え、ユーザ操作に応じて情報処理の進行を制御する画像処理システムであって、
前記撮像装置により撮像された撮像画像に対応する仮想空間を特定する特定手段と、
少なくとも１つの仮想オブジェクトを含む前記仮想空間を前記撮像装置に対応する仮想カメラから撮影した仮想空間画像を生成する生成手段と、
前記撮像画像と前記仮想空間画像とが合成された合成画像を、タッチパネルを備えた表示装置に出力する出力手段と、
前記タッチパネルに対するユーザ操作の内容を判定する判定手段と、
前記ユーザ操作が、前記タッチパネルに触れた後に接触位置が移動しない第１操作と判定された場合、第１操作の継続中、前記撮像装置の移動または姿勢変更に応じて、前記仮想カメラと前記仮想オブジェクトの関係を固定した状態で両者の位置または姿勢を更新する更新手段と、
前記ユーザ操作が、前記タッチパネルに触れた位置をスライドさせる第２操作と判定された場合、当該第２操作により定まる方向に前記仮想オブジェクトを回転させる回転手段とを含み、
前記判定手段は、前記第２操作により前記仮想オブジェクトが回転した後、前記タッチパネルに触れた位置がスライドされた後の位置から移動しない場合、当該操作を前記第１操作と判定する
ことを特徴とする画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態の少なくとも１つは、現実世界において固定的に配置された実在のオブジェクトに対する仮想的処理を拡張現実技術によって複数のユーザで共有するための情報処理プログラム、情報処理方法及び画像処理システムに関する。
【背景技術】
【０００２】
近年、拡張現実（ＡＲ：Augmented Reality）技術が提供され始めている。拡張現実は、現実空間の画像に対して平面や立体のオブジェクト（以下「ＡＲオブジェクト」という。）を重畳表示することで現実空間に仮想オブジェクトを表示する技術である。
【０００３】
また、拡張現実技術によって表示させるオブジェクトを、ユーザに操作させる技術も提案されている。このような技術には、例えば、ユーザ操作が第１の操作である場合にオブジェクトを張現実空間内において移動させるものがある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１９１７１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、従来の技術では、ＡＲオブジェクトをユーザに直感的に操作させることができない場合があった。
【０００６】
本発明の少なくとも１つの実施形態の目的は、上記課題を解決し、ＡＲオブジェクトの操作性を向上させることである。
【課題を解決するための手段】
【０００７】
非限定的な観点によると、本発明の一実施形態に係るプログラムは、撮像装置が接続されたコンピュータに、前記撮像装置により撮像された撮像画像に対応する仮想空間を特定する特定機能と、少なくとも１つの仮想オブジェクトを含む前記仮想空間を前記撮像装置に対応する仮想カメラから撮影した仮想空間画像を生成する生成機能と、前記撮像画像と前記仮想空間画像とが合成された合成画像を、タッチパネルを備えた表示装置に出力する出力機能と、前記タッチパネルに対するユーザ操作の内容を判定する判定機能と、前記ユーザ操作が、前記タッチパネルに触れた後に接触位置が移動しない第１操作と判定された場合、第１操作の継続中、前記撮像装置の移動または姿勢変更に応じて、前記仮想カメラと前記仮想オブジェクトの関係を固定した状態で両者の位置または姿勢を更新する更新機能と、前記ユーザ操作が、前記タッチパネルに触れた位置をスライドさせる第２操作と判定された場合、当該第２操作により定まる方向に前記仮想オブジェクトを回転させる回転機能とを実現させるためのプログラム。
【０００８】
非限定的な観点によると、本発明の一実施形態に係る情報処理方法は、ユーザ操作に応じて情報処理の進行を制御する画像処理方法であって、コンピュータに接続された撮像装置により撮像された撮像画像に対応する仮想空間を特定する特定処理と、少なくとも１つの仮想オブジェクトを含む前記仮想空間を前記撮像装置に対応する仮想カメラから撮影した仮想空間画像を生成する生成処理と、前記撮像画像と前記仮想空間画像とが合成された合成画像を、タッチパネルを備えた表示装置に出力する出力処理と、前記タッチパネルに対するユーザ操作の内容を判定する判定処理と、前記ユーザ操作が、前記タッチパネルに触れた後に接触位置が移動しない第１操作と判定された場合、第１操作の継続中、前記撮像装置の移動または姿勢変更に応じて、前記仮想カメラと前記仮想オブジェクトの関係を固定した状態で両者の位置または姿勢を更新する更新処理と、前記ユーザ操作が、前記タッチパネルに触れた位置をスライドさせる第２操作と判定された場合、当該第２操作により定まる方向に前記仮想オブジェクトを回転させる回転処理とを含むことを特徴とする。
【０００９】
非限定的な観点によると、本発明の一実施形態に係る画像処理システムは、通信ネットワークと、サーバと、撮像装置が接続されたユーザ端末とを備え、ユーザ操作に応じて情報処理の進行を制御する画像処理システムであって、前記撮像装置により撮像された撮像画像に対応する仮想空間を特定する特定手段と、少なくとも１つの仮想オブジェクトを含む前記仮想空間を前記撮像装置に対応する仮想カメラから撮影した仮想空間画像を生成する生成手段と、前記撮像画像と前記仮想空間画像とが合成された合成画像を、タッチパネルを備えた表示装置に出力する出力手段と、前記タッチパネルに対するユーザ操作の内容を判定する判定手段と、前記ユーザ操作が、前記タッチパネルに触れた後に接触位置が移動しない第１操作と判定された場合、第１操作の継続中、前記撮像装置の移動または姿勢変更に応じて、前記仮想カメラと前記仮想オブジェクトの関係を固定した状態で両者の位置または姿勢を更新する更新手段と、前記ユーザ操作が、前記タッチパネルに触れた位置をスライドさせる第２操作と判定された場合、当該第２操作により定まる方向に前記仮想オブジェクトを回転させる回転手段とを含むことを特徴とする。
【発明の効果】
【００１０】
本願の各実施形態により１または２以上の不足が解決される。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態の少なくとも一つに対応する画像処理システムの構成の例を示すブロック図である。
【図２】本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。
【図３】本発明の実施形態の少なくとも一つに対応する情報処理の例を示すフローチャートである。
【図４】本発明の実施形態の少なくとも一つに対応する情報処理におけるサーバ側の動作の例を示すフローチャートである。
【図５】本発明の実施形態の少なくとも一つに対応する情報処理における端末側の動作の例を示すフローチャートである。
【図６】本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。
【図７】本発明の実施形態の少なくとも一つに対応する情報処理の例を示すフローチャートである。
【図８】本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。
【図９】本発明の実施形態の少なくとも一つに対応する情報処理の例を示すフローチャートである。
【図１０】本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。
【図１１】本発明の実施形態の少なくとも一つに対応する情報処理の例を示すフローチャートである。
【図１２】本発明の実施形態の少なくとも一つに対応するサーバの構成を示すブロック図である。
【図１３】本発明の実施形態の少なくとも一つに対応する情報処理の例を示すフローチャートである。
【図１４】本発明の実施形態の少なくとも一つに対応する端末の構成を示すブロック図である。
【図１５】本発明の実施形態の少なくとも一つに対応する情報の格納状態の例について説明するための説明図である。
【図１６】本発明の実施形態の少なくとも一つに対応する情報処理の例を示すフローチャートである。
【図１７】本発明の実施形態の少なくとも一つに対応する表示画面の例を示す説明図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態の例について図面を参照して説明する。なお、以下で説明する各実施形態の例における各種構成要素は、矛盾等が生じない範囲で適宜組み合わせ可能である。また、ある実施形態の例として説明した内容については、他の実施形態においてその説明を省略している場合がある。また、各実施形態の特徴部分に関係しない動作や処理については、その内容を省略している場合がある。さらに、以下で説明する各種フローを構成する各種処理の順序は、処理内容に矛盾等が生じない範囲で順不同である。
【００１３】
［第１の実施形態］
図１は、本発明の一実施の形態における画像処理システム１００の構成の例を示すブロック図である。図１に示すように、画像処理システム１００は、画像処理サーバ１０と、画像処理システム１００のユーザが使用するユーザ端末２０〜２０ｎ（ｎは任意の整数）とを含む。なお、画像処理システム１００の構成はこれに限定されず、単一のユーザ端末を複数のユーザが使用する構成としてもよいし、複数の画像処理サーバを備える構成としてもよい。
【００１４】
画像処理サーバ１０と複数のユーザ端末２０，２０１〜２０ｎは、それぞれインターネットなどの通信ネットワーク３０に接続されている。なお、図示しないが、複数のユーザ端末２０，２０１〜２０ｎは、例えば、通信業者によって管理される基地局と無線通信回線によるデータ通信を行うことによって、通信ネットワーク３０と接続する。
【００１５】
画像処理システム１００は、画像処理サーバ１０と複数のユーザ端末２０，２０１〜２０ｎとを備えることにより、ユーザの操作に応じて各種処理を実行するための各種機能を実現する。
【００１６】
画像処理サーバ１０は、画像処理システム１００の管理者によって管理され、複数のユーザ端末２０，２０１〜２０ｎに対して各種処理に関する情報を提供するための各種機能を有する。本例において、画像処理サーバ１０は、ＷＷＷサーバなどの情報処理装置によって構成され、各種情報を格納する記憶媒体を備える。なお、画像処理サーバ１０は、制御部や通信部などコンピュータとして各種処理を行うための一般的な構成を備えるが、ここでの説明は省略する。また、画像処理システム１００においては、複数のユーザ端末２０，２０１〜２０ｎそれぞれにかかる処理負荷を軽減させるといった観点から、各種情報は画像処理サーバ１０が管理することが好ましい。ただし、各種情報を記憶する記憶部は、画像処理サーバ１０がアクセス可能な状態で記憶領域を備えていればよく、例えば専用の記憶領域を画像処理サーバ１０の外部に有する構成とされていてもよい。
【００１７】
複数のユーザ端末２０，２０１〜２０ｎは、それぞれ、ユーザによって管理され、画像処理サーバ１０から受信した情報を利用して各種処理を実行するための各種機能を有する。本例において複数のユーザ端末２０，２０１〜２０ｎは、例えば携帯電話端末やＰＤＡ（Personal Digital Assistants）などの通信端末であり、ユーザが動画及び／又は静止画の撮影を行うためのカメラ装置を搭載し、かつ、撮影画像データ等を表示するためのディスプレイを備える。また、カメラ装置は、光学式カメラの他、３次元カメラ装置を併用するものであってもよい。また、複数のユーザ端末２０，２０１〜２０ｎは、描画情報を入力するためのマウス、タッチパネル、タッチペン等の入力手段を備える。なお、画像処理システム１００が含み得るユーザ端末の構成の他の例には、スマートウォッチなどの所謂ウェアラブルデバイスや、ウェアラブルデバイスと通信端末等との組み合わせがある。
【００１８】
また、複数のユーザ端末２０，２０１〜２０ｎは、それぞれ、通信ネットワーク３０に接続し、画像処理サーバ１０との通信を行うことにより各種処理を実行するためのハードウェアおよびソフトウェアを備える。なお、複数のユーザ端末２０，２０１〜２０ｎそれぞれは、画像処理サーバ１０を介さずに互いに直接通信を行うこともできる構成とされていてもよい。
【００１９】
情報処理を行う過程においては、画像処理サーバ１０は適宜複数のユーザ端末２０，２０１〜２０ｎに対して処理過程を送信するものとし、複数のユーザ端末２０，２０１〜２０ｎ側では、受信した処理過程の内容に基づいた画面内容を表示装置の表示画面に表示させるものとする。画面内容の生成は、画像処理サーバ１０側で行ってもよいし、複数のユーザ端末２０，２０１〜２０ｎ側で行ってもよい。
【００２０】
図２は、画像処理サーバ１０の構成の例である画像処理サーバ１０Ａ（サーバ１０Ａ）を示すブロック図である。図２に示すように、サーバ１０Ａは、特定部１１と、生成部１２と、出力部１３と、判定部１４と、更新部１５と、回転部１６とを少なくとも備える。
【００２１】
特定部１１は、撮像装置により撮像された撮像画像に対応する仮想空間を特定する機能を有する。
【００２２】
ここで、撮像装置の例には、サーバ１０Ａと通信可能なユーザ端末２０に接続されたカメラがある。また、撮像画像に対応する仮想空間とは、撮像画像に重畳表示するＡＲオブジェクトを撮影するための仮想的空間を意味する。仮想空間を特定するための構成は公知の技術を用いるため詳細な説明は省略するが、撮像画像から特定される実空間と、特定される仮想空間とが、所定規則により関連付けされることが好ましい。このような構成の例には、撮像装置の位置と向きに基づいて配置が決定された仮想オブジェクトを含む仮想空間を特定する構成がある。
【００２３】
生成部１２は、少なくとも１つの仮想オブジェクトを含む仮想空間を撮像装置に対応する仮想カメラから撮像した仮想空間画像を生成する機能を有する。
【００２４】
ここで、仮想オブジェクトとは、仮想空間に配置されたオブジェクトを意味する。仮想オブジェクトの構成は、ユーザ操作に応じて移動可能であれば特に限定されない。仮想オブジェクトの例には、仮想空間において静止している立体や、仮想空間において所定規則に従い動作しているキャラクタがある。
【００２５】
また、撮像装置に対応する仮想カメラとは、ユーザが撮像装置を介して操作可能な仮想カメラを意味する。仮想空間画像を生成するための構成は特に限定されないが、特定部１１により特定された仮想空間において、ユーザ操作に応じて撮影反映が変更可能な構成であることが好ましい。このような構成の例には、撮像措置の位置または向きの少なくとも一方が変化した場合に、生成される仮想画像も変化させる構成がある。なお、仮想空間画像の構成は特に限定されないが、少なくとも１つの仮想オブジェクトが描画される構成が好ましい。
【００２６】
出力部１３は、撮像画像と仮想空間画像とが合成された合成画像を、タッチパネルを備えた表示装置に出力する機能を有する。
【００２７】
ここで、合成画像を出力するための構成は特に限定されないが、合成画像における仮想空間画像をユーザが操作し得る構成であることが好ましい。このような構成の例には、タッチパネルにおける仮想オブジェクトの出力位置を制御して出力し、出力位置に対するタッチ操作を受け付けた場合に所定の処理を行うように出力する構成がある。
【００２８】
判定部１４は、タッチパネルに対するユーザ操作の内容を判定する機能を有する。
【００２９】
ここで、ユーザ操作の内容を判定するための構成は特に限定されないが、複数の操作内容のうち１つの操作内容が判定される構成であることが好ましい。このような構成の例には、いわゆる長押し操作とスライド操作との何れかを受け付けたか、タッチ操作の位置に基づいて判定する構成がある。
【００３０】
更新部１５は、ユーザ操作が第１操作と判定された場合、第１操作の継続中、撮像装置の移動または姿勢変更に応じて、仮想カメラと仮想オブジェクトの関係を固定した状態で両者の位置または姿勢を更新する機能を有する。なお、撮像装置の移動と姿勢変更は、撮像装置が接続されたユーザ端末の移動と姿勢変更と同義であることが好ましいが、撮像装置がユーザ端末と独立して移動および姿勢変更が可能な構成としてもよい。
【００３１】
ここで、第１操作とは、所定の第１操作条件を満たす操作を意味する。第１操作の構成は、後述する第２操作と区別可能であれば特に限定されないが、タッチパネルに触れた後に接触位置が移動しない操作であることが好ましい。
【００３２】
また、第１操作が継続中か否かを判定するための構成は特に限定されず、第１操作条件を満たさなくなった場合に継続中でないと判定される構成としてもよいし、第１操作と判定された後、タッチパネルに対するユーザの接触位置がなくなった場合であっても、所定の終了条件が満たされるまでは第１操作が継続中と判定される構成としてもよい。
【００３３】
また、仮想カメラと仮想オブジェクトの関係を固定した状態とは、仮想空間における両者の関係を変化させないことを意味する。ここで、両者の関係を定義するための構成は特に限定されないが、相対的な距離または姿勢の関係が変化しない構成であることが好ましい。このような構成の例には、仮想空間において、仮想カメラと仮想オブジェクトとに同じ挙動を行わせる構成がある。なお、仮想カメラと仮想オブジェクトについて、位置と姿勢の少なくとも一方の関係を維持させる構成としてもよいし、位置と姿勢の両方の関係を維持させる構成としてもよい。
【００３４】
また、撮像装置の移動または姿勢変更に応じて、仮想カメラと仮想オブジェクト（仮想カメラ等）の位置または姿勢を更新するとは、現実空間における撮像装置の位置が変化した場合には仮想カメラ等の位置を更新し、現実空間における撮像装置の姿勢が変化した場合には仮想カメラ等の姿勢を更新させることを意味する。すなわち、撮像装置の撮像方向が変わると、当該変化と同様に仮想カメラの撮影方向が変化し、併せて仮想オブジェクトの位置が仮想カメラの撮影範囲に収まるように移動する。また、撮像装置の姿勢が変わると、当該変化と同様に仮想カメラの姿勢が変化し、併せて仮想オブジェクトの姿勢が仮想カメラの姿勢と同様に変化する。なお、撮像装置の移動と姿勢変更が同時に起こった場合に、仮想カメラ等の位置と姿勢を同時に更新する構成とすることで、撮像装置と仮想オブジェクトが連動する感覚をユーザに提供する構成としてもよいし、仮想オブジェクト等の移動と姿勢変更のうち何れか一方が優先される構成とすることで、操作性に特徴を設ける構成としてもよい。後者の構成の例には、撮像装置の移動と姿勢変更が同時に行われた場合、仮想カメラ等の移動と姿勢変更のうちどちらを優先して行うかの優先条件を定めておく構成がある。なお、撮像装置の移動または姿勢変更を検出するための構成は特に限定されず、各種センサを用いる公知技術を利用すればよいため、ここでの説明は省略する。
【００３５】
回転部１６は、ユーザ操作が第２操作と判定された場合、当該第２操作により定まる方向に仮想オブジェクトを回転させる機能を有する。
【００３６】
ここで、第２操作とは、所定の第２操作条件を満たす操作を意味する。第２操作の構成は、第１操作と区別可能であれば特に限定されないが、タッチパネルに触れた位置をスライドさせる操作（すなわち、タッチパネルに触れた後に接触位置が移動する操作）であることが好ましい。
【００３７】
また、第２操作により仮想オブジェクトを回転させるための構成は特に限定されないが、ユーザが予測しやすい構成であることが好ましい。このような構成の例には、タッチパネルとユーザの指との接触位置が画面左側から画面右側に移動する操作を第２操作と判定した場合、仮想オブジェクトを画面左側から画面右側の方向に自転させる構成がある。なお、この場合、仮想オブジェクトを自転させるための点または軸は、予め仮想オブジェクトに設定されている構成としてもよいし、ユーザ操作から定める構成としてもよい。
【００３８】
次に、本例の画像処理システム１００（システム１００）の動作について説明する。
【００３９】
図３は、システム１００が実行する情報処理の例を示すフローチャートである。以下、画像処理サーバ１０Ａと、ユーザ端末２０とが、情報処理を実行する場合を例にして説明する。
【００４０】
情報処理は、例えばユーザ端末２０が、ＡＲ機能を用いた撮影要求をユーザから受け付けた場合に開始される。以下、ユーザ端末２０からの撮影要求をサーバ１０Ａが受け付けた場合を例にして説明する。
【００４１】
サーバ１０Ａは、情報処理において、先ず、撮像画像に対応する仮想空間を特定する（ステップＳ１１）。本例においてサーバ１０Ａは、ユーザ端末２０のカメラ（実カメラ）により撮像された撮像画像に対応する仮想空間を特定する。
【００４２】
サーバ１０Ａは、仮想空間を特定すると、仮想空間画像を生成する（ステップＳ１２）。本例においてサーバ１０Ａは、所定の仮想オブジェクト（ＡＲオブジェクトとしての立方体）を含む仮想空間を、ユーザ端末２０のカメラを介してユーザが操作可能な仮想カメラから撮影した仮想空間画像を生成する。
【００４３】
サーバ１０Ａは、仮想空間画像を生成すると、合成画像を出力する（ステップＳ１３）。本例においてサーバ１０Ａは、撮像画像と仮想空間画像とが合成された合成画像を、タッチパネルを備えた表示装置に出力する。すなわち、実カメラで撮像した実画像に仮想カメラで撮影した仮想オブジェクトを重畳表示することで拡張現実を実現させる。
【００４４】
サーバ１０Ａは、合成画像を出力すると、ユーザ操作の内容を判定する（ステップＳ１４）。本例においてサーバ１０Ａは、タッチパネルに対するユーザ操作の内容を判定する。
【００４５】
サーバ１０Ａは、ユーザ操作の内容を判定すると、仮想カメラと仮想オブジェクトの位置または姿勢を更新する（ステップＳ１５）。本例においてサーバ１０Ａは、ユーザ操作が第１操作と判定された場合、第１操作の継続中、ユーザ端末２０の移動または姿勢変更に応じて仮想カメラの位置または姿勢を更新し、併せて仮想オブジェクト位置または姿勢を更新することで、ユーザ端末２０を介して仮想オブジェクトを現実空間において操作している感覚をユーザに提供する。
【００４６】
サーバ１０Ａは、仮想カメラと仮想オブジェクトの位置または姿勢を更新すると、仮想オブジェクトを回転させる（ステップＳ１６）。本例においてサーバ１０Ａは、ユーザ操作が第２操作と判定された場合、第２操作により定まる方向に仮想オブジェクトを回転させる。
【００４７】
図４は、情報処理におけるサーバ１０側の動作の例を示すフローチャートである。ここでは、システム１００におけるサーバ１０Ａの動作について説明する。
【００４８】
サーバ１０Ａは、例えば、撮像画像に関する情報を含むＡＲ機能の実行要求をユーザ端末２０から受信することで情報処理を開始し、撮像画像に対応する仮想空間を特定し（ステップＳ１０１）、仮想空間画像を生成し（ステップＳ１０２）、合成画像を出力し（ステップＳ１０３）、ユーザ操作の内容を判定する（ステップＳ１０４）。本例においてサーバ１０Ａは、タッチパネルに対するユーザ操作の内容を判定する。そして、サーバ１０Ａは、ユーザ操作が第１操作と判定された場合、仮想カメラと仮想オブジェクトの位置または姿勢を更新し（ステップＳ１５）、ユーザ操作が第２操作と判定された場合、仮想オブジェクトを回転させる（ステップＳ１６）。
【００４９】
図５は、ユーザ端末２０が情報処理を実行する場合の動作の例を示すフローチャートである。以下、ユーザ端末２０の構成の例であるユーザ端末２０Ａ（端末２０Ａ）が、単体で情報処理を実行する場合を例にして説明する。なお、端末２０Ａの構成については、サーバ１０から各種情報を受信することを除きサーバ１０Ａの構成と同様の機能を備えるものであるため、重複説明を避ける観点から記載を省略する。
【００５０】
端末２０Ａは、例えば、端末２０に接続された実カメラが実空間を撮像している場合に、ＡＲ機能の実行要求をユーザから受け付けたことで情報処理を開始し、撮像画像に対応する仮想空間を特定し（ステップＳ２０１）、仮想空間画像を生成し（ステップＳ２０２）、合成画像を出力し（ステップＳ２０３）、ユーザ操作の内容を判定する（ステップＳ２０４）。本例において端末２０Ａは、タッチパネルに対するユーザ操作の内容を判定する。そして、端末２０Ａは、ユーザ操作を第１操作と判定した場合、仮想カメラと仮想オブジェクトの位置または姿勢を更新し（ステップＳ２０５）、ユーザ操作を第２操作と判定した場合、仮想オブジェクトを回転させる（ステップＳ２０６）。
【００５１】
以上のように、第１の実施形態の一側面として、ユーザ端末が備える撮像装置が接続されたサーバ１０Ａが、特定部１１と、生成部１２と、出力部１３と、判定部１４と、更新部１５と、回転部１６とを備える構成としているので、撮像装置により撮像された撮像画像に対応する仮想空間を特定し、少なくとも１つの仮想オブジェクトを含む仮想空間を撮像装置に対応する仮想カメラから撮像した仮想空間画像を生成し、撮像画像と仮想空間画像とが合成された合成画像を、タッチパネルを備えた表示装置に出力し、タッチパネルに対するユーザ操作の内容を判定し、ユーザ操作が、タッチパネルに触れた後に接触位置が移動しない第１操作と判定された場合、第１操作の継続中、撮像装置の移動または姿勢変更に応じて、仮想カメラと仮想オブジェクトの関係を固定した状態で両者の位置または姿勢を更新し、ユーザ操作が、タッチパネルに触れた位置をスライドさせる第２操作と判定された場合、当該第２操作により定まる方向に仮想オブジェクトを回転させ、仮想オブジェクトすなわちＡＲオブジェクトの操作性を向上させることができる。
【００５２】
すなわち、ＡＲオブジェクトをユーザに操作させるための構成として、タッチおよび撮影装置の操作を受け付ける第１操作と、スライド操作を受け付ける第２操作とを、同じ状況で受付可能な構成としているので、１種類の操作方法を受け付けるような場合と比べ、よりＡＲオブジェクトの操作性を向上させることができる。
【００５３】
［第２の実施形態］
図６は、画像処理サーバ１０の例である画像処理サーバ１０Ｂ（サーバ１０Ｂ）の構成を示すブロック図である。本例において、サーバ１０Ｂは、特定部１１と、生成部１２と、出力部１３と、判定部１４と、更新部１５Ｂと、回転部１６とを少なくとも備える。
【００５４】
更新部１５Ｂは、第１操作のタッチ位置に表示された仮想オブジェクトの仮想空間における位置または姿勢を更新する機能を有する。
【００５５】
ここで、タッチ位置に表示された仮想オブジェクトを特定するための構成は特に限定されず、タッチ位置の座標と仮想オブジェクトの座標とを比較することで特定される構成としてもよいし、複数の仮想オブジェクトが同時に特定される構成としてもよい。
【００５６】
図７は、システム１００が実行する情報処理の例を示すフローチャートである。以下、サーバ１０Ｂと、端末２０の動作を例にして説明する。なお、サーバ１０Ｂと端末２０それぞれの動作を示すフローチャートについては、重複説明を避ける観点から記載を省略する。
【００５７】
サーバ１０Ｂは、情報処理において、ユーザ操作の内容を判定すると、仮想カメラと、タッチ位置に表示された仮想オブジェクトの位置または姿勢を更新する（ステップＳ２−１１）。本例においてサーバ１０Ｂは、第１操作のタッチ位置に表示された仮想オブジェクトを操作状態に設定し、ユーザのタッチ操作が継続している間、端末２０または端末２０が備えるカメラの位置と姿勢の少なくとも一方が変更したことを示す情報を端末２０から受信する毎に、仮想空間における仮想オブジェクトが当該変更と同様に変更されるように、仮想オブジェクトに関する情報を更新する。
【００５８】
以上に説明したように、第２の実施形態の一側面として、サーバ１０Ｂが、特定部１１と、生成部１２と、出力部１３と、判定部１４と、更新部１５Ｂと、回転部１６とを備える構成としているので、第１操作のタッチ位置に表示された仮想オブジェクトの仮想空間における位置または姿勢を更新し、操作対象をユーザに直感的に指定させることができる。
【００５９】
［第３の実施形態］
図８は、画像処理サーバ１０の例である画像処理サーバ１０Ｃ（サーバ１０Ｃ）の構成を示すブロック図である。本例において、サーバ１０Ｃは、特定部１１と、生成部１２と、出力部１３と、判定部１４と、更新部１５と、回転部１６Ｃとを少なくとも備える。
【００６０】
回転部１６Ｃは、仮想空間における仮想オブジェクトの位置を固定した状態で仮想オブジェクトを回転させる機能を有する。
【００６１】
ここで、仮想オブジェクトの位置を固定した状態で仮想オブジェクトを回転させるための構成は特に限定されないが、仮想オブジェクトの基準位置（例えば、重心の座標）が回転の前後で変化しない構成であることが好ましい。このような構成の例には、第２操作を受け付けた場合、仮想オブジェクトの回転中に端末２０または端末２０のカメラの位置や姿勢が所定の誤操作範囲内で変化しても、仮想空間における仮想オブジェクトの位置や姿勢に影響させない構成がある。
【００６２】
図９は、システム１００が実行する情報処理の例を示すフローチャートである。以下、サーバ１０Ｃと、端末２０の動作を例にして説明する。なお、サーバ１０Ｃと端末２０それぞれの動作を示すフローチャートについては、重複説明を避ける観点から記載を省略する。
【００６３】
サーバ１０Ｃは、仮想カメラと仮想オブジェクトの位置または姿勢を更新すると、位置を固定した状態で仮想オブジェクトを回転させる（ステップＳ３−１１）。本例においてサーバ１０Ｃは、本例においてサーバ１０Ａは、ユーザ操作が第２操作と判定された場合、仮想空間における仮想オブジェクトの位置を固定し、当該第２操作により定まる方向に仮想オブジェクトを回転させる。
【００６４】
以上に説明したように、第３の実施形態の一側面として、サーバ１０Ｃが、特定部１１と、生成部１２と、出力部１３と、判定部１４と、更新部１５と、回転部１６Ｃとを備える構成としているので、仮想空間における仮想オブジェクトの位置を固定した状態で仮想オブジェクトを回転させ、ユーザによる誤操作を防止することができ、よりＡＲオブジェクトの操作性を向上させることができる。
【００６５】
［第４の実施形態］
図１０は、画像処理サーバ１０の例である画像処理サーバ１０Ｄ（サーバ１０Ｄ）の構成を示すブロック図である。本例において、サーバ１０Ｄは、特定部１１と、生成部１２と、出力部１３と、判定部１４と、更新部１５Ｄと、回転部１６Ｄとを少なくとも備える。
【００６６】
更新部１５Ｄは、受け付けたユーザ操作が第１操作と判定された場合、かつ端末２０の姿勢が撮像装置の撮像方向を軸に回転した場合、仮想カメラの撮影方向を軸に回転するように仮想オブジェクトの姿勢を更新する機能を有する。すなわち、更新部１５Ｄは、実空間における撮像装置の回転と同様に仮想オブジェクトが回転するよう制御する機能を有する。
【００６７】
ここで、仮想カメラの撮影方向を軸に回転するように仮想オブジェクトの姿勢を更新するための構成は特に限定されず、第１操作のタッチ位置からタッチパネルの奥方向に軸を設定する構成としてもよいし、予め仮想オブジェクトに軸を設定する位置が定められている構成としてもよい。このような構成の例には、仮想オブジェクトを仮想カメラの撮影方向を軸に回転させる場合に、仮想オブジェクトの所定位置（例えば、重心）を通る軸が設定される構成がある。
【００６８】
回転部１６Ｄは、タッチパネルに触れた位置をスライドさせる第２操作と判定された場合、仮想カメラの撮影方向に直行する方向を軸に仮想オブジェクトを回転させる機能を有する。
【００６９】
ここで、仮想カメラの撮影方向に直行する方向を軸に仮想オブジェクトを回転させるための構成は特に限定されないが、更新部１５Ｄと回転部１６Ｄとで、仮想オブジェクトを３次元で回転させることができる構成であることが好ましい。このような構成の例には、第２操作としてのスライド方向をタッチパネルの左右方向と判定した場合に、仮想オブジェクトの回転軸を仮想空間の上下方向に設定し、第２操作としてのスライド方向をタッチパネルの上下方向と判定した場合に、仮想オブジェクトの回転軸を仮想空間の左右方向に設定する構成がある。また、第２操作としてのスライド方向が斜め方向と判定した場合に、仮想オブジェクトの回転軸を仮想空間の斜め方向に設定する構成としてもよい。
【００７０】
図１１は、システム１００が実行する情報処理の例を示すフローチャートである。以下、サーバ１０Ｄと、端末２０の動作を例にして説明する。なお、サーバ１０Ｄと端末２０それぞれの動作を示すフローチャートについては、重複説明を避ける観点から記載を省略する。
【００７１】
サーバ１０Ｄは、ユーザ操作の内容を判定すると、仮想カメラと仮想オブジェクトに回転軸を設定して姿勢を更新する（ステップＳ４−１１）。本例においてサーバ１０Ｄは、ユーザ操作が第１操作と判定された場合、第１操作の継続中、端末２０がカメラの撮像方向を軸に回転した場合、仮想カメラと仮想オブジェクトを仮想カメラの撮影方向を回転軸に設定し、端末２０またはカメラの回転に合わせて仮想カメラと仮想オブジェクトが回転するように、これらの姿勢を更新する。
【００７２】
サーバ１０Ｄは、仮想カメラと仮想オブジェクトの姿勢を更新すると、回転軸を設定して仮想オブジェクトを回転させる（ステップＳ４−１２）。本例においてサーバ１０Ｄは、ユーザ操作が第２操作と判定された場合、第２操作の継続中、端末２０のタッチパネルにおける第２操作（すなわち、スライド操作）の方向を特定し、特定した方向に仮想オブジェクトが回転するように回転軸を設定して仮想オブジェクトを回転させる。
【００７３】
以上に説明したように、第４の実施形態の一側面として、サーバ１０Ｄが、、特定部１１と、生成部１２と、出力部１３と、判定部１４と、更新部１５Ｄと、回転部１６Ｄとを備える構成としているので、受け付けたユーザ操作が第１操作と判定された場合、かつ端末２０の姿勢が撮像装置の撮像方向を軸に回転した場合、仮想カメラの撮影方向を軸に回転するように仮想オブジェクトの姿勢を更新し、受け付けたユーザ操作がタッチパネルに触れた位置をスライドさせる第２操作と判定された場合、仮想カメラの撮影方向に直行する方向を軸に仮想オブジェクトを回転させ、２種類の操作でＡＲオブジェクトの姿勢を３次元で制御でき、よりＡＲオブジェクトの操作性を向上させることができる。
【００７４】
［第５の実施形態］
図１２は、サーバ１０の例であるサーバ１０Ｅ（サーバ１０Ｅ）の構成を示すブロック図である。本例において、サーバ１０Ｅは、特定部１１と、生成部１２と、出力部１３と、判定部１４と、更新部１５Ｅと、回転部１６とを少なくとも備える。
【００７５】
更新部１５Ｅは、第１操作の継続中、仮想空間における所定条件が満たされた場合、仮想カメラと当該仮想オブジェクトとの関係を固定した状態から固定しない状態に変更して更新する機能を有する。
【００７６】
ここで、所定条件の内容は特に限定されないが、ユーザがその内容を把握し得る内容であることが好ましい。所定条件の例には、第１操作が開始してから所定時間が経過することや、仮想空間において仮想オブジェクトが他のオブジェクトに接触することがある。
【００７７】
また、仮想カメラと当該仮想オブジェクトとの関係を固定した状態から固定しない状態に変更するための構成は特に限定されないが、固定状態でなくなったことをユーザが把握し得る構成であることが好ましい。このような構成の例には、仮想空間において、固定状態でなくなった仮想オブジェクトをその場に留まらせる構成や、仮想オブジェクトを所定位置に移動させる構成がある。
【００７８】
図１３は、システム１００が実行する情報処理の例を示すフローチャートである。以下、サーバ１０Ｅと、端末２０の動作を例にして説明する。なお、サーバ１０Ｅと端末２０それぞれの動作を示すフローチャートについては、重複説明を避ける観点から記載を省略する。
【００７９】
サーバ１０Ｅは、ユーザ操作の内容を判定すると、第１操作の継続中、仮想カメラと仮想オブジェクトの関係を固定または非固定に設定する（ステップＳ５−１１）。本例においてサーバ１０Ｅは、第１操作により指定された仮想オブジェクトが他の仮想オブジェクトに接触していない場合、仮想カメラと仮想オブジェクトとの関係を固定し、端末２０または端末２０のカメラの移動または姿勢変更に合わせて仮想カメラが移動または姿勢変更するように制御し、併せて仮想カメラと固定状態に設定された仮想オブジェクトを移動または姿勢変更させる。また、サーバ１０Ｅは、第１操作により指定された仮想オブジェクトが他の仮想オブジェクトに接触している場合、仮想カメラと仮想オブジェクトとの関係を非固定に設定し、端末２０または端末２０のカメラの移動または姿勢変更に合わせて仮想カメラが移動または姿勢変更するように制御し、仮想カメラと固定ではない状態に設定された仮想オブジェクトは、所定条件を満たした位置で静止させる。
【００８０】
以上に説明したように、第５の実施形態の一側面として、サーバ１０Ｅが、特定部１１と、生成部１２と、出力部１３と、判定部１４と、更新部１５Ｅと、回転部１６とを備える構成としているので、第１操作の継続中、仮想空間における所定条件が満たされた場合、仮想カメラと当該仮想オブジェクトとの関係を固定した状態から固定しない状態に変更して更新し、仮想空間の状況をＡＲオブジェクトの操作に反映させることができるようになり、よりＡＲオブジェクトの操作性を向上させることができる。
【００８１】
［第６の実施形態］
図１４は、システム１００（図１参照）におけるユーザ端末２０の例であるユーザ端末２０Ｚ（端末２０Ｚ）の構成を示すブロック図である。本例において、端末２０Ｚは、特定部２１Ｚと、生成部２２Ｚと、出力部２３Ｚと、判定部２４Ｚと、更新部２５Ｚと、回転部２６Ｚとを少なくとも備える。
【００８２】
端末２０Ｚは、ＡＲ空間内のオブジェクトを、手やマジックハンドで掴むような感覚で、移動・回転させる操作を実現させる機能を有する。以下、スマートフォンとしての端末２０Ｚ本体を移動・回転、画面をスワイプすることで、ＡＲ空間内に存在するオブジェクトを移動・回転させることについて説明する。
【００８３】
特定部２１Ｚは、撮像装置により撮像された撮像画像に対応する仮想空間を特定する機能を有する。
【００８４】
ここで、撮像装置の例には、端末２０Ｚに接続されたカメラがある。また、撮像画像に対応する仮想空間の例には、撮像画像に重畳表示するＡＲオブジェクトを撮影するために予め定義された仮想的空間がある。すなわち、端末２０Ｚは、現実空間と仮想空間とを対応付けることで、いわゆるＡＲ空間を特定する。
【００８５】
生成部２２Ｚは、少なくとも１つの仮想オブジェクトを含む仮想空間を撮像装置に対応する仮想カメラから撮影した仮想空間画像を生成する機能を有する。
【００８６】
ここで、仮想オブジェクトの例には、３次元オブジェクトがある。また、仮想空間画像を生成するための構成は特に限定されないが、仮想空間に仮想オブジェクトが配置されていない状態も生じ得る構成であることが好ましい。このような構成の例には、仮想空間内に仮想オブジェクトがまだ配置されていない状態の仮想空間情報を特定し、所定規則に従って仮想空間に仮想オブジェクトを配置し、配置後の仮想空間を仮想カメラで撮影し、仮想空間画像を生成する構成がある。すなわち、生成部２２Ｚは、仮想空間を撮影することで、仮想オブジェクトを含まない仮想空間画像を生成する場合もあれば、仮想オブジェクトを含む仮想空間画像を生成する場合もある。このような構成とすることで、仮想オブジェクトが表示されていない状態から仮想オブジェクトが表示された状態に合成画像（ＡＲ画像）が変化する態様も実現させることができ、ＡＲオブジェクトの操作性に幅を持たせることができる。
【００８７】
出力部２３Ｚは、撮像画像と仮想空間画像とが合成された合成画像を、タッチパネルを備えた表示装置に出力する機能を有する。
【００８８】
ここで、合成画像の例には、実空間画像と仮想空間画像を合成したいわゆるＡＲ画像がある。実空間に対応する仮想空間を特定していることで、ユーザが仮想オブジェクトを操作できるため、拡張現実を実現させることができる。
【００８９】
判定部２４Ｚは、タッチパネルに対するユーザ操作の内容を判定する機能を有する。
【００９０】
ここで、ユーザ操作の例には、端末２０Ｚの移動や姿勢変更、端末２０Ｚのタッチパネルに対するタッチ操作がある。
【００９１】
更新部２５Ｚは、ユーザ操作が第１操作と判定された場合、第１操作の継続中、撮像装置の移動または姿勢変更に応じて、仮想カメラと仮想オブジェクトの関係を固定した状態で両者の位置または姿勢を更新する機能を有する。
【００９２】
ここで、第１操作の例には、タッチパネルに触れた後に接触位置が移動しない操作、いわゆるホールドやロングタッチがある。第１操作の継続中に仮想カメラと仮想オブジェクトの関係を固定することで、端末２０Ｚを手で持っているユーザが端末２０Ｚを移動させる場合に、ＡＲ空間内のオブジェクトを、手やマジックハンドで掴むような感覚で、移動・回転させる操作系をユーザに提供できる。
【００９３】
また、仮想カメラと仮想オブジェクトの関係を固定した状態の例には、端末２０Ｚの移動や姿勢変更により仮想空間における仮想カメラの位置や姿勢が変更した場合に、同様に仮想オブジェクトの位置や姿勢が変更される状態がある。
【００９４】
なお、更新部２５Ｚは、ユーザ操作が、タッチパネルに触れない端末２０Ｚの姿勢変更操作と判定された場合、仮想カメラの位置または姿勢だけ更新する。すなわち、更新部２５Ｚは、カメラの起動後、ＡＲ空間を特定した場合に、カメラの移動と併せて仮想カメラを移動させるが、仮想空間において仮想オブジェクトを移動させない場合もある。
【００９５】
回転部２６Ｚは、ユーザ操作が第２操作と判定された場合、当該第２操作により定まる方向に仮想オブジェクトを回転させる機能を有する。
【００９６】
ここで、第２操作の例には、タッチパネルに触れた位置をスライドさせる操作、いわゆるスワイプがある。
【００９７】
図１５は、端末２０Ｚが備える記憶部（図示せず）に記憶される情報の格納状態の例について説明するための説明図である。図１５に示すように、記憶部は、操作対象と、座標と、姿勢と、回転軸とを対応付けて記憶する。
【００９８】
ここで、操作対象の例には、ユーザ操作により特定された仮想オブジェクトがある。また、座標の例には、３次元空間における操作対象の特徴点の位置がある。また、姿勢の例には、操作対象の姿勢を特定するための１または複数の特徴点の位置がある。さらに、回転軸の例には、操作対象を回転させる際に選択または定義される軸がある。
【００９９】
図１６は、端末２０Ｚが実行する情報処理の例を示すフローチャートである。本例における情報処理では、実空間画像に重畳表示された仮想オブジェクト（すなわち、ＡＲオブジェクト）をユーザ操作に応じて制御するための処理が行われる。以下、各処理について説明する。なお、各処理の順序は、処理内容に矛盾等が生じない範囲で順不同である。
【０１００】
情報処理は、例えば端末２０Ｚが、ＡＲ機能を用いた撮影要求をユーザから受け付けた場合に開始される。以下、端末２０Ｚが撮影要求を受け付けた場合を例にして説明する。
【０１０１】
端末２０Ｚは、情報処理において、先ず、撮像画像に対応する仮想空間を特定する（ステップＳ３０１）。本例において端末２０Ｚは、端末２０のカメラ（実カメラ）により撮像された撮像画像から基準位置を特定し、特定した基準位置に基づいて、複数の仮想オブジェクトが配置された仮想空間を特定する。
【０１０２】
端末２０Ｚは、仮想空間を特定すると、仮想空間画像を生成する（ステップＳ３０２）。本例において端末２０Ｚは、、端末２０のカメラを介して操作可能な仮想カメラから撮影した仮想空間画像を生成する。
【０１０３】
端末２０Ｚは、仮想空間画像を生成すると、合成画像を出力する（ステップＳ３０３）。本例において端末２０Ｚは、実画像と、複数の仮想オブジェクトを撮影した仮想空間画像とが合成された合成画像を、タッチパネルを備えた表示装置に出力する。
【０１０４】
端末２０Ｚは、合成画像を出力すると、ユーザ操作の内容を判定する（ステップＳ３０４）。本例において端末２０Ｚは、タッチパネルに対するユーザ操作の内容を判定する。
【０１０５】
ユーザ操作の内容を判定すると、仮想カメラと仮想オブジェクトの位置または姿勢を更新する（ステップＳ３０５）。本例において端末２０Ｚは、端末２０Ｚの画面に表示された複数のオブジェクト（すなわち、ＡＲオブジェクト）のうち何れか１つをユーザがホールド（ロングタッチ）し、その状態を維持したまま、端末２０Ｚ本体を移動する操作（第１操作の例）を受け付けると、ＡＲオブジェクトが同じ距離を移動するよう制御する。また、上記状態を維持したまま、端末２０Ｚを回転させる操作（第１操作の例）を受け付けると、端末２０Ｚの座標を中心としてＡＲオブジェクトが回転移動するよう制御する。なお、端末２０Ｚは、画面からユーザの指が離れた場合に、操作終了と判定する。
【０１０６】
端末２０Ｚは、仮想カメラと仮想オブジェクトの位置または姿勢を更新すると、仮想オブジェクトを回転させる（ステップＳ３０６）。本例において端末２０Ｚは、画面をスワイプする操作（第２操作の例）を受け付けると、ＡＲオブジェクトがその場で回転するよう制御する。ここで、横スワイプでＹａｗ回転、縦スワイプでＰｉｔｃｈ回転を行う。なお、Ｒｏｌｌ回転は端末２０Ｚを回転させる操作に内包される。なお、以上の制御は、同時に行われる構成としてもよいし、単独で行われる構成としてもよい。
【０１０７】
図１７は、合成画像の例について説明するための説明図である。図１７に示すように、合成画像が表示された端末２０Ｚの表示画面には、実空間の天井１７０１、実空間のディスプレイ１７０２、複数のＡＲオブジェクト１７１１，１７１２，１７１３、タッチ位置画像１７２１および指示画像１７２２が表示される。
【０１０８】
ここで、実空間の天井１７０１と実空間のディスプレイ１７０２とは、端末２０が備えるカメラにより撮像された画像である。
【０１０９】
また、複数のＡＲオブジェクト１７１１，１７１２，１７１３は、仮想空間に配置された仮想オブジェクトが仮想カメラにより撮影された画像である。本例において、操作対象となっているＡＲオブジェクト１７１１の操作中、操作対象と端末２０Ｚを結ぶ太さを持った指示画像１７２２が表示される。また、指示画像１７２２は、操作対象までの距離に応じて線の色が変わる。さらに、ＡＲオブジェクト１７１１の操作中、操作対象の中心にライトが設置され、近接オブジェクトを照らし、位置関係を視覚的に捉えやすくする。図１７においては、ＡＲオブジェクト１７１１の後方に位置するＡＲオブジェクト１７１２や、ＡＲオブジェクト１７１３の表示範囲の一部または全部が、ＡＲオブジェクト１７１１の中心に設置されたライトにより照らされている。
【０１１０】
また、タッチ位置画像１７２１は、ユーザのタッチを表す画像である。タッチ位置画像の構成は特に限定されず、タッチ位置以外の情報をユーザに報知する構成としてもよい。このような構成の例には、操作対象の有無や操作対象の種類または状態を識別可能に表示する構成がある。
【０１１１】
なお、表示画面の構成は、ユーザにＡＲ画像を操作させることが可能な構成であれば特に限定されない。すなわち、例えばＡＲオブジェクトに影響し、かつユーザが操作できない仮想オブジェクトが表示される構成としてもよいし、操作時間を示すＵＩが表示される構成としてもよい。
【０１１２】
また、ＡＲオブジェクトの操作に関する機能として、画像表示以外の機能を備える構成ととしてもよい。このような構成の例には、操作対象のＡＲオブジェクトが一定距離移動する毎に、端末２０Ｚを振動させる振動部を設ける構成がある。このような構成とすることにより、ＡＲオブジェクトが実際に移動した距離をユーザが認識しやすくなる。すなわち、実空間と仮想空間とを対応付けた後、端末２０Ｚをタッチしたまま移動させると、併せて仮想空間における操作対象も移動するが、このとき、仮想オブジェクトの表示画面上のサイズは仮想カメラとの位置関係で変化する。そのため、ユーザにとっては、同じ操作対象であっても、表示サイズが大きい場合と小さい場合とで、移動距離を正確に認識することに難しさを感じる可能性もある。そこで、仮想空間において操作対象が一定距離移動する毎に、その旨をユーザに報知する機能を設けることで、ＡＲオブジェクトの操作性をより向上させることができる。
【０１１３】
以上に説明したように、第６の実施形態の一側面として、撮像装置を備えるユーザ端末２０Ｚが、特定部２１Ｚと、生成部２２Ｚと、出力部２３Ｚと、判定部２４Ｚと、更新部２５Ｚと、回転部２６Ｚとを備える構成としているので、撮像装置により撮像された撮像画像に対応する仮想空間を特定し、少なくとも１つの仮想オブジェクトを含む仮想空間を撮像装置に対応する仮想カメラから撮像した仮想空間画像を生成し（例えば、座標情報を含む仮想オブジェクトの画像を生成）、撮像画像と仮想空間画像とが合成された合成画像を、タッチパネルを備えた表示装置に出力し、タッチパネルに対するユーザ操作の内容を判定し、ユーザ操作が、タッチパネルに触れた後に接触位置が移動しない第１操作と判定された場合（例えば、ホールドされた場合）、第１操作の継続中、撮像装置の移動または姿勢変更に応じて、仮想カメラと仮想オブジェクトの関係を固定した状態で両者の位置または姿勢を更新し、ユーザ操作が、タッチパネルに触れた位置をスライドさせる第２操作と判定された場合（例えば、スワイプされた場合）、当該第２操作により定まる方向に仮想オブジェクトを回転させ、仮想オブジェクトすなわちＡＲオブジェクトの操作性を向上させることができる。
【０１１４】
すなわち、端末２０を片手で持って操作しているユーザの動き（特に、手の動き）とＡＲオブジェクトの動きが一致させることで、ユーザが直感的に操作できるようになる。また、例えばハンドジェスチャーを画像から検出する方法に比べて、追従性が高く安定して動作させることができる。さらに、カメラを備える端末に各種処理を実行させる構成とすることで、他に追加機材を要さない点でも有用である。
【０１１５】
また、上述した第６の実施形態では、ユーザ端末２０Ｚが、操作対象となっているＡＲオブジェクトに対して所定位置から延びるオブジェクトを表示する構成について説明したが、当該オブジェクト（指定オブジェクト）の構成は、操作対象をユーザに認識させ得る構成であれば特に限定されない。指定オブジェクトの構成の例には、仮想空間における端末の位置から操作オブジェクトまでの距離に応じて形態（色や形状）が所定規則に従って変化する構成がある。
【０１１６】
また、上述した第６の実施形態では、ユーザ端末２０Ｚが、ユーザがＡＲオブジェクトを操作している場合に、操作対象の中心にライトを設置する構成について説明したが、ライトを設置するための構成は、仮想空間または合成画像における複数のＡＲオブジェクトの位置関係をユーザに認識させやすくするための構成であれば特に限定されない。このような構成の例には、操作対象のオブジェクトに、所定色に発光するライトを設置する構成や、操作対象または所定規則に従って選択されたオブジェクトに、特定規則で変化する発光色となるライトを設置する構成（例えば、操作対象と他のオブジェクトとの位置関係で色が変化するカラーライトを設置する構成）がある。
【０１１７】
なお、上述した第６の実施形態では特に言及していないが、ユーザ端末２０Ｚが、ビデオゲームの進行を制御する機能の一部として、当該ビデオゲームに登場するキャラクタを仮想オブジェクトとして採用する構成としてもよい。この場合、ビデオゲームの進行に応じて変化する各種パラメータをＡＲ空間に反映させる構成としてもよい。このような構成の例には、ビデオゲームにおけるキャラクタの形態の変化が、ＡＲ空間における仮想オブジェクトの形態に反映される構成がある。
【０１１８】
以上に説明したように、本願の各実施形態により１または２以上の不足が解決される。なお、夫々の実施形態による効果は、非限定的な効果または効果の一例である。
【０１１９】
なお、上述した各実施形態では、複数のユーザ端末２０，２０１〜２０Ｎとサーバ１０は、自己が備える記憶装置に記憶されている各種制御プログラム（例えば、画像処理プログラム）に従って、上述した各種の処理を実行する。
【０１２０】
また、システム１００の構成は上述した各実施形態の例として説明した構成に限定されず、例えばユーザ端末２０が実行する処理として説明した処理の一部または全部をサーバ１０が実行する構成としてもよいし、サーバ１０が実行する処理として説明した処理の一部または全部を複数のユーザ端末２０，２０１〜２０Ｎの何れか（例えば、ユーザ端末２０）が実行する構成としてもよい。また、サーバ１０が備える記憶部の一部または全部を複数のユーザ端末２０，２０１〜２０Ｎの何れかが備える構成としてもよい。すなわち、システム１００におけるユーザ端末２０とサーバ１０のどちらか一方が備える機能の一部または全部を、他の一方が備える構成とされていてもよい。
【０１２１】
また、プログラムが、上述した各実施形態の例として説明した機能の一部または全部を、通信ネットワークを含まない装置単体に実現させる構成としてもよい。
【０１２２】
［付記］
上述した実施形態の説明は、少なくとも下記発明を、当該発明の属する分野における通常の知識を有する者がその実施をすることができるように記載した。
［１］
撮像装置が接続されたコンピュータに、
前記撮像装置により撮像された撮像画像に対応する仮想空間を特定する特定機能と、
少なくとも１つの仮想オブジェクトを含む前記仮想空間を前記撮像装置に対応する仮想カメラから撮影した仮想空間画像を生成する生成機能と、
前記撮像画像と前記仮想空間画像とが合成された合成画像を、タッチパネルを備えた表示装置に出力する出力機能と、
前記タッチパネルに対するユーザ操作の内容を判定する判定機能と、
前記ユーザ操作が、前記タッチパネルに触れた後に接触位置が移動しない第１操作と判定された場合、第１操作の継続中、前記撮像装置の移動または姿勢変更に応じて、前記仮想カメラと前記仮想オブジェクトの関係を固定した状態で両者の位置または姿勢を更新する更新機能と、
前記ユーザ操作が、前記タッチパネルに触れた位置をスライドさせる第２操作と判定された場合、当該第２操作により定まる方向に前記仮想オブジェクトを回転させる回転機能とを
実現させるためのプログラム。
［２］
前記更新機能では、前記第１操作のタッチ位置に表示された前記仮想オブジェクトの前記仮想空間における位置または姿勢を更新する機能を
実現させるための［１］記載のプログラム。
［３］
前記回転機能では、前記仮想空間における前記仮想オブジェクトの位置を固定した状態で前記仮想オブジェクトを回転させる機能を
実現させるための［１］または［２］記載のプログラム。
［４］
前記更新機能では、前記第１操作と判定された場合、かつ前記コンピュータの姿勢が前記撮像装置の撮像方向を軸に回転した場合、前記仮想カメラの撮影方向を軸に回転するように前記仮想オブジェクトの姿勢を更新する機能を実現させ、
前記回転機能では、前記タッチパネルに触れた位置をスライドさせる第２操作と判定された場合、前記撮影方向に直行する方向を軸に前記仮想オブジェクトを回転させる機能を
実現させるための［１］から［３］のうち何れかに記載のプログラム。
［５］
前記更新機能では、前記第１操作の継続中、前記仮想空間における所定条件が満たされた場合、前記仮想カメラと当該仮想オブジェクトとの関係を固定した状態から固定しない状態に変更して更新する機能を
実現させるための［１］から［４］のうち何れかに記載のプログラム。
［６］
前記更新機能では、前記ユーザ操作が、前記タッチパネルに触れない前記コンピュータの姿勢変更操作と判定された場合、前記仮想カメラの位置または姿勢だけ更新する機能を
実現させるための［１］から［５］のうち何れかに記載のプログラム。
［７］
［１］から［６］のうち何れかに記載のプログラムが前記コンピュータに実現させる機能のうち少なくとも１つの機能を、当該コンピュータと通信可能なサーバに実現させるためのプログラム。
［８］
［１］から［６］のうち何れかに記載のプログラムがインストールされたコンピュータ。
［９］
通信ネットワークと、サーバと、撮像装置が接続されたユーザ端末とを備え、ユーザ操作に応じて情報処理の進行を制御する画像処理システムであって、
前記撮像装置により撮像された撮像画像に対応する仮想空間を特定する特定手段と、
少なくとも１つの仮想オブジェクトを含む前記仮想空間を前記撮像装置に対応する仮想カメラから撮影した仮想空間画像を生成する生成手段と、
前記撮像画像と前記仮想空間画像とが合成された合成画像を、タッチパネルを備えた表示装置に出力する出力手段と、
前記タッチパネルに対するユーザ操作の内容を判定する判定手段と、
前記ユーザ操作が、前記タッチパネルに触れた後に接触位置が移動しない第１操作と判定された場合、第１操作の継続中、前記撮像装置の移動または姿勢変更に応じて、前記仮想カメラと前記仮想オブジェクトの関係を固定した状態で両者の位置または姿勢を更新する更新手段と、
前記ユーザ操作が、前記タッチパネルに触れた位置をスライドさせる第２操作と判定された場合、当該第２操作により定まる方向に前記仮想オブジェクトを回転させる回転手段とを含む
ことを特徴とする画像処理システム。
［１０］
前記サーバが、特定手段と、生成手段と、判定手段と、更新手段と、回転手段とを含み、
前記ユーザ端末が、前記出力手段を含む
［９］記載の画像処理システム。
［１１］
ユーザ端末に接続された撮像装置により撮像された撮像画像に対応する仮想空間を特定する特定機能と、少なくとも１つの仮想オブジェクトを含む前記仮想空間を前記撮像装置に対応する仮想カメラから撮影した仮想空間画像を生成する生成機能と、前記撮像画像と前記仮想空間画像とが合成された合成画像を、タッチパネルを備えた表示装置に出力する出力機能と、前記タッチパネルに対するユーザ操作の内容を判定する判定機能と、前記ユーザ操作が、前記タッチパネルに触れた後に接触位置が移動しない第１操作と判定された場合、第１操作の継続中、前記撮像装置の移動または姿勢変更に応じて、前記仮想カメラと前記仮想オブジェクトの関係を固定した状態で両者の位置または姿勢を更新する更新機能と、前記ユーザ操作が、前記タッチパネルに触れた位置をスライドさせる第２操作と判定された場合、当該第２操作により定まる方向に前記仮想オブジェクトを回転させる回転機能とを有するサーバから、当該サーバが備える機能に関する情報を受信して当該機能に対応する入出力を行う機能を前記ユーザ端末に
実現させるためのプログラム。
［１２］
撮像装置が接続されたユーザ端末と通信可能なサーバに、
前記撮像装置により撮像された撮像画像に対応する仮想空間を特定する特定機能と、
少なくとも１つの仮想オブジェクトを含む前記仮想空間を前記撮像装置に対応する仮想カメラから撮影した仮想空間画像を生成する生成機能と、
前記撮像画像と前記仮想空間画像とが合成された合成画像を、タッチパネルを備えた表示装置に出力する出力機能と、
前記タッチパネルに対するユーザ操作の内容を判定する判定機能と、
前記ユーザ操作が、前記タッチパネルに触れた後に接触位置が移動しない第１操作と判定された場合、第１操作の継続中、前記撮像装置の移動または姿勢変更に応じて、前記仮想カメラと前記仮想オブジェクトの関係を固定した状態で両者の位置または姿勢を更新する更新機能と、
前記ユーザ操作が、前記タッチパネルに触れた位置をスライドさせる第２操作と判定された場合、当該第２操作により定まる方向に前記仮想オブジェクトを回転させる回転機能とを
実現させるためのプログラム。
［１３］
［１２］記載のプログラムが前記サーバに実現させる機能のうち少なくとも１つの機能を、当該サーバと通信可能なユーザ端末に実現させるためのプログラム。
［１４］
［１１］または［１２］記載のプログラムがインストールされたサーバ。
［１５］
ユーザ操作に応じて情報処理の進行を制御する画像処理方法であって、
コンピュータに接続された撮像装置により撮像された撮像画像に対応する仮想空間を特定する特定処理と、
少なくとも１つの仮想オブジェクトを含む前記仮想空間を前記撮像装置に対応する仮想カメラから撮影した仮想空間画像を生成する生成処理と、
前記撮像画像と前記仮想空間画像とが合成された合成画像を、タッチパネルを備えた表示装置に出力する出力処理と、
前記タッチパネルに対するユーザ操作の内容を判定する判定処理と、
前記ユーザ操作が、前記タッチパネルに触れた後に接触位置が移動しない第１操作と判定された場合、第１操作の継続中、前記撮像装置の移動または姿勢変更に応じて、前記仮想カメラと前記仮想オブジェクトの関係を固定した状態で両者の位置または姿勢を更新する更新処理と、
前記ユーザ操作が、前記タッチパネルに触れた位置をスライドさせる第２操作と判定された場合、当該第２操作により定まる方向に前記仮想オブジェクトを回転させる回転処理とを含む
ことを特徴とする画像処理方法。
［１６］
通信ネットワークと、サーバと、ユーザ端末とを備える画像処理システムが、  ユーザ操作に応じて情報処理の進行を制御する画像処理処理方法であって、
前記ユーザ端末に接続された撮像装置により撮像された撮像画像に対応する仮想空間を特定する特定機能と、
少なくとも１つの仮想オブジェクトを含む前記仮想空間を前記撮像装置に対応する仮想カメラから撮影した仮想空間画像を生成する生成処理と、
前記撮像画像と前記仮想空間画像とが合成された合成画像を、タッチパネルを備えた表示装置に出力する出力処理と、
前記タッチパネルに対するユーザ操作の内容を判定する判定処理と、
前記ユーザ操作が、前記タッチパネルに触れた後に接触位置が移動しない第１操作と判定された場合、第１操作の継続中、前記撮像装置の移動または姿勢変更に応じて、前記仮想カメラと前記仮想オブジェクトの関係を固定した状態で両者の位置または姿勢を更新する更新処理と、
前記ユーザ操作が、前記タッチパネルに触れた位置をスライドさせる第２操作と判定された場合、当該第２操作により定まる方向に前記仮想オブジェクトを回転させる回転処理とを含む
ことを特徴とする画像処理方法。
【産業上の利用可能性】
【０１２３】
本発明の実施形態の一つによれば、ＡＲオブジェクトの操作性を向上させるのに有用である。
【符号の説明】
【０１２４】
１０              画像処理サーバ
２０，２０１〜２０Ｎ        ユーザ端末
１１              特定部１１
１２              生成部１２
１３              出力部１３
１４              判定部１４
１５              更新部１５
１６              回転部１６
３０              通信ネットワーク
１００            画像処理システム
【図１】
0006924799.tif 000002
【図２】
0006924799.tif 000003
【図３】
0006924799.tif 000004
【図４】
0006924799.tif 000005
【図５】
0006924799.tif 000006
【図６】
0006924799.tif 000007
【図７】
0006924799.tif 000008
【図８】
0006924799.tif 000009
【図９】
0006924799.tif 000010
【図１０】
0006924799.tif 000011
【図１１】
0006924799.tif 000012
【図１２】
0006924799.tif 000013
【図１３】
0006924799.tif 000014
【図１４】
0006924799.tif 000015
【図１５】
0006924799.tif 000016
【図１６】
0006924799.tif 000017
【図１７】
0006924799.tif 000018