Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7828393B2 - プログラム、方法、およびシステム - Google Patents
[go: Go Back, main page]

JP7828393B2 - プログラム、方法、およびシステム - Google Patents

プログラム、方法、およびシステム

Info

Publication number
JP7828393B2
JP7828393B2 JP2024097704A JP2024097704A JP7828393B2 JP 7828393 B2 JP7828393 B2 JP 7828393B2 JP 2024097704 A JP2024097704 A JP 2024097704A JP 2024097704 A JP2024097704 A JP 2024097704A JP 7828393 B2 JP7828393 B2 JP 7828393B2
Authority
JP
Japan
Prior art keywords
virtual space
image
real
composite image
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2024097704A
Other languages
English (en)
Other versions
JP2026000378A (ja
Inventor
貴志 安川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cover Corp
Original Assignee
Cover Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cover Corp filed Critical Cover Corp
Priority to JP2024097704A priority Critical patent/JP7828393B2/ja
Publication of JP2026000378A publication Critical patent/JP2026000378A/ja
Application granted granted Critical
Publication of JP7828393B2 publication Critical patent/JP7828393B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)

Description

本発明は、プログラム、方法、およびシステムに関する。
現実空間に仮想物体などの情報を付加し、現実の世界を拡張するAR(Augmented Reality、拡張現実(感))といった技術がある。具体的には、現実空間を撮影するカメラによって撮影された現実空間の画像に仮想オブジェクト(キャラクタなどの非現実オブジェクト)画像を合成して端末の表示部に表示する画像処理技術などである。また、このような拡張現実では、ユーザ操作によって、ユーザ好みの仮想オブジェクト(例えば、キャラクタオブジェクトなど)を現実の空間に存在するように表示させることが可能である(例えば、特許文献1参照)。
特開2018-200519号公報
ところで、前述の拡張現実を用いて屋外などで撮影をする場合がある。また、このような拡張現実での撮影をする際に、ユーザが納得する配置イメージ(構図)にするために、何度も仮想オブジェクトを配置し直すことなどにより、表示態様を調整する場合がある。しかし、撮影場所によっては、人目が気になることなどにより、撮影継続が困難な場合があり、結局ユーザが納得できる画像を完成させられないまま撮影を終了せざるを得ないこともある。
本発明は、かかる実情に鑑み考え出されたものであり、拡張現実画像の再編集を可能とするプログラム、方法、およびシステムを提供するものである。
(1)本発明のある局面にしたがうプログラムは、画像を撮像するとともに当該画像に含まれ得る現実の物体各々に関する奥行位置を特定可能とする奥行情報(例えば、深度情報等)を取得する情報取得部(例えば、情報取得部350、デプスセンサを備えたカメラ等)を備えるコンピュータ(例えば、ユーザ端末300)を、
前記情報取得部が取得した情報(例えば、撮像画像、深度情報等)から特定し得る奥行情報に基づいて、撮像した撮像画像に含まれ得る現実の物体(例えば、現実に存在する人・物体、図4の椅子R1等)を特定するとともに当該現実の物体の仮想空間内における奥行位置(例えば、図4の椅子R1の深度情報に基づいて決定される仮想空間内における座標等)を特定する手段(例えば、図10のステップS102、取得情報解析部362、拡張現実データ生成部363等)と、
前記仮想空間内において特定された現実の物体各々の奥行位置に当該現実の物体に対応する現実オブジェクトを配置(例えば、椅子R1の現実の位置や形状と整合するように現実オブジェクトRO1のマスクポリゴンの生成等)するとともに、ユーザからの操作に応じて配置される特定オブジェクトを配置した(例えば、キャラクタオブジェクトC、シールDOなどの非現実オブジェクトをユーザからのタップ操作によって配置する等)仮想空間(例えば、現実オブジェクトRO1と、キャラクタオブジェクトCとを配置させた仮想空間データ、図5(D)等)を生成する手段(例えば、図10のステップS102~S107、拡張現実データ生成部363等)と、
前記撮像画像と前記生成する手段により生成している仮想空間に配置されるオブジェクトとを合成して、前記特定オブジェクトのうち当該特定オブジェクトよりも手前に位置する現実の物体と重畳する部分が非表示となり重畳しない部分が前記撮像画像に重畳し得る合成画像(例えば、図6(B)のように、現実オブジェクトRO1によって、キャラクタオブジェクトCがオクルージョン(遮蔽)された状態で表示される画像等)を表示する手段(例えば、図10のステップS103~S107、拡張現実データ生成部363、表示制御部364、出力部340等)と、
ユーザからの撮影操作を受け付けたときの撮像画像(例えば、図4の撮影画面に表示される撮影ボタンSに対する操作がされたときに情報取得部350によって取得し得る撮像画像等)、および、前記生成する手段により生成されている仮想空間を特定するための仮想空間特定用情報(例えば、深度情報や、現実の物体に対応するマスクの情報等)を記憶する手段(例えば、図10のステップS108~S109、再編集データ管理部365等)と、
前記記憶する手段によって記憶している仮想空間特定用情報(例えば、再編集用データとして記憶されるオブジェクトの奥行きの情報等)に基づく仮想空間内に配置される特定オブジェクト(例えば、キャラクタオブジェクトC、装飾オブジェクトDO等)がユーザからの変更操作に応じた態様となる(例えば、図6に例示するように、キャラクタオブジェクトCの大きさ・表情・モーション、キャラクタオブジェクトCの種類の変更、装飾オブジェクトの変更などの変更操作に応じた表示態様への変更等)仮想空間データに更新する手段(例えば、図11のステップS201~S209、拡張現実データ生成部363等)として機能させ、
前記表示する手段は、前記変更操作後において、前記記憶する手段によって記憶している撮像画像と前記更新する手段により更新している仮想空間に配置されるオブジェクトとを合成した合成画像を表示(例えば、図7、図6(B)~(D)の再編集操作後の拡張現実画像、図11のステップS205~S209等)する。
このような構成によれば、合成画像を表示させて撮影操作が行われた後においても、事後的に特定オブジェクトを変更し、当該撮像画像と合成した画像の再生成が可能となる。これにより、ユーザは、落ち着いた状態で、特定オブジェクトの変更操作ができるため、ユーザの利便性が向上する。
(2) 上記(1)において、前記変更操作に応じた態様は、特定オブジェクトの前記仮想空間内における配置位置の変更(例えば、拡大縮小・左右位置移動操作などに基づく仮想空間における座標の変更等)、異なる種類の特定オブジェクトへの変更(例えば、異なるキャラクタ、異なる装飾オブジェクトへの変更等)、および、前記特定オブジェクトの表示態様の変更(例えば、キャラクタオブジェクトCのモーション・表情・ポーズ・衣装等)のうちの少なくともいずれかを含む。
このような構成によれば、合成画像を表示させて撮影操作が行われた後においても、ユーザからの変更操作に応じて特定オブジェクトの変更を事後的に行うことができる。これにより、ユーザは、落ち着いた状態で、特定オブジェクトの変更操作ができるため、ユーザの利便性が向上する。
(3) 上記(1)において、前記特定オブジェクトは、所定のモーションを伴うキャラクタオブジェクト(例えば、ダンス、ジャンプなどのアニメーション動作を行うキャラクタオブジェクトC等)を含み、
前記特定オブジェクトとして前記キャラクタオブジェクトが配置されている場合に、前記表示する手段は、当該キャラクタオブジェクトを所定のモーションで動作させて表示可能である(例えば、ダンスを踊る動きを伴う態様でキャラクタオブジェクトCが表示される等)。
このような構成によれば、合成画像を表示させて撮影操作が行われた後においても、事後的にキャラクタオブジェクトを動作させ、所定のタイミングの動きのキャラクタオブジェクトの態様を保存することができるため、表現の幅が広がり、ユーザの興趣が向上する。
(4) 上記(1)において、前記特定オブジェクトは、キャラクタオブジェクトと、アニメーションを伴う装飾オブジェクト(例えば、動きを伴う複数粒子から構成されたオブジェクトや、流体などを動作させるパーティクル、図9のパーティクルP等)とを含み、
前記特定オブジェクトとして前記キャラクタオブジェクトおよび前記装飾オブジェクトが配置されている場合に、前記表示する手段は、当該キャラクタオブジェクトを表示可能であるとともに、当該装飾オブジェクトを動作させて表示可能である(例えば、キャラクタオブジェクトCが表示されるとともに、パーティクルが動作を伴って表示される等)。
このような構成によれば、合成画像を表示させて撮影操作が行われた後においても、事後的に装飾オブジェクトを動作させ、所定のタイミングの装飾オブジェクトの態様を保存することができるため、表現の幅が広がり、ユーザの興趣が向上する。
(5) 上記(3)または(4)において、前記コンピュータを、
前記表示する手段により動作させて表示される特定オブジェクトの動作速度を、ユーザからの操作に応じて変更する手段として機能させる(例えば、図6(D)の速度変更アイコンT4への操作などにより、キャラクタオブジェクトの動作をスローモーションに変更等)。
このような構成によれば、オブジェクトの動作タイミングについて、ユーザが望むタイミングでの特定が容易となるため、表現の幅が広がり、ユーザの興趣が向上する。
本発明のある局面にしたがう方法は、画像を撮像するとともに当該画像に含まれ得る現実の物体各々に関する奥行位置を特定可能とする奥行情報(例えば、深度情報等)を取得する情報取得部(例えば、情報取得部350、デプスセンサを備えたカメラ等)を備えるコンピュータ(例えば、ユーザ端末300等)を制御する方法であって、
前記情報取得部が取得した情報(例えば、撮像画像、深度情報等)から特定し得る奥行情報に基づいて、撮像した撮像画像に含まれ得る現実の物体(例えば、現実に存在する人・物体、図4の椅子R1等)を特定するとともに当該現実の物体の仮想空間内における奥行位置(例えば、図4の椅子R1の深度情報に基づいて決定される仮想空間内における座標等)を特定するステップ(例えば、図10のステップS102、取得情報解析部362、拡張現実データ生成部363等)と、
前記仮想空間内において特定された現実の物体各々の奥行位置に当該現実の物体に対応する現実オブジェクトを配置(例えば、椅子R1の現実の位置や形状と整合するように現実オブジェクトRO1のマスクポリゴンの生成等)するとともに、ユーザからの操作に応じて配置される特定オブジェクトを配置した(例えば、キャラクタオブジェクトC、シールDOなどの非現実オブジェクトをユーザからのタップ操作によって配置等)を仮想空間(例えば、現実オブジェクトRO1と、キャラクタオブジェクトCとを配置させた仮想空間データ、図5(D)等)を生成するステップ(例えば、図10のステップS102~S107、拡張現実データ生成部363等)と、
前記撮像画像と前記生成するステップにより生成している仮想空間に配置されるオブジェクトとを合成して、前記特定オブジェクトのうち当該特定オブジェクトよりも手前に位置する現実の物体と重畳する部分が非表示となり重畳しない部分が前記撮像画像に重畳し得る合成画像(例えば、図6(B)のように、現実オブジェクトRO1によって、キャラクタオブジェクトCがオクルージョン(遮蔽)された状態で表示される画像等)を表示するステップ(例えば、図10のステップS103~S107、拡張現実データ生成部363、表示制御部364、出力部340等)と、
ユーザからの撮影操作を受け付けたときの撮像画像(例えば、図4の撮影画面に表示される撮影ボタンSに対する操作がされたときに情報取得部350によって取得し得る撮像画像等)、および、前記生成するステップにより生成されている仮想空間を特定するための仮想空間特定用情報(例えば、深度情報や、現実の物体に対応するマスクの情報等)を記憶するステップ(例えば、図10のステップS108~S109、再編集データ管理部365等)と、
前記記憶するステップによって記憶している仮想空間特定用情報(例えば、再編集用データとして記憶されるオブジェクトの奥行きの情報等)に基づく仮想空間内に配置される特定オブジェクト(例えば、キャラクタオブジェクトC、装飾オブジェクトDO等)がユーザからの変更操作に応じた態様となる(例えば、図6に例示するように、キャラクタオブジェクトCの大きさ・表情・モーション、キャラクタオブジェクトCの種類の変更、装飾オブジェクトの変更などの変更操作に応じた表示態様への変更等)仮想空間に更新するステップ(例えば、図11のステップS201~S209、拡張現実データ生成部363等)とを備え、
前記表示するステップは、前記変更操作後において、前記記憶するステップによって記憶している撮像画像と前記更新するステップにより更新している仮想空間に配置されるオブジェクトとを合成した合成画像を表示(例えば、図7、図6(B)~(D)の再編集操作後の拡張現実画像、図11のステップS205~S209等)する。
このような構成によれば、合成画像を表示させて撮影操作が行われた後においても、事後的に特定オブジェクトを変更し、当該撮像画像と合成した画像の再生成が可能となる。これにより、ユーザは、落ち着いた状態で、特定オブジェクトの変更操作ができるため、ユーザの利便性が向上する。
(7) 本発明のある局面にしたがうシステムは、画像を撮像するとともに当該画像に含まれ得る現実の物体各々に関する奥行位置を特定可能とする奥行情報(例えば、深度情報等)を取得する情報取得部(例えば、情報取得部350、デプスセンサを備えたカメラ等)を備えるコンピュータ(例えば、ユーザ端末300等)を有するシステムであって、
前記情報取得部が取得した情報(例えば、撮像画像、深度情報等)から特定し得る奥行情報に基づいて、撮像した撮像画像に含まれ得る現実の物体(例えば、現実に存在する人・物体、図4の椅子R1等)を特定するとともに当該現実の物体の仮想空間内における奥行位置(例えば、図4の椅子R1の深度情報に基づいて決定される仮想空間内における座標等)を特定する手段(例えば、図10のステップS102、取得情報解析部362、拡張現実データ生成部363等)と、
前記仮想空間内において特定された現実の物体各々の奥行位置に当該現実の物体に対応する現実オブジェクトを配置(例えば、椅子R1の現実の位置や形状と整合するように現実オブジェクトRO1のマスクポリゴンの生成等)するとともに、ユーザからの操作に応じて配置される特定オブジェクト(例えば、キャラクタオブジェクトC、シールDOなどの非現実オブジェクトをユーザからのタップ操作によって配置する等)を配置した仮想空間(例えば、現実オブジェクトRO1と、キャラクタオブジェクトCとを配置させた仮想空間データ、図5(D)等)を生成する手段(例えば、図10のステップS102~S107、拡張現実データ生成部363等)と、
前記撮像画像と前記生成する手段により生成している仮想空間に配置されるオブジェクトとを合成して、前記特定オブジェクトのうち当該特定オブジェクトよりも手前に位置する現実の物体と重畳する部分が非表示となり重畳しない部分が前記撮像画像に重畳し得る合成画像(例えば、図6(B)のように、現実オブジェクトRO1によって、キャラクタオブジェクトCがオクルージョン(遮蔽)された状態で表示される画像等)を表示する手段(例えば、図10のステップS103~S107、拡張現実データ生成部363、表示制御部364、出力部340等)と、
ユーザからの撮影操作を受け付けたときの撮像画像(例えば、図4の撮影画面に表示される撮影ボタンSに対する操作がされたときに情報取得部350によって取得し得る撮像画像等)、および、前記生成する手段により生成されている仮想空間を特定するための仮想空間特定用情報(例えば、深度情報や、現実の物体に対応するマスクの情報等)を記憶する手段(例えば、図10のステップS108~S109、再編集データ管理部365等)と、
前記記憶する手段によって記憶している仮想空間特定用情報(例えば、再編集用データとして記憶されるオブジェクトの奥行きの情報等)に基づく仮想空間内に配置される特定オブジェクト(例えば、キャラクタオブジェクトC、装飾オブジェクトDO等)がユーザからの変更操作に応じた態様となる(例えば、図6に例示するように、キャラクタオブジェクトCの大きさ・表情・モーション、キャラクタオブジェクトCの種類の変更、装飾オブジェクトの変更などの変更操作に応じた表示態様への変更等)仮想空間に更新する手段(例えば、図11のステップS201~S209、拡張現実データ生成部363等)とを備え、
前記表示する手段は、前記変更操作後において、前記記憶する手段によって記憶している撮像画像と前記更新する手段により更新している仮想空間に配置されるオブジェクトとを合成した合成画像を表示(例えば、図7、図6(B)~(D)の再編集操作後の拡張現実画像、図11のステップS205~S209等)する。
このような構成によれば、合成画像を表示させて撮影操作が行われた後においても、事後的に特定オブジェクトを変更し、当該撮像画像と合成した画像の再生成が可能となる。これにより、ユーザは、落ち着いた状態で、特定オブジェクトの変更操作ができるため、ユーザの利便性が向上する。
通信システムのハードウェア構成例を示す図である。 配信サーバの構成を説明するための図である。 ユーザ端末の構成を説明するための図である。 AR撮影処理の際のユーザ端末における画面表示態様の一例である。 AR撮影処理における合成画像を生成するデータの例である。 AR再撮影処理の際のキャラクタオブジェクトの編集に関するユーザ端末における編集画面の一例である。 AR再撮影処理の際のユーザ端末における編集画面の一例である。 AR再撮影処理の際のユーザ端末における編集画面の一例である。 AR再撮影処理の際のオブジェクトの配置態様に関するユーザ端末における編集画面の一例である。 AR撮影処理の一例を示すフローチャートである。 AR再撮影処理の一例を示すフローチャートである。
以下、図面を参照しつつ本発明に係る通信システムについての実施の形態について説明する。なお、本発明は以下の例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
本実施例は、現実空間を撮像した撮像画像に、仮想的な3次元コンピュータグラフィック(3DCG)を合成して表示する拡張現実感をユーザに体験させることができるプログラムに関する。例えば、ユーザが操作するスマートフォンなどにおいて、ユーザ好みのキャラクタオブジェクトなどを、現実の空間に配置させた画像を表示させることができる。また、本実施例におけるキャラクタオブジェクトには、キャラクタの身長に関する情報が関連付けられており、ユーザ端末において現実空間の撮像とともに取得された深度情報を基に、現実の空間と設定された身長とが適合するようにキャラクタオブジェクトが配置される。これにより、ユーザは現実空間にキャラクタが存在するような感覚を抱くことができる。
ところが、拡張現実でキャラクタオブジェクト等を配置する際に、すぐにユーザが所望する配置位置、つまり画角にならないこともある。例えば、被写体が実際の現実に存在するモデルであった場合、撮影者(カメラマンなど)は、納得する構図の写真が撮れるまで、何度も撮影操作を行う。つまり、何枚もの撮像画像データを生成する。何度も撮影操作する際には、例えば、撮影者が、モデルに対して立ち位置やポーズなどに指示を出し、納得する画(構図)となるまで微調整をすることがある。この被写体がCGキャラクタであった場合、ユーザ操作によってキャラクタの配置位置や、アングル(角度)などの調整がされる。このとき、ユーザ画面には被写体が表示されているが、撮影者であるユーザの周囲の人間からは、被写体は見えていない。そのため、拡張現実による撮影行為を長時間にわたって行っていた場合、周囲に不信に思われる虞があり、結局、ユーザは納得がいかずとも撮影を終了せざるを得ない状況になることもあった。
そこで、本実施例における拡張現実をユーザに体験させる処理を実行するプログラムにおいては、拡張現実による撮影後であったとしても、事後的に再編集可能となるようにした。さらに、拡張現実による撮影をした画像データ(例えば、ラスタライズされる前の画像)に対する装飾機能を備える。従来の装飾機能を実行可能なアプリケーション(デコレーション機能・画像編集アプリケーション)などでは、2次元(x,y軸)の情報に基づいて、シール(スタンプ)などの装飾の大小の変更が可能であったが、本実施例においては、3次元(x,y,z軸)の概念を用いた画像編集が可能となる。つまり、現実空間の撮像とともに取得した情報に含まれる深度情報や画像編集に用いる仮想オブジェクトの奥行きの情報を用いて従来よりも画像を装飾する際の表現の幅を広げることを可能とした。
図1は、通信システム1のハードウェア構成例を示す図である。通信システム1は、配信サーバ100と、複数のユーザ端末300a、300b、300c…とを含む。複数のユーザ端末300a、300b、300c…は、複数のユーザ各々が所有する端末であって、以下ではまとめてユーザ端末300ともいう。
配信サーバ100、およびユーザ端末300は、各々、ネットワーク2を介して通信接続可能であり、双方向に情報(データ)を送受信できる。ネットワーク2は、例えばインターネットであり、LAN(Local Area Network)、WAN(Wide Area Network)、移動通信網(例えば、5G、無線ネットワークなど)、有線電話網、FTTH(Fiber To The Home)、CATV(Cable Television)網等のアクセス網などで構成される。
配信サーバ100は、例えば、通信機能を有するワークステーションまたはパーソナルコンピュータなどのコンピュータである。配信サーバ100は、現実の世界と仮想世界とを融合するXR(Extended Reality)を、ユーザに提供する(体験させる)ためのプログラムやコンテンツデータ等を管理する。例えば、ユーザ端末において本実施例における拡張現実による画像表示処理を実行可能とするプログラムや、コンピュータ上に構築される仮想的な世界である仮想空間(例えば、拡張現実による画像表示処理を行うための仮想空間、メタバース空間を含む)を管理し、ネットワーク2を介してユーザ端末300に提供する。
仮想空間は、提供されるコンテンツの種類毎に管理・設定されている。提供可能なコンテンツには、拡張現実の他、例えば、ゲーム、ライブ、イベント、番組などを視聴・体験可能なコンテンツや、ユーザ間におけるチャットやエモートなどを利用して交流やコミュニケーションを図るコンテンツなどが含まれるが、これに限るものではない。また、例えば、仮想空間がいわゆるメタバース空間であれば、ユーザは、ユーザ端末300を用いて配信サーバ100にアクセスし、所望するコンテンツを選択することにより、当該コンテンツへシームレスに参加(回遊)して、当該コンテンツに応じた仮想空間を視聴・体験等が可能となる。
仮想空間には、コンテンツの種類に応じて、CG(Computer Graphics)によって生成される3次元の空間(3次元データに基づき構築される空間)や、2次元の空間(2次元データに基づき構築される空間)が含まれる。また、仮想空間には、仮想キャラクタ(アバターオブジェクト・キャラクタオブジェクト)や、コンテンツの種類に応じた背景・仮想的な物体を示すオブジェクト、ユーザが選択可能なメニューオブジェクトなどが配置される。
コンテンツデータには、例えば、仮想空間内に配置されるオブジェクトなどに関する情報(例えば、オブジェクトの種類、配置位置、向き、姿勢、態様など)を特定するための情報や、当該仮想空間に参加しているユーザ各々のユーザキャラクタなどに関する情報(例えば、ユーザキャラクタの種類、配置位置、向き、姿勢、態様、モーションデータ、音声データなど)、コンテンツの種類に応じた背景・仮想的な物体を示すオブジェクト、ユーザにより選択されるメニューオブジェクトなどを特定するための情報を含む。
なお、本実施の形態における配信サーバ100は、1台のコンピュータによって実現されていてもよいし、また、複数台のコンピュータ(例えば、複数台のサーバ)によって実現されているものであってもよい。
ユーザ端末300は、拡張現実による画像を表示可能なコンピュータであり、例えば、パーソナルコンピュータ、タブレット端末、スマートフォン等の操作入力機能や通信機能を有するコンピュータである。
ユーザ端末300は、当該端末への操作に応じて、配信サーバ100と通信して受信したプログラムを実行可能である。ユーザ端末300は、ユーザが選択したコンテンツのコンテンツデータを配信サーバ100から受信する。また、ユーザ端末300は、受信したコンテンツデータに基づいて、配信サーバ100において構築されている仮想空間のうちユーザが選択したコンテンツの仮想空間をユーザ端末300の記憶領域内において構築し、当該仮想空間内の画像を表示するとともに音を出力する。これにより、ユーザ端末300を介して、コンテンツの仮想空間を視聴・体験等が可能となる。例えば、ユーザ端末300は、配信サーバ100から受信した拡張現実による画像表示処理を行うためのプログラムに基づいて、情報取得部(カメラなど)によって取得し得る撮像画像(画像データ)と、CG等を合成して、ユーザに拡張現実を提供することを可能とする。以下では、拡張現実による画像表示処理を行うためのプログラムによって、ユーザに拡張現実を提供するアプリケーションのことをARコンテンツとも称する。ユーザに拡張現実を提供するアプリケーションとは、例えば、ユーザ端末300にインストール可能なアプリケーションである。
<配信サーバの構成>
次に、配信サーバ100の構成を説明する。図2に示すように、配信サーバ100は、他のコンピュータと通信を行う通信部110と、各種データを記憶する記憶部120と、コンピュータ全体の制御を行う制御部130とを備える。通信部110、記憶部120、および、制御部130は、バスラインによって相互に接続される。
通信部110は、有線通信又は無線通信を行うためのNIC(Network Interface Card controller)を備える通信インターフェースである。通信部110は、ネットワーク2を介して、他のコンピュータと通信を行う。
記憶部120は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等から構成される。記憶部120は、各種制御処理を実行するためのプログラム(例えば、拡張現実による撮影や画像表示を可能とするARコンテンツや、メタバースなどの仮想空間)を用いたコンテンツを管理・提供するためのプログラムなど)、各種データ等を記憶する。記憶部120に記憶される各種データには、ユーザに提供されるARコンテンツにおいて表示し得るオブジェクトデータを記憶するオブジェクトデータ121などが記憶されている。また、図示していないが、コンテンツ(例えばゲームコンテンツ)の種類毎に設けられている仮想空間の画像を特定するための情報を含むゲームプログラムや、ユーザに関するユーザ情報などが含まれる。ユーザに関するユーザ情報には、例えば、ユーザを識別するためのIDや、ユーザ名などを含む。
オブジェクトデータ121には、ユーザに提供するARコンテンツの仮想空間において配置される各種オブジェクトが含まれ、管理されている。記憶部120に記憶されるオブジェクトデータのテーブルには、各種オブジェクトの形状や模様、各種オブジェクトの生成に必要なキャッシュや仮想通貨の額など情報が記憶されている。
オブジェクトとは、例えば、キャラクタオブジェクトや装飾オブジェクトなど、2次元および3次元のCGデータが含まれる。これらのCGデータは、ユーザの任意の操作によって拡張現実の画像に表示させることが可能である。以降、本実施例においては、キャラクタオブジェクトや、装飾オブジェクトなどの、現実空間の物体とは異なる仮想オブジェクトを非現実オブジェクトとも称する。非現実オブジェクトは、撮像画像内の現実空間の物体とは異なるオブジェクトであればよく、現実空間には存在し得ないオブジェクトや、現実空間の物体を模したオブジェクトなど様々な仮想的なオブジェクトを含む。撮像画像内の現実空間の物体等と対応するオブジェクト(例えば、現実空間を撮像した撮像画像内に含まれる物体や面などに対応するオブジェクト・ポリゴンマスクなど)を、現実オブジェクトとも称する。また、キャラクタオブジェクトの表示態様は、ユーザ操作に応じて変更可能である。例えば、キャラクタの表情・ポーズ・衣装・モーションなの変更が可能である。キャラクタオブジェクトには、予めキャラクタに応じた身長が定められている。
装飾オブジェクトには、例えば、文字やアイコンなどのデコレーション(シール、スタンプ等)・フレーム・パーティクルなどが含まれる。装飾オブジェクトの表示態様は、ユーザ操作に応じて変更可能である。例えば、装飾オブジェクトの大きさ・色・柄などの変更が可能である。パーティクルとは、アニメーションを伴う視覚エフェクトであって、例えば、雪・花・雨・光などといった複数の粒子で構成されたオブジェクトや、水・炎などの流体などを動作させるオブジェクトであり、所定エリアに雪が降る演出や、所定エリアが燃え上がる演出などが可能となる。
制御部130は、CPU(Central Processing Unit)等から構成される。制御部130は、記憶部120に記憶されているプログラムを実行することにより、配信サーバ100の全体の動作を制御する。
以下、制御部130の機能的な構成を説明する。制御部130は、少なくとも、データ送受信部131や、コンテンツ管理部、ユーザ管理部(図示していない)などとして機能する。
データ送受信部131は、ユーザ端末300から送信される各種情報の受信や、ユーザ端末300に対して各種情報の送信を行う。データ送受信部131は、記憶部120に格納されている各種管理テーブルを参照する。データ送受信部131が送受信を行う各種情報には、例えば、コンテンツ管理部において管理されている仮想空間内に配置されるオブジェクトに関する情報(例えば、ユーザに関連付けられるオブジェクトを仮想空間内に配置する操作、削除する操作、移動する操作など)の他、ゲーム情報、各種通知などが含まれる。仮想空間内に配置されるオブジェクトに関する情報は、例えば、オブジェクトデータ121として記憶されるキャラクタオブジェクトや、装飾オブジェクトを、ユーザ端末300において表示させるための情報などを含む。
<ユーザ端末の構成>
次に、ユーザ端末300の構成を詳細に説明する。図3に示すように、ユーザ端末は、配信サーバ100を含む他のコンピュータと通信を行う通信部310と、各種データを記憶する記憶部320と、操作などを入力するための操作部330と、画像などを出力するための出力部340と、情報取得部350と、コンピュータ全体の制御を行う制御部360とを備える。通信部310、記憶部320、操作部330、出力部340、情報取得部350、および、制御部360は、バスラインによって相互に接続される。
通信部310は、有線通信又は無線通信を行うための通信インターフェースである。通信部310は、ネットワーク2を介して、配信サーバ100を含む他のコンピュータと通信を行う。
記憶部320は、RAM、ROM等から構成されるメモリである。記憶部320は、各種制御処理を実行するためのプログラム(例えば、拡張現実による撮影や画像表示を可能とするARコンテンツのアプリケーションを実行するためのプログラム、メタバースなどの仮想空間を用いたコンテンツを視聴等するためのプログラムなど)、各種データ等を記憶する。各種データとしては、例えば、配信サーバ100のオブジェクトデータ121として記憶されるキャラクタオブジェクトや装飾オブジェクト、拡張現実による合成画像について、ユーザによって再編集可能とするためのデータ(例えば、撮像画像や、各種オブジェクトの座標を特定する仮想空間データ)などが含まれる。
操作部330は、ユーザからの入力操作・音声を受け付けるための入力装置(例えば、タッチパネル、タッチパッド、マウス等のポインティングデバイス、キーボード、マイクロフォン等)を含む。本実施形態におけるユーザ操作とは、これらの操作部330に対するユーザからの操作をいう。例えば、タッチパネルに対するタッチ操作、スライド操作、フリック操作、あるいは、ボタン操作や、ドラッグ(スワイプ)操作、ピンチイン/アウト操作、ユーザ端末300の表示部に表示されるアイコンに対する操作や、ポインティングデバイス、キーボードに対する操作、マイクロフォンに対する音声入力などが含まれる。操作部330に対するユーザからの操作によって、ARコンテンツによって表示され得る非現実オブジェクトの選択や移動、回転、拡縮操作などが可能となる。
出力部340は、ユーザに対し情報(テキスト、画像、音声等)を提示・出力するための出力装置(ディスプレイなどの表示部、スピーカ等)を含む。
情報取得部350は、現実空間に関する情報を取得するための入力装置であって、カメラや、加速度センサ、ジャイロセンサ等の各種センサを備える。情報取得部350は、現実空間の撮像処理を行い、情報取得部350から現実空間の物体までの距離(例えば、深度、奥行位置)や、物体の形状等を特定する。情報取得部350は、例えば、レンズ(光学系)と、イメージセンサ(撮像素子)とを組み合わせたカメラであって、端末から物体等までの距離や、物体間の距離を測定する深度センサを備えた深度センシングカメラ等が含まれる。例えば、デプスセンサ(例えば、ToF(Time of Flight)方式のセンサなど)が搭載されたカメラなどが含まれる。なお、カメラは、深度を推定可能なステレオカメラであってもよく、撮像画像内の深度を推定可能にする種々のセンサを搭載したカメラを用いることが可能である。
制御部360は、CPU等から構成される。制御部360は、記憶部320に記憶されているプログラムを実行することにより、ユーザ端末300の全体の動作を制御や演算を行う。
以下、制御部360の機能的な構成を説明する。制御部360には、ARコンテンツを表示させるための画像処理部361が含まれる。画像処理部361は、取得情報解析部362、拡張現実データ生成部363、表示制御部364、および、再編集データ管理部365などとして機能する。
取得情報解析部362は、情報取得部350によって取得した撮像画像(一般的なカメラ映像)や情報取得部350のデプスセンサによって特定(推定)される深度情報(奥行情報であって、センサによる測定や機械学習による深度推定に基づき生成された画像形式の情報))に基づいて、現実空間の平面(水平あるいは垂直)の検出や、物体等の検出・座標の特定を行う。例えば、情報取得部350により取得される画像内に映る物体の形状を特定し、当該物体の位置(座標)の特定を行うことが可能である。また、取得情報解析部362は、情報取得部350によって撮影された撮像画像に関連付けられるカメラセンサのサイズ、焦点距離、明るさ等のカメラに関する情報を特定する。取得情報解析部362は、情報取得部350によって取得した情報に基づき座標系(例えば、ワールド座標)を決定する。
拡張現実データ生成部363は、ARコンテンツによって表示され得る非現実オブジェクト(キャラクタオブジェクトや装飾オブジェクト等)を配置するための仮想空間(拡張現実を実現するための仮想空間)を生成する。以降説明する拡張現実を実現するための仮想空間は、拡張現実による座標を特定するための情報であり、少なくとも、非現実オブジェクトと、現実空間の物体等(現実オブジェクト)との前後関係を特定可能とする情報を含むものであればよい。本実施例における仮想空間内の位置は、深度情報等に基づいて取得情報解析部362によって決定された座標に基づいて特定される。拡張現実データ生成部363は、ユーザ操作により、記憶部320に記憶されるキャラクタオブジェクトや装飾オブジェクトなどを仮想空間内に配置する。拡張現実データ生成部363は、情報取得部350によって取得される情報に基づいて、仮想空間の仮想カメラを、現実の撮像画像に対応(相当)する位置に配置し、仮想カメラの位置や、向き、傾きなどを制御する。また、拡張現実データ生成部363は、仮想カメラから取得する仮想空間内のオブジェクトの画像と、情報取得部350によって取得される撮像画像とを合成した合成画像を生成する。
また、拡張現実データ生成部363は、取得情報解析部362によって検出された物体などに対応する現実オブジェクトとして、後述する図5(C)、(D)に示すように透明ポリゴンメッシュ(以降単にマスク、あるいは、マスクポリゴンとも称する。)を生成する。当該マスクは、撮像情報の深度情報等によって特定された座標(配置位置)に配置される。例えば、拡張現実データ生成部363は、情報取得部350によって取得した深度情報等を用いてマスクポリゴンを作成し、仮想空間上でキャラクタオブジェクトとマスクポリゴンとの前後関係を作ることを可能とする。なお、当該マスクは、透明であって表示されるものではないが、現実の物体に対応するオブジェクトであるため現実オブジェクトとも称する。
表示制御部364は、通信部310によって取得したコンテンツデータに基づいて記憶部320に記憶されている仮想空間のうち、仮想カメラからの視界である視界領域に対応する画像を表示部(ディスプレイなど)に表示させる。つまり、ユーザは、入力部330への操作に応じて仮想空間内に配置されている仮想カメラの位置や、向き、傾きなどを変更することにより、仮想空間内の画像のうち仮想カメラの視界領域内の画像をユーザ端末300に表示させて視認することができる。また、表示制御部364は、拡張現実データ生成部363によって生成された現実空間の画像と仮想空間の画像との合成画像を表示部(ディスプレイなど)に表示する。表示制御部364は、例えば、二次元または三次元の画像データをレンダリングして描画する。
再編集データ管理部365は、表示制御部364によってユーザ端末300の表示部に表示されている現実空間の画像と仮想空間の画像との合成画像(拡張現実の画像)を、操作部330に対するユーザからの撮影操作を受け付けることにより、記憶部320に記憶する。また、ARコンテンツによって撮影された拡張現実の画像を、再編集可能とするように再編集用データを記憶部320に記憶する。再編集用データには、撮影当時のカメラから見た瞬間の世界を、マスク情報に対する加筆・修正(例えば、深度の上書き)を可能とする状態で再現するための情報が含まれる。例えば、背景となる撮像画像(一般的なカメラ映像)、と、仮想空間を特定するための仮想空間特定用情報とが含まれる。仮想空間特定用情報には、例えば、深度情報、現実の物体に対応する透明ポリゴンメッシュの情報、背景の撮像画像に紐づけられていた仮想空間の座標上のカメラの位置・姿勢(向き)の情報、及び、情報取得部350に含まれる撮像画像を撮像したカメラに関する情報(例えば、カメラセンサのサイズや、焦点距離、明るさなど)が含まれる。これにより、本実施例におけるARコンテンツを用いて拡張現実の画像の撮影を行った後であっても、事後的に合成された3DCGを用いた再編集が可能となる。
<AR撮影時の画面表示態様例>
(撮影画面例)
図4~図9を参照して、本実施例におけるARコンテンツのユーザ端末300の表示部における表示態様について説明する。図4は、本実施例におけるARコンテンツのプログラムを実行し、拡張現実による撮影(以降、AR撮影とも称する)を行う際の撮影画面例である。図4(A)は、ユーザ端末300の情報取得部350によって撮像されて取得された現実空間の撮像画像と、キャラクタオブジェクトCの3DCG(三次元コンピュータグラフィックス)とが合成された状態で表示された画面の例である。
本実施例における拡張現実の撮影は、まず、ARコンテンツによって撮影を開始する際に、仮想空間の床面に相当する水平面を決定するための平面スキャンによって検出された平面と対応するように床面の座標を決定する。情報取得部350によって例えば図5(B)のような、背景画像となり得る現実空間の撮影をしつつ、ユーザが端末を操作することにより取得情報解析部362によって平面検出がされる。初めに検出される平面は、床や地面など、床面となり得る水平面である。平面検出後、ユーザが撮影開始確定操作を行うことなどにより(例えば、スタートボタンへの操作など)、図4(A)や、図5(A)に示すように、キャラクタオブジェクトCが現実空間に配置された態様でユーザ端末300の表示部にプレビュー表示されるようになる。キャラクタオブジェクトCの配置場所は、平面と検出された範囲へのタップ操作によって移動可能である。また、表示されているキャラクタオブジェクトCに対する操作(例えば、スライド操作)に応じて、キャラクタオブジェクトCの向きを回転させることができる。なお、キャラクタオブジェクトCの仮想空間における初期配置は、ユーザから撮影開始確定操作がされたことに基づいてデフォルトの座標などに自動配置されてもよく、ユーザからのタップ操作などを受け付けることにより配置されるようにしてもよい。
図4(A)に例示する撮影画面には、AR撮影をするにあたってユーザが操作するための操作アイコン等が複数表示されている。例えば、キャラ変更アイコンT1は、配置するキャラクタオブジェクトCを、異なるキャラクタに変更するためのアイコンである。リセットアイコンT2は、キャラクタオブジェクトCを配置する際に基準となる水平の平面検出をし直すためのアイコンである。例えば、平面と検出された場所が、実際の床などとずれが生じている場合など、平面検出をし直したい場合に、リセットアイコンT2に対する操作がされることにより、平面が再検出され、再検出された面の上にキャラクタオブジェクトCが再配置されるようになる。UI表示アイコンT3は、アイコンや操作メニューなどのUI(User Interface)の表示・非表示を切り替えるためのアイコンである。UI表示アイコンT3に対する操作がされることにより、ユーザは、撮影される画像の全体を把握しやすくなる。
取得情報解析部362によって特定される深度情報等に基づいて、現実空間に適合するように(例えば、現実空間と、仮想オブジェクトとの3次元的な位置合わせが、ユーザ視点に応じて矛盾がない状態(幾何学的整合性)が実現されるように)キャラクタオブジェクトCが配置される。そのため、例えば、図4(B)に例示するように、ユーザがキャラクタオブジェクトCから遠ざかるように後方に下がり移動すれば(ユーザUの動きを参照)、キャラクタオブジェクトCが配置されている位置が遠くなり、キャラクタオブジェクトCのサイズも小さく表示されるようになる(引きの画角)。なお、撮影画面において奥側をタップ操作することなどにより、画面奥にキャラクタを配置させても、キャラクタオブジェクトCを引きの画角で撮影する表示態様となる。
また、キャラクタオブジェクトCは、3DCGであるため、図4(C)に例示するように、ユーザが、表示部に表示されるキャラクタオブジェクトCの後ろに回り込むように撮影の立ち位置を移動すれば(ユーザUの動きを参照)、図4(A)に示す現実空間のキャラクタオブジェクトCの配置位置(座標)で、キャラクタオブジェクトCを後方から撮影することが可能となる。このように、ユーザは、撮影時におけるユーザ自身の立ち位置やユーザ端末の向きを調整することにより好みの画角からの画像を撮影することができる。また、図5を参照して後述するように、現実空間の物体に対応する椅子Rには、情報取得部350によって取得された深度情報に基づいてマスクが生成されている。これにより、図4(C)の画面では、3DCGであるキャラクタオブジェクトCの一部が椅子Rによって遮蔽されて、ユーザ端末300の表示部に表示されない。
図4の撮影画面の下方には、複数のタブが表示された操作メニューT10が表示されている。操作メニューT10に表示される複数タブのうち、例えば、「表情」・「ポーズ」・「モーション」は、キャラクタオブジェクトCの表示態様を変更するためのメニューである。モーションとは、キャラクタオブジェクトCに、ダンスやジャンプなどのアニメーション動作を行わせることである。例えば、後述する図6(D)に例示するように、モーションタブが選択され、いずれかの動作が選択されることで、キャラクタオブジェクトCに動作をさせることができる。また、速度調整アイコンT4への操作により、モーションスピードを、ユーザ任意のスピードに調整(コントロール操作)することも可能である。なお、モーションスピードのコントロール操作は、初回撮影時には実行(選択)できず、再編集時における落ち着いた状況下で実行可能な操作であってもよい。
「スペシャル」は、キャラクタオブジェクトCの表示態様を通常とは異なる特別仕様の態様に変更可能とするタブである。例えば、期間限定のモーションなどが選択可能となる。「装飾」は、シール等のデコレーションやフレーム等の装飾オブジェクトの配置や、フィルターなどによる色調整等の画像に対する装飾を行うためのメニューを表示するためのタブである。例えば、後述する図7のようにシールによる装飾操作が可能となる。また、操作メニューT10の中に、キャラクタオブジェクトCの衣装の変更を可能とするためのタブが表示されるようにしてもよい。
なお、操作メニューT10に表示されるメニューのうちのいずれかの操作や、キャラ変更T1に対する操作によるキャラ変更は、初回撮影時には実行(選択)できず、後述する再編集操作のときに操作できるものであってもよい。例えば、「装飾」が操作されることによる装飾操作は、初めに撮像画像とキャラクタオブジェクトCとを合成した拡張現実による合成画像を保存する際には操作できず、撮像画像を撮影した後の再編集操作時において装飾が行えるものであってもよい。以降は、装飾操作は、再編集時において実行可能な操作であるとして説明する。
撮影ボタンSは、表示部に表示されている画像を保存するための操作ボタンである。例えば、図4(A)に示す現実空間とキャラクタオブジェクトCとが合成されている表示態様で撮影ボタンSが操作されることにより、プレビュー表示されていたキャラクタオブジェクトCのCGと背景の撮像画像とを合成した合成画像がユーザ端末300の記憶部320に保存される。例えば、プレビュー表示されていた画像が、高解像度でラスタライズ(画像データをピクセルデータに変換して軽量化)された画像が保存される。当該保存された画像は、例えば、ユーザ端末300のストレージ内の画像データフォルダ等(例えば、ユーザ端末300にインストールされているカメラアプリで撮影した画像が保存されるフォルダと同じフォルダ、あるいは、ARコンテンツ専用のフォルダなど)から確認することができる。また、本実施例におけるARコンテンツでは、静止画のみならず、動画を撮影することも可能である。動画を撮影する場合には、撮影ボタンSが操作されることにより、動画撮影の開始・停止が可能となる。なお、図4(A)などの撮影画面に、静止画・動画への切替アイコンを表示させるようにしてもよい。
また、本実施例のARコンテンツにおいては、撮影ボタンSが操作され、現実空間の撮像画像と、キャラクタオブジェクトCとを合成した画像が生成された後であっても、合成画像を再編集し、再合成が可能となる。そのため、撮影ボタンSが操作され、AR撮影がされたときに、ラスタライズされた合成画像を生成するととともに、再編集用データを記憶する。再編集用データとしては、撮像画像や、キャラクタオブジェクトCを再合成可能とする仮想空間を特定するための仮想空間特定用情報等が含まれる。仮想空間特定用情報には、現実の物体などに対応するマスク(現実オブジェクト)を特定するための情報(例えば、座標・形状等の情報)等が含まれる。
(合成画像を生成する情報例)
図5を参照して、本実施例における合成画像の生成するための情報について説明する。図5(A)は、前述した図4(A)の撮影画面で表示される合成画像である。図5(B)は、図5(A)の背景画像となる情報取得部350によって撮像される現実空間の撮像画像である。図5(C)は、図5(B)の撮像画像内の現実の物体に対応する現実オブジェクトが配置された仮想空間データの例である。図5(D)は、図5(B)の撮像画像に合成される仮想空間データの例であり、図5(C)の仮想空間データに非現実オブジェクトであるキャラクタオブジェクトCを配置させたものである。図5(E)は、図5(D)の仮想空間を、図5(D)の向かって右側(図5(D)における、キャラクタの左側)から見た場合の仮想空間データの例である。
AR撮影開始時において、図5(B)に映る道路をスキャンするように、ユーザがユーザ端末300を動かすことで、道路が平面として検出される。また、現実の空間には、椅子R1や、木R2が存在し、情報取得部350によって取得し得る撮像画像内に表示されている。取得情報解析部362は、情報取得部350によって取得・蓄積される撮像情報に基づいて深度情報等に基づいて、現実の物体の形状や座標を特定し、リアルタイムにレンダリングする。例えば、取得情報解析部362は、取得した撮像情報の深度情報等に基づいて、撮像画像内に映る物体などの検出を行う。拡張現実データ生成部363は、取得情報解析部362によって解析された深度情報等に基づいて、現実の物体等に対応する現実オブジェクトを、仮想空間に配置する。現実オブジェクトは、撮像画像に映る現実の物体に対応する位置・範囲に生成されたマスクポリゴン(表示部に描画されない透明ポリゴンメッシュ)である。例えば、撮像情報内の深度情報等に基づいて特定される形状に対応する範囲にマスク処理がされる。例えば、椅子R1に対応する形状の現実オブジェクトRO1、木R2に対応する形状の現実オブジェクトRO2が、仮想空間内に配置される。このように、現実の物体などに対応するマスクポリゴンがリアルタイムに生成される。
図5(C)は、図5(B)の撮像画像の物体に対応する現実オブジェクトを配置させた仮想空間の例である。図5(D)は、図5(C)の仮想空間に、現実オブジェクトに加え、キャラクタオブジェクトCを配置させた仮想空間の例である。当該仮想空間の平面は、撮像情報によってAR撮影開始時に検出された平面に対応する。また、情報取得部350によって取得されてユーザ端末300の表示部に表示される現実空間と、仮想空間とが対応する(例えば、幾何学的整合性を実現する)ように仮想カメラが配置される。現実オブジェクトRO1、RO2、キャラクタオブジェクトCは、現実空間の座標と対応するように配置される。キャラクタオブジェクトや後述する装飾オブジェクトと、現実オブジェクトとの仮想空間内における座標(横,縦,奥行きの情報、x,y,z軸)の関係は、深度情報等に基づいて特定される。例えば、キャラクタオブジェクトは、情報取得部350によって取得される情報内の深度情報等に基づいて、撮像画像内の現実の空間に適合するような大きさで配置される。例えば、身長が160センチで設定されたキャラクタオブジェクトを配置する場合、撮像画像内の現実の空間内において160センチ相当となる態様で撮像画像に合成されて表示されるようになる。
また、現実オブジェクトは、図5(C)~(E)などで例示するような立体的な三次元形状のマスクである。当該マスクは、情報取得部350によって撮像とともに取得される情報が更新される都度、対応するマスクが生成されるようにレンダリングされる。また、マスクが生成されることにより、例えば、前述の図4(C)や、後述する図6(B)に示すように、キャラクタオブジェクトなどが現実オブジェクトよりも奥側に配置されている場合には、キャラクタオブジェクトの一部が椅子R1に対応するマスクにより描画されないようにするオクルージョン処理を行うことが可能となる。これにより、現実の椅子R1によってキャラクタオブジェクトが遮蔽されるように表現することができる。例えば、図5(D)では、キャラクタオブジェクトCが、現実オブジェクトRO1の手前に配置されているため、図5(A)では、椅子R1の手前にキャラクタオブジェクトCが描画され、椅子R1の一部がキャラクタオブジェクトCにより遮蔽されている。一方、キャラクタオブジェクトCを、椅子R1より奥に配置するようにユーザによるタップ操作等がされると、図5(D)の仮想空間において、現実オブジェクトRO1よりも奥側の座標にキャラクタオブジェクトCが配置される。これにより、図4(C)や図6(B)に例示するように、キャラクタオブジェクトCの一部が、椅子R1に遮蔽された態様で表示されるようになる。つまり、仮想カメラから見てマスク処理がされた範囲と重複する範囲については、キャラクタオブジェクトCは表示部に描画されない。
以上のように、撮像画像と、仮想空間データとが合成された画像(例えば、高解像度にラスタライズされた画像)が、図4の撮影ボタンSが操作されることにより記憶部320に保存される。また、図5(A)の合成画像が保存されるとともに、再編集可能となるように、当該合成画像を撮影した際の世界を、マスク情報に対する加筆・修正を可能とする状態で再現するための情報が、再編集用データとして記憶部320に記憶される。マスク情報に対する加筆・修正とは、キャラクタオブジェクトCの座標や表示態様などの変更にともなって、現実オブジェクトの深度の上書きを行うことなどが含まれる。再編集用データには、例えば、図5(B)の撮像画像と、対応する図5(C)の仮想空間データを再現可能とする仮想空間特定用情報(例えば、深度情報や、現実オブジェクトの形状・座標の情報、カメラの位置や姿勢の情報、撮影時のカメラに関する情報等)等が含まれる。また、再編集用データによって再現される仮想空間特定用情報は、図5(C)のように、キャラクタオブジェクトCの情報を除くデータであってもよい。
(再編集操作の概要)
本実施例におけるARコンテンツでは、AR撮影がされた後であっても、再編集用データに基づいて、現実空間の撮像画像と3DCGとの合成画像の再編集操作を可能とする。再編集操作によって編集可能な機能としては、図5(A)の合成画像に対して、深度(奥行き)情報を用いた装飾(デコレーション)操作などが含まれる。また、キャラクタオブジェクトCを再配置させ、キャラクタオブジェクトCの表示態様の変更操作も可能となる。従来AR撮影後は、キャラクタオブジェクトの3DCGと背景となる撮像画像とが合成されると、キャラクタの編集はもちろんのこと、装飾を施そうとしても、キャラクタの前(表示部において手前)に2次元の装飾レイヤーを追加することしかできなかった。しかし、本実施例においては、再編集用データを用いて、撮影済みの撮像画像と幾何学的整合性がとれるように、キャラクタオブジェクトを再合成し、かつ、装飾操作を行うことができる。そのため、現実の物体(現実オブジェクト)と、キャラクタの3DCGと、装飾オブジェクトとで、三次元での前後関係を構築することができる。これにより、従来の2Dレイヤーのよる編集よりも、編集によって得られる表現態様に自由度が増し、ユーザの興趣が向上する。
なお、再編集画面には、ユーザ端末300にダウンロードされている本実施例におけるARコンテンツを提供可能なアプリケーション等のメニューから遷移できるようにしてもよい。例えば、ホーム画面のメニューから、再編集操作を選択することで、再編集用データに基づいて図5(A)の合成画像が表示部に描画されるようにしてもよい。
再編集した画像や動画をユーザ端末300のストレージに保存するための出力は、初回の撮影時と同様に、撮影ボタンSに対する操作を行うことにより実行可能である。つまり、ユーザ好みの態様に拡張現実による合成画像を編集した後に再撮影することができる。
再編集用データに基づき表示させた再編集画面は、例えば、図4(A)と同様の操作アイコンや、メニューが表示されるものであってもよく、一部操作アイコン等が非表示となっていてもよい。初回撮影時と異なる点としては、情報取得部350により、撮像画像をリアルタイムに取得しておらず、合成される背景画像となる撮像画像はすでに撮影済みの画像である。そのため、図4(B)や、図4(C)のような撮像画像自体を異なるものにすることができない。しかし、一度AR撮影をした画像に基づく再編集であるため、ユーザは、キャラクタオブジェクトの理想的な配置位置の見当がつきやすい。以降、再編集画面において表示される操作アイコンなどは、図4で説明したアイコン等と同様のものとして説明する。図7の装飾画面は、例えば再編集画面として表示される図4(A)の操作メニューT10内の、「装飾」を選択することで表示されるものとする。
(キャラクタオブジェクトの再編集画面例)
図6は、再編集時のキャラクタオブジェクトCの編集画面の例である。なお、図6の(A)~(C)では、操作用アイコンを非表示とし、図6(D)では、操作用アイコンを表示している場合の画面例として説明する。再編集用のデータが、図4(A)で撮影した際のデータであったとすると、再編集用データは、図6(A)のように、キャラクタオブジェクトCが合成された合成画像でプレビュー表示される。再編集用データに基づき生成される仮想空間は、図5(C)で例示したように、図4(A)を撮影した際の現実オブジェクトが配置された空間である。なお、再編集用データにキャラクタオブジェクトCの情報を含めない場合、再編集時に表示される合成画像におけるキャラクタオブジェクトCの初期配置位置は、再編集画面を表示する際に、自動的に配置されてもよく、ユーザからのタップ操作などによって配置されるようにしてもよい。また、再編集時に配置されるキャラクタオブジェクトCの種類は、ユーザ操作などによりデフォルトとして予め設定されている種類であってもよく、再編集時にユーザによって選択された種類であってもよい。再編集時には、キャラクタオブジェクトCの配置位置の変更や、ポーズ・モーション・衣装・表情の変更、キャラクタ自体の種類の変更も可能である。例えば、配置させたい場所へのタップ操作や、図7等で例示する操作アイコン(D1~D4)などによって移動可能としてもよい。図6(B)に例示するように、撮像画像内の椅子R1よりも奥側にキャラクタオブジェクトCを配置した場合、椅子R1の形状に対応するマスク処理がされた現実オブジェクトRO1によって、仮想カメラから見たキャラクタオブジェクトCの椅子R1と重なる範囲が遮蔽され、表示部に出力される際に描画されない。
また、再編集時において、キャラクタオブジェクトCの配置位置を変更したとしても、再編集用データに含まれる、撮像画像に対応する座標のデータなどに基づいて、キャラクタオブジェクトCの身長に対応するように、表示サイズの調整がされる。そのため、例えば、図6(C)に示すように、ユーザ操作によって、撮像画像の手前よりも奥側遠方にキャラクタオブジェクトCが配置されると、配置された位置に対応するようにキャラクタオブジェクトCの縦横比率が変更されて小さく表示されるようになる。
図6(D)は、図6(A)の再編集データのキャラクタオブジェクトCにモーション動作をさせた場合の例である。また、再編集時においては、速度調整アイコンT4に対する操作により、モーションスピードのコントロールが可能である。そのため、例えばスローモーションで動作するようにすれば、ユーザが望む画を収めることが容易となる。
また、本実施例におけるARコンテンツによるAR撮影は、連続撮影(例えば、1秒毎に10枚連続して撮影など)を行うことを可能としてもよい。また、制御部310によって、連続で撮影して生成された複数枚の合成画像の中から、ユーザに推奨する1枚を決定し、ユーザに提供可能としてもよい。例えば、複数枚の画像の中から、画像処理部361によって、キャラクタオブジェクトCの顔が最も正面を向いている画像や、最も顔が隠れていない画像(例えば、キャラクタオブジェクトの手が動くモーション動作などによって隠れていない画像)などを特定するようにしてもよい。例えば、キャラクタオブジェクトCの顔の正面部分の面積が最も多く含まれると判定される画像を抽出し、ユーザに提示する処理を行ってもよい。
また、キャラクタオブジェクトCは、3DCGであるため、初回撮影時と同様に回転させる操作が可能である。つまり、キャラクタオブジェクトCの正面が描画されるものに限らず、キャラクタオブジェクトCをななめや、背面などが描画されるように回転させることが可能である。
また、再編集時においては、もともと配置していたキャラクタオブジェクトC自体の表示態様や、異なるキャラクタオブジェクト(例えば、キャラクタAから、異なるキャラクタBへの変更など)に変更するのみならず、複数種類のキャラクタオブジェクトを追加して配置可能としてもよい。
(再編集装飾操作画面例)
図7は、再編集時における装飾ツールを使用し、AR画像をデコレーションするための操作を行う画面の例である。装飾ツールには、写真のトリミング(縮小・拡大など)や、はめ込みフレームの選択、デコレーション(シール、スタンプ等)の配置、パーティクルの配置、ポストエフェクト機能等が含まれる。ポストエフェクト機能としては、深度推定による被写界深度(フォーカス)加工や、手振れ補正、カラーフィルタ、人物抽出等が可能である。以降、はめ込みフレームや、シール、パーティクル、テキストなどの画像内に配置可能なオブジェクトを装飾オブジェクトとも称する。
図7は、シールを配置する場合の画面例である。当該シールは、再編集データに含まれる深度情報に基づいて、仮想空間上でキャラクタオブジェクトCの前後に配置可能な装飾オブジェクトである。例えば、画面下方に装飾ツールのメニューを表示させ、当該シールがユーザ操作により選択されると、図7(A)に例示するように、シールDOが、合成画像に配置される。シールDOは、操作アイコン(D1~D4)などによって表示態様の編集が可能である。例えば、図7(A)では、シールDOの周囲に操作アイコンとして、シールを捨てる(配置取りやめ)ためのアイコンである捨てるアイコンD1や、シールを回転させることが可能な回転アイコンD2、シールの拡大縮小操作を可能とする拡縮アイコンD3、シールの奥行き操作を可能とする奥行きアイコンD4などが表示されている。例えば、拡縮アイコンD3は、アイコンに対してタッチをしながら斜めに操作がされることでシールの拡縮を可能とし、奥行きアイコンD4は、アイコンに対してタッチをしながら縦に操作がされることでシールの奥行き操作を可能とする。また、縦・横・奥方向への移動編集操作は、スタンプ自体をスライドさせる操作がされることにより可能となってもよく、別のアイコンへの操作により可能としてもよい。なお、奥行き操作なども、操作アイコンに対する操作を行うものに限らず、シール自体への直接操作(例えば、タッチ・スワイプなど)がされることなどによって同様の編集操作が行えるものとしてもよい。
当該合成画像は、ユーザ端末300の表示部上で、再編集時においても合成された状態でプレビュー表示されているが、再編集操作は、最終出力(プリントとも称する)の前段階の最終ラスタライズされる前のデータに対する処理を行うものであるため、3DCGデータを用いた編集操作が可能となる。また、再編集データ上に配置し得る装飾オブジェクトにも、奥行きを含む3次元の情報が関連付けられている。そのため、例えば、図7(B)に例示するように、奥行きアイコンD4によってシールDOが奥側に配置されるようユーザからの操作がされると、シールの大きさも変化する。つまり、図5(C)の仮想カメラから遠い座標に配置されるようになるためである。また、シールDOを、椅子R1の奥側に配置されると、正面から見て椅子R1と、シールDOとが重複する範囲については、椅子R1によって遮蔽されてシールDOは描画されない。なお、配置可能なシールには、シール自体が3Dの立体形状であるものと、平面の形状のものとがいずれも含まれていてもよい。
図8は、写真のトリミングや、はめ込みフレームの位置調整がされる場合の画面例である。例えば、ユーザからのタッチパネルに対するピンチ操作で画像が拡縮され、ドラッグで移動させると、図8(A)から(B)のように画像の編集をすることができる。トリミング時に、はめ込みフレーム(フレームF)を表示させるか否かのオンオフの選択が可能であってもよい。また、本実施例においては、キャラクタオブジェクトCは3DCGのデータとして配置しているため、当該トリミングを行ったとしても、キャラクタオブジェクトCは、最終ラスタライズされる前(撮像画像や装飾操作による編集内容とともに最終出力される前)の状態であるため、最終出力時にエッジがきれいにレンダリングされるようになる。
また、はめ込みフレームの装飾オブジェクト(フレームF)は、座標として他のオブジェクトよりも手前となり、常に等倍で描画されるように配置されるが、ユーザ操作により、他の装飾オブジェクトとの前後関係を調整することができるようにしてもよい。なお、装飾オブジェクトの中には、フレーム座標に対して配置される種類のシールのオブジェクトが含まれるようにしてもよい。例えば、フレーム座標に対して配置される種類のシールは、フレームFに対して2Dレイヤーを重ねるようにして配置・描画されるようにしてもよい。フレーム座標に対して配置される種類のシールについては、フレームの前と後ろとで、表示位置を切り替えるボタン(選択操作可能なボタン)を表示させてもよい。例えば、操作ツールなどとともに表示させてもよい。図8(C)に示すように、フレームFより前に表示するよう選択操作されたシールは、シールDO2のように、フレームの座標よりも手前に表示される。つまり、図5(C)を映す仮想カメラから見て手前の位置に配置される。一方、シールDO3は、フレームよりも奥側に表示するように選択操作されているため、フレーム座標よりも奥側に配置される。
はめ込みフレームの装飾オブジェクトと、フレーム座標に対して配置される種類のシールは、他のオブジェクトよりも手前に描画されるように配置されるが、ユーザ端末300の表示部上では等倍表示されつつも、ユーザ操作によって仮想空間上で奥側に座標を移動させるようにしてもよい。例えば、キャラクタオブジェクトCにフレームFをより近づけたい場合などに、操作ツールへのユーザ操作があったことなどにより(例えば、図8(A)から図8(B)のように合成画像を拡大する操作などにより)、フレームFをキャラクタオブジェクトCへより近い位置へ移動させることができる。このとき、フレームFよりも手前に、現実オブジェクトが配置されている場合は、現実オブジェクトの深度がフレームFの位置で上書きされることなどにより、フレームFがカメラから見て前面に位置するように処理をすることができる。また、キャラクタオブジェクトCに関しては、キャラクタオブジェクトの全部あるいは一部が、フレームFよりも手前に描画することを可能としてもよい。これにより、図8(C)に例示するように、フレームFからキャラクタオブジェクトCの手や体などが飛び出だしたような表現が可能となる。
図9は、パーティクルの装飾オブジェクトを配置した場合の画面例である。パーティクルとは、アニメーションを伴う装飾オブジェクトである。図9においては、花のオブジェクトを降らすことができるパーティクルPの例を説明する。花のパーティクルPは、複数の花のオブジェクトで構成されている。パーティクルについても、奥行きなどを含む座標の情報が、粒子のオブジェクト各々に関連付いている。そのため、キャラクタオブジェクトCの配置位置と重なるように、花のパーティクルPを配置した場合、花のオブジェクトのうちの一部は、キャラクタオブジェクトCよりも手前の座標であるため、キャラクタオブジェクトCの手前に描画される。一方、キャラクタオブジェクトCの奥側の座標が関連付いている花のオブジェクトは、キャラクタオブジェクトCよりも奥側に描画されるため、キャラクタオブジェクトCと重複する部分については非表示となる。
また、再編集用データに含まる撮像時に取得された深度情報と、パーティクルの座標の情報等に基づき、図9(B)に例示するように、奥側にだけ描画されるようにすることも可能であり、このとき、図6(B)のシールについての説明と同様に、推定される距離に合わせて大きさが変更される。これにより、例えば、深度情報により撮像画像内の手前の被写体等から30メートル先のエリアに、雪などのパーティクルを降らせたい場合、奥側に小さな粒子で表示されるようにパーティクルを描画することが可能である。このため、よりリアリティが増す。なお、編集操作は、図7でシールを用いて例示したように、操作アイコンを表示させて場所や大きさの移動、あるいは、パーティクルに対する直接の操作により表示態様の変更ができてもよい。
また、撮像画像内に壁があると判定され、壁の外に配置するようにパーティクルを配置したときには、図9(C)に示すように、オクルージョン処理によって壁が存在する範囲にはマスク処理(現実オブジェクトの配置)がされて、壁の範囲には、パーティクルが描画されないようにすることもできる。一方、壁の外(図9(C)の場合は、壁よりも奥側)である窓に相当する範囲には、パーティクルが描画される。
パーティクルのアニメーションは、撮影ボタンSが操作されるまでは、再生されたままであってもよい。撮影ボタンSが操作されることで、操作されたタイミングのアニメーションの位置で固定されて出力される。また、パーティクルのアニメーションスピードのコントロールがユーザ操作により可能となるようにしてもよい。例えば、キャラクタオブジェクトのモーションと同様に速度調整アイコンを表示させて、当該アイコンに対する操作がされることにより可変可能としてもよい。これにより、ユーザの好みのアニメーションのタイミングなどで静止画や動画を撮影することができるため、ARコンテンツを用いた創作表現の幅が広がる。
装飾ツールで編集可能なポストエフェクト機能としては、再編集データ(仮想空間特定用情報による3Dシーンの保存)を活かして、深度推定による被写界深度(フォーカス)の調整や、手ぶれ補正、カラーフィルタや、撮像画像に写る人物を抽出ができるものであってもよい。例えば、初回の撮像時には、人物判定がされない場合などに、後の再編集時に人物を抽出し、画像認識処理により、撮像画像の人物に相当する部分にプライバシー加工(モザイク加工処理等)を行うことを可能とする処理)をしてもよい。また、再編集時には、人物に限らず、商品のロゴ等の抽出も可能であり、モザイク加工処理を行うことを可能としてもよい。このように、再編集用データとして撮像画像と、当該撮像画像に対応する現実オブジェクトの情報(現実の物体に対応する透明ポリゴンメッシュの情報)等も共に記憶されていることから、背景となる撮像画像自体に映る対象物に対して後処理によって用途に応じた加工をかけつつも、従来と異なり、キャラクタなどの非現実オブジェクトを現実世界に3Dの関係を持たせつつ再合成することが可能となる。よって、本実施例におけるARコンテンツによれば、専門知識を有するアプリケーションを操作することなくとも、ユーザにとって簡易な操作によって、合成写真の表現の幅が広がり、また、撮影をした合成写真を使用する用途の幅に広がりを持たせることが可能である。
なお、装飾オブジェクトは、座標が関連付いていれば、2DCGであっても、3DCGであってもいずれでもよい。装飾オブジェクトの3DCGの回転操作を行うことを可能としてもよい。また、装飾ツールの機能を複数セットにしたテンプレートデコレーション機能があってもよい。例えば、フレーム・シール複数枚・パーティクルなどの視覚エフェクト・ポストエフェクトなどの効果などが1セットになったテンプレートをテーマ毎に選択可能としてもよい。これにより、画像編集に不慣れなユーザであっても簡単に装飾を行うことができる。以上のように、再編集データに基づいて3DCGの編集操作を容易に行えるようにしたことで、好みのキャラクタを用いて現実空間を合成させた画像の創作の表現の幅が広がり、ユーザの興趣が向上する。
<ARコンテンツ撮影処理についての流れ>
(AR撮影処理)
図10は、ユーザ端末300における本実施例のARコンテンツの初回撮影時のAR撮影処理を説明するためのフローチャートである。制御部360では、ユーザからARコンテンツを実行するためのアプリを立ち上げる操作がされることなどに応じて所定時間経過毎にAR撮影処理を繰り返し行う。
ステップS101では、AR撮影モードを起動する。例えば、ユーザ端末300にインストールされているARコンテンツを実行可能なアプリケーションがユーザ操作に応じて立ち上げられることなどにより、AR撮影を開始する要求あったと判定されたときに、AR撮影モードを起動する。また、取得情報解析部362は、AR撮影モードを起動することで、情報取得部350より取得される撮像画像から平面を検出する。
ステップS102では、拡張現実データ生成部363は、取得情報解析部362によって情報取得部350によって取得した情報から特定される深度情報や色情報に基づいて現実オブジェクトが配置された仮想空間内の所定位置に、非現実オブジェクトを配置する処理を実行する。例えば、ステップS101によって、撮像画像内の平面が検出された後、拡張現実データ生成部363は、図5に例示するように、当該検出された平面(図5(B)の平面)と床となる平面が対応(例えば角度等)する仮想空間上(図5(C))にキャラクタオブジェクトC(非現実オブジェクト)を配置する。非現実オブジェクトであるキャラクタオブジェクトCを配置させる所定位置は、初期配置された座標から、ユーザ操作によって異なる座標に移動可能である。例えば、移動させたい場所にタップ操作などがされることによりキャラクタオブジェクトCが表示される場所が変更される。また、取得情報解析部362によって特定された深度情報等に基づいて、物体や面などが検出されていれば、当該物体や面などにマスク処理がされる。例えば、図5(B)に例示するように、物体として椅子R1や、木R2が検出されていれば、対応する仮想空間上には、現実オブジェクトRO1や、RO2の透明ポリゴンメッシュが配置される。
ステップS103では、撮像画像と、仮想空間データとを合成した合成画像をユーザ端末300の表示部に表示する処理を実行する。例えば、表示制御部364は、図5(B)の撮像画像と、対応する図5(C)の仮想空間のデータを合成した画像データを表示部にレンダリングする。このとき、図6(B)のように現実オブジェクトROよりも奥の座標にキャラクタオブジェクトCが配置されていれば、レンダリングされる際に、キャラクタオブジェクトCの仮想カメラから見て遮蔽される範囲は描画されない。
ステップS104では、情報取得部350によって取得した情報から特定される深度情報等に基づいて現実オブジェクトを生成して仮想空間を更新する。例えば、ユーザがユーザ端末300の角度を変更したことなどにより、情報取得部350から取得される現実空間の画像に変化があると、拡張現実データ生成部363は、情報取得部350から取得した深度情報等に基づいて特定される物体や面などに応じて所定時間経過毎にマスクを生成する(マスク処理)。つまり、仮想空間上の現実オブジェクトが更新される。
ステップS105では、非現実オブジェクトの表示態様変更条件が成立したか否かが判定される。表示態様変更条件が成立したと判定されれば、ステップS106で、成立した非現実オブジェクトの表示態様変更条件に応じて非現実オブジェクトの表示態様を変更して更新する処理を実行する。表示態様の変更条件の成立とは、例えば、図4の操作メニューT10から選択されることにより、キャラクタオブジェクトCの表情やポーズ、衣装などの変更操作がされること、モーションが選択されてキャラクタオブジェクトCが動作させられること、キャラ変更T1への操作によるキャラクタオブジェクトCを異なる種類のキャラクタオブジェクトCに変更する操作がされることなどが含まれる。拡張現実データ生成部363は、例えば、表情の変更操作がされたと判定すると、変更後の表情にキャラクタオブジェクトCの表情を変更した態様になるようにキャラクタオブジェクトCを更新する。また、モーションが選択された際には、キャラクタオブジェクトCが、モーション動作を実行するように表示態様を切り替えて更新する。
ステップS105で、非現実オブジェクトの表示態様変更条件が成立したと判定されなかったとき、あるいは、ステップS106で表示態様変更条件に応じて非現実オブジェクトを更新した後は、ステップS107で、撮像画像と仮想空間データとを合成した合成画像をユーザ端末300の表示部に表示する処理を実行する。例えば、表示制御部364は、ステップS104で更新される仮想空間のデータと、取得されている撮像画像とをリアルタイムレンダリングによって表示部に描画させてプレビュー表示されるようにする。また、ステップS106で、仮想空間上のキャラクタオブジェクトCの表示態様に変更がされていれば、変更後の表示態様でレンダリングする。
ステップS108では、撮影操作がされたか否かが判定される。撮影操作がされたと判定されたときには、ステップS109で、撮影操作を受け付けたときの撮像画像・仮想空間特定用情報・合成画像を記憶部320に記憶する。例えば、図4で例示した撮影画面における撮影ボタンSがタップ操作されることなどにより、再編集データ管理部365は、撮影ボタンSが操作されたタイミングでレンダリングされ表示部にプレビュー表示されていた合成画像の背景画像となる撮像画像と、現実オブジェクトの位置や形状等の情報等を含む、図5(C)の仮想空間を特定するための仮想空間特定用情報と、プレビュー表示されていた合成画像を高解像度でラスタライズした合成画像とを記憶する。撮像画像と、座標情報が含まれる仮想空間特定用情報は、ステップS108で撮影された合成画像を再編集するための再編集用データとして、読出し可能となるように記憶される。また、ステップS109の後は、引き続きAR撮影を行うことが可能であるため、ステップS104に戻り、処理を繰り返す。
一方、ステップS108で撮影操作がされたと判定されなかったときには、ステップS110で終了操作があったか否かが判定される。例えば、当該AR撮影処理を実行するアプリケーションを閉じる操作、あるいは、図11を参照して後述するAR再撮影処理を実行するための操作など、AR撮影を終了する操作がされた場合に処理を終了する。ステップS110で、終了操作があったと判定されなかったときには、ステップS104に戻り、処理を繰り返す。
(AR再撮影処理)
図11は、ユーザ端末300における図10を参照して説明したAR撮影処理のステップS109で記憶された再編集用データに基づく、AR再撮影処理を説明するためのフローチャートである。制御部360では、ユーザからARコンテンツを実行するためのアプリに対して、AR画像の再編集を要求する操作がされることなどに応じて所定時間経過毎にAR再撮影処理を繰り返し行う。
ステップS201では、再撮影操作がされたか否かが判定される。再撮影操作がされたと判定されなかったときには処理を終了する。一方、再撮影操作がされたと判定されると、ステップS202で、記憶していた撮像画像・仮想空間特定用情報を読み出す。例えば、再編集データ管理部365は、図10のステップS109で記憶した再編集用データを読み出す。再編集用データは、図10のステップS108の撮影操作がされた際に記憶されたデータであり、例えば、背景画像となる図5(B)の撮像画像と、図5(C)の現実オブジェクトが配置された仮想空間を特定するための仮想空間特定用情報とを記憶部320から読み出す。ステップS202における仮想空間特定用情報は、例えば、現実オブジェクト(透明ポリゴンメッシュ)の座標や形状等の情報や、仮想カメラの向き等の情報等が含まれる。
ステップS203では、読み出した仮想空間特定用情報に基づき、仮想空間内の所定位置に、非現実オブジェクトを配置する処理を行う。例えば、拡張現実データ生成部363は、再編集用データに含まれる仮想空間特定用情報に基づき生成された現実オブジェクトROが配置された図5(C)の仮想空間データに基づいて、図5(D)のように仮想空間内の位置にキャラクタオブジェクトCを再配置する。当該再配置は、初回撮影時の初期配置と同様に、再編集画面を表示する際に自動表示されてもよく、あるいは、ユーザからの配置操作によって配置されるようにしてもよい。
ステップS204では、撮像画像と仮想空間内データとを合成した合成画像を表示する処理を実行する。例えば、表示制御部364は、オブジェクトが配置された仮想空間と、撮像画像と合成して、図4(A)のように表示部にプレビュー表示されるようにレンダリングする。このとき、図10で説明した初回撮影時とは異なり、撮像画像は新たに取得されず、固定されている。
ステップS205では、非現実オブジェクトの追加配置操作がされたか否かが判定される。例えば、図7~図9を参照して説明した装飾オブジェクトの配置操作や、キャラクタオブジェクトCを追加配置する操作がされると、非現実オブジェクトが追加配置操作されたと判定される。
ステップS205で、追加配置操作があったと判定されたときには、ステップS206で、追加された非現実オブジェクトを仮想空間に配置して仮想空間を更新する処理を実行する。例えば、図7のように、キャラクタオブジェクトCとの前後関係を構築可能な種類のシールを配置する選択がされると、シールに関連付いた座標の情報が仮想空間データに関連付けられ、装飾オブジェクトであるシールDOが配置されて仮想空間が更新される。
ステップS205で、非現実オブジェクトの追加配置操作があったと判定されなかったとき、あるいは、非現実オブジェクトの追加配置がされた後は、ステップS207で、非現実オブジェクトの表示態様の変更条件が成立したか否かが判定される。例えば、キャラクタオブジェクトCについては、操作メニューT10が操作されることよる表情・ポーズ・衣装・モーションなどの変更操作や、タップ操作による配置位置の移動操作、立体的な回転操作、キャラ変更アイコンT1への操作によるキャラクタの種類の変更操作があったときに、表示態様の変更条件が成立したと判定される。また、装飾オブジェクトについては、拡縮操作や、配置位置変更操作等がされることにより、表示態様変更条件が成立したものと判定される。なお、キャラクタのモーションや、パーティクルのアニメーションについては、スピードコントロール操作がされたときにも表示態様の変更操作がされたと判定されるものとする。
ステップS208では、ステップS207で成立したと判定された表示態様変更条件に応じて非現実オブジェクトの表示態様を変更して更新する。拡張現実データ生成部363は、例えば、キャラクタオブジェクトCのポーズの変更操作があった判定されると、仮想空間上のキャラクタオブジェクトCのポーズを、変更操作によって選択されているポーズに変更することで仮想空間を更新する。
ステップS208で、非現実オブジェクトの表示態様の変更がされた後は、ステップS209で、撮像画像と仮想空間データとを合成した合成画像を表示する処理を実行する。例えば、表示制御部364は、再編集用データの撮像画像と、ステップS206で追加、あるいは、ステップS208で変更された非現実オブジェクトが表示された更新後の仮想空間と、撮像画像との合成画像が表示部にレンダリングする処理を行うようにする。
ステップS209で更新後の仮想空間を表示させた後、あるいは、ステップS207で、非現実オブジェクトの表示態様の変更操作があったと判定されなかったときには、ステップS210で、撮影操作があったか否かが判定される。撮影操作があったと判定されると、ステップS211で、撮影操作を受け付けたときの仮想空間特定用情報・合成画像を記憶部320に記憶する。例えば、図10の初回撮影時のステップS108と同様に、撮影ボタンSが操作されることにより、現在表示部にプレビュー表示されている合成画像がラスタライズされユーザ端末300の記憶部320に記憶する。なお、ステップS211において、図10のステップS109と同様に撮像画像も記憶部320に記憶されるようにしてもよい。ステップS210の撮影操作は、動画撮影を可能としてもよく、例えば、再編集データの撮像画像が静止画であった場合であっても、キャラクタオブジェクトのモーション動作の動画の記憶を可能としてもよい。
ステップS211で、合成画像が記憶された後、あるいは、ステップS210で撮影操作があったと判定されなかったときには、ステップS212で終了操作があったか否かが判定される。例えば、図10のS110と同様に、アプリを終了する操作や、別の再編集データに基づいて再編集操作を行う操作がされたときには、処理を終了する。一方、終了操作があったと判定されなかったときには、ステップS205に戻り、処理を繰り返す。これにより、再編集データに基づいて、複数の合成画像を生成可能となる。例えば、同じ撮像画像を背景としつつ、キャラクタオブジェクトの表示態様を複数パターン生成することが可能となる。
<具体的構成および効果の例>
(1)上述した実施の形態では、図10のAR撮影処理におけるステップS102~ステップS107で、情報取得部350(デプスセンサを備えたカメラ等)から取得した深度情報に基づき、情報取得部350によって取得された図5(B)などの現実空間の撮像画像に含まれ得る椅子R1などの物体等の形状に対応するマスクポリゴン(現実オブジェクトRO1)を、現実空に整合する座標に配置するとともに、ユーザ操作等に基づいて配置されるキャラクタオブジェクトCなどの非現実オブジェクトを配置した仮想空間データと、現実空間の撮像画像とを合成した拡張現実の合成画像をユーザ端末300の表示部に表示することが可能である。つまり、撮像画像と仮想空間のオブジェクトとを合成した合成画像を表示することができる。また、拡張現実の合成画像は、図4(C)や、図6(B)などのように、キャラクタオブジェクトCなどの非現実オブジェクトが、椅子R1などの現実の物体よりも奥側に配置されていることにより、キャラクタオブジェクトCが椅子R1と重畳する部分については、椅子R1に遮蔽されて描画されないようにすることができる。また、図10のステップS108~109で、図4の撮影画面に表示される撮影ボタンSに対するユーザからの撮影操作がされたときに、情報取得部350によって取得している撮像画像と、現実の物体のマスクポリゴンである現実オブジェクトRO1とキャラクタオブジェクトCとの座標を特定する仮想空間特定用情報とを、再編集用データとして記憶部320に記憶する。また、当該撮影ボタンSに対する操作があったときのラスタライズされた合成画像を、記憶部320に記憶し、ユーザ端末300の画像データフォルダなどに保存されるようにする。図11のAR再撮影処理においては、ステップS202~ステップS204で、再編集用データとして記憶されていた仮想空間特定用情報に基づいて特定された図5(C)などの現実オブジェクトが配置された仮想空間データと撮像画像とを合成した合成画像をユーザ端末300の表示部に表示し、ステップS205~ステップS209で、ユーザ操作に基づいた、キャラクタオブジェクトCやシールDOなどの非現実オブジェクトの追加配置操作や、キャラクタオブジェクトCの大きさ・表情・モーション、キャラクタオブジェクトCの種類の変更などの表示態様の変更操作などに応じた非現実オブジェクトの態様となるように仮想空間データを更新し、更新後の仮想空間データと現実空間の撮像画像とを合成した拡張現実の合成画像をユーザ端末300の表示部に表示する。また、ステップS209における合成画像は、ユーザからの撮影ボタンSに対する操作があることにより、3DCGの編集操作を行った上で、新たにラスタライズされて記憶部320に記憶可能となる。これにより、拡張現実による初回の撮影操作が行われた後においても、事後的にキャラクタオブジェクトなどの非現実オブジェクトを変更し、当該撮像画像と合成した新たな拡張現実の画像の再生成が可能となる。これにより、ユーザは、落ち着いた状態で、キャラクタオブジェクトなどの非現実オブジェクトを表示させる拡張現実画像の編集操作ができるため、納得する画像を作りやすくなり、ユーザの利便性が向上する。
(2)上述した実施の形態では、図11のAR再撮影処理のステップS207により、図6~図9を参照して例示したように、非現実オブジェクトの拡大縮小・左右位置移動操作などに基づく仮想空間における非現実オブジェクトの座標の変更することや、キャラクタオブジェクトCを異なるキャラクタに変更すること、装飾オブジェクトを異なる装飾オブジェクトへ変更すること、キャラクタオブジェクトCのモーション・表情・ポーズ・衣装などを変更することなどの、非現実オブジェクトの表示態様の変更が可能である。これにより、合成画像を表示させて拡張現実による初回の

撮影操作が行われた後においても、ユーザからの変更操作に応じてキャラクタオブジェクトなど非現実オブジェクトの変更を事後的に行うことができる。これにより、ユーザは、落ち着いた状態で、キャラクタオブジェクトなどの非現実オブジェクトを表示させる拡張現実画像の編集操作ができるため、納得する画像を作りやすくなり、ユーザの利便性が向上する。
(3)上述した実施の形態では、図6(D)で例示したように、キャラクタオブジェクトCは、ダンス、ジャンプなどの所定のモーションによるアニメーション動作を伴わせて表示させることが可能であり、AR再撮影処理において、図11のステップS207~S208で、キャラクタオブジェクトCを所定のモーションで動作させた態様でユーザ端末300の表示部に表示することが可能である。これにより、すでに合成画像を表示させて撮影操作が行われた後においても、事後的にキャラクタオブジェクトを動作させ、ユーザが納得する所定のタイミングでの動きのキャラクタオブジェクトの態様を保存することができるため、表現の幅が広がり、ユーザの興趣が向上する。
(4)上述した実施の形態では、図9で例示したように、キャラクタオブジェクトCとともに、動きを伴う複数粒子から構成されたオブジェクトや、流体などを動作させるパーティクルを表示可能である。これにより、合成画像を表示させて撮影操作が行われた後においても、事後的に装飾オブジェクトを動作(アニメーション表示)させ、所定のタイミングの装飾オブジェクトの態様を保存することができるため、表現の幅が広がり、ユーザの興趣が向上する。
(5)上述した実施の形態では、図11のステップS207~S208などにおいて、図6(D)で例示したキャラクタオブジェクトのモーションや、図9で例示したパーティクルのアニメーションを、ユーザからの速度変更アイコンT4への操作などにより、速度変更させて表示可能である。これにより、例えば、キャラクタオブジェクトの動作をスローモーションに変更することができるため、オブジェクトの動作タイミングについて、ユーザが望むタイミングでの特定が容易となるため、表現の幅が広がり、ユーザの興趣が向上する。
<変形例>
以上説明した実施の形態に対する変形例などを以下に列挙する。
(現実の物体等の検出について)
上述した実施形態では、情報取得部350のデプスセンサによって取得した深度情報等に基づいて、平面や物体の検出を行うことができる例を説明した。しかし、これに替えて、あるいは加えて、物体等の検出は、他のセンサや、機械学習を用いた画像認識処理(例えば、深度推定アルゴリズムを使用)によって取得情報解析部362で、深度推定がされることにより検出されるようにしてもよい。例えば、情報取得部350により取得される画像内に映る物体の種類の特定や、画像内の物体等を物体領域ごとに色分けをする(セグメンテーション・ラベル付け)ことで、例えば、床・壁・人物・椅子・机・動物などの区分け処理を行うことができるようにしてもよい。区分け処理に基づいて、区分けごとの位置の特定や、画像内における範囲の特定を行うようにしてもよい。
例えば、AR撮影開始時の平面検出であれば、リセットアイコンT2が操作されることにより、撮影済みの撮像画像を解析し、セグメンテーションにより、地面などの床に相当する部類にラベル付け可能な範囲が特定されれば、当該地面の範囲を平面として、図5(C)の仮想空間を再構成するようにしてもよい。また、図9で例示したパーティクルの表示態様についても、例えば、セグメンテーションにより判定されたタグ付けに基づき、パーティクルを配置可能とする範囲が決定されるものとしてもよい。例えば、屋外あるいは屋内であるかをセグメンテーションにより判定し、例えば屋外にはパーティクルが描画されるが、屋内と判定された範囲には描画されない処理がされるようにしてもよい。
(遮蔽される対象について)
上述した実施形態では、取得情報解析部362によって平面や物体等であると検出された現実空間に存在する物体等にマスク処理(現実オブジェクトとなる透明ポリゴンメッシュの生成)を行い、キャラクタオブジェクトCなどの非現実オブジェクトの一部がユーザ端末300の表示部に描画されないようにするオクルージョン処理が可能である例を説明した。このオクルージョン処理によって非現実オブジェクトが遮蔽される対象を、予めユーザからの設定操作に応じて、選択可能とするようにしてもよい。例えば、人物(例えば、人物全体や、人物の一部である手など)によって、キャラクタオブジェクトのオクルージョン処理を行うか否かがユーザ操作によって予め設定可能であってもよい。あるいは、平面によってキャラクタオブジェクトのオクルージョン処理を実行するか否かがユーザ操作によって予め設定可能であってもよい。
(再編集データについて)
上述した実施形態では、ステップS109で再編集用データとして記憶される仮想空間特定用情報は、図5(C)の現実オブジェクトが配置された仮想空間を特定し再現可能とする情報であり、ステップS108で撮影操作がされたときのキャラクタオブジェクトCの情報は含まれない例を説明した。しかしこれに限らず、再編集用データには、図5(A)の合成画像を再現できるキャラクタオブジェクトCの情報も含められた仮想空間特定用情報が含まれていてもよい。例えば、図10のステップS108の初回撮影時の撮影ボタンSが操作された際に、背景画像となる図5(B)の撮像画像と、図5(C)のキャラクタオブジェクトCと現実オブジェクトとが配置された仮想空間を特定して再現可能とする仮想空間特定用情報とが記憶されるようにしてもよい。再編集用データとして記憶されるキャラクタオブジェクトCの情報は、キャラクタオブジェクトCの種類や、ポーズや表情などの表示態様、配置されている座標などの情報が含まれていることにより、例えば、図6などの再編集画面において、図4(A)等での初回撮像時と同じ態様で再表示されるようにしてもよい。あるいは、キャラクタオブジェクトCの種類や、ポーズや表情などの表示態様、配置されている座標などの情報のうちのいずれかを記憶することにより、初回撮影時のキャラクタオブジェクトCの態様の一部が再現されるようにしてもよい。これにより、ユーザは前回の撮影時に基づいて微調整を行うことが容易となる。
また、図11のステップS212で、再編集時の撮影操作によって保存するデータは、合成画像である例を説明した。しかし、これに限らず、再編集操作の際にも撮影操作の都度、図10のステップS109と同様に、撮像画像および仮想空間特定用情報が記憶、あるいは、いずれか一方の情報も記憶されるようにしてもよい。例えば、ステップS212で、合成画像の記憶に加え、再編集操作後の仮想空間を再現するための情報として、キャラクタオブジェクトや装飾オブジェクトを特定する非現実オブジェクトの情報が含められた仮想空間特定用情報が記憶されるようにしてもよい。これにより、再度当該仮想空間特定用情報に基づいて再編集操作を行う際には、ステップS204で、前回の合成態様で、キャラクタオブジェクトや装飾オブジェクトが仮想空間に配置され、前回の続きから編集することができるようになる。
また、再編集用データに、現実オブジェクトのマスクの情報を含めるものに限らず、再編集用データの仮想空間特定用情報に含まれる初回の撮影時に情報取得部350により取得した撮像画像に関連付けられた深度情報に基づき、透明ポリゴンメッシュが新たにされることなどにより、現実の物体と合成する3D表現を可能としてもよい。
上述した実施形態では、AR撮影を行った際に、再編集用データを記憶部320に記憶することでAR再撮影処理が可能である例を説明した。この再撮影(再編集)可能な再編集用データは、前回撮影した画像についてのみ一時的に編集可能であってもよく、あるいは、ユーザが本実施例におけるARコンテンツを利用して撮影した複数の合成画像のうちからいずれかを再編集するデータとして選択できるように記憶可能としてもよい。例えば、ARコンテンツのアプリケーションで再編集可能なデータをユーザが選択可能なようにサムネイル表示するようにしてもよい。また、再編集可能な再編集用データは、選択肢として記憶可能な数に上限を設けてもよく、古いデータであることやユーザによる削除操作があったことなどにより、一部が削除されるようにしてもよい。また、選択肢として記憶する上限数は、ユーザ操作により可変可能であってもよい。
また、再編集画面については、メニュー画面等から遷移するものに限らず、撮影ボタンSに対する操作がされたことによる撮像画像の撮影とともに、引き続き再編集画面に遷移できるようにしてもよい。例えば、合成画像について、SNS等に投稿するための操作メニューとともに、再編集操作の選択肢を表示するようにしてもよい。
(配信サーバ100でも実行可能な処理について)
上述した実施形態では、ユーザ端末300において、図10、図11の撮影処理を行う例を説明した。しかし、これに限らず、一部の処理(例えば、画像処理部361の機能のうちの一部等)を配信サーバ100において実行されるようにしてもよい。例えば、ユーザ端末300の情報取得部350によって取得し得る情報を配信サーバ100に送信し、配信サーバ100において情報取得部350から取得した情報から特定される深度情報に基づいて、現実の物体に対応する形状や座標の情報(透明ポリゴンメッシュを生成するための情報)を特定可能としてもよい。当該特定した物体の情報に基づいて、現実の物体に対応するポリゴンマスクが生成された仮想空間データを配信サーバ100において生成し、非現実オブジェクトを配置した仮想空間データをユーザ端末300に配信するようにしてもよい。また、図11のAR再撮影処理の際には、例えば、再編集用データを配信サーバ100の記憶部120において記憶し、ユーザ端末300からの要求に応じて(例えば、ステップS201に相当)、読み出した再編集用データをユーザ端末300に配信し(例えば、ステップS202に相当)、ユーザ端末300における再編集操作に応じて更新(例えば、ステップS205、ステップS207のユーザからの操作に応じて行う、ステップS206、ステップS208に相当)した仮想空間データをユーザ端末300に配信するようにしてもよい。
(AR撮影に使用される撮像画像について)
上述した実施形態では、ARコンテンツを用いて撮影した撮像画像に基づいて、AR再撮影処理を実行する例を説明した。しかし、これに限らず、画像処理部361によって、ARコンテンツを用いて撮影しない撮像画像を読み出し、キャラクタオブジェクトCを配置するAR撮影が可能であってもよい。例えば、予めユーザ端末300に記憶されている画像データを用いて、深度推定アルゴリズムを使用した画像認識処理等によって撮像画像内に映り得る物体等を特定し、撮像画像との幾何学的整合が実現できる位置にキャラクタオブジェクトが描画される処理を実行可能としてもよい。なお、図10のAR撮影処理、図11のAR再撮影処理は、情報取得部350(デプスセンサを備えた深度を特定可能なカメラなど)による現実空間の情報の取得と、現実空間の画像および非現実オブジェクトを拡張現実により合成する処理とが異なる端末によって実行されるようにしてもよい。つまり、拡張現実により撮像画像と3DCGとを合成する処理を行う端末は、情報取得部350を備えていない端末であってもよい。
(再編集時に可能な画像編集操作について)
上述した実施形態では、図11などを参照して説明したAR再撮影処理において、現実空間と3DCGとの幾何学的整合性を図ることが可能となる再編操作ができる例を説明した。つまり、撮像画像内の現実空間と、3次元的整合性がとれる位置にキャラクタオブジェクト等の3DCGが描画されるように編集できる例を説明した。これに加え、さらに光学的整合性を実現する処理を再編集時に実行可能としてもよい。例えば、再編集時に再編集用データに基づいて、現実空間の撮像画像内の照明環境に対応するように、非現実オブジェクトに陰影をつける編集操作が可能となるようにしてもよい。例えば、キャラクタオブジェクトCの影が地面に描画されるようにすることができる。
〔ソフトウェアによる実現例〕
前述した実施の形態におけるサーバ、端末などのコンピュータが備える制御部の各種の制御ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。CPUを用いてソフトウェアによって実現している場合、制御部を備えたコンピュータは、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 通信システム、2 ネットワーク、100 配信サーバ、300 ユーザ端末、110 通信部、120 記憶部、310 通信部、320 記憶部、330 操作部、340 出力部、350 情報取得部、360 制御部

Claims (6)

  1. 撮像時における撮像部の撮影状態に応じた画像を撮像するとともに当該画像に含まれ得る現実の物体各々に関する奥行位置を特定可能とする奥行情報を取得する情報取得部を備えるコンピュータを、
    前記情報取得部が取得した情報から特定し得る奥行情報に基づいて、撮像した撮像画像に含まれ得る現実の物体を特定するとともに当該現実の物体の仮想空間内における奥行位置を特定する手段と、
    前記仮想空間内において特定された現実の物体各々の奥行位置に当該現実の物体に対応する現実オブジェクトを配置するとともに、ユーザからの操作に応じて配置される特定オブジェクトを配置した仮想空間を生成する手段と、
    前記撮像画像と前記生成する手段により生成している仮想空間に配置されるオブジェクトとを合成して、前記特定オブジェクトのうち当該特定オブジェクトよりも手前に位置する現実の物体と重畳する部分が非表示となり重畳しない部分が前記撮像画像に重畳し得る第1合成画像を表示する手段と、
    前記表示する手段によって第1合成画像が表示されている第1合成画像表示状態においてユーザからの撮影操作を受け付けたときの撮像画像、および、当該撮影操作を受け付けたとき前記生成する手段により生成されている仮想空間を特定するための情であって当該仮想空間内に配置されている特定オブジェクトの態様をも特定する仮想空間特定用情報を記憶する手段と、
    前記記憶する手段によって記憶している仮想空間特定用情報に基づき、前記第1合成画像表示状態における仮想空間を再生成し、当該仮想空間内に配置される特定オブジェクトの態様ユーザからの変更操作に応じた態様であって前記第1合成画像表示状態とは異なる態様となる仮想空間に更新する手段として機能させ、
    前記変更操作に応じた態様は、前記仮想空間内において前記特定オブジェクトが配置される配置位置が変更された態様、前記仮想空間内において配置される特定オブジェクトが異なる種類の特定オブジェクトに変更された態様、および、前記仮想空間内において配置される特定オブジェクトの表示態様が変更された態様のうちの少なくともいずれかを含み、
    前記表示する手段は、前記再生成された前記第1合成画像表示状態における仮想空間と前記記憶する手段によって記憶している撮像画像との合成画像を再表示し、さらに、前記変更操作後において、前記記憶する手段によって記憶している撮像画像と前記更新する手段により更新している仮想空間に配置されるオブジェクトとを合成した合成画像を第2合成画像として、当該第2合成画像を表示するタイミングにおける前記撮像部の撮影状態にかかわらず表示する、プログラム。
  2. 前記特定オブジェクトは、所定のモーションを伴うキャラクタオブジェクトを含み、
    前記特定オブジェクトとして前記キャラクタオブジェクトが配置されている場合に、前記表示する手段は、当該キャラクタオブジェクトを所定のモーションで動作させて表示可能である、請求項1に記載のプログラム。
  3. 前記特定オブジェクトは、キャラクタオブジェクトと、アニメーションを伴う装飾オブジェクトとを含み、
    前記特定オブジェクトとして前記キャラクタオブジェクトおよび前記装飾オブジェクトが配置されている場合に、前記表示する手段は、当該キャラクタオブジェクトを表示可能であるとともに、当該装飾オブジェクトを動作させて表示可能である、請求項1に記載のプログラム。
  4. 前記コンピュータを、
    前記表示する手段により動作させて表示される特定オブジェクトの動作速度を、ユーザからの操作に応じて変更する手段として機能させる、請求項または請求項に記載のプログラム。
  5. 撮像時における撮像部の撮影状態に応じた画像を撮像するとともに当該画像に含まれ得る現実の物体各々に関する奥行位置を特定可能とする奥行情報を取得する情報取得部を備えるコンピュータを制御する方法であって、
    前記情報取得部が取得した情報から特定し得る奥行情報に基づいて、撮像した撮像画像に含まれ得る現実の物体を特定するとともに当該現実の物体の仮想空間内における奥行位置を特定するステップと、
    前記仮想空間内において特定された現実の物体各々の奥行位置に当該現実の物体に対応する現実オブジェクトを配置するとともに、ユーザからの操作に応じて配置される特定オブジェクトを配置した仮想空間を生成するステップと、
    前記撮像画像と前記生成するステップにより生成している仮想空間に配置されるオブジェクトとを合成して、前記特定オブジェクトのうち当該特定オブジェクトよりも手前に位置する現実の物体と重畳する部分が非表示となり重畳しない部分が前記撮像画像に重畳し得る第1合成画像を表示するステップと、
    前記表示するステップによって第1合成画像が表示されている第1合成画像表示状態においてユーザからの撮影操作を受け付けたときの撮像画像、および、当該撮影操作を受け付けたとき前記生成するステップにより生成されている仮想空間を特定するための情であって当該仮想空間内に配置されている特定オブジェクトの態様をも特定する仮想空間特定用情報を記憶するステップと、
    前記記憶するステップによって記憶している仮想空間特定用情報に基づき、前記第1合成画像表示状態における仮想空間を再生成し、当該仮想空間内に配置される特定オブジェクトの態様ユーザからの変更操作に応じた態様であって前記第1合成画像表示状態とは異なる態様となる仮想空間に更新するステップとを備え、
    前記変更操作に応じた態様は、前記仮想空間内において前記特定オブジェクトが配置される配置位置が変更された態様、前記仮想空間内において配置される特定オブジェクトが異なる種類の特定オブジェクトに変更された態様、および、前記仮想空間内において配置される特定オブジェクトの表示態様が変更された態様のうちの少なくともいずれかを含み、
    前記表示するステップは、前記再生成された前記第1合成画像表示状態における仮想空間と前記記憶するステップによって記憶している撮像画像との合成画像を再表示し、さらに、前記変更操作後において、前記記憶するステップによって記憶している撮像画像と前記更新するステップにより更新している仮想空間に配置されるオブジェクトとを合成した合成画像を第2合成画像として、当該第2合成画像を表示するタイミングにおける前記撮像部の撮影状態にかかわらず表示する、方法。
  6. 撮像時における撮像部の撮影状態に応じた画像を撮像するとともに当該画像に含まれ得る現実の物体各々に関する奥行位置を特定可能とする奥行情報を取得する情報取得部を備えるコンピュータを有するシステムであって、
    前記情報取得部が取得した情報から特定し得る奥行情報に基づいて、撮像した撮像画像に含まれ得る現実の物体を特定するとともに当該現実の物体の仮想空間内における奥行位置を特定する手段と、
    前記仮想空間内において特定された現実の物体各々の奥行位置に当該現実の物体に対応する現実オブジェクトを配置するとともに、ユーザからの操作に応じて配置される特定オブジェクトを配置した仮想空間を生成する手段と、
    前記撮像画像と前記生成する手段により生成している仮想空間に配置されるオブジェクトとを合成して、前記特定オブジェクトのうち当該特定オブジェクトよりも手前に位置する現実の物体と重畳する部分が非表示となり重畳しない部分が前記撮像画像に重畳し得る第1合成画像を表示する手段と、
    前記表示する手段によって第1合成画像が表示されている第1合成画像表示状態においてユーザからの撮影操作を受け付けたときの撮像画像、および、当該撮影操作を受け付けたとき前記生成する手段により生成されている仮想空間を特定するための情であって当該仮想空間内に配置されている特定オブジェクトの態様をも特定する仮想空間特定用情報を記憶する手段と、
    前記記憶する手段によって記憶している仮想空間特定用情報に基づき、前記第1合成画像表示状態における仮想空間を再生成し、当該仮想空間内に配置される特定オブジェクトの態様ユーザからの変更操作に応じた態様であって前記第1合成画像表示状態とは異なる態様となる仮想空間に更新する手段とを備え、
    前記変更操作に応じた態様は、前記仮想空間内において前記特定オブジェクトが配置される配置位置が変更された態様、前記仮想空間内において配置される特定オブジェクトが異なる種類の特定オブジェクトに変更された態様、および、前記仮想空間内において配置される特定オブジェクトの表示態様が変更された態様のうちの少なくともいずれかを含み、
    前記表示する手段は、前記再生成された前記第1合成画像表示状態における仮想空間と前記記憶する手段によって記憶している撮像画像との合成画像を再表示し、さらに、前記変更操作後において、前記記憶する手段によって記憶している撮像画像と前記更新する手段により更新している仮想空間に配置されるオブジェクトとを合成した合成画像を第2合成画像として、当該第2合成画像を表示するタイミングにおける前記撮像部の撮影状態にかかわらず表示する、システム。
JP2024097704A 2024-06-17 2024-06-17 プログラム、方法、およびシステム Active JP7828393B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2024097704A JP7828393B2 (ja) 2024-06-17 2024-06-17 プログラム、方法、およびシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2024097704A JP7828393B2 (ja) 2024-06-17 2024-06-17 プログラム、方法、およびシステム

Publications (2)

Publication Number Publication Date
JP2026000378A JP2026000378A (ja) 2026-01-05
JP7828393B2 true JP7828393B2 (ja) 2026-03-11

Family

ID=98316046

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024097704A Active JP7828393B2 (ja) 2024-06-17 2024-06-17 プログラム、方法、およびシステム

Country Status (1)

Country Link
JP (1) JP7828393B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003141569A (ja) 2001-10-31 2003-05-16 Canon Inc 情報処理方法および映像合成装置
JP2010267241A (ja) 2008-10-17 2010-11-25 Square Enix Co Ltd 3次元モデル表示システム
JP2017192106A (ja) 2016-04-15 2017-10-19 キヤノン株式会社 撮像装置およびその制御方法
JP2022124095A (ja) 2021-02-15 2022-08-25 キヤノン株式会社 画像合成方法、コンピュータプログラム及び画像合成装置
JP2024071199A (ja) 2022-11-14 2024-05-24 株式会社バンダイ コンピュータプログラム、情報処理端末、及びその制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003141569A (ja) 2001-10-31 2003-05-16 Canon Inc 情報処理方法および映像合成装置
JP2010267241A (ja) 2008-10-17 2010-11-25 Square Enix Co Ltd 3次元モデル表示システム
JP2017192106A (ja) 2016-04-15 2017-10-19 キヤノン株式会社 撮像装置およびその制御方法
JP2022124095A (ja) 2021-02-15 2022-08-25 キヤノン株式会社 画像合成方法、コンピュータプログラム及び画像合成装置
JP2024071199A (ja) 2022-11-14 2024-05-24 株式会社バンダイ コンピュータプログラム、情報処理端末、及びその制御方法

Also Published As

Publication number Publication date
JP2026000378A (ja) 2026-01-05

Similar Documents

Publication Publication Date Title
JP7559033B2 (ja) 拡張された仮想現実
US11425283B1 (en) Blending real and virtual focus in a virtual display environment
JP6317854B2 (ja) 仮想三次元空間生成方法、映像システム、その制御方法およびコンピュータ装置での読み取りが可能な記録媒体
Wang et al. Distanciar: Authoring site-specific augmented reality experiences for remote environments
KR102638526B1 (ko) 파라미터를 갖는 마커를 사용한 증강 현실의 장면 수정
KR102502794B1 (ko) 가상 현실 데이터를 맞춤화하기 위한 방법들 및 시스템들
JP5254505B1 (ja) 動画処理装置、動画処理方法、ならびに、情報記録媒体
CN106027855B (zh) 一种虚拟摇臂的实现方法和终端
KR101686693B1 (ko) 스테레오 영화용 시청자 중심 사용자 인터페이스
EP3839699A1 (en) Augmented virtuality self view
JP2019510321A (ja) 仮想現実用パススルーカメラのユーザインターフェイス要素
CN114049459A (zh) 移动装置、信息处理方法以及非暂态计算机可读介质
CN113347373B (zh) 通过ar空间定位实时制作特效视频的图像处理方法
US11758112B2 (en) Information processing apparatus, control method, and storage medium
JP2020064592A (ja) 画像生成装置、画像生成システム、画像生成方法、およびプログラム
KR102337020B1 (ko) 3d스캔데이터를 이용한 증강현실 동영상제작시스템 및 그 방법
JP7119854B2 (ja) 変更画素領域抽出装置、画像処理システム、変更画素領域抽出方法、画像処理方法及びプログラム
JP7828393B2 (ja) プログラム、方法、およびシステム
JP7119853B2 (ja) 変更画素領域抽出装置、画像処理システム、変更画素領域抽出方法、画像処理方法及びプログラム
CN109561338B (zh) 一种点歌系统的界面无缝切换显示方法及存储介质
JP2021182443A (ja) 送信装置および送信方法、プログラム
JP7745726B1 (ja) 映像生成装置、映像生成システム、および映像生成方法
KR102934847B1 (ko) 비폐색 영역을 채우기 위한 광선 추적을 기반으로 한 3d 배경 모델 구축 방법 및 상기 방법을 이용한 깊이 영상 기반 뷰 합성 방법
Ryu et al. Proposal for local pose animation system for games using iClone
CN113316804A (zh) 图像处理装置、图像处理方法和程序

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20250415

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20250415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250430

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20260203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20260227

R150 Certificate of patent or registration of utility model

Ref document number: 7828393

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150